《第8章 CPU结构和功能.ppt》由会员分享,可在线阅读,更多相关《第8章 CPU结构和功能.ppt(61页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第八章第八章CPUCPU结构和功能结构和功能 计算机组成原理计算机组成原理 主讲人:张瑞华主讲人:张瑞华 山东大学山东大学 计算机科学与技术学院计算机科学与技术学院作者:唐朔飞作者:唐朔飞高等教育出版社高等教育出版社计算机科学与技术学院计算机科学与技术学院2内容提要内容提要8.4 中断系统中断系统 8.3 指令流水指令流水(了解了解)8.2 指令指令周期周期 8.1 CPU的结构的结构 计算机科学与技术学院计算机科学与技术学院38.1 CPU 的结构 一、一、CPU 的功能的功能 取指令取指令分析指令分析指令执行指令,发出各种操作命令执行指令,发出各种操作命令控制程序输入及结果的输出控制程序输
2、入及结果的输出总线管理总线管理处理异常情况和特殊请求处理异常情况和特殊请求1.控制器的功能控制器的功能2.运算器的功能运算器的功能实现算术运算和逻辑运算实现算术运算和逻辑运算指令控制指令控制操作控制操作控制时间控制时间控制数据加工数据加工处理中断处理中断计算机科学与技术学院计算机科学与技术学院4二、二、CPU 结构框图结构框图PC IR指令控制指令控制操作控制操作控制时间控制时间控制数据加工数据加工处理中断处理中断ALU 寄存器寄存器中断系统中断系统1.CPU 与系统总线与系统总线CU 时序电路时序电路寄存器寄存器ALU 中断中断 系统系统CUCPU控控制制总总线线数数据据总总线线地地址址总总
3、线线8.1计算机科学与技术学院计算机科学与技术学院52.CPU 的内部结构的内部结构8.1 算术和算术和布尔逻辑布尔逻辑取反取反移位移位状态标志状态标志内内部部 数数据据总总线线寄存器寄存器CU中断中断系统系统ALU控制信号控制信号C P U计算机科学与技术学院计算机科学与技术学院61.用户可见寄存器用户可见寄存器(1)通用寄存器通用寄存器三、三、CPU 的寄存器的寄存器存放操作数存放操作数可作可作 某种寻址方式所需的某种寻址方式所需的 专用寄存器专用寄存器(2)数据寄存器数据寄存器存放操作数存放操作数(满足各种数据类型)(满足各种数据类型)两个寄存器拼接存放双倍字长数据两个寄存器拼接存放双倍
4、字长数据(3)地址寄存器地址寄存器存放地址存放地址,其位数应满足最大的地址范围,其位数应满足最大的地址范围用于特殊的寻址方式用于特殊的寻址方式 段基值段基值 栈指针栈指针(4)条件码寄存器条件码寄存器存放条件码存放条件码,可作程序分支的依据,可作程序分支的依据如如 正、负、零、溢出、进位等正、负、零、溢出、进位等8.1计算机科学与技术学院计算机科学与技术学院72.控制和状态寄存器控制和状态寄存器(1)控制寄存器控制寄存器PC控制控制 CPU 操作操作(2)状态寄存器状态寄存器状态寄存器状态寄存器其中其中 MAR、MDR、IR 用户不可见用户不可见 存放条件码存放条件码PSW 寄存器寄存器存放程
5、序状态字存放程序状态字 PC 用户可见用户可见 3.举例举例Z8000 8086 MC 68000MARMMDRIR8.1计算机科学与技术学院计算机科学与技术学院8四、四、控制单元控制单元 CU 和中断系统和中断系统 1.CU 产生全部指令的微操作命令序列产生全部指令的微操作命令序列组合逻辑设计组合逻辑设计微程序设计微程序设计硬连线逻辑硬连线逻辑存储逻辑存储逻辑2.中断系统中断系统参见参见 第篇第篇 五、五、ALU参见参见 8.4 节节参见参见 第章第章8.1计算机科学与技术学院计算机科学与技术学院9内容提要内容提要8.4 中断系统中断系统 8.3 指令流水指令流水 8.2 指令指令周期周期
6、8.1 CPU的结构的结构 计算机科学与技术学院计算机科学与技术学院108.2 指 令 周 期 一、一、指令周期的基本概念指令周期的基本概念1.指令周期指令周期取出并执行一条指令所需的全部时间取出并执行一条指令所需的全部时间完成一条指令完成一条指令执行执行取指、分析取指、分析取指阶段取指阶段取指周期取指周期执行阶段执行阶段执行周期执行周期(取指、分析)(取指、分析)(执行指令)(执行指令)指令周期指令周期取指周期取指周期执行周期执行周期计算机科学与技术学院计算机科学与技术学院112.每条指令的指令周期不同每条指令的指令周期不同取指周期取指周期指令周期指令周期取指周期取指周期 执行周期执行周期指
7、令周期指令周期NOPADD mem MUL mem8.2取指周期取指周期执行周期执行周期指令周期指令周期计算机科学与技术学院计算机科学与技术学院123.具有间接寻址的指令周期具有间接寻址的指令周期 4.带有中断周期的指令周期带有中断周期的指令周期取指周期取指周期间址周期间址周期指令周期指令周期执行周期执行周期取指周期取指周期间址周期间址周期指令周期指令周期执行周期执行周期中断周期中断周期8.2计算机科学与技术学院计算机科学与技术学院135.指令周期流程指令周期流程 取指周期取指周期执行周期执行周期有间址吗?有间址吗?有中断吗?有中断吗?间址周期间址周期中断周期中断周期是是是是否否否否8.2计算
8、机科学与技术学院计算机科学与技术学院146.CPU 工作周期的标志工作周期的标志 CPU 访存有四种性质访存有四种性质取取 指令指令取取 地址地址取取 操作数操作数存存 程序断点程序断点取指周期取指周期间址周期间址周期执行周期执行周期中断周期中断周期FEDINDDINTDCLK1FE1IND1EX1INTEXDCPU 的的4个工作周期个工作周期8.2计算机科学与技术学院计算机科学与技术学院151.取指周期数据流取指周期数据流二、二、指令周期的数据流指令周期的数据流MDRCUMARPCIR存储器存储器CPU地地址址总总线线数数据据总总线线控控制制总总线线IR+1 8.2计算机科学与技术学院计算机
9、科学与技术学院162.间址周期数据流间址周期数据流MDRCUMARCPU地地址址总总线线数数据据总总线线控控制制总总线线PCIR存储器存储器MDR8.2计算机科学与技术学院计算机科学与技术学院173.执行周期数据流执行周期数据流4.中断周期数据流中断周期数据流不同指令的执行周期数据流不同不同指令的执行周期数据流不同MDRCUMARCPU地地址址总总线线数数据据总总线线控控制制总总线线PC存储器存储器8.2计算机科学与技术学院计算机科学与技术学院18作业作业 l3703708.48.4计算机科学与技术学院计算机科学与技术学院19内容提要内容提要8.4 中断系统中断系统 8.3 指令流水指令流水
10、8.2 指令指令周期周期 8.1 CPU的结构的结构 计算机科学与技术学院计算机科学与技术学院208.3 指 令 流 水 一、如何提高机器速度一、如何提高机器速度1.提高访存速度提高访存速度2.提高提高 I/O 和主机之间的传送速度和主机之间的传送速度 提高整机处理能力提高整机处理能力高速芯片高速芯片Cache多体并行多体并行I/O 处理机处理机DMA多总线多总线通道通道高速器件高速器件改进系统结构改进系统结构,开发系统的并行性开发系统的并行性中断中断3.提高运算器速度提高运算器速度高速芯片高速芯片改进算法改进算法快速进位链快速进位链计算机科学与技术学院计算机科学与技术学院21二、系统的并行性
11、二、系统的并行性时间上互相重叠时间上互相重叠2.并行性的等级并行性的等级指令级(指令之间)指令级(指令之间)(指令内部)(指令内部)过程级(程序、进程)过程级(程序、进程)两个或两个以上事件在两个或两个以上事件在 同一时刻同一时刻 发生发生两个或两个以上事件在两个或两个以上事件在 同一时间段同一时间段 发生发生并行并行1.并行的概念并行的概念粗粒度粗粒度软件实现软件实现细粒度细粒度硬件实现硬件实现并发并发同时同时8.3计算机科学与技术学院计算机科学与技术学院22取指令取指令 3执行指令执行指令 3三、指令流水原理三、指令流水原理2.指令的二级流水指令的二级流水1.指令的串行执行指令的串行执行取
12、指令取指令 取指令部件取指令部件 完成完成总有一个部件总有一个部件 空闲空闲指令预取指令预取若若 取指取指 和和 执行执行 阶段时间上阶段时间上 完全重叠完全重叠指令周期指令周期 减半减半 速度提高速度提高 1 倍倍执行指令执行指令 执行指令部件执行指令部件 完成完成取指令取指令 1执行执行指令指令 1取取指令指令 2执行执行指令指令 2取取指令指令 3执行指令执行指令 3取指令取指令 2执行指令执行指令 2取指令取指令 1执行指令执行指令 18.3计算机科学与技术学院计算机科学与技术学院23 必须等必须等 上条上条 指令执行结束,才能确定指令执行结束,才能确定 下条下条 指令的地址,指令的地
13、址,造成时间损失造成时间损失3.影响指令流水效率加倍的因素影响指令流水效率加倍的因素(1)执行时间执行时间 取指时间取指时间(2)条件转移指令条件转移指令 对指令流水的影响对指令流水的影响 解决办法解决办法?取指令取指令部件部件指令部件指令部件缓冲区缓冲区执行指令执行指令部件部件猜测法猜测法8.3计算机科学与技术学院计算机科学与技术学院244.指令的六级流水指令的六级流水六级流水六级流水14 个时间单位个时间单位串行执行串行执行6 9 54个时间单位个时间单位完成完成 一条指令一条指令6 个时间单位个时间单位COFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIW
14、ODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFI指令指令 1指令指令 2指令指令 3指令指令 4指令指令 5指令指令 6指令指令 7指令指令 8指令指令 9 1 2 3 4 5 6 7 8 9 10 11 12 13 14t8.3计算机科学与技术学院计算机科学与技术学院25指令指令 1 与指令与指令 4 冲突冲突指令指令 2 与指令与指令 5 冲突冲突指令指令1、指令、指令3、指令、指令 6 冲突冲突COFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWOD
15、IFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFI指令指令 1指令指令 2指令指令 3指令指令 4指令指令 5指令指令 6指令指令 7指令指令 8指令指令 9 1 2 3 4 5 6 7 8 9 10 11 12 13 14t三、影响指令流水线性能的因素三、影响指令流水线性能的因素1.结构相关结构相关8.3不同指令争用同一功能部件产生资源冲突不同指令争用同一功能部件产生资源冲突程序的相近指令之间出现某种关联程序的相近指令之间出现某种关联使指令流水出现停顿,影响流水线效率使指令流水出现停顿,影响流水线效率解决办法解决办法 停顿停顿 指令存储器和
16、数据存储器分开指令存储器和数据存储器分开 指令预取技术指令预取技术(适用于访存周期短的情况)(适用于访存周期短的情况)计算机科学与技术学院计算机科学与技术学院262.数据相关数据相关不同指令因重叠操作,可能改变操作数的不同指令因重叠操作,可能改变操作数的 读读/写写 访问顺序访问顺序 采用采用 旁路技术旁路技术解决办法解决办法8.3 写后读相关(写后读相关(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
17、)R2 写后写相关(写后写相关(WAW)后推法后推法MUL R3,R2,R1SUB R3,R4,R5;(;(R2)(R1)R3;(;(R4)(R5)R3计算机科学与技术学院计算机科学与技术学院273.控制相关控制相关8.3BNE 指令必须等指令必须等CPX 指令的结果指令的结果才能判断出才能判断出是转移是转移还是顺序执行还是顺序执行LDA#0LDX#0INXCPX#NBNE MDIV#NSTA ANSADD X,DM由转移指令引起由转移指令引起计算机科学与技术学院计算机科学与技术学院283.控制相关控制相关8.3WOEIFOCODIWOEIFODIFIFIDIFICOFIFOCODIFIWOE
18、IFOCODIFIDIFOEIWOEIFOCOFIDICOWODIFICOFI指令指令 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 是转移指令是转移指令计算机科学与技术学院计算机科学与技术学院29四、流水线性能四、流水线性能 1.吞吐率吞吐率 单位时间内单位时间内 流水线所完成指令流水线所完成指令 或或 输出结果输出结果 的的 数量数量8.3 最大吞吐率最大吞吐率 实际吞吐率实际吞吐率 连续处理连续处理 n 条指令的吞吐率为条指令的吞吐率为
19、设设 m 段的流水线各段时间为段的流水线各段时间为t tTpmax=1t tTp=m +(n-1)nt tt t计算机科学与技术学院计算机科学与技术学院302.加速比加速比 Sp 8.3 m 段的段的 流水线的速度流水线的速度 与等功能的与等功能的 非流水线的速度非流水线的速度 之比之比 设流水线各段时间为设流水线各段时间为 t 完成完成 n 条指令在条指令在 m 段流水线上共需段流水线上共需 T=m +(n-1)t t 完成完成 n 条指令在等效的非流水线上共需条指令在等效的非流水线上共需 T=nmt Sp=m +(n-1)nm=nmm+n-1 t t t 则则计算机科学与技术学院计算机科学
20、与技术学院31由于流水线有由于流水线有 建立时间建立时间 和和 排空时间排空时间因此各功能段的因此各功能段的 设备不可能设备不可能 一直一直 处于处于 工作工作 状态状态 8.3流水线中各功能段的流水线中各功能段的 利用率利用率3.效率效率 mt31245312453124531245 n-1 nn-1 nn-1 nn-1 nT时间时间S空间空间空间空间S4S3S2S1(n-1)t计算机科学与技术学院计算机科学与技术学院328.3m(m+n-1)t =mnt 流水线各段处于工作时间的时空区流水线各段处于工作时间的时空区流水线中各段总的时空区流水线中各段总的时空区 效率效率=3.效率效率 mt3
21、1245312453124531245 n-1 nn-1 nn-1 nn-1 nT时间时间S空间空间空间空间S4S3S2S1(n-1)t流水线中各功能段的流水线中各功能段的 利用率利用率计算机科学与技术学院计算机科学与技术学院33五、流水线的多发技术五、流水线的多发技术 1.超标量技术超标量技术 每个时钟周期内可每个时钟周期内可 并发多条独立指令并发多条独立指令 不能调整不能调整 指令的指令的 执行顺序执行顺序配置多个功能部件配置多个功能部件 通过编译优化技术,把可并行执行的指令搭配起来通过编译优化技术,把可并行执行的指令搭配起来8.3IF ID EX WR0 1 2 3 4 5 6 7 8
22、9 10 11 12 13时钟时钟周期周期指令序列指令序列计算机科学与技术学院计算机科学与技术学院342.超流水线技术超流水线技术 在在 一个时钟周期一个时钟周期 内内 再分段再分段(3 段)段)不能调整不能调整 指令的指令的 执行顺序执行顺序在一个时钟周期内在一个时钟周期内 一个功能部件使用多次一个功能部件使用多次(3 次)次)靠编译程序解决优化问题靠编译程序解决优化问题流水线速度是原来速度的流水线速度是原来速度的 3 倍倍8.3IF ID EX WR0 1 2 3 4 5 6 7 8 9 10 11 12 13时钟周期时钟周期指令序列指令序列计算机科学与技术学院计算机科学与技术学院353.
23、超长指令字技术超长指令字技术 采用采用 多个处理部件多个处理部件具有具有 多个操作码字段多个操作码字段 的的 超长指令字超长指令字(可达几百位)(可达几百位)由编译程序由编译程序 挖掘挖掘 出指令间出指令间 潜在潜在 的的 并行性并行性,将将 多条多条 能能 并行操作并行操作 的指令组合成的指令组合成 一条一条8.3IF ID EX WR0 1 2 3 4 5 6 7 8 9 10 11 12 13时钟周期时钟周期指令序列指令序列计算机科学与技术学院计算机科学与技术学院36六、流水线结构六、流水线结构1.指令流水线结构指令流水线结构完成一条指令分完成一条指令分 7 段段,每段需一个时钟周期每段
24、需一个时钟周期若若 流水线不出现断流流水线不出现断流1 个时钟周期出个时钟周期出 1 结果结果不采用流水技术不采用流水技术7 个时钟周期出个时钟周期出 1 结果结果理想情况下,理想情况下,7 级流水级流水 的速度是不采用流水技术的的速度是不采用流水技术的 7 倍倍地地址址形形成成部部件件指指令令译译码码部部件件取取操操作作数数部部件件取取指指令令部部件件操操作作执执行行部部件件回回写写结结果果部部件件修修改改指指令令指指针针部部件件锁锁存存锁锁存存锁锁存存锁锁存存锁锁存存锁锁存存8.3计算机科学与技术学院计算机科学与技术学院372.运算流水线运算流水线完成完成 浮点加减浮点加减 运算运算 可分
25、可分对阶对阶、尾数求和尾数求和、规格化规格化 三段三段分段原则分段原则 每段每段 操作时间操作时间 尽量尽量 一致一致锁锁存存器器对对阶阶功功能能部部件件第一段第一段尾尾数数加加部部件件锁锁存存器器第二段第二段规规格格化化部部件件锁锁存存器器第三段第三段8.3计算机科学与技术学院计算机科学与技术学院38作业作业 l3703708.118.11、8.12 8.12 流水线流水线l问题:问题:指令流水线原理?指令流水线原理?什么是多发射技术?什么是多发射技术?多发技术有哪几种?多发技术有哪几种?计算机科学与技术学院计算机科学与技术学院39内容提要内容提要8.4 中断系统中断系统 8.3 指令流水指
26、令流水 8.2 指令指令周期周期 8.1 CPU的结构的结构 计算机科学与技术学院计算机科学与技术学院408.4 中断系统 一、概述一、概述1.引起中断的各种因素引起中断的各种因素(1)人为设置的中断人为设置的中断(2)程序性事故程序性事故如如 转管指令转管指令溢出、操作码不能识别、除法非法溢出、操作码不能识别、除法非法(5)外部事件外部事件(4)I/O 设备设备(3)硬件故障硬件故障用用 键盘中断键盘中断 现行程序现行程序转管指令转管指令管理程序管理程序计算机科学与技术学院计算机科学与技术学院412.中断系统需解决的问题中断系统需解决的问题(1)各中断源各中断源 如何如何 向向 CPU 提出
27、请求提出请求?(2)各中断源各中断源 同时同时 提出提出 请求请求 怎么办怎么办?(5)如何如何 寻找入口地址寻找入口地址?(4)如何如何 保护现场保护现场?(3)CPU 什么什么 条件条件、什么、什么 时间时间、以什么以什么 方式方式 响应中断响应中断?(6)如何如何 恢复现场恢复现场,如何,如何 返回返回?(7)处理中断的过程中又处理中断的过程中又 出现新的中断出现新的中断 怎么办怎么办?硬件硬件 软件软件8.4计算机科学与技术学院计算机科学与技术学院42二、中断请求标记和中断判优逻辑二、中断请求标记和中断判优逻辑1.中断请求标记中断请求标记 INTR一个请求源一个请求源 一个一个 INT
28、R 中断请求标记触发器中断请求标记触发器多个多个INTR 组成组成 中断请求标记寄存器中断请求标记寄存器INTR 分散分散 在各个中断源的在各个中断源的 接口电路中接口电路中INTR 集中集中 在在 CPU 的中断系统的中断系统 内内12345n掉掉电电过过热热阶阶上上溢溢主主存存读读写写校校验验错错非非法法除除法法键键盘盘输输入入打打印印机机输输出出8.4计算机科学与技术学院计算机科学与技术学院432.中断判优逻辑中断判优逻辑 分散分散 在各个中断源的在各个中断源的 接口电路中接口电路中 链式排队器链式排队器(1)硬件实现(排队器)硬件实现(排队器)参见参见 第五章第五章P196 8.4IN
29、TP1INTP2INTP3INTP4INTR1INTR2INTR3INTR4 1&1&1&1&INTR1设备设备 1#、2#、3#、4#优先级按优先级按 降序排列降序排列INTRi=1 有请求有请求 即即 INTRi=0计算机科学与技术学院计算机科学与技术学院442.中断判优逻辑中断判优逻辑 集中集中 在在 CPU 内内(1)硬件实现(排队器)硬件实现(排队器)1 1 1&1&1&INTR1INTR2INTR3INTR4INTR1、INTR2、INTR3、INTR4 优先级优先级 按按 降序降序 排列排列 INTP1INTP2INTP3INTP48.4计算机科学与技术学院计算机科学与技术学院4
30、5A、B、C 优先级按优先级按 降序降序 排列排列(2)软件实现(程序查询)软件实现(程序查询)否否是否是否 A 请求?请求?是否是否 B 请求?请求?是否是否 C 请求?请求?转转 A 的服务程序的服务程序入口地址入口地址转转 B 的服务程序的服务程序入口地址入口地址转转 C 的服务程序的服务程序入口地址入口地址是是是是是是否否否否8.4计算机科学与技术学院计算机科学与技术学院46三、中断服务程序入口地址的寻找三、中断服务程序入口地址的寻找 1.硬件向量法硬件向量法入口地址入口地址 200入口地址入口地址 300入口地址入口地址 40012 H13 H14 H主存主存12 H13 H14 H
31、JMP 200JMP 300JMP 400主存主存向量地址向量地址形成部件形成部件中断向量地址中断向量地址排队器输出排队器输出向量地址向量地址 12H、13H、14H入口地址入口地址 200、300、4008.4特点:速度快特点:速度快 现代计算机普遍采用现代计算机普遍采用 计算机科学与技术学院计算机科学与技术学院472.软件查询法软件查询法 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#服务程序服务程序八个中断源八个中断源
32、1,2,8 按按 降序降序 排列排列8.4 SKP DZ 1#1#D=0 跳跳(D为完成触发器)为完成触发器)中断识别程序中断识别程序(入口地址(入口地址 M)地地 址址说说 明明指指 令令计算机科学与技术学院计算机科学与技术学院48四、中断响应四、中断响应1.响应中断的响应中断的 条件条件允许中断触发器允许中断触发器 EINT=12.响应中断的响应中断的 时间时间指令执行周期结束时刻由指令执行周期结束时刻由CPU 发查询信号发查询信号 CPU中断查询中断查询INTR1DQINTR2DQINTRnDQ中断源中断源 1中断源中断源 2中断源中断源 n至排队器至排队器8.4计算机科学与技术学院计算
33、机科学与技术学院493.中断隐指令中断隐指令(1)保护程序断点保护程序断点(2)寻找服务程序入口地址寻找服务程序入口地址(3)硬件硬件 关中断关中断向量地址向量地址形成部件形成部件INTSQREINTSQRPC 1&1排队器排队器断点存于断点存于 特定地址特定地址(如如0 号地址)内号地址)内 或者或者 断点断点 进栈进栈INT 中断标记中断标记EINT 允许中断允许中断R S 触发器触发器8.4向量地址向量地址PC(硬件向量法)(硬件向量法)中断识别程序中断识别程序 入口地址入口地址 MPC(软件查询法)(软件查询法)计算机科学与技术学院计算机科学与技术学院50五、保护现场和恢复现场五、保护
34、现场和恢复现场1.保护现场保护现场2.恢复现场恢复现场寄存器寄存器 内容内容断点断点保护现场保护现场其它服务程序其它服务程序恢复现场恢复现场中断返回中断返回PUSH视不同请求源而定视不同请求源而定POP中断服务程序中断服务程序 完成完成中中断断服服务务程程序序中断隐指令中断隐指令 完成完成中断服务程序中断服务程序 完成完成8.4IRET计算机科学与技术学院计算机科学与技术学院511.多重中断的概念多重中断的概念klmk +1l +1m +1第一次第一次 中断中断第二次第二次 中断中断第三次第三次 中断中断程序断点程序断点 k+1,l+1,m+1六、中断屏蔽技术六、中断屏蔽技术 8.4计算机科学
35、与技术学院计算机科学与技术学院522.实现多重中断的条件实现多重中断的条件B、CA中断中断请求请求主程序主程序(2)优先级别高优先级别高 的中断源的中断源 有权中断优先级别低有权中断优先级别低 的中断源的中断源(1)提前提前 设置设置 开中断开中断 指令指令ABCD中断服务程序中断服务程序(A、B、C、D 优先级按优先级按 降序降序 排列)排列)D8.4计算机科学与技术学院计算机科学与技术学院53&3.屏蔽技术屏蔽技术(1)屏蔽触发器的作用屏蔽触发器的作用MASK=0(未屏蔽)未屏蔽)INTR 能被置能被置“1”&1 1 1 1INTP1INTP2INTP3INTP4INTR1INTR2INT
36、R3INTR4MASK1MASK2MASK3MASK4DQ 1 DINTR MASKQCPU查询查询MASKi=1(屏蔽)屏蔽)INTPi =0(不能被排队选中)不能被排队选中)8.41计算机科学与技术学院计算机科学与技术学院54(2)屏蔽字屏蔽字8.4优先级优先级屏屏 蔽蔽 字字 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
37、 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 按按 降序降序 排列排列计算机科学与技术学院计算机科学与技术学院55(3)屏蔽技术可改变处理优先等级屏蔽技术可改变处理优先等级响应优先级响应优先级响应优先级响应优先级 ABCD 降序排列降序排列 8.4不可改变不可改变处理优先级处理优先级可改变(通过重新设置屏蔽字)可改变(通过重新设置屏蔽字)中断源中断源原屏蔽字原屏蔽字新屏蔽字新屏蔽字A AB BC CD
38、D 1 1 1 11 1 1 10 1 1 10 1 1 10 0 1 10 0 1 10 0 0 1 0 0 0 1 1 1 1 11 1 1 10 1 0 00 1 0 00 1 1 00 1 1 00 1 1 1 0 1 1 1 处理优先级处理优先级 ADCB 降序排列降序排列计算机科学与技术学院计算机科学与技术学院56(3)屏蔽技术可改变处理优先等级屏蔽技术可改变处理优先等级8.4服务程序服务程序B处理完处理完C处理完处理完D处理完处理完A处理完处理完t主程序主程序A程序程序B程序程序C程序程序D程序程序A、B、C、D同时请求中断同时请求中断CPU 执行程序轨迹(原屏蔽字)执行程序轨迹
39、(原屏蔽字)计算机科学与技术学院计算机科学与技术学院57(3)屏蔽技术可改变处理优先等级屏蔽技术可改变处理优先等级(4)屏蔽技术的其他作用屏蔽技术的其他作用8.4便于程序控制便于程序控制可以可以 人为人为 屏蔽屏蔽 某个中断源的请求某个中断源的请求服务程序服务程序D处理完处理完C处理完处理完B处理完处理完A处理完处理完t主程序主程序A程序程序B程序程序C程序程序D程序程序A、B、C、D同时请求中断同时请求中断CPU 执行程序轨迹(新屏蔽字)执行程序轨迹(新屏蔽字)中断源中断源新屏蔽字新屏蔽字A AB BC CD D 1 1 1 11 1 1 10 1 0 00 1 0 00 1 1 00 1
40、1 00 1 1 1 0 1 1 1 计算机科学与技术学院计算机科学与技术学院588.4(5)新屏蔽字的设置新屏蔽字的设置 保护现场保护现场 置屏蔽字置屏蔽字 开中断开中断 中断服务中断服务 关中断关中断 恢复现场恢复现场 恢复屏蔽字恢复屏蔽字 开中断开中断 中断返回中断返回 置屏蔽字置屏蔽字 恢复屏蔽字恢复屏蔽字 关中断关中断 开中断开中断计算机科学与技术学院计算机科学与技术学院59(1)断点进栈断点进栈(2)断点存入断点存入“0”地址地址中断隐指令中断隐指令 完成完成中断周期中断周期命令存储器写命令存储器写0 MARPC MDR(MDR)存入存储器存入存储器三次中断,三个断点都存入三次中断
41、,三个断点都存入“0”地址地址4.多重中断的断点保护多重中断的断点保护断点断点 MDR?如何保证断点不丢失?如何保证断点不丢失?中断隐指令中断隐指令 完成完成8.4或者或者计算机科学与技术学院计算机科学与技术学院60(3)程序断点存入程序断点存入“0”地址的断点保护地址的断点保护 05JMP SERVE SAVE RETURNSTA SAVE0 地址内容转存地址内容转存其他服务内容其他服务内容SERVELDA SAVEJMP RETURN存程序断点存程序断点5 为向量地址为向量地址保护现场保护现场恢复现场恢复现场间址返回间址返回存放存放 ACC 内容内容转存转存 0 地址内容地址内容开中断开中断ENILDA 0STA RETURN置屏蔽字置屏蔽字8.4地地 址址内内 容容说说 明明计算机科学与技术学院计算机科学与技术学院61作业作业 l3703708.218.21、8.26 8.26 中断中断