中断是一种使CPU中止正在执行的程序而转去处理特殊事件的操作。这些引起中断的事件称为中断源,它们可能是来自外部设备的输入/输出请求,也可能是计算机的一些异常事故或其它内部原因。由外设控制器或协处理器(8087/80287)引起的中断一般称为硬件中断或外中断,由程序中安排的中断指令INT产生的中断,或由CPU的某些错误结果产生的中断称为软件中断或内中断。
8086/8088的中断源如动画所示。图中引线端标示的数字为系统分配的中断类型号。
连到CPU的非屏蔽中断(NMI)是为电源错、内存或I/O总线的奇偶等异常事件的中断保留的,它不受中断允许标志IF的屏蔽,而且在整个系统中只能有一个非屏蔽中断,其中断类型号为2。
外部设备的中断是通过Intel 8259A可编程中断控制器(PIC)连到主机上。CPU通过一组I/O端口控制8259A,而8259A则通过INTR管脚给CPU传送中断信号。多个8259A
PIC可以树形结构连在一起,从而使大量的外部设备顺序连接到CPU的中断系统上。外部设备和8259A PIC的连法是由设计人员规定好的,这种外中断类型的分配由硬件连线实现,因而软件不能对其修改。动画中外设与8259A
PIC的连法是80X86的标准连法。内中断不是由连线接到硬件上的,中断20H到3FH用于调用DOS功能例行程序,其它中断号小于20H或大于3FH的中断,用于调用IBM
PC ROM BIOS或一些应用软件,这些内容在以后的章节中将要陆续讲到。
中断是CPU和外部设备进行输入/输出的有效方法。这种输入/输出方式一直被大多数计算机所采用,它可以避免因反复查询外部设备的状态而浪费时间,从而提高了CPU的效率。
|
|