CPU对中断源做出反应后 暂停正在执行的程序 下一步要做的是 (cpu对中断优先级的判定原则)
本文目录导航:
CPU对中断源做出反应后,暂停正在执行的程序,下一步要做的是?
保存当前所有寄存器的状态,然后处理中断请求以下内容来自Wikipedia:中断处理过程在实际运行中,一旦设备通过某引脚N向8259A发出中断指令,后者便向8086A的INTR引脚发送中断信号。
8086A通过INTA引脚通知8259A中断有效(这个过程实际上还包括对此8259A的选址),后者即通过地址总线将对应引脚N的中断类型码(已预先存好,见上节)发送给CPU。
CPU得到中断类型码后,先进行现场保护,主要包括:1.状态寄存器FLAGS压栈(同时堆栈寄存器SP-2);2.关闭中断(将FLAGS寄存器的IF位置零);3.将当前代码段寄存器CS和程序计数器IP压栈(同时堆栈寄存器SP-4)。
现场保护完成后,CPU开始按照前述的两步骤翻译中断程序入口地址。
在得到中断处理程序地址之后但调用中断处理程序之前,CPU会再检查一下NMI引脚是否有信号,以防在刚才的处理过程中忽略了可能的NMI中断。
NMI的优先级始终高于INTR。
中断处理程序虽然是由程序员编写,但须循一定规范。
作为例程,中断处理程序应该先将各寄存器信息(除了IP和CS,此二寄存器现已指向当前中断程序)压入堆栈予以保存,这样才能在中断处理程序内部使用这些寄存器。
在程序结束时,应该按与压栈保护时相反的顺序弹出各寄存器的值。
中断程序的最后一句始终是IRET指令,这条指令将栈顶6个字节分别弹出并存入IP、CS和FLAGS寄存器,完成了现场的还原。
当然,如果是操作系统的中断处理程序,则未必——通常不会——还原中断前的状态。
这样的中断处理程序通常会在调用完寄存器保存例程后,调用进程调度程序(多由高级语言编写),并决定下一个运行的进程。
随后将此进程的寄存器信息(上次中断时保存下来的)存入寄存器并返回。
在中断程序结束之后,主程序也发生了改变。

中断触发是通过什么电路
中断触发主要是通过中断请求电路(或中断控制器)来实现的。
在计算机系统中,中断是一种重要的机制,它允许CPU在执行程序时,能够响应来自外部设备或内部异常的事件。
这些事件可能是硬件故障、数据准备就绪、定时器超时等。
为了实现中断处理,系统需要有一个专门的电路或控制器来管理中断请求和优先级。
中断请求电路是连接在CPU和外部设备之间的硬件接口。
当外部设备需要CPU的服务时,它会通过中断请求线向中断控制器发送一个信号。
中断控制器会评估这个请求,并根据其优先级和当前的系统状态,决定是否将这个请求传递给CPU。
如果CPU当前处于允许中断的状态,并且没有其他更高优先级的中断正在处理,那么中断控制器就会通过中断线向CPU发送一个中断信号。
CPU在接收到中断信号后,会暂停当前程序的执行,保存现场信息,然后跳转到预定义的中断处理程序(或中断服务例程)去执行。
中断处理程序会处理引发中断的事件,完成后,CPU会恢复现场信息,并返回到原来的程序继续执行。
以键盘输入为例,当用户按下键盘上的一个键时,键盘控制器会产生一个中断请求,并通过中断请求电路发送给中断控制器。
中断控制器在接收到请求后,会将其转换为CPU能够识别的中断信号,并发送给CPU。
CPU在接收到中断信号后,会暂停当前的任务,转而执行键盘输入的中断处理程序,读取按键信息,并将其存储在内存中。
完成后,CPU会返回到原来的任务继续执行。
什么是计算机中断
计算机中断是现代计算技术中的一个关键概念,它确保了计算机能够高效地响应突发事件。
就像在日常生活中,当我们正在做某件事时,电话铃声突然响起,我们不得不暂时放下手中的工作接听电话,处理完后再回到原来的任务。
这种暂停当前任务,去处理更为紧急情况的过程,就是中断。
在计算机系统中,中断请求是由各种硬件或软件事件触发的,比如硬件故障、用户输入、网络数据包到达等。
这些事件会暂时打断正在执行的程序流程,使得系统能够执行预先准备好的中断处理程序,从而确保系统的稳定性和可靠性。
计算机中的中断机制通过中断控制器来实现,它可以捕捉到各种中断请求,并按照优先级进行处理。
一旦某个中断请求被捕捉到,处理器会保存当前的程序状态,切换到中断处理程序,处理完毕后再返回到原来的程序执行点。
这个过程包括中断的识别、中断处理程序的调用和中断返回。
通过这种方式,计算机能够高效地响应外部事件,提高了系统的灵活性和响应速度。
中断处理程序通常包括中断服务例程,这些例程能够快速响应并处理各种突发情况。
例如,当磁盘驱动器完成数据传输时,会发送一个中断请求,中断处理程序会负责更新内存中的数据状态,确保数据的正确性和一致性。
同时,中断处理程序也可以用于错误处理,如检测到硬件故障或软件错误时,中断处理程序会立即采取措施,防止系统崩溃或数据丢失。
中断机制在现代操作系统和应用程序中发挥着重要作用,它不仅提高了系统的响应速度,还增强了系统的稳定性和安全性。
通过合理的中断处理策略,计算机能够高效地管理各种突发事件,确保系统的正常运行。
这一机制的应用范围非常广泛,从简单的个人计算机到复杂的服务器系统,都可以看到中断技术的身影。
在计算机系统中,中断处理机制是一项复杂但极其重要的技术,它确保了系统能够高效、稳定地运行。
通过中断控制器的协调,计算机能够快速响应各种外部事件,保证系统的可靠性和灵活性。
这一机制不仅在操作系统层面发挥作用,也在许多实际应用中得到了广泛应用,提高了系统的整体性能和用户体验。