JP2017162522A - マルチコアシステムのインターラプト割り当て方法及び装置 - Google Patents

マルチコアシステムのインターラプト割り当て方法及び装置 Download PDF

Info

Publication number
JP2017162522A
JP2017162522A JP2017125536A JP2017125536A JP2017162522A JP 2017162522 A JP2017162522 A JP 2017162522A JP 2017125536 A JP2017125536 A JP 2017125536A JP 2017125536 A JP2017125536 A JP 2017125536A JP 2017162522 A JP2017162522 A JP 2017162522A
Authority
JP
Japan
Prior art keywords
interrupt
core
control register
register unit
interrupt control
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.)
Pending
Application number
JP2017125536A
Other languages
English (en)
Inventor
サン・ボク・ハン
Sang Bok Han
ホン・チュル・キム
Hong Chul Kim
イン・チュン・ヨ
In Choon Yeo
ジョン−チュル・パク
Jong-Chul Park
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of JP2017162522A publication Critical patent/JP2017162522A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/24Handling requests for interconnection or transfer for access to input/output bus using interrupt
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

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

Abstract

【課題】本発明は、マルチコアシステムのインターラプト割り当て装置及び方法に関する。【解決手段】本発明の一実施形態によるマルチコアシステムの各コアのインターラプト処理能力を記録するインターラプト制御レジスタ部を具備したインターラプト割り当て装置のインターラプト割り当て方法は、インターラプトを受信する受信段階と、インターラプトを受信すれば、インターラプト制御レジスタ部を確認する確認段階と、確認段階でインターラプト処理が可能な状態として確認されたコアにインターラプトを割り当てる割り当て段階とを含むことができる。コアは、インターラプトを割り当てられれば、コアに対応するインターラプト制御レジスタをインターラプト処理不能状態に変更する信号をインターラプト制御レジスタ部に送信し、インターラプトを処理することができる。本発明の一実施形態によれば、マルチコアシステムで効率的で且つ迅速なインターラプト処理を実行できる。【選択図】図1

Description

