微型计算机原理与应用:第三章 微机系统中的微处理器_第1页
微型计算机原理与应用:第三章 微机系统中的微处理器_第2页
微型计算机原理与应用:第三章 微机系统中的微处理器_第3页
微型计算机原理与应用:第三章 微机系统中的微处理器_第4页
微型计算机原理与应用:第三章 微机系统中的微处理器_第5页
已阅读5页,还剩62页未读 继续免费阅读

下载本文档

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

文档简介

1、第三章微机系统中的微处理器本章学习目标了解微处理器的内部结构; 掌握微处理器的工作步骤及指令在微处理器内部的具体执行过程;熟练掌握微处理器的编程结构;内容分布1. 微处理器概述2. 8086的编程结构3. 8086的寄存器结构4. 8086的存储器组织5. 8086的I/O组织6. 8086的寻址方式1.1 CPU的基本概念1.2 CPU主要技术参数1.3 微处理器的内部功能结构1.4 微处理器的外部结构1 微处理器概述1.1 CPU的基本概念: 1.微处理器(Micro Processing Unit),即微型化的中央处理器。中央处理器CPU的英文全称是Central Processing

2、Unit。早期微处理器以MPU表示,以区别于大型主机的多芯片CPU。但现在已经不加区分,都用CPU表示。 2.微处理器级总线;就是指微处理器的输入输出引脚。 3.系统级总线:微处理器通过引脚与某些其它逻辑电路连接组成主机板系统,形成系统级总线。 4.硬件系统:许多外设经过接口逻辑与系统总线连接,共同构成微机的硬件系统。返回本节首页1.2 CPU主要技术参数1位、字节和字长;2CPU主频;3CPU外频; 4前端总线(FSB)频率 : 处理器与主板通信的时 钟频率; 5L1和L2 Cache的容量和速率返回本节首页1.3微处理器的内部功能结构先确定CPU应该完成的基本功能 对应功能设置逻辑部件运算

3、功能与内存及I/O接口的数据传送功能暂存数据功能对指令的分析,执行功能整个系统的定时及控制信号功能响应外设中断请求功能 ALU 内部总线与外部总线接口逻辑 寄存器组 指令译码器 控制信号发生器 中断控制逻辑1.3.1 Intel 8080 由于CPU内部的统一性,执行指令的全过程:取指令分析指令执行指令是 串行完成的 t1 t2 t3 t4 t5 t6 t7 t81.3.2 Intel 8086 8086 CPU的内部结构为两个独立工作单元EU和BIU,工作方式为重叠方式 ,取指取指取指取指执行执行执行执行EUBIU时间到第二节1.3.3 Intel 80286 其内部包含四个独立工作的部件

4、,其工作方式为 流水线方式执行执行执行执行译码译码译码译码预取预取预取预取地址地址地址地址EUIUBUAU时间 t1 t2 t3 t4 t5 t6 t71.3.4 Intel 803861.3.5 Intel 804861.3.6 Pentium系列(1)Intel Pentium的特点:超标量流水线;Pentium由“U”和“V”两条指令流水线构成超标量流水线结构,其中每条流水线都有自己的ALU、地址生成逻辑和Cache接口。这种双流水线技术可以使两条指令在不同流水线中并行执行。流水线级数;每条流水线又分为指令预取PF、指令译码(一次译码)D1、地址生成(二次译码)D2、指令执行EX和回写W

5、B共5个步骤。浮点部件;Pentium的浮点运算部件在80486的基础上作了重新设计,采用了超流水线技术,由8个独立执行部件进行流水线作业,使每个时钟周期能完成一个浮点操作(或两个浮点操作)。CACHE;Pentium片内有两个8KB的超高速缓存器,一个是指令Cache,一个是数据Cache。动态分支预测:当某条指令导致分支时,分支目标缓冲器BTB记下该指令和分支目标的地址,用此信息预测该指令再次产生分支时的路径,预取指令,保证流水线的指令预取步骤不空置,对循环有利。数据总线;Pentium芯片内部ALU和通用寄存器仍是32位,所以还是32位微处理器,但它同内存储器进行数据交换的外部数据总线为

