如何设置中断屏蔽字

原创 2017年01月03日 15:12:54

对应每一个中断请求触发器就有一个屏蔽触发器,将所有的屏蔽触发器组合在一起,就成了一个屏蔽寄存器,屏蔽寄存器中的内容称为屏蔽字。在终端服务程序中设置合适的屏蔽字,能起到对优先级别不同的中断源的屏蔽作用。屏蔽技术是可以改变优先等级的。优先级包含响应优先级和处理优先级。响应优先级是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,表示中断开放。


版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

设置信号集和信号屏蔽字

信号屏蔽字是指一个进程中当前阻塞而不能够递送给该进程的信号集。 信号集则是一个能表示多个信号的集合的一种数据类型,为sigset_t。 与信号集设置相关的函数有如下几个: #include ...
  • RO_wsy
  • RO_wsy
  • 2012-09-27 17:05
  • 2795

内核并发控制---中断屏蔽 (来自网易)

定义在头文件linux/irqflags.h中; 在单CPU内部避免竞态的一种方法是在进入临界区之前先屏蔽系统的中断,离开临界区之前再恢复系统中断;CPU一般都应该具有打开中断和关闭中断的功能;这项...

我是如何成为一名python大咖的?

人生苦短,都说必须python,那么我分享下我是如何从小白成为Python资深开发者的吧。2014年我大学刚毕业..

linux驱动中的互斥途径一二:中断屏蔽和原子操作

介绍并发解决办法中的 中断屏蔽 和 原子操作

中断屏蔽(经典)

中断由异步的外部事件引起。外部事件及中断响应与正在执行的指令不存在关系。80386有两根引脚INTR和NMI接受外部中断请求信号,INTR接受可屏蔽中断请求。在80386中,标志寄存器EFLAGS中的...

linux不可屏蔽中断异常处理函数定义

set_trap_gate(0,&divide_error);  set_intr_gate(1,&debug);  set_intr_gate(2,&nmi);  set_system_int...
  • wyfwx
  • wyfwx
  • 2011-09-01 18:10
  • 1113

Driver:内核的竞态和并发:中断屏蔽、原子操作、自旋锁、信号量

Linux内核的并发与竞态 《《linux设备驱动 - 第3版》.chm》第5章。     函数的可重入性:         判断一个函数是否有可重入性,关键在于该函数是否使用了全局变量。 ...

锁(一) 中断屏蔽 原子操作

中断屏蔽 单cpu,在单cpu范围内避免竞态的简单方法是在进入临界区之前屏蔽系统的中断。cpu一般都具备屏蔽中断和打开中断 的功能,这项功能可以保证正在执行的内核执行路径不被中断处理程序抢占,防止某些...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)