CPU 生成的地址通常稱為
邏輯地址,而記憶體單元看到的地址(即載入到記憶體地址暫存器的地址)通常稱為
實體地址。
編譯時和載入時的地址系結方法生成相同的邏輯地址和實體地址。然而,執行時的地址系結方案生成不同的邏輯地址和實體地址。在這種情況下,我們通常稱邏輯地址為
虛擬地址,本節我們對邏輯地址和虛擬地址不加區別。
由程式所生成的所有邏輯地址的集合稱為
邏輯地址空間,這些邏輯地址對應的所有實體地址的集合稱為
實體地址空間。因此,對於執行時地址系結方案,邏輯地址空間與實體地址空間是不同的。
從虛擬地址到實體地址的執行時對映是由記憶體管理單元(MMU)的硬體裝置來完成。基地址暫存器這裡稱為
重定位暫存器。使用者進程所生成的地址在送交記憶體之前,都將加上重定位暫存器的值(如圖 1 所示)。
圖 1 使用重定位暫存器的動態重定位