第10幸中断和输入/输出程设计 00000 类型O中断服务 IP 程序入口地址 CS 000041 类型1中断服务 程序入口地址 00008 类型2中断服务 程序入口地址 0000C 003FC 类型255中断服务 程序入口地址 003FF 州H02中断失量表
第10章 中断和输入/输出程序设计 图10-2 中断矢量表 00000H … 00004H 00008H … … 0000CH … 003FCH 类型0中断服务 程序入口地址 类型1中断服务 程序入口地址 类型2中断服务 程序入口地址 … 类型255中断服务 程序入口地址 003FFH … I P CS
第10幸中断和输入/输出程设计 采用中断矢量表的方法,CPU可以直接通过中断矢量转 向相应的处理程序,而不必逐个检查和确定中断源,因而加快 了中断处理的速度。80386到 Pentium CPu使用中断描述表IDT 来管理各种中断。当系统工作于实模式时,ⅠDT变为8086中的 中断矢量表
第10章 中断和输入/输出程序设计 采用中断矢量表的方法,CPU可以直接通过中断矢量转 向相应的处理程序,而不必逐个检查和确定中断源,因而加快 了中断处理的速度。80386到Pentium CPU使用中断描述表IDT 来管理各种中断。当系统工作于实模式时,IDT变为8086中的 中断矢量表
第10幸中断和输入/输出程设计 10.22中断矢量的获取 1.中断类型号的获取方法 (1)除法错误、单步中断、非屏蔽中断NM、断点中断和溢 出中断分别自动提供类型号0~5
第10章 中断和输入/输出程序设计 10.2.2 中断矢量的获取 1.中断类型号的获取方法 (1) 除法错误、单步中断、非屏蔽中断NMI、断点中断和溢 出中断分别自动提供类型号0~5
第10幸中断和输入/输出程设计 (2)对于外部中断INTR,可以有两种方法提供中断类型号。 方法1:自己设计接口电路,利用寄存器缓冲器或利用 8212芯片这样的组件存放中断类型号。CPU响应中断后,接口 电路将此类型号送入数据总线,CPU读数据总线从而获得中断 类型号。图10-3给出了实现这一功能的接口电路的方框图
第10章 中断和输入/输出程序设计 (2) 对于外部中断INTR,可以有两种方法提供中断类型号。 方法1:自己设计接口电路,利用寄存器/缓冲器或利用 8212芯片这样的组件存放中断类型号。CPU响应中断后,接口 电路将此类型号送入数据总线,CPU读数据总线从而获得中断 类型号。图10-3给出了实现这一功能的接口电路的方框图
第10幸中断和输入/输出程设计 某一外设的中断类型号可事先由输出指令送入它的中断类 型号寄存器缓冲器或预先将组件(如8212芯片)的引线接好。当 外部设备已准备好数据可以向CPU输送,或外设已准备好可以 接收来自CPU的信号时,状态信号线上发一脉冲信号,经中断 请求触发器向CPU的INTR线发出中断请求,CPU响应中断后, 进入中断响应周期,发ⅠTA信号,此信号将已预先装入的或由 硬件芯片提供的中断矢量号送入数据总线,CPU即可读得。在 中断服务程序中可以安排与此外设的数据交换。 可通过将图10-3中的中断屏蔽触发器设置为1或为0来控制 是否让外设发中断请求
第10章 中断和输入/输出程序设计 某一外设的中断类型号可事先由输出指令送入它的中断类 型号寄存器/缓冲器或预先将组件(如8212芯片)的引线接好。当 外部设备已准备好数据可以向CPU输送,或外设已准备好可以 接收来自CPU的信号时,状态信号线上发一脉冲信号,经中断 请求触发器向CPU的INTR线发出中断请求,CPU响应中断后, 进入中断响应周期,发INTA信号,此信号将已预先装入的或由 硬件芯片提供的中断矢量号送入数据总线,CPU即可读得。在 中断服务程序中可以安排与此外设的数据交换。 可通过将图10-3中的中断屏蔽触发器设置为1或为0来控制 是否让外设发中断请求