存储系统部分题型

cache容量计算

由此题做出总结,首先我们根据题目已给条件可以得到:

块内大小:1*32/8=4B,即2的2次方,占2位

由于是全相联映射,所以剩余32-2=30位 ,回写法:一位脏位,随即替换策略:不需要位 ,1位有效位,故一共30+2=32位再加上一个块的大小也就是32位=64位

cache一共有(32k*32/8)/(1*32/8)=32k行

所以至少应有64*32k=2048k

直接映射方式:包括标记,cache和块内地址

(1)块内大小32B,即2的5次方

(2)cache:32KB/32B=1KB=10位

32-5-10=17 回写策略:1位脏位, 一位有效位 17+2=19位

一个块大小32*8=256位 256+19=275位

故一行cache275位

8路组相联映射:包括标记,cache组号和块内地址

(1)块内地址:64B占6位

(2)cache组号:32KB/64B/8 占6位

(3)标记:32-6-6=20位 +回写1位脏位+1位有效位为22位

22+64*8=534位

两种cache数据区都是32KB,都有2的9次方行

故一种需要534*2的9次方

那么两种就需要534*2的10次方即534K

直接映射:标记,cache+块内

(1)块内:4*32/8=16B 4位

(2)cache:4K*32/8 / 16B=1K 10位

(3)标记:32-10-4=18位 +1+1=20位

4*32+20=148

cache一共有1k行

148*1k=148k


总结如下:在计算cache容量时,

(1)首先观察它使用的是哪种存储方式,全相联,组相联或是直接映射

(2)之后计算出该种存储方式标记位的字号

(3)根据题目中的写入方式和替换策略算出总共的占位:注意不要忘了有效位,记为A

(4)A+一个块的位数就是一个cache行的位数

(5)乘cache行数即可


寻址的单元个数

这种题主要时判断它是按照什么来编址,字,半字还是字节。再利用容量除以编址方式的字节数即可

比如本题按照字编址,那就是64位,8B 128MB/8B=16M


芯片的最小位置类型题目

交叉编址

交叉编址就是低位编址

(1)首先计算出64K*8位的存储器一共需要4个16K*8位的存储芯片 0 1 2 3

(2)根据地址BFFFH的最小两位11确定其是在第3个芯片上即0003H

同样,交叉编址就是低位编址,并且每次存储周期只能读取一行的数据

有题目可以直接已知4个芯片 0 1 2 3

题目按照字节编址,double类型的变量需要8个字节

由804001AH的最低两位10,可以得到他在第三个芯片上,也就是2号,连着8个字节都是变量的存储空间

即 x x 1 2

3 4 5 6

7 8 x x

所以一共要3个存储周期

总结如下,如果是交叉编址,那么就是给我们一个信息低位编址,我们就要现根据题目给出的主存地址找到他的起始位置,然后再进行之后的操作

其余类型

根据题目所给条件得出一共需要4组芯片,依次计算出每组芯片的起始位置和最终位置,确定题目所求在哪个区间内,我们就可以得出该地址所在芯片的最大最小地址了


磁盘

存取时间

存取时间包括寻道时间+延迟时间+传输时间

延迟时间:60/7200/2=0.004167s=4.167ms

寻道时间:8

传输时间:60/7200/1000=0.0000083s=0.0083ms

相加:12.167+0.0083=12.2ms

存取时间包括寻道时间+延迟时间+传输时间

延迟:0.2ms

寻道:6ms

读取时间:4KB/20MB=0.2ms

传输时间:60/10000/2=3ms

6+3+0.2+0.2=9.4ms


  • 18
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值