中断机制
2016-04-14 09:01
399 查看
中断(Interrupt),是指某个事件(例如电源掉电、定点加法溢出或I/O传输结束等)发生时,系统中止现行程序的运行、引出处理该事件的程序进行处理,处理完毕后返回断点,继续执行。
原因:系统必须具有能使多个应用程序任务在CPU上快速转接的能力,具有自动处理计算机系统中发生的各种事故的能力,还需要解决外设和中央处理机之间的通信。
当中断发生时,指令计数器(PC)和处理机状态字(PS)中的内容自动压入处理器堆栈,同时新的PC和PS的中断向量也装入各自的寄存器中。这时,PC中包含的是该中断的中 断处理程序的入口地址,它控制程序转向相应的处理。当中断处理程序执行完毕,该程序的最后一条iret(从中断返回),它控制着回复调用程序的环境。
整个中断处理的功能由硬件和软件配合完成。硬件负责中断响应过程,即发现和相应中断请求,把中断的原因和断点记下来供软件处理时查看,同时负责引出中断处理函数。而中断分析、中断处理等工作由软件的中断处理程序来完成。
中断按照功能可以分为一下5种:
(1)输入输出中断
输入/出中断:是当外部设备或通道操作正常结束或者发生某种错误时所发生的中断。
(2)外中断:
对某台中央处理机而言,它的外部非通道式装置所引起的中断称为外部中断。
(3)机器故障中断:
当机器发生故障时所产生的中断叫硬件故障中断。例如电源故障、通道与主存交换信息时主存出错。
(4)程序性中断:
在现行程序执行过程中,发现了程序性的错误或出现某些特定状态而发生的中断称为程序性中断。
(5)访管中断:
对操作系统提出的某种请求(如请求I/O传输、建立进程等)时发生的中断称为访管中断。
原因:系统必须具有能使多个应用程序任务在CPU上快速转接的能力,具有自动处理计算机系统中发生的各种事故的能力,还需要解决外设和中央处理机之间的通信。
当中断发生时,指令计数器(PC)和处理机状态字(PS)中的内容自动压入处理器堆栈,同时新的PC和PS的中断向量也装入各自的寄存器中。这时,PC中包含的是该中断的中 断处理程序的入口地址,它控制程序转向相应的处理。当中断处理程序执行完毕,该程序的最后一条iret(从中断返回),它控制着回复调用程序的环境。
整个中断处理的功能由硬件和软件配合完成。硬件负责中断响应过程,即发现和相应中断请求,把中断的原因和断点记下来供软件处理时查看,同时负责引出中断处理函数。而中断分析、中断处理等工作由软件的中断处理程序来完成。
中断按照功能可以分为一下5种:
(1)输入输出中断
输入/出中断:是当外部设备或通道操作正常结束或者发生某种错误时所发生的中断。
(2)外中断:
对某台中央处理机而言,它的外部非通道式装置所引起的中断称为外部中断。
(3)机器故障中断:
当机器发生故障时所产生的中断叫硬件故障中断。例如电源故障、通道与主存交换信息时主存出错。
(4)程序性中断:
在现行程序执行过程中,发现了程序性的错误或出现某些特定状态而发生的中断称为程序性中断。
(5)访管中断:
对操作系统提出的某种请求(如请求I/O传输、建立进程等)时发生的中断称为访管中断。
相关文章推荐
- 使用 Libki 来管理公共用户访问计算机
- 微型计算机的始祖:Altair 8800
- 通过手机、电脑远程开关机,Windows和linux机手机,电脑相互控制
- 我的服务器SQL2000的sqlserver占用了90%的cpu,怎么查是那个库?
- MySQL服务器进程CPU占用100%的解决方法
- C#获取CPU编号的方法
- 使用MySQL Slow Log来解决MySQL CPU占用高的问题
- 笔记本下什么是迅驰处理器(cpu)相关资料第1/2页
- doscan.exe进程占用了大量的CPU和内存的解决方法
- php实现用手机关闭计算机(电脑)的方法
- 用IE重起计算机或者关机的示例代码
- 一张图告诉你计算机编程语言的发展历史
- CPU也有远程攻击漏洞 英特尔匆匆修补
- w3wp.exe占用cpu过高的解决方法第1/2页
- win2003中的w3wp.exe进程大量占用cpu资源的各种问题解决方法
- 服务器上w3wp.exe占用cpu过多有时候超过50%的原因分析
- 一个用了统计CPU 内存 硬盘 使用率的shell脚本
- shell脚本监控系统负载、CPU和内存使用情况
- 计算机科学中32个常用的基础算法
- Firefox浏览器狂占CPU解决办法