6、64位,使两者之间的数据传输速度可达528MB/s。(2)Pentium Pro的特点是:二级CACHE;指令系统;乱序和推测执行:乱序执行是指不完全按照程序的指令规定的指令顺序依次执行。推测执行是指遇到转移指令时,不等结果出来便先推测可能往哪转移便提前执行,又叫风险执行。这样允许CPU使指令流能最有效地利用内部资源。超级流水线:具有14级超级流水线结构将任意一条指令地全部执行分成一连串的指令步,目的是提高并行处理能力。(3)Pentium MMX的特点: 多媒体扩展:简写是MMX,通过在处理器中增加4中新数据类型、8个64位寄存器、57条新指令,来提高PC处理多媒体和通信能力,是对IA-32

7、(Intel Architecture,32位Intel体系结构)指令系统的扩展。返回本节首页1.4微处理器的外部结构: 从表面来看,微处理器的外部就是数量有限的输入输出引脚,这些引脚就是微处理器级总线。微处理器通过微处理器级总线沟通与外部部件和设备之间的联系。 按功能划分,总线可以分为三种:(1)地址总线(AB);(2)数据总线(DB);区分微处理器位数的依据(3)控制总线(CB); 三种总线中,CPU通过AB输出地址码来选择某一存储单元或I/O端口的寄存器;DB用于CPU和存储器或I/O接口之间的数据传送;CB接收出入CPU的控制信息和状态信息。 与地址总线和存储器及I/O地址空间 有关的

8、概念和问题:存储器通常由几个存储模块组成,每个存储单元都有唯一的地址与之对应,称为存储器地址。I/O接口是保证数据、控制与状态信息在CPU和I/O设备之间正常传送的电路。它们之间的通信是利用称为I/O端口的寄存器来完成的,一个I/O接口可以对应几个I/O端口,每个I/O端口都有唯一的I/O地址与其对应。存储单元和I/O端口都以字节为单位,字节都有个Bit位组成,一个字包含两个字节(16位),每个字节对应一个地址。 统一编址(单地址空间)与独立编址(独立地址空间) 地址总线的条数就是二进制地址码的位数,它可能表示的不同地址的集合称为地址空间。存储单元和I/O端口在同一地址空间,这种方法称为统一编

9、址,它们的存取指令是一样的;而两者在两个独立的地址空间,它们的地址码的位数不同,采用的存取指令是不一样的,这种方法称为独立编址。地址码的位数决定了地址空间的大小。若地址码共n位,则可以有2n个地址。对于单地址空间的CPU的处理器,则存储器和I/O端口合在一起的空间容量为2n个字节。对于独立空间的来说,地址总线的条数决定了存储器地址空间的容量;地址总线中用于I/O端口编址的条数决定I/O地址空间的容量。 在8086CPU系统中,地址总线的条数为20条,则存储器的最大容量为220,即1MB字节;它的地址总线的低16位用来对I/O端口编址,则I/O地址空间的容量为216,即64K个I/O端口地址。

10、由于存储器划分为模块,所以存储器地址的高几位可用来选择模块,其余低位则用来标识该模块内的字节或字。同样,利用I/O地址中的高位来标识I/O接口,而用2或3个低位来选择该接口内的I/O端口。存储器和I/O端口的组织CPU数据线控制线地址线接 口地址存储器中的字节0101I/O接口I/O端口I/O设备高位决定模块高位决定端口,2或3个低位选择端口返回本章首页2 8086的编程结构 AH ALBH BL CLCH DH DL SP BP DI SI 通 用 寄 存 器 CSDS SS ES I P内部暂存器总线控制逻辑 1 2 3 4 5 6 AX BX CX DX运算寄存器ALU标志寄存器 外部总

