首页 > 试题广场 >

回答下面问题

[问答题]

某 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 执行时间是多少?

(3) 完成一个Cache块读访问的过程:传送地址;启动第一个存储体,每隔5ns(一个 总线周期)启动一个存储体,正好间隔40ns(一个存储周期)可以再次启动第一个 存储体;流水线工作,每5ns(一个总线周期)完成32位的数据传送。因此: 存储总线完成一次读突发包括送地址(1个总线周期),存储器数据准备(一个存 储周期)和数据传送(8个总线周期), 共5ns+40ns+8*5ns = 85ns。
发表于 2019-04-13 14:04:21 回复(7)

(4)8体交叉存储方式BP 的 CPU 执行时间包括 Cache 命中时的指令执行时间和 Cache 缺失时带来的额外开销。命中时的指令执行时间:100×4×1.25 ns×95% = 475 ns。指令执行过程中Cache 缺失时的额外开销:1.2×100×5%×85 ns = 510 ns。BP 的 CPU 执行时间:475 ns+510 ns=985 ns

编辑于 2019-06-24 19:29:45 回复(10)

(1) CPU 的时钟周期为: 1/800 MHz = 1.25 ns。
总线的时钟周期为:1/200 MHz = 5 ns。
总线带宽为:4 B×200 MHz = 800 MB/s 或 4 B/5 ns = 800 MB/s。 
(2) Cache 块大小是 32 B,因此 Cache 缺失时需要一个读突发传送总线事务读取一个主存块。
(3) 85 ns。
(4) BP 的 CPU 执行时间包括 Cache 命中时的指令执行时间和 Cache 缺失时带来的额外开销。命中时的指令执行时间: 100×4×1.25 ns = 500 ns。指令执行过程中 Cache 缺失时的额外开销: 1.2×100×5%×85 ns = 510 ns。 BP 的 CPU 执行时间: 500 ns+510 ns=1 010ns。

发表于 2016-11-19 16:59:27 回复(0)