计算题:高速缓存Cache与主存的地址变换表

在这里插入图片描述

原文链接:https://blog.csdn.net/ITManCaogh/article/details/123919330

题目:

已知某高速缓存Cache采用组相联映像方式,即组间直接映像,组内全相联映像。假设主存容量为4096块,每块256字节,高速缓存包含32块,分8组,每组4块。高速缓存的地址变换表应包含( )个存储单元;每个存储单元应能存放( )位二进制数;每次参与比较的是( )个存储单元。
A.8  B.16  C.32  D.48
A.7  B.8    C.9    D.10
A.4  B.8    C.12  D.16

第一空,高速缓存的地址变换表中存储单元的数量,对应高速缓存的块数。题干中“高速缓存包含32块”,故地址变换表共包含32个存储单元。

第一空选C。

第二空,这32个存储单元中每个存储单元中应能存放的二进制数的位数,这个计算相对复杂一些。

我们得先搞清楚存储单元的组成。每个存储单元中存放的内容由两部分组成,一部分是主存块所在的区号,一部分是主存块在组内的位置。即第几块主存放在了组内的第几块的位置。

4096块主存被分散映像到32块高速缓存中,即主存被分拆成为4096/32 = 128块。用二进制表示,2^7 = 128,即用 7 个二进制数可以表示。

在组内的位置,和每组有几块有关,题干中提到“高速缓存包含32块,分8组,每组4块”,所以我们主要关注 4 可以用几位二进制表示即可,这个比较简单,2^2 = 4,故组内位置用 2 个二进制数可以表示。

将两个数字相加, 7 + 2 = 9。

第二空选 C。

第三空相对比较简单,由题干可知,“组间直接映像”,故每次比较只在一个组内进行,“每组4块”,故每次参与比较的是4个存储单元。

第三空选 A。

本题中关键信息:采用组相联映射,主存4096块高速缓存32块每组4块。对于计算来说,其余的都是冗余信息。

再来看一题

某计算机主存按字节编址,主存与高速缓存Cache的地址变换采用组相联映像方式(即组内全相联,组间直接映像)。高速缓存为2组,每组包含4块,块的大小为512B,主存容量为1MB。构成高速缓存的地址变换表相联存储器容量为( )。每次参与比较的存储单元为( )个。
A. 4*10bit
B. 8*10bit
C. 4*11bit
D. 8*11bit

A.1  B.2  C.4  D.8

这道题目与上一题类似,但稍有不同。

首先第二空我们可以快速给出答案,每次参与比较的存储单元的个数 = 高速缓存每组中的块数 = 4块,选 C。

第一空是个新问题,求的是地址变换表相联存储器的容量。

我们先计算一个存储单元对应的地址变换表的大小。

本题我们知道主存的容量为1MB,但是不知道主存的块数。注意,块的大小为512B,由此可以得出主存的块数为:1MB/512B = 1024KB/0.5KB = 2048 块。

高速缓存的块数也需要计算,2组*4块 = 8块。

这样2048块主存被切分成8份,每份:2048/8 = 256份。

256 = 2^8,即需要8bit来存储。

另外,每组分成4块,在组内的位置需要2bit来存储。

针对每个存储单元,需要的地址变换表的存储容量为:8bit + 2bit = 10bit。

这样的存储单元一共有8个。

因此,总的地址变换表的容量为 8*10bit。

注意:

第二题中要求计算的地址变换表的总的容量,第一题中要求计算的是每个存储单元的地址变换表的容量,是有差别的。

他们之间的数量关系:

地址变换表的总容量 = 每个存储单元的地址变换表容量 * 高速缓存的总块数

每个存储单元的地址变换表的容量 = “主存块数/高速缓存的总块数”的二进制位数 + “高速缓存每组的块数”的二进制位数

这类题目不管怎么变换出题方式,把以上内容梳理清楚,基本上就差不多能应付了。

这类题目有点弯弯绕,记录下来,希望对大家能有所帮助。

原文链接:[https://blog.csdn.net/ITManCaogh/article/details/123919330](https://blog.csdn.net/ITManCaogh/article/details/123919330)
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值