前几天阅读大会艺术时,我在内存布局上找到here部分。它开始讨论分段内存,我认为它没有多大意义。
将内存分割成段是一种非常有意义的组织方式,但是使用函数segment + offset
,当函数重复输出时你会怎么做?例如1038 + 57
,57 + 1038
和1095 + 0
都出现在线性地址1095.这不是一件坏事吗?你不小心意外地处理相同的线性记忆空间吗?
维基百科说它可以用来获得优势,“例如在处理多个嵌套数据结构时”,但这又如何用于更快地解决嵌套结构呢?
答案 0 :(得分:1)
您错过了文本的重要部分,如何计算这些地址。
在8086,8088,80186和80188(以及以实模式运行的其他处理器)上,将段映射到物理地址的功能非常简单。 CPU将段值乘以十六(10h)并添加偏移部分。
并且不要忘记这些地址总是以十六进制系统计算。