11、线指令队列16 位数据总线EU控制器地址加法器地址总线(20位)数据总线 段寄存器指令指针(EU) (BIU)(16位)工作方式队列总线(8位) 执行单元(EU) EU由算术逻辑单元ALU、暂存器、标志寄存器(PSW)、通用寄存器组和EU控制器构成。 其任务是执行指令,进行全部的算术逻辑运算,完成偏移地址的计算,向BIU提供指令执行的结果和偏移地址,并对通用寄存器和标志寄存器进行管理。返 回总线接口单元(BIU) BIU包括个段寄存器、指令指针IP(PC)、指令队列寄存器(IR)、完成与EU通讯的内部寄存器、地址加法器和总线控制逻辑。 BIU的任务是完成CPU与存储器和I/O设备之间信息的传送

12、。具体地讲,就是取指令时,从存储器指定地址取出指令送入指令队列排队;执行指令时,根据EU命令对指定存储单元或I/O端口存取数据。 16位的ALU总线和8位队列总线用于EU内部和EU与BIU之间的通信。返 回 8086 CPU工作方式 每条指令的执行都有取指、分析指令和执行指令的过程。 EU单元执行一条指令后,就从BIU的指令队列中取出预先读入的指令代码加以执行。如此时指令队列是空的,EU处于等待状态。一旦指令队列中出现指令,EU立即取出执行。 BIU单元中,若指令队列中出现2个空闲字节,且EU没有命令BIU进入对存储器和I/O端口的访问,则BIU将自动执行取指令来填满指令队列。当指令队列中已填

13、满指令,而EU单元又没有进入存储器和I/O端口的访问命令时,BIU进入空闲状态。 EU和BIU进行的操作是并行的, 即EU从指令队列取指令、执行指令和BIU补充指令队列的工作是同时进行的。取指取指取指取指等待取数据取指执行执行执行执行BIU EU 8086 CPU的内部结构为两个工作单元EU和BIU,工作方式为 并行方式(重叠方式) 取指取指取指取指执行执行执行执行EUBIU时间 t1 t2 t3 t4 t5 返回本章首页3.8086的寄存器结构3.1 通用寄存器组1.数据寄存器(地址) 在指令执行过程中既可用来寄存操作数,也可用于寄存 操作的结果。 AX: 累加器 BX: 基础寄存器 CX:

14、 计数寄存器 DX: 数据寄存器 每一个又可分成独立的两个8位寄存器(AX:AH和AL;BX:BH和BL;CX;DX)。8位寄存器只能用于存放数据。 2.地址指针和变址寄存器(数据) 对存储器操作数寻址时,用于形成20位物理地址码。由于它们都是16位的寄存器,访问存储器的地址码由段地址和段内偏移地址两部分构成。这 4 个寄存器用于存放段内偏移地址的全部或一部分。 SP: 堆栈指针 BP: 基址指针(SS) SI: 源变址R DI: 目的变址R P38表3.1通用寄存器的特定用法3.2 标志寄存器状态标志:OF;SF;ZF;AF;PF;CF控制标志:DF;IF;TF状态标志位 CF(Carry

15、Flag)进位标志:如果加法时最高位(对字节操作是D7位,对字操作是D15位)产生进位或借位时,则CF=1;否 则CF=0。 PF(Parity Flag)奇偶标志:如果操作结果的低8位中含有偶数个1,PF=1;否则PF=0。 AF(Auxiliary Flag)辅助进位标志:如果在加法时D3位有进位或减法时有借位,则AF=1,否则AF=0。 ZF(Zero Flag)零标志:如果运算结果各位都为零时,则ZF=1,否则ZF=0。 SF(Sign Flag)符号标志:它总和结果的最高位(字节操作时是D7,字操作时是D15)相同。所以运算结果为负时SF=1;否则SF=0。 OF(Overflow

16、Flag)溢出标志:在加减运算中结果超出有符号数所能表示的数值范围,就产生溢出,OF=1;否则OF=0。 例如 0010 0011 0100 0101 + 0101 0010 0001 1001 0111 0101 0101 1110 执行后,各标志位是:CF=0,PF=0,AF=0,ZF=0,SF=0,OF=0。返回控制标志位 DF(Direction Flag)方向标志:可用指令预置。当DF0时,执行串操作指令,变址寄存器地址自动递增;当DF1时,则变址寄存器地址自动递减。该标志位可以控制地址朝增大的方向或减小的方向改变。 IF(Interrupt Enable Flag)中断允许标志:可

