• 内容讲解

根据计算机系统对中断处理策略的不同,中断系统可以分为单级中断系统和多级中断系统。单级中断系统是中断结构中最基本的形式。

在单级中断系统中(图7-3),所有的中断源都属于同一级,所有中断源触发器排成一行,其优先次序是离CPU越近优先级越高。当响应某一中断请求时,CPU执行该中断源的中断服务程序,在此过程中,中断服务程序不允许被其他中断源所打断,即使优先级比它高的中断源也不例外,只有当该中断服务程序执行完毕之后,才能响应其他中断。

713.gif

多级中断系统是指计算机系统中的多个中断源,根据中断事件的轻重缓急程度不同而分成若干个级别,每一个中断级分配一个优先级。一般而言,优先级高的中断级可以打断优先级低的中断服务程序,以程序嵌套方式进行工作。中断嵌套是指当一个中断服务程序正在执行时,一个优先级比它更高的中断源发出中断请求,CPU暂停当前中断服务程序的执行,转而执行优先级更高的中断服务程序,如图7-4所示。图中,CPU嵌套响应了系统中的两个中断服务程序。多级中断的出现,扩大了系统中断功能,进一步加强了系统处理紧急事件的能力。

714.gif

为了能够及时处理最为紧迫的中断,必须判断多级中断中哪个中断的优先级更高,通常可采用以下两种处理方法:

1. 软件查询法

所谓软件查询法,就是采用程序查询技术来确定发出中断请求的中断源及其中断优先级。最先查询的中断具有最高优先级,最后查询的中断则为最低优先级。因此,查询的先后顺序决定了中断优先级的高低。如果中断请求正好来源于最后查询的那个中断,那么就浪费了此前的大量查询时间,因此,软件查询的效率很低。

2. 硬件处理法

为了提高处理效率,通常采用硬件处理方法,即采用优先级排队电路或专用中断控制器等硬件电路来管理中断。