cpu如何在实模式下计算20位地址

Oxd*_*eef 5 x86 real-mode memory-address

我知道它使用物理地址=段寄存器<< 4 +偏移寄存器.虽然这两个寄存器是16位,8086如何处理20位加法操作?

Dar*_*ust 5

总线接口单元由段寄存器,加法器组成,用于生成20位地址和指令预取队列.一旦从BIU发出该地址,就从存储器中取出指令和数据字节,它们填充先进先出6字节队列.

查看名为"8086_Internal_Block_diagram_enotes.pdf"的文档,很容易通过Google找到.另请参阅此文档,有关总线接口单元的部分.

因此,如果您愿意,处理器会使用专用的内部20位寄存器"按需"生成这些20位地址.