- 1、本文档共53页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第3章存储器层次结构-5精要
3.6.2 主存与cache的地址映射 解:块大小=行大小=24字节 w=4 主存寻址单元数=2s+w=1M=220 s+w=20位,s=16位 主存的块数2s=216 ,标记大小s=16位 内存格式 内存地址(F0010)16=(1111 0000 0000 0001 0000)2 对应的标记=1111 0000 0000 0001 字号=0000 标记s 字号w 16位 4位 计算机组成原理 * 3.6.3 cache的替换策略 1、LFU(最不经常使用):最近一段时间内访问次数最少的行换出: 每行设置计数器,初值为0; 被访问的行计数器每次增1; 替换计数器值最小的行; 不能反映近期cache的访问情况; 2、LRU(近期最少使用):近期长久未被访问的行换出: 每行设置计数器,初值为0; 访问某行时,其行计数器清零,而其它行的计数器增1; 替换计数器值最大的行; 反映近期cache的访问情况,体现程序局部性原理; 符合cache的工作原理; 计算机组成原理 * 3.6.3 cache的替换策略 3、FIFO(先进先出):命不中采用先进先出策略,命中单元重新位于队首 优点:容易实现 缺点:没有依据程序访问的局部性原理,可能会把经常使用的程序块(循环程序)替换掉。 4、随机替换:从特定的行位置中随机地选取一行换出即可 优点:硬件上容易实现,且速度也比前两种策略快。 缺点:没有体现程序局部性原理,随意换出的数据很可能马上又要使用,从而降低命中率和cache工作效率。但这个不足随着cache容量增大而减小。 计算机组成原理 * 3.6.4 cache的写操作策略 (1)写回法:写cache命中时,只修改cache内容,不立即写入主存,当此行被换出时才写回主存。每行设修改位(脏位),修改cache时,该位置1。当该行需换出时,对其修改位进行判断,决定写回主存或简单舍掉 优点:减少访问主存次数; 缺点:主存与cache存在不一致性隐患; (2)全写法(写直达法):写cache命中时,Cache与内存同时写入; 优点:cache不必设修改位,不存在不一致性问题; 缺点:访存次数多,降低cache功效; (3)写一次法:前两种方法的结合;与写回法基本一致,不同的是第一次写Cache命中时采用全写法; 计算机组成原理 * 小 结 计算机组成原理 * 某一 主存块 只能固定 映射到 某一 缓存块 直接 全相联 组相联 某一 主存块 能 映射到 任一 缓存块 某一 主存块 只能 映射到 某一 缓存 组 中的 任一块 不灵活 成本高 练 习 1.??在主存与Cache间建立地址映射,有几种不同的地址映射方式,没有的是 。 A 全相联映射方式 B直接映射方式 C 组相联映射方式 D随机映射方式 2. 某计算机的Cache共有16块,采用2路组相联映射方式(即每组2块)。每个主存块大小32字节,按字节编址。主存129号单元所在主存块应装入到的Cache组号是 。 A.0 B.2 C.4 D.6 【例】假设主存容量为512KB,cache容量为4KB,每个字块为16个字,每个字为32位。 (1)cache地址有多少位?可容纳多少块? (2)主存地址有多少位?可容纳多少块? (3)在直接映射方式下,主存的第几块映射到cache中的第5块(设起始字块为第1块) (4)画出直接映射方式下的主存地址字段中各段的位数。 【例】假设主存容量为512KB,cache容量为4KB,每个字块为16个字,每个字为32位。 (1)cache地址有多少位?可容纳多少块? 【解】 (1)cache容量为4KB=212B,即cache地址为12位,c+b=12。每个字32位=4B,每个字块为16个字,则每字块16×4B=26B,则每个字块的块内地址为6位,即b=6。c=12-b=6,C=26=64块。 【例】假设主存容量为512KB,cache容量为4KB,每个字块为16个字,每个字为32位。 (2)主存地址有多少位?可容纳多少块? 【解】 (2)主存容量512KB=219B,即主存地址为19位。m=19-b=13。M=213=8192块。 【例】假设主存容量为512KB,cache容量为4KB,每个字块为16个字,每个字为32位。 (3)在直接映射方式下,主存的第几块映射到cache中的第5块(设起始字块为第1块) 【解】(3)i = j mod C i是cache的字块号,j是主存的字块号,
文档评论(0)