CN103874990A - 到多线程处理器的低等待时间两级中断控制器接口 - Google Patents
到多线程处理器的低等待时间两级中断控制器接口 Download PDFInfo
- Publication number
- CN103874990A CN103874990A CN201280048379.2A CN201280048379A CN103874990A CN 103874990 A CN103874990 A CN 103874990A CN 201280048379 A CN201280048379 A CN 201280048379A CN 103874990 A CN103874990 A CN 103874990A
- Authority
- CN
- China
- Prior art keywords
- interruptable controller
- interruption
- core
- instruction
- ready
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/24—Handling requests for interconnection or transfer for access to input/output bus using interrupt
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bus Control (AREA)
- Human Computer Interaction (AREA)
Abstract
本发明提供用于减少多线程处理器中的中断等待时间的***和方法。第一中断控制器耦合到所述多线程处理器。第二中断控制器经配置以将第一中断和第一向量识别符传送到所述第一中断控制器,其中所述第一中断控制器经配置以处理所述第一中断和所述第一向量识别符,且将所述经处理的中断发送到所述多线程处理器中的线程。逻辑经配置以确定所述多线程处理器何时准备好接收第二中断。使用专用线来将所述多线程处理器准备好接收所述第二中断的指示传送到所述第二中断控制器。
Description
技术领域
所揭示的实施例是针对用于处置处理器中的中断的技术。更明确地说,示范性实施例是针对用于减少为多线程处理器配置的两级中断控制器中的中断等待时间的***和方法。
背景技术
处理***通常支持中断机制,其中中断可异步地停止或挂起处理器的当前执行线程或指令流,使得所述中断可得到服务。中断可从各种来源产生,包含芯片上或芯片外的外部装置。中断也可在处理器或CPU内在内部产生,例如从多线程处理器中的一个或一个以上线程产生。
为了服务中断,接收到所述中断的处理器可执行中断服务例程(ISR)。每一中断可包含与所述中断相关联的特定ISR。因为中断可从各种来源接收,因此通常使用中断控制器来处置以下任务:接收中断、确定若干未解决中断之中的优先权以及跟踪待决中断的状态,使得可确定处理器对处理新中断的可用性。为了跟踪中断和相关联的来源与ISR,此项技术中已知向量化中断控制器(VIC)是用来跟踪与每一中断相关联的向量化地址,使得可使VIC能够向服务中断的处理器提供相关联ISR。
在经配置以并行执行两个或两个以上线程的多线程处理器的情况下,可动态地或静态地将优先级指派给线程,以便中断控制器确定为了服务中断,应中断哪一线程。第一级或L1中断控制器可例如经配置以处置与处理器核(例如,多线程处理器)有关的中断。第二级或L2中断控制器可例如经配置以处置来自外部装置的中断或全局范围上的中断。L2中断控制器可通过***总线(例如AHB/AXI)与L1中断控制器通信,以相应地将中断从L2中断控制器引导到L1中断控制器。两级中断控制器(例如L1和L2中断控制器)可在处理***中有若干其它应用,如所属领域的技术人员将认识到。
参看图1,提供两级中断控制器的常规实施方案。L2中断控制器102可经由总线108将中断传送到L1中断控制器104,L1中断控制器104可附接到核106。如图所示,核106仅与L1中断控制器104而不是L2中断控制器102直接通信。最初,L1中断控制器104可接收来自L2中断控制器102的第一中断。其后,可例如基于处理器资源,以两种方式中的一种来处置后续中断的处理。
在第一情形中,在接收到第一中断后,核106可立即通过L1中断控制器104将核106为新中断准备好的指示提供给L2中断控制器102。如果第二中断正在L2中断控制器102处待决,那么L2中断控制器102可接着向处理器核发送第二中断。举例来说,如果核106配置为多线程处理器,那么第一中断可由多线程处理器的第一线程服务,且第二线程可处于等待(WAlT)状态,并可用于处理第二中断。在此例子中,在处理器核接收到第一中断之后,多线程处理器可立即例如经由L1中断控制器104向L2中断控制器102提供L2中断控制器102可发送第二中断的指示。
或者,在第二情形中,核106可向L2中断控制器102提供推迟发送任何新中断直到以后时间点为止或直到得到进一步通知为止的指示。再次,如果核106配置为多线程处理器,那么所有线程可能均在忙,且与处理器核相关联的实时操作***(RTOS)可能需要时间延迟,以便确定要中断哪一线程。举例来说,RTOS可确定哪一硬件线程正在运行具有最小优先级的软件线程,并将所述线程指定为最低优先级软件线程,使得L1中断控制器104可将第二中断从L2中断控制器102引导到最低优先级软件线程。最低优先级软件线程的确定可招致显著的时间延迟,且对应地,可处理中断的速率遭受降级。
此外,在常规数据处理***中,关于中断的信息(例如与中断的ISR相关联的向量化地址)经由高级微控制器总线架构高性能总线(AHB)在L2中断控制器102与L1中断控制器104之间传送。与读取AHB以便检索以上信息相关联的进程可将显著的延迟加到中断等待时间,且因此进一步影响处理中断的速率。
为了减轻前面提到的与常规中断处置相关联的问题,此项技术中需要包含低等待时间两级中断控制器的解决方案。
发明内容
本发明的示范性实施例是针对用于减少为多线程处理器配置的两级中断控制器中的中断等待时间的***和方法。
举例来说,示范性实施例是针对一种用于减少中断等待时间的方法,其包括:将第一中断和第一向量识别符从第二中断控制器传送到第一中断控制器;在所述第一中断控制器处处理所述第一中断和第一向量识别符;将经处理的中断从第一中断控制器发送到核中的线程;确定所述核何时准备好接收第二中断;以及将指示所述核准备好接收第二中断的指令从所述核发送到第二中断控制器。
另一示范性实施例是针对一种多线程处理器,其包括:核,二级中断控制器,以及将所述核耦合到所述二级中断控制器的线,其中所述核经配置以经由所述线向所述二级中断控制器指示所述核准备好接收二级中断。
又一示范性实施例是针对一种经配置以用于减少中断等待时间的处理***,所述处理***包括:耦合到核的第一中断控制器;用于将第一中断和第一向量识别符从第二中断控制器传送到第一中断控制器的装置;用于在所述第一中断控制器处处理所述第一中断和第一向量识别符的装置;用于将经处理的中断发送到核中的线程的装置;用于确定所述核何时准备好接收第二中断的装置;以及用于将指示所述核准备好接收第二中断的指令从所述核发送到第二中断控制器的装置。
另一示范性实施例是针对一种包括代码的非暂时性计算机可读存储媒体,所述代码在由处理器执行时,致使所述处理器执行用于减少中断等待时间的操作,所述非暂时性计算机可读存储媒体包括:用于将第一中断和第一向量识别符从第二中断控制器传送到第一中断控制器的代码;用于在所述第一中断控制器处处理所述第一中断和第一向量识别符的代码;用于将经处理的中断从第一中断控制器发送到核中的线程的代码;用于确定所述核何时准备好接收第二中断的代码;以及用于将指示所述核准备好接收第二中断的指令从所述核发送到第二中断控制器的代码。
附图说明
呈现附图以辅助描述本发明的实施例,且提供附图只是用于说明实施例而不是限制实施例。
图1说明到核的常规两级中断控制器接口。
图2说明根据示范性实施例配置的到多线程处理器的两级中断控制器接口。
图3说明详细描述根据示范性实施例的用于配置到多线程处理器的两级中断控制器接口的方法的流程图。
图4说明其中可有利地使用本发明的实施例的示范性无线通信***400。
具体实施方式
在针对本发明的特定实施例的以下描述和相关图式中揭示本发明的方面。可在不脱离本发明的范围的情况下设计替代实施例。另外,将不详细地描述或将省略本发明的众所周知的元件,以便不模糊本发明的相关细节。
词语“示范性”在本文中用于表示“充当实例、例子或说明”。本文中被描述为“示范性”的任何实施例不一定被解释为比其它实施例优选或有利。同样,术语“本发明的实施例”不要求本发明的所有实施例均包含所论述的特征、优点或操作模式。
本文中所使用的术语是仅用于描述特定实施例的目的,且无意限制本发明的实施例。如在本文中所使用,除非上下文另外清楚地指示,否则单数形式“一”和“所述”也既定包括复数形式。将进一步理解,术语“包括”和/或“包含”在用于本文中时指定所陈述的特征、整数、步骤、操作、元件和/或组件的存在,但不排除一个或一个以上其它特征、整数、步骤、操作、元件、组件和/或其群组的存在或添加。
此外,许多实施例是根据待由(例如)计算装置的元件执行的动作的序列来加以描述的。将认识到,可由特定电路(例如,专用集成电路(ASIC))、由正由一个或一个以上处理器执行的程序指令或由两者的组合来执行本文中所述的各种动作。此外,可认为本文中所述的这些动作序列完全实施于任何形式的计算机可读存储媒体内,所述计算机可读存储媒体中已存储一组对应计算机指令,所述指令在被执行时将致使相关联的处理器执行本文中所述的功能性。因此,本发明的各种方面可以许多不同形式来实施,所有所述形式均已被涵盖在所主张的标的物的范围内。此外,对于本文中所述的实施例的每一者来说,任何所述实施例的对应形式可在本文中被描述为(例如)“经配置以(执行所描述的动作)的逻辑”。
如先前参看图1所描述,常规的两级中断控制器存在缺点。当核106准备好接受新中断时,在长等待时间网络110(例如,AHB总线)上经由L1中断控制器104将此指示提供给L2中断控制器102。对中断的此常规处置招致严重的延迟,且导致较低的中断处理速率。
与以上常规技术相反,示范性实施例是针对被配置用于较高中断处理速率的低等待时间中断控制器。更明确地说,实施例可包含两级低等待时间中断控制器,其可介接到多线程处理器核。
现在参看图2,说明包括L1中断控制器204的***200,L1中断控制器204可经配置以用于与多线程处理器206直接介接。L1中断控制器204可处置从一个或一个以上装置(包含L2中断控制器202)引导到多线程处理器的中断。
在一个实施例中,L1中断控制器204和L2中断控制器202两者均可为向量化中断控制器,例如先前所述。因此,L2中断控制器202可经配置以连同与中断的ISR相关联的向量地址发送中断。根据非限制说明,L2中断控制器202可支持至多达1024个低等待时间中断。所述1024个低等待时间中断可由L2中断控制器202定优先级。L1中断控制器204可为具有32个寄存器条目[31:0]的VIC,使得L1中断控制器204的寄存器条目[31]可对应于L2中断控制器202。L1中断控制器204的其余31个寄存器条目可为来自其它来源的中断保留,包含从多线程处理器206的两个或两个以上线程内部产生的用于线程到线程信令或用于遗留应用程序的中断。在L1中断控制器204和L2中断控制器202的所说明配置中,可首先在L2中断控制器202处接收来自外部装置(未图示)的所有中断,且其后可将其引导到L1中断控制器204。
举例来说,继续参看图2,L2中断控制器202可从外部装置(未图示)接收第一中断。可经由总线208将第一中断连同总线210上的对应向量ID传送到L1中断控制器204。还可用所述向量ID来更新全局向量ID寄存器(未图示),其中可经由控制寄存器(CR)传送指令来存取全局向量ID寄存器。全局向量ID寄存器可辅助跟踪中断。举例来说,全局VID寄存器可经配置以跟踪曾将哪一特定L2中断发送到L1中断控制器204。
一旦L1中断控制器204接收到第一中断,实施例就可以若干方式偏离常规技术,以便加快后续请求的处置。虽然例如图1中所说明的常规技术依靠硬件解决方案来经由网络110告知L2中断控制器102关于核106对接受新请求的可用性,但实施例可包含经配置以监视多线程处理器206的准备就绪状态的软件例程。举例来说,软件例程可高效地跟踪在多线程处理器206的两个或两个以上线程上运行的进程的状态。软件例程可确定一个或一个以上线程是否可处于等待状态以立即接受新中断,或是否可中断在线程上运行的低优先级进程以立即服务新中断。
一旦作出关于多线程处理器206接受中断的准备就绪状态的确定,实施例就可包含用以完成以下两者的单个指令:告知L1中断控制器204第一中断已被接受以进行处理,且还告知L2中断控制器202多线程处理器206现在准备好接受新中断。将认识到,这些实施例不受常规两级中断架构(例如图1中所说明)约束,其中核106可仅通过网络110将其对新中断的准备就绪状态传送到L2中断控制器102。另一方面,实施例可通过专用硬件线(例如图2中的线212)将多线程处理器206的准备就绪状态直接传送到L2中断控制器202。
此外,一些实施例还可包含多线程处理器206中的专用硬件端口,使得L2中断控制器202可经由专用硬件线(例如线214)将中断(例如,图2中的“新中断”)直接传送到多线程处理器206。以此方式,准备就绪状态从多线程处理器206到L2中断控制器202的传送,以及中断从L2中断控制器202到多线程处理器206的后续传送可完全避开L1中断控制器204和相关联的延迟。
示范性实施例可包含清除中断自动停用(CIAD)寄存器。可使用CIAD指令来确保同一中断不会被采用一次以上。举例来说,第一中断一被采用,多线程处理器206就可自动设定ClAD寄存器。一旦例如通过先前所论述的软件例程确定多线程处理器206准备好接受新中断,软件例程就可触发ClAD指令被发出。ClAD指令可接着清空ClAD寄存器以激活中断线,使得可在同一线上采用新中断。
在一个实施方案中,多线程处理器206可发出ClAD指令,以清除指示第一中断在L1中断控制器204处待决的状态,且还告知L2中断控制器202多线程处理器206准备好分别经由总线208和210接收另一中断和随附的向量ID。ClAD指令可与L1中断控制器204的寄存器条目[31]相关联,所述寄存器条目如先前所述,可专用于来自L2中断控制器202的中断。因此,ClAD指令可提供L2中断控制器202、L1中断控制器204和多线程处理器206之间的有效信号交换机制。一旦在L1中断控制器204处接收到第一中断,就可开始进程(例如,软件例程)以产生ClAD指令,用于加快后续中断的处置。将理解,实施例还可用专用硬件或硬件与软件的组合来实施以上进程,而不限于如前面提到的实例中所论述的软件例程。
此外,实施例可包含这样的实施方案:其中可对L1中断控制器204的寄存器条目[31]进行编程以在时钟的上升沿上捕获信息。L2中断控制器202可为经边缘触发的或对等级敏感的,且异步地经由总线208和210将中断和对应的向量ID发送到L1中断控制器204。通过将L1中断控制器204配置为经边缘触发的,可使中断与对应于多线程处理器206的时钟同步。此些经边缘触发的配置可实现L1中断控制器204与L2中断控制器202之间的改进的通信协议。
另外,将认识到,可在第一中断完成之前触发告知L2中断控制器202关于多线程处理器206的准备就绪状态的机制(例如,经由专用总线212发送的ClAD指令)。换句话说,第一中断无需完全由多线程处理器206处理,以使多线程处理器206到达准备就绪阶段以处置新中断。在一些实施例中,在L1中断控制器处接收到第一中断后不久,多线程处理器206可开始向接受新中断的准备就绪状态转变,例如通过清除L1中断控制器204的寄存器条目[31]。
因此,通过如以上部分中所论述的硬件和软件配置的组合,实施例可显著改进处理中断的速率,且还减少中断处理的等待时间。
另外,将了解,实施例包含用于执行本文所揭示的进程、函数和/或算法的各种方法。举例来说,如图3中所说明,实施例可包含一种用于减少中断等待时间的方法,其包括:将第一中断控制器(例如L1中断控制器204)耦合到核(例如多线程处理器206)(框302);将第一中断和第一向量识别符例如分别经由总线208和210从第二中断控制器(例如L2中断控制器202)传送到第一中断控制器(框304);在第一中断控制器处处理所述第一中断和第一向量识别符(框306);将经处理的中断发送到核中的线程(框308);确定所述核何时准备好接收第二中断(框310);以及将指示所述核准备好接收第二中断的指令从所述核发送到第二中断控制器(框312)。
所属领域的技术人员将了解,可使用多种不同技术及技法中的任一者来表示信息及信号。举例来说,可由电压、电流、电磁波、磁场或磁粒子、光场或光粒子或其任何组合来表示在以上描述中始终参考的数据、指令、命令、信息、信号、位、符号及码片。
此外,所属领域的技术人员将了解,结合本文中所揭示的实施例而描述的各种说明性逻辑块、模块、电路及算法步骤可实施为电子硬件、计算机软件或两者的组合。为清楚说明硬件与软件的这种互换性,上文已大致关于各种说明性组件、块、模块、电路及步骤的功能性而描述了各种说明性组件、块、模块、电路及步骤。所述功能性是实施为硬件还是软件取决于特定应用及施加于整个***的设计约束。所属领域的技术人员可针对每一特定应用以不同方式来实施所描述的功能性,但所述实施方案决定不应被解释为会导致脱离本发明的范围。
结合本文中所揭示的实施例而描述的方法、序列及/或算法可直接体现于硬件中、由处理器执行的软件模块中或两者的组合中。软件模块可驻存在RAM存储器、快闪存储器、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可装卸磁盘、CD-ROM,或此项技术中已知的任何其它形式的存储媒体中。示范性存储媒体耦合到处理器,使得处理器可从存储媒体读取信息并将信息写入到存储媒体。在替代方案中,存储媒体可与处理器成一体式。
因此,本发明的实施例可包含一种计算机可读媒体,其体现用于减少到多线程处理器的两级中断控制器接口中的中断等待时间的方法。因此,本发明不限于所说明的实例,且本文所描述的用于执行功能性的任何方法均包含在本发明的实施例中。
参看图4,将包含根据示范性实施例配置的多核处理器的无线装置的特定说明性实施例的框图描绘并大体表示为400。装置400包含数字信号处理器(DSP)464,其可包含图2的***200。图4还展示耦合到DSP464且耦合到显示器428的显示器控制器426。译码器/解码器(CODEC)434(例如,音频和/或话音CODEC)可耦合到DSP464。还说明其它组件,例如无线控制器440(其可包含调制解调器)。扬声器436和麦克风438可耦合到CODEC434。图4还指示无线控制器440可耦合到无线天线442。在特定实施例中,DSP464、显示器控制器426、存储器432、CODEC434和无线控制器440包含在封装中***或芯片上***装置422中。
在特定实施例中,输入装置430和电力供应器444耦合到芯片上***装置422。此外,在特定实施例中,如图4中所说明,显示器428、输入装置430、扬声器436、麦克风438、无线天线442和电力供应器444在芯片上***装置422外部。然而,显示器428、输入装置430、扬声器436、麦克风438、无线天线442和电力供应器444中的每一者可耦合到芯片上***装置422的组件,例如接口或控制器。
应注意,尽管图4描绘无线通信装置,但DSP464和存储器432也可集成到机顶盒、音乐播放器、视频播放器、娱乐单元、导航装置、个人数字助理(PDA)、固定位置数据单元或计算机中。处理器(例如,DSP464)也可集成到此装置中。
前面揭示的装置和方法通常经设计且配置到存储在计算机可读媒体上的GDSII和GERBER计算机文件中。这些文件又被提供给基于这些文件制造装置的制造处置者。所得产品为半导体晶片,其接着被切割成半导体裸片并封装到半导体芯片中。所述芯片接着用于上文所述的装置中。
虽然前述揭示内容展示本发明的说明性实施例,但应注意,可在不脱离如由所附权利要求书界定的本发明的范围的情况下在本文中作出各种改变和修改。无需以任何特定次序来执行根据本文中所述的本发明的实施例的方法权利要求项的功能、步骤及/或动作。此外,尽管可以单数形式来描述或主张本发明的元件,但涵盖复数形式,除非明确规定限于单数形式。
Claims (27)
1.一种用于减少中断等待时间的方法,其包括:
将第一中断和第一向量识别符从第二中断控制器传送到第一中断控制器;
在所述第一中断控制器处处理所述第一中断和所述第一向量识别符;
将所述经处理的中断从所述第一中断控制器发送到核中的线程;
确定所述核何时准备好接收第二中断;以及
将指示所述核准备好接收所述第二中断的指令从所述核发送到所述第二中断控制器。
2.根据权利要求1所述的方法,其中经由专用线将所述指令从所述核发送到第二级中断控制器。
3.根据权利要求1所述的方法,其中所述第二中断控制器为二级中断控制器,且所述第一中断控制器为一级中断控制器。
4.根据权利要求1所述的方法,其中所述指令为清除中断自动停用CIAD指令。
5.根据权利要求1所述的方法,其中所述核为多线程处理器。
6.根据权利要求5所述的方法,其中确定所述核何时准备好接收第二中断包括识别闲置线程以服务所述第二中断。
7.根据权利要求5所述的方法,其中确定所述核何时准备好接收第二中断包括识别具有最低优先级的线程以服务所述第二中断。
8.一种多线程处理器,其包括:
核;
二级中断控制器;以及
线,其将所述核耦合到所述二级中断控制器,其中所述核经配置以经由所述线向所述二级中断控制器指示所述核准备好接收二级中断。
9.根据权利要求8所述的多线程处理器,其进一步包括专用硬件端口,所述专用硬件端口经配置以从所述二级中断控制器接收所述二级中断。
10.根据权利要求8所述的多线程处理器,其进一步包括耦合到所述核的一级中断控制器,使得所述二级中断控制器经配置以将第一中断和第一向量识别符传送到所述第一中断控制器。
11.根据权利要求10所述的多线程处理器,其中所述一级中断控制器经配置以处理所述第一中断和第一向量识别符,且将所述第一中断传送到所述核。
12.根据权利要求11所述的多线程处理器,其中所述核经配置以基于传送到所述核的所述第一中断,确定所述核准备好接收第二二级中断。
13.根据权利要求8所述的多线程处理器,其中所述核经由所述线通过清除中断自动停用CIAD指令指示所述核准备好接收二级中断。
14.根据权利要求8所述的多线程处理器,其中所述核经配置以经由经配置以识别所述核中用以服务所述二级中断的线程的逻辑来确定所述核准备好接收二级中断。
15.根据权利要求14所述的多线程处理器,其中所述逻辑经配置以识别具有最低优先级的线程以服务所述第二中断。
16.根据权利要求14所述的多线程处理器,其中所述逻辑经配置以识别闲置线程以服务所述第二中断。
17.根据权利要求8所述的多线程处理器,其集成在至少一个半导体裸片中。
18.根据权利要求8所述的多线程处理器,其集成到选自由以下各项组成的群组的装置中:机顶盒、音乐播放器、视频播放器、娱乐单元、导航装置、通信装置、个人数字助理PDA、固定位置数据单元以及计算机。
19.一种经配置以用于减少中断等待时间的处理***,所述处理***包括:
第一中断控制器,其耦合到核;
用于将第一中断和第一向量识别符从第二中断控制器传送到所述第一中断控制器的装置;
用于在所述第一中断控制器处处理所述第一中断和所述第一向量识别符的装置;
用于将所述经处理的中断发送到所述核中的线程的装置;
用于确定所述核何时准备好接收第二中断的装置;以及
用于将指示所述核准备好接收所述第二中断的指令从所述核发送到所述第二中断控制器的装置。
20.根据权利要求19所述的处理***,其中用于发送所述指令的装置包括从所述核到所述第二级中断控制器的专用线。
21.根据权利要求19所述的处理***,其中所述指令为清除中断自动停用CIAD指令。
22.根据权利要求19所述的处理***,其中所述核为多线程处理器。
23.根据权利要求22所述的处理***,其中所述用于确定所述核何时准备好接收第二中断的装置包括用于识别闲置线程以服务所述第二中断的装置。
24.根据权利要求22所述的处理***,其中所述用于确定所述核何时准备好接收第二中断的装置包括用于识别具有最低优先级的线程以服务所述第二中断的装置。
25.根据权利要求19所述的多线程处理器,其集成在至少一个半导体裸片中。
26.根据权利要求19所述的多线程处理器,其集成到选自由以下各项组成的群组的装置中:机顶盒、音乐播放器、视频播放器、娱乐单元、导航装置、通信装置、个人数字助理PDA、固定位置数据单元以及计算机。
27.一种包括代码的非暂时性计算机可读存储媒体,所述代码在由处理器执行时,致使所述处理器执行用于减少中断等待时间的操作,所述非暂时性计算机可读存储媒体包括:
用于将第一中断和第一向量识别符从第二中断控制器传送到第一中断控制器的代码;
用于在所述第一中断控制器处处理所述第一中断和所述第一向量识别符的代码;
用于将所述经处理的中断从所述第一中断控制器发送到核中的线程的代码;
用于确定所述核何时准备好接收第二中断的代码;以及
用于将指示所述核准备好接收所述第二中断的指令从所述核发送到所述第二中断控制器的代码。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/252,670 US8972642B2 (en) | 2011-10-04 | 2011-10-04 | Low latency two-level interrupt controller interface to multi-threaded processor |
US13/252,670 | 2011-10-04 | ||
PCT/US2012/058780 WO2013052684A2 (en) | 2011-10-04 | 2012-10-04 | Low latency two-level interrupt controller interface to multi-threaded processor |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103874990A true CN103874990A (zh) | 2014-06-18 |
CN103874990B CN103874990B (zh) | 2016-08-17 |
Family
ID=47172881
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201280048379.2A Active CN103874990B (zh) | 2011-10-04 | 2012-10-04 | 到多线程处理器的低等待时间两级中断控制器接口 |
Country Status (6)
Country | Link |
---|---|
US (1) | US8972642B2 (zh) |
EP (1) | EP2764442B1 (zh) |
JP (2) | JP5847949B2 (zh) |
KR (1) | KR101563576B1 (zh) |
CN (1) | CN103874990B (zh) |
WO (1) | WO2013052684A2 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130086290A1 (en) * | 2011-10-04 | 2013-04-04 | Qualcomm Incorporated | Low Latency Two-Level Interrupt Controller Interface to Multi-Threaded Processor |
CN107251001A (zh) * | 2015-03-06 | 2017-10-13 | 密克罗奇普技术公司 | 具有双模式中断的微控制器或微处理器 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9110830B2 (en) * | 2012-01-18 | 2015-08-18 | Qualcomm Incorporated | Determining cache hit/miss of aliased addresses in virtually-tagged cache(s), and related systems and methods |
US10394730B2 (en) * | 2014-11-14 | 2019-08-27 | Cavium, Llc | Distributed interrupt scheme in a multi-processor system |
US11507414B2 (en) | 2020-11-25 | 2022-11-22 | Cadence Design Systems, Inc. | Circuit for fast interrupt handling |
US12020066B2 (en) | 2021-06-11 | 2024-06-25 | International Busin ess Machines Corporation | Asynchronous completion notification in a multi-core data processing system |
US11645215B2 (en) | 2021-06-11 | 2023-05-09 | International Business Machines Corporation | Efficient selection of a particular processor thread for handling an interrupt |
US11755362B2 (en) | 2021-06-11 | 2023-09-12 | International Business Machines Corporation | Techniques for handling escalation of interrupts in a data processing system |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4420806A (en) * | 1981-01-15 | 1983-12-13 | Harris Corporation | Interrupt coupling and monitoring system |
US20010052043A1 (en) * | 1997-12-10 | 2001-12-13 | Stephen S. Pawlowski | System and apparatus including lowest priority logic to select a processor to receive an interrupt message |
CN101128808A (zh) * | 2005-02-28 | 2008-02-20 | 皇家飞利浦电子股份有限公司 | 具有中断控制器的数据处理***和中断控制方法 |
CN101390057A (zh) * | 2006-02-24 | 2009-03-18 | 高通股份有限公司 | 两级中断服务例程 |
Family Cites Families (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5555420A (en) * | 1990-12-21 | 1996-09-10 | Intel Corporation | Multiprocessor programmable interrupt controller system with separate interrupt bus and bus retry management |
US5805841A (en) * | 1991-07-24 | 1998-09-08 | Micron Electronics, Inc. | Symmetric parallel multi-processing bus architeture |
US5367689A (en) * | 1992-10-02 | 1994-11-22 | Compaq Computer Corporation | Apparatus for strictly ordered input/output operations for interrupt system integrity |
US5530872A (en) * | 1992-12-23 | 1996-06-25 | International Business Machines Corporation | Method and system for directing device driver to service multiple sequential interrupt requests generated by I/O device connected thereto |
DE19501674A1 (de) * | 1994-02-03 | 1995-08-10 | Tektronix Inc | Verwaltung der Datenübertragung zwischen Prozessoren |
DE4406094C2 (de) | 1994-02-25 | 2000-04-13 | Lp Elektronik Gmbh | Vorrichtung zum Betrieb einer Steuerungsanwendung |
US5745772A (en) | 1996-08-02 | 1998-04-28 | Micron Electronics, Inc. | Advanced programmable interrupt controller |
US5944809A (en) * | 1996-08-20 | 1999-08-31 | Compaq Computer Corporation | Method and apparatus for distributing interrupts in a symmetric multiprocessor system |
US5905897A (en) * | 1997-03-20 | 1999-05-18 | Industrial Technology Research Institute | Method and apparatus for selecting a nonblocked interrupt request |
US6356354B1 (en) * | 1998-09-18 | 2002-03-12 | Hewlett-Packard Co. | System having an arithmetic-logic circuit for determining the maximum or minimum of a plurality of codes |
IT1308343B1 (it) * | 1999-02-03 | 2001-12-11 | St Microelectronics Srl | Procedimento per arbitrare priorita' di interruzione tra periferichein un sistema basato su microprocessore |
US6477600B1 (en) * | 1999-06-08 | 2002-11-05 | Intel Corporation | Apparatus and method for processing isochronous interrupts |
JP3769428B2 (ja) * | 1999-09-30 | 2006-04-26 | 富士通株式会社 | 浮動割込みを保留できる情報処理装置および割込み条件変更命令実行方法 |
US6662297B1 (en) * | 1999-12-30 | 2003-12-09 | Intel Corporation | Allocation of processor bandwidth by inserting interrupt servicing instructions to intervene main program in instruction queue mechanism |
US6772241B1 (en) * | 2000-09-29 | 2004-08-03 | Intel Corporation | Selective interrupt delivery to multiple processors having independent operating systems |
US20040111593A1 (en) | 2002-12-05 | 2004-06-10 | International Business Machines Corporation | Interrupt handler prediction method and system |
US20040117532A1 (en) * | 2002-12-11 | 2004-06-17 | Bennett Steven M. | Mechanism for controlling external interrupts in a virtual machine system |
US7350005B2 (en) | 2003-05-23 | 2008-03-25 | Arm Limited | Handling interrupts in a system having multiple data processing units |
US7051146B2 (en) * | 2003-06-25 | 2006-05-23 | Lsi Logic Corporation | Data processing systems including high performance buses and interfaces, and associated communication methods |
GB2403822B (en) * | 2003-07-07 | 2006-05-10 | Advanced Risc Mach Ltd | Data processing apparatus and method for handling interrupts |
US7177967B2 (en) * | 2003-09-30 | 2007-02-13 | Intel Corporation | Chipset support for managing hardware interrupts in a virtual machine system |
US7237051B2 (en) * | 2003-09-30 | 2007-06-26 | Intel Corporation | Mechanism to control hardware interrupt acknowledgement in a virtual machine system |
DE10361364B4 (de) * | 2003-12-29 | 2010-07-01 | Advanced Micro Devices, Inc., Sunnyvale | Vorrichtung zum Behandeln von Interruptereignissen, mit der pegel-sensitive bzw. level-sensitive Interruptanforderungen in flankengetriggerten Interruptnachrichten umgesetzt werden |
CN100451950C (zh) * | 2004-08-27 | 2009-01-14 | 松下电器产业株式会社 | 信息处理装置、例外控制电路 |
JP2006331156A (ja) * | 2005-05-27 | 2006-12-07 | Renesas Technology Corp | 半導体装置 |
US7533207B2 (en) * | 2006-12-06 | 2009-05-12 | Microsoft Corporation | Optimized interrupt delivery in a virtualized environment |
JP4249779B2 (ja) * | 2006-12-25 | 2009-04-08 | 株式会社東芝 | デバイス制御装置 |
US7769938B2 (en) * | 2007-09-06 | 2010-08-03 | Intel Corporation | Processor selection for an interrupt identifying a processor cluster |
US7657683B2 (en) | 2008-02-01 | 2010-02-02 | Redpine Signals, Inc. | Cross-thread interrupt controller for a multi-thread processor |
US8291202B2 (en) * | 2008-08-08 | 2012-10-16 | Qualcomm Incorporated | Apparatus and methods for speculative interrupt vector prefetching |
US7849247B2 (en) | 2008-10-14 | 2010-12-07 | Freescale Semiconductor, Inc. | Interrupt controller for accelerated interrupt handling in a data processing system and method thereof |
US8302109B2 (en) * | 2009-02-24 | 2012-10-30 | International Business Machines Corporation | Synchronization optimized queuing system |
US8234431B2 (en) * | 2009-10-13 | 2012-07-31 | Empire Technology Development Llc | Interrupt masking for multi-core processors |
US8312195B2 (en) * | 2010-02-18 | 2012-11-13 | Red Hat, Inc. | Managing interrupts using a preferred binding between a device generating interrupts and a CPU |
US8458386B2 (en) * | 2010-12-07 | 2013-06-04 | Apple Inc. | Atomic interrupt masking in an interrupt controller to prevent delivery of same interrupt vector for consecutive interrupt acknowledgements |
US8688883B2 (en) * | 2011-09-08 | 2014-04-01 | Intel Corporation | Increasing turbo mode residency of a processor |
US8972642B2 (en) * | 2011-10-04 | 2015-03-03 | Qualcomm Incorporated | Low latency two-level interrupt controller interface to multi-threaded processor |
-
2011
- 2011-10-04 US US13/252,670 patent/US8972642B2/en active Active
-
2012
- 2012-10-04 JP JP2014534728A patent/JP5847949B2/ja not_active Expired - Fee Related
- 2012-10-04 WO PCT/US2012/058780 patent/WO2013052684A2/en active Application Filing
- 2012-10-04 KR KR1020147012326A patent/KR101563576B1/ko active IP Right Grant
- 2012-10-04 EP EP12784381.1A patent/EP2764442B1/en not_active Not-in-force
- 2012-10-04 CN CN201280048379.2A patent/CN103874990B/zh active Active
-
2015
- 2015-11-25 JP JP2015229471A patent/JP6153991B2/ja not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4420806A (en) * | 1981-01-15 | 1983-12-13 | Harris Corporation | Interrupt coupling and monitoring system |
US20010052043A1 (en) * | 1997-12-10 | 2001-12-13 | Stephen S. Pawlowski | System and apparatus including lowest priority logic to select a processor to receive an interrupt message |
CN101128808A (zh) * | 2005-02-28 | 2008-02-20 | 皇家飞利浦电子股份有限公司 | 具有中断控制器的数据处理***和中断控制方法 |
US20080168203A1 (en) * | 2005-02-28 | 2008-07-10 | Koninklijke Philips Electronics, N.V. | Data Processing System With Interrupt Controller and Interrupt Controlling Method |
CN101390057A (zh) * | 2006-02-24 | 2009-03-18 | 高通股份有限公司 | 两级中断服务例程 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130086290A1 (en) * | 2011-10-04 | 2013-04-04 | Qualcomm Incorporated | Low Latency Two-Level Interrupt Controller Interface to Multi-Threaded Processor |
US8972642B2 (en) * | 2011-10-04 | 2015-03-03 | Qualcomm Incorporated | Low latency two-level interrupt controller interface to multi-threaded processor |
CN107251001A (zh) * | 2015-03-06 | 2017-10-13 | 密克罗奇普技术公司 | 具有双模式中断的微控制器或微处理器 |
CN107251001B (zh) * | 2015-03-06 | 2020-08-04 | 密克罗奇普技术公司 | 具有双模式中断的微控制器或微处理器 |
Also Published As
Publication number | Publication date |
---|---|
EP2764442A2 (en) | 2014-08-13 |
EP2764442B1 (en) | 2016-01-20 |
JP5847949B2 (ja) | 2016-01-27 |
WO2013052684A2 (en) | 2013-04-11 |
CN103874990B (zh) | 2016-08-17 |
US20130086290A1 (en) | 2013-04-04 |
WO2013052684A3 (en) | 2013-06-20 |
KR101563576B1 (ko) | 2015-10-27 |
JP2014534506A (ja) | 2014-12-18 |
JP6153991B2 (ja) | 2017-06-28 |
JP2016095855A (ja) | 2016-05-26 |
US8972642B2 (en) | 2015-03-03 |
KR20140082787A (ko) | 2014-07-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103874990A (zh) | 到多线程处理器的低等待时间两级中断控制器接口 | |
TWI516915B (zh) | 即時錯誤復原 | |
AU2014318238B2 (en) | Ascertaining command completion in flash memories | |
US9195466B2 (en) | Fusing conditional write instructions having opposite conditions in instruction processing circuits, and related processor systems, methods, and computer-readable media | |
TWI261747B (en) | Mechanism to control hardware interrupt acknowledgement in a virtual machine system | |
KR20190058483A (ko) | 트리거된 동작을 이용하는 gpu 원격 통신 | |
JP2017509059A (ja) | 電力消費を低減するための割り込み処理の同期化 | |
EP2972787A1 (en) | Eliminating redundant synchronization barriers in instruction processing circuits, and related processor systems, methods, and computer-readable media | |
CN101980147B (zh) | 多线程处理器及其指令执行与同步方法 | |
US20140047221A1 (en) | Fusing flag-producing and flag-consuming instructions in instruction processing circuits, and related processor systems, methods, and computer-readable media | |
WO2013163161A1 (en) | Eliminating redundant masking operations in instruction processing circuits, and related processor systems, methods, and computer-readable media | |
CN105487989A (zh) | 一种降低响应延时提高***效率的中断控制器及控制方法 | |
CN101976206A (zh) | 一种中断处理方法和装置 | |
CN102104487B (zh) | 一种消息处理方法及其设备 | |
EP2856304B1 (en) | Issuing instructions to execution pipelines based on register-associated preferences, and related instruction processing circuits, processor systems, methods, and computer-readable media | |
JP2002149419A (ja) | 割り込みをクリアするロジック・ユニット及び集積回路 | |
WO2022022250A1 (zh) | 中断处理方法、装置、***、设备及存储介质 | |
WO2018106392A1 (en) | Technologies for multi-core wireless network data transmission | |
CN102638403A (zh) | 用于处理报文的方法及装置 | |
JP2018523241A (ja) | パント回避テーブル(pat)を使用したコンピュータプロセッサ内のメモリ命令パントの予測 | |
EP3168712B1 (en) | System-on-chip (soc) and method for dynamically optimizing power consumption in the soc | |
CN104679687A (zh) | 一种识别中断源的方法及装置 | |
CN115210690A (zh) | 硬件微融合存储器操作的重命名 | |
TW202024902A (zh) | 提供預測性指令分派節流以防止在基於亂序處理器(oop)的設備中的資源溢出 | |
CN113076282B (zh) | 一种面向处理器片上网络的死锁处理方法 |
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 |