CN102833088A - 一种中断处理方法及装置 - Google Patents

一种中断处理方法及装置 Download PDF

Info

Publication number
CN102833088A
CN102833088A CN2011101640514A CN201110164051A CN102833088A CN 102833088 A CN102833088 A CN 102833088A CN 2011101640514 A CN2011101640514 A CN 2011101640514A CN 201110164051 A CN201110164051 A CN 201110164051A CN 102833088 A CN102833088 A CN 102833088A
Authority
CN
China
Prior art keywords
interrupt
semaphore
interruption
source
service routine
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2011101640514A
Other languages
English (en)
Other versions
CN102833088B (zh
Inventor
张敏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ZTE Corp
Original Assignee
ZTE Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ZTE Corp filed Critical ZTE Corp
Priority to CN201110164051.4A priority Critical patent/CN102833088B/zh
Priority to PCT/CN2012/074287 priority patent/WO2012171412A1/zh
Publication of CN102833088A publication Critical patent/CN102833088A/zh
Application granted granted Critical
Publication of CN102833088B publication Critical patent/CN102833088B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)

Abstract

本发明提供一种中断处理方法及装置,该方法包括:缓存中断信息,定时地或在预定条件下释放一信号量;获取到所述信号量后,根据所述中断信息处理中断事件。根据本发明可以避免在瞬间出现大量中断的情况下而导致重要中断信息丢失,从而影响系统运作。

Description