17、用指令预置。当IF1,CPU可响应可屏蔽中断请求;若IF0,CPU不响应可屏蔽中断请求。 TF(Trap Flag)陷阱标志:若TF1,则CPU处于单步执行指令工作方式。每执行一步就自动产生一次类型1的内部中断。3.3段寄存器组 访问存储器的地址码由段地址和段内偏移地址两部分组成。段寄存器用来存放段地址。 CS:存放当前所执行程序所在段的段地址。 DS:存放当前数据段的段地址,数据段通常存放数据和变量。 SS:存放当前堆栈段的段地址。 ES:存放附加数据段的段地址,进行字符串操作时作为目的 地址。 3.4指令指针(IP) 保存下一条要执行的指令的偏移地址 返回本章首页4.8086的存储器组织

18、4.1存储器地址空间和数据存储格式 存储单元地址 :8086系统中,为了标识和存取每一个存储单元,给每个存储单元规定一个编号,这就是存储单元地址。 8086的存储器以字节为基本的存储单元,每个字节对应一个唯一的地址,地址范围为00000HFFFFFH。存储器的地址十六进制地址二进制地址存储器00000 0000 0000 0000 0000 000000001 0000 0000 0000 0000 000100002 0000 0000 0000 0000 001000003 0000 0000 0000 0000 0011FFFFE 1111 1111 1111 1111 1110FFFF

19、F 1111 1111 1111 1111 1111 字:连续的两个字节构成,高字节存放在高地 址,低字节存放在低地址,其中低字节的 地址为字的地址。对准字:字的地址为偶地址。访问时需要一 个总线周期。未对准字:字的地址为奇地址。访问需要两个 总线周期(CPU自动完成) 。地址和位号的约定6 5 4 3 2 1 0 7 6 5 4 3 2 1 015 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0位号地址N+1地址N(高字节)(低字节)字地址4.2存储器的分段和物理地址的形成 8086CPU的地址线是20位的,这样最大可寻址空间应为220=1MB,其物理地址范围从0000

20、0HFFFFFH。而8086CPU寄存器都是16位的。那么,这1MB空间如何用16位寄存器表达呢? 根据要求可把1M字节地址空间划成若干逻辑段。每个逻辑段必须满足两个条件:一是逻辑段的起始地址(简称段首址)必须是16的倍数;二是逻辑段的最大长度为64K。按照这两个条件,1M字节地址空间最多可划分成64K个逻辑段,最少也要划分成16个逻辑段。逻辑段与逻辑段可以相连,也可以不连,还可以重叠。X X X X X X X X X X X X X X X X0 0 0 020位地址16位段地址【例1】各独立段的分配情况示例。 设CS=B000H、 DS=1CDEH、 SS=4200H、 ES=0150H

21、,它们分别为代码段、数据段、堆栈段和附加段的段首址。自每个段首址开始,各段均占64KB的范围,各段之间互不重叠。如图所示。【例2】各段相互重叠情况示例。设CS=0200H、DS=0400H、SS=0480H,这样代码段、数据段和堆栈段的物理首地址分别为02000H、04000H和04800H。其中代码段占8KB地址空间,数据段占2KB,堆栈段占256B,SP=0100H。如图所示。 在8086中,当把1MB的存储器空间划分为若干个逻辑段之后,段内任何一个存储单元的地址可用相对于段起始地址的偏移量来表示,该偏移量称为偏移地址。 物理地址:存储单元的实际地址编码。 逻辑地址:段地址:偏移地址 物理

