JP2004220309A - マルチプロセッサシステム - Google Patents

マルチプロセッサシステム Download PDF

Info

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
Application number
JP2003006741A
Other languages
English (en)
Inventor
Mamoru Sakukawa
守 作川
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.)
Renesas Technology Corp
Original Assignee
Renesas Technology Corp
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 Renesas Technology Corp filed Critical Renesas Technology Corp
Priority to JP2003006741A priority Critical patent/JP2004220309A/ja
Publication of JP2004220309A publication Critical patent/JP2004220309A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】複数のプロセッサの中から、割り込み要求を処理すべきプロセッサを効率的に決定し得るマルチプロセッサシステムを得る。
【解決手段】第1回目の割り込み要求Sに対応する割り込み信号Tがプロセッサ2によって受け付けられると、レジスタ14の記憶内容は、初期値のデータ“1111”から、プロセッサ2の番号を示すデータ“0001”に書き換えられる。次に、第2回目の割り込み要求Sがデコーダ15に入力される。レジスタ14にデータ“0001”が記憶されているため、割り振り部10Aは、複数の出力部11,11の中から出力部11を選択して、第2回目の割り込み要求Sに対応する割り込み信号Vを入力する。
【選択図】 図2

Description

【0001】
【発明の属する技術分野】
この発明は、マルチプロセッサシステムに関し、特に、割り込みコントローラを備えるマルチプロセッサシステムに関するものである。
【0002】
【従来の技術】
割り込みコントローラと複数のプロセッサとを備える従来のマルチプロセッサシステムでは、割り込みコントローラに割り込み要求が入力された場合、複数のプロセッサの全てに、割り込み要求に対応する割り込み信号がそれぞれ入力されていた(例えば、特許文献1参照)。
【0003】
【特許文献1】
特開平8−55038号公報
【0004】
【発明が解決しようとする課題】
このような従来のマルチプロセッサシステムによると、割り込みを処理すべきプロセッサを、割り込み要因に応じて効率的に振り分けるという制御がなされていないという問題があった。
【0005】
本発明は、かかる問題を解決するために成されたものであり、ソフトウェアの複雑な介在を伴うことなく、簡単なハードウェア構成によって、複数のプロセッサの中から、割り込み要求を処理すべきプロセッサを効率的に決定し得るマルチプロセッサシステムを得ることを目的とするものである。
【0006】
【課題を解決するための手段】
この発明によれば、マルチプロセッサシステムは、複数のプロセッサと、複数のプロセッサに接続された割り込みコントローラとを備えている。割り込みコントローラは、複数のプロセッサの各々に対応して設けられ、対応するプロセッサに対して割り込み信号を出力する、複数の出力部と、複数の出力部に接続された割り振り部とを有している。割り込みコントローラに割り込み要求が入力された場合、割り振り部は、複数の出力部の中から、前回の割り込み要求に対応する割り込み信号を受け付けた特定プロセッサに対応する特定出力部を選択して、今回の割り込み要求に対応する割り込み信号を入力する。
【0007】
【発明の実施の形態】
実施の形態1.
図1は、本発明の実施の形態1に係るマルチプロセッサシステムの構成を示すブロック図である。LSI1は、複数のプロセッサ2(図1における2〜2)と、バスインタフェースユニット(BIU)4と、割り込みコントローラ5と、タイマやシリアルI/O等のI/O装置6と、CPUバス7と、メモリ等のデバイス(図示しない)が接続された外部バス8と、I/Oバス9とを備えている。プロセッサ2〜2はそれぞれ、CPUコア3〜3と、キャッシュメモリ(図示しない)とを有している。
【0008】
プロセッサ2〜2及びBIU4は、CPUバス7に接続されている。BIU4、割り込みコントローラ5、及びI/O装置6は、I/Oバス9に接続されている。BIU4は、外部バス8に接続されている。割り込みコントローラ5は、プロセッサ2〜2の各々に直接に接続されている。
【0009】
BIU4は、CPUバス7上を流れる命令やデータ等の調停や、外部バス8及びI/Oバス9の制御を行う。プロセッサ2〜2は、必要とする命令やデータが自己のキャッシュメモリ内に存在しない場合に、その命令やデータのリクエストをCPUバス7に送出する。BIU4は、プロセッサ2〜2からCPUバス7を介して送られてくる上記リクエストの調停を行う。プロセッサ2〜2から割り込みコントローラ5及びI/O装置6へのアクセス要求は、BIU4によって調停された後、I/Oバス9を介して割り込みコントローラ5及びI/O装置6に入力される。
【0010】
割り込み要因が互いに異なる複数の割り込み要求S(図1におけるS〜S)は、割り込みコントローラ5に入力される。割り込み要求S〜Sは、LSI1に内蔵されたI/O装置6又はLSI1の外部に接続されたI/O装置(図示しない)によって発生される。割り込みコントローラ5は、各プロセッサ2〜2に対応する割り込み信号T(図1におけるT〜T)を生成する。割り込み信号T〜Tは、プロセッサ2〜2の各々に直接に入力される。
【0011】
図2は、本実施の形態1に係る割り込みコントローラ5の具体的な構成を示すブロック図である。但し、図面の簡略化のため、図2では、2個のプロセッサ2,2のみを備えるマルチプロセッサシステムを想定して、割り込みコントローラ5の構成を示している。割り込みコントローラ5は、割り振り部10Aと、プロセッサ間割り込み制御レジスタ13と、出力部11(図2における11,11)と、優先順位判定部12(図2における12,12)とを備えている。出力部11及び優先順位判定部12はプロセッサ2に対応しており、出力部11及び優先順位判定部12はプロセッサ2に対応している。
【0012】
割り振り部10Aは、レジスタ14(図2における14,14)と、デコーダ15,15とを備えている。図2では、割り込み要求Sに対応するレジスタ14及びデコーダ15と、割り込み要求Sに対応するレジスタ14及びデコーダ15のみを示したが、他の割り込み要求S〜Sに対しても同様に、レジスタ及びデコーダがそれぞれ設けられている。
【0013】
出力部11は、比較器18,19と、マスクレジスタ16と、ステータスレジスタ17とを備えている。同様に出力部11は、比較器18,19と、マスクレジスタ16と、ステータスレジスタ17とを備えている。
【0014】
レジスタ14,14、マスクレジスタ16,16、ステータスレジスタ17,17、及びプロセッサ間割り込み制御レジスタ13は、図1に示したI/Oバス9に接続されており、プロセッサ2〜2によって各レジスタの記憶内容の読み出し及び書き込みが可能である。例えば、マスクレジスタ16,16には、割り込みの優先順位が設定されており、マスクレジスタ16,16に設定されている優先順位は、プロセッサ2〜2によって変更可能である。
【0015】
図3は、本実施の形態1に係る割り込みコントローラ5の動作を説明するためのタイミングチャートである。以下、図1〜3を参照し、割り込み要求Sが3回連続して発生した場合を想定して、本実施の形態1に係る割り込みコントローラ5の動作について説明する。
【0016】
LSI1に内蔵されたI/O装置6又はLSI1の外部に接続されたI/O装置が発生した第1回目の割り込み要求Sは、時刻t1において、デコーダ15に入力される。レジスタ14は、例えば4ビットのディジタルデータを記憶できるレジスタである。時刻t1において、レジスタ14には所定の初期値(ここではデータ“1111”とする)が記憶されている。レジスタ14にデータ“1111”が記憶されている場合、デコーダ15は、割り込み要求Sに対応する割り込み信号U(図2におけるU11,U12)を、優先順位判定部12,12にそれぞれ入力する。優先順位判定部12,12は、割り込み信号U11,U12の優先順位を判定した後、割り込み要求Sに対応する割り込み信号V(図2におけるV,V)をそれぞれ出力する。
【0017】
割り込み信号V,Vは、比較器18,18にそれぞれ入力される。比較器18,18は、図示しない割り込みレベルレジスタに設定されている優先順位と、マスクレジスタ16,16に設定されている優先順位とをそれぞれ比較する。割り込みレベルレジスタに設定されている優先順位が、マスクレジスタ16,16に設定されている優先順位よりも高い場合、割り込み信号V,Vはマスクされずに、後段の比較器19,19に入力される。ここでは、割り込み信号V,Vはいずれもマスクされないものとする。
【0018】
プロセッサ間割り込み制御レジスタ13は、プロセッサ2,2間の割り込みを制御するレジスタである。プロセッサ間割り込み制御レジスタ13に書き込みを行うことにより、任意のプロセッサ2,2に対してプロセッサ間割り込み要求W,Wが入力される。
【0019】
プロセッサ間割り込み制御レジスタ13からプロセッサ間割り込み要求W,Wが入力されている場合、比較器19,19は、無条件でプロセッサ間割り込み要求W,Wをそれぞれ出力する。一方、プロセッサ間割り込み制御レジスタ13からプロセッサ間割り込み要求W,Wが入力されていない場合、比較器19,19は、比較器18,18から入力された割り込み信号V,Vに基づいて、割り込み要求Sに対応する割り込み信号T,Tをそれぞれ出力する。ここでは、比較器19,19から割り込み信号T,Tがそれぞれ出力されるものとする。
【0020】
割り込み信号T,Tは、プロセッサ2,2にそれぞれ入力される。ここでは、時刻t2において、プロセッサ2が最も早く割り込み信号Tを受け付けたものとする。すると、プロセッサ2の番号を示す値(ここではデータ“0001”とする)がステータスレジスタ17に書き込まれる。ステータスレジスタ17の記憶内容はレジスタ14に伝達され、その結果、レジスタ14の記憶内容は、初期値のデータ“1111”からデータ“0001”に書き換えられる。また、プロセッサ2によって割り込み信号Tが受け付けられたことを受けて、時刻t2において割り込み信号U11,U12はキャンセルされる。
【0021】
次に、時刻t3において、第2回目の割り込み要求Sがデコーダ15に入力される。時刻t3において、レジスタ14には、前回割り込み信号Tを受け付けたプロセッサ(特定プロセッサ)2の番号を示すデータ“0001”が記憶されている。レジスタ14にデータ“0001”が記憶されている場合、割り振り部10Aは、複数の出力部11,11の中から、割り込み要求Sに対応する割り込み信号Tを前回受け付けた特定プロセッサ2に対応する出力部(特定出力部)11を選択して、今回の割り込み要求Sに対応する割り込み信号Vを入力する。具体的に、デコーダ15は、割り込み信号U12を優先順位判定部12に入力する一方、優先順位判定部12には割り込み信号U11を入力しない。
【0022】
上記と同様に、優先順位判定部12及び比較器18から割り込み信号Vが出力され、比較器19から割り込み信号Tが出力されたものとする。すると、時刻t4においてプロセッサ2によって割り込み信号Tが受け付けられるとともに、割り込み信号U12がキャンセルされる。
【0023】
図2を参照して、プロセッサ2〜2からレジスタ14,14にクリア信号M,Mをそれぞれ入力することによって、レジスタ14,14の記憶内容を強制的にクリアする(即ちデータ“1111”に書き戻す)ことも可能である。例えば、プロセッサ2からのアクセスによって、マスクレジスタ16に設定されている優先順位を、割り込み信号Vの優先順位よりも高い値に変更する場合を考える。この場合、プロセッサ2は、マスクレジスタ16の設定内容を変更するとともに、レジスタ14の記憶内容をクリアする。図3を参照し、時刻t5において、レジスタ14にクリア信号Mが入力されることによって、レジスタ14の記憶内容がデータ“0001”から初期値のデータ“1111”に書き戻されている。
【0024】
次に、時刻t6において、第3回目の割り込み要求Sがデコーダ15に入力される。時刻t6において、レジスタ14にはデータ“1111”が記憶されている。従って、第1回目の割り込み要求Sが入力された場合と同様に、割り込み信号U11,U12が優先順位判定部12,12にそれぞれ入力される。以降の動作は上記と同様であるため、説明は省略する。
【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は、レジスタ14,14にそれぞれ接続されたタイマ20,20を備えている。その他の構成は上記実施の形態1と同様であるため、説明は省略する。
【0028】
図5は、本実施の形態2に係る割り込みコントローラ5の動作を説明するためのタイミングチャートである。以下、図4,5を参照し、割り込み要求Sが2回連続して発生した場合を想定して、本実施の形態2に係る割り込みコントローラ5の動作について説明する。
【0029】
上記実施の形態1と同様に、時刻t1において第1回目の割り込み要求Sがデコーダ15に入力され、時刻t2においてプロセッサ2が最も早く割り込み信号Tを受け付け、時刻t3において第2回目の割り込み要求Sがデコーダ15に入力されたものとする。その結果、デコーダ15は、第2回目の割り込み要求Sに対応する割り込み信号U12を、優先順位判定部12に入力する。
【0030】
タイマ20は、クロック数のカウント動作によって、デコーダ15が割り込み信号U12を優先順位判定部12に対して出力してからの時間の経過を計測する。割り込み信号U12が出力された後、予め設定された所定の時間内にプロセッサ2が割り込み信号Tを受け付けた場合、タイマ20のカウント値はゼロにクリアされる。
【0031】
第1回目の割り込み要求Sが入力されてから第2回目の割り込み要求Sが入力されるまでの間に、マスクレジスタ16に設定されている優先順位が、割り込み信号Vの優先順位よりも高い値に変更された場合を考える。この場合、第2回目の割り込み要求Sに対応する割り込み信号Vは、比較器18から出力されない。その結果、プロセッサ2は、デコーダ15から割り込み信号U12が出力されてから上記所定の時間内に、割り込み信号Tを受け付けない。この場合は、図5に示すように、時刻t4においてタイマ20からレジスタ14にクリア信号Nが入力されることによって、レジスタ14の記憶内容が強制的にクリアされる(即ちデータ“1111”に書き戻される)。この例の場合、上記所定の時間はt4−t3となる。レジスタ14の記憶内容がデータ“1111”に書き戻された結果、時刻t5において、割り込み信号U11,U12は優先順位判定部12,12にそれぞれ入力される。
【0032】
このように本実施の形態2に係るマルチプロセッサシステムによれば、割り振り部10Bが出力部11に対して割り込み信号Vを出力した後、所定の時間内にプロセッサ2が割り込み信号Tを受け付けなかった場合、割り振り部10Bは、複数の出力部11の全てに割り込み信号Vを入力する。従って、マスクレジスタ16の設定内容の変更等に起因してプロセッサ2が割り込み信号Tを受け付けない場合は、他のプロセッサ2にその割り込み要求Sを処理させることができる。
【0033】
実施の形態3.
図6は、図4に対応させて、本発明の実施の形態3に係る割り込みコントローラ5の具体的な構成を示すブロック図である。割り振り部10Cは、AND回路21,21を備えている。AND回路21の一方の入力端子はタイマ20に接続されており、出力端子はレジスタ14に接続されている。同様に、AND回路21の一方の入力端子はタイマ20に接続されており、出力端子はレジスタ14に接続されている。
【0034】
本実施の形態3に係る割り込みコントローラ5は、上記実施の形態1と同様に、プロセッサ2〜2からレジスタ14,14にクリア信号M,Mをそれぞれ入力することによって、レジスタ14,14の記憶内容を強制的にクリアすることが可能である。
【0035】
また、本実施の形態3に係る割り込みコントローラ5は、上記実施の形態2と同様に、タイマ20,20からレジスタ14,14にクリア信号N,Nをそれぞれ入力することによって、レジスタ14,14の記憶内容を強制的にクリアすることも可能である。但し、AND回路21,21の各他方の入力端子には設定信号P,Pが入力されており、プロセッサ2〜2からのアクセスによって設定信号P,Pを「L」レベルに設定することにより、タイマ20,20によるレジスタ14,14のクリア機能を実行しないように設定することもできる。
【0036】
このように本実施の形態3に係るマルチプロセッサシステムによれば、レジスタ14,14の記憶内容のクリアに関し、上記実施の形態1,2の各機能をともに実現することができる。
【0037】
【発明の効果】
この発明に係るマルチプロセッサシステムによれば、複数のプロセッサの中から、割り込み要求を処理すべきプロセッサを効率的に決定することができる。
【図面の簡単な説明】
【図1】本発明の実施の形態1に係るマルチプロセッサシステムの構成を示すブロック図である。
【図2】本発明の実施の形態1に係る割り込みコントローラの具体的な構成を示すブロック図である。
【図3】本発明の実施の形態1に係る割り込みコントローラの動作を説明するためのタイミングチャートである。
【図4】本発明の実施の形態2に係る割り込みコントローラの具体的な構成を示すブロック図である。
【図5】本発明の実施の形態2に係る割り込みコントローラの動作を説明するためのタイミングチャートである。
【図6】本発明の実施の形態3に係る割り込みコントローラの具体的な構成を示すブロック図である。
【符号の説明】
〜2 プロセッサ、5 割り込みコントローラ、10A〜10C 割り振り部、11,11 出力部、14,14 レジスタ、15,15 デコーダ、20,20 タイマ。

