第4章微处理器系统.ppt
基本概念基本概念(总线、堆栈等总线、堆栈等)微处理器的一般结构微处理器的一般结构 Intel 8086Intel 8086微处理器的结构微处理器的结构本章内容本章内容本章内容本章内容 了解三总线及堆栈的工作原理。了解三总线及堆栈的工作原理。掌掌握握微微处处理理器器的的一一般般结结构构、算算逻逻部部件件ALUALU、寄存器结构、控制部件。寄存器结构、控制部件。重重点点掌掌握握Intel Intel 80868086微微处处理理器器的的结构。结构。学习目的学习目的学习目的学习目的4.1 4.1 基本概念基本概念一、总线一、总线一、总线一、总线1.1.1.1.总线的由来总线的由来总线的由来总线的由来在在计计算算机机中中,CPU与与其其他他功功能能部部件件之之间间存存在在大大量量的的信信息息交交流流,其其间间就就需需要要使使用用通通信信线线路路连连接接起起来来,通通信信线线的的设设置置和和连连接接可采用两种方式。可采用两种方式。(1)专专线线式式:将各个功能部件分别设置与其他部件通信的线路,优优点点:传送速率高,它只受传送线本身的限制,且控制简单。缺缺点点:机器所需要的信息传送线数量大,增加了复杂性,不便于实现机器的模块和积木化。(2)总总线线式式:在多个功能部件之间设置公共的通信线即总线。图图中中当当A和和A门门打打开开时时,信信息息由由A传传至至A;A和和C 门打开时,信息便从门打开时,信息便从A传至传至C 。ABCABC 总 线 示 意 图 总线上能同时传送二进制信息的位数称为总线宽度。见下图。由于采用了分时传送的总线结构从而大大减少了机器中信息传送线的数目。a.分时传送:分时传送:多个部件并联在总线上,某一时刻,只允许一路信息在总线上传送。b.控制复杂控制复杂:总线的发送端及接收端均有三态门电路。打开三态门信息经总线传送到目的端。若不传送信息,则使三态门处于高阻状态,相当于此部件在逻辑上与总线脱离联系。c.系统结构简单,便于扩展系统结构简单,便于扩展。特点:特点:2.2.2.2.总线的分类总线的分类总线的分类总线的分类 总线按信息传送的方方向向可分为单单向向总总线线和双向总线双向总线。单向总线单向总线只能向一个方向发送信息。双向总线双向总线则可在两个方向传送。总线按所传信息的类别,通常分为数数据总线据总线,地址总线地址总线和控制总线控制总线。(1)数据总线数据总线 (Data Bus)是微微处处理理器器与存存储储器器和I/O电电路路间数据交换的通道,可双双向向传送。数据总线的宽宽度度一般与微处器处理数据的字字长长相同,三状态。(2)地址总线地址总线 (Address Bus)是微处理器输输出出地地址址用的总线,它将地址送到存储器或I/O电路,用来确定存储器中信息存放的地址或I/O电路的地址,AB一般为单向、三状态。(3)控制总线控制总线 (Control Bus)是用来传送控控制制信信号号,使各功能部件动作同步。(1)片内总线片内总线指微处理器内部各逻逻辑辑单单元元之之间间的传输线,主要是数据总线,是为算术逻辑部件ALU和寄寄存存器器之间传送操作数和结果而设计的。有单单总总线线、双双总总线线、三三总线总线结构之分。总线按规规模模、用用途途及应应用用场场合合又可分为以下几种:(2)芯片总线芯片总线指微型机中各功能芯芯片片之之间间的传输线,又称元元件件级级总总线线。是构成一块CPU插板或组成一个微机小系统时常用的总线。(3)内总线内总线指微型机内连接各插件板的总线,又称板板级级总总线线或系系统统总总线线。其标准很多,现列举几种常用的标准总线。a.S-100系统总线:系统总线:是一种实实用用性性微型机总线标准,具有100根引线,主要支持8bit微处理器,1979年美国的IEEE微处理机标准委员会修改后取名为IEEE-696标准总线。b.MULTIBUS多多总线:总线:是多于一个控制单元控制的总线,由Intel公司推出,MULTIBUS-I支持8bit、16bit微处理器,MULTIBUS-II支持32bit微处理器,1987年经IEEE微处理机标准委员会审定为IEEE-P1296标准总线。c.STD总线:总线:是美国PRO-LOG公司和MOSTEK公司于1978年联合推出的工业控制标准总线,共有56根信号线,是8bit/16bit兼容总线。d.PC总线及总线及EISA总线:总线:是美国IBM公司推出针对Intel-8086微处理器设计的,共有62根信号线。为了与Intel-80286等高性能16bit微处理器兼容,IBM公司在PC总线上增加了一个36引脚的扩展插座而形成AT总线,这种结构称之为IBM公司标准结构,简称ISA(Industrial Standard Architecture),COMPAQ公司推出了扩展工业标准总线,即EISA(Extend Industry Standard Architecture)总线。是支持32bit的标准总线。e.VME总线:总线:是美国MOTOROLA公司于1981年提出,针对16bit和32bit微处理器设计的。该总线在采用单总线连接器时为96条信号线,支持16bit数据线,24bit地址线;双总线连接器结构则支持32bit,此时信号线为128条,可支持四个主CPU模板进行运行。(4)外总线外总线指微型计算机系统与系统之间或微机系统与外部设备之间的通信线,又称通通信信总总线线。CPU与外部设备的基本通信方式有两种:a.并并行行通通信信:数据各位同时传送,有多少位数据就有同样数量的传送线。b.串串行行通通信信:数据逐位顺序传送,适宜长距离传送。二、堆栈二、堆栈二、堆栈二、堆栈用作数据暂时存储的一组寄寄存存器器或存存储储单元单元称为堆栈。堆栈操作有两种:压压入入(PUSH)和和弹弹出出(POP),而SP始终指向堆栈栈顶的新位置。1.1.1.1.堆栈的定义堆栈的定义堆栈的定义堆栈的定义 堆栈中数据按“后后进进先先出出”的结构方式进行处理,即新入栈的依次堆放在原来数据之上,存放信息的最后一个单元叫做栈栈顶顶,用堆栈指针SP(Stack Pointer)指示。2.2.2.2.堆栈编址结构的两种形式堆栈编址结构的两种形式堆栈编址结构的两种形式堆栈编址结构的两种形式(1)向上生成向上生成该结构中,每压压入入一个数据,堆栈指示器SP按增增量量修改,每弹弹出出一个数据,SP按减量减量修改。(2)向下生成向下生成该结构中,每压压入入一个数据,SP按减减量量修改,每弹出弹出一个数据,SP按增量增量修改。3.3.3.3.构成堆栈的两种形式构成堆栈的两种形式构成堆栈的两种形式构成堆栈的两种形式 一种是使用微处理器内部的一种是使用微处理器内部的一组寄存一组寄存器器作为堆栈。作为堆栈。优点优点:访问速度快。:访问速度快。缺点:缺点:寄存器数量有限。寄存器数量有限。另另一一种种形形式式是是在在随随机机存存储储器器RAMRAM中中开开辟辟一一个个区区间间供供堆堆栈栈使使用用,较较为为普普遍遍;若若编编址址采用向下生成,其堆栈操作如下图所示。采用向下生成,其堆栈操作如下图所示。堆栈操作示意图(向下生成)M3M2M1MXSP(a)M3M2M1MXSP(b)AM3M2M1MXSP(c)ABSPASPBSPC当前栈顶地址为当前栈顶地址为M,存内容存内容X信息信息B进栈:进栈:SPSP1,SP指定的地址指定的地址B信息信息A进栈分两步操进栈分两步操作作:SPSP1,SP指定的地址单元指定的地址单元A 堆栈操作示意图(向下生成)MM3M2M1XSP(d)ABCM3M2M1MXSP(f)ABCM3M2M1MXSP(e)ACBSPDSPCSPB信息信息C进栈进栈信息信息C出栈分两步操作:指定出栈分两步操作:指定的目的地的目的地C,SPSP+1信息信息B出栈:指定目的地出栈:指定目的地B,SPSP+1 堆栈操作示意图(向下生成)MM3M2M1XSP(g)ADCM3M2M1MXSP(i)ADCM3M2M1MXSP(h)ACDSPDSPA信息信息D进栈:进栈:SPSP1,SP指定的地址指定的地址D信息信息D出栈出栈信息信息A出栈,栈顶地出栈,栈顶地址仍为址仍为M由由上上图图中中可可以以看看出出,出出栈栈操操作作并并不不会会从从堆堆栈栈中中去去掉掉信信息息,也也不不擦擦除除它它们们,只只是是因因SP的自动修改而改变了堆栈的栈顶。的自动修改而改变了堆栈的栈顶。堆堆栈栈主主要要用用于于中中断断控控制制,子子程程序序调调用用以以及数据暂时存储。及数据暂时存储。存储单元存储单元(字节)(字节)存储体存储体存储器的访问过程:向存储器的访问过程:向0001单元写数据单元写数据111011011100110110001101111011011110100111101101111011011110110111101101111011011110110111101101100011011100110110001101111011010000000100100011010001010110011110001001101010111100110111101111地址地址00010001控制控制:写写数据数据1000000010000000有以下程序有以下程序main()char*p10=“abc”,“aabdfg”,“dcdbe”,“abbd”,“cd”;printf(“%dn”,strlen(p4);执行后输出结果是执行后输出结果是A)2 B)3 C)4 D)5 2.2 2.2 微处理器的一般结构微处理器的一般结构传传统统的的微微处处理理器器结结构构由由算算术术逻逻辑辑部部件件ALUALU,控控制制电电路路及及寄寄存存器器阵阵列列三三大大部部分分组组成,如下图所示。成,如下图所示。微处理器一般结构框图指令寄存器IR译码器ID操作控制器PLA控制信号片内数据总线片内数据总线通用寄存器组变址寄存器PC程序计数器SP堆栈指示器标志寄存器FR地址缓冲器芯片地址总线数据缓冲器芯片数据总线累加器暂存器ALU一、算术逻辑部件一、算术逻辑部件一、算术逻辑部件一、算术逻辑部件ALU(Arithmetic Logic ALU(Arithmetic Logic Unit)Unit)ALUALU是是执执行行算算术术运运算算、逻逻辑辑运运算算及及移移位位的的装置。装置。ALUALU有有两两个个输输入入端端,一一个个与与累累加加器器相相连连,另另一一端端与与暂暂存存器器相相连连,用用于于存存放放参参加加运运算算的的两两个数。个数。ALUALU的的输输出出端端也也有有两两个个,一一端端将将操操作作结结果果送送回回到到内内部部总总线线再再送送回回累累加加器器,另另一一端端用用于于输输出表示操作结果特征的标志信息。出表示操作结果特征的标志信息。二、寄存器阵列二、寄存器阵列二、寄存器阵列二、寄存器阵列一般包括通用寄存器、累加器、标志寄存器、专用寄存器等。寄存器的使用提升了计算机的功能和程序设计的灵活性。1.1.1.1.通用寄存器组通用寄存器组通用寄存器组通用寄存器组可用于存放数据和地址,有8bit和16bit等,CPU可直接处理这些信息,减少了访问存储器的次数,节省访问内存时间。2.2.2.2.累加器累加器累加器累加器也是数据寄存器,与ALU一起完成各种算术或逻辑运算,运算前作为ALU的一个输入,运算后常用于保存结果。CPU对I/O接口电路的读出或写入一般也是通过累加器进行的。3.3.3.3.标志寄存器标志寄存器标志寄存器标志寄存器在算术或逻辑运算时,为了保存可能发生的进进位位、溢溢出出、符符号号、全全零零及奇奇偶偶性性等状态的变化,微处理器设置标志寄存器。其所存的状态将可作为一种条件,常用于判断是否控制程序转移。4.4.4.4.专用寄存器专用寄存器专用寄存器专用寄存器(1)程序计数器程序计数器PC (Program Counter)它它是是指指令令地地址址寄寄存存器器,其其内内容容指指出出了了现现行行指令在存储器中的存放地址。指令在存储器中的存放地址。注注:当当按按PCPC的的内内容容从从存存储储器器中中取取出出指指令令时时,PCPC的内容自动加的内容自动加1 1。对对单单字字节节指指令令而而言言,则则PCPC指指向向了了下下一一条条指指令令所在的地址。所在的地址。对对多多字字节节指指令令,则则每每取取一一个个字字节节,PCPC自自动动加加1 1,当当取取出出最最后后一一个个指指令令字字节节时时,PCPC仍仍指指向向下一条指令地址。下一条指令地址。(2)堆栈指示器堆栈指示器SP (Stack Pointer)用用于于确确定定堆堆栈栈在在内内存存中中的的具具体体位位置置。SPSP总是指向总是指向栈顶栈顶。(3)变址寄存器变址寄存器 用于变址寻址,也可作通用寄存器。用于变址寻址,也可作通用寄存器。三、控制部件三、控制部件三、控制部件三、控制部件是是整整个个系系统统按按时时序序协协调调操操作作的的功功能能部部件件,包包括括IRIR、IDID定定时时及及产产生生各各种种控控制制信信号号的控制逻辑单元组成。的控制逻辑单元组成。根根据据上上述述结结构构,微微处处理理器器执执行行一一条条指指令的简要过程,如下图所示。令的简要过程,如下图所示。计算机基本工作原理计算机基本工作原理指指令令是是能能被被计计算算机机识识别别并并执执行行的的的的二二进进制制代代码码每一条指令完成一种操作。每一条指令完成一种操作。操作码操作码 操作数操作数 数据传送指令数据传送指令数据处理指令数据处理指令程序控制指令程序控制指令输入输出指令输入输出指令 其它指令其它指令 If Goto And OrCPU内存I/O设备主机对计算机的硬件进行管理等对计算机的硬件进行管理等指令指令 结构结构分分类类操作码操作码:操作类型或性质操作类型或性质操作数操作数:操作的数据或数据的地址操作的数据或数据的地址 NEXT:MOV AH,1 INT 21H CMP AL,a JB PROG2 CMP AL,z JA PROG2 SUB AL,20H MOV DL,AL MOV AH,2 INT 21H JMP NEXTPROG2:问问:1)从键盘输入小写字母)从键盘输入小写字母d时,显示器上显示时,显示器上显示 。2)转向)转向PROG2的条件是:的条件是:。微处理器执行一条指令的简要过程取取 指指 令令 指指 令令 译译 码码 取取 操操 作作 数数 执执 行行 指指 令令 存放运算结果存放运算结果 结束指令?结束指令?结束结束YN(1)PC将指令地址经地址缓冲器送到CPU外部地址总线,然后送到存储器进行地址译码。图中取图中取指令包含以下几个步骤:指令包含以下几个步骤:(2)PC+1PC,同时CPU发出“存储器读”。信号,访问存储器中某一单元。(3)经过几百ns,在外部数据总线上出现指令的第一个字节,即操作码,经由CPU内部数据缓冲器内部总线指令寄存器。(4)对于多字节指令,控制部件还会发出取第二、第三等字节的信号,每次PC+1PC2.3 2.3 程序指令的执行过程程序指令的执行过程人人们们事事先先把把一一条条条条指指令令预预选选输输到到存存储储器器中中,在在执执行行时时,机机器器把把这这些些指指令令一一条条条条地取出来,加以翻译和执行。地取出来,加以翻译和执行。例例如如:若要求机器把两个数7和10相加,其简单程序为:MOVAL,7B0ADDAL,1004HLT F470A逐逐条条按按机机器器码码表表示示在在右右边边,共共5 5个个字字节节,若若存存放放在在地地址址为为00H00H开开始始连连续续5 5个个存存储储单单元元,下面具体介绍其执行过程。下面具体介绍其执行过程。第一条指令的取指过程。第一条指令的取指过程。第一条指令的取指过程。第一条指令的取指过程。0000 00000000 00001011 00000000 01110000 01000000 10101111 01001011 0000OI2ALUI1ALBLPLAIDIR 1011 0000DB A B+1 EAB CAR D读 FDR0001020304 GPC取第一条指令的操作示意图+100001011 00001011 0000PC的内容的内容(00H)送送AR(Address Register)PC+1 PC (01H)00H经经AB送至存储器,经送至存储器,经地址译码器选中地址译码器选中00H单元。单元。CPU给出读命令。给出读命令。(00H)=B0H 读至读至DB(Data Bus)1011 0000B0H送至送至DR(Data Register)DR把把B0H送送IR经经ID 译码发出对应操作译码发出对应操作 取指令第二字节的过程如下图所示。取指令第二字节的过程如下图所示。0000 00011011 00000000 01110000 01000000 10101111 0100 010000 0111OI2ALUI1 AL0000 0111BLPLAIDIR 0000 0111DB A B+1 EAB CAR D读 FDR GPC 100000 0001取立即数的操作示意图+101 0000 0111PC的内容的内容01H送送ARPC+1 PC (02H)01H经经AB送至存储器,经地送至存储器,经地址译码选中址译码选中01H单元。单元。CPU发出读命令。发出读命令。(01H)=07H 读至读至DB0000 011107H送送DR AL0000 011107H由由DR通过内部通过内部DB送至送至AL。取第二条指令的第一个字节与第一条指令的第一个字节的取指过程相同。对此指令译码后,知为加法指令,AL的内容为一操作数,另一操作数在指令的第二字节中,其执行过程为:(9)(9)相相相相加加加加结结结结果果果果由由由由ALUALU输输输输出出出出至至至至ALAL中中中中,可可可可类类类类似似似似取第三条指令。取第三条指令。取第三条指令。取第三条指令。(7)(7)DRDR中中中中的的的的数数数数由由由由内内内内部部部部DBDB送送送送到到到到ALUALU的的的的另另另另一一一一输输输输入端。入端。入端。入端。(1)(1)(6)(6)与与与与第第第第一一一一条条条条指指指指令令令令的的的的第第第第二二二二字字字字节节节节的的的的执执执执行行行行过程相同。过程相同。过程相同。过程相同。(8)AL(8)AL中的数送中的数送中的数送中的数送ALUALU且执行加法操作。且执行加法操作。且执行加法操作。且执行加法操作。在数据区在数据区DAT地址起有地址起有10个数据,试编程序对数据进行个数据,试编程序对数据进行升序排列。将结果送升序排列。将结果送CRT显示。程序如下:显示。程序如下:STACK SEGMENTSTA DB 100DUP(?)STACK ENDS;*DATA SEGMENTDAT DB 2,67,33,78,98,1,77,43,32,76COUNT DB 10COUNT1 DB 100DATA ENDS;*CODE SEGMENTASSUME CS:CODE,DS:DATA,SS:STACKSTART:MOV AX,DATA MOV DS,AX MOV AX,0 MOV CX,AX LEA DI,DAT MOV CL,COUNT DEC CXINC DI;*LP:MOV SI,DIDEC SIMOV AL,DIPUSH DICALL LKPOP DIINC DILOOP LPLEA DI,DATMOV CL,COUNT;*SC:MOV AX,0MOV BH,2MOV AL,DIDIV COUNT1MOV DH,AHADD AL,30HMOV DL,ALMOV AH,2INT 21HMOV AL,DHMOV AH,0DIV COUNTADD AX,3030HMOV DL,ALMOV BL,AH;*OUTP:MOV AH,2INT 21HDEC BHJZ XTMOV DL,BLJMP OUTP;*XT:DEC CLJZ DONEINC DIJMP SC;*DONE:MOV AH,4CHINT 21H;*LK PROCMOV BL,COUNTSUB BL,CL;*LP1:CMP AL,SIJG RTTMOV DL,SIMOV DI,DLMOV SI,ALDEC DIDEC SIDEC BLJNZ LP1;*RTT:RETLK ENDPCODE ENDSEND START2.4 Intel 80862.4 Intel 8086微处理器微处理器 8086是Intel系列的16bit微处理器,属第三代。8086有16bit数据总线和20bit地址线,可寻址1M空间。8086采用单一+5V电源和单相时钟,频率为5MHZ。20位AH ALBH BLCH CLDH DLSPBPDISIALU运算寄存器标志执行部件控制电路16位CS DS SS ESIP 内部暂存器8位1 2 3 4 5 6执行部件执行部件 (EU)输入/输出控制电路16位 外部总线 指令队列缓冲器总线接口部件(总线接口部件(BIU)通用寄存器地址加法器一、一、一、一、8086CPU8086CPU结构结构结构结构1 1 1 1、总体功能结构、总体功能结构、总体功能结构、总体功能结构8086从功能结构来讲,分为两大部分,即总总线线接接口口部部件件BIU(Bus Interface Unit)和执执行行部件部件EU(Execution Unit)。(1)BIU部件部件由段段寄存器寄存器、指令指针指令指针、地址加法器地址加法器、指令队列缓冲器指令队列缓冲器和控制电路控制电路等部分组成。在执行指令时,如要取操作数,则也由BIUBIU从内内存存或I/OI/O接接口口指定区域取出,送给EUEU部件去执行。BIU负责与存储器、负责与存储器、I/O接口电路传送信息。接口电路传送信息。BIUBIU负责从指定内存单元取出指令,送到指令队列缓冲器中排队。指指令令队队列列缓缓冲冲器器是一个6 6字字节节的RAM存储器(8088为4 4个个字字节节),队列中最多可同时存放6个字节的指令,取来的指令是按字节顺序存放的。当队列中有两个以上的指令字节空的时候,BIUBIU会自动地执行总线操作,继续取指令。(2)EU部件部件由ALU、通通用用寄寄存存器器、标标志志寄寄存存器器和控控制制电电路路组成,负责指令的执行。ALU、寄存器和数据传输通路均是16bit的。若执行的是一条转转移移指指令令,则存放在指令队列缓冲器中的指令就没有用了,应到新的地址单元去取出。BIU新取出的第一条指令将直接送到EU中去执行,随后重新填充指令队列缓冲器。EU从从BIU中中的的指指令令队队列列缓缓冲冲器器中中取取得得指指令令和数据。和数据。当指令要求将数据写写到存存储储器器和I/OI/O电电路路,或需从存存储储器器和I/OI/O电电路路中读读取数据时,EU向BIU发出请求,BIU自动完成这些操作。2.2.2.2.寄存器结构寄存器结构寄存器结构寄存器结构8086CPU 内部寄存器DLDHCLCHBLBHALAH通用寄存器AXBXCXDXSPBP SI DI数据寄存器CSDSSSESIPFLAG变址寄存器指针寄存器堆栈指针基数指针源变址目的变址指令指针状态标志代码段数据段堆栈段附加段段寄存器控制寄存器(1)通用寄存器通用寄存器8个个16bit通用寄存器。通用寄存器。SPSP堆栈指针,存放堆栈栈顶的现行地址,与SS堆栈段寄存器一起方可确定堆栈的实际地址。BPBP基址指针 SISI源变址寄存器 AX,BX,CX,DX 4个16bit的通用数据寄存器,它们的高8bit AH,BH,CH,DH与低8bit AL,BL,CL,DL又可分别看成8个8bit的寄存器。DIDI目的变址寄存器(2)控制寄存器控制寄存器 IP(Instruction Pointer)指指令令指指针针与与PC类似,但有区别:类似,但有区别:a.PC是是指指向向下下一一条条即即将将要要执执行行的的指指令令,而而IP一般是指向下一次要取出的指令。一般是指向下一次要取出的指令。b.在在8086中中IP要要与与CS代代码码段段寄寄存存器器的的内内容容一起,才能得到指令的实际地址。一起,才能得到指令的实际地址。TFSFZFAFPFOFDFIFCF15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 标志寄存器格式a.6个状态标志位个状态标志位,即CF、PF、AF、ZF、SF和 OF。进位标志进位标志CF(Carry Flag):FLAG(标志寄存器标志寄存器)为为16bit,其中其中9位有定义。位有定义。当结果的最高位(字节D7,字D15)产生进位(加法运算)或借位(减法运算)时,CF=1,否则CF=0,移位和循环指令也影响CF。奇偶标志位奇偶标志位PF(Parity Flag):若结果中“1”的个数为偶数,则PF=1,否则PF=0。辅助进位标志辅助进位标志AF(Auxitiary Carry Flag):在低半字节向高半字节有进位或借位时AF=1,否则AF=0。零标志零标志ZF(Zero Flag):当运算结果为0时ZF=1,否则ZF=0。符号标志符号标志SF(Sign Flag):SF等于最高位,对于带符号数,最高位为符号位,SF=1运算结果为负,SF=0为正。溢出标志溢出标志OF(Overflow Flag):带符号数运算结果超出其表达范围时(字节数:-128+127,字 类 型 数:-32768+32767),OF=1,否则 OF=0。用表达式给出(字节运算)(字运算)例:2345H+3219H 6400H+7A3CHCF=0 PF=0 AF=0 ZF=0 SF=0 OF=0CF=0 PF=1 AF=0 ZF=0 SF=1 OF=1 b.3个控制标志位个控制标志位 追踪标志追踪标志TF(Trace Flag):TF=1,处理器进入单步方式,以便调试,CPU每执行一条指令自动产生一个内部中断以利于检查指令的执行情况;TF=0为连续工作方式。中中断断允允许许标标志志IF(Interrupt-enable Flag):IF=1,允许CPU响应外部的可屏蔽中断请求;IF=0则禁止响应。IF对外部非屏蔽中断及内部中断不起作用。方向标志方向标志DF(Direction Flag):在串操作指令中,DF=0时,变址指针自动增量,DF=1时,则自动减量。(3)段寄存器段寄存器CS代代码码段段寄寄存存器器,用用于于定定义义代代码码段段基基地地址址,该段用于存放指令代码。该段用于存放指令代码。DS数数据据段段寄寄存存器器,用用于于定定义义数数据据段段基基地地址址,该段用于存放程序变量。该段用于存放程序变量。有有4个个16bit的段寄存器的段寄存器SS堆堆栈栈段段寄寄存存器器,用用于于定定义义堆堆栈栈段段基基地地址址,该段作堆栈区使用。该段作堆栈区使用。ES附附加加数数据据段段,用用于于定定义义附附加加段段基基地地址址,与与DS类似。类似。上上述述4 4个个段段在在80868086寻寻址址的的1MB1MB空空间间内内,其其位位置置不不受受限限制制,可可连连续续排排列列、分分隔隔排排列列、部部分重叠甚致全部重叠。分重叠甚致全部重叠。(3)8086与传统微处理器指令执行过程比较与传统微处理器指令执行过程比较取指3执行3取指4执行2取指2执行1取指1 传统微处理器的执行方式传传统统微微处处理理器器取取指指与与执执行行串串行行进进行行,CPU的工作效率低。的工作效率低。取数据取指5取指4取指3取指2取指1BIU执行4执行3执行2执行1等待EU 8086的指令执行方式8086CPU取取指指与与执执行行并并行行进进行行,大大大大减减少少了了等等待待取取指指令令所所需需时时间间,提提高高了了CPU的的工作效率。工作效率。二、引脚信号及功能二、引脚信号及功能二、引脚信号及功能二、引脚信号及功能最最小小模模式式:即即由由8086组组成成的的单单处处理理器器系系统统,所所有有的的总总线线控控制制信信号号直直接接由由8086直直接接产产生生,故故系统中的总线控制逻辑电路被减到最少。系统中的总线控制逻辑电路被减到最少。最最大大模模式式:即即由由8086组组成成的的中中等等规规模模或或者者大大型型的的系系统统。包包含含两两个个或或多多个个微微处处理理器器,8086为主处理器其它的为协处理器。为主处理器其它的为协处理器。8086808680868086的两种工作模式的两种工作模式的两种工作模式的两种工作模式80868086采采用用双双列列直直插插式式封封装装,有有4040个个引引脚脚(如如右右图图所所示示),但但总总线线信信号号数数量量却却大大于于4040,故故80868086采采用用了了分分时时复复用用技技术术,部部分分引引脚传送两种总线信号。脚传送两种总线信号。12345678910111213141516171819204039383736353433323130292827262524232221GNDAD14AD13AD12AD11AD10AD9AD8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLKGNDVCCAD15A16/S3A17/S4A18/S5A19/S6BHE/S7MN/MXRDHOLD(RQ/GT0)HLDA(RQ/GT1)WR(LOCK)M/IO(S2)DT/R(S1)DEN(S0)ALE(QS0)INTA(QS1)TESTREADYRESET8086CPU8086的引脚信号注:括号内为该引脚在最大模式下的名称 8086808680868086芯片的引脚图芯片的引脚图芯片的引脚图芯片的引脚图1.1.1.1.最小模式下引脚信号及功能:最小模式下引脚信号及功能:最小模式下引脚信号及功能:最小模式下引脚信号及功能:(1)地址地址/数据总线数据总线AD15AD0(双向、三态双向、三态)在在一一个个总总线线周周期期的的第第一一个个时时钟钟周周期期用用于于传传送送低低16bit16bit地地址址信信息息,并并用用地地址址锁锁存存器器锁锁存存以免丢失,以免丢失,其其它它时时钟钟周周期期可可用用于于传传送送数数据据信信息息,分分时时传送。传送。当当80868086执执行行中中断断响响应应周周期期、保保持持响响应应周周期期时,这些引脚处于高阻状态。时,这些引脚处于高阻状态。(2)地址地址/状态信号线状态信号线A19/S6A16/S3(输出、三输出、三态态)在在总总线线周周期期的的第第一一个个时时钟钟周周期期(T1)用用于于输输出出地址信号的最高地址信号的最高4bit并锁存。并锁存。其其它它时时钟钟周周期期中中用用来来输输出出状状态态信信号号S6S3,其中:其中:S6低电平,表示低电平,表示8086当前与总线相连。当前与总线相连。S5表示标志寄存器中表示标志寄存器中“中断允许位中断允许位”的状态的状态(IF)。S4,S3的组合指出了分段情况。如下表所示。的组合指出了分段情况。如下表所示。S S4 4和和S S3 3的组合提供的分段信息表的组合提供的分段信息表S4S3意意 义义00110101当前正在使用当前正在使用ES附加段附加段当前正在使用当前正在使用SS堆栈段堆栈段当前正在使用当前正在使用CS或者未使用任何段寄存器或者未使用任何段寄存器当前正在使用当前正在使用DS数据段数据段 当当CPU处处于于“保保持持响响应应”状状态态时时,A19/S6A16/S3置为高阻置为高阻状态。状态。若若执执行行I/O指指令令,则则由由于于8086只只访访问问64K个个端口,在端口,在T1周期这周期这4个引脚为低电平。个引脚为低电平。(3)BHE/S7高高8bit数据总线允许数据总线允许/状态线状态线(输出输出,三态三态)在 T1状 态,8086在 BHE/S7引 脚 输 出BHE信号,表示高8bit数据总线D15D8上的数据有效,与地址线A0一起产生存储器的选择逻辑信号。在其它时钟周期,输出为状态信号S7。但8086芯片,S7未定义。下面介绍引脚中的控制信号。下面介绍引脚中的控制信号。(4)MN/MX最小最小/最大模式控制信息最大模式控制信息低电平 8086处于最大模式。高电平 8086处于最小模式。(5)RD读信号读信号(输出,三态输出,三态)低电平有效。表示将对内存或I/O端口读操作。(6)M/IO,存储器存储器/输入输出控制信息输入输出控制信息 (输出,三态输出,三态)是区分CPU进行的存储器还是I/O访问,见下表。RDM/IO操操 作作1000读存储器数据读存储器数据读读I/O端口数据端口数据 RDRD与与 M/IOM/IO的组合及对应的操作表的组合及对应的操作表(7)WR写写信号信号(输出,三态输出,三态)1000CPU对存储器进行写操作对存储器进行写操作CPU对对I/O端口进行写操作端口进行写操作 WRWR与与 M/IO M/IO 的组合及对应的操作表的组合及对应的操作表操操 作作WRM/IO低电平有效。WR与M/IO的组合对应的操作如下表所示。(8)ALE地址锁存允许信号地址锁存允许信号(输出输出)高高电电平平有有效效,此信号在T1状态有效,为地址码锁存的选通信号,送地址锁存器。(9)READY准备就绪信号准备就绪信号(输入输入)高高电电平平有有效效,是从所寻址的存存储储器器或I/OI/O电电路路来的响应信号,用于解决CPU与慢速存储器或I/O电路的同同步步问问题题。CPU在T3周期开始采样READY线,若为低电平,则T3之后插入T TW W等等待待周周期期直到READY为高电平,进入T4完成数据传送。(10)INTR可屏蔽中断请求信号可屏蔽中断请求信号(输入输入)高高电电平平有有效效,8086在每一个指令周期的最后一个T状态采样这条线,若IF=1,则8086在执行完当前指令即响应中断。(11)INTA中断响应信号中断响应信号(输出,三态输出,三态)低低电电平平有有效效,CPU响应外部可可屏屏蔽蔽中中断断请求以后,便发出中断响应信号,作为对中断请求的回答。此信号在每一个中断响应周期的T2、T3和TW周期均有效,为中断矢量的读选通信号。(12)NMI非屏蔽中断请求信号非屏蔽中断请求信号(输入输入)边沿触发边沿触发,该线上的中断请求信号不能用软件屏蔽,电平由低到高,便在当前指令结束后引起中断。(13)RESET系统复位信号系统复位信号(输入输入)高高电电平平有有效效,8086要求此信号起码维持4个时钟周期,若初次加电复位,持续时间不小于5050 s s,RESET为高电平时,8086立即结束现行操作,进入内部复位状态,CPU各内部寄存器被设置为初初值值:CS=FFFFH,Flag、IP、DS、ES、SS及其它寄存器均初始化为0000H。(14)DT/R数据收发控制信号数据收发控制信号(输出、三态输出、三态)为增强数据总线的驱动能力,8086可外接驱动器8286,DT/R即为8086输出的数据到收发器8286的控制信号。DT/R高高电电平平,8086输出的数据经8286送到数据总线;8086工作在DMA方式时,DT/R为高阻状态,在最小模式时因无8286而不起作用。DT/R低低电电平平,收发器8286则把数据总线上的数据传送到8086。高高电电平平有有效效。系系统统中中其其他他的的总总线线主主设设备备要要获获得得对对总总线线的的控控制制权权时时,向向80868086发发出出高高电电平平的的HOLDHOLD信信号号,8086在每个时钟周期的上升沿对HOLD引脚信号进行检测,若为高电平,则在当前总线周期结束时,予以响应。(16)HOLD保持请求信号保持请求信号(输入输入)(15)DEN数据允许信号数据允许信号(输出,三态输出,三态)低低电电平平有有效效,也是8086控制外接的数据收发器,低电平时开启收发器,传送数据有效;高电平时,则禁止传送。(17)HLDA保持响应信号保持响应信号 (输出输出)高电平有效。当当CPUCPU响响应应保保持持请请求求HOLDHOLD时时,便便发发出出HLDAHLDA高高电电平平的的应应答答信信号号,从而将总线控制权让给发出保持请求的设备,直到该设备又将HOLD信号变为低电平,CPU才收回总线控制权,将HLDA信号