💡 今回解く問題
【問題】
表に示す命令ミックスによるコンピュータの処理性能は,何 MIPS か。
命令種別 実行速度(ナノ秒) 出現頻度(%) 整数演算命令 10 50 移動命令 40 30 分岐命令 40 20 【選択肢】
ア:11 / イ:25 / ウ:40 / エ:90
正解は 「ウ(40)」 です。
なぜそうなるのか、2つのステップで解き明かしていきましょう。
🔑 まず押さえる基本知識
計算に入る前に、言葉の意味をサラッと整理しておきます。
1. MIPS(Million Instructions Per Second)
- 1秒間に何百万回 の命令を実行できるかを表すCPUの性能指標。
- 「MはMillionのM、Instructionsは命令、Perは〜につき、Secondは秒」
2. 1秒 = 10億ナノ秒(1,000,000,000 ns)
- ナノ秒(ns)は $10^{-9}$ 秒(10億分の1秒)。
🛠 解答への2ステップ
問題攻略の手順はたったの2ステップです!
ステップ1:1命令あたりの「平均実行時間」を出す
命令によってかかる時間が違うため、出現頻度(確率)を掛けて平均を出します。
- 整数演算命令: $10 \text{ ナノ秒} \times 0.50 (50%) = 5 \text{ ナノ秒}$
- 移動命令: $40 \text{ ナノ秒} \times 0.30 (30%) = 12 \text{ ナノ秒}$
- 分岐命令: $40 \text{ ナノ秒} \times 0.20 (20%) = 8 \text{ ナノ秒}$
これらを全部足します。
$$5 + 12 + 8 = \mathbf{25 \text{ ナノ秒}}$$
このコンピュータは、「平均すると 1命令あたり 25ナノ秒 かかる」 ことがわかりました。
ステップ2:1秒間(10億ナノ秒)に何回実行できるか計算する
「1秒」という時間の枠の中に、「25ナノ秒の命令」が何回入るかを割り算で確かめます。
1秒を「10億ナノ秒」に変換して単位をそろえて計算してみます。
$$\text{1秒間の実行回数} = \frac{1,000,000,000 \text{ ナノ秒(1秒)}}{25 \text{ ナノ秒(1命令)}} = 40,000,000 \text{ 回}$$
1秒間に 4,000万回 処理できます。
MIPSは「100万回(Million)」を単位とするので、100万で割ると…
$$40,000,000 \div 1,000,000 = \mathbf{40 \text{ MIPS}}$$
答えは 「ウ」 になります。
⚡️ 秒で解ける!裏技ショートカット
試験中に「0を9個も書くのがめんどくさい!」という方は、以下のショートカット公式を覚えましょう。
$$\text{MIPS} = \frac{1,000}{\text{平均実行時間(ナノ秒)}}$$
この「1,000」は、「10億(1秒)」を「100万(MIPSの単位)」で割った結果です。
今回の問題にあてはめると:
$$\frac{1,000}{25 \text{(平均ナノ秒)}} = \mathbf{40 \text{ MIPS}}$$
一瞬で解けますね!
📝 まとめ
- ステップ1: 時間 $\times$ 頻度 で「平均ナノ秒」を出す
- ステップ2: 「10億 $\div$ 平均ナノ秒」で回数を出し、MIPS(100万単位)に直す
- 裏技: 「$1,000 \div$ 平均ナノ秒」を一発で計算する!
