微机原理及应用 教学课件 ppt 作者 胡蔷 第二章

上传人:E**** 文档编号:89507493 上传时间:2019-05-26 格式:PPT 页数:63 大小:899KB
返回 下载 相关 举报
微机原理及应用 教学课件 ppt 作者 胡蔷 第二章_第1页
第1页 / 共63页
微机原理及应用 教学课件 ppt 作者 胡蔷 第二章_第2页
第2页 / 共63页
微机原理及应用 教学课件 ppt 作者 胡蔷 第二章_第3页
第3页 / 共63页
微机原理及应用 教学课件 ppt 作者 胡蔷 第二章_第4页
第4页 / 共63页
微机原理及应用 教学课件 ppt 作者 胡蔷 第二章_第5页
第5页 / 共63页
点击查看更多>>
资源描述

《微机原理及应用 教学课件 ppt 作者 胡蔷 第二章》由会员分享,可在线阅读,更多相关《微机原理及应用 教学课件 ppt 作者 胡蔷 第二章(63页珍藏版)》请在金锄头文库上搜索。

1、第二章 8086/8088微处理器,内容提要:本章主要介绍了8086CPU的结构、引脚功能、工作模式以及最大最小模式的工作时序。 学习目标:重点掌握计算机的内部结构及引脚功能。掌握计算机的读写时序有助于理解计算机的工作原理。,返回主目录,微处理器是微型计算机的核心部件,自1971年Intel公司发布了Intel 4004以来,微处理器的发展速度基本上遵循了摩尔定律(每18个月微处理器芯片上的晶体管数翻一番)。30多年来,微处理器从4位机发展到8位、16位、32位、64位。16位机的代表型号是8086,8086CPU处理的目标程序在32位、64位机上仍能执行。32位和64位机的指令系统也是在16

2、位机的基础上发展而来的。因此,本节重点介绍16位微处理器8086。简单介绍32位和64位的微处理器。,第二章 8086/8088微处理器,本章目录 2.1 8086/8088微处理器的结构 2.2 8086/8088的引脚功能 2.3 8086/8088的总线结构 2.4 8086最小模式的工作时序 本章小结,2.1 8086/8088微处理器的结构,8086/8088微处理器的结构相似,都由算术逻辑运算单元ALU、专用和通用寄存器、指令寄存器、指令译码器、定时器控制电路等组成。按功能可把CPU分成两大部:执行单元(Execution Unit)和总线接口单元(Bus Interface Un

3、it)如图2-1所示,图中左半部分为执行单元,简称EU。右半部分为总线接口单元,简称BIU。BIU与外部总线相连,完成与外设(或存储器)的数据传送,包括取指令操作、存储器读/写数据操作、I/O接口的读/写操作。EU通过BIU得到信息,其功能就是负责指令的执行。BIU和EU两个单元可以并行工作。这样提高CPU的工作速度。,2.1.1 8086/8088微处理器的结构,图2-1 8086微处理器内部结构示意图,执行单元EU由8个通用寄存器、1个标志寄存器、算术逻辑运算单元ALU及EU控制电路组成;EU从BIU指令队列寄存器中获得指令和待处理数据进行操作。将指令代码译码后,发出相应的控制信息,将数据

4、在ALU中进行运算,运算结果的特征保留在标志寄存的FLAGS中。,总线接口单元BIU包括4个段寄存器、1个指令指针寄存器、1个与EU通读寄存器。一个先入先出的6个字节(8088是4个字节)指令队列。总线控制逻辑电路及20位实际物理地址计算的加法器。,1执行单元EU,2.总线接口单元BIU,通用寄存器的包括数据寄存器、地址指针寄存器和变址寄存器。 数据寄存器数据寄存器有AX、BX、CX、DX都是16位寄存器,这四个16位寄存器可分为高8位和低8位两部分使用,也就是说也可作8位寄存器使用。高8位表示成:AH、BH、CH、DH,低8位表示成:AL、BL、CL、DL。参与运算的数是16位数时,可用AX

5、、BX、CX、DX中的任意一个描述,如果参与运算的数据是8位数时可用AH、AL、BH、BL、CH、CL、DH、DL中的任意一个描述。一般情况下,这四个数据寄存器就是用于存放参与运算的数据或运算结果的。但这四个寄存器又有自己特殊的用法。,2.1.2 8086内部寄存器,8086内部寄存器按其功能可分为:通用寄存器(8个),段寄存器(4个),控制寄存器(2个)。,1.通用寄存器,AX(Accumulator)累加器,是指令系统中应用最多的寄存器,输入/输出只能用AX寄存器传递数据,它经常存放运算的中间结果,并参与下次运算,所以叫累加器。 BX(base Register)基址寄存器,它通常用来存放

