memory - 如何将 8086 的内存空间扩展到 1 GB?

原文 标签 memory x86 x86-16

如何将 8086 的内存空间扩展到 1 GB ???

最佳答案

显然,您不会获得线性地址空间。 1GB 的空间需要 30 条地址线,而 8086 上只有 20 条物理地址线。你实现 bank 切换,8086 提供 20 条低地址线。额外的 10 条线通过映射到 16 位 I/O 端口的锁存器提供。向该端口写入值会将 10 位存储体编号存储在锁存器中。然后使用锁存器将高 10 个地址线馈送到内存。

当我 20 年前在大学做这个硬件项目时,当时我们能获得的最大内存是 2MB——我不知道你将如何连接现代的 1GB 内存模块!

关于memory - 如何将 8086 的内存空间扩展到 1 GB?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2940479/

相关文章:

c - linux内核中的mmap()访问未映射的内存

c++ - C++对象与结构内存开销

linux - 执行错误的参数

assembly - 使用 DOS 中断 0Ah 中止输入 (ctrl-c) 时显示错误消息(读取输入到缓冲区)

intel - 将十六进制数组转换为十进制数 Intel 8086 汇编语言

assembly - 字节ptr和字ptr的区别

c - 整数的内存分配

c - 反汇编 C 代码并检查堆栈

android - 如何为双显示器(即克隆)配置 Android x86?

assembly - 定义全局描述符表有什么用?