题目
用一台40MHz处理器执行标准测试程序[1],它的混合指令数和相应所需的时钟周期[2]数如下表所示,求这台计算机的有效CPI、MIPS速率和程序的执行时间。指令类型 指令数 时钟周期数-|||-整数运算 45000 1-|||-数据传送 32000 2-|||-浮点 15000 2-|||-控制传送 8000 2
用一台40MHz处理器执行标准测试程序[1],它的混合指令数和相应所需的时钟周期[2]数如下表所示,求这台计算机的有效CPI、MIPS速率和程序的执行时间。

题目解答
答案
解:①CPI=总指令周期[3]数/总指令数
=(45000×1+32000×2+15000×2+8000×2)/(45000+32000+150000+8000)
=1.55
②MIPS=指令条数ƒ/执行时间CPI×106
=40×106/(1.55×106)=25.81
③程序执行时间t=(45000×1+32000×2+15000×2+8000×2)×1/40×106)
=3.875×103、秒
解析
考查要点:本题主要考查计算机性能指标的计算,包括有效CPI、MIPS速率和程序执行时间。需要掌握以下核心概念:
- CPI(每周期指令数):总时钟周期数除以总指令数。
- MIPS(每秒百万指令数):通过时钟频率与CPI计算。
- 执行时间:总时钟周期数与时钟频率的关系。
解题思路:
- 计算总时钟周期数:各指令类型数量与对应时钟周期数的乘积之和。
- 计算总指令数:所有指令数量相加。
- 求CPI:总时钟周期数除以总指令数。
- 求MIPS:时钟频率(MHz)除以CPI。
- 求执行时间:总时钟周期数除以时钟频率(Hz)。
1. 计算总时钟周期数
- 整数运算:$45000 \times 1 = 45000$
- 数据传送:$32000 \times 2 = 64000$
- 浮点运算:$15000 \times 2 = 30000$
- 控制传送:$8000 \times 2 = 16000$
- 总时钟周期数:
$45000 + 64000 + 30000 + 16000 = 155000$
2. 计算总指令数
$45000 + 32000 + 15000 + 8000 = 100000$
3. 求有效CPI
$\text{CPI} = \frac{\text{总时钟周期数}}{\text{总指令数}} = \frac{155000}{100000} = 1.55$
4. 求MIPS速率
$\text{MIPS} = \frac{\text{时钟频率}}{\text{CPI}} = \frac{40 \times 10^6}{1.55} \approx 25.81 \, \text{MIPS}$
5. 求程序执行时间
$\text{执行时间} = \frac{\text{总时钟周期数}}{\text{时钟频率}} = \frac{155000}{40 \times 10^6} = 0.003875 \, \text{秒} = 3.875 \times 10^{-3} \, \text{秒}$