微机原理与接口技术-14微处理器复习课程

上传人:yuzo****123 文档编号:142795511 上传时间:2020-08-23 格式:PPT 页数:79 大小:3.15MB
返回 下载 相关 举报
微机原理与接口技术-14微处理器复习课程_第1页
第1页 / 共79页
微机原理与接口技术-14微处理器复习课程_第2页
第2页 / 共79页
微机原理与接口技术-14微处理器复习课程_第3页
第3页 / 共79页
微机原理与接口技术-14微处理器复习课程_第4页
第4页 / 共79页
微机原理与接口技术-14微处理器复习课程_第5页
第5页 / 共79页
点击查看更多>>
资源描述

《微机原理与接口技术-14微处理器复习课程》由会员分享,可在线阅读,更多相关《微机原理与接口技术-14微处理器复习课程(79页珍藏版)》请在金锄头文库上搜索。

1、微处理器,Intel8086/8088 1. 8086/8088的功能结构 8086是一种单片微处理器芯片,内外部数据总线16位( 8088内部数据总线16位,外部数据总线8位)对外40条引脚,主时钟5MHz、 8MHz、10MHz等。20条地址引脚,直接寻址220 =1MByte,可访问64K个I/O端口。,8086 CPU按功能可分为两大部分: 一部分为BIU(BUS Interface Unit) 专门负责取指令和存取操作数。它与BUS打交道。 一部分为EU(Execution Unit) 专门负责分析指令与执行指令。它不与系统BUS打交道。,1)执行单元EU 数据寄存器 AX、BX、C

2、X、DX 专用寄存器 SP、BP、SI、DI 标志寄存FLAG 算数逻辑部件 ALU EU控制逻辑单元,执行部分控制电路,ALU,标志寄存器,通用 寄存 器,执行部件 (EU),16位,8位,8088CPU的内部寄存器,8088CPU内部共有14个16位的寄存器,其中包括4个16位的数据寄存器AX、BX、CX、DX;2个16位的指针寄存器SP、BP;2个16位的变址寄存器SI、DI;2个16位的控制寄存器IP、F及4个16位的段寄存器CS、DS、ES、SS,如图2.1所示。,1.通用寄存器组 通用寄存器组包括4个数据寄存器AX、BX、CX、DX;2个指针寄存器SP、BP及2个变址寄存器SI、D

3、I。 4个数据寄存器用来存放16位数据,也可以将每个数据寄存器分为2个8位的寄存器,用于存放8位数据。此时,AX可分为AH及AL;BX可分为BH及BL;CX分为CH及CL;DX分为DH及DL,它们可作为8位寄存器单独使用。这样既可以进行16位的算术运算和逻辑运算,也可以进行8位的算术运算和逻辑运算,这是8088指令系统的一个特点。,两个指针寄存器中的SP是堆栈指针寄存器,它和堆栈段寄存器一起就可以确定堆栈在内存中的位置。BP是基数指针寄存器,通常用来存放基地址,使得8088的寻址更加灵活。 两个变址寄存器:SI是源变址寄存器,DI是目的变址寄存器,均用于指令的变址寻址。SI通常指向源操作数,而

4、DI通常指向目的操作数。,不仅4个数据寄存器可以任意参加算术运算和逻辑运算,而且BP,SP,SI,DI也可以任意参加算术运算和逻辑运算,因而称以上寄存器为通用寄存器。,为了充分地利用这些通用寄存器,在某些指令中又对其中的寄存器作了特殊的约定,使这些寄存器在通用的基础上附加了一点特殊性。 这些特殊的约定虽然增加了掌握指令的难度,但是当学完指令系统后会发现,这点难度是不大的,是容易克服的。,例如,虽然通用寄存器都可作为累加器使用,但在某些算术运算中(如乘法运算、除法运算、十进制调整等),还是指定了以AX作为累加器,这就使AX与其它的通用寄存器有所区别,因而在8088中,把AX称为累加器。 由于在变

5、址寻址中,指定BX为基址寄存器,因此,BX便被称为基址寄存器。,在循环控制或重复操作的指令中,常把循环或重复的次数放在CX或CL中,因而称CX为计数寄存器。在乘法、除法中,乘积或被除数超过16位时,总是用DX与AX存放,故DX便被称为数据寄存器。,对于SI和DI寄存器也有类似的情况,即在专用的串操作指令中,指定SI作为源串的地址指针,DI作为目标串的地址指针,并在串指令执行时,自动地改变SI或DI的值,因而称SI、DI为变址寄存器。,SP作为堆栈栈顶元素的指针,不能指向栈顶以外的元素,为此,增加了一个基址指针寄存器BP,使它可以指向由SS作为堆栈段基址的栈中的任意位置。BP与SP具有不同的概念

