微型计算机原理3王忠民著

上传人:今*** 文档编号:107020915 上传时间:2019-10-17 格式:PPT 页数:71 大小:3.39MB
返回 下载 相关 举报
微型计算机原理3王忠民著_第1页
第1页 / 共71页
微型计算机原理3王忠民著_第2页
第2页 / 共71页
微型计算机原理3王忠民著_第3页
第3页 / 共71页
微型计算机原理3王忠民著_第4页
第4页 / 共71页
微型计算机原理3王忠民著_第5页
第5页 / 共71页
点击查看更多>>
资源描述

《微型计算机原理3王忠民著》由会员分享,可在线阅读,更多相关《微型计算机原理3王忠民著(71页珍藏版)》请在金锄头文库上搜索。

1、第3章 80x86微处理器,主要内容: 80x86微处理器简介 8086/8088微处理器 8086/8088的存储器和I/O组织,3.1 80x86微处理器简介,80x86微处理器是美国Intel公司生产的系列微处理器。从8086开始到目前已进入第五代微处理器:8086(8088)、80286、80386、80486和80586(Pentium、Pentium )。其主要发展特点是: 1. 主频从8086的4.77MHz到80586的166MHz,Pentium更高,可达3GHz。主频是指芯片所使用的主时钟频率,它直接影响计算机的运行速度。,2. 数据总线从8086的16位到80586的64

2、位。数据总线是计算机中组成各部件间进行数据传送时的公共通道。其位数(宽度)表示CPU的字长,数据总线位数越多,数据交换的速度越快。 3. 地址总线从8086的20根到80586的32根。地址总线是在对存储器或IO端口进行访问时,传送由CPU提供的要访问的存储单元或I/O端口的地址信息总线,其宽度决定了处理器能直接访问的主存容量大小。,4. 高速缓冲存储器Cache的使用,大大减少了CPU读取指令和操作数所需的时间,使CPU的执行速度显著提高。从80386以后增加了高速缓冲存储器Cache。 微机系统增加了高速缓冲存储器后,使系统的存储器体系形成三级组织结构,即由高速缓冲存储器Cache、主存和

3、外存组成。如图3.1所示。,微处理器 CPU,内存储器 (主存),外存储器 (外存),高速缓冲 存储器 (Cache),图3.1 存储器的三级结构,3.2 8086/8088微处理器 Intel 8086是16位微处理器,有16条数据总线,可以处理8位或16位数据;有20条地址总线,可以直接寻址2201M个存储单元和64K个IO端口。Intel 8088是准16位处理器,其指令系统与8086完全兼容,CPU内部结构仍为16位,但外部数据总线是8位。这样设计的目的主要是与原有的8位外围接口芯片兼容。,3.2.1 8088/8086微处理器内部结构 8086 CPU由 指令执行部件EU 总线接口部

4、件BIU 两个部分组成。 指令执行部件EU主要功能是执行指令。 总线接口部件BIU主要功能是负责CPU与存储器和I/O接口之间的数据传送。,图3-2 8086微处理器内部结构,控制器,指令队列,地址加法器,控制器,内存储器 或 I/O接口,1、指令执行部件EU,EU的功能是执行指令。一般情况下, 指令按照它存放的先后次序顺序执行,EU从指令队列中源源不断地取得指令代码,满负荷地连续执行指令。,指令队列,指令A,指令B,ALU: 可完成16位或8位的二进制运算,运算结果通过内部总线送到通用寄存器,或者送往BIU的内部暂存器中,等待写入内存储器。 ALU运算结果的特征(如有无进位)置入标志寄存器中