本発明は、インターラプト割り当て方法及び装置に関する。より詳細には、本発明は、複数コアを有するマルチコアシステムにおいてインターラプトを割り当てる方法及び装置に関する。
従来、研究者らは、コンピュータ、その他演算システムの性能向上のためにシステムコア(core)のクロック周波数(clock frequency)を高める方法を利用した。しかしながら、コアのクロック周波数が上昇すれば、電力消費と発熱が上昇するという問題点がある。このような問題点に起因して、最近、コアのクロック周波数上昇を用いた性能向上は鈍化した状況である。このような問題点を回避するために、研究者は、システムの性能向上のためにコアの個数を増加させる方法を利用している。
しかしながら、複数のコアを1つのシステムに統合させる場合、多くの問題点が発生する。インターラプトの処理問題は、その問題点のうちの一例である。単一コアシステムにおいてインターラプトが発生すれば、システムは、直ちにシステム内の唯一のコアにインターラプトを割り当てて行う。単一コアシステムは、システム内に1つのコアしか含まないので、選択の余地がない。
しかしながら、マルチコア環境では、システムは、特定インターラプトをどのコアに割り当てるかを選択しなければならない。システムがインターラプトを適切なコアに割り当てることができないか、またはインターラプト割り当てに過度に長い時間が所要される場合、コアを複数個利用して得ることができる長所が減少する。
例えば、現在インターラプトを処理することができるコアの代わりに、現在インターラプトを処理することができない他のコアにインターラプトを割り当てる場合を考えることができる。この場合、不要なインターラプト遅延(interrupt latency)が発生し、これは、リアルタイムで結果を得なければならないリアルタイムシステムに致命的な結果をもたらすおそれがある。
対称形多重処理(SMP;Symmetric Multi−Processing)システムでのインターラプト処理方式として、大きく2つの方式が知られている。
第一の方式は、インターラプトの種類によって処理を担当するコアを異にする方式である。各インターラプトソース(interrupt source)で発生するインターラプトを各々それに対応するコアが処理することができる。この場合、インターラプト処理が分散する。したがって、システムは、1つのコアがすべてのインターラプトを処理する方式よりも、さらに効率的にインターラプトを処理することができる。
第二の方式は、特定のインターラプトが発生した時点でインターラプト制御器がすべてのコアに当該インターラプトをブロードキャストする方式である。その後、ソフトウェア的な方式で選択された適切なコアが当該インターラプトを受け入れて(accept)、インターラプトが割り当てられた(allocation)事実を他のコアに通知する方式でインターラプトが処理される。
前述したような従来のインターラプト処理方式は、複数の問題点を内包する。前述した第一の方式、すなわち静的に各インターラプトソースで発生したインターラプトを該インターラプトソースに対応するコアに割り当てる方式の問題点は、次の通りである。この方式による場合、当該インターラプト処理を担当するコアがインターラプトをすぐ処理することができない状況であるとき、インターラプトを処理するために待機する時間が長くなることがある。
前述した第二の方式、すなわちインターラプトをすべてのコアにブロードキャストする方式にも問題点がある。1つのインターラプトを処理するために、コアは、インターラプトを受け入れて(accept)、他のコアの重複実行を防止するためにインターラプトを受け入れた事実を通知するが、このような手続に起因して、多くの遅延(latency)が発生する。
米国特許出願公開第2011/0087815号明細書 特開2005−4562号公報 米国特許出願公開第2011/0072180号明細書 特開昭55−154653号公報
本発明は、前述した問題点を解決するためになされたものであって、その目的は、マルチコアシステムで効率的で且つ迅速なインターラプト処理のためのインターラプト割り当て方法及び装置を提供することにある。
上記の目的を達成するために、本発明の一実施態様によるマルチコアシステムの各コアのインターラプト処理能力(capacity)を記録するインターラプト制御レジスタ部を具備したインターラプト割り当て装置のインターラプト割り当て方法は、インターラプトを受信する受信段階と、前記インターラプトを受信すれば、前記インターラプト制御レジスタ部を確認する確認段階と、前記確認段階でインターラプト処理が可能な状態として確認されたコアに前記インターラプトを割り当てる割り当て段階とを含むことができる。前記コアは、前記インターラプトを割り当てられれば、前記コアに対応するインターラプト制御レジスタをインターラプト処理不能状態に変更する信号を前記インターラプト制御レジスタ部に送信し、前記インターラプトを処理することができる。
本発明の一実施態様によるマルチコアシステムのインターラプト割り当て装置は、各コアのインターラプト処理能力(capacity)を記録するインターラプト制御レジスタ部と、インターラプトを受信すれば、前記インターラプト制御レジスタ部を確認し、インターラプト処理が可能な状態として確認されたコアに前記インターラプトを割り当てるインターラプト割り当て部とを含むことができる。前記コアは、前記インターラプトを割り当てられれば、前記コアに対応するインターラプト制御レジスタをインターラプト処理不能状態に変更する信号を前記インターラプト制御レジスタ部に送信し、前記インターラプトを処理することができる。
本発明の一実施態様によれば、マルチコアシステムで効率的で且つ迅速なインターラプト処理のためのインターラプト割り当て方法及び装置を提供することができるという効果がある。
本発明の一実施形態によるインターラプト割り当て装置100のブロック構成図である。 インターラプト割り当て装置100のインターラプト処理過程を示す模式図である。 本発明の一実施形態によるインターラプト割り当て過程の流れ図である。 図3の段階340の詳細な流れ図である。
以下、本発明の実施形態を添付の図面を参照して詳細に説明する。
実施形態を説明するにあたって、本発明の属する技術分野でよく知られており、本発明と直接的に関連がない技術内容については、説明を省略する。これは、不要な説明を省略することによって、本発明の要旨を不明にせず、さらに明確に伝達するためである。
同様の理由で、添付の図面において一部の構成要素は、誇張されたり、省略されたり、概略的に図示されたりしている。また、各構成要素のサイズは、実際サイズを反映するものではない。各図面において同一または対応する構成要素には、同一の参照番号を付与した。
以下、本発明の実施形態によるマルチコアシステムのインターラプト割り当て方法及び装置を説明するための図面を参照して本発明について説明する。
以下、本明細書において、コア(core)は、インターラプトを自ら処理することができる単位構成部を言う。
本明細書において、インターラプト処理能力(capacity)は、特定コアが現在インターラプトを処理することができる状態であるか否かを示す指示子である。当該コアがインターラプトを処理する途中には、他のインターラプトを直ちに処理することができない。したがって、現在特定コアがインターラプトを処理していたら、インターラプト処理能力(capacity)は、インターラプト処理不能(disabled)状態に記録される。反対に、現在特定コアがインターラプトを処理していなければ、インターラプト処理能力(capacity)は、インターラプト処理可能(enabled)状態に記録される。
図1は、本発明の一実施形態によるインターラプト割り当て装置100のブロック構成図である。インターラプト割り当て装置100は、マルチコアシステムに含まれるか、またはマルチコアシステムに付加され、マルチコアシステムで発生するインターラプトをコア130に割り当てる。マルチコアシステムは、コア0 131、コア1 132、コア2 133及びコア3 134を含む。
図1を参照すれば、インターラプト割り当て装置100は、インターラプト制御レジスタ部110及びインターラプト割り当て部120を含む。
インターラプト制御レジスタ部110は、各コア131、132、133、134のインターラプト処理能力(capacity)を記録する。すなわち、インターラプト制御レジスタ部110は、各コア131、132、133、134がインターラプトを処理することができるか、または処理することができないかに関する状態を記録する。例えば、インターラプト制御レジスタ部110は、コア0レジスタ111、コア1レジスタ112、コア2レジスタ113及びコア3レジスタ114を含むことができる。インターラプト制御レジスタ部110を構成する各レジスタをインターラプト制御レジスタと称する。
コア0レジスタ111は、コア0 131のインターラプト処理能力を記録する。コア1レジスタ112は、コア1 132のインターラプト処理能力を記録する。コア2レジスタ113は、コア2 133のインターラプト処理能力を記録する。コア3レジスタ114は、コア3 134のインターラプト処理能力を記録する。特定コアが現在インターラプトを処理することができる状態なら、当該コアに対応するインターラプト制御レジスタは、インターラプト処理可能状態に設定される。特定コアが現在インターラプトを処理することができない状態なら、当該コアに対応するインターラプト制御レジスタは、インターラプト処理不能状態に設定される。
各インターラプト制御レジスタは、例えば、1ビットサイズのレジスタであることができる。例えば、コア0 131が現在インターラプトを処理することができる状態なら、コア0レジスタ111は、‘1’に設定されることができる。反対に、コア0 131が現在インターラプトを処理することができない状態なら、コア0レジスタ111は、‘0’に設定されることができる。前述した実施形態において、‘1’は、インターラプト処理可能状態を示し、‘0’は、インターラプト処理不能状態を示す。また、用語「インターラプト制御レジスタ」は、「インターラプトフラグ(flag)」に代替されることができる。‘0’/‘1’の2つの値で示すことができる情報という意味から、用語“フラグ”が利用されることができる。但し、可能/不能よりさらに多い状態、例えば、優先順位や遅延予想時間などの情報をインターラプト制御レジスタに記録する場合、2ビット以上が使用されることもできる。
インターラプト制御レジスタ部110は、インターラプト割り当て部120に各コアのインターラプト処理能力に関する情報を提供する。インターラプト割り当て部120は、インターラプト制御レジスタ部110を参照してインターラプトを処理することができるコアを確認することができる。
インターラプト制御レジスタ部110は、コア130から信号を受信し、該信号によってインターラプト制御レジスタ111、112、113、114を変更することができる。例えば、インターラプトを割り当てられたコアは、当該コアに対応するインターラプト制御レジスタをインターラプト処理不能状態に変更する信号をインターラプト制御レジスタ部110に送信する。その後、インターラプトを割り当てられたコアは、割り当てられたインターラプトを処理する。インターラプトの処理が終われば、インターラプトを割り当てられたコアは、該コアに対応するインターラプト制御レジスタをインターラプト処理可能状態に変更する信号をインターラプト制御レジスタ部110に送信する。インターラプト制御レジスタ部110は、前述した信号を受信し、該信号によってインターラプト制御レジスタ111、112、113、114を変更する。
インターラプト制御レジスタ部110は、各コアがどのタイプのインターラプトを処理することができる状況であるかを記録することができる。例えば、マルチコアシステムで発生するインターラプトのタイプが通常のインターラプト(Interrupt)及び高速インターラプト(Fast Interrupt)の2つであると仮定する。この場合、インターラプト制御レジスタ部110は、Iフィールド及びFフィールドを含むことができる。Iフィールドは、各コアが通常のインターラプトを処理することができる状態であるかを示す。Fフィールドは、各コアが高速インターラプトを処理することができる状態であるかを示す。
ここで、通常のインターラプトは、一般的に入出力装置から発生するインターラプトを意味する。通常のインターラプトの種類としては、内部タイマーやシリアル、あるいは外部インターラプト入力などを含むことができる。
高速インターラプトは、概念的には、通常のインターラプトと類似している。但し、コア内部では、通常のインターラプトに比べて高速インターラプトをさらに速い速度で処理する。通常のインターラプトのソースは、大部分、高速インターラプトにマッピングされることができる。すなわち、実施形態によってタイマーインターラプトを通常のインターラプトで処理するか、あるいは高速インターラプトで処理することもできる。
ここで例示されたIフィールド及びFフィールドは、例示的なものに過ぎない。別の実施形態によれば、インターラプト制御レジスタ部110は、1つのタイプのインターラプトの処理可能可否のみを記録することもできる。さらに別の実施形態によれば、インターラプト制御レジスタ部110は、3個またはそれ以上のタイプのインターラプト処理可能可否を記録することもできる。また、インターラプト制御レジスタ部110は、各コアのプリエンプション/ノン−プリエンプション(preemption/non−preemption)状態を記録することもできる。プリエンプション/ノン−プリエンプション状態は、当該コアでインターラプトを処理するために、特定資源が先取りされた状態であるかを示す。以下では、便宜上、インターラプト制御レジスタ部110は、通常のインターラプト処理能力のみを記録するものと仮定する。
インターラプト制御レジスタ部110は、同期化を保証しなければならない。例えば、インターラプト割り当て部120がインターラプト制御レジスタ部110を参照してコア1 132がインターラプトを処理することができると判断し、コア1 132にインターラプトを割り当てたと仮定する。このとき、インターラプトを割り当てる前に、コア1 132がインターラプトを処理することができない状態に変更されるかまたは変更してはならない。インターラプト割り当て部120がインターラプトを順に1つずつ処理する場合には、同期化問題は発生しない。但し、インターラプト割り当て部120が2つ以上であるか、インターラプト割り当て部120が複数のインターラプトを並列的に割り当てる場合には、問題になることがある。このために、インターラプト割り当て部120がインターラプト割り当てのためにインターラプト制御レジスタ部110を参照する直前から当該インターラプトを割り当てる前まで他の構成部やインターラプト処理プロセスがインターラプト制御レジスタ111、112、113、114を変更しないことが保証されなければならない。
インターラプト制御レジスタ部110は、各コア131、132、133、134を構成する状態レジスタと区分されなければならない。インターラプト制御レジスタ部110は、1つの物理的レジスタ集合で構成される。このような構成によって、インターラプト割り当て部120は、短い時間内にインターラプト制御レジスタ部110に記録された複数のレジスタ111、112、113、114を確認することができる。したがって、効率的なインターラプト割り当てが可能である。
インターラプト割り当て部120は、インターラプト制御レジスタ部110を参照して適切なコアにインターラプトを割り当てる。インターラプト割り当て部120は、インターラプト制御レジスタ部110を参照してどのコアがインターラプトを処理することができる状態であるかを確認する。このような確認結果によってインターラプト割り当て部120は、適切なコアにインターラプトを割り当てることができる。インターラプトを割り当てられたコアのインターラプト処理過程は、インターラプト制御レジスタ部110に対する説明で前述した通りである。
インターラプト割り当て部120がインターラプトを割り当てるとき、複数のインターラプト制御レジスタ111、112、113、114を同時に、または一度に確認する場合には、インターラプトを処理することができる複数のコアが抽出されることができる。この場合、インターラプトを処理することができる任意のコアにインターラプトを割り当てることができる。変形形態によれば、あらかじめ設定された規則または優先順位によってインターラプトが割り当てられることもできる。
インターラプト割り当て部120がインターラプトを割り当てるとき、すべてのインターラプト制御レジスタを一度に確認せず、一部のみを先に確認する変形形態が可能である。この変形形態によれば、効率的なインターラプト割り当てのために、インターラプト割り当て部120は、最近のインターラプト割り当て内訳を参照することができる。例えば、複数のコアのうち最後にインターラプトを割り当てたコアの次回のコアに対応するインターラプト制御レジスタを優先的に確認することができる。ここで、各コアの仮想的順番が存在するものと仮定する。または、各コアが最後にインターラプトを割り当てられた時点を基準として最も以前にインターラプトを割り当てられたコアに対応するインターラプト制御レジスタを優先的に確認することができる。このような割り当てポリシによってインターラプトが同じコアに繰り返し的に割り当てられることを防止することができる。
図2は、インターラプト割り当て装置100のインターラプト処理過程を示す模式図である。
複数のインターラプトソース210のうちのいずれか1つのソースでインターラプト(INT0)が発生する。インターラプトソースでインターラプトが発生すれば、インターラプト割り当て装置100は、当該インターラプトを受信する。インターラプト割り当て装置100は、図1を参照して説明したような過程を通して適切なコアに当該インターラプトを動的に割り当てる。例えば、インターラプト割り当て装置100がインターラプト(INT0)を受信する当時に、コア1 132に対応するコア1レジスタ112がインターラプト処理可能状態に記録されたと仮定する。インターラプト割り当て部120は、インターラプト制御レジスタ部110を参照してコア1 132がインターラプトを処理することができる状態であることを認知することができる。これにより、インターラプト割り当て部120は、コア1 131にインターラプト(INT0)を割り当てる。コア1 131は、インターラプトを割り当てられれば、コア1レジスタ111をインターラプト処理不能(disabled)状態に変更する。その後、コア1 131は、インターラプトを処理する。インターラプト処理が完了すれば、コア1 131は、コア1レジスタ111をインターラプト処理可能(enabled)状態に変更する。
図3は、本発明の一実施形態によるインターラプト割り当て過程の流れ図である。
段階310で、インターラプト割り当て部120は、インターラプトを受信したかを判断する。インターラプト割り当て部120がインターラプトを受信しない場合、過程は、段階315に進行し、インターラプト割り当て部120は、インターラプト受信時まで待機する。インターラプト割り当て部120がインターラプトを受信した場合、過程は、段階320に進行する。
段階320で、インターラプト割り当て部120は、各インターラプト制御レジスタ111、112、113、114を確認する。すなわちインターラプト割り当て部120は、インターラプト制御レジスタ部110のインターラプト制御レジスタ111、112、113、114を確認する。前述したように、インターラプト制御レジスタ111、112、113、114は、各コアのインターラプト処理能力を指示する。段階330で、インターラプト割り当て部120は、段階320の確認過程を参照していずれか1つ以上のインターラプトを処理することができるコアが存在するかを判断する。すべてのインターラプト制御レジスタ111、112、113、114がインターラプト処理不能状態の場合、インターラプト割り当て部120は、インターラプトを処理することができるコアがないものと判断する。この場合、過程は、段階320に戻って、インターラプト割り当て装置100は、段階320〜段階330過程を繰り返す。いずれか1つ以上のインターラプト制御レジスタ、例えば、コア1レジスタ112がインターラプト処理可能状態の場合、インターラプト割り当て部120は、インターラプトを処理することができるコアがあると判断する。この場合、過程は、段階340に進行する。
段階340で、インターラプト割り当て部120は、インターラプトを処理することができるコアにインターラプトを割り当てる。インターラプト処理が完了すれば、インターラプト割り当てが解除される。段階340の詳しい実行は、図4を参照して後述する。
図4は、図3の段階340の詳細流れ図である。
段階410で、インターラプト割り当て部120は、インターラプトを処理することができるコアにインターラプトを割り当てる。例えば、インターラプト割り当て部120がコアx、例えば、コア1 132にインターラプトを割り当てると仮定する。コアx、コアxレジスタは、互いに対応する任意のコア及びインターラプト制御レジスタである。以下では、コアxがコア1 132であり、コアxレジスタがコア1レジスタ112である場合を仮定して説明する。
段階415で、インターラプト制御レジスタ部110は、コアx、例えば、コア1 132からそれに対応するコア1レジスタ112をインターラプト処理不能状態に変更する信号を受信する。コア1 132は、インターラプトを割り当てられれば、他のインターラプトを処理することができない状態になる。したがって、コア1 132は、コア1 132に対応するコア1レジスタ112をインターラプト処理不能状態に変更する信号をインターラプト制御レジスタ部110に送信する。
段階420で、インターラプト制御レジスタ部110は、インターラプトを割り当てられたコア1 132に対応するコア1レジスタ112をインターラプト処理不能状態に変更する。段階420の変更は、段階415で受信した信号によるものである。すなわち、インターラプト制御レジスタ部110は、受信信号によってコア1レジスタ112をインターラプト処理不能(disable)状態に変更する。
段階430で、インターラプト制御レジスタ部110は、コア1 132からコア1レジスタ112をインターラプト処理可能状態に変更する信号が受信されるかを判断する。コア1レジスタ112をインターラプト処理可能状態に変更する信号は、例えば、当該インターラプト処理完了を通知する信号であることができる。インターラプト制御レジスタ部110がコア1レジスタ112をインターラプト処理可能状態に設定する信号を受信すれば、過程は、段階440に進行する。インターラプト制御レジスタ部110が当該信号を受信しない場合、過程は、段階435に進行し、インターラプト制御レジスタ部110は、当該信号受信時まで待機する。
段階440で、インターラプト制御レジスタ部110は、コア1レジスタ112をインターラプト処理可能状態に変更する。インターラプト制御レジスタ部110は、コア1レジスタ112をインターラプト処理可能状態に設定する信号を受信したので、これによって、コア1レジスタ112を変更する。コア1レジスタ112がインターラプト処理可能状態に設定されれば、その後、インターラプト割り当て部120は、コア1 132がインターラプトを処理することができる状態であると認識し、インターラプト割り当てに参照することができる。
この際、処理流れ図の各ブロックと流れ図の組合せは、コンピュータプログラムインストラクションによって行われることができることを理解することができる。これらコンピュータプログラムインストラクションは、汎用コンピュータ、特殊用コンピュータまたはその他プログラム可能なデータプロセッシング装置のプロセッサに搭載されることができるので、コンピュータまたはその他プログラム可能なデータプロセッシング装置のプロセッサを用いて行われる当該インストラクションが流れ図ブロックで説明された機能を行う手段を生成するようになる。これらコンピュータプログラムインストラクションは、特定方式で機能を具現するためにコンピュータまたはその他プログラム可能なデータプロセッシング装置を指向することができるコンピュータ利用可能またはコンピュータ読み取り可能なメモリに格納されることも可能なので、当該コンピュータ利用可能またはコンピュータ読み取り可能なメモリに格納されたインストラクションは、流れ図ブロックで説明された機能を行うインストラクション手段を内包する製造品目を生産することも可能である。コンピュータプログラムインストラクションは、コンピュータまたはその他プログラム可能なデータプロセッシング装置上に搭載されることも可能なので、コンピュータまたはその他プログラム可能なデータプロセッシング装置上で一連の動作段階が行われ、コンピュータで実行されるプロセスを生成し、コンピュータまたはその他プログラム可能なデータプロセッシング装置を動作させるインストラクションは、流れ図ブロックで説明された機能を行うための段階を提供することも可能である。
また、各ブロックは、特定された論理的機能を実行するための1つ以上の実行可能なインストラクションを含むモジュール、セグメントまたはコードの一部を示すことができる。また、いくつかの代替実施形態では、ブロックで言及された機能が手順を脱して発生することも可能であることに留意しなければならない。例えば、連続するものとして図示されている2つのブロックは、実質的に同時に行われることも可能であり、またはそのブロックが時々該当する機能によって逆順に行われることも可能である。
この際、本実施形態で使用される「〜部」という用語は、ソフトウェアまたはFPGAまたはASICのようなハードウェア構成要素を意味し、「〜部」は、任意の役目を行う。しかしながら、「〜部」は、ソフトウェアまたはハードウェアに限定される意味ではない。「〜部」は、アドレッシングすることができる格納媒体に位置するように構成されることもでき、1つまたはそれ以上のプロセッサを動作させるように構成されることもできる。したがって、一例として、「〜部」は、ソフトウェア構成要素、オブジェクト指向ソフトウェア構成要素、クラス構成要素及びタスク構成要素のような構成要素と、プロセス、関数、属性、プロシージャ、サブルーチン、プログラムコードのセグメント、ドライバー、ファームウェア、マイクロコード、回路、データ、データベース、データ構造、テーブル、アレイ、及び変数を含む。構成要素と「〜部」内に提供される機能は、さらに小さい数の構成要素及び「〜部」に結合されるか、または追加的な構成要素と「〜部」にさらに分離されることができる。また、構成要素及び「〜部」は、デバイスまたは格納マルチメディアカード内の1つまたはそれ以上のCPUを動作させるように具現されることもできる。
本発明の属する技術分野における通常の知識を有する者は、本発明がその技術的思想や必須な特徴を変更することなく、他の具体的な形態で実施されることができることを理解することができる。したがって、以上で記述した実施形態は、すべての面で例示的なものであり、限定的なものではないことを理解しなければならない。本発明の範囲は、前記詳細な説明ではなく、後述する特許請求の範囲によって示され、特許請求の範囲の意味及び範囲そしてその均等概念から導出されるすべての変更または変形された形態が本発明の範囲に含まれるものと解釈されなければならない。
一方、本明細書と図面には、本発明の好ましい実施形態が開示され、特定用語が使用されたが、これは、本発明の技術内容をより良く説明し、発明の理解を助けるためだけの一般的な意味として使用されたものであって、本発明の範囲を限定しようとするものではない。ここに開示された実施形態以外にも、本発明の技術的思想に基づく他の変形形態が実施可能であることは、本発明の属する技術分野における通常の知識を有する者に自明である。
100 インターラプト割り当て装置
110 インターラプト制御レジスタ部
111 コア0レジスタ
112 コア1レジスタ
113 コア2レジスタ
114 コア3レジスタ
120 インターラプト割り当て部
130 マルチコア
131 コア0
132 コア1
133 コア2
134 コア3
210 インターラプトソース

