【问题标题】:8086 microprocessor memory above 1MByte8086微处理器内存1MByte以上
【发布时间】:2017-12-20 15:25:13
【问题描述】:

我想了解 8086 的工作原理。我读过 8086 可以访问 2^20 = 1MB 的 RAM。我的问题是,是否有任何操作模式用于访问前 1 MByte 以上的内存?

【问题讨论】:

  • 这种操作模式将被称为升级到下一代处理器,如 80x86。
  • 从字面上看,8086 有 20 根线从芯片引出,用于指示正​​在读取或写入的内存地址。物理上无法指定高于 1MB 的地址。当然,LIM/EMS 之类的 Bank-switched 方法是可能的,并且允许使用更多内存,但这与“1MB 以上的内存”不同,它需要外部机制来切换 bank。 1MB 地址限制是硬性限制。

标签: x86-16 microprocessors


【解决方案1】:

虽然不在第一兆字节“上方”,但由 Lotus、Intel 和 Microsoft (LIM) 于 1985 年左右开发的扩展内存规范 (EMS) 确实允许 8086/8088 和 80286 系统访问多达 4 (最终 32) 兆字节的额外内存安装在特殊的 LIM EMS 插件卡中。

这是通过获取一个未使用的 64K 地址区域并将其分成四个 16K 页面来实现的,这些页面可以在程序控制下映射到额外的内存中。

基于 80386 及更高版本的功能更强大的系统能够通过使用处理器的分页硬件模拟其行为来免除对特殊硬件的需求。

随着 MS-DOS 变得过时,这种事情不再受欢迎,因为更好的操作系统只是让程序访问更多内存,而无需所有专有体操。

要详细了解如何绕过 640K 内存限制,请参阅以下内容。

https://en.wikipedia.org/wiki/Expanded_memory

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-03-30
    • 1970-01-01
    • 2011-03-29
    • 2018-06-05
    • 1970-01-01
    • 2015-12-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多