《第八章 CPU的结构和功能.ppt》由会员分享,可在线阅读,更多相关《第八章 CPU的结构和功能.ppt(45页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第八章第八章 CPU结构和功能结构和功能教学目标:教学目标:掌握掌握CPU的结构;的结构;理解指令周期的概念;理解指令周期的概念;了解指令流水的概念;了解指令流水的概念;掌握中断系统的原理和过程;掌握中断系统的原理和过程;教学重点:教学重点:CPU的结构;的结构;指令周期数据流;指令周期数据流;中断系统;中断系统;第八章第八章 CPU结构和功能结构和功能8.1 CPU 的结构的结构8.3 指令流水指令流水8.2 指令周期指令周期8.4 中断系统中断系统8.1 CPU 的结构的结构一、一、CPU的功能的功能取指令取指令分析指令分析指令执行指令,发出各种操作命令执行指令,发出各种操作命令控制程序输
2、入及结果的输出控制程序输入及结果的输出总线管理总线管理处理异常情况和特殊请求处理异常情况和特殊请求1.控制器的功能控制器的功能2.运算器的功能运算器的功能实现算术运算和逻辑运算实现算术运算和逻辑运算指令控制指令控制操作控制操作控制时间控制时间控制数据加工数据加工处理中断处理中断PC IR指令控制指令控制操作控制操作控制时间控制时间控制数据加工数据加工处理中断处理中断ALU 寄存器寄存器中断系统中断系统1.使用系统总线的使用系统总线的CPUCU 时序电路时序电路寄存器寄存器ALU 中断中断 系统系统CUCPU控控制制总总线线数数据据总总线线地地址址总总线线二、二、CPU结构框图结构框图 算术和算
3、术和布尔逻辑布尔逻辑取反取反移位移位状态标志状态标志内内部部 数数据据总总线线CPU寄存器寄存器CU中断中断系统系统ALU控制信号控制信号2.CPU 的内部结构的内部结构1.用户可见寄存器用户可见寄存器(1)通用寄存器通用寄存器存放操作数存放操作数可作可作 某种寻址方式所需的某种寻址方式所需的 专用寄存器专用寄存器(2)数据寄存器数据寄存器存放操作数存放操作数(满足各种数据类型)(满足各种数据类型)两个寄存器拼接存放双倍字长数据两个寄存器拼接存放双倍字长数据(3)地址寄存器地址寄存器存放地址存放地址,其位数应满足最大的地址范围,其位数应满足最大的地址范围用于特殊的寻址方式用于特殊的寻址方式 段
4、基值段基值 栈指针栈指针(4)条件码寄存器条件码寄存器存放条件码存放条件码,可作程序分支的依据,可作程序分支的依据如如 正、负、零、溢出、进位等正、负、零、溢出、进位等三、三、CPU 的寄存器的寄存器(1)控制寄存器控制寄存器PC控制控制 CPU 操作操作(2)状态寄存器状态寄存器其中其中 MAR MDR IR 用户不可见用户不可见 PSW 寄存器寄存器程序状态字寄存器程序状态字寄存器 存放条件码等存放条件码等 PC 用户可见用户可见 3.举例举例Z8000 8086 MC 68000MARMMDRIR2.控制和状态寄存器控制和状态寄存器1.CU 产生全部指令的微操作命令序列产生全部指令的微操
5、作命令序列组合逻辑设计组合逻辑设计微程序设计微程序设计硬连线逻辑硬连线逻辑存储逻辑存储逻辑2.中断系统中断系统参见参见 第四篇第四篇 五、五、ALU参见参见 8.4参见参见 第六章第六章四、四、控制单元控制单元 CU 和中断系统和中断系统8.2 指令周期指令周期一、指令周期的基本概念一、指令周期的基本概念1 指令周期指令周期取出并执行一条指令所需的全部时间取出并执行一条指令所需的全部时间完成一条指令完成一条指令取指、分析取指、分析取指周期取指周期执行周期执行周期执行执行取指阶段取指阶段执行阶段执行阶段取指周期取指周期执行周期执行周期(取指、分析)(取指、分析)(执行指令)(执行指令)指令周期指
6、令周期2 每条指令的指令周期不同每条指令的指令周期不同取指取指周期周期指令周期指令周期NOP取指周期取指周期执行阶段执行阶段指令周期指令周期ADD mem取指周期取指周期执行周期执行周期指令周期指令周期MUL mem3 具有间接寻址的指令周期具有间接寻址的指令周期取指周期取指周期间址周期间址周期指令周期指令周期执行周期执行周期4 带有中断周期的指令周期带有中断周期的指令周期取指周期取指周期间址周期间址周期指令周期指令周期执行周期执行周期中断周期中断周期5 指令周期流程指令周期流程取指周期取指周期有间址吗?有间址吗?执行周期执行周期有中断吗?有中断吗?间址周期间址周期中断周期中断周期是是是是否否
7、否否6 CPU工作周期的标志工作周期的标志CPU访存有四种性质访存有四种性质取取 指令指令取取 地址地址取取 操作数操作数存存 程序断点程序断点取址周期取址周期间址周期间址周期执行周期执行周期中断周期中断周期CPU的四个工作周期的四个工作周期DFEDINDDEXDINTCLK1FE1IND1EX1INTIR二、指令周期的数据流二、指令周期的数据流1 取指周期数据流取指周期数据流PCMARCUMDRIR地地址址总总线线数数据据总总线线控控制制总总线线存储器存储器CPU+12 间址周期数据流间址周期数据流MARCU地地址址总总线线数数据据总总线线控控制制总总线线存储器存储器CPUMDRMDR3 执
8、行周期数据流执行周期数据流不同指令的执行周期数据流不同不同指令的执行周期数据流不同4 中断周期数据流中断周期数据流PCMARCUMDR地地址址总总线线数数据据总总线线控控制制总总线线存储器存储器CPU8.3 指令流水指令流水一、如何提高机器速度一、如何提高机器速度1 提高访存速度提高访存速度高速芯片高速芯片Cache多体并行多体并行2 提高提高I/O和主机之间的传送速度和主机之间的传送速度中断中断DMA通道通道多总线多总线I/O处理机处理机3 提高运算器速度提高运算器速度高速芯片高速芯片改进算法改进算法快速进位链快速进位链提高整机处理能力提高整机处理能力高速器件高速器件改进系统结构,开发系统的
9、并行性改进系统结构,开发系统的并行性二、系统的并行性二、系统的并行性1 并行的概念并行的概念并行并行并发并发同时同时两个或两个以上事件在两个或两个以上事件在同一时间段同一时间段发生发生两个或两个以上事件在两个或两个以上事件在同一时刻同一时刻发生发生时间上互相重叠时间上互相重叠2 并行性的等级并行性的等级过程级(程序、进程)过程级(程序、进程)指令级(指令之间指令级(指令之间)粗粒度粗粒度细粒度细粒度软件实现软件实现硬件实现硬件实现三、指令流水原理三、指令流水原理1 指令的串行执行指令的串行执行2 指令的二级流水指令的二级流水执行指令执行指令1取指令取指令1取指令取指令取指令部件取指令部件完成完
10、成执行指令执行指令执行指令部件执行指令部件完成完成总有一个部件总有一个部件空闲空闲取指令取指令1执行执行指令指令1执行执行指令指令2取取指令指令2执行指令执行指令3取取指令指令3指令预取指令预取若若 取指取指 和和 执行执行 阶段时间上阶段时间上 完全重叠完全重叠指令周期指令周期 减半减半速度提高速度提高1倍倍执行指令执行指令3取指令取指令3执行指令执行指令2取指令取指令23 影响指令流水效率加倍的因素影响指令流水效率加倍的因素(1)执行时间执行时间取指时间取指时间执行指令执行指令部件部件取指令取指令部件部件执行部件执行部件缓冲区缓冲区(2)条件转移指令条件转移指令 对指令流水的影响对指令流水
11、的影响必须等必须等 上条上条 指令执行结束,才能确定指令执行结束,才能确定 下条下条 指令的地址指令的地址造成时间损失造成时间损失猜测法猜测法解决办法?解决办法?4 指令的六级流水指令的六级流水123456789101112 13 14指令指令1指令指令2指令指令3指令指令4指令指令5指令指令6指令指令7指令指令8指令指令9tFIDICOFOEIWOFIDICOFOEIWOFIDICOFOEIWOFIDICOFOEIWOFIDICOFOEIWOFIDICOFOEIWOFIDICOFOEIWOFIDICOFOEIWOFIDICOFOEIWO完成完成 一条指令一条指令串行执行串行执行六级流水六级流
12、水6 个单位时间个单位时间14 个单位时间个单位时间54 单位时间单位时间三、影响指令流水性能的因素三、影响指令流水性能的因素123456789101112 13 14指令指令1指令指令2指令指令3指令指令4指令指令5指令指令6指令指令7指令指令8指令指令9tFIDICOFOEIWOFIDICOFOEIWOFIDICOFOEIWOFIDICOFOEIWOFIDICOFOEIWOFIDICOFOEIWOFIDICOFOEIWOFIDICOFOEIWOFIDICOFOEIWO1 结构相关结构相关-访存冲突访存冲突指令指令 1 与指令与指令 4 冲突冲突指令指令 2 与指令与指令 5 冲突冲突指令指
13、令1、指令、指令3、指令、指令6冲突冲突解决办法解决办法指令存储器和数据存储器分开指令存储器和数据存储器分开指令预取技术(适用于访存周期短的情况指令预取技术(适用于访存周期短的情况)2 数据相关数据相关几条相近的指令间,共用几条相近的指令间,共用 同一存储单元同一存储单元 或或 同一寄存器同一寄存器 时,时,会出现会出现 数据相关数据相关如:如:ADD R1,R2SUB R1,R3解决办法解决办法采用采用 旁路技术旁路技术寄存器组寄存器组锁存器锁存器锁存器锁存器ALU3 控制相关控制相关程序的相近指令之间出现某种关联程序的相近指令之间出现某种关联使指令流水出现停顿使指令流水出现停顿影响流水线效
14、率影响流水线效率3 控制相关控制相关LDA#0LDX#0ADD X,DINXCPX#NBNE MDIV#NSTA ANSBNE 指令必须等指令必须等CPX 指令必须等指令必须等才能判断出才能判断出是转移是转移还是顺序执行还是顺序执行M3 控制相关控制相关123456789101112 13 14指令指令1指令指令2指令指令3指令指令4指令指令5指令指令6指令指令7指令指令15指令指令16tFIDICOFOEIWOFIDICOFOEIWOFIDICOFOEIWOFIDICOFOFIDICOFIDIFIFIDICOFOEIWOFIDICOFOEIWO设设 指令指令3 是转移指令是转移指令转移损失转
15、移损失五、流水线结构五、流水线结构1 指令流水线结构指令流水线结构完成一条指令分完成一条指令分 7段段,每段需一个时钟周期,每段需一个时钟周期修修改改指指令令指指针针部部件件 回回写写结结果果部部件件 操操作作执执行行部部件件 取取操操作作数数部部件件 地地址址形形成成部部件件 指指令令译译码码部部件件 取取指指令令部部件件锁锁存存锁锁存存锁锁存存锁锁存存锁锁存存锁锁存存若若 流水线不出现断流流水线不出现断流不采用流水技术不采用流水技术理想情况下,理想情况下,7级流水级流水 的速度是不采用流水技术的的速度是不采用流水技术的 7倍倍1 个时钟周期出个时钟周期出 1 结果结果7 个时钟周期出个时钟
16、周期出 1 结果结果2 运算流水线运算流水线完成完成 浮点加减浮点加减 运算运算 可分可分对阶、尾数求和、规格化对阶、尾数求和、规格化 三段三段 锁锁存存器器 对对阶阶功功能能部部件件第一段第一段 锁锁存存器器 规规格格化化部部件件第三段第三段 锁锁存存器器 尾尾数数加加部部件件第二段第二段分段原则分段原则每段每段 操作时间操作时间 尽量尽量 一致一致8.4 中断系统中断系统一、概述一、概述1 引起中断的各种因素引起中断的各种因素(1)人为设置的中断)人为设置的中断如如 转管指令转管指令转管指令转管指令管理程序管理程序(2)程序性事故)程序性事故 溢出、操作码不能识别、除法非法溢出、操作码不能
17、识别、除法非法(3)硬件故障)硬件故障(4)I/O设备设备(5)外部事件)外部事件 用用 键盘中断键盘中断 现行程序现行程序2 中断系统需解决的问题中断系统需解决的问题(1)各中断源)各中断源 如何如何 向向CPU 提出请求提出请求?(2)各中断源)各中断源 同时同时 提出提出 请求请求 怎么办怎么办?(3)CPU什么什么 条件条件、什么、什么 时间时间、以什么、以什么 方式响应中断方式响应中断?(4)如何)如何 保护现场保护现场?(5)如何)如何 寻找入口地址寻找入口地址?(6)如何)如何 恢复现场,恢复现场,如何如何 返回返回?(7)处理中断的过程中又)处理中断的过程中又 出现新的中断出现
18、新的中断 怎么办?怎么办?硬件硬件+软件软件二、中断请求标记和中断判优逻辑二、中断请求标记和中断判优逻辑1 中断请求标记中断请求标记INTR一个请求源一个请求源一个一个INTR 中断请求标记触发器中断请求标记触发器多个多个INTR组成组成 中断请求标记寄存器中断请求标记寄存器12345n过过热热错错内内存存读读写写校校验验掉掉电电阶阶上上溢溢非非法法除除法法键键盘盘打打印印机机INTR分散分散 在各个中断源的在各个中断源的 接口电路中接口电路中INTR集中集中 在在 CPU 的中断系统的中断系统 内内2 中断判优逻辑中断判优逻辑(1)硬件实现(排队器)硬件实现(排队器)集中集中 在在 CPU
19、内内 分散分散 在各个中断源的在各个中断源的 接口电路中接口电路中链式排队器链式排队器参见第五章参见第五章INTP1INTP2INTP3INTP4111&1&1&INTR1INTR2INTR3INTR4INTR1、INTR2、INTR3、INTR4 优先级优先级 按按 降序降序 排列排列(2)软件实现(程序查询)软件实现(程序查询)A、B、C 优先级按优先级按 降序降序 排列排列是否是否 A 请求?请求?是否是否 B 请求?请求?是否是否 C 请求?请求?否否否否否否是是是是是是转转 A 的服务程序的服务程序入口地址入口地址转转 B 的服务程序的服务程序入口地址入口地址转转 C 的服务程序的服
20、务程序入口地址入口地址三、中断服务程序入口地址的寻找三、中断服务程序入口地址的寻找1 硬件向量法硬件向量法向量地址向量地址形成部件形成部件中断向量中断向量排队器输出排队器输出向量地址向量地址 12H、13H、14H入口地址入口地址 200、300、400JMP 200JMP 300JMP 40012H13H14H主存主存入口地址入口地址 20012H13H14H入口地址入口地址 300入口地址入口地址 400主存主存2 软件查询法软件查询法八个中断源八个中断源1、2、8按按 降序降序 排列排列中断识别程序中断识别程序(入口地址(入口地址 M)地地 址址指指 令令说说 明明SKP DZ1#1#D
21、=0 跳跳(D为完成触发器为完成触发器)JMP 1#SR1#D=1 转转1#服务程序服务程序SKP DZ2#JMP 2#SR2#D=0 跳跳2#D=1 转转2#服务程序服务程序SKP DZ8#JMP 8#SR8#D=0 跳跳8#D=1 转转8#服务程序服务程序M四、中断响应四、中断响应1 响应中断的响应中断的条件条件2 响应中断的响应中断的时间时间允许中断触发器允许中断触发器 EINT=1指令执行周期结束时刻由指令执行周期结束时刻由CPU发查询时刻发查询时刻INTR1QDINTR2QDINTRnQD中断源中断源1中断源中断源2中断源中断源n至排队器至排队器中断查询中断查询CPU3 中断隐指令中
22、断隐指令(1)保护程序断点)保护程序断点断点存于断点存于 特定地址特定地址(0号地址)内号地址)内(2)寻找服务程序入口地址)寻找服务程序入口地址特定地址特定地址PC(硬件向量法(硬件向量法)中断识别程序中断识别程序 入口地址入口地址MPC(软件查询法(软件查询法)断点断点 进栈进栈(3)硬件关中断)硬件关中断INTQSREINTQSR1&向量地址向量地址形成部件形成部件排队器排队器PCINT 中断标记中断标记EINT 允许中断允许中断R-S 触发器触发器五、保护现场和恢复现场五、保护现场和恢复现场1 保护现场保护现场断点断点寄存器寄存器 内容内容中断隐指令中断隐指令 完成完成中断服务程序中断
23、服务程序 完成完成2 恢复现场恢复现场中断服务程序中断服务程序 完成完成中中断断服服务务程程序序保护现场保护现场PUSH其他服务程序其他服务程序视不同请求源而定视不同请求源而定恢复现场恢复现场POP中断返回中断返回IRET六、中断屏蔽技术六、中断屏蔽技术1 多重中断的概念多重中断的概念2 实现多重中断的条件实现多重中断的条件(1)提前提前 设置设置 开中断开中断 指令指令(2)优先级别高优先级别高 的中断源的中断源 有权中断优先级别低的有权中断优先级别低的 的中断源的中断源ABCD中断服务程序中断服务程序(A、B、C、D优先级按优先级按 降序降序 排列)排列)主程序主程序中断中断请求请求B,C
24、DA3 屏蔽技术屏蔽技术(1)屏蔽触发器的作用屏蔽触发器的作用INTRDMASKQ1&DQCPU查询查询MASK=0(未屏蔽未屏蔽)INTR=1 能被置能被置“1”11111&INTP1INTP2INTP3INTP4INTR1INTR4INTR3INTR2MASK4MASK3MASK2MASK1MASKi=1(屏蔽)屏蔽)INTPi=0(不能被排队选中不能被排队选中)(2)屏蔽字)屏蔽字16个中断源按个中断源按1、2、316按按 降序降序 排列排列优先级优先级1234561516屏屏 蔽蔽 字字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
25、 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 0 10 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1(3)屏蔽技术可改变优先等级)屏蔽技术可改变优先等级P3690 0 0 0 1 1 1 1 1 1 1 1 1 1 1 10 0 0 0 1 0 1 1 1 1 1 1 1 1 1 16#比比5#优先级高优先级高(4)屏蔽技术的其他应用)屏蔽技术的其他应用可以可以 人为的屏蔽人为的屏蔽 某个中断源的请求某个中断源的请求便于程序控制便于程序控制4 多重中断的断点保护多重中断的断点保护(1)断点进栈)断点进栈(2)断点存入)断点存入“0”地址地址中断隐指令中断隐指令 完成完成中断隐指令中断隐指令 完成完成中断周期中断周期0MAR命令存储器写命令存储器写PCMDR断点断点MDR(MDR)存入存储器存入存储器三次中断,三个断点都存入三次中断,三个断点都存入“0”地址地址?如何保证断点不丢失?如何保证断点不丢失?
限制150内