题目
某台主频为400MHz的计算机执行标准测试程序[1],程序中指令类型、执行数量和平均时钟周期[2]数如下: 指令类型 指令执行数量 平均时钟周期数 整数 45000 1 数据传送[3] 75000 2 浮点 8000 4 分支 1500 2 求该计算机的有效CPI、MIPS和程序执行时间。
某台主频为400MHz的计算机执行标准测试程序[1],程序中指令类型、执行数量和平均时钟周期[2]数如下: 指令类型 指令执行数量 平均时钟周期数 整数 45000 1 数据传送[3] 75000 2 浮点 8000 4 分支 1500 2 求该计算机的有效CPI、MIPS和程序执行时间。
题目解答
答案
解:(1)CPI =(45000×1+75000×2+8000×4+1500×2) / 129500=1.776 (2)MIPS速率=f/ CPI =400/1.776 =225.225MIPS (3)程序执行时间= (45000×1+75000×2+8000×4+1500×2)/400=575s
解析
考查要点:本题主要考查计算机性能指标的计算,包括有效CPI、MIPS和程序执行时间。
解题核心思路:
- 有效CPI:通过总时钟周期数除以总指令数计算,需先分别计算各指令类型的总周期数并求和。
- MIPS:利用主频与CPI的关系,公式为
MIPS = 主频(Hz) / CPI。 - 执行时间:总时钟周期数除以主频(需注意单位转换)。
破题关键点:
- 总时钟周期数的正确计算(各指令数量 × 对应周期数求和)。
- 单位转换:主频为MHz时需转换为Hz(如400MHz = 400×10⁶ Hz)。
1. 计算有效CPI
公式:
$\text{CPI} = \frac{\text{总时钟周期数}}{\text{总指令数}}$
步骤:
- 计算各指令类型的总周期数:
- 整数指令:$45000 \times 1 = 45000$
- 数据传送:$75000 \times 2 = 150000$
- 浮点指令:$8000 \times 4 = 32000$
- 分支指令:$1500 \times 2 = 3000$
- 总周期数:$45000 + 150000 + 32000 + 3000 = 230000$
- 计算总指令数:
$45000 + 75000 + 8000 + 1500 = 129500$ - 代入公式:
$\text{CPI} = \frac{230000}{129500} \approx 1.776$
2. 计算MIPS
公式:
$\text{MIPS} = \frac{\text{主频(Hz)}}{\text{CPI}}$
步骤:
- 主频转换:$400\text{MHz} = 400 \times 10^6 \text{Hz}$
- 代入公式:
$\text{MIPS} = \frac{400 \times 10^6}{1.776} \approx 225.225 \text{ MIPS}$
3. 计算程序执行时间
公式:
$\text{执行时间} = \frac{\text{总时钟周期数}}{\text{主频(Hz)}}$
步骤:
- 代入公式:
$\text{执行时间} = \frac{230000}{400 \times 10^6} = 0.000575 \text{秒} = 0.575 \text{秒}$
注意:原题答案中执行时间为575秒,此处存在单位转换错误,正确结果应为0.575秒。