中断事件所分的三个级别有什么关系,那里可以体现出级间的优先.
书上说同一个级别里中断要队列,而且又说中断程序一旦执行了就不能被中断.
那么:当正在执行一个中断的过程中先发生时间中断,然后发生了通讯中断.这时队列是什么样呢?这样,当正在执行的这个中断完成后会执行什么呢?
问题补充:
--------
9月8日
鼠:那么级别的区别就仅只反映在队列的时候了?
--------
补充这个问题不用回答了.留给自己验证吧.相信我选这个为最佳答案大家应该没有异议吧.
最佳答案
中断队列应对的是几乎同时发生的中断事件,按照级别高低排列,顺序执行。在出现队列的情况下,如有级别高的中断发生,它可以插队获得优先权,但不能打断现时运行的中断程序,必须等待现时中断程序结束,不管它的级别高低如何。现时中断程序结束后,将响应队列中级别最高的中断请求。
在出现中断排队时,高等级的中断总是优先于低等级中断;同一等级的也有级别之分,同样排队。这如同将官、校官、尉官几个大级别,而大级别中又分大、中、少等小级别。
提问者对于答案的评价:
接纳.不过理由是否有出处.答案我一定考究.谢谢!
专家置评
前面的回答有问题。对于中断而言,同一优先级不同中断号的中断在前一个中断没有执行完毕时,其进入中断队列按顺序执行。当同一优先级同一中断号的中断再次发生时如前一同一优先级同一中断号的中断还没完成时其将丢失。当一中断在执行过程中如发生了更高级别的中断时,其将在当前指令执行完后被中断。操作系统为被中断的块保存全部的寄存器堆栈。当返回被中断的块时,寄存器的信息被恢复。
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc359122.html