一种中断处理方法及装置
技术领域
本发明涉及一种中断处理方法及装置,特别涉及一种应用于分组传送网PTN设备上的多中断处理的实现方法及装置。
背景技术
在PTN(分组传送网)设备中,往往要处理多种控制信息,一般控制信息要求响应很快,业务量成倍增长,相应的控制信息也成倍增长。显然轮询机制已经无法保证处理时间的要求,系统往往采用中断方式实现。在中断事件少,中断执行动作简单的情况下,可以直接在中断服务程序(Interrupt Service Routines,简称ISR)中完成所有的中断处理动作,但是PTN设备,往往中断种类多,中断事件多,中断所要执行的动作相对复杂,单纯依靠ISR实现的方式,会使得CPU(中央处理器)占用率急剧升高,甚至导致系统不可用。
发明内容
本发明要解决的技术问题是提供一种中断处理方法及装置,以避免在瞬间出现大量中断的情况下而导致重要中断信息丢失,从而影响系统运作。
为了解决上述技术问题,本发明提供了一种中断处理方法,包括:
缓存中断信息,定时地或在预定条件下释放一信号量;
获取到所述信号量后,根据所述中断信息处理中断事件。
进一步地,上述方法还具有下面特点:
所述缓存中断信息,包括:中断服务程序将上一次处理中断事件后各中断源是否产生中断的信息缓存在中断寄存器,以及记录每一中断源包括的各种类型的中断的状态信息。
进一步地,上述方法还具有下面特点:所述获取到所述信号量后,根据所述中断信息处理中断事件,包括:
中断处理任务程序被调用后去获取所述信号量,如获取到所述信号量,则读所述中断寄存器,判断各中断源中是否有中断源产生过中断,如有,对每一个产生过中断的中断源,再判断该中断源包括的各种类型的中断的状态是否发生变化,对状态发生变化的中断进行处理。
进一步地,上述方法还具有下面特点:所述中断服务程序记录每一中断源包括的各种类型的中断的状态信息,包括:将当前每一中断源包括的各种类型的中断的状态信息记录在第一变量中;
所述中断处理任务程序通过比较第一变量与记录上次处理中断事件时每一中断源包括的各种类型的中断的状态信息的第二变量,来判断该产生过中断的中断源包括的各种类型的中断的状态是否发生变化的,然后将第一变量中的值赋值给第二变量。
进一步地,上述方法还具有下面特点:
所述在预定条件下释放一信号量,包括:中断服务程序判断中断控制标志位为空闲时,释放所述信号量;
所述中断控制标志位的初始值置为空闲,所述中断服务程序释放所述信号量后,将所述中断控制标志位设置为忙;
所述中断处理任务程序获取到所述信号量后,将所述中断控制标志位设置为空闲。
进一步地,上述方法还具有下面特点:
所述在预定条件下释放一信号量,包括:设置一计数器,中断服务程序判断计数器的计数值为0时,释放所述信号量;
每来一次中断所述中断服务程序将所述计数器的计数值加1;
所述中断处理任务程序获取到所述信号量后,将所述计数器清0。
进一步地,上述方法还具有下面特点:
所述中断服务程序缓存上一次处理中断事件后各中断源是否产生中断的信息,包括:所述中断服务程序判断某个中断源的中断状态变化时,以“或”运算的方式将该中断源的当前状态写入对应的中断寄存器;
所述中断处理任务程序读所述中断寄存器后,所述中断寄存器自动清零。
为了解决上述问题,本发明还提供了一种处理中断的装置,包括:
中断服务程序模块,用于缓存中断信息,定时地或在预定条件下释放一信号量;
中断处理任务模块,用于获取到所述信号量后,根据所述中断信息处理中断事件。
进一步地,上述装置还具有下面特点:
所述中断服务程序模块,缓存中断信息包括:缓存上一次处理中断事件后各中断源是否产生中断的信息,以及每一中断源包括的各种类型的中断的状态信息。
进一步地,上述装置还具有下面特点:
所述中断服务程序模块,具体用于被调用后去获取所述信号量,如获取到所述信号量,则读所述中断寄存器,判断各中断源中是否有中断源产生过中断,如有,对每一个产生过中断的中断源,再判断该中断源包括的各种类型的中断的状态是否发生变化,对状态发生变化的中断进行处理。
进一步地,上述装置还具有下面特点:
所述中断服务程序模块,具体用于将当前每一中断源包括的各种类型的中断的状态信息记录在第一变量中;
所述中断处理任务模块,用于通过比较第一变量与记录上次处理中断事件时每一中断源包括的各种类型的中断的状态信息的第二变量,来判断该产生过中断的中断源包括的各种类型的中断的状态是否发生变化的,然后将第一变量中的值赋值给第二变量。
进一步地,上述装置还具有下面特点:
所述中断服务程序模块,在所述预定条件下释放一信号量包括:判断中断控制标志位为空闲时,释放所述信号量,然后将所述中断控制标志位置为忙,所述中断控制标志位的初始值为空闲;
所述中断处理任务模块,获取到所述信号量后用于,将所述中断控制标志位置为空闲。
进一步地,上述装置还具有下面特点:还包括一计数器,
所述中断服务程序模块,在所述预定条件下释放一信号量包括:判断所述计数器的计数值为0时,释放所述信号量;还用于每来一次中断将所述计数器的计数值加1;
所述中断处理任务模块,获取到所述信号量后用于,将所述计数器清0。
进一步地,上述装置还具有下面特点:
所述中断服务程序模块,缓存上一次处理中断事件后各中断源是否产生中断的信息包括:判断某个中断源的中断状态变化时,以“或”运算的方式将该中断源的当前状态写入对应的中断寄存器;
所述中断寄存器,还用于被所述中断处理任务程序读后自动清零。
为了解决上述问题,本发明还提供了一种分组传送网设备,包括上述的装置。
本发明提供一种中断处理方法及装置,针对在多中断处理任务中如果每次只处理一个中断,则可能因为瞬间到达的中断多,而丢失某些重要中断信息的问题,本发明引入了中断缓存机制,该中断缓存机制能在每次中断产生时记录中断的发生;为避免中断的反复震荡,导致CPU执行效率低的问题,本发明引入了中断去抖机制。本发明还引入了中断处理任务机制,以解决ISR庞大,中断多可能造成CPU占用率高,设备无法工作的问题。
附图说明
图1 是本发明实施例的处理中断的装置的示意图;
图2为本发明实施例的中断处理方法的流程图;
图3为本发明实施例的中断处理任务程度的处理流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
如图1所示,本发明实施例的处理中断的装置包括下面的模块:
中断服务程序模块,用于缓存中断信息,定时地或在预定条件下释放一信号量;
中断处理任务模块,用于获取到所述信号量后,根据所述中断信息处理中断事件。
其中,所述中断服务程序模块缓存中断信息包括:缓存上一次处理中断事件后各中断源是否产生中断的信息,以及每一中断源包括的各种类型的中断的状态信息。
其中,所述中断服务程序模块,具体用于被调用后去获取所述信号量,如获取到所述信号量,则读所述中断寄存器,判断各中断源中是否有中断源产生过中断,如有,对每一个产生过中断的中断源,再判断该中断源包括的各种类型的中断的状态是否发生变化,对状态发生变化的中断进行处理。
其中,所述中断服务程序模块,具体用于将当前每一中断源包括的各种类型的中断的状态信息记录在第一变量中;
所述中断处理任务模块,用于通过比较第一变量与记录上次处理中断事件时每一中断源包括的各种类型的中断的状态信息的第二变量,来判断该产生过中断的中断源包括的各种类型的中断的状态是否发生变化的,然后将第一变量中的值赋值给第二变量。
其中,所述中断服务程序模块,用于在所述预定条件下释放一信号量包括:判断中断控制标志位为空闲时,释放所述信号量,然后将所述中断控制标志位置为忙,所述中断控制标志位的初始值为空闲;
所述中断处理任务模块,获取到所述信号量后用于,将所述中断控制标志位置为空闲。
在一实施例中,所述装置还设置有一计数器,其中,在所述预定条件下释放一信号量包括:判断所述计数器的计数值为0时,释放所述信号量;还用于每来一次中断将所述计数器的计数值加1;
所述中断处理任务模块,获取到所述信号量后用于,将所述计数器清0。
其中,所述中断服务程序模块,缓存上一次处理中断事件后各中断源是否产生中断的信息包括:判断某个中断源的中断状态变化时,以“或”运算的方式将该中断源的当前状态写入对应的中断寄存器;
所述中断寄存器,还用于被所述中断处理任务程序读后自动清零。
本发明实施例的PTN设备包括上述的处理中断的装置。
图2为本发明实施例的中断处理方法的流程图,如图2所示,本实施例的方法包括下面步骤:
S10、缓存中断信息,定时地或在预定条件下释放一信号量;
所述缓存中断信息,包括:中断服务程序将上一次处理中断事件后各中断源是否产生中断的信息缓存在一中断寄存器,以及记录每一中断源包括的各种类型的中断的状态信息。
当中断源的中断状态发生变化后,CPU进程进入ISR,对中断源的中断状态进行记录,本实施例中,采用中断寄存器来记录中断源的中断状态,对于中断的产生或者消失都写对应的bit位,每一次中断的写操作可以采用或运算,1表示中断的产生,0表示中断的消失,如1|1= 1,1|0 = 1,0|1=1,0|0=0。这样只要在上一次中断任务处理完成后,在本次中断任务执行期间出现过中断,则中断源对应的中断寄存器将一直保存为1。
在逻辑中指定某一个或者一些寄存器作为中断寄存器,这些中断寄存器只能用于存储中断情况信息,不允许除中断处理任务以外的其他任务读取和改写,该中断寄存器需要初始化一次,在设备初始化时完成中断的初始化工作。
本实施例将中断状态信息存放在中断寄存器,而不是存放在内存中,可以保留有效中断,避免无效中断引起CPU资源的浪费。如果采用每次中断时,ISR只进行中断寄存器的写,而清零操作在读后让硬件自动清零,就可以避免内存数据被覆盖,导致中断处理丢失。
本发明实施例中还采用“中断标志变量”,用来记录各类型中断的状态的变量,本实施例中使用两个中断标志变量,一个是IntFlagNew,一个是IntFlagOld。ISR将当前每一中断源包括的各种类型的中断的状态信息记录在IntFlagNew中,中断处理任务处理中断时,将IntFlagNew赋值给IntFlagOld。
本实施例中的中断源为PTN设备中的每一条伪线,当然也可以是各种告警。ISR还将每一条伪线包括的各种类型的中断的状态信息存储在IntFlagNew变量中。如果某一类型的中断产生,则ISR在该IntFlagNew变量的相应比特位写为1,如果该类型的中断消失,则将该IntFlagNew变量写为0。
如果在中断处理任务阻塞的过程中,产生了大量中断产生、消失、产生、消失,这些抖动只会表现在IntFlagNew变量反复的变化,不会影响到中断的反复执行。实际这些中间状态变量在中断处理过程中被忽略,因为中断处理只关注最终的IntFlagNew的值。相反地,如果每次中断都及时响应,这种震荡就可能导致CPU陷入占用率过高的困境。因此通过忽略中间变化,实现去抖。
本实施例中,ISR若判断中断控制标志位为0,则释放一信号量;
对于每一次中断,ISR不单独释放信号量,而是设置一个监控标志,通过监控标志的状态来确定是否需要释放信号量。将该监控标志称为中断控制标志位,ISR判断该中断控制标志位是否为1,如果为1,表示中断繁忙,则不进行信号量的释放;如果为0,表明中断空闲,需要先将该标志位置为1,然后释放信号量,来唤醒中断处理任务;这个中断控制标志可以控制信号量的释放,防止短时间内突发成千上万个中断,而造成的信号量释放频繁,CPU占用率高的问题。
在另一实施例中,也可以使用定时地控制信号量的释放,当定时器计时到以后,有中断产生则释放信号量,这样也能有效控制信号量的频繁释放,但定时器的时间长短设置需要优化考虑。
在另一实施例中,可以采用计数器的方式来控制信号量的释放,当计数器为0时释放信号量,每来一次中断,ISR将计数器加1,中断任务判断计数器不为0,则处理中断,同时清零计数器。
S20、接收到所述信号量后,根据所述中断信息处理中断事件。
本实施例,还引入中断处理任务程序,将ISR的工作下放到中断处理任务程序中,中断产生后,尽快执行完ISR,释放CPU,将多次中断的动作在一次中断任务中处理完成。
中断处理任务程序被调用后去获取所述信号量,如获取到所述信号量,则读所述中断寄存器,判断各中断源中是否有中断源产生过中断,如有,对每一个产生过中断的中断源,再判断该中断源包括的各种类型的中断的状态是否发生变化,对状态发生变化的中断进行处理。
若系统中仅有一个中断处理任务,该中断处理任务处理完任务后,再循环地获取信号量;若有多个任务,则操作系统根据内部策略(如优先级、片轮等策略)调用对应的任务进行处理,这样中断处理任务在受调用后,去获取信号量。
图3为本发明实施例的中断处理任务的处理流程图,如图3所示,具体过程如下:
步骤201、中断处理任务获取到ISR程序释放的同步信号量后,从中断寄存器中读取每个中断寄存器的值,然后中断寄存器自动清零,将中断控制标志位置1。
步骤202、中断处理任务对每个中断寄存器的值进行判断,若值为0,则不必查看对应伪线的IntFlagNew变量,因为此时没有出现中断,不需要进行任何处理;若值为1,表示出现过中断,则转向步骤203;
步骤203、采用异或操作来判断本次中断情况和上次中断处理任务保存的中断情况是否相同,异或后为0,表明两次中断情况相同(即同一类型的中断的状态相同),不需要再进行处理,如果异或后为1,表明两次中断情况不同,则进一步处理,转向步骤204。
本实施例中,可以将IntFlagOld赋值给中间变量(temp变量),将IntFlagNew赋值给IntFlagOld,将temp与IntFlagOld进行异或运算。
步骤204、对中断情况不同的中断事件进行相应的处理。
在中断处理任务一次执行过程中,处理完所有类型的中断。
在伪线封装的报文中,存在一个控制字字段,该字段有16 bits,其中bit 5和bit 6代表L比特和R比特(这部分内容可以参考RFC4553标准和RFC4385标准),其中, L比特如果设置,表示净荷中携带的TDM(时分复用)的数据是无效的,R比特如果设置表示本端节点处于断包的状态。其中,伪线侧出现断包(LOPS)事件后需要将发送出去的报文R比特置位为1。为简单起见,这里仅以实现由这两个位引起的中断处理进行说明。中断标志变量依然使用两个:一个是记录当前的中断状况的IntFlagNew,一个是记录上次处理完成后的中断状况的IntFlagOld。这两个变量各占用一个字节,8 bits,其中bit0表示L比特的变化,bit1表示R比特的变化,bit3 表示断包状态(LOPS)的变化。 
假设,现有126条伪线,使用位宽16bits的中断寄存器,那么需要至少8个中断寄存器 ,只要该条伪线存在任何形式的中断,该中断寄存器对应的比特位都需要置为1。
假设,瞬间126条伪线都出现了L比特产生和消失的中断各两次,最终处于L比特产生的状态,则中断服务程序(ISR)执行了126*5次写中断寄存器,其中126个bit置为1(注意这里的写操作执行了五次,但是因为写操作实际是或运算,所以最终结果依然是1)。
每条伪线的IntFlagNew变量的bit0都变化五次,从0-1,1-0,0-1,1-0,0-1,最终写成了1。这个过程中第一次从0-1,释放一个二进制信号量,同时将全局中断控制标志位置为1,而从1-0,0-1,1-0,0-1的这几次变化都判断全局中断控制标志是否为1,为1,则不再释放信号量,故整个过程中一共只释放了一次信号量。
中断处理任务一直在尝试获取信号量,这里假设在抖动完成后,获取到该信号量(在抖动中的情况与此类似,只要抖动最终稳定,则抖动稳定后的一个中断任务执行就能保证处理结果正确),中断处理任务扫描8个中断寄存器的每一个bit,同时硬件自动清零。依次判断各个中断寄存器的bit位是否为0,若bit位为0,则不进行处理;如果bit位为1,则进一步查看IntFlagNew的变化,将IntFlagNew与IntFlagOld做异或操作,然后更新IntFlagOld为IntFlagNew。 
比较异或后的结果,则可以看到,L比特所在的bit0为1,则需要进行L比特的相关操作,按照标准,需要设置发送的数据为E1-AIS数据。8个寄存器全部比较完成后,也就意味着126条伪线的中断处理执行完成,一次中断处理任务结束。
从该应用示例可以看到,虽然一瞬间产生了126*5=630次中断,但是中断处理任务,只执行了一次,就处理了126条伪线的情况,而且每条伪线只处理了一次中断的执行动作,这样有效的避免了中断抖动,提高了中断处理效率。
本发明提出的中断处理方法既可以防止中断的抖动造成的处理反复,又能避免中断处理的丢失,解决CPU占用率过高的问题。即使中断突发的场景下,也能在有限的时间内完成所有的中断处理操作,保证系统的高效,正确执行。
需要说明的是,本发明并不局限于PTN设备,该方法可以推广到所有存在多中断处理,且对中断处理操作复杂,耗时较长的系统。
本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于任何特定形式的硬件和软件的结合。
以上仅为本发明的优选实施例,当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。

