1、EU 是 8086/8088 微处理器的执行部件(Execution Unit),BIU 是 8086/8088 微处理器的总线接口部件(Bus Interface Unit) 。
2、EU 的功能是执行指令,BIU 的功能是使 8086/8088 微处理器与片外存储器或 I/O 接口电路进
行数据交换
总线接口部件(BIU)由下列各部分组成
(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字节的指令队列缓冲器。
执行部件(EU)由下列几个部分组成:
(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] ;
(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
网上摘录的,看看能不能帮你执行单元EU的功能是执行指令,总线接口单元BIU主要负责与外界联系。读取(对8088/8086来说,是预取)指令代码是通过BIU实现的,指令代码从指令队列进入EU;由EU完成后续译码、执行等操作。与此同时,BIU还可以预取下一个指令代码。如果某条指令在EU中执行时,需要读写存储器操作数或外设数据,例如“mov mem,imm/reg/seg”、“mov reg/seg,mem”、IN和OUT等指令,这是就需要BIU完成读写存储器或外设数据后,EU才能继续执行指令。所以EU和BIU这两个部分是非常紧密、又非常协调的协同工作。
BIU 是总线接口单元 负责存储数据和指令
EU 是执行单元 负责运行指令