转载url:http://blog.sina.com.cn/s/blog_553fab3b0100y1sa.html
■看图理解:硬件中断与软件中断(内部中断与外部中断)
1、8086/8088CPU可以处理256种不同类型的中断,每一种中断都给定一个编号(0~255),称为中断类型号,CPU根据中断类型号来识别不同的中断源;
2、中断类型号0~4已有固定对应对象(例如0=除法错误等),中断类型号5~31保留给BIOS;
3、可屏蔽中断请求信号从INTR引脚送往CPU,高电平有效,受IF标志位屏蔽。IF=0时,对于所有从INTR引脚进入的中断请求,CPU均不予响应;若IF=1,则CPU在当前指令周期的最后一个T状态去采样INTR引脚,若有效,CPU将执行两个连续的中断响应周期(送出两个中断响应信号-INTA)对INTR上的中断请求予以响应。在第一响应周期,CPU将地址及数据总线置高阻,并通过-INTA上的负脉冲通知外设中断响应已启动以便在下一响应周期提供中断类型号;在第二响应周期,外设向数据总线输送一个字节的中断类型号,CPU读入后,就可在中断向量表中找到该类型号的中断服务程序的入口地址,转入中断处理。
4、由NMI引脚引入的非屏蔽中断的请求信号是上升沿触发的,中断类型号固定为2,不受IF标志位的屏蔽,一旦出现,CPU立即予以响应;
5、对于非屏蔽中断和软件中断,其中断类型号由CPU内部自动提供,不需去执行中断响应周期读取中断类型号。
6、软件中断也不受IF标志位的屏蔽。
■中断向量表
1、中断向量表是存放中断向量的一个特定的内存区域。中断向量就是中断服务程序的入口地址。对于8086/8088系统,所有中断服务程序的入口地址都存放在中断向量表中。
2、8086/8088可以处理256种中断,每种中断对应一个中断类型号,每个中断类型号与一个中断服务程序的入口地址相对应。每个中断服务程序的入口地址占4个存储单元,其中低地址的两个单元存放中断服务程序入口地址的偏移量(IP);高地址的两个单元存放中断服务程序入口地址的段地址(CS)。256个中断向量要占256×4=1024个单元,即中断向量表长度为1K个单元。8086/8088系统的中断向量表位于内存的前1K字节,地址范围为00000H~003FFH。
■清楚中断、中断服务程序、中断类型码、中断向量(中断服务程序入口地址)、中断向量表的概念
■清楚8259的作用,中断类型码、中断向量(中断服务程序入口地址)与中断向量表的关系
注:最后地址应该是003FFH.