问:What is interrupt?
百度百科:中断是指在计算机执行程序的过程中,当出现异常情况或者特殊请求时,计算机停止现行的程序的运行,转而对这些异常处理或者特殊请求的处理,处理结束后再返回到现行程序的中断处,继续执行原程序。
中断源:我们把引起中断的原因,或者能够发出中断请求信号的来源统称为中断源。
中断向量:中断服务程序的入口地址。在某些计算机中,中断向量的位置存放一条跳转到中断服务程序入口地址的跳转指令。
中断向量地址:内存中存放中断服务程序入口地址的地址
矢量中断:某个中断源产生中断时,由硬件直接跳到中断服务程序的入口(需要具备硬件中断向量表)
非矢量中断:产生中断源时,先跳到一个总入口,再有软件查询中断挂起寄存器判断是哪个中断源,然后跳到入口服务程序。例如;arm接受到中断控制器的IRQ请求,cpu响应中断后,将在中断服务寄存器的对应位置位,cpu转到0x18处执行。1
软件中断向量表:在ram区的_ISR_STARTADDRESS处开辟一段空间,设置一张软件设定的中断向量表,用来存放中断和异常的服务程序入口地址。2