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