CN101558395B - 中断控制器及中断处理方法 - Google Patents

中断控制器及中断处理方法 Download PDF

Info

Publication number
CN101558395B
CN101558395B CN200780045847XA CN200780045847A CN101558395B CN 101558395 B CN101558395 B CN 101558395B CN 200780045847X A CN200780045847X A CN 200780045847XA CN 200780045847 A CN200780045847 A CN 200780045847A CN 101558395 B CN101558395 B CN 101558395B
Authority
CN
China
Prior art keywords
interrupt
counter
register
group
unit
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.)
Active
Application number
CN200780045847XA
Other languages
English (en)
Other versions
CN101558395A (zh
Inventor
罗德尼·J·佩萨文托
约瑟夫·W·特里斯
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.)
Microchip Technology Inc
Original Assignee
Microchip Technology Inc
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 Microchip Technology Inc filed Critical Microchip Technology Inc
Publication of CN101558395A publication Critical patent/CN101558395A/zh
Application granted granted Critical
Publication of CN101558395B publication Critical patent/CN101558395B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/32Handling requests for interconnection or transfer for access to input/output bus using combination of interrupt and burst mode transfer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/24Handling requests for interconnection or transfer for access to input/output bus using interrupt
    • G06F13/26Handling requests for interconnection or transfer for access to input/output bus using interrupt with priority control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/24Handling requests for interconnection or transfer for access to input/output bus using interrupt

Landscapes

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

Abstract

一种中断控制器具有;中断寄存器单元,其接收多个中断源信号;中断检测器,其耦合到所述中断寄存器单元;计数器单元,其耦合到所述中断检测器,其中在中断源信号第一次出现时,所述计数器单元界定在此期间所述中断寄存器存储其它中断源信号的时间窗口;以及中断请求单元,其耦合到所述计数器单元以用于产生中断请求信号。

Description

