您的位置 首页 观点

ARM中的软件中止

中断的工作原理及ARM中中断控制器的工作模式1.首先介绍ARM内核的中断控制器的几种工作模式:1.快中断是为支持数据传输或快速数据通道而…

中止的作业原理及ARM中中止操控器的作业形式

1. 首要介绍ARM内核的中止操控器的几种作业形式:

1.

快中止是为支撑数据传输或快速数据通道而规划的,为快速处理快中止。①快中止被设为最高中止优先级;②在快中止形式增设了7个私有作业寄存器,然后避免了因为主作业寄存器数据的保存和康复而带来了额定开支;③快中止处理程序处于反常向量表的最终方位,因而可紧接反常向量表书写快中止处理程序,而不用进行程序跳转操作,避免了改写指令流水线和高速缓存。

软件中止是一种由用户设置的同步中止,由程序指令发生,不像硬件中止那样由外部事情触发。软件中止答应运转在用户形式的程序进入监督形式,并运转监督态下的函数。在 ARM7TDMI的硬件调试体系中,应用程序可运用软件中止来请求半自主式操作,例如,翻开主机中的一个文件、向调试通道发送一个字符等等(这些操作有必要依靠主机中C程序库才干运转,因而被称为半自主式的)。运用软件中止机制,能够直观和高效地仿真调试应用程序。别的,软件中止也可用于一般性的程序操控。

2 .呼应中止和中止回来
(1)中止呼应进程
1) 保存CPSR到即将履行的反常中止的SPSR;
2)设置CPSR的值:设置CPSR相应位的值使处理器进入特定的处理器形式,按要求屏蔽中止;
3)设置LR寄存器:将中止相应形式的LR寄存器的值设置为反常中止的回来地址;
4)处理程序计数器PC:将PC值设为相应的中止向量的地址。
(2)中止回来进程
1)康复CPSR:将保存在中止形式中的SPSR值赋给当时的CPSR;
2)将回来地址复制到PC:这样程序将回来到反常中止发生的下一条指令或出现问题的指令处履行。

*中止的呼应-回来流程图

体系一般运用一个中止操控器把设备的中止调集在一起,然后再把信号传送到CPU的一个单一的中止管脚。这样能够节约CPU的中止管脚,也给体系规划带来了灵敏性。中止操控器有掩码和状况寄存器,用于操控这些中止。设置掩码寄存器中相应的位,能够翻开和制止一个中止,读取状况寄存器能够回来体系中当时活动的中止。
一些体系中的中止或许是硬衔接的,例如实时时钟的距离计时器或许永久地衔接到中止操控器的第3管脚。可是,另一些管脚衔接什么或许取决于在特定的ISA或许PCI插槽上刺进的是什么操控卡。例如,中止操控器的第4管脚或许和第0号PCI插槽相连,某一天该槽上或许插的是一块以太网卡,另一天该槽上或许插的是一块SCSI操控卡。每一个体系都有它自己的中止中转机制,操作体系有必要满足灵敏才干处理它们。
大多数现代的通用意图微处理器都用相同的方法处理中止。当发生硬件中止时,CPU中止它正在运转的指令,跳到内存中一个方位运转,这儿或许便是中止处理代码,或许是一条指令,经过它能够跳到中止处理代码。这种代码一般在CPU的特别形式(中止形式)下作业,一般,在这种形式下其它中止不能再发生。当然也有破例:一些CPU将中止区分等级,更高等级的中止能够中止初级的中止。这意味着有必要十分小心肠写榜首级的中止处理程序。一般的中止处理程序一般都有自己的仓库,当它被再次中止而进入另一个中止处理程序之前,用它来寄存CPU的履行状况(CPU一切的通用寄存器和上下文)。一些CPU有一组只在中止形式下存在的寄存器,中止处理代码能够运用这些寄存器来存储它需求保存的大部分上下文信息。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/news/guandian/276255.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部