アドレス指定方式 直接アドレス指定方式 基本情報技術者試験対策
コンピューターの構成
アドレス指定方式
アドレス指定方式は、実際の命令がオペランド部を使って、どのようにメモリをアクセスするかを分類したものです。
では、順番に見ていきましょう。
即値アドレス方式

即値アドレス方式は、オペランド部の値をメモリへのアドレス指定として使用するのではなく、直接演算対象とする方式です。
例えば図のように、オペランド部の値でメモリの番地を指定するのではなく、1000という値を、汎用レジスタGR0(ジーアールゼロ)に書き込んでいます。
直接アドレス指定方式

直接アドレス指定方式では、オペランド部の値でメモリのアドレスを指定して、そのアドレスに記録されている情報を処理します。
図では、オペランド部に0002が記録されていて、メモリの0002番地(ゼロぜロゼロ二)を指定しています。
メモリの0002番地に記録されているデータ2000を汎用レジスタに書き込んでいます。
このように最終的にアクセスされるメモリの何番地を、実効アドレスあるいは有効アドレスといいます。
この図の例では、実効アドレスは0002番地となります。
間接アドレス方式

間接アドレス方式では、オペランド部に記録されているメモリアドレスの中に、対象となる実効アドレスが記載されているアドレス方式です。
では、図を見てみましょう、命令レジスタのオペランド部はメモリの0001番地を示しています。
メモリの0001番地には、1000というデータが記録されています。
間接アドレス指定方式では、この1000番地を実効アドレスとします。
その為、最終的には1000番地に記憶されている、100をデータとして、汎用レジスタに書き込んでいます。
インデックスアドレス方式

インデックスアドレス方式では、オペランド部の値とインデックスレジスタの値を足し算して、その値を実効アドレスとします。
図では、オペランド部の値1000とインデックスレジスタの値2を足して、1002番地を実効アドレスとします。
このインデックスレジスタは、メモリの連続したアドレスをアクセスよる際によく使用されます。
ベースアドレス方式

このベースアドレス方式では、インデックスアドレス方式と同様に、オペランド部の値とベースレジスタの値を足して、実効アドレスとします。
ベースレジスタ方式の特徴は、プログラムがメモリ上にロードされて実行されるときに、このベースレジスタをプログラムのロードされた先頭アドレスに設定します。
こうすることで、プログラムはメモリ上のどこにロードされても、このベースレジスタの値を変えれば、プログラムを変えなくてもプログラムが実行される方式です。
実際にアプリケーションのプログラムは、必要に応じてロードされるため、主記憶のどこにロードされるかは、その時になってみないと分かりません。
図では、アプリケーションのプログラムが、9000番地にロードされています。
その為、ベースレジスタには、9000が設定されています。
この時の実効アドレスは、オペランド部の2と、ベースレジスタの9000を足して、9002番地となります。
このようにプログラムの先頭番地を設定することで、どこにプログラムがロードされても、命令レジスタのオペランド部の値を変更することなく、処理が可能です。
プログラムは、オペラント部の値を順番に変更するだけで、プログラムを順番に実行できます。
続きはこちら ↓↓↓
基本情報技術者試験 動画 おすすめ
基本情報技術者試験対策 Cloud Notes とは
基本情報技術者試験の対策ができます。
動画なので、いつでもどこでも隙間時間に学ぶことができます。
勉強中の方に補助として活用して頂けると幸いです。
コンテンツの利用について
こちらをお読みください