6、和用途,我们要注意将它们区别开来。,2.专用寄存器组,专用寄存器组包括作为控制寄存器使用的指令指针寄存器IP和状态标志寄存器F,此外还有4个用于实现1MB存储器寻址的段寄存器CS、DS、SS、ES。以上寄存器都是16位的寄存器。 8088指令中给出的地址最多只有16位,而与寻址有关的寄存器也是16位的,由于16位地址最多只能寻址64KB。,4个段基地址CS、DS、ES、SS仅仅指出了段从哪个地址开始,但还不能决定正在使用的具体的存储单元的地址,因此我们把正在使用的存储单元的地址与所在段的基地址的偏移量称为段内偏移量或者称为有效地址EA,真正的物理地址是由段寄存器值左移4位与段内偏移量相加后的结

7、果,如图2.2所示。,例如取指令时,CS值为2000H,而IP值为3500H,则被取指令的物理地址为: 20000H CS左移4位 ) 3500H 段偏移 23500H 物理地址 又如SS值为7900H,已知栈顶元素的物理地址为7B450H,则堆栈指针SP的值为: 7B450H ) 79000H 2450H 即SP值为2450H.,1MB是16个64KB存储器的总和,但这并不意味着1MB只能包括16个逻辑段。因为这些段既可以首尾相连,可以相互间隔开。也可以相互重叠或者部分重叠,只要不影响程序的正常执行(例如不会取错指令或数据等)即行,所以,逻辑段个数可能多于16个也可能少于16个。,此外,段寄

8、存器如何与偏移量形成相应的物理地址,这在8088中有个基本约定。正常情况下一般按这个基本约定形成所需的物理地址,但也允许有特例情况,被称为段超越,即不用约定的段基址,而是用可修改的段基址与某偏移量来形成所需的物理地址,见表2.1。,表2.1 段寄存器使用约定,专用寄存器组中的指令寄存器IP只能与CS寄存器相互结合,才能形成指令的真正的物理地址。,执行单元EU的组成1:标志寄存Flag,标志寄存器F则用来反映系统的状态及指令执行的结果,8088的F使用了9个标志位,各位有不同的意义,如图2.3所示。,(1)进位标志CF 当指令执行的结果在最高位出现进位或借位时,CF1;否则CF0。8088中,字

9、节操作的最高位为D7;字操作的最高位为D15。在执行加、减、比较、移位等指令时,将根据结果改变CF标志位的状态。 (2)奇偶标志PF 当指令执行的结果中1的个数为偶数时,PF1;否则PF0。在执行逻辑运算的指令时,将根据结果改变PF标志位的状态。,(3)辅助进位标志AF 当指令执行的结果,若低半字节(低4位)向高半字节进位或借位时,AF1;否则AF0。该标志常用于十进制数运算结果的调整,以得到十进制的结果。 (4)零标志位ZF 当指令执行的结果为0时,ZF1;否则ZF0。,(5)符号标志位SF 当运算结果的最高位(字节操作时为D7位,字操作时为D15位)为1时,SF1;否则SF0。因SF与结果

10、的最高位一致,故可用SF值反映结果是正或负。 OF溢出标志:当补码运算有溢出时,OF为1;否则为0。,1)所有的逻辑/算术运算 2)计算16位的偏移地址送到BIU,以形成 20 位的物理地址,以便对 1 兆空间的存储器寻址。 3)影响标志位Flag,执行单元EU的组成2: 算数逻辑部件 ALU,EU控制逻辑单元,8086CPU的中心控制单元,是控制 定时与状态逻辑电路。接受指令队列缓冲器送来的指令代码, 用于控制执单元中各部件按制定的要求协调工作。,总线接口BIU,段寄存器 CS、DS、ES、SS 地址加法器 指令指针寄存器 IP 指令队列 总线控制逻辑,内部暂存器,IP,ES,SS,DS,C

