设某计算机的 CPU 主频为 80MHz,CPI 为 4,并且平均每条指令访存 1.5 次,主存与 Cache之间交 换的块大小为 16B,Cache 的命中率为 99%,存储器总线宽度为 32 位。请回答下列问题。 (1)该计算机的 MIPS 数是多少?平均每秒 Cache 缺失的次数是多少?在不考虑 DMA 传送的情况下。主存带宽至 少达到多少才能满足 CPU 的访存要求? (2)假定在 Cache 缺失的情况下访问主存时,存在 0.0005%的缺页率,则 CPU 平均每秒产生多少次缺页异常?若 页面大小为 4KB,每次缺页都需要访问磁盘,访问磁盘时 DMA 传送采用周期挪用方式,磁盘 I/O 接口的数据缓冲 寄存器为 32 位,则磁盘 I/O 接口平均每秒发出的 DMA 请求次数至少是多少? (3)CPU 和 DMA 控制器同时要求使用存储器总线时,哪个优先级更高?为什么? (4)为了提高性能,主存采用 4 体低位交叉存储器,工作时每 1/4 周期启动一个存储体,每个存储体传送周期为 50ns,则主存能提供的最大带宽是多少?
时间: 2024-03-14 10:48:52 浏览: 314
(1)该计算机的 MIPS 数是多少?平均每秒 Cache 缺失的次数是多少?在不考虑 DMA 传送的情况下。主存带宽至少达到多少才能满足 CPU 的访存要求?
MIPS(Million Instructions Per Second)= CPU 主频 / CPI = 80MHz / 4 = 20 MIPS
平均每秒 Cache 缺失的次数 = MIPS × 平均每条指令访存次数 × (1 - Cache 命中率)= 20 × 1.5 × (1 - 0.99) = 0.3
假设主存带宽为 x,由于平均每条指令访存 1.5 次,因此主存每秒需要传输的字节数为:
20 × 80 × 10^6 / 8 × 1.5 = 200MB
又因为每次传输的块大小为 16B,因此主存每秒需要传输的块数为:
200MB / 16B = 12.5M
所以主存带宽至少应为:
12.5M × 16B × 8 / s = 2Gbps
(2)假定在 Cache 缺失的情况下访问主存时,存在 0.0005%的缺页率,则 CPU 平均每秒产生多少次缺页异常?若 页面大小为 4KB,每次缺页都需要访问磁盘,访问磁盘时 DMA 传送采用周期挪用方式,磁盘 I/O 接口的数据缓冲 寄存器为 32 位,则磁盘 I/O 接口平均每秒发出的 DMA 请求次数至少是多少?
CPU 平均每秒产生的缺页异常次数 = MIPS × 平均每条指令访存次数 × 缺页率 = 20 × 1.5 × 0.0005% = 0.00015
每次缺页需要访问磁盘,页面大小为 4KB,因此每次访问磁盘需要传输 4KB 的数据。磁盘 I/O 接口的数据缓冲寄存器为 32 位,因此每次 DMA 传输可以传输 32 位的数据。传输 4KB 的数据需要传输 1024 个块,每个块的大小为 32 位,因此每次传输需要 1024 × 32 位 = 32KB 的带宽。DMA 采用周期挪用方式,每次传输需要占用总线一个周期,因此磁盘 I/O 接口平均每秒发出的 DMA 请求次数至少应为:
磁盘 I/O 接口带宽 = CPU 平均每秒产生的缺页异常次数 × 每次传输的带宽 = 0.00015 × 32KB = 4.8B/s
因此磁盘 I/O 接口平均每秒发出的 DMA 请求次数至少应为:
4.8B/s / 32B/次 = 0.15次/s
(3)CPU 和 DMA 控制器同时要求使用存储器总线时,哪个优先级更高?为什么?
DMA 控制器的优先级更高。因为 DMA 控制器的任务是进行数据传输,如果 DMA 控制器无法及时访问存储器总线,则数据传输会受到影响,导致系统性能下降或数据错误。而 CPU 的任务是执行指令,如果 CPU 无法及时访问存储器总线,则只会导致指令执行速度变慢,而不会对系统稳定性造成影响。
(4)为了提高性能,主存采用 4 体低位交叉存储器,工作时每 1/4 周期启动一个存储体,每个存储体传送周期为 50ns,则主存能提供的最大带宽是多少?
主存采用 4 体低位交叉存储器,每个存储体传送周期为 50ns,因此每个周期可以传输一个存储体的数据。因为主存采用低位交叉存储器,每个存储体的容量为总容量的 1/4,因此每个存储体传输的数据大小为总数据大小的 1/4。主存总带宽为:
4 × (1 / 4) × (1 / 50ns) × 数据位宽 = 数据位宽 / 50ns = 640MB/s
其中数据位宽为存储器总线宽度为 32 位,因此主存总带宽为 640MB/s。
阅读全文