计算机组成原理课件chap8-CPU 的结构与功能_第1页
计算机组成原理课件chap8-CPU 的结构与功能_第2页
计算机组成原理课件chap8-CPU 的结构与功能_第3页
计算机组成原理课件chap8-CPU 的结构与功能_第4页
计算机组成原理课件chap8-CPU 的结构与功能_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

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

文档简介

1、1第章 CPU 的结构和功能8.1 CPU 的结构的结构8.3 指令流水指令流水8.2 指令周期指令周期8.4 中断系统中断系统28.1 CPU 的结构一、一、 CPU 的功能的功能取指令取指令分析指令分析指令执行指令,发出各种操作命令执行指令,发出各种操作命令控制程序输入及结果的输出控制程序输入及结果的输出总线管理总线管理处理异常情况和特殊请求处理异常情况和特殊请求1. 控制器的功能控制器的功能2. 运算器的功能运算器的功能实现算术运算和逻辑运算实现算术运算和逻辑运算指令控制指令控制操作控制操作控制时间控制时间控制数据加工数据加工处理中断处理中断3二、二、CPU 结构框图结构框图PC IR指

2、令控制指令控制操作控制操作控制时间控制时间控制数据加工数据加工处理中断处理中断ALU 寄存器寄存器中断系统中断系统1. CPU 与系统总线与系统总线CU 时序电路时序电路寄存器寄存器ALU 中断中断 系统系统CUCPU控制总线控制总线数据总线数据总线地址总线地址总线42. CPU 的内部结构的内部结构 算术和算术和布尔逻辑布尔逻辑取反取反移位移位状态标志状态标志内部内部 数据总线数据总线寄存器寄存器CU中断中断系统系统ALU控制信号控制信号C P U51. 用户可见寄存器用户可见寄存器(1) 通用寄存器通用寄存器三、三、 CPU 的寄存器的寄存器存放操作数存放操作数可作可作 某种寻址方式所需的

3、某种寻址方式所需的 专用寄存器专用寄存器(2) 数据寄存器数据寄存器存放操作数存放操作数(满足各种数据类型)(满足各种数据类型)两个寄存器拼接存放双倍字长数据两个寄存器拼接存放双倍字长数据(3) 地址寄存器地址寄存器存放地址存放地址,其位数应满足最大的地址范围,其位数应满足最大的地址范围用于特殊的寻址方式用于特殊的寻址方式 段基值段基值 栈指针栈指针(4) 条件码寄存器条件码寄存器存放条件码存放条件码,可作程序分支的依据,可作程序分支的依据如如 正、负、零、溢出、进位等正、负、零、溢出、进位等62. 控制和状态寄存器控制和状态寄存器(1) 控制寄存器控制寄存器PC控制控制 CPU 操作操作(2

4、) 状态寄存器状态寄存器状态寄存器状态寄存器其中其中 MAR、MDR、IR 用户不可见用户不可见 存放条件码存放条件码PSW 寄存器寄存器存放程序状态字存放程序状态字 PC 用户可见用户可见 3. 举例举例Z8000 8086 MC 68000MARMMDRIR7四、四、 控制单元控制单元 CU 和中断系统和中断系统1. CU 产生全部指令的微操作命令序列产生全部指令的微操作命令序列组合逻辑设计组合逻辑设计微程序设计微程序设计硬连线逻辑硬连线逻辑存储逻辑存储逻辑2. 中断系统中断系统参见参见 第篇第篇 五、五、ALU参见参见 8.4 节节参见参见 第章第章88.2 指 令 周 期一、一、 指令

5、周期的基本概念指令周期的基本概念1 . 指令周期指令周期取出并执行一条指令所需的全部时间取出并执行一条指令所需的全部时间完成一条指令完成一条指令执行执行取指、分析取指、分析取指阶段取指阶段取指周期取指周期执行阶段执行阶段执行周期执行周期(取指、分析)(取指、分析)(执行指令)(执行指令)指令周期指令周期取指周期取指周期执行周期执行周期92. 每条指令的指令周期不同每条指令的指令周期不同取指周期取指周期指令周期指令周期取指周期取指周期 执行周期执行周期指令周期指令周期NOPADD mem MUL mem取指周期取指周期执行周期执行周期指令周期指令周期103. 具有间接寻址的指令周期具有间接寻址的

