8080cpu结构图
总线接口部件由下列各部分组成
⑴4个段地址寄存器:
CS(code segment)——16位的代码段寄存器;
DS(data segment)——16位的数据段寄存器;
ES(extra segment)——16位的扩展段寄存器;
SS(stack segment)——16位的堆栈段寄存器;
⑵16位的指令指针寄存器IP;
⑶20位的地址加法器;
⑷6字节的指令队列缓冲器。
执行单元
执行部件由下列几个部分组成:
⑴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);
⑶算术逻辑单元ALU(arithmetic logic unit)。
EU负责全部指令的执行,同时向BIU输出数据(操作结果),并对寄存器和标志寄存器进行管理。在ALU中进行16位运算,数据传送和处理均在EU控制下执行。 [3]
BIU和EU的管理
⑴BIU和EU可以并行工作,提高CPU效率。BIU监视着指令队列。当指令队列中有2个空字节时,就自动把指令取到队列中。(BIU和EU中间有个缓冲区)
⑵ EU执行指令时,从指令队列头部取指令,然后执行。如需访问存储器,则EU向BIU发出请求,由BIU访问存储器。
⑶ 在执行转移、调用、返回指令时,需改变队列中的指令,要等新指令装入队列中后,EU才继续执行指令。
越往上,地址值越小。
例如push ax,push bx, pop ax