Claims (12)

  1. マルチコアシステムの各コアのインターラプト処理能力を記録するインターラプト制御レジスタ部を具備したインターラプト割り当て装置のインターラプト割り当て方法において、
    インターラプトを受信する受信段階と、
    前記各コアに対応する各インターラプト制御レジスタを確認することで、前記各コアの前記インターラプトの処理可能可否を確認する確認段階と、
    前記各コアのうち任意のコアが、前記インターラプトの処理が可能であると判断されると、前記任意のコアに前記インターラプトを割り当てる割り当て段階と、
    前記インターラプトを割り当てられたコアから、前記コアに対応するインターラプト制御レジスタをインターラプト処理不能状態に変更するための信号を受信する段階と、を含み、
    前記確認段階は、
    前記各コアのうち、コアが最終的にインターラプトを割り当てられた時点を基準として、最も以前にインターラプトを割り当てられたコアに対応する前記各インターラプトレジスタを確認することを特徴とする方法。
  2. 前記コアは、前記インターラプトの処理を完了した後、前記コアに対応するインターラプト制御レジスタをインターラプト処理可能状態に変更する信号を前記インターラプト制御レジスタ部に送信することを特徴とする請求項1に記載のインターラプト割り当て方法。
  3. 前記インターラプト制御レジスタ部は、前記コアの信号によって前記コアに対応するインターラプト制御レジスタを変更することを特徴とする請求項2に記載のインターラプト割り当て方法。
  4. 前記インターラプト制御レジスタ部は、各コアの複数のタイプのインターラプト処理能力を記録することを特徴とする請求項1に記載のインターラプト割り当て方法。
  5. 前記インターラプト制御レジスタ部は、各コアのプリエンプション/ノン−プリエンプション状態を記録することを特徴とする請求項4に記載のインターラプト割り当て方法。
  6. 前記インターラプト制御レジスタ部は、各コアのインターラプト処理能力を記録するレジスタを含む1つの物理的集合で構成されることを特徴とする請求項1に記載のインターラプト割り当て方法。
  7. マルチコアシステムのインターラプト割り当て装置において、
    各コアのインターラプト処理能力を記録するインターラプト制御レジスタ部と、
    前記各コアに対応する各インターラプト制御レジスタを確認することで、前記各コアのインターラプトの処理可能可否を確認し、前記各コアのうち任意のコアが、前記インターラプトの処理が可能であると判断されると、前記任意のコアに前記インターラプトを割り当てるインターラプト割り当て部とを含み、
    前記インターラプト制御レジスタ部は、
    前記インターラプトを割り当てられたコアから、前記コアに対応するインターラプト制御レジスタをインターラプト処理不能状態に変更するための信号を受信し、
    前記インターラプト割り当て部は、
    前記各コアのうち、コアが最終的にインターラプトを割り当てられた時点を基準として、最も以前にインターラプトを割り当てられたコアに対応する前記各インターラプトレジスタを確認することを特徴とするインターラプト割り当て装置。
  8. 前記コアは、前記インターラプトの処理を完了した後、前記コアに対応するインターラプト制御レジスタをインターラプト処理可能状態に変更する信号を前記インターラプト制御レジスタ部に送信することを特徴とする請求項7に記載のインターラプト割り当て装置。
  9. 前記インターラプト制御レジスタ部は、前記コアの信号によって前記コアに対応するインターラプト制御レジスタを変更することを特徴とする請求項8に記載のインターラプト割り当て装置。
  10. 前記インターラプト制御レジスタ部は、各コアの複数のタイプのインターラプト処理能力を記録することを特徴とする請求項7に記載のインターラプト割り当て装置。
  11. 前記インターラプト制御レジスタ部は、各コアのプリエンプション/ノン−プリエンプション状態を記録することを特徴とする請求項10に記載のインターラプト割り当て装置。
  12. 前記インターラプト制御レジスタ部は、各コアのインターラプト処理能力を記録するレジスタを含む1つの物理的集合で構成されることを特徴とする請求項7に記載のインターラプト割り当て装置。
