📜  微处理器-8086功能单元

📅  最后修改于: 2020-12-13 15:28:26             🧑  作者: Mango


8086微处理器分为两个功能单元,即EU (执行单元)和BIU (总线接口单元)。

欧盟(执行单位)

执行单元向BIU发出指令,说明从何处获取数据,然后解码并执行这些指令。它的函数是使用指令解码器和ALU控制数据操作。如上图所示,EU与系统总线没有直接连接,它通过BIU对数据进行操作。

现在让我们讨论8086微处理器的功能部件。

ALU

它处理所有的算术和逻辑运算,例如+,-,×,/,OR,AND,NOT运算。

标志寄存器

它是一个类似于触发器的16位寄存器,即,它根据存储在累加器中的结果来改变其状态。它有9个标志,它们分为2组-条件标志和控制标志。

条件标志

它表示最后执行的算术或逻辑指令的结果。以下是条件标志的列表-

  • 进位标志-该标志指示算术运算的溢出条件。

  • 辅助标志-在ALU上执行操作时,会导致从低半字节(即D0 – D3)到高半字节(即D4 – D7)的进位/手轮,则此标志被置位,即D3位给D4是AF标志。处理器使用此标志执行二进制到BCD的转换。

  • 奇偶校验标志-该标志用于指示结果的奇偶校验,即,当结果的低8位包含偶数1时,则设置奇偶校验标志。对于奇数1,将重置奇偶校验标志。

  • 零标志-算术或逻辑运算的结果为零时,此标志设置为1,否则设置为0。

  • 符号标志-此标志保存结果的符号,即,如果运算结果为负,则将标志标志设置为1,否则设置为0。

  • 溢出标志-此标志表示超出系统容量时的结果。

控制标志

控制标志控制执行单元的操作。以下是控制标志列表-

  • 陷阱标志-用于单步控制,允许用户一次执行一条指令进行调试。如果已设置,则程序可以单步模式运行。

  • 中断标志-这是一个中断启用/禁用标志,即用于允许/禁止程序中断。对于中断允许条件,它设置为1;对于中断禁止条件,它设置为0。

  • 方向标记-在字符串操作中使用。顾名思义,当设置它时,字符串字节将从较高的存储器地址访问较低的存储器地址,反之亦然。

通用寄存器

有8个通用寄存器,即AH,AL,BH,BL,CH,CL,DH和DL。这些寄存器可以单独用于存储8位数据,也可以成对使用以存储16位数据。有效的寄存器对为AH和AL,BH和BL,CH和CL以及DH和DL。分别称为AX,BX,CX和DX。

  • AX寄存器-也称为累加器寄存器。它用于存储算术运算的操作数。

  • BX寄存器-用作基址寄存器。它用于在数据段内存储存储区的起始基地址。

  • CX寄存器-称为计数器。在循环指令中使用它来存储循环计数器。

  • DX寄存器-该寄存器用于保存I / O指令的I / O端口地址。

堆栈指针寄存器

它是一个16位寄存器,保存从段开头到内存位置的地址,该位置最近是一个字存储在堆栈中的位置。

BIU(总线接口单元)

BIU负责EU总线上的所有数据和地址传输,例如发送地址,从内存中提取指令,从端口和内存中读取数据以及将数据写入端口和内存中。 EU与系统总线没有方向性连接,因此BIU可以实现。 EU和BIU与内部总线连接。

它具有以下功能部分-

  • 指令队列-BIU包含指令队列。 BIU最多获取6个字节的下一条指令,并将它们存储在指令队列中。当EU执行指令并准备下一条指令时,它仅从该指令队列中读取指令即可提高执行速度。

  • 在当前指令执行时获取下一条指令称为流水线操作

  • 段寄存器-BIU有4个段总线,即CS,DS,SS&ES。它将指令和数据的地址保存在内存中,供处理器用来访问内存位置。它还包含1个指针寄存器IP,它保存EU将执行的下一条指令的地址。

    • CS-代表代码段。它用于寻址执行存储程序的存储器代码段中的存储器位置。

    • DS-代表数据段。它由程序使用的数据组成,并在数据段中通过偏移地址或其他保存偏移地址的寄存器的内容进行访问。

    • SS-代表堆栈段。它在执行期间处理内存以存储数据和地址。

    • ES-代表额外细分。 ES是附加数据段,字符串使用它来保存附加目标数据。

  • 指令指针-这是一个16位寄存器,用于保存要执行的下一条指令的地址。