22、地址段地址10H偏移地址 例如8000:0100表示段地址为8000H,偏移地址为0100H,因此物理地址为80100H。 8086CPU中的BIU单元的加法器用来完成物理地址的计算。4.3信息的分段存储与段寄存器的关系 为了操作方便,存储器可相应地划分为:程序区,该区存储程序的指令代码;数据区,存储原始数据、中间结果和最后结果;堆栈区,用以存储需要压栈的数据或状态信息。段寄存器的分工是:代码段寄存器CS划定并控制着程序区;数据段寄存器DS和附加数据段寄存器ES控制着数据区;堆栈段寄存器SS对应着堆栈存储区。下面列出各种类型访问存储器时的地址成分。各种类型访问存储器时的地址成分访问存储器类型默

23、认段地址可指定段地址 段 内 偏 移 地 址 来 源取指令码CS无IP堆栈操作SS无SP字符串操作源地址DSCS,ES,SSSI字符串操作目的地址ES无DIBP用作基地址寄存器SSCS,DS,ES依寻址方式求得有效地址EA一般数据存取DSCS,ES,SS依寻址方式求得有效地址EA1.默认段寄存器与“指定”的段寄存器 不允许指定段寄存器的操作类型:取指令码;堆栈操作;字符串处理指令的目的地址。2.传送类指令不能向CS置数 段寄存器内容可更改意味着存储区域的浮动性。3.指定偏移地址来源返回本章首页5.8086的I/O组织 接口:保证信息数据在CPU与I/O设备之间正常传送的电路。 端口:接口电路中

24、的寄存器,一个I/O端口与唯一的I/O地址相对应。 8086地址总线的低16位用来对8位I/O端口寻址。 任何两个地址连续的8位I/O端口可以当作一个16位I/O端口。返回本章首页6.8086的寻址方式指令:操作码和操作数寻址方式:指令中用于说明操作数所在地址的方法数据寻址方式;转移地址寻址方式;6.1数据的寻址方式1.立即寻址 指令操作码和操作数都在存储器代码段中。 例如:MOV AX,1234H ;十六进制数 1234H送入AX 2.寄存器寻址 操作数存放在指令规定的寄存器中,对于16位操作数,寄存器可以是AX,BX,CX,DX,SI,DL,SP或BP;而对8位操作数,寄存器可以是AH,A

25、L,BH,BL,CH,CL,DH或DL。 例如:MOV AX,BX ;将寄存器BX的内容送入 AX中。3.直接寻址 指令下一字单元的内容是操作数的偏移地址EA。 例如:MOV AL,DS:2000H 将逻辑地址为DS:2000单元内的字节送入AL。 若段基址DS=4000H,则段起始物理地址为4000H左移4位,即40000H,此指令将数据段中物理地址为42000H 单元的内容56H传至AL寄存器。4.寄存器间接寻址 寄存器的内容为操作数的偏移地址EA,操作数在存储器中,可使用的寄存器有BX,SI,DI。 例如:MOV AX,BX BX内容为有效地址EA(偏移量)。 若DS=4000H,BX=100H,此指令将物理地址40100H 单元的内容传至AL寄存器(段基地址同样为40000H)。5.寄存器相对寻址 操作数的偏移地址EA是寄存器内容与一个8位或者16位的位移量之和,位移量在指令码中给出,可使用的寄存器有BX,BP,SI,DI。 例如:MOV AL,BX+5 若DS=6000H,BX=2000H,BX的内容加上8位位移量05H作为操作数的有效地址。传送数据段中的一个字节到AL中。如果使用BP,则隐含地表示操作数存放在堆栈段中。6.基址变址寻址 操作数的偏移地址EA是基址寄存器(BX,BP)和

温馨提示

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

最新文档

评论

0/150

提交评论