您好、欢迎来到现金彩票网!
当前位置:彩之网 > 中断屏蔽 >

中断线屏蔽与禁用什么区别

发布时间:2019-06-19 11:31 来源:未知 编辑:admin

  本上每个CPU在其关键控制寄存器有一位用于控制中断enable/disable

  中断禁用,就是把这个bit disable;如果这一bit被清掉了,整个系统中断就不可能发生

  中断控制器里有个寄存器叫中断屏蔽寄存器MASK;基本上每一个中断源在MASK寄存器里有一个屏蔽位;如果这一位被设置,这个中断源就被屏蔽了。即使这个中断源产生了有效的中断信号,它也不会被处理。程序运行就不会受这一中断影响

  local_irq_disable就是调用的汇编指令 cli,所以是屏蔽中断。(屏蔽当前处理器上的本地中断,会产生中断信号,但不处理)

  8259A的工作方式 8259A对中断的管理涉及多个方面,因此它有多种工作方式,如中断嵌套方式、优先级管理方式、中断结束方式、中断屏蔽方式等。由于8259A是一个可编程的芯片,所以这些方式都可以通过编程方法设置,用户可根据自己的需要选择相应的工作方式。 1.编程角度看8259A 用户(程序员)在使用一个可编程接口或控制芯片时,一般是从编程角度看,对8259A也是如此,它有10个可编程寄存器,可分成两组。一组是在内部结构框图(图5.8)中明显表示的,它们是中断请求寄存器IRR、中断屏蔽寄存器IMR和正在服务寄存器ISR。这3个寄存器的作用前面已经介绍了。另一组在内部结构框图中没有被表示,属于内部寄存器,它们是4个初始化命令寄存器和3个操作命令寄存器。初始化命令寄存器用来存放初始化命令字,4个初始化命令字分别为Icwl~ICW4(Initial Command Word)。在对8259A进行初始化编程时,要根据需要写入相应的初始化命令字。一旦初始化完成,8259A就按照这些初始化命令字来管理外部的8级中断。在8259A工作期间,可通过操作命令字对它进行必要的干预,使其改变某方面的工作方式。操作命令字有三种:OCWl~OCW3(Operation Commancd word),它们被存放在操作命令寄存器中。 2.中断嵌套方式 8259A的嵌套方式有两种:一般全嵌套方式和特殊全嵌套方式。 1)一般全嵌套方式 一般全嵌套方式是8259A最常用和最基本的一种嵌套方式,如果对8259A初始化后没有用操作命令字设置为其他嵌套方式,则8259A就自动按一般全嵌套方式工作。在这种方式下,在为某中断服务期间禁止同级和较低级的中断请求,而较高级的中断请求仍可经INT端向CPU提出。 2)特殊全嵌套方式 特殊全嵌套方式与一般全嵌套方式的区别在于:在为某中断服务期间不禁止同级的中断请求,即允许同级的和较高级的中断进入。这种方式所要解决的问题是:在多片级联的情况下,当某从片的中断得到响应、进入中断服务期间,来自该从片的更高级的中断请求仍能为主8259A所识别(对主8259A来说,同一从8259A的8个中断都是一个级别),并向CPU提出请求。所以,在级联的情况下,主片应设置为特殊全嵌套方式,从片一般设置为一般全嵌套方式。 3.优先级方式 1)固定优先级 这是大多数应用中采用的优先级方式。在该方式下,各中断源的优先级是固定的:IR0最高,IRl次之,然后依次降低级别。 2)优先级自动循环方式 在该方式下,某一中断源的请求被响应后,其优先级自动降为最低,其他中断源的优先级也随之改变。例如,IR4提出请求并得到响应后,自动降为最低优先级,IR5变为最高优先级,优先级从高向低依次为:IR5、IR6、IR7、IR0、IRl、IR2、IR3、1R14。 8259A设置为优先级自动循环方式后,最初的优先级是:IR0最高、IR7最低,其他依次类推。 该方式适用于系统中多个中断源的优先级相等(难以分清它们的级别)的情况,使得各中断源的请求得到响应的机会均等。 3)优先级特殊循环方式 该方式是通过编程(OCW2)人为地指定某个中断源的优先级降为最低,其他中断源的级别也随之改变。 4.中断结束方式 当某一个中断请求被CPU响应后,该中断在ISR中的相应位被置位,表示CPU正在为该中断服务。在中断服务结束、中断返回之前的适当时刻应将该ISR位复位,否则8259A就不能响应该中断源新的请求。这项工作称为中断结束处理。中断结束的方式分自动结束和非自动结束两种,而非自动结束方式又有一般中断结束和特殊中断结束之分。 1)自动中断结束方式 该方式需要通过ICW4设置。设置成该方式后,对每一个中断,在中断响应时(对8086/8088,是在第二个中断响应周期的INTA的后沿时),由8259A自动将ISR对应位清除。当然,为该中断的服务并不因此而受到影响。这种方式是为没有经验的程序员忘了在中断服务程序中给出中断结束命令而设立的。 2)一般中断结束方式 这种方式配合一般全嵌套方式使用。采用这种方式反映在程序中是在具体的中断服务已做完、返回之前向8259A发一个一般中断结束命令,8259 动感居知识百科答~

http://ando2.com/zhongduanpingbi/134.html
锟斤拷锟斤拷锟斤拷QQ微锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷微锟斤拷
关于我们|联系我们|版权声明|网站地图|
Copyright © 2002-2019 现金彩票 版权所有