JP2016095855A - Low latency two-level interrupt controller interface to multi-threaded processor - Google Patents
Low latency two-level interrupt controller interface to multi-threaded processor Download PDFInfo
- Publication number
- JP2016095855A JP2016095855A JP2015229471A JP2015229471A JP2016095855A JP 2016095855 A JP2016095855 A JP 2016095855A JP 2015229471 A JP2015229471 A JP 2015229471A JP 2015229471 A JP2015229471 A JP 2015229471A JP 2016095855 A JP2016095855 A JP 2016095855A
- Authority
- JP
- Japan
- Prior art keywords
- interrupt
- interrupt controller
- core
- controller
- processor
- 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
- 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
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
開示される実施形態は、プロセッサにおいて割込みを処理するための技法に関する。より詳細には、例示的な実施形態は、マルチスレッドプロセッサのために構成された2レベル割込みコントローラにおいて割込み待ち時間を短縮するためのシステムおよび方法に関する。 The disclosed embodiments relate to techniques for handling interrupts in a processor. More particularly, exemplary embodiments relate to a system and method for reducing interrupt latency in a two-level interrupt controller configured for a multi-thread processor.
処理システムは、通常、割込み機構をサポートし、割込みは、プロセッサの現在の実行スレッドまたは命令ストリームを非同期的に中断または一時停止でき、割込みにサービスできるようにする。割込みは、オンチップまたはオフチップの外部デバイスを含む、様々な発生源から発生し得る。割込みは、マルチスレッドプロセッサ内の1つまたは複数のスレッドからなど、プロセッサまたはCPU内において内部的にも発生し得る。 A processing system typically supports an interrupt mechanism, which can asynchronously suspend or suspend the processor's current execution thread or instruction stream and allow the interrupt to be serviced. Interrupts can be generated from a variety of sources, including on-chip or off-chip external devices. Interrupts can also occur internally within a processor or CPU, such as from one or more threads within a multithreaded processor.
割込みにサービスするために、割込みサービスルーチン(ISR)が、割込みを受け取ったプロセッサによって実行され得る。各割込みは、その割込みに関連付けられた特定のISRを含むことができる。割込みは、様々な発生源から受け取られ得るので、通常は割込みコントローラを使用して、割込みを受け取り、いくつかの未処理の割込みの間で優先順位付けを行い、新しい割込みを処理するためにプロセッサが利用可能かどうかを確認できるように保留中の割込みのステータスを追跡するといったタスクを処理する。割込みならびに関連する発生源およびISRを追跡するために、ベクトル割込みコントローラ(VIC:vectored interrupt controller)が、当技術分野において知られており、各割込みに関連付けられたベクトルアドレス(vectored address)を追跡して、割込みにサービスするプロセッサにVICが関連するISRを提供できるようにしている。 In order to service the interrupt, an interrupt service routine (ISR) may be executed by the processor that received the interrupt. Each interrupt may include a specific ISR associated with that interrupt. Since interrupts can be received from a variety of sources, an interrupt controller is usually used to receive interrupts, prioritize among several outstanding interrupts, and processor to handle new interrupts. Handle tasks such as tracking the status of pending interrupts so that you can check if is available. To track interrupts and associated sources and ISRs, vectored interrupt controllers (VICs) are known in the art and track the vectored address associated with each interrupt. This allows the VIC to provide an associated ISR to the processor that services the interrupt.
2つ以上のスレッドを並列で実行するように構成されたマルチスレッドプロセッサの場合、割込みコントローラが、割込みにサービスするために、どのスレッドに割込みをかけるべきかを決定できるように、スレッドには優先順位レベルを動的または静的に割り当てることができる。第1のレベルまたはL1割込みコントローラは、たとえば、マルチスレッドプロセッサなど、プロセッサコアに関連する割込みを処理するように構成できる。第2のレベルまたはL2割込みコントローラは、たとえば、外部デバイスからの割込み、または大域的な規模の割込みを処理するように構成できる。L2割込みコントローラは、L2割込みコントローラからL1割込みコントローラに割込みを適宜送るために、AHB/AXIなどのシステムバスを介して、L1割込みコントローラと通信を行うことができる。L1割込みコントローラとL2割込みコントローラなどの、2レベル割込みコントローラは、当業者によって認識されるように、処理システムにおいて他のいくつかの用途に充てることもできる。 For multithreaded processors configured to run two or more threads in parallel, priority is given to the thread so that the interrupt controller can determine which thread should be interrupted to service the interrupt. Ranking levels can be assigned dynamically or statically. The first level or L1 interrupt controller can be configured to handle interrupts associated with a processor core, such as, for example, a multithreaded processor. The second level or L2 interrupt controller can be configured to handle, for example, interrupts from external devices or global scale interrupts. The L2 interrupt controller can communicate with the L1 interrupt controller via a system bus such as AHB / AXI in order to appropriately send an interrupt from the L2 interrupt controller to the L1 interrupt controller. Two-level interrupt controllers, such as the L1 interrupt controller and the L2 interrupt controller, can be devoted to several other applications in the processing system, as will be appreciated by those skilled in the art.
図1を参照すると、2レベル割込みコントローラの従来の実施が提供されている。L2割込みコントローラ102は、コア106に接続され得るL1割込みコントローラ104に、バス108を介して、割込みを伝達できる。示されるように、コア106は、L1割込みコントローラ104とだけ直接的な通信を行い、L2割込みコントローラ102とは行わない。最初に、L1割込みコントローラ104は、L2割込みコントローラ102から第1の割込みを受け取ることができる。その後、後続の割込みの処理は、たとえば、プロセッサリソースに基づいて、2つの方法の一方で処理され得る。
Referring to FIG. 1, a conventional implementation of a two-level interrupt controller is provided. The
第1のシナリオでは、第1の割込みを受け取ると直ちに、コア106は、コア106が新しい割込みのための準備を完了した旨の通知を、L1割込みコントローラ104を介して、L2割込みコントローラ102に提供できる。その後、L2割込みコントローラ102は、L2割込みコントローラ102において第2の割込みが保留されている場合、第2の割込みをプロセッサコアに送ることができる。たとえば、コア106がマルチスレッドプロセッサとして構成されている場合、第1の割込みは、マルチスレッドプロセッサの第1のスレッドによってサービスでき、第2のスレッドは、WAIT状態にあり、第2の割込みを処理するために利用可能なことがある。この例では、マルチスレッドプロセッサは、プロセッサコアが第1の割込みを受け取った後直ちに、L2割込みコントローラ102が第2の割込みを送ることができる旨の通知を、たとえば、L1割込みコントローラ104を介して、L2割込みコントローラ102に提供できる。
In the first scenario, as soon as the first interrupt is received, the
代替として、第2のシナリオでは、コア106は、いかなる新しい要求も、後の時点まで、またはさらなる通知があるまで、それを送ることを延期すべき旨の通知を、L2割込みコントローラ102に提供できる。やはり、コア106がマルチスレッドプロセッサとして構成されている場合、すべてのスレッドがビジーなことがあり、プロセッサコアに関連するリアルタイムオペレーティングシステム(RTOS)は、どのスレッドに割込みをかけるかを決定するために、時間遅延を必要とすることがある。たとえば、RTOSは、どのハードウェアスレッドが最も低い優先順位でソフトウェアスレッドを実行しているかを決定し、そのスレッドを優先順位が最も低いソフトウェアスレッドとして指定でき、L1割込みコントローラ104が、L2割込みコントローラ102からの第2の割込みを、優先順位が最も低いソフトウェアスレッドに送ることができるようにする。優先順位が最も低いソフトウェアスレッドの決定は、かなりの時間遅延を招くことがあり、それに応じて、割込みを処理できる速度は、速度低下をこうむる。
Alternatively, in the second scenario,
さらに、従来のデータ処理システムでは、割込みのISRに関連付けられたベクトルアドレスなどの、割込みに関する情報は、L2割込みコントローラ102とL1割込みコントローラ104との間で、先進マイクロコントローラバスアーキテクチャ高性能バス(AHB:Advanced Microcontroller Bus Architecture High Performance Bus)を介して伝達される。上述の情報を取り出すためのAHBの読み取りに関連する処理は、割込み待ち時間にかなりの遅延を追加することがあり、したがって、割込みを処理する速度にさらなる影響を及ぼすことがある。
In addition, in traditional data processing systems, information about interrupts, such as the vector address associated with the ISR of the interrupt, is transferred between the
従来の割込み処理に関連する上述の問題を緩和するために、当技術分野では、低待ち時間2レベル割込みコントローラを含む解決策が必要とされている。 In order to alleviate the above-mentioned problems associated with conventional interrupt processing, there is a need in the art for a solution that includes a low latency two level interrupt controller.
本発明の例示的な実施形態は、マルチスレッドプロセッサのために構成された2レベル割込みコントローラにおいて、割込み待ち時間を短縮するためのシステムおよび方法に関する。 Exemplary embodiments of the present invention relate to systems and methods for reducing interrupt latency in a two-level interrupt controller configured for a multithreaded processor.
たとえば、例示的な一実施形態は、第1の割込みおよび第1のベクトル識別子を第2の割込みコントローラから第1の割込みコントローラに伝達するステップと、第1の割込みコントローラにおいて第1の割込みおよび第1のベクトル識別子を処理するステップと、処理された割込みを第1の割込みコントローラからコア内のスレッドに送るステップと、コアが第2の割込みを受け取る準備を完了したとき、それを判定するステップと、コアが第2の割込みを受け取る準備を完了したことを通知する命令をコアから第2の割込みコントローラに送るステップとを含む、割込み待ち時間を短縮するための方法に関する。 For example, one exemplary embodiment communicates a first interrupt and a first vector identifier from a second interrupt controller to a first interrupt controller, and the first interrupt and the first interrupt in the first interrupt controller. Processing a vector identifier of 1; sending a processed interrupt from a first interrupt controller to a thread in the core; determining when the core is ready to receive a second interrupt; And sending an instruction from the core to the second interrupt controller notifying that the core is ready to receive the second interrupt.
別の例示的な実施形態は、コアと、レベル2割込みコントローラと、コアをレベル2割込みコントローラに結合するラインであって、コアが、コアがレベル2割込みを受け取る準備を完了したことを、ラインを介して、レベル2割込みコントローラに通知するように構成される、ラインとを備える、マルチスレッドプロセッサに関する。 Another exemplary embodiment is a line coupling a core, a level 2 interrupt controller, and a core to a level 2 interrupt controller, wherein the core is ready to receive a level 2 interrupt. And a line configured to notify a level 2 interrupt controller via a multi-thread processor.
また別の例示的な実施形態は、割込み待ち時間を短縮するように構成された処理システムに関し、処理システムは、コアに結合された第1の割込みコントローラと、第1の割込みおよび第1のベクトル識別子を第2の割込みコントローラから第1の割込みコントローラに伝達するための手段と、第1の割込みコントローラにおいて第1の割込みおよび第1のベクトル識別子を処理するための手段と、処理された割込みをコア内のスレッドに送るための手段と、コアが第2の割込みを受け取る準備を完了したとき、それを判定するための手段と、コアが第2の割込みを受け取る準備を完了したことを通知する命令をコアから第2の割込みコントローラに送るための手段とを備える。 Yet another exemplary embodiment relates to a processing system configured to reduce interrupt latency, the processing system including a first interrupt controller coupled to the core, a first interrupt and a first vector. Means for communicating the identifier from the second interrupt controller to the first interrupt controller; means for processing the first interrupt and the first vector identifier in the first interrupt controller; and the processed interrupt. A means for sending to a thread in the core, a means for determining when the core is ready to receive a second interrupt, and a notification that the core is ready to receive a second interrupt Means for sending instructions from the core to the second interrupt controller.
別の例示的な実施形態は、プロセッサによって実行されたときに、割込み待ち時間を短縮するための動作をプロセッサに実行させるコードを含む、非一時的なコンピュータ可読記憶媒体に関し、非一時的なコンピュータ可読記憶媒体は、第1の割込みおよび第1のベクトル識別子を第2の割込みコントローラから第1の割込みコントローラに伝達するためのコードと、第1の割込みコントローラにおいて第1の割込みおよび第1のベクトル識別子を処理するためのコードと、処理された割込みを第1の割込みコントローラからコア内のスレッドに送るためのコードと、コアが第2の割込みを受け取る準備を完了したとき、それを判定するためのコードと、コアが第2の割込みを受け取る準備を完了したことを通知する命令をコアから第2の割込みコントローラに送るためのコードとを含む。 Another exemplary embodiment relates to a non-transitory computer-readable storage medium that includes code that, when executed by a processor, causes the processor to perform an action to reduce interrupt latency. The readable storage medium includes code for communicating the first interrupt and the first vector identifier from the second interrupt controller to the first interrupt controller, and the first interrupt and the first vector in the first interrupt controller. Code to handle the identifier, code to send the processed interrupt from the first interrupt controller to a thread in the core, and to determine when the core is ready to receive the second interrupt Code and instructions from the core to notify the core that it is ready to receive the second interrupt. And code for sending the.
本発明の実施形態についての説明の助けとなるように、添付の図面が提示されるが、それは、もっぱら実施形態を説明するために提供され、実施形態を限定するためではない。 The accompanying drawings are presented to aid in the description of the embodiments of the present invention, which are provided solely to illustrate the embodiments and not to limit the embodiments.
本発明の態様が、本発明の特定の実施形態に関する以下の説明および関連する図面において開示される。本発明の範囲から逸脱することなく、代替実施形態も考案できる。加えて、本発明のよく知られた要素は、本発明の関連する細部を曖昧にしないために、詳細には説明されず、または省略される。 Aspects of the invention are disclosed in the following description and related drawings relating to specific embodiments of the invention. Alternate embodiments may be devised without departing from the scope of the invention. In addition, well-known elements of the invention will not be described in detail or will be omitted so as not to obscure the relevant details of the invention.
本明細書では、「例示的」という語は、「例、実例、または説明として役立つ」という意味で使用される。本明細書で「例示的」として説明されるいかなる実施形態であれ、必ずしも他の実施形態よりも好ましい、または有利であると解釈すべきわけではない。同様に、「本発明の実施形態」という表現は、本発明のすべての実施形態が、説明される特徴、利点、または動作のモードを含むことを要求するわけではない。 In this specification, the word “exemplary” is used to mean “serving as an example, instance, or illustration”. Any embodiment described herein as "exemplary" is not necessarily to be construed as preferred or advantageous over other embodiments. Similarly, the expression “embodiments of the invention” does not require that all embodiments of the invention include the described features, advantages, or modes of operation.
本明細書で使用される用語は、特定の実施形態を説明することのみを目的としており、本発明の実施形態を限定する意図はない。本明細書で使用される場合、「a」、「an」、および「the」プラス単数形は、文脈による別段の指摘が明らかにない限り、複数形も同様に含むことが意図されている。「comprises(含む)」、「comprising(含む)」、「includes(含む)」、および/または「including(含む)」という用語は、本明細書で使用される場合、述べられる特徴、整数、ステップ、動作、要素、および/または構成要素の存在を指定するばかりでなく、1つまたは複数の他の特徴、整数、ステップ、動作、要素、構成要素、および/またはそれらのグループの存在または追加も排除しないことがさらに理解されよう。 The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of embodiments of the invention. As used herein, “a”, “an”, and “the” plus singular are intended to include the plural as well unless the context clearly indicates otherwise. The terms `` comprises '', `` comprising '', `` includes '', and / or `` including '' as used herein are described features, integers, steps Not only specify the presence of an action, element, and / or component, but also the presence or addition of one or more other features, integers, steps, actions, elements, components, and / or groups thereof It will be further understood that this is not excluded.
さらに、多くの実施形態は、たとえばコンピューティングデバイスの要素によって実行される、アクションの系列に関して説明される。本明細書で説明される様々なアクションは、特定の回路(たとえば特定用途向け集積回路(ASIC))によって、1つもしくは複数のプロセッサによって実行されるプログラム命令によって、または両方の組合せによって実行できることが認識されよう。加えて、本明細書で説明されるこれらのアクションの系列は、実行時に本明細書で説明される機能を関連プロセッサに実行させる対応する1組のコンピュータ命令を記憶する任意の形態のコンピュータ可読記憶媒体内で完全に具体化されると見なすことができる。したがって、本発明の様々な態様は、数々の異なる形態で具体化でき、そのすべてが、特許請求される本発明の範囲内にあることが企図されている。加えて、本明細書で説明される実施形態の各々について、そのようなどの実施形態に対応する形態も、本明細書では、たとえば、説明されるアクションを実行する「ように構成されたロジック」として説明できる。 Moreover, many embodiments are described in terms of a sequence of actions, e.g., performed by an element of a computing device. The various actions described herein can be performed by particular circuits (e.g., application specific integrated circuits (ASICs)), by program instructions executed by one or more processors, or a combination of both. Be recognized. In addition, these sequences of actions described herein are any form of computer-readable storage that stores a corresponding set of computer instructions that, when executed, cause an associated processor to perform the functions described herein. It can be considered fully embodied in the medium. Accordingly, various aspects of the invention may be embodied in a multitude of different forms, all of which are intended to be within the scope of the claimed invention. In addition, for each of the embodiments described herein, the form corresponding to any such embodiment is herein described, for example, as “logic configured to perform” the described actions. It can be explained as
図1を参照して先に説明したように、従来の2レベル割込みコントローラには難点がある。コア106が新しい割込みを受け入れる準備を完了した場合、その旨の通知は、L1割込みコントローラ104を経由し、AHBバスなどの待ち時間が長いネットワーク110を介して、L2割込みコントローラ102に提供される。そのような従来の割込みの処理は、深刻な遅延を招き、低速の割込み処理をもたらす。
As described above with reference to FIG. 1, the conventional two-level interrupt controller has drawbacks. When the
上述の従来の技法とは対照的に、例示的な実施形態は、高速の割込み処理のために構成された低待ち時間割込みコントローラに関する。より具体的には、実施形態は、マルチスレッドプロセッサコアとインターフェースを取ることができる、2レベル低待ち時間割込みコントローラを含むことができる。 In contrast to the conventional techniques described above, the exemplary embodiment relates to a low latency interrupt controller configured for fast interrupt processing. More specifically, embodiments can include a two-level low latency interrupt controller that can interface with a multi-threaded processor core.
ここで図2を参照すると、マルチスレッドプロセッサ206と直接的にインターフェースを取るように構成され得る、L1割込みコントローラ204を備える、説明的なシステム200が存在している。L1割込みコントローラ204は、L2割込みコントローラ202を含む1つまたは複数のデバイスからマルチスレッドプロセッサに送られる割込みを処理できる。
Referring now to FIG. 2, there is an
一実施形態では、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の2つ以上のスレッドから内部的に発生される割込みを含む他の発生源からの割込みのために、またはレガシアプリケーションのために、予約しておくことができる。L1割込みコントローラ204およびL2割込みコントローラ202の示される構成では、外部デバイス(図示されず)からのすべての割込みは、最初、L2割込みコントローラ202で受け取ることができ、その後、L1割込みコントローラ204に送ることができる。
In one embodiment, both L1 interrupt
たとえば、引き続き図2を参照すると、第1の割込みは、L2割込みコントローラ202によって、外部デバイス(図示されず)から受け取ることができる。第1の割込みは、バス210上の対応するベクトルIDとともに、バス208を介して、L1割込みコントローラ204に伝達できる。グローバルベクトルIDレジスタ(図示されず)も、ベクトルIDを用いて更新でき、グローバルベクトルIDレジスタは、制御レジスタ(CR)転送命令を用いてアクセス可能とすることができる。グローバルベクトルIDレジスタは、割込みの追跡を支援できる。たとえば、グローバルVIDレジスタは、どの特定のL2割込みがL1割込みコントローラ204に送られたかを追跡するように構成できる。
For example, referring still to FIG. 2, the first interrupt can be received by the L2 interrupt
第1の割込みがL1割込みコントローラ204によって受け取られた後、実施形態は、後続の要求を円滑に処理するために、従来の技法とはいくつかの点で異なる流れを辿る。図1に示されるような従来の技法は、新しい要求を受け入れるためにコア106が利用可能かどうかに関して、ネットワーク110を介して、L2割込みコントローラ102に通知するために、ハードウェアソリューションに依存するが、実施形態は、マルチスレッドプロセッサ206の準備完了をモニタリングするように構成された、ソフトウェアルーチンを含むことができる。たとえば、ソフトウェアルーチンは、マルチスレッドプロセッサ206の2つ以上のスレッド上で実行されているプロセスの状態を効率的に追跡できる。ソフトウェアルーチンは、新しい割込みを直ちに受け入れるために、1つもしくは複数のスレッドがWAIT状態にあり得るかどうか、または新しい割込みに直ちにサービスするために、スレッド上で実行されている優先順位が低いプロセスに割込みをかけ得るかどうかを決定できる。
After the first interrupt is received by the L1 interrupt
割込みを受け入れるためのマルチスレッドプロセッサ206の準備完了に関して決定が下された後、実施形態は、第1の割込みが処理されるために受け入れられたことをL1割込みコントローラ204に通知することと、同様に、今やマルチスレッドプロセッサ206が新しい割込みを受け入れる準備を完了したことをL2割込みコントローラ202に通知することの両方を達成する、単一の命令を含むことができる。これらの実施形態は、コア106が、新しい割込みのための準備完了を、ネットワーク110を介してしかL2割込みコントローラ102に伝達できない、図1に示されるような、従来の2レベル割込みフレームワークによって制約されないことが認識されよう。他方、実施形態は、マルチスレッドプロセッサ206の準備完了を、図2におけるライン212などの専用ハードウェアラインを介して、L2割込みコントローラ202に直接的に伝達できる。
After a decision is made regarding the readiness of the
さらに、いくつかの実施形態は、L2割込みコントローラ202が、割込み(たとえば、図2の「新しい割込み」)を、ライン214などの専用ハードウェアラインを介して、マルチスレッドプロセッサ206に直接的に伝達できるように、マルチスレッドプロセッサ206内に専用ハードウェアポートも含むことができる。このように、マルチスレッドプロセッサ206からL2割込みコントローラ202への準備完了の伝達ばかりでなく、その後のL2割込みコントローラ202からマルチスレッドプロセッサ206への割込みの伝達も、L1割込みコントローラ204およびそれに関連する遅延を完全に回避できる。
In addition, some embodiments allow the L2 interrupt
例示的な実施形態は、割込み自動無効化クリア(CIAD:Clear Interrupt Auto Disable)レジスタを含むことができる。CIAD命令は、同じ割込みを2回以上取り込まないことを保証するために使用できる。たとえば、マルチスレッドプロセッサ206は、第1の割込みを取り込むと直ちに、CIADレジスタを自動的に設定できる。たとえば、先に説明したようなソフトウェアルーチンによって、マルチスレッドプロセッサ206が新しい割込みを受け入れる準備を完了したと決定されると、ソフトウェアルーチンは、CIAD命令の発行をトリガできる。その後、CIAD命令は、割込みラインをアクティブ化して、同じライン上で新しい割込みを取り込むことができるように、CIADレジスタをクリアできる。
An exemplary embodiment may include a Clear Interrupt Auto Disable (CIAD) register. The CIAD instruction can be used to ensure that the same interrupt is not captured more than once. For example, the
一実施形態では、CIAD命令は、第1の割込みがL1割込みコントローラ204において保留されていることを示すステータスをクリアするために、またさらに、マルチスレッドプロセッサ206が別の割込みおよび付随するベクトルIDを、それぞれバス208およびバス210を介して受け入れる準備を完了したことを、L2割込みコントローラ202に通知するために、マルチスレッドプロセッサ206によって発行され得る。CIAD命令は、先に説明したように、L2割込みコントローラ202からの割込み専用とすることができる、L1割込みコントローラ204のレジスタエントリ[31]に関連付けることができる。したがって、CIAD命令は、L2割込みコントローラ202と、L1割込みコントローラ204と、マルチスレッドプロセッサ206との間の効果的なハンドシェイクメカニズムを提供できる。第1の割込みがL1割込みコントローラ204で受け取られると、後続の割込みの処理を円滑化するために、ソフトウェアルーチンなどのプロセスを開始して、CIAD命令を生成できる。実施形態は、上述の例で説明したようなソフトウェアルーチンに限定することなく、専用ハードウェアまたはハードウェアとソフトウェアの組合せを用いても、上述のプロセスを実施できることが理解されよう。
In one embodiment, the CIAD instruction clears the status indicating that the first interrupt is pending in the L1 interrupt
さらに、実施形態は、クロックの立上りエッジで情報を獲得するように、L1割込みコントローラ204のレジスタエントリ[31]をプログラムできる実施を含むことができる。L2割込みコントローラ202は、エッジトリガ(edge triggered)またはレベルセンシティブ(level sensitive)とすることができ、割込みおよび対応するベクトルIDを、バス208およびバス210を介して、L1割込みコントローラ204に非同期的に送ることができる。L1割込みコントローラ204をエッジトリガとして構成することによって、マルチスレッドプロセッサ206に対応するクロックに割込みを同期させることができる。そのようなエッジトリガ構成は、L1割込みコントローラ204とL2割込みコントローラ202との間の通信プロトコルの改善を可能にし得る。
Further, embodiments can include implementations that can register the register entry [31] of the L1 interrupt
さらに、専用バス212を介して送られるCIAD命令など、マルチスレッドプロセッサ206の準備完了についてL2割込みコントローラ202に通知するメカニズムは、第1の割込みが完了しないうちにトリガできることが認識されよう。言い換えると、第1の割込みは、マルチスレッドプロセッサ206が新しい割込みを処理する準備を完了した段階に達するために、マルチスレッドプロセッサ206によって完全に処理される必要がない。いくつかの実施形態では、第1の割込みがL1割込みコントローラで受け取られた後直ちに、マルチスレッドプロセッサ206は、たとえば、L1割込みコントローラ204のレジスタエントリ[31]をクリアすることによって、新しい割込みを受け入れる準備を完了した段階への遷移を開始できる。
Further, it will be appreciated that a mechanism that notifies the L2 interrupt
したがって、上のセクションで説明したような、ハードウェア構成とソフトウェア構成の組合せによって、実施形態は、割込みを処理する速度を著しく改善でき、割込み処理の待ち時間も短縮できる。 Thus, with a combination of hardware and software configurations as described in the above section, embodiments can significantly improve the speed at which interrupts are processed, and can also reduce interrupt processing latency.
さらに、実施形態は、本明細書で開示されるプロセス、機能、および/またはアルゴリズムを実行するための様々な方法を含むことが理解されよう。たとえば、図3に示されるように、一実施形態は、L1割込みコントローラ204などの第1の割込みコントローラをマルチスレッドプロセッサ206などのコアに結合するステップ(ブロック302)と、第1の割込みおよび第1のベクトル識別子を、たとえば、それぞれバス208およびバス210を介して、L2割込みコントローラ202などの第2の割込みコントローラから第1の割込みコントローラに伝達するステップ(ブロック304)と、第1の割込みコントローラにおいて第1の割込みおよび第1のベクトル識別子を処理するステップ(ブロック306)と、処理された割込みをコア内のスレッドに送るステップ(ブロック308)と、コアが第2の割込みを受け取る準備を完了したとき、それを判定するステップ(ブロック310)と、コアが第2の割込みを受け取る準備を完了したことを通知する命令をコアから第2の割込みコントローラに送るステップ(ブロック312)とを含む、割込み待ち時間を短縮するための方法を含むことができる。
Further, it will be appreciated that embodiments include various methods for performing the processes, functions, and / or algorithms disclosed herein. For example, as shown in FIG. 3, one embodiment includes coupling a first interrupt controller, such as the L1 interrupt
当業者は、様々な異なる技術および技法のいずれかを使用して、情報および信号が表現され得ることを理解されよう。たとえば、上述の説明において言及された可能性のある、データ、命令、コマンド、情報、信号、ビット、シンボル、およびチップは、電圧、電流、電磁波、磁場もしくは磁気粒子、光場もしくは光学粒子、またはそれらの任意の組合せによって表現され得る。 Those skilled in the art will appreciate that information and signals may be represented using any of a variety of different technologies and techniques. For example, data, instructions, commands, information, signals, bits, symbols, and chips that may have been mentioned in the above description are voltages, currents, electromagnetic waves, magnetic fields or magnetic particles, light fields or optical particles, or It can be expressed by any combination thereof.
さらに、当業者は、本明細書で開示される実施形態に関連して説明される、様々な説明的な論理ブロック、モジュール、回路、およびアルゴリズムステップは、電子的ハードウェア、コンピュータソフトウェア、または両方の組合せとして実施され得ることを理解されよう。ハードウェアとソフトウェアのこの交換可能性を明瞭に示すために、様々な説明的な構成要素、ブロック、モジュール、回路、およびステップは、一般にそれらの機能に関して上では説明された。そのような機能をハードウェアとして実施するか、それともソフトウェアとして実施するかは、特定の応用、およびシステム全体に課される設計上の制約に依存する。当業者は、説明された機能を特定の各応用のために様々な方法で実施できるが、そのような実施上の決定は、本発明の範囲からの逸脱を引き起こすと解釈すべきではない。 Further, those skilled in the art will understand that the various illustrative logic blocks, modules, circuits, and algorithm steps described in connection with the embodiments disclosed herein are electronic hardware, computer software, or both. It will be understood that it can be implemented as a combination of: To clearly illustrate this interchangeability of hardware and software, various illustrative components, blocks, modules, circuits, and steps have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the overall system. Those skilled in the art can implement the described functions in a variety of ways for each particular application, but such implementation decisions should not be construed as causing departure from the scope of the invention.
本明細書で開示される実施形態に関連して説明される、方法、シーケンス、および/またはアルゴリズムは、ハードウェアで直接的に、プロセッサによって実行されるソフトウェアモジュールで、または2つの組合せで具体化され得る。ソフトウェアモジュールは、RAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハードディスク、着脱可能ディスク、CD-ROM、または当技術分野で知られている他の任意の形態の記憶媒体内に存在し得る。例示的な記憶媒体は、プロセッサが、記憶媒体から情報を読み取り、記憶媒体に情報を書き込み得るように、プロセッサに結合される。代替として、記憶媒体は、プロセッサに統合し得る。 The methods, sequences, and / or algorithms described in connection with the embodiments disclosed herein may be embodied directly in hardware, in software modules executed by a processor, or in a combination of the two. Can be done. The software module is in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, hard disk, removable disk, CD-ROM, or any other form of storage medium known in the art Can exist. An exemplary storage medium is coupled to the processor such that the processor can read information from, and write information to, the storage medium. In the alternative, the storage medium may be integral to the processor.
したがって、本発明の一実施形態は、マルチスレッドプロセッサとの2レベル割込みコントローラインターフェースにおいて割込み待ち時間を短縮するための方法を具体化した、コンピュータ可読媒体を含むことができる。したがって、本発明は、示される例に限定されず、本明細書で説明される機能を実行するための任意の手段が、本発明の実施形態に含まれる。 Accordingly, an embodiment of the present invention can include a computer-readable medium embodying a method for reducing interrupt latency in a two-level interrupt controller interface with a multi-thread processor. Thus, the present invention is not limited to the examples shown, and any means for performing the functions described herein are included in embodiments of the present invention.
図4を参照すると、例示的な実施形態に従って構成されたマルチコアプロセッサを含む、ワイヤレスデバイスの特定の例示的な一実施形態のブロック図が示されており、全体として400で指示されている。デバイス400は、図2のシステム200を含むことができる、デジタル信号プロセッサ(DSP)464を含む。図4は、DSP464およびディスプレイ428に結合された、ディスプレイコントローラ426も示している。コーダ/デコーダ(CODEC)434(たとえば、オーディオおよび/または音声CODEC)は、DSP464に結合され得る。(モデムを含むことができる)ワイヤレスコントローラ440などの他の構成要素も示されている。スピーカ436およびマイクロフォン438は、CODEC434に結合され得る。図4は、ワイヤレスコントローラ440がワイヤレスアンテナ442に結合され得ることも示している。特定の一実施形態では、DSP464、ディスプレイコントローラ426、メモリ432、CODEC434、およびワイヤレスコントローラ440は、システムインパッケージまたはシステムオンチップデバイス422内に含まれる。
With reference to FIG. 4, a block diagram of a particular exemplary embodiment of a wireless device including a multi-core processor configured in accordance with the exemplary embodiment is shown and generally indicated at 400.
特定の一実施形態では、入力デバイス430および電源444が、システムオンチップデバイス422に結合される。さらに、特定の一実施形態では、図4に示されるように、ディスプレイ428、入力デバイス430、スピーカ436、マイクロフォン438、ワイヤレスアンテナ442、および電源444は、システムオンチップデバイス422の外部にある。しかし、ディスプレイ428、入力デバイス430、スピーカ436、マイクロフォン438、ワイヤレスアンテナ442、および電源444の各々は、インターフェースまたはコントローラなどの、システムオンチップデバイス422の構成要素に結合され得る。
In one particular embodiment,
図4はワイヤレス通信デバイスを示しているが、DSP464およびメモリ432は、セットトップボックス、音楽プレーヤ、ビデオプレーヤ、娯楽ユニット、ナビゲーションデバイス、携帯情報端末(PDA)、固定ロケーションデータユニット、またはコンピュータ内に組み込むこともできることに留意されたい。プロセッサ(たとえばDSP464)も、そのようなデバイス内に組み込むことができる。
Although FIG. 4 shows a wireless communication device, the
一般に、上で開示されたデバイスおよび方法は、設計されて、コンピュータ可読媒体上に記憶されるGDSIIおよびGERBERコンピュータファイル内に構成される。これらのファイルは、次に、これらのファイルに基づいてデバイスを製作する製作担当者に提供される。結果として得られる製品は、半導体ウェーハであり、その後、半導体ウェーハは、半導体ダイにカットされ、半導体チップ内にパッケージされる。その後、チップは、上で説明したデバイス内で利用される。 In general, the devices and methods disclosed above are designed and configured in GDSII and GERBER computer files stored on computer-readable media. These files are then provided to production personnel who produce devices based on these files. The resulting product is a semiconductor wafer, which is then cut into semiconductor dies and packaged in semiconductor chips. The chip is then utilized in the device described above.
上述の開示は、本発明の説明的な実施形態を示しているが、添付の特許請求の範囲によって確定される本発明の範囲から逸脱することなく、本明細書において様々な変更および修正を行い得ることに留意されたい。本明細書で説明された本発明の実施形態による、方法クレームの機能、ステップ、および/またはアクションは、いずれか特定の順序で実行される必要はない。さらに、本発明の要素は、単数で説明され、または特許請求されることがあるが、単数への限定が明示的に述べられていない限り、複数も企図されている。 While the foregoing disclosure represents illustrative embodiments of the present invention, various changes and modifications may be made herein without departing from the scope of the invention as defined by the appended claims. Note that you get. The functions, steps, and / or actions of a method claim in accordance with embodiments of the invention described herein need not be performed in any particular order. Further, although elements of the invention may be described or claimed in the singular, the plural is contemplated unless limitation to the singular is explicitly stated.
102 L2割込みコントローラ
104 L1割込みコントローラ
106 コア
108 バス
110 ネットワーク
200 システム
202 L2割込みコントローラ
204 L1割込みコントローラ
206 マルチスレッドプロセッサ
208 バス
210 バス
212 ライン
214 ライン
102 L2 interrupt controller
104 L1 interrupt controller
106 core
108 bus
110 network
200 systems
202 L2 interrupt controller
204 L1 interrupt controller
206 Multi-thread processor
208 Bus
210 bus
212 lines
214 lines
Claims (19)
第1の割込みおよび第1のベクトル識別子を第2の割込みコントローラから第1の割込みコントローラに伝達するステップと、
前記第1の割込みコントローラにおいて前記第1の割込みおよび前記第1のベクトル識別子を受信するステップと、
前記受信された第1の割込みを前記第1の割込みコントローラからコア内のスレッドに送るステップと、
前記コアが第2の割込みを受け取る準備を完了したか否かを判定するステップと、
前記コアが前記第2の割込みを受け取る準備を完了したと判定された場合、前記コアから、前記第2の割込みコントローラへ、前記第2の割込みを受け取る準備を完了したことを通知する、単一の命令を送るステップと
を含む方法。 A method for reducing interrupt latency,
Communicating the first interrupt and the first vector identifier from the second interrupt controller to the first interrupt controller;
Receiving the first interrupt and the first vector identifier at the first interrupt controller;
Sending the received first interrupt from the first interrupt controller to a thread in the core;
Determining whether the core is ready to receive a second interrupt; and
If it is determined that the core is ready to receive the second interrupt, the core notifies the second interrupt controller that the core is ready to receive the second interrupt; Sending a command of the method.
レベル2割込みコントローラから第1の割込みを受け取り、かつ、前記第1の割込みを前記コアに送るように構成されるレベル1割込みコントローラと、
前記コアを前記レベル2割込みコントローラに結合するように構成されるラインと
を備え、
前記コアは、前記レベル2割込みコントローラへ、前記ラインを介して、第2の割込みを受け取る準備を完了したことを通知する、単一の命令を送るように構成されるマルチスレッドプロセッサ。 The core,
A level 1 interrupt controller configured to receive a first interrupt from a level 2 interrupt controller and send the first interrupt to the core;
A line configured to couple the core to the level 2 interrupt controller;
The multi-thread processor, wherein the core is configured to send a single instruction that notifies the level 2 interrupt controller that it is ready to receive a second interrupt via the line.
Applications Claiming Priority (2)
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 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014534728A Division JP5847949B2 (en) | 2011-10-04 | 2012-10-04 | Low-latency 2-level interrupt controller interface with multi-thread processor |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016095855A true JP2016095855A (en) | 2016-05-26 |
JP6153991B2 JP6153991B2 (en) | 2017-06-28 |
Family
ID=47172881
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014534728A Expired - Fee Related JP5847949B2 (en) | 2011-10-04 | 2012-10-04 | Low-latency 2-level interrupt controller interface with multi-thread processor |
JP2015229471A Expired - Fee Related JP6153991B2 (en) | 2011-10-04 | 2015-11-25 | Low-latency 2-level interrupt controller interface with multi-thread processor |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014534728A Expired - Fee Related JP5847949B2 (en) | 2011-10-04 | 2012-10-04 | Low-latency 2-level interrupt controller interface with multi-thread processor |
Country Status (6)
Country | Link |
---|---|
US (1) | US8972642B2 (en) |
EP (1) | EP2764442B1 (en) |
JP (2) | JP5847949B2 (en) |
KR (1) | KR101563576B1 (en) |
CN (1) | CN103874990B (en) |
WO (1) | WO2013052684A2 (en) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8972642B2 (en) * | 2011-10-04 | 2015-03-03 | Qualcomm Incorporated | Low latency two-level interrupt controller interface to multi-threaded processor |
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 |
US10067892B2 (en) * | 2015-03-06 | 2018-09-04 | Microchip Technology Incorporated | Microcontroller or microprocessor with dual mode interrupt |
US11507414B2 (en) | 2020-11-25 | 2022-11-22 | Cadence Design Systems, Inc. | Circuit for fast interrupt handling |
US11755362B2 (en) | 2021-06-11 | 2023-09-12 | International Business Machines Corporation | Techniques for handling escalation of interrupts in a data processing system |
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 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006331156A (en) * | 2005-05-27 | 2006-12-07 | Renesas Technology Corp | Semiconductor device |
Family Cites Families (40)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4420806A (en) * | 1981-01-15 | 1983-12-13 | Harris Corporation | Interrupt coupling and monitoring system |
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 (en) * | 1994-02-03 | 1995-08-10 | Tektronix Inc | Interface circuit for management of data transfer between processor |
DE4406094C2 (en) | 1994-02-25 | 2000-04-13 | Lp Elektronik Gmbh | Device for operating a control application |
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 |
US6418496B2 (en) * | 1997-12-10 | 2002-07-09 | Intel Corporation | System and apparatus including lowest priority logic to select a processor to receive an interrupt message |
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 (en) * | 1999-02-03 | 2001-12-11 | St Microelectronics Srl | PROCEDURE TO ARBITRATE INTERRUPTION PRIORITIES BETWEEN PERIPHERALS IN A MICROPROCESSOR BASED SYSTEM |
US6477600B1 (en) * | 1999-06-08 | 2002-11-05 | Intel Corporation | Apparatus and method for processing isochronous interrupts |
JP3769428B2 (en) * | 1999-09-30 | 2006-04-26 | 富士通株式会社 | Information processing apparatus capable of holding floating interrupt and interrupt condition change instruction execution method |
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 (en) * | 2003-12-29 | 2010-07-01 | Advanced Micro Devices, Inc., Sunnyvale | Device for handling interrupt events, with which level-sensitive or level-sensitive interrupt requests are converted into edge-triggered interrupt messages |
US7934082B2 (en) * | 2004-08-27 | 2011-04-26 | Panasonic Corporation | Information processing apparatus and exception control circuit |
EP1856617A1 (en) | 2005-02-28 | 2007-11-21 | Koninklijke Philips Electronics N.V. | Data processing system with interrupt controller and interrupt controlling method |
US7424563B2 (en) * | 2006-02-24 | 2008-09-09 | Qualcomm Incorporated | Two-level interrupt service routine |
US7533207B2 (en) * | 2006-12-06 | 2009-05-12 | Microsoft Corporation | Optimized interrupt delivery in a virtualized environment |
JP4249779B2 (en) * | 2006-12-25 | 2009-04-08 | 株式会社東芝 | Device controller |
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 WO PCT/US2012/058780 patent/WO2013052684A2/en active Application Filing
- 2012-10-04 JP JP2014534728A patent/JP5847949B2/en not_active Expired - Fee Related
- 2012-10-04 KR KR1020147012326A patent/KR101563576B1/en active IP Right Grant
- 2012-10-04 CN CN201280048379.2A patent/CN103874990B/en active Active
- 2012-10-04 EP EP12784381.1A patent/EP2764442B1/en not_active Not-in-force
-
2015
- 2015-11-25 JP JP2015229471A patent/JP6153991B2/en not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006331156A (en) * | 2005-05-27 | 2006-12-07 | Renesas Technology Corp | Semiconductor device |
Also Published As
Publication number | Publication date |
---|---|
JP6153991B2 (en) | 2017-06-28 |
US8972642B2 (en) | 2015-03-03 |
US20130086290A1 (en) | 2013-04-04 |
KR101563576B1 (en) | 2015-10-27 |
CN103874990B (en) | 2016-08-17 |
JP2014534506A (en) | 2014-12-18 |
CN103874990A (en) | 2014-06-18 |
KR20140082787A (en) | 2014-07-02 |
WO2013052684A2 (en) | 2013-04-11 |
EP2764442B1 (en) | 2016-01-20 |
WO2013052684A3 (en) | 2013-06-20 |
EP2764442A2 (en) | 2014-08-13 |
JP5847949B2 (en) | 2016-01-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6153991B2 (en) | Low-latency 2-level interrupt controller interface with multi-thread processor | |
US8260996B2 (en) | Interrupt optimization for multiprocessors | |
US8656145B2 (en) | Methods and systems for allocating interrupts in a multithreaded processor | |
US8963933B2 (en) | Method for urgency-based preemption of a process | |
US7853743B2 (en) | Processor and interrupt controlling method | |
KR102219545B1 (en) | Mid-thread pre-emption with software assisted context switch | |
RU2651238C2 (en) | Synchronization of interrupt processing for energy consumption reduction | |
EP2972787B1 (en) | Eliminating redundant synchronization barriers in instruction processing circuits, and related processor systems, methods, and computer-readable media | |
JP2015079542A (en) | Interrupt distribution scheme | |
US20150127927A1 (en) | Efficient hardware dispatching of concurrent functions in multicore processors, and related processor systems, methods, and computer-readable media | |
CN114579285B (en) | Task running system and method and computing device | |
WO2023071508A1 (en) | Inter-thread interrupt signal transmission | |
WO2016182683A1 (en) | System and method for dynamic granularity control of parallelized work in a portable computing device (pcd) | |
WO2014025815A1 (en) | Fusing flag-producing and flag-consuming instructions in instruction processing circuits, and related processor systems, methods, and computer-readable media | |
CN105487989A (en) | Interruption controller and interruption control method for reducing response delay and improving system efficiency | |
US9146741B2 (en) | Eliminating redundant masking operations instruction processing circuits, and related processor systems, methods, and computer-readable media | |
EP2856304B1 (en) | Issuing instructions to execution pipelines based on register-associated preferences, and related instruction processing circuits, processor systems, methods, and computer-readable media | |
US9552313B2 (en) | Delivering real time interrupts with an advanced programmable interrupt controller | |
JP6354333B2 (en) | Information processing apparatus and timer setting method | |
JP2014203230A (en) | Computer system, interruption processing program of computer system and interruption processing method of computer system | |
US9460033B2 (en) | Apparatus and method for interrupt collecting and reporting status and delivery information |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160301 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20160301 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20160405 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20160620 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160920 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20161205 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170306 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20170508 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170531 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6153991 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |