码迷,mamicode.com
首页 > 其他好文 > 详细

中断与异常

时间:2015-11-05 22:07:17      阅读:268      评论:0      收藏:0      [点我收藏+]

标签:

中断interrupt被定义为一个事件,该事件改变处理器执行的指令顺序。

中断分为同步中断(异常exception)和异步中断(中断interrupt):

同步中断是当指令执行时由CPU控制单元产生的,只有在一条指令终止执行后CPU才会发出中断。

异步中断是由其他硬件设备依照CPU时钟信号随机产生的。

中断是由间隔定时器和I/O设备产生的,如用户的一次按键会引起一个中断。

异常是由程序的错误产生的(内核发出信号来处理异常),或由内核必须处理的异常条件产生的(缺页、int指令、sysenter指令)。

中断信号使CPU停止当前的事情,切换到新的活动。内核态堆栈保存程序计数器的当前值(即eip和cs寄存器的内容)

每个中断和异常由0-255之间的一个数来标识。Intel把这个8位的无符号整数叫一个向量vector。

每个能够发出中断请求的硬件设备控制器都要有一条名为IRQ(Interrupt ReQuest)的输出线。

中断描述符表Interrupt Descriptor Table IDT是一个系统表,它与每一个中断或异常向量相联系,每一个向量在表中有相应的中断或异常处理程序的入口地址。内核在允许中断发生前,必须适当地初始化IDT。

中断与异常

标签:

原文地址:http://www.cnblogs.com/LarryGen/p/4940764.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!