X86体系中,CPU在INTR引脚上接到一个中断请求信号,如果此时IF=1,CPU就会在当前指令执行完以后开始响应外部的中断请求,这时,CPU在INTA引脚连续发两个负脉冲,外设在接到第二个负脉冲以后,在数据线上发送中断类型码,接到这个中断类型码后,CPU做如下动作:
1)将中断类型码放入暂存器保存;
2)将标志寄存器内容压入堆栈,以保护中断时的状态;
3)将IF和TF标志清0。
目的是防止在中断响应的同时又来别的中断,而将TF清0是为了防止CPU以单步方式执行中断处理子程序。这时要特别提醒,因为CPU在中响应时自动关闭了IF标志,因此用户如要进行中断嵌套时,必须在自己的中断处理子程序中用开中断指令来重新设置IF;
4)保护断点。
断点指的是在响应中断时,主程序当前指令下面的一条指令的地址。保护断点就是将当前的IP和CS的内容入栈,为了以后正确地返回主程序;
5)根据取到的中断类型码,在中断向量表中找出相应的中断向量,将其装入IP和CS,即自动转向中断服务子程序。
《操作系统》教材太过于浓缩,只讲设计思路,不讲设计细节。只有真正接触具体设计时,才能真正明白那些设计思路的作用。
中断的概念和中断处理过程
(1)中断:
在运行一个程序的过程中,断续地以“插入”方式执行一些完成特定处理功能的程序段,这种处理方式称为中断。
(2)中断的作用:
◎并行操作
◎硬件故障报警与处理
◎支持多道程序并发运行,提高计算机系统的运行效率
◎支持实时处理功能
(3)中断的概念与术语
◎按中断源进行分类:发出中断请求的设备称为中断源。按中断源的不同,中断可分为
内中断:即程序运行错误引起的中断
外中断:即由外部设备、接口卡引起的中断
软件中断:由写在程序中的语句引起的中断程序的执行,称为软件中断
◎允许/禁止(开/关)中断: CPU通过指令限制某些设备发出中断请求,称为屏蔽中断。从CPU要不要接收中断即能不能限制某些中断发生的角度 ,中断可分为
可屏蔽中断 :可被CPU通过指令限制某些设备发出中断请求的中断
不可屏蔽中断:不允许屏蔽的中断如电源掉电
◎中断允许触发器:在CPU内部设置一个中断允许触发器,只有该触发器置“1”,才允许中断;置“0”,不允许中断。
指令系统中,开中断指令,使中断触发器置“1”
关中断指令,使中断触发器置“0”
◎中断优先级:为了管理众多的中断请求,需要按每个(类)中断处理的急迫程度,对中断进行分级管理,称其为中断优先级。在有多个中断请求时,总是响应与处理优先级高的设备的中断请求。
◎中断嵌套:当CPU正在处理优先级较低的一个中断,又来了优先级更高的一个中断请求,则CPU先停止低优先级的中断处理过程,去响应优先级更高的中断请求,在优先级更高的中断处理完成之后,再继续处理低优先级的中断,这种情况称为中断嵌套。
(4)中断处理过程:一次完整的中断过程由中断请求、中断响应和中断处理三个阶段组成。
◎中断请求:是由中断源发出的并送给CPU的控制信号,由中断源设备通过将接口卡上的中断触发器置“1”完成。
接口卡上还有一个中断屏蔽触发器
中断屏蔽触发器置“1”,表示要屏蔽该设备的中断请求;
中断屏蔽触发器置“0”,表示允许该设备发出中断请求;
◎中断响应:当CPU接到中断请求,若满足下列条件,就会响应中断。
响应中断的条件:
※允许中断触发器为“1”状态;
※ CPU结束了一条指令的执行过程;
※新请求的中断优先级较高;
中断响应要进行的工作:保存程序计数器PC的内容或许包括程序状态字的内容到堆栈(中断隐指令)
◎中断处理过程:
关中断->保存断点保护现场->判中断源转中断服务->开中断->执行中断服务程序->关中断->恢复现场恢复断点->开中断->返回断点
分享到:
相关推荐
中断处理过程包括以下几个步骤: 1. 中断触发:当硬件设备发生事件时,它会通过中断线向CPU发送信号。 2. 中断屏蔽:CPU检查当前是否允许处理此中断,如果被屏蔽,则不响应。 3. 保存现场:CPU保存当前执行的指令...
这个示例包含了中断处理程序的驱动和应用程序,旨在帮助开发者深入理解这一关键概念。 中断是计算机硬件向处理器发送的一种请求,通常表示硬件事件的发生,如键盘输入、网络数据包到达或时钟中断。Linux内核中的...
中断挂起的概念: 1. 因为某种原因,中断不能马上执行,所以“挂起”等待。 2. 等程序可以中断,在执行“响应挂起的中断” 比如有高、低级别的中断同时发生,就挂起低级别中断,等高级别中断程序执行完,在执行低...
中断的优先级管理也是关键,不同的中断源可能有不同的优先级,高优先级的中断可以在低优先级中断处理过程中打断并优先处理。 接下来,我们来看如何配置和管理中断。在DSP中,中断控制器是管理中断的核心组件。它...
在中断处理程序中,CPU可能会使用主程序中使用过的累加器、寄存器或标志位。为了使这些单元的值在中断程序中不被冲掉,在进入中断服务程序前,要将有关寄存器保护起来。例如,使用PUSH指令将累加器ACC和状态字PSW的...
操作系统中的中断机制是计算机系统实现多任务...通过这样的模拟实验,学生能够深入理解中断和中断处理程序在操作系统中的作用,以及它们如何影响进程调度和系统时间管理。这有助于进一步学习和掌握操作系统原理和技术。
### Windows中断处理过程详解 #### 一、概述 在计算机科学领域中,中断处理机制是操作系统内核设计的重要组成部分,特别是在现代多任务操作系统如Windows中更是如此。Windows系统的中断处理流程涉及复杂的硬件与...
但是,这需要用户在编写中断处理服务程序中,应遵循中断服务程序尽量要短的原则。 AVR中断优先级和中断嵌套处理是非常重要的概念,对于AVR单片机的编程和应用有着重要影响。程序员应该充分理解和掌握这些概念,以便...
中断是指当控制系统检测到特定的中断信号,如传感器触发、错误发生或用户请求等,会暂停当前执行的程序,转而执行预设的中断处理程序。这个处理程序专门设计用来应对这些特定情况。处理完成后,控制流会返回到中断前...
中断处理过程中,中断请求首先被中断允许触发器检查,只有当全局中断允许标志位EA为1且对应中断源的中断允许位也被设置,中断请求才会被CPU响应。例如,若要启用定时器1中断,需要设置ET1位,并保持EA为1。中断服务...
在中断处理过程中,需要避免数据竞争和死锁等潜在问题。中断服务程序应尽可能简洁,避免长时间占用CPU。同时,UCOSIII提供了一些机制,如信号量或邮箱,用于在中断服务程序和任务间安全地交换数据。 综上所述,...
本文将详细解析中断服务程序的概念、工作原理,并通过ASM汇编语言程序示例(ISP1.ASM、ISP2.ASM)来阐述中断处理过程。 首先,中断是一种异步通信方式,它允许CPU在执行正常程序流的同时,响应来自外部或内部的紧急...
这个课程设计不仅让学生理解了中断处理的基本概念,还通过实践加深了对中断处理流程和时钟中断处理原理的认识。学生可以根据不同中断事件的性质设计相应的处理策略,培养了分析问题和解决问题的能力,为将来深入学习...
在多核系统中,为了协调各核心的中断处理,引入了中断屏蔽和优先级的概念。中断屏蔽可以阻止某些中断在特定时刻被响应,比如当CPU正在执行关键任务时。优先级机制则决定了哪些中断可以打断当前执行的任务,高优先级...
本文将详细介绍STM32的中断处理机制,包括中断的概念、优先级设置以及如何编写中断服务程序等内容。 #### 二、STM32中断概述 STM32微控制器中的中断处理是一个非常重要的特性,它使得处理器能够响应外部事件或内部...
#### 七、中断处理过程 中断处理的过程可以概括为以下几个步骤: 1. **开启中断**:首先确保全局中断允许标志位和具体中断源的中断允许标志位被设置。 2. **检测中断信号**:当外部或内部事件触发中断信号时,单片机...
本文将详细介绍S7-200 PLC中断处理的基本概念、中断类型、中断指令以及中断处理过程中需要注意的关键点。 #### 中断处理的基本概念 中断是指当某个外部事件发生时,PLC暂停当前正在执行的任务,转而执行预先定义好...
特别是对于时钟中断的模拟,不仅加深了我们对中断概念的理解,还让我们掌握了如何利用中断来实现一些实用的功能,如时间的精确计算和定时任务的执行等。这对于我们进一步学习操作系统以及其他计算机科学领域的知识...
这篇文档深入讲解了Linux系统中中断处理的细节,特别是中断源代码分析,对于理解和优化系统性能至关重要。 首先,我们要理解中断的基本概念。中断是硬件设备向CPU发送的一种请求,通知CPU有紧急任务需要处理,例如...