地址寄存器(AddressRegister,AR)是用来保存当前CPU所访问的内存单元的地址。由于在内存和CPU之间存在着操作速度上的差别,所以必须使用地址寄存器来保持地址信息,直到内存的读写操作完成为止。地址寄存器可用LPM库中的元件lpmlatch锁存器来完成。地址寄存器的数据宽度应当与程序计数器的数据宽度一致。总线接口单元(BusInterfaceUnit)通过6字节预存(prefetch)的贮列(queue)将指令送给运行单元(ExecutionUnit),所以取指令和运行是同步的一种流水线的原始形式(8086指令长度变化从1到6字节)。
结构
地址寄存器采用单纯的寄存器结构。在对主存或IO端口进行访问时,地址寄存器存放当前访问的地址,数据缓冲器实现数据的缓冲。CPU通过修改地址寄存器中的值,就可访问不同的存储器单元及不同的IO端口。
地址寄存器可用LPM库中的元件lpmlatch锁存器来完成。图是地址寄存器的结构图。地址寄存器的数据宽度应当与程序计数器的数据宽度一致。data〔70〕是地址寄存器的数据输入端,q〔70〕是地址寄存器的数据输出端,gate是地址锁存器的控制端。gate的作用是当锁存控制脉冲到来时,高电平时数据进入锁存器,低电平时锁存数据,保持输出数据稳定不变。
086地址寄存器
8086有8个16比特的寄存器,包括栈寄存器SP与BP,但不包括指令寄存器IP、控制寄存器FLAGS以及四个段寄存器。AX,BX,CX,DX,这四个寄存器可以按照字节访问;但BP,SI,DI,SP,这四个地址寄存器只能按照16位宽访问。
8086以8080和8085(它与8080有汇编语言上的源代码兼容性)的设计为基础,拥有类似的暂存器集合,但是扩充为16位。总线接口单元(BusInterfa...
(全文)