(57)【要約】  本発明は、マルチコアシステムのインターラプト割り当て装置及び方法に関する。本発明の一実施形態によるマルチコアシステムの各コアのインターラプト処理能力を記録するインターラプト制御レジスタ部を具備したインターラプト割り当て装置のインターラプト割り当て方法は、インターラプトを受信する受信段階と、インターラプトを受信すれば、インターラプト制御レジスタ部を確認する確認段階と、確認段階でインターラプト処理が可能な状態として確認されたコアにインターラプトを割り当てる割り当て段階とを含むことができる。コアは、インターラプトを割り当てられれば、コアに対応するインターラプト制御レジスタをインターラプト処理不能状態に変更する信号をインターラプト制御レジスタ部に送信し、インターラプトを処理することができる。本発明の一実施形態によれば、マルチコアシステムで効率的で且つ迅速なインターラプト処理を実行できる。
2014524626.tif 000002
【特許請求の範囲】
【請求項１】
マルチコアシステムの各コアのインターラプト処理能力を記録するインターラプト制御レジスタ部を具備したインターラプト割り当て装置のインターラプト割り当て方法において、
インターラプトを受信する受信段階と、
前記インターラプトを受信すれば、前記インターラプト制御レジスタ部を確認する確認段階と、
前記確認段階でインターラプト処理が可能な状態として確認されたコアに前記インターラプトを割り当てる割り当て段階と
を含み、
前記コアは、前記インターラプトを割り当てられれば、前記コアに対応するインターラプト制御レジスタをインターラプト処理不能状態に変更する信号を前記インターラプト制御レジスタ部に送信し、前記インターラプトを処理することを特徴とするインターラプト割り当て方法。
【請求項２】
前記コアは、前記インターラプト処理を完了した後、前記コアに対応するインターラプト制御レジスタをインターラプト処理可能状態に変更する信号を前記インターラプト制御レジスタ部に送信することを特徴とする請求項１に記載のインターラプト割り当て方法。
【請求項３】
前記インターラプト制御レジスタ部は、前記コアの信号によって前記コアに対応するインターラプト制御レジスタを変更することを特徴とする請求項２に記載のインターラプト割り当て方法。
【請求項４】
前記インターラプト制御レジスタ部は、各コアの複数のタイプのインターラプト処理能力を記録することを特徴とする請求項１に記載のインターラプト割り当て方法。
【請求項５】
前記インターラプト制御レジスタ部は、各コアのプリエンプション／ノン−プリエンプション状態を記録することを特徴とする請求項４に記載のインターラプト割り当て方法。
【請求項６】
前記インターラプト制御レジスタ部は、各コアのインターラプト処理能力を記録するレジスタを含む１つの物理的集合で構成されることを特徴とする請求項１に記載のインターラプト割り当て方法。
【請求項７】
マルチコアシステムのインターラプト割り当て装置において、
各コアのインターラプト処理能力を記録するインターラプト制御レジスタ部と、
インターラプトを受信すれば、前記インターラプト制御レジスタ部を確認し、インターラプト処理が可能な状態として確認されたコアに前記インターラプトを割り当てるインターラプト割り当て部と
を含み、
前記コアは、前記インターラプトを割り当てられれば、前記コアに対応するインターラプト制御レジスタをインターラプト処理不能状態に変更する信号を前記インターラプト制御レジスタ部に送信し、前記インターラプトを処理することを特徴とするインターラプト割り当て装置。
【請求項８】
前記コアは、前記インターラプト処理を完了した後、前記コアに対応するインターラプト制御レジスタをインターラプト処理可能状態に変更する信号を前記インターラプト制御レジスタ部に送信することを特徴とする請求項７に記載のインターラプト割り当て装置。
【請求項９】
前記インターラプト制御レジスタ部は、前記コアの信号によって前記コアに対応するインターラプト制御レジスタを変更することを特徴とする請求項８に記載のインターラプト割り当て装置。
【請求項１０】
前記インターラプト制御レジスタ部は、各コアの複数のタイプのインターラプト処理能力を記録することを特徴とする請求項７に記載のインターラプト割り当て装置。
【請求項１１】
前記インターラプト制御レジスタ部は、各コアのプリエンプション／ノン−プリエンプション状態を記録することを特徴とする請求項１０に記載のインターラプト割り当て装置。
【請求項１２】
前記インターラプト制御レジスタ部は、各コアのインターラプト処理能力を記録するレジスタを含む１つの物理的集合で構成されることを特徴とする請求項７に記載のインターラプト割り当て装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、インターラプト割り当て方法及び装置に関する。より詳細には、本発明は、複数コアを有するマルチコアシステムにおいてインターラプトを割り当てる方法及び装置に関する。
【背景技術】
【０００２】
従来、研究者らは、コンピュータ、その他演算システムの性能向上のためにシステムコア（ｃｏｒｅ）のクロック周波数（ｃｌｏｃｋ  ｆｒｅｑｕｅｎｃｙ）を高める方法を利用した。しかしながら、コアのクロック周波数が上昇すれば、電力消費と発熱が上昇するという問題点がある。このような問題点に起因して、最近、コアのクロック周波数上昇を用いた性能向上は鈍化した状況である。このような問題点を回避するために、研究者は、システムの性能向上のためにコアの個数を増加させる方法を利用している。
しかしながら、複数のコアを１つのシステムに統合させる場合、多くの問題点が発生する。インターラプトの処理問題は、その問題点のうちの一例である。単一コアシステムにおいてインターラプトが発生すれば、システムは、直ちにシステム内の唯一のコアにインターラプトを割り当てて行う。単一コアシステムは、システム内に１つのコアしか含まないので、選択の余地がない。
【０００３】
しかしながら、マルチコア環境では、システムは、特定インターラプトをどのコアに割り当てるかを選択しなければならない。システムがインターラプトを適切なコアに割り当てることができないか、またはインターラプト割り当てに過度に長い時間が所要される場合、コアを複数個利用して得ることができる長所が減少する。
例えば、現在インターラプトを処理することができるコアの代わりに、現在インターラプトを処理することができない他のコアにインターラプトを割り当てる場合を考えることができる。この場合、不要なインターラプト遅延（ｉｎｔｅｒｒｕｐｔ  ｌａｔｅｎｃｙ）が発生し、これは、リアルタイムで結果を得なければならないリアルタイムシステムに致命的な結果をもたらすおそれがある。
【０００４】
対称形多重処理（ＳＭＰ；Ｓｙｍｍｅｔｒｉｃ  Ｍｕｌｔｉ−Ｐｒｏｃｅｓｓｉｎｇ）システムでのインターラプト処理方式として、大きく２つの方式が知られている。
第一の方式は、インターラプトの種類によって処理を担当するコアを異にする方式である。各インターラプトソース（ｉｎｔｅｒｒｕｐｔ  ｓｏｕｒｃｅ）で発生するインターラプトを各々それに対応するコアが処理することができる。この場合、インターラプト処理が分散する。したがって、システムは、１つのコアがすべてのインターラプトを処理する方式よりも、さらに効率的にインターラプトを処理することができる。
第二の方式は、特定のインターラプトが発生した時点でインターラプト制御器がすべてのコアに当該インターラプトをブロードキャストする方式である。その後、ソフトウェア的な方式で選択された適切なコアが当該インターラプトを受け入れて（ａｃｃｅｐｔ）、インターラプトが割り当てられた（ａｌｌｏｃａｔｉｏｎ）事実を他のコアに通知する方式でインターラプトが処理される。
【０００５】
前述したような従来のインターラプト処理方式は、複数の問題点を内包する。前述した第一の方式、すなわち静的に各インターラプトソースで発生したインターラプトを該インターラプトソースに対応するコアに割り当てる方式の問題点は、次の通りである。この方式による場合、当該インターラプト処理を担当するコアがインターラプトをすぐ処理することができない状況であるとき、インターラプトを処理するために待機する時間が長くなることがある。
前述した第二の方式、すなわちインターラプトをすべてのコアにブロードキャストする方式にも問題点がある。１つのインターラプトを処理するために、コアは、インターラプトを受け入れて（ａｃｃｅｐｔ）、他のコアの重複実行を防止するためにインターラプトを受け入れた事実を通知するが、このような手続に起因して、多くの遅延（ｌａｔｅｎｃｙ）が発生する。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明は、前述した問題点を解決するためになされたものであって、その目的は、マルチコアシステムで効率的で且つ迅速なインターラプト処理のためのインターラプト割り当て方法及び装置を提供することにある。
【課題を解決するための手段】
【０００７】
上記の目的を達成するために、本発明の一実施態様によるマルチコアシステムの各コアのインターラプト処理能力（ｃａｐａｃｉｔｙ）を記録するインターラプト制御レジスタ部を具備したインターラプト割り当て装置のインターラプト割り当て方法は、インターラプトを受信する受信段階と、前記インターラプトを受信すれば、前記インターラプト制御レジスタ部を確認する確認段階と、前記確認段階でインターラプト処理が可能な状態として確認されたコアに前記インターラプトを割り当てる割り当て段階とを含むことができる。前記コアは、前記インターラプトを割り当てられれば、前記コアに対応するインターラプト制御レジスタをインターラプト処理不能状態に変更する信号を前記インターラプト制御レジスタ部に送信し、前記インターラプトを処理することができる。
【０００８】
本発明の一実施態様によるマルチコアシステムのインターラプト割り当て装置は、各コアのインターラプト処理能力（ｃａｐａｃｉｔｙ）を記録するインターラプト制御レジスタ部と、インターラプトを受信すれば、前記インターラプト制御レジスタ部を確認し、インターラプト処理が可能な状態として確認されたコアに前記インターラプトを割り当てるインターラプト割り当て部とを含むことができる。前記コアは、前記インターラプトを割り当てられれば、前記コアに対応するインターラプト制御レジスタをインターラプト処理不能状態に変更する信号を前記インターラプト制御レジスタ部に送信し、前記インターラプトを処理することができる。
【発明の効果】
【０００９】
本発明の一実施態様によれば、マルチコアシステムで効率的で且つ迅速なインターラプト処理のためのインターラプト割り当て方法及び装置を提供することができるという効果がある。
【図面の簡単な説明】
【００１０】
【図１】本発明の一実施形態によるインターラプト割り当て装置１００のブロック構成図である。
【図２】インターラプト割り当て装置１００のインターラプト処理過程を示す模式図である。
【図３】本発明の一実施形態によるインターラプト割り当て過程の流れ図である。
【図４】図３の段階３４０の詳細な流れ図である。
【発明を実施するための形態】
【００１１】
以下、本発明の実施形態を添付の図面を参照して詳細に説明する。
実施形態を説明するにあたって、本発明の属する技術分野でよく知られており、本発明と直接的に関連がない技術内容については、説明を省略する。これは、不要な説明を省略することによって、本発明の要旨を不明にせず、さらに明確に伝達するためである。
同様の理由で、添付の図面において一部の構成要素は、誇張されたり、省略されたり、概略的に図示されたりしている。また、各構成要素のサイズは、実際サイズを反映するものではない。各図面において同一または対応する構成要素には、同一の参照番号を付与した。
【００１２】
以下、本発明の実施形態によるマルチコアシステムのインターラプト割り当て方法及び装置を説明するための図面を参照して本発明について説明する。
以下、本明細書において、コア（ｃｏｒｅ）は、インターラプトを自ら処理することができる単位構成部を言う。
本明細書において、インターラプト処理能力（ｃａｐａｃｉｔｙ）は、特定コアが現在インターラプトを処理することができる状態であるか否かを示す指示子である。当該コアがインターラプトを処理する途中には、他のインターラプトを直ちに処理することができない。したがって、現在特定コアがインターラプトを処理していたら、インターラプト処理能力（ｃａｐａｃｉｔｙ）は、インターラプト処理不能（ｄｉｓａｂｌｅｄ）状態に記録される。反対に、現在特定コアがインターラプトを処理していなければ、インターラプト処理能力（ｃａｐａｃｉｔｙ）は、インターラプト処理可能（ｅｎａｂｌｅｄ）状態に記録される。
【００１３】
図１は、本発明の一実施形態によるインターラプト割り当て装置１００のブロック構成図である。インターラプト割り当て装置１００は、マルチコアシステムに含まれるか、またはマルチコアシステムに付加され、マルチコアシステムで発生するインターラプトをコア１３０に割り当てる。マルチコアシステムは、コア０  １３１、コア１  １３２、コア２  １３３及びコア３  １３４を含む。
図１を参照すれば、インターラプト割り当て装置１００は、インターラプト制御レジスタ部１１０及びインターラプト割り当て部１２０を含む。
【００１４】
インターラプト制御レジスタ部１１０は、各コア１３１、１３２、１３３、１３４のインターラプト処理能力（ｃａｐａｃｉｔｙ）を記録する。すなわち、インターラプト制御レジスタ部１１０は、各コア１３１、１３２、１３３、１３４がインターラプトを処理することができるか、または処理することができないかに関する状態を記録する。例えば、インターラプト制御レジスタ部１１０は、コア０レジスタ１１１、コア１レジスタ１１２、コア２レジスタ１１３及びコア３レジスタ１１４を含むことができる。インターラプト制御レジスタ部１１０を構成する各レジスタをインターラプト制御レジスタと称する。
【００１５】
コア０レジスタ１１１は、コア０  １３１のインターラプト処理能力を記録する。コア１レジスタ１１２は、コア１  １３２のインターラプト処理能力を記録する。コア２レジスタ１１３は、コア２  １３３のインターラプト処理能力を記録する。コア３レジスタ１１４は、コア３  １３４のインターラプト処理能力を記録する。特定コアが現在インターラプトを処理することができる状態なら、当該コアに対応するインターラプト制御レジスタは、インターラプト処理可能状態に設定される。特定コアが現在インターラプトを処理することができない状態なら、当該コアに対応するインターラプト制御レジスタは、インターラプト処理不能状態に設定される。
【００１６】
各インターラプト制御レジスタは、例えば、１ビットサイズのレジスタであることができる。例えば、コア０  １３１が現在インターラプトを処理することができる状態なら、コア０レジスタ１１１は、‘１’に設定されることができる。反対に、コア０  １３１が現在インターラプトを処理することができない状態なら、コア０レジスタ１１１は、‘０’に設定されることができる。前述した実施形態において、‘１’は、インターラプト処理可能状態を示し、‘０’は、インターラプト処理不能状態を示す。また、用語「インターラプト制御レジスタ」は、「インターラプトフラグ（ｆｌａｇ）」に代替されることができる。‘０’／‘１’の２つの値で示すことができる情報という意味から、用語“フラグ”が利用されることができる。但し、可能／不能よりさらに多い状態、例えば、優先順位や遅延予想時間などの情報をインターラプト制御レジスタに記録する場合、２ビット以上が使用されることもできる。
【００１７】
インターラプト制御レジスタ部１１０は、インターラプト割り当て部１２０に各コアのインターラプト処理能力に関する情報を提供する。インターラプト割り当て部１２０は、インターラプト制御レジスタ部１１０を参照してインターラプトを処理することができるコアを確認することができる。
【００１８】
インターラプト制御レジスタ部１１０は、コア１３０から信号を受信し、該信号によってインターラプト制御レジスタ１１１、１１２、１１３、１１４を変更することができる。例えば、インターラプトを割り当てられたコアは、当該コアに対応するインターラプト制御レジスタをインターラプト処理不能状態に変更する信号をインターラプト制御レジスタ部１１０に送信する。その後、インターラプトを割り当てられたコアは、割り当てられたインターラプトを処理する。インターラプトの処理が終われば、インターラプトを割り当てられたコアは、該コアに対応するインターラプト制御レジスタをインターラプト処理可能状態に変更する信号をインターラプト制御レジスタ部１１０に送信する。インターラプト制御レジスタ部１１０は、前述した信号を受信し、該信号によってインターラプト制御レジスタ１１１、１１２、１１３、１１４を変更する。
【００１９】
インターラプト制御レジスタ部１１０は、各コアがどのタイプのインターラプトを処理することができる状況であるかを記録することができる。例えば、マルチコアシステムで発生するインターラプトのタイプが通常のインターラプト（Ｉｎｔｅｒｒｕｐｔ）及び高速インターラプト（Ｆａｓｔ  Ｉｎｔｅｒｒｕｐｔ）の２つであると仮定する。この場合、インターラプト制御レジスタ部１１０は、Ｉフィールド及びＦフィールドを含むことができる。Ｉフィールドは、各コアが通常のインターラプトを処理することができる状態であるかを示す。Ｆフィールドは、各コアが高速インターラプトを処理することができる状態であるかを示す。
【００２０】
ここで、通常のインターラプトは、一般的に入出力装置から発生するインターラプトを意味する。通常のインターラプトの種類としては、内部タイマーやシリアル、あるいは外部インターラプト入力などを含むことができる。
高速インターラプトは、概念的には、通常のインターラプトと類似している。但し、コア内部では、通常のインターラプトに比べて高速インターラプトをさらに速い速度で処理する。通常のインターラプトのソースは、大部分、高速インターラプトにマッピングされることができる。すなわち、実施形態によってタイマーインターラプトを通常のインターラプトで処理するか、あるいは高速インターラプトで処理することもできる。
【００２１】
ここで例示されたＩフィールド及びＦフィールドは、例示的なものに過ぎない。別の実施形態によれば、インターラプト制御レジスタ部１１０は、１つのタイプのインターラプトの処理可能可否のみを記録することもできる。さらに別の実施形態によれば、インターラプト制御レジスタ部１１０は、３個またはそれ以上のタイプのインターラプト処理可能可否を記録することもできる。また、インターラプト制御レジスタ部１１０は、各コアのプリエンプション／ノン−プリエンプション（ｐｒｅｅｍｐｔｉｏｎ／ｎｏｎ−ｐｒｅｅｍｐｔｉｏｎ）状態を記録することもできる。プリエンプション／ノン−プリエンプション状態は、当該コアでインターラプトを処理するために、特定資源が先取りされた状態であるかを示す。以下では、便宜上、インターラプト制御レジスタ部１１０は、通常のインターラプト処理能力のみを記録するものと仮定する。
【００２２】
インターラプト制御レジスタ部１１０は、同期化を保証しなければならない。例えば、インターラプト割り当て部１２０がインターラプト制御レジスタ部１１０を参照してコア１  １３２がインターラプトを処理することができると判断し、コア１  １３２にインターラプトを割り当てたと仮定する。このとき、インターラプトを割り当てる前に、コア１  １３２がインターラプトを処理することができない状態に変更されるかまたは変更してはならない。インターラプト割り当て部１２０がインターラプトを順に１つずつ処理する場合には、同期化問題は発生しない。但し、インターラプト割り当て部１２０が２つ以上であるか、インターラプト割り当て部１２０が複数のインターラプトを並列的に割り当てる場合には、問題になることがある。このために、インターラプト割り当て部１２０がインターラプト割り当てのためにインターラプト制御レジスタ部１１０を参照する直前から当該インターラプトを割り当てる前まで他の構成部やインターラプト処理プロセスがインターラプト制御レジスタ１１１、１１２、１１３、１１４を変更しないことが保証されなければならない。
【００２３】
インターラプト制御レジスタ部１１０は、各コア１３１、１３２、１３３、１３４を構成する状態レジスタと区分されなければならない。インターラプト制御レジスタ部１１０は、１つの物理的レジスタ集合で構成される。このような構成によって、インターラプト割り当て部１２０は、短い時間内にインターラプト制御レジスタ部１１０に記録された複数のレジスタ１１１、１１２、１１３、１１４を確認することができる。したがって、効率的なインターラプト割り当てが可能である。
【００２４】
インターラプト割り当て部１２０は、インターラプト制御レジスタ部１１０を参照して適切なコアにインターラプトを割り当てる。インターラプト割り当て部１２０は、インターラプト制御レジスタ部１１０を参照してどのコアがインターラプトを処理することができる状態であるかを確認する。このような確認結果によってインターラプト割り当て部１２０は、適切なコアにインターラプトを割り当てることができる。インターラプトを割り当てられたコアのインターラプト処理過程は、インターラプト制御レジスタ部１１０に対する説明で前述した通りである。
【００２５】
インターラプト割り当て部１２０がインターラプトを割り当てるとき、複数のインターラプト制御レジスタ１１１、１１２、１１３、１１４を同時に、または一度に確認する場合には、インターラプトを処理することができる複数のコアが抽出されることができる。この場合、インターラプトを処理することができる任意のコアにインターラプトを割り当てることができる。変形形態によれば、あらかじめ設定された規則または優先順位によってインターラプトが割り当てられることもできる。
【００２６】
インターラプト割り当て部１２０がインターラプトを割り当てるとき、すべてのインターラプト制御レジスタを一度に確認せず、一部のみを先に確認する変形形態が可能である。この変形形態によれば、効率的なインターラプト割り当てのために、インターラプト割り当て部１２０は、最近のインターラプト割り当て内訳を参照することができる。例えば、複数のコアのうち最後にインターラプトを割り当てたコアの次回のコアに対応するインターラプト制御レジスタを優先的に確認することができる。ここで、各コアの仮想的順番が存在するものと仮定する。または、各コアが最後にインターラプトを割り当てられた時点を基準として最も以前にインターラプトを割り当てられたコアに対応するインターラプト制御レジスタを優先的に確認することができる。このような割り当てポリシによってインターラプトが同じコアに繰り返し的に割り当てられることを防止することができる。
【００２７】
図２は、インターラプト割り当て装置１００のインターラプト処理過程を示す模式図である。
複数のインターラプトソース２１０のうちのいずれか１つのソースでインターラプト（ＩＮＴ０）が発生する。インターラプトソースでインターラプトが発生すれば、インターラプト割り当て装置１００は、当該インターラプトを受信する。インターラプト割り当て装置１００は、図１を参照して説明したような過程を通して適切なコアに当該インターラプトを動的に割り当てる。例えば、インターラプト割り当て装置１００がインターラプト（ＩＮＴ０）を受信する当時に、コア１  １３２に対応するコア１レジスタ１１２がインターラプト処理可能状態に記録されたと仮定する。インターラプト割り当て部１２０は、インターラプト制御レジスタ部１１０を参照してコア１  １３２がインターラプトを処理することができる状態であることを認知することができる。これにより、インターラプト割り当て部１２０は、コア１  １３１にインターラプト（ＩＮＴ０）を割り当てる。コア１  １３１は、インターラプトを割り当てられれば、コア１レジスタ１１１をインターラプト処理不能（ｄｉｓａｂｌｅｄ）状態に変更する。その後、コア１  １３１は、インターラプトを処理する。インターラプト処理が完了すれば、コア１  １３１は、コア１レジスタ１１１をインターラプト処理可能（ｅｎａｂｌｅｄ）状態に変更する。
【００２８】
図３は、本発明の一実施形態によるインターラプト割り当て過程の流れ図である。
段階３１０で、インターラプト割り当て部１２０は、インターラプトを受信したかを判断する。インターラプト割り当て部１２０がインターラプトを受信しない場合、過程は、段階３１５に進行し、インターラプト割り当て部１２０は、インターラプト受信時まで待機する。インターラプト割り当て部１２０がインターラプトを受信した場合、過程は、段階３２０に進行する。
【００２９】
段階３２０で、インターラプト割り当て部１２０は、各インターラプト制御レジスタ１１１、１１２、１１３、１１４を確認する。すなわちインターラプト割り当て部１２０は、インターラプト制御レジスタ部１１０のインターラプト制御レジスタ１１１、１１２、１１３、１１４を確認する。前述したように、インターラプト制御レジスタ１１１、１１２、１１３、１１４は、各コアのインターラプト処理能力を指示する。段階３３０で、インターラプト割り当て部１２０は、段階３２０の確認過程を参照していずれか１つ以上のインターラプトを処理することができるコアが存在するかを判断する。すべてのインターラプト制御レジスタ１１１、１１２、１１３、１１４がインターラプト処理不能状態の場合、インターラプト割り当て部１２０は、インターラプトを処理することができるコアがないものと判断する。この場合、過程は、段階３２０に戻って、インターラプト割り当て装置１００は、段階３２０〜段階３３０過程を繰り返す。いずれか１つ以上のインターラプト制御レジスタ、例えば、コア１レジスタ１１２がインターラプト処理可能状態の場合、インターラプト割り当て部１２０は、インターラプトを処理することができるコアがあると判断する。この場合、過程は、段階３４０に進行する。
【００３０】
段階３４０で、インターラプト割り当て部１２０は、インターラプトを処理することができるコアにインターラプトを割り当てる。インターラプト処理が完了すれば、インターラプト割り当てが解除される。段階３４０の詳しい実行は、図４を参照して後述する。
【００３１】
図４は、図３の段階３４０の詳細流れ図である。
段階４１０で、インターラプト割り当て部１２０は、インターラプトを処理することができるコアにインターラプトを割り当てる。例えば、インターラプト割り当て部１２０がコアｘ、例えば、コア１  １３２にインターラプトを割り当てると仮定する。コアｘ、コアｘレジスタは、互いに対応する任意のコア及びインターラプト制御レジスタである。以下では、コアｘがコア１  １３２であり、コアｘレジスタがコア１レジスタ１１２である場合を仮定して説明する。
【００３２】
段階４１５で、インターラプト制御レジスタ部１１０は、コアｘ、例えば、コア１  １３２からそれに対応するコア１レジスタ１１２をインターラプト処理不能状態に変更する信号を受信する。コア１  １３２は、インターラプトを割り当てられれば、他のインターラプトを処理することができない状態になる。したがって、コア１  １３２は、コア１  １３２に対応するコア１レジスタ１１２をインターラプト処理不能状態に変更する信号をインターラプト制御レジスタ部１１０に送信する。
【００３３】
段階４２０で、インターラプト制御レジスタ部１１０は、インターラプトを割り当てられたコア１  １３２に対応するコア１レジスタ１１２をインターラプト処理不能状態に変更する。段階４２０の変更は、段階４１５で受信した信号によるものである。すなわち、インターラプト制御レジスタ部１１０は、受信信号によってコア１レジスタ１１２をインターラプト処理不能（ｄｉｓａｂｌｅ）状態に変更する。
【００３４】
段階４３０で、インターラプト制御レジスタ部１１０は、コア１  １３２からコア１レジスタ１１２をインターラプト処理可能状態に変更する信号が受信されるかを判断する。コア１レジスタ１１２をインターラプト処理可能状態に変更する信号は、例えば、当該インターラプト処理完了を通知する信号であることができる。インターラプト制御レジスタ部１１０がコア１レジスタ１１２をインターラプト処理可能状態に設定する信号を受信すれば、過程は、段階４４０に進行する。インターラプト制御レジスタ部１１０が当該信号を受信しない場合、過程は、段階４３５に進行し、インターラプト制御レジスタ部１１０は、当該信号受信時まで待機する。
【００３５】
段階４４０で、インターラプト制御レジスタ部１１０は、コア１レジスタ１１２をインターラプト処理可能状態に変更する。インターラプト制御レジスタ部１１０は、コア１レジスタ１１２をインターラプト処理可能状態に設定する信号を受信したので、これによって、コア１レジスタ１１２を変更する。コア１レジスタ１１２がインターラプト処理可能状態に設定されれば、その後、インターラプト割り当て部１２０は、コア１  １３２がインターラプトを処理することができる状態であると認識し、インターラプト割り当てに参照することができる。
【００３６】
この際、処理流れ図の各ブロックと流れ図の組合せは、コンピュータプログラムインストラクションによって行われることができることを理解することができる。これらコンピュータプログラムインストラクションは、汎用コンピュータ、特殊用コンピュータまたはその他プログラム可能なデータプロセッシング装置のプロセッサに搭載されることができるので、コンピュータまたはその他プログラム可能なデータプロセッシング装置のプロセッサを用いて行われる当該インストラクションが流れ図ブロックで説明された機能を行う手段を生成するようになる。これらコンピュータプログラムインストラクションは、特定方式で機能を具現するためにコンピュータまたはその他プログラム可能なデータプロセッシング装置を指向することができるコンピュータ利用可能またはコンピュータ読み取り可能なメモリに格納されることも可能なので、当該コンピュータ利用可能またはコンピュータ読み取り可能なメモリに格納されたインストラクションは、流れ図ブロックで説明された機能を行うインストラクション手段を内包する製造品目を生産することも可能である。コンピュータプログラムインストラクションは、コンピュータまたはその他プログラム可能なデータプロセッシング装置上に搭載されることも可能なので、コンピュータまたはその他プログラム可能なデータプロセッシング装置上で一連の動作段階が行われ、コンピュータで実行されるプロセスを生成し、コンピュータまたはその他プログラム可能なデータプロセッシング装置を動作させるインストラクションは、流れ図ブロックで説明された機能を行うための段階を提供することも可能である。
【００３７】
また、各ブロックは、特定された論理的機能を実行するための１つ以上の実行可能なインストラクションを含むモジュール、セグメントまたはコードの一部を示すことができる。また、いくつかの代替実施形態では、ブロックで言及された機能が手順を脱して発生することも可能であることに留意しなければならない。例えば、連続するものとして図示されている２つのブロックは、実質的に同時に行われることも可能であり、またはそのブロックが時々該当する機能によって逆順に行われることも可能である。
【００３８】
この際、本実施形態で使用される「〜部」という用語は、ソフトウェアまたはＦＰＧＡまたはＡＳＩＣのようなハードウェア構成要素を意味し、「〜部」は、任意の役目を行う。しかしながら、「〜部」は、ソフトウェアまたはハードウェアに限定される意味ではない。「〜部」は、アドレッシングすることができる格納媒体に位置するように構成されることもでき、１つまたはそれ以上のプロセッサを動作させるように構成されることもできる。したがって、一例として、「〜部」は、ソフトウェア構成要素、オブジェクト指向ソフトウェア構成要素、クラス構成要素及びタスク構成要素のような構成要素と、プロセス、関数、属性、プロシージャ、サブルーチン、プログラムコードのセグメント、ドライバー、ファームウェア、マイクロコード、回路、データ、データベース、データ構造、テーブル、アレイ、及び変数を含む。構成要素と「〜部」内に提供される機能は、さらに小さい数の構成要素及び「〜部」に結合されるか、または追加的な構成要素と「〜部」にさらに分離されることができる。また、構成要素及び「〜部」は、デバイスまたは格納マルチメディアカード内の１つまたはそれ以上のＣＰＵを動作させるように具現されることもできる。
【００３９】
本発明の属する技術分野における通常の知識を有する者は、本発明がその技術的思想や必須な特徴を変更することなく、他の具体的な形態で実施されることができることを理解することができる。したがって、以上で記述した実施形態は、すべての面で例示的なものであり、限定的なものではないことを理解しなければならない。本発明の範囲は、前記詳細な説明ではなく、後述する特許請求の範囲によって示され、特許請求の範囲の意味及び範囲そしてその均等概念から導出されるすべての変更または変形された形態が本発明の範囲に含まれるものと解釈されなければならない。
【００４０】
一方、本明細書と図面には、本発明の好ましい実施形態が開示され、特定用語が使用されたが、これは、本発明の技術内容をより良く説明し、発明の理解を助けるためだけの一般的な意味として使用されたものであって、本発明の範囲を限定しようとするものではない。ここに開示された実施形態以外にも、本発明の技術的思想に基づく他の変形形態が実施可能であることは、本発明の属する技術分野における通常の知識を有する者に自明である。
【符号の説明】
【００４１】
１００  インターラプト割り当て装置
１１０  インターラプト制御レジスタ部
１１１  コア０レジスタ
１１２  コア１レジスタ
１１３  コア２レジスタ
１１４  コア３レジスタ
１２０  インターラプト割り当て部
１３０  マルチコア
１３１  コア０
１３２  コア１
１３３  コア２
１３４  コア３
２１０  インターラプトソース
【図１】
2014524626.tif 000003
【図２】
2014524626.tif 000004
【図３】
2014524626.tif 000005
【図４】
2014524626.tif 000006
【国際調査報告】
2014524626.tif 000007
2014524626.tif 000008
2014524626.tif 000009
2014524626.tif 000010