JP2007233608A - 割込み制御装置及び割込み制御方法をコンピュータに実行させるためのプログラム。 - Google Patents
割込み制御装置及び割込み制御方法をコンピュータに実行させるためのプログラム。 Download PDFInfo
- Publication number
- JP2007233608A JP2007233608A JP2006053319A JP2006053319A JP2007233608A JP 2007233608 A JP2007233608 A JP 2007233608A JP 2006053319 A JP2006053319 A JP 2006053319A JP 2006053319 A JP2006053319 A JP 2006053319A JP 2007233608 A JP2007233608 A JP 2007233608A
- Authority
- JP
- Japan
- Prior art keywords
- interrupt
- unit
- processor
- processing
- divided
- 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
Links
Landscapes
- Multi Processors (AREA)
Abstract
【課題】要求された割込みが1つである場合にもマルチプロセッサが割込みをシングルプロセッサよりも効率的に処理することができ、マルチプロセッサによる処理効率をいっそう高めることができる割込み制御装置を提供する。
【解決手段】複数の単位プロセッサを備えるマルチプロセッサ4の外部割込み処理を制御する割込みコントローラ1を、割込み要求を受付ける割込み検出部203、割込み検出部203によって受付けられた割込み要求を複数の割込みベクタに分割し、分割割込み処理をマルチプロセッサ4が備える複数の単位プロセッサに割当てて実行させる割込みコントローラ制御部204、割込み対応テーブル202、割込み先プロセッサ選択制御部206、プロセッサ状態管理部207によって構成する。
【選択図】図2
【解決手段】複数の単位プロセッサを備えるマルチプロセッサ4の外部割込み処理を制御する割込みコントローラ1を、割込み要求を受付ける割込み検出部203、割込み検出部203によって受付けられた割込み要求を複数の割込みベクタに分割し、分割割込み処理をマルチプロセッサ4が備える複数の単位プロセッサに割当てて実行させる割込みコントローラ制御部204、割込み対応テーブル202、割込み先プロセッサ選択制御部206、プロセッサ状態管理部207によって構成する。
【選択図】図2
Description
本発明は、割込み制御装置及び割込み制御方法をコンピュータに実行させるためのプログラムに係り、特にマルチタイプのプロセッサの割込みを制御する割込み制御装置及び割込み制御方法をコンピュータに実行させるためのプログラムに関する。
現在、プロセッサに外部モジュール等の機器を接続し、外部モジュールがプロセッサに割込みを要求して動作する構成が普及している。このような装置として、例えば、携帯電話が挙げられる。携帯電話は、プロセッサに操作キーや通信モジュール、カメラといった複数のモジュールを接続して構成される。各モジュールは、ユーザによって操作された場合にプロセッサに割込みを要求する。
また、このような装置では、近年の装置の高性能化、高速化に伴い、プロセッサにマルチプロセッサが適用されることも多い。マルチプロセッサは、複数のプロセッサで構成されるプロセッサであって、複数のモジュールの割込みを複数のプロセッサで受付けて並列に処理することができる。
マルチプロセッサで並行に割込み処理をする構成の従来技術として、例えば、特許文献1が挙げられる。特許文献1に記載された発明は、種類が同一の複数の割込みを複数のプロセッサで並列に処理し、装置の性能を高めるものである。
特開平8−36498号公報
マルチプロセッサで並行に割込み処理をする構成の従来技術として、例えば、特許文献1が挙げられる。特許文献1に記載された発明は、種類が同一の複数の割込みを複数のプロセッサで並列に処理し、装置の性能を高めるものである。
しかしながら、複数のモジュールが接続されている場合にあっても、1つのモジュールだけがマルチプロセッサに割込み処理を要求する場合も多い。また、マルチプロセッサは、処理の高速化、高効率化のために使用されるプロセッサであって、特に複数のモジュールによる割込みに備えて設けられるものではない。このため、マルチプロセッサに1つのモジュールが接続される場合もある。
特許文献1の発明は、上記した場合、シングルプロセッサと同様に、1つの割込み要求をマルチプロセッサのいずれかのプロセッサだけが処理することになる。このため、マルチプロセッサを採用したにも関わらず、割込み処理の効率を高めることができず、マルチプロセッサの資源を充分に生かすことができないという不具合がある。
本発明は、割込み要求が1つである場合にもマルチプロセッサが割込みをシングルプロセッサよりも効率的に処理することができ、マルチプロセッサによる処理効率をいっそう高めることができる割込み制御装置及び割込み制御方法をコンピュータに実行させるためのプログラムを提供することを目的とする。
本発明は、割込み要求が1つである場合にもマルチプロセッサが割込みをシングルプロセッサよりも効率的に処理することができ、マルチプロセッサによる処理効率をいっそう高めることができる割込み制御装置及び割込み制御方法をコンピュータに実行させるためのプログラムを提供することを目的とする。
以上の課題を解決するため、本発明の割込み制御装置は、複数の単位プロセッサを備えるマルチプロセッサに対して外部から要求された割込み要求を制御する割込み制御装置であって、割込み要求を受付ける割込み受付手段と、前記割込み受付手段によって受付られた割込み要求を設定された情報に従い分割して複数の前記単位プロセッサに割当てて実行させる処理割当手段と、を備えることを特徴とする。
このような発明によれば、割込み要求を受付け、分割割り込み処理を複数の単位プロセッサに割当てて実行させることができる。
したがって、本発明は、1つの割込み処理を分割して複数の単位プロセッサで並列に実行することができる。このような本発明は、要求された割込み処理が1つである場合にもマルチプロセッサが割込みをシングルプロセッサよりも効率的に処理することができ、マルチプロセッサによる処理効率をいっそう高めることができる割込み制御装置を提供することができる。
したがって、本発明は、1つの割込み処理を分割して複数の単位プロセッサで並列に実行することができる。このような本発明は、要求された割込み処理が1つである場合にもマルチプロセッサが割込みをシングルプロセッサよりも効率的に処理することができ、マルチプロセッサによる処理効率をいっそう高めることができる割込み制御装置を提供することができる。
また、本発明の割込み制御装置は、前記割込み受付手段において受付けられた割込み要求に対応する分割割込み処理の少なくとも一部が前記単位プロセッサで実行できない場合、前記処理割当手段は、各分割割込み処理を予め設定された優先順位にしたがう順番で前記単位プロセッサに割当てることを特徴とする。
このような発明によれば、割込み要求に対応する分割割込み処理の少なくとも一部が単位プロセッサに割当てられない場合であっても各分割割込み処理を予め設定された優先順位にしたがう順番で単位プロセッサに割当てることができる。このため、優先順位の高い処理から順次単位プロセッサで並行に実行してマルチプロセッサの処理効率を高めることができる。
このような発明によれば、割込み要求に対応する分割割込み処理の少なくとも一部が単位プロセッサに割当てられない場合であっても各分割割込み処理を予め設定された優先順位にしたがう順番で単位プロセッサに割当てることができる。このため、優先順位の高い処理から順次単位プロセッサで並行に実行してマルチプロセッサの処理効率を高めることができる。
また、本発明の割込み制御装置は、前記処理割当手段が、分割割込み処理の優先順位に関する情報を記録したテーブルを有することを特徴とする。
このような発明によれば、分割割込み処理の優先順位に関する情報を比較的簡易な構成でありながら参照しやすい形で分割割込み処理の優先順位に関する情報を保持しておくことができる。
このような発明によれば、分割割込み処理の優先順位に関する情報を比較的簡易な構成でありながら参照しやすい形で分割割込み処理の優先順位に関する情報を保持しておくことができる。
また、本発明の割込み制御装置は、前記処理割当手段が、前記単位プロセッサと前記単位プロセッサの各々に割当てられる分割割込み処理との対応関係に関する情報を記録するテーブルを有することを特徴とする。
このような発明によれば、単位プロセッサと単位プロセッサの各々に割当てられる分割割込み処理との対応関係を予め保存しておくことができる。このため、割込み要求が発生したとき速やかにかつ簡易に分割割込み処理を割当てるのに適正な単位プロセッサを選択することができる。
このような発明によれば、単位プロセッサと単位プロセッサの各々に割当てられる分割割込み処理との対応関係を予め保存しておくことができる。このため、割込み要求が発生したとき速やかにかつ簡易に分割割込み処理を割当てるのに適正な単位プロセッサを選択することができる。
また、本発明の割込み制御方法をコンピュータに実行させるためのプログラムは、複数の単位プロセッサを備えるマルチプロセッサの割込み処理を制御する割込み制御方法をコンピュータに実行させるためのプログラムであって、割込み要求を受付ける割込み受付ステップと、前記割込み受付手ステップにおいて受付られた割込み要求を設定された情報に従い分割して複数の前記単位プロセッサに割当てて実行させる処理割当ステップと、を含むことを特徴とする割込み制御方法をコンピュータに実行させるためのプログラム。
このような発明によれば、割込み要求受付け、分割割込み処理を複数の単位プロセッサに割当てて実行させることができる。
したがって、本発明は、1つの割込み処理を分割して複数の単位プロセッサで並列に実行し、マルチプロセッサによる処理効率をいっそう高めることができる割込み制御方法をコンピュータに実行させるためのプログラムを提供することができる。
したがって、本発明は、1つの割込み処理を分割して複数の単位プロセッサで並列に実行し、マルチプロセッサによる処理効率をいっそう高めることができる割込み制御方法をコンピュータに実行させるためのプログラムを提供することができる。
以下、図を参照して本発明に係る割込み制御装置及び割込み制御方法をコンピュータに実行させるためのプログラムの実施の形態を説明する。
図1は、本発明の割込み制御装置とマルチプロセッサとを接続して構成されるマルチプロセッサシステムを示した図である。マルチプロセッサ4は、複数の単位プロセッサ4a〜4dで構成されるプロセッサであって、各単位プロセッサ4a〜4dが並列に動作して処理を実行することができる。
図1は、本発明の割込み制御装置とマルチプロセッサとを接続して構成されるマルチプロセッサシステムを示した図である。マルチプロセッサ4は、複数の単位プロセッサ4a〜4dで構成されるプロセッサであって、各単位プロセッサ4a〜4dが並列に動作して処理を実行することができる。
マルチプロセッサ4は、メモリ3、割込みコントローラ2、複数の周辺モジュール1と直接、間接的に接続されている。周辺モジュール1の各々は、プロセッサ4に対して割込みを要求する。なお、本実施形態では、割込み処理の少なくとも一部が予め分割されていて、分割された割込み処理の各々を以降分割割込み処理と記す。割込み処理の分割は、プログラムの作成時にツールあるいはプログラマによって行われる。
周辺モジュール1による割込み要求は、先ず割込みコントローラ2によって受付けられる。割込みコントローラ2は、1つのモジュールだけから割込み要求がなされた場合であっても、分割割込み処理を複数の単位プロセッサに割当てることによって割込み処理の処理効率を高めることができる。
図2は、図1に示した割込みコントローラ2を詳細に示した図である。割込みコントローラ2は、複数の単位プロセッサ4a〜4dを備えるマルチプロセッサ4の割込み処理を制御する割込み制御装置である。そして、マルチプロセッサ4に対して外部である周辺モジュール1から要求された割込み要求を受付ける割込み検出部203と、受付けられた割込み要求を複数の単位プロセッサ4a〜4dに割当てて実行させる割込みコントローラ制御部204、割込み先プロセッサ選択制御部206、プロセッサ状態管理部207、割込み通知部205を備えている。
割込み対応テーブル202は、単位プロセッサ4a〜4dと、単位プロセッサ4a〜4dの各々に割当てられる分割割込み処理との対応関係を含む情報を記録するテーブルである。本実施形態の割込み対応テーブル202は、単位プロセッサ4a〜4dと分割割込み処理との対応関係ばかりでなく、割当てられる分割割込み処理の個数も割込み対応テーブル202に記録されている。
プロセッサ状態管理部207は、各単位プロセッサ4a〜4dの割込みの可、不可等の判断をする。割込み先プロセッサ選択制御部206は、割込み対応テーブル202、プロセッサ状態管理部207が有する情報を参照して単位プロセッサ4a〜4dのいずれに分割割込み処理を割当てるかを決定する。割込み通知部205は、分割割込み処理が割当てられた単位プロセッサに割込み要求が発生したことを通知する。
以上述べた構成において、割込み検出部203は割込み受付手段として機能する。また、割込みコントローラ制御部204は、割込みコントローラ制御部204、割込み先プロセッサ選択制御部206、プロセッサ状態管理部207及び割込み通知部205が処理割当手段として機能する。
また、割込みコントローラ2は、割込み検出部203において受付けられた割込み要求に対応する分割割込み処理の少なくとも一部がマルチプロセッサ4に割当てられない場合、各分割割込み処理を予め設定された優先順位にしたがう順番で単位プロセッサ4a〜4dに割当てている。
また、割込みコントローラ2は、割込み検出部203において受付けられた割込み要求に対応する分割割込み処理の少なくとも一部がマルチプロセッサ4に割当てられない場合、各分割割込み処理を予め設定された優先順位にしたがう順番で単位プロセッサ4a〜4dに割当てている。
すなわち、割込みコントローラ制御部204は、分割割込み処理が複数発生した、あるいは割込みを指示すべき単位プロセッサが割込み禁止の状態にある等の理由によって単位プロセッサ4a〜4dに割当てることができない場合、割当てることができない分割割込み処理を保留状態にする。このため、割込みコントローラ2は、保留となった分割割込み処理及び分割割込み処理の優先順位を記録しておく保留中割込みテーブル201を備えている。
以上述べた構成は、以下のように動作する。すなわち、周辺モジュール1に含まれる複数のモジュール(周辺モジュールA、B、C…とする)のうちのいずれかがプロセッサ4に割込みを要求する場合、周辺モジュールは、割込みコントローラ2に対して割込み要求をする。割込み要求は、割込み検出部203によって受付けられ、要求された割込みに対応する分割割込み処理が各単位プロセッサに割当てられる。
割込みコントローラ制御部204による分割割込み処理の割当は、割込み対応テーブル202を参照して行われる。図3は、割込み対応テーブル202を説明するための図であって、図3(a)は割込み対応テーブル202に記録される情報を示している。また、(b)は、(a)に示した情報を具体的に示した図である。割込み対応テーブルは、割込み要求と分割割込み処理の割込みベクタ番号の対応を示すものである。
図3(b)は、各分割割込み処理のために起動される分割割込み処理のマルチプロセッサ4から見たオフセットアドレスを縦に記し、横にはテーブルのインデックスとして0〜3の4つの数字を記す。インデックスの0、1、2、3は、分割割込み処理の優先順位を表している。つまり、各単位プロセッサに分割割込み処理を割当てる場合、インデックス0に記されている分割割込み処理から優先的に単位プロセッサに割当てられる。
例えば、図3(b)に示した割込み対応テーブルによれば、周辺モジュールAによる割込みでは2つの分割割込み処理が設定され、単位プロセッサのうちいずれか2つが分割割込み処理を起動することを表している。このように、分割割込み処理の単位プロセッサに対する割当ては、割込みの発生時に動的に決定される。
また、1番目のベクタ番号、2番目のベクタ番号等に記入された数字は、図3(a)の表中に記した1番目の割込みベクタ番号、2番目の割込みベクタ番号の具体的な値である。この例において、割込みベクタ番号が0であるということは、対応する分割割込み処理が存在しない、すなわち単位プロセッサに対する割込み要求を行わないことを示している。
また、1番目のベクタ番号、2番目のベクタ番号等に記入された数字は、図3(a)の表中に記した1番目の割込みベクタ番号、2番目の割込みベクタ番号の具体的な値である。この例において、割込みベクタ番号が0であるということは、対応する分割割込み処理が存在しない、すなわち単位プロセッサに対する割込み要求を行わないことを示している。
例えば、周辺モジュールAから割込みコントローラ2に対して割込み要求がされた場合、割込みコントローラ制御部204は、割込み対応テーブル202を参照して周辺モジュールA用の割込みベクタ番号を取得する。図示した例では、周辺モジュールAには2つの割込みベクタ番号が設定されていて、ベクタ番号1がベクタ番号2よりも優先的に単位プロセッサに割当てられることが分かる。
また、例えば、周辺モジュールBから割込みコントローラ2に対して割込み要求がされた場合、割込みコントローラ制御部204は、割込み対応テーブル202を参照して周辺モジュールB用の割込みベクタ番号を取得する。図示した例では、周辺モジュールBには4つの割込みベクタ番号が設定されていて、ベクタ番号4、ベクタ番号5、ベクタ番号6、ベクタ番号7の優先順位で単位プロセッサに割当てられることが分かる。
なお、本実施形態では、プロセッサ状態管理部207が単位プロセッサ4a〜4dの状態を管理していて、単位プロセッサが分割割込み処理を処理できない状態にあることを検出することができる。このような場合、割り当てられなかった分割割込み処理は保留中割込みテーブル201に記録される。
図4(a)、(b)は、保留中割込みテーブル201を例示するための図である。図4(a)は、保留中割込みテーブル201が保留中の分割割込み処理の有無を示すフラグ、割込みを要求した周辺モジュール(割込み発生源)、何番目の分割割込み処理まで割り当て済みであるかの情報を持っていることを示す。
図4(b)は、(a)に示した保留中割込みテーブル201に記録される情報を具体的に示した図である。(b)によれば、周辺モジュールC、周辺モジュールAのフラグが有効であることによって周辺モジュールC、周辺モジュールAが要求した割込みに対応する分割割込み処理が保留されていることが分かる。さらに、保留された周辺モジュールCの分割割込み処理は図3のCount1に対応し、周辺モジュールAの割込み要求は図3のCount0に対応する。したがって、保留された分割割込み処理は周辺モジュールCが割込み対応テーブルのインデックス1以降の分割割込み処理と周辺モジュールAが割込み対応テーブルのインデックス0以降すなわちすべての分割割込み処理であることが分かる。
このように、保留中割込みテーブル201には、分割割込み処理をインデックスで記録してもよい。また、分割割込み処理の単位で記録しておくものであってもよい。
以上述べたように、本実施形態は、周辺モジュールA、B等が要求した割込み要求を複数の単位プロセッサに割当てることができる。このため、1つの割込み処理を複数の単位プロセッサで並列に処理し、マルチプロセッサ4の割込みの処理効率を高めることができる。
以上述べたように、本実施形態は、周辺モジュールA、B等が要求した割込み要求を複数の単位プロセッサに割当てることができる。このため、1つの割込み処理を複数の単位プロセッサで並列に処理し、マルチプロセッサ4の割込みの処理効率を高めることができる。
図5は、本実施形態が1つの割込み処理を並列に実行することによって得られる効果を説明するための図である。図5(a)は、本実施形態の並列処理を説明するための図であって、(b)は、本実施形態の構成と比較するために従来の構成で行われる処理を説明するための図である。なお、図5に示した例は、通信処理を割込み処理によって実行するものであって、通信処理が受信済みパケット処理と次送信パケット処理とに予め分割されている。
なお、受信済みパケット処理とは、受信したパケットを読み出してエラーをチェックし、受信データを処理するものである。また、次送信パケット処理は、受信パケットに対する応答の確認や次に送信すべきデータを設定する処理である。
本実施形態によれば、図5(a)に示したように、プロセッサ4a(図中プロセッサ0)とプロセッサ4b(図中プロセッサ1)とにおいて同時に分割割込み処理の起動処理Xが実行される。そして、プロセッサ4aが受信済みパケット処理を実行し、略同時にプロセッサ4bが送信済みパケット処理を並列に実行する。プロセッサ4a、プロセッサ4bは、各々に割当られた分割割込処理が完了すると、復帰処理Yを実行して割込みハンドラから復帰する。
本実施形態によれば、図5(a)に示したように、プロセッサ4a(図中プロセッサ0)とプロセッサ4b(図中プロセッサ1)とにおいて同時に分割割込み処理の起動処理Xが実行される。そして、プロセッサ4aが受信済みパケット処理を実行し、略同時にプロセッサ4bが送信済みパケット処理を並列に実行する。プロセッサ4a、プロセッサ4bは、各々に割当られた分割割込処理が完了すると、復帰処理Yを実行して割込みハンドラから復帰する。
一方、図5(b)に示した従来の構成では、プロセッサ4aに受信済みパケット処理と次送信パケット処理とが割込み要求される。プロセッサ4aは、割込み発生によって起動処理Xを実行し、受信済みパケット処理をする。そして、受信済みパケット処理の終了後、続いて次送信パケット処理を実行し、復帰処理Yをして割込み処理から抜ける。
このような従来の構成は、(a)に示した本実施形態に比べて次送信パケット処理の終了タイミングが遅れて割込み処理の完了が遅くなることが明らかである。また、単位プロセッサ4aが割込み処理をする間、他の単位プロセッサは停止状態であったとしても割込みに関与しない。このため、従来の構成は、マルチプロセッサを採用したにも関わらず単位プロセッサを割込みに有効に利用することができず、本実施形態よりも処理効率が低いものといえる。
このような従来の構成は、(a)に示した本実施形態に比べて次送信パケット処理の終了タイミングが遅れて割込み処理の完了が遅くなることが明らかである。また、単位プロセッサ4aが割込み処理をする間、他の単位プロセッサは停止状態であったとしても割込みに関与しない。このため、従来の構成は、マルチプロセッサを採用したにも関わらず単位プロセッサを割込みに有効に利用することができず、本実施形態よりも処理効率が低いものといえる。
図6は、以上述べた本実施形態の割込み制御装置が実行する割込み制御方法をコンピュータ実行させるためのプログラムを示したフローチャートである。なお、図示したフローチャートは、割込みコントローラ2によって実行される。
割込みコントローラ制御部204は、先ず、いずれかの周辺モジュールによって割込みが要求されたか否かを割込み検出部203によって検出する(S601)。割込みが検出されない場合(S601:No)、割込みコントローラ制御部204は、保留中割込みテーブル201を参照して保留中の割込みがあるか否か判断する(S602)。
割込みコントローラ制御部204は、先ず、いずれかの周辺モジュールによって割込みが要求されたか否かを割込み検出部203によって検出する(S601)。割込みが検出されない場合(S601:No)、割込みコントローラ制御部204は、保留中割込みテーブル201を参照して保留中の割込みがあるか否か判断する(S602)。
保留中割込みがある場合(S602:Yes)、割込みコントローラ制御部204は、後述するように、最優先割込みの情報を参照する(S606)。保留中の割込みがない場合(S602:No)、処理を終了する。
ステップS601の判断において、割込みが検出された場合(S601:Yes)、割込みソート処理を実行する(S605)。割込みソート処理とは、各単位プロセッサに対して要求された割込みの優先度や要求順序によって最終的な割込みの処理順序を決定する処理をいう。なお、発生した順番の通りに割込みを要求する場合、割込みソート処理は不要である。
ステップS601の判断において、割込みが検出された場合(S601:Yes)、割込みソート処理を実行する(S605)。割込みソート処理とは、各単位プロセッサに対して要求された割込みの優先度や要求順序によって最終的な割込みの処理順序を決定する処理をいう。なお、発生した順番の通りに割込みを要求する場合、割込みソート処理は不要である。
次に、割込みコントローラ制御部204は、ソートされた割込み処理のうち最初に処理すべき割込み処理の情報(割込みを要求した周辺モジュールを特定する等の情報)を参照する(S606)。そして、割込み対応テーブル202を参照して起動すべき分割割込み処理のアドレス等を取得し(S607)、割込みを発生させるか否か判断する(S608)。判断の結果、割込みを発生させない場合(S608:No)、割込み要求が発生したことを示す記録をクリアし(S603)、再び保留中の割込みがあるか否か判断する(S602)。
割込みを発生させる場合(S608:Yes)、分割割込処理を割当てるべき単位プロセッサを選択する(S609)。そして、割込み先の単位プロセッサが割り込み可能な状態であるか否か判断する(S610)。この判断は、例えば、プロセッサ状態管理部207によって取得されたプロセッサの割込みの可、不可の情報等を参照することによって行われる。
ステップS610の判断において、単位プロセッサに割込みできない場合(S610:No)、割込みできなかった割込み処理の割込み先を保留中割込みテーブル201のCountに記録する(S604)。
また、ステップS610において、割込み先の単位プロセッサが割込み可能な状態であると判断された場合(S610:Yes)、割込み先の単位プロセッサに割込みを発生する(S611)。この際、割込みの発生が記録される(S612)。
また、ステップS610において、割込み先の単位プロセッサが割込み可能な状態であると判断された場合(S610:Yes)、割込み先の単位プロセッサに割込みを発生する(S611)。この際、割込みの発生が記録される(S612)。
また、本実施形態は、以上述べた構成に限定されるものではない。例えば、本実施形態は、割込み制御装置を独立した単位プロセッサを複数備えるマルチプロセッサと接続した構成について説明した。しかし、本実施形態の割込み制御装置は、このようなマルチプロセッサばかりでなく、複数の単位プロセッサが演算部を共有してより密に結合するマルチプロセッサ(マルチスレッドプロセッサ)についても適用することができる。
本実施形態の割込み制御装置をマルチスレッドプロセッサに適用する場合、図6に示したステップS607とステップS608との間にステップS613の処理を挿入する。このような処理は、マルチスレッドプロセッサが複数の単位プロセッサの間で演算処理部を共用することから要求されるものである。
すなわち、ステップS613の処理は、割込みコントローラ制御部204が、図7に示す割込みベクタテーブルを読み出して各単位プロセッサに割当てられる割込みベクタを読み出す。
すなわち、ステップS613の処理は、割込みコントローラ制御部204が、図7に示す割込みベクタテーブルを読み出して各単位プロセッサに割当てられる割込みベクタを読み出す。
図7に示した割込みベクタテーブルは、割込み処理のプロセッサから見たオフセットアドレスと、処理に使用される割込みハンドラの保存先、割込みハンドラにおいて各単位プロセッサに割当てられる割込みベクタ(Vec0、Vec1等)の保存先を記録するテーブルである。ベクタテーブル中、単位プロセッサに割当てられない割込みベクタの保存先には、0×ffffffffといった存在しないアドレスが記録されている。
以上述べた本実施形態の割込み制御装置は、1つの割込み処理を複数の単位プロセッサで並列に実行することができる。このため、要求された割込み処理が1つである場合にもマルチプロセッサが割込みをシングルプロセッサよりも効率的に処理することができ、マルチプロセッサによる処理効率をいっそう高めることができる。
1 周辺モジュール、2 割込みコントローラ、3 メモリ、4 マルチプロセッサ、4a、4b、4c、4d 単位プロセッサ、201 保留中割込みテーブル、202 割込み対応テーブル、203 割込み検出部、204 割込みコントローラ制御部、205 割込み通知部、206 割込み先プロセッサ選択制御部、207 プロセッサ状態管理部
Claims (5)
- 複数の単位プロセッサを備えるマルチプロセッサに対して外部から要求された割込み処理を制御する割込み制御装置であって、
割込み要求を受付ける割込み受付手段と、
前記割込み受付手段によって受付られた割込み要求を設定された情報に従い分割して複数の前記単位プロセッサに割当てて実行させる処理割当手段と、
を備えることを特徴とする割込み制御装置。 - 前記割込み受付手段において受付けられた割込み要求に対応する分割割込み処理の少なくとも一部が前記単位プロセッサで実行できない場合、前記処理割当手段は、各分割割込み処理を予め設定された優先順位にしたがう順番で前記単位プロセッサに割当てることを特徴とする請求項1に記載の割込み制御装置。
- 前記処理割当手段は、分割割込み処理の優先順位に関する情報を記録したテーブルを有することを特徴とする請求項1または2に記載の割込み制御装置。
- 前記処理割当手段は、前記単位プロセッサと前記単位プロセッサの各々に割当てられる分割割込み処理との対応関係に関する情報を記録するテーブルを有することを特徴とする請求項1から3のいずれか1項に記載の割込み制御装置。
- 複数の単位プロセッサを備えるマルチプロセッサの割込み処理を制御する割込み制御方法をコンピュータに実行させるためのプログラムであって、
割込み要求を受付ける割込み受付ステップと、
前記割込み受付手段によって受付られた割込み要求を設定された情報に従い分割して複数の前記単位プロセッサに割当てて実行させる処理割当ステップと、
を含むことを特徴とする割込み制御方法をコンピュータに実行させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006053319A JP2007233608A (ja) | 2006-02-28 | 2006-02-28 | 割込み制御装置及び割込み制御方法をコンピュータに実行させるためのプログラム。 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006053319A JP2007233608A (ja) | 2006-02-28 | 2006-02-28 | 割込み制御装置及び割込み制御方法をコンピュータに実行させるためのプログラム。 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007233608A true JP2007233608A (ja) | 2007-09-13 |
Family
ID=38554153
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006053319A Pending JP2007233608A (ja) | 2006-02-28 | 2006-02-28 | 割込み制御装置及び割込み制御方法をコンピュータに実行させるためのプログラム。 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007233608A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101398772B (zh) * | 2008-10-21 | 2011-04-13 | 成都市华为赛门铁克科技有限公司 | 一种网络数据的中断处理方法及装置 |
JP2014225058A (ja) * | 2013-05-15 | 2014-12-04 | 京セラドキュメントソリューションズ株式会社 | 画像形成装置及び割り込み制御方法 |
-
2006
- 2006-02-28 JP JP2006053319A patent/JP2007233608A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101398772B (zh) * | 2008-10-21 | 2011-04-13 | 成都市华为赛门铁克科技有限公司 | 一种网络数据的中断处理方法及装置 |
JP2014225058A (ja) * | 2013-05-15 | 2014-12-04 | 京セラドキュメントソリューションズ株式会社 | 画像形成装置及び割り込み制御方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI307477B (ja) | ||
EP2347334B1 (en) | Methods and systems for allocating interrupts in a multithreaded processor | |
JP6753777B2 (ja) | 割り込み処理の方法及び装置 | |
US7853743B2 (en) | Processor and interrupt controlling method | |
CN108647104B (zh) | 请求处理方法、服务器及计算机可读存储介质 | |
JP2004038758A (ja) | 記憶制御装置、記憶制御装置の制御方法、及びプログラム | |
JP6880402B2 (ja) | メモリアクセス制御装置及びその制御方法 | |
EP1939736A2 (en) | Data processing system and semiconductor integrated circuit | |
US20110219373A1 (en) | Virtual machine management apparatus and virtualization method for virtualization-supporting terminal platform | |
US20110107344A1 (en) | Multi-core apparatus and load balancing method thereof | |
JP2008065713A (ja) | マルチプロセッサシステム及び割込み制御方法 | |
JP2014120097A (ja) | 情報処理装置、プログラム、及び、情報処理方法 | |
CN114579285B (zh) | 一种任务运行系统、方法及计算设备 | |
JP2008090507A (ja) | ジョブ実行のスケジューリングプログラム、ジョブ実行のスケジューリング方法、ジョブ実行のスケジューリング装置 | |
JP2017162522A (ja) | マルチコアシステムのインターラプト割り当て方法及び装置 | |
JP2007233608A (ja) | 割込み制御装置及び割込み制御方法をコンピュータに実行させるためのプログラム。 | |
US8909873B2 (en) | Traffic control method and apparatus of multiprocessor system | |
CN111831408A (zh) | 异步任务处理方法、装置、电子设备及介质 | |
US8359564B2 (en) | Circuit design information generating equipment, function execution system, and memory medium storing program | |
JPWO2009098737A1 (ja) | 外部デバイスアクセス装置、その制御方法及びシステムlsi | |
CN110780999A (zh) | 一种多核cpu的调度系统和方法 | |
JP2014078214A (ja) | スケジュールシステム、スケジュール方法、スケジュールプログラム、及び、オペレーティングシステム | |
CN111143078B (zh) | 一种数据处理方法、装置及计算机可读存储介质 | |
JP6358330B2 (ja) | 情報処理装置、情報処理システム、メモリ管理方法およびメモリ管理プログラム | |
JP7080698B2 (ja) | 情報処理装置 |