1、第第7 7章章 中断技术中断技术7.1 7.1 中断概述中断概述7.2 80867.2 8086中断系统中断系统7.3 7.3 可编程中断控制器可编程中断控制器8259A8259A7.1 7.1 中断概述中断概述7.1.1 7.1.1 中断源中断源 发出中断请求的外部设备或引发中断的原因(事件)称为中断源。发出中断请求的外部设备或引发中断的原因(事件)称为中断源。由处理机的外部设备产生的中断事件称为外部中断源。内部中断源引由处理机的外部设备产生的中断事件称为外部中断源。内部中断源引发的中断称为内中断,外部中断源引发的中断称为外中断。中断源有发的中断称为内中断,外部中断源引发的中断称为外中断。中
2、断源有如下分类:如下分类:(1 1)外设中断。)外设中断。(2 2)硬件故障中断。)硬件故障中断。(3 3)指令中断。)指令中断。(4 4)程序性中断。)程序性中断。1.1.中断优先级及中断嵌套中断优先级及中断嵌套 外部设备的中断请求是随机的,因此,可能会同时有多个外外部设备的中断请求是随机的,因此,可能会同时有多个外设发出中断请求,而设发出中断请求,而CPUCPU一个时刻只能响应处理一个中断源的请一个时刻只能响应处理一个中断源的请求。这就用到了中断优先级这个概念。根据各个外设在系统中求。这就用到了中断优先级这个概念。根据各个外设在系统中的重要性的不同,将它们进行排队,并给出顺序编号,靠前的的
3、重要性的不同,将它们进行排队,并给出顺序编号,靠前的就是高优先级。这样,当多个中断源同时向就是高优先级。这样,当多个中断源同时向CPUCPU发出中断请求的发出中断请求的时候,优先级高的优先响应。时候,优先级高的优先响应。7.1.2 7.1.2 中断控制中断控制软件查询方式软件查询方式菊花链式菊花链式专用硬件方式专用硬件方式2.2.优优先级先级判断判断方法方法图图 7-1 7-1 软件查询接口图软件查询接口图图图7-3 7-3 菊花链硬件排队电路菊花链硬件排队电路7.2 80867.2 8086中断系统中断系统7.2.1 80867.2.1 8086中断的分类中断的分类图图7-4 8086/80
4、887-4 8086/8088系统中断的分类系统中断的分类1 1)内部中断)内部中断 (1 1)除法错中断;)除法错中断;(2 2)单步中断;)单步中断;(3 3)溢出中断;)溢出中断;(4 4)用户定义的软件中断)用户定义的软件中断“INT n”INT n”;(5 5)断点中断。)断点中断。2 2)外部中断)外部中断 (1 1)非屏蔽中断;)非屏蔽中断;(2 2)可屏蔽中断。)可屏蔽中断。所有内部中断,包括内部微处理器中断和软件中断的优先级最高,其次所有内部中断,包括内部微处理器中断和软件中断的优先级最高,其次是非屏蔽中断是非屏蔽中断NMINMI,可屏蔽中断,可屏蔽中断INTRINTR,单步
5、中断优先级最低。图,单步中断优先级最低。图7-57-5给出了中给出了中断优先级顺序。断优先级顺序。图图7-5 7-5 各类中断源的优先级各类中断源的优先级7.2.2 7.2.2 中断向量和中断向量表中断向量和中断向量表1.1.中断向量表的组成中断向量表的组成 对于对于8086/80888086/8088来说,总共包含来说,总共包含256256个中断源的中断向个中断源的中断向量存放在内存最底端开始的一段连续区域。其中,每个中量存放在内存最底端开始的一段连续区域。其中,每个中断向量占断向量占4 4个字节,前两个单元(低地址)放入口的偏移量,个字节,前两个单元(低地址)放入口的偏移量,后两个单元(高
6、地址)存放入口的段基址,后两个单元(高地址)存放入口的段基址,256256个中断向量个中断向量共需共需1 0241 024个单元。个单元。808x808x系列中断向量表的地址范围为系列中断向量表的地址范围为00000H00000H003FFH003FFH,IntelIntel保留前保留前3232个中断向量,为个中断向量,为IntelIntel各各种微处理器系列成员所专用;最后种微处理器系列成员所专用;最后224224个中断向量可作为用个中断向量可作为用户自定义的中断向量。户自定义的中断向量。图图7-6 7-6 中断向量表中断向量表2.CPU2.CPU获取中断类型码的方法获取中断类型码的方法1
7、1)内部微处理中断)内部微处理中断 内部微处理中断(包括除法出错中断、单步中断、溢出中断、断点内部微处理中断(包括除法出错中断、单步中断、溢出中断、断点中断等)在中断源产生中断请求时,系统直接通过内部硬件电路自动提中断等)在中断源产生中断请求时,系统直接通过内部硬件电路自动提供中断类型号,转向相应的中断服务程序去执行。供中断类型号,转向相应的中断服务程序去执行。2 2)软件中断)软件中断“INT n”INT n”软件中断在指令的机器码中提供中断类型码。例如:软件中断在指令的机器码中提供中断类型码。例如:INT 21H INT 21H ;执行;执行2121号中断号中断3 3)外部可屏蔽中断()外
8、部可屏蔽中断(INTRINTR)通过外部硬件向通过外部硬件向CPUCPU提供中断类型码。外部设备通过提供中断类型码。外部设备通过I/OI/O接口向接口向CPUCPU请求中断,外部设备把中断类型码放在请求中断,外部设备把中断类型码放在I/OI/O接口的寄存器中,接口的寄存器中,CPUCPU响应中响应中断后通过总线取得类型码。也可以利用可编程的中断控制器断后通过总线取得类型码。也可以利用可编程的中断控制器8259A8259A,其,其IR0IR0IR7IR7可接收可接收8 8个外部设备的中断请求。个外部设备的中断请求。CPUCPU响应中断后,发出中断响响应中断后,发出中断响应信号应信号INTAINT
9、A送到送到8259A8259A,8259A8259A把中断类型码放在总线上,然后把中断类型码放在总线上,然后CPUCPU通过通过总线取得中断类型码。总线取得中断类型码。7.3 7.3 可编程中断控制器可编程中断控制器8259A8259A7.3.1 8259A7.3.1 8259A中断控制器内部逻辑结构中断控制器内部逻辑结构图图7-7 8259A7-7 8259A内部结构图内部结构图7.3.2 8259A7.3.2 8259A中断控制器外部引脚中断控制器外部引脚8259A 8259A 是双列直插式芯片,共是双列直插式芯片,共2828个引脚,如图个引脚,如图7-87-8所示。所示。图图7 8825
10、9A7 88259A引脚图引脚图7.3.37.3.3 8259A8259A的工作方式的工作方式 1.1.优先级的设置方式优先级的设置方式 1 1)全嵌套方式)全嵌套方式 2 2)特殊全嵌套方式)特殊全嵌套方式 3 3)优先级自动循环方式)优先级自动循环方式 4 4)优先级特殊循环方式)优先级特殊循环方式2.2.中断结束方式(中断结束方式(EOIEOI)1 1)自动结束方式)自动结束方式 2 2)一般中断结束方式)一般中断结束方式 3 3)特殊中断结束方式)特殊中断结束方式3.3.总线连接方式总线连接方式 1 1)缓冲方式)缓冲方式 2 2)非缓冲方式)非缓冲方式 1.1.初始化命令字初始化命令
11、字ICWICW8259A8259A的初始化编程的初始化编程需要需要CPUCPU向它输出向它输出2 24 4个字节的初始化命个字节的初始化命令字,流程图如图令字,流程图如图7-7-9 9所示。其中,所示。其中,ICW1ICW1和和ICW2ICW2是必需的,是必需的,ICW3ICW3和和ICW4ICW4可以根据可以根据需要选择。需要选择。图图7-9 8259A7-9 8259A初始化流程初始化流程7.3.47.3.4 8259A8259A初始化编程初始化编程1 1)ICW1ICW1ICW1ICW1的写入如图的写入如图7-107-10所示。所示。图图7-10 ICW17-10 ICW1命令字命令字2
12、 2)ICW2ICW2 ICW2 ICW2是设置中断类型码的初始化命令字,各位的写入格式如图是设置中断类型码的初始化命令字,各位的写入格式如图7-7-1111所示。所示。在在8086/80888086/8088系统中,系统中,D7D3D7D3表示中断类型码的高表示中断类型码的高5 5位,在位,在PC/ATPC/AT机机中其值是固定的,为中其值是固定的,为00001B00001B。在中断响应周期内,依据此命令和。在中断响应周期内,依据此命令和8259A8259A可自动写入可自动写入IR0IR7IR0IR7的类型编码,形成当前中断服务优先级所对应的中的类型编码,形成当前中断服务优先级所对应的中断类
13、型码。断类型码。图图7-11 ICW27-11 ICW2命令字命令字 3 3)ICW3ICW3 ICW3 ICW3用于用于8259A8259A的级联,如果系统中只有一片的级联,如果系统中只有一片8259A8259A,就不用,就不用ICW3ICW3;若含有多片,则主片;若含有多片,则主片8259A8259A和从片和从片8259A8259A都需要写入都需要写入ICW3ICW3。A0=1A0=1,表示此命令必须写入奇地址中。主从片的写入格式不同,表示此命令必须写入奇地址中。主从片的写入格式不同,如图如图7-127-12所示。所示。图图7-12 ICW37-12 ICW3命令字命令字4)ICW44)I
14、CW4 ICW4 ICW4为中断结束方式命令字,写入格式如图为中断结束方式命令字,写入格式如图7-137-13所示。所示。ICW4ICW4在初始化时不一定写入,只有当在初始化时不一定写入,只有当ICW1ICW1的的D0D0位为位为1 1时才需写入。时才需写入。图图7-13 ICW47-13 ICW4命令字命令字 5)PC/AT 5)PC/AT中断控制器的初始化编程中断控制器的初始化编程 在在PC/ATPC/AT中,中,8259A8259A以两片级联的方式管理以两片级联的方式管理1515级向量中断,级向量中断,它们与总线控制器的硬件连接如图它们与总线控制器的硬件连接如图7-147-14所示。所示
15、。图图7-14 8259A7-14 8259A的级联与总线控制器的连接的级联与总线控制器的连接 2.2.操作命令字操作命令字OCWOCW 1 1)OCW1OCW1 OCW1 OCW1是中断屏蔽操作命令字,其每一位可以对相应的中断请求输是中断屏蔽操作命令字,其每一位可以对相应的中断请求输入线进行屏蔽,是针对有多个中断源的存在而设置的,如图入线进行屏蔽,是针对有多个中断源的存在而设置的,如图7-157-15所示。所示。图图7-15 OCW17-15 OCW1命令字命令字 2 2)OCW2OCW2 OCW2 OCW2用于控制中断结束、自动循环和特殊循环的操作方式。图用于控制中断结束、自动循环和特殊循
16、环的操作方式。图7-7-1616说明了它的功能。说明了它的功能。D4D4和和D3D3必须为必须为0 0,作为写入,作为写入OCW2OCW2的标志,其他各的标志,其他各位含义如下:位含义如下:图图7-16 OCW27-16 OCW2命令字命令字 3 3)OCW3OCW3 OCW3 OCW3主要用于控制主要用于控制8259A8259A的运行方式,具体包括的运行方式,具体包括3 3个方面:个方面:一是设置和撤销特殊屏蔽方式;二是设置自动查询方式;三是一是设置和撤销特殊屏蔽方式;二是设置自动查询方式;三是用来设置对用来设置对8259A8259A内部寄存器的命令。各位功能如图内部寄存器的命令。各位功能如图7-177-17所示。所示。图图7-17 OCW37-17 OCW3命令字命令字 本章的重点和难点是中断的响应过程、中断系统的基本章的重点和难点是中断的响应过程、中断系统的基本类型及可编程中断控制器本类型及可编程中断控制器8259A8259A。中断技术极大地提高。中断技术极大地提高了了CPUCPU的运行效率,在微机原理与接口技术中占有重要的的运行效率,在微机原理与接口技术中占有重要的地位。在学习中,既要掌握硬件结构,也要能够通过编程地位。在学习中,既要掌握硬件结构,也要能够通过编程实现相应的中断控制。实现相应的中断控制。本章小结本章小结