引き続き、基本情報技術者試験の勉強中です!
何度読み返してもよく分からないのが
CPUの性の指標ってページ
「人に伝えると、理解が深まり記憶も定着する」と聞いたので
このページで授業をしてみます
CPUとは
コンピュータの頭脳(計算などをしてくれる装置)のこと
クロックとは
コンピュータ内で色々な装置が同タイミングで動くようチクタク繰り返される信号
クロック周波数とは
1秒間あたりの信号(クロック)が繰り返される回数
単位はHz(ヘルツ)
よく使うのは、MHz(メガヘルツ) または GHz(ギガヘルツ)
メガは1,000,000 、ギガは1,000,000,000と表すので、
300MHzは、1秒間の信号の数は300×1,000,000回ということ!
「クロック周波数300MHzのCPUがあり…」というように表現する
クロック周波数(1秒あたりのクロック数)の求め方
1秒に4クロック(チクタク繰り返す回数)の場合、
4クロック÷1秒=4 4Hz(1秒間に4回)
1クロックあたりの秒数の求め方
反対に、1秒÷4クロック=0.25秒 となり、1クロックあたりの秒数となる。
これをクロックサイクル時間という。
命令とCPI
コンピュータは動け~、計算しろ~と命令を出していて、
「●1命令の実行時間(平均命令実行時間)は?」という問題が出題される。
1命令に必要なクロック数の単位を『CPI』で表す。
例)3命令に必要なクロック数は3CPI
「クロック周波数300MHzのCPUで3CPIだった場合…」というように表現する
●1命令の実行時間(平均命令実行時間)は?
問 あるCPUが500MHzで8CPIの場合、このCPUの平均命令実行時間を求めよ。
手順① 500MHzを頭で整理
1秒あたりのクロック数は500,000,000回だ!
手順② 1クロックあたりの秒数を求める
1秒÷500,000,000=1秒÷(500×100,000)
=0.002×1,000,000の1 =0.000000002 =2ナノ秒
※「1000分の1」がミリ、 「1,000,000分の1」がマイクロ、 「1,000,000,000分の1」がナノ
手順③ 1命令の実行時間を求める
1命令の実行時間=1クロックあたりの秒数×CPI(1命令に必要なクロック数)
平均命令実行時間=2ナノ秒 × 8CPI =16ナノ秒
答え 16ナノ秒
命令とMIPS
コンピュータは動け~、計算しろ~と命令を出していて、
「●1秒で何個の命令が実行できるか?」という問題が出題される。
1秒で実行できる命令数の単位を『MIPS』で表す。
※常に大きい数字になるので百万単位で表す。
例)5MIPS=500万 1秒で実行できるのは500万個の命令
100MIPS=10000万 1秒で実行できるのは10000万個の命令
●1秒で何個の命令が実行できるか?
問 平均命令実行時間が20ナノ秒のCPUがある。
このCPUの性能は何MIPSか求めよ。
手順① 20ナノ秒を頭を整理
平均命令実行時間(1命令にかかる時間)が20ナノ秒
手順② 何を求めたいか頭を整理
求めたいMIPS値は1秒で何個の命令が実行できるか。
1秒を20ナノ秒(1命令にかかる時間)で割ると、1秒で何個命令を実行できるか分かる。
1÷20ナノ秒
手順③ 単位をそろえる
20ナノ秒を秒に直すより、1秒をナノ秒にそろえた方がやりやすい
1秒=1000,000,000ナノ秒
1000,000,000ナノ秒÷20ナノ秒(1命令にかかる時間)=500,000,000(1秒で命令実行できる数)
=(MIPSは百万単位で表すので)50MIPS
答え 50MIPS
問題に挑戦①
問 50MIPSの処理を行う装置の平均命令実行時間はいくらになるか。
50MIPS=50,000,000(1秒での命令実行数)
求める平均命令実行時間とは1命令にかかる時間
1秒÷50,000,000=1秒÷(50×1,000,000)=0,02×1,000,000の1=0,00000002=20ナノ秒
答え 20ナノ秒
問題に挑戦②
問 1GHzのクロックで動作するCPUがある。
このCPUは1命令を0,8クロックで実行できる。
このCPUは1秒間に平均何万命令を実行できるか。
1GHzは1,000,000,000回(1秒あたりのクロック数)
1命令で0,8クロックなら、1クロックあたりの命令数は?
1÷0.8=1,25(1クロックあたり1,25命令)
1秒間の平均命令数=1秒あたりのクロック数×1クロックあたりの命令数
=1,000,000,000 × 1,25 =1,250,000,000
1,250,000,000=125,000万
答え 125,000万
問題に挑戦③
問 クロック周波数が700MHzで7CPIのCPUの性能は何MIPSか。
1秒あたりのクロック数が700MHz=700,000,000Hz
1命令実行あたりのクロック数は7
求めるのはMIPS(1秒で実行できる命令数)なので、
1秒で実行できる命令数=1秒あたりのクロック数÷1命令実行あたりのクロック数
=700,000,000÷7
=100,000,000=MIPSは百万で表すので100MIPS
答え 100MIPS
まとめ
●キロ「1000倍」メガ「1,000,000倍」ギガ「1,000,000,000倍」
●ミリ「1000分の1」 マイクロ「1,000,000分の1」ナノ 「1,000,000,000分の1」
●Hz…1秒あたりのクロック数の単位
●CPI…1命令に必要なクロック数の単位
●MIPS…1秒で実行できる命令数の単位(百万単位)
読んでくれてありがとう