Intel 8086是一个由Intel于1978年所设计的16位微处理器芯片,是x86架构的鼻祖。不久之后,Intel 就推出了 Intel 8088 (一个拥有8根外部数据总线的微处理器)。它是以8080和8085的设计为基础,拥有类似的寄存器组,但是数据总线扩充为16位。总线界面单元(Bus Interface Unit)透过6字节预存(prefecth) 的队列(queue)位指令给执行单元(Execution Unit),所以取指令和执行是同步的,8086 CPU有20条地址线,可直接寻址1MB的存储空间,每一个存储单元可以存放一个字节(8位)二进制信息。
总线接口单元 (BIU bus interface unit)
总线接口部件由下列各部分组成
(1)4个段地址寄存器:
CS(code segment)——16位的代码段寄存器;
DS(data segment)——16位的数据段寄存器;
ES(extra segment)——16位的扩展段寄存器;
SS(stack segment)——16位的堆栈段寄存器;
(2)16位的指令指针寄存器IP;
(3)20位的地址加法器;
(4)6字节的指令队列缓冲器。
执行单元
执行部件由下列几个部分组成:
(1)8个通用寄存器:即AX、BX、CX、DX,BP,SP,SI,DI ;其中,4个数据寄存器:AX、BX、CX、DX;2个地址指针寄存器:BP(base pointer),SP(stack pointer);2个变址寄存器:SI(source index),DI(destination index);
(2)标志寄存器FR(flags register);
(3)算术逻辑单元ALU(arithmetic logic unit)。EU负责全部指令的执行,同时向BIU输出数据(操作结果),并对寄存器和标志寄存器进行管理。在ALU中进行16位运算,数据传送和处理均在EU控制下执行。
BIU和EU的管理
(1)BIU和EU可以并行工作,提高CPU效率。BIU监视着指令队列。当指令队列中有2个空字节时,就自动把指令取到队列中。
(2)EU执行指令时,从指令队列头部取指令,然后执行。如需访问存储器,则EU向BIU发出请求,由BIU访问存储器。
(3)在执行转移、调用、返回指令时,需改变队列中的指令,要等新指令装入队列中后,EU才继续执行指令。
8086微处理器功能
按功能可分为两部分:总线接口单元BIU(Bus Interface Unit)和执行单元EU(Execution Unit)。
总线接口单元BIU是8086 CPU在存储器和I/O设备之间的接口部件,负责对全部引脚的操作,即8086对存储器和I/O设备的所有操作都是由BIU完成的。所有对外部总线的操作都必须有正确的地址和适当的控制信号,BIU中的各部件主要是围绕这个目标设计的。它提供了16位双向数据总线、20位地址总线和若干条控制总线。
其具体任务是:负责从内存单元中预取指令,并将它们送到指令队列缓冲器暂存.CPU执行指令时,总线接口单元要配合执行单元,从指定的内存单元或I/O端口中取出数据传送给执行单元,或者把执行单元的处理结果传送到指定的内存单元或I/O端口中。
执行单元EU中包含1个16位的运算器ALU、8个16位的寄存器、1个16位标志寄存器FR、1个运算暂存器和执行单元的控制电路。这个单元进行所有指令的解释和执行,同时管理上述有关的寄存器.EU对指令的执行是从取指令操作码开始的,它从总线接口单元的指令队列缓冲器中每次取一个字节。如果指令队列缓冲器中是空的,那么EU就要等待BIU通过外部总线从存储器中取得指令并送到EU,通过译码电路分析,发出相应控制命令,控制ALU数据总线中数据的流向.
评论
查看更多