如何设置中断屏蔽字

对应每一个中断请求触发器就有一个屏蔽触发器,将所有的屏蔽触发器组合在一起,就成了一个屏蔽寄存器,屏蔽寄存器中的内容称为屏蔽字。在终端服务程序中设置合适的屏蔽字,能起到对优先级别不同的中断源的屏蔽作用。屏蔽技术是可以改变优先等级的。优先级包含响应优先级和处理优先级。响应优先级是CPU响应各中断源请求的优先次序,这种次序一般是硬件线路已经设置好的,不便改动。处理优先级是CPU实际对各中断源请求的处理优先次序。如果不采用屏蔽技术,响应的优先次序就是处理的优先次序。

那么,应该如何设置合适的屏蔽字呢?下面用两个例题来说明如何进行屏蔽字的设置。

例一、某机有四个中断源A、B、C、D,按照中断响应的优先次序由高到低排序为A→B→C→D,现要求中断次序改为A→D→C→B。写出新的屏蔽字。

 

中断源

原屏蔽字

 

新屏蔽字

 

A

1

1

1

1

 

A

1

1

1

1

优先级最高,全为1

B

0

1

1

1

 

B

0

1

0

0

A、D、C的优先级比B大,所以第1、3、4位是0,其余为1

C

0

0

1

1

 

C

0

1

1

0

A、D的优先级比C大,所以第1、4位是0,其余为1

D

0

0

0

1

 

D

0

1

1

1

A的优先级比D大,所以第1位是0,其余为1

A→B→C→D

 

A→D→C→B

 

例二、某机有五个中断源L0L1L2 L3L4,按中断响应的优先次序由高向低排序为L0® L1®L2®L3®L4,根据下示格式,现要求中断处理次序改为L1®L4®L2®L0®L3,根据下面的格式,写出各中断源的屏蔽字。

按照例一的方法,不难得出下表。

各中断源屏蔽状态见下表:

中断源

屏蔽字

 

 

0

1

2

3

4

I0

1

0

0

1

0

I1

1

1

1

1

1

I2

1

0

1

1

0

I3

0

0

0

1

0

I4

1

0

1

1

1

表中:设屏蔽位=1,表示屏蔽;屏蔽位=0,表示中断开放。


你可能感兴趣的:(计算机组成原理)