【题目】
43.(9分)某32位计算机,CPU主频为800 MHz,Cache命中时的CPI为4,Cache块大小为32字节;主存采用8体交叉存储方式,每个体的存储字长为32位、存储周期为40 ns;存储器总线宽度为32位,总线时钟频率为200 MHz,支持突发传送总线事务。每次读突发传送总线事务的过程包括:送首地址和命令、存储器准备数据、传送数据。每次突发传送32字节,传送地址或32位数据均需要一个总线时钟周期。请回答下列问题,要求给出理由或计算过程。
(1)CPU和总线的时钟周期各为多少?总线的带宽(即最大数据传输率)为多少?
(2)Cache缺失时,需要用几个读突发传送总线事务来完成一个主存块的读取?
(3)存储器总线完成一次读突发传送总线事务所需的时间是多少?
(4)若程序BP执行过程中,共执行了100条指令,平均每条指令需进行1.2次访存,Cache缺失率为5%,不考虑替换等开销,则BP的CPU执行时间是多少?
【答案】:
(1)CPU的时钟周期为:1/800 MHz=1.25 ns。(1分)
总线的时钟周期为:1/200 MHz=5 ns。(1分)
总线带宽为:4 B×200 MHz=800 MB/s或4 B/5 ns=800 MB/s。(1分)
(2)Cache块大小是32 B,因此Cache缺失时需要一个读突发传送总线事务读取一个主存块。(1分)
(3)一次读突发传送总线事务包括一次地址传送和32 B数据传送:用1个总线时钟周期传输地址;每隔40 ns/8=5 ns启动一个体工作(各进行1次存取),第一个体读数据花费40 ns,之后数据存取与数据传输重叠;用8个总线时钟周期传输数据。读突发传送总线事务时间:5
ns+40 ns+8×5 ns=85 ns。(2分)
(4)BP的CPU执行时间包括Cache命中时的指令执行时间和Cache缺失时带来的额外开销。命中时的指令执行时间:100×4×1.25 ns=500 ns。(1分)指令执行过程中Cache缺失时的额
外开销:1.2×100×5%×85 ns=510 ns。BP的CPU执行时间:500 ns+510 ns=1 010 ns。(2分)