计算机组成原理第8章CPU的结构和功能

上传人:hs****ma 文档编号:577872073 上传时间:2024-08-22 格式:PPT 页数:45 大小:845.60KB
返回 下载 相关 举报
计算机组成原理第8章CPU的结构和功能_第1页
第1页 / 共45页
计算机组成原理第8章CPU的结构和功能_第2页
第2页 / 共45页
计算机组成原理第8章CPU的结构和功能_第3页
第3页 / 共45页
计算机组成原理第8章CPU的结构和功能_第4页
第4页 / 共45页
计算机组成原理第8章CPU的结构和功能_第5页
第5页 / 共45页
点击查看更多>>
资源描述

《计算机组成原理第8章CPU的结构和功能》由会员分享,可在线阅读,更多相关《计算机组成原理第8章CPU的结构和功能(45页珍藏版)》请在金锄头文库上搜索。

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

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

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

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

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

6、.23. 具有间接寻址的指令周期具有间接寻址的指令周期4. 带有中断周期的指令周期带有中断周期的指令周期取指周期取指周期间址周期间址周期指令周期指令周期执行周期执行周期取指周期取指周期间址周期间址周期指令周期指令周期执行周期执行周期中断周期中断周期8.25. 指令周期流程指令周期流程取指周期取指周期执行周期执行周期有间址吗?有间址吗?有中断吗?有中断吗?间址周期间址周期中断周期中断周期是是是是否否否否8.26. CPU 工作周期的标志工作周期的标志CPU 访存有访存有 4 种性质种性质取取 指令指令取取 地址地址取取 操作数操作数存存 程序断点程序断点取指周期取指周期间址周期间址周期执行周期执

7、行周期中断周期中断周期FEDINDDINTDCLK1FE1IND1EX1INTEXDCPU 的的4个工作周期个工作周期8.21. 取指周期数据流取指周期数据流二、二、 指令周期的数据流指令周期的数据流MDRCUMARPCIR存储器存储器CPU地地址址总总线线数数据据总总线线控控制制总总线线IR+1 8.22. 间址周期数据流间址周期数据流MDRCUMARCPU地地址址总总线线数数据据总总线线控控制制总总线线PCIR存储器存储器MDR8.23. 执行周期数据流执行周期数据流4 . 中断周期数据流中断周期数据流不同指令的执行周期数据流不同不同指令的执行周期数据流不同MDRCUMARCPU地地址址总

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

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

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

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

12、指令 7指令指令 8指令指令 9 1 2 3 4 5 6 7 8 9 10 11 12 13 14t8.3指令指令 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 1

13、0 11 12 13 14t三、影响指令流水性能的因素三、影响指令流水性能的因素1. 访存冲突访存冲突解决办法解决办法 指令存储器和数据存储器分开指令存储器和数据存储器分开 指令预取技术指令预取技术 (适用于访存周期短的情况)(适用于访存周期短的情况)8.32. 相关问题相关问题程序的相近指令之间出现某种关联程序的相近指令之间出现某种关联使指令流水出现停顿使指令流水出现停顿 影响流水线效率影响流水线效率(1) 控制相关控制相关8.3WOEIFOCODIWOEIFODIFIFIDIFICOFIFOCODIFIWOEIFOCODIFIDIFOEIWOEIFOCOFIDICOWODIFICOFI指令

14、指令 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 是转移指令是转移指令BNE 指令必须等指令必须等CPX 指令的结果指令的结果才能判断出才能判断出是转移是转移还是顺序执行还是顺序执行LDA # 0LDX # 0INXCPX # NBNE MDIV # NSTA ANSADD X, DM(2) 数据相关数据相关几条相近的指令间,共用几条相近的指令间,共用 同一存储单元同一存储单元 或或 同一寄存器同一寄存器 时,时,会出现会出现 数据相关数据

15、相关ADD R1,R2如:如:SUB R1,R3采用采用 旁路技术旁路技术解决办法解决办法寄存器组寄存器组锁存器锁存器锁存器锁存器ALU8.3四、流水线的多发技术四、流水线的多发技术 1. 超标量技术超标量技术 每个时钟周期内可每个时钟周期内可 并发多条独立指令并发多条独立指令 不能调整不能调整 指令的指令的 执行顺序执行顺序配置多个功能部件配置多个功能部件 通过编译优化技术,把可并行执行的指令搭配起来通过编译优化技术,把可并行执行的指令搭配起来IF ID EX WR0 1 2 3 4 5 6 7 8 9 10 11 12 13t8.32. 超流水技术超流水技术 在在 一个时钟周期一个时钟周期