中断控制器及中断处理方法
相关申请案的交叉参考
本申请案主张2006年12月15日申请的题为“时间接近度中断结合(TEMPORALPROXIMITY INTERRUPT COALESCING)”的第60/870,107号美国临时申请案的权益,所述临时申请案全文并入本文中。 
技术领域
本申请案涉及中断控制器。 
背景技术
中断控制器用于微处理器和微控制器中以管理多个可能的中断源和所谓的异常处置。中断通常导致程序的循序处理以及允许处理器对相应中断源作出反应的中断服务例程(ISR)的执行中的异常。然而,进入和退出ISR花费时间。ISR通常需要在执行之前和之后的某些“内务清理(house cleaning)”程序,其有时称为前同步码和后同步码。ISR的此类前同步或后同步是不可中断的。因此,频繁但低优先级的中断可由于进入和退出其ISR码而消耗大量处理器时间。 
然而,如果存在经循序处置的多个未决中断,那么可在ISR中跳过某些步骤。一些系统使用如尾链(tail-chaining)等概念,且其它系统使用例如结合(coalescing)等概念。尾链是可应用于控制器和ISR级处的任何中断系统的一般活动。尾链通过当链接到另一ISR时跳过核心寄存器的恢复和保存而减少额外开销。尾链辨识当处于ISR的后同步中时的未决中断,从而允许当前ISR跳过恢复一些状态寄存器和所有推进的通用寄存器(GPR)。尾链还允许用于未决中断的ISR跳过存储GPR状态。此外,其将紧接的中断处置减少至少2*所保存的GPR。 
结合是应用于中断源以限制所产生的中断数目的特定活动。结合简单地是在向处理器断言实际中断之前对请求的特定数目进行计数。因此,结合将中断事件的断言延迟到对于一个中断源存在将服务的两个或两个以上中断为止。 
发明内容
本发明提供了一种改进的中断处理器及处理多个中断以减少时间消耗的方法。根据一实施例,一种中断控制器可包括:中断寄存器单元,其接收多个中断源信号;中断检测器,其耦合到所述中断寄存器单元;计数器单元,其耦合到所述中断检测器,其中在 中断源信号第一次出现时,所述计数器单元界定期间所述中断寄存器存储其它中断源信号的时间窗口;以及中断请求单元,其耦合到所述计数器单元以用于产生中断请求信号。 
根据另一实施例,计数器单元可包括:计数器;等待时间值寄存器,其耦合到所述计数器,其中所述等待时间值寄存器存储等待时间值;超时单元,其耦合到所述计数器,其中在中断源信号第一次出现时,所述计数器预加载有等待时间值并通过时钟信号递减且比较器检测计数器何时达到零。根据另一实施例,计数器单元可包括:计数器;比较器,其耦合到所述计数器;等待时间值寄存器,其耦合到所述比较器,其中所述等待时间值寄存器存储等待时间值,其中在中断源信号第一次出现时,所述计数器被重置并通过时钟信号递增且比较器检测计数器何时达到或超过等待时间值。根据另一实施例,中断寄存器可包括多个锁存器。根据另一实施例,中断寄存器可包括具有多个位的寄存器,其中每一中断源信号被指派到所述多个位中的一者。根据另一实施例,中断请求单元进一步可接收中断确认信号并产生用于中断寄存器单元的重置信号。 
根据另一实施例,一种中断控制器可包括多个群组中断控制器,每一群组中断控制器包括:群组中断寄存器单元,其接收多个中断源信号;中断检测器,其耦合到所述中断寄存器单元;计数器单元,其耦合到所述中断检测器,其中在中断源信号第一次出现时,所述计数器单元界定期间所述中断寄存器存储其它中断源信号的时间窗口;以及群组中断请求单元,其耦合到所述计数器单元以用于产生群组中断信号;群组中断仲裁器,其从所述多个中断群组控制器接收群组中断信号;以及中断请求单元,其耦合到所述群组中断仲裁器以用于产生中断请求信号。 
根据又一实施例,一种中断控制器可包括:至少一第一群组中断控制器,其产生针对多个中断源的中断源信号;至少一第二群组中断控制器,其包括:群组中断寄存器单元,其接收多个中断源信号;中断检测器,其耦合到所述中断寄存器单元;计数器单元,其耦合到所述中断检测器,其中在中断源信号第一次出现时,所述计数器单元界定期间所述中断寄存器存储其它中断源信号的时间窗口;以及群组中断请求单元,其耦合到所述计数器单元以用于产生群组中断信号;群组中断仲裁器,其从所述第一和第二群组中断控制器接收中断源信号和群组中断信号;以及中断请求单元,其耦合到所述群组中断仲裁器以用于产生中断请求信号。 
根据另一实施例,计数器单元可包括:计数器;等待时间值寄存器,其耦合到所述计数器,其中所述等待时间值寄存器存储等待时间值;超时单元,其耦合到所述计数器,其中在中断源信号第一次出现时,所述计数器预加载有等待时间值并通过时钟信号递减且比较器检测计数器何时达到零。根据另一实施例,计数器单元可包括:计数器;比较器,其耦合到所述计数器;等待时间值寄存器,其耦合到所述比较器,其中所述等待时间值寄存器存储等待时间值,其中在中断源信号第一次出现时,所述计数器被重置并通过时钟信号递增且比较器检测计数器何时达到或超过等待时间值。根据另一实施例,中断寄存器可包括多个锁存器。根据另一实施例,中断寄存器可包括具有多个位的寄存器,其中每一中断源信号被指派到所述多个位的一者。根据另一实施例,中断请求单元可进一步接收中断确认信号且可产生用于中断寄存器单元的重置信号。 
根据又一实施例,一种处置多个中断的方法可包括以下步骤:从多个中断源信号接收第一中断源信号;存储第一中断源信号;界定接收到第一中断源信号时的时间窗口;存储在所述时间窗口期间出现的任何其它中断源信号;以及在时间窗口到期之后产生中断请求。 
根据另一实施例,所述方法可进一步包括以下步骤:在单一服务例程中服务于在所述时间窗口期间收集的多个中断源信号。根据另一实施例,所述方法可进一步包括以下步骤:使用尾链中断服务例程服务于在所述时间窗口期间收集的多个中断源信号。根据另一实施例,可由计数器创建所述时间窗口,在中断源信号第一次出现时,所述计数器预加载有等待时间值并通过时钟信号递减直到计数器达到零为止。根据另一实施例,可由计数器创建所述时间窗口,在中断源信号第一次出现时,所述计数器被重置并通过时钟信号递增直到计数器达到预定等待时间值为止。 
根据又一实施例,一种处置多个中断的方法可包括以下步骤:将多个中断源信号集合指派到多个中断群组;对于每一中断群组,执行以下步骤:接收第一中断源信号;存储第一中断源信号;界定接收到第一中断源信号时的时间窗口;存储在所述时间窗口期间出现的任何其它中断源信号;以及在时间窗口到期之后产生群组中断信号;仲裁来自所述多个中断群组的任何群组中断信号;以及产生中断请求。 
根据另一实施例,每一群组可指派有一优先级等级。根据另一实施例,所述方法可进一步包括以下步骤:在单一服务例程中服务于在所述时间窗口期间收集的多个中断源信号。根据另一实施例,所述方法可进一步包括以下步骤:使用尾链中断服务例程服务于在所述时间窗口期间收集的多个中断源信号。根据另一实施例,可由计数器创建所述时间窗口,在中断源信号第一次出现时,所述计数器预加载有等待时间值并通过时钟信号递减直到计数器达到零为止。根据另一实施例,可由计数器创建所述时间窗口,在中断源信号第一次出现时,所述计数器被重置并通过时钟信号递增直到计数器达到预定等待时间值为止。 
附图说明
可通过参考结合附图作出的以下描述内容来获得对本发明及其优点的更完整理解,附图中: 
图1是中断控制器的第一实施例的示意框图; 
图2是中断控制器的第二实施例的示意框图; 
图3是根据图1或图2使用多个群组控制器的中断控制器的第三实施例; 
图4是展示示范性中断处置的时序图; 
图5是根据一实施例的中断处置的流程图。 
虽然已参考本发明的实例实施例描绘、描述且界定本发明的实施例,但这些参考不暗示对本发明的限制,且不应推断出任何此类限制。如相关领域的且得到本发明益处的一般技术人员将了解,所揭示的标的物能够容许形式和功能上的相当多的修改、改变和等效物。所描绘和描述的本发明的实施例仅为实例,且并不详尽地阐明本发明的范围。 
具体实施方式
本发明的微控制器中断控制器对事件作出响应,如同所述事件均为即时重要的。举例来说,当事件发生时,此控制器断言对CPU的中断请求。因此,此控制器立即辨识低优先级、单一事件。如上文所陈述,进入和退出ISR消耗指令时钟来用于保存和恢复GP寄存器。事件相对于主程序为异步的且具有在时间上同时或接近地发生的有限可能性。因此,当前中断控制器阻止共享的ISR一次处理一个以上中断的能力且甚至阻止ISR至尾链的能力。然而,并非所有事件均为关键性的,因为许多事件为低优先级。举例来说,实时操作系统(RTOS)响应要求在100微秒范围内。 
根据一实施例,时间接近度中断结合使用中断接近计时器以允许其中在已达到最大可容许等待时间之前将阻止任何中断群组的时间窗口。这提供结合将使用尾链ISR或单一ISR排队和处理的若干中断事件的机会。 
图1展示能够处置多个中断源的中断控制器100的第一实施例。多个中断每一者由如数字110指示的单一线馈送到控制器,到达相关联的中断寄存器单元120。根据一实施例,这些寄存器可为当中断发生时切换其状态的单一一位寄存器(例如,锁存器),或可实施为具有多个位的单一寄存器,其中每一中断线110被指派到多个位中的一者。中断检测单元130检测一个或一个以上中断信号的任何断言并控制与等待时间值寄存器140耦合的接近计数器150。此外,接近计数器150由时钟信号190控制,所述时钟信号190控制计数器150的递减功能。接近计时器150的输出与超时电路160耦合,所述超时电路160比较计数器值且每当计数器达到0时便产生信号。接着将此信号馈送到中 断请求单元170,所述中断请求单元170在端子180处产生中央处理单元(CPU)中断信号。根据一个实施例,中断请求单元170可包括单稳态触发器,其在从超时电路160接收到逻辑信号时产生一脉冲作为中断请求信号。中断控制器100可进一步包含搜集并存储其它必要信息(例如,优先级、中断源地址、计时器信息等)的电路,以用于处置可由CPU在执行相应异常时提供或读取的相应中断。中断请求单元170可进一步从CPU接收中断确认信号且产生一个或一个以上重置信号RESET以重置中断寄存器单元120和中断检测单元130。何时重置寄存器单元120的时序取决于CPU进行的中断处置的设计。因此,寄存器单元120可通过中断服务例程或通过中断确认信号或中断处置期间的任何其它适当事件而重置。 
图2展示另一实施例,其中计数器150一旦由中断检测单元130起始就经控制以通过每一时钟信号220执行递增功能。比较器210将计数器150的值与等待时间值寄存器230进行比较并产生馈送到群组中断请求单元170的信号。 
图3展示如图1所示使用多个中断群组控制器100或200的中断控制器的第三实施例。每一群组控制器100a..n可处置多个中断源,例如32个中断信号。此外,每一群组100a..n可被指派有特定优先级等级1..n。每一中断群组控制器100a..n的输出被馈送到群组中断仲裁器210,其产生去往提供CPU中断信号的中断请求单元220的输出信号。群组中断仲裁器210依据(例如)指派到不同群组的不同优先级而仲裁中断信号。然而,可使用任何其它类型的仲裁来产生CPU中断信号。 
根据一实施例,中断控制器可将任何中断指派到n个优先级群组100a..n中的一者。每一优先级群组100a..n可(例如)处置32个中断源。根据一个实施例,每一群组控制器100a..n可如图1所示而设计。然而,根据各种实施例,仅最高优先级群组控制器100a或群组控制器100a..n的任何子集可装备有接近计时器,而剩余群组控制器100a..n被设计成不具有接近计数器150且每当其发生时便产生用于所述群组的中断。 
如图3所示,尽管仅最低优先级群组可需要具有接近计时器,但在此实例中,每一优先级群组含有等待时间值寄存器140、230和接近计数器150。返回参看图1,群组的接近计数器150在通过线110映射到群组的任何中断第一次发生时加载有来自寄存器140的等待时间值。计数器接着基于所提供的时钟190递减到零。映射到群组的任何其它中断当其发生时由中断寄存器120俘获。根据图1,当计数器150达到零时,其将中断发送到CPU。根据图3所示的实施例,当计数器150达到零时,其仲裁待发布到CPU中断输入的其它群组100a..n。ISR现可处理在等待时间周期期间发生的所有中断。或者,如图2所示,在通过线110映射到群组的任何中断第一次发生时,接近计数器150被重 置并基于所提供的时钟220递增其值。比较器210连续地将计数器150的计数器值与寄存器230的等待时间值进行比较,且如果计数器等于或超过等待时间值,那么产生去往群组中断请求单元170的信号。 
图4展示根据一实施例的微控制器或微处理器系统中的示范性信号的时序图。顶部信号指示系统时钟。根据图1所示的实施例,下一信号表示计时器150及其值。信号IRQ1表示指派到群组的第一传入中断,其致使寄存器120指示已断言中断IRQ 1。计时线“IR 1未决”展示此中断未决持续的时间。IRQ 1致使计时器150加载预置值,在所展示的实例中,此值为0xF(HF代表“十六进制F”)。随着每一时钟,(例如)时钟信号的上升沿,计时器递减直到其达到0为止。这创建时间窗口。系统监视此时间窗口期间的其它中断源。如图4的实例中所示,在第一中断IRQ 1之后不久断言第二中断IRQ 2。此也由寄存器120辨识。再次,计时线“IR 2未决”展示此中断未决持续的周期。当计时器达到0时,将中断发信号通知CPU。CPU确认此中断并开始其服务例程。 
图5中展示相应流程图。每当在步骤400处接收到中断时,便在步骤410中起始计时器。计时器预置有等待时间值且递减到零,或重置并递增到等待时间值。可根据相应最小等待时间值针对每一群组指派等待时间值。因此,多个群组可每一者被指派有不同的等待时间值。因此,等待时间值取决于必须多快地服务于某些中断的要求,且因此如果使用多个群组,则可个别地加以指派。接着在步骤420中确定是否已接收另一中断,如果是,那么在步骤430中收集并存储相应中断信息。如果否,那么跳过步骤430。在步骤440中,检查计时器是否已到期。如果是,那么在步骤450中产生针对CPU的中断。否则,重复步骤420到440。 
因此,本发明非常适于实现所述目的并获得所提及的结果和优点,以及其中固有的其它结果和优点。虽然所属领域的技术人员可作出许多变化,但此类变化包含在由所附权利要求书界定的本发明的精神内。 

