从功能上看,8086 CPU分为执行单元(EU)和总线接口单元(BIU)两部分。 BIU为EU完成全部的总线操作,根据EU的命令控制数据在CPU和存储器或I/O接口之间传送。BIU由下面的五种功能单元组成:
●段寄存器(均为16位) CS:代码段寄存器,存放程序段地址; DS:数据段寄存器,存放数据段地址; ES:扩展段寄存器,存放辅助数据段地址; SS:堆栈段寄存器,存放堆栈段地址。
● 指令指针寄存器(16位)IP寄存器用于存放程序段的偏移量。
●地址加法器(20位)地址加法器用于根据逻辑地址计算20位物理地址。
●6字节的指令队列 指令队列可存放多条指令,用于指令预取。
●I/O 控制电路 I/O控制电路实现I/O的控制逻辑,产生相应的控制信号。执行单元EU从BIU的指令队列得到指令以后,完成对指令的译码、执行并回写结果。当EU需要操作数时,便申请BIU访问存储器并向BIU提供段偏移地址。此外它还具有管理寄存器等功能。EU由以下单元组成:
通用寄存器(16 位) AX:用作累加器; BX:一般用作基址寄存器; CX:常常作为计数器; DX:多用作辅助累加器 AX、BX、CX和DX都是16位寄存器,可是它们都可以分别作为2个8位寄存器使用。
专用寄存器(16 位) BP:基数指针寄存器 SP:堆栈指针寄存器 SI:源变址寄存器 DI:目的变址寄存器
标志寄存器Flag(16 位)