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と言えます。
ラベル:
コンピュータの構成要素
2.CPUの性能計算式
・1クロックサイクル時間= 1(秒)÷ クロック周波数
・命令実行時間= 1クロックサイクル時間 × クロックサイクル数
・1秒間に実行できる命令数= 1(秒)÷ 平均命令実行時間
単位:MIPS(106)
・平均命令実行時間=1(秒)÷ 1秒間に実行できる命令数
・実効アクセス時間= TC × p + TM ×(1-p)
TC:キャッシュメモリのアクセス時間
TM:主記憶のアクセス時間
p:ヒット率
・命令実行時間= 1クロックサイクル時間 × クロックサイクル数
・1秒間に実行できる命令数= 1(秒)÷ 平均命令実行時間
単位:MIPS(106)
・平均命令実行時間=1(秒)÷ 1秒間に実行できる命令数
・実効アクセス時間= TC × p + TM ×(1-p)
TC:キャッシュメモリのアクセス時間
TM:主記憶のアクセス時間
p:ヒット率
ラベル:
コンピュータの構成要素
1.コンピュータの構成要素

基本的なコンピュータの構成は、入力装置、記憶装置、制御装置、演算装置、出力装置の5機能になっています。
入力装置:データを入力するための装置。キーボードやマウス、マイクなど。
記憶装置:プログラムやデータを記憶する装置。
制御装置:プログラムを解読し、各装置を制御するための装置。
演算装置:データの加減乗除などの演算を行うための装置。
出力装置:コンピュータが処理したデータを出力するための装置。モニターやスピーカー、プリンタなど。
また記憶装置には、主記憶装置と補助記憶装置に分けられます。
そして、制御装置と演算装置はCPU(Central Processing Unit)にまとめられます。
ラベル:
コンピュータの構成要素
登録:
投稿 (Atom)