Claims (19)

1.一种中断控制器,其包括:
第一群组中断控制器,其包括:
群组中断寄存器单元,其接收多个中断源信号;
中断检测器,其耦合到所述群组中断寄存器单元;
计数器单元,其用于界定时间窗口,其中所述计数器单元包括寄存器,所述寄存器可以由中央处理单元直接写入数据,所述计数器单元耦合到所述中断检测器,其中在中断源信号第一次出现时,所述计数器单元通过存储在所述寄存器中的值界定所述时间窗口,所述群组中断寄存器单元在所述时间窗口期间存储其它中断源信号;以及
群组中断请求单元,其耦合到所述计数器单元,仅当所述时间窗口超时的时候,所述群组中断请求单元产生群组中断请求信号;
第二群组中断控制器,其产生群组中断源信号且没有延时;
群组中断仲裁器,其从所述第一群组中断控制器和所述第二群组中断控制器接收所述群组中断源信号及所述群组中断请求信号;以及
中断请求单元,其耦合到所述群组中断仲裁器以用于产生中断请求信号。
2.根据权利要求1所述的中断控制器,其中所述计数器单元包括:
计数器,及
超时单元,其耦合到所述计数器;
其中所述寄存器为等待时间值寄存器,其耦合到所述计数器,其中所述等待时间值寄存器存储等待时间值;且
其中在所述中断源信号第一次出现时,所述计数器被预加载所述等待时间值并通过时钟信号递减且比较器检测所述计数器何时达到零。
3.根据权利要求1所述的中断控制器,其中所述计数器单元包括:
计数器;及
比较器,其耦合到所述计数器;
其中所述寄存器为等待时间值寄存器,其耦合到所述比较器,其中所述等待时间值寄存器存储等待时间值;且
其中在所述中断源信号第一次出现时,所述计数器被重置并通过时钟信号递增且所述比较器检测所述计数器何时达到或超过所述等待时间值。
4.根据权利要求1所述的中断控制器,其中所述群组中断寄存器单元包括多个锁存器。
5.根据权利要求1所述的中断控制器,其中所述群组中断寄存器单元包括具有多个位的寄存器,其中每一中断源信号被指派到所述多个位中的一者。
6.根据权利要求1所述的中断控制器,其中所述群组中断请求单元进一步接收中断确认信号并产生用于所述群组中断寄存器单元的重置信号。
7.一种中断控制器,其包括:
多个群组中断控制器,每一群组中断控制器包括:
群组中断寄存器单元,其接收多个中断源信号;
中断检测器,其耦合到所述中断寄存器单元;
计数器单元,其用于界定时间窗口,其中所述计数器单元包括寄存器,所述寄存器可以由中央处理单元直接写入数据,所述计数器单元耦合到所述中断检测器,其中在中断源信号第一次出现时,所述计数器单元通过存储在所述寄存器中的值界定所述时间窗口,所述中断寄存器单元在所述时间窗口期间存储其它中断源信号;以及
群组中断请求单元,其耦合到所述计数器单元,仅当所述时间窗口超时的时候,所述中断请求单元产生群组中断信号;
群组中断仲裁器,其从所述多个群组中断控制器接收所述群组中断信号;以及
中断请求单元,其耦合到所述群组中断仲裁器以用于产生中断请求信号。
8.一种中断控制器,其包括:
至少一第一中断控制器,其包括:
中断寄存器单元,其接收多个中断源信号;
中断检测器,其耦合到所述中断寄存器单元;
计数器单元,其用于界定时间窗口,其中所述计数器单元包括寄存器,所述寄存器可以由中央处理单元直接写入数据,所述计数器单元耦合到所述中断检测器,其中在中断源信号第一次出现时,所述计数器单元通过存储在所述寄存器中的值界定所述时间窗口,所述中断寄存器单元在所述时间窗口期间存储其它中断源信号;以及
中断请求单元,其耦合到所述计数器单元,仅当所述时间窗口超时的时候,所述中断请求单元产生第一中断请求信号;
至少一第二中断控制器,对于任何指派给所述第二中断控制器的接收的中断源信号,其产生用于多个中断源的第二中断请求信号且没有额外的延时:
中断仲裁器,其从第一和第二中断控制器接收所述中断信号;以及
通用中断请求单元,其耦合到所述群组中断仲裁器以用于产生通用中断请求信号。
9.根据权利要求8所述的中断控制器,其中所述计数器单元包括:
计数器,及
超时单元,其耦合到所述计数器;
其中所述寄存器为等待时间值寄存器,其耦合到所述计数器,其中所述等待时间值寄存器存储等待时间值;且
其中在所述中断源信号第一次出现时,所述计数器被预加载所述等待时间值并通过时钟信号递减且比较器检测所述计数器何时达到零。
10.根据权利要求8所述的中断控制器,其中所述计数器单元包括:
计数器;及
比较器,其耦合到所述计数器;
其中所述寄存器为等待时间值寄存器,其耦合到所述比较器,其中所述等待时间值寄存器存储等待时间值;且
其中在所述中断源信号第一次出现时,所述计数器被重置并通过时钟信号递增且所述比较器检测所述计数器何时达到或超过所述等待时间值。
11.根据权利要求8所述的中断控制器,其中所述中断寄存器单元包括多个锁存器。
12.根据权利要求8所述的中断控制器,其中所述中断寄存器单元包括具有多个位的寄存器,其中每一中断源信号被指派到所述多个位中的一者。
13.根据权利要求8所述的中断控制器,其中所述中断请求单元进一步接收中断确认信号且产生用于所述中断寄存器单元的重置信号。
14.一种用于处置多个中断的方法,其包括以下步骤:
将多个中断源信号集合指派到多个中断群组;
对于每一中断群组,执行以下步骤:
接收第一中断源信号;
存储所述第一中断源信号;
开始一时间窗口,所述时间窗口在接收到所述第一中断源信号时由寄存器值界定,其中所述时间窗口由计数器创建;
存储在界定的所述时间窗口期间出现的任何其它中断源信号;以及
仅在界定的所述时间窗口到期之后产生群组中断信号;
仲裁来自所述多个中断群组的任何群组中断信号;以及产生中断请求。
15.根据权利要求14所述的方法,其中向每一群组指派优先级等级。
16.根据权利要求14所述的方法,其进一步包括以下步骤:在单一服务例程中服务于在所述时间窗口期间收集的多个中断源信号。
17.根据权利要求14所述的方法,其进一步包括以下步骤:使用尾链中断服务例程服务于在所述时间窗口期间收集的多个中断源信号。
18.根据权利要求14所述的方法,其中所述计数器在中断源信号第一次出现时被预加载等待时间值并通过时钟信号递减直到所述计数器达到零为止。
19.根据权利要求14所述的方法,其中所述计数器在中断源信号第一次出现时被重置并通过时钟信号递增直到所述计数器达到预定等待时间值为止。
CN200780045847XA 2006-12-15 2007-12-12 中断控制器及中断处理方法 Active CN101558395B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US87010706P 2006-12-15 2006-12-15
US60/870,107 2006-12-15
US11/928,212 2007-10-30
US11/928,212 US7788434B2 (en) 2006-12-15 2007-10-30 Interrupt controller handling interrupts with and without coalescing
PCT/US2007/087237 WO2008085646A1 (en) 2006-12-15 2007-12-12 Interrupt controller

Publications (2)

Publication Number Publication Date
CN101558395A CN101558395A (zh) 2009-10-14
CN101558395B true CN101558395B (zh) 2012-09-05

Family

ID=39298320

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200780045847XA Active CN101558395B (zh) 2006-12-15 2007-12-12 中断控制器及中断处理方法

Country Status (6)

Country Link
US (1) US7788434B2 (zh)
EP (1) EP2092431B1 (zh)
KR (1) KR101391907B1 (zh)
CN (1) CN101558395B (zh)
TW (1) TWI468944B (zh)
WO (1) WO2008085646A1 (zh)

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7917784B2 (en) * 2007-01-07 2011-03-29 Apple Inc. Methods and systems for power management in a data processing system
US8667198B2 (en) * 2007-01-07 2014-03-04 Apple Inc. Methods and systems for time keeping in a data processing system
US8645740B2 (en) * 2007-06-08 2014-02-04 Apple Inc. Methods and systems to dynamically manage performance states in a data processing system
US7711864B2 (en) 2007-08-31 2010-05-04 Apple Inc. Methods and systems to dynamically manage performance states in a data processing system
US20090240802A1 (en) * 2008-03-18 2009-09-24 Hewlett-Packard Development Company L.P. Method and apparatus for self tuning network stack
EP2166457B1 (en) * 2008-09-12 2014-04-23 TELEFONAKTIEBOLAGET LM ERICSSON (publ) Interrupt controller and methods of operation
US10521265B2 (en) * 2008-09-19 2019-12-31 Microsoft Technology Licensing, Llc Coalescing periodic timer expiration in guest operating systems in a virtualized environment
US8244947B2 (en) * 2009-02-20 2012-08-14 Qualcomm Incorporated Methods and apparatus for resource sharing in a programmable interrupt controller
US9405347B2 (en) 2009-02-26 2016-08-02 Microsoft Technology Licensing, Llc Power-saving operating system for virtual environment
US8478924B2 (en) 2009-04-24 2013-07-02 Vmware, Inc. Interrupt coalescing for outstanding input/output completions
JP5267328B2 (ja) * 2009-05-26 2013-08-21 富士通セミコンダクター株式会社 割り込み通知制御装置および半導体集積回路
US8244946B2 (en) 2009-10-16 2012-08-14 Brocade Communications Systems, Inc. Interrupt moderation
JP5508903B2 (ja) * 2010-03-05 2014-06-04 ルネサスエレクトロニクス株式会社 情報処理装置、半導体集積回路装置および異常検出方法
US8713348B2 (en) 2010-08-30 2014-04-29 Mediatek Inc. Apparatus for performing timer management regarding a system timer scheduler service, and associated method
US8560749B2 (en) * 2011-02-11 2013-10-15 Intel Corporation Techniques for managing power consumption state of a processor involving use of latency tolerance report value
US8713235B2 (en) * 2011-05-02 2014-04-29 Fairchild Semiconductor Corporation Low latency interrupt collector
WO2014012580A1 (en) 2012-07-17 2014-01-23 Siemens Aktiengesellschaft Device and method for interrupt coalescing
US8971908B1 (en) * 2012-12-11 2015-03-03 Google Inc. Apparatus and method for configuring network connection parameters of a mobile device
US9542230B2 (en) * 2013-05-15 2017-01-10 Apple Inc. System and method for selective timer coalescing
US9542243B2 (en) * 2014-03-14 2017-01-10 International Business Machines Corporation Coalescing stages in a multiple stage completion sequence
US9843518B2 (en) 2014-03-14 2017-12-12 International Business Machines Corporation Remotely controlled message queue
US10078604B1 (en) * 2014-04-17 2018-09-18 Bitmicro Networks, Inc. Interrupt coalescing
US9952991B1 (en) 2014-04-17 2018-04-24 Bitmicro Networks, Inc. Systematic method on queuing of descriptors for multiple flash intelligent DMA engine operation
CN105095128B (zh) 2014-05-22 2020-04-03 中兴通讯股份有限公司 中断处理方法及中断控制器
US20160124874A1 (en) * 2014-10-30 2016-05-05 Sandisk Technologies Inc. Method and apparatus for interrupt coalescing
KR102365113B1 (ko) 2015-05-27 2022-02-18 삼성전자주식회사 적응적 인터럽트 처리 방법 및 장치와 이를 적용하는 호스트, i/o 디바이스 및 시스템
US9958933B2 (en) 2015-06-04 2018-05-01 Apple Inc. Opportunistic waking of an application processor
WO2017023661A1 (en) * 2015-08-03 2017-02-09 Marvell World Trade Ltd. Systems and methods for transmitting interrupts between nodes
US10552350B2 (en) 2015-08-03 2020-02-04 Marvell World Trade Ltd. Systems and methods for aggregating data packets in a mochi system
GB2541400B (en) * 2015-08-17 2017-11-15 Advanced Risc Mach Ltd Tracing of exception handling events
US10055369B1 (en) 2017-03-27 2018-08-21 Apple Inc. Systems and methods for coalescing interrupts
CN109933549B (zh) * 2019-01-30 2022-04-05 中山大学 一种适用于risc-v处理器的中断控制器
US20220206971A1 (en) * 2020-12-24 2022-06-30 Intel Corporation Interrupt and exception clustering in a processor using membership groups
US20220206973A1 (en) * 2020-12-24 2022-06-30 Intel Corporation Interrupt and exception clustering in a processor using timing groups
US20220206972A1 (en) * 2020-12-24 2022-06-30 Intel Corporation Interrupt and exception clustering in a processor using external event groups
CN117667466A (zh) * 2024-02-01 2024-03-08 井芯微电子技术(天津)有限公司 一种中断处理方法、装置、电子设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5708817A (en) * 1995-05-31 1998-01-13 Apple Computer, Inc. Programmable delay of an interrupt
US5905913A (en) * 1997-04-24 1999-05-18 International Business Machines Corporation System for collecting a specified number of peripheral interrupts and transferring the interrupts as a group to the processor
WO2000036519A1 (en) * 1998-12-14 2000-06-22 Intel Corporation Dynamically varying interrupt bundle size
WO2002041153A2 (en) * 2000-11-17 2002-05-23 Advanced Micro Devices, Inc. System and method for implementing a multi-level interrupt scheme in a computer system
CN1567277A (zh) * 2003-07-09 2005-01-19 明基电通股份有限公司 用于减少对处理器的中断次数的控制装置及方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2332792B (en) * 1997-12-22 2000-06-21 Lsi Logic Corp Controllable latch/register circuit
US6115779A (en) * 1999-01-21 2000-09-05 Advanced Micro Devices, Inc. Interrupt management system having batch mechanism for handling interrupt events
US6189066B1 (en) * 1999-01-26 2001-02-13 3Com Corporation System and method for dynamically selecting interrupt time interval threshold parameters
GB0210397D0 (en) * 2002-05-07 2002-06-12 Ferring Bv Pharmaceutical formulations
US7237051B2 (en) * 2003-09-30 2007-06-26 Intel Corporation Mechanism to control hardware interrupt acknowledgement in a virtual machine system
US7478186B1 (en) * 2004-06-03 2009-01-13 Integrated Device Technology, Inc. Interrupt coalescer for DMA channel

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5708817A (en) * 1995-05-31 1998-01-13 Apple Computer, Inc. Programmable delay of an interrupt
US5905913A (en) * 1997-04-24 1999-05-18 International Business Machines Corporation System for collecting a specified number of peripheral interrupts and transferring the interrupts as a group to the processor
WO2000036519A1 (en) * 1998-12-14 2000-06-22 Intel Corporation Dynamically varying interrupt bundle size
WO2002041153A2 (en) * 2000-11-17 2002-05-23 Advanced Micro Devices, Inc. System and method for implementing a multi-level interrupt scheme in a computer system
CN1567277A (zh) * 2003-07-09 2005-01-19 明基电通股份有限公司 用于减少对处理器的中断次数的控制装置及方法

