关于 8086 微处理器内存

About 8086 Microprocessor Memory

据说8086微处理器有1MB内存和20位地址,16位数据总线。我的疑问是,如果它是 1MB 内存,则意味着 (2^20 * 2^3)(1 字节 = 8 位)位或 2^23 位是整个内存大小。然后因为 8086 是一个 16 位寄存器,所以 2^20(来自地址行)* 2^4(16 位大小)是内存,即 2^24 位,这不是我上面计算的。 所以我的评估有误,那是什么?

2^20 个地址中的每一个都指一个 8 位字节。

一些 8086 的机器指令对字节(8 位)进行操作(使用寄存器 AH、AL、BH、BL、...),而其他机器指令对字(16 位)进行操作(使用寄存器 AX , BX, ...).

当使用Word指令时,内存中的两个相邻字节(地址(a)和(a+1))被视为Word数据。我不记得 8086 是否对 Word-datum 内存引用强制执行地址对齐。但是,2^20 字节仅包含 2^19 个字(与偶数地址对齐)。

比特守恒: (2^20 * 2^3) = (2^19 * 2^4) = 2^23