• 逻辑地址空间和物理地址空间

    CPU 生成的地址通常称为逻辑地址,而内存单元看到的地址(即加载到内存地址寄存器的地址)通常称为物理地址

    编译时和加载时的地址绑定方法生成相同的逻辑地址和物理地址。然而,执行时的地址绑定方案生成不同的逻辑地址和物理地址。在这种情况下,我们通常称逻辑地址为虚拟地址,本节我们对逻辑地址和虚拟地址不加区别。

    由程序所生成的所有逻辑地址的集合称为逻辑地址空间,这些逻辑地址对应的所有物理地址的集合称为物理地址空间。因此,对于执行时地址绑定方案,逻辑地址空间与物理地址空间是不同的。

    从虚拟地址到物理地址的运行时映射是由内存管理单元(MMU)的硬件设备来完成。基地址寄存器这里称为重定位寄存器。用户进程所生成的地址在送交内存之前,都将加上重定位寄存器的值(如图 1 所示)。


    使用重定位寄存器的动态重定位
    图 1 使用重定位寄存器的动态重定位

更多...

加载中...