您好,欢迎访问三七文档
1第二章8086/8088微处理器一、微型计算机结构二、8086/8088的编程结构三、8086/8088的寄存器组四、8086/8088的存储器组织五、8086/8088的I/O组织六、操作时序2运算器寄存器控制部件系统软件:DOS、Windows95/98/2000/xp应用软件:WPS、Word、Photoshop微处理器CPU存储器(RAM,ROM)I/O接口总线硬件软件微型计算机系统微型计算机(主机)外设键盘、鼠标显示器软驱、硬盘、光驱打印机、扫描仪一、微型计算机系统结构微型计算机外部结构如下图所示(三总线结构)微型计算机外部结构存储器I/O接口输入设备I/O接口输入设备CPU由上图看出,微机与外部交换信息通过总线控制。采用三总线结构AB、DB、CB.三组总线(8086):地址总线AB(ADDRESSBUS):通常20位,单向,A19~A0,可寻址220=1MB内存单元。A15~A0,可寻址216=65536外设接口。数据总线DB(DATABUS):通常16位,D15~D0,双向,实现CPU与I/O传送。控制总线CB(CONTROLBUS):传送控制信号。58086/8088简介8086:对外有16根数据线,20根地址线可寻址的内存单元数220=1M内存地址范围(16进制形式):00000H~FFFFFH8088:内部寄存器、运算部件及内部操作均按16位设计,除对外数据线为8根外,其余与8086基本相同。为与当时已有的8位外设接口芯片兼容。IBMPC、IBPPC/XT采用8088CPU80868086CPU结构特点小结:(1)内部结构是16位的(内部寄存器,内部运算部件,内部操作按16位设计);(2)外部数据总线16条,能处理16位数据,也能处理8位数据;(具有16位运算指令,包括*、/指令)(3)20条地址总线,直接寻址能力1M字节;(4)40条引线封装;(5)单相时钟;(6)电源为5V。8086与8088的主要区别在于8088的外部数据总线8位。7二、8086/8088的编程结构编程结构:指从程序员和使用者的角度看到的结构。与芯片内部的物理结构和实际布局有区别。某CPU芯片内部实物图81.总线接口部件BIU(BusInterfaceUnit)→运输部门2.执行部件EU(ExecuteUnit)→加工部门3.工作原理8086编程结构8086编程结构:DSESSSCSIP数据暂存器执行部件控制电路指令译码器总线接口控制电路AXBXCXDXAHBHCHDHSIDIBPSPALBLCLDL寄存器组BIUABDBCB地址加法器指令队列PSW标志寄存器EU运算器DSESSSCSIP数据暂存器执行部件控制电路指令译码器总线接口控制电路AXBXCXDXAHBHCHDHSIDIBPSPALBLCLDL寄存器组BIUABDBCB地址加法器指令队列FLAGS标志寄存器EU运算器91.总线接口部件BIU构成部分•4个16位段寄存器:CS,DS,ES,SS•16位IP指令指针寄存器•20位地址加法器•6字节的指令队列(8088的指令队列为4字节)•总线控制电路(包括三组总线):处理器与外界总线联系的转接电路。主要功能负责与存储器、I/O接口传递数据具体完成:(1)从内存取指令,送到指令队列;(2)配合执行部件从指定的内存单元或I/O端口取数据;(3)将执行部件的操作结果送到指定的内存单元或I/O端口。DSESSSCSIP数据暂存器执行部件控制电路指令译码器总线接口控制电路AXBXCXDXAHBHCHDHSIDIBPSPALBLCLDL寄存器组BIUABDBCB地址加法器指令队列PSW标志寄存器EU运算器DSESSSCSIP数据暂存器执行部件控制电路指令译码器总线接口控制电路AXBXCXDXAHBHCHDHSIDIBPSPALBLCLDL寄存器组BIUABDBCB地址加法器指令队列FLAGS标志寄存器EU运算器102.执行部件EU构成部分:•8个16位寄存器:AX、BX、CX、DXSP、BP、DI、SI•1个标志寄存器FLAGS•1个算术逻辑运算部件ALU主要功能执行部件负责指令的执行。(包括算术、逻辑运算,控制命令等)DSESSSCSIP数据暂存器执行部件控制电路指令译码器总线接口控制电路AXBXCXDXAHBHCHDHSIDIBPSPALBLCLDL寄存器组BIUABDBCB地址加法器指令队列PSW标志寄存器EU运算器DSESSSCSIP数据暂存器执行部件控制电路指令译码器总线接口控制电路AXBXCXDXAHBHCHDHSIDIBPSPALBLCLDL寄存器组BIUABDBCB地址加法器指令队列FLAGS标志寄存器EU运算器113.工作原理计算机的工作过程是:取指令,执行指令CPU总线内存FLAGS标志寄存器执行部件控制电路DSESSSCSIP数据暂存器指令译码器AXBXCXDXAHBHCHDHSIDIBPSPALBLCLDL寄存器组指令队列总线接口控制电路运算器地址加法器、、、指令1指令2指令3指令4、、、数据1数据2数据3、、、地址总线AB数据总线DB控制总线CB地址译码器12总线接口部件和执行部件可并行工作,提高工作效率。指令的提取和执行分别由BIU和EU完成。BIU和EU相互独立又相互配合(1)当指令队列有两个空字节时,BIU自动把指令取到指令队列中(2)执行部件总是从指令队列前部提出指令去执行。(3)如果在执行指令的过程中,需要访问内存或I/O端口,EU会请求BIU去完成存取操作。8086编程结构BIUEUDSESSSCSIP数据暂存器FLAGS标志寄存器执行部件控制电路指令译码器AXBXCXDXAHBHCHDHSIDIBPSPALBLCLDL寄存器组指令队列总线接口控制电路运算器地址加法器13由于有指令队列的存在,在EU执行指令的同时,BIU可取指令,即BIU和EU可处于并行工作状态。取指取指取指取指取数取指等待执行执行执行等待执行时间8086的工作原理:BIUEU14三、8086/8088的寄存器组共有14个16位寄存器,AX,BX,CX,DX,SI,DI,SP,BP,DS,ES,SS,CS,FLAGS,IP.其中:AX、BX、CX、DX又可分成两个8位寄存器(AH,AL;BH,BL;CH,CL;DH,DL.)其它10个只能作为16位寄存器。BIU8086编程结构BIUDSESSSCSIP数据暂存器执行部件控制电路指令译码器总线接口控制电路AXBXCXDXAHBHCHDHSIDIBPSPALBLCLDL寄存器组ABDBCB地址加法器指令队列PSW标志寄存器EU运算器DSESSSCSIP数据暂存器执行部件控制电路指令译码器总线接口控制电路AXBXCXDXAHBHCHDHSIDIBPSPALBLCLDL寄存器组ABDBCB地址加法器指令队列FLAGS标志寄存器EU运算器152.8086、8088内部有14个16位寄存器•按功能分为三类:通用寄存器段寄存器控制寄存器•通用寄存器分为三类:数据寄存器:AX,BX,CX,DX地址指针寄器:SP,BP变址寄存器:SI,DI•FLAGS中:6位状态标志:OF,SF,ZF,CF,PF,AF3位控制标志:TF,IF,DFDestinationIndex目的变址寄存器SIDIBPSPAX累加器AccumulatorBX基数寄存器BaseCX计数寄存器CountDX数据寄存器DataAHBHCHDHALBLCLDLIPFLAGSDSESSSCS数据段寄存器DataSegment附加段寄存器ExtraSegment堆栈段寄存器StackSegment代码段寄存器CodeSegmentProcessorStatusWord状态标志寄存器InstructionPointer指令指针寄存器变址寄存器段寄存器控制寄存器通用寄存器SourceIndex源变址寄存器BasePoint基址指针寄存器StackPoint堆栈指针寄存器指针寄存器数据寄存器控制寄存器控制寄存器:IP、FLAGS•IP—InstructionPointer指令指针寄存器用来存储代码段中的偏移地址;程序运行过程中IP始终指向下一次要取出的指令偏移地址。IP要与CS寄存器相配合才能形成真正的物理地址。•FLAGS•标志寄存器,16位寄存器,只用了其中9位。由条件码标志FLAG、控制标志构成。(6位状态标志,3位控制标志)。如下表示。OFDFIFTFSFZFAFPFCF015245678910179个标志按其作用分状态标志和控制标志两类•状态标志:OF、SF、ZF、AF、PF、CF共6个记录指令运行过程或运算结果的状态信息。常作为后续转移指令的控制条件,又称为条件码。•控制标志:DF、IF、TF共3个作用是控制CPU的操作。151411109876420OFDFIFTFSFZFAFPFCF16位寄存器,用了其中的9位,其它7位在8086/8088中无意义。标志寄存器FLAGS1810110101被加数8位+10001111加数8位进位111111101000100和8位PSW标志寄存器运算器标志寄存器运算器被加数加数和进位例8位二进制加法如下,给出各状态标志位的值最高位D7位产生进位:CF=1D3位产生进位:AF=1相加的结果为44H,不为0:ZF=0结果的最高位为0:SF=0两负数相加结果为正,溢出:OF=1结果中有2个1,偶数个1:PF=1151411109876420OFDFIFTFSFZFAFPFCF100111192、8086的引脚功能8086引脚图参见教材8086CPU是双列直插式芯片,共有40条引脚;引脚33决定工作模式:接地,最大模式接+5V,最小模式在两种模式下引脚24~31有不同的名称和意义14080862021GNDAD14AD13AD12AD11AD10AD9AD8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLKGNDVCCA15A16/S3A17/S4A18/S5A19/S6BHE/S7MN/MXRDRQ/GT0(HOLD)RQ/GT1(HLDA)LOCK(WR)S2(M/IO)S1(DT/R)S0(DEN)QS0(ALE)QS1(INTA)TESTREADYRESET最大模式(最小模式)20地址/数据线地址/状态线非屏蔽中断可屏蔽中断最小最大模式控制MN/MX=1,最小模式MN/MX=0,最大模式读信号总线保持请求信号总线保持相应信号写信号存储器/IO控制信号M/IO=1,选中存储器M/IO=0,选中IO接口数据发送/接收信号DT/R=1,发送DT/R=0,接收数据允许信号地址允许信号中断相应信号测试信号:执行WAIT指令,CPU处于空转等待;TEST有效时,结束等待状态。准备好信号:表示内存或I/O设备准备好,可以进行数据传输。复位信号CS=FFFFH,其它为0指令队列空高8位数据总线有效/状态信号表示总线高8位AD15—AD8上数据有效21系统规模小:只含有一个8086CPU不含数字运算协处理器、输入/输出协处理器系统的控制总线直接由8086CPU的控制线供给,系统中的总线控制逻辑电路被减少到最小。1.最小模式228086在最小模式下的典型配置RESETREADY地址锁存器8282(三片)OESTB数据收发器OE8286T/RS6~S3/A19~A16AD15~AD0BHEALECLKRESETREADYMN/MXVCCGNDGNDDENDT/RM/IOWRRDHOLDHLDAINTRINTANMITEST8086CPU地址总线数据总线控制总线8284ACLK+5V内存I/O接口23系统规模较大:除8086CPU外,还可以有其它协处理器如数字运算协处理器8087输入/输出协处理器8089系统的控制总线由总线控制器8288来提供8288增强了8086CPU总线的驱动能力将8086的状态信号(S2~S0)进行译码,提供8086对存储器、I/O接口进行控制所需的信号2.最大模式248086在最大模式下的典型配置+5V地址锁存器
本文标题:微机原理
链接地址:https://www.777doc.com/doc-5230041 .html