論理アドレスと物理アドレスの大きな違いは、論理アドレスがCPUが生成する仮想アドレスであるのに対して、物理アドレスはメインメモリ内の実際の位置であることです。
コンピュータの構成要素のひとつにメモリがあります。
メモリの各位置は、それを一意に識別するためのアドレスで構成されています。
アドレスには、論理アドレスと物理アドレスの2種類があります。
論理アドレスはCPUが生成する。
これは仮想アドレスとも呼ばれる。
物理アドレスは、メモリユニット内の実際のアドレスです。
二次記憶装置からプログラムにアクセスすると、より多くの時間を消費します。
そのため、プログラムは実行時に主記憶装置にロードされる。
そして、CPUが生成した論理アドレスを物理アドレスに変換して、主記憶装置内の対応する場所を探します。
論理アドレスとは
プログラムは、命令の集合体です。
初期状態では2次メモリに格納されています。
CPUは2次メモリにアクセスするのに時間がかかる。
そのため、プログラムは実行時にメインメモリに配置されます。
命令を実行するとき、CPUは論理アドレスを生成する。
これは仮想アドレスとも呼ばれる。
このアドレスが物理アドレスに変換され、メインメモリ内の命令にアクセスする。
プログラムに対して生成されたすべての論理アドレスの集合を論理アドレス空間と呼ぶ。
Physical Addressとは
物理アドレスとは、メインメモリ上のアドレスのことです。
プログラムに属するすべての物理アドレスを物理アドレス空間と呼びます。
論理アドレスは、実行時に物理アドレスに変換される。
以下の画像で説明します。
100個の命令からなるコンピュータ・プログラムがあるとする。
このプログラムはメインメモリの500番地にロードされます。
100個目の命令は600番地にある。
再配置レジスタは、CPUの特殊なレジスタです。
このレジスタは、プログラムが実行のためにメインメモリにロードされるときのベースアドレスを保持します。
このシナリオでは、再配置レジスタの値は500です。
CPUは論理アドレス60を生成する。
この論理アドレスと再配置アドレスの値を足すと、物理アドレスになります。
これはメインメモリ内の実際の位置です。
したがって、560が対応する物理アドレスとなる。
論理アドレスと物理アドレスの違い
定義
論理アドレスとは、実行中のプログラムから見て、メモリセルや記憶素子などのアイテムが存在するように見えるアドレスのことです。
物理アドレスは、主記憶装置内の特定の記憶セルにアクセスするための記憶アドレスです。
アドレス空間
論理アドレス空間は、プログラムに生成されるすべての論理アドレスの集合であり、物理アドレス空間は、プログラムのすべての物理アドレスの集合です。
使用方法
論理アドレスは、物理アドレスの取得に役立ちます。
物理アドレスは、メイン・メモリ内の位置を特定するのに役立ちます。
発生方法
CPUが論理アドレスを生成し、再配置レジスタと論理アドレスの組み合わせで物理アドレスが得られます。
結論
論理アドレスと物理アドレスの違いは、論理アドレスがCPUによって生成される仮想アドレスであるのに対し、物理アドレスはメインメモリ内の実際の位置であることです。
CPUは、論理アドレスまたは仮想アドレスを生成します。
この論理アドレスと再配置レジスタの値の合計が、メインメモリ内の対応する物理アドレスになります。