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