6、指令周期4. 带有中断周期的指令周期带有中断周期的指令周期取指周期取指周期间址周期间址周期指令周期指令周期执行周期执行周期取指周期取指周期间址周期间址周期指令周期指令周期执行周期执行周期中断周期中断周期115. 指令周期流程指令周期流程取指周期取指周期执行周期执行周期有间址吗?有间址吗?有中断吗?有中断吗?间址周期间址周期中断周期中断周期是是是是否否否否126. CPU 工作周期的标志工作周期的标志CPU 访存有四种性质访存有四种性质取取 指令指令取取 地址地址取取 操作数操作数存存 程序断点程序断点取指周期取指周期间址周期间址周期执行周期执行周期中断周期中断周期FEDINDDINTDCLK1

7、FE1IND1EX1INTEXDCPU 的的4个工作周期个工作周期131. 取指周期数据流取指周期数据流二、二、 指令周期的数据流指令周期的数据流MDRCUMARPCIR存储器存储器CPU地址总线地址总线数据总线数据总线控制总线控制总线IR+1 142. 间址周期数据流间址周期数据流MDRCUMARCPU地址总线地址总线数据总线数据总线控制总线控制总线PCIR存储器存储器MDR153. 执行周期数据流执行周期数据流4 . 中断周期数据流中断周期数据流不同指令的执行周期数据流不同不同指令的执行周期数据流不同MDRCUMARCPU地址总线地址总线数据总线数据总线控制总线控制总线PC存储器存储器16

8、8.3 指 令 流 水一、如何提高机器速度一、如何提高机器速度1. 提高访存速度提高访存速度2. 提高提高 I/O 和主机之间的传送速度和主机之间的传送速度 提高整机处理能力提高整机处理能力高速芯片高速芯片Cache多体并行多体并行I/O 处理机处理机DMA多总线多总线通道通道高速器件高速器件改进系统结构改进系统结构 ,开发系统的并行性开发系统的并行性中断中断3. 提高运算器速度提高运算器速度高速芯片高速芯片改进算法改进算法快速进位链快速进位链17二、系统的并行性二、系统的并行性时间上互相重叠时间上互相重叠2. 并行性的等级并行性的等级指令级(指令之间)指令级(指令之间)(指令内部)(指令内部

9、)过程级(程序、进程)过程级(程序、进程)两个或两个以上事件在两个或两个以上事件在 同一时刻同一时刻 发生发生两个或两个以上事件在两个或两个以上事件在 同一时间段同一时间段 发生发生并行并行1. 并行的概念并行的概念粗粒度粗粒度软件实现软件实现细粒度细粒度硬件实现硬件实现并发并发同时同时18取指令取指令 3执行指令执行指令 3三、指令流水原理三、指令流水原理2. 指令的二级流水指令的二级流水1. 指令的串行执行指令的串行执行取指令取指令 取指令部件取指令部件 完成完成总有一个部件总有一个部件 空闲空闲指令预取指令预取若若 取指取指 和和 执行执行 阶段时间上阶段时间上 完全重叠完全重叠指令周期

10、指令周期 减半减半 速度提高速度提高 1 倍倍执行指令执行指令 执行指令部件执行指令部件 完成完成取指令取指令 1执行执行指令指令 1取取指令指令 2执行执行指令指令 2取取指令指令 3执行指令执行指令 3取指令取指令 2执行指令执行指令 2取指令取指令 1执行指令执行指令 119 必须等必须等 上条上条 指令执行结束,才能确定指令执行结束,才能确定 下条下条 指令的地址,指令的地址, 造成时间损失造成时间损失3. 影响指令流水效率加倍的因素影响指令流水效率加倍的因素(1) 执行时间执行时间 取指时间取指时间 (2) 条件转移指令条件转移指令 对指令流水的影响对指令流水的影响 解决办法解决办法