JP2017125536A 2011-08-23 2017-06-27 マルチコアシステムのインターラプト割り当て方法及び装置 Pending JP2017162522A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2011-0084020 2011-08-23
KR1020110084020A KR20130021637A (ko) 2011-08-23 2011-08-23 멀티 코어 시스템의 인터럽트 할당 방법 및 장치

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2014527060A Division JP2014524626A (ja) 2011-08-23 2012-08-10 マルチコアシステムのインターラプト割り当て方法及び装置

Publications (1)

Publication Number Publication Date
JP2017162522A true JP2017162522A (ja) 2017-09-14

Family

ID=47746643

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2014527060A Ceased JP2014524626A (ja) 2011-08-23 2012-08-10 マルチコアシステムのインターラプト割り当て方法及び装置
JP2017125536A Pending JP2017162522A (ja) 2011-08-23 2017-06-27 マルチコアシステムのインターラプト割り当て方法及び装置

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2014527060A Ceased JP2014524626A (ja) 2011-08-23 2012-08-10 マルチコアシステムのインターラプト割り当て方法及び装置

Country Status (6)

Country Link
US (1) US20140136745A1 (ja)
EP (1) EP2750045A4 (ja)
JP (2) JP2014524626A (ja)
KR (1) KR20130021637A (ja)
CN (1) CN103765399A (ja)
WO (1) WO2013027951A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105492989B (zh) * 2013-09-30 2018-11-16 英特尔公司 用于管理对时钟进行的门控的装置、系统、方法和机器可读介质
CN107102966B (zh) * 2016-02-22 2020-03-13 龙芯中科技术有限公司 多核处理器芯片、中断控制方法及控制器
KR102441045B1 (ko) * 2020-12-14 2022-09-05 현대오토에버 주식회사 멀티 코어 구조의 전자 제어 유닛에서 수행되는 방법, 그리고 이를 구현하기 위한 장치
KR102419015B1 (ko) * 2021-12-22 2022-07-08 한화시스템 주식회사 Numa 기반 장비의 인터럽트 분배방법, 이를 구현하기 위한 프로그램이 저장된 기록매체 및 이를 구현하기 위해 매체에 저장된 컴퓨터 프로그램

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS55154653A (en) * 1979-05-22 1980-12-02 Nec Corp Interruption distributing system to multiprocessor
JP2005004562A (ja) * 2003-06-13 2005-01-06 Canon Inc マルチプロセッサシステム、マルチプロセッサシステムの制御方法、およびマルチプロセッサシステムの制御プログラム
JP2005182752A (ja) * 2003-12-23 2005-07-07 Arm Ltd データ処理装置および方法
US20110072180A1 (en) * 2009-09-23 2011-03-24 Ju-Pyung Lee Interrupt on/off management apparatus and method for multi-core processor
US20110087815A1 (en) * 2009-10-13 2011-04-14 Ezekiel John Joseph Kruglick Interrupt Masking for Multi-Core Processors

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5905897A (en) * 1997-03-20 1999-05-18 Industrial Technology Research Institute Method and apparatus for selecting a nonblocked interrupt request
US7191349B2 (en) * 2002-12-26 2007-03-13 Intel Corporation Mechanism for processor power state aware distribution of lowest priority interrupt
KR20080048307A (ko) * 2006-11-28 2008-06-02 삼성전자주식회사 멀티 프로세서 시스템의 인터럽트 전달 장치 및 방법
US8656145B2 (en) * 2008-09-19 2014-02-18 Qualcomm Incorporated Methods and systems for allocating interrupts in a multithreaded processor

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS55154653A (en) * 1979-05-22 1980-12-02 Nec Corp Interruption distributing system to multiprocessor
JP2005004562A (ja) * 2003-06-13 2005-01-06 Canon Inc マルチプロセッサシステム、マルチプロセッサシステムの制御方法、およびマルチプロセッサシステムの制御プログラム
JP2005182752A (ja) * 2003-12-23 2005-07-07 Arm Ltd データ処理装置および方法
US20110072180A1 (en) * 2009-09-23 2011-03-24 Ju-Pyung Lee Interrupt on/off management apparatus and method for multi-core processor
US20110087815A1 (en) * 2009-10-13 2011-04-14 Ezekiel John Joseph Kruglick Interrupt Masking for Multi-Core Processors

