アプリ版:「スタンプのみでお礼する」機能のリリースについて

基本情報技術者試験の午前過去問が分からなくて困っています。
以下にその問題を示します。宜しくお願いします。


表のCPIと構成比率で、3種類の演算命令が合計1000000命令実行されるプログラムを、クロック周波数が1GHzのプロセッサで実行するのに必要な時間は何ミリ秒か?

表。
演算命令     CPI  構成比率(%)
浮動小数点加算  3    20
浮動小数点乗算  5    20
整数演算       2    60


解説では、(3*0.2+5*0.2+2*06)÷10^9*1000000という式になり、
答えは2.8ミリ秒となるらしいです。
なぜ、(3*0.2+5*0.2+2*06)÷10^9*1000000という式がでてくるのか、よくわかりません。一応、CPIやクロック周波数などの用語は理解しているつもりなのですが。

宜しくお願いします。

A 回答 (2件)

一命令あたりのクロック数(CPI: Cycles Per Instruction)が異なる3種類の命令がミックスされているので,一命令あたりの平均クロック数を求める。



 (3クロック/命令 ×0.2)+(5クロック/命令 ×0.2)+(2クロック/命令 ×0.6)
=平均2.8クロック/命令

全命令数は1,000,000命令 = 1M命令,
クロック周波数は1GHz = 1000Mクロック/秒 なので,

 一命令あたりの平均クロック数 × 命令数
 ―――――――――――――――――――
     1秒あたりのクロック数

=(2.8クロック/命令 ×1M命令)/(1000Mクロック/秒)【※】
=2.8/1000 秒
=2.8ミリ秒

上記で【※】マークを付けた式が (3*0.2+5*0.2+2*0.6)÷10^9*1000000 です。
    • good
    • 0

例えば、浮動小数点加算について。


(1)100万命令中20%を占めるというから、20万命令実行される。
(2)1命令3クロック実行にかかるというから、(1)より20万命令実行するのに60万クロックかかる。
(3)動作クロック周波数が1GHzというから、1クロック分は10億分の1秒。60万クロックだと0.6ミリ秒。
以下同様で合計して2.8ミリ秒。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!