一种中断响应方法及系统技术方案

技术编号:12585504 阅读:51 留言:0更新日期:2015-12-24 02:01
本发明专利技术提供一种中断响应方法及系统。中断响应方法包括:构造中断向量cache表和中断向量哈希表,中断向量cache表和中断向量哈希表都由中断向量组成,所述中断向量包括中断号、中断服务程序入口地址;中断控制器接收到中断信号,并从中断状态寄存器中获取中断信号对应的中断号;在中断向量cache表中查找所述中断号;当在中断向量cache表中找到所述中断号时,跳转到所述中断号所对应的中断服务程序入口地址执行。当在中断向量cache表中未找到所述中断号时,在中断向量哈希表中查找到所述中断号,跳转到所述中断号所对应的中断服务程序入口地址执行。本发明专利技术的技术方案能够优化中断向量的查找方式,提高中断服务系统效率。

【技术实现步骤摘要】

本专利技术涉及一种计算机技术,特别是涉及一种中断响应方法及系统
技术介绍
现有的中断系统设计方案都是基于传统的方式设计的。即CPU有单一中断输入或几个中断输入,而多个中断源共用这单一的或仅仅几个中断输入资源,通过中断控制器实现中断复用,然后当CPU接到中断信号后,会先执行中断控制器的服务程序,中断控制器顺序查找到发出中断请求的设备,然后执行相应的中断服务程序。在CPU只有单中断引脚或很少中断引脚的情况下却要担负大量中断源的响应时,就会出现系统中断执行时间过长,造成系统的整体运行效率下降,甚至造成系统的崩溃,直接影响到了系统的稳定性与流畅性。尤其是在嵌入式操作系统中,中断一直是其响应硬件设备需求的主要实现方式。嵌入式操作系统的稳定性,关系到整个产品的可靠性与用户体验,同时,中断服务系统的执行,直接关系到整个系统的执行效率,所以中断服务体系在整个系统层面都是重中之重,特别是中断复用特别多的产品中。采用现有的技术方案虽然可行,但增加了系统在执行中断时的响应与执行时间,由于中断是操作系统中最高级别的任务,它在执行,别的任务就没有办法执行,过长的中断执行时间势必造成系统整体的运行效率下降,系统的稳定性难以得到保证。鉴于此,如何找到一种保证中断服务的稳定高效执行的中断系统设计方案就成为本领域技术人员亟待解决的问题。
技术实现思路
鉴于以上所述现有技术的缺点,本专利技术的目的在于提供一种中断响应方法及系统,用于解决现有技术中当存在多个中断源时中断响应效率和稳定性低的问题。为实现上述目的及其他相关目的,本专利技术提供一种中断响应方法,所述中断响应方法包括:构造中断向量cache表和中断向量哈希表,中断向量cache表和中断向量哈希表都由中断向量组成,所述中断向量包括中断号、中断服务程序入口地址;中断控制器接收到中断信号,并从中断状态寄存器中获取所述中断信号对应的中断号;在中断向量cache表中查找所述中断号;当在中断向量cache表中找到所述中断号时,跳转到所述中断号所对应的中断服务程序入口地址执行。可选地,所述中断响应方法还包括:当在中断向量cache表中未找到所述中断号时,在中断向量哈希表中查找到所述中断号,跳转到所述中断号所对应的中断服务程序入口地址执行。可选地,所述中断响应方法还包括:清除中断状态寄存器中的中断状态。可选地,所述中断向量还包括执行次数;所述中断响应方法还包括:当该中断向量命中时,所述中断向量的执行次数加I ;所述中断响应方法还包括:中断向量cache表定期更新:当所述中断向量cache表中执行次数最少的中断向量的执行次数小于中断向量哈希表中执行次数最多的中断向量的执行次数时,将所述中断向量cache表中执行次数最少的中断向量替换成中断向量哈希表中执行次数最多的中断向量;将所有的中断向量的执行次数清零。可选地,所述中断向量哈希表使用hash (key)=中断号% N构造,N为设定的自然数。本专利技术提供一种中断响应系统,所述中断响应系统包括:中断向量构造维护模块,用于构造中断向量cache表和中断向量哈希表,中断向量cache表和中断向量哈希表都由中断向量组成,所述中断向量包括中断号、中断服务程序入口地址;中断控制服务模块,用于接收中断信号,并从中断状态寄存器中获取所述中断信号对应的中断号;在中断向量cache表中查找所述中断号;中断服务跳转模块,用于当在中断向量cache表中找到所述中断号时,跳转到所述中断号所对应的中断服务程序入口地址执行。可选地,中断控制服务模块还用于当在中断向量cache表中未找到所述中断号时,在中断向量哈希表中查找到所述中断号;中断服务跳转模块,还用于在中断向量哈希表中找到所述中断号时,跳转到所述中断号所对应的中断服务程序入口地址执行。可选地,中断控制服务模块还用于:当查找到所述中断号时,清除中断状态寄存器中的中断状态。可选地,所述中断向量还包括执行次数;所述中断向量构造维护模块还用于:当该中断向量命中时,所述中断向量的执行次数加I ;所述中断向量维护模块还用于中断向量cache表定期更新:当所述中断向量cache表中执行次数最少的中断向量的执行次数小于中断向量哈希表中执行次数最多的中断向量的执行次数时,将所述中断向量cache表中执行次数最少的中断向量替换成中断向量哈希表中执行次数最多的中断向量;将所有的中断向量的执行次数清零。可选地,所述中断向量哈希表使用hash (key)=中断号% N构造,N为设定的自然数。如上所述,本专利技术的中断响应方法及系统,具有以下有益效果:通过优化中断服务程序,缩短查找中断服务程序的时间,从而提高整个中断服务系统的运行效率。本专利技术就是针对多路中断复用的系统,采用新的设计方案,通过对中断控制器服务程序中,中断向量的查找方式的优化,提高中断查找命中的速度,缩短查找中断服务程序的时间,使整个中断服务系统的运行效率都得以很大的提高,进而提升系统的稳定性与流畅性,提高用户体验。尤其对于有很多中断源的嵌入式系统,效果尤为突出。本专利技术的技术方案能够优化中断向量的查找方式,提高中断服务系统效率。【附图说明】图1显示为本专利技术的一种中断响应方法的一实施例的流程示意图。图2显示为本专利技术的一种中断响应方法的另一实施例的流程示意图。图3显示为本专利技术的一种中断响应系统的一实施例的模块示意图。元件标号说明I中断响应系统11 中断向量构造维护模块12 中断控制服务模块13中断服务跳转模块SI ?S3 步骤【具体实施方式】以下通过特定的具体实例说明本专利技术的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本专利技术的其他优点与功效。本专利技术还可以通过另外不同的【具体实施方式】加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本专利技术的精神下进行各种修饰或改变。需要说明的是,本实施例中所提供的图示仅以示意方式说明本专利技术的基本构想,遂图式中仅显示与本专利技术中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。本专利技术提供一种中断响应方法。在一个实施例中,如图1所示,所述中断响应方法包括:步骤SI,构造中断向量cache表和中断向量哈希表,中断向量cache表和中断向量哈希表都由中断向量组成,所述中断向量包括中断号、中断服务程序入口地址。具体地,中断向量cache表和中断向量哈希表的记录都由中断向量组成,每个中断向量包括中断号、中断服务程序入口地址字段。在一个实施例中,由于中断向量中可用的资源比较少,本专利技术采用中断号作为资源来计算hash的key值。中断号由于是由小到大连续排列的,所以仅用中断号%N(N为用户根据需要自定义数值)来存储中断向量即可满足均匀分布。即中断向量哈希表使用hash (key)=中断号% N构造,N为设定的自然数。构造中断向量cash表,表大小为M项(M为用户根据需要自定义数值)。步骤S2,所述中断控制器接收到中断信号,并从中断状态寄存器中获取所述中断信号对应的中断号。步骤S3,在中断向量cache表中查找所述中断号;当在中断向量cache表中找到所述中断号时,跳转到所述中断号所对应的中断服务程序入口地址执行。在一个实施例中,所述中断响应本文档来自技高网...

【技术保护点】
一种中断响应方法,其特征在于,所述中断响应方法包括:构造中断向量cache表和中断向量哈希表,中断向量cache表和中断向量哈希表都由中断向量组成,所述中断向量包括中断号、中断服务程序入口地址;中断控制器接收到中断信号,并从中断状态寄存器中获取所述中断信号对应的中断号;在中断向量cache表中查找所述中断号;当在中断向量cache表中找到所述中断号时,跳转到所述中断号所对应的中断服务程序入口地址执行。

【技术特征摘要】

【专利技术属性】
技术研发人员:陈岩
申请(专利权)人:上海斐讯数据通信技术有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1