在计算机系统中,中断(Interrupt)是一种机制,可以使CPU暂停当前指令的执行,转而去执行处理中断的程序。中断向量(Interrupt Vector)是中断系统中一种用来确定中断类型和处理程序入口地址的数据结构。
中断向量是通过中断控制器发送给CPU的,它包含两个信息。一是中断类型,例如是键盘输入中断、定时器中断、硬盘I/O中断等等。二是处理中断的程序入口地址。对于不同的中断类型,处理程序入口地址是不同的,因此中断向量可以帮助CPU成功地识别中断类型,选择对应的中断处理程序并开始中断处理。
为了方便地管理和调用中断向量,系统会为每个中断类型分配一个唯一的中断向量号。中断向量号是一个整数,用来指示中断类型,从0开始顺序编号。中断向量表是一个数组,其中的每个元素存储着对应编号的中断向量的入口地址。当中断处理程序准备运行时,CPU会根据中断向量号查询中断向量表,找到对应的中断向量入口地址并开始执行。
例如,当用户按下键盘上的一个按键时,键盘控制器会检测到这个事件并发出一个中断请求给CPU。CPU接收到中断请求后,会暂停当前执行的指令,并根据中断向量号查找中断向量表。查找到对应的中断向量后,CPU开始执行与该中断向量相关联的中断处理程序,该程序获取键盘输入,并将输入转发给操作系统或应用程序。