设某机内存容量为16MB,Cache的容量16KB,每块8个字,每个字32位.设计一个四路组相联映射(即Cache内每组包含4个字块)的Cache组织方式。

题目:
设某机内存容量为16MB,Cache的容量16KB,每块8个字,每个字32位.设计一个四路组相联映射(即Cache内每组包含4个字块)的Cache组织方式。
1)求满足组相联映射的主存地址字段中各字段的位数
2)设Cache的初态为空,CPU从主存第0号单元开始连续访问100个字(主存一次读出一个字),重复此次序读8次,求存储访问的命中率
3)若Cache的速度是主存速度的6倍,求存储系统访问加速比

答案:
(1):
组相联映射主存地址被分成三个部分(由低位到高位):字快内地址、组地址、主存字块标记。

每一块容量8个字,每个字4个字节,包含32个字节,所以字块内地址需要5位。
Cache共有16KB/32B=512块,每组4块,得Cache共有512/4=128组。那么组地址就需要7位。
16MB得主存容量需要24位地址。那么主存字块标记就是24-5-7=12位。
(2):
首先要明确一点:只有在第一遍访问时才会存在未命中情况,那么我们就需要计算第一次有多少个字没有命中。
当出现一次未命中时,主存就会把对应块上的数据传送到Cache中,那么我们只需要计算出第一遍遍历中主存向Cache传送了多少次数据,就可以得到未命中的次数。

100个字有100*4=400B,每一块存储空间为32B,那么100个字就需要400/32=13个块。
那么第一遍便利的时候主存需要向Cache传送13次数据,也就是说有13次未命中。
全部过程访问8*100=800次,未命中13次,则命中率为(800-13)/800=98.375%

(3):
设主存存取周期为6t,那么Cache存取周期就为t。
只有主存需要时间为:800*6t
加上缓存需要时间为:13*6t+787*t
加速比就为:(800*6t)/ (13*6t+787*t) = 5.549

  • 56
    点赞
  • 184
    收藏
    觉得还不错? 一键收藏
  • 9
    评论
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值