
8.1cpu的结构.ppt
45页计算机组成原理第八章 CPU的结构和功能8.1 CPU 的结构8.3 指令流水8.2 指令周期8.4 中断系统计算机组成原理第八章 CPU的结构和功能8.1 CPU 的结构 一、 CPU 的功能取指令分析指令执行指令,发出各种操作命令控制程序输入及结果的输出总线管理处理异常情况和特殊请求1. 控制器的功能2. 运算器的功能实现算术运算和逻辑运算指令控制操作控制时间控制数据加工处理中断计算机组成原理第八章 CPU的结构和功能二、CPU 结构框图PC IR指令控制操作控制时间控制数据加工处理中断ALU 寄存器中断系统1. CPU 与系统总线CU 时序电路寄存器ALU中断系统CUCPU控制总线数据总线地址总线计算机组成原理第八章 CPU的结构和功能2. CPU 的内部结构算术和 布尔逻辑取反移位状态标志内部 数据总线C P U寄存器CU中断 系统ALU控制信号…计算机组成原理第八章 CPU的结构和功能1. 用户可见寄存器(1) 通用寄存器三、 CPU 的寄存器存放操作数可作 某种寻址方式所需的 专用寄存器(2) 数据寄存器存放操作数(满足各种数据类型)两个寄存器拼接存放双倍字长数据(3) 地址寄存器存放地址,其位数应满足最大的地址范围用于特殊的寻址方式 段基值 栈指针(4) 条件码寄存器存放条件码,可作程序分支的依据如 正、负、零、溢出、进位等计算机组成原理第八章 CPU的结构和功能2. 控制和状态寄存器(1) 控制寄存器 PC控制 CPU 操作(2) 状态寄存器状态寄存器其中 MAR MDR IR 用户不可见 存放条件码PSW 寄存器存放程序状态字PC 用户可见 3. 举例Z8000 8086 MC 68000MARMMDRIR计算机组成原理第八章 CPU的结构和功能四、 控制单元 CU 和中断系统1. CU 产生全部指令的微操作命令序列组合逻辑设计微程序设计硬连线逻辑存储逻辑2. 中断系统参见 第四篇 五、ALU参见 8.4参见 第六章计算机组成原理第八章 CPU的结构和功能8.2 指 令 周 期一、 指令周期的基本概念1 . 指令周期取出并执行一条指令所需的全部时间完成一条指令 执行取指、分析取指阶段 取指周期执行阶段 执行周期 (取指、分析)(执行指令)指令周期取指周期执行周期计算机组成原理第八章 CPU的结构和功能2. 每条指令的指令周期不同取指周期 指令周期取指周期 执行阶段指令周期取指周期执行周期指令周期NOPADD mem MUL mem计算机组成原理第八章 CPU的结构和功能3. 具有间接寻址的指令周期4. 带有中断周期的指令周期取指周期间址周期指令周期执行周期取指周期间址周期指令周期执行周期中断周期计算机组成原理第八章 CPU的结构和功能5. 指令周期流程取指周期执行周期有间址吗?有中断吗?间址周期中断周期是是否否计算机组成原理第八章 CPU的结构和功能6. CPU 工作周期的标志CPU 访存有 4 种性质 取 指令取 地址取 操作数存 程序断点取指周期间址周期执行周期 中断周期FE DIND DINT DCLK1FE1IND1EX1INTEX DCPU 的4个工作周期计算机组成原理第八章 CPU的结构和功能1. 取指周期数据流二、 指令周期的数据流MDRCUMARPCIR存储器CPU地址总线数据总线控制总线IR+1 计算机组成原理第八章 CPU的结构和功能2. 间址周期数据流MDRCUMARCPU地址总线数据总线控制总线PCIR存储器MDR计算机组成原理第八章 CPU的结构和功能3. 执行周期数据流4 . 中断周期数据流不同指令的执行周期数据流不同MDRCUMARCPU地址总线数据总线控制总线PC 存储器计算机组成原理第八章 CPU的结构和功能8.3 指 令 流 水一、如何提高机器速度1. 提高访存速度2. 提高 I/O 和主机之间的传送速度• 提高整机处理能力高速芯片Cache多体并行多总线DMAI/O 处理机通道高速器件改进系统结构 ,开发系统的并行性中断3. 提高运算器速度高速芯片改进算法快速进位链计算机组成原理第八章 CPU的结构和功能二、系统的并行性时间上互相重叠2. 并行性的等级指令级(指令之间)过程级(程序、进程)两个或两个以上事件在 同一时刻 发生两个或两个以上事件在 同一时间段 发生 并行1. 并行的概念粗粒度软件实现细粒度硬件实现并发同时计算机组成原理第八章 CPU的结构和功能取指令 3执行指令 3三、指令流水原理2. 指令的二级流水1. 指令的串行执行取指令 取指令部件 完成总有一个部件 空闲指令预取若 取指 和 执行 阶段时间上 完全重叠指令周期 减半 速度提高 1 倍…执行指令 执行指令部件 完成取指令 1执行指令 1取指令 2执行指令 2取指令 3执行指令 3取指令 2执行指令 2取指令 1执行指令 1计算机组成原理第八章 CPU的结构和功能必须等 上条 指令执行结束,才能确定 下条 指令的地址 造成时间损失3. 影响指令流水效率加倍的因素(1) 执行时间 > 取指时间(2) 条件转移指令 对指令流水的影响解决办法 ?取指令 部件指令部件 缓冲区执行指令 部件猜测法计算机组成原理第八章 CPU的结构和功能4. 指令的六级流水六级流水14 个时间单位串行执行6 × 9 = 54 时间单位完成 一条指令6 个时间单位COFOEIWODIFI COFOEIWODIFI COFOEIWODIFICOFOEIWODIFI COFOEIWODIFI COFOEIWODIFICOFOEIWODIFI COFOEIWODIFI COFOEIWODIFI指令 1 指令 2 指令 3 指令 4 指令 5 指令 6 指令 7 指令 8 指令 91 2 3 4 5 6 7 8 9 10 11 12 13 14t计算机组成原理第八章 CPU的结构和功能指令 1 与指令 4 冲突指令 2 与指令 5 冲突指令1、指令3、指令 6 冲突 ……COFOEIWODIFI COFOEIWODIFI COFOEIWODIFICOFOEIWODIFI COFOEIWODIFI COFOEIWODIFICOFOEIWODIFI COFOEIWODIFI COFOEIWODIFI指令 1 指令 2 指令 3 指令 4 指令 5 指令 6 指令 7 指令 8 指令 91 2 3 4 5 6 7 8 9 10 11 12 13 14t三、影响指令流水性能的因素1. 访存冲突解决办法• 指令存储器和数据存储器分开• 指令预取技术 (适用于访存周期短的情况)计算机组成原理第八章 CPU的结构和功能2. 相关问题程序的相近指令之间出现某种关联使指令流水出现停顿 影响流水线效率(1) 控制相关WOEIFOCODIWOEIFODIFIFIDIFICOFIFOCODIFIWOEIFOCODIFIDIFOEIWOEIFOCO FIDICOWODIFI COFI指令 1 指令 2 指令 3 指令 4 指令 5 指令 6 指令 7 指令15 指令161 2 3 4 5 6 7 8 9 10 11 12 13 14转移损失t设 指令3 是转移指令BNE 指令必须等CPX 指令的结果才能判断出是转移还是顺序执行LDA # 0LDX # 0INXCPX # NBNE MDIV # NSTA ANSADD X, DM计算机组成原理第八章 CPU的结构和功能(2) 数据相关几条相近的指令间,共用 同一存储单元 或 同一寄存器 时,会出现 数据相关ADD R1,R2如:SUB R1,R3采用 旁路技术解决办法寄存器组锁存器锁存器ALU计算机组成原理第八章 CPU的结构和功能四、流水线的多发技术 1. 超标量技术 Ø 每个时钟周期内可 并发多条独立指令 Ø 不能调整 指令的 执行顺序配置多个功能部件 通过编译优化技术,把可并行执行的指令搭配起来IF ID EX WR0 1 2 3 4 5 6 7 8 9 10 11 12 13t计算机组成原理第八章 CPU的结构和功能2. 超流水技术Ø 在 一个时钟周期 内 再分段 ( 3 段)Ø 不能调整 指令的 执行顺序在一个时钟周期内 一个功能部件使用多次( 3 次)靠编译程序解决优化问题流水线速度是原来速度的 3 倍IF ID EX WR0 1 2 3 4 5 6 7 8 9 10 11 12 13t计算机组成原理第八章 CPU的结构和功能3. 超长指令字Ø 采用 多个处理部件具有 多个操作码字段 的 超长指令字(可达几百位)Ø由编译程序 挖掘 出指令间 潜在 的 并行性,将 多条 能 并行操作 的指令组合成 一条IF ID EX WR0 1 2 3 4 5 6 7 8 9 10 11 12 13t计算机组成原理第八章 CPU的结构和功能五、流水线结构1. 指令流水线结构完成一条指令分 7 段, 每段需一个时钟周期若 流水线不出现断流1 个时钟周期出 1 结果不采用流水技术7 个时钟周期出 1 结果理想情况下,7 级流水 的速度是不采用流水技术的 7 倍地址形成部件指令译码部件取操作数部件取指令部件操作执行部件回写结果部件修改指令指针部件锁存锁存锁存锁存锁存锁存计算机组成原理第八章 CPU的结构和功能2. 运算流水线完成 浮点加减 运算 可分对阶、尾数求和、规格化 三段分段原则 每段 操作时间 尽量 一致锁存器对阶功能部件第一段尾数加部件锁存器第二段规格化部件锁存器第三段计算机组成原理第八章 CPU的结构和功能8.4 中断系统一、概述1. 引起中断的各种因素(1) 人为设置的中断(2) 程序性事故如 转管指令溢出、操作码不能识别、除法非法(5) 外部事件(4) I/O 设备(3) 硬件故障用 键盘中断 现行程序转管指令………管理程序计算机组成原理第八章 CPU的结构和功能2. 中断系统需解决的问题(1) 各中断源 如何 向 CPU 提出请求 ?(2) 各中断源 同时 提出 请求 怎么办 ?(5) 如何 寻找入口地址 ?(4) 如何 保护现场 ?(3) CPU 什么 条件、什么 时间、以什么 方式响应中断 ?(6) 如何 恢复现场,如何 返回 ?(7) 处理中断的过程中又 出现新的中断 怎么办 ?硬件 + 软件计算机组成原理第八章 CPU的结构和功能二、中断请求标记和中断判优逻辑1. 中断请求标记 INTR 一个请求源 。
