- 1、本文档共59页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Cache存储器 二、直接映射方式 映射检索过程00000001000000110101100101011010 0101111101 0000001011 01011 11001 01011 块号 蓝色:行号;绿色:字地址 Cache地址000 Cache地址010 Cache地址111 内存地址各段涵义分析: tag, 标记 行号,Cache行地址 块内地址,字地址 内存地址 块地址,块号 二、直接映射方式 基本原理 利用行号选择相应行; 把行标记与CPU访问地址进行比较,相同表示命中,访问Cache; 如果没有命中,访问内存,并将相应块写入Cache 二、直接映射方式 特点 优点:比较电路少m倍线路,所以硬件实现简单,Cache地址为主存块地址的低若干位,不需变换。 缺点:冲突概率高(易抖动,频繁交换) 应用场合 适合大容量Cache 思考两种映射方式的优缺点 全相联检索成本高 直接映射换出换入机制有缺陷 能否折中? 三、组相联映射方式 前两者的组合 Cache分组,组间采用直接映射方式,组内采用全相联的映射方式 Cache分组U,组内容量V,即U组V行 映射方法(一对多) q= j mod u 主存第j块内容拷贝到Cache的q组中的某行 地址变换 设主存内块地址x,看是不是在cache中,先计算组号y= x mod u,则在y组中查找 三、组相联映射方式 分析:比全相联容易实现,冲突低 v=1,则为直接相联映射方式 u=1,则为全相联映射方式 v的取值一般比较小, 一般是2的幂,称之为v路组相联cache. 三、组相联映射方式 转换公式 主存地址长度=(s+w)位寻址单元数=2s+w个字块大小=行大小=2w个字主存的块数=2s每组的行数=vcache的行数=uv 组号的位数为d 2d=u (注意本行勘误)标记大小=(s-d)位 三、组相联映射方式 U组V行 三、组相联映射方式00000001000000110101100101011010 010110 00 11 000000 10 01 00 10 11 000000 010110 000000 010110 块号 蓝色:组号;绿色:字地址 三、组相联映射方式 内存地址各段涵义分析: 播放三种映射方式下的演示动画 tag , 标记 组号,Cache组地址 块内地址, 字地址 内存地址 块地址,块号 * * 3.6 Cache存储器 1、Cache功能 什么是Cache? 介于CPU和主存M2之间的小容量存储器 存取速度比主存快 一般采用高速的SRAM构成。 为什么要引入Cache? 解决CPU和主存之间的速度不匹配问题 Cache引入的前提: 即空间局部性、时间局部性。 3.6 Cache存储器 CPU和主存之间的速度差别很大时可采用两级或多级Cache系统 早期的一级Cache在CPU内,二级在主板上 现在的CPU内带L1 Cache和L2 Cache 全由硬件调度,对用户透明 3.6 Cache存储器 3.6 Cache存储器 2.cache基本原理 CPU与Cache之间的数据传送是以字为单位 主存与Cache之间的数据传送是以块为单位 一个块由若干字组成,是定长的。 CPU读主存的一个字时,便把此字的内存地址同时送给Cache和主存,Cache控制逻辑依据地址判断此字是否在Cache中: 若在,此字立即传送给CPU 否不在,则用主存读周期把此字从主存读出送到CPU,与此同时,把含有这个字的整个数据块从主存读出送到cache中。 3.6 Cache存储器 3 . Cache的命中率 从CPU来看,增加一个cache的目的,就是在性能上使主存的平均读出时间尽可能接近cache的读出时间。 为了达到这个目的,在所有的存储器访问中由cache满足CPU需要的部分应占很高的比例,即cache的命中率应接近于1。 由于程序访问的局部性,实现这个目标是可能的。 3.6 Cache存储器 在一个程序执行期间,设Nc表示cache完成存取的总次数,Nm表示主存完成存取的总次数,h定义为命中率,则有 h = Nc /(Nc+Nm) 若tc表示命中时的cache访问时间,tm表示未命中时的主存访问时间,1-h表示未命中率,则cache/主存系统的平均访问时间ta为: ta=h * tc +(1-h) * tm 3.6 Cache存储器 推导过程:ta=h * tc +(1-h) * tm ta = (t
文档评论(0)