问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

汇编实验中怎样设置8259A各个接口的优先级

发布网友 发布时间:2023-07-25 08:50

我来回答

1个回答

热心网友 时间:2024-10-20 17:19

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发一个一般中断结束命令,8259A就将ISR中当前已置l的最高位复位。因为在一般全嵌套方式下,ISR中当前已置1的级别最高的位对应了最后一次被响应和被处理的中断,也就是当前正在处理的中断,所以,将该位复位相当于结束了当前正在处理的中断。
3)特殊中断结束方式
在特殊全嵌套方式下,不能确定ISR中哪一位是最后置位的,即哪一个中断请求是最后被响应的,这时就要采用特殊中断结束方式。采用这种方式反映在程序中就是要发一条特殊中断结束命令,这个命令中指出了要清除哪个ISR位。特殊中断结束方式可理解*为地将ISR中某一位复位。而一般中断结束方式要复位的ISR位是8259A自动寻找的。
在此,对级联系统中的从片的中断结束处理作一些说明。在将主片设置成特殊全嵌套方式的情况下,从片可能出现中断嵌套,在从片的某中断服务结束时,必须用软件检查被服务的中断是否为该从片惟一的中断。为此,先向从8259A发一个一般的中断结束命令,清除已完成服务的ISR中优先级最高的位,然后再读出ISR的内容,检查它是否为0,如果为0,则向主8259A发一个中断结束命令,清除(主8259A)ISR中与该从片相对应的位(这一步不能忘记);如果从8259A的ISR的内容不为0,则不向主8259A发中断结束命令,该中断返回后,CPU继续为该从片被打断的中断服务。
5.屏蔽中断源的方式
8259A有两种屏蔽中断源方式:普通屏蔽方式和特殊屏蔽方式。前者用得较多,后者仅用于一些特殊应用场合。
1)普通屏蔽方式
在普通屏蔽方式下,将中断屏蔽寄存器IMR的某位置1,则它所对应的中断就被屏蔽,从而使这个中断请求不能由8259A送到CPU。如果IMR某位置0,则允许该中断起作用。
2)特殊屏蔽方式
有些应用场合,希望一个中断服务程序能动态改变系统的优先权结构。例如,在执行中断服务程序的某一部分时,希望禁止较低级的中断请求,而在执行中断服务程序的另一部分时,又能够开放比本身级别低的中断。
为达到这样的目的,自然会想到使IMR中本身对应的位置l,使本级中断受到屏蔽,从而为开放较低的中断提供可能。但是,这样做有一个问题:每当一个中断请求被响应时,就会使ISR对应位置1,只要没有发出中断结束命令,8259A就会禁止所有比它低的中断。所以,尽管当前处理的较高级的中断被屏蔽,但由于ISR位未被复位,较低级的中断请求在发出中断结束命令之前仍然不会得到响应。
引进了特殊屏蔽方式。设置了此方式后,使IMR某位置l,就会同时使ISR的相应位复位。这样,可真正开放级别较低的中断。当然未被屏蔽的更高级中断也可以得到响应。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
个达尔优破鼠标,请问怎么调才玩着顺 智能4k电视哪个牌子好 鼠标连点怎么破 破鼠标简直气死我了 三星4k电视使用一次光纤接口就坏了,怎么办? 破 鼠标!!是不是所有鼠标 只要稍微一接触不良 就停用 必须重起机子呢... 原装三星液晶屏4k惠普电视机多少钱 2015年欧元对换人民币汇率下滑到多少呢 2015年1月下旬欧元兑人民币汇率还能不能上涨 欧元兑换人民币汇率2015年3月份底会回到7吗? 在看报纸,杂志时常见到“接口”、“接口技术”,什么是接口?接口技术又... 所有可编程接口芯片在使用时均需进行初始化吗? 为什么使用可编程接口必须初始化 新买的显示器用到第四天突然不断的出现黑屏显示entering power save... 跟团买到假货如何退-旅游经验本 水结成冰是的温度叫什么点? 恩施跟团买的手镯如何退 米旗迪莉娅,618哪个好 海杆用完后线和铅坠怎么取? 辽阳市站前哪家网吧带包间? 小米6手机开不了机什么原因? 有关发愤图强的成语。越多越好!最少要30个! 怪物猎人崛起双手剑怎么用 双手剑基础使用技巧 前列腺B超检查为60X44X47见少量血流显 前列腺51x45x41严重吗? 请问,金银花和土银花是不是一种中药?假如不是的话,那它们的功效是不是... 已封的多久自动解绑银行卡 被永久封了。绑定的银行卡怎样解绑? 被永久封了。绑定的银行卡怎样解绑? 大连阿满食品有限公司的阿满事迹 汽油机功率2.7kw是多少马力? 汽油机一千瓦等于多少马力 日立240—3和200—3有什么区别 日立240一3挖掘机发动机烧机油历害什么毛病 中阳高速在中山市内几个出口 中山高速公路的相关资讯 为什么车载空调吹出来是热的? 落难俏佳人的介绍 三原县到咸阳市在哪坐车 三原县到咸阳师范学院怎么乘车? 从三原县乘车到咸阳市中心医院在哪下车离的近? 从三原县坐火车到咸阳市火车站坐几路可以到文林路 为何结婚前最容易分手,结婚前期突然不想嫁了 临近结婚男方却不想结婚了? 杰玛仕550山地车多少钱,怎么样? 杰玛仕山地车性价高么? 想买一辆1200左右的山地车,看中了杰玛仕的远征300,不知这辆车如何,这个... 小伙子看见满山上全是钱到银行去换银元这个电视剧叫什么名字 志俊左后视镜片电加热的多少钱一个 张卫健的电影《伦文叙老点柳先开》中张卫健唱的那首歌叫什么名字?_百 ...