6、内存的基地址,用于寄存器寻扯。 CX(count Register)计数寄存器,在循环和串操作指令中,用于计数重复次数。 DX(Data Register)数据寄存器,通常用来存放运算结果。如乘法运算后DX与AX合起来存放32位数的运算结果,其中DX存放高16位。在输入/输出操作中,可用DX作为端口地址的寄存器间接寻址。,地址指针寄存器 地址指针寄存器有SP和BP两个。 SP(stack pointer)叫堆栈指示器,用于指示当前堆段中栈顶所在的存储单元地址。(堆栈在后面介绍)。 BP(base pointer)叫基址指示器,用于指示当前堆栈段中一个数据区基址的偏移地址,通过它间接寻址可对堆栈

7、段中的某个数据进行存取。 SP和BP只能用于堆栈段,不能指示其它段。(存储器是按段管理的,后续介绍)。但SP和BP应用上是有区别的,SP可用于PUSH、POP、CALL、RET等指令,而BP不能用于这些令(后续介绍)。,变址寄存器SI、DI SI(source Index)叫源变址寄存器,一般用于源操作数当前数据段中某个地址的偏移地址。 DI(Destination index)叫目标变址寄存器,一般用于目标操作数当前附加段(本数据段)中某个地址的偏移地址。 在字符串操作中,SI用于存放源串操作数的偏移地址,这个串一定是在数据段DS。DI用于存放目标串操作数的偏移地址,这个串一定是在附加段ES

8、。 在寄存器间寻址时,经常用DI、SI加上一个位移量来改变存储器的地址,因此叫变址寄存器。 指针寄存器和变址寄存器与数据寄存器样,可以参与算术和逻辑运算,但指针寄存器和变址寄存器只能用于16位计算,不能分成8位。,段寄存器包括CS、SS、DS、ES,用于指示当前段的段基址。 CS(Code Segment)叫代码段寄存器,用于指示当前的代码段(程序段)的起始地址段基址。 DS (Date Segment)叫数据段寄存器,用于指示当前的数据段的段基址。 SS(Stack Segment)叫堆栈段寄存器,用于指示当前的堆栈段的段基址。 ES (Extra Segment)叫附加段寄存器,用于指示当

9、前的附加段的段基址。 CS段一般用于存放CPU执行的程序代码。DS一般用于存放程序中的变量和数据。SS段一般用于存放压栈的信息。ES段一般用于存放参与运算结果。,2.段寄存器(segment),控制寄存器有IP和FLAGS。 IP(Instruction Pointer)叫指令指针寄存器(程序指示器)。用于存放预取指令的偏移地址。CPU从代码段中偏移地址为IP的内存单元中取出指令代码的一个字节后,IP自动加I,指向指令代码的下一个字节。用户程序不能直接访问IP。 FLAGS(Flags)叫标志寄存器,用于存放运算结果的标志。FLAGS是16位寄存器,用其中的9位来描述9个标志。通常叫标志9个标

10、志可分为状态标志位和控制标志位。如图2-2所示。,图2-2 8086标志寄存器FLAGS,3.控制寄存器,状态标志位有: CF(Corry Flag)进位标志位(借位标志位):当进行加法(或减法)运算时,若最高位发生进位来借位,则CF=1,否则CF=0。 PF( Parity Flag)寄标志位:当逻辑运算结果中“1”的个数为偶数时,PF=1,为奇数时,PF=0。 AF(Auxiliary Carry)半进位标志位:在8(16)位加减法运算中,低4(8)位向高位有进位或借位,则AF=1,否则AF=0。 ZF(Zero Flag)零标志位:当运算结查为0时,ZF=1,否则ZF=0。 SF(Sig

11、n Flag)符号标志位:当运算结果最高位是1(即函数)时,SF=1,否则SF=0。 OF(Over Flag)溢出标志位:当运算结果超出了带符号数的范围,即溢出时,OF=1,否则OF=0。8位带符号数范围是-128+127。16位带符号数的范围是-32768+32767。这6个状态标志位状态是计算机运算后,自动生成的不是人为赋予的,当然也可通过POPF改变各状态值。(后续介绍),控制标志位 控制标志位被设置后,可完成某些控制操作。 TF(Trap Flag)跟踪标志位:是为调试程序而设置的。若TF=1,则使8086CPU处于单步工作方式,在这种工作方式下,CPU每执行完一条指令,就自动产生一

