🏷️ 知识点:读突发总线传输事务
某 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。总线宽度为 32 位,故总线带宽为 4B×200MHz=800MB/s 或 4B/5ns=800MB/s。
2)Cache 块大小是 32B,因此 Cache 缺失时需要一个读突发传送总线事务读取一个主存块。
3)本题重点考查多体交叉存储器的 并行性。一次 读突发总线传输事务 包括一次地址传送和 32B 数据传送:用 1 个总线时钟周期传输地址;每隔 40ns/8=5ns 启动一个体工作(各进行 1 次存取),第一个体读数据花费 40ns,之后数据存取与数据传输重叠;用 8 个总线时钟周期传输数据。读突发传送总线事务时间:5ns+40s+8×5ns=85ns
4)BP 的 CPU 执行时间包括 Cache 命中时的指令执行时间和 Cache 缺失时带来的额外开销。命中时的指令执行时间:100×4×1.25ns=500ns。指令执行过程中 Cache 缺失时的额外开销:1.2×100×5%×85ns=510ns。BP 的 CPU 执行时间:500ns+510ns=1010ns。【评分说明】① 执行时间采用如下公式计算时,可酌情给分。执行时间=指令条数×CPI×时钟周期×命中率 + 访存次数×缺失率×缺失损失② 计算公式正确但运算结果不正确时,可酌情给分。