Claims (15)

1.一种中断处理方法,包括:
缓存中断信息,定时地或在预定条件下释放一信号量;
获取到所述信号量后,根据所述中断信息处理中断事件。
2.如权利要求1所述的方法,其特征在于:
所述缓存中断信息,包括:中断服务程序将上一次处理中断事件后各中断源是否产生中断的信息缓存在中断寄存器,以及记录每一中断源包括的各种类型的中断的状态信息。
3.如权利要求2所述的方法,其特征在于:所述获取到所述信号量后,根据所述中断信息处理中断事件,包括:
中断处理任务程序被调用后去获取所述信号量,如获取到所述信号量,则读所述中断寄存器,判断各中断源中是否有中断源产生过中断,如有,对每一个产生过中断的中断源,再判断该中断源包括的各种类型的中断的状态是否发生变化,对状态发生变化的中断进行处理。
4.如权利要求3所述的方法,其特征在于:所述中断服务程序记录每一中断源包括的各种类型的中断的状态信息,包括:将当前每一中断源包括的各种类型的中断的状态信息记录在第一变量中;
所述中断处理任务程序通过比较第一变量与记录上次处理中断事件时每一中断源包括的各种类型的中断的状态信息的第二变量,来判断该产生过中断的中断源包括的各种类型的中断的状态是否发生变化的,然后将第一变量中的值赋值给第二变量。
5.如权利要求3所述的方法,其特征在于:
所述在预定条件下释放一信号量,包括:中断服务程序判断中断控制标志位为空闲时,释放所述信号量;
所述中断控制标志位的初始值置为空闲,所述中断服务程序释放所述信号量后,将所述中断控制标志位设置为忙;
所述中断处理任务程序获取到所述信号量后,将所述中断控制标志位设置为空闲。
6.如权利要求3所述的方法,其特征在于:
所述在预定条件下释放一信号量,包括:设置一计数器,中断服务程序判断计数器的计数值为0时,释放所述信号量;
每来一次中断所述中断服务程序将所述计数器的计数值加1;
所述中断处理任务程序获取到所述信号量后,将所述计数器清0。
7.如权利要求3所述的方法,其特征在于:
所述中断服务程序缓存上一次处理中断事件后各中断源是否产生中断的信息,包括:所述中断服务程序判断某个中断源的中断状态变化时,以“或”运算的方式将该中断源的当前状态写入对应的中断寄存器;
所述中断处理任务程序读所述中断寄存器后,所述中断寄存器自动清零。
8.一种处理中断的装置,包括:
中断服务程序模块,用于缓存中断信息,定时地或在预定条件下释放一信号量;
中断处理任务模块,用于获取到所述信号量后,根据所述中断信息处理中断事件。
9.如权利要求8所述的装置,其特征在于: 
所述中断服务程序模块,缓存中断信息包括:缓存上一次处理中断事件后各中断源是否产生中断的信息,以及每一中断源包括的各种类型的中断的状态信息。
10.如权利要求 9所述的装置,其特征在于:
所述中断服务程序模块,具体用于被调用后去获取所述信号量,如获取到所述信号量,则读所述中断寄存器,判断各中断源中是否有中断源产生过中断,如有,对每一个产生过中断的中断源,再判断该中断源包括的各种类型的中断的状态是否发生变化,对状态发生变化的中断进行处理。
11.如权利要求10所述的装置,其特征在于:
所述中断服务程序模块,具体用于将当前每一中断源包括的各种类型的中断的状态信息记录在第一变量中;
所述中断处理任务模块,用于通过比较第一变量与记录上次处理中断事件时每一中断源包括的各种类型的中断的状态信息的第二变量,来判断该产生过中断的中断源包括的各种类型的中断的状态是否发生变化的,然后将第一变量中的值赋值给第二变量。
12.如权利要求10所述的装置,其特征在于:
所述中断服务程序模块,在所述预定条件下释放一信号量包括:判断中断控制标志位为空闲时,释放所述信号量,然后将所述中断控制标志位置为忙,所述中断控制标志位的初始值为空闲;
所述中断处理任务模块,获取到所述信号量后用于,将所述中断控制标志位置为空闲。
13.如权利要求10所述的装置,其特征在于:还包括一计数器,
所述中断服务程序模块,在所述预定条件下释放一信号量包括:判断所述计数器的计数值为0时,释放所述信号量;还用于每来一次中断将所述计数器的计数值加1;
所述中断处理任务模块,获取到所述信号量后用于,将所述计数器清0。
14.如权利要求10所述的装置,其特征在于:
所述中断服务程序模块,缓存上一次处理中断事件后各中断源是否产生中断的信息包括:判断某个中断源的中断状态变化时,以“或”运算的方式将该中断源的当前状态写入对应的中断寄存器;
所述中断寄存器,还用于被所述中断处理任务程序读后自动清零。
15.一种分组传送网设备,包括如权利要求8-14任一项所述的装置。
CN201110164051.4A 2011-06-17 2011-06-17 一种中断处理方法及装置 Active CN102833088B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201110164051.4A CN102833088B (zh) 2011-06-17 2011-06-17 一种中断处理方法及装置
PCT/CN2012/074287 WO2012171412A1 (zh) 2011-06-17 2012-04-18 一种中断处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110164051.4A CN102833088B (zh) 2011-06-17 2011-06-17 一种中断处理方法及装置

