汇編语言程序设计 比如,一条指令的物理地址就是根据代码段寄存器CS和 指令指针寄存器IP的内容得到的。假设CS=FE0OH,IP=020 此时指令的物理地址为F200H。 ②16位指令指针IP 8086CPU中,IP( Instructionpoimer)用来存放将要取出白 指令在现行代码段中的偏移地址。它只有与CS相结合,才耷 形成指向指令存放单元的物理地址。 ③指令队列缓冲器 8086CPU的指令队列为6个字节,在执行指令的同时, 从内存中取下面一条或几条指令,将取来的指令依次存放· 指令队列中。它们按“先进先出”的原则存放,并按顺序. 出到中执行。 ④总线控制电路 总线控制电路将8086CPU的内部总线和外部总线相连
汇编语言 程序设计 比如,一条指令的物理地址就是根据代码段寄存器CS和 指令指针寄存器IP的内容得到的。假设CS=FE00H,IP=0200H, 此时指令的物理地址为FE200H。 ② 16位指令指针IP 8086CPU中,IP(1nstructionPoimer)用来存放将要取出的 指令在现行代码段中的偏移地址。它只有与CS相结合,才能 形成指向指令存放单元的物理地址。 ③ 指令队列缓冲器 8086 CPU的指令队列为6个字节,在EU执行指令的同时, 从内存中取下面一条或几条指令,将取来的指令依次存放在 指令队列中。它们按“先进先出”的原则存放,并按顺序取 出到EU中执行。 ④ 总线控制电路 总线控制电路将8086CPU的内部总线和外部总线相连
汇編语言程序设计 (2)总线执行部件EU 阢U的主要任务是完成指令译码和执行指令的操作。 EU由算术逕辑运算单元、标志寄存器,数据暂存寄存器 通用寄存器组和阢控制电路等组成。 ①算术逻辑运算单元 算术逻辑运算单元(ALU是一个16位的运箅器,用于二进制 算术和逻辑运算,也可计算寻址存储器所需的16位偏移量。 ②标志寄存器 是一个16位的寄存器,用于反映CPU运算的状态特征和存放 某些控制标志。 ③数据暂存寄存器 它协助AU完成远算,暂存参加运算的数据。 4通用寄存器组 包括4个16位的数据寄存器AX、BX、CX、DX,2个16位 的指针寄存器SP、BP和2个16位的变址寄存器SI、DI
汇编语言 程序设计 (2)总线执行部件EU EU的主要任务是完成指令译码和执行指令的操作。 EU由算术逻辑运算单元、标志寄存器,数据暂存寄存器、 通用寄存器组和EU控制电路等组成。 ① 算术逻辑运算单元 算术逻辑运算单元(ALU)是一个16位的运算器,用于二进制 算术和逻辑运算,也可计算寻址存储器所需的16位偏移量。 ② 标志寄存器 是一个16位的寄存器,用于反映CPU运算的状态特征和存放 某些控制标志。 ③ 数据暂存寄存器 它协助ALU完成运算,暂存参加运算的数据。 ④ 通用寄存器组 它包括4个16位的数据寄存器AX、BX、CX、DX,2个16位 的指针寄存器SP、BP和2个16位的变址寄存器SI、DI
汇編语言程序设计 ①眇U控制电路 它负责从BIU的指令队列缓冲器中取指令,并对指令译 码。根据指令要求向阢内部各部件发出控制命令,以完成 各条指令规定的功能。 瓦的具体工作过程是:从BI指令队列缓冲器中取出指 令操作码,通过译码电路分析,发岀相应控制命令,控制 ALU数据总线中数据的流向。如果是运算操作,操作数经过 暂存器送入ALU运算结果经过ALU数据总线迭到相应的寄 存器。同时,标志寄存器FR根据运算结果改变状态。当指 令要求访问存储器或1/0设备时,E向BIU发出请求,由BIU 通过8086系统总线访问存储器或I/0设备。因为E中所有 的寄存器和数据通道(除队列总线为8位外)均为16位宽度 可以实现数据的快速传送。8086CPU内部结构图如下
汇编语言 程序设计 ⑤ EU控制电路 它负责从BIU的指令队列缓冲器中取指令,并对指令译 码。根据指令要求向EU内部各部件发出控制命令,以完成 各条指令规定的功能。 EU的具体工作过程是:从BIU指令队列缓冲器中取出指 令操作码,通过译码电路分析,发出相应控制命令,控制 ALU数据总线中数据的流向。如果是运算操作,操作数经过 暂存器送入ALU,运算结果经过ALU数据总线送到相应的寄 存器。同时,标志寄存器FR根据运算结果改变状态。当指 令要求访问存储器或l/O设备时,EU向BIU发出请求,由BIU 通过8086系统总线访问存储器或I/O设备。因为EU中所有 的寄存器和数据通道(除队列总线为8位外)均为16位宽度, 可以实现数据的快速传送。 8086CPU内部结构图如下:
汇編语言程序设计 地址总线 通用寄存器 〔16位〕 数据总线 〔20位〕 SP BP D CSE吧 SI 内部存器 总线控 886外部 ALU数据总睃 制电路 总线〔16位 运算寄存器 指令队列 ALU 控制器 执行部件〔EU)总线接口部件〔BIU〕 标志 图228086CPU内部结构框图
汇编语言 程序设计
汇編语言程序设计 (3)BIU和EU的并行工作 8086CPU中,由于BIU和是分开并独立工作的, 在U执行指令的同时,BIU可预取下面一条或几条指令。 因此。CPU执行完一条指令后,就可以立即执行存放指 令队列中的下一条指令,而不需要像以往的8位CPU那 样,重复地进行先取指令、后执行指令的串行操作。 这种并行重叠操作的特点提高了总线的信息传输效率 和整个系统的执行速度。 返回
汇编语言 程序设计 (3)BIU和EU的并行工作 8086 CPU中,由于BIU和EU是分开并独立工作的, 在EU执行指令的同时,BIU可预取下面一条或几条指令。 因此,CPU执行完一条指令后,就可以立即执行存放指 令队列中的下一条指令,而不需要像以往的8位CPU那 样,重复地进行先取指令、后执行指令的串行操作。 这种并行重叠操作的特点提高了总线的信息传输效率 和整个系统的执行速度。 返回