专利名称:一种快速中断分级处理装置及方法
技术领域:
本发明涉及数据通信技术领域,特别涉及中断处理装置及方法。
技术背景
中断是指CPU对系统发生的某个事件所做出的反应,处理器会暂时停止当前正在执行的某项任务,并将该任务暂时保存。转向执行相应的针对该事件的处理程序。处理完之后再返回到之前保存的任务继续处理。
中断处理一般包含中断请求和中断处理过程,CPU接收中断请求对其进行响应,可能引起中断请求的事件称之为中断源。CPU得到中断请求之后需要查找到相应的中断源才能进行相应对应处理,而系统需要尽快的将中断事件形成中断源通知给CPU进行处理。
通常,如图1中所示,系统产生若干个中断源,CPU在接收到中断请求后,扫描多个中断源,查看该请求来自于哪一个中断源,然后进行处理。
现在,技术水平的发展带来的是系统设计复杂性越来越高,中断的数目以及原因也越来越多,例如在PTN设备中的OAM处理功能当中,OAM需要支持的条目数为32768条甚至于到达65536条,每一个条目都需要独立的产生各种事件需要上报给CPU进行处理。
这些OAM处理当中的中断,大部分都会涉及到数据业务的连通性,所以,必须要求这些中断都必须被处理,不能丢失,并且,OAM连通性的中断会涉及到业务的保护倒换的操作,对CPU响应的速度都有时间上的要求。
按照图1中所示的方法,在CPU接收到中断请求后,需要在65536个中断源中寻找到实际产生中断的单元,使得软件的开销变大,CPU占用率增加,并且需要耗费过多的时间。发明内容
本发明要解决的技术问题是提供一种快速中断分级处理装置及方法,使得CPU 能够快速的定位中断源,加快处理时间,节省了 CPU占用率。
本发明为解决上述技术问题所采取的技术方案为一种快速中断分级处理装置, 其特征在于它包括
中断事件存储装置,用于存储中断源产生的中断事件;
中断产生装置,用于将同一中断源的中断事件转换为Ibit的中断标志;
中断标志存储装置,用于存储产生的所有中断标志;以及
中断汇聚装置,用于将中断标志进行分级压缩和存储,并交由CPU处理;
中断汇聚装置由N级级联而成,每一级中断汇聚装置的结构相同,# = log $,n为ηCPU读写数据位宽,S为电路系统中中断源的总数;
其中中断源为来自电路系统中有产生中断事件需求的所有单元的集合,并按照一定特征进行编码;中断事件由中断源产生,由多个比特位组成,其中特定的比特置1代表已经定义的应上报中断事件。
按上述方案,它还包括中断事件屏蔽位装置,包含应上报终端事件以外的所有中断事件,用于与中断事件存储装置中的所有中断事件比较,仅将应上报中断事件传递给中断产生装置。
按上述方案,所述的中断产生装置包括用于对中断事件存储装置进行不间断扫描的中断产生扫描器;和用于控制每扫描η个中断源产生一次η bit的中断标志的移位寄存器。
按上述方案,所述的中断标志存储装置的位宽为n,地址深度大于等于S/n。
按上述方案,所述的每一级中断汇聚装置包括用于对上一级产生的中断标志进行不间断扫描的汇聚扫描器;用于对本级扫描出的中断标志并进行η 1压缩的中断压缩装置;和用于存储本级经过压缩的中断标志,提供给CPU作为分级查询中断源的依据的中断压缩存储器。
一种快速中断分级处理方法,其特征在于它包括以下步骤
1)存储所有中断源产生的中断事件;
2)将同一中断源的中断事件转换为Ibit的中断标志;
3)存储产生的所有中断标志;
4)将中断标志进行分级压缩和存储,并交由CPU处理;每一级压缩存储的过程相同,级数# = Iogn $,η为CPU读写数据位宽,S为电路系统中中断源的总数; η
其中中断源为来自电路系统中有产生中断事件需求的所有单元的集合,并按照一定特征进行编码;中断事件由中断源产生,由多个比特位组成,其中特定的比特置1代表已经定义的应上报中断事件。
它还存储应上报终端事件以外的所有中断事件,用于与存储的所有中断事件比较,将应上报中断事件以外的中断事件屏蔽。
所述步骤2)对中断事件存储装置进行不间断扫描,每扫描η个中断源产生一次η bit的中断标志。
所述的每一级压缩存储的过程包括对上一级产生的中断标志进行不间断扫描; 对本级扫描出的中断标志并进行η 1压缩;存储本级经过压缩的中断标志,提供给CPU作为分级查询中断源的依据。
本发明的有益效果为
1、通过采用本装置和方法,在CPU接收到中断请求后仅需反向查找中断标志进而查找对应的中断事件即可,能够快速的定位中断源,加快处理时间,节省了 CPU占用率。
2、通过增加中断事件屏蔽位装置,能够仅将应上报中断事件产生中断标志,进一步节约了 CPU的占用率。
图1为传统中断处理方式。
图2为本发明实施例的总体结构图。
图3为中断事件存储装置的存储方式。
图4为中断产生装置结构图。
图5为加入中断事件屏蔽位的结构图。
图6为中断标志存储示意图。
图7为中断汇聚装置结构图。
图8为CPU查询中断事件流程。
具体实施方式
下面根据附图和具体实施例对本发明进行进一步阐述。
图2为本发明实施例的总体结构图,它包括中断事件存储装置,用于存储中断源产生的中断事件;中断产生装置,用于将同一中断源的中断事件转换为Ibit的中断标志; 中断标志存储装置,用于存储产生的所有中断标志;以及中断汇聚装置,用于将中断标志进行分级压缩和存储,并交由CPU处理。
中断汇聚装置由N级级联而成,每一级中断汇聚装置的结构相同,考虑到CPU读写数据的位宽,所有的中断通过一定级数的中断汇聚装置,最终会汇聚成一个匹配CPU读写数据位宽的最终压缩数据,并将该数据按位与得到最终的中断信息,因此# = log f,n为ηCPU读写数据位宽,S为电路系统中中断源的总数。以本实施例中CPU数据位宽16bit为例,总中断源为S,中断汇聚的级数N可以通过以下公式得到# = log16&16O
本实施例中η为16,总中断源为64Κ,中断汇聚装置为3级级联。
其中中断源为来自电路系统中有产生中断事件需求的所有单元的集合,并按照一定特征进行编码;中断事件由中断源产生,由多个比特位组成,其中特定的比特置1代表已经定义的应上报中断事件。
图3为中断事件存储装置的存储方式,行数为中断源的总数,每一行存储同一个中断源产生的所有中断事件。
图4为中断产生装置结构图,包括用于对中断事件存储装置进行不间断扫描的中断产生扫描器,和用于控制每扫描16个中断源产生一次16bit的中断标志的移位寄存器。 如图5所示,还可以添加中断事件屏蔽位装置,包含应上报终端事件以外的所有中断事件, 用于与中断事件存储装置中的所有中断事件比较,仅将应上报中断事件传递给中断产生装置,用以控制各种中断事件是否需要上报给CPU进行处理。
中断标志存储装置用于存储各个中断源的中断标志,该RAM的位宽为16bit,地址深度为S/16,存储顺序如图6所示,RAM中任意地址的任意lbit,由RAM(addr,d[n])表示, 代表中断源addrX16+n中产生了中断事件。
中断汇聚装置作用是提取所有中断标志并按照16 1的压缩比进行压缩存储,如图7所示,整个系统中含有多个汇聚装置,下面,以第一级中断汇聚装置为例进行介绍,包含中断扫描装置、中断压缩装置、中断压缩存储装置。
中断扫描装置是由计数器驱动,对中断标志进行不间断扫描,考虑到CPU获取中断的操作,本系统采用2个时钟周期扫描一个地址的设计。地址空间为S/16,其中S为电路系统中中断源的总数,第一级中断汇聚模块的扫描周期为(S/16) X2f。lk其中f。lk*时钟频率。第N级中断汇聚模块的扫描周期为(S/16N)X2f。lk,以本次设计3级中断汇聚模块来计算,各级中断扫描的总时间为Ifclkο
中断压缩装置由一个移位寄存器构成,不间断接收扫描出的中断标志,由于上一级的中断标志存储中,一个地址为16bit,将其通过逻辑与操作压缩为1个Ibit的中断信息,并且送入移位寄存器当中,每扫描16个地址,即形成一个16bit的压缩数据。
中断压缩存储装置存储经过压缩的中断标志,提供给CPU作为分级查询中断源的依据,每一级中断压缩存储的数据位宽都为16bit,地址深度为S/16N+1,对于该存储装置中任意比特RAM(addr,d[n])值为1,代表所对应的中断源中区间[(addr X 16+n) X 16N, (addrX16+n+l)X16N]区间之中间含有中断标志,其中,N为当前中断汇聚装置的级数,以本实施例为例,第一级,第二级,第三级中断压缩存储的地址深度分别为256、16、1。
以这种方式级联的中断汇聚系统,CPU在查询时,从最靠近CPU—侧的中断压缩存储开始查起,每一级中断压缩存储都可以作为CPU查找上一级中断压缩存储的依据。最终可以通过N+1级查询即可得到最终的中断源。从而获得中断事件。本实施例中,CPU可以通过4次查询即可定位中断源。
下面,将对CPU的操作模式进行说明,如图8以帮助理解该设计对提高CPU处理速度带来的优势。以三级中断汇聚为例。
CPU在获得中断请求之后,首先查看中断压缩存储3,第a比特位为1,即可获得中断压缩存储2的地址为a ;
进一步,查看中断压缩存储2中的地址b,发现地址a中第χ比特位为1,则根据公式得到中断压缩存储1的地址b = aX 16+x ;
进一步,查看中断压缩存储1中的地址b,发现地址b中第y比特位为1,即可得到中断标志存储的地址c = bX16+y ;
进一步,查看中断标志存储中的地址C,发现地址c中第ζ比特位为1,即可得到中断源的编号为s = cX16+z。
通过上述分析可知,不论65536个中断源中的某一个产生了中断事件,CPU都可以通过4步查找确切的定位出实际的中断源,从而提高了 CPU的处理效率。
权利要求
1.一种快速中断分级处理装置,其特征在于它包括 中断事件存储装置,用于存储中断源产生的中断事件;中断产生装置,用于将同一中断源的中断事件转换为Ibit的中断标志;中断标志存储装置,用于存储产生的所有中断标志;以及中断汇聚装置,用于将中断标志进行分级压缩和存储,并交由CPU处理;中断汇聚装置由N级级联而成,每一级中断汇聚装置的结构相同,^=Iogx- , η为CPU读写数据位宽,S为电路系统中中断源的总数;η其中中断源为来自电路系统中有产生中断事件需求的所有单元的集合,并按照一定特征进行编码;中断事件由中断源产生,由多个比特位组成,其中特定的比特置1代表已经定义的应上报中断事件。
2.根据权利要求1所述的快速中断分级处理装置,其特征在于它还包括中断事件屏蔽位装置,包含应上报终端事件以外的所有中断事件,用于与中断事件存储装置中的所有中断事件比较,仅将应上报中断事件传递给中断产生装置。
3.根据权利要求1或2所述的快速中断分级处理装置,其特征在于所述的中断产生装置包括用于对中断事件存储装置进行不间断扫描的中断产生扫描器;和用于控制每扫描η个中断源产生一次η bit的中断标志的移位寄存器。
4.根据权利要求3所述的快速中断分级处理装置,其特征在于所述的中断标志存储装置的位宽为n,地址深度大于等于f{。
5.根据权利要求3所述的快速中断分级处理装置,其特征在于所述的每一级中断汇聚装置包括用于对上一级产生的中断标志进行不间断扫描的汇聚扫描器;用于对本级扫描出的中断标志并进行η 1压缩的中断压缩装置;和用于存储本级经过压缩的中断标志, 提供给CPU作为分级查询中断源的依据的中断压缩存储器。
6.一种快速中断分级处理方法,其特征在于它包括以下步骤1)存储所有中断源产生的中断事件;2)将同一中断源的中断事件转换为Ibit的中断标志;3)存储产生的所有中断标志;4)将中断标志进行分级压缩和存储,并交由CPU处理;每一级压缩存储的过程相同,级数F= IogaI, η为CPU读写数据位宽,S为电路系统中中断源的总数;η其中中断源为来自电路系统中有产生中断事件需求的所有单元的集合,并按照一定特征进行编码;中断事件由中断源产生,由多个比特位组成,其中特定的比特置1代表已经定义的应上报中断事件。
7.根据权利要求6所述的快速中断分级处理方法,其特征在于它还存储应上报终端事件以外的所有中断事件,用于与存储的所有中断事件比较,将应上报中断事件以外的中断事件屏蔽。
8.根据权利要求6或7所述的快速中断分级处理方法,其特征在于所述步骤2)对中断事件存储装置进行不间断扫描,每扫描η个中断源产生一次η bit的中断标志。
9.根据权利要求8所述的快速中断分级处理方法,其特征在于所述的每一级压缩存储的过程包括对上一级产生的中断标志进行不间断扫描;对本级扫描出的中断标志并进行η :1压缩;存储本级经过压缩的中断标志,提供给CPU作为分级查询中断源的依据。
全文摘要
本发明提供一种快速中断分级处理装置及方法,它包括中断事件存储装置,用于存储中断源产生的中断事件;中断产生装置,用于将同一中断源的中断事件转换为1bit的中断标志;中断标志存储装置,用于存储产生的所有中断标志;以及中断汇聚装置,用于将中断标志进行分级压缩和存储,并交由CPU处理;中断汇聚装置由N级级联而成,每一级中断汇聚装置的结构相同,n为CPU读写数据位宽,S为电路系统中中断源的总数。通过采用本装置和方法,在CPU接收到中断请求后仅需反向查找中断标志进而查找对应的中断事件即可,能够快速的定位中断源,加快处理时间,节省了CPU占用率。
文档编号G06F13/24GK102495816SQ20111036284
公开日2012年6月13日 申请日期2011年11月16日 优先权日2011年11月16日
发明者傅昕, 林翔 申请人:武汉日电光通信工业有限公司