5、。,EU控制器负责从BIU的指令队列中取出指令,并对指令译码,根据指令要求向EU内部各部件发出控制命令以实现各条指令的功能。,2、总线接口部件BIU,BIU的功能: 形成访问内存储器的物理地址; 访问内存储器取得指令,暂存到指令队列中等待执行; 访问内存储器或I/O接口以读取操作数参与EU运算,或存放运算结果等; 产生外部总线的各种控制信号。,2、总线接口部件BIU,6字节的指令队列: 一旦指令队列中空出2个字节,BIU将自动进行读指令的操作以填满指令队列。 总线控制逻辑: 将CPU的内部总线与CPU引脚所连接的外部总线相连,是CPU与外部交换信息的必经之路。,DB,AB,CB,内存储器 或

6、I/O接口,8086/8088CPU的流水线操作,BIU不断地从存储器取指令送入指令队列,EU不断地从指令队列取出指令执行。 EU和BIU构成了一个简单的2工位流水线 (指令队列是实现流水线操作的关键,类似于工厂流水线的传送带) 使得大部分取指令操作和执行指令操作 重叠进行,大大提高了CPU的工作效率,指令队列,新型CPU将一条指令划分成更多的阶段,以便可以同时执行更多的指令。 例如,P4为20个阶段(超级流水线),8088 CPU与8086 CPU的区别: (1)8088与外部交换数据的数据总线宽度是8位,而EU内部总线和寄存器仍是16位,所以把8088称为准16位微处理器。 (2)8088

7、 BIU中指令队列长度只有4字节,只要队列中出现一个空闲字节,BIU就会自动地访问存储器,取指令来填满指令队列。,通用数据寄存器: 存放运算原始/中间结果 指针和变址寄存器: 存放存储器地址 控制寄存器: 存放程序地址和 其他控制信息 段寄存器: 存放各段的信息,3.2.2 8086/8088 微处理器的寄存器,14个16位寄存器,1. 通用寄存器组(在EU中) 8个16位通用寄存器可分成两组:,一般用来存放16位的数据(参加运算的数据或运算结果)。 其中每一个又可分成独立的两个8位寄存器使用。8位寄存器只能存放8位数据。,主要用来存放数据的偏移地址。除SP外,也可 像数据寄存器一样用来存放1

8、6位的数据。,2段寄存器(在BIU中),代码段:存放程序指令。 数据段:用于存放当前运行程序所使用的数据。 附加数据段:需要第二个数据段时可以使用附加数据段。 堆栈段:用来存放专用数据。对该区域的数据的存取遵循“先进后出”规则。,主要用来存放4个逻辑段的段基址。,01500H,20000H,42000H,51000H,0150H,5100H,4200H,2000H,CS,DS,SS,ES,代码段,数据段,堆栈段,附加段,00000H,FFFFFH,段基址,51000H,每个段的起始地址可用段寄存器来指明,程序可从4个段寄存器指明的逻辑段中存取指令和数据。,3标志寄存器FLAGS,9个标志位,存

9、放CPU的两类标志: 状态标志(6个),在每次运算后产生,用来表示运算结果的特征,包括CF、PF、AF、ZF、SF和OF; 控制标志(3个),由指令设置,用来控制CPU的操作,包括IF、DF和TF。,3标志寄存器FLAGS,OF(Overflow Flag):溢出标志 OF=1:两个有符号数的运算结果超出范围,结果错误。 OF=0:没有溢出,结果正确。 进行无符号数运算时也会产生新的OF标志,此时无意义。,CF(Carry Out Flag):进位/借位标志 CF=1:两个无符号数的加法运算有“进位”,或者是减法运算 有“借位”,需要对它们的“高位”进行补充处理。 CF=0:没有产生进位或借位

10、。 进行有符号数运算时也会产生新的CF标志,此时无意义。,SF(Sign Flag):符号标志, SF=1,表示运算结果的最高位为“1”。,对于有符号数运算 OF=0时,结果正确: SF=1表示运算结果为负 SF=0表示运算结果非负(正或零) OF=1时,结果是错误的,符号位和正确值相反 例如,两个负数相加产生溢出,此时SF=0。,对于无符号数运算,SF无意义(但是可以看出结果的大小规模),3标志寄存器FLAGS,PF(Parity Flag):奇偶标志,可以用来进行“奇偶校验” PF=1 运算结果的低8位中有偶数个“1”(Even) PF=0 运算结果的低8位中有奇数个“1”(Odd),ZF

