网站大量收购独家精品文档,联系QQ:2885784924

陕西师范大学_计算机组成原理_课件ppt_白中英第5版_chp3.ppt

陕西师范大学_计算机组成原理_课件ppt_白中英第5版_chp3.ppt

  1. 1、本文档共194页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
三、组相联映射方式 分析:比全相联容易实现,冲突低 v=1,则为直接相联映射方式 u=1,则为全相联映射方式 v的取值一般比较小, 一般是2的幂,称之为v路组相联cache. 三、组相联映射方式 转换公式 主存地址长度=(s+w)位 寻址单元数=2s+w个字 块大小=行大小=2w个字 主存的块数=2s 每组的行数=v cache的行数=uv 组号的位数为d 2d=u (注意本行勘误) 标记大小=(s-d)位 三、组相联映射方式 U组V行 三、组相联映射方式00000001000000110101100101011010 010110 00 11 000000 10 01 00 10 11 000000 010110 000000 010110 块号 蓝色:组号;绿色:字地址 三、组相联映射方式 内存地址各段涵义分析: 播放三种映射方式下的演示动画 tag , 标记 组号,Cache组地址 块内地址, 字地址 内存地址 块地址,块号 三、组相联映射方式 特点 V路比较器较易实现 块在组中存放有一定灵活性,冲突较少 是全相联映射和直接映射方法的折衷 应用场合 因兼顾了二者优点又尽量避免了缺点,被普遍使用 行号 典型例题 主存 例9: 有一个存储体系,主存容量1MB,字长1B,块大小16B,Cache容量64KB。若Cache采用全相联映射,对内存地址(F0010)H给出相应的标记和字号。 注意勘误:教材上该题目疏漏多,注意纠正。 解: 块大小=行大小=24字节 w=4 主存寻址单元数1M=220 S+w=20位,s=16位 主存的块数216 ,标记大小s=16位 主存格式 主存地址(F0010)16 =(1111 0000 0000 0001 0000)2 对应的标记=1111 0000 0000 0001 字号=0000 标记s 字号w 16位 4位 过渡段 终于说完了为什么要映射及怎样完成映射 有一个仍然未被解决的问题: CPU访问Cache未命中发生后,要把内存中的块放入Cache,多次放入导致cache满了怎么办? 需要新的块覆盖旧的块,即替换。 覆盖掉哪个块?依照什么策略替换? 3.6.3替换策略 LFU(最不经常使用,Least Frequently Used):被访问的行计数器增加1,换值小的行,不能反映近期cache的访问情况, LRU(近期最少使用,Least Recently Used) :被访问的行计数器置0,其他的计数器增加1,换值大的行,符合cache的工作原理 随机替换:随机替换策略实际上是不要什么算法,从特定的行位置中随机地选取一行换出即可。这种策略在硬件上容易实现,且速度也比前两种策略快。缺点是随意换出的数据很可能马上又要使用,从而降低命中率和cache工作效率。但这个不足随着cache容量增大而减小。随机替换策略的功效只是稍逊于前两种策略。 3.6.3替换策略 例子:设cache有1、2、3、4共4个行,a、b、c、d等为主存中的块,访问顺序一次如下:a、b、c、d、b、b、c、c、d、d、a ,下次若要再访问e块。 问,采用LFU和LRU算法替换结果是不是相同? ? LFU(最不经常使用) LRU(近期最少使用) ? 说明 1行 2行 3行 4行 说明 1行 2行 3行 4行 a a进入 1 0 0 0 a进入 0 1 1 1 b b进入 1 1 0 0 b进入 1 0 2 2 c c进入 1 1 1 0 c进入 2 1 0 3 d d进入 1 1 1 1 d进入 3 2 1 0 b 命中 1 2 1 1 命中 4 0 2 1 b 命中 1 3 1 1 命中 5 0 3 2 c 命中 1 3 2 1 命中 6 1 0 3 c 命中 1 3 3 1 命中 7 2 0 4 d 命中 1 3 3 2 命中 8 3 1 0 d 命中 1 3 3 3 命中 9 4 2 0 a 命中 2 3 3 3 命中 0 5 3 1 e 替换a 1 0 0 0 替换b 1 0 4 2 3.6.4写操作策略 现在,弄明白了在Cache行满时,怎样实现新块替换旧块。 再思考: 前面讲cache的作用时多用的例子是cpu从内存读数据的情形 试想,如果是cpu要给内存写数据是什么情况? 3.6.4写操作策略 思考CPU写入内存时,cache命中的情况? 由于cache的内容只是主存部分内容的拷贝,它应当与主存内容保持一致。而CPU对cache的写入更改了cache的内容。如何与主存内容保持一致,可选用三种写操作策略。 3.6.4写操作策略

您可能关注的文档

文档评论(0)

676200 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档