11、 ?取指令取指令部件部件指令部件指令部件缓冲区缓冲区执行指令执行指令部件部件猜测法猜测法204. 指令的六级流水指令的六级流水六级流水六级流水14 个时间单位个时间单位串行执行串行执行6 9 54个时间单位个时间单位完成完成 一条指令一条指令6 个时间单位个时间单位COFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFI指令指令 1指令指令 2指令指令 3指令指令 4指令指令 5指令指令 6指令指令 7指令指令 8指令指令 9 1 2

12、3 4 5 6 7 8 9 10 11 12 13 14t21指令指令 1 与指令与指令 4 冲突冲突指令指令 2 与指令与指令 5 冲突冲突指令指令1、指令、指令3、指令、指令 6 冲突冲突COFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFI指令指令 1指令指令 2指令指令 3指令指令 4指令指令 5指令指令 6指令指令 7指令指令 8指令指令 9 1 2 3 4 5 6 7 8 9 10 11 12 13 14t三、影响指令流水

13、线性能的因素三、影响指令流水线性能的因素1. 结构相关结构相关不同指令争用同一功能部件产生资源冲突不同指令争用同一功能部件产生资源冲突程序的相近指令之间出现某种关联程序的相近指令之间出现某种关联使指令流水出现停顿,影响流水线效率使指令流水出现停顿,影响流水线效率解决办法解决办法 停顿停顿 指令存储器和数据存储器分开指令存储器和数据存储器分开 指令预取技术指令预取技术 (适用于访存周期短的情况)(适用于访存周期短的情况)222. 数据相关数据相关不同指令因重叠操作,可能改变操作数的不同指令因重叠操作,可能改变操作数的 读读/写写 访问顺序访问顺序 采用采用 旁路技术旁路技术解决办法解决办法 写后