16、 内内 再分段再分段 ( 3 段)段) 不能调整不能调整 指令的指令的 执行顺序执行顺序在一个时钟周期内在一个时钟周期内 一个功能部件使用多次一个功能部件使用多次( 3 次)次)靠编译程序解决优化问题靠编译程序解决优化问题流水线速度是原来速度的流水线速度是原来速度的 3 倍倍IF ID EX WR0 1 2 3 4 5 6 7 8 9 10 11 12 13t8.33. 超长指令字超长指令字 采用采用 多个处理部件多个处理部件具有具有 多个操作码字段多个操作码字段 的的 超长指令字超长指令字(可达几百位)(可达几百位)由编译程序由编译程序 挖掘挖掘 出指令间出指令间 潜在潜在 的的 并行性并行

17、性,将将 多条多条 能能 并行操作并行操作 的指令组合成的指令组合成 一条一条IF ID EX WR0 1 2 3 4 5 6 7 8 9 10 11 12 13t8.3五、流水线结构五、流水线结构1. 指令流水线结构指令流水线结构完成一条指令分完成一条指令分 7 段段, 每段需一个时钟周期每段需一个时钟周期若若 流水线不出现断流流水线不出现断流1 个时钟周期出个时钟周期出 1 结果结果不采用流水技术不采用流水技术7 个时钟周期出个时钟周期出 1 结果结果理想情况下,理想情况下,7 级流水级流水 的速度是不采用流水技术的的速度是不采用流水技术的 7 倍倍地地址址形形成成部部件件指指令令译译码码

18、部部件件取取操操作作数数部部件件取取指指令令部部件件操操作作执执行行部部件件回回写写结结果果部部件件修修改改指指令令指指针针部部件件锁锁存存锁锁存存锁锁存存锁锁存存锁锁存存锁锁存存8.32. 运算流水线运算流水线完成完成 浮点加减浮点加减 运算运算 可分可分对阶对阶、尾数求和尾数求和、规格化规格化 三段三段分段原则分段原则 每段每段 操作时间操作时间 尽量尽量 一致一致锁锁存存器器对对阶阶功功能能部部件件第一段第一段尾尾数数加加部部件件锁锁存存器器第二段第二段规规格格化化部部件件锁锁存存器器第三段第三段8.38.4 中断系统中断系统一、概述一、概述1. 引起中断的各种因素引起中断的各种因素(1

19、) 人为设置的中断人为设置的中断(2) 程序性事故程序性事故如如 转管指令转管指令溢出、操作码不能识别、除法非法溢出、操作码不能识别、除法非法(5) 外部事件外部事件(4) I/O 设备设备(3) 硬件故障硬件故障用用 键盘中断键盘中断 现行程序现行程序转管指令转管指令管理程序管理程序2. 中断系统需解决的问题中断系统需解决的问题(1) 各中断源各中断源 如何如何 向向 CPU 提出请求提出请求 ?(2) 各中断源各中断源 同时同时 提出提出 请求请求 怎么办怎么办 ?(5) 如何如何 寻找入口地址寻找入口地址 ?(4) 如何如何 保护现场保护现场 ?(3) CPU 什么什么 条件条件、什么、

20、什么 时间时间、以什么以什么 方式方式 响应中断响应中断 ?(6) 如何如何 恢复现场恢复现场,如何,如何 返回返回 ?(7) 处理中断的过程中又处理中断的过程中又 出现新的中断出现新的中断 怎么办怎么办 ?硬件硬件 软件软件8.4二、中断请求标记和中断判优逻辑二、中断请求标记和中断判优逻辑1. 中断请求标记中断请求标记 INTR一个请求源一个请求源 一个一个 INTR 中断请求标记触发器中断请求标记触发器多个多个INTR 组成组成 中断请求标记寄存器中断请求标记寄存器INTR 分散分散 在各个中断源的在各个中断源的 接口电路中接口电路中INTR 集中集中 在在 CPU 的中断系统的中断系统

21、内内12345n掉掉电电过过热热阶阶上上溢溢内内存存读读写写校校验验错错非非法法除除法法键键盘盘打打印印机机8.42. 中断判优逻辑中断判优逻辑 分散分散 在各个中断源的在各个中断源的 接口电路中接口电路中 链式排队器链式排队器 集中集中 在在 CPU 内内(1) 硬件实现(排队器)硬件实现(排队器) 1 1 1 & 1 & 1 &参见参见 第五章第五章INTR1INTR2INTR3INTR4INTR1 、 INTR2 、 INTR3 、 INTR4 优先级优先级 按按 降序降序 排列排列 INTP1INTP2INTP3INTP48.4A、B、C 优先级按优先级按 降序降序 排列排列(2) 软

22、件实现(程序查询)软件实现(程序查询)否否是否是否 A 请求请求?是否是否 B 请求请求?是否是否 C 请求请求?转转 A 的服务程序的服务程序入口地址入口地址转转 B 的服务程序的服务程序入口地址入口地址转转 C 的服务程序的服务程序入口地址入口地址是是是是是是否否否否8.4三、中断服务程序入口地址的寻找三、中断服务程序入口地址的寻找1. 硬件向量法硬件向量法入口地址入口地址 200入口地址入口地址 300入口地址入口地址 40012 H13 H14 H主存主存12 H13 H14 HJMP 200JMP 300JMP 400主存主存向量地址向量地址形成部件形成部件中断向量中断向量排队器输出

