对应每一个中断请求触发器就有一个屏蔽触发器,将所有的屏蔽触发器组合在一起,就成了一个屏蔽寄存器,屏蔽寄存器中的内容称为屏蔽字。在终端服务程序中设置合适的屏蔽字,能起到对优先级别不同的中断源的屏蔽作用。屏蔽技术是可以改变优先等级的。优先级包含响应优先级和处理优先级。响应优先级是CPU响应各中断源请求的优先次序,这种次序一般是硬件线路已经设置好的,不便改动。处理优先级是CPU实际对各中断源请求的处理优先次序。如果不采用屏蔽技术,响应的优先次序就是处理的优先次序。
那么,应该如何设置合适的屏蔽字呢?下面用两个例题来说明如何进行屏蔽字的设置。
例一、某机有四个中断源A、B、C、D,按照中断响应的优先次序由高到低排序为A→B→C→D,现要求中断次序改为A→D→C→B。写出新的屏蔽字。
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
优先级最高,全为1 |
|
|
|
|
|
|
|
|
|
|
|
A、D、C的优先级比B大,所以第1、3、4位是0,其余为1 |
|
|
|
|
|
|
|
|
|
|
|
A、D的优先级比C大,所以第1、4位是0,其余为1 |
|
|
|
|
|
|
|
|
|
|
|
A的优先级比D大,所以第1位是0,其余为1 |
|
|
|
例二、
某机有五个中断源
L0
、
L1
、
L2
、
L3
、
L4
,按中断响应的优先次序由高向低排序为
L0
®
L1
®
L2
®
L3
®
L4
,根据下示格式,现要求中断处理次序改为
L1
®
L4
®
L2
®
L0
®
L3
,根据下面的格式,写出各中断源的屏蔽字。
按照例一的方法,不难得出下表。
各中断源屏蔽状态见下表:
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
表中:设屏蔽位=1,表示屏蔽;屏蔽位=0,表示中断开放。