Also Published As

Publication number Publication date
KR20130021637A (ko) 2013-03-06
US20140136745A1 (en) 2014-05-15
CN103765399A (zh) 2014-04-30
JP2014524626A (ja) 2014-09-22
WO2013027951A1 (ko) 2013-02-28
EP2750045A4 (en) 2015-04-08
EP2750045A1 (en) 2014-07-02

Similar Documents

Publication Publication Date Title
US9715415B2 (en) Method of scheduling threads for execution on multiple processors within an information handling system
US10514955B2 (en) Method and device for allocating core resources of a multi-core CPU
JP6294586B2 (ja) 命令スレッドを組み合わせた実行の管理システムおよび管理方法
US9639409B2 (en) Device and method for communicating between cores
CN108647104B (zh) 请求处理方法、服务器及计算机可读存储介质
CN106569891B (zh) 一种存储系统中任务调度执行的方法和装置
JP5295228B2 (ja) 複数のプロセッサを備えるシステム、ならびにその動作方法
JP2017162522A (ja) マルチコアシステムのインターラプト割り当て方法及び装置
US10459773B2 (en) PLD management method and PLD management system
JPWO2011148563A1 (ja) 情報処理システム
WO2020121840A1 (ja) 演算制御装置
EP3516515B1 (en) Scheduling of tasks in a multiprocessor device
WO2016202153A1 (zh) 一种gpu资源的分配方法及系统
US9753769B2 (en) Apparatus and method for sharing function logic between functional units, and reconfigurable processor thereof
US9575760B2 (en) Techniques for sharing priorities between streams of work and dynamic parallelism
CN116089049B (zh) 基于异步并行i/o请求的进程同步调度方法、装置以及设备
CN112486468A (zh) 基于spark内核的任务执行方法、系统和计算机设备
JP4789269B2 (ja) ベクトル処理装置及びベクトル処理方法
US9632834B2 (en) Assigning priorities to computational work streams by mapping desired execution priorities to device priorities
WO2019188177A1 (ja) 情報処理装置
JP2007122337A (ja) 演算装置
JP2013041361A (ja) リソース調停システム及び調停方法
US8566829B1 (en) Cooperative multi-level scheduler for virtual engines
JP2007233608A (ja) 割込み制御装置及び割込み制御方法をコンピュータに実行させるためのプログラム。
WO2009110084A1 (ja) プロセス制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170627

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180326

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180626

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180730

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20181030

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20190304