JP2004220309A - マルチプロセッサシステム - Google Patents
マルチプロセッサシステム Download PDFInfo
- Publication number
- JP2004220309A JP2004220309A JP2003006741A JP2003006741A JP2004220309A JP 2004220309 A JP2004220309 A JP 2004220309A JP 2003006741 A JP2003006741 A JP 2003006741A JP 2003006741 A JP2003006741 A JP 2003006741A JP 2004220309 A JP2004220309 A JP 2004220309A
- Authority
- JP
- Japan
- Prior art keywords
- interrupt
- processor
- register
- interrupt signal
- input
- 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
Images
Abstract
【課題】複数のプロセッサの中から、割り込み要求を処理すべきプロセッサを効率的に決定し得るマルチプロセッサシステムを得る。
【解決手段】第1回目の割り込み要求S1に対応する割り込み信号T2がプロセッサ22によって受け付けられると、レジスタ141の記憶内容は、初期値のデータ“1111”から、プロセッサ22の番号を示すデータ“0001”に書き換えられる。次に、第2回目の割り込み要求S1がデコーダ151に入力される。レジスタ141にデータ“0001”が記憶されているため、割り振り部10Aは、複数の出力部111,112の中から出力部112を選択して、第2回目の割り込み要求S1に対応する割り込み信号V2を入力する。
【選択図】 図2
【解決手段】第1回目の割り込み要求S1に対応する割り込み信号T2がプロセッサ22によって受け付けられると、レジスタ141の記憶内容は、初期値のデータ“1111”から、プロセッサ22の番号を示すデータ“0001”に書き換えられる。次に、第2回目の割り込み要求S1がデコーダ151に入力される。レジスタ141にデータ“0001”が記憶されているため、割り振り部10Aは、複数の出力部111,112の中から出力部112を選択して、第2回目の割り込み要求S1に対応する割り込み信号V2を入力する。
【選択図】 図2
Description
【0001】
【発明の属する技術分野】
この発明は、マルチプロセッサシステムに関し、特に、割り込みコントローラを備えるマルチプロセッサシステムに関するものである。
【0002】
【従来の技術】
割り込みコントローラと複数のプロセッサとを備える従来のマルチプロセッサシステムでは、割り込みコントローラに割り込み要求が入力された場合、複数のプロセッサの全てに、割り込み要求に対応する割り込み信号がそれぞれ入力されていた(例えば、特許文献1参照)。
【0003】
【特許文献1】
特開平8−55038号公報
【0004】
【発明が解決しようとする課題】
このような従来のマルチプロセッサシステムによると、割り込みを処理すべきプロセッサを、割り込み要因に応じて効率的に振り分けるという制御がなされていないという問題があった。
【0005】
本発明は、かかる問題を解決するために成されたものであり、ソフトウェアの複雑な介在を伴うことなく、簡単なハードウェア構成によって、複数のプロセッサの中から、割り込み要求を処理すべきプロセッサを効率的に決定し得るマルチプロセッサシステムを得ることを目的とするものである。
【0006】
【課題を解決するための手段】
この発明によれば、マルチプロセッサシステムは、複数のプロセッサと、複数のプロセッサに接続された割り込みコントローラとを備えている。割り込みコントローラは、複数のプロセッサの各々に対応して設けられ、対応するプロセッサに対して割り込み信号を出力する、複数の出力部と、複数の出力部に接続された割り振り部とを有している。割り込みコントローラに割り込み要求が入力された場合、割り振り部は、複数の出力部の中から、前回の割り込み要求に対応する割り込み信号を受け付けた特定プロセッサに対応する特定出力部を選択して、今回の割り込み要求に対応する割り込み信号を入力する。
【0007】
【発明の実施の形態】
実施の形態1.
図1は、本発明の実施の形態1に係るマルチプロセッサシステムの構成を示すブロック図である。LSI1は、複数のプロセッサ2(図1における21〜2n)と、バスインタフェースユニット(BIU)4と、割り込みコントローラ5と、タイマやシリアルI/O等のI/O装置6と、CPUバス7と、メモリ等のデバイス(図示しない)が接続された外部バス8と、I/Oバス9とを備えている。プロセッサ21〜2nはそれぞれ、CPUコア31〜3nと、キャッシュメモリ(図示しない)とを有している。
【0008】
プロセッサ21〜2n及びBIU4は、CPUバス7に接続されている。BIU4、割り込みコントローラ5、及びI/O装置6は、I/Oバス9に接続されている。BIU4は、外部バス8に接続されている。割り込みコントローラ5は、プロセッサ21〜2nの各々に直接に接続されている。
【0009】
BIU4は、CPUバス7上を流れる命令やデータ等の調停や、外部バス8及びI/Oバス9の制御を行う。プロセッサ21〜2nは、必要とする命令やデータが自己のキャッシュメモリ内に存在しない場合に、その命令やデータのリクエストをCPUバス7に送出する。BIU4は、プロセッサ21〜2nからCPUバス7を介して送られてくる上記リクエストの調停を行う。プロセッサ21〜2nから割り込みコントローラ5及びI/O装置6へのアクセス要求は、BIU4によって調停された後、I/Oバス9を介して割り込みコントローラ5及びI/O装置6に入力される。
【0010】
割り込み要因が互いに異なる複数の割り込み要求S(図1におけるS1〜Sm)は、割り込みコントローラ5に入力される。割り込み要求S1〜Smは、LSI1に内蔵されたI/O装置6又はLSI1の外部に接続されたI/O装置(図示しない)によって発生される。割り込みコントローラ5は、各プロセッサ21〜2nに対応する割り込み信号T(図1におけるT1〜Tn)を生成する。割り込み信号T1〜Tnは、プロセッサ21〜2nの各々に直接に入力される。
【0011】
図2は、本実施の形態1に係る割り込みコントローラ5の具体的な構成を示すブロック図である。但し、図面の簡略化のため、図2では、2個のプロセッサ21,22のみを備えるマルチプロセッサシステムを想定して、割り込みコントローラ5の構成を示している。割り込みコントローラ5は、割り振り部10Aと、プロセッサ間割り込み制御レジスタ13と、出力部11(図2における111,112)と、優先順位判定部12(図2における121,122)とを備えている。出力部111及び優先順位判定部121はプロセッサ21に対応しており、出力部112及び優先順位判定部122はプロセッサ22に対応している。
【0012】
割り振り部10Aは、レジスタ14(図2における141,142)と、デコーダ151,152とを備えている。図2では、割り込み要求S1に対応するレジスタ141及びデコーダ151と、割り込み要求S2に対応するレジスタ142及びデコーダ152のみを示したが、他の割り込み要求S3〜Smに対しても同様に、レジスタ及びデコーダがそれぞれ設けられている。
【0013】
出力部111は、比較器181,191と、マスクレジスタ161と、ステータスレジスタ171とを備えている。同様に出力部112は、比較器182,192と、マスクレジスタ162と、ステータスレジスタ172とを備えている。
【0014】
レジスタ141,142、マスクレジスタ161,162、ステータスレジスタ171,172、及びプロセッサ間割り込み制御レジスタ13は、図1に示したI/Oバス9に接続されており、プロセッサ21〜2nによって各レジスタの記憶内容の読み出し及び書き込みが可能である。例えば、マスクレジスタ161,162には、割り込みの優先順位が設定されており、マスクレジスタ161,162に設定されている優先順位は、プロセッサ21〜2nによって変更可能である。
【0015】
図3は、本実施の形態1に係る割り込みコントローラ5の動作を説明するためのタイミングチャートである。以下、図1〜3を参照し、割り込み要求S1が3回連続して発生した場合を想定して、本実施の形態1に係る割り込みコントローラ5の動作について説明する。
【0016】
LSI1に内蔵されたI/O装置6又はLSI1の外部に接続されたI/O装置が発生した第1回目の割り込み要求S1は、時刻t1において、デコーダ151に入力される。レジスタ141は、例えば4ビットのディジタルデータを記憶できるレジスタである。時刻t1において、レジスタ141には所定の初期値(ここではデータ“1111”とする)が記憶されている。レジスタ141にデータ“1111”が記憶されている場合、デコーダ151は、割り込み要求S1に対応する割り込み信号U(図2におけるU11,U12)を、優先順位判定部121,122にそれぞれ入力する。優先順位判定部121,122は、割り込み信号U11,U12の優先順位を判定した後、割り込み要求S1に対応する割り込み信号V(図2におけるV1,V2)をそれぞれ出力する。
【0017】
割り込み信号V1,V2は、比較器181,182にそれぞれ入力される。比較器181,182は、図示しない割り込みレベルレジスタに設定されている優先順位と、マスクレジスタ161,162に設定されている優先順位とをそれぞれ比較する。割り込みレベルレジスタに設定されている優先順位が、マスクレジスタ161,162に設定されている優先順位よりも高い場合、割り込み信号V1,V2はマスクされずに、後段の比較器191,192に入力される。ここでは、割り込み信号V1,V2はいずれもマスクされないものとする。
【0018】
プロセッサ間割り込み制御レジスタ13は、プロセッサ21,22間の割り込みを制御するレジスタである。プロセッサ間割り込み制御レジスタ13に書き込みを行うことにより、任意のプロセッサ21,22に対してプロセッサ間割り込み要求W1,W2が入力される。
【0019】
プロセッサ間割り込み制御レジスタ13からプロセッサ間割り込み要求W1,W2が入力されている場合、比較器191,192は、無条件でプロセッサ間割り込み要求W1,W2をそれぞれ出力する。一方、プロセッサ間割り込み制御レジスタ13からプロセッサ間割り込み要求W1,W2が入力されていない場合、比較器191,192は、比較器181,182から入力された割り込み信号V1,V2に基づいて、割り込み要求S1に対応する割り込み信号T1,T2をそれぞれ出力する。ここでは、比較器191,192から割り込み信号T1,T2がそれぞれ出力されるものとする。
【0020】
割り込み信号T1,T2は、プロセッサ21,22にそれぞれ入力される。ここでは、時刻t2において、プロセッサ22が最も早く割り込み信号T2を受け付けたものとする。すると、プロセッサ22の番号を示す値(ここではデータ“0001”とする)がステータスレジスタ172に書き込まれる。ステータスレジスタ172の記憶内容はレジスタ141に伝達され、その結果、レジスタ141の記憶内容は、初期値のデータ“1111”からデータ“0001”に書き換えられる。また、プロセッサ22によって割り込み信号T2が受け付けられたことを受けて、時刻t2において割り込み信号U11,U12はキャンセルされる。
【0021】
次に、時刻t3において、第2回目の割り込み要求S1がデコーダ151に入力される。時刻t3において、レジスタ141には、前回割り込み信号T2を受け付けたプロセッサ(特定プロセッサ)22の番号を示すデータ“0001”が記憶されている。レジスタ141にデータ“0001”が記憶されている場合、割り振り部10Aは、複数の出力部111,112の中から、割り込み要求S1に対応する割り込み信号Tを前回受け付けた特定プロセッサ22に対応する出力部(特定出力部)112を選択して、今回の割り込み要求S1に対応する割り込み信号V2を入力する。具体的に、デコーダ151は、割り込み信号U12を優先順位判定部122に入力する一方、優先順位判定部121には割り込み信号U11を入力しない。
【0022】
上記と同様に、優先順位判定部122及び比較器182から割り込み信号V2が出力され、比較器192から割り込み信号T2が出力されたものとする。すると、時刻t4においてプロセッサ22によって割り込み信号T2が受け付けられるとともに、割り込み信号U12がキャンセルされる。
【0023】
図2を参照して、プロセッサ21〜2nからレジスタ141,142にクリア信号M1,M2をそれぞれ入力することによって、レジスタ141,142の記憶内容を強制的にクリアする(即ちデータ“1111”に書き戻す)ことも可能である。例えば、プロセッサ22からのアクセスによって、マスクレジスタ162に設定されている優先順位を、割り込み信号V2の優先順位よりも高い値に変更する場合を考える。この場合、プロセッサ22は、マスクレジスタ162の設定内容を変更するとともに、レジスタ141の記憶内容をクリアする。図3を参照し、時刻t5において、レジスタ141にクリア信号M1が入力されることによって、レジスタ141の記憶内容がデータ“0001”から初期値のデータ“1111”に書き戻されている。
【0024】
次に、時刻t6において、第3回目の割り込み要求S1がデコーダ151に入力される。時刻t6において、レジスタ141にはデータ“1111”が記憶されている。従って、第1回目の割り込み要求S1が入力された場合と同様に、割り込み信号U11,U12が優先順位判定部121,122にそれぞれ入力される。以降の動作は上記と同様であるため、説明は省略する。
【0025】
このように本実施の形態1に係るマルチプロセッサシステムによれば、割り込みコントローラ5に割り込み要求Sが入力された場合、割り振り部10Aは、複数の出力部11の中から、割り込み要求Sに対応する割り込み信号Tを前回受け付けたプロセッサ2に対応する出力部11を選択して、割り込み要求Sに対応する割り込み信号Uを入力する。従って、ソフトウェアの複雑な介在を伴うことなく、簡単なハードウェア構成によって、複数のプロセッサ2の中から、割り込み要求Sを処理すべきプロセッサ2を効率的に決定することが可能となる。
【0026】
また、プロセッサ2からのアクセスによってレジスタ14の記憶内容が所定値(上記の例ではデータ“1111”)に設定された場合、割り振り部10Aは、優先順位判定部12を介して複数の出力部11の全てに割り込み信号Vを入力する。従って、過去の履歴とは無関係に、割り込み要求Sを任意のプロセッサ2によって処理することも可能である。
【0027】
実施の形態2.
図4は、図2に対応させて、本発明の実施の形態2に係る割り込みコントローラ5の具体的な構成を示すブロック図である。割り振り部10Bは、レジスタ141,142にそれぞれ接続されたタイマ201,202を備えている。その他の構成は上記実施の形態1と同様であるため、説明は省略する。
【0028】
図5は、本実施の形態2に係る割り込みコントローラ5の動作を説明するためのタイミングチャートである。以下、図4,5を参照し、割り込み要求S1が2回連続して発生した場合を想定して、本実施の形態2に係る割り込みコントローラ5の動作について説明する。
【0029】
上記実施の形態1と同様に、時刻t1において第1回目の割り込み要求S1がデコーダ151に入力され、時刻t2においてプロセッサ22が最も早く割り込み信号T2を受け付け、時刻t3において第2回目の割り込み要求S1がデコーダ151に入力されたものとする。その結果、デコーダ151は、第2回目の割り込み要求S1に対応する割り込み信号U12を、優先順位判定部122に入力する。
【0030】
タイマ201は、クロック数のカウント動作によって、デコーダ151が割り込み信号U12を優先順位判定部122に対して出力してからの時間の経過を計測する。割り込み信号U12が出力された後、予め設定された所定の時間内にプロセッサ22が割り込み信号T2を受け付けた場合、タイマ201のカウント値はゼロにクリアされる。
【0031】
第1回目の割り込み要求S1が入力されてから第2回目の割り込み要求S1が入力されるまでの間に、マスクレジスタ162に設定されている優先順位が、割り込み信号V2の優先順位よりも高い値に変更された場合を考える。この場合、第2回目の割り込み要求S1に対応する割り込み信号V2は、比較器182から出力されない。その結果、プロセッサ22は、デコーダ151から割り込み信号U12が出力されてから上記所定の時間内に、割り込み信号T2を受け付けない。この場合は、図5に示すように、時刻t4においてタイマ201からレジスタ141にクリア信号N1が入力されることによって、レジスタ141の記憶内容が強制的にクリアされる(即ちデータ“1111”に書き戻される)。この例の場合、上記所定の時間はt4−t3となる。レジスタ141の記憶内容がデータ“1111”に書き戻された結果、時刻t5において、割り込み信号U11,U12は優先順位判定部121,122にそれぞれ入力される。
【0032】
このように本実施の形態2に係るマルチプロセッサシステムによれば、割り振り部10Bが出力部112に対して割り込み信号V2を出力した後、所定の時間内にプロセッサ22が割り込み信号T2を受け付けなかった場合、割り振り部10Bは、複数の出力部11の全てに割り込み信号Vを入力する。従って、マスクレジスタ162の設定内容の変更等に起因してプロセッサ22が割り込み信号T2を受け付けない場合は、他のプロセッサ21にその割り込み要求S1を処理させることができる。
【0033】
実施の形態3.
図6は、図4に対応させて、本発明の実施の形態3に係る割り込みコントローラ5の具体的な構成を示すブロック図である。割り振り部10Cは、AND回路211,212を備えている。AND回路211の一方の入力端子はタイマ201に接続されており、出力端子はレジスタ141に接続されている。同様に、AND回路212の一方の入力端子はタイマ202に接続されており、出力端子はレジスタ142に接続されている。
【0034】
本実施の形態3に係る割り込みコントローラ5は、上記実施の形態1と同様に、プロセッサ21〜2nからレジスタ141,142にクリア信号M1,M2をそれぞれ入力することによって、レジスタ141,142の記憶内容を強制的にクリアすることが可能である。
【0035】
また、本実施の形態3に係る割り込みコントローラ5は、上記実施の形態2と同様に、タイマ201,202からレジスタ141,142にクリア信号N1,N2をそれぞれ入力することによって、レジスタ141,142の記憶内容を強制的にクリアすることも可能である。但し、AND回路211,212の各他方の入力端子には設定信号P1,P2が入力されており、プロセッサ21〜2nからのアクセスによって設定信号P1,P2を「L」レベルに設定することにより、タイマ201,202によるレジスタ141,142のクリア機能を実行しないように設定することもできる。
【0036】
このように本実施の形態3に係るマルチプロセッサシステムによれば、レジスタ141,142の記憶内容のクリアに関し、上記実施の形態1,2の各機能をともに実現することができる。
【0037】
【発明の効果】
この発明に係るマルチプロセッサシステムによれば、複数のプロセッサの中から、割り込み要求を処理すべきプロセッサを効率的に決定することができる。
【図面の簡単な説明】
【図1】本発明の実施の形態1に係るマルチプロセッサシステムの構成を示すブロック図である。
【図2】本発明の実施の形態1に係る割り込みコントローラの具体的な構成を示すブロック図である。
【図3】本発明の実施の形態1に係る割り込みコントローラの動作を説明するためのタイミングチャートである。
【図4】本発明の実施の形態2に係る割り込みコントローラの具体的な構成を示すブロック図である。
【図5】本発明の実施の形態2に係る割り込みコントローラの動作を説明するためのタイミングチャートである。
【図6】本発明の実施の形態3に係る割り込みコントローラの具体的な構成を示すブロック図である。
【符号の説明】
21〜2n プロセッサ、5 割り込みコントローラ、10A〜10C 割り振り部、111,112 出力部、141,142 レジスタ、151,152 デコーダ、201,202 タイマ。
【発明の属する技術分野】
この発明は、マルチプロセッサシステムに関し、特に、割り込みコントローラを備えるマルチプロセッサシステムに関するものである。
【0002】
【従来の技術】
割り込みコントローラと複数のプロセッサとを備える従来のマルチプロセッサシステムでは、割り込みコントローラに割り込み要求が入力された場合、複数のプロセッサの全てに、割り込み要求に対応する割り込み信号がそれぞれ入力されていた(例えば、特許文献1参照)。
【0003】
【特許文献1】
特開平8−55038号公報
【0004】
【発明が解決しようとする課題】
このような従来のマルチプロセッサシステムによると、割り込みを処理すべきプロセッサを、割り込み要因に応じて効率的に振り分けるという制御がなされていないという問題があった。
【0005】
本発明は、かかる問題を解決するために成されたものであり、ソフトウェアの複雑な介在を伴うことなく、簡単なハードウェア構成によって、複数のプロセッサの中から、割り込み要求を処理すべきプロセッサを効率的に決定し得るマルチプロセッサシステムを得ることを目的とするものである。
【0006】
【課題を解決するための手段】
この発明によれば、マルチプロセッサシステムは、複数のプロセッサと、複数のプロセッサに接続された割り込みコントローラとを備えている。割り込みコントローラは、複数のプロセッサの各々に対応して設けられ、対応するプロセッサに対して割り込み信号を出力する、複数の出力部と、複数の出力部に接続された割り振り部とを有している。割り込みコントローラに割り込み要求が入力された場合、割り振り部は、複数の出力部の中から、前回の割り込み要求に対応する割り込み信号を受け付けた特定プロセッサに対応する特定出力部を選択して、今回の割り込み要求に対応する割り込み信号を入力する。
【0007】
【発明の実施の形態】
実施の形態1.
図1は、本発明の実施の形態1に係るマルチプロセッサシステムの構成を示すブロック図である。LSI1は、複数のプロセッサ2(図1における21〜2n)と、バスインタフェースユニット(BIU)4と、割り込みコントローラ5と、タイマやシリアルI/O等のI/O装置6と、CPUバス7と、メモリ等のデバイス(図示しない)が接続された外部バス8と、I/Oバス9とを備えている。プロセッサ21〜2nはそれぞれ、CPUコア31〜3nと、キャッシュメモリ(図示しない)とを有している。
【0008】
プロセッサ21〜2n及びBIU4は、CPUバス7に接続されている。BIU4、割り込みコントローラ5、及びI/O装置6は、I/Oバス9に接続されている。BIU4は、外部バス8に接続されている。割り込みコントローラ5は、プロセッサ21〜2nの各々に直接に接続されている。
【0009】
BIU4は、CPUバス7上を流れる命令やデータ等の調停や、外部バス8及びI/Oバス9の制御を行う。プロセッサ21〜2nは、必要とする命令やデータが自己のキャッシュメモリ内に存在しない場合に、その命令やデータのリクエストをCPUバス7に送出する。BIU4は、プロセッサ21〜2nからCPUバス7を介して送られてくる上記リクエストの調停を行う。プロセッサ21〜2nから割り込みコントローラ5及びI/O装置6へのアクセス要求は、BIU4によって調停された後、I/Oバス9を介して割り込みコントローラ5及びI/O装置6に入力される。
【0010】
割り込み要因が互いに異なる複数の割り込み要求S(図1におけるS1〜Sm)は、割り込みコントローラ5に入力される。割り込み要求S1〜Smは、LSI1に内蔵されたI/O装置6又はLSI1の外部に接続されたI/O装置(図示しない)によって発生される。割り込みコントローラ5は、各プロセッサ21〜2nに対応する割り込み信号T(図1におけるT1〜Tn)を生成する。割り込み信号T1〜Tnは、プロセッサ21〜2nの各々に直接に入力される。
【0011】
図2は、本実施の形態1に係る割り込みコントローラ5の具体的な構成を示すブロック図である。但し、図面の簡略化のため、図2では、2個のプロセッサ21,22のみを備えるマルチプロセッサシステムを想定して、割り込みコントローラ5の構成を示している。割り込みコントローラ5は、割り振り部10Aと、プロセッサ間割り込み制御レジスタ13と、出力部11(図2における111,112)と、優先順位判定部12(図2における121,122)とを備えている。出力部111及び優先順位判定部121はプロセッサ21に対応しており、出力部112及び優先順位判定部122はプロセッサ22に対応している。
【0012】
割り振り部10Aは、レジスタ14(図2における141,142)と、デコーダ151,152とを備えている。図2では、割り込み要求S1に対応するレジスタ141及びデコーダ151と、割り込み要求S2に対応するレジスタ142及びデコーダ152のみを示したが、他の割り込み要求S3〜Smに対しても同様に、レジスタ及びデコーダがそれぞれ設けられている。
【0013】
出力部111は、比較器181,191と、マスクレジスタ161と、ステータスレジスタ171とを備えている。同様に出力部112は、比較器182,192と、マスクレジスタ162と、ステータスレジスタ172とを備えている。
【0014】
レジスタ141,142、マスクレジスタ161,162、ステータスレジスタ171,172、及びプロセッサ間割り込み制御レジスタ13は、図1に示したI/Oバス9に接続されており、プロセッサ21〜2nによって各レジスタの記憶内容の読み出し及び書き込みが可能である。例えば、マスクレジスタ161,162には、割り込みの優先順位が設定されており、マスクレジスタ161,162に設定されている優先順位は、プロセッサ21〜2nによって変更可能である。
【0015】
図3は、本実施の形態1に係る割り込みコントローラ5の動作を説明するためのタイミングチャートである。以下、図1〜3を参照し、割り込み要求S1が3回連続して発生した場合を想定して、本実施の形態1に係る割り込みコントローラ5の動作について説明する。
【0016】
LSI1に内蔵されたI/O装置6又はLSI1の外部に接続されたI/O装置が発生した第1回目の割り込み要求S1は、時刻t1において、デコーダ151に入力される。レジスタ141は、例えば4ビットのディジタルデータを記憶できるレジスタである。時刻t1において、レジスタ141には所定の初期値(ここではデータ“1111”とする)が記憶されている。レジスタ141にデータ“1111”が記憶されている場合、デコーダ151は、割り込み要求S1に対応する割り込み信号U(図2におけるU11,U12)を、優先順位判定部121,122にそれぞれ入力する。優先順位判定部121,122は、割り込み信号U11,U12の優先順位を判定した後、割り込み要求S1に対応する割り込み信号V(図2におけるV1,V2)をそれぞれ出力する。
【0017】
割り込み信号V1,V2は、比較器181,182にそれぞれ入力される。比較器181,182は、図示しない割り込みレベルレジスタに設定されている優先順位と、マスクレジスタ161,162に設定されている優先順位とをそれぞれ比較する。割り込みレベルレジスタに設定されている優先順位が、マスクレジスタ161,162に設定されている優先順位よりも高い場合、割り込み信号V1,V2はマスクされずに、後段の比較器191,192に入力される。ここでは、割り込み信号V1,V2はいずれもマスクされないものとする。
【0018】
プロセッサ間割り込み制御レジスタ13は、プロセッサ21,22間の割り込みを制御するレジスタである。プロセッサ間割り込み制御レジスタ13に書き込みを行うことにより、任意のプロセッサ21,22に対してプロセッサ間割り込み要求W1,W2が入力される。
【0019】
プロセッサ間割り込み制御レジスタ13からプロセッサ間割り込み要求W1,W2が入力されている場合、比較器191,192は、無条件でプロセッサ間割り込み要求W1,W2をそれぞれ出力する。一方、プロセッサ間割り込み制御レジスタ13からプロセッサ間割り込み要求W1,W2が入力されていない場合、比較器191,192は、比較器181,182から入力された割り込み信号V1,V2に基づいて、割り込み要求S1に対応する割り込み信号T1,T2をそれぞれ出力する。ここでは、比較器191,192から割り込み信号T1,T2がそれぞれ出力されるものとする。
【0020】
割り込み信号T1,T2は、プロセッサ21,22にそれぞれ入力される。ここでは、時刻t2において、プロセッサ22が最も早く割り込み信号T2を受け付けたものとする。すると、プロセッサ22の番号を示す値(ここではデータ“0001”とする)がステータスレジスタ172に書き込まれる。ステータスレジスタ172の記憶内容はレジスタ141に伝達され、その結果、レジスタ141の記憶内容は、初期値のデータ“1111”からデータ“0001”に書き換えられる。また、プロセッサ22によって割り込み信号T2が受け付けられたことを受けて、時刻t2において割り込み信号U11,U12はキャンセルされる。
【0021】
次に、時刻t3において、第2回目の割り込み要求S1がデコーダ151に入力される。時刻t3において、レジスタ141には、前回割り込み信号T2を受け付けたプロセッサ(特定プロセッサ)22の番号を示すデータ“0001”が記憶されている。レジスタ141にデータ“0001”が記憶されている場合、割り振り部10Aは、複数の出力部111,112の中から、割り込み要求S1に対応する割り込み信号Tを前回受け付けた特定プロセッサ22に対応する出力部(特定出力部)112を選択して、今回の割り込み要求S1に対応する割り込み信号V2を入力する。具体的に、デコーダ151は、割り込み信号U12を優先順位判定部122に入力する一方、優先順位判定部121には割り込み信号U11を入力しない。
【0022】
上記と同様に、優先順位判定部122及び比較器182から割り込み信号V2が出力され、比較器192から割り込み信号T2が出力されたものとする。すると、時刻t4においてプロセッサ22によって割り込み信号T2が受け付けられるとともに、割り込み信号U12がキャンセルされる。
【0023】
図2を参照して、プロセッサ21〜2nからレジスタ141,142にクリア信号M1,M2をそれぞれ入力することによって、レジスタ141,142の記憶内容を強制的にクリアする(即ちデータ“1111”に書き戻す)ことも可能である。例えば、プロセッサ22からのアクセスによって、マスクレジスタ162に設定されている優先順位を、割り込み信号V2の優先順位よりも高い値に変更する場合を考える。この場合、プロセッサ22は、マスクレジスタ162の設定内容を変更するとともに、レジスタ141の記憶内容をクリアする。図3を参照し、時刻t5において、レジスタ141にクリア信号M1が入力されることによって、レジスタ141の記憶内容がデータ“0001”から初期値のデータ“1111”に書き戻されている。
【0024】
次に、時刻t6において、第3回目の割り込み要求S1がデコーダ151に入力される。時刻t6において、レジスタ141にはデータ“1111”が記憶されている。従って、第1回目の割り込み要求S1が入力された場合と同様に、割り込み信号U11,U12が優先順位判定部121,122にそれぞれ入力される。以降の動作は上記と同様であるため、説明は省略する。
【0025】
このように本実施の形態1に係るマルチプロセッサシステムによれば、割り込みコントローラ5に割り込み要求Sが入力された場合、割り振り部10Aは、複数の出力部11の中から、割り込み要求Sに対応する割り込み信号Tを前回受け付けたプロセッサ2に対応する出力部11を選択して、割り込み要求Sに対応する割り込み信号Uを入力する。従って、ソフトウェアの複雑な介在を伴うことなく、簡単なハードウェア構成によって、複数のプロセッサ2の中から、割り込み要求Sを処理すべきプロセッサ2を効率的に決定することが可能となる。
【0026】
また、プロセッサ2からのアクセスによってレジスタ14の記憶内容が所定値(上記の例ではデータ“1111”)に設定された場合、割り振り部10Aは、優先順位判定部12を介して複数の出力部11の全てに割り込み信号Vを入力する。従って、過去の履歴とは無関係に、割り込み要求Sを任意のプロセッサ2によって処理することも可能である。
【0027】
実施の形態2.
図4は、図2に対応させて、本発明の実施の形態2に係る割り込みコントローラ5の具体的な構成を示すブロック図である。割り振り部10Bは、レジスタ141,142にそれぞれ接続されたタイマ201,202を備えている。その他の構成は上記実施の形態1と同様であるため、説明は省略する。
【0028】
図5は、本実施の形態2に係る割り込みコントローラ5の動作を説明するためのタイミングチャートである。以下、図4,5を参照し、割り込み要求S1が2回連続して発生した場合を想定して、本実施の形態2に係る割り込みコントローラ5の動作について説明する。
【0029】
上記実施の形態1と同様に、時刻t1において第1回目の割り込み要求S1がデコーダ151に入力され、時刻t2においてプロセッサ22が最も早く割り込み信号T2を受け付け、時刻t3において第2回目の割り込み要求S1がデコーダ151に入力されたものとする。その結果、デコーダ151は、第2回目の割り込み要求S1に対応する割り込み信号U12を、優先順位判定部122に入力する。
【0030】
タイマ201は、クロック数のカウント動作によって、デコーダ151が割り込み信号U12を優先順位判定部122に対して出力してからの時間の経過を計測する。割り込み信号U12が出力された後、予め設定された所定の時間内にプロセッサ22が割り込み信号T2を受け付けた場合、タイマ201のカウント値はゼロにクリアされる。
【0031】
第1回目の割り込み要求S1が入力されてから第2回目の割り込み要求S1が入力されるまでの間に、マスクレジスタ162に設定されている優先順位が、割り込み信号V2の優先順位よりも高い値に変更された場合を考える。この場合、第2回目の割り込み要求S1に対応する割り込み信号V2は、比較器182から出力されない。その結果、プロセッサ22は、デコーダ151から割り込み信号U12が出力されてから上記所定の時間内に、割り込み信号T2を受け付けない。この場合は、図5に示すように、時刻t4においてタイマ201からレジスタ141にクリア信号N1が入力されることによって、レジスタ141の記憶内容が強制的にクリアされる(即ちデータ“1111”に書き戻される)。この例の場合、上記所定の時間はt4−t3となる。レジスタ141の記憶内容がデータ“1111”に書き戻された結果、時刻t5において、割り込み信号U11,U12は優先順位判定部121,122にそれぞれ入力される。
【0032】
このように本実施の形態2に係るマルチプロセッサシステムによれば、割り振り部10Bが出力部112に対して割り込み信号V2を出力した後、所定の時間内にプロセッサ22が割り込み信号T2を受け付けなかった場合、割り振り部10Bは、複数の出力部11の全てに割り込み信号Vを入力する。従って、マスクレジスタ162の設定内容の変更等に起因してプロセッサ22が割り込み信号T2を受け付けない場合は、他のプロセッサ21にその割り込み要求S1を処理させることができる。
【0033】
実施の形態3.
図6は、図4に対応させて、本発明の実施の形態3に係る割り込みコントローラ5の具体的な構成を示すブロック図である。割り振り部10Cは、AND回路211,212を備えている。AND回路211の一方の入力端子はタイマ201に接続されており、出力端子はレジスタ141に接続されている。同様に、AND回路212の一方の入力端子はタイマ202に接続されており、出力端子はレジスタ142に接続されている。
【0034】
本実施の形態3に係る割り込みコントローラ5は、上記実施の形態1と同様に、プロセッサ21〜2nからレジスタ141,142にクリア信号M1,M2をそれぞれ入力することによって、レジスタ141,142の記憶内容を強制的にクリアすることが可能である。
【0035】
また、本実施の形態3に係る割り込みコントローラ5は、上記実施の形態2と同様に、タイマ201,202からレジスタ141,142にクリア信号N1,N2をそれぞれ入力することによって、レジスタ141,142の記憶内容を強制的にクリアすることも可能である。但し、AND回路211,212の各他方の入力端子には設定信号P1,P2が入力されており、プロセッサ21〜2nからのアクセスによって設定信号P1,P2を「L」レベルに設定することにより、タイマ201,202によるレジスタ141,142のクリア機能を実行しないように設定することもできる。
【0036】
このように本実施の形態3に係るマルチプロセッサシステムによれば、レジスタ141,142の記憶内容のクリアに関し、上記実施の形態1,2の各機能をともに実現することができる。
【0037】
【発明の効果】
この発明に係るマルチプロセッサシステムによれば、複数のプロセッサの中から、割り込み要求を処理すべきプロセッサを効率的に決定することができる。
【図面の簡単な説明】
【図1】本発明の実施の形態1に係るマルチプロセッサシステムの構成を示すブロック図である。
【図2】本発明の実施の形態1に係る割り込みコントローラの具体的な構成を示すブロック図である。
【図3】本発明の実施の形態1に係る割り込みコントローラの動作を説明するためのタイミングチャートである。
【図4】本発明の実施の形態2に係る割り込みコントローラの具体的な構成を示すブロック図である。
【図5】本発明の実施の形態2に係る割り込みコントローラの動作を説明するためのタイミングチャートである。
【図6】本発明の実施の形態3に係る割り込みコントローラの具体的な構成を示すブロック図である。
【符号の説明】
21〜2n プロセッサ、5 割り込みコントローラ、10A〜10C 割り振り部、111,112 出力部、141,142 レジスタ、151,152 デコーダ、201,202 タイマ。
Claims (3)
- 複数のプロセッサと、
前記複数のプロセッサに接続された割り込みコントローラと
を備え、
前記割り込みコントローラは、
前記複数のプロセッサの各々に対応して設けられ、対応するプロセッサに対して割り込み信号を出力する、複数の出力部と、
前記複数の出力部に接続された割り振り部と
を有しており、
前記割り込みコントローラに割り込み要求が入力された場合、前記割り振り部は、前記複数の出力部の中から、前回の前記割り込み要求に対応する前記割り込み信号を受け付けた特定プロセッサに対応する特定出力部を選択して、今回の前記割り込み要求に対応する前記割り込み信号を入力する、マルチプロセッサシステム。 - 前記割り振り部は、前記特定プロセッサの番号を記憶しておくための記憶部を有しており、
前記複数のプロセッサからのアクセスによって、前記記憶部の記憶内容は設定可能であり、
前記記憶部の記憶内容が所定値に設定された場合、前記割り振り部は、前記複数の出力部の全てに前記割り込み信号を入力する、請求項1に記載のマルチプロセッサシステム。 - 前記割り振り部が前記特定出力部に対して前記割り込み信号を出力した後、所定の時間内に前記特定プロセッサが前記割り込み信号を受け付けなかった場合、前記割り振り部は、前記複数の出力部の全てに前記割り込み信号を入力する、請求項1又は2に記載のマルチプロセッサシステム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003006741A JP2004220309A (ja) | 2003-01-15 | 2003-01-15 | マルチプロセッサシステム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003006741A JP2004220309A (ja) | 2003-01-15 | 2003-01-15 | マルチプロセッサシステム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004220309A true JP2004220309A (ja) | 2004-08-05 |
Family
ID=32897032
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003006741A Pending JP2004220309A (ja) | 2003-01-15 | 2003-01-15 | マルチプロセッサシステム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004220309A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010086456A (ja) * | 2008-10-02 | 2010-04-15 | Renesas Technology Corp | データ処理システム及び半導体集積回路 |
US8021135B2 (en) | 2007-06-08 | 2011-09-20 | Sabic Innovative Plastics Ip B.V. | Mold apparatus for forming polymer and method |
US9096009B2 (en) | 2007-10-26 | 2015-08-04 | Sabic Global Technologies B.V. | Method for forming a polymer part |
-
2003
- 2003-01-15 JP JP2003006741A patent/JP2004220309A/ja active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8021135B2 (en) | 2007-06-08 | 2011-09-20 | Sabic Innovative Plastics Ip B.V. | Mold apparatus for forming polymer and method |
US8840386B2 (en) | 2007-06-08 | 2014-09-23 | Sabic Innovative Plastics Ip B.V. | Mold apparatus for forming polymer and method |
US9096009B2 (en) | 2007-10-26 | 2015-08-04 | Sabic Global Technologies B.V. | Method for forming a polymer part |
JP2010086456A (ja) * | 2008-10-02 | 2010-04-15 | Renesas Technology Corp | データ処理システム及び半導体集積回路 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6606677B1 (en) | High speed interrupt controller | |
JP2007058716A (ja) | データ転送バスシステム | |
JP4642531B2 (ja) | データ要求のアービトレーション | |
KR100657256B1 (ko) | 중재기 및 그 중재기를 채용한 버스 시스템 | |
USRE40261E1 (en) | Apparatus and method of partially transferring data through bus and bus master control device | |
JPH08263312A (ja) | バス仲裁方法及びその装置 | |
JP2854474B2 (ja) | バス使用要求調停装置 | |
JP4193746B2 (ja) | マトリックス状バス接続システム | |
JP2004220309A (ja) | マルチプロセッサシステム | |
JP2004127163A (ja) | マルチプロセッサシステム | |
JP2005165592A (ja) | データ転送装置 | |
JP2005165508A (ja) | ダイレクトメモリアクセスコントローラ | |
JP4151362B2 (ja) | バス調停方式、データ転送装置、及びバス調停方法 | |
JP3987750B2 (ja) | メモリ制御装置及びlsi | |
JP2008108126A (ja) | データ転送制御装置及びそのバスアクセス調停方法 | |
JPH10320349A (ja) | プロセッサ及び当該プロセッサを用いるデータ転送システム | |
JPH10149311A (ja) | メモリ制御装置 | |
JP2006065453A (ja) | データ処理装置 | |
JP3206656B2 (ja) | バス上でのプリフェッチ装置およびプリフェッチ方法 | |
JPH11175464A (ja) | 調停装置および方法 | |
US5799160A (en) | Circuit and method for controlling bus arbitration | |
JP2007058424A (ja) | メモリアクセス制御装置 | |
JPH04178869A (ja) | マルチプロセッサシステムの割込み制御装置とその割込み通信方法 | |
JP2806405B2 (ja) | マイクロプロセッサ | |
JP5494925B2 (ja) | 半導体集積回路、情報処理装置およびプロセッサ性能保証方法 |