中断传送方式原理
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、中断传送方式的原理
从原理上看,查询式传送比无条件传送可靠,因此使用场合也较多。但在查询方式下,CPU 不断地读取状态字和检测状态字,如果状态字表明外设未准备好,则CPU 须等待。这些过程占用了CPU 的大量工作时间,而CPU 真正用于传输数据的时间却很少。
另外,用查询方式工作时,如果一个系统有多个外设,那么CPU 只能轮流对每个外设进行查询,而这些外设的速度往往不同。这时CPU 显然不能很好满足各个外设随机性的对CPU 提出的输入输出服务要求,所以,不具备实时性。可见,在实时系统以及多个外设的系统中,采用查询方式进行数据传送往往是不相宜的。
为了提高CPU 的效率和使系统有实时性能,可以采用中断传送方式。在中断传送方式下,外设具有申请CPU 服务的主动权,当输入设备将数据准备好或者输出设备可以接收数据时,便可以向CPU 发出中断请求,使CPU 暂时停下目前的工作而和外设进行一次数据传输。等输入或者输出操作完成以后,CPU 继续进行原来的工作。
二、8088的中断类型8088的中断类型如图所示,中断类型共有256种,包括硬件中断和软件中断。它们均通过中断逻辑向CPU 申请中断。硬件中断是由外部设备产生的,在8088的CPU 引脚中设置了非屏蔽NMI 中断及可屏蔽INTR 中断两个引脚。通常NMI 仅一级,而INTR 还受中断标志IF 状态的控制,INTR 通过中断控制器8259A 向外扩展,可达上百个中断。软件中断是CPU 根据软件中某条指令或软件所设置的某个标志而产生的。
三、NMI,INTR 及软件中断的区别
8088中的各种中断的响应和处理过程是不相同的,但主要区别在于如何获取相应的中断类型码。
对于外部中断,CPU 是在当前指令周期的T 状态采样中断请求输入信号,如果有可屏蔽中断请求,且CPU 处在开中断状态,则CPU 转入两个连续的中断响应周期,在第二个中断响应周期的
状态前沿,采样数据线获取由外设输入的中断类型码。若是采样到非屏蔽中断请求,则CPU 不经过上述两个中断响应周期,而在内部自动产生中断向量号2。
对于内部中断,中断类型码也是自动生成的,对于用户自定义的软件中断INT n 指令,则向量号即为指令中给定的n ,而不需要从外部中断设备中得到中断向量号。软件中断有如下特点:
1、可用一条指令进入中断处理程序,由指令提供中断类型码。
2、通过执行指令进入中断,不需要执行中断响应周期,故也无须从总线上获得中断类型码。
3、何时产生中断,只和中断指令设置有关,不受中断允许标志状态的影响。
4、由于软件中断是由程序中的中断指令引发的,中断指令置于程序的何处,何时执行是事 先知道的,因此软件中断没有随机性,不像硬件中断。
5、外部设备随时都可以发出中断申请。由于软件中断的这个特性,使得在软件中断中,主程序和中断处理子程序间可进行参数传递,相互之间独立性较差。而硬件中断的随机性则又决定了主程序和中断处理子程序之间的关系是相互独立的,只能通过I/O 类指令完成CPU 与外设之间的信息传递。 4
T