23、排队器输出向量地址向量地址 12H、13H、14H入口地址入口地址 200、 300、 4008.42. 软件查询法软件查询法中断识别程序中断识别程序(入口地址(入口地址 M)地地 址址说说 明明指指 令令 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# D = 0 跳跳8# D = 1 转转8# 服务程序服务程序八个中断源八个中断源 1、2、 8 按按 降序降序 排列排列8.4 SKP DZ 1#1# D = 0 跳跳(D为

24、完成触发器)为完成触发器)四、中断响应四、中断响应1. 响应中断的响应中断的 条件条件允许中断触发器允许中断触发器 EINT = 12. 响应中断的响应中断的 时间时间指令执行周期结束时刻由指令执行周期结束时刻由CPU 发查询信号发查询信号 CPU中断查询中断查询INTR1DQINTR2DQINTRnDQ中断源中断源 1中断源中断源 2中断源中断源 n至排队器至排队器8.43. 中断隐指令中断隐指令(1) 保护程序断点保护程序断点(2) 寻找服务程序入口地址寻找服务程序入口地址(3) 硬件硬件 关中断关中断向量地址向量地址形成部件形成部件INTSQREINTSQRPC 1 &1排队器排队器断点

25、存于断点存于 特定地址特定地址( 0 号地址)号地址) 内内断点断点 进栈进栈INT 中断标记中断标记EINT 允许中断允许中断R S 触发器触发器8.4向量地址向量地址PC (硬件向量法)(硬件向量法)中断识别程序中断识别程序 入口地址入口地址 MPC (软件查询法)(软件查询法)五、保护现场和恢复现场五、保护现场和恢复现场1. 保护现场保护现场2. 恢复现场恢复现场寄存器寄存器 内容内容断点断点保护现场保护现场其他服务程序其他服务程序恢复现场恢复现场中断返回中断返回PUSH视不同请求源而定视不同请求源而定POP中断服务程序中断服务程序 完成完成中中断断服服务务程程序序中断隐指令中断隐指令

26、完成完成中断服务程序中断服务程序 完成完成8.4IRET1. 多重中断的概念多重中断的概念klmk +1l +1m +1第一次第一次 中断中断第二次第二次 中断中断第三次第三次 中断中断程序断点程序断点 k+1 , l+1 , m+1六、中断屏蔽技术六、中断屏蔽技术8.42. 实现多重中断的条件实现多重中断的条件B, CA中断中断请求请求主程序主程序(2) 优先级别高优先级别高 的中断源的中断源 有权中断优先级别低有权中断优先级别低 的中断源的中断源(1) 提前提前 设置设置 开中断开中断 指令指令ABCD中断服务程序中断服务程序( A、B、 C、 D 优先级按优先级按 降序降序 排列)排列)

27、D8.4 &3. 屏蔽技术屏蔽技术(1) 屏蔽触发器的作用屏蔽触发器的作用MASK = 0(未屏蔽)未屏蔽)INTR 能被置能被置 “1” 1 & & & 1 1 1 1INTP1INTP2INTP3INTP4INTR1INTR2INTR3INTR4MASK1MASK2MASK3MASK4DQ 1 DINTR MASKQCPU查询查询MASKi = 1 (屏蔽)屏蔽)INTPi = 0 (不能被排队选中)不能被排队选中)8.4(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

28、 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 按按 降序降序 排列排列8.4(3) 屏蔽技术可改变优先等级屏蔽技术可改变优先等级(4) 屏蔽技术的其他作用屏蔽技术的其他作用0 0 0 0 1 0 1 1 1 1

29、 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 6# 比比 5# 优先级高优先级高便于程序控制便于程序控制可以可以 人为地屏蔽人为地屏蔽 某个中断源的请求某个中断源的请求8.4(1) 断点进栈断点进栈(2) 断点存入断点存入“ 0 ” 地址地址中断隐指令中断隐指令 完成完成中断周期中断周期命令存储器写命令存储器写0 MARPC MDR(MDR) 存入存储器存入存储器三次中断,三个断点都存入三次中断,三个断点都存入 “ 0 ” 地址地址4. 多重中断的断点保护多重中断的断点保护断点断点 MDR?如何保证断点不丢失?如何保证断点不丢失?中断隐指令中断隐指令 完成完成8.4(3) 程序断点存入程序断点存入 “ 0 ” 地址的断点保护地址的断点保护 05JMP SERVE SAVE RETURNSTA SAVE0 地址内容转存地址内容转存其他服务内容其他服务内容地地 址址内内 容容说说 明明SERVELDA SAVEJMP RETURN存程序断点存程序断点5 为向量地址为向量地址保护现场保护现场恢复现场恢复现场间址返回间址返回存放存放 ACC 内容内容转存转存 0 地址内容地址内容开中断开中断ENILDA 0STA RETURN置屏蔽字置屏蔽字8.4

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号