微机系统原理与接口技术1第二章:微处理器与系统结构微处理器分类及性能指标8086/8088微处理器结构8086/8088的总线操作及时序8086/8088的存储器与IO组织结构80X86微处理器结构微机系统原理与接口技术280X86微处理器芯片的性能指标字长指令数运算速度访问内存储器空间虚拟存储空间多处理器系统指令作业方式芯片制造工艺微机系统原理与接口技术3字长•决定了CPU表示数据的精度•提高了CPU的相对运行速度•典型CPU字长CPU并行处理数据的位数,与数据总线宽度有关。8088——8bit8086——16bit80386——32bitPentium——32bit,64bit微机系统原理与接口技术4指令数•基本指令133条•扩展指令数千条确定了CPU能执行的功能。功能不同指令助记符形式不同不同寻址方式和不同寄存器的组合微机系统原理与接口技术5运算速度计算机完成操作的时间指标。•用指令执行时间测量(单位μs)•用每秒执行指令数测量(单位MIPS)。•提高速度的方法•提高CPU主频•减少指令执行所需时钟周期数•增加数据线条数•取指令和执行指令时间重叠•双CPU微机系统原理与接口技术6访存空间•Z80CPUAB=16访存空间=216=64K•8086CPUAB=20访存空间=220=1M•80286CPUAB=24访存空间=224=16M•80386CPUAB=32访存空间=232=4GCPU能访问的内存储器单元容量,与地址总线宽度有关。微机系统原理与接口技术7虚拟存储空间用硬件和软件的综合技术来扩大用户可用存储空间。•主存储器是基础•高速缓存很重要•外存储器是根本微机系统原理与接口技术8多处理器系统微处理器+协处理器。•徽处理器完成系统的主要功能•协处理器完成系统的特殊功能•微处理器芯片8086•浮点协处理协处理器芯片8087•控制总线协处理协处理器芯片8288微机系统原理与接口技术9指令作业方式取指令与执行指令的时间分配。•取指令与执行指令分时进行•取指令与执行指令同时进行传统8位CPU工作方式80X86CPU工作方式微机系统原理与接口技术10芯片制造工艺工艺的改进带来更高的芯片集成度。•集成度从早期的每片数千个晶体管数量级到近期的每片数百万个晶体管数量级。•线条宽度从微米级到纳米级•主频从数兆赫兹到数千兆赫兹。微机系统原理与接口技术118086/8088CPU功能结构图EU控制器ALU暂存器标志寄存器8位队列总线总线控制逻辑内部总线16位地址加法器20位地址总线16位数据总线执行部件EU总线接口部件BIU123456指令队列通用寄存器AXAHALBXBHBLCXCHCLDXDHDLSPBPDISICSDSSSES80888086IP暂存器8086总线微机系统原理与接口技术128086CPU内部结构8086CPU从功能上可分为下面两个部分执行部件——EU(ExceutionUnit)接口部件——BIU(BusInterfaceUnit)8086CPU的核心8086CPU的特点微机系统原理与接口技术13执行部件——EU•16位运算器ALU•8位控制单元•16位寄存器组•算术及逻辑运算(同8位机)•16位偏移地址运算(8086特点)•从BIU的指令队列中取指令注:未经总线读取指令•对指令进行译码并产生不同的控制信号•16位通用寄存器AX,BX,CX,DX,BP,SP,SI,DI•16位状态标志寄存器Flag微机系统原理与接口技术14接口部件——BIU•指令队列缓冲器•16位指令指针寄存器—IP•16位段寄存器—CS、DS、ES、SS•20位地址产生器•总线控制器微机系统原理与接口技术15指令队列缓冲器8088为4字节、8086为6字节。为先进先出结构指令队列中只要有一条指令,EU就开始执行指令队列只要未满,BIU自动执行取指操作,直到填满为止若EU要对存储器单元、IO端口存取数据,BIU在执行完现行取指操作周期后进行。当执行转移指令时,EU要求BIU从新的地址中重新取指。队列中原有指令被清除。新取得的第一条指令直接送EU执行,随后取得的指令填入队列接口部件——BIU微机系统原理与接口技术16指令队列缓冲器的特点经总线从代码段取指令,送EU译码接口部件——BIU取指——总线忙执指——总线闲取指、执指——重叠取指、执指——总线忙Z80CPU的取指、执指(没有指令队列)8086CPU的取指、执指(有指令队列)微机系统原理与接口技术17指令队列缓冲器的优点在一条指令的执行过程中可以取出下一条(或多条)指令指令在指令队列中排队在一条指令执行完成后,就可以立即执行下一条指令减少CPU为取指令而等待的时间提高CPU的利用率和整个运行速度接口部件——BIU微机系统原理与接口技术1816位指令指针寄存器—IP接口部件——BIU8位机中的程序计数器PC16位机中的指令指针寄存器IP•地址总线AB=16bit•程序计数器PC=16bit•地址总线AB=20bit•指令指针寄存器IP=16bit注:PC指向存储器单元的实际地址注:IP指向存储器单元的偏移地址微机系统原理与接口技术1916位段寄存器CS、DS、ES、SS接口部件——BIU8086CPU的AB=20bit,REG=16bit,怎样用16位寄存器表示20位存储器实际地址。将8086CPU能访问的1M存储器空间分为多段,每段长为64K个存储单元(段内偏移地址为16位)。将段首存储器单元地址值的高16位值放入段寄存器,称段首地址或段地址。CS、DS、ES、SS为存放段地址的寄存器,不同段的段地址放入所对应的段寄存器。微机系统原理与接口技术20地址产生器接口部件——BIU输入输出公式段寄存器中的16位段首地址(逻辑地址)内总线中来的16位段内偏移地址(逻辑地址)20位实际地址(物理地址)实际地址=段首地址*16+段内偏移地址实际地址=段首地址←4+段内偏移地址微机系统原理与接口技术21实际地址生成过程CS左移4位20位+地址加法器CS16位物理地址20位IP微机系统原理与接口技术22例:段地址为2F86H,偏移地址为2A3BH问:该存储器单元的实际地址PA为多少PA=段地址←4+偏移地址=2F86H←4+2A36H=2F860H+2A36H=32296H注:存储单元的物理地址值惟一,而逻辑地址可变。微机系统原理与接口技术23总线控制器•数据线/地址线复用技术•数据线、地址线的分离过程接口部件——BIUCPU芯片的数据线和地址线为同线引出地址、数据信息的分时操作(时间)地址锁存与数据缓冲(空间)控制线的作用(同步控制)微机系统原理与接口技术248088/8086CPU的寄存器结构数据寄存器地址指针及变址寄存器控制寄存器组段寄存器组AXAHAL累加器BXBHBL基址寄存器CXCHCL计数寄存器DXDHDL数据寄存器通用寄存器组SP堆栈指针BP基址指针SI源变址指针DI目的变址指针IP指令指针FLAG标志寄存器CS代码段寄存器DS数据段寄存器SS堆栈段寄存器ES附加段寄存器15870微机系统原理与接口技术258086CPU的寄存器结构寄存器使用特点•在指令助记符中•在程序设计中寄存器用名定义寄存器用名访问注:存储器、I/O使用特点为用地址访问。微机系统原理与接口技术268086CPU的寄存器结构寄存器分类特点•通用数据寄存器•通用地址寄存器•段寄存器•指令指针寄存器•标志寄存器注:均为16位寄存器,共14个——AX、BX、CX、DX——SP、BP、SI、DI——CS、DS、ES、SS——IP——F微机系统原理与接口技术278086CPU的寄存器结构通用数据寄存器•16位通用数据寄存器(4个)•8位通用数据寄存器(8个)AXBXCXDXAHBHCHDHALBLCLDL注:为了满足兼容性,可8位、16位使用微机系统原理与接口技术288086CPU的寄存器结构通用数据寄存器常用功能•AX——累加器•BX——基数寄存器•CX——计数器•DX——数据寄存器微机系统原理与接口技术298086CPU的寄存器结构通用地址寄存器——SP、BP、SI、DI•仅有16位使用,称地址指针寄存器•用于存放存储器段内偏移地址•常用功能BP——堆栈基址指针SP——堆栈栈顶指针SI——源变址指针DI——目的变址指针微机系统原理与接口技术308086CPU的寄存器结构通用寄存器使用特点一般情况下,通用寄存器可以用于任何指令的任意操作,并且可以相互替换。16位的通用数据寄存器可分解为2个8位的使用,它是同一个物理介质。如果它已存储了一个16位的数据,就不能同时存储另外的2个8位数据。通用地址寄存器不能分解为8位使用。有些操作规定只能使用某个特定的寄存器,即寄存器的特殊用法。微机系统原理与接口技术31AXBXCXDX8086CPU的通用寄存器总结目的变址指针(DestinationIndex)DI源变址指针(SourceIndex)SI基址指针(BasePointer)BP堆栈指针(StackPointer)SP数据寄存器(Data)DLDHDX计数寄存器(Count)CLCHCX基址寄存器(Base)BLBHBX累加器(Accumulator)ALAHAX数据寄存器可分为两个8位,主要用于数据操作地址指针主要用于地址操作16位88微机系统原理与接口技术328086CPU的寄存器结构段寄存器——CS、DS、ES、SS•仅有16位使用•用于存放存储器段首地址•指令中CS不能赋值•常用功能CS——存放代码段段首地址SS——存放堆栈段段首地址DS——存放数据段段首地址ES——存放附加段段首地址微机系统原理与接口技术338086CPU的寄存器结构指令指针寄存器——IP•仅有16位使用•用于存放代码段内的偏移地址•与CS寄存器构成指令的20位实际地址•指令中IP不能赋值微机系统原理与接口技术348086CPU的寄存器结构标志寄存器——F•16位寄存器中仅定义了9位•可位操作控制位值•6个状态位——CF、OF、ZF、SF、AF、PF•3个控制位——TF、DF、IFOFDFIFTFSFZFAFPFCFD15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0微机系统原理与接口技术35标志寄存器——F状态标志执行某些指令后,结果的状态(非结果本身)标志存入F,根据状态控制后续指令的执行。•CF——无符号数运算进位/借位标志(CarryFlag)•OF——有符号数运算溢出标志(OverflowFlag)•AF——辅助进位/借位标志(AuxiliaryCarryFlag)•ZF——运算结果为0时的标志(ZeroFlag)•SF——运算结果为负数时的标志(SignFlag)•PF——运算结果数据中奇偶检测标志(ParityFlag)微机系统原理与接口技术36标志寄存器——F控制标志由指令直接赋值,控制标志决定后续指令的执行情况。•TF——跟踪(陷阱)标志位(TrapFlag)•DF——方向控制标志位(DirectionFlag)•IF——中断允许/禁止标志位(InteruptFlag)使CPU处于单步执行指令方式,便于程序调试用于串操作指令,控制串地址指针自动增减的方向外部可屏蔽中断是否响应的控制标志微机系统原理与接口技术37标志寄存器——FDebug调试程序中状态标志的符号表示标志名标志为1标志为0OF溢出(是/否)OVNVDF方向(减量/加量)DNUPIF中断(允许/关闭)EIDISF符号(负/正)NGPLZF零(是/否)ZRNZAF辅助进位(是/否)ACNAPF奇偶标志(偶/奇)PEPOCF进位标志(是/否)CYNC微机系统原理与接口技术388086CPU的寄存器结构段寄存器与通用寄存器的组合使用特点•CS:IP——构成代码段指令存放地址•SS:SP——构成堆栈段栈顶地址•SS:BP——构成堆栈段基数地址•DS:SI——构成源数据串地址•ES:DI——构成目的数据串地址•DS:BX——构成数据段