Claims (3)

  1. 複数のプロセッサと、
    前記複数のプロセッサに接続された割り込みコントローラと
    を備え、
    前記割り込みコントローラは、
    前記複数のプロセッサの各々に対応して設けられ、対応するプロセッサに対して割り込み信号を出力する、複数の出力部と、
    前記複数の出力部に接続された割り振り部と
    を有しており、
    前記割り込みコントローラに割り込み要求が入力された場合、前記割り振り部は、前記複数の出力部の中から、前回の前記割り込み要求に対応する前記割り込み信号を受け付けた特定プロセッサに対応する特定出力部を選択して、今回の前記割り込み要求に対応する前記割り込み信号を入力する、マルチプロセッサシステム。
  2. 前記割り振り部は、前記特定プロセッサの番号を記憶しておくための記憶部を有しており、
    前記複数のプロセッサからのアクセスによって、前記記憶部の記憶内容は設定可能であり、
    前記記憶部の記憶内容が所定値に設定された場合、前記割り振り部は、前記複数の出力部の全てに前記割り込み信号を入力する、請求項1に記載のマルチプロセッサシステム。
  3. 前記割り振り部が前記特定出力部に対して前記割り込み信号を出力した後、所定の時間内に前記特定プロセッサが前記割り込み信号を受け付けなかった場合、前記割り振り部は、前記複数の出力部の全てに前記割り込み信号を入力する、請求項1又は2に記載のマルチプロセッサシステム。
JP2003006741A 2003-01-15 2003-01-15 マルチプロセッサシステム Pending JP2004220309A (ja)

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)

* Cited by examiner, † Cited by third party
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

Cited By (4)

* Cited by examiner, † Cited by third party
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) 半導体集積回路、情報処理装置およびプロセッサ性能保証方法