INTEL80X86系列微处理器.ppt_第1页
INTEL80X86系列微处理器.ppt_第2页
INTEL80X86系列微处理器.ppt_第3页
INTEL80X86系列微处理器.ppt_第4页
INTEL80X86系列微处理器.ppt_第5页
已阅读5页,还剩65页未读 继续免费阅读

下载本文档

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

文档简介

第4章Intel80X86系列微处理器 4 18086 8088微处理器概述4 28086 8088内部寄存器结构4 38086 8088的存储器组织和I O组织4 48086 8088的内部结构4 58086 8088外特性 引脚信号及其功能4 68086 8088最小工作模式及其系统结构4 78086 8088最大工作模式及其系统结构4 88086 8088总线时序4 9INTEL80286到PentiumCPU 4 18086 8088微处理器概述 1978年Intel公司推出了首枚16位微处理器8086 以后英特尔生产的80X86系列微处理器 均与其兼容 1979年Intel公司推出了成本较低的Intel8088微处理器 1981年IBM公司选择8088微处理器作为核心来设计IBMPC微计算机系统 推向市场后获得了巨大的成功 为后来的80 x86系列微处理器成为主流微计算机的处理核心打下了基础 4 28086 8088内部寄存器结构 了解CPU内部寄存器结构并掌握其使用方法是进行汇编语言程序设计的关键和基础 8086 8088内部有14个16位的寄存器 可供程序直接使用 按功能分为三组 通用寄存器组 8个 段寄存器组 4个 和控制寄存器组 2个 4 2 1通用寄存器组 8086 8088CPU有8个通用寄存器 这8个寄存器可以分为两类 数据寄存器和地址指针与变址寄存器 一 数据寄存器数据寄存器包括4个16位寄存器AX BX CX和DX 通常用于存放参与运算的操作数和运算结果 每一个数据寄存器又可将高 低8位分别作为两个独立的8位寄存器使用 它们的高8位分别记作AH BH CH DH 低8位分别记作AL BL CL DL 数据寄存器的习惯用法 1 AX Accumulator 累加器常用于存放算术 逻辑运算中的操作数和运算结果 此外所有的I O指令都使用AX AL与I O接口交换数据 2 BX Base 基址寄存器常用来存放访存时的基地址 3 CX Counter 计数寄存器在循环和串操作指令中用作计数器 4 DX Data 数据寄存器在寄存器间接寻址的输入 输出指令中存放I O地址 在做双字长乘除法运算时 DX与AX联合使用 二 地址指针寄存器和变址寄存器地址指针和变址寄存器包括4个16位寄存器SP BP SI和DI 它们主要是用来存放或指示操作数的偏移地址 其中SP BP为地址指针寄存器 SI DI为变址寄存器 SP堆栈指针 存放堆栈栈顶的偏移地址 堆栈操作指令PUSH和POP根据该寄存器得到操作数的偏移地址 BP基址寄存器 存放堆栈中数据的偏移地址 SI源变址寄存器 用来存放源数据区的偏移地址 DI目的变址寄存器 用来存放目的数据区的偏移地址 注 所谓变址寄存器 是指它存放的地址在串操作指令中可以按照要求自动增加 减少 4 2 2段寄存器组 8086 8088CPU的存储器采用分段管理 8086 8088内部设置了4个16位的段寄存器 CS代码段寄存器 DS数据段寄存器 SS堆栈段寄存器和ES附加段寄存器 分别用于存放代码段 数据段 堆栈段和附加段的段基地址 4个寄存器的使用详见 4 38086 8088的存储器组织和I O组织 4 2 3控制寄存器组 8086 8088CPU包含2个16位的控制寄存器 指令指针IP和标志寄存器FLAGS 一 IP指令指针IP用于存放下一条要执行的指令的偏移地址 程序运行中 IP的内容自动修改 始终指向下一条要执行的指令地址 IP起着控制指令执行流程的作用 是一个十分重要的控制寄存器 正常情况下 程序不能直接修改IP的内容 但当需要改变程序执行顺序时 如遇到中断指令或调用指令时 IP中的内容将被自动修改 二 FLAGS标志寄存器FLAGS用于存放指令执行结果的特征和CPU工作方式 其内容通常称为处理器状态字 ProcessorStatusWord PSW FLAGS是一个16位寄存器 实际使用了9位 9个标志分为状态标志和控制标志两类 图4 3标志寄存器 CF 进位标志 最高位有进位或借位时 CF 1 否则CF 0 PF 奇偶标志 低8位有偶数个 1 PF 1 否则PF 0 AF 辅助进位标志 D3位有进位或借位时 AF 1 否则AF 0 ZF 零标志 结果为零 ZF 1 否则ZF 0 SF 符号标志 结果为负数 SF 1 否则SF 0 OF 溢出标志 发生溢出 OF 1 否则OF 0 1 状态标志6个状态标志位用来表示运算结果的特征 状态标志位的置位或清零 由CPU根据运算过程和运算结果自动设置 2 控制标志3个控制标志是用来控制CPU的工作方式的标志 IF 中断允许标志 用来控制对外部可屏蔽中断的响应 如果IF 1 则允许CPU响应外部可屏蔽中断请求 否则CPU不响应外部可屏蔽中断请求 DF 方向标志 用来控制串操作指令的执行 如果DF 1 则串操作指令的地址自动减量修改 串数据的传送过程是从高地址到低地址进行 否则 串操作指令的地址自动增量修改 串数据的传送过程是从低地址到高地址进行 TF 陷阱标志 又称单步标志 当TF 1时 微处理器进入单步工作方式 每执行完一条指令便自动产生一个内部中断 称为单步中断 转去执行一个中断服务程序 可以借助中断服务程序来检查每条指令的执行情况 如果TF 0 则CPU正常 连续 执行指令 4 38086 8088的存储器组织和I O组织 4 3 1存储器的分段管理4 3 2物理地址与逻辑地址4 3 3物理地址的形成4 3 4堆栈4 3 5存储器组织4 3 6I O组织 4 3 1存储器的分段管理 为了实现对1MB单元的寻址 8086 8088系统采用了存储器分段技术 存储器分段技术具体实现方法是 将1MB的存储空间分成许多逻辑段 每段最长64K字节单元 段内可以使用16位地址码进行寻址 每个逻辑段在实际存储空间中的位置是可以浮动的 逻辑段的起始地址可由段寄存器的内容来确定 实际上 段寄存器中存放的是段起始地址的高16位 称之为段基地址 逻辑段起始地址的低4位为0 图4 4逻辑段在物理存储器中的位置 各个逻辑段在实际的存储空间中可以完全分开 也可以部分重叠 甚至完全重叠 段的起始地址的计算和分配通常是由操作系统完成的 并不需要普通用户参与 4 3 2物理地址与逻辑地址 物理地址 信息在存储器中实际存放的地址 它是CPU访问存储器时实际输出的地址 8086 8088系统的物理地址是20位 存储空间为220 1M字节单元 地址范围从00000H到FFFFFH CPU和存储器交换数据时所使用的就是20位的物理地址 逻辑地址 编程时所使用的地址 由段基地址和偏移量两部分构成 8086 8088系统中 段基地址和偏移量都是16位的 段基地址由16位的段寄存器CS DS SS和ES提供 偏移量通常由BX BP SP SI DI IP或这些寄存器的组合形式来提供 段基地址 段地址或段基址 段的起始地址的高16位 偏移量 偏移地址 所访问的存储单元距段的起始地址之间的字节距离 在8086 8088计算机系统中 每个存储单元可以看成具有两种地址 物理地址和逻辑地址 4 3 3物理地址的形成 8086 8088访问存储器时的20位物理地址可由逻辑地址转换而来 转换方法 将段寄存器中的16位段基地址左移4位 低位补0 再与16位的偏移量相加 即可得到所访问存储单元的物理地址 计算公式 物理地址 段基地址 16 偏移量上式中的 段基地址 16 在微处理器中是通过将段寄存器的内容左移4位 低位补0 来实现的 得到的是20位的段的起始地址 段的起始地址与偏移量相加的操作由20位地址加法器来完成 例如 8086 8088开机后执行的第一条指令的逻辑地址由CS和IP两个寄存器给出 其逻辑地址表示为FFFFH 0000H 对应的物理地址为FFFF0H 图4 58086 8088物理地址的产生 例4 1 设代码段寄存器CS中的内容为4232H 指令指针寄存器IP中的内容为0066H 即 CS 4232H IP 0066H 则访问代码段存储单元的物理地址计算如下 所以 访问代码段存储单元的物理地址为42386H 例4 2 设数据段寄存器DS的内容为1234H 基址寄存器BX的内容为0023H 即 DS 1234H BX 0023H 则访问数据段存储单元的物理地址计算如下 所以 访问数据段存储单元的物理地址为12363H 4 3 4堆栈 堆栈是存储器中的一个特殊的数据存储区 采用 后进先出 的原则存放数据 通常它的一端 栈底 是固定的 另一端 栈顶 是浮动的 信息的存入和取出都只能在浮动的一端进行 堆栈主要用来暂时保存程序运行时的一些地址或数据信息 8086 8088系统的堆栈是在存储器中实现的 并由堆栈段寄存器SS和堆栈指针寄存器SP共同定位 SS寄存器中存放的是堆栈段的段基地址 它确定了堆栈段的起始位置 SP寄存器中存放的是栈顶的偏移量 即SP指向栈顶 当堆栈为空时 SP同时也指向栈底 堆栈段的起始地址并不是栈底 栈底在堆栈的高地址端 有数据入栈时 栈顶向低地址方向移动 这种结构的堆栈是所谓 向下生长的 堆栈操作以字为单位进行 而且堆栈中的数据必须按规则字 起始地址为偶数的字 存放 低字节在偶地址单元 高字节在奇地址单元 把数据存入堆栈为 压入 从堆栈取数据称为 弹出 4 3 5存储器组织 四个逻辑段 代码段 数据段 堆栈段和附加段 代码段 用于存放指令代码 代码段寄存器CS存放代码段的段基地址 偏移量由指令指针IP提供 数据段和附加段 用于存放操作数 数据段寄存器DS存放数据段的段基地址 附加段段寄存器ES存放附加段的段基地址 堆栈段 堆栈段用于暂时保存程序运行中的一些数据和地址信息 4 3 6I O组织 8086 8088I O端口为64KB 因此只需要16跟地址线A15 A0 对I O端口寻址时不需要使用段寄存器 高位地址A19 A16输出0 4 48086 8088的内部结构 8086 8088微处理器由两个独立的部件构成 一个是总线接口部件BIU BusInterfaceUnit 另一个是执行部件EU ExecutionUnit 4 4 1总线接口部件BIU BIU负责完成微处理器内部与外部 内存储器和I O端口 的信息传送 即负责取指令和存取数据 BIU由以下5个部分组成 4个16位的段寄存器 CS DS SS和ES 分别用于存放当前代码段 数据段 附加段和堆栈段的段基地址 16位指令指针IP 用于存放下一条要执行的指令的偏移地址 20位物理地址加法器 用于将来自于段寄存器的16位段地址左移4位后与来自于IP寄存器或EU提供的16位偏移地址相加 形成一个20位的物理地址 6 4字节的指令队列 用于存放预取的指令 减少等待时间 避免取指令和取操作数发生冲突 从而提高运行效率 总线控制逻辑 用于产生并发出总线控制信号 以实现对存储器和I O端口的读 写控制 它将CPU的内部总线与16位的外部总线相连 是CPU与外部进行数据交换的通路 4 4 2执行部件EU 执行部件EU的功能就是负责指令的执行 EU由以下几部分组成 算术逻辑单元ALU ALU完成16位或8位的二进制数的算术 逻辑运算 绝大部分指令的执行都由ALU完成 在运算时 数据先传送至16位的暂存寄存器中 经ALU处理后 运算结果可通过内部总线送入通用寄存器或由BIU存入存储器 标志寄存器FLAGS 它用来反映CPU最后一次运算结果的状态特征或存放控制标志 FLAGS为16位 其中7位未用 通用寄存器组 它包括4个数据寄存器AX BX CX DX 其中AX又称累加器 4个地址指针和变址寄存器 即基址寄存器BP 堆栈指针寄存器SP 源变址寄存器SI和目的变址寄存器DI EU控制系统 它接收从BIU中指令队列取来的指令 经过指令译码形成各种定时控制信号 向EU内各功能部件发送相应的控制命令 以完成每条指令所规定的操作 4 4 3BIU与EU的动作协调原则 总线接口部件 BIU 和执行部件 EU 按以下流水线技术原则协调工作 共同完成所要求的信息处理任务 每当8086的指令队列中有两个空字节 或8088的指令队列中有一个空字节时 BIU就会自动把指令取到指令队列中 其取指的顺序是按照指令在程序中出现的前后顺序 每当EU准备执行一条指令时 它会从BIU部件的指令队列前部取出指令的代码 然后用几个时钟周期去执行该指令 在执行指令的过程中 如果需要访问存储器或者I O端口 那么EU就会请求BIU 进入总线周期 完成访问内存或者I O端口的操作 如果此时BIU正好处于空闲状态 会立即响应EU的总线请求 如BIU正将某个指令字节取到指令队列中 则BIU将首先完成这个取指令的总线周期 然后再去响应EU发出的访问总线的请求 当指令队列已满 且EU又没有总线访问请求时 BIU便进入空闲状态 在执行转移指令 调用指令和返回指令时 由于待执行指令的顺序发生了变化 则指令队列中已经装入的字节被自动消除 BIU会接着往指令队列装入转向后的另一程序段中的指令代码 4 58086 8088外特性 引脚信号及其功能 8086 8088CPU采用40个引脚的双列直插式封装形式 为了减少芯片的引脚 8086 8088CPU采用了引脚复用技术 因此部分引脚具有双重功能 双功能引脚的功能转换分两种情况 一种是采用了分时复用的地址 数据和地址 状态引脚 另一种是根据不同的工作模式定义不同的引脚功能 4 5 18086外特性 引脚信号及其功能 电源 地和时钟信号系统复位和准备好信号地址 数据和状态信号中断信号读 写选通信号模式选择信号最小工作模式下的专用信号最大工作模式下的专用信号 一 电源 地和时钟信号VCC电源端 接入的电压为 5V 10 GND接地端 两条GND均应接地 CLK时钟信号 输入 提供CPU和总线控制的基本定时脉冲 8086CPU要求时钟信号是占空比为33 的非对称性的脉冲信号 二 系统复位和准备好信号RESET复位信号 输入 高电平有效 用来停止CPU的现行操作 完成CPU内部的复位过程 该信号必须由低到高 并且至少要保持4个时钟周期的高电平 才能完成复位CPU READY准备就绪信号 输入 高电平有效 用来确认CPU访问的存储器或I O设备是否完成数据传送 该信号是为了CPU与低速的存储器或I O设备之间实现速度匹配所设置的 当READY为高电平时 表示内存或I O设备已准备就绪 可以立即进行一次数据传输 TEST 测试信号 输入 低电平有效 该信号用于协调8086CPU与8087协处理器的操作 表4 1复位后内部寄存器状态 三 地址 数据和状态信号ADl5 AD0地址 数据复用总线 双向 三态 分时复用 在总线周期的T1状态 输出地址 在总线周期的T2 T4状态 作为数据线使用 A19 S6 A16 S3地址 状态复用线 输出 三态 分时复用 在总线周期的T1状态 用来输出地址的最高4位 在总线周期的其他状态用来输出状态信息 BHE S7总线高字节允许 状态信号S7 输出 三态 分时复用 在总线周期的T1状态 有效时表示选择高8位数据 在总线周期的其他状态用来输出状态 S7未定义 S7未定义 S6总是为0 S5表明中断允许标志的当前设置情况 如果IF l 则S5 1 表示当前允许可屏蔽中断 如果IF 0 则S5 0 表示当前禁止一切可屏蔽中断 S4和S3状态的组合指出当前正使用哪个段寄存器 表4 2S4 S3代码组合与段寄存器的关系 四 中断信号INTR可屏蔽中断请求信号 输入 高电平有效 当该信号变为高电平时 表示外部设备有可屏蔽中断请求 CPU在每个指令周期的最后一个T状态检测此引脚 一旦测得此引脚为高电平 并且中断允许标志位IF 1 则CPU在当前指令周期结束后 转入中断响应周期 NMI非屏蔽中断请求信号 输入 上升沿有效 该中断请求不能用软件进行屏蔽 不受中断允许标志IF的控制 当该引脚上电平有由低到高的变化 就会在当前指令结束后引起中断 NMI中断通常由电源掉电等紧急情况引起 INTA 中断响应信号 最小工作模式下的专用信号 输出 低电平有效 在最小模式下 CPU响应可屏蔽中断后发给请求中断设备的应答信号 是对中断请求信号INTR的响应 五 读 写选通信号RD 读信号 输出 三态 低电平有效 表示CPU正在对存储器或I O端口进行读操作 在读总线周期的T2 T3 TW状态 均保持低电平 WR 写信号 最小工作模式下的专用信号 输出 三态 低电平有效 表示CPU正在对存储器或I O端口进行写操作 在写总线周期的T2 T3 TW状态 均保持低电平 六 模式选择信号8086CPU有两种工作模式 最小工作模式和最大工作模式 MN MX 模式选择信号 用于选择CPU工作在最大工作模式还是最小工作模式 当此引脚接 5V 高电平 时 CPU工作于最小工作模式 若接地 低电平 CPU工作于最大工作模式 最小工作模式 系统中只有8086一个微处理器 系统中的所有总线控制信号都直接由8086产生 最大工作模式 系统中含有两个或两个以上微处理器 其中一个是主处理器8086 其它为协处理器 总线控制信号由芯片8288产生 由于在不同工作模式下 引脚24 31有着不同的名称和定义 因此称为专用引脚信号 除了引脚24 31外 其它引脚信号称为公共引脚信号 七 最小工作模式下的专用信号HOLD总线保持请求信号 输入 该信号是最小模式系统中除主CPU以外的其他总线控制器 如DMA控制器 申请使用系统总线的请求信号 HLDA总线保持响应信号 输出 该信号是对HOLD的响应信号 WR 写信号 M IO 存储器 IO访问控制信号 输出 高电平时访存 低电平时访问IO DEN 数据允许信号 输出 作为双向数据总线收发器8286的选通信号 它在每一次存储器访问或I O访问或中断响应周期有效 DT R 数据发送 接收控制信号 输出 三态 使用8286作为数据总线收发器时 8286的数据传送方向由控制 数据发送时 1 数据接收时 0 ALE地址锁存允许信号 输出 提供给地址锁存器8282的控制信号 INTA 中断响应信号 八 最大工作模式下的专用信号S2 S1 S0 总线周期状态信号 输出 三态 这三个信号组合起来指出当前总线周期所进行的操作类型 RQ GT1 RQ GT0 总线请求信号 总线请求允许信号 这两个引脚是双向的 信号为低电平有效 这两个信号是最大模式系统中主处理器8086和其他协处理器 如8087 8089 之间交换总线使用权的联络控制信号 LOCK 总线封锁信号 输出 三态 低电平有效 当为低电平时 表明此时CPU不允许其他总线主设备占用总线 QS1 QS0指令队列状态信号 输出 QS1 QS0两信号用来指示CPU内指令队列的当前状态 以使外部处理器 主要是协处理器8087 对CPU内指令队列的动作进行跟踪 4 5 28088与8086引脚的不同之处 8088CPU为准16位机 虽然其内部结构与8086基本相同 但是只能按8位与外部进行数据交换 因此8088的某些引脚信号与8086有所不同 不同的引脚包括 8088的地址 数据复用线为8条 即AD7 AD0 而A15 A8为单一的地址线 8088中无BHE 信号 引脚34为状态信号线SS0 8086与8088的28号引脚在最小模式下都是用来选择存储器或I O的 但二者选择电平相反 8088的存储器 IO控制线为IO M 即该信号为高电平时是I O端口访问 为低电平时是存储器访问 这与8086的信号刚好相反 4 68086 8088最小工作模式及其系统结构4 6 18284A时钟发生器 8086 8088系统采用Intel8284A作为时钟发生器 8284A将晶体振荡器的振荡频率分频后 向8086 8088系统提供符合要求的时钟脉冲CLK PCLK和OSC信号 同时为复位信号RESET和准备好信号READY进行同步 一 8284A的引脚及其功能8284A为18引脚双列直插式封装 主要引脚及其功能如下 OSC 晶振输出端 CLK 系统时钟信号输出端 PCLK 外设时钟信号输出端 RES 复位输入端 RESET 复位信号输出端 READY 准备好信号输出端 RDY1 RDY2 准备好信号输入端 AEN1 AEN2 对应RDY1 RDY2的允许控制信号输入端 Vcc 电源输入端 GND 接地端 二 8284A的功能结构8284A内部电路分为三大模块 时钟信号产生电路 RESET信号产生电路 READY信号产生电路 三 时钟信号产生电路 在IBMPC XT机中 8284A外接石英晶体振荡器的振荡频率fc为14 31818MHz 因此OSC CLK和PCLK信号的频率分别为14 31818MHz 4 77MHz和2 385MHz 四 RESET信号产生电路 通过加电与按键复位电路产生的RES 信号经过8284同步后输出符合系统要求的RESET信号 5V 4 6 2总线分离

温馨提示

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

评论

0/150

提交评论