假定某计算机的CPU主频为80 MHz,CPI为4,并且平均每条指令访存1.5

假定某计算机的CPU主频为80 MHz,CPI为4,并且平均每条指令访存1.5次,主存与Cache之间交换的块大小为16B,Cache的命中率为99%,存储器总线宽度为32位。请回答下列问题。

(1)该计算机的MIPS数是多少?平均每秒Cache缺失的次数是多少?在不考虑DMA传送的情况下,主存带宽至少达到多少才能满足CPU的访存要求?

分析:计算机的MIPS,也就是一秒执行了多少百万条指令; CPU主频为80MHz:也就是1s有80M个时钟周期;
CPI:也就是一条指令要4个时钟周期; 所以80M个时钟周期,可以执行80M/4=20M条指令;
20M=20x10^6;
MIPS=20;

cache缺失的次数:
因为cache的命中率是99%,所以未命中率就是1%,即需要访存的概率就是1%;因为一条指令需要访存1.5次,所以在每一个1.5,即里面有1%的概率是没有命中的。因为一共有20M条指令,所以一共为命中的次数,也就是cache缺失,要去访问主存的次数为:
20M*(1.5*1%)=0.3M次;

带宽:
主存什么时候需要传输数据,也就是cache不命中的时候,就需要从主存调块进入cache。由于未命中的次数是0.3M次,也就是说要调块的次数一共是0.3M。因为cache和主存数据交换的基本单位是块,而块的大小为16B,所以一秒一共要调入16B*0.3M=4.8MB/S,才可以满足。

(2)假定在Cache缺失的情况下访问主存时,存在0.0005%的缺页率,则CPU平均每秒产生多少次缺页异常?若页面大小为4KB,每次缺页都需要访问磁盘,访问磁盘时DMA传送采用周期挪用公式,磁盘I/O接口的数据缓冲寄存器为32位,则磁盘I/O接口平均每秒发出的DMA请求次数至少是多少?

分析:

由于cache在一秒内未命中的次数为0.3M次,而在0.3M次里面有0.0005%的缺页的可能性,从而要去外存调入页面。
所以在一秒以内,一共有0.3M*0.0005%=1.5次的缺页异常。

周期挪用:传送完一个数据之后,就会发送一个DMA请求,是一种单字的传送方式。
I/O接口数据缓冲寄存器为32位,只有缓冲器里面写满了数据才会向cpu发出DMA请求。
由于一秒有1.5次缺页异常,所以在这一秒以内一共需要调入1.54KB=6KB页面。因为数据缓冲器是32位,所以6kb的页面一共要放入6kb/32=1.5k次=1.51024=1536次。所以一共需要发送DMA请求1536次。

(3)CPU和DMA控制器同时要求使用存储器总线时,哪个优先级更高?为什么?

CPU的优先级比DMA更高,因为IO的数据容易丢失,所以必须要先处理DMA的数据,防止数据的丢失。

(4)为了提高性能,主存采用4体交叉存储模式,工作时每1/4个存储周期启动一个体。若每个体的存储周期为50 ns,则该主存能提供的最大带宽是多少?

解:由于一个存储周期是50ns,每1/4的存储周期,也就是每50/4就启动一个存储体。由于总线宽度是32位,也就意味着,每隔T/4就可以传送完32位。
32/(T/4)=320MB/s

  • 19
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值