CPUから主記憶装置へのアクセスを高速化する技術のひとつです。
CPUから主記憶にデータの転送命令を出した場合、CPUの処理速度に比べ主記憶のアクセス速度は遅いため、CPUに待ち時間が出来てしまいます。
それを解消するため、まず主記憶を複数の独立した区画(これをバンクという)に分割します。
この複数のバンクに対して、CPUは同時に(もしくは短い時間差で)データの転送を要求します。
要求を受けた各バンクそれぞれが同時進行でデータの準備を行うため、1つのメモリからデータを取得するより効率がよくなります。
基本情報技術者試験のまとめ
基本情報技術者試験、資格取得のためのまとめサイト。用語、公式などを分かりやすく掲載。
2010-09-13
2010-09-12
6.CPUからメモリへ -データの書込み命令-
プログラムを実行する際に、一時的に主記憶からキャッシュメモリにデータを格納し、CPUがデータにアクセスする時間を高速化させるという話を前述しました。
では逆に、「ファイル1に”ABC...”を書込みなさい。」といったかたちで、データの追加や更新などの命令がある場合はどうでしょうか?
まず、CPUはキャッシュ上のデータを更新します。
しかし、キャッシュ上のデータは複製でしかないので、いずれ主記憶に更新したデータを送る必要があります。この書込む方式には、ライトスルー方式とライトバック方式があります。
ライトスルー方式:CPUから書込み命令が出された際、キャッシュメモリと主記憶の両方へ更新したデータを送る方式。
ライトバック方式:CPUから書込み命令が出された際、まずはキャッシュメモリのデータを更新します。そして、主記憶に更新したデータを送るタイミングは、キャッシュ上のデータが追い出されるタイミングとなります。
つまり、キャッシュ上でプログラムAの更新データを格納していたが、CPUは次にプログラムBのデータを処理するため、キャッシュの領域を空けなくてはいけなくなります。
この時、プログラムAのキャッシュ上の更新データを主記憶へ戻すことになります。
では逆に、「ファイル1に”ABC...”を書込みなさい。」といったかたちで、データの追加や更新などの命令がある場合はどうでしょうか?
まず、CPUはキャッシュ上のデータを更新します。
しかし、キャッシュ上のデータは複製でしかないので、いずれ主記憶に更新したデータを送る必要があります。この書込む方式には、ライトスルー方式とライトバック方式があります。
ライトスルー方式:CPUから書込み命令が出された際、キャッシュメモリと主記憶の両方へ更新したデータを送る方式。
ライトバック方式:CPUから書込み命令が出された際、まずはキャッシュメモリのデータを更新します。そして、主記憶に更新したデータを送るタイミングは、キャッシュ上のデータが追い出されるタイミングとなります。
つまり、キャッシュ上でプログラムAの更新データを格納していたが、CPUは次にプログラムBのデータを処理するため、キャッシュの領域を空けなくてはいけなくなります。
この時、プログラムAのキャッシュ上の更新データを主記憶へ戻すことになります。
ラベル:
コンピュータの構成要素
5.CPUの命令実行方式
・主記憶にロード※1されたプログラムは、CPUによって実行されます。その際の命令実行順は基本的に
「命令フェッチ※2」→「命令の解読」→「命令実行」となります。
・この命令1つ1つの事をステージと言います。上記の場合、3ステージで命令を処理しています。
・さて、ここで主記憶上にロードされたプログラムを処理する際に以下の5ステージを処理しなければならないとします。
【命令を処理する方式】
・逐次制御方式:命令を1つずつ処理する方式
・パイプライン制御:複数の命令をずらしながら処理をする方式
※1 補助記憶などに格納された、データやプログラムを主記憶装置に読み込む事。
※2 CPUがメインメモリーから命令を読み出す動作の事。
「命令フェッチ※2」→「命令の解読」→「命令実行」となります。
・この命令1つ1つの事をステージと言います。上記の場合、3ステージで命令を処理しています。
・さて、ここで主記憶上にロードされたプログラムを処理する際に以下の5ステージを処理しなければならないとします。
各ステージ | 処理内容 |
---|---|
IF(Instruction Fetch) | 命令フェッチ |
ID(Instruction Decode) | 命令の解読 |
AC(Address calculation) | 実効アドレスの計算(メモリ上にあるデータのアドレスを計算する) |
OR(Operand Read) | オペランドの読み込み(データやデータのある場所を示すオペランド部の読み込み) |
Ex(Execution) | 命令の実行 |
【命令を処理する方式】
・逐次制御方式:命令を1つずつ処理する方式
・パイプライン制御:複数の命令をずらしながら処理をする方式
※1 補助記憶などに格納された、データやプログラムを主記憶装置に読み込む事。
※2 CPUがメインメモリーから命令を読み出す動作の事。
ラベル:
コンピュータの構成要素
4.CPUの記憶階層とキャッシュメモリ
・レジスタ:CPU内にある記憶装置。CPUがプログラム実行中、頻繁に使うデータはレジスタへ格納されます。
・キャッシュメモリ:CPUと主記憶の仲介役を務め、CPUがこれから必要としているデータをキャッシュに格納することで、アクセスの高速化を図ります。
1次キャッシュ…CPUに内蔵されています。別名、内部キャッシュや、L1と呼びます。
2次キャッシュ…CPUと主記憶の間に配置されています。別名、外部キャッシュや、L2と呼びます。
・主記憶装置:別名、メインメモリと呼びます。高速なアクセスが可能で、CPUが直接読み書きすることのできる記憶装置です。 主記憶装置は、プログラムを実行する際に必要となるデータだけを格納します。プログラムが終了し、データが必要なくなるとそのデータを解放します。また、電源が供給されなくなると、データが消滅するという特徴(発揮性メモリと呼ぶ)があります。
・ディスクキャッシュ:主記憶装置と補助記憶装置の間に配置されています。補助記憶装置よりも高速にアクセスができ、主記憶と補助記憶のアクセス速度の差を埋めます。
・補助記憶装置:アクセス速度は低速ですが、安価で大容量というメリットがあります。
また、電源が供給されなくてもデータを保持(不発揮性と呼ぶ)します。
・キャッシュメモリ:CPUと主記憶の仲介役を務め、CPUがこれから必要としているデータをキャッシュに格納することで、アクセスの高速化を図ります。
1次キャッシュ…CPUに内蔵されています。別名、内部キャッシュや、L1と呼びます。
2次キャッシュ…CPUと主記憶の間に配置されています。別名、外部キャッシュや、L2と呼びます。
・主記憶装置:別名、メインメモリと呼びます。高速なアクセスが可能で、CPUが直接読み書きすることのできる記憶装置です。 主記憶装置は、プログラムを実行する際に必要となるデータだけを格納します。プログラムが終了し、データが必要なくなるとそのデータを解放します。また、電源が供給されなくなると、データが消滅するという特徴(発揮性メモリと呼ぶ)があります。
・ディスクキャッシュ:主記憶装置と補助記憶装置の間に配置されています。補助記憶装置よりも高速にアクセスができ、主記憶と補助記憶のアクセス速度の差を埋めます。
・補助記憶装置:アクセス速度は低速ですが、安価で大容量というメリットがあります。
また、電源が供給されなくてもデータを保持(不発揮性と呼ぶ)します。
ラベル:
コンピュータの構成要素
3.クロック周波数とクロック信号の単位
・1秒間に出力されるクロック信号の数をクロック周波数と言います。
・また、クロック信号が出力される時間間隔を1クロックサイクル時間と言います。
ここで、クロック周波数と1クロックサイクル時間の関係を押さえておきましょう。
クロック周波数が高いほど、CPUが命令を実行する速度が高くなります。
すなわち、性能が高いCPUと言えます。
・また、クロック信号が出力される時間間隔を1クロックサイクル時間と言います。
ここで、クロック周波数と1クロックサイクル時間の関係を押さえておきましょう。
クロック周波数 | クロック信号数(1秒当り) | 1クロックサイクル時間 |
---|---|---|
1Hz | 1=100 | 1秒=1s |
1kHz | 1=103 | 10-3秒=1ms |
1MHz | 1=106 | 10-6秒=1μs |
1GHz | 1=109 | 10-9秒=1ns |
クロック周波数が高いほど、CPUが命令を実行する速度が高くなります。
すなわち、性能が高いCPUと言えます。
ラベル:
コンピュータの構成要素
登録:
投稿 (Atom)