问答题
假定某计算机的CPU主频为80MHz,CPI为4,并且平均每条指令访存1.5次,主存与Cache之间交换的块大小为16B,Cache的命中率为99%,存储器总线宽度为32位。请回答下列问题:(1)该计算机的MIPS数是多小?平均每秒Cache缺失的次数是多少?在不考虑DMA传送的情况下,主存带宽至少达到多少才能满足CPU的访存要求?(2)假定在Cache缺失的情况下访问主存时,存在0.0005%的缺页率,则CPU平均每秒产生多少次缺页异常?若页面大小为4KB,每次缺页都需要访问磁盘,访问磁盘时DMA传送采用周期挪用方式,磁盘I/O接口的数据缓冲寄存器为32位,则磁盘I/O接口平均每秒发出的:DMA请求次数至少是多少?(3)CPU和DMA控制器同时要求使用存储器总线时,哪个优先级更高?为什么?(4)为了提高性能,主存采用4体交叉存储模式,工作时每1/4周期启动一个体。若每个体的存储周期为50ns,则该主存能提供的最大带宽是多少?
【正确答案】正确答案:(1)该计算机的MIPS数是多小?平均每秒Cache缺失的次数是多少?在不考虑DMA传送的情况下,主存带宽至少达到多少才能满足CPU的访存要求? 每条指令的执行时间=4/(80×10
6
);故单位时间执行的指令条数:80×10
6
/4/10
6
=20MIPS。 平均每秒Cache缺失的次数=1.5×1%/(4/(80×10
6
))=3×10
5
,主存带宽=16×3×10
5
=1.2×10
6
B/s=4.8MB/s。 (2)假定在Cache缺失的情况下访问主存时,存在0.0005%的缺页率,则CPU平均每秒产生多少次缺页异常?若页面大小为4KB,每次缺页都需要访问磁盘,访问磁盘时DMA传送采用周期挪用方式,磁I/O接口的数据缓冲寄存器为32位,则磁盘I/O接口平均每秒发出的DMA请求次数至少是多少? CPU平均每秒产生缺页异常的次数=3×10
5
×0.0005%=1.5。每页数据从磁盘传输至主存的DMA次数=4KB/4=1K次。 磁盘I/O接口平均每秒发出的DMA请求次数=1k×1.5=1.5×1024=1536。 (3)CPU和DMA控制器同时要求使用存储器总线时,哪个优先级更高?为什么? CPU和DMA控制器同时要求使用存储器总线时,DMA控制器优先级更高,因磁盘在高速运转过程中,如果不及时响应DMA请求,有可能造成数据丢失。而CPU延迟仅仅会降低CPU运行速度,不会造成灾难性后果。 (4)为了提高性能,主存采用4体交叉存储模式,工作时每1/4周期启动一个体。若每个体的存储周期为50ns,则该主存能提供的最大带宽是多少? 在连续不断地访问交叉存储体的情况下,该主存能达到最大带宽。 故连续读出4个字的信息总量:g=4字节×4=16字节。 连续读出4个字所需时间为50ns,故带宽=16/(50×10
-9
)=3.2×10
8
=320MB/s。
【答案解析】