12、个内部中断,处理机转去执行一个中断服务程序。检查程序中的每条指令执行情况,当TF=0时,CPU正常执行程序。 IF(Interrupt Flag)中断允许标志位(开中断标志位):若将IF设置为1时(IF=1),8086CPU开中断,CPU允许外部的可屏蔽中断源的中断请示,若将IF清零(IF=0),8086CPU关中断,CPU禁止外部可屏蔽中断的请求。 IF只对可屏蔽中断起作用,对非屏蔽中断和内部中断都不起作用。 DF(Direction Flag)方向标志位:方向标志位用于控制串操作指令中SI(或DI)的修改方向。当DF设置为1(DF=1)时,SI(或DI)减量,当DF清零(DF=0)时,SI

13、(或DI)增量,因为SI(或DI)描述串操作的偏移地址,当SI(DI)减量时,串是由高地址向低地址方向遵序执行。后续指令中将详细介绍。,8086有20条地址线,可以寻址1M内存空间。地址从00000HFFFFFH。但8086CPU内部的地址寄存器都是16位的,最多能寻址64K字节,为了能寻址1M字节,8086采用分段技术。分段技术是把存储器可分成代码段CS、堆栈段SS、数据段DS和附加段ES四种。每段为64KB,段与段可以重叠,可以交叉,也可以没有联系。如图2-3所示。存储器分段管理后,每个单元的地址都可以用两个形式的地址来表示,实际地址(物理地址)和逻辑地址。,2.1.3存储器中的逻辑地址和

14、物理地址,图2-3 存储器的逻辑分段结构,例:已知当前有效的代码段、堆栈段、数据段和附加段的段基址分别为1055H、EFF0H、250AH和8FFBH,它们在存储器中的分布情况如图2-4所示。,物理地址:是由20位地址或状态来表示的地址。即20位二进数来表示。CPU与存储器交换信息时,使用的是物理地址。 逻辑地址:是把20位地址分成段基址和偏移地址两部分表示,即段:偏移。这两部分都是无符号的16位二进制数。例如:0001H:2000H。程序是以逻辑地址来编址的。 物理地址的形成是通过CPU内部的BIU部件中的地址加法器运算出来的如图2-5。,从图中可看出物理地址可由下式计算: 物理地址=段基址

15、16+偏移地址。,例如:CS=2000H IP=200H,则物理地址为:2000H+2200H=22200H。,图2-5 8086物理地址的形成,四个段寄存器可以分别描述当前使用的段的起始字节单元。偏移地址可由16位寄存器来描述。一般情况下CS段的偏移地址用IP描述,SS段的偏移地址由SP和BP描述。DS段的偏移地址由BX或SI加上位移量来描述,ES段的偏移地址可由BX和DI加上位移量来描述。如图2-6所示。,图2-6 段寄存器和其它寄存器组合指向存储单元,中断矢量区:00000H003FFH共1K字节,用以存放256种中断类型的中断矢量,每个中断矢量占用4个字节,共2564=1024=1K,

16、显示缓冲区:B0000HB0F9FH约4000(25802)字节,是单色显示器的显示缓冲区,存放文本方式下,所显示字符的ASCII码及属性码;B8000HBBF3FH约16K字节,是彩色显示器的显示缓冲区,存放图形方式下,屏幕显示象素的代码。,启动区:FFFF0HFFFFFH共16个单元,用以存放一条无条件转移指令的代码,转移到系统的初始化部分。,特殊的内存区域: 8088/8086系统中,有些内存区域的作用是固定的,用户不能随便使用,如:,堆栈是在存储器中开辟的一个数据存储器,这个区域数据的存取遵循“先入后出”的原则。堆栈一定在堆栈段。把堆栈存储器的一端固定,称为栈底。另一端可活动,称为栈顶。栈顶由SP堆栈批示器来描述。栈底为栈区的高地址,栈顶的地址小于等于栈底。如果栈顶等于栈底。表明栈区中没有数据。8086/8088的堆栈操作只能是字操作。因此在进行入栈操作时,SP会自动减2,即SP=SP-2。出栈时SP会自动加2,即SP=SP+2。后续讲指令时会详细介绍。,2.1.4 堆栈,2.

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号