微机原理14.§7.2 中断处理过程
《微机原理与应用教学资料》第七章 中断(课件)
中断源 硬件屏蔽 CPU的IF
CPU
ppt课件
7
二、中断分类
1、内部中断(软件中断)
⑴中断指令 INT n
n—中断类型码 n=0~255
⑵由CPU的运算错误引起的:
a.除法错中断: INT 0 (除数为零或商超过范围,自动产生中断)
b.溢出中断: INT 4 (当OF=1,且在程序中有INTO指令,产生中断)
b.中断请求
显然,中断请求的方法较合理
中断定义:当有外部数据输入或内部异常时,发送请求给 CPU,CPU暂时停止正在运行的程序,处理中断结束后, 返回继续运行先前的程序。
两个最重要的特点:可返回性,现场保护
ppt课件断点保护
2
一、中断概念
1、中断源:引起程序中断的事件,内部中断、外部中断
2、中断响应:对外部中断而言,INTA对INTR的响应
ppt课件
00103H 13H 5
★各个外设的中断服务子程序的入口地址集中在一个表
(中断向量表)中,CPU响应中断时,根据中断源提供 的中断类型号 i, →i×4→在中断向量表查找对应的中断 服务子程序 i 的入口地址,内容装入CS、IP,转而执行 中断服务子程序 i
ppt课件
6
4、中断优先级: ①当同时有多个中断请求,先响应优先级高的 ②当一个中断服务程序正在执行时,又一个中断源申请中断:
ppt课件
9
2、外部中断(硬件中断) ⑴不可屏蔽中断NMI
a. 上升沿触发 b. CPU必须予以响应,不能用IF屏蔽 c. INT 2,中断类型码为2,
中断向量固定存放于00008H~ 0000BH中 d. 用于发生重大故障时申请中断
简述中断处理程序的处理过程。
简述中断处理程序的处理过程
中断处理程序的处理过程主要包括以下几个步骤:
1. 中断发生:当外部设备发生故障或者需要响应处理器的请求时,会触发一个中断信号,将处理器从当前执行的指令转移到中断处理程序的入口地址。
2. 保存现场:处理器会将当前执行任务的寄存器及其他必要的状态信息保存到中断栈或堆栈中,以便在中断处理程序执行完成后能够恢复到中断发生时的现场。
3. 中断处理:处理器会根据中断类型确定执行相应的中断处理程序。
中断处理程序是为了响应特定中断事件而编写的一段程序代码,用于处理中断事件并执行相应的操作。
例如,当键盘按键被按下时,中断处理程序负责获取键盘输入并将其传递给操作系统进行处理。
4. 中断处理程序执行:处理器会跳转到中断处理程序的入口地址,开始执行中断处理程序。
中断处理程序会根据具体的中断事件执行相应的处理逻辑,完成所需的操作。
5. 恢复现场:中断处理程序执行完成后,处理器会从中断栈或堆栈中恢复之前保存的现场,包括恢复寄存器的值,以及其他必要的状态信息。
6. 返回到中断发生时的位置:处理器会根据保存的中断返回地址,将控制权返回给中断发生时的位置,继续执行中断发生之
前被暂停的任务。
总的来说,中断处理程序的处理过程就是在中断发生时,保存现场,执行中断处理程序,完成相应的操作后,恢复现场并返回到中断发生时的位置继续执行原任务。
简述中断处理步骤
简述中断处理步骤中断是计算机系统中一种重要的事件响应机制,它可以打断正在执行的程序,转而执行相应的中断处理程序,以处理特定的事件或异常情况。
中断处理步骤是指在中断发生时,计算机系统进行的一系列操作和处理流程。
下面将对中断处理步骤进行简单的描述。
1. 中断的触发中断的触发是指中断事件的发生。
中断事件可以是来自硬件设备的信号(如键盘输入、鼠标点击、定时器溢出等),也可以是来自软件的请求(如系统调用、异常情况等)。
当中断事件发生时,计算机系统会立即暂停当前正在执行的程序,转而执行相应的中断处理程序。
2. 保存上下文在进行中断处理之前,计算机系统需要保存当前程序的上下文信息,以便在中断处理完成后能够恢复到中断前的状态。
上下文信息包括程序计数器、寄存器的值、堆栈指针等。
通过保存上下文,可以确保在中断处理完成后能够正确地返回到原来的程序继续执行。
3. 中断向量表中断向量表是一个存储中断处理程序入口地址的数据结构。
当中断事件发生时,计算机系统会根据中断类型或编号查找中断向量表,找到对应的中断处理程序入口地址,并跳转到该地址开始执行中断处理程序。
中断向量表可以通过硬件或软件方式进行配置和更新。
4. 中断处理程序中断处理程序是一段特殊的代码,用于处理中断事件。
中断处理程序的功能包括对中断事件的识别、处理和响应。
根据中断类型的不同,中断处理程序可能需要进行一系列的操作,如读取输入设备的数据、更新系统状态、发送输出数据等。
中断处理程序的编写需要考虑到效率和实时性的要求。
5. 中断优先级计算机系统中可能存在多个中断事件同时发生的情况,这就引出了中断优先级的概念。
中断优先级用于确定在多个中断事件发生时,系统应该先处理哪个中断。
通常,系统会根据中断类型、重要性和紧急程度等因素来确定中断的优先级顺序。
在处理多个中断时,需要根据中断优先级进行适当的调度和处理。
6. 中断处理完成当中断处理程序执行完毕后,计算机系统会根据保存的上下文信息恢复到中断前的状态,并继续执行被中断的程序。
中断和中断处理流程
中断和中断处理流程转⾃:1. 中断概念中断是指由于接收到来⾃外围硬件(相对于中央处理器和内存)的异步信号或来⾃软件的同步信号,⽽进⾏相应的硬件/软件处理。
发出这样的信号称为进⾏中断请求(interrupt request,IRQ)。
硬件中断导致处理器通过⼀个上下⽂切换(context switch)来保存执⾏状态(以程序计数器和程序状态字等寄存器信息为主);软件中断则通常作为CPU指令集中的⼀个指令,以可编程的⽅式直接指⽰这种上下⽂切换,并将处理导向⼀段中断处理代码。
中断在计算机多任务处理,尤其是实时系统中尤为有⽤。
这样的系统,包括运⾏于其上的操作系统,也被称为“中断驱动的”(interrupt-driven)。
中断是⼀种使CPU中⽌正在执⾏的程序⽽转去处理特殊事件的操作,这些引起中断的事件称为中断源,它们可能是来⾃外设的输⼊输出请求,也可能是计算机的⼀些异常事故或其它内部原因。
中断:在运⾏⼀个程序的过程中,断续地以“插⼊”⽅式执⾏⼀些完成特定处理功能的程序段,这种处理⽅式称为中断。
2. 中断的作⽤并⾏操作硬件故障报警与处理⽀持多道程序并发运⾏,提⾼计算机系统的运⾏效率⽀持实时处理功能3. 术语按中断源进⾏分类:发出中断请求的设备称为中断源。
按中断源的不同,中断可分为1. 内中断:即程序运⾏错误引起的中断2. 外中断:即由外部设备、接⼝卡引起的中断3. 软件中断:由写在程序中的语句引起的中断程序的执⾏,称为软件中断允许/禁⽌(开/关)中断: CPU通过指令限制某些设备发出中断请求,称为屏蔽中断。
从CPU要不要接收中断即能不能限制某些中断发⽣的⾓度,中断可分为1. 可屏蔽中断:可被CPU通过指令限制某些设备发出中断请求的中断,那是不是意味着进中断时disable整个中断,其实disable的都是可屏蔽中断?2. 不可屏蔽中断:不允许屏蔽的中断如电源掉电中断允许触发器:在CPU内部设置⼀个中断允许触发器,只有该触发器置“1”,才允许中断;置“0”,不允许中断。
中断处理的基本过程
中断处理的基本过程中断处理是计算机系统中的基本概念之一,它是指计算机在运行过程中,当发生某个特定事件时,会暂停当前正在执行的程序,转而执行相应的中断处理程序。
中断处理程序的目的是处理中断事件,并在处理完毕后返回到被中断的程序继续执行。
中断处理的基本过程可以分为中断触发、中断处理和中断返回三个阶段。
一、中断触发阶段:中断是由硬件或软件触发的,当某个特定的事件发生时,会触发相应的中断信号。
这些事件可以是硬件设备的状态变化,如外部设备发送的信号,或是由于出现了某种异常或错误引起的。
当触发中断信号时,计算机首先会保存当前执行指令的下一条指令地址和程序状态到中断栈或系统堆栈中,以备后续的中断处理使用。
二、中断处理阶段:1.中断类型识别:在中断触发后,处理器会通过中断向量表或中断描述符表来确定中断类型。
这些表中存储着中断类型和相应的中断处理程序的入口地址。
2.中断处理程序的保存:当中断类型确定后,处理器会将当前的程序状态(包括寄存器状态、程序计数器等)压入中断栈或系统堆栈中,以便在中断处理完毕后能够恢复到中断发生前的状态。
3.中断处理程序的执行:处理器会跳转到中断处理程序的入口地址,开始执行中断处理程序。
中断处理程序根据中断类型进行相应的处理操作,例如读取外设的数据,更新相关状态等。
4.中断处理程序的数据传递:在处理中断时,通常需要向中断处理程序传递特定的数据或参数,以便进行后续的处理操作。
这些数据可以通过寄存器或内存传递给中断处理程序。
5.中断处理程序的完成:当中断处理程序完成后,处理器会恢复原来的程序状态,包括恢复寄存器的值、恢复程序计数器的值等。
这样可以保证在中断处理完毕后,能够继续执行被中断的程序。
三、中断返回阶段:1.中断返回指令的执行:在中断处理程序完成后,处理器会执行中断返回指令,将栈顶的值加载到程序计数器中,恢复到中断发生前的下一条指令地址。
2.中断状态的恢复:在中断返回后,处理器会恢复中断状态,包括恢复标志寄存器的值、恢复中断使能状态等。
简述中断处理的过程
简述中断处理的过程中断是计算机系统中常见的一种机制,用于处理外部事件或错误条件。
当系统遇到需要立即处理的事件时,会触发中断,暂停当前任务的执行,转而执行中断处理程序。
中断处理的过程可以概括为以下几个步骤:1. 中断触发中断可以由外部设备发出,如键盘输入、鼠标移动等;也可以由内部事件引发,如除零错误、内存溢出等。
无论何种情况,一旦中断事件发生,计算机系统就会暂停当前任务的执行,转而处理中断。
2. 保存现场在开始执行中断处理程序之前,系统需要保存当前任务的执行状态,以便在处理完中断后能够恢复到原来的状态。
这包括保存当前的程序计数器值、寄存器状态、堆栈指针等信息。
3. 中断向量表计算机系统通常会预先定义一张中断向量表,其中记录了每种中断类型对应的中断处理程序的入口地址。
当中断发生时,系统根据中断类型查找中断向量表,找到对应的中断处理程序的入口地址。
4. 中断处理程序的执行系统根据中断向量表中找到的入口地址,开始执行对应的中断处理程序。
中断处理程序是预先编写好的一段代码,用于处理特定的中断事件。
它可以读取输入设备的数据、更新相关状态、进行必要的计算等操作。
5. 中断处理程序的结束一旦中断处理程序执行完毕,系统需要恢复之前保存的执行状态。
这包括恢复原来的程序计数器值、寄存器状态、堆栈指针等信息。
6. 重新执行原任务当中断处理程序结束后,系统回到原来的任务继续执行。
由于中断的处理是在一个独立的上下文中进行的,所以原任务的执行状态不会受到中断的影响,可以无缝地继续执行。
在中断处理的过程中,需要注意以下几点:1. 中断处理程序的设计需要高效且可靠。
由于中断可能会频繁发生,所以中断处理程序的执行时间应尽可能短,以免影响其他任务的执行。
同时,中断处理程序要能够正确地处理中断事件,并根据需要进行必要的操作。
2. 中断处理程序需要与操作系统和硬件设备紧密配合。
操作系统负责管理中断的注册和分发,硬件设备负责产生中断信号。
中断的基本原理和处理流程。
中断的基本原理和处理流程。
中断是计算机中的一个重要概念,它是指CPU在执行程序的过程中,由于内部或外部的原因,需要暂时停止当前正在执行的程序,转而去执行另一段程序,这段程序执行完后,再返回到原来暂停的程序继续执行。
中断的基本原理和处理流程如下:
一、中断的基本原理
中断是一种由硬件或软件引起的、能改变处理器执行顺序的一种机制。
当中断发生时,处理器会停止当前的执行流,跳转到另一个预定义的地址,即中断服务程序(Interrupt Service Routine, ISR)的入口地址,去执行中断服务程序。
中断服务程序执行完毕后,处理器会恢复原来的执行流,继续执行被中断的程序。
二、中断的处理流程
中断请求:中断源向CPU发出中断请求信号。
中断响应:CPU响应中断请求,保护现场,将断点地址及有关状态信息压入堆栈或存入特定的寄存器中,以便在中断服务程序执行完毕后能正确地返回到原来的程序。
中断处理:CPU跳转到中断服务程序入口地址,执行中断服务程序。
中断服务程序负责处理中断事件,完成后需要清除中断标志位,以便CPU能继续响应其他中断。
中断返回:中断服务程序执行完毕后,CPU恢复现场,从堆栈或特定的寄存器中弹出断点地址及有关状态信息,然后返回到
原来的程序继续执行。
需要注意的是,中断的优先级是一个重要的概念。
在多个中断同时发生时,处理器会根据中断的优先级来决定先处理哪个中断。
高优先级的中断可以打断低优先级的中断,但同级或低优先级的中断不能打断高优先级的中断。
微机原理与接口技术:中断处理的基本过程
5. 中断返回
返回到原程序的断点处,恢复硬件现场,继续执行原程序。中断返回 操作是中断响应操作的逆过程。
16
12ห้องสมุดไป่ตู้
中断控制器判优 中断控制器,如Intel8259A,可以以多种方式设置中断源的中断优先级。 中断控制器中有一个中断优先级判别器,它自动判别出目前提出中断请求 的优先级最高的中断源,并将它的中断向量码送到数据总线,CPU接收中 断向量码并据此找到它的中断服务程序。
13
3. 中断响应
经过中断判优,中断处理就进入中断响应阶段。中断响应时,CPU向中断 源发出中断响应信号,同时: ① 保护硬件现场; ② 关中断; ③ 保护断点; ④ 获得中断服务程序的入口地址。
14
4. 中断服务
中断服务程序的一般结构为: (1)保护现场。在中断服务程序的起始部分安排若干条入栈指令,将各 寄存器的内容压入堆栈保存。 (2)开中断。在中断服务程序执行期间允许级别更高的中断请求中断现 行的中断服务程序,实现中断嵌套。 (3)中断服务。完成中断源的具体要求。 (4)恢复现场。中断服务程序结束前,必须恢复主程序的中断现场。通 常是将保存在堆栈中的现场信息弹出到原来的寄存器中。 (5)中断返回。返回到原程序的断点处,继续执行原程序。
菊花链判优电路 CPU收到中断请求,如果允许中断,CPU发出中断响应信号。中断响应信 号首先到达菊花链的前端,如果中断源1提出了中断请求,它就会截获中 断响应信号,封锁它,使它不能向下一个中断源传送。不论下面的中断源 有没有提出中断请求,都不可能接收到中断响应信号,因此它们的中断请 求也不能被响应。
. A2
. A3
. . A4
。 A5
A6
&
I5
中断处理的一般流程
中断处理的一般流程
中断处理是计算机系统中非常重要的一部分,它允许计算机在
执行程序的过程中响应外部事件。
中断处理的一般流程通常包括以
下几个步骤:
1. 中断请求,外部设备向处理器发送中断请求,通知处理器发
生了某种事件,比如输入/输出操作完成、时钟中断等。
2. 中断响应,处理器接收到中断请求后,立即停止当前正在执
行的程序,保存当前程序的状态,并跳转到中断处理程序的入口点。
3. 中断处理程序执行,处理器开始执行中断处理程序,这是一
个预先定义好的程序,用于处理特定的中断事件。
中断处理程序可
能包括保存当前程序的状态、执行特定的中断服务例程、处理中断
事件等。
4. 中断服务例程执行,中断服务例程是中断处理程序的一部分,用于执行特定的中断处理任务,比如处理输入/输出操作、更新系统
时钟等。
5. 恢复现场,中断服务例程执行完成后,处理器会恢复之前被
中断的程序的状态,包括恢复程序计数器、寄存器状态等,然后继
续执行被中断的程序。
6. 中断处理结束,处理器完成中断处理后,会回到之前被中断
的程序继续执行,直到下一个中断事件发生。
中断处理的一般流程保证了计算机系统能够及时响应外部事件,并在处理完中断事件后继续执行之前的程序,从而提高了系统的效
率和可靠性。
中断处理过程有哪些?中断处理过程的五个阶段
中断处理过程有哪些?中断处理过程的五个阶段中断处理全过程指的是从中断源发出中断请求开始,CPU响应这个请求,现行程序被中断,转至中断服务程序,直到中断服务程序执行完毕,CPU再返回原来的程序继续执行的整个过程。
那么具体的中断处理全过程是哪些呢,下面我就带着大家一起具体看看吧!中断处理过程的五个阶段中断处理的基本过程包括中断请求、中断判优、中断响应、中断服务和中断返回等五个阶段。
1.中断请求阶段1)发生在CPU内部的中断(内部中断),不需要中断请求,CPU 内部的中断控制逻辑直接接收处理。
2)外部中断请求由中断源提出。
外部中断源利用CPU的中断输入引脚输入中断请求信号。
一般CPU设有两个中断请求输入引脚:可屏蔽中断请求输入引脚和不可屏蔽中断请求输入引脚。
1.1中断请求触发器每个中断源发中断请求信号的时间是不确定的,而CPU在何时响应中断也是不确定的。
所以,每个中断源都有一个中断请求触发器,锁存自己的中断请求信号,并保持到CPU响应这个中断请求之后才将其清除。
1.2中断允许触发器在CPU内部有一个中断允许触发器,当其为"1'时,允许CPU响应中断,称为开中断。
若其为"0',不允许CPU响应中断,中断被屏蔽,称为关中断。
%%通常,当CPU复位时,中断允许触发器也复位为"0',即关中断。
当CPU中断响应时,CPU自动关闭中断,禁止接受另一个新的中断。
%%中断允许触发器的状态可以用开中断或关中断指令来设置。
2.中断判优阶段CPU一次只能接受一个中断源的请求,当多个中断源同时向CPU 提出中断请求时,CPU必须找出中断优先级最高的中断源,这一过程称为中断判优。
中断判优可以采用硬件方法,也可采用软件方法。
2.1软件判优CPU检测到中断请求后,首先读取中断请求寄存器的内容,逐位检测它们的状态,检测到某一位为1,就确定对应的中断源有中断请求,转去执行它的中断服务程序。
简述中断处理过程
简述中断处理过程
中断处理是指处理计箮的硬件或软件发出的一个信号,中断处理过程在最简单的情况下,包括查找处理程序,调用处理程序,执行处理程序,检测处理状态,返回结果。
首先,在中断期间,计算机处理器停止当前正在运行的任务,并临时暂停对它的执行。
处理器暂停当前任务时,通常会将当前任务的状态保存到计算机存储器中,这样当处理完
中断后,可以恢复到当前任务的上次状态。
接下来,计算机根据给出的信息、参数和数据,找到相应的中断处理过程。
中断处理
程序是一段用于处理特定中断的软件,它可以被程序员定义,在接收到特定的中断信号时,中断处理程序将以一定的优先级来执行,此时,处理器会先处理该中断,而其他正在运行
的任务则暂停执行。
当处理器找到并开始执行处理程序时,由其来捕获处理这个中断的所有必要参数和数据。
同时,处理器还会将存储器中的一些信息保存到寄存器中以免受到中断的影响。
在处
理器执行完处理程序之后,以上述方式从寄存器中取出相应的信息,并将其还原到存储器中。
最后,处理器会检测处理状态,如果处理状态正确,则处理器可以开始进行中断返回,回到之前暂停的任务执行位置;若状态不正确则会报告错误,应用程序崩溃。
最终,中断
处理完成,处理器可以将控制权交回给应用程序,继续执行之前暂停的任务。
中断处理过程程序
中断处理过程程序
中断处理过程是操作系统的核心概念之一。
当一个中断信号发生时,操作系统会立即中断当前进程的执行,转而去执行一段中断处理过程程序,也称为中断服务程序。
中断处理过程包括以下几个步骤:首先,操作系统会保存当前进程的状态,包括程序计数器、寄存器等信息,以便在中断处理过程结束后能够恢复该进程的执行。
接下来,操作系统会根据中断类型调用相应的中断处理程序,这些程序通常预先存储在操作系统的中断向量表中。
中断处理程序的任务是根据中断类型进行必要的处理,例如读取磁盘数据、接收网络数据等。
处理完成后,操作系统会恢复原进程的执行,并将执行流程从中断处理程序返回到进程原来的执行状态,并且将处理过程程序保存的进程状态一并恢复。
中断处理程序是操作系统中非常重要的组成部分,因为它们充当了操作系统与硬件之间的桥梁,为操作系统提供了一种响应外部事件的机制。
同时,中断处理程序也需要尽可能快地完成,在上述几个步骤中,保存和恢复进程状态的过程需要尽可能地快,以保证中断处理程序的响应速度。
总之,中断处理程序是操作系统中必不可少的一部分,它保证了操作系统对外界事件的快速响应,并且为操作系统提供了一种异步执行的机制,进一步提高了操作系统的实时性和可靠性。
微机原理中断处理过程共19页
6、最大的骄傲于最大的自卑都表示心灵的最软弱无力。——斯宾诺莎 7、自知之明是最难得的知识。——西班牙 8、勇气通往天堂,怯懦通往地狱。——塞内加 9、有时候读书是一种巧妙地避开思考的方法。——赫尔普斯 10、阅读一切好书如同和过去最杰出的人谈话。——笛卡儿
Thank you
微机原理中断处理过程
1、纪律是管理关系的形式。——阿法 纳西耶 夫 2、改革如果不讲纪律,就难以成功。
3、道德行为训练,不是通过语言影响 ,而是 让儿童 练习良 好道德 行为, 克服懒 惰、轻 率、不 守纪律 、颓废 等不良 行为。 4、学校没有纪律便如磨房里没有水。 ——夸 美纽斯
5、教导儿童服从真理、服从集体,养 成儿童 自觉的 纪律性 ,这是 儿童道 德教育 最重要 的部分 。—— 陈鹤琴
Байду номын сангаас
中断处理的全过程
中断处理的全过程
中断处理的全过程分为中断检测、中断响应和中断处理3个阶段。
1.中断检测
中断检测在每条指令结束时进⾏,检测是否有中断请求或是满⾜异常条件。
2.中断响应
中断响应是由处理器内部硬件完成的中断序列,⽽不是由程序执⾏的。
在Intel 80x86中,中断响应过程的操作如下:●对可屏蔽中断,从8259中断控制器芯⽚读取中断向量号;
●将标志寄存器EFLAG,CS和IP压栈;
●对于硬件中断,复位标志寄存器中的IF和TF位,禁⽌可屏蔽外部中断和单步异常;
●根据中断向量号,查找中断向量表,根据中断服务程序的⾸址转移到中断服务程序执⾏。
3.中断处理即执⾏中断服务程序。
中断服务程序的主要内容如下:
●保存中断服务程序将要使⽤的所有寄存器的内容,以便于在退出中断服务程序之前进⾏恢复;
●如果中断向量被多个设备所共享,为了确定产⽣该中断信号的设备,需要轮询这些设备的中断状态寄存器;
●获取中断相关的其他信息;
●对中断进⾏具体的处理;
●恢复保存的上下⽂;
●执⾏中断返回指令,使CPU的控制返回到被中断的程序继续执⾏。
简述中断处理的过程
简述中断处理的过程
中断处理是计算机系统中非常重要的一部分。
当计算机系统收到一个中断信号时,会暂时中断当前正在执行的程序,转而执行一个特定的中断处理程序来处理中断事件。
中断处理的过程一般包括以下几个步骤:
1. 中断请求:当外部设备或其他内部事件需要处理时,会发送一个中断请求信号给中央处理器(CPU)。
这个中断请求信号会触发中断控制器,向CPU发送中断信号。
2. 中断响应:CPU接收到中断信号后,会立即停止当前正在
执行的指令,并保存当前的执行状态(包括程序计数器、寄存器状态等),以便稍后能够恢复执行。
3. 中断处理程序调用:CPU根据中断信号的种类和优先级,
选择相应的中断处理程序。
中断处理程序是预先定义好的一段代码,用来处理特定的中断事件。
4. 中断处理程序执行:CPU跳转到相应的中断处理程序,开
始执行具体的中断处理操作。
中断处理程序可能需要和外部设备进行交互,或者处理一些必要的操作,例如保存当前上下文、保存中断源的信息等。
5. 中断处理完成:中断处理程序执行完毕后,CPU会恢复之
前保存的执行状态,包括程序计数器、寄存器状态等。
然后,CPU继续执行被中断的程序,从中断之前的位置继续执行。
需要注意的是,中断处理过程中可能还包括一些其他的操作,例如中断屏蔽、中断优先级处理等,以保证系统能够正确处理多个中断事件。
同时,不同的操作系统和硬件平台可能会有一些差异,但是大致的处理流程是相似的。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2011-3-5
16
§7.2 中断处理过程
四、中断优先级
⒈ 软件查询优先方式
这是最简单 的中断优先 级处理方式。 级处理方式。 右图是软件 查询方式的 接口电路, 接口电路, 下页图为其 流程图。 流程图。
2011-3-5
17
§7.2 中断处理过程
四、中断优先级
实现方法: 实现方法: 将8个外 个外 设的中断 请求触发 器组合为 一个端口, 一个端口, 并给这个 端口赋以 设备号 (口地址 , 口地址), 口地址
2011-3-5
5
§7.2 中断处理过程
一、CPU响应中断的条件 CPU响应中断的条件
中断关闭与中断屏蔽不同。中断关闭对 中断关闭与中断屏蔽不同。中断关闭对INTR 上所有的可屏蔽中断均不理睬; 上所有的可屏蔽中断均不理睬;中断屏蔽则 只封锁被屏蔽的那个中断源, 只封锁被屏蔽的那个中断源,使其中断请求 不能到达CPU的INTR线上。即: 线上。 不能到达 的 线上 不让其中断请求发往CPU, , 屏蔽—— 不让其中断请求发往 屏蔽 在接口中屏蔽 关闭—— INTR线上有中断请求,但 CPU内部 当时不能响应, 当时不能响应 内部 关闭
2011-3-5 9
§7.2 中断处理过程
三、中断源的识别
响应中断、 当CPU响应中断、关中断及保护断点之后,就要寻 响应中断 关中断及保护断点之后, 找中断源,找到相应的中断服务程序的入口地址。 找中断源,找到相应的中断服务程序的入口地址。 这是中断处理过程的重要的一环。 这是中断处理过程的重要的一环。 识别中断源有两种方法, 查询中断和矢量中断。 识别中断源有两种方法,即查询中断和矢量中断。
2011-3-5
13
§7.2 中断处理过程
三、中断源的识别
⒉ 矢量中断
矢量中断采用硬件来识别中断源, 矢量中断采用硬件来识别中断源,需要花费较多的 硬件来识别中断源 硬件资源,但速度快,目前被广泛采用。 硬件资源,但速度快,目前被广泛采用。 矢量中断是指在 中断响应周期内, 矢量中断是指在CPU中断响应周期内,控制逻辑将 是指在 中断响应周期内 发中断请求的外设预先准备好的一个地址送入CPU, 发中断请求的外设预先准备好的一个地址送入 CPU在硬件的支持下由该地址自动找到相应的中断 在硬件的支持下由该地址自动找到相应的中断 服务程序的入口,并转入中断服务程序。 服务程序的入口,并转入中断服务程序。外设提供 的这一地址叫做中断矢量, 给CPU的这一地址叫做中断矢量,每个外设都预先 的这一地址叫做中断矢量 设定一个自己的中断矢量, 设定一个自己的中断矢量,中断矢量与中断源一一 对应。 对应。
2011-3-5
3
§7.2 中断处理过程
一、CPU响应中断的条件 CPU响应中断的条件
⒊ 开放CPU内部的中断允许触发器
尽管外设有中断请求, 并不一定会响应。 尽管外设有中断请求,但CPU并不一定会响应。 并不一定会响应 因为, 内部设置了一个中断允许触发器, 因为,在CPU内部设置了一个中断允许触发器, 内部设置了一个中断允许触发器 该触发器的状态决定CPU对外设的中断是否响 该触发器的状态决定 对外设的中断是否响 应。 中断允许 触发器 1 0 CPU响应中断,称 响应中断, 响应中断 开中断(中断开放 开中断 中断开放) 中断开放 CPU不响应中断, 不响应中断, 不响应中断 称关中断(中断关闭 中断关闭) 称关中断 中断关闭
2011-3-5
18
§7.2 中断处理过程
四、中断优先级
然后,把各外设的中断请求信号相或后作为INTR 然后,把各外设的中断请求信号相或后作为 信号。任何外设有中断请求时,都可向CPU发出 信号。任何外设有中断请求时,都可向 发出 INTR信号。CPU响应中断后,把中断寄存器的状 信号。 响应中断后, 信号 响应中断后 态作为一个输入端口读进CPU,然后逐位检测其状 态作为一个输入端口读进 , 若有中断请求就转入相应的中断服务程序, 态,若有中断请求就转入相应的中断服务程序,这 样优先级的级别取决于软件查询的顺序, 样优先级的级别取决于软件查询的顺序,先测试的 中断源具有较高的优先级。 中断源具有较高的优先级。 该方式的优点是硬件简单,不需要硬件排队电路。 该方式的优点是硬件简单,不需要硬件排队电路。 但在中断源较多时,软件查询的时间较长。 但在中断源较多时,软件查询的时间较长。
2011-3-5 6
§7.2 中断处理过程
一、CPU响应中断的条件 CPU响应中断的条件
⒋ 现行指令执行完毕
在满足前三个条件后, 在满足前三个条件后,CPU在执行现行指令的最 在执行现行指令的最 后一个机器周期的最后一个T状态时, 后一个机器周期的最后一个 状态时,才去采样 状态时 中断请求输入线INTR,若发现有中断请求,则 ,若发现有中断请求, 中断请求输入线 内部的中断锁存器置“ , 把CPU内部的中断锁存器置“1”,下一个机器周 内部的中断锁存器置 期就不进入取指周期,而进入中断响应周期。 期就不进入取指周期,而进入中断响应周期。
第七章 中断
§7.2
中断的处理过程
一、CPU响应中断的条件 响应中断的条件
中断响应是指从CPU发现中断请求,中止现行程 发现中断请求, 中断响应是指从 发现中断请求 序到调出中断处理程序这一过程。 序到调出中断处理程序这一过程。
⒈ 设置中断请求触发器
对每个中断源来说,既要能发出中断请求信号, 对每个中断源来说,既要能发出中断请求信号, 而且能保持这个信号,直至CPU响应该请求后再 而且能保持这个信号,直至 响应该请求后再 将其清除。因此, 将其清除。因此,每个中断源都要有一个中断请 求触发器,如下图中的触发器A。 求触发器,如下图中的触发器 。
2011-3-5
4
§7.2 中断处理过程
一、CPU响应中断的条件 CPU响应中断的条件
中断允许触发器的状态可用指令CLI和 STI来 和 中断允许触发器的状态可用指令 来 改变,下述三种情况可关闭中断: 改变,下述三种情况可关闭中断: 1) 当CPU复位时,中断允许触发器处于关中 复位时, 复位时 断状态; 断状态; 2) 中断请求被响应后,CPU自动关中断; 中断请求被响应后, 自动关中断; 自动关中断 3) CPU执行关中断指令 执行关中断指令CLI后,中断关闭。 执行关中断指令 后 中断关闭。
2011-3-5
7
§7.2 中断处理过程
二、CPU对中断的响应 对中断的响应
CPU进入中断响应周期后,中断响应过程如下: 进入中断响应周期后,中断响应过程如下: 进入中断响应周期后 1. 关中断 CPU在响应中断后,发出中断响应信号INTA,同 在响应中断后,发出中断响应信号 在响应中断后 , 时内部自动关中断,以禁止接受其它的中断请求。 时内部自动关中断,以禁止接受其它的中断请求。 2. 保护断点 把断点处的IP及 值入栈保存 值入栈保存, 把断点处的 及CS值入栈保存,以备中断处理完 后能正确返回断点。 后能正确返回断点。
2011-3-5
15
§7.2 中断处理过程
四、中断优先级
实际应用中,常遇到多个中断源同时请求中断, 实际应用中,常遇到多个中断源同时请求中断,这时 CPU必须确定先为哪个中断服务。解决的方法是采用 必须确定先为哪个中断服务。 必须确定先为哪个中断服务 中断优先排队, 中断优先排队,即把全部中断源按其中断的必要性和 实时性以及处理的轻重缓急进行排队,给出优先级。 实时性以及处理的轻重缓急进行排队,给出优先级。 因此,中断优先级是指多个中断同时发生时 是指多个中断同时发生时, 因此,中断优先级是指多个中断同时发生时,CPU对 对 中断源响应的顺序。优先权高的先被响应。 中断源响应的顺序。优先权高的先被响应。 另外, 正在处理中断时, 另外,当CPU正在处理中断时,要能响应优先级更高 正在处理中断时 的中断请求,同时屏蔽同级或较低的中断请求。 的中断请求,同时屏蔽同级或较低的中断请求。即多 中断嵌套的问题。 重中断或中断嵌套的问题 重中断或中断嵌套的问题。
2011-3-5
8
§7.2 中断处理过程
二、CPU对中断的响应 对中断的响应
3. 识别中断源 CPU要对中断进行处理,必须找到相应的中断服 要对中断进行处理, 要对中断进行处理 务程序的入口地址,这就是中断源的识别。 务程序的入口地址,这就是中断源的识别。 4. 保护现场 为了不使中断服务程序的运行影响主程序的状态, 为了不使中断服务程序的运行影响主程序的状态, 必须把断点处的相关寄存器及标志寄存器压栈保 护。 5. 执行中断服务程序 6. 恢复现场 7. 开中断及返回
2011-3-5 1
§7.2 中断处理过程
一、CPU响应中断的条件 CPU响应中断的条件
具有中断屏蔽的接口电路
2011-3-5 2
§7.2 中断处理过程
一、CPU响应中断的条件 CPU响应中断的条件
⒉ 设置中断屏蔽触发器
中断屏蔽, 中断屏蔽,是指即使某个中断源发出中断请求信 也使该信号不起作用的措施。 号,也使该信号不起作用的措施。 设置屏蔽的目的是为了增加控制的灵活性。 设置屏蔽的目的是为了增加控制的灵活性。 方法是在每个外设的接口电路中设置一个中断屏 蔽触发器, 蔽触发器,用来控制其对应外设所发出的中断请 求能否送到CPU,进而又可把一组屏蔽触发器 求能否送到 , (如8个)组成一个中断屏蔽寄存器端口,用输出 组成一个中断屏蔽寄存器端口, 如 个 组成一个中断屏蔽寄存器端口 指令来控制其状态,如上图所示触发器 触发器B 指令来控制其状态,如上图所示触发器 。
2011-3-5
11
§7.2 中断处理过程
三、中断源的识别
2011-3-5
12
§7.2 中断处理过程
三、中断源的识别
• 查询中断与数据的查询传送方式有本质上的不同。 查询中断与数据的查询传送方式有本质上的不同。 查询传送方式需要CPU花费大量时间不断循环询问, 花费大量时间不断循环询问, 查询传送方式需要 花费大量时间不断循环询问 以等待设备的“就绪”信号;而查询中断在外设无 以等待设备的“就绪”信号; 中断请求时CPU照常执行程序,只有当 照常执行程序, 中断请求时 照常执行程序 只有当CPU收到中 收到中 断请求,设备已“就绪” 断请求,设备已“就绪”时,才查询是谁发出的中 断请求。 断请求。因此查询中断是一种由中断启动而不是由 微处理器启动的“查询” 微处理器启动的“查询” 。 • 查询中断通常用于比较简单的小系统中。对于中断 查询中断通常用于比较简单的小系统中。 源较多的大系统来说,查询需要花费较长的时间。 源较多的大系统来说,查询需要花费较长的时间。