第三種電気主任技術者試験 / 令和5年度第三種電気主任技術者上期試験 機械科目 / 各問題解説 / 問182
certification-simodake-work

令和5年度第三種電気主任技術者上期試験 機械科目 問182 解説 問18(b) 問18

設問図

問18(b) 問 18 図は,マイクロプロセッサの動作クロックを示す。マイクロプロセッサは動作クロックと呼ばれるパルス信号に同期して処理を行う。また,マイクロプロセッサが 1 命令当たりに使用する平均クロック数を CPI と呼ぶ。1 クロックの周期 T[s] をサイクルタイム,1 秒当たりの動作クロック数 f を動作周波数と呼ぶ。信号レベルH 信号レベルL 1 2 3 f-1 f T[s] 1s 次の(a)及び(b)の問に答えよ。(b) CPI=4 のマイクロプロセッサにおいて,1 命令当たりの平均実行時間が 0.02 μs であった。このマイクロプロセッサの動作周波数[MHz]として,正しいものを次の(1)~(5)のうちから一つ選べ。

  1. (1) 0.012 5
  2. (2) 0.2
  3. (3) 12.5
  4. (4) 200 ✓ 正答
  5. (5) 12 500

解説

CPIと1命令当たりの平均実行時間の関係から動作周波数を求め、単位をMHzに変換すると200MHzとなり、選択肢(4)が正しいです。

マイクロプロセッサの処理時間に関する概念と関係

マイクロプロセッサは、動作クロックと呼ばれる規則的なパルス信号に同期して内部で処理を実行します。この処理時間を理解するために、いくつかの重要な概念とそれらの関係を把握することが必要です。

  1. サイクルタイム TT と動作周波数 ff

    • サイクルタイム TT: 1つの動作クロックパルスが完了するまでの時間周期 [s] です。問題文の図では、TT[s]と示されている1クロック分の区間がこれに該当します。
    • 動作周波数 ff: 1秒間に発生する動作クロックパルスの数 [Hz] です。Hz(ヘルツ)は1秒あたりの回数を意味します。
    • これらの間には、サイクルタイム TT は動作周波数 ff の逆数であるという関係が成り立ちます。 T=1fT = \frac{1}{f} または f=1Tf = \frac{1}{T}
  2. CPI (Cycles Per Instruction)

    • CPI: 1つの命令(Instruction)を実行するのに必要な平均クロック数を示します。マイクロプロセッサは、命令の種類や処理内容によって、必要なクロック数が異なりますが、CPIはそれらを平均した値です。
  3. 1命令当たりの平均実行時間 EE

    • マイクロプロセッサが1つの命令を実行するのにかかる平均時間です。
    • この時間は、1命令に必要な平均クロック数(CPI)と、1クロックにかかる時間(サイクルタイム TT)の積として計算できます。 E=CPI×TE = CPI \times T
    • 上記の「サイクルタイム TT と動作周波数 ff」の関係 T=1fT = \frac{1}{f} をこの式に代入すると、次の関係式が得られます。 E=CPIfE = \frac{CPI}{f}
    • この式は、1命令当たりの平均実行時間 EE は、CPIを動作周波数 ff で割ったものであることを示しており、この問題の判断の基礎となります。

設問の条件による動作周波数の計算

CPIと1命令当たりの平均実行時間の関係式 E=CPIfE = \frac{CPI}{f} を利用して、設問の条件から動作周波数を求めます。

  1. 動作周波数を求めるための式を整理します。 関係式 E=CPIfE = \frac{CPI}{f} を、求める値である動作周波数 ff について解くと、f=CPIEf = \frac{CPI}{E} となります。この式を用いて計算を進めます。

  2. 与えられた数値を SI 単位系(国際単位系)に変換します。

    • CPI は無次元の数で CPI=4CPI = 4 です。
    • 1命令当たりの平均実行時間は 0.02μs0.02 \mu s です。μs\mu s(マイクロ秒)は 10−610^{-6} 秒を意味するため、秒に変換すると 0.02×10−6s0.02 \times 10^{-6} s となります。
  3. 関係式に数値を代入し、動作周波数 ff を計算します。 f=40.02×10−6sf = \frac{4}{0.02 \times 10^{-6} s} f=42×10−8sf = \frac{4}{2 \times 10^{-8} s} f=2×108Hzf = 2 \times 10^{8} Hz

  4. 計算で得られた動作周波数 ff の単位を Hz から MHz に変換します。 問題では動作周波数を [MHz] で求めるよう指示されています。1MHz=106Hz1 MHz = 10^{6} Hz なので、Hz を MHz に変換するには 10610^{6} で割ります。 f=2×108Hz106Hz/MHz=2×102MHz=200MHzf = \frac{2 \times 10^{8} Hz}{10^{6} Hz/MHz} = 2 \times 10^{2} MHz = 200 MHz

この計算結果から、マイクロプロセッサの動作周波数は200 MHzとなり、選択肢(4)と一致します。

マイクロプロセッサの動作クロックの波形と、それが繰り返される時間、さらに命令の実行に必要なクロック数を重ねてみると、処理の速さが見えてきます。

参考リンク

学習の記録にははてなブックマーク!

気づいたこと・覚えたことをコメントにメモしよう