Cache性能解读课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《Cache性能解读课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Cache 性能 解读 课件
- 资源描述:
-
1、Computer Architecture计算机学院w Cache性能评价性能评价w 提高提高Cache性能性能本章内容 Cache存储系统Computer Architecture计算机学院本章内容 Cache存储系统Cache性能w CPU执行时间执行时间w 平均存储器访问时间(平均存储器访问时间(AMAT)Computer Architecture计算机学院本章内容 Cache存储系统Cache性能Cache性能评价缺失代价缺失率指令存储器访问次数指令数缺失代价指令缺失次数指令数缺失代价缺失次数存储器停顿周期数3 之 1Computer Architecture计算机学院本章内容 Cac
2、he存储系统Cache性能Cache性能评价假定有一台计算机,当所有存储器访问操作都能在假定有一台计算机,当所有存储器访问操作都能在Cache中命中时,中命中时,CPI为为1.0;数据访问只有;数据访问只有load和和store指令,这些指令占全部指令的指令,这些指令占全部指令的50%;缺失代价;缺失代价为为25个时钟周期,缺失率为个时钟周期,缺失率为2%。问当所有指令都在。问当所有指令都在Cache中命中时,计算机性能能提高多少?中命中时,计算机性能能提高多少?Cache始终命中时的计算机性能为:始终命中时的计算机性能为:时钟周期指令数时钟周期指令数时钟周期存储器停顿周期数时钟周期数执行时间
3、理想0.1)0CPI()CPU(CPU3 之 2Computer Architecture计算机学院本章内容 Cache存储系统Cache性能Cache性能评价时钟周期指令数时钟周期指令数指令数时钟周期存储器停顿周期数时钟周期数执行时间实际75.1)2502.0)5.01(CPI()CPU(CPU实际实际Cache的计算机性能为:的计算机性能为:两者的性能比为:两者的性能比为:不发生不发生Cache缺失时计算机性能是原来的缺失时计算机性能是原来的1.75倍倍75.10.175.1CPUCPU时钟周期指令数时钟周期指令数执行时间执行时间理想实际3 之 3Computer Architecture
4、计算机学院本章内容 Cache存储系统Cache性能Cache性能评价3 之 1Computer Architecture计算机学院本章内容 Cache存储系统Cache性能Cache性能评价一个由一个由8KB的的I-Cache和和8KB的的D-Cache所构成的分所构成的分立立Cache()与一个)与一个16KB的统一的统一Cache哪哪一个具有更低的缺失率一个具有更低的缺失率?假设命中所需的开销为假设命中所需的开销为1个个时钟周期,不命中的开销为时钟周期,不命中的开销为50个时钟周期,统一个时钟周期,统一Cache的的load或或store命中需花费命中需花费1个时钟周期的额外个时钟周期的
5、额外开销。开销。75%的存储器存取是指令访问。的存储器存取是指令访问。Cache大小大小I-Cache缺失率缺失率 D-Cache缺失率缺失率统一统一Cache缺失率缺失率4KB1.78%15.94%7.24%8KB1.10%10.19%4.57%16KB0.64%6.47%2.87%32KB0.39%4.82%1.99%3 之 2Computer Architecture计算机学院分立分立Cache的整体缺失率为:的整体缺失率为:由表中可知,由表中可知,16KB的统一的统一Cache的缺失率为的缺失率为2.87%。因此,统一因此,统一Cache结构具有较低的缺失率。结构具有较低的缺失率。尽管
6、分立尽管分立Cache具有较高的缺失率,但其具有较高的缺失率,但其AMAT与统与统一一Cache的的AMAT是基本相同的,可见哈佛结构有优势。是基本相同的,可见哈佛结构有优势。大多数现代处理器都采用分立大多数现代处理器都采用分立Cache技术。技术。本章内容 Cache存储系统Cache性能Cache性能评价3.37%10.19%)(25%1.10%)(75%2.686 50)10.19%(1 25%50)1.10%(1 75%AMATsplit2.685 50)2.87%1 (1 25%50)2.87%(1 75%AMATunified3 之 3Computer Architecture计算
7、机学院本章内容 Cache存储系统Cache性能 可见主要途径有:可见主要途径有:w 降低缺失代价降低缺失代价w 降低缺失率降低缺失率w 通过并行性降低缺失代价通过并行性降低缺失代价/缺失率缺失率w 降低降低Cache命中时间命中时间 Computer Architecture计算机学院本章内容 Cache存储系统Cache性能提高Cache性能w 多级多级Cachew 关键字优先和提前重启动关键字优先和提前重启动w 给出读缺失对写的优先级给出读缺失对写的优先级w 合并写缓冲区合并写缓冲区w 牺牲者牺牲者CacheComputer Architecture计算机学院本章内容 Cache存储系统
8、Cache性能提高Cache性能降低缺失代价w 基本思想基本思想w 性能分析性能分析w 设计考虑设计考虑Computer Architecture计算机学院本章内容 Cache存储系统Cache性能提高Cache性能降低缺失代价多级Cache 通过在原始通过在原始Cache和存储器之间增加和存储器之间增加另一级另一级Cache,第一级第一级Cache可以小到足以可以小到足以跟上飞快的跟上飞快的CPU,而第二级而第二级Cache能够大能够大到足以捕捉到对主存进行的大多数访问,因到足以捕捉到对主存进行的大多数访问,因而可以减少有效缺失代价。而可以减少有效缺失代价。Computer Architec
9、ture计算机学院本章内容 Cache存储系统Cache性能提高Cache性能降低缺失代价多级Cache 本级本级Cache的缺失数除以对本级的缺失数除以对本级Cache的存储器访问总的存储器访问总数。例如:第一级数。例如:第一级Cache的局部缺失率为的局部缺失率为,第二第二级级Cache的局部缺失率为的局部缺失率为 本级本级Cache的缺失数除以的缺失数除以CPU产生的存储器访问总数。产生的存储器访问总数。例如:第一级例如:第一级Cache的全局缺失率为的全局缺失率为,第二级第二级Cache的全局缺失率为的全局缺失率为。Computer Architecture计算机学院本章内容 Cach
10、e存储系统Cache性能提高Cache性能降低缺失代价多级Cache 采用大容量设计。因为第一级采用大容量设计。因为第一级Cache中的所有中的所有信息都可能会出现在第二级信息都可能会出现在第二级Cache中,所以第二中,所以第二级级Cache应该比第一级应该比第一级Cache大得多。如果第二大得多。如果第二级级Cache只是稍微大一点,则局部缺失率会很高。只是稍微大一点,则局部缺失率会很高。采用组相联映射比采用直接映射性能要好。采用组相联映射比采用直接映射性能要好。2 之 1Computer Architecture计算机学院本章内容 Cache存储系统Cache性能提高Cache性能降低缺
11、失代价多级Cache2 之 2w 是否第一级是否第一级Cache中所有数据都包含在第二级中所有数据都包含在第二级Cache中?中?有两种方案:有两种方案:多级包含多级包含 L1中的数据通常都出现在中的数据通常都出现在L2中。这是通常做法。中。这是通常做法。多级排除多级排除 L1中的数据从不会出现在中的数据从不会出现在L2中。当中。当L2 Cache容量容量略大于略大于L1 Cache时可以采用此法,不浪费时可以采用此法,不浪费L2 Cache的空间。的空间。Computer Architecture计算机学院 因为因为CPU在同一时刻只需要块中的一个字,所以本技术在同一时刻只需要块中的一个字,
12、所以本技术不必等到全部块装入就可以将所需字送出,然后重新启动不必等到全部块装入就可以将所需字送出,然后重新启动CPU。首先向存储器请求缺失首先向存储器请求缺失的字,一旦它到了就将它的字,一旦它到了就将它发送到发送到CPU中;让中;让CPU继继续执行,同时装入块中的续执行,同时装入块中的其他字。其他字。本章内容 Cache存储系统Cache性能提高Cache性能降低缺失代价 按正常次序获取字,只按正常次序获取字,只要被请求的字一到达就将要被请求的字一到达就将它发送到它发送到CPU中,让中,让CPU继续执行。继续执行。2 之 1Computer Architecture计算机学院 本技术的收益取决
13、于块的大小(块越本技术的收益取决于块的大小(块越大,收益越大)和对块中未装入部分的访问大,收益越大)和对块中未装入部分的访问可能性。可能性。本章内容 Cache存储系统Cache性能提高Cache性能降低缺失代价2 之 2Computer Architecture计算机学院本章内容 Cache存储系统Cache性能提高Cache性能降低缺失代价 对于一个写直达的对于一个写直达的Cache,需要设置容量适中的写缓冲需要设置容量适中的写缓冲区(见后图)。然而写缓冲区使得存储器访问变的复杂,区(见后图)。然而写缓冲区使得存储器访问变的复杂,因为其中可能包含读缺失时所需要的更新数据。因为其中可能包含读
14、缺失时所需要的更新数据。SW R3,512(R0);M512R3 (Cache Index 0)LW R1,1024(R0);R1 M1024 (Cache Index 0)LW R2,512(R0);R2 M512 (Cache Index 0)3 之 1Computer Architecture计算机学院本章内容 Cache存储系统Cache性能提高Cache性能降低缺失代价writebufferCPUin out DRAM (or lower mem)3 之 2Computer Architecture计算机学院本章内容 Cache存储系统Cache性能提高Cache性能降低缺失代价 最
15、简单的解决方法:读缺失等待,直到写缓冲区为空为最简单的解决方法:读缺失等待,直到写缓冲区为空为止;但该方法会增加读缺失代价。另一种解决方法:在读止;但该方法会增加读缺失代价。另一种解决方法:在读缺失时查看写缓冲区中的内容,如果没有冲突而且存储器缺失时查看写缓冲区中的内容,如果没有冲突而且存储器系统可以访问,就让读缺失继续;即:系统可以访问,就让读缺失继续;即:。3 之 3在写回法的在写回法的Cache中,在中,在替换块时也要使用一个简替换块时也要使用一个简单的写缓冲,同样处理。单的写缓冲,同样处理。Computer Architecture计算机学院本章内容 Cache存储系统Cache性能提
16、高Cache性能降低缺失代价 在写缓冲在写缓冲区中,将多区中,将多个连续的数个连续的数据组合起来,据组合起来,加快存储器加快存储器的写速度。的写速度。Computer Architecture计算机学院本章内容 Cache存储系统Cache性能提高Cache性能降低缺失代价 在在Cache和它的替换路径之间增加一个小的、全相联的和它的替换路径之间增加一个小的、全相联的Cache(牺牲者牺牲者Cache),),这个牺牲者这个牺牲者Cache中只包含中只包含Cache中因为缺失而被替换出的块(牺牲者),然后在缺中因为缺失而被替换出的块(牺牲者),然后在缺失发生时,在要访问下层存储器之前,先检查牺牲
17、者失发生时,在要访问下层存储器之前,先检查牺牲者Cache,看其中是否包含有期望的数据,如果有,则牺牲看其中是否包含有期望的数据,如果有,则牺牲块与块与Cache块互换(见后图)块互换(见后图)。依赖于特定的程序,一个包含依赖于特定的程序,一个包含4个存储字的牺牲者个存储字的牺牲者Cache能减少能减少20%90%的冲突缺失。的冲突缺失。2 之 1Computer Architecture计算机学院本章内容 Cache存储系统Cache性能提高Cache性能降低缺失代价2 之 2Computer Architecture计算机学院本章内容 Cache存储系统Cache性能提高Cache性能w
18、导致缺失的原因导致缺失的原因w 降低缺失率的技术降低缺失率的技术增加块容量增加块容量增加增加Cache容量容量增加相联度增加相联度路预测和伪相联路预测和伪相联Cache编译优化编译优化Computer Architecture计算机学院本章内容 Cache存储系统Cache性能提高Cache性能降低缺失率w 对一个块的第一次访问一定不在对一个块的第一次访问一定不在Cache中,所以该块必中,所以该块必须被调入到须被调入到Cache中(这也称为:冷启动缺失、首次访问中(这也称为:冷启动缺失、首次访问缺失等)。缺失等)。w 如果如果Cache容纳不了一个程序持续执行所需要的所有块,容纳不了一个程序
19、持续执行所需要的所有块,将会发生容量缺失,某些块将被放弃,随后再被调入。将会发生容量缺失,某些块将被放弃,随后再被调入。如果采用组相联如果采用组相联/直接相联,则可能有多个块映射到同一直接相联,则可能有多个块映射到同一块中,发生冲突缺失。块中,发生冲突缺失。4 之 1Computer Architecture计算机学院SPEC92;32B blocks;LRU;DECstation 5000;本章内容 Cache存储系统Cache性能提高Cache性能降低缺失率4 之 2Miss Rate per Type0.020.040.060.080.10.120.14Cache Size(KB)012
20、48163264128Compulsory Capacity 4-way2-way1-way8-wayConflictComputer Architecture计算机学院 一个容量为一个容量为N的的直接映射直接映射Cache同容同容量为量为N/2的的2-路组相路组相联联Cache有着大致相有着大致相同的总缺失率。同的总缺失率。本章内容 Cache存储系统Cache性能提高Cache性能降低缺失率4 之 3Cache Size(KB)Cache Size(KB)Miss Rate per TypeMiss Rate per Type0 00.020.020.040.040.060.060.080
21、.080.10.10.120.120.140.141 12 24 48 81616323264641281281-way1-way2-way2-way4-way4-way8-way8-wayCapacity Capacity Compulsory Compulsory ConflictComputer Architecture计算机学院本章内容 Cache存储系统Cache性能提高Cache性能降低缺失率4 之 4C Ca ac ch he e S Si iz ze e (K KB B)M Mi is ss s R Ra at te e p pe er r T Ty yp pe e0 0%2
展开阅读全文