屏蔽技术是什么 屏蔽触发器介绍

描述

•1)屏蔽触发器和屏蔽字:程序中断接口威廉希尔官方网站 中,完成触发器D,中断请求触发器INTR和屏蔽触发器MASK。

在程序中断接口威廉希尔官方网站 中,有三个重要的组成部分:完成触发器D,中断请求触发器INTR和屏蔽触发器MASK。这些组件都扮演着各自的角色,以实现程序中断处理的功能。

完成触发器D:当设备工作完成时,会将D置为1,这表示中断源已经准备好向CPU发送中断请求。

中断请求触发器INTR:当设备发出中断请求时,INTR会被置为1。这个触发器是用来向CPU发送中断请求的。

屏蔽触发器MASK:每个中断源都有一个与之对应的屏蔽触发器,如果该中断源被屏蔽(即MASK=1),那么即使INTR被置为1,CPU也不会响应这个中断请求。换句话说,屏蔽触发器可以阻止特定的中断源向CPU发送中断请求。

所有的屏蔽触发器组合在一起,构成了屏蔽寄存器。

•当中断源被屏蔽时(MASK=1),此时即使D=1,中断查询信号到来时刻只能将INTR置“0”,CPU接收不到该中断源的中断请求,即它被屏蔽。

•若该中断源未被屏蔽(MASK=0),当设备工作已完成时(D=1),中断查询信号则将INTR置“1”,表示该中断源向CPU发出中断请求,

•该信号送至排队器进行优先级判断。显然,对于每个中断请求触发器就有一个屏蔽触发器,将所有屏蔽触发器组合在一起,便构成了一个屏蔽寄存器。屏蔽寄存器的内容称为屏蔽字。屏蔽字与中断源的优先级是一一对应的。

•2)屏蔽技术可改变优先等级:严格地说,优先级包含响应优先级和处理优先级。响应优先级是指CPU响应各中断源请求的优先次序,这种次序往往是硬件线路已设置好的,不便于改动。
处理优先级是指CPU实际对各中断源请求的处理优先次序。如果不采用屏蔽技术,响应的优先次序就是处理的优先次序。采用了屏蔽技术后,可以改变CPU处理各中断源的优先等级,从而改变CPU执行程序的轨迹。

例如,A、B、C、D 这4个中断源的优先级别按A-》B-》C-》D降序排列,根据这一次序,CPU执行程序的轨迹如下图所示。当4个中断源同时提出

程序

在不改变CPU响应中断的次序下,通过改变屏蔽字可以改变CPU处理中断的次序。例如,更改上述4个中断源的屏蔽字将其处理次序更改为:

程序

程序

CPU在运行程序的过程中,若A、B、C、D4个中断源同时提出请求,按照中断级别的高低,CPU首先响应并处理A中断源的请求,由于A的屏蔽字是1111,屏蔽了所有的中断源,故A程序可以全部执行完,然后回到主程序。

由于B、C、D的中断请求还未响应,而B的响应优先级高于其他,所以CPU响应B的请求,进入B的中断服务程序。

在B的服务程序中,由于设置了新的屏蔽字0100,即A、C、D可打断B,而A程序已执行完,C的响应优先级高于D,于是CPU响应C,进入C的服务程序。

在C的服务程序中,由于设置了的屏蔽字0110,即A、D可打断C,A已执行于是CPU响应D,执行D的中断服务程序。

D一直做完后回到C程序,C程序执行完后,回到B程序。

B程序做完后,回到主程序。

在中断处理过程中,CPU首先会检查INTR,如果INTR为1,那么CPU会进一步检查对应的屏蔽触发器(MASK),如果MASK也为1,那么该中断源的中断请求会被屏蔽,CPU不会响应;如果MASK为0,那么CPU会响应这个中断请求,转去执行对应的中断服务程序。

这个过程是自动进行的,不需要程序员明确地编写相关的指令。在硬件设计中,程序员需要根据实际需求来设置INTR、D和MASK的值,以实现正确的中断处理。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分