平面地址space、线性地址、基地址、有效地址计算有什么区别
What are the differences among flat address space,linear addresses,base address,effective address calculations
所有这些东西之间有什么区别:平面地址,基址
地址,线性地址,有效地址,物理地址,有效地址计算 ???
80x86既有分段也有分页;其中虚拟地址(软件使用)被转换为物理地址(硬件如内存控制器)使用。对于完整转换:
首先CPU确定有效address/offset(例如,对于像“mov eax,[eax+ebx*4+99]
”这样的指令,CPU计算"eax+ebx*4+99")
的结果
然后 CPU 应用分段(通过添加 段基地址 ,在检查段限制之后)得到 线性地址.
然后CPU使用线性地址和页表(and/or TLB)将线性地址转换成物理地址.
注意:如果段基地址始终为零(并且段限制设置为最大值),则段实际上被禁用(因为它什么都不做)。这通常称为“平面寻址”(大多数操作系统都是这样做的)。
所有这些东西之间有什么区别:平面地址,基址 地址,线性地址,有效地址,物理地址,有效地址计算 ???
80x86既有分段也有分页;其中虚拟地址(软件使用)被转换为物理地址(硬件如内存控制器)使用。对于完整转换:
首先CPU确定有效address/offset(例如,对于像“
mov eax,[eax+ebx*4+99]
”这样的指令,CPU计算"eax+ebx*4+99") 的结果
然后 CPU 应用分段(通过添加 段基地址 ,在检查段限制之后)得到 线性地址.
然后CPU使用线性地址和页表(and/or TLB)将线性地址转换成物理地址.
注意:如果段基地址始终为零(并且段限制设置为最大值),则段实际上被禁用(因为它什么都不做)。这通常称为“平面寻址”(大多数操作系统都是这样做的)。