前提
自分は工学系の学生で情報技術者に関してはあまり知識はありません。しかし、情報系の資格を取りたいと考えているものです。
疑問点
CPU上のアドレス指定方式である
インデックスアドレス指定方式と相対アドレス指定方式について現在学んでおります。
そこで、以下の2つの疑問点が発生しました。
1.インデックスアドレス指定方式
「アドレス部の値にインデックスレジスタの値を加えて有効アドレスとする方式。
命令語は、命令部とアドレス部のほかにインデックス部からなり、インデックス部でレジスタ番号を指定します。配列や構造体(レコード)など、メモリ上で連続しているデータに同一処理を、繰り返し実行する場合、インデックスレジスタの値あるいはアドレス部の値を増やすだけで処理できます。」と以下の参考にしたWEBサイト上に記載しておりました。
ここで、インデックスレジスタの値をどれだけ増やすかという計算はどのように行なっているのかという疑問でした。(データのアドレスが規則的に並んでいるのでしょうか、どれだけ値を増やせば次のアドレスにアクセスできるのかわかっているのでしょうか)
2.相対アドレス指定方式
上記と同様のWEBサイトで相対アドレス指定方式について以下の記載がありました。
「プログラムカウンタの値と、オペランド部で指定した値の合計が目的の番地となる指定方式。」
ここで、プログラムカウンタのアドレスが有効アドレスより前にあることが前提として語られているように解釈したのですが、その解釈であっているのでしょうか。
つまり、常にプログラムカウンタのアドレスが有効アドレスより前にあるのでしょうか。
(主記憶装置でどのようにプログラムが配置されているのかはわかっていません。この質問は主記憶領域が命令領域、データ領域、スタック領域で構成されていることに関係があると自分勝手に思っています。)
初めての質問で、きちんと説明できているか不安でありますがお手柔らかによろしくお願いいたします。
参考にしたwebサイト
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/05/24 15:20