3.28086微处理器的功能结构
Intel 8086是一个16位的微处理器,有20条地址线,能访问1MB实际地址的存储空间。
8086微处理器内部结构如图3-2所示。从图3-2中可看出,8086微处理器由两个部分即指令执行部件(EU)和总线接口部件(BIU)组成。指令执行部件由算术逻辑运算单元(ALU)、标志寄存器(FLAGS)、通用寄存器组和EU控制器4个部件组成,其主要功能是执行指令。总线接口部件由地址加法器、专用寄存器组、指令队列和总线控制逻辑4个部件组成。它的主要功能是形成访问存储器的物理地址;访问存储器取得指令并暂存到指令队列中等待执行;访问存储器或I/O端口以读取操作数参与EU运算,或存放运算结果等。
图3-28086微处理器的内部结构
3.2.1总线接口单元
总线接口部件(BIU)主要由地址加法器、专用寄存器组、指令队列缓冲器和总线控制电路4个部件组成,其主要功能是负责完成CPU与存储器或I/O设备之间的数据传送。BIU中地址加法器把来自于段寄存器的16位地址(段首地址)左移4位后与16位偏移地址(来自于IP寄存器或EU的16位寄存器或其他位置)相加,形成20位的实际地址,以对1MB的存储空间进行寻址。具体地说,当CPU取指令时,BIU将CS中16位段首地址左移4位并和IP中16位偏移地址相加,形成指令在存储器中的物理地址,然后访问该物理地址所对应的存储单元,从中取出指令代码送到指令队列缓冲器中等待执行。指令队列一共6个字节(8088的指令队列为4个字节),一旦指令队列中空出2个(8086)或1个(8088)字节,BIU将自动进入读指令操作以填满指令队列;遇到转移类指令时,BIU将指令队列中的内存指令作废,重新从新的目标地址中取指令送到指令缓冲队列中。当EU需要读/写数据时,BIU将相应段寄存器中16位段首地址左移4位和EU送来的16位偏移地址相加,形成操作数的物理地址,从该地址单元中读取操作数或者将指令的执行结果传送到该单元中。
总线控制电路将8086/8088微处理器的内部总线与它引脚所连接的外部总线相连,