【发布时间】:2020-02-19 09:16:05
【问题描述】:
所有这些东西之间有什么区别:平面地址,基本地址 地址,线性地址,有效地址,物理地址,有效地址计算???
【问题讨论】:
标签: x86 cpu-architecture memory-address addressing-mode memory-segmentation
所有这些东西之间有什么区别:平面地址,基本地址 地址,线性地址,有效地址,物理地址,有效地址计算???
【问题讨论】:
标签: x86 cpu-architecture memory-address addressing-mode memory-segmentation
80x86既有分段又有分页;其中虚拟地址(软件使用)被转换为物理地址(硬件如内存控制器)使用。对于完整的转换:
第一个 CPU 确定有效地址/偏移量(例如,对于像“mov eax,[eax+ebx*4+99]”这样的指令,CPU 计算“eax+ebx*4+99”的结果)
然后CPU应用分段(通过添加段基地址,检查段限制后)得到一个线性地址。
然后 CPU 使用线性地址和页表(和/或 TLB)将线性地址转换为物理地址。
注意:如果段基地址始终为零(并且段限制设置为最大值),则有效地禁用分段(因为它什么都不做)。这通常称为“平面寻址”(大多数操作系统都是这样做的)。
【讨论】: