《第02章 2_IA-32结构微处理器与8086.ppt》由会员分享,可在线阅读,更多相关《第02章 2_IA-32结构微处理器与8086.ppt(37页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第2章 IA-32结构微处理器和8086 第第2章章 IA-32结构微处理器与结构微处理器与8086第2章 IA-32结构微处理器和8086 主要内容主要内容1、8086的内部结构2、8086的寄存器结构3、8086和8088的比较与工作方式4、8086的引脚、时钟与总线第2章 IA-32结构微处理器和8086 本讲目录2.1 IA-32微处理器是8086的延伸2.1.1 8086功能的扩展2.1.2 8086性能的提高2.2 8086的功能结构2.2.1、执行部件2.2.2、总线接口单元BIU2.2.3 物理地址和逻辑地址2.3 8086微处理器的执行环境2.3.1 基本执行环境概要2.3.
2、2、8086的引脚特性2.3.3、I/O组织 第2章 IA-32结构微处理器和8086 2.1.1 8086功能的扩展从16位扩展为32位 8086是16位微处理器。16位能表示的数的范围是十分有限的;用16位作为地址,只能寻址64KB。2.1 IA-32微处理器是8086的延伸第2章 IA-32结构微处理器和8086 1985年,Intel公司推出了第一个32位的微处理器80386。1.32位,能表示的数的范围得到了极大的扩展。32位地址能寻址4GB物理地址。2.在80386中真正完善保护模式。3.集成了片内存储管理单元(MMU)。4.浮点支持。第2章 IA-32结构微处理器和8086 5M
3、MX技术 IA-32处理器中增加了MMX技术及相应的指令。6流SIMD扩展(SSE)自Pentium III处理器开始,在IA-32微处理器中引进了流SIMD(单指令多数据)扩展(SSE)技术。第2章 IA-32结构微处理器和8086 2.1.2 8086性能的提高性能的提高1利用流水线技术提高操作的并行性2引入片内缓存(Cache)第2章 IA-32结构微处理器和8086 指令流水线取指令取指令指令指令译码译码取操取操作数作数执行执行指令指令存放存放结果结果 CPU执行一条指令的过程类似于工厂生产流水线,被分 解为多个小的步骤,称为指令流水线。数据和程序指令控制器的调度分配ALU等 功能部件
4、处理后的数据存储器输出第2章 IA-32结构微处理器和8086 串行工作方式8086以前的CPU采用串行工作方式:取指令和执行指令在不同的时刻按顺序执行。取指令取指令1执行执行1取指令取指令2执行执行2CPUBUS忙忙 碌碌忙忙 碌碌取指令取指令3执行执行3忙忙 碌碌空闲空闲空闲空闲空闲空闲t1t0t2t3t4t56个周期执行了3条指令第2章 IA-32结构微处理器和8086 并行工作方式8086CPU采用并行工作方式:取指令和执行指令可同时执行,需要专门的硬件支持。取指令取指令1取指令取指令2取指令取指令3取指令取指令4执行执行1执行执行2执行执行3BUS忙碌忙碌执行执行4CPUt1t0t2
5、t3t4t5取指令取指令5执行执行5忙碌忙碌忙碌忙碌忙碌忙碌忙碌忙碌忙碌忙碌6个周期执行了5条指令第2章 IA-32结构微处理器和8086 2.2 8086的功能结构的功能结构 8086 CPU从功能上来说分成两大部分:总线接口单元(Bus Interface Unit,BIU)和执行单元(Execution Unit,EU)。BIU负责8086 CPU与存储器之间的信息传送。EU负责指令的执行。第2章 IA-32结构微处理器和8086 AH ALBH BLCH CLDH DL SP BP DI SI通通用用寄寄存存器器暂存寄存器暂存寄存器ALU标志标志执行部分执行部分控制电路控制电路1 2
6、3 4 5 6 CS DS SS ES IP内部寄存器内部寄存器I/O控制控制电路电路地址加地址加法器法器20位位16位位8位位指令队列缓冲器指令队列缓冲器外外总总线线执行部件执行部件总线接口部件总线接口部件8086CPU结构图结构图第2章 IA-32结构微处理器和8086 2.2.1、执行部件第2章 IA-32结构微处理器和8086 执行部件4大作用:(4)进行算术运算。(3)接收由总线接口送来的数据或发送数据至接口。(2)对指令进行译码,发出相应的控制信号。(1)从指令队列中取出指令。第2章 IA-32结构微处理器和8086 2.2.22.2.2、总线接口单元、总线接口单元BIUBIU第2
7、章 IA-32结构微处理器和8086 2 2、总线接口单元、总线接口单元BIUBIU的的2 2个功能:个功能:(2 2)CPUCPU执行指令时,到指定的位置取执行指令时,到指定的位置取操作数,操作数,并将其送至指定的单元或外设。并将其送至指定的单元或外设。(1 1)预取指令送到指令队列。)预取指令送到指令队列。第2章 IA-32结构微处理器和8086 2.2.3 物理地址和逻辑地址第2章 IA-32结构微处理器和8086 6417H 0100H 6417H10H+0100H=64170H+0100H=64270H几个不同的逻辑段地址在物理地址上是可重叠的几个不同的逻辑段地址在物理地址上是可重叠
8、的 物理地址物理地址物理地址物理地址=段基址段基址段基址段基址16+16+偏移量偏移量偏移量偏移量 书写形式:书写形式:段基址:偏移量段基址:偏移量段基址:偏移量段基址:偏移量16位段地址位段地址16位段内偏移位段内偏移:16位段地址位段地址16位段内偏移位段内偏移(左移四位)(左移四位)+20位物理地址位物理地址=0000第2章 IA-32结构微处理器和8086 物理地址的计算过程 16位加法器加法器20位CS左移4位20位物理地址IP第2章 IA-32结构微处理器和8086 2.3 8086微处理器的执行环境微处理器的执行环境2.3.1 基本执行环境概要 在8086微处理器上执行的程序或任
9、务都有一组执行指令的资源用于存储代码、数据和状态信息。第2章 IA-32结构微处理器和8086 80868086的寄存器结构的寄存器结构第2章 IA-32结构微处理器和8086 有些寄存器有特殊功能:如SP为堆栈指针指示堆栈栈顶地址AX和AL为累加器BX和BP可以作为基址指针SI和DI可以用做串操作等CX为计数寄存器第2章 IA-32结构微处理器和8086(2)地址指针寄存器 地址指针寄存器用于存放操作数的地址,编程时通过修改寄存器的内容达到修改地址的目的。可以用来指示地址的寄存器有:SP:堆栈指针,指示堆栈段(堆栈段寄存器SS)中的栈顶位置,专门用于数据进栈和出栈的位置指示;BP:基址指针,
10、指示堆栈段中一个数据区中的基址位置;此外:BX,SI,DI也可以用做指示地址。第2章 IA-32结构微处理器和8086(3)变址寄存器SI、DISI(Source Index)称为源变址寄存器。DI(Destination Index)称为目的变址寄存器。这两个寄存器通常用在字符串操作时存放操作数的偏移地址,其中SI存放源串在数据段内的偏移地址,DI存放目的串在附加数据段内的偏移地址 2、段寄存器 段基址寄存器用于存放4个当前段的起始地址。4个段为:代码段CS,数据段DS,堆栈段SS和附加段ES。第2章 IA-32结构微处理器和8086 代码段CS:用于存储当前使用代码段的段地址数据段DS:用
11、于存放程序当前使用的数据段的段地址堆栈段SS:存放当前所使用的堆栈段的段地址附加段ES:存放程序当前使用的附加数据段的段地址第2章 IA-32结构微处理器和8086 3、控制寄存器(1)指令指针寄存器(Instruction Pointer)指令指针寄存器IP始终指向当前代码段(CS)所要取出的下一条指令的地址。每取出一个字节指令后,IP自动加1。可以用转移指令、调用指令及中断和复位等改变IP值(2)标志寄存器FLAGS标志寄存器FLAGS是一个16位的寄存器,但只用了其中9位,这9位包括6个状态标志位,3个控制标志位,如下图:第2章 IA-32结构微处理器和8086 标志寄存器FLAGS第2
12、章 IA-32结构微处理器和8086 举例第2章 IA-32结构微处理器和8086 思考题:以下的几个思考题:以下的几个4位十六进制数相加,会使得位十六进制数相加,会使得8088状态寄存器的以下几位为什么值?状态寄存器的以下几位为什么值?CFPFAFZFSFOF8000H8000H+0000HC000HC000H+8000H4008H4008H+8010H0808HC000H+C808H1 110101 11 110010 00 001011 10 000010 0第2章 IA-32结构微处理器和8086 控制标志位控制标志位D DF:F:方向标志位方向标志位DF=1DF=1串操作指令以递减顺
13、序处理数据串;串操作指令以递减顺序处理数据串;DF=0DF=0以递增顺序处理数据串。以递增顺序处理数据串。IF:IF:中断允许位中断允许位若若IF=1IF=1,CPUCPU允许接受外部可屏蔽中断请求,允许接受外部可屏蔽中断请求,即开中断;即开中断;IF=0IF=0关中断关中断TF:TF:跟踪标志位跟踪标志位TF=1TF=1处理器处于单步工作方式,每执行完一条处理器处于单步工作方式,每执行完一条指令产生一个软件中断;指令产生一个软件中断;TF=0TF=0正常工作。正常工作。第2章 IA-32结构微处理器和8086 Intel 8086Intel 8086微处理器是一个微处理器是一个4040引脚的
14、器件,引脚的器件,为了便于组成不同规模的系统,为了便于组成不同规模的系统,80868086设计了两种设计了两种工作模式,即最小模式和最大模式。在不同的工工作模式,即最小模式和最大模式。在不同的工作模式下,引脚的定义不同。作模式下,引脚的定义不同。80868086引脚按功能分为地址总线、数据总线引脚按功能分为地址总线、数据总线和控制总线三大类。和控制总线三大类。引脚外部结构如下图引脚外部结构如下图:2.3.2、8086的引脚特性第2章 IA-32结构微处理器和8086 微处理器外部引脚结构第2章 IA-32结构微处理器和8086(1)时钟(CLK)(2)地址总线(A19A0)引脚分类(3)数据总
15、线(D15 D0)D15 D0是8086微处理器的16位双向数据总线;第2章 IA-32结构微处理器和8086(4)复位/中断控制(RESET,INTR,NMI)RESET是复位信号输入,它为高电平时强制8086微处理器从已知的初始状态开始执行程序。复位后8086微处理器总是从地址为FFFF0H的存储单元开始执行指令。INTR是可屏蔽中断请求输入;高电平时表示有外部中断请求。NMI是非屏蔽中断请求输入。第2章 IA-32结构微处理器和8086(5)总线仲裁(BREQ,HOLD,HLDA)总线仲裁信号是为适应多处理器结构的需要而设置的。(6)读写控制(WR,RD,M/IO)对存储器和外部设备读写数据时的控制信号。思考:如何区分存储器和外部设备?第2章 IA-32结构微处理器和8086 8086系统和外部设备之间的数据交互都是通过IO接口来进行的。每个I/O接口部件可以包含一个或多个端口,这些端口对应一个或多个寄存器,微计算机也要为每个端口分配一个地址。8086可以寻址64K个IO端口。(WR,RD,M/IO)是8086对存储器和外部设备读写数据时的控制信号。思考:如何区分存储器和外部设备?2.3.3、I/O组织 第2章 IA-32结构微处理器和8086 作业 P41:2.1、2.3、2.5。红军长征经过的草地景象
限制150内