微处理器与系统结构.ppt_第1页
微处理器与系统结构.ppt_第2页
微处理器与系统结构.ppt_第3页
微处理器与系统结构.ppt_第4页
微处理器与系统结构.ppt_第5页
已阅读5页,还剩84页未读 继续免费阅读

下载本文档

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

文档简介

第二章微处理器与系统结构 2 1微处理器主要性能指标2 28086 8088微处理器2 38086系统的组成2 4存储器组织2 58086总线时序 第二章学习要点 重点掌握内容 1 微处理器的基本结构 2 Intel8086微处理器的基本结构 包括 功能结构 寄存器结构和总线结构 3 Intel8086微处理器系统的组成 控制核心单元 存储器组织 I O端口组织 4 Intel8086微处理器在最小模式下的典型总线操作和时序 5 几个重要概念 时钟周期 总线周期 指令周期 了解内容 1 Intel8088微处理器与Intel8086微处理器的不同之处 2 Intel8086微处理器在最大工作模式下的典型总线操作和时序 3 高档微处理器的体系结构与特点 2 1微处理器主要性能指标 主频 即微处理器时钟频率 如Pentium42GHz同系列的微处理器 主频越高 速度越快 但主频相同的微处理器 速度不一定都相同 因结构有差异外频 微处理器外部总线工作频率 如Pentium42GHz的外频为400MHz地址线宽度 决定访存空间 如36位地址线访问236 64GB存储单元数据线宽度 决定微处理器与外部存储器 输入 输出部件之间一次交换的二进制数据位数 如8 16 32 64位 微处理器主要性能指标 内置协处理器 加快数值运算超标量结构 一个时钟周期内执行一条以上的指令 低标量结构 一条指令至少需要一个以上的时钟周期工作电压 微处理器正常工作所需要的电压 早期为5V 后来有3 3V 2 8V 1 5V等 制造工艺 晶体管之间的最小线距 0 35 m 0 25 m 0 18 m 0 13 m等 微处理器 微处理器类型 Intel 4004 4位8085 8088 8位8086 80286 16位80386 80486 80586 32位Pentium PentiumPRO PentiumII PentiumIII Pentium4 32 64位 2 28086 8088微处理器 INTEL78年推出 79年推出8088 4万多个晶体管 8088为2 9万个晶体管 时钟频率4 77MHZ数据线16位 8088的数据线8位 地址线20位40脚DIP封装81年推出PersonalComputer 个人计算机 微机 组成 算术逻辑部件 控制器 寄存器阵列 总线及总线缓冲器 算术逻辑部件ALU 用硬件实现算术运算 移位 布尔运算等基本运算功能 控制器 逐一取出指令 分析指令 执行指令 指令部件 程序计数 指令寄存 指令译码 时序部件 产生操作序列的定时信号 微操作控制部件 根据指令产生控制信号 2 2 1有关微处理器的一些概念一 微处理器的基本结构 总线及总线缓冲器按照总线所连接的对象 有4级总线 片内总线 连接CPU内的各个电路部分 片间总线 指主板上各芯片之间的总线 用于连接CPU与主板上的其他芯片 按总线中各信号线功能的不同 又分为地址总线 数据总线和控制总线 即所谓的三总线 系统 内总线 指主板与I O扩展板之间的总线 一般都遵循一定的标准 如目前多采用的ISA标准 EISA标准和PCI标准等 外总线 指微机与其他设备 系统之间的总线 一般也遵循一定的标准 习惯上又称为接口 如串行接口 并行接口 USB接口等 总线缓冲器 如地址锁存器 数据缓冲器 总线收 发器等 运算器 寄存器 控制器 CPU 存储芯片 I O芯片 主板 扩展接口板 扩展接口板 微机系统 其他微机系统 其他仪器系统 微机系统的四级总线示意图 寄存器阵列 用于存放临时数据和地址 数目多少不定 因处理器而异 累加器 数据运算的场所 其长度即微机的字长 通用数据寄存器 存放运算数据或结果 存放数据的地址指针 堆栈指针 专门指示堆栈的栈顶 辅助完成堆栈操作 程序计数器 指令指针 指向将要执行的下一条指令 实现顺序执行 指令寄存器 即指令队列 暂存预取指令的代码 直至完成译码 标志寄存器 记录当前执行结果的各种状态 2 2 28086CPU功能结构图 EU控制器 标志寄存器 8位队列总线 总线控制逻辑 内部总线16位 20位地址总线 16位数据总线 执行部件EU 总线接口部件BIU 1 执行部件EU执行部件中包含一个16位的算术逻辑单元 ALU 8个16位的通用寄存器 一个16位的状态标志寄存器 一个数据暂存寄存器和执行部件的控制电路 功能 从BIU的指令队列中取出指令代码 经指令译码器译码后执行指令所规定的全部功能 执行指令所得结果或执行指令所需的数据 都由EU向BIU发出命令 对存储器或I O接口进行读 写操作 2 总线接口部件BIU总线接口部件BIU内部设有四个16位段地址寄存器 代码段寄存器CS 数据段寄存器DS 堆栈段寄存器SS和附加段寄存器ES 一个16位指令指针寄存器IP 一个6字节指令队列缓冲器 20位地址加法器和总线控制电路 主要功能 根据执行部件EU的请求 负责完成CPU与存储器或I O设备之间的数据传送 一 8086执行部件EU 组成 算术逻辑部件 控制器 寄存器阵列 总线及总线缓冲器 算术逻辑单元ALU ArithmeticandLogicUnit 进行所有的算术和逻辑运算计算寻址单元的十六位偏移地址EA EffectAddress EU控制器接收指令队列中的指令 进行指令译码 分析 形成各种控制信号 实现EU各个部件完成规定动作的控制标志寄存器F通用寄存器 标志寄存器 标志 Flag 用于反映指令执行结果或控制指令执行形式8086处理器的各种标志形成了一个16位的标志寄存器FLAGS 程序状态字PSW寄存器 程序设计需要利用标志的状态 标志寄存器Flags 唯一能按位操作的寄存器只定义了其中9位 另外7位未定义 保留 6位状态标志 OF SF ZF PF CF AF3位控制标志 DF IF TF 状态标志 反映指令对数据作用之后 结果的状态 不是结果本身 这些状态将控制后续指令的执行OF OverflowFlag 溢出标志 指补码 F 11OF 1 在运算过程中 如操作数超过了机器表示的范围称为溢出 OF 0 在运算过程中 如操作数未超过了机器能表示的范围称为不溢出 求解方法 最高位进位 次高位进位字节允许范围 128 127字允许范围 32768 32767 状态标志 CF CarryFlag 进位 借位标志 F 0CF 1 最高位需要向前产生进位 借位 CF 0 最高位不会向前产生进位 借位 AF AuxiliaryCarryFlag 辅助进位标志 F 4AF 1 数据的第3位 半个字节 需要向前产生进位 借位 AF 0 数据的第3位 半个字节 不会向前产生进位 借位 状态标志 SF SignFlag 符号标志 F 7SF 1 运算结果的最高位为1 如果为带符号数 则为负数 SF 0 运算结果的最高位为0 如果为带符号数 则为正数 带符号数的最高位为符号位 而无符号数的最高位为数值位 ZF ZeroFlag 全零标志 F 6ZF 1 运算结果为全0 不包括进位的情况ZF 0 运算结果不为0 状态标志 PF ParityFlag 奇偶标志PF 1 结果的低8位中有偶数个1 PF 0 结果的低8位中有奇数个1 有些运算操作将影响全部状态标志 如加法 减法运算有些操作影响部分状态标志 如移位操作有些指令的操作不影响任何状态标志 如数据传送指令 运算结果最高位为1 SF 1 例 2个数相加后 分析各标志位的值 第三位向第四位有进位 AF 1 次高位向最高位有进位 最高位向前没有进位 OF 1 0 1 最高位没有进位 CF 0 低8位中1的个数为偶数个 PF 1 运算结果本身 0 ZF 0 运算结果最高位为0 SF 0 例 2个数相减后 分析各标志位的值 第三位向第四位没有借位 AF 0 次高位向最高位没有借位 最高位向前没有借位 OF 0 0 0 最高位没有借位 CF 0 低8位中1的个数为奇数个 PF 0 运算结果本身 0 ZF 0 控制标志 控制标志位的值不由数据运算的结果决定 而由指令直接赋值控制标志决定后续指令的执行情况DF DirectionFlag 方向控制标志位用于串处理指令 控制从前往后 还是从后往前对字符串进行操作处理DF 1 每次串处理操作后使变址寄存器SI和DI的值递减 使串处理从高地址向低地址方向处理 DF 0 每次串处理操作后使变址寄存器SI和DI的值递增 使串处理从低地址向高地址方向处理 控制标志 IF InteruptFlag 中断允许 禁止标志位IF 1 允许外部可屏蔽中断 CPU可以响应可屏蔽中断请求 IF 0 关闭中断 CPU禁止响应可屏蔽中断请求 IF的状态对不可屏蔽中断和内部软中断没有影响 TF TrapFlag 跟踪 陷阱 标志位TF 1 每执行一条指令后 自动产生一次内部中断 使CPU处于单步执行指令工作方式 便于进行程序调试 用户能检查程序 TF 0 CPU正常工作 不产生陷阱 控制标志与状态标志的区别 控制标志的值 由系统程序或用户程序根据需要用指令设置 状态信息 由中央处理器执行运算指令 并根据运算结果而自动设置 X86CPU也提供了直接设置状态标志之值的指令 调试状态时 标志位之值的符号表示 AX BX CX DX 8086的通用寄存器 目的变址指针 DestinationIndex DI 源变址指针 SourceIndex SI 基址指针 BasePointer BP 堆栈指针 StackPointer SP 数据寄存器 Data 计数寄存器 Count 基址寄存器 Base 累加器 Accumulator 8086的16位通用寄存器是 AXBXCXDXSIDIBPSP其中前4个数据寄存器都还可以分成高8位和低8位两个独立的寄存器8086的8位通用寄存器是 AHBHCHDHALBLCLDL对其中某8位的操作 并不影响另外对应8位的数据 数据寄存器 数据寄存器用来存放计算的结果和操作数 也可以存放地址每个寄存器又有它们各自的专用目的AX 累加器 使用频度最高 用于算术 逻辑运算以及与外设传送信息等 BX 基址寄存器 常用做存放存储器地址 CX 计数器 作为循环和串操作等指令中的隐含计数器 DX 数据寄存器 常用来存放双字长数据的高16位 或存放外设端口地址 指针寄存器 指针寄存器用于寻址内存堆栈内的数据SP为堆栈指针寄存器 指示栈顶的偏移地址SP不能再用于其他目的 具有专用目的BP为基址指针寄存器 表示数据在堆栈段中的基地址SP和BP寄存器与SS段寄存器联合使用以确定堆栈段中的存储单元地址 变址寄存器 变址寄存器常用于存储器寻址时提供地址SI是源变址寄存器DI是目的变址寄存器串操作类指令中 SI和DI具有特别的功能 通用寄存器 一般 通用寄存器可以用于任何指令的任意操作 可以相互替换16位的数据寄存器都可分成2个8位寄存器使用 是同一个物理介质 如果已用作一个16位的数据寄存器 则不能再用作1个或2个8位数据寄存器 反之亦然地址寄存器不能分解为8位使用除了通用目的之外 有些操作规定只能使用某个寄存器 即寄存器的特殊用法 通用寄存器通用寄存器分为数据寄存器与指针和变址寄存器两组 数据寄存器包括4个16位的寄存器AX BX CX和DX 一般用来存放16位数据 故称为数据寄存器 其中的每一个又可根据需要将高8位和低8位分成独立的两个8位寄存器来使用 即AH BH CH DH和AL BL CL DL两组 用于存放8位数据 它们均可独立寻址 独立使用 指针和变址寄存器包括指针寄存器SP BP和变址寄存器SI DI 都是16位寄存器 一般用来存放地址的偏移量 这8个16位通用寄存器都具有通用性 从而提高了指令系统的灵活性 但在有些指令中 这些通用寄存器还各自有特定的用法 见下表 通用寄存器的特殊用法 默认用法 8086CPU功能结构图 8位队列总线 总线控制逻辑 内部总线16位 20位地址总线 16位数据总线 总线接口部件BIU 二 8086总线接口部件BIU BusInterfaceUnit BIU负责与M I O端口传送数据 地址 访问存储器时 需要生成20位的物理地址 要不断从内存中取指令并送到指令队列 CPU执行指令时 要配合执行部件从指定的内存单元或者外设端口中取数据 并将数据传送给执行部件 或把执行部件的操作结果传送给指定的M或I O口 指令队列缓冲器 8088为4字节 8086为6字节 为FIFO 先进先出 结构指令队列至少保持有一条指令 且只要有一条指令 EU就开始执行 指令队列只要有空 BIU自动执行取指操作 直到填满为止 若EU要进行M IO存取数据 BIU在执行完现行取指操作周期后进行 当执行转移指令时 EU要求BIU从新的地址中重新取指 队列中原有指令被清除 新取得的第一条指令直接送EU执行 随后取得的指令填入队列 BIU的段寄存器 4个16位段寄存器CS DS SS ES用来识别当前可寻址的四个段 每个段的功能各不相同CS CodeSegmentRegister代码段寄存器 指示当前执行程序所在存储器的区域 DS DataSegmentRegister数据段寄存器 指示当前程序所用之数据的存储器区域 SS StackSegmentRegister堆栈段寄存器 指示当前程序所用之堆栈位于的存储器区域 ES ExtraSegmentRegister附加段寄存器 指示当前程序所用之数据位于的另外存储器区域 在字符串操作中常用到 这些段寄存器的内容与有效的地址一起 用于确定内存的物理地址 通常用CS DS ES以及SS用于确定代码段 数据段 附加段以及堆栈段的基地址 指令指针 IP InstructionPointer指令指针寄存器IP寄存器是一个专用寄存器 用来存储代码段中的偏移地址 程序运行过程中IP始终指向下一次要取出的指令偏移地址通常不能被直接访问 也不能直接赋值 指令中不会出现IP 它与代码段寄存器CS联用 确定下一条指令的物理地址计算机通过CS IP寄存器来控制指令序列的执行流程 总线控制逻辑处理器与外界总线联系的转接电路 包括三组总线 20位地址总线 16 8位双向数据总线 一组控制总线 地址生成器 CS左移4位 三 EU与BIU的协同工作 在一条指令的执行过程中可以取出下一条 或多条 指令 指令在指令队列中排队 在一条指令执行完成后 就可以立即执行下一条指令 减少CPU为取指令而等待的时间 提高CPU的利用率和整个运行速度 8086 8088的寄存器结构 数据寄存器 地址指针及变址寄存器 控制寄存器组 段寄存器组 AXAHAL累加器BXBHBL基址寄存器CXCHCL计数寄存器DXDHDL数据寄存器 通用寄存器组 SP堆栈指针BP基址指针SI源变址指针DI目的变址指针 IP指令指针FLAG标志寄存器 CS代码段寄存器DS数据段寄存器SS堆栈段寄存器ES附加段寄存器 15870 2 2 38086 8088引脚信号 AD0 AD15地址 数据复用引脚 双向 三态 A16 S3 A19 S6地址 状态复用引脚 输出 三态 S7总线高位允许 状态 输出 三态 读信号 输出 低电平有效 三态 测试信号 输入 低电平有效 一 通用信号 READY准备就绪 输入 高电平有效 状态信号指示当前使用段 一 8086通用引脚信号 INTR可屏蔽中断请求信号 输入 高有效 NMI非屏蔽中断请求 输入 上升沿触发 RESET复位信号 输入 高电平有效 CLK时钟输入端 MN 最小 最大模式控制输入端 复位后相关寄存器的初始状态 二 8086最小模式引脚信号 写信号 输出 低电平有效 中断响应信号 输出 三态 低电平有效 DT 数据发送 接收控制信号输出 输出 三态 数据允许信号 输出 三态 低电平有效 M 存储器 IO控制信号 输出 三态 ALE地址锁存允许信号 输出 HOLD总线保持请求信号 输入 高电平有效 HLDA总线保持响应信号 输出 高电平有效 三 8088 8086两种工作模式 最小模式 系统只有8086或8088一个微处理器 所有控制信号直接由CPU提供最大模式 由两个或多个微处理器 主处理器和协处理器 组成中 大 规模系统 CPU并不直接向外界提供全部控制信号 而由S0S1S2通过Intel8288总线控制器提供不同的工作模式下 CPU有一部分引脚具有不同的功能 由第33号引脚 MN 控制 2 38086系统的组成 地址锁存器8282总线收 发器82868086最小模式下的系统组成两种模式的比较 2 3 1地址锁存器8282内部结构 8282 地址锁存器8282引脚信号 直通 保持 高阻 74LS373的功能与8282相同 地址锁存功能 STB为高电平期间 输出等于输入 为下降沿时 输出锁存 与输出无关 ALE为8088 8086地址锁存允许 高电平有效 输出 复用线上出现地址时为高电平锁存器的DI0 DI7与CPU的地址 数据复用线相连 STB与ALE相连 ALE为正脉冲时 输出地址 为低电平时 输出锁存 与数据无关 双向数据收发器8286内部结构 功能表 双向数据收发器8286引脚信号 两方面的功能 三态输出直接驱动总线 具有数据收和发两个方向的传输 隔离控制功能 常用芯片 Intel8286 Intel8287和74LS2458286输入输出同相8287输入输出反相74LS245的功能与8286相同 双向数据总线收发器 最小模式总线连接 8086最小工作模式下控制核心单元的组成 5V 读写控制 读写控制 读写控制 8086最大工作模式下控制核心单元的组成 读写控制 读写控制 读写控制 2 4存储器组织 8086有20条地址线 寻址能力为1MB字节地址 能存储一个字节的存储单元的地址字地址 占用两个相邻字节单元的地址数值较小的单元地址 低字节地址 字符串地址 存放在最低地址单元的第一个字节地址字的存储 低字节在较低地址单元 高字节在较高的相邻地址单元指针的存储 偏移地址在低地址字单元 段地址在较高地址单元 内存单元既可以存放数据 也可以存放地址指针 包括偏移地址和段地址 此时地址也可以看成是数据 2 4 1信息存放方式示意图 地址内容19H0CH1AH1FH1BH01H1CH23H1DH74H1EHABH1FH41H20H42H21H43H22H44H23H45H 8086奇偶存储器和总线连接 a 存储器地址空间分配 b 存储体与总线的连接 存储单元的访问 A0在每次读 写操作中都会出现低电平 即无论字节或字操作 总线上总是默认传送1个字 然后再按照指令进行数据的取舍 存储器中的数据存放规则 存储单元中可以存放的内容包括 数据 地址指针 偏移地址和段地址 程序代码 字节数据的存储 存储在1个存储单元中 字数据的存储 占用2个连续的字节单元 低字节在较低地址单元中 高字节在较高地址单元中 字的地址为低字节地址 较低的地址 字地址为偶数 规则存放的字 字符串的存储 按字符顺序依次连续存放 整个串的地址为存放第一个字符的最低地址 地址指针 双字数据 的存储 地址偏移量存放在低地址字单元 段基址在较高地址单元 2 4 2存储器分段 分段原因 8086有20根地址线 但其内部可以表示的地址最多只能是16位 为了能寻址1MB空间 8086对存储器进行逻辑分段 每个段最大为64KB 最小为16B 此时最多64K个段 存储器的逻辑地址和物理地址 8086物理地址PA的形成 其中的16位偏移量也称为有效地址EA 出现在指令中 物理地址PA与逻辑地址LA的对应 0000 存储器段操作 四个段寄存器 CS DS SS ES 指示四个现行段的段地址 段和段之间可以相互分离 连接 部分重叠或完全重叠 由指令给的出寻址方式所指定的地址 逻辑地址源 物理地址的生成 取指令时 由代码段寄存器CS 再加上IP的16位偏移量堆栈操作时 由堆栈段寄存器SS 再加上SP所决定的16位偏移量取数据 ES或DS再加寻址的偏移地址程序所需的存储空间不超过64KB 包括程序 堆栈和数据 可使CS SS DS ES相等任务的程序 堆栈以及数据分别不超过64KB CS DS SS可分别置初值 否则用子程序结构 2 4 38086系统堆栈操作 堆栈 后进先出的的一段内存栈顶 永远由地址指针 SS SP 指示栈底 最初始的地址指针 SS SP 指示处堆栈深度 最大64KB堆栈的作用 调用子程序 或转向中断服务程序 时 把断点及有关的寄存器 标志位及时正确地保存下来 并保证逐次正确返回堆栈操作指令 入栈指令PUSH与出栈指令POP入 出栈操作数 是一个字 而不是一个字节子程序调用指令或中断响应自动完成时 恢复断点地址由返回指令 RET或IRET 完成 堆栈初始化操作 堆栈段起始地址 栈底及初始栈顶 入栈操作 出栈操作 2 4 4I O端口组织 特点 将端口看作存储单元 仅以地址范围的不同来区分两者 优点 对端口的操作和对存储单元的操作完全一样 因此系统简单 并且对端口操作的指令种类较多 缺点 CPU对存储单元和I O端口的实际寻址空间都小于其最大寻址空间 存储单元地址 I O端口地址 特点 系统视端口和存储单元为不同的对象 优点 系统中存储单元和I O端口的数量可以达到最大 缺点 需要专门的信号来指示系统地址线上出现的是存储单元地址还是端口地址 专用的端口操作指令一般比较单一 X86的编址方式 b I O端口独立编址 三 输入 输出 8086系统通过I O端口访问外部设备 既可以接收外部信息 又可以把信息送往外设 并可发出命令控制外部设备8086CPU具有读端口信息和写端口信息的专用I O指令 可寻址216 64K个字节端口 2 58086总线时序 时序图 描述某一操作过程中 芯片 总线上有关引脚信号随时间发生变化的关系图总线周期 执行一个总线操作所需要的时间一个基本的总线周期通常包含4个T状态 典型的总线周期示意 读周期 总线读操作 对存储单元或I O端口 写周

温馨提示

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

评论

0/150

提交评论