本章重点难点本章介绍微型计算机系统中的核心部件微处理器(CPU),通过了解CPU的内部和外部结构,理解微处理器级总线(地址总线、数据总线和控制总线)的概念;通过学习CPU的功能结构,掌握CPU中的两个独立单元(执行单元EU和总线接口单元BIU的并行执行过程;通过介绍8086寄存器结构,学习汇编语言程序设计所需的14个寄本章重点难点存器,掌握这些寄存器的正确使用;通过介绍8086/8088的存储器组织与分段、I/O端口地址空间等基本知识,了解8086CPU与外围电路的关系;重点掌握8086CPU关于数据的八种寻址方式和转移地址的四种寻址方式。3.1微处理器的一般结构3.1微处理器的一般结构在第一章介绍微型计算机系统的硬件组成时已经明确,组成微型计算机系统的核心硬件是微处理器。微处理器的输入输出引脚有特定的功能和信号形式,这就是微处理器级总线。微处理器通过微处理器级总线与某些其他逻辑电路连接组成主机板系统,形成系统级总线。许多外设经过接口逻辑与系统级总线连接,使主机板与外设共同组成完整的微机硬件系统。3.1微处理器的一般结构3.1微处理器的一般结构讨论微处理器的目的,一方面是为了理解微型计算机的工作原理,更重要的一方面是为了应用它。所以没有必要也不可能讨论它的每个逻辑细节。从上述目的出发,我们将从微处理器的内部和外部两个方面讨论微处理器的结构。微处理器是组成计算机系统的核心部件,它具有运算和控制的功能。具体地讲,CPU应具有下述基本功能:一.微处理器的内部结构3.1微处理器的一般结构3.1微处理器的一般结构(1)进行算术和逻辑运算;(2)具有接收存储器和I/O接口来的数据和发送数据给存储器和I/O接口的能力;(3)可以暂存少量数据;(4)能对指令进行寄存、译码并执行指令所规定的操作;(5)能提供整个系统所需的定时和控制信号;(6)可响应I/O设备发出的中断请求。3.1微处理器的一般结构3.1微处理器的一般结构从程序设计的角度考虑,CPU必须便于处理:(1)赋值和算术表达式;(2)无条件转移;(3)条件转移以及关系和逻辑表达式;(4)循环;(5)数组和其它数据结构;(6)子程序;(7)输入/输出。3.1微处理器的一般结构3.1微处理器的一般结构1.CPU内部结构及各部分功能简介CPU的内部结构是实现上述功能的执行部件。内部结构中和程序有关的部分组成编程模型,这是我们理解和掌握的重点。尽管各种微处理器的内部结构不尽相同,但是为了实现上述基本功能要求,典型的CPU内部结构如图3.1.1所示。I/O控制逻辑ALU控制器工作寄存器CPU程序计数器(PC)指令寄存器(IR)指令译码器(ID)控制逻辑部件堆栈指示器(SP)状态寄存器(PSW)地址寄存器数据寄存器┆┆图(3.1.1)3.1微处理器的一般结构3.1微处理器的一般结构算术/逻辑运算单元(ALU)控制器它包括地址寄存器工作寄存器组数据寄存器I/O控制逻辑3.1微处理器的一般结构3.1微处理器的一般结构各部分的作用及功能如下:①算术逻辑运算单元(ALU):它是运算器的核心,几乎所有的算术运算,逻辑运算和移位操作都是由ALU完成的。②工作寄存器:暂存用于寻址和计算过程的信息。工作寄存器分为两组:数据寄存器组和地址寄存器。但有的寄存器兼有双重用途。数据寄存器用来暂存操作数和中间运算结果。地址寄存器用于操作数的寻址。3.1微处理器的一般结构3.1微处理器的一般结构③控制器:它是CPU的“指挥机关”,完成指令的读入,寄存,译码和执行。从图(3.1.1)中可以看出,一般微处理器中的控制器由6部分组成:程序计数器(PC)指令寄存器(IR)指令译码器(ID)控制逻辑部件处理机状态字(PSW)堆栈指示器(SP)3.1微处理器的一般结构3.1微处理器的一般结构程序计数器(PC)用于保存下一条要执行的指令的地址,即由它提供一个存储器地址,按此地址从对应存储器单元取出的内容,就是要执行的指令。一般指令是顺序存放在存储器内的,所以程序计数器也叫指令地址计数器。由此可见,在程序执行过程中要实现程序的转移,就要改变程序计数器PC的内容。3.1微处理器的一般结构3.1微处理器的一般结构保存从存储器中读入的当前要执行的指令。指令寄存器(IR)指令译码器(ID)对指令寄存器中保存的指令进行译码分析。控制逻辑部件根据ID对指令的译码分析,发出相应的一系列的节拍脉冲和电位(控制信号),去完成指令的所有操作。3.1微处理器的一般结构3.1微处理器的一般结构处理器状态字(PSW)暂存处理器当前的状态。PSW中的各位用来指示诸如算术运算结果的正/负,是否为零,是否有进位或借位,是否溢出等标志。条件转移指令将根据PSW中的某一位的状态决定程序是否转移。堆栈指示器(SP)是在对按后进先出原则组织的称为堆栈的专用存储区进行操作时提供地址的。堆栈用于子程序调用时保存返回地址和工作寄存器的内容。3.1微处理器的一般结构3.1微处理器的一般结构④I/O控制逻辑包括CPU中与输入/输出操作有关的逻辑。其作用是处理输入/输出操作。2.CPU的基本执行程序的过程第一章曾说明计算机的工作过程是不停地取指令和执行指令的过程,实际上,这个过程是由CPU完成的。机器语言程序的指令(二进制代码)是按顺序存放在存储器中的。除非遇到转移指令,否则顺序执行。图3.1.2是CPU执行程序过程的流程图。开始CPU将PC中的地址发送给存储器从存储器取出被寻址的单元中的机器指令并送回CPUCPU将机器指令放入IR并译码满足转移条件PC置成转移地址检查PSW执行指令将PC置成顺序的下一条指令的地址转移指令条件转移是是是否否否图)程序的执行过程3.1.23.1微处理器的一般结构3.1微处理器的一般结构由上述CPU执行程序的基本原理我们可以看出,CPU从外部存储器取指令和执行指令是串行进行的,因此,CPU的工作效率较低。因为CPU取指令时要使用外部总线,而执行指令是,大多数情况下是不使用外部总线的,所以总线的利用率也很低。如图3.1.3所示。3.1微处理器的一般结构3.1微处理器的一般结构忙忙忙取指令1执行1取指令2执行2……ttCPU总线一般8位机:图3.1.3为了提高CPU的执行速度以及对总线的利用率,INTEL公司生产了8088/8086CPU,这是我们下一节要讲的内容。3.1微处理器的一般结构3.1微处理器的一般结构二.微处理器的外部结构表面上看来,微处理器的外部就是数量有限的输入输出引脚。但是,正是依靠这些引脚与其它逻辑部件相连接,才能组成多种型号的微型计算机系统。这些引脚就是微处理器级总线。微处理器通过微处理器级总线沟通与外部部件和设备之间的联系。这些总线及其信号必须完成以下功能:3.1微处理器的一般结构3.1微处理器的一般结构(1)和存储器之间交换信息;(2)和I/O设备之间交换信息;(3)为了系统工作而接收和输出必要的信号,如输入时钟脉冲、复位信号、电源和接地等。按功能分,这些总线可以分为三种:(1)传送信息(指令或数据)的数据总线(DataBus)(2)指示欲传信息的来源或目的地址的地址总线(AddressBus)(3)管理总线上活动的控制总线(ControlBus)3.1微处理器的一般结构3.1微处理器的一般结构.地址总线:CPU通过地址总线输出地址码用来选择某一存储单元或某一称为I/O端口的寄存器,是单向的。地址码的位数决定了地址空间的大小。若地址码共n位,则可有个地址(0∽-1)。对于单地址空间的微处理器,若地址总线的数目为n,则存储单元和I/O端口合在一起的地址空间的容量为个字节。对于存储器和I/O地址空间独立的微处理器来说,地址总线的条数决定了存储器n2n2n23.1微处理器的一般结构3.1微处理器的一般结构地址空间的容量,而地址总线中用于I/O端口编址的条数决定I/O地址空间的容量。通常8位微处理器(如8080CPU和Z80CPU)的地址总线为16条,这就意味着存储器最大容量为(65536)字节,地址总线的低8位用来对I/O端口编址,所以I/O地址空间容量为(256)字节。16位微处理器,如8086CPU地址总线20条,存储器的最大容量为:16282MB1)10()2(22321020=≈=3.1微处理器的一般结构3.1微处理器的一般结构8086的地址总线的低16位用来对I/O端口编址,所以I/O地址空间容量为(65536)字节。即可对65536个I/O端口寻址。162.数据总线:用于CPU和存储器或I/O接口之间传送数据,是双向的。微处理器数据总线的条数决定CPU和存储器或I/O设备一次能交换数据的位数,是区分微处理器是多少位的依据。3.1微处理器的一般结构3.1微处理器的一般结构如8086CPU的数据总线是16条,我们就说8086CPU是16位微处理器。8080CPU和Z80CPU的数据总线是8条,所以8080CPU和Z80CPU是8位微处理器。.控制总线:管理总线上的活动,用来传送自CPU发出的控制信息或外设送到CPU的状态信息,是单向的。3.28086/8088微处理器的功能结构3.28086/8088微处理器的功能结构8086/8088是Intel公司生产的第三代微处理器芯片。其特点如下:具有20条地址线,直接寻址能力达1MB。8086有16条数据线,为16位微处理器。8088有8条数据线,为准16位微处理器。片内总线和ALU均为16位,可进行8位和16位操作。3.28086/8088微处理器的功能结构3.28086/8088微处理器的功能结构8086/8088均采用全新结构,片内均由两个独立的逻辑单元组成:执行单元(EU)总线接口单元(BIU)8086/8088CPU内部结构如图3.2.1所示总线控制电路EU控制器标志暂存器通用寄存器ALU数据总线地址总线数据总线执行单元(EU)总线接口单元(BIU)(16位)(20位)(8位)(16位)16位ALUSSDSESIPCS内部寄存器BHBLAHALDHDLSPBPCLCHDISI8086总线物理地址形成逻辑213645ΣAXBXDXCX3.28086/8088微处理器的功能结构3.28086/8088微处理器的功能结构一.总线接口单元(BIU)段寄存器(CS,DS,ES,SS)总线控制逻辑地址形成逻辑8088CPU:4字节8086CPU:6字节指令队列寄存器:指令指针寄存器(IP)由先进先出)组成。3.28086/8088微处理器的功能结构3.28086/8088微处理器的功能结构BIU主要负责从存贮器指定区域取出指令并将取出的指令送指令队列寄存器中排队,当EU执行的指令需要和外部存贮器或者I/O端口之间进行数据传送时,BIU就停止取指令,为EU服务,完成这次总线操作;或者当指令队列满时,BIU也停止取指令的操作。3.28086/8088微处理器的功能结构3.28086/8088微处理器的功能结构二.执行单元(EU)通用寄存器(8个)EU控制器算术/逻辑运算单元(ALU)标志寄存器(FLAG)(即PSW)由组成。EU主要负责从指令队列寄存器中获取指令,并对指令加以执行,完成指令所规定的操作。同时也负责算术/逻辑运算以及进行内存有效地址的计算等。3.28086/8088微处理器的功能结构3.28086/8088微处理器的功能结构综上所述,8086/8088CPU执行程序的过程如图3.2.2所示。……t忙忙忙忙忙取指令1取指令2取指令3取指令4取指令5执行1执行2执行3执行4执行5……tt图3.2.28086/8088CPU执行程序的过程如果指令队列空,则EU处于休闲状态。3.28086/8088微处理器的功能结构3.28086/8088微处理器的功能结构从图中可以看出,EU和BIU进行的操作是并行的。即EU从指令队列取指令、执行指令和BIU补充指令队列的工作是同时进行的。这样大大提高了CPU的利用率,也降低了CPU对存贮器速度的要求。同时也提高了总线的利用率。3.38086/8088CPU的寄存器组织3.38086/8088CPU的寄存器组织8086/8088CPU内部共有