星海

2013 · 主观题 · 第 176 题

计算机学科专业基础(408) · 第 176 题

(9 分)某 32 位计算机,CPU 主频为 800MHz,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 分)【评分说明】

① 执行时间采用如下公式计算时,可酌情给分。

执行时间=指令条数×CPI×时钟周期×命中率+访存次数×缺失率×缺失损失

② 计算公式正确但运算结果不正确时,可酌情给分。

在线刷这套题:即时判分、错题本、闪卡复习,不用登录就能练。