14、读相关(写后读相关(RAW)SUB R1,R2,R3ADD R4,R5,R1;(;(R2) (R3) R1;(;(R5)+(R1) R4 读后写相关(读后写相关(WAR)STA M,R2ADD R2,R4,R5;(;(R2) M 存储单元存储单元;(;(R4)+(R5) R2 写后写相关(写后写相关(WAW) 后推法后推法MUL R3,R2,R1SUB R3,R4,R5;(;(R2) (R1) R3;(;(R4) (R5) R3233. 控制相关控制相关BNE 指令必须等指令必须等CPX 指令的结果指令的结果才能判断出才能判断出是转移是转移还是顺序执行还是顺序执行LDA # 0LDX # 0I

15、NXCPX # NBNE MDIV # NSTA ANSADD X, DM由转移指令引起由转移指令引起243. 控制相关控制相关WOEIFOCODIWOEIFODIFIFIDIFICOFIFOCODIFIWOEIFOCODIFIDIFOEIWOEIFOCOFIDICOWODIFICOFI指令指令 1指令指令 2指令指令 3指令指令 4指令指令 5指令指令 6指令指令 7指令指令15指令指令16 1 2 3 4 5 6 7 8 9 10 11 12 13 14转移损失转移损失t设设 指令指令3 是转移指令是转移指令25四、流水线性能四、流水线性能 1. 吞吐率吞吐率 单位时间内单位时间内 流水线

16、所完成指令流水线所完成指令 或或 输出结果输出结果 的的 数量数量 最大吞吐率最大吞吐率 实际吞吐率实际吞吐率 连续处理连续处理 n 条指令的吞吐率为条指令的吞吐率为设设 m 段的流水线各段时间为段的流水线各段时间为t tTpmax =1t tTp =m + (n-1) nt tt t262. 加速比加速比 Sp m 段的段的 流水线的速度流水线的速度 与等功能的与等功能的 非流水线的速度非流水线的速度 之比之比 设流水线各段时间为设流水线各段时间为 t 完成完成 n 条指令在条指令在 m 段流水线上共需段流水线上共需 T = m + (n-1) t t 完成完成 n 条指令在等效的非流水线上

17、共需条指令在等效的非流水线上共需 T = nmt Sp = m +(n-1) nm =nmm + n -1 t t t 则则27由于流水线有由于流水线有 建立时间建立时间 和和 排空时间排空时间因此各功能段的因此各功能段的 设备不可能设备不可能 一直一直 处于处于 工作工作 状态状态 流水线中各功能段的流水线中各功能段的 利用率利用率3. 效率效率 mt31245312453124531245 n-1 nn-1 nn-1 nn-1 nT时间时间S空间空间空间空间S4S3S2S1(n-1) t28m(m + n -1) t = mnt 流水线各段处于工作时间的时空区流水线各段处于工作时间的时空区

18、流水线中各段总的时空区流水线中各段总的时空区 效率效率 = 3. 效率效率 mt31245312453124531245 n-1 nn-1 nn-1 nn-1 nT时间时间S空间空间空间空间S4S3S2S1(n-1) t流水线中各功能段的流水线中各功能段的 利用率利用率29五、流水线的多发技术五、流水线的多发技术 1. 超标量技术超标量技术 每个时钟周期内可每个时钟周期内可 并发多条独立指令并发多条独立指令 不能调整不能调整 指令的指令的 执行顺序执行顺序配置多个功能部件配置多个功能部件 通过编译优化技术,把可并行执行的指令搭配起来通过编译优化技术,把可并行执行的指令搭配起来IF ID EX

19、WR0 1 2 3 4 5 6 7 8 9 10 11 12 13时钟时钟周期周期指令序列指令序列302. 超流水线技术超流水线技术 在在 一个时钟周期一个时钟周期 内内 再分段再分段 ( 3 段)段) 不能调整不能调整 指令的指令的 执行顺序执行顺序在一个时钟周期内在一个时钟周期内 一个功能部件使用多次一个功能部件使用多次( 3 次)次)靠编译程序解决优化问题靠编译程序解决优化问题流水线速度是原来速度的流水线速度是原来速度的 3 倍倍IF ID EX WR0 1 2 3 4 5 6 7 8 9 10 11 12 13时钟周期时钟周期指令序列指令序列313. 超长指令字技术超长指令字技术 采用

20、采用 多个处理部件多个处理部件具有具有 多个操作码字段多个操作码字段 的的 超长指令字超长指令字(可达几百位)(可达几百位) 由编译程序由编译程序 挖掘挖掘 出指令间出指令间 潜在潜在 的的 并行性并行性,将将 多条多条 能能 并行操作并行操作 的指令组合成的指令组合成 一条一条IF ID EX WR0 1 2 3 4 5 6 7 8 9 10 11 12 13时钟周期时钟周期指令序列指令序列32六、流水线结构六、流水线结构1. 指令流水线结构指令流水线结构完成一条指令分完成一条指令分 7 段段, 每段需一个时钟周期每段需一个时钟周期若若 流水线不出现断流流水线不出现断流1 个时钟周期出个时钟

21、周期出 1 结果结果不采用流水技术不采用流水技术7 个时钟周期出个时钟周期出 1 结果结果理想情况下,理想情况下,7 级流水级流水 的速度是不采用流水技术的的速度是不采用流水技术的 7 倍倍地址形成部件地址形成部件指令译码部件指令译码部件取操作数部件取操作数部件取指令部件取指令部件操作执行部件操作执行部件回写结果部件回写结果部件修改指令指针部件修改指令指针部件锁存锁存锁存锁存锁存锁存锁存锁存锁存锁存锁存锁存332. 运算流水线运算流水线完成完成 浮点加减浮点加减 运算运算 可分可分对阶对阶、尾数求和尾数求和、规格化规格化 三段三段分段原则分段原则 每段每段 操作时间操作时间 尽量尽量 一致一致

22、锁存器锁存器对阶功能部件对阶功能部件第一段第一段尾数加部件尾数加部件锁存器锁存器第二段第二段规格化部件规格化部件锁存器锁存器第三段第三段348.4 中断系统一、概述一、概述1. 引起中断的各种因素引起中断的各种因素(1) 人为设置的中断人为设置的中断(2) 程序性事故程序性事故如如 转管指令转管指令溢出、操作码不能识别、除法非法溢出、操作码不能识别、除法非法(5) 外部事件外部事件(4) I/O 设备设备(3) 硬件故障硬件故障用用 键盘中断键盘中断 现行程序现行程序转管指令转管指令管理程序管理程序352. 中断系统需解决的问题中断系统需解决的问题(1) 各中断源各中断源 如何如何 向向 CP

23、U 提出请求提出请求 ?(2) 各中断源各中断源 同时同时 提出提出 请求请求 怎么办怎么办 ?(5) 如何如何 寻找入口地址寻找入口地址 ?(4) 如何如何 保护现场保护现场 ?(3) CPU 什么什么 条件条件、什么、什么 时间时间、以什么以什么 方式方式 响应中断响应中断 ?(6) 如何如何 恢复现场恢复现场,如何,如何 返回返回 ?(7) 处理中断的过程中又处理中断的过程中又 出现新的中断出现新的中断 怎么办怎么办 ?硬件硬件 软件软件36二、中断请求标记和中断判优逻辑二、中断请求标记和中断判优逻辑1. 中断请求标记中断请求标记 INTR一个请求源一个请求源 一个一个 INTR 中断请

24、求标记触发器中断请求标记触发器多个多个INTR 组成组成 中断请求标记寄存器中断请求标记寄存器INTR 分散分散 在各个中断源的在各个中断源的 接口电路中接口电路中INTR 集中集中 在在 CPU 的中断系统的中断系统 内内12345n掉电掉电过热过热阶上溢阶上溢主存读写校验错主存读写校验错非法除法非法除法键盘输入键盘输入打印机输出打印机输出372. 中断判优逻辑中断判优逻辑 分散分散 在各个中断源的在各个中断源的 接口电路中接口电路中 链式排队器链式排队器 集中集中 在在 CPU 内内(1) 硬件实现(排队器)硬件实现(排队器) 1 1 1 & 1 & 1 &参见参见

25、 第五章第五章INTR1INTR2INTR3INTR4INTR1 、 INTR2 、 INTR3 、 INTR4 优先级优先级 按按 降序降序 排列排列 INTP1INTP2INTP3INTP438A、B、C 优先级按优先级按 降序降序 排列排列(2) 软件实现(程序查询)软件实现(程序查询)否否是否是否 A 请求?请求?是否是否 B 请求?请求?是否是否 C 请求?请求?转转 A 的服务程序的服务程序入口地址入口地址转转 B 的服务程序的服务程序入口地址入口地址转转 C 的服务程序的服务程序入口地址入口地址是是是是是是否否否否39三、中断服务程序入口地址的寻找三、中断服务程序入口地址的寻找1

26、. 硬件向量法硬件向量法入口地址入口地址 200入口地址入口地址 300入口地址入口地址 40012 H13 H14 H主存主存12 H13 H14 HJMP 200JMP 300JMP 400主存主存向量地址向量地址形成部件形成部件中断向量中断向量排队器输出排队器输出向量地址向量地址 12H、13H、14H入口地址入口地址 200、 300、 400402. 软件查询法软件查询法 M JMP 1# SR1# D = 1 转转1# 服务程序服务程序 SKP DZ 2# JMP 2# SR2# D = 0 跳跳2# D = 1 转转2# 服务程序服务程序 SKP DZ 8# JMP 8# SR8

27、# D = 0 跳跳8# D = 1 转转8# 服务程序服务程序八个中断源八个中断源 1,2, 8 按按 降序降序 排列排列 SKP DZ 1#1# D = 0 跳跳(D为完成触发器)为完成触发器)中断识别程序中断识别程序(入口地址(入口地址 M)地地 址址说说 明明指指 令令41四、中断响应四、中断响应1. 响应中断的响应中断的 条件条件允许中断触发器允许中断触发器 EINT = 12. 响应中断的响应中断的 时间时间指令执行周期结束时刻由指令执行周期结束时刻由CPU 发查询信号发查询信号 CPU中断查询中断查询INTR1DQINTR2DQINTRnDQ中断源中断源 1中断源中断源 2中断源

28、中断源 n至排队器至排队器423. 中断隐指令中断隐指令(1) 保护程序断点保护程序断点(2) 寻找服务程序入口地址寻找服务程序入口地址(3) 硬件硬件 关中断关中断向量地址向量地址形成部件形成部件INTSQREINTSQRPC 1 &1排队器排队器断点存于断点存于 特定地址特定地址( 0 号地址)号地址) 内内断点断点 进栈进栈INT 中断标记中断标记EINT 允许中断允许中断R S 触发器触发器向量地址向量地址PC (硬件向量法)(硬件向量法)中断识别程序中断识别程序 入口地址入口地址MPC(软件查询法)(软件查询法)43五、保护现场和恢复现场五、保护现场和恢复现场1. 保护现场保

29、护现场2. 恢复现场恢复现场寄存器寄存器 内容内容断点断点保护现场保护现场其它服务程序其它服务程序恢复现场恢复现场中断返回中断返回PUSH视不同请求源而定视不同请求源而定POP中断服务程序中断服务程序 完成完成中中断断服服务务程程序序中断隐指令中断隐指令 完成完成中断服务程序中断服务程序 完成完成IRET441. 多重中断的概念多重中断的概念klmk +1l +1m +1第一次第一次 中断中断第二次第二次 中断中断第三次第三次 中断中断程序断点程序断点 k+1 , l+1 , m+1六、中断屏蔽技术六、中断屏蔽技术452. 实现多重中断的条件实现多重中断的条件B、CA中断中断请求请求主程序主程

30、序(2) 优先级别高优先级别高 的中断源的中断源 有权中断优先级别低有权中断优先级别低 的中断源的中断源(1) 提前提前 设置设置 开中断开中断 指令指令ABCD中断服务程序中断服务程序( A、B、 C、 D 优先级按优先级按 降序降序 排列)排列)D46 &3. 屏蔽技术屏蔽技术(1) 屏蔽触发器的作用屏蔽触发器的作用MASK = 0(未屏蔽)未屏蔽)INTR 能被置能被置 “1” & & & & 1 1 1 1INTP1INTP2INTP3INTP4INTR1INTR2INTR3INTR4MASK1MASK2MASK3MASK4DQ 1 DINTR

31、MASKQCPU查询查询MASKi = 1 (屏蔽)屏蔽)INTPi = 0 (不能被排队选中)不能被排队选中)47(2) 屏蔽字屏蔽字优先级优先级屏屏 蔽蔽 字字 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 10 1 1 1 1 1 1 1 1 1 1 1 1 1 1 10 0 1 1 1 1 1 1 1 1 1 1 1 1 1 10 0 0 1 1 1 1 1 1 1 1 1 1 1 1 10 0 0 0 1 1 1 1 1 1 1 1 1 1 1 10 0 0 0 0 1 1 1 1 1 1 1 1 1 1 10 0 0 0 0 0 0 0 0 0 0 0 0 0 1 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1123456151616个中断源个中断源 1,2,3 , 16 按按 降序降序 排列排列48(3) 屏蔽技术可改变处理优先等级屏蔽技术可改变处理优先等级响应优先级响应优先级响应优先级响应优先级 ABCD 降序排列降序排列 不可改变不可改变处理优先级处理优先级可改变(通过

温馨提示

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

评论

0/150

提交评论