微机原理及应用ch219128_第1页
微机原理及应用ch219128_第2页
微机原理及应用ch219128_第3页
微机原理及应用ch219128_第4页
微机原理及应用ch219128_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、2.1 8086微处理器的内部结构微处理器的内部结构2.2 8086微处理器的引脚功能微处理器的引脚功能2.3 8086cpu的工作模式的工作模式2.4 8086cpu的基本总线时序的基本总线时序同一时间处理同一时间处理二进制的位数二进制的位数即主频,即主频,数字脉冲数字脉冲信号震荡的速度信号震荡的速度 2.1 8086微处理器的内部结构微处理器的内部结构l8086是是intel系列的系列的16位微处理器,有位微处理器,有16根数据根数据线和线和20根地址线。因为可用根地址线。因为可用20位地址,所以可位地址,所以可寻址的地址空间达寻址的地址空间达220=1mb。l时钟频率有时钟频率有5mhz

2、、8mhz、10mhz三种。三种。l有有64kb个个i/o端口,并且两个编号相邻的端口可端口,并且两个编号相邻的端口可以组合成一个以组合成一个16位端口。位端口。lcpu的工作由执行部件(的工作由执行部件(eu)和总线接口部件)和总线接口部件(biu)两部分组成。)两部分组成。一、执行部件(一、执行部件(eu)leu = executive unitl负责指令的执行,包括负责指令的执行,包括通用寄存器、专用寄存通用寄存器、专用寄存器、标志寄存器及运算器、标志寄存器及运算器(器(alu)等部分组成。)等部分组成。1. 通用寄存器组通用寄存器组ax, bx, cx, dx: 存放存放16位数据或地

3、址位数据或地址ah, al, bh, bl, ch, cl, dh, dl: 8位寄存器位寄存器l注意:注意:(1)用于)用于8位寄存器使用时只可存放数据,位寄存器使用时只可存放数据,不能存放不能存放地址;地址;(2)一般情况,这些寄存器是用在算术运算或逻辑运)一般情况,这些寄存器是用在算术运算或逻辑运算指令中,以进行算术逻辑运算。在有些指令中,算指令中,以进行算术逻辑运算。在有些指令中,它们则有特定的用途:如它们则有特定的用途:如ax作累加器用;作累加器用;bx作基址作基址(base)寄存器,如在查表指令)寄存器,如在查表指令xlat中存放表的起中存放表的起始地址;始地址;cx作计数(作计数

4、(count)寄存器,如在数据串)寄存器,如在数据串操作指令的操作指令的rep中用中用cx存放数据单元的个数作为循存放数据单元的个数作为循环操作的次数;环操作的次数;dx作数据(作数据(data)寄存器,如在字)寄存器,如在字的除法运算指令的除法运算指令div中,存放余数。中,存放余数。l主要用于存放主要用于存放i/o或存储器的端口地址。或存储器的端口地址。l指针寄存器指针寄存器sp和和bp用来存取位于当前堆栈段中的用来存取位于当前堆栈段中的数据,但数据,但sp和和bp在使用上有区别。入栈(在使用上有区别。入栈(push)和出栈(和出栈(pop)指令是由)指令是由sp给出栈顶的偏移地址,给出栈

5、顶的偏移地址,故称为堆栈指针寄存器。故称为堆栈指针寄存器。bp则是用来存放位于堆则是用来存放位于堆栈段中的一个数据区基址的偏移地址的,故称作基栈段中的一个数据区基址的偏移地址的,故称作基址指针寄存器。址指针寄存器。l变址寄存器变址寄存器si和和di是用来存放当前数据段的偏移地是用来存放当前数据段的偏移地址的。在字符串操作中,源操作数地址的偏置放于址的。在字符串操作中,源操作数地址的偏置放于si中,所以中,所以si称为源变址寄存器;目的操作数地址称为源变址寄存器;目的操作数地址的偏置放于的偏置放于di中,所以中,所以di称为目的变址寄存器。称为目的变址寄存器。2. 专用寄存器专用寄存器sp、bp

6、、si、di3. 算数逻辑单元算数逻辑单元alu主要是进行算数和逻辑运算的部件主要是进行算数和逻辑运算的部件4. 状态标志寄存器状态标志寄存器frl8086 cpu的状态标志寄存器是一个的状态标志寄存器是一个16位的寄存器,位的寄存器,9个位用作标志位,其中状态标志位有个位用作标志位,其中状态标志位有6个,控制标个,控制标志有志有3个。个。l状态标志,状态标志,用来表示运算结果的特征,它们是:用来表示运算结果的特征,它们是:cf、pf、af、zf、sf和和of;这这6位都是逻辑值,位都是逻辑值,判断结果为逻辑真(判断结果为逻辑真(true)时其值为)时其值为1;判断结果;判断结果为逻辑假(为逻

7、辑假(false)时,其值为)时,其值为0。l控制标志,用来控制控制标志,用来控制cpu的操作,它们是:的操作,它们是:if、df和和tf。 e.g. a=10110110,b=01101000 则:则:a+b=1 0001 1110 cf=1(有进位);(有进位); pf=1(奇偶校验,运算结果中有偶数个(奇偶校验,运算结果中有偶数个1);); af=0(辅助进位,低(辅助进位,低4位向高位向高4位无借位);位无借位); zf=0(运算结果不为(运算结果不为0);); sf=0(符号标志,运算结果最高位(符号标志,运算结果最高位d7为为0);); of=0(溢出标志,运算结果没超过范围(溢出

8、标志,运算结果没超过范围 -128+127)。)。 1 0 1 1 0 1 1 0+ 0 1 1 0 1 0 0 0 1 0 0 0 1 1 1 1 0二、总线接口部件(二、总线接口部件(biu)的组成和工作特点的组成和工作特点 lbiu=bus interface unitl功能是负责与功能是负责与cpu外外部即存贮器、部即存贮器、i/o端端口传送数据和程序口传送数据和程序 。lbiu由四部分组成由四部分组成 : (1) 四个四个16位的段地址寄存器:位的段地址寄存器: cs (code segment) 代码段寄存器代码段寄存器 ds (data segment) 数据段寄存器数据段寄存器

9、 es (extra segment) 附加段寄存器附加段寄存器 ss (stack segment) 堆栈段寄存器堆栈段寄存器 (2) 16位指令指针寄存器位指令指针寄存器ip 。 (3) 20位的地址加法器。位的地址加法器。 (4) 6字节的指令队列字节的指令队列 。 提供段基址以构成提供段基址以构成物理地址,不能参物理地址,不能参与算术逻辑运算与算术逻辑运算 lbiu的工作特点:的工作特点:(1) 地址加法器用来产生地址加法器用来产生20位地址(物理地址)。位地址(物理地址)。 根据指令和相关的根据指令和相关的16位寄存器提供的信息计算出位寄存器提供的信息计算出20位位的物理地址的物理地

10、址 (2) 6b指令队列缓冲器提高指令队列缓冲器提高cpu效率。效率。 biu从内存中取下一条(或几条)指令机器码放在指从内存中取下一条(或几条)指令机器码放在指令队列中,提高了令队列中,提高了cpu的效率的效率 三、存储器的分段和物理地址的形成三、存储器的分段和物理地址的形成1. 存储器的分段存储器的分段l1mb(有(有20位地址线可直接寻址)空间分成若干段,位地址线可直接寻址)空间分成若干段,每段每段64kb=216。段与段之间能连续排列、部分重叠、。段与段之间能连续排列、部分重叠、完全重叠、断续排列。每个存储单元地址是完全重叠、断续排列。每个存储单元地址是20位二进位二进制数,按制数,按

11、00000h0fffffh来编址。来编址。l从从0号地址开始,依次每号地址开始,依次每16kb的存贮空间叫的存贮空间叫做做一节一节。为了简化操作要求所有的段从节首。为了简化操作要求所有的段从节首开始,因此,段首地址的开始,因此,段首地址的低四位低四位一定都是一定都是0,低低4位为位为0的共有的共有2(20-4)=64k个地址个地址 。段首。段首地址的高地址的高16位叫位叫“段基址段基址”。从段首起到该。从段首起到该段某一存贮单元的地址数称为该单元的段某一存贮单元的地址数称为该单元的段内段内偏移量偏移量。l根据段中存贮信息的种类,将段分为根据段中存贮信息的种类,将段分为代码段代码段、数据段数据段

12、、堆栈段堆栈段和和附加段附加段。当前段的段基址。当前段的段基址放在相应的放在相应的16位段寄存器中位段寄存器中 。偏移量可存放。偏移量可存放在在ip、sp或或16位通用寄存器中位通用寄存器中 。 2. 逻辑地址和物理地址逻辑地址和物理地址l物理地址物理地址指某一个单元在存贮器中的指某一个单元在存贮器中的20位绝对地位绝对地址,单元的物理地址是址,单元的物理地址是唯一唯一的。的。l逻辑地址逻辑地址是指存贮单元的段基址和偏移量。单元是指存贮单元的段基址和偏移量。单元的逻辑地址可能的逻辑地址可能不是唯一不是唯一的。的。 物理地址物理地址=段基址段基址16+偏移量偏移量 二进制:段基址左二进制:段基址

13、左移四位,低位填移四位,低位填0十六进制:段基址左十六进制:段基址左移一位,低位填移一位,低位填0物理地址物理地址=段基址左移段基址左移4位(低位补位(低位补0)+偏移量偏移量 l注意:注意:同一个物理地址可以有不同段基址和偏移量组合得到。同一个物理地址可以有不同段基址和偏移量组合得到。如:如:cs=0000h,ip=1051h,物理地址,物理地址010510hcs=0100h,ip=0051h,物理地址,物理地址010510he.g. cs=2000h,ip=2200h,存储器的物理地址是:,存储器的物理地址是:20000h+2200h=22200h四、四、8086内存的组织和内存的组织和c

14、pu对存储器的访问对存储器的访问1. 内存的组织形式内存的组织形式l内存是按字节编址的,每内存是按字节编址的,每个存储单元中存放一个个存储单元中存放一个8位二进制数(一个字节,位二进制数(一个字节,1b),若一个数据长度),若一个数据长度为为2b(一个字),则放(一个字),则放在连续两个单元中,高字在连续两个单元中,高字节放高地址单元,低字节节放高地址单元,低字节放低地址单元。放低地址单元。字的地址字的地址用低字节存储地址表示。用低字节存储地址表示。lcpu的地址线的地址线a0作为偶存储体的片选信号。作为偶存储体的片选信号。 lbhe作为奇存储体的片选信号。作为奇存储体的片选信号。2. cpu

15、对内存的访问对内存的访问l存储器分成两个部分,每一部分为存储器分成两个部分,每一部分为512k字节。字节。一部分叫一部分叫偶存储体偶存储体,其中内存单元的地址码都是,其中内存单元的地址码都是偶数如偶数如00000h、000002h等,该存储体的数据总等,该存储体的数据总线对应接线对应接cpu数据总线的数据总线的低低8位位;另一部分叫;另一部分叫奇奇存储体存储体,其中内存单元的地址码都是奇数,如,其中内存单元的地址码都是奇数,如00001h、00003h等,该存储体的数据总线对应等,该存储体的数据总线对应接接cpu数据总线的数据总线的高高8位位。3. cpu对数据字的访问对数据字的访问lcpu如

16、要访问一个偶地址的数据字如要访问一个偶地址的数据字 ,那么用,那么用d15d0 16条数据总线可一次访问成功。若要访问条数据总线可一次访问成功。若要访问一个奇地址的数据字到一个奇地址的数据字到cpu,需要两次访问才能,需要两次访问才能获得这个数据字。第一次用获得这个数据字。第一次用d15d8访问奇存储体访问奇存储体的低字节,第二次用的低字节,第二次用d7d0访问偶存储体的高字节。访问偶存储体的高字节。 l为了提高对数据字的访问速度,应将数据字的为了提高对数据字的访问速度,应将数据字的低字节放在偶存储体中,即使数据字的地址码低字节放在偶存储体中,即使数据字的地址码为偶数。这样在存储器中存储的数据

17、字叫为偶数。这样在存储器中存储的数据字叫对准对准字字。而地址码为奇数的数据字叫。而地址码为奇数的数据字叫未对准字未对准字。 2.2 8086cpu的引脚功能的引脚功能引脚的基本知识引脚的基本知识l引脚的功能引脚的功能l信号的流向信号的流向l有效电平有效电平l三态能力三态能力l引脚的复用引脚的复用指引脚信号的定义、作用;通常指引脚信号的定义、作用;通常采用英文单词或其缩写表示采用英文单词或其缩写表示信号从芯片向外输出,还是从信号从芯片向外输出,还是从外部输入芯片,或者是双向的外部输入芯片,或者是双向的起作用的逻辑电平高、低电平有起作用的逻辑电平高、低电平有效上升、下降边沿有效效上升、下降边沿有效

18、以少量的引脚提供更多的功能以少量的引脚提供更多的功能输出正常的低电平、高电平外,输出正常的低电平、高电平外,还可以输出高阻的第三态还可以输出高阻的第三态从引脚信号上看从引脚信号上看,8086和和8088有什么不同有什么不同?l由于由于8088只能传输只能传输8位数据,所以位数据,所以8088只有只有8个地个地址址/数据复用引脚;而数据复用引脚;而8086是按是按16位传输数据的,位传输数据的,所以有所以有16个地址个地址/数据复用引脚;数据复用引脚;l8086和和8088的控制线引脚定义中第的控制线引脚定义中第28和和34腿也不腿也不一样,在最小模式时,一样,在最小模式时,8088和和8086

19、的第的第28引脚的引脚的控制信号相反,而控制信号相反,而8086的第的第34腿为腿为bhe*/s7,bhe*用来区分是传送字节、还是字,用来区分是传送字节、还是字,8088的第的第34腿为腿为ss0,用来指出状态信息,不能复用。,用来指出状态信息,不能复用。 一、地址线、数据线和状态线一、地址线、数据线和状态线lad15ad0(双向,三态):地址(双向,三态):地址/数据数据分时复用分时复用总线总线 。为低为低16位地址位地址/数据的复用引脚线。采用分时的多路转数据的复用引脚线。采用分时的多路转换方法来实现对地址线和数据线的复用。在换方法来实现对地址线和数据线的复用。在dma方式方式时,这些引

20、线被浮空,置为高阻状态。时,这些引线被浮空,置为高阻状态。la19/s6、a18/s5、a17/s4、a16/s3(输出,三态):地址(输出,三态):地址/状态状态复用复用线。线。lbhe*/s7 (输出,三态):(输出,三态):为高为高8位数据总线允许位数据总线允许状态复用引脚。状态复用引脚。8086有有16根数据线,可以用高根数据线,可以用高8位数位数据线传送一个字节,也可以用低据线传送一个字节,也可以用低8位数据线传送一个位数据线传送一个字节,还可以一次传送一个字,字节,还可以一次传送一个字, bhe*是用来区分这是用来区分这几类传输的。几类传输的。 通过硬件连接,可使通过硬件连接,可使

21、8086cpu有两种工作方式:有两种工作方式:最大工作方式和最大工作方式和最小工作方式最小工作方式。 一种数据传输一种数据传输的控制方式的控制方式什么是分时复用?什么是分时复用?l一个引脚在不同的时刻具有两个甚至多个作用一个引脚在不同的时刻具有两个甚至多个作用l最常见的总线复用是数据和地址引脚复用最常见的总线复用是数据和地址引脚复用l总线复用的目的是为了减少对外引脚的个数总线复用的目的是为了减少对外引脚的个数l8086cpu的数据地址线采用了总线复用方法的数据地址线采用了总线复用方法二、控制线二、控制线1、rd*(输出,三态)(输出,三态) :读读信号线,与信号线,与m/io*配合使配合使用用

22、 。2、wr*:写写信号线信号线 。3、m/io*:存储器存储器或或i/o端口访问信号。端口访问信号。4、ready (输入)(输入) :准备就绪准备就绪信号信号 。是由选中的存是由选中的存储器或储器或i/o端口送来的响应信号,当有效时(高电端口送来的响应信号,当有效时(高电平),表示被访问的存储器或平),表示被访问的存储器或i/o端口已准备就绪,端口已准备就绪,可完成一次数据传送。可完成一次数据传送。5、intr(输入):可屏蔽(输入):可屏蔽中断请求中断请求信号信号 。6、inta*(输出):(输出):中断响应中断响应信号信号 。 cpu向外输出的向外输出的中断响应信号,用于对外部中断源发

23、出的中断请求的中断响应信号,用于对外部中断源发出的中断请求的响应。响应。7、nmi (输入):非(输入):非可屏蔽可屏蔽中断请求信号中断请求信号 。8、test*(输入):(输入):测试测试信号,信号,低电平有效。信号和低电平有效。信号和wait指令配合使用。当指令配合使用。当cpu执行执行wait指令时,指令时,cpu处于等待状态,并且每隔处于等待状态,并且每隔5个个t对该信号进行一对该信号进行一次测试,一旦检测到次测试,一旦检测到 test*信号为低,则结束等待信号为低,则结束等待状态,继续执行状态,继续执行wait指令下面的指令。指令下面的指令。wait指令指令是使是使cpu与外部硬件同

24、步的,与外部硬件同步的,test*相当于外部硬件相当于外部硬件的同步信号。的同步信号。9、reset(输入):(输入):复位复位信号信号 ,输入,高电平有效,输入,高电平有效 。10、ale(输出):(输出):地址锁存地址锁存允许信号允许信号 。 ale下降沿下降沿锁存地址。锁存地址。11、dt/r*(输出,三态):数据(输出,三态):数据发送发送/接收接收控制信号控制信号 。在使用在使用8286或或74ls245数据收发器的最小模式系统中,数据收发器的最小模式系统中,用用dt/ r*来控制数据传送方向。来控制数据传送方向。dt/ r*为低电平,为低电平,进行数据接收(进行数据接收(cpu读)

25、,即收发器把系统数据总线读),即收发器把系统数据总线上的数据读进来。当上的数据读进来。当cpu处在处在dma方式时,此线浮方式时,此线浮空。空。 12、den*(输出,三态):(输出,三态):数据允许信号数据允许信号 。在使用在使用8286或或74ls245数据收发器的最小模式系统中,允许数据收发器的最小模式系统中,允许收发器和系统数据总线进行数据传送。收发器和系统数据总线进行数据传送。13、hold(输入):总线请求信号(输入):总线请求信号 。当系统中当系统中cpu之外的总线主设备要求使用总线时,通过之外的总线主设备要求使用总线时,通过hold引引脚向脚向cpu发出请求。发出请求。14、h

26、lda(输出):总线请求响应信号(输出):总线请求响应信号 。当当hlda有效(高电平)时,表示有效(高电平)时,表示cpu对总线请求主设备作对总线请求主设备作出响应,同意让出总线,与出响应,同意让出总线,与cpu相连的三态引脚都相连的三态引脚都被浮置为高阻态。被浮置为高阻态。 15、mn/mx*:工作模式选择工作模式选择信号。信号。三、其它三、其它1、clk:8086时钟时钟信号信号 。2、vcc:电源。:电源。8086用单一的用单一的+5v电压。电压。3、gnd:地线。:地线。“引脚引脚”小结小结cpu引脚是系统总线的基本信号引脚是系统总线的基本信号可以分成三类信号:可以分成三类信号:l1

27、6位数据线:位数据线:d0d16l20位地址线:位地址线:a0a19l控制线:控制线:lale、io/m*、wr*、rd*、readylintr、inta*、nmi,hold、hldalreset、clk、vcc、gnd2.3 8086cpu的工作模式的工作模式 当把当把8086cpu与存储器和外设构成一个计算机与存储器和外设构成一个计算机系统时,根据所连的存储器和外设的规模,系统时,根据所连的存储器和外设的规模,8086具有两种不同的工作模式,即最小模式和最大模具有两种不同的工作模式,即最小模式和最大模式。式。8086到底工作在最大模式还是最小模式,由到底工作在最大模式还是最小模式,由硬件设

28、计决定。硬件设计决定。最小模式硬件连接特点:最小模式硬件连接特点:mn/mx*接高电平(接高电平(+5v),决定了),决定了8086工作在最小工作在最小模式模式有有3片片8282或或74ls373,用来做地址锁存器,用来做地址锁存器当系统中所连存储器和外设较多时,需要增加数据总当系统中所连存储器和外设较多时,需要增加数据总线的驱动能力,要用两片线的驱动能力,要用两片8286/8287作为总线(数据)作为总线(数据)收发器收发器有一片有一片8284a,作为时钟发生器,作为时钟发生器1.地址锁存器地址锁存器8282或或74ls373l具有三态输出的具有三态输出的ttl电平锁存器电平锁存器lstb

29、电平锁存引脚电平锁存引脚loe* 输出允许引脚输出允许引脚82828282与与8086的连接的连接74ls373l具有三态输出的具有三态输出的ttl电平锁存器电平锁存器lle 电平锁存引脚电平锁存引脚loe* 输出允许引脚输出允许引脚2.数据收发器数据收发器8286l8位双向缓冲器位双向缓冲器l控制端连接在一起,控制端连接在一起, 低电平有效低电平有效l可以双向导通可以双向导通l输出与输入同相输出与输入同相oe*0,导通,导通 t1 ab t0 aboe*1,不导通,不导通3.时钟发生器时钟发生器82848284a123456789171615141312111018csyncpclkaen1

30、rdy1readyrdy2aen1clkgndvcc(+5)x1x2asyncefif/coscresresetnc1418efif/crdyres8284aoscreadyresetx1x21716500125222110198readyresetclkosc外 界11500reset test hold hlda nmi intr inta m / io wr rdready clk readymn / mx+5v控制总线控制总线地址总线地址总线a19 a0数据总线数据总线d15d0 ale ad19ad8 ad15 ad 0 dt / r den8086cpustb 8282oetoe82868284a系统总线系统总线最小模式的总线形成最小模式的总线形成ad7ad0a15a8a19/s6a16/s3+5v8086ale8282stb系统总线信号a19a16a15a8a7a0d7d0io/m*rd*wr*8282st

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论