为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

第8章_CPU_的结构和功能

2011-08-23 50页 ppt 5MB 33阅读

用户头像

is_470937

暂无简介

举报
第8章_CPU_的结构和功能null第8章 CPU 的结构和功能第8章 CPU 的结构和功能8.1 CPU 的结构8.1 CPU 的结构一、 CPU 的功能取指令分析指令执行指令,发出各种操作命令控制程序输入及结果的输出总线管理处理异常情况和特殊请求1. 控制器的功能2. 运算器的功能实现算术运算和逻辑运算指令控制操作控制时间控制数据加工处理中断null二、CPU 结构框图PC IRALU 寄存器中断系统1. CPU 与系统总线CU 时序电路8.1null2. CPU 的内部结构8.1null1. 用户可见寄存器(1) ...
第8章_CPU_的结构和功能
null第8章 CPU 的结构和功能第8章 CPU 的结构和功能8.1 CPU 的结构8.1 CPU 的结构一、 CPU 的功能取指令分析指令执行指令,发出各种操作命令控制程序输入及结果的输出总线管理处理异常情况和特殊请求1. 控制器的功能2. 运算器的功能实现算术运算和逻辑运算指令控制操作控制时间控制数据加工处理中断null二、CPU 结构框图PC IRALU 寄存器中断系统1. CPU 与系统总线CU 时序电路8.1null2. CPU 的内部结构8.1null1. 用户可见寄存器(1) 通用寄存器三、 CPU 的寄存器存放操作数可作 某种寻址方式所需的 专用寄存器(2) 数据寄存器存放操作数(满足各种数据类型)两个寄存器拼接存放双倍字长数据(3) 地址寄存器存放地址,其位数应满足最大的地址范围用于特殊的寻址方式 段基值 栈指针(4) 条件码寄存器存放条件码,可作程序分支的依据如 正、负、零、溢出、进位等8.1null2. 控制和状态寄存器(1) 控制寄存器PC控制 CPU 操作(2) 状态寄存器状态寄存器其中 MAR、MDR、IR 用户不可见 存放条件码PSW 寄存器存放程序状态字 PC 用户可见 3. 举例Z8000 8086 MC 68000MARMMDRIR8.1null四、 控制单元 CU 和中断系统1. CU 产生全部指令的微操作命令序列2. 中断系统参见 第4篇 五、ALU参见 8.4 节参见 第6章8.18.2 指 令 周 期8.2 指 令 周 期一、 指令周期的基本概念1 . 指令周期取出并执行一条指令所需的全部时间完成一条指令执行取指、分析取指周期执行周期null2. 每条指令的指令周期不同NOPADD mem MUL mem8.2null3. 具有间接寻址的指令周期4. 带有中断周期的指令周期8.2null5. 指令周期取指周期执行周期间址周期中断周期8.2null6. CPU 工作周期的标志CPU 访存有四种性质取 指令取 地址取 操作数存 程序断点取指周期间址周期执行周期中断周期CPU 的 4个工作周期8.2null1. 取指周期数据流二、 指令周期的数据流CUMARPC8.2null2. 间址周期数据流8.2null3. 执行周期数据流4 . 中断周期数据流不同指令的执行周期数据流不同8.28.3 指 令 流 水8.3 指 令 流 水一、如何提高机器速度1. 提高访存速度2. 提高 I/O 和主机之间的传送速度 提高整机处理能力高速芯片Cache多体并行I/O 处理机DMA多总线通道高速器件改进系统结构 ,开发系统的并行性中断3. 提高运算器速度高速芯片改进算法快速进位链null二、系统的并行性时间上互相重叠2. 并行性的等级指令级(指令之间)    (指令内部)过程级(程序、进程)两个或两个以上事件在 同一时刻 发生两个或两个以上事件在 同一时间段 发生并行1. 并行的概念粗粒度软件实现细粒度硬件实现8.3null三、指令流水原理2. 指令的二级流水1. 指令的串行执行取指令 取指令部件 完成总有一个部件 空闲指令预取若 取指 和 执行 阶段时间上 完全重叠指令周期 减半 速度提高 1 倍执行指令 执行指令部件 完成8.3null 必须等 上条 指令执行结束,才能确定 下条 指令的地址, 造成时间损失3. 影响指令流水效率加倍的因素(1) 执行时间 > 取指时间 (2) 条件转移指令 对指令流水的影响 解决办法 ?猜测法8.3null4. 指令的六级流水六级流水14 个时间单位串行执行6 × 9 = 54 个时间单位完成 一条指令6 个时间单位8.3null三、影响指令流水线性能的因素1. 结构相关8.3不同指令争用同一功能部件产生资源冲突程序的相近指令之间出现某种关联 使指令流水出现停顿,影响流水线效率解决办法• 停顿• 指令存储器和数据存储器分开• 指令预取技术 (适用于访存周期短的情况)null2. 数据相关不同指令因重叠操作,可能改变操作数的 读/写 访问顺序 采用 旁路技术解决办法8.3 写后读相关(RAW) 读后写相关(WAR) 写后写相关(WAW) 后推法null3. 控制相关8.3由转移指令引起null3. 控制相关8.3null四、流水线性能 1. 吞吐率 单位时间内 流水线所完成指令 或 输出结果 的 数量8.3 最大吞吐率 实际吞吐率 连续处理 n 条指令的吞吐率为null2. 加速比 Sp 8.3 m 段的 流水线的速度 与等功能的 非流水线的速度 之比null由于流水线有 建立时间 和 排空时间 因此各功能段的 设备不可能 一直 处于 工作 状态 8.3流水线中各功能段的 利用率3. 效率 null8.33. 效率 流水线中各功能段的 利用率null五、流水线的多发技术 1. 超标量技术 每个时钟周期内可 并发多条独立指令 不能调整 指令的 执行顺序配置多个功能部件 通过编译优化技术,把可并行执行的指令搭配起来8.3null2. 超流水线技术 在 一个时钟周期 内 再分段 ( 3 段) 不能调整 指令的 执行顺序在一个时钟周期内 一个功能部件使用多次( 3 次)靠编译程序解决优化问题流水线速度是原来速度的 3 倍8.3null3. 超长指令字技术 采用 多个处理部件8.3null六、流水线结构1. 指令流水线结构完成一条指令分 7 段, 每段需一个时钟周期若 流水线不出现断流1 个时钟周期出 1 结果不采用流水技术7 个时钟周期出 1 结果理想情况下,7 级流水 的速度是不采用流水技术的 7 倍8.3null2. 运算流水线完成 浮点加减 运算 可分 对阶、尾数求和、规格化 三段分段原则 每段 操作时间 尽量 一致8.38.4 中断系统8.4 中断系统一、概述1. 引起中断的各种因素(1) 人为设置的中断(2) 程序性事故如 转管指令溢出、操作码不能识别、除法非法(5) 外部事件(4) I/O 设备(3) 硬件故障用 键盘中断 现行程序null2. 中断系统需解决的问题(1) 各中断源 如何 向 CPU 提出请求 ?(2) 各中断源 同时 提出 请求 怎么办 ?(5) 如何 寻找入口地址 ?(4) 如何 保护现场 ?(3) CPU 什么 条件、什么 时间、以什么 方式 响应中断 ?(6) 如何 恢复现场,如何 返回 ?(7) 处理中断的过程中又 出现新的中断 怎么办 ?硬件 + 软件8.4null二、中断请求标记和中断判优逻辑1. 中断请求标记 INTR一个请求源 一个 INTR 中断请求标记触发器多个INTR 组成 中断请求标记寄存器INTR 分散 在各个中断源的 接口电路中INTR 集中 在 CPU 的中断系统 内8.4null2. 中断判优逻辑① 分散 在各个中断源的 接口电路中 链式排队器② 集中 在 CPU 内(1) 硬件实现(排队器)参见 第五章INTR1INTR2INTR3INTR4INTR1 、 INTR2 、 INTR3 、 INTR4 优先级 按 降序 排列 8.4nullA、B、C 优先级按 降序 排列(2) 软件实现(程序查询)…转 A 的服务程序 入口地址转 B 的服务程序 入口地址转 C 的服务程序 入口地址8.4null三、中断服务程序入口地址的寻找1. 硬件向量法向量地址 12H、13H、14H 入口地址 200、 300、 4008.4null2. 软件查询法 M…8.4null四、中断响应1. 响应中断的 条件允许中断触发器 EINT = 12. 响应中断的 时间指令执行周期结束时刻由CPU 发查询信号 CPU 中断查询至排队器8.4null3. 中断隐指令(1) 保护程序断点(2) 寻找服务程序入口地址(3) 硬件 关中断PC断点存于 特定地址( 0 号地址) 内断点 进栈INT 中断标记EINT 允许中断R – S 触发器8.4null五、保护现场和恢复现场1. 保护现场2. 恢复现场保护现场其它服务程序恢复现场中断返回PUSH视不同请求源而定POP中断服务程序 完成中 断 服 务 程 序中断隐指令 完成中断服务程序 完成8.4IRETnull1. 多重中断的概念klmk +1l +1m +1程序断点 k+1 , l+1 , m+1六、中断屏蔽技术8.4null2. 实现多重中断的条件中断 请求主程序(2) 优先级别高 的中断源 有权中断优先级别低 的中断源(1) 提前 设置 开中断 指令8.4null3. 屏蔽技术(1) 屏蔽触发器的作用MASK = 0(未屏蔽)INTR 能被置 “1”MASKi = 1 (屏蔽)INTPi = 0 (不能被排队选中)8.4null(2) 屏蔽字8.4null(3) 屏蔽技术可改变处理优先等级响应优先级响应优先级 A→B→C→D 降序排列 8.4不可改变处理优先级可改变(通过重新设置屏蔽字)处理优先级 A→D→C→B 降序排列null(3) 屏蔽技术可改变处理优先等级8.4null(3) 屏蔽技术可改变处理优先等级(4) 屏蔽技术的其他作用8.4便于程序控制可以 人为地屏蔽 某个中断源的请求null8.4(5) 新屏蔽字的设置 置屏蔽字 恢复屏蔽字 关中断 开中断null(1) 断点进栈(2) 断点存入“ 0 ” 地址中断隐指令 完成中断周期命令存储器写三次中断,三个断点都存入 “ 0 ” 地址4. 多重中断的断点保护中断隐指令 完成8.4null(3) 程序断点存入 “ 0 ” 地址的断点保护SERVELDA SAVEJMP @ RETURN存程序断点5 为向量地址…保护现场恢复现场间址返回存放 ACC 内容转存 0 地址内容开中断ENI8.4第9章 控制单元的功能第9章 控制单元的功能9.1 操作命令的分析9.1 操作命令的分析完成一条指令分 4 个工作周期取指周期间址周期执行周期中断周期9.1 操作命令的分析9.1 操作命令的分析一、取指周期null二、间址周期 9.1null三、执行周期1. 非访存指令(1) CLA 清A(2) COM 取反(4) CSL 循环左移(3) SHR 算术右移(5) STP 停机指令9.1null2. 访存指令STA XADD X(2) 存数指令(1) 加法指令9.1null(3) 取数指令3. 转移指令(1) 无条件转(2) 条件转移LDA XJMP XBAN X(负则转)9.1null4. 三类指令的指令周期非访存 指令周期直接访存 指令周期间接访存 指令周期转移 指令周期9.1间接转移 指令周期null四、中断周期程序断点存入 “ 0 ” 地址程序断点 进栈9.19.2 控制单元的功能9.2 控制单元的功能一、控制单元的外特性时钟标志CPU 内部的控制信号到系统总线的控制信号来自系统总线的控制信号null1. 输入信号(1) 时钟(2) 指令寄存器(4) 外来信号(3) 标志CU 受时钟控制控制信号 与操作码有关CU 受标志控制INTR 中断请求HRQ 总线请求一个时钟脉冲 发一个操作命令或一组需同时执行的操作命令如9.2null2. 输出信号(1) CPU 内的各种控制信号(2) 送至控制总线的信号INTAHLDA访存控制信号访 IO/ 存储器的控制信号读命令写命令中断响应信号总线响应信号9.2null二、控制信号举例PCIRACCU时钟ALU控制信号标志控制 信号取指周期以 ADD @ X 为例PCIRCU9.21. 不采用 CPU 内部总线的方式PCPCPC M D R M A R M D R M A Rnull二、控制信号举例1. 不采用 CPU 内部总线的方式ADD @ X 间址周期9.2 M D R M D R M A Rnull二、控制信号举例1. 不采用 CPU 内部总线的方式ADD @ X 执行周期ACALU9.2 M D R M A R M D Rnull(1) ADD @ X 取指周期 PC MDR OP(IR)控制信号控制信号2. 采用 CPU 内部总线方式MARMDRIRCU9.2null(2) ADD @ X 间址周期 MDR MDRMDRIRMAR9.2null(3) ADD @ X 执行周期 MDR Z AC(AC)+(Y)MARMDRYALUACZALU9.2null三、多级时序系统1. 机器周期(1) 机器周期的概念(2) 确定机器周期需考虑的因素(3) 基准时间的确定所有指令执行过程中的一个基准时间每条指令的执行 步骤每一步骤 所需的 时间 以完成 最复杂 指令功能的时间 为准 以 访问一次存储器 的时间 为基准若指令字长 = 存储字长取指周期 = 机器周期9.2null2. 时钟周期(节拍、状态) 一个机器周期内可完成若干个微操作每个微操作需一定的时间时钟周期是控制计算机操作的最小单位时间将一个机器周期分成若干个时间相等的 时间段(节拍、状态、时钟周期)9.2用时钟周期控制产生一个或几个微操作命令nullCLKT0T1T2T32. 时钟周期(节拍、状态) 9.2null3. 多级时序系统机器周期、节拍(状态)组成多级时序系统一个指令周期包含若干个机器周期一个机器周期包含若干个时钟周期CLK 节拍 (状态) 节拍 (状态)9.2null4. 机器速度与机器主频的关系机器的 主频 f 越快 机器的 速度也越快在机器周期所含时钟周期数 相同 的前提下, 两机 平均指令执行速度之比 等于 两机主频之比机器速度 不仅与 主频有关 ,还与机器周期中所含 时钟周期(主频的倒数)数 以及指令周期中所含 的 机器周期数有关9.2null四、控制方式产生不同微操作命令序列所用的时序控制方式1. 同步控制方式任一微操作均由 统一基准时标 的时序信号控制CLK(1) 采用 定长 的机器周期以 最长 的 微操作序列 和 最繁 的微操作作为 9.2机器周期内 节拍数相同null(2) 采用不定长的机器周期 节拍 (状态)9.2机器周期内 节拍数不等null(3) 采用中央控制和局部控制相结合的方法9.2局部控制的节拍宽度与 中央控制的节拍宽度一致null2. 异步控制方式无基准时标信号无固定的周期节拍和严格的时钟同步采用 应答方式3. 联合控制方式4. 人工控制方式(1) Reset(2) 连续 和 单条 指令执行转换开关(3) 符合停机开关同步与异步相结合9.2null五、多级时序系统实例分析1. 8085 的组成9.2null2. 8085 的外部引脚(1) 地址和数据信号(2) 定时和控制信号(3) 存储器和 I/O 初始化A15~A8 AD7~AD0SID SOD入 X1 X2入 HOLD Ready出 HLDA9.2null(4) 与中断有关的信号(5) CPU 初始化(6) 电源和地出 INTATrap 重新启动中断出 Reset outVCC +5 VVSS 地9.2null3. 机器周期和节拍(状态)与控制信号的关系9.2null小结每个 控制 信号在 指定机器周期 的 指定节拍 T 时刻 发出机器周期 M1 取指令操作码机器周期 M2 取设备地址机器周期 M3 执行 ACC 的内容写入设备以一条输出指令(I/O 写)为例9.2第10章 控制单元的设计第10章 控制单元的设计10.1 组合逻辑设计10.1 组合逻辑设计一、组合逻辑控制单元框图1. CU 外特性IR操作码译码 2.节拍信号CLKT0T1T2T310.1 二、微操作的节拍安排采用 同步控制方式CPU 内部结构采用非总线方式一个 机器周期 内有 3 个节拍(时钟周期)10.1 1. 安排微操作时序的原则原则一 微操作的 先后顺序不得 随意 更改原则二 被控对象不同 的微操作 尽量安排在 一个节拍 内完成原则三 占用 时间较短 的微操作 尽量 安排在 一个节拍 内完成 并允许有先后顺序10.1null2. 取指周期 微操作的 节拍安排原则二原则二原则三3. 间址周期 微操作的 节拍安排T0T1T2T0T1T210.1null4. 执行周期 微操作的 节拍安排① CLA② COM ③ SHRT0T1T2T0T1T2T0T1T210.1null④ CSL⑤ STP⑥ ADD X⑦ STA XT0T1T2T0T1T2T0T1T2T0T1T210.1null⑧ LDA X⑨ JMP X⑩ BAN XT0T1T2T0T1T2T0T1T210.1null5. 中断周期 微操作的 节拍安排T0T1T2硬件关中断中断隐指令完成10.1null三、组合逻辑设计步骤1. 列出操作时间表T2T1T0 FE 取指 JMPLDASTAADDCOMCLA微操作命令信号状态条件节拍工作周期标记I10.1间址特征nullT2T1T0 IND 间址10.1间址周期标志nullT2T1T0 EX 执行 10.1null三、组合逻辑设计步骤1. 列出操作时间表111111111110.1null三、组合逻辑设计步骤1. 列出操作时间表111110.1null三、组合逻辑设计步骤1. 列出操作时间表111111111111110.1null2. 写出微操作命令的最简表达式= FE · T1 + IND ·T1 ( ADD + STA + LDA + JMP + BAN ) + EX ·T1 ( ADD +LDA )= T1{ FE + IND ( ADD + STA + LDA + JMP + BAN ) + EX ( ADD +LDA ) }10.1null3. 画出逻辑图特点 思路清晰,简单明了 庞杂,调试困难,修改困难 速度快FEINDEXLDAADDJMPBANSTAT1(RISC)10.110.2 微程序设计10.2 微程序设计一、微程序设计思想的产生1951 英国剑桥大学教授 Wilkes 完成 一条机器指令微操作命令 1微操作命令 2微操作命令 n…10100000微指令 n00010010存储逻辑一条机器指令对应一个微程序…存入 ROMnull二、微程序控制单元框图及工作原理1. 机器指令对应的微程序M+1MM+2P+1KK+2PP+2K+1…10.2null2. 微程序控制单元的基本框图顺序逻辑CMAR地址译码至 CPU 内部和系统总线的控制信号 10.2null二、微程序控制单元框图及工作原理M+1M+2P+1P+2K+1K+2MM转执行周期微程序…转取指周期微程序…10.2×××null3. 工作原理10.2null3. 工作原理(1) 取指阶段由 CMDR 发命令形成下条微指令地址由 CMDR 发命令由 CMDR 发命令M + 1M + 2形成下条微指令地址执行取指微程序10.2null(2) 执行阶段由 CMDR 发命令由 CMDR 发命令由 CMDR 发命令执行 LDA 微程序 形成下条微指令地址 P + 1形成下条微指令地址 P + 2形成下条微指令地址 M10.2null(3) 取指阶段由 CMDR 发命令全部微指令存在 CM 中,程序执行过程中 只需读出关键 微指令的 操作控制字段如何形成微操作命令 微指令的 后续地址如何形成执行取指微程序…10.2null三、微指令的编码方式(控制方式)1. 直接编码(直接控制)方式 在微指令的操作控制字段中, 每一位代表一个微操作命令速度最快某位为 “1” 表示该控制信号有效10.2null2. 字段直接编码方式将微指令的控制字段分成若干 “段”, 每段经译码后发出控制信号每个字段中的命令是 互斥 的缩短 了微指令 字长,增加 了译码 时间微程序执行速度较慢10.2显式编码null3. 字段间接编码方式4. 混合编码直接编码和字段编码(直接和间接)混合使用5. 其他10.2隐式编码null四、微指令序列地址的形成1. 微指令的 下地址字段 指出2. 根据机器指令的 操作码 形成3. 增量计数器4. 分支转移转移方式 指明判别条件转移地址 指明转移成功后的去向10.2null5. 通过测试网络6. 由硬件产生微程序入口地址第一条微指令地址 由专门 硬件 产生中断周期 由 硬件 产生 中断周期微程序首地址10.2null7. 后续微指令地址形成方式原理图地址 选择+ 1微程序入口10.2null五、微指令1. 水平型微指令如 直接编码、字段直接编码、字段间接编码、 直接和字段混合编码2. 垂直型微指令类似机器指令操作码 的方式一次能定义并执行多个并行操作由微操作码字段规定微指令的功能10.2null3. 两种微指令格式的比较(1) 水平型微指令比垂直型微指令 并行操作能力强 , 灵活性强(2) 水平型微指令执行一条机器指令所要的 微指令 数目少,速度快(3) 水平型微指令 用较短的微程序结构换取较长的 微指令结构(4) 水平型微指令与机器指令 差别大10.2null六、静态微程序设计和动态微程序设计静态 微程序无须改变,采用 ROM动态 通过 改变微指令 和 微程序 改变机器指令, 有利于仿真,采用 EPROM七、毫微程序设计1. 毫微程序设计的基本概念微程序设计 用 微程序解释机器指令毫微程序设计 用 毫微程序解释微程序毫微指令与微指令 的关系好比 微指令与机器指令 的关系10.2null2. 毫微程序控制存储器的基本组成10.2null八、串行微程序控制和并行微程序控制串行 微程序控制并行 微程序控制10.2null还需考虑 如何读出 这 3 条微指令 ?1. 写出对应机器指令的微操作及节拍安排假设 CPU 结构与组合逻辑相同(1) 取指阶段微操作分析T0T1T2九、微程序设计举例3 条微指令10.2null(2) 取指阶段的微操作及节拍安排考虑到需要 形成后续微指令的地址T0T1T2T3T4T510.2null(3) 执行阶段的微操作及节拍安排考虑到需形成后续微指令的地址取指微程序的入口地址 M 由微指令下地址字段指出• 非访存指令① CLA 指令T0T1② COM 指令T0T110.2null④ CSL 指令T0T1⑤ STP 指令T1T0③ SHR 指令T0T110.2null• 访存指令⑥ ADD 指令T0T1T2T3T4T5⑦ STA 指令T0T1T2T3T4T510.2null⑧ LDA 指令T0T1T2T3T4T510.2null全部微操作 20个微指令 38条• 转移类指令⑨ JMP 指令T0T1⑩ BAN 指令T0T110.2null2. 确定微指令格式(1) 微指令的编码方式(2) 后续微指令的地址形成方式采用直接控制由机器指令的操作码通过微地址形成部件形成由微指令的下地址字段直接给出(3) 微指令字长由 20 个微操作确定 操作控制字段 最少 20 位由 38 条微指令确定微指令的 下地址字段 为 6 位微指令字长 可取 20 + 6 = 26 位10.2null(4) 微指令字长的确定1 条18 条其中若用 Ad ( CMDR ) 直接送控存地址线则 省去了输至 CMAR 的时间,省去了 CMAR同理可省去 19 条微指令,2 个微操作 38 - 19 = 19 下地址字段最少取 5 位10.2 20 - 2 = 18 操作控制字段最少取 18 位null18 位考虑留有一定的余量取操作控制字段下地址字段5 位共 30 位(6) 定义微指令操作控制字段每一位的微操作10.2(5) 省去了 CMAR 的控制存储器null3. 编写微指令码点1116LDA12111ADD11004COM03CLA111011100 微指令 地址 (八进制) 微程序 名称微指令(二进制代码)操作控制字段下地址字段117取指022010.21
/
本文档为【第8章_CPU_的结构和功能】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索