11、S,输入/输出控制电路,外部总线,1 2 3 4 5 6,地址加法器,指令队列缓冲器,总线接口部件 (BIU),20位,16位,8位,2. BIU,BIU单元用来实现EU的所有总线操作。它由地址加法器,段寄存器CS、DS、SS、ES,指令指针IP,指令队列缓冲器和总线控制逻辑组成。BIU负责CPU与存储器或外部设备之间的信息交换。,将取指令部分和执行指令部分分开的好处是,在EU执行指令的过程中,BIU可以取出多条指令放入指令流队列中。当EU执行完一条指令后,就可以立即执行下一条指令,从而减少了CPU为取指令而等待的时间,提高了运算的速度。这是8088CPU的一大优点。,段寄存器 CS、DS、E

12、S、SS,BIU的组成1:段寄存器,BIU的组成2:地址加法器,BIU的组成3:指令指针寄存器 IP,IP(Instruction Pointer): 为16位, 终始保持着EU要执行的下一条指令的偏移地址(其值自动增加),不能用指令直接修改, 但可以用间接方法修改(例如:中断, 返回, 转移, 调用等等)。,BIU的组成4:指令队列(缓冲器),指令队列缓冲器由6个8位(80866个,80884个)的FIFO寄存器构成, 其工作流程如下: (1)BIU中的指令队列有2个或2个以上字节为空时,BIU自动启动总线周期,取指填充指令队列。直至队列满,进入空闲状态。 (2)EU每执行完一条指令,从指令

13、队列队首取指。系统初始化后,指令队列为空,EU等待BIU从内存取指,填充指令队列。,(3)EU取得指令,译码并执行指令。若指令需要取操作数或存操作结果,需访问存储器或I/O,EU向BIU发出访问总线请求。 (4)当BIU接到EU的总线请求,若正忙(正在执行取指总线周期),则必须等待BIU执行完当前的总线周期,方能响应EU请求;若BIU空闲,则立即执行EU申请总线的请求。 (5)EU执行转移、调用和返回指令时,若下一条指令不在指令队列中,则队列被自动清除,BIU根据本条指令执行情况重新取指和填充指令队列。,BIU的组成5:总线控制逻辑,提供系统总线的控制信号,实现数据、地址和状态信息的分时传送。

14、 由于8086/8088仅有40pin, 而16位的DB 及20位的AB若分离设置的话将占用36pin, 故8086采取了AB/DB分时复用的方法, 但这样增加了总线控制的复杂程度.,BIU:负责与存储器接口,即8088与存储器之间的信息传送 EU: 负责指令的执行。 将CPU分为两个单元,可以使取指令和执行指令同时进行,减少了CPU为取指令而等待的时间,从而提高了CPU的利用率,提高了系统的运行速度。,8088与8086微处理器的差别,1.结构区别 8086的指令队列长度为6个字节,当队列空闲两个字节时,BIU自动从存储器取出指令字节,存入指令队列中;而8088的指令队列为4个字节长,当队列

15、空闲一个字节时,BIU就自动取指令字节,并存到指令队列中去。,2. 端脚上的区别 8088对外数据总线为8位,故仅分时复用地址线的低8位,即AD0AD7这8条为地址/数据线。A8A15专门用于地址线。 8086对外数据总线为16位,故与16位的地址线分时复用,即AD0AD15这16条均为地址/数据线。,2. 8086引脚功能和工作模式,(1)、8086的引脚说明,8086/8088 的引脚信号,8086/8088芯片的各类信号线包括20根地址线 ,8根(8088)或16根(8086)数据线及控制线、状态线、时钟、电源和地线等。总数大大超过了40根线。 因此,为满足封装的要求 , 必须采用一线多

16、用的办法。8086/8088引脚定义的方法大致可以分为五类。,第一类的每个引脚只传送一种信息。例如 , 第32脚只传送CPU发出的读信号 第二类的每个引脚电平的高低代表不同的信号 , 例如,第三类引脚在8086/8088的两种不同工作方式最小模式和最大模式下有不同的名称和定义。例如:第29脚为 。当8086/8088工作在最小模式时 , 该引脚传送CPU发出的写信号 , 而当8086/8088工作在最大模式时 , 该引脚传送的是括号内的信号 即总线锁定信号。,第四类的每个引脚可以传送两种信息。这两种信息在时间上是可以分开的。因此可以用一个引脚在不同时刻传送不同的信息 , 一般称这类引脚为分时复用线。 例如,AD

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


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

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