《微机原理与接口技术_02_8086微处理器的结构详解》由会员分享,可在线阅读,更多相关《微机原理与接口技术_02_8086微处理器的结构详解(74页珍藏版)》请在金锄头文库上搜索。
1、第2章 8086CPU结构与功能 u 微处理器的外部结构 u 微处理器的内部结构 u 微处理器的功能结构 u 微处理器的寄存器组织 u 微处理器的存储器和I/O组织 2.1 2.1 微处理器的外部结构微处理器的外部结构 8086 CPU8086 CPU片有片有4040个管脚,微处理器通过这些引脚个管脚,微处理器通过这些引脚 与外部的逻辑部件连接,完成信息的交换。与外部的逻辑部件连接,完成信息的交换。CPUCPU的的 这些引脚信号称为微处理器级的总线,它应该能这些引脚信号称为微处理器级的总线,它应该能 够完成下列功能:够完成下列功能: (1)与存储器之间交换信息(指令及数据); (2)与I/O设
2、备之间交换信息; (3)能输入和输出必要的信号。 图 2.1 微处理器的外部结构 2.1 2.1 微处理器的外部结构微处理器的外部结构 按功能分,这些总线可以分为三种: (1)传送信息(指令或数据)的数据总线(DB ) (2)传送地址码的地址总线(AB ) (3)传送控制信号的控制总线(CB) 2.1 2.1 微处理器的外部结构微处理器的外部结构 n位地址总线可有 个地址(0 -1)。 CPU通过地址总线输出地址码来选择某一存 储单元或某一称为I/O端口的寄存器,是单向 的。 一、地址总线: 地址码的位数决定了地址空间的大小。 16位地址总线 65536(64KB) 20位地址总线 1MB 3
3、2位地址总线 4GB 2.1 2.1 微处理器的外部结构微处理器的外部结构 8086/8088地址总线:20位 存储器地址总线20位, 地址空间 1MB I/O地址总线16位(低16位) 地址空间 64KB 2.1 2.1 微处理器的外部结构微处理器的外部结构 二、数据总线 用于CPU和存储器或I/O接口之间传送数据,是 双向的。 8086 CPU的数据总线是16条,我们就说8086 CPU是16位微处理器。 微处理器数据总线的条数决定CPU和存储器或 I/O设备一次能交换数据的位数,是区分微处理器 是多少位的依据。 2.1 2.1 微处理器的外部结构微处理器的外部结构 三、控制总线 管理总线
4、上的活动,用来传送自CPU发出的 控制信息或外设送到CPU的状态信息,大部分是 单向的,也有一些是双向的。 2.1 2.1 微处理器的外部结构微处理器的外部结构 2.2 微处理器的内部结构 微处理器是组成计算机系统的核心部件,它具有运算 和控制的功能。具体地讲,CPU 应具有下述基本功能 : 进行算术和逻辑运算; 具有接收存储器和I/O接口来的数据和发送数据 给存储器和I/O接口的能力; 可以暂存少量数据; 能对指令进行寄存、译码并执行指令所规定的 操作; 能提供整个系统所需的定时和控制信号; 可响应I/O设备发出的中断请求。 一、CPU内部结构及各部分功能简介 典型的 CPU 内部结构如图2
5、.2所示。 2.2 微处理器的内部结构 I/O控制逻辑 ALU 控制器工作寄存器 CPU 程序计数器(PC) 指令寄存器(IR) 指令译码器(ID) 控 制 逻 辑 部 件 堆栈指示器(SP) 状态寄存器(PSW) 地址寄存器 数据寄存器 图2.2微处理器的内部结构 CPU包括 算术/逻辑运算单元(ALU) 控制器 工作寄存器 I/O 控制逻辑 地址寄存器 数据寄存器 2.2 微处理器的内部结构 1、算术逻辑运算单元ALU(Arithmetic/Logic Unit) 它是运算器的核心,几乎所有的算术运算,逻 辑运算和移位操作都是由 ALU 完成的。 2.2 微处理器的内部结构 2、工作寄存器
6、 暂存用于寻址和计算过程的信息。工作寄存 器分为两组:数据寄存器和地址寄存器。 3、控制器 它是CPU的“指挥中心”,完成指令的读入,寄 存,译码和执行。从图2.2中可以看出,一般微处 理器中的控制器由6部分组成: 程序计数器(PC:Program Counter ) 指令寄存器(IR:Instruction Register) 指令译码器(ID:Instruction Decoder ) 控制逻辑部件:产生控制信号 处理机状态字PSW(Processor State Word ) 堆栈指针(SP) Stack Pointer 2.2 微处理器的内部结构 用于保存下一条要执行的指令的地址,即由
7、 它提供一个存储器地址,按此地址从对应存储器 单元取出的内容,就是要执行的指令。 (1)程序计数器(PC) 2.2 微处理器的内部结构 保存从存储器中读入的当前要执行的指令。 (2)指令寄存器(IR) (3)指令译码器(ID) 对指令寄存器中保存的指令进行译码分析。 (4)控制逻辑部件 根据ID对指令译码的分析,发出相应的一系 列的节拍脉冲和电位(控制信号),去完成指令 的所有操作。 2.2 微处理器的内部结构 (5)处理器状态字(PSW) 暂存处理器当前的状态。PSW中的各位用来指 示诸如算术运算结果的正/负,是否为零,是否有 进位或借位,是否溢出等标志。 (6)堆栈指针(SP) 是在对按后
8、进先出原则组织的称为堆栈的专用 存储区进行操作时提供地址的。 包括 CPU 中与输入/输出操作有关的逻辑。 其作用是处理输入/输出操作。 4、 I/O控制逻辑 2.2 微处理器的内部结构 8086/8088是Intel公司生产的第三代微处理 器芯片。其特点如下: 具有20条地址线,直接寻址能力达1MB。 8086有16条数据线,为16位微处理器。 8088有8条数据线,为准16位微处理器。 片内总线和ALU均为16位,可进行8位和16位 操作。 2.3 微处理器的功能结构 8086/8088均采用全新结构,片内均由两个独 立的逻辑单元组成: 8086/8088CPU内部结构如图2.3所示 执行
9、单元(EU) 总线接口单元(BIU) 2.3 微处理器的功能结构 总线 控制 电路 EU 控制器 标 志 暂存器 ALU数据总线 地址总线 数据总线 执行单元(EU)总线接口单元(BIU) (16位) (20位) (8 位) (16位) 16位 ALU S S D S E S I P C S 内部寄存器 B HB L A HA L D HD L S P B P C LC H D I S I 8 0 8 6 总 线 物理 地址 形成 逻辑 21364 5 AX BX DX CX 指令队列寄存器 图 2.3 微处理器的功能结构 通 用 寄 存 器 段寄存器(CS,DS,ES,SS) 一、总线接口单
10、元(BIU) 总线控制逻辑 地址形成逻辑 8088CPU:4字节 8086CPU:6字节 指令队列寄存器: 指令指针寄存器(IP) (先进先出) 2.3 微处理器的功能结构 BIU主要负责从存贮器指定区域取出指 令并将取出的指令送指令队列寄存器中排 队,当EU执行的指令需要和外部存贮器或 者I/O端口之间进行数据传送时,BIU就停 止取指令,为EU服务,完成这次总线操作 ;或者当指令队列满时,BIU也停止取指令 的操作。 2.3 微处理器的功能结构 二、执行单元(EU) 通用寄存器(8个) EU控制器 算术/逻辑运算单元(ALU) 标志寄存器(FLAG)(即PSW) 由组成。 EU主要负责从指
11、令队列寄存器中获取指令, 并对指令加以执行,完成指令所规定的操作。同 时也负责算术/逻辑运算以及进行内存有效地址的 计算等。 2.3 微处理器的功能结构 CPU程序执行过程: t 忙 忙 忙 忙 忙 取指令1 取指令2 取指令3 取指令4 取指令5 执行1 执行2 执行3 执行4 执行5 t t 图2.4 8086/8088CPU执行程序的过程 2.3 微处理器的功能结构 8086/8088 CPU内部共有14个16位寄存器,用 于提供运算,控制指令执行和对指令及操作数寻 址。 14个寄存器按其用途可分为三大类: 通用寄存器(8个) 段寄存器 (4个) 控制寄存器(2个) 2.4 微处理器的寄
12、存器组织 一、通用寄存器(8个) 8个16位通用寄存器分为两组: 地址指针和变址寄存器(个) 数据寄存器(4个) 2.4 微处理器的寄存器组织 存放数据 16位8位 DXDLDH CXCLCH BXBLBH AXALAH 累加器(Accumulator) 基址寄存器(经常作地址寄 存器使用)(Base Register) 计数寄存器(Count Register) 数据寄存器(Data Register) 1、数据寄存器(4个) 2.4 微处理器的寄存器组织 2、地址指针和变址寄存器(个) 均为16位地址寄存器,也能存放数据 DI SI BP SP堆栈指针寄存器(Stack Pointer)
13、基址指针寄存器(Base Pointer) 源变址寄存器(Source Index) 目的变址寄存器(Destination Index) 2.4 微处理器的寄存器组织 二、段寄存器 堆栈信息 数据(数值、字符等) 代码(指令码) 在微机系统的内存中通常存放着三类信息: 指示CPU执行何种操作。 程序处理的对象或结果。 被保存的返回地址和中间结果等。 代码段 数据段 堆栈段 2.4 微处理器的寄存器组织 8086/8088CPU有个段寄存器,分别是: SS ES DS CS 代码段寄存器。指向当前的代码段, 指令由此段取出。Code Segment 数据段寄存器。指向当前的数据段。 Data
14、Segment 附加数据段寄存器。指向当前的附加 数据段。Extra Segment 堆栈段寄存器。指向当前的堆栈段。 Stack Segment 16位 2.4 微处理器的寄存器组织 它始终指向CPU下一条要取指令所在存贮器单 元的偏移地址(段地址由CS提供)。 用户不能更改IP的值,一般指令不能修改IP值 ,但某些指令可以改变IP的值如转移指令、子程 序调用指令、子程序返回指令以及中断处理指 令。 指令指针寄存器相当于一般微处理器中的程 序计数器PC。 三、控制寄存器(2个) 1、指令指针寄存器(IP:Instruction Pointer )(16位) 2.4 微处理器的寄存器组织 标志
15、寄存器相当于一般微处理器中的程序状态 字寄存器(PSW)。16位,但有用的只有9位,其中: 2、标志寄存器(FLAG) 状态标志:CF,PF,AF,ZF,SF,OF,共6位 控制标志:TF,IF,DF,共3位 如下图所示: OF DF IF TF SF ZF AF PF CF 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 图 2.5 PSW中的标志位 2.4 微处理器的寄存器组织 CF(Carry Flag)进位标志。如果加法时最高 位(对字节操作是D7位,对字操作是D15位)产生进 位或减法时最高位产生借位则CF=1,否则CF=0。 (1)状态标志 反映的是ALU运算后结果的状态 AF(Auxiliary Carry Flag)辅助进位标志。 如果在加法时D3位有进位或减法时D3位有借位,则 AF=1,否则AF=0。 2.4 微处理器的寄存器组织 ZF(Zero Flag)零标志位。 如果运算结果各位都为零,则ZF=1,否则 ZF=0。 SF(Sign Flag)符号标志。 它总是和结果的最高位(字节操作时是D7,字 操作时是D15)相同,因为在补码运算时最高位是 符号位,所以运算结果为负时,SF=1,否则SF=0. 2.4 微处理器的寄存