(1)BIU从存储器中取出一条指令存入指令队列寄存● 器中。 (2)U从指令队列中取出指令并执行,利用总线空 闲时间,BIU从内存取出第二条指令存入指令队 列寄存器中,或取第三条指令到指令队列中。 (3)U执行下一条指令,如果前一条指令有写存储 器的要求,则通知BIU,由BIU把前条指令的结果 写到存储器中,然后再取指令到指令队列中。 (4)如指令执行,要求读取操作数,则由BIU取操作 数完成指令读功能。 (5)EU执行再下一条指令,返回(1)处继续执行上述操作过 程。 88 11
⑴ BIU从存储器中取出一条指令存入指令队列寄存 器中 。 ⑵ EU从指令队列中取出指令并执行,利用总线空 闲时间,BIU从内存取出第二条指令存入指令队 列寄存器中,或取第三条指令到指令队列中 。 ⑶ EU执行下一条指令,如果前一条指令有写存储 器的要求,则通知BIU,由BIU把前条指令的结果 把前条指令的结果 写到存储器中,然后再取指令到指令队列中。 ⑷ 如指令执行,要求读取操作数 要求读取操作数,则由BIU取操作 数完成指令读功能。 ⑸ EU执行再下一条指令,返回 ⑴处继续执行上述操作过 处继续执行上述操作过 程。 11
总之,在指令执行过程中,利用U分析 操作码和执行指令过程中不占用总线时间这 一特点,由BIU自动地通过总线取存储器指 令到指令队列中,从而使指令的执行可以不 间断的进行,提高了执行指令的速度。 程序的执行,就是上述指令执行的重复 过程。 8 12
总之 ,在指令执行过程中 在指令执行过程中 ,利用EU分析 操作码和执行指令过程中不占用总线时间这 一特点,由BIU自动地通过总线取存储器指 令到指令队列中 ,从而使指令的执行可以不 间断的进行,提高了执行指令的速度。 程序的执行 ,就是上述指令执行的重复 过程。 12
2.28086CPU中寄存器 寄存器是CPU内部临时存放数据的部 件,每一个寄存器相当于CPU中的一个存 储单元,寄存器的名字就是该存储单元的 符号地址。寄存器的存取速度比内存更快, 可以把数据通过内部,总线送往运算器进行 运算,或者接收来自运算器的结果。充分 利用CPU的内部寄存器可以加快程序的执 行速度。程序可见寄存器可以分为通用 寄存器、专用寄存器和段寄存器3类。 13
2.2 8086 CPU中寄存器 寄存器是CPU内部临时存放数据的部 件,每一个寄存器相当于CPU中的一个存 储单元 ,寄存器的名字就是该存储单元的 符号地址。寄存器的存取速度比内存更快, 可以把数据通过内部总线送往运算器进行 运算,或者接收来自运算器的结果。充分 利用CPU的内部寄存器可以加快程序的执 行速度 。 程序可见寄存器可以分为通用 寄存器、专用寄存器和段寄存器3类。 13
2.2.1通用寄存器 8086有8个16位的字型通用寄存器, 各个寄存器都有自己特定的功能,在 程序中常用来临时存放中间结果。通 用寄存器包括数据寄存器(AX,BX, CX,DX)和地址寄存器(SI,DI,BP, SP)两种, 80 14
2.2.1 通用寄存器 8086有8个16位的字型通用寄存器, 各个寄存器都有自己特定的功能,在 程序中常用来临时存放中间结果。通 用寄存器包括数据寄存器 用寄存器包括数据寄存器(AX,BX, CX,DX)和地址寄存器(SI,DI,BP, SP)两种, 14
(1)AX-累加器。这是算术运算的主要寄存器,仅用于存放 操作数或运算结果,同时外设的操作指令(IN、OUT)都使用 AX传送数据。 (2)BX-基址寄存器。用于存放操作数的偏移地址,也可存 放数据。 (3)CX-计数寄存器。用于循环指令、移位指令以及串操作 指令的隐含计数控制。 (4)DX-数据寄存器。在乘除法运算中,与AX组合在一起存 放双字型数据,DX用来存放高位字。 (⑤)SI-源变址寄存器。作为串操作指令的源操作数的地址 指针,也可用于存放操作数的偏移地址。 (6)DI-目的变址寄存器。作为串操作指令的目的操作数的 地址指针,也可用于存放操作数的偏移地址。 (7)BP-堆栈基址寄存器。用于存放堆栈中操作数的EA。 (8)SP-栈顶指针。用于指示栈顶的偏移地址,与堆栈段寄 存器SS联用来确定堆栈段中的某一存储单元的地址。。8 888 15
⑴ AX-累加器。这是算术运算的主要寄存器,仅用于存放 操作数或运算结果 操作数或运算结果,同时外设的操作指令 同时外设的操作指令(IN 、OUT)都使用 AX传送数据。 ⑵ BX -基址寄存器 。用于存放操作数的偏移地址 用于存放操作数的偏移地址,也可存 放数据。 ⑶ CX-计数寄存器。用于循环指令、移位指令以及串操作 指令的隐含计数控制。 ⑷ DX-数据寄存器。在乘除法运算中,与AX组合在一起存 放双字型数据,DX用来存放高位字 。 ⑸ SI-源变址寄存器。作为串操作指令的源操作数的地址 指针,也可用于存放操作数的偏移地址 。 ⑹ DI-目的变址寄存器。作为串操作指令的目的操作数的 地址指针,也可用于存放操作数的偏移地址。 ⑺ BP-堆栈基址寄存器。用于存放堆栈中操作数的EA。 ⑻ SP-栈顶指针。用于指示栈顶的偏移地址,与堆栈段寄 存器SS联用来确定堆栈段中的某一存储单元的地址 。 15