假设构成 CPU 的各功能部件的时间延迟如表6.21所示,试分别计算单周期、多周期 MIPS 处理器的最小时钟周期和最大时钟频率。假设某 MIPS 程序包含1000亿条指令,其中 lw 、 sw 、 beq 、 R 型算术逻辑运算、 I 型算术逻辑运算指令比例分别为10%、10%、10%、50%、20%,试分别计算该程序在单总线结构处理器、单周期 MIPS 、多周期 MIPS 处理器上的 CPI 值及执行时间。 运算器 ALU延迟90ps, 寄存器延迟20ps, 存储器读延迟150ps,寄存器堆读延迟90ps,多路选择器延迟20ps,寄存器建立时间延迟10ps。
时间: 2023-12-28 07:20:25 浏览: 320
首先,根据各功能部件的时间延迟,可以计算出单周期MIPS处理器的最小时钟周期和最大时钟频率,以及多周期MIPS处理器的最小时钟周期和最大时钟频率。
单周期MIPS处理器的最小时钟周期为各功能部件的最大时间延迟之和,即:
```
t_min = max(ALU延迟, 寄存器延迟, 存储器读延迟, 寄存器堆读延迟, 多路选择器延迟, 寄存器建立时间延迟)
= 150ps
```
最大时钟频率为时钟周期的倒数,即:
```
f_max = 1 / t_min
≈ 6.67 GHz
```
多周期MIPS处理器的最小时钟周期为各功能部件的最大时间延迟之和,加上控制逻辑的执行时间,即:
```
t_min = max(ALU延迟, 寄存器延迟, 存储器读延迟, 寄存器堆读延迟, 多路选择器延迟, 寄存器建立时间延迟) + 控制逻辑执行时间
= 150ps + 20ps
= 170ps
```
最大时钟频率为时钟周期的倒数,即:
```
f_max = 1 / t_min
≈ 5.88 GHz
```
接下来,根据题目给定的指令比例,可以计算出在单总线结构处理器、单周期MIPS处理器和多周期MIPS处理器上执行该程序的CPI值和执行时间。
在单总线结构处理器上执行该程序的CPI值为:
```
CPI = (lw x 1 + sw x 1 + beq x 1 + R型算术逻辑运算 x 1 + I型算术逻辑运算 x 1) / 10
= 5 / 10
= 0.5
```
执行时间为:
```
Execution time = CPI x Instruction count x Clock cycle time
= 0.5 x 100000000000 / 1000000000
= 50s
```
因此,在单总线结构处理器上执行该程序的CPI值为0.5,执行时间为50秒。
在单周期MIPS处理器上执行该程序的CPI值为:
```
CPI = (lw x 5 + sw x 5 + beq x 5 + R型算术逻辑运算 x 1 + I型算术逻辑运算 x 2) / 10
= 3.1
```
执行时间为:
```
Execution time = CPI x Instruction count x Clock cycle time
= 3.1 x 100000000000 / 1000000000
= 310s
```
因此,在单周期MIPS处理器上执行该程序的CPI值为3.1,执行时间为310秒。
在多周期MIPS处理器上执行该程序的CPI值为:
```
CPI = (lw x 5 + sw x 5 + beq x 5 + R型算术逻辑运算 x 4 + I型算术逻辑运算 x 5) / 10
= 4.8
```
执行时间为:
```
Execution time = CPI x Instruction count x Clock cycle time
= 4.8 x 100000000000 / 1000000000
= 480s
```
因此,在多周期MIPS处理器上执行该程序的CPI值为4.8,执行时间为480秒。
阅读全文