《微机原理与接口教案1.doc》由会员分享,可在线阅读,更多相关《微机原理与接口教案1.doc(9页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、【精品文档】如有侵权,请联系网站删除,仅供学习与交流微机原理与接口教案1.精品文档.第2课次授课计划基本内容:第二章 16位微处理器 2.1 8086的编程结构 2.2 8086的引脚信号和工作模式 目的要求:1. 掌握8086CPU的编程结构2.掌握8086的内部组成结构、寄存器结构3.掌握8086总线周期的概念4.理解8086的并行流水线工作方式5.掌握存储器的编址6.掌握8086CPU主要引脚信号的功能(地址总线、数据总线、控制总线)7.理解8086CPU工作模式及典型配置。难点: CPU的编程结构标志寄存器的含义理解8086CPU外部引脚信号的作用及它们之间是如何协同工作的复习巩固:1
2、.微型计算机工作过程2.微型计算机结构新课讲授:2.1.1 8086的编程结构1.8086CPU的一般性能特点(1)16位的内部结构,16位双向数据信(2)20位地址信号线,可寻址1MB存储单(3)较强的指令系统。(4)利用16位地址总线进行I/O端口寻址,可寻址64K个I/O端口。(5)中断功能强,可处理内部软件中断和外部中断,中断源可达256个。(6)单一的+5V电源,单相时钟频率5MHz。2.编程结构 8086是intel系列的16位微处理器,有16根数据线和20根地址线,可寻址空间1MB 要掌握一个CPU的性能和使用方法,首先应该了解它的编程结构。所谓编程结构,就是从程序员和使用者的角
3、度看到的结构,当然,这种结构与CPU内部的物理结构和实际布局是有区别的。下图就是8086的编程结构图。在编程结构图中可以看到,从功能上,8086分两部分,即总线接口部件(bus interface unit,BIU)和执行部件(execution unit,EU)。(1)总线接口部件(BIU)1. 总线接口部件的功能是负责与存储器、I/O端口传送数据。具体来看,就是完成取指令,指令排队,配合执行部件的动作,从内存单元或I/O端口取操作数,或者将操作结果送内存单元或者I/O端口。2.8086的总线接口部件由以下各部分组成:4个段地址寄存器: CS:16位代码段寄存器(code segment);
4、 DS:16位数据段寄存器(data segment); ES:16位附加段寄存器(extra segment); SS:16位堆栈段寄存器(stack segment)。16位指令指针寄存器IP(instruction pointer):用来指向下一条要取出的指令代码。20位地址加法器:将16位逻辑地址变换成存储器读/写所需的20位物理地址。6字节指令队列缓冲器:预存6字节的指令代码。总线控制逻辑:发出总线控制信号。实现存储器读/写控制和I/O读/写控制。它将8086 CPU的内部总线与外部总线相连,是8086 CPU与外部打交道不可缺少的路径。3.8086总线接口部件的特点:8086的指令
5、队列为6个字节,CPU在执行指令的同时,从内存中取下面1条指令或几条指令放在指令队列中。这样,一般情况下,8086执行完一条指令就可以立即执行下一条指令,而不像以往的计算机那样轮番地进行取指令和执行指令的操作,从而提高了CPU的效率。地址加法器用来产生20位地址。8086用20位地址寻址1MB的内存空间,但8086内部寄存器都是16位的,所以需要一个附加机构来根据16位寄存器提供的信息计算出20位的物理地址。即:物理地址(PA)=段基址10H+偏移地址(EA)(2)执行部件(EU)1.执行部件负责指令的执行 ,由下列4部分组成: 4个通用16位寄存器,即AX、BX、CX、DX; 4个专用16位
6、寄存器,即基数指针寄存器BP(base pointer),堆栈指针寄存器SP(stack pointer),源变址寄存器SI(source index),目的变址寄存器DI(destination index);标志寄存器FR(flag register);算术逻辑部件ALU(arithmetic logic unit)。2.通用寄存器4个通用寄存器可作为16位寄存器使用,也可作为8位寄存器使用。比如,BX寄存器作为8位寄存器时,分别称为BH和BL,BH为高8位,BL为低8位。数据寄存器特有的习惯用法: AX:累加器,指令系统中有许多指令都是利用累加器来执行的。所有I/O指令都通过AX与接口传
7、送信息,中间运算结果也多放于AX中; BX:基址寄存器。在间接寻址中用于存放基地址; CX:计数寄存器。用于在循环或串操作指令中存放计数值; DX:数据寄存器。在间接寻址的I/O指令中存放I/O端口地址;在32位乘除法运算时,存放高16位数。地址指针寄存器 SP:堆栈指针寄存器,其内容为栈顶的偏移地址; BP:基址指针寄存器,常用于在访问内存时存放内存单元的偏移地址。BX与BP在应用上的区别 作为通用寄存器,二者均可用于存放数据; 作为基址寄存器,用BX表示所寻找的数据在DS数据段;用BP则表示数据在SS堆栈段。变址寄存器 SI:源变址寄存器 DI:目标变址寄存器 变址寄存器在指令中常用于存放
8、数据在内存中的地址。3.标志寄存器 标志寄存器共有16位,其中7位未用,所用的各位含义如下: (1)状态标志位 状态标志有6个,即SF、ZF、PF、CF、AF和OF。 符号标志SF:它和运算结果的最高位相同。它指出前面的运算执行后的结果是正(SF=0)还是负(SF=1)。零标志ZF:如果当前的运算结果为0,则ZF=1;如果当前的运算结果不为0,ZF=0。奇偶标志PF:如果运算结果的低8位中所含的1的个数为偶数,则PF=1;否则PF=0。进位标志CF:执行一个加法运算使最高位产生进位时,或者执行一个减法运算引起最高位产生借位时,则CF=1;否则CF=0。另外循环指令也影响CF。辅助进位标志AF:
9、当加法运算时,第三位往第四位(即半字节)有进位,或减法运算时第三位从第四位有借位,则AF=1;否则AF=0。用于BCD码的调整依据。溢出标志OF:当运算过程中产生溢出时,OF=1;否则OF=0。溢出:当字节运算的结果超出了范围128+127,或者当字运算的结果超出了范围-32768+32767时称为溢出。(2)控制标志位 方向标志DF(direction flag)这是控制串操作指令用的标志。如果DF为0,则串操作过程中地址会不断增值;反之,如果DF为1,则串操作过程中地址不断减值。 中断允许标志IF(interrupt enable flag)这是控制可屏蔽中断的标志。如IF为0,则CPU不
10、能响应可屏蔽中断请求;如IF为1,则CPU可接受可屏蔽中断请求。 跟踪标志TF(trap flag)又称为单步标志,如果TF为1,则CPU按跟踪方式执行指令。这些控制标志一旦设置后,便对后面的操作产生控制作用。 3.并行流水线工作方式 4 . 8086的总线周期概念为了取得指令或传送数据,就需要CPU的总线接口部件执行一个总线周期。CPU完成一次访问内存(或接口)操作所需要的时间就叫做总线周期。在8086中,一个最基本的总线周期由4个时钟周期组成,时钟周期是CPU的基本时间计量单位,它由计算机主频决定。在一个最基本的总线周期中,习惯上将4个时钟周期分别称为4个状态,即T1状态、T2状态、T3状
11、态和T4状态。(1)T1状态,发地址信息。CPU往多路复用总线上发出地址信息,以指出要寻址的存储单元或外设端口的地址。(2)T2状态,输出状态信息。CPU从总线上撤销地址,使总线的低16位浮置成高阻态,用于传输数据。总线的高4位(A19A16)用来输出本总线周期状态信息。这些状态信息用来表示中断允许状态、当前正在使用的段寄存器名单。(3)T3状态,多路总线的高4位继续提供状态信息,而总线的低16位上出现由CPU写出的数据或者CPU从存储器或者端口中读入的数据。(4)T3之后,可能插入TW(等待状态)。由于外设或存储器速度较慢,常常不能及时配合CPU传送数据。这时,外设或存储器会通过READY信
12、号线在T3状态启动之前向CPU发送一个“数据未准备好”的信号,于是CPU会在T3之后插入1个或多个附加的时钟周期TW。在TW状态,总线上的信息情况和T3状态的信息情况一样。当指定的存储器或外设完成数据传送时,便在READY线上发出“准备好”信号,CPU接收到这一信号后,会自动脱离TW状态进入T4状态。(5)在T4状态,总线周期结束。需要指出,只有在CPU和内存或I/O接口之间传输数据,以及填充指令队列时,CPU才执行总线周期。如果在1个总线周期之后,不立即执行下一个总线周期,那么,系统总线就处在空闲状态,此时,执行空闲周期。下图表示了一个典型的总线周期序列。5.存储器编址(1)内存单元的编址
13、每个内存单元在整个内存空间中都具有惟一的地址-物理地址(20位)。 每个内存单元的地址码都由两部分组成: 段(基)地址 16位 逻辑地址(CS、DS、ES、SS) 段内地址 16位 相对地址/偏移地址(BP、BX、IP等) 段基地址:决定存储单元在内存中的位置。 相对地址(偏移地址):决定该存储单元相对段内第一个单元的距离。 逻辑段的起始地址称为段首(段首的偏移地址=0), 每个逻辑段内的第一个单元。 物理地址:内存单元在整个内存空间中的唯一地址。(2)实地址模式下的存储器地址变换 内存物理地址由段基地址和偏移地址组成: 物理地址=段基地址16+偏移地址 物理地址=段基地址10H+偏移地址(3
14、)物理地址计算方法(4)CS、DS、SS和其他寄存器组合指向存储单元的示意图2.2.1 8086CPU的引脚信号和工作模式1. 最小模式和最大模式的概念(1)最小模式:在系统中只有8086一个微处理器。所有总线控制信号都直接由8086产生,系统中的总线控制电路因此可降到最少。(2)最大模式:用于较大规模的8086系统中,总是包含有俩个或多个微处理器,其中一个主处理器为8086,其他处理器为协处理器,协助主处理器工作。2. 8086CPU的引脚信号和功能对8086各引脚信号进行分类介绍,下图2-1为8086的引脚信号图。 图2-1 8086的引脚信号图(1)地址/数据总线AD15AD0分时复用的
15、存储器或端口的地址和数据总线。传送地址时为单向的三态输出,而传送数据时可双向三态输入输出。正是利用分时复用的方法才能使80868088用40条引脚实现20位地址、16位数据及众多的控制信号和状态信号的传输。 作为复用引脚,在总线周期的T1状态时,作为地址线,A15A0输出存储器或I/O端口的地址信号。在T2T4状态,D15D0用作双向数据线。在T2状态浮置成高阻状态,为传输数据作准备;在T3状态,用于传输数据;T4状态结束总线周期。当CPU响应中断,以及系统“保持响应”时,AD15AD0浮空置为高阻状态。(2)控制线/状态线A19S6A16S3地址状态总线为输出、三态总线,采用分时输出,在T1
16、状态输出地址的最高4位,T2T4状态输出状态信息。S4S3含义00110101当前正在使用ES当前正在使用SS当前正在使用CS,或者未使用任何寄存器当前正在使用DS当访问存储器时,T1状态时输出的A19A16送到锁存器(8282)锁存,与AD15AD0组成20位的地址信号;而访问IO端口时,不使用这4条引线,A19A16=0。S6为0用来指示80868088当前与总线相连,所以,在T2,T3,TW,T4状态,S6总等于0,以表示80868088当前连在总线上。S5表明中断允许标志位IF的当前设置。为1时表示允许中断可屏蔽请求,如为0表示禁止可屏蔽中断。S4和S3合起来用来指示当前正在使用哪个段
17、寄存器,如表2-2所示。 表2-2 S4,S3的代码组合和对应的含义(3)控制总线 1. BHE/S7:高8位数据总线允许状态复用引脚,三态、输出。在T1状态作用,该引脚为0时,表示高8位有效。即在总线周期的T1状态时8086在BHES7引脚上输出BHE信号,表示总线高8位AD15AD8上的数据有效。在T2,T3,TW,T4状态,BHES7引脚输出信号为S7 . 2. NMI: 不可屏蔽中断请求线,输入,上升沿有效。此请求不受中断允许标志IF状态的影响,也不能用软件屏蔽,只要此信号一出现,CPU就会在现行指令结束后执行中断类型号为2的非屏蔽中断的处理程序。3. INTR:可屏蔽中断请求信号,输
18、入,高电平有效。CPU在执行每条指令的最后一个时钟周期会对INTR信号进行采样,如果CPU的中断允许标志位1,并且又收到INTR信号,CPU就会在结束当前指令后,响应中断请求,执行中断处理子程序。4. RD:读控制信号,三态、输出。当RD=0时,表示CPU将要执行一个对存储器或IO端口的读操作。对内存单元还是对IO端口读取数据,取决于MIO信号。5. CLK:时钟,和总线控制逻辑电路提供定时手段。8086要求时钟信号的占空比为33%。即1/3周期为高电平,2/3周期为低电平。6. RESET:系统复位,输入,该信号必须保持4个时钟周期的高电平才有效,复位后,CPU的主程序流程恢复到启动时的循环
19、待命初始状态。标志寄存器与指令队列缓冲器的原有信息被清除,IP与DS、SS和ES也被清零,而CS被置为FFFFH。当RESET信号变为低电平时,CPU就从FFFF0H开始执行程序。在程序执行时,RESET线保持低电平。7. READY:准备就绪,输入,高电平有效,表示存储器或端口准备就绪,允许进行一次数据传送。READY=1时,表示所寻址的内存或IO设备已准备就绪,马上就可进行一次数据传输。CPU在每个总线周期的T3状态开始对READY信号采样。到READY=0,表示存储器或IO设备尚未准备就绪,则CPU在T3状态之后自动插入一个或几个等待状态Tw,直到READY变为高电平,才进入T4状态,完
20、成数据传送过程,从而结束当前总线周期。8. TEST:等待测试信号,输入。与WAIT结合起来使用的,在CPU执行WAIT指令时,CPU处于空转状态进行等待,当TEST信号有效时,等待状态结束,CPU继续执行被暂停的指令。9. MN/ MX:最小/最大模式选择,输入。引脚接+5VCPU处于最小模式,接地则处于最大模式。10. 其他控制线(2431引脚)在最小模式和最大模式下有不同的名称和定义。3. 8086的工作模式(1)最小模式 当MNMX接电源电压时,系统工作于最小方式,即单处理器系统方式,它适合于较小规模的应用。在最小模式下,第2431引脚信号的含义如下:1. M/IO :存储器/输入/输
21、出控制信号,输出,三态。为高电平时,表示CPU和存储器之间进行数据传送;为低电平时,表示CPU和输入输出端口之间进行数据传输。2. WR:写信号,输出,三态。WR有效时表示CPU正在进行存储器或I/O写操作。具体为哪种写操作由M/IO决定。3. INTA:中断响应,输出,响应INTR,用来对外设的中断请求做出响应。4. ALE(Address Latch Enable):地址锁存允许信号,输出,高电平有效。在任何一个总线周期的T1状态,ALE输出有效电平,以表示当前在地址/数据服用总线上输出的是地址信息。 5. DT/R (Data Transmit/Receive):数据发送/接收,输出,三
22、态。用于控制数据传送方向。高电平时,进行数据传送;低电平时进行数据接收。6. DEN(DATA ENABLE):数据允许信号输出端,输出,三态。表示CPU当前准备接受或发送一个数据。7. HOLD(Hold Request):总线保持请求,输入。8. HLDA(Hold Acknowledge):总线保持响应,输出。 下图2-2为最小模式下的典型配置。其中8284A为时钟发生驱动器 ;8282为8位地址锁存器 ;8282是典型的锁存器芯片,它是8位的;8286为具有三态输出的8位数据总线收发器,用于需要增加驱动能力的系统。 图2-2为最小模式下的典型配置(2)最大模式 当MNMX线接地,则系统
23、就工作于最大方式。最大模式下第2431引脚的信号含义如下: 1. S2、S1、S0:总线周期状态信号,输出。这些信号组合起来指出当前总线周期中所进行的数据传送类型。其对应关系如下所示:、的代码组合和对应的操作操作过程000发中断响应信号001读I/O端口010写I/O端口011暂停100取指令101读内存110写内存111无源状态(CPU无作用)2. RQ/GT0、 /GT1(Request/Grant):总线请求/允许,输入/输出,三态。 3. LOCK:总线锁定信号,输出,三态。4. QS1、QS0:指令队列状态,输出。QS1、QS0的代码组合和对应的含义QS1QS0含义00无操作01从指
24、令队列中的第一个字节取走代码10队列为空11除第一个字节外,还取走了后续字节中的代码下图2-3为最大模式下的典型配置。是由多个微处理器/协处理器构成的多机系统,CPU引脚MN/接地(GND)。在最小模式的配置上,增加了总线控制器(8288),总线裁决器(8289)。 图2-3为最大模式下的典型配置3. 8086/8088的引脚信号和功能注意点:(1)8086/8088的数据线和地址线复用:AD15AD0;(2)8086有16根数据线;(3)第21脚(RESET)为输入复位信号;(4)第22引脚为“准备好”(READY)信号;(5)高4位地址和状态线复用:A19/S6A16/S3。本章小结:1.
25、8086内部结构中各个组成部件的主要功能及工作过程8086分两部分,总线接口部件(bus interface unit,BIU)和执行部件(execution unit,EU)。总线接口部件负责与存储器、I/O端口传送数据;执行部件负责指令的执行 。工作过程:(1)首先在代码段寄存器CS中的16位段基地址的最低位后面补4个0,加上指令指针寄存器IP中的16位偏移地址,通过地址加法器产生20位物理地址。(2)EU从指令队列中取走指令,经指令译码后,向BIU申请从存储器或I/O端口读写操作数。(3)指令指针寄存器IP由BIU自动修改,指向下一条指令在现行代码段内的偏移地址。2.8086的编程结构中
26、寄存器的分类、各个寄存器的功能 (1)全部为16位寄存器(2)只有4个数据寄存器分别可分为2个8位寄存器(3)所有16位寄存器中:只有AX和CX中的内容一定为参加运算的数据,其余通用寄存器中的内容可能是数据,也可能是存放数据的地址;SP中的内容通常为堆栈段的栈顶地址;段寄存器中的内容为相应逻辑段的段地址;IP中的内容为下一条要取的指令的偏移地址;FLAGS中有9位标志位。3.存储器寻址(1)每个内存单元在整个内存空间中都具有惟一地址(2)每个内存单元的地址(物理地址)都由两部分组成,段基地址:段内相对地址(偏移地址)。段基地址决定了逻辑段在内存中所占的区域,改变段基地址,则改变了逻辑段的位置。
27、(3)一个逻辑段的默认长度为64KB,最小长度值为16B。(4)逻辑段可以有多个,但只有4种类型。在一个程序模块中,每种类型的逻辑段最多只有一个。4.8086/8088的引脚信号和功能 GND、VCC 地和电源 AD15AD0 地址/数据复用 A19/S6A16/S3 地址/状态复用 BHE/S7 高8位数据总线允许/状态复用 NMI 非屏蔽中断输入 INTR 可屏蔽中断请求信号输入 RD 读信号输出 CLK 时钟输入 RESET 复位信号输入 READY “准备好”信号输入 TEST 测试信号输入 MN/MX 最小和最大模式控制输入 5.最小模式当MNMX接电源电压时,系统工作于最小方式,其各引脚信号:INTA 中断响应信号输出 ALE 地址锁存允许信号输出 DEN 数据允许信号 DT/R 数据收发信号输出 M/IO 存储器/输入输出控制信号输出 WR 写信号输出 HOLD 总线保持请求信号输入 HLDA 总线保持响应信号输出 6.最大模式当MNMX线接地,则系统就工作于最大方式,其引脚信号:QS1、QS0 指令队列状态信号输出 S2#、S1#、S0# 总线周期状态信号输出 LOCK#(lock) 总线封锁信号输出 RQ#/GT1#、RQ#/GT0# 总线请求信号输入、总线授权信号输出