某单元的逻辑地址是2345H:6789H求其物理地址--对段式管理和页式管理的说明(2)

问题:某单元的逻辑地址是2345H:6789H求其物理地址?????

这个问题是要分情况的,不同架构类型的CPU,其寻址方式是不同的,楼主应该指明其硬件环境。

在Intel架构的CPU中,一个逻辑地址的前半部分表示段值,后半部分表示偏移量。
(1)、如果在80x86实模式下,2345h这个段值是段基址,它的物理地址
PA = 2345h * 10h(16d)+ 6789h = 29bd9h;

(2)、如果是基于80x86保护模式,则要经过逻辑地址到线性地址的转换,再通过线性地址计算出物理地址。此时段寄存器中的段值是段选择子它要在GDT或LDT中查找该段的起始地址,再与6789h相加就得到线性地址。如果此时未启动分页,那么这个线性地址也就是物理地址;如果启用分页管理则用高20位查找页目录表和页表,低12位为页内偏移。

不过总体来说,无论是实模式还是保护模式,PA = 2345h * 10h(16d)+ 6789h = 29bd9h都适用。

你可能感兴趣的:(某单元的逻辑地址是2345H:6789H求其物理地址--对段式管理和页式管理的说明(2))