ソフトウェア開発平成14年問19
問 題
クロック周波数が200MHzで動作しているパソコンにおいて、キャッシュのアクセス時間を10ナノ秒、主記憶のアクセス時間を70ナノ秒、
キャッシュのヒット率を90%としたとき、メモリアクセスに必要な
平均クロックサイクルは幾つか。
ア 2
イ 4
ウ 8
エ 16
解 説
難易度 ★解答
イ 4
長 池「よし、今日も行ってみよう。
今日の問題は、メモリアクセスの問題だよ。頻出問題だね。」
ユウト「今日もコンピュータシステムの問題ですね。」
長 池「そうだね。
パソコンの内部の構造を理解しなくても、パソコンは使えるけど、
中でどういうことが行われているか理解できるといいよね。」
ユウト「はい。」
長 池「今日の問題はね。解き方が分かってしまえば、解答を求めるのは
簡単だけど、コンピュータの内部構造に関することだから、
その点もしっかり理解しようね。」
ユウト「はい。」
長 池「ここではキャッシュメモリとメインメモリの両方を考慮する必要が
あるよ。」
ユウト「キャッシュメモリとメインメモリの違いは何ですか?」
長 池「キャッシュメモリとは、メインメモリとレジスタとの速度差を補う
ために用いる、メインメモリよりも高速な記憶装置のことだよ。
メインメモリとは主記憶装置のことだね。」
ユウト「キャッシュメモリは、メインメモリとレジスタの間を取り持つんで
すね。」
長 池「そうだよ。
キャッシュメモリはアクセス速度を速めることができるけど、
その分高価なため、大容量というわけにはいかないんだ。」
ユウト「それじゃ、キャッシュメモリにないデータは、アクセス速度が遅く
なってしまうけど、メインメモリから取得するんことになるんです
ね。」
長 池「そうなんだね。
キャッシュメモリにデータがある確率をヒット率といって、
メモリアクセスの時間を求める場合は、キャッシュとメインメモリの
比率を考慮して計算するんだ。
ちなみに、キャッシュメモリに読みたいデータがない確率のことを
NFPっていうよ。(略:Not Found Probability)
それじゃ、解いてみよう。
10ナノ秒×0.9+70ナノ秒×0.1で求めることができるね。
単位はナノ秒だよ。」
ユウト「ナノですね。10のマイナス9乗ですよね。」
長 池「そうだね。
次に単位時間当たりのクロック数を求めよう。
問題文にパソコンのクロック周波数は200Mhzとあるね。
先ほど求めたアクセス時間に、200メガを掛ければいいね。
16×10^-9×200×10^6=3.2」
ユウト「平均クロックサイクルは3.2と出てきましたね。
選択肢にありませんが。。。」
長 池「情報処理技術者試験の場合、特に指定がなければ1000で計算しても
1024で計算しても、選択肢は1つに絞れるよ。
今回の場合は、1024(2 の10乗)で計算すると、4という値が出る
ようになっていたね。」
◇クロック とは。。。
コンピュータ内の動作のタイミングを取るために、規則正しく出さ
れる信号のことです。
コンピュータ内のすべての動作は、このクロックをもとに開始され
ます。一般的に、クロック数が大きいほど、動作が高速になります。