トップ > スキル : IT系ラーニング > コンピュータシステム > コンピュータ構成要素

IT系ラーニング_コンピュータシステム

アドレス指定方式

即値アドレス指定

アドレス部にアドレスではなく、データの値そのものをもちます。

命令部のアドレスの値がそのまま「演算データの値」として入っている方式。メモリを参照しないため演算処理は高速ですが、サイズの大きいデータは扱えないなどの限界があります。

即値アドレス指定

アドレス指定方式

アドレス部にアドレスをもちます。

直接(絶対)アドレス指定

アドレス部に有効アドレスをもちます。
特徴:アドレス部のビット数によりメモリ容量に限界があります。

アドレス部に入っている値がそのまま有効アドレスとなる方式。アドレス部のビット数で、最大アドレスが決まってしまい、メモリの容量が制限されます。プログラムをロードしたときの先頭番地が変わるとデータの番地も変わるので使えないなど、現実には使いにくい方式です。

直接(絶対)アドレス指定

間接アドレス指定

有効アドレスが入っているメモリのアドレスを指定します。
特徴:メモリを2回アクセスします。

アドレス部で指定したデータには、実際のデータがあるアドレスが入っている方式。直接アドレス方式に比べ、大容量メモリに対応できますが、メモリを2回以上アクセスするため、実行速度が遅いという欠点があります。

間接アドレス指定

修飾アドレス指定

有効アドレス=アドレス部の値+指定レジスタの値

ベース(基底)アドレス指定
ベースレジスタの値を加算
特徴:プログラムの再配置可能

ベースアドレスの値とアドレス部の値を加算したものを有効アドレスとする方式。
先頭アドレスをベースレジスタに設定しておき、アドレス部に先頭を0番地としたときのデータのアドレス(変位)を入れておきます。そして、命令実行時に、ベースレジスタの値にアドレス部の値を加えた有効アドレスを用いて処理を行います。メモリのどこでもプログラムをロードして実行できます。(再配置可能)
ベース(基底)アドレス指定
(自己)相対アドレス指定
プログラムカウンタの値を加算
特徴:ベースアドレス指定とほぼ同じ

プログラムカウンタの値と、オペランド部で指定した値の合計が目的の番地となる指定方式。
プログラムカウンタは、次に実行する命令の番地を記憶しているレジスタです。ベースレジスタや汎用レジスタを持たないコンピュータで、再配置可能なプログラムを作成する場合に利用されます。
(自己)相対アドレス指定
インデックス(指標)アドレス指定
インデクスレジスタの値を加算
特徴:連続データに同一命令を行うのに利用

アドレス部の値にインデックスレジスタの値を加えて有効アドレスとする方式。
命令語は、命令部とアドレス部のほかにインデックス部からなり、インデックス部でレジスタ番号を指定します。配列や構造体(レコード)など、メモリ上で連続しているデータに同一処理を、繰り返し実行する場合、インデックスレジスタの値あるいはアドレス部の値を増やすだけで処理できます。
インデックス(指標)アドレス指定

割り込み

プロセッサは、決められた命令を順番に実行していくように作られています。プロセッサが処理を行っている最中でも、特定の信号があると処理を中断して別の処理を行わせる機能が実装されました。このプロセッサの機能を「割り込み」と呼びます。

ハードウエア(外部)割り込み
キーボードやディスク・ドライブなどの周辺機器から起こる割り込みです。
割り込みというと大抵ハードウエア割り込みを指します。
ソフトウエア(内部)割り込み
プログラムの動作によりプロセッサ内部で発生する割り込みです。
例えば、計算中に0で除算するような場合、いかなる数値も0で割ることはできないので、プロセッサはゼロ除算例外という例外を発生させ、現在実行中の処理を中断してエラー処理を行います。

どちらも、現在実行中の処理を一時中断して別の処理を行うという点では同じです。

【アドレス指定方式】