计算机系统结构第3章.ppt
《计算机系统结构第3章.ppt》由会员分享,可在线阅读,更多相关《计算机系统结构第3章.ppt(72页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第三章第三章 存储系统存储系统1第一节第一节 存储系统设计基本原理存储系统设计基本原理一、存储系统设计目标一、存储系统设计目标1、存储器性能指标、存储器性能指标 容量容量:SM=Wlm,其中其中W为字长、为字长、l和和m为存储体字数和体数为存储体字数和体数 速度速度:用访问时间用访问时间TA、存储周期存储周期TM和带宽和带宽Bm表示。表示。TA为为PE启动访存请求后的等待时间;启动访存请求后的等待时间;TM为为MEM连续启动访存的间隔时间,连续启动访存的间隔时间,TMTA;Bm=Wm/TM。价格价格:c=C/SM 性能指标间的矛盾性能指标间的矛盾:大大容量与高速度矛盾;高速度与低价格矛盾。容量
2、与高速度矛盾;高速度与低价格矛盾。22、对存储系统的需求、对存储系统的需求 高高速度、大容量、低价格。速度、大容量、低价格。需求带来的问题需求带来的问题:只用只用一种存储器无法解决上述需求;一种存储器无法解决上述需求;采用几种存储器组合来满足需求,如何组织?采用几种存储器组合来满足需求,如何组织?3、访存局部性原理、访存局部性原理 时间时间局部性:局部性:已被访问的存储项,可能很快被再次访问。已被访问的存储项,可能很快被再次访问。空间空间局部性:局部性:被访问存储项的相邻存储项,可能很快被访被访问存储项的相邻存储项,可能很快被访问。问。访存访存局部性原理是存储体系设计的基础。局部性原理是存储体
3、系设计的基础。34 4、层次化存储系统、层次化存储系统 层次结构:层次结构:用多种类型的存储器组合实现存储器的大容量、用多种类型的存储器组合实现存储器的大容量、高速度和低价格要求。高速度和低价格要求。CPUM1M2Mn 实现:实现:cici+1,TAiTAi+1,SMiSMi+1。设计目标:设计目标:cccn;TTA1。达到目标达到目标后,存储系统的容量要求已不是问题。后,存储系统的容量要求已不是问题。4二、存储系统设计原理二、存储系统设计原理1、主要的存储层次、主要的存储层次(1 1)Cache-Cache-主存存储层次主存存储层次 -高速缓冲存储器高速缓冲存储器 目标:目标:解决主存的速度
4、不够问题。解决主存的速度不够问题。效果:效果:CPUCPU的速度,主存的容量。的速度,主存的容量。(2 2)主存)主存-辅存存储层次辅存存储层次 -虚拟存储器虚拟存储器 目标:目标:解决主存的容量不够问题。解决主存的容量不够问题。效果:效果:主存的速度,辅存的容量。主存的速度,辅存的容量。52、性能参数、性能参数(1 1)每位平均价格)每位平均价格c c 影响因素影响因素:c1、c2、SM1、SM2、各层间各层间辅助开销辅助开销(2 2)命中率)命中率H H CPU CPU产生的逻辑地址能在产生的逻辑地址能在M M1 1中访问到的概率。中访问到的概率。影响因素:影响因素:地址流、预判算法、地址
5、流、预判算法、M M1 1的存储粒度和容量等。的存储粒度和容量等。(3 3)平均访问时间)平均访问时间T TA A T TA A=HTHTA1A1+(1-+(1-H H)T TA2A2 影响因素:影响因素:命中率命中率H H、各层的访问时间各层的访问时间T TA1A1和和T TA2A2。回下页63、层次存储系统总体设计、层次存储系统总体设计(1 1)根据)根据cccn目标目标设计设计 设计结果:设计结果:相邻级的容量差相邻级的容量差S SM M较大;较大;价格差价格差c c(等同于速度差等同于速度差T TA A)较大;较大;相邻层访问时间比相邻层访问时间比r r=T TA2A2/T TA1A1
6、,即即r r较大较大 层间辅助成本开销较小。层间辅助成本开销较小。(2 2)根据)根据T TA ATTA1A1目标目标设计设计 访问效率:访问效率:r=1r=2r=10r=100H1.01.0e 设计结果:设计结果:命中率命中率H H很高很高(e1(e1、r r较大较大);层间辅助时间开销较小。层间辅助时间开销较小。转上页74、层次存储系统详细设计、层次存储系统详细设计 需重点解决的问题:需重点解决的问题:如何实现层次结构;如何实现层次结构;如何提高命如何提高命中率中率H H;如何减少层间辅助开销。如何减少层间辅助开销。(1 1)层次结构实现原理)层次结构实现原理 层次结构模型:层次结构模型:
7、CPU主存Cache虚拟地址辅存D/I(页)(a)理想模型MMUCMUOSCPU BusMem BusD/I(块)D/I(字/双字)I/O BusCPU主存Cache虚拟地址辅存D/I(页)(b)传统模型MMUOSCPU BusMem BusD/I(块)D/I(字/双字)I/O Bus回下页8 地址空间地址空间CPUCPU使用的是虚拟地址空间,各存储层次有使用的是虚拟地址空间,各存储层次有自己的物理空间,均需要进行虚拟地址自己的物理空间,均需要进行虚拟地址-物理地址的转换;物理地址的转换;传统模型节省了转换成本,增加了转换延迟传统模型节省了转换成本,增加了转换延迟 传输粒度传输粒度为减少平均访
8、问时间、充分利用访存空间为减少平均访问时间、充分利用访存空间局部性原理,离局部性原理,离CPUCPU越远的存储器间传输粒度越大;越远的存储器间传输粒度越大;可分摊每字节传输代价,和提高命中率可分摊每字节传输代价,和提高命中率H H 层次存储器结构:层次存储器结构:组成组成-存储阵列、控制器、存储阵列、控制器、层次辅助机构层次辅助机构;存储粒度存储粒度一般与传输粒度相同,如一般与传输粒度相同,如CacheCache为块,为块,MEMMEM为页,按上层粒度与上层通信,按本层粒度与下层通信;为页,按上层粒度与上层通信,按本层粒度与下层通信;内部地址内部地址为存储粒度号为存储粒度号+存储粒度内偏移。存
9、储粒度内偏移。转上页回下页9 层次存储器处理访问请求的过程:层次存储器处理访问请求的过程:转上页回下页回13页内部地址粒度内偏移nr存储粒度号ng地址映像规则成功Y存储阵列有空存储粒度按本层存储粒度从下层取数据到存储阵列中读/写按本层存储粒度从存储阵列中替换数据到下层N替换算法更新策略按上层存储粒度从存储阵列取数据送到上层按上层存储粒度接收数据到存储阵列写读请求完成请求到达多用户虚拟地址页内偏移Nr用户号U 虚页号P存储粒度号存储粒度号NY查找方法查映射表地址变换机构10 实现实现的相关问题:的相关问题:地址映象规则地址映象规则-存储粒度大小数据块从下层调入本层存储粒度大小数据块从下层调入本层
10、时可放在哪些位置时可放在哪些位置(候选位置候选位置);转上页 查找方法查找方法如何在候选位置查找数据块的内部位置;如何在候选位置查找数据块的内部位置;地址变换机构地址变换机构如何将外部地址转换成内部地址;如何将外部地址转换成内部地址;替换算法替换算法-发生失效发生失效(不命中不命中)且无剩余空间时,替换且无剩余空间时,替换哪个存储粒度大小的数据块;哪个存储粒度大小的数据块;更新策略更新策略-处理写请求时,何时将数据传递到下层。处理写请求时,何时将数据传递到下层。(2 2)提高命中率)提高命中率H H的方法的方法 在高速缓冲存储器中分析。在高速缓冲存储器中分析。(3 3)减少层间辅助开销的方法)
11、减少层间辅助开销的方法 可在访问请求处理过程的各个步骤进行优化处理。可在访问请求处理过程的各个步骤进行优化处理。11第二节第二节 高速缓冲存储器高速缓冲存储器一、基本工作原理一、基本工作原理1 1、组成、组成 Cache主要由快速存储阵列、目录表、控制器及层次管理辅主要由快速存储阵列、目录表、控制器及层次管理辅助部件等组成。助部件等组成。Cache存储阵列比较器控制器处理器目录表DataCmdAddrSystem Bus回下页122 2、基本工作原理、基本工作原理 存储粒度:存储粒度:由一定数量的字构成的数据块,称为块;由一定数量的字构成的数据块,称为块;内部内部地址:地址:块号块号+块内地址
12、。块内地址。主存主存CacheCache层次管理:层次管理:按按CacheCache块大小将块大小将Cache和主存分成若干大小相同的块和主存分成若干大小相同的块;传输粒度为传输粒度为CacheCache的存储粒度的存储粒度(块块);主存块主存块只能存储到只能存储到CacheCache中中地址地址映象规则映象规则规定的规定的位置;位置;CacheCache负责保存每个块对应的主存块块号。负责保存每个块对应的主存块块号。CacheCPUCacheCPU层次管理层次管理:CacheCache通过通过地址映像规则、查找方法、地址变换机构地址映像规则、查找方法、地址变换机构,将将(CPU(CPU请求的
13、请求的)主存地址转换为主存地址转换为CacheCache内部地址,再按内部地址内部地址,再按内部地址处理请求;处理请求;传输粒度为传输粒度为CPUCPU访问请求的数据大小;访问请求的数据大小;转上页转下页转10页13地址映像及变换主存Cache替换策略Cache阵列主存地址(自处理机)块内地址块号主存地址块宽度Cache 地址去处理机数据总线单字宽单字宽直接通路成功还可以装入失败已装不进访问主存替换Cache访问主存装入Cache块内地址块号 地址变换失败时,地址变换失败时,CacheCache负责调进负责调进CPUCPU请求所对应的主存请求所对应的主存块,块,CacheCache中无空闲位置
14、时,根据中无空闲位置时,根据替换算法替换算法先替换出某个块;先替换出某个块;CacheCache根据根据更新策略更新策略决定何时将数据写到主存中。决定何时将数据写到主存中。回上页回29页回30页14二、相关技术二、相关技术1 1、地址映像及变换、地址映像及变换(1 1)全相联映像及变换)全相联映像及变换 主存地址构成:主存地址构成:页号页号+页内块号页内块号+块内偏移;块内偏移;映像:映像:主存任意块可映像到主存任意块可映像到CacheCache中任意块位置;中任意块位置;候选位置:候选位置:目录表所有行;目录表所有行;性能:性能:命中率最高,实现最复杂。命中率最高,实现最复杂。主存地址 页号
15、 页内块号 块内偏移Cache地址块号 块内偏移比较命中不命中 主存块号 标记 01ni调块到空闲位置候选位置目录表回下页15(2 2)直接映像及变换)直接映像及变换 主存地址构成:主存地址构成:区号区号+区内块号区内块号+块内偏移块内偏移 映像:映像:主存任意块只映像到主存任意块只映像到CacheCache中中区内块号区内块号对应位置;对应位置;候选位置:候选位置:目录表目录表区内块号区内块号那一行;那一行;性能:性能:命中率最低,实现最简单。命中率最低,实现最简单。主存区号 标记 01ni候选位置目录表:(3 3)组相联映像及变换)组相联映像及变换 主存地址构成:主存地址构成:区号区号+区
16、内组号区内组号+组内块号组内块号+块内偏移块内偏移 映像:映像:组内全相联映象,组间直接映象;组内全相联映象,组间直接映象;候选位置:候选位置:目录表目录表区内组号区内组号那一组所有行;那一组所有行;性能:性能:命中率较高,实现较简单。命中率较高,实现较简单。-较多采用较多采用 主存区号+块号 标记 01ni候选位置目录表:转上页162 2、查找方法、查找方法 为提高查找速度,一般采用并行查找方法。为提高查找速度,一般采用并行查找方法。(1)(1)采用相联存储器进行相联查找采用相联存储器进行相联查找第1路第2路第3路第4路=?=?=?=?候选位置查找参数主存地址:候选位置 查找参数 块内地址候
17、选位置屏蔽REG比较REG字选择REG结果REG查找参数比较位置(地址/标记)(2)(2)采用单体多字存储器采用单体多字存储器(每行为一个组每行为一个组)进行按地址、快速进行按地址、快速查找查找(多个比较器多个比较器)CacheCache容量较小时一般用相联查找,否则用快速地址查找。容量较小时一般用相联查找,否则用快速地址查找。173 3、替换策略、替换策略 RANDRAND算法:算法:替换的块由随机数发生器产生,命中率随机。替换的块由随机数发生器产生,命中率随机。FIFOFIFO算法:算法:替换块时只考虑访问的时间次序,未考虑重复替换块时只考虑访问的时间次序,未考虑重复访问频率,命中率随机。
18、访问频率,命中率随机。LRULRU算法:算法:即近期最久未使用算法,遵循了访存局部性原理,即近期最久未使用算法,遵循了访存局部性原理,属堆栈型算法。属堆栈型算法。例例1 1:分析地址序列为分析地址序列为2 2、1111、2 2、9 9、7 7、6 6、4 4、3 3的容的容量为量为4 4块的块的CacheCache的的LRULRU替换算法使用情况。替换算法使用情况。2112976432112976411297611297访问次序访问次序:1 2 3 4 5 6 7 81 2 3 4 5 6 7 8地址流块号:地址流块号:2 11 2 9 7 6 4 32 11 2 9 7 6 4 3块分配情况
19、:块分配情况:操作状态:操作状态:调进调进 调进调进 命中命中 调进调进 调进调进 替换替换 替换替换 替换替换18 例例2 2:证明证明LRULRU算法为堆栈型算法。算法为堆栈型算法。设:设:n n为分配给地址流块数为分配给地址流块数,L Lt t为地址流中相异块数,为地址流中相异块数,B Bt t(n)(n)为为t t时刻时刻CacheCache中块号集合,命中率为中块号集合,命中率为H(n)H(n)。堆栈性算法定义:堆栈性算法定义:n nL Lt t时,时,B Bt t(n)B(n)Bt t(n+1)(n+1);nLnLt t时,时,B Bt t(n)=B(n)=Bt t(n+1)(n+
20、1)。LRULRU算法有:算法有:B Bt t(n+1)B(n+1)Bt t(n)(n),即,即H(n+1)H(n)H(n+1)H(n)。所以:所以:LRULRU算法为堆栈型算法。算法为堆栈型算法。所有所有CacheCache均采用均采用LRULRU算法。算法。194 4、更新策略、更新策略 写策略:写策略:全写法全写法(写直达法写直达法)CPUCPU写写CacheCache时,时,CacheCache同时将数据同时将数据写到主存;写到主存;写回法写回法-CPUCPU写写CacheCache时,时,CacheCache在块被替换时才将数据在块被替换时才将数据写回主存。写回主存。写丢失策略:写丢
21、失策略:不按写分配法不按写分配法CPUCPU写写CacheCache不命中时,直接将数据写不命中时,直接将数据写到主存,不将该块调入到主存,不将该块调入CacheCache;按写分配法按写分配法CPUCPU写写CacheCache不命中时,除直接将数据写不命中时,除直接将数据写到主存外,将该块调入到主存外,将该块调入CacheCache。配对:配对:全写法采用不按写分配法,写回法采用按写分配法。全写法采用不按写分配法,写回法采用按写分配法。连接主存的连接主存的CacheCache一般采用写回法一般采用写回法+按写分配法。按写分配法。20三、三、Cache性能分析性能分析1 1、命中率、命中率H
22、 H 影响因素:影响因素:地址映像规则、替换策略、地址映像规则、替换策略、CacheCache容量、块大小、容量、块大小、组大小、地址流等。组大小、地址流等。地址映像规则:地址映像规则:全相联映像时全相联映像时H H最高、组相联映像次之;最高、组相联映像次之;考虑性能考虑性能/价格,一般采用组相联映像。价格,一般采用组相联映像。替换策略:替换策略:采用采用LRULRU算法时算法时H H最佳,故基本均采用最佳,故基本均采用LRULRU算法。算法。CacheCache容量:容量:增加容量时增加容量时H H均可提高,但不能仅靠此提高均可提高,但不能仅靠此提高H H。块大小:块大小:增加块大小可提高增
23、加块大小可提高H H,固定容量时并非永远如此。,固定容量时并非永远如此。SCH1块大小增加块大小H1SC2SC 组大小:组大小:增加组大小可提高增加组大小可提高H H,固定容量时并非永远如此。,固定容量时并非永远如此。SCH1组大小增加组大小H1SC2SC212 2、平均访问时间、平均访问时间T TA A T TA A=HT=HTA1A1+(1-H)T+(1-H)TA2A2,或或T TA A=命中时间命中时间+失效率失效率*失效开销,命中时间包含查找时间失效开销,命中时间包含查找时间 影响因素:影响因素:命中率命中率(失效率失效率)、命中时间、失效开销等。、命中时间、失效开销等。失效类型:失效
24、类型:强制强制(冷启动冷启动)失效、容量失效、冲突失效。失效、容量失效、冲突失效。强制失效:强制失效:只与块大小有关;只与块大小有关;容量失效:容量失效:只与只与CacheCache容量、软件的工作集有关;容量、软件的工作集有关;冲突失效:冲突失效:与地址映像、与地址映像、CacheCache容量、块大小等有关。容量、块大小等有关。3 3、改进、改进CacheCache性能性能 降低失效率;降低失效率;减少失效开销;减少失效开销;减少减少CacheCache命中时间。命中时间。Cache Cache设计参数设计参数:空间、块大小、组大小、相关算法实现等。空间、块大小、组大小、相关算法实现等。2
25、2四、降低四、降低CacheCache失效率方法失效率方法1 1、增加、增加CacheCache块大小块大小 测试结果:测试结果:失效率先下降、后上升;失效率先下降、后上升;容量越大,最低失效率的块越大。容量越大,最低失效率的块越大。问题:问题:增加增加CacheCache块大小降低失效率以增加失效开销为代价。块大小降低失效率以增加失效开销为代价。块大小的选择:块大小的选择:目标目标同时使失效率和失效开销较小;同时使失效率和失效开销较小;从失效率角度考虑从失效率角度考虑选择失效率最小点的一定范围内选择失效率最小点的一定范围内的块大小作为候选区域的块大小作为候选区域(Cache(Cache主要性
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机系统 结构
限制150内