信息工程学院信息论教研室1第二章微处理器和系统结构信息工程学院信息论教研室2本章内容提要本章主要介绍•微处理器(CPU)的主要组成部分及各部分功能•Intel8086微处理器组成结构、引脚信号及功能•86系统组成•高性能微处理器简介信息工程学院信息论教研室3第一节微处理器的基本结构信息工程学院信息论教研室4微处理器的主要组成部件微处理器(CPU)由下列主要部分组成:•算术逻辑单元ALU•控制器•寄存器阵列•总线和总线缓冲器高性能的CPU还有:指令预取部件,指令译码部件、地址形成部件、存储器管理部件等。信息工程学院信息论教研室5一、算术逻辑运算单元(ALU)ALU是对二进制数进行算术逻辑运算的基本部件。数据加工处理可归纳为两种基本运算:算术运算,逻辑运算。信息工程学院信息论教研室6一、算术逻辑运算单元(ALU)(续)算术运算:可进行无符号数和带符号数的加、减、乘、除运算,符号数采用补码表示,减法通过求负数的补码而变成加法运算。还可进行BCD码运算。乘、除可以通过多次重复加、减和移位实现。信息工程学院信息论教研室7一、算术逻辑运算单元(ALU)(续)例如:1311=143=8FH1101采用部分积左移和加法1011可完成二进制乘法。————11011101←部分积左移0000+.1.1.0.1————————10001111信息工程学院信息论教研室8一、算术逻辑运算单元(ALU)(续)逻辑运算:可完成逻辑“与”、“或”、“非”、“异或”、“移位”等基本的逻辑运算。浮点运算:浮点数可以看作是由两个定点数组成,尾数与阶码。在对阶后可以对尾数进行运算。浮点数运算可以用软件实现。也可以专门生产浮点运算部件和浮点微处理器,并设有专门的浮点运算指令,可进行32位或64位浮点加、减、乘、除运算。Pentium处理器已把浮点处理器与主处理器集成到一个芯片上。早期的浮点处理器有:8087、80287、80387协处理器。信息工程学院信息论教研室9一、算术逻辑运算单元(ALU)(续)ALU框图如下:(P28图2.1)DAA部件FlagR信息工程学院信息论教研室10二、控制器CTRL是发布操作命令的部件,操作的顺序需要精确的定时,其内部主要组成如下:1、指令部件包括程序计数器(PC),指令寄存器(IR),指令译码器(ID)。2、时序部件包括时钟系统,脉冲分配器。3、微操作控制部件可采用组合逻辑控制,微程序控制和可编程逻辑阵列(PLA)来实现。信息工程学院信息论教研室11二、控制器(续)控制器的组成框图(P图2.2)信息工程学院信息论教研室12二、控制器(续)时钟周期(Tstate):主时钟的两个脉冲前沿的时间间隔称为一个时钟周期,又称为T状态。它CPU操作的最小时间单位。机器周期:由2~5个T状态组成一个机器周期(MachineCycle),称为M周期,又叫做总线周期,用来完成一个基本操作,如MEM读/写,I/O读/写等。指令周期:一条指令(的取出和)执行所需的时间称为指令周期(InstructionCycle),一条指令执行需1~5个M周期。信息工程学院信息论教研室13二、控制器(续)∬∬M2M5CLKT4T3T1T2M1机器周期指令周期(包括1~5个机器周期)指令周期、机器周期与时钟周期的关系如下图信息工程学院信息论教研室14二、控制器(续)微操作控制部件:根据指令产生计算机各部件所需要的控制信号,如传送、加减、逻辑运算等,由译码器输出、节拍发生器输出等进行组合而产生,完成指令所规定的全部操作。信息工程学院信息论教研室15二、控制器(续)该部件可采用:•组合逻辑控制(控制信号采用组合逻辑电路设计实现);•微程序控制(若干微指令组成的微程序);•可编程逻辑阵列(PLA、EPLD等)PLA(ProgrammableLogicArray)EPLD(ElectricallyProgrammableLogicDevice)等方法实现。信息工程学院信息论教研室16三、总线与总线(缓冲器)部件所谓总线是指计算机中传送信息的一组通信线,将多个部件连成一个整体。可以简单分为:片内总线:在CPU内部或部件内部各单元之间传送信息的总线(又可细分为单总线、双总线(输入/输出BUS)、多总线结构);片外总线:CPU与外部部件之间传送信息的总线。片外总线又称为系统总线,通常系统总线分为地址总线、数据总线、控制总线,即所谓三总线结构。信息工程学院信息论教研室17三、总线与总线(缓冲器)部件(续)因为多个部件均挂在总线上,但各部件工作情况并非完全一样(有的作为信源发,有的作为接收器收)。由于数据或信息代码是用电位高低来表示,若某一时刻有几个部件同时向BUS发送数据,则BUS上的情况就成为不确定的了,电路也可能被烧毁。所以同一时刻只允许一个部件向BUS发送信息。而接收数据就没有上述限制,同一时刻可允许多个部件接收数据。信息工程学院信息论教研室18三、总线与总线(缓冲器)部件(续)总线缓冲器:在工作过程中,常常要求挂在BUS上的某些部件在电气连接上与BUS“脱开”,使这些部件对BUS上其它部件的工作不产生影响,为此,可在部件内部设置三态缓冲器。DATA→3态BUF→BUS;三态缓冲器(3态BUF)处于:低阻(高低电平)→挂BUS上;高阻→逻辑上脱开。信息工程学院信息论教研室19三、总线与总线(缓冲器)部件(续)“脱开”状态:处于高阻状态,开路状态,浮空状态;逻辑上“脱开”,物理上仍连在一起。总线缓冲器分为:•单向三态缓冲器,如地址总线缓冲器只发地址信息,(地址BUS是单向的);•双向三态缓冲器,如数据总线缓冲器,既可发又可收数据(数据BUS是双向的)。信息工程学院信息论教研室20三、总线与总线(缓冲器)部件(续)采用总线结构的优点是:※减少信息传输线数目;※提高系统的可靠性;※增加系统灵活性;※便于实现系统标准化。信息工程学院信息论教研室21四、寄存器阵列(RegisterArray)在CPU内部,有一个临时存放地址和数据的寄存器阵列。这个阵列因CPU的不同而不同,有的称寄存器堆,寄存器多少有差别,但其功能相似。寄存器阵列大致分为以下四组:1.存放待处理数据的寄存器;2.存放地址码的寄存器;3.存放控制信息的寄存器;4.起数据或地址缓冲器作用的寄存器。信息工程学院信息论教研室22四、寄存器阵列(RegisterArray)(续)存放地址的寄存器1.指令指针(IP)或程序计数器(PC:ProgramCounter);2.堆栈指示器(SP:StackPointer);3.其它可存放地址的寄存器(Register),例如变址REG、基址REG。存放数据的REG1.累加器(AC:Accumulator);2.通用REG组,A,B,C,D等。信息工程学院信息论教研室23四、寄存器阵列(RegisterArray)(续)存放控制信息的REG1.指令寄存器(IR:InstructionRegister)指令代码;2.标志寄存器(FR:FlagRegister),通常设有SF、ZF、AF、PF、CF、OF、IF、DF等标志。起数据缓冲作用的REG1.数据总线缓冲REG(DBUF:DataBUSBuffer);2.地址总线缓冲REG(ABUF:AddressBUSBuffer)。三态,单向,内外部地址BUS之间缓冲。信息工程学院信息论教研室24第二节Intel8086微处理器信息工程学院信息论教研室258086微处理器•8086是一种单片微处理器芯片,内外部数据总线16位,对外40条引脚,主时钟5MHz、8MHz、10MHz等。20条地址引脚,直接寻址220=1MByte,可访问64K个I/O端口,具有24种寻址方式,可以对位、字节、字、字符串、字串、BCD码、ASCll码等多种数据类型进行处理。信息工程学院信息论教研室26一、8086的寄存器阵列CPU内部有4组REG,共14个16位REG供编程人员使用。1.通用REG组AX主累加器BX累加器或基址REGCX累加器或计数器DX累加器或I/O地址REGAHALBHBLCHCLDHDL信息工程学院信息论教研室27一、8086的寄存器阵列(续)2.指针与变址REG组堆栈指针基址指针源变址器目的变址器SPBPSIDI变址REG指针REG信息工程学院信息论教研室28一、8086的寄存器阵列(续)3.段REG组代码段数据段堆栈段附加段段REG是存放内存地址的高位地址,地址形成是由段寄存器地址左移4位加上对应的偏移量。CSDSSSES信息工程学院信息论教研室29一、8086的寄存器阵列(续)例如:被取指令的地址为CS左移4位加上IP的值。若CS=2000H,IP=0100H则指令地址为20000H+0100H———————20100HSS段与SP或BP对应;DS/ES与SI、DI、BX等结合使用,串操作时有约定。信息工程学院信息论教研室30一、8086的寄存器阵列(续)4.控制REG指令指针标志REGIPFRHFRL信息工程学院信息论教研室31二、8086CPU的功能结构8086CPU按功能可分为两大部分:•一部分为BIU(BUSInterfaceUnit);专门负责取指令和存取操作数。它与BUS打交道。•一部分为EU(ExecutionUnit)。专门负责分析指令与执行指令。它不与系统BUS打交道。信息工程学院信息论教研室32二、8086CPU的功能结构(续)8086内部结构框图信息工程学院信息论教研室33二、8086CPU的功能结构(续)BIU与外部总线打交道,负责取指令、读写操作数、地址转换与总线控制;EU负责指令译码与执行指令的工作。取指令与执行指令操作是并行的,提高了CPU的利用率,这种重叠操作技术,提高了整个系统的运行速度。信息工程学院信息论教研室34二、8086CPU的功能结构(续)早期的计算机取指令、执行指令是按照时间顺序进行的。而8086CPU是二者并行同时操作的。如图:t队列BIUEUt重叠执行指令的过程取指1执行1取指2执行2………………12,33,4,54,5,6…………取指令1取指令2取指令3读数据…………等待执行1执行2执行3…………信息工程学院信息论教研室35二、8086CPU的功能结构(续)1.BIU总线接口单元8086CPU与外设的接口部件,提供16位数据总线与20位地址总线。•内部由段REG、IP、内部通信REG、指令队列、地址加法器和总线控制逻辑等组成;•完成取指令、指令排队、读/写操作数、地址转换与总线控制等工作;•队列为先进先出原则组织FIFO(FirstInFirstOut),实现流水线操作,高性能CPU更是如此。8086有6个Byte指令队列;需要两个指针,OUT与IN指针;信息工程学院信息论教研室36二、8086CPU的功能结构(续)•当遇到BIU正准备取指令而EU→BIU申请读/写MEM或I/O时,则先取指令,后读/写操作数;•当队列中当前有两个字节空间时,BIU顺序预取指令并填满队列;•当遇到CALL、JMP、INTn等指令时,先把IP压入堆栈,再清除队列,再重新取满队列;信息工程学院信息论教研室37二、8086CPU的功能结构(续)2.EU执行单元•组成:ALU、FR、8个通用REG、暂存器、队列控制逻辑与时序控制逻辑(EU控制器)等;•完成工作:指令译码与执行指令;•EU没有连接到总线上,所以对系统总线来说,它是“外界”的。信息工程学院信息论教研室38三、8086CPU引脚及其功能8086CPU引脚图信息工程学院信息论教研室398086/88管脚描述8086:16位微处理器,16位外部数据总线8088:16位微处理器,8位外部数据总线信息工程学院信息论教研室40三、8086CPU引脚及其功能(续)1.AD15~AD0:(地址/数据复用信号)16条,双向,三态地址/数据线,输入/出信号,多路开关,分时复用(低16位地址线与16位数据线公用这些引线),从时间上加以区分。在T1周期,输出MEM或I/O口地址,T2~T4则为数据收发信号。信息工程学院信息论教研室4