第2章8086微处理器.ppt
《第2章8086微处理器.ppt》由会员分享,可在线阅读,更多相关《第2章8086微处理器.ppt(135页珍藏版)》请在三一办公上搜索。
1、第2章 8086微处理器,2.1 8086微处理器,2.2 8086微处理器引脚功能,2.3 8086总线的操作时序,2.4 Intel 80 x86 系列微处理器简介,运算器控制器内部寄存器,2,微处理器,第2章 8086微处理器,概述,程序:具有一定功能的指令的有序集合指令:由人向计算机发出的、能够为计算机所识别的命令。,3,顺序执行和并行流水线,顺序执行方式:各功能部件交替工作,按顺序完成指令的执行过程。并行流水线方式:各功能部件并行工作。,4,顺序工作方式,5,并行流水线工作方式,EU,CPU,第2章 8086微处理器,2.1 8086微处理器概述,2.1.1 8086CPU的内部结构
2、,微处理器(CPU)是采用大规模或超大规模集成电路技术做成的半导体芯片,上面集成了控制器、运算器和寄存器组。若字长8位,即一次能处理8位数据,称为8位CPU,如Z80CPU;字长为16位的,即一次能处理16位数据,称为16位CPU,如8086/8088、80286等。图2-1所示是8086CPU实物图。,图2-1 8086CPU实物图,8086 CPU是Intel公司1987年推出的一种高性能的16位微处理器,是第三代微处理器的代表。它有16根数据线和20根地址线,所以可寻址的地址空间是2201MB,内部总线和ALU全部为16位,可以进行8位和16位操作。,8086微处理器有16根数据线和20
3、根地址线,所以可寻址的地址空间是2201MB,内部总线和ALU全部为16位,可以进行8位和16位操作。8086CPU的内部结构如图2-2所示。,图2-2 8086 CPU内部结构框图,第2章 8086微处理器,从功能上来看,8086CPU可分为两部分,即执行部件EU(Execution Unit)和总线接口部件BIU(Bus Interface Unit)。在执行指令的过程中,两个部件形成了两级流水线:执行部件执行指令的同时,总线接口部件完成从主存中预取后继续指令的工作,使指令的读取与执行可以部分重叠,从而提高了总线的利用率。,第2章 8086微处理器,BIU与EU的动作协调原则:,总线接口部
4、件(BIU)和执行部件(EU)按以下流水线技术原则协调工作,共同完成所要求的信息处理任务.,每当8086的指令队列中有两个空字节,BIU就会自动把指令取到指令队列中。其取指的顺序是按指令在程序中出现的前后顺序。,每当EU准备执行一条指令时,它会从BIU部件的指令队列前部取出指令的代码,然后用几个时钟周期去执行指令。在执行指令的过程中,如果必须访问存储器或者IO端口,那么EU就会请求BIU,进入总线周期,完成访问内存或者IO端口的操作;如果此时BIU正好处于空闲状态,会立即响应EU的总线请求。如BIU正将某个指令字节取到指令队列中,则BIU将首先完成这个取指令的总线周期,然后再去响应EU发出的访
5、问总线的请求。,第2章 8086微处理器,当指令队列已满,且EU又没有总线访问请求时,BIU便进入空闲状态。,在执行转移指令、调用指令和返回指令时,由于待执行指令的顺序发生了变化,则指令队列中已经装入的字节被自动消除,BIU会接着往指令队列装入转向的另一程序段中的指令代码。,从上述BIU与EU的动作管理原则中,我们不难看出,它们两者的工作是不同步的,正是这种既相互独立又相互配合的关系,使得8086可以在执行指令的同时,进行取指令代码的操作,也就是说BIU与EU是一种并行工作方式,改变了以往计算机取指令译码执行指令的串行工作方式,大大提高了工作效率,这种工作方式称为流水线作业。,第2章 8086
6、微处理器,(1)执行部件(EU),功能:负责进行所有指令的解释和执行,同时管理下述有关的寄存器。,组成:由4个通用寄存器、4个专用寄存器、1个16位的算术逻辑单元(ALU)、1个16位的标志寄存器PSW、1个数据暂存寄存器和EU控制电路等组成。详细介绍如下:,第2章 8086微处理器,13,8088/8086含4个16位数据寄存器,它们又可分为8个8位寄存器,即:AXBXCXDX,AH,AL,CH,CL,BH,BL,DH,DL,4个通用寄存器,表2-1 内部寄存器主要用途,第2章 8086微处理器,15,数据寄存器特有的用法,AX:累加器。所有I/O指令都通过AX与接口传送 信息,中间运算结果
7、也多放于AX中;BX:基址寄存器。在间接寻址中用于存放基地址;CX:计数寄存器。用于在循环或串操作指令 中存放计数值;DX:数据寄存器。在间接寻址的I/O指令中存放 I/O端口地址;在32位乘除法运算时,存放 高16位数。,专用寄存器,16位的专用寄存器有4个,它们分别是:,两个16位的指针寄存器SP和BP,其中SP是堆栈指针寄存器,由它和堆栈段寄存器SS一起来确定堆栈在内存中的位置;BP是基数指针寄存器,通常用于存放基地址。,两个16位的变址寄存器SI和DI,其中SI是源变址寄存器,DI是目的变址寄存器,都用于指令的变址寻址方式。,这4个专用寄存器的用法在第3章指令系统作介绍。,第2章 80
8、86微处理器,算术逻辑单元ALU,它是一个16位的运算器,可用于8位或16位二进制算术和逻辑运算(与、或、非),也可按指令的寻址方式计算寻址存储器所需的16位偏移量。,数据暂存寄存器,它协助ALU完成运算,暂存参加运算的数据。,第2章 8086微处理器,EU控制电路,从总线接口的指令队列取出指令操作码,通过译码电路分析,发出相应的控制命令,控制ALU数据的流向。如果是运算操作,操作数经过暂存寄存器送入ALU,运算结果经过ALU数据总线送到相应的寄存器,同时标志寄存器PSW根据运算结果改变状态。,标志寄存器PSW,8086 内部标志寄存器的内容,又称为处理器状态字PSW。它是一个16位的寄存器,
9、用了9位,各位含义如图2-3所示。这9位可分成两类:一类为状态标志(6个),一类为控制标志(3个)。,第2章 8086微处理器,图2-3 8086CPU的标志寄存器,20,状态标志位(1),CF(Carry Flag)进位标志位。加(减)法运算时,若最高位有进(借)位则CF=1 PF(Parity Flag)奇偶标志位。运算结果的低8位中“1”的个数为偶数时PF=l AF(Auxiliary Carry Flag)辅助进位标志位。加(减)操作中,若Bit3向Bit4有进位(借位),AF=1,21,状态标志位(2),ZF(Zero Flag)零标志位。当运算结果为零时ZF=1 SF(Sign F
10、lag)符号标志位。当运算结果的最高位为1时,SF=l OF(Overflow Flag)溢出标志位。当算术运算的结果超出了有符号数的可表达范围时,OF=l,22,状态标志位例,给出以下运算结果及运算后各状态标志位的状态:10110110+11110100 10110110+11110100 10101010,1,CF=OF=AF=0 PF=SF=ZF=,1,1,0,1,0,加法运算:,若两个加数的最高位为0,而和的最高位为1,则产生上溢出;若两个加数的最高位为1,而和的最高位为0,则产生下溢出;两个加数的最高位不相同时,不可能产生溢出。,减法运算:,若被减数的最高位为0,减数的最高位为1,而
11、差的最高位为1,则产生上溢出;若被减数的最高位为1,减数的最高位为0,而差的最高位为0,则产生下溢出;被减数及减数的最高位相同时,不可能产生溢出。,第2章 8086微处理器,如果所进行的运算是带符号数的运算,则溢出标志恰好能够反映运算结果是否超出了8位或16位带符号数所能表达的范围,即字节运算大于十127或小于128时,字运算大于十32767或小于32768时,该位置1,反之为0。,第2章 8086微处理器,25,控制标志位,TF(Trap Flag)陷井标志位,也叫跟踪标志位。TF=1时,使CPU处于单步执行指令的工作方式。IF(Interrupt Enable Flag)中断允许标志位。I
12、F=1使CPU可以响应可屏蔽中断请求。DF(Direction Flag)方向标志位。在数据串操作时确定操作的方向。,(2)总线接口部件(BIU),功能:负责完成取指令送指令队列,配合执行部件的动作,从内存单元或I/O端口取操作数,或者将操作结果送内存单元或者I/O端口。,组成:它由16位段寄存器(DS、CS、ES、SS)、16位指令指针寄存器IP(指向下一条要取出的指令代码)、20位地址加法器(用来产生20位地址)和6字节(8088为4字节)指令队列缓冲器组成。详细介绍如下:,第2章 8086微处理器,指针寄存器IP和段寄存器,IP是一个16位寄存器,用来控制CPU的指令执行顺序,它和代码段
13、寄存器CS一起可以确定当前所要取的指令的内存地址。顺序执行程序时,CPU每取一个指令字节,IP自动加1,指向下一个要读取的字节;当IP单独改变时,会发生段内的程序转移;当CS和IP同时改变时,会产生段间的程序转移。,指针寄存器,第2章 8086微处理器,28,IP指令指针寄存器,其内容为下一条要执行指令的偏移地址。FLAGS标志寄存器,存放运算结果的特征6个状态标志位(CF,SF,AF,PF,OF,ZF)3个控制标志位(IF,TF,DF),段寄存器,系统中共有4个16位段寄存器,即代码段寄存器CS、数据段寄存器DS、堆栈段寄存器SS和附加段寄存器ES。这些段寄存器的内容与有效的地址偏移量一起,
14、可确定内存的物理地址。通常CS划定并控制程序区,DS和ES控制数据区,SS控制堆栈区。,第2章 8086微处理器,6字节指令队列缓冲器,8086的指令队列为6个字节,在执行指令的同时,可从内存中取出后续的指令代码,放在指令队列中,可以提高CPU的工作效率。,20位地址加法器,地址加法器用来产生20位物理地址。8086可用20位地址寻址1M字节的内存空间,而CPU内部的寄存器都是16 位,因此需要由一个附加的机构来计算出20位的物理地址,这个机构就是20位的地址加法器。,例如:CS2000H,IP0400H,则表示要取指令代码的物理地址为20400H。,第2章 8086微处理器,21.2.808
15、6存储器的管理,8086 CPU有20位地址总线,可寻址的最大内存空间达2201MB,地址范围为00000H-0FFFFFH。内存中每个字节单元有唯一的20位物理地址,CPU存取内存中的程序和数据必须使用20位物理地址。而8086 CPU寄存器的位数是16位的,如何用16位的寄存器指向20位的存储单元呢?,第2章 8086微处理器,因为8086内部寄存器是16位的,能寻址的内存空间只能是64KB,所以8086系统采用了地址分段的方法,将1M空间分成4段,每段最多64KB,在段内寻址仍可采用传统的16位地址寻址方法。每个段的起始地址低4位必须为0,高16位放在16位的段寄存器内,这高16位地址称
16、为段基址。段寄存器分别为CS、DS、SS和ES,段基址存放在这4个段寄存器内。每个段不一定都是64KB,可以小于它,每个段可以分开,也可以重叠。,(1)存储器的分段,(2)20位物理地址的产生,8086规定每个段的段起始地址必须能被16整除,其特征是20位段起始地址的最低4位为0(用16进制表示为0H)。暂时忽略段起始地址的低4位,其高16位(称段基址)可存放在16位的寄存器中。段基址可确定某个段在内存中的起始位置,而段中某个单元在该段中的位置则可由该单元在段内相对于段起始地址的偏移量(称偏移地址,也为16位)来决定。也就是说,内存中某单元的位置可用16位的段基址和16位的偏移地址确定。,第2
17、章 8086微处理器,图2-4 20位物理地址的计算方法图,当CPU访问存储单元时,先由段寄存器提供存储单元所在段的段基址。然后段基址被左移4位(乘16),即恢复段起始地址,再与待访问存储单元的偏移地址相加,可得到该单元的20位物理地址。这样一来,CPU寻址范围可达1MB,20位物理地址的计算方法如图2-4所示,计算公式为:20位物理地址=16位段地址1616位偏移地址.,第2章 8086微处理器,(3)段的分配,在对存储器进行操作时,内存一般可分成4个段,分别称为代码段、数据段、堆栈段和附加数据段,每个段存放不同性质的数据,进行不同的操作。,代码段:存放指令。,堆栈段:程序的堆栈区(子程序调
18、用、系统功能调用、中断处理等操作使用)或作为临时数据存储区。,数据段:存放程序所使用的数据。,附加数据段:辅助的数据区(串操作指令使用)。,第2章 8086微处理器,36,例:,已知 CS=1055H,DS=250AH ES=2EF0H SS=8FF0H画出各段在内存中的分布。,37,例:,CS=1055H段首地址=10550HDS=250AH段首地址=250A0HES=2EF0HSS=8FF0H,10550H,250A0H,2EF00H,8FF00H,代码段,数据段,附加段,堆栈段,例如:设当前有效的代码段、数据段、堆栈段、附加段的段地址分别为1066H、251BH、900CH、F001H,
19、则各段在内存中的分配情况如图2-5所示。,第2章 8086微处理器,4个逻辑段的段基址分别放在相应的代码段寄存器CS、数据段寄存器DS、堆栈段寄存器SS和附加段寄存器ES中,由这4个段寄存器来指明每个段在内存中的起始地址。,图2-5段的分配,40,例,设某操作数存放在数据段,DS=250AH,数据所在单元的偏移地址=0204H。则该操作数所在单元的物理地址为:250AH 16+0204H=252A4H,4个段可分配在1MB的任何地方,段与段间可重叠或不重叠、可连续排列、断续排列。尽管CPU在某一时刻最多只能同时访问4个段,但用户在程序中可根据需要定义多个这样的段。若CPU要访问4个段以外的其他
20、段,只要改变相应段寄存器的内容即可。,3.8086存储区的分配,(1)00000H003FFH共1KB区域用来存放中断矢量,这一区域称为中断矢量表。中断矢量表的定义和作用参阅中断一章的有关内容。,(2)B0000HB0F9FH是单色显示器的显示缓冲区,存放单色显示器当前屏幕显示字符所对应的ASCII码和属性。,(3)B8000HBBF3FH约16KB是彩色显示器的显示缓冲区,存放彩色显示器当前屏幕像点所对应的代码。,(4)FFFF0HFFFFFH共16个单元,一般用来存放一条无条件转移指令,转到系统的初始化程序。这是因为系统加电或者复位时,会自动转到FFFF0H执行。,第2章 8086微处理器
21、,2.2 8086微处理器引脚功能,2.2.1 8086CPU引脚,要求:认识8086微处理器芯片引脚。目的:了解8086微处理器芯片引脚及功能。,8086微处理器(CPU)可以在两种模式下工作:最大模式最小模式。,第2章 8086微处理器,所谓最小模式,就是系统中只有8086一个微处理器。在这种系统中,所有的总线控制信号都直接由8086产生,因此,系统中的总线控制逻辑电路被减到最小。最大模式是相对最小模式而言的。最大模式用在中等规模的或者大型的8086系统中。在最大模式系统中,总是包含两个或两个以上微处理器,其中一个主处理器就是8086,其他的处理器为协处理器。例如用于数值运算的处理器808
22、7,用于输入/输出大量数据的处理器8089。,第2章 8086微处理器,引脚图,8086CPU采用双列直插40脚封装,引脚图如图2-6所示。8086CPU是16位微处理器(CPU),采用大规模或超大规模集成电路技术做成的半导体芯片,上面集成了控制器、运算器和寄存器组。,图2-6 8086 CPU引脚图,第2章 8086微处理器,8086 CPU引脚如图2-6所示,8086 CPU可以在两种模式下工作,即最大模式和最小模式。当CPU处于不同工作模式时,其部分引脚的功能是不同的,图2-6中带有括号的引脚为最大模式时的引脚名称。,(1)两种工作方式功能相同的引脚,AD15 AD0(39脚、2脚16脚
23、):地址/数据总线,双向,三态。是采用分时工作方式传送地址或数据的复用引脚。根据不同时钟周期的要求,决定当前是传送要访问的存储单元或I/O端口的低16位地址,还是传送16位数据,或是处于高阻状态。,第2章 8086微处理器,A19/S6A16/S3(35脚38脚):地址/状态总线,输出,三态。是采用分时工作方式传送地址或状态的复用引脚,其中A19A16为20位地址总线的高4位地址,S6S3是状态信号。,S6:指示8086当前是否与总线相连,当S6=0表示8086当前与总线相连。,第2章 8086微处理器,S5:表明中断允许标志当前的设置。S5=0,表示CPU中断是关闭的,禁止一切可屏蔽中断的中
24、断请求;S5=1表示CPU中断是开放的,允许一切可屏蔽中断的中断申请。S4和S3:组合起来指出当前使用的段寄存器的情况。,BHE/S7(34脚):高8位数据总线允许/状态信号,输出,三态。高8位数据总线允许信号,当低电平有效时,表明在高8位数据总线D15 D8上传送1个字节的数据;S7为设备的状态信号。,第2章 8086微处理器,RD(32脚):读信号,输出,三态,低电平有效。当信号为低电平时,表示CPU正在进行读存储器或读I/O端口的操作。,READY(22脚):准备就绪信号,输入,高电平有效。当READY=1时,表示CPU访问的存储器或I/O端口已准备好传送数据。若CPU在总线周期T3状态
25、检测到READY信号为低电平,表示存储器或I/O设备尚未准备就绪,CPU自动插入一个或多个等待状态TW,直到READY信号变为高电平为止。,第2章 8086微处理器,INTR(18脚):可屏蔽请求信号,输入,电平触发,高电平有效。当INTR=1时,表示外设向CPU发出中断请求,CPU在当前指令周期的最后一个T状态去采样该信号,若此时IF=1,则CPU响应中断,停止执行原指令序列,转去执行中断服务程序。,TEST(23脚):测试信号,输入,低电平有效。当CPU执行WAIT指令时,每隔5个时钟周期对其进行一次测试,若测到无效,CPU继续处于等待状态,直到检测到为低电平。,第2章 8086微处理器,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 8086 微处理器

链接地址:https://www.31ppt.com/p-5330321.html