版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、关于CPU CACHE工作机制的学习由于这段时间的工作需要,对当前CPU CACHE 高速缓存的工作原理机制进行了相对比较易通的学习和了解工作。1. 存储层次结构由于两个不谋而合的因素如下:l 硬件:由于不同存储技术的访问时间相差很大。速度较快的技术每个字节的成本要比速度较慢的技术高,而且容量小。CPU和主存之间的速度差距在增大l 软件:一个编写良好的程序倾向于展示出良好的局部性。聪明的人类想出了一种组织存储器系统的方法,叫做 存储器层次结构。千言万语不如一张图:摘自深入理解计算机系统 第二版图12. CACHE 缓存什么CACHE缓存什么么?不同的缓存都缓存着自己以为重要的东西,来看张图2寄
2、存器里面是寄存器有32位和64位(也就是4字节和8字节的)其中TLB 叫做:翻译后背缓冲器。MMU:存储管理单元(Memory Management Unit)3. 通用高速缓存存储器结构下图3,讲的非常明白有效位指明这个行是否包含有意义的信息,还有t=m-(b+s), m=t+b+s.标记位唯一地标识存储在这个高速缓存行中的块。高速缓存大小,C=SXEXB我想以上大家都能容易理解的。3.1 具体工作机制如上图三所示,参数S和B将m个地址分为了三个字段。n 其中s个组索引位是一个S个数组的索引。从第0组,第1组,。到最后一组。组索引位告诉我们这个字必须放在哪个组中。OK。n 标记位,则告诉我们
3、在这个组的哪一行包含这个字(如果有,需要看有效位是否有效)n 块偏移位给出了在B个字节的数据块中的字偏移。我们可以知道对于m位的 内存地址,每个寻址对能对应于CACHE上的一个字节。这里放入图4,关于高速缓存参数的小结,这些参数都非常容易理解。3.1.1 直接映射高速缓存根据E(每个组的高速缓存行数)高速缓存被分为不同的类。每个组只有一行的高速缓存称为直接高速缓存(direct-mapped cache).高速缓存确定一个请求是否命中,然后抽取出请求的字的过程,分为三步:组选择,行匹配,字抽取。如下图5所示3.1.1.1 例子这个例子非常好。如下图6-93.1.1.2 直接映射问题直接映射高速
4、缓存中通常会发生冲突不命中。即使程序有良好的空间局部性,而且我们的高速缓存中也有足够的空间来存放数据,但是每次引用还是会导致冲突不命中,这是因为这些块被映射到了同一个高速缓存组。这种抖动导致速度下降2或3倍并不稀奇。这对于更大、更现实的直接映射高速缓存来说,问题很真实。3.1.2 组相联高速缓存直接映射高速缓存中冲突不命中造成的问题源于每个组只有一行这个限制。 组相联高速缓存(set associative cache)放松了这条限制,每个组都保存有多于一个的高速缓存行。E>1 但是 E< E/B叫做E路组相联高速缓存。当E=C/B的时候,就是全相联高速缓存了。组相联高速缓存中的行
5、匹配比直接映射高速缓存中的更复杂,因为必须检查更多个行的标记位和有效位,以确定所请求的字是是否在集合中。看如下图10这里需要注意的是,组中任何一行 都可以包含任何映射到这个组的存储器块。所以高速缓存必须搜索组中的每一行,寻找一个有效的行,其标记与地址中的标记相匹配。3.1.2.1 有关命中如果CPU请求的字不再组的任何一行中,那么就是缓存不命中,高速缓存必须从存储器中去取包含这个字的块。如下图113.1.3 全相联高速缓存全相联高速缓存(fully associative cache)是由一个包含所有高速缓存行的组(即E=C/B)如下图12由于全相联,只有一个组,地址只被分为了一个标记和一个块
6、偏移。如下图13全相联高速缓存中的行匹配和字选择与组相联高速缓存中的是一样的。区别主要是规模大小的问题。因为高速缓存电路必须并行的搜索许多相匹配的标记,构造一个又大又快的相联高速缓存很困难,而且很昂贵。所以,全相联高速缓存只适合走小的高速缓存,例如TLB,缓存页表项。3.1.4 有关写关于读的操作非常简单。写的情况就复杂一些了。如果更新了一个字节的拷贝之后,怎么更新低一层中的拷贝呢?最简单的方法是直写(write-through),就是将w的高速缓存块写回到紧接着的低一层中。虽然简单,但是直写的缺点是每次写都会引起总线流量。另一种是写回(write-back),尽可能的推迟存储器更新,只有当替
7、换算法要驱逐更新过的块时,才把它写到紧接着的第一层中。写回能显著地减少总线流量,但是它的缺点是增加了复杂性。高速缓存必须为每个高速缓存行维护一个额外的修改位,表明这个高速缓存块是否被修改过。另外一个问题是,如果处理写不命中。一种方法称为写分配(write-allocate),加载相应的低一层的块到高速缓存中,然后更新这个高速缓存块。写分配视图利用写的空间局部性,但是缺点是每次不命中都会导致一个块从低一层传送到高速缓存。另一种方法,称为非写分配(not-write-allocate),避开高速缓存,直接把这个字写到低一层中。直写高速缓存通常是非写分配的。写回高速缓存通常是写分配的。3.1.5 实际高速缓存剖析现代处理的高速缓存即保存指令的高速缓存,又保存数据的高速缓存。称为统一的高速缓存。其中指令高速缓存是制度的,比较简单。图14 i7的I7高速缓存层次结构的特性如下图154. 对性能影响4.1 高速缓存参数的性能影响优化高速缓存的成本和性能的折中是一项很精细的工作,需要在现实的基准程序代码上进行大量的模拟。相联度的优点
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 光伏电站消防安全设计方案
- 管道施工测量放线方案
- 工程项目施工资源配置方案
- 工程量审核工作规范
- 2026年电工操作(家庭电路安装)试题及答案
- 2026年电风扇维修(电风扇故障检修)试题及答案
- 大型拖拉机企业ESG实践与创新战略分析报告
- 新形势下贺维力行业顺势崛起战略制定与实施分析研究报告
- 个人导航信息终端企业ESG实践与创新战略分析报告
- 非合金钯片行业市场营销创新战略制定与实施分析报告
- 福建省护理“三基”备考试题含答案
- 广州市从化区纪委监委公开招考8名合同制纪检监察辅助人员(高频重点提升专题训练)共500题附带答案详解
- DL-T5153-2014火力发电厂厂用电设计技术规程
- 儿童吞咽障碍的康复护理
- 雕刻机说明书
- 货运车辆交通安全讲座课件
- 食品杀菌设备行业营销策略方案
- 事故油池基坑开挖专项施工方案
- 学校供暖托管服务投标方案(技术标)
- 自动化专业(学科)概论课件
- 复发性胰腺炎
评论
0/150
提交评论