x86分段内存

时间:2013-08-16 02:37:54

标签: memory-management cpu-architecture

前几天阅读大会艺术时,我在内存布局上找到here部分。它开始讨论分段内存,我认为它没有多大意义。

将内存分割成段是一种非常有意义的组织方式,但是使用函数segment + offset,当函数重复输出时你会怎么做?例如1038 + 5757 + 10381095 + 0都出现在线性地址1095.这不是一件坏事吗?你不小心意外地处理相同的线性记忆空间吗?

维基百科说它可以用来获得优势,“例如在处理多个嵌套数据结构时”,但这又如何用于更快地解决嵌套结构呢?

1 个答案:

答案 0 :(得分:1)

您错过了文本的重要部分,如何计算这些地址。

在8086,8088,80186和80188(以及以实模式运行的其他处理器)上,将段映射到物理地址的功能非常简单。 CPU将段值乘以十六(10h)并添加偏移部分。

并且不要忘记这些地址总是以十六进制系统计算。