计算机组成原理第八章 第3讲 程序中断方式

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

8.3.1中断的概念、功能
中断源:能够向CPU发出中断请求的事件。 常见中断源有:
输入、输出设备中断。如键盘、打印机等工作过程中已做好 接收或发送准备。
数据通道中断。如磁盘、磁带等要同主机进行数据交换等。 实时时钟中断。 故障中断。例如电源掉电、设备故障等要求CPU进行紧急处
8.3.4多级中断
8.3.4多级中断
• 多级中断源的识别
中断优先排队电路 中断向量产生电路
举例
例1、参见图8.9所示的二维中断系统。请 问: (1)在中断情况下,CPU和设备的优先 级如何考虑?请按降序排列各设备的中断优 先级。
答:在中断情况下,CPU的优先级最低。 各设备的优先次序是: A→B→C→D→E→F→G→H→I→CPU。
答:不能,因为共用IM。 通过设置允许中断触发器为0,禁止该设备发
出中断,对其屏蔽。
(4)假如设备C一提出中断请求,CPU立即 进行响应,如何调整才能满足此要求?
答:增加更高一级(第3级)的中断请求逻 辑,将C单独放置于第3级中。
例2(略):参见例1所示的系统,只考虑A,B, C三个设备组成的单级中断结构,它要求CPU在 执行完当前指令时对中断请求进行服务。假设: (1)CPU“中断批准”机构在响应一个新的中断之 前,先要让被中断的程序的一条指令一定要执行 完毕;(2)TDC为查询链中每个设备的延迟时间; (3)TA,TB,TC分别为设备A,B,C的服务程序 所需的执行时间; (4)TS,TR为保存现场和恢复 现场所需的时间;(5)主存工作周期为TM。 试问: 就这个中断请求环境来说,系统在什么情况下达 到中断饱和?
• ②特殊屏蔽方式,允许CPU让来自低优先级的外设中 断请求去中断高优先级的服务程序。当8位屏蔽位的某 位置“0”时,例如屏蔽字为11001111,说明IR 4和 IR 5线上的中断请求可中断任何高级别的中断服务程 序。
8259中断控制器的不同工作方式是通过编程来实 现的。CPU送出一系列的初始化控制字和操作控 制字来执行选定的操作。
(2)若CPU现执行设备B的中断服务程序, IM2,IM1,IM0的状态是什么?如果CPU 执行设 备D的中断服务程序,IM2,IM1, IM0的状态又是什么?
答:当前执行B的中断: IM2,IM1,IM0为111 当前执行D的中断: IM2,IM1,IM0为011
(3)每一级的IM能否对某个优先级的个别设 备单独进行屏蔽?如果不能,采取什么办法 可达到目的?
中断处理流程,并假访设问存执储行器T一m 条指令 的时间也为TM。如果三个设备同时发出中断
请求,那么依次分别处理设访备问存A储、器T设m 备B、设
备C的时间如下:
0、指令周期 1、链式查询Tdc
tA = 2TM + TDC + TS + TA + TR
2、保护现场Ts 3、恢复现场Tr
tB = 2TM + 2TDC + TS + TB + TR
• 数据缓冲器用于保存CPU内部总线与系统数据总线之 间进行传送的数据。
• 读/写逻辑决定数据传送的方向,其中IOR为读控制, IOW为写控制,CS为设备选择,A0为I/O端口识别。
8.3.5中断控制器(略)
多个8259进行级联以处理多达64个中断请求。在这种情 况下允许有一个主中断控制器和多个从中断控制器,称为 主从系统。
• ③轮换优先级方式B:要求CPU可在任何时间规定最优优先 级,然后顺序地规定其他IR线上的优先级。
• ④查询方式:由CPU访问8259的中断状态寄存器,一个状 态字能表示出正在请求中断的最高优先级IR线,并能表示出 中断请求是否有效。
8.3.5中断控制器
8259提供了两种屏蔽方式:
• ①简单屏蔽方式,提供8位屏蔽字,每位对应着各自的 IR线。被置位的任一位则禁止了对应IR线上的中断。
• IR1,IR2,IR3为中断请求信号 • IS1,IS2,IS3为中断选中信号 • INTI为中断排队输入 • INTO为中断排队输出
中断源识别之后获取中断向量
• 当CPU响应中断时,由硬件直接产生一个固定的地 址(即向量地址)
• 由向量地址指出每个中断源设备的中断服务程序入口, 这种方法通常称为向量中断。
程序中断方式
8.3 程序中断方式
8.3.1中断的概念、功能 8.3.2程序中断方式的基本接口 8.3.3单级中断 8.3.4多级中断 8.3.5Pentium中断机制
8.3.1中断的概念、功能
中断(Interrupt)是指CPU暂时中止现 行程序,转去处理随机发生的紧急事件, 处理完后自动返回原程序的功能和技术。
8.3.5Pentium中断机制(略)
Pentium中断机 制
• 中断类型 • 中断服务子程序
进入过程 • 中断处理过程
8.3.4多级中断
概念:多级中断系统是指计算机系统中有相当多 的中断源,根据各中断事件的轻重缓急程度不 同而分成若干级别,每一中断级分配给一个优 先权。
多级指的是优先权级别有多个 每级有一个中断优先权 优先权高的中断级别级可以打断低的级别
• 如图8.9示
8.3.4多级中断
-多级中断可分为一维多级中断和二维多级中断 一维多级中断:每一级中断中有一个中断源。 二维多级中断:每一级中断中有多个中断源
理等。 系统中断。如运算过程出现溢出、数据格式非法,数据传送
过程出现校验错,控制器遇到非法指令等等。 为了调试程序而设置的中断。
8.3.1中断的概念、功能
不再接 中断
硬件Leabharlann Baidu实现
软件 实现
可再接 中断
8.3.1中断的概念、功能
中断处理过程注意几个问题:
响应中断时机:外界中断请求是随机的,但 CPU只有在当前指令执行完毕后,才转至公操 作
• 8位中断请求寄存器(IR)接受8个外部设备送来的中断 请求,每一位对应一个设备。
• 中断请求寄存器的各位送入优先权判断器,根据中断 屏蔽寄存器(IM)各位的状态来决定最高优先级的中断 请求,并将各位的状态送入中断状态寄存器IS。IS保 存着判优结果。由控制逻辑向CPU发出中断请求信号 INT,并接受CPU的中断响应信号INTA。
中断系统是计算机实现中断功能的软硬件 总称。一般在CPU中设置中断机构,在外 设接口中设置中断控制器,在软件上设置 相应的中断服务程序。
8.3.1中断的概念、功能
中断适合于处理随机出现的事务 主程序只在设备就绪时才与之交互数据
8.3.1中断的概念、功能
中断系统的功能包括:
1)实现主机和外设的并行工作; 2)处理故障; 3)实现多道程序的分时操作; 4)实时控制; 5)实现人机联系; 6)实现多机通信。
8.3.3单级中断
所有中断源属于同一级,离CPU越近,优 先级越高。
要点:在执行某个中断请求的过程中,不 允许其他中断源再打断中断服务程序。即 使其优先级别更高。
单级中断示意图8.7类似于第六章的链式查 询方式。
8.3.3单级中断
中断响应:
8.3.3单级中断
中断源的识别:串行排队链法(菊花链查询方式)
优先级选择方式有四种:
• ①完全嵌套方式:是一种固定优先级方式,连至IR 0的设 备优先级最高,IR 7的优先级最低。这种固定优先级方式 对级别低的中断不利,在有些情况下最低级别的中断请求可 能一直不能被处理。
• ②轮换优先级方式A:每个级别的中断保证有机会被处理, 将给定的中断级别处理完后,立即把它放到最低级别的位置 上去。
tC = 2TM + 3TDC + TS + TC + TR
处理三个设备所需的总时间为:T=tA+tB+tC
T是达到中断饱和的最小时间,即中断极限频 率为:f=1/T
8.3.5中断控制器
8259中断控制器是一个集成电路芯片,它将中断 接口与优先级判断等功能汇集于一身,常用于微 型机系统。其内部结构如图8.11所示。
器 IM(Interrupt Mask)中断屏蔽触发器
8.3.2程序中断方式的基本接口
⑨表①示表中示断④⑤⑦由服⑥表表表程务表示示示序程(示当允如启②③序1在设许果0动表表通)一备中“外示示过表条动断⑧中设接数输示指作标表断,口据入C令结志示屏将P向由指执束E转U蔽该I外外令行为或发向”外设设把末“缓出该标设发传接尾1冲控设志接”出送口C时寄制备I口MP启到中,存信的U的为动接数接器号检中“信口据口数C查断忙0将号的缓”向据中服”时接;缓冲C填断务标,P口冲寄满请程U志C中寄存时求发P序B的存器U,线出S入在B器的置设,中口S一;数“备断和;条据1向请R”指读D,接求标令至“口信志执C准送号P复行备出;U位结就中一。束绪的”寄标存志器R;D 控后将制受中信理断号外请,设求将的线数中的据断请“请求准求信备,号就向接绪外收”设到标发“志出中R响D断应置请中“求断1””信;标号志并IR关;闭中断;
断点保护问题(PC,寄存器内容和状态的保 存)
中断屏蔽:开中断和关中断问题。 中断是由软硬件结合起来实现的
8.3.2程序中断方式的基本I/O接口
数据缓冲寄存器 BS外设接口忙(BuSy)标志 RD外设准备就绪(ReaDy)标志 EI(Enable Interrupt中断允许触发器) IR(Interrupt Request)中断请求触发
-说明:
• 中断响应时,确定哪一级中断和中断源采用硬件实现。采 用了独立请求方式和链式查询方式相结合的方式。多级中 断可以嵌套,但同一级的中断不允许嵌套
• 使用多级堆栈保存现场(包括IM) • 一个系统有n级中断,则CPU中有n个IR,n个IM,某级中
断被响应后,则关闭本级和低于本级的IM,开放更高级的 IM。
相关文档
最新文档