计算机组成原理--cache存储器的直接映像与变换

上传人:wt****50 文档编号:37985689 上传时间:2018-04-25 格式:DOC 页数:3 大小:120KB
返回 下载 相关 举报
计算机组成原理--cache存储器的直接映像与变换_第1页
第1页 / 共3页
计算机组成原理--cache存储器的直接映像与变换_第2页
第2页 / 共3页
计算机组成原理--cache存储器的直接映像与变换_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

《计算机组成原理--cache存储器的直接映像与变换》由会员分享,可在线阅读,更多相关《计算机组成原理--cache存储器的直接映像与变换(3页珍藏版)》请在金锄头文库上搜索。

1、Cache 存储器的直接映像与变换1.直接映像的映像规则在 Cache 存储器的直接映像中,Cache 的块内地址就是主存地址格式中的块内地址,Cache 的块号等于主存块号除以 Cache 的总块数取余。设主存块号为 i,Cache 块号为j,Cache 块号的位数为 x 位,则主存的第 i 块将映像到 Cache 中第 i mod 2x 块的位置,即 j=i mod 2x。2.直接映像的主存地址、Cache 地址格式及设计方法主存地址格式为:Cache 地址格式为:Cache 地址格式中各段位数的确定方法:在采用 Cache 存储器的存储系统中,主存采用多模块交叉存储器,块的大小等于多模块

2、交叉存储器中模块的个数,即若主存有 2x 个模块,则块内地址占 x 位;块号的位数等于 Cache 地址的位数减去块内地址的位数。主存地址格式中各段位数的确定方法:主存地址格式中块号的位数、块内地址的位数分别与 Cache 地址格式中块号的位数、块内地址的位数相同;区号的位数等于主存地址的位数减去块号的位数和块内地址的位数。3.举例例 1有一个“Cache-主存”存储层次。主存共分为 8 个块(07),Cache 为 4 个块(03),采用直接映象方式。(1)对于如下主存块地址流:1,2,4,1,3,7,0,1,2,5,4,6,4,7,2,如主存中内容一开始未装入 Cache,请列出每次访问后

3、 Cache 中各块的分配情况;(2)对于(1),指出既发生块失效又发生块争用的时刻;(3)对于(1),求出此期间的 Cache 命中率。解:(1)随时间变化 Cache 中各块的使用状况如下图所示:(2)既发生块失效又发生块争用的时刻依次为 6、7、10、11、12、15。(3)Cache 的命中率为 0.33。例 2某计算机的主存地址空间大小为 256MB,按字节编址,指令 Cache 和数据 Cache分离,均有 8 个 Cache 行,每个 Cache 行大小为 64B。数据 Cache 采用直接映射方式,现有两个功能相同的程序 A 和 B,其伪代码如下所示:假定 int 类型数据用

4、32 位补码表示,程序编译时 i、j、sum 均分配在寄存器中,数组 a按行优先方式存放,其首地址为 320(十进制数)。请回答下列问题,要求说明理由或给出计算过程。(1)若不考虑 Cache 一致性维护和替换算法的控制位,则数据 Cache 的总容量为多少?(2)数组元素 a031和 a11各自所在的主存块对应的 Cache 行号分别是多少(Cache行号从 0 开始)?(3)程序 A 和 B 的数据访问命中率各是多少?哪个程序的执行时间更短?解:(1)主存地址格式为:Cache 地址格式为:若不考虑用于 Cache 一致性维护和替换算法的控制位,则每个 Cache 行要占用 1 位的有效位

5、、19 位的行标记和 64B(即 512 位)的数据位,因此数据 Cache 的总容量为:8(1+19+512)=4256 位=532 字节(2)数组元素 a031所在的主存块对应的 Cache 行号为:(320(025631)4)div 26)mod 236数组元素 a11所在的主存块对应的 Cache 行号为:(320(12561)4)div 26)mod 235(3)每个 Cache 行包含 16 个用 32 位补码表示的整数并且按行优先方式存放,对于程序A,每次 Cache 不命中时,将从主存中调入一个 Cache 行,由于数组元素按行的方式访问,则接下来对该 Cache 行中的其它 15 个元素的访问均会命中,所有 Cache 行均会被依次访问 16 个元素且不重复(一次不命中),则访问数据 Cache 的命中率为:15/1693.75。对于程序 B,每次 Cache 不命中时,将从主存中调入一个 Cache 行,由于数组元素按列的方式访问,依次访问的元素均位于不同的 Cache 行中,由于 Cache 空间只能存放 8个 Cache 行,每次访问 Cache 不命中时调入 Cache 的行还没等到第二次访问就被其它的Cache 行所替换,则访问数据 Cache 的命中率为:0。由于执行程序 A 时 Cache 的命中率高,因此程序 A 的执行时间更短。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号