11、(Zero Flag):零标志 ZF=1 运算结果为零,减法运算后结果为零意味着两个参加 运算的数大小相等。 ZF=0 运算结果非零。,AF:辅助进位标志,两个BCD数运算时b3位上的进位,供运算 后“调整”结果用,对其他数的运算没有意义。,3标志寄存器FLAGS,上述运算后: CF = 0 (无进位); AF = 1(有辅助进位); PF = 1(运算结果有4个1); SF = 1(运算结果符号位为1); OF =1 (有溢出); ZF = 0 (运算结果不为0)。,(1)(AL)+( AH),运算结果对状态标志位的影响,上述运算后: CF = 1 (有借位); AF = 1 (有辅助借位)

12、; PF = 1 (运算结果中有6个1); SF = 1 (符号位为1); OF = 0 (无溢出); ZF = 0 (运算结果不为0)。,运算结果对状态标志位的影响,(1)(AL)-( AH),DF(Direction Flag):方向标志 DF=0 执行字符串指令后,用加法修改源或目的地址指针 DF=1 用减法来修改地址指针,IF(Interrupt Enable Flag):中断允许标志 IF=1 允许处理器响应“可屏蔽中断请求”信号,称为“开中断” IF=0 不允许处理器响应“可屏蔽中断请求”信号,称为“关中断”。,TF(Trace Flag):单步(跟踪)标志 TF=1时,每执行完一

13、条指令都会产生一次“1号”中断,该程序被暂停执行。它用于程序的调试,3标志寄存器FLAGS,4指令指针寄存器IP 存放即将执行的指令的偏移地址,与CS共同确定即将执行的指令的物理地址。 程序运行过程中,BIU自动修改IP中的内容,使它始终指向将要执行的下一条指令。 程序不能直接访问IP。,4A00H: 1020H 4A00H: 1022H MOV AX, 1020H 4A00H: 1025H ADD AX, Y,执行“MOV AX, 1020H”时,IP = 1025H,当前正在 执行的指令,3.2.3 8086微处理器的引脚功能 8086微处理器是Intel公司的第三代微处理器16位微处理器

14、,它采用40引脚的DIP(双列直插)封装。时钟频率有3种:5MHz(8086)、8MHz(8086-1)和10MHz(8086-2)。 1. 引脚功能说明 8086的40条引脚信号按功能可分为4部分地址总线、数据总线、控制总线以及其他(时钟与电源)。,GND,8086,CPU,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,AD,14,AD,13,AD,12,AD,11,AD,10,AD,9,AD,8,AD,7,AD,6,

15、AD,5,AD,4,AD,3,AD,2,AD,1,AD,0,NMI,INTR,CLK,GND,RESET,READY,TEST,ALE(QS,0,),7,S,BHE,/,A,19,/S,6,A,18,/S,5,A,17,/S,4,A,16,/S,3,AD,15,V,CC,(5 V),GND,8088,CPU,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,A,14,A,13,A,12,A,11,A,10,A,9,A,8,A

16、D,7,AD,6,AD,5,AD,4,AD,3,AD,2,AD,1,AD,0,NMI,INTR,CLK,GND,RESET,READY,TEST,ALE(QS,0,),A,19,/S,6,A,18,/S,5,A,17,/S,4,A,16,/S,3,A,15,V,CC,(5 V), 地址总线和数据总线(20条) AD15AD0为地址数据总线,A19A16S6S3为地址状态总线。其中: 数据总线用来在CPU与内存储器(或IO设备)之间交换信息,为双向、三态信号; 地址总线由CPU发出,用来确定CPU要访问的内存单元(或IO端口)的地址信号,为输出、三态信号。, 控制总线(16条) 控制总线是传送控制信号的一组信号线,有些是输出线,用来传输CPU送到其他部件的控制命令(如读、写命令,中

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

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

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