Publications (2)

Publication Number Publication Date
CN102833088A true CN102833088A (zh) 2012-12-19
CN102833088B CN102833088B (zh) 2018-03-23

Family

ID=47336067

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110164051.4A Active CN102833088B (zh) 2011-06-17 2011-06-17 一种中断处理方法及装置

Country Status (2)

Country Link
CN (1) CN102833088B (zh)
WO (1) WO2012171412A1 (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106034043A (zh) * 2015-03-18 2016-10-19 中兴通讯股份有限公司 一种提高分组传送网中复用段倒换频率的方法及装置
CN106802843A (zh) * 2015-12-22 2017-06-06 中国电子科技集团公司第二十研究所 一种cpci中断丢失的补偿方法
CN106990971A (zh) * 2017-04-06 2017-07-28 上海航天测控通信研究所 一种适用于多中断数据接收的系统驱动方法
CN108549578A (zh) * 2017-12-25 2018-09-18 贵阳忆芯科技有限公司 一种中断聚合装置及其方法
CN109062624A (zh) * 2018-08-22 2018-12-21 上海稊米汽车科技有限公司 一种用于汽车电子控制单元中断唤醒的处理方法
CN113872696A (zh) * 2021-08-31 2021-12-31 武汉光迅科技股份有限公司 一种光模块Latched标志的处理方法与装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101299206A (zh) * 2008-06-24 2008-11-05 中兴通讯股份有限公司 一种实现中断采集的方法及装置
CN101335694A (zh) * 2007-06-29 2008-12-31 联想(北京)有限公司 中断处理方法和系统
CN101373443A (zh) * 2008-09-23 2009-02-25 北京中星微电子有限公司 一种主机响应、停止响应及处理外设中断的方法
US20100017583A1 (en) * 2008-07-15 2010-01-21 International Business Machines Corporation Call Stack Sampling for a Multi-Processor System
CN101685429A (zh) * 2008-09-25 2010-03-31 联发科技股份有限公司 嵌入式系统与中断处理方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101335694A (zh) * 2007-06-29 2008-12-31 联想(北京)有限公司 中断处理方法和系统
CN101299206A (zh) * 2008-06-24 2008-11-05 中兴通讯股份有限公司 一种实现中断采集的方法及装置
US20100017583A1 (en) * 2008-07-15 2010-01-21 International Business Machines Corporation Call Stack Sampling for a Multi-Processor System
CN101373443A (zh) * 2008-09-23 2009-02-25 北京中星微电子有限公司 一种主机响应、停止响应及处理外设中断的方法
CN101685429A (zh) * 2008-09-25 2010-03-31 联发科技股份有限公司 嵌入式系统与中断处理方法

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106034043A (zh) * 2015-03-18 2016-10-19 中兴通讯股份有限公司 一种提高分组传送网中复用段倒换频率的方法及装置
CN106034043B (zh) * 2015-03-18 2020-01-07 中兴通讯股份有限公司 一种提高分组传送网中复用段倒换频率的方法及装置
CN106802843A (zh) * 2015-12-22 2017-06-06 中国电子科技集团公司第二十研究所 一种cpci中断丢失的补偿方法
CN106990971A (zh) * 2017-04-06 2017-07-28 上海航天测控通信研究所 一种适用于多中断数据接收的系统驱动方法
CN106990971B (zh) * 2017-04-06 2020-05-12 上海航天测控通信研究所 一种适用于多中断数据接收的系统驱动方法
CN108549578A (zh) * 2017-12-25 2018-09-18 贵阳忆芯科技有限公司 一种中断聚合装置及其方法
CN111078387A (zh) * 2017-12-25 2020-04-28 贵阳忆芯科技有限公司 中断聚合装置及其方法
CN111078387B (zh) * 2017-12-25 2024-01-23 贵阳忆芯科技有限公司 中断聚合装置及其方法
CN109062624A (zh) * 2018-08-22 2018-12-21 上海稊米汽车科技有限公司 一种用于汽车电子控制单元中断唤醒的处理方法
CN113872696A (zh) * 2021-08-31 2021-12-31 武汉光迅科技股份有限公司 一种光模块Latched标志的处理方法与装置
CN113872696B (zh) * 2021-08-31 2022-08-09 武汉光迅科技股份有限公司 一种光模块Latched标志的处理方法与装置

Also Published As

Publication number Publication date
WO2012171412A1 (zh) 2012-12-20
CN102833088B (zh) 2018-03-23

Similar Documents

Publication Publication Date Title
CN102833088A (zh) 一种中断处理方法及装置
JP3598321B2 (ja) 異なる周波数で動作するバス間でやりとりされるバッファリングデータ
WO2021008105A1 (zh) Tee系统中的数据传输方法和装置
WO2021209051A1 (zh) 片上缓存装置、片上缓存读写方法、计算机可读介质
US7657673B2 (en) Data transfer control device, image processing device, and data transfer control method
US7953906B2 (en) Multiple interrupt handling method, devices and software
EP2038744B1 (en) Method and system of grouping interrupts from a time-dependent data storage means
US8886741B2 (en) Receive queue models to reduce I/O cache consumption
CN101877666B (zh) 基于零拷贝方式的多应用程序报文接收方法和装置
US7984210B2 (en) Method for transmitting a datum from a time-dependent data storage means
CN113660351B (zh) 数据通信方法、装置、通信终端及计算机可读存储介质
US20140344492A1 (en) Methods and systems for reducing spurious interrupts in a data storage system
CN111181874B (zh) 一种报文处理方法、装置及存储介质
GB2451549A (en) Buffering data packet segments in a data buffer addressed using pointers stored in a pointer memory
US20180052659A1 (en) Sending and receiving data between processing units
US20030172208A1 (en) Embedded system having broadcast data storing controller
US11210757B2 (en) GPU packet aggregation system
US11550694B2 (en) Packet backpressure detection method, apparatus, and device
EP3585017A2 (en) Technologies for providing adaptive polling of packet queues
JP4715645B2 (ja) バッファメモリ
CN114048156B (zh) 一种多通道多映射中断控制器
US20220171725A1 (en) Packet Processing Device and Packet Processing Method
KR100817203B1 (ko) 비휘발성 저장장치의 데이터 판독 방법
CN115941531A (zh) 基于新增内核驱动模块的网络原始报文提取方法
US20070174738A1 (en) Disk device, method of writing data in disk device, and computer product

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant