(57)【要約】      （修正有）【課題】マルチスレッドプロセッサにおいて、高優先度のスレッドを連続して実行可能なように、割り込みを割り当てる。【解決手段】マルチスレッドプロセッサ１０２は割り込みモジュール２０８とタスクを実行するためのスレッド２０２とを含み、割り込みモジュール２０８は、スレッド２０２によって実行されているタスクのためのタスク優先度に基づいて、各スレッド２０２の優先度を識別し、少なくともその優先度に基づいてスレッド２０２に割り込みを割り当てる。【選択図】図２
2014179119.tif 000002
【特許請求の範囲】
【請求項１】
それぞれがタスクを実行することができる複数のスレッドと、
前記複数のスレッドそれぞれの優先度を識別し、少なくとも前記複数のスレッドの内の一つのスレッドの優先度に基づいて、当該複数のスレッドの内の一つのスレッドに割り込みを割り当てるように構成される割り込みモジュールとを具備するマルチスレッドプロセッサ。
【請求項２】
前記スレッドの優先度は、当該スレッドによって実行されるタスクの優先度に対応する請求項１記載のマルチスレッドプロセッサ。
【請求項３】
それぞれが前記複数のスレッドの内の一つに対応し、スレッドの優先度を格納するように構成される複数のレジスタと、
前記複数のレジスタにつながれ、前記割り込みモジュールのために、最も低い優先度を有する前記複数のスレッドの内の１つを識別するように構成される優先度エンコーダとをさらに具備する請求項１記載のマルチスレッドプロセッサ。
【請求項４】
前記割り込みモジュールは、前記最も低い優先度を有する前記複数のスレッドの内の１つに前記割り込みを割り当てることによって、前記最も低い優先度を有する前記複数のスレッドの１つに前記割り込みを課すように構成され、前記最も低い優先度を有する前記複数のスレッドの内の１つは、タスクを処理することを中断し、前記割り込みを処理するように構成される請求項３記載のマルチスレッドプロセッサ。
【請求項５】
前記割り込みは割り込みハンドラに関連付けられ、
前記最も低い優先度を有する前記複数のスレッドの内の１つは、前記割り込みハンドラを処理することにより前記割り込みを処理するように構成される請求項４記載のマルチスレッドプロセッサ。
【請求項６】
前記割り込みモジュールは、前記複数のスレッドの内の１以上が待ち状態で有るか否かを決定し、前記待ち状態である複数のスレッドの内の１以上の各々に関する最も低い優先度を決定することによって、前記複数のスレッドの各々に関する優先度を識別するように構成され、
前記割り込みモジュールは、前記最も低い優先度を有する複数のスレッドの内の１つに割り込みを課すように構成される請求項１記載のマルチスレッドプロセッサ。
【請求項７】
前記割り込みモジュールは、前記複数のスレッドの優先度に基づいて、待ち状態である前記複数のスレッドの内の１つを識別し、前記待ち状態である前記複数のスレッドの内の１つに前記割り込みを課す請求項１記載のマルチスレッドプロセッサ。
【請求項８】
前記マルチスレッドプロセッサは、ポータブル通信デバイス内に配置される請求項１記載のマルチスレッドプロセッサ。
【請求項９】
第１スレッド上で第１タスクを実行することと、
第２スレッド上で第２タスクを実行することと、
前記第１タスクの優先度に基づいて、前記第１スレッドの第１優先度を決定することと、
前記第２タスクの優先度に基づいて、前記第２スレッドの第２優先度を決定することと、
割り込み優先度を有する割り込みを受け取ることと、
前記割り込み優先度、前記第１優先度及び前記第２優先度に基づいて、前記割り込みを割り当てることとを具備する方法。
【請求項１０】
待ち状態である第３スレッドを識別することをさらに具備し、
前記割り込みを割り当てることは、前記待ち状態である第３スレッドに基づき、そして前記割り込みを前記第３スレッドに課すことを含む請求項９記載の方法。
【請求項１１】
前記割り込みを割り当てることは、
前記第１優先度が前記第２優先度よりも高いことを決定することと、
前記第２タスクを停止することと、
処理するために前記第２スレッドに前記割り込みを供給することとを含む請求項９記載の方法。
【請求項１２】
前記割り込みを割り当てることは、
前記割り込み優先度が前記第２優先度よりも高いことを決定する請求項１１記載の方法。
【請求項１３】
前記割り込みに関連する割り込みハンドラを処理することによって、前記第２スレッドによって前記割り込み処理することをさらに具備する請求項１１記載の方法。
【請求項１４】
前記割り込みを割り当てることは、
前記割り込み優先度が前記第１優先度及び前記第２優先度よりも低いことを決定することと、
前記割り込みをキューに割り当てることとを含む請求項９記載の方法。
【請求項１５】
実行モジュールであって、第１優先度に関連する第１タスクを実行するように構成される第１スレッドと、前記第１優先度に対応する第１スレッドの優先度を格納するように構成される第１レジスタと、第２優先度に関連する第２タスクを実行するように構成される第２スレッドと、前記第２優先度に対応する第２スレッドの優先度を格納するように構成される第２レジスタとを含む実行モジュールと、
割り込みを受け取り、前記第１スレッドの優先度及び前記第２スレッドの優先度の一部に基づいて、前記割り込みのための割り当てを決定するように構成された割り込みモジュールとを具備するプロセッサユニット。
【請求項１６】
前記割り込みモジュールは、
割り込み優先度が前記第１スレッドの優先度よりも高いことを決定し、
前記第１スレッドに前記割り込みを供給することによって、前記第１スレッドに前記割り込みを割り当て、
前記第１スレッドは、前記第１タスクを処理することを停止し、前記割り込みを処理するように構成される請求項１５記載のプロセッサユニット。
【請求項１７】
前記実行モジュールは、前記第１タスクを格納し、前記割り込み優先度に対応するために前記第１優先度を修正するように構成される請求項１６記載のプロセッサユニット。
【請求項１８】
前記第１スレッドは、前記割り込みに関連する割り込みハンドラを処理することによって、前記割り込みを処理する請求項１６記載のプロセッサユニット。
【請求項１９】
前記実行モジュールは、待ち状態であるように構成される第３スレッドと、前記待ち状態を示す第３スレッド優先度を格納するように構成される第３レジスタとを含み、
前記割り込みモジュールは、前記第３優先度に基づいて、前記割り込みを前記第３スレッドに割り当てるように構成される請求項１５記載のプロセッサユニット。
【請求項２０】
前記プロセッサユニットは、ポータブル通信デバイスに配置される請求項１５記載のプロセッサユニット。
【発明の詳細な説明】
【技術分野】
【０００１】
ここに開示される発明概念の実施形態は、一般にデータ処理システムの分野に関する。より具体的には、ここに開示される発明概念の実施形態は、マルチスレッドプロセッサ（multi-threaded processor）に割り込み（interrupt）を割り当てることに関する。
【背景技術】
【０００２】
マルチスレッドプロセッサは、タスクを処理できるスピードを増大させるために、２以上のスレッドを含むことができる。スレッドは、タスクが処理されるハードウェアであり得る。タスクは、アプリケーションやプログラムのような、システムファンクションに関連する命令シーケンスであり得る。いくつかのアプリケーション又はプログラムは、同時に２以上のタスクと関連付けられる可能性がある。スレッドは、タスクに関連する命令シーケンスを実行することにより、そのタスクを処理又は実行することができる。
【０００３】
あるスレッドがあるタスクを処理すると同時に、別のスレッドは別のタスクを処理することができる。処理のステージは、フェッチ（タスクに関連する命令を取得すること）、デコード（命令を演算とオペランドとに分割すること）、レジスタファイルからオペランドを読み出すこと、命令を実行すること、結果をライトバックすることを含み得る。プロセスは、タスクの全命令が実行されるまで、タスク内の次の命令のために繰り返され得る。各タスクは、優先度に関連付けられ、その優先度に基づいてスレッドに割り当てられ得る。例えば、ソフトウェアは各タスクに優先度を割り当てることができ、スケジューラは、タスクを処理する準備ができているスレッドを提供するための、最も高い優先度を有する次のタスクを決定することができる。
【０００４】
スレッドは、割り込みを処理することもでき得る。割り込みは、ソフトウェアによって生成された、又はシステムデバイスからの割り込みハンドラに関連する通知であり得る。割り込みハンドラは、スケジューリングされていないタスクであるルーチンであり得る。割り込みが受け取られたとき、それはマルチスレッドプロセッサのいずれかのスレッドによって処理され得る。例えば、第１スレッドが現在タスクの命令を処理していても処理していなくても、また、他のスレッドが待ち状態（wait mode）であっても（すなわち、いずれのタスクも処理していなくても）、割り込みハンドラは、フェッチステージで第１スレッドに供給されることができる。割り込みを処理することは、スレッドがタスクの命令を処理することを中断することと、割り込みハンドラに関連する命令シーケンスを処理することとを含む。
【０００５】
割り込みを処理するために現在のタスクを処理することを中断するスレッドは、高優先度のタスクを処理することによるように、高優先度のスレッドであるかもしれない。１以上のスレッドが待ち状態である場合、又は割り込みを処理するために処理中の低優先度のスレッドが利用可能である場合、高優先度のスレッドが高優先度のタスクを処理し続け、割り込みのためにその処理を中断しないことが望ましい。
【０００６】
したがって、他のスレッドが割り込みの処理のために利用可能であるときに、高優先度のスレッド上で割り込みを実行することによるオーバヘッドを減らすために、割り込みを割り当てることができるマルチスレッドプロセッサのためのシステム及びプロセスが望ましい。
【発明の概要】
【０００７】
実施形態では、マルチスレッドプロセッサが記述される。マルチスレッドプロセッサは、割り込みモジュールとタスクを実行するためのスレッドとを含む。各スレッドはタスクを実行することができる。割り込みモジュールは、スレッドそれぞれの優先度を識別することができ、少なくともその優先度に基づいて、スレッドの内の１つに割り込みを割り当てることができる。
【０００８】
この実例となる実施形態は、ここに開示された発明概念を限定又は定義することを意図せず、それらの理解を支援するための例を提供することを意図する。本開示の他の態様、利点及び特徴は、次のセクション、すなわち、図面の説明、詳細な説明及び特許請求の範囲を含む出願全体の検討後に明らかになるであろう。
【図面の簡単な説明】
【０００９】
添付の図面を参照して後続する詳細な説明が読まれるとき、ここに開示された、本願発明概念のこれら及び他の特徴、態様及び利点はより理解される。
【図１】図１は、プロセッサスレッドに割り込みを割り当てるプロセッサユニットの例を示す概略図である。
【図２】図２は、図１のプロセッサユニットの実施形態を示す概略図である。
【図３】図３は、図１のプロセッサユニットの第２実施形態を示す概略図である。
【図４】図４は、プロセッサスレッドに割り込みを割り当てる典型的な処理を示すフローチャートである。
【図５】図５は、プロセッサユニットの実施形態を含み得るポータブル通信デバイスの例を示す概略図である。
【図６】図６は、プロセッサユニットの実施形態を含み得る携帯電話の例を示す概略図である。
【図７】図７は、プロセッサユニットの実施形態を含み得る無線インターネットプロトコル電話の例を示す概略図である。
【図８】図８は、プロセッサユニットの実施形態を含み得るポータブルデジタルアシスタントの例を示す概略図である。
【図９】図９は、プロセッサユニットの実施形態を含み得るオーディオファイルプレーヤの例を示す概略図である。
【発明を実施するための形態】
【００１０】
記載の全体にわたって、説明のために、多くの特定の詳細は、ここに開示された発明概念の詳細な理解を提供するために示される。しかしながら、当業者に、ここに開示された発明概念が、これら特定の詳細の一部なしに実行され得ることは明らかであろう。他の事例では、ここに開示された発明概念の基礎をなす原理を不明瞭にしないようにするために、周知の（well-known）構造及びデバイスはブロック図の形式で示される。
【００１１】
ここに開示された発明概念の実施形態は、スレッド優先度に基づいて、スレッドに割り込みを割り当てることができるマルチスレッドプロセッサに関する。スレッドの優先度は、スレッドがタスクを実行しているか否か、及び／又は実行しているタスクの優先度に基づくことができる。いくつかの実施形態では、各タスクの優先度は、ソフトウェアによって生成され、マルチスレッドプロセッサの内のプロセッサユニットによって受け取られる。スレッドがタスクを実行しているとき、スレッドの優先度は、それが実行しているタスクに一致することができる。スレッドが待ち状態にある（つまり、タスクを実行していない）とき、その優先度は、可能な限り低い優先度に対応し得る。いくつかの実施形態では、“１”及び“０”のような２つの優先度は、“１”がスレッドがタスクを実行していることを示すために、又は“０”が待ち状態であることを示すために用いられ、割り込みは、待ち状態及び“０”に関連付けられたスレッドへの割り当てのように、優先度に基づいて割り当てられる。
【００１２】
タスクは、互いに関連する命令シーケンスを含むことができる。プロセッサスレッドは、タスクに関連する命令の各々を処理することによって、タスクを実行することができる。マルチスレッドプロセッサは、あるスレッド上であるタスクに関連する命令シーケンスを、別のスレッド上で別のタスクに関連する命令シーケンスを処理することによって、同時に２以上のタスクを実行し得る。
【００１３】
マルチスレッドプロセッサのプロセッサユニットは、割り込みを受け取り、スレッドの優先度に基づいて割り込みを供給するためのスレッドを決定することができる。例えば、プロセッサユニットは、待ち状態にあるスレッドを識別することができ、また、マルチスレッドプロセッサ内の全てのスレッドがタスクを実行している場合には、最も低い優先度を有するスレッドを識別することができる。プロセッサユニットは、識別されたスレッドに割り込みを割り当てることができる。
【００１４】
割り込みは、デバイス又はシステムソフトウェアから受け取られた、割り込みハンドラのようなスケジューリングされていないイベントに関連する通知であり得る。例えば、割り込みハンドラは、スレッドによって処理される命令シーケンスを含む、スケジューリングされていないタスクであり得る。いくつかの実施形態では、割り込みは優先度を含む。プロセッサユニットは、スレッドの優先度及び割り込みの優先度に基づいて、実行中のタスクを中断するか否かを判定することができる。例えば、プロセッサユニットは、割り込みの優先度がスレッドの優先度よりも高いか否かを判定することができる。割り込みの優先度がスレッドの優先度より高い場合、最も低い優先度を有するスレッドを中断することができ、割り込みはそのスレッドに供給されることができる。割り込みの優先度がスレッドより低い場合、スレッドがその現在のタスクの実行を完了するまで、そうでなければ割り込みよりも高い優先度を有するタスクが実行されるまで、割り込みは待ち行列に入れられる。スレッドの優先度に基づいて割り込みを割り当てることによって、あるプロセッサユニットの実施形態は、割り込み処理によるレイテンシーのようなオーバヘッドを減らし、且つ／又は高優先度のタスクがより早く実行されることを可能にすることができる。
【００１５】
いくつかの実施形態によるマルチスレッドプロセッサは、タスクの実行中にデータにアクセスするために、処理システムのさまざまなコンポーネントを伴って実装される可能性がある。図１は、割り込みハンドラ１０１に関連付けられた割り込みを、プロセッサスレッドに割り当てるためのプロセッサユニット１０２を含むマルチスレッドプロセッサの一実施形態の実装のブロック図を示す。いくつかの実施形態では、プロセッサユニット１０２は、タスクキュー内その他のタスクのような、各々がプロセッサスレッドによって実行される命令シーケンスを含む実行可能なタスク１０４を含む。タスクに関連する命令は、スレッドと、レジスタ又は関連するスレッドの優先度を格納する各スレッドに関連する他の一時記憶コンポーネントとを含む実行モジュール１０６内で実行することができる。実行モジュール１０６は、限られた数のスレッドのような、あらゆる数のスレッドを含むことができる。各スレッドは、タスクに関連する命令シーケンスの実行によるように、タスクを実行することができる。プロセッサユニット１０２は、割り込みを供給するための、そうでなければ、割り込み１００とそれらに関連する割り込みハンドラ１０１との割り当てを決定するためのスレッドを決定することができる割り込みモジュール１０８を含むこともできる。
【００１６】
各タスクには、オペレーティングシステムによって割り当てられる優先度のような優先度が関連付けられる。プロセッサユニット１０２、又はオペレーティングシステムのようなソフトウェアは、いつスレッド上でタスクを実行するかを決定するために優先度を用いることができる。いくつかの実施形態では、いくつかのタスクは同時に受け取られ、タスクの優先度に基づいて、限られた数のスレッドに供給される。高い優先度に関連付けられたタスクは、低い優先度に関連付けられたタスクの前に実行されることができる。
【００１７】
プロセッサユニット１０２は、メモリ管理ユニット１１０と、そのタスクの実行においてプロセッサユニット１０２を支援するリソース１１２に結合することができる。実行中、プロセッサユニット１０２は、メモリ管理ユニット１１０を介してリソース１１２にアクセスし得る。例えば、プロセッサユニット１０２は、リソース１１２からのデータ、命令、オペランド、又は他の情報に関する要求を供給することができる。メモリ管理ユニット１１０は、プロセッサユニット１０２によって探索された情報がある記憶位置の物理アドレスを提供するために、変換索引（lookaside）バッファ又は他のコンポーネントを使用することによるように、リソース１１２へのアクセスを管理することができる。
【００１８】
リソース１１２その他のようなシステムデバイスからの割り込み１００は、受け取ることができ、それらが関連する割り込みハンドラ１０１はプロセッサユニット１０２によって実行される。割り込みモジュール１０８は、相対的に低い優先度のスレッドを停止すること、又は割り込みを実行するために待ち状態のスレッドを識別することによるように、実行モジュール１０６内のスレッドの優先度に基づいて割り込み１００に割り当てるように構成される。
【００１９】
プロセッサユニット１０２の実施形態は、待ち状態のスレッドに割り込みを割り当て、且つ／又はスレッド及び実行待ちのタスクの優先度に基づいて割り込みを割り当てるコンポーネントを含む、スレッドに割り込みを割り当てるためのさまざまなコンポーネントを含むことができる。図２及び図３は、割り込みを割り当てるように構成されたプロセッサユニットの実装の実施形態を示す。図２は、スケーリングされたスレッド優先度を使用した、待ち状態のスレッドへの割り込みの割り当ての例を示す。図３は、二択の優先度に基づくスレッドへの割り込みの割り当ての例を示す。
【００２０】
図２内のプロセッサユニット１０２は、スレッド２０２を備える実行モジュールを含むマルチスレッドプロセッサである。説明のため、スレッド２０２は６つのスレッドＡ−Ｆを含む。あらゆる数のスレッドを使用することができる。実行モジュールは、スレッド２０２それぞれの優先度を格納するスレッドレジスタ２０４Ａ−Ｆも含む。各スレッドレジスタは、１つのスレッドに関連付けられる。例えば、スレッドレジスタ２０４Ａは、スレッド２０２Ａに対応する。スレッドがタスクを実行しているとき、タスクの優先度に対応する優先度は、スレッドに関連するレジスタに格納される。スレッドがタスクを実行することを完了するか、そうでなければ停止するとき、関連するレジスタ内の優先度は“ｎｕｌｌ”に変更される。“ｎｕｌｌ”の優先度は、可能な限り低い優先度に相当し得る。スレッドが実行する別のタスクを受け取るとき、タスクの優先度に対応する優先度は関連するレジスタに格納される。
【００２１】
いくつかの実施形態では、レジスタは、優先度に関する値を識別する１以上のビットを格納する。あらゆる優先度のスケールは、相対的なスレッドの優先度を表すために用いることができる。図２に示される実施形態では、“１”と“９９”との間の数は、より低い数がより高い優先度を表して使用される。例えば、スレッドレジスタ２０４Ａは、スレッド２０２Ａの相対的な優先度を表す“５”の優先度を含む。スレッドレジスタ２０４Ｂは、スレッド２０２Ｂの相対的な優先度を表し、スレッド２０２Ａがスレッド２０２Ｂより高い優先度を有することを示す“２５”の優先度を含む。スレッドレジスタ２０４Ｃは、スレッド２０２Ｃが現在タスクを実行しておらず、待ち状態にあることを示す“ｎｕｌｌ”の優先度を含む。スレッド優先度値を示すための数値及び“ｎｕｌｌ”を含むスケールは、典型的な目的のために用いられ、相対的なスレッドの優先度と待ち状態のスレッドとのあらゆる識別に用いられる。
【００２２】
実行モジュールは、スレッドレジスタ２０４につながれる優先度エンコーダ（priority encoder）２０６も含む。優先度エンコーダ２０６は、スレッドレジスタ２０４内の優先度を受け取り、最も低い優先度を含むレジスタを決定するように構成することができる。示された実施形態では、優先度エンコーダ２０６は、“ｎｕｌｌ”が最も低い優先度であるので、それを含むレジスタに関連するスレッドを決定する。例えば、スレッドレジスタ２０４はそれぞれ、優先度エンコーダ２０６に、スレッドレジスタに関連するスレッドの優先度及び識別を供給することができる。図２に示される実施形態では、スレッドレジスタ２０４Ｃは“ｎｕｌｌ”を含み、優先度エンコーダ２０６によって最も低い優先度のスレッドであると識別される。
【００２３】
優先度エンコーダ２０６によって識別されたスレッドは、優先度エンコーダ２０６から受け取られた優先度情報に基づいて、割り込みを割り当てるように構成された割り込みモジュール２０８に提供される。いくつかの実施形態では、優先度エンコーダ２０６は、割り込みモジュール２０８に優先度情報を継続的に供給する。他の実施形態では、優先度エンコーダ２０６は、割り込みモジュール２０８から優先度情報の要求を受け取った後に、割り込みモジュール２０８に優先度情報を供給する。
【００２４】
割り込みモジュール２０６は、割り込みを受け取り、それをスレッド２０２のうちの１つに割り当てることができる。いくつかの実施形態では、割り込みモジュール２０６は、割り込みの優先度を決定し、割り込みを割り当てるために優先度エンコーダ２０６から受け取ったスレッド優先度に加えて、割り込み優先度を使用する。他の実施形態では、割り込みモジュール２０６は割り込みの優先度を決定せずに、割り込みを割り当てる。割り込みモジュール２０６は、待ち状態のスレッドのような最も低い優先度を有するスレッドを識別することにより、割り込みを割り当て、識別されたスレッドに割り込みを供給することができる。例えば、スレッド２０２Ｃが、待ち状態であるような最も低い優先度スレッドであるので、割り込みモジュール２０８はスレッド２０２Ｃを識別し、割り込みをスレッド２０２Ｃに供給する。スレッド２０２Ｃは、高い優先度のスレッドのような他のスレッドの実行を中断させることなく、割り込みを実行する。
【００２５】
全てのスレッド２０２がタスクを実行している場合、割り込みモジュール２０８はさらに、低い優先度のスレッドに割り込みを供給するように構成することができる。低い優先度のスレッドは、タスクの実行を中断し、割り込みに関連する割り込みハンドラの命令を実行することにより、割り込みの処理を開始することができる。例えば、スレッド２０２Ｃが“１７”の優先度を有するタスクを実行している場合、優先度エンコーダ２０６は、最も低い優先度を有するものとしてスレッド２０２Ｅを識別し、割り込みモジュール２０８に２０２Ｅの識別を提供する。割り込みモジュール２０８は、スレッド２０２Ｅ内で実行中のタスクを中断し、実行のための割り込みを受け取ることができる。例えば、スレッド２０２Ｅは、タスクに関連する命令シーケンスの内の命令の実行を中断し、割り込みに関連する割り込みハンドラの命令の実行を開始し得る。スレッド２０２Ｅは、より高い優先度のスレッドを中断させずに、割り込みを実行する。スレッド２０２Ｅ内で形式的に実行するタスクは、スレッドが実行を完了し、別のタスクを実行する準備ができるまで、止められ得る。
【００２６】
いくつかの実施形態では、割り込みは、スレッドが待ち状態であるかタスクを実行中であるかを示すような、より単純なスレッド優先度に基づいて割り当てられることができる。図３は、スレッド３０２Ａ−Ｆと、スレッド３０２Ａ−Ｆに対応するスレッドレジスタ３０４Ａ−Ｆとを備える実行モジュールを含むプロセッサユニット１０２の実施形態を示す。スレッドレジスタ３０４Ａ−Ｆはそれぞれ、各スレッドの優先度を示すための“１”又は“０”を含む。“１”は、関連するスレッドが現在タスクを実行していることを示すことができ、“０”は、関連するスレッドが待ち状態であることを示すことができる。例えば、スレッドは３０４Ａ、３０４Ｃ、３０４Ｄ、及び３０４Ｆはそれぞれ、関連するスレッド３０２Ａ、３０２Ｃ、３０２Ｄ、及び３０２Ｆがタスクを実行していることを示す “１”を含む。スレッドレジスタ３０４Ｂ及び３０４Ｅは、関連するスレッド３０２Ｂ及び３０２Ｅがタスクを実行しておらず、待ち状態であることを示す“０”を含む。
【００２７】
スレッドレジスタ３０４Ａ−Ｆは、割り込みモジュール３０８へのスレッド優先度を識別する優先度エンコーダ３０６につながれる。いくつかの実施形態では、優先度エンコーダ３０６は、スレッドレジスタ３０４Ａ−Ｆからの優先度に基づいて、割り込みモジュール３０８への待ち状態の１以上のスレッドを識別するように構成される。図３に示される実施形態では、例えば、優先度エンコーダ３０６は、割り込みモジュール３０８へのスレッド３０２Ｂ及び３０２Ｅを識別し得る。割り込みモジュール３０８は、割り込みを中止し受諾するために、現在タスクを処理しているスレッドに対する要求なしにそれを処理することができる、識別されたスレッド３０２Ｂ又は３０２Ｅの内の１つに割り込みを供給することができる。
【００２８】
いくつかの実施形態では、全てのスレッド３０２Ａ−Ｆがタスクを処理していて、スレッドレジスタ３０４Ａ−Ｆの各々は、関連するスレッドそれぞれが現在タスクを処理していることを示す“１”を含む可能性がある。優先度エンコーダ３０６は、全てのスレッド３０２Ａ−Ｆがタスクを処理しているという指示を、割り込みモジュール３０８に供給するように構成することができる。割り込みモジュール３０８は、スレッド３０２Ａ−Ｆの内の１つに、割り込みとその割り込みハンドラを供給することができる。スレッドは、そのタスクの処理を中断し、その割り込みハンドラに関連する命令を実行することにより割り込みの処理を開始できる。
【００２９】
上述されたように、さまざまな方法は、割り込みをマルチスレッドプロセッサ内に割り当てるために実装することができる。割り当て方法のある実施形態は、スレッド優先度、割り込み優先度、及び／又はタスク待ち行列内のタスクの優先度に基づいて割り込みを割り当てることができる。図４は、スレッド優先度と割り込み優先度に基づいて割り込みを割り当てる一実施形態による典型的な割り込み割り当て方法を示す。
【００３０】
プロセッサユニットが実行のためのタスク及び各タスクの優先度を受け取るとき、方法はブロック４０２で開始され得る。タスクは、ソフトウェアプログラム又は他のシステムアプリケーションから受け取られ得、マルチスレッドプロセッサ内のスレッドによって実行される命令シーケンスを含み得る。各タスクの優先度は、オペレーティングシステムのようなシステムソフトウェアによって決定され得る。いくつかの実施形態では、プロセッサユニットは、タスクが受け取られるとき、各タスクの優先度を決定するように構成されたロジックを含む。
【００３１】
ブロック４０４では、各タスクはスレッド上で実行される。タスクの数が、タスクの実行に利用可能なスレッドの数を超過する場合。いくつかの実施形態では、スケジューラは、各タスクの優先度を識別し、実行の最初に、スレッドに最も高い優先度のタスクを供給する。
【００３２】
ブロック４０６では、プロセッサユニットは、タスクの優先度に基づいて各スレッドの優先度を識別する。いくつかの実施形態では、プロセッサユニットはスレッドを監視し、各スレッド上で実行するタスクの優先度を識別する。各スレッドの優先度は、スレッド上で実行するタスクの優先度に対応することがある。プロセッサユニットは、待ち状態であるスレッドの優先度を識別することもできる。プロセッサユニットは、スレッドに関連するレジスタに各スレッドのための優先度を格納できる。
【００３３】
ブロック４０８では、プロセッサユニットは、システムデバイス又はソフトウェアアプリケーションから割り込みを受け取り、その優先度を決定する。その割り込みは、スケジューリングされていないタスクである割り込みハンドラに関連し得る。いくつかの実施形態では、割り込み優先度は割り込みで受け取られる。例えば、オペレーティングシステムのようなシステムソフトウェアは、割り込みが生成されるときに、割り込みに優先度を割り当てる。他の実施形態では、プロセッサユニットは、メモリ又は他のシステムコンポーネントにアクセスすることによって、割り込みの優先度を読み出す。
【００３４】
ブロック４１０では、プロセッサユニット内の割り込みモジュールは、割り込み優先度が少なくとも１つのスレッドよりも高いか否かを判定する。いくつかの実施形態では、割り込みモジュールは、スレッドの各々の優先度を受け取り、それらを割り込み優先度と比較する。割り込み優先度が少なくとも１つのスレッドより高い場合、ブロック４１２では、最も低い優先度を有するスレッドが識別され、そのタスクを処理することが中断され、割り込みに関連する割り込みハンドラが最も低い優先度を有するスレッドに供給される。割り込み優先度が少なくとも１つのスレッドよりも高くない場合、ブロック４１４で、割り込みはキューに格納される。方法は、割り込み優先度が少なくとも１つのスレッドよりも高いかどうかを判定するためにブロック４１０に戻り、割り込み優先度が少なくとも１つのスレッドより高いときまで継続する。いくつかの実施形態では、割り込みはキューに格納され、スレッドが利用可能であり、且つ割り込みがキュー内の最も高い優先度の割り込み及び／又はタスクであるとき、スレッドに供給される。
【００３５】
上述の特徴を含む例のデバイス  
プロセッサスレッドに割り込みを割り当てることができるプロセッサユニットは、デジタル信号プロセッサのような任意のタイプのプロセッサ内に含まれ得る。図５から図９の概略図は、マルチスレッドプロセッサのスレッドに割り込みを割り当てるために、プロセッサユニットを組み込み得る例のデバイスを示す。
【００３６】
図５は、ポータブル通信デバイス５００の典型的な実施形態を示す図である。図５の概略図に示されるように、ポータブル通信デバイスはデジタル信号プロセッサ（ＤＳＰ）５０４を含む、オンチップシステム５０２を含む。図５の概略図は、さらに、ＤＳＰ５０４及びディスプレイ５０８につながれるディスプレイコントローラ５０６を示す。さらに、入力デバイス５１０はＤＳＰ５０４につながれる。図のように、メモリ５１２はＤＳＰ５０４につながれる。また、コーダ／デコーダ（ＣＯＤＥＣ）５１４は、ＤＳＰ５０４につながれ得る。スピーカー５１６及びマイクロホン５１８は、ＣＯＤＥＣ５１４につながれ得る。
【００３７】
図５の概略図は、デジタル信号プロセッサ５０４につながれた無線コントローラ５２０と無線アンテナ５２２とをさらに示す。特定の実施形態では、電源５２４はオンチップシステム５０２につながれる。ディスプレイ５０８、入力デバイス５１０、スピーカー５１６、マイクロホン５１８、無線アンテナ５２２、及び電源５２４は、オンチップシステム５０２の外側にあり得る。しかしながら、各々は、オンチップシステム５０２のコンポーネントにつなぐことができる。
【００３８】
特定の実施形態では、ＤＳＰ５０４は、図２又は図３を参照して記述されるように、スレッドに割り込みを割り当て、割り込み処理によるレイテンシーのようなオーバヘッドを減らし、且つ／又は高い優先度のタスクがより早く実行されることを可能にすることができるプロセッサユニット５６２を含む。例えば、ＤＳＰ５０４は、各スレッドが、そのスレッドが処理しているタスクの優先度に基づいて優先度を割り当てられ得る、マルチスレッドプロセッサであり得る。プロセッサユニット５６２は、割り込みを受け取り、スレッドそれぞれの優先度に基づいて、タスクを処理していないスレッド又は低い優先度のスレッドのような、処理するために割り込みを送るスレッドを決定することができる。
【００３９】
図６は、携帯電話６００の典型的な実施形態を示す図である。図のように、携帯電話６００は、相互に連結されるデジタルベースバンドプロセッサ６０４とアナログベースバンドプロセッサ６０６とを含む、オンチップシステム６０２を含む。特定の実施形態では、デジタルベースバンドプロセッサ６０４は、デジタル信号プロセッサである。図６の概略図で示されるように、ディスプレイコントローラ６０８とタッチスクリーンコントローラ６１０とは、デジタルベースバンドプロセッサ６０４につながれる。同様に、オンチップシステム６０２の外部のタッチスクリーンディスプレイ６１２は、ディスプレイコントローラ６０８とタッチスクリーンコントローラ６１０とにつながれる。
【００４０】
図６の概略図は、ビデオエンコーダ６１４、例えば、位相交代ライン（ＰＡＬ）エンコーダ、順次式カラーメモリ（ＳＥＣＡＭ）エンコーダ、又は全国テレビ方式委員会（ＮＴＳＣ）エンコーダが、デジタルベースバンドプロセッサ６０４につながれることをさらに示す。さらに、ビデオ増幅器６１６は、ビデオエンコーダ６１４とタッチスクリーンディスプレイ６１２とにつながれる。また、ビデオポート６１８はビデオ増幅器６１６につながれる。ユニバーサルシリアルバス（ＵＳＢ）コントローラ６２０は、デジタルベースバンドプロセッサ６０４につながれる。さらに、ＵＳＢポート６２２はＵＳＢコントローラ６２０につながれる。メモリ６２４及び加入者識別モジュール（ＳＩＭ）カード６２６も、デジタルベースバンドプロセッサ６０４につながれ得る。さらに、図６の概略図で示されるように、デジタルカメラ６２８はデジタルベースバンドプロセッサ６０４につながれ得る。典型的な実施形態では、デジタルカメラ６２８は、電荷結合素子（ＣＣＤ）カメラ又は相補型金属酸化膜半導体（ＣＭＯＳ）カメラである。
【００４１】
さらに図６の概略図で示すように、ステレオオーディオＣＯＤＥＣ６３０は、アナログベースバンドプロセッサ６０６につながれ得る。さらに、オーディオ増幅器６３２は、ステレオオーディオＣＯＤＥＣ６３０につながれ得る。典型的な実施形態では、第１ステレオスピーカー６３４及び第２ステレオスピーカー６３６は、オーディオ増幅器６３２につながれる。マイクホン増幅器６３８も、ステレオオーディオＣＯＤＥＣ６３０につながれ得る。さらに、マイクロホン６４０はマイクホン増幅器６３８につながれ得る。特定の実施形態では、周波数変調（ＦＭ）ラジオチューナ６４２はステレオオーディオＣＯＤＥＣ６３０につながれ得る。ＦＭアンテナ６４４は、ＦＭラジオチューナ６４２につなぐことができる。さらに、ステレオヘッドホン６４６は、ステレオオーディオＣＯＤＥＣ６３０につながれ得る。
【００４２】
図６の概略図は、アナログベースバンドプロセッサ６０６につながれ得る無線周波数（ＲＦ）トランシーバ６４８をさらに示す。ＲＦスイッチ６５０は、ＲＦトランシーバ６４８及びＲＦアンテナ６５２につながれ得る。キーパッド６５４は、アナログベースバンドプロセッサ６０６につながれ得る。さらに、マイクロホンを備えるモノヘッドセット６５６は、アナログベースバンドプロセッサ６０６につながれ得る。さらに、バイブレータデバイス６５８は、アナログベースバンドプロセッサ６０６につながれ得る。図６の概略図は、さらにオンチップシステム６０２につながれ得る電源６６０を示す。特定の実施形態では、電源６６０は、携帯電話６００のさまざまなコンポーネントに電力を供給する直流（ＤＣ）電源である。さらに、特定の実施形態では、電源は、再充電可能なＤＣバッテリー、又は交流（ＡＣ）電源につながれる交流・直流変換から導かれるＤＣ電源である。
【００４３】
図６の概略図のように、タッチスクリーンディスプレイ６１２、ビデオポート６１８、ＵＳＢポート６２２、カメラ６２８、第１ステレオスピーカー６３４、第２ステレオスピーカー６３６、マイクロホン６４０、ＦＭアンテナ６４４、ステレオヘッドホン６４６、ＲＦスイッチ６５０、ＲＦアンテナ６５２、キーパッド６５４、モノヘッドセット６５６、バイブレータ６５８、及び電源６６０は、オンチップシステム６０２の外側にあり得る。特定の実施形態では、デジタルベースバンドプロセッサ６０４は、図２又は図３を参照して記載されるように、割り込みをスレッドに割り当て、割り込み処理によるレイテンシーのようなオーバヘッドを減らし、且つ／又は高い優先度のタスクがより早く実行されることを可能にすることができるプロセッサユニット６６２を含み得る。例えば、ＤＳＰ６０４は、スレッドが処理しているタスクの優先度に基づいて、各スレッドに優先度が割り当てられるマルチスレッドプロセッサであり得る。プロセッサユニット６６２は、割り込みを受け取り、各スレッドの優先度に基づいて、タスクを処理していないスレッド又は低い優先度のスレッドのような、処理するために割り込みを送るべきスレッドを決定することができる。
【００４４】
図７は、無線インターネットプロトコル（ＩＰ）電話７００の典型的な実施形態を示す図である。図のように、無線ＩＰ電話７００は、デジタル信号プロセッサ（ＤＳＰ）７０４を含む、オンチップシステム７０２を含む。ディスプレイコントローラ７０６は、ＤＳＰ７０４につながれ得、ディスプレイ７０８は、ディスプレイコントローラ７０６につながれる。典型的な実施形態では、ディスプレイ７０８は液晶ディスプレイ（ＬＣＤ）である。図７は、キーパッド７１０がＤＳＰ７０４につながれ得ることをさらに示す。
【００４５】
フラッシュメモリ７１２はＤＳＰ７０４につながれ得る。シンクロナスダイナミックアクセスメモリ（ＳＤＲＡＭ）７１４、スタティックランダムアクセスメモリ（ＳＲＡＭ）７１６、及び電気的消去可能なリードオンリーメモリ（ＥＥＰＲＯＭ）７１８も、ＤＳＰ７０４につながれ得る。図７の概略図は、さらに、発光ダイオード（ＬＥＤ）７２０がＤＳＰ７０４につながれ得ることを示す。さらに、特定の実施形態では、音声ＣＯＤＥＣ７２２は、ＤＳＰ７０４につながれ得る。増幅器７２４は音声ＣＯＤＥＣ７２２につながれ得、モノスピーカー７２６は増幅器７２４につながれ得る。図７の概略図は、音声ＣＯＤＥＣ７２２につながれたモノヘッドセット７２８をさらに示す。特定の実施形態では、モノヘッドセット７２８はマイクロホンを含む。
【００４６】
無線ローカルエリアネットワーク（ＷＬＡＮ）ベースバンドプロセッサ７３０は、ＤＳＰ７０４につながれ得る。ＲＦトランシーバ７３２はＷＬＡＮベースバンドプロセッサ７３０につながれ得、ＲＦアンテナ７３４はＲＦトランシーバ７３２につながれ得る。特定の実施形態では、Ｂｌｕｅｔｏｏｔｈ（登録商標）コントローラ７３６もＤＳＰ７０４につながれ得、Ｂｌｕｅｔｏｏｔｈアンテナ７３８はコントローラ７３６につながれ得る。図７の概略図は、さらに、ＵＳＢポート７４０もＤＳＰ７０４につながれる得ることを示す。さらに、電源７４２は、オンチップシステム７０２につながれ、無線ＩＰ電話７００のさまざまなコンポーネントに電力を供給する。
【００４７】
図７の概略図に示すように、ディスプレイ７０８、キーパッド７１０、ＬＥＤ７２０、モノスピーカー７２６、モノヘッドセット７２８、ＲＦアンテナ７３４、Ｂｌｕｅｔｏｏｔｈアンテナ７３８、ＵＳＢポート７４０、及び電源７４２は、オンチップシステム７０２の外側にあり、オンチップシステム７０２の１以上のコンポーネントにつながれ得る。特定の実施形態では、ＤＳＰ７０４は、図２又は図３を参照して示すように、スレッドに割り込みを割り当て、割り込み処理によるレイテンシーのようなオーバヘッドを減らし、且つ／又は高い優先度のタスクがより早く実行されるようにすることができるプロセッサユニット７６２を含む。例えば、ＤＳＰ７０４は、各スレッドに、そのスレッドが処理しているタスクの優先度に基づいて、優先度が割り当てられるマルチスレッドプロセッサであり得る。プロセッサユニット７６２は、割り込みを受け取り、各スレッドの優先度に基づいて、タスクを処理していないスレッド又は低い優先度のスレッドのような、処理するために割り込みを送るべきスレッドを決定することができる。
【００４８】
図８は、ポータブルデジタルアシスタント（ＰＤＡ）８００の典型的な実施形態を示す図である。図のように、ＰＤＡ８００はデジタル信号プロセッサ（ＤＳＰ）８０４を含む、オンチップシステム８０２を含む。タッチスクリーンコントローラ８０６とディスプレイコントローラ８０８とは、ＤＳＰ８０４につながれる。さらに、タッチスクリーンディスプレイ８１０は、タッチスクリーンコントローラ８０６とディスプレイコントローラ８０８とにつながれる。図８の概略図は、さらにキーパッド８１２がＤＳＰ８０４につながれ得ることを示す。
【００４９】
特定の実施形態では、ステレオオーディオＣＯＤＥＣ８２６は、ＤＳＰ８０４につながれ得る。第１ステレオ増幅器８２８は、ステレオオーディオＣＯＤＥＣ８２６につながれ得、第１ステレオスピーカー８３０は第１ステレオ増幅器８２８につながれ得る。さらに、マイクホン増幅器８３２はステレオオーディオＣＯＤＥＣ８２６につながれ得、マイクロホン８３４はマイクホン増幅器８３２につながれ得る。図８の概略図は、さらに、ステレオオーディオＣＯＤＥＣ８２６につながれ得る第２ステレオ増幅器８３６と、第２ステレオ増幅器８３６につながれ得る第２ステレオスピーカー８３８とを示す。特定の実施形態では、ステレオヘッドホン８４０もステレオオーディオＣＯＤＥＣ８２６につながれ得る。
【００５０】
図８の概略図は、ＤＳＰ８０４につながれ得る８０２．１１コントローラ８４２と、８０２．１１コントローラ８４２につながれ得る８０２．１１アンテナ８４４とを示す。さらに、Ｂｌｕｅｔｏｏｔｈコントローラ８４６はＤＳＰ８０４につながれ得、Ｂｌｕｅｔｏｏｔｈアンテナ８４８はＢｌｕｅｔｏｏｔｈコントローラ８４６につながれ得る。ＵＳＢコントローラ８５０は、ＤＳＰ８０４につながれ得、ＵＳＢポート８５２はＵＳＢコントローラ８５０につながれ得る。さらに、スマートカード８５４、例えばマルチメディアカード（ＭＭＣ）、セキュアデジタルカード（ＳＤ）は、ＤＳＰ８０４につながれ得る。さらに、電源８５６は、オンチップシステム８０２につながれ得、ＰＤＡ８００のさまざまなコンポーネントに電力を供給し得る。
【００５１】
図８の概略図に示すように、ディスプレイ８１０、キーパッド８１２、ＩｒＤＡポート８２２、デジタルカメラ８２４、第１ステレオスピーカー８３０、マイクロホン８３４、第２ステレオスピーカー８３８、ステレオヘッドホン８４０、８０２．１１アンテナ８４４、Ｂｌｕｅｔｏｏｔｈアンテナ８４８、ＵＳＢポート８５２、及び電源８５６は、オンチップシステム８０２の外側にあるかもしれないし、オンチップシステム８０２上の１以上のコンポーネントにつながれるかもしれない。特定の実施形態では、ＤＳＰ８０４は、図２又は図３を参照して示すように、スレッドに割り込みを割り当て、割り込み処理によるレイテンシーのようなオーバヘッドを減らし、且つ／又は高い優先度のタスクがより早く実行されることを可能にすることができるプロセッサユニット８６２を含む。例えば、ＤＳＰ８０４は、各スレッドに、そのスレッドが処理しているタスクの優先度に基づいて優先度が割り当てられる、マルチスレッドプロセッサであり得る。プロセッサユニット８６２は、割り込みを受け取り、各スレッドの優先度に基づいて、タスクを処理していないスレッド又は低い優先度のスレッドのような、処理するために割り込みを送るべきスレッドを決定することができる。
【００５２】
図９は、オーディオファイルプレーヤ（例えば、ＭＰ３プレーヤ）９００の典型的な実施形態を示す図である。図のように、オーディオファイルプレーヤ９００は、デジタル信号プロセッサ（ＤＳＰ）９０４を含むオンチップシステム９０２を含む。ディスプレイコントローラ９０６はＤＳＰ９０４につながれ得、ディスプレイ９０８はディスプレイコントローラ９０６につながれる。典型的な実施形態では、ディスプレイ９０８は液晶ディスプレイ（ＬＣＤ）である。キーパッド９１０はＤＳＰ９０４につながれ得る。
【００５３】
図９の概略図でさらに描かれるように、フラッシュメモリ９１２とリードオンリーメモリ（ＲＯＭ）９１４とは、ＤＳＰ９０４につながれ得る。さらに、特定の実施形態では、オーディオＣＯＤＥＣ９１６はＤＳＰ９０４につながれ得る。増幅器９１８はオーディオＣＯＤＥＣ９１６につながれ得、モノスピーカー９２０は増幅器９１８につながれ得る。図９の概略図は、マイクロホン入力９２２とステレオ入力９２４とがオーディオＣＯＤＥＣ９１６につながれ得ることもさらに示す。特定の実施形態では、ステレオヘッドホン９２６もオーディオＣＯＤＥＣ９１６につながれ得る。
【００５４】
ＵＳＢポート９２８とスマートカード９３０とは、ＤＳＰ９０４につながれ得る。さらに、電源９３２は、オンチップシステム９０２につながれ得、オーディオファイルプレーヤ９００のさまざまなコンポーネントに電力を供給し得る。
【００５５】
図９の概略図に示されるように、ディスプレイ９０８、キーパッド９１０、モノスピーカー９２０、マイクロホン入力９２２、ステレオ入力９２４、ステレオヘッドホン９２６、ＵＳＢポート９２８、及び電源９３２は、オンチップシステム９０２の外部にあり、オンチップシステム９０２上の１以上のコンポーネントにつながれる。特定の実施形態では、ＤＳＰ９０４は、図２又は図３を参照して記述されるように、スレッドに割り込みを割り当て、割り込み処理によるレイテンシーのようなオーバヘッドを減らし、且つ／又は高い優先度のタスクがより早く実行されることを可能にすることができるプロセッサユニット９６２を含む。例えば、ＤＳＰ９０４は、各スレッドに、そのスレッドが処理しているタスクの優先度に基づいて優先度が割り当てられる、マルチスレッドプロセッサであり得る。プロセッサユニット９６２は、割り込みを受け取り、各スレッドの優先度に基づいて、タスクを処理していないスレッド又は低い優先度のスレッドのような、処理するために割り込みを送るべきスレッドを決定することができる。
【００５６】
総則  
ここに開示された発明概念の実施形態の上記の記述は、図解と説明の目的でのみ表されており、完全であること、又はここに開示された発明概念を開示された精細な形態に限定することを意図しない。ここに開示された発明概念の精神及び範囲から逸脱することなく、多数の変更及び適用は当業者に明らかである。
【図１】
2014179119.tif 000003
【図２】
2014179119.tif 000004
【図３】
2014179119.tif 000005
【図４】
2014179119.tif 000006
【図５】
2014179119.tif 000007
【図６】
2014179119.tif 000008
【図７】
2014179119.tif 000009
【図８】
2014179119.tif 000010
【図９】
2014179119.tif 000011
【手続補正書】
【提出日】平成26年5月26日(2014.5.26)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
マルチスレッドプロセッサにおける割り込みを管理するための手段であって、第１タスク優先度に関連する第１タスクを実行するように構成される第１スレッドと、第２タスク優先度に関連する第２タスクを実行するように構成される第２スレッドとを含む複数のスレッドの内の最低優先度スレッドの指示を受け取るように構成される管理手段と、
マルチスレッドプロセッサにおける複数の記憶するための手段であって、前記第１タスク優先度に対応する第１スレッド優先度を記憶するように構成される第１の記憶するための手段と、前記第２タスク優先度に対応する第２スレッド優先度を記憶するように構成される第２の記憶するための手段とを含む複数の記憶手段と、
マルチスレッドプロセッサにおけるエンコードするための手段であって、前記管理手段に、前記最低優先度スレッドの指示を供給するエンコード手段と
を具備し、
前記最低優先度スレッドは、前記複数のスレッドの各スレッドに対応するスレッド優先度に基づく最も低いスレッド優先度を有し、
前記複数のスレッドの各スレッドに対応するスレッド優先度は、前記複数の記憶手段の内の対応する記憶手段から受け取られる機器。
【請求項２】
前記管理手段は、
前記割り込みの割り込み優先度が、前記最低優先度スレッドに対応する前記最も低いスレッド優先度よりも高い優先度であるか否かを判定し、
前記割り込みを前記最低優先度スレッドに供給することによって、前記最低優先度スレッドに前記割り込みを割り当てるように構成され、
前記最低優先度スレッドは、前記割り込みを受け取ったことに基づいて、特定の対応するタスクを処理することを中断し、前記割り込みを処理するように構成される請求項１記載の機器。
【請求項３】
前記管理手段は、
前記割り込みの割り込み優先度と、前記最低優先度スレッドの特定の優先度とに基づいて、前記最低優先度スレッドに前記割り込みを課すように構成される請求項１記載の機器。
【外国語明細書】
2014179119000001.pdf