Microprocessors 关于8086微处理器存储器

Microprocessors 关于8086微处理器存储器,microprocessors,Microprocessors,据说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等)

据说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等)

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

位是守恒的: (2^20*2^3)=(2^19*2^4)=2^23