Also Published As

Publication number Publication date
CN101558395A (zh) 2009-10-14
US7788434B2 (en) 2010-08-31
US20080147946A1 (en) 2008-06-19
EP2092431B1 (en) 2021-05-05
EP2092431A1 (en) 2009-08-26
KR101391907B1 (ko) 2014-05-07
WO2008085646A1 (en) 2008-07-17
KR20090088942A (ko) 2009-08-20
TW200841179A (en) 2008-10-16
TWI468944B (zh) 2015-01-11

Similar Documents

Publication Publication Date Title
CN101558395B (zh) 中断控制器及中断处理方法
CN100359481C (zh) 多任务系统的异常监控装置及其方法
US9170841B2 (en) Multiprocessor system for comparing execution order of tasks to a failure pattern
US20100306602A1 (en) Semiconductor device and abnormality detecting method
CN102483705A (zh) 多核结构的用户级中断机制
WO2013076530A1 (en) Microprocessor device, and method of managing reset events therefor
US7415557B2 (en) Methods and system for providing low latency and scalable interrupt collection
CN101236541A (zh) 一种集中控制的中断控制器及其中断控制方法
US8392643B2 (en) Data processing device, semiconductor integrated circuit device, and abnormality detection method
US20070283064A1 (en) Arbiter and arbitrating method
US6543000B1 (en) Interrupt management system with timers and controller able to detect the interrupt missed and generate appropriate warning signal for error handling
JP5239769B2 (ja) リクエスト順序制御システム、リクエスト順序制御方法およびリクエスト順序制御プログラム
CN105808338A (zh) 一种在处理中实现中断响应核可配置的方法及装置
US11537545B2 (en) Deadlock condition avoidance in a data processing system with a shared slave
US7185213B2 (en) Method for PCI Express power management using a PCI PM mechanism in a computer system
KR101725408B1 (ko) 실시간 운영체제의 태스크 스케줄링 방법
CN110659236A (zh) 可自主回复写应答的axi总线传输装置
CN101867844A (zh) 一种实现面板按键检测的方法、装置及电视
JP2008217419A (ja) 割り込みレベルを自動変更する割り込みコントローラ
Wang et al. Interrupt nesting method based on time slice in embedded software
CN1120198A (zh) 可编程多重总线优先仲裁装置
CN100487663C (zh) 时间信息修正系统及方法
JP2002229932A (ja) Dma転送装置及びデータ転送システム
JP2007201692A (ja) アラーム信号制御方法および装置並びにこれを用いる電子機器
JPH03276233A (ja) 監視制御コンピュータ入力情報の時間判定処理方式

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant