计算机系统结构第3章.ppt

上传人:s****8 文档编号:67223489 上传时间:2022-12-24 格式:PPT 页数:72 大小:596KB
返回 下载 相关 举报
计算机系统结构第3章.ppt_第1页
第1页 / 共72页
计算机系统结构第3章.ppt_第2页
第2页 / 共72页
点击查看更多>>
资源描述

《计算机系统结构第3章.ppt》由会员分享,可在线阅读,更多相关《计算机系统结构第3章.ppt(72页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

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主要性

26、能为主要性能为T TA A,非,非H)H);从失效开销角度考虑从失效开销角度考虑与下级存储器延迟和带宽有关,与下级存储器延迟和带宽有关,低延迟、高带宽时选择候选区域内较大的块,否则选择候选区低延迟、高带宽时选择候选区域内较大的块,否则选择候选区域内较小的块。域内较小的块。块大小1-H1SM2SM改善强制失效占主流4SM改善冲突失效占主流232 2、提高相联度、提高相联度(组内块数组内块数)测试结果:测试结果:相联度越大,失效率越低;相联度越大,失效率越低;8 8路组相联与全相联失效率基本一致;路组相联与全相联失效率基本一致;容量为容量为N N的直接映像的失效率与容量为的直接映像的失效率与容量为

27、N/2N/2的的2 2路组相路组相联的失效率相近。联的失效率相近。问题:问题:提高相联度降低失效率以增加命中时间为代价;提高相联度降低失效率以增加命中时间为代价;即相联度高的即相联度高的CacheCache,在不同容量时在不同容量时T TA A并不一定低。并不一定低。相联度的选择:相联度的选择:目标目标-失效率、命中时间同时较低失效率、命中时间同时较低(T(TA A最低最低);方法方法采用对测试程序测试方法进行;采用对测试程序测试方法进行;结果结果小容量小容量Cache(32K)Cache(32K),相联度越高相联度越高T TA A越低,越低,大容量大容量CacheCache,相联度为相联度为

28、4 4时时T TA A最低。最低。243 3、Victim CacheVictim CacheCache存储阵列VictimCache目录表写缓冲器下级存储器CPU地址数据=?=?YNYN写直达法时 组成:组成:容量较小容量较小(一般为一般为1515个块个块);采用全相联策略。采用全相联策略。降低失效率原理:降低失效率原理:在在CacheCache不命中时,访问不命中时,访问Victim CacheVictim Cache,代替访问下级代替访问下级存储器,类似于增加了一级全相联存储器。存储器,类似于增加了一级全相联存储器。减小失效开销原理:减小失效开销原理:访问访问CacheCache与访问与

29、访问Victim CacheVictim Cache并行。并行。测试结果:测试结果:CacheCache为为4K4K、Victim CacheVictim Cache为为4 4块时,可减少失块时,可减少失效率的效率的20%90%20%90%。回47页254 4、软硬件支持的预取技术、软硬件支持的预取技术 实现机构:实现机构:硬件预取硬件预取-一般由一般由CacheCache之外的硬件完成;之外的硬件完成;软件预取软件预取-由编译器利用由编译器利用预取指令预取指令完成。完成。预取信息的存放预取信息的存放:少量少量(4(4个左右个左右)流式缓冲器流式缓冲器(大小为大小为1 1个块个块)。降低失效率

30、原理:降低失效率原理:在在CacheCache不命中时,访问预取缓冲器;不命中时,访问预取缓冲器;预取利用存储器的空闲频带,不影响正常失效的处理。预取利用存储器的空闲频带,不影响正常失效的处理。软硬件预取的特点:软硬件预取的特点:硬件预取硬件预取预取效率与算法实现延迟、预取有效性相关,预取效率与算法实现延迟、预取有效性相关,需要硬件成本、不需要软件介入;需要硬件成本、不需要软件介入;软件预取软件预取预取效率较高、无算法延迟,需编译器介入。预取效率较高、无算法延迟,需编译器介入。26五、减少五、减少CacheCache失效开销方法失效开销方法1 1、实现技术、实现技术 对对CPUCPU的请求的请

31、求(命中命中/失效时失效时)的处理采用的处理采用等待方式,非程序等待方式,非程序切换方式,以减少命中时间和失效开销。切换方式,以减少命中时间和失效开销。2 2、读失效优先于写、读失效优先于写 对写直达对写直达CacheCache:-不按写分配不按写分配 零等待写实现零等待写实现增设写缓冲区,增设写缓冲区,MEMMEM带宽空闲时写;带宽空闲时写;应用需求应用需求-读失效时所读单元在写缓冲中;读失效时所读单元在写缓冲中;减少失效开销原理减少失效开销原理读失效时检查写缓冲器的内容。读失效时检查写缓冲器的内容。对写回法对写回法CacheCache:-按写分配按写分配 零等待写实现零等待写实现增设写回缓

32、冲区,增设写回缓冲区,MEMMEM带宽空闲时写;带宽空闲时写;应用需求应用需求-读失效时所读单元在写回缓冲区中;读失效时所读单元在写回缓冲区中;减少失效开销原理减少失效开销原理读失效时检查写回缓冲器内容。读失效时检查写回缓冲器内容。273 3、子块放置技术、子块放置技术 实现原理:实现原理:将将CacheCache块分成几个子块,每个子块赋予一个有块分成几个子块,每个子块赋予一个有效位,说明该子块中数据是否有效。效位,说明该子块中数据是否有效。主存块号 标记 02F0 1100块子块 减少失效开销原理:减少失效开销原理:失效时只从下级存储器调入一个子块,其余子块利用失效时只从下级存储器调入一个

33、子块,其余子块利用预取方法调入。预取方法调入。与小块与小块CacheCache比较:比较:减少了保存多个主存块号的存储空间,增加了相应个减少了保存多个主存块号的存储空间,增加了相应个有效位。有效位。284 4、请求字处理技术、请求字处理技术 减少失效开销原理:减少失效开销原理:从下级存储器调入块时,一旦从下级存储器调入块时,一旦CPUCPU所所请求的字到达后,请求的字到达后,立即发送给立即发送给CPUCPU,让等待的让等待的CPUCPU尽早继续执行。尽早继续执行。(见见CacheCache结构图结构图)应用:应用:只有当块较大时才采用该技术。只有当块较大时才采用该技术。转14页295 5、旁侧

34、式、旁侧式CacheCache技术技术 贯通式贯通式CacheCache:-传统存储层次结构传统存储层次结构Cache控制器Cache SRAM处理器主存DRAM主存控制器DMA控制器外部设备本地总线系统总线 特点:特点:失效开销大、不影响命中时间、降低总线使用率。失效开销大、不影响命中时间、降低总线使用率。旁侧式旁侧式CacheCache:-优化的存储层次结构优化的存储层次结构Cache控制器Cache SRAM处理器主存DRAM主存控制器DMA控制器外部设备Cache命中系统总线 特点:特点:降低失效开销、影响命中时间、没有明显降低总线降低失效开销、影响命中时间、没有明显降低总线使用率。使

35、用率。(见见CacheCache结构图结构图)转14页回35页306 6、非阻塞、非阻塞CacheCache技术技术 应用需求:应用需求:超标量流水线、异步流水线要求多个存取请求超标量流水线、异步流水线要求多个存取请求序列中某请求不命中时,后续请求能够饶过失效请求而执行。序列中某请求不命中时,后续请求能够饶过失效请求而执行。非阻塞非阻塞CacheCache实现原理:实现原理:CacheCache能够同时缓冲和处理多个未完成请求;能够同时缓冲和处理多个未完成请求;为保证正确性,需处理好冲突请求为保证正确性,需处理好冲突请求(控制器复杂控制器复杂)。减少失效开销原理:减少失效开销原理:CacheC

36、ache在访问失效时,不拒绝在访问失效时,不拒绝CPUCPU的后续请求的后续请求(直到请求直到请求缓冲区满为止缓冲区满为止),隐藏了命中的后续请求的访问时间,隐藏了命中的后续请求的访问时间(或降低了或降低了不命中请求的失效开销不命中请求的失效开销)。317 7、采用两级、采用两级CacheCache 应用需求:应用需求:CPUCPU与主存的速度差距越来越大。与主存的速度差距越来越大。优化原理:优化原理:-采用两级采用两级CacheCache 第一级第一级-容量小容量小(速度快速度快)、块小,减少命中时间;、块小,减少命中时间;第二级第二级-容量大、块大容量大、块大,减少失效率和失效开销减少失效

37、率和失效开销。性能分析:性能分析:一级一级CacheCacheT TA A=T=T命中命中+失效率失效率T Tmemmem;两级两级Cache-Cache-T TA A=T=TL1L1命中命中+失效率失效率L1L1TTL2L2命中命中 +失效率失效率L1L1失效率失效率L2L2TTmemmem。测试结果测试结果-失效率失效率失效率失效率L1L1失效率失效率L2L2,T TL1L1命中命中+失效率失效率L1L1TTL2L2命中命中T T命中命中。思考:思考:为什么不采用更多级为什么不采用更多级CacheCache?32六、减少六、减少CacheCache命中时间方法命中时间方法1 1、实现技术、

38、实现技术 采用半导体工艺构成快速存储阵列;采用半导体工艺构成快速存储阵列;尽量尽量靠近靠近CPU,减少传输延迟;减少传输延迟;全部辅助全部辅助工作工作(变换、查找、替换、更新等变换、查找、替换、更新等)由硬件实现。由硬件实现。2 2、采用结构简单、容量小的、采用结构简单、容量小的CacheCache 用地址中索引访问目录表、用地址与主存块号比较最耗时。用地址中索引访问目录表、用地址与主存块号比较最耗时。减少命中时间原理:减少命中时间原理:容量小可减少访问目录表时间和比较时间容量小可减少访问目录表时间和比较时间;结构简单可使比较与数据传输流水进行结构简单可使比较与数据传输流水进行。采用两级采用两

39、级CacheCache可可同时满足减少命中时间和失效开销要求。同时满足减少命中时间和失效开销要求。333 3、写操作流水化、写操作流水化 思路:思路:将将CPU的多个操作请求采用流水方式处理。的多个操作请求采用流水方式处理。读操作处理步骤:读操作处理步骤:比较请求地址;比较请求地址;将数据读出。将数据读出。支持:支持:不需要增加专门的硬件支持。不需要增加专门的硬件支持。写操作处理步骤:写操作处理步骤:比较请求地址、将数据保存到延迟写缓冲器中;比较请求地址、将数据保存到延迟写缓冲器中;从延迟缓冲器将数据写入到从延迟缓冲器将数据写入到CacheCache中。中。支持:支持:需要增加延迟缓冲器硬件支

40、持。需要增加延迟缓冲器硬件支持。344 4、双独立总线、双独立总线(DIB)(DIB)结构结构 采用旁侧式采用旁侧式Cache可减少失效开销,但增加了命中时间,采可减少失效开销,但增加了命中时间,采用双独立总线结构可减少旁侧式用双独立总线结构可减少旁侧式Cache的命中时间。的命中时间。双独立总线双独立总线(DIB)(DIB)结构:结构:前端总线前端总线频率为系统总线频率频率为系统总线频率(66/100/133MHz)(66/100/133MHz);后端总线后端总线-频率为频率为CPUCPU时钟频率时钟频率(1/2/3GHz)(1/2/3GHz),既处理与既处理与L1 CacheL1 Cach

41、e的通信,又处理前端总线上的活动;的通信,又处理前端总线上的活动;前端总线、后端总线可并行工作前端总线、后端总线可并行工作。处理器核心L1指令CacheL1数据Cache总线接口单元BIUL2 Cache本地APIC前端总线(外总线)后端总线转30页35七、七、CacheCache的一致性的一致性1 1、CacheCache更新策略比较更新策略比较 更新策略:更新策略:写直达法、写回法。写直达法、写回法。策略比较:策略比较:写回法命中时间较小,大多数写回法命中时间较小,大多数Cache(Cache(特别是连接主特别是连接主存的存的Cache)Cache)采用写回法;采用写回法;写回法的一致性保

42、持较差,需采取特殊措施解决一写回法的一致性保持较差,需采取特殊措施解决一致性问题。致性问题。2 2、一致性问题产生原因、一致性问题产生原因 I/OI/O设备设备(如如DMA)DMA)绕过绕过CacheCache直接对主存进行直接对主存进行I/OI/O操作;操作;不同处理器不同处理器(如如P CPUP CPU支持双支持双CPUCPU处理处理)对相同的主存单对相同的主存单元在各自元在各自CacheCache中拷贝的异步读中拷贝的异步读/写操作。写操作。363 3、一致性问题解决方案、一致性问题解决方案(1 1)禁止法)禁止法 共享数据禁止进入共享数据禁止进入CacheCache,或允许进入、禁止修

43、改。或允许进入、禁止修改。例:例:PPCPPC机将主存空间分成不同类型的区域,对不同区域机将主存空间分成不同类型的区域,对不同区域采用不同的处理方法:采用不同的处理方法:I/OI/O设备、设备、视频帧视频帧占用占用区域区域的的数据不允许进入数据不允许进入Cache;ROMROM区域数据可进入区域数据可进入Cache,但不允许修改;但不允许修改;其他其他区域数据可进入区域数据可进入Cache(但尚未解决多处理器产生但尚未解决多处理器产生的不一致性问题的不一致性问题)。(2 2)刷新法)刷新法 对共享数据操作之前,先进行刷新以保持一致性,再进行对共享数据操作之前,先进行刷新以保持一致性,再进行具体

44、的操作。具体的操作。37 对对DMADMA的的I/OI/O操作引起的不一致性:操作引起的不一致性:DMADMA在在I/OI/O操作前,将有关段先在操作前,将有关段先在MEMMEM和和CacheCache间刷新,间刷新,然后再进行然后再进行I/OI/O操作,但操作,但CacheCache和和DMADMA控制器的设计相当复杂控制器的设计相当复杂(起起始地址和传输粒度均不同始地址和传输粒度均不同),不可取,不可取(一般采用禁止方法一般采用禁止方法)。对多处理器引起的不一致性:对多处理器引起的不一致性:可采用可采用作废作废或或更新更新方法的方法的一致性协议一致性协议来解决问题来解决问题。基于作废的一致

45、性协议基于作废的一致性协议当某当某CacheCache数据被写后,通知数据被写后,通知所有具有该块副本的所有具有该块副本的CacheCache作废该块作废该块。基于更新的一致性协议基于更新的一致性协议当某当某CacheCache数据被写后,立即数据被写后,立即通知所有具有该块副本的通知所有具有该块副本的CacheCache做相应的修改做相应的修改。一致性协议的实现一致性协议的实现根据根据CacheCache与共享存储器的连接结与共享存储器的连接结构,可采用构,可采用监听法监听法或或目录法目录法实现实现。384 4、基于监听的一致性协议、基于监听的一致性协议 一般在一般在总线互连总线互连时,均采

46、用监听协议。时,均采用监听协议。监听协议:监听协议:将维护各将维护各CacheCache一致性的责任分散到各一致性的责任分散到各CacheCache控控制器中,各控制器监听总线上存储器的读制器中,各控制器监听总线上存储器的读/写活动并响应。写活动并响应。监听协议类型:监听协议类型:有写有写-无效和写无效和写-修改两种。修改两种。写写-无效协议无效协议的总线传输量较少,实现简单,故已广泛的总线传输量较少,实现简单,故已广泛采用。采用。MESIMESI是一种效果较好的四态写是一种效果较好的四态写-无效监听协议。无效监听协议。395 5、MESIMESI协议协议(1 1)CacheCache块块 块

47、状态:块状态:修改态修改态(M)(M)数据与主存不同数据与主存不同(脏块脏块),该块同时只在一,该块同时只在一个个CacheCache中存在;中存在;独占态独占态(E)(E)数据与主存相同数据与主存相同(干净块干净块),该块同时只在,该块同时只在一个一个CacheCache中存在;中存在;共享态共享态(S)(S)数据与主存相同数据与主存相同(干净块干净块),该块同时可在,该块同时可在多个多个CacheCache中存在;中存在;无效态无效态(I)-(I)-此块已作废此块已作废(空块空块)。块拥有者:块拥有者:状态为状态为M M态的态的CacheCache是该块的数据拥有者是该块的数据拥有者(简称

48、块拥有者简称块拥有者),否则主存是该块的块拥有者。,否则主存是该块的块拥有者。块拥有者负责给对该块的访问请求提供数据。块拥有者负责给对该块的访问请求提供数据。回下页回下二页40(2 2)数据操作)数据操作 PrRdPrRd块为块为I I态时产生态时产生BusRdBusRd总线事务,总线事务完成后状总线事务,总线事务完成后状态变为态变为E E态或态或S S态态(根据块拷贝的唯一性决定根据块拷贝的唯一性决定);块为;块为M/E/SM/E/S态时不态时不产生总线事务,状态不变。产生总线事务,状态不变。PrWrPrWr块为块为S/IS/I态时需先产生态时需先产生BusRdXBusRdX总线事务总线事务

49、(通知其它通知其它CacheCache数据将会变化数据将会变化),总线事务完成后,总线事务完成后改块状态为改块状态为M态,然后态,然后在在M态写数据;块为态写数据;块为E/M态时不产生总线事务,态时不产生总线事务,E态改为态改为M态态,在,在M态写数据。态写数据。CaInvdCaInvd被替换的块为被替换的块为M M态时产生态时产生BusWBBusWB总线事务,总线事总线事务,总线事务完成后务完成后块状态为块状态为I态;态;被替换的块为被替换的块为E/SE/S态时不产生总线事务,态时不产生总线事务,直接将直接将块状态改为块状态改为I态态。该操作可由该操作可由CacheCache产生或处理器产生

50、产生或处理器产生(释放进程时释放进程时)。转上页转下二页转下页41(3 3)总线事务)总线事务 BusRdBusRd数据由块拥有者提供;数据由块拥有者提供;其他其他CacheCache监听命中时返回监听命中等信号,监听命中时返回监听命中等信号,M M态时态时提供数据,并改变自身状态提供数据,并改变自身状态(M/ES(M/ES、S S不变不变);主存不是块拥有者时自行更新块数据。主存不是块拥有者时自行更新块数据。BusRdXBusRdX数据由块拥有者提供;数据由块拥有者提供;其他其他CacheCache监听命中时返回监听命中等信号,监听命中时返回监听命中等信号,M M态态时提供数据,并作废该块时

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 生活常识

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