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

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

Info

Publication number
JPH11272632A
JPH11272632A JP7026298A JP7026298A JPH11272632A JP H11272632 A JPH11272632 A JP H11272632A JP 7026298 A JP7026298 A JP 7026298A JP 7026298 A JP7026298 A JP 7026298A JP H11272632 A JPH11272632 A JP H11272632A
Authority
JP
Japan
Prior art keywords
interrupt
vector
processor
bus
processors
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
JP7026298A
Other languages
English (en)
Inventor
Kanzo Noda
完三 野田
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.)
Sharp Corp
Original Assignee
Sharp 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 Sharp Corp filed Critical Sharp Corp
Priority to JP7026298A priority Critical patent/JPH11272632A/ja
Publication of JPH11272632A publication Critical patent/JPH11272632A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Bus Control (AREA)

Abstract

(57)【要約】 【課題】 従来の共有メモリ型マルチプロセッサシステ
ムは、従来の汎用マイクロプロセッサとソフトウエアの
互換性がなく、小規模なマルチプロセッサシステムに適
用が難しく、簡単なハードウエアにて実現が不可能で、
LSI化において外部接続信号線数が増加し、割込みベ
クタ読取りに伴う共有バスアクセスのオーバーヘッドが
発生し、割込み処理を並列処理するための効率的な分散
制御が難しいという課題があった。 【解決手段】 プロセッサ1aと、1bの2つのプロセ
ッサの場合、ベクタレジスタ2a,2b、各プロセッサ
のローカルバス5a、5bに接続されるベクタ制御部3
a、3b、各プロセッサを共有バス14に接続するため
のバスバッファ4a、4b、各プロセッサからの共有バ
スアクセス要求を調停するための共有バスアービタ1
1、各プロセッサへの割込みを制御する割込み制御部1
0、共有バス14に接続される共有メモリ12、IO制
御部13とを含む。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、マルチプロセッサ
システムに関し、特に複数のプロセッサがバスを共有す
るマルチプロセッサシステムにおける割込み制御に関す
る。
【0002】
【従来の技術】プロセッサにおいて、マルチタスクシス
テムのタスク切替え、ハードウェア例外処理、周辺IO
の処理終了通知など、実行中のプログラムの処理の切替
を行うために割込みが使用される。プロセッサ内部又
は、外部からの割込み要求が発生すると、プロセッサは
割込み受付許可状態であれば、実行中の命令を終了後、
次に実行すべき命令アドレスを示す命令レジスタなどの
所定のレジスタをメモリなどに退避して、その後、割込
みベクタの読取りを行う。
【0003】割込みベクタは、予め定められたアドレス
のメモリ上に置かれ、その中には割込み要因に対応する
割込み処理プログラムの先頭メモリアドレスが格納され
ている。その後,プロセッサは割込みベクタで示される
メモリアドレスの命令を読込んで、割込み処理プログラ
ムの実行を行う。このように、割込みにより実行中のプ
ログラムの処理を一時中断し、割込み処理プログラムを
実行して、実行する処理の切替を行う。このような割込
み方式は、ベクタ割込みと呼ばれ、現在のマイクロプロ
セッサにおいて標準として広く普及している。
【0004】近年、マルチメディア処理や高精細画像処
理などのさまざまな分野で、プロセッサ性能の向上に対
する要求が高まっている。しかし、現在のLSI(Larg
e S-cale Integration)製造技術では、デバイスの高速
化にも限度がある。そこで、分散処理方式のバス共有型
マルチプロセッサシステムが注目を浴びており、盛んに
研究、開発されている。このようなマルチプロセッサシ
ステムは、複数個の汎用マイクロプロセッサで構成され
るため、割込み処理においても従来の汎用マイクロプロ
セッサとの間で、ハードウェア及びソフトウェアにおい
て互換性が必要であり、ベクタ割込み方式を採用するこ
とが一般的である。
【0005】図6に従来のマルチプロセッサシステムの
構成の一例を示す。本従来例1のマルチプロセッサシス
テムは、プロセッサ1a及び、1bの2つのプロセッサ
で構成され、共有メモリ12が共有バス14に接続され
ている。外部割込みであるNMI及び、IRQ割込み
は、予め割込み処理を行うプロセッサが決められてい
る。プロセッサ1aがNMI割込み処理を、プロセッサ
1bがIRQ割込み処理を、それぞれ担当するように割
込み信号が接続されている。又、割込みベクタ領域は、
プロセッサ1a,1bともに、共有メモリ12の特定ア
ドレスに割付けられている。
【0006】NMI割込みが発生すると、NMI要求信
号がプロセッサ1aに入力される。プロセサ1aは、割
込み受付可能で有れば、実行中の命令の終了後、次に実
行すべき命令アドレスを示す命令レジスタなどの所定の
レジスタを共有メモリ12に退避して、その後、割込み
ベクタの読取りを行う。プロセッサ1aが割込みベクタ
の読取りを要求すると、バスバッファ4aがローカルバ
ス5a上のアドレス情報から、共有メモリ12のアクセ
スであることを認識して、共有バスアービタ11に共有
バス14のアクセス要求を発生する。
【0007】共有バスアービタ11は、プロセッサ1a
とプロセッサ1bの共有バスアクセスの調停を行ってお
り、プロセッサ1aの共有バス14のアクセスが可能に
なると、バスバッファ4aに共有バス14のアクセスを
許可する。それによって、バスバッファ4aは、プロセ
ッサ1aのローカルバス5aと共有バス14を接続し
て、共有メモリ12のアクセスを行い、割込みベクタの
読取りを行う。その後、読取った割込みベクタで示され
るメモリアドレスの命令を読込んで割込み処理プログラ
ムの実行を行う。IRQ割込みの場合も割込み処理プロ
セッサがプロセッサ1bになるだけで、NMIの場合と
同様にして割込み処理を行う。
【0008】このようにして、マルチプロセッサの割込
み処理が行われるが、割込みの発生に伴って、割込みベ
クタの読出し処理が頻繁に発生すると、共有メモリ12
上の割込みベクタテーブルの読出しサイクルだけでな
く、共有バス14のアクセス権の獲得要求を出して、ア
クセス権を獲得するためのバス獲得サイクルが必要であ
り、又、他のプロセッサが共有バス14のアクセスを行
っている場合には、そのサイクルが終了するまでベクタ
テーブルの読出しが待たされるため、マルチプロセッサ
システムを構成するプロセッサの数が増えるに従って、
割込みベクタ読取りに伴う共有バスのアクセスのオーバ
ーヘッドが大きくなり、割込み処理を含めたシステムの
処理能力が低下するという問題があった。又、割込み処
理を行うプロセッサが各割込み要因ごとにシステム構成
段階で固定化されるために、処理プログラムなどのアプ
リケーションが変るたびに負荷の軽いプロセッサに割込
み処理を振分けるような柔軟なシステム構成が取り難か
った。
【0009】又、他の従来例として、図7に示すような
マルチプロセサシステムが提案されている。本従来例2
のマルチプロセッサシステムは、従来例1のマルチプロ
セッサシステムに、ローカルメモリ15a及び,15b
が追加されたものであり、割込みベクタ領域を、それぞ
れのプロセッサ1a、1bのローカルメモリ15a、1
5bに割付けたものである。本従来例2は、NMI割込
みが発生すると、NMI要求信号がプロセッサ1aに入
力される。プロセサ1aは、割込み受付可能で有れば、
実行中の命令の終了後、次に実行すべき命令アドレスを
示す命令レジスタなどの所定のレジスタをローカルメモ
リ15aに退避後、ローカルメモリ15aの割込みベク
タの読込みを行う。
【0010】その後、読取った割込みベクタで示される
メモリアドレスの命令を読込んで割込み処理プログラム
の実行を行う。IRQ割込みの場合も割込み処理プロセ
ッサがプロセッサ1bになるだけで、NMIの場合と同
様にして割込み処理を行う。このようにして、割込みベ
クタを格納するためのローカルメモリを追加して、割込
みベクタ読取りに伴う共有バスアクセスのオーバーヘッ
ドを抑えるようにしている。しかしながら、本従来例2
においては、割込みベクタ格納用のローカルメモリを専
用に用意する必要があった。又、従来例1と同様に、割
込み処理を行うプロセッサは固定化されており、やは
り、柔軟なシステム構成が取り難いという問題がある。
【0011】そこで、この問題を解決するために、特開
平6−35864号公報には、新たにサブプロセッサバ
スを設けて、割込みベクタを格納する専用ローカルメモ
リを、サブプロセッサバスに接続することにより、割込
み処理に起因する共有バスのオーバーヘッドを抑えて、
かつ、従来のプロセッサとのソフトウェア的な互換性を
保つ技術が開示されている。又、上記特開平6−358
64号公報の技術においては、割込み要求信号は、割込
み分配部において、共有バスを占有していないほうのプ
ロセッサに通知される仕組になっており、共有バスを使
用していないプロセッサ、即ち、負荷の軽いプロセッサ
に割込み処理を割振ることによって、システム全体の処
理効率が良くなるようになっている。
【0012】
【発明が解決しようとする課題】しかしながら、上記特
開平6−35864号公報の技術は、新たにサブプロセ
ッサバスと、ベクタ専用のローカルメモリを設ける必要
があり、メインプロセッサバスとサブプロセッサバスと
のアクセス切替制御や、サブプロセッサバスのアービト
レーション制御などの複雑な制御回路が必要になり、ハ
ードウエア量が増え、コストの増加を招くため、小規模
なマルチプロセッサシステムには適しておらず、共有バ
スを使用していないプロセッサがアイドル状態であると
判断して、一義的に共有バスを使用していないプロセッ
サに割込み処理を行わせるため、割込み発生時には共有
バスを使用していないが、内部演算処理などを実行して
いて処理負荷が高いプロセッサに割込み処理を行わせる
可能性があり、必ずしもシステム全体の処理効率が良く
ならなかった。
【0013】又、マルチプロセッサシステムを1チップ
のLSIに集積する場合に、サブプロセッサバスの追加
に伴う外部接続信号線数の増加を招き、LSIパッケー
ジのピン数が増えて、LSIチップの小型化が難しかっ
た。そのため、従来の汎用マイクロプロセッサとソフト
ウエアの互換性があり、小規模なマルチプロセッサシス
テムに適用可能で、簡単なハードウエアにて実現可能、
かつ、LSI化においても外部接続信号線数が増えるこ
とが無く、割込みベクタ読取りに伴う共有バスのオーバ
ーヘッドを抑えた割込み制御回路が必要という課題があ
った。又、割込み処理を並列処理するために効率的に割
込みをプロセッサに分散させる割込み制御回路も必要と
言う課題があった。
【0014】
【課題を解決するための手段】上記課題を解決するた
め、請求項1に記載のマルチプロセッサシステムは、共
有の第1のバスに接続された共有メモリと、上記第1の
バスに接続された複数の第2のバスに、それぞれ接続さ
れた複数のプロセッサと、上記複数のプロセッサに対応
して、上記第2のバスに接続された複数の割込みベクタ
の格納手段と、上記複数のプロセッサの上記共有メモリ
に対する割込ベクタ読取りを検出するベクタ読取検出手
段と、上記複数のプロセッサが、上記共有メモリに対す
る割込みベクタの読取り要求を発生した際に、上記ベク
タ読取検出手段が割込みベクタ読取りを検出し、上記格
納手段に格納された割込みベクタを、上記第2のバス上
に送出するベクタ送出手段を備える。
【0015】請求項2に記載のマルチプロセッサシステ
ムは、請求項1記載のマルチプロセッサシステムにおい
て、外部からの割込み要求を、上記複数のプロセッサに
通知する割込通知手段を備える。
【0016】請求項3に記載のマルチプロセッサシステ
ムは、請求項1又は、請求項2記載のマルチプロセッサ
システムにおいて、上記ベクタ読取検出手段が、上記割
込みベクタの読取りを検出したとき、上記複数のプロセ
ッサから上記第1のバスへの割込みベクタ読取り要求を
阻止する阻止手段を備える。
【0017】請求項4に記載のマルチプロセッサシステ
ムは、請求項1乃至請求項3記載のマルチプロセッサシ
ステムにおいて、上記複数のプロセッサの割込みベクタ
の書込みを検出する検出手段を備え、上記複数のプロセ
ッサから上記共有メモリへ、上記割込みベクタ書込み時
に、上記第2のバス上のデータを上記格納手段に格納す
る。
【0018】請求項5に記載のマルチプロセッサシステ
ムは、請求項1乃至請求項4記載のマルチプロセッサシ
ステムにおいて、上記格納手段は、上記割込みベクタの
有効性を示すフラグを備え、上記割込通知手段は、上記
フラグを判定して割込みベクタが無効な場合に、割込み
通知を阻止する。
【0019】請求項6に記載のマルチプロセッサシステ
ムは、請求項5記載のマルチプロセッサシステムにおい
て、上記フラグは、上記割込みベクタの書込みを検出す
る検出手段により、上記割込みベクタの書込みを検出し
て、上記割込みベクタの有効性がセットされる。
【0020】上記構成により、割込み発生時の割込みベ
クタの読取り時に、共有バスの負荷を高めることがない
ので、システム全体のパフォーマンスを落すことなく、
割込みベクタ専用のローカルメモリを設けたり、外部接
続信号線数が増えることもなく、簡単なハードウエアで
実現可能な割込み制御回路が実現できる。又、割込み処
理を任意のプロセッサに割当てることができ、割込み処
理を効率良く分散処理できる。
【0021】
【発明の実施の形態】以下、図面に基づいて、本発明の
実施形態を詳細に説明する。図1は、本発明のマルチプ
ロセッサシステムの実施形態のブロック図である。図1
に示すように、本発明のマルチプロセッサシステムは、
2つのプロセッサ1a及び、1bと、前記プロセッサ1
a、1bに、対応して設けられたベクタレジスタ2a,
2b及び、ローカルバス5a、5bと、上記ベクタレジ
スタ2a、2bとローカルバス5a、5bとを結ぶベク
タ制御部3a、3bと、上記プロセッサ1a、1b及び
ベクタ制御部3a、3bを共有バス14に接続するため
のバスバッファ4a、4bと、前記バスバッファ4a及
び、4bに接続され、上記プロセッサ1a、1bからの
共有バスアクセス要求を調停するための共有バスアービ
タ11と、プロセッサ1a、1bへの割込みを制御する
割込み制御部10と、共有バス14に接続される共有メ
モリ12及び、IO制御部13とから構成される。尚、
一般的なマルチプロセッサシステムでは、この他に表示
装置、補助記憶装置、キーボード等の入力装置、通信装
置などの各種周辺IO装置が共有バスなどに接続される
構成であるが本発明に係わりの無い部分であるので、図
1には示していない。
【0022】上記共有メモリ12は、プロセッサ1a、
1bのメモリ空間にアドレス割付けされており、プロセ
ッサ1a、1bから全領域をアクセス可能な構成になっ
ている。プロセッサ1a、1bからの共有メモリ12の
アクセス要求は、バスバッファ4a、4bを経由して共
有バスアービタ11に入力され、アクセス許可応答が得
られると、バスバッファ4a、4bが、プロセッサ1
a、1bのローカルバス5a、5bを共有バス14に接
続することによって行われる。上記共有バスアービタ1
1は、プロセッサ1aとプロセッサ1bとからの共有メ
モリ12や、IO制御部13などの共有バス14へのア
クセス要求の調停を行い、プロセッサ1a、1bからの
アクセス要求に対して、所定の優先順位に従って選択し
たプロセッサに対して共有バス14の使用許可を与える
ものである。
【0023】上記共有メモリ12のアドレス割付けは、
プロセッサ1aから見た場合も、プロセッサ1bから見
た場合も同一の割付けがされており、図3に示す構成に
なっている。アドレス0000番地から000C番地は、プロセ
ッサ1a、1bのベクタ領域に割当てられており、プロ
セッサ1a、1bの割込み処理プログラムの先頭アドレ
ス(割込みベクタ)を格納する領域である。これは、プ
ロセッサ1a、1bは、ベクタ割込み方式を採用した汎
用のマイクロプロセッサを使用するので、メモリの固定
アドレス領域が予め割込みベクタ領域として決められて
いるためである。
【0024】プロセッサ1a、1bは、外部割込みとし
て、IRQ、NMIが割込み制御部10から入力され
る。IRQ割込みは、IO制御部13からの割込み信号
IRQ0と、その他のIO制御部(図示せず)からの割
込み要求IRQ1,IRQ2信号が、割込み制御部10
を経由して、プロセッサ1a、1bへの割込み要求IR
Qになる。NMI割込みは、SW入力(図示せず)など
の外部からのNMI要求信号が、割込み制御部10を経
由して、プロセッサ1a、1bへの割込み要求NMIに
なる。
【0025】又、内部割込みとしてメモリ保護違反や、
ハードウエア異常などを通知するためのハードウエア例
外、プログラムにより意識的に割込みを発生させるため
のソフトウエア割込みがあり、外部割込みのNMI及
び、IRQと合わせて4種類の割込みが存在する。その
ため、ベクタ領域は、上記4種類の割込みに対応できる
ように4種類のエントリーから構成される。
【0026】アドレスA番地以降は、各割込み処理プロ
グラムの領域であり、プロセッサ1aとプロセッサ1b
とで、共通の処理を行う場合には共通部に、それぞれ異
なる処理を行う場合にはプロセッサ1aとプロセッサ1
bの、それぞれの個別の領域に割込み処理プログラムが
置かれる。本実施形態においては、共通部にはハードウ
エア例外処理プログラムと、NMI処理プログラムが置
かれ、個別の領域にはIRQ処理プログラムと、ソフト
割込み処理プログラムが置かれている。ベクタレジスタ
2aは、ベクタ制御部3aの制御により、プロセッサ1
aが共有メモリ12のベクタ領域にセットしたベクタを
格納する。
【0027】図2は、図1のベクタレジスタ2aの詳細
な構成図である。共有メモリ12のベクタ領域と同様の
4種類の割込みに対応する、ハードウエア例外20a、
NMI21a、IRQ22a及び、ソフト割込み23a
の4つのレジスタで構成される。上記各レジスタは、そ
れぞれのベクタが有効であるか無効であるかを示す有効
フラグ24a、25a、26a、27aを有し、有効フ
ラグが”V”(Valid)の場合は、対応するベクタ
が有効であることを示し、有効フラグが”I”(Inv
alid)の場合には、対応するベクタが無効であるこ
とを示す。
【0028】プロセッサ1bのベクタレジスタ2bにつ
いても同様であり、ハードウエア例外20b、NMI2
1b、IRQ22b及び、ソフト割込み23bの4つの
レジスタがあり、それぞれ対応する有効フラグ24b、
25b、26b、27bを有する。尚、リセット時に
は、有効フラグはすべて無効状態(”I”)にリセット
される。
【0029】図4及び、図5は、本発明のマルチプロセ
ッサの動作を示すフローチャートである。図4及び、図
5に基づいて、具体的な各部の動作について説明する。
プロセッサ1a及び1bが、RESET信号(図示せ
ず)によりリセットされると、プログラム実行を開始
し、最初に各種レジスタやメモリなどの初期設定を行
う。この初期設定の中に割込みベクタの設定も含まれて
おり、プロセッサ1a及び1bは、共有メモリ12のベ
クタ領域に割込みベクタの書込みを行う(ステップS1
及び、S3)。
【0030】具体的には、プロセッサ1aは、最初にハ
ードウエア例外の割込みベクタとして、共有メモリ12
のアドレス0000番地に、ハードウエア例外処理プログラ
ムの先頭アドレスである”A”の書込みを行う(ステッ
プS1)。この時、ベクタ制御部3aは、ローカルバス
5aのアドレス情報と書込み制御信号によって、ベクタ
領域への書込みであることを検出し、ベクタレジスタ2
a内のレジスタのハードウエア例外20aに、ローカル
バス5aのデータ情報である”A”を書込むと共に、対
応する有効フラグ24aを有効状態(”V”)にする
(ステップS2)。
【0031】次にプロセッサ1aは、共有メモリ12の
ベクタ領域内のアドレスに、NMI、IRQ及び、ソフ
ト割込み処理プログラムの先頭アドレスである“B”、
“C”及び、“D”の書込みを行う。上記ハードウエア
例外20aのレジスタの場合と同様に、ベクタ制御部3
aが、ローカルバス5aのアドレス情報と書込み制御信
号によって、上記ベクタ領域への書込みを検出して、ベ
クタレジスタ2a内のNMI21a、IRQ22a及
び、ソフト割り込み23aに、ローカルバス5aのデー
タ情報である“B”、“C”及び、“D”を書込むと共
に、対応する有効フラグ25a、26a、27aを有効
状態“V”に”する。
【0032】プロセッサ1bも、プロセッサ1aと同様
にして、最初に割込みベクタの書込みを行う(ステップ
S3)。この時、ベクタ制御部3bが、上記プロセッサ
1aの時と同様に、ベクタ領域への書込みを検出して、
それぞれのベクタをベクタレジスタ2b上のレジスタで
あるハードウエア例外20b、IRQ22b及び、ソフ
ト割込み23bに書込むと共に、対応する有効フラグ2
4b、26b及び、27bを有効状態にする(ステップ
S4)。
【0033】本実施形態のマルチプロセッサシステムに
おいては、SW入力などの外部からのNMI割込みは、
専らプロセッサ1aが割込み処理を行い、プロセッサ1
bはNMI処理を行わないため、プロセッサ1bは、N
MI割込みのベクタ書込みを行わない。そのため、ベク
タレジスタ2bのレジスタのNMI21bには、ベクタ
がセットされず、有効フラグ25bもリセット時の状態
である無効状態(”I”)のままである。
【0034】このようにして、プロセッサ1a、1bの
ベクタ設定が行われ、その結果ベクタレジスタ2a及び
2bの内容は、図3に示す状態になる。プロセッサ1a
及び、1bは、初期設定が終了すると、所定の動作プロ
グラムの実行を開始する。次にプログラム実行中に割込
みが発生した場合の動作を、各割込み要因ごとに説明す
る。
【0035】プロセッサ内部割込みであるハードウエア
例外、ソフト割込みが発生すると(ステップS5)、プ
ロセッサ1a、1bは、割込み受付可能な状態(割込み
マスクビットが解除されている)であれば、実行中の命
令の終了後、所定のレジスタを共有メモリ12又は、各
プロセッサのローカバスに接続されるローカルメモリ
(図示せず)などに退避して、その後、割込みベクタの
読取りを行う。ハードウエア例外割込みであれば、ベク
タ領域は、共有メモリ12のアドレス0000番地であるの
で、プロセッサ1aは、アドレス0000番地の読取り動作
を行う(ステップS6)。
【0036】この時、ベクタ制御部3aは、ローカルバ
ス5aのアドレス情報と読出し制御信号によって、共有
メモリ12のベクタ領域の読出しであることを検出し、
バスバッファ4aに対して、共有メモリ12の読出し動
作の抑止を指示する。バスバッファ4aは、通常の共有
メモリ12のアクセスの場合には、共有バスアービタ1
1にアクセス要求を発生し、アクセス許可を得てからロ
ーカルバス5aを共有バス14に接続し、共有メモリ1
2のアクセスを行うが、ベクタ制御部3aから読出し動
作の抑止が指示されているので、共有バスアービタ11
へのアクセス要求を発生せずに、共有メモリ12のアク
セスは行わない。
【0037】ベクタ制御部3aは、共有メモリ12のア
クセスを抑止するとともに、ベクタレジスタ2aのハー
ドウエア例外20aの内容を読出し、その内容”A”
を、データとしてローカルバス5aに送出し、プロセッ
サ1aからのアクセスを終了させる(ステップS7)。
プロセッサ1aは、共有メモリ12のベクタ領域のアド
レス0000番地の読取り動作を行うが、結果的にはベクタ
レジスタ2aの内容を読取ることになる。続いて、プロ
セッサ1aは、ベクタの読取り結果(”A”)に基づい
て、A番地のハードウエア例外処理プログラムに、実行
を切替えて割込み処理を行う(ステップS8)。割込み
処理が終了すると、割込み発生時に退避したレジスタを
復帰し、割込み発生前の処理を続行する。
【0038】同様にして、プロセッサ1bにおいても、
ハードウエア例外割込みが発生すると、プロセッサ1b
は、ベクタ領域の読取りを実行する(ステップS9)。
この時、ベクタ制御部3bが、上記のプロセッサ1aの
時と同様に、共有メモリ12のベクタ領域の読出しを検
出して、共有メモリ12の読出しを抑止するとともに、
ベクタレジスタ2b内のハードウエア例外20bの内容
を読出し、その内容”A”をデータとしてローカルバス
5bに送出し、プロセッサ1bからのアクセスを終了さ
せる(ステップS10)。プロセッサ1bは、ベクタの
読取り結果(”A”)に基づいて、A番地のハードウエ
ア例外処理プログラムに実行を切替えて割込み処理を行
う(ステップS11)。
【0039】このようにして、ハードウエア例外処理の
割込み処理が行われる。ソフト割込み処理の場合も動作
は同様であるが、割込み処理内容がプロセッサ1aとプ
ロセッサ1bとで異なるため、それぞれのベクタが異な
っており、プロセッサ1aではベクタの読出し結果
は、”D”であり、共有メモリ12のアドレスD番地の
ソフト割込み処理プログラムAの実行を行い、プロセッ
サ1bではベクタの読出し結果は、”F”であり、共有
メモリ12のアドレスF番地のソフト割込み処理プログ
ラムBの実行を行う。このように、割込みの処理の種類
に応じてそれぞれのプロセッサで同じプログラムを起動
したり、個別のプログラムを起動することが可能になる
ため、自由度の高い割込み処理が可能になる。
【0040】次に、NMI割込みの場合について説明す
る。SW入力などの外部NMI割込みが発生すると(ス
テップS12)、NMI要求が割込み制御部10に入力
される。割込み制御部10においては、ベクタレジスタ
2a及び、2bの有効フラグ25a、25bの状態に従
って、プロセサへの割込み要求の発生を判断する(ステ
ップS13)。すなわち、入力された割込み要求に対応
する有効フラグが”V”の場合には、プロセッサに対し
て割込みを発生し、”I”の場合には、プロセッサへの
割込みを抑止するように動作する。本実施形態の場合、
プロセサ1のNMI割込みに対応する有効フラグ25a
は、”V”であるので、プロセッサ1aに対してはNM
I信号をアクティブにすることによって、NMI割込み
を発生させる。プロセサ2の有効フラグ25bは、”
I”であるので、プロセッサ1bに対してはNMI信号
をネゲート状態のままとすることによって、NMI割込
みを抑止する。
【0041】このようにして、プロセッサ1aでは実行
中の命令の終了後、割込み処理を実行するが、プロセッ
サ1bでは割込みは発生せず、実行中の処理を切替える
ことなく継続実行する。プロセッサ1aでは、割込み処
理のため、上記ハードウエア例外割込み処理の場合と同
様に、レジスタの退避の後、ベクタ領域であるアドレス
0004番地(以降アドレスは16進表現)のベクタ読取り
動作を行う(ステップS14)。この時、ベクタ制御部
3aが、共有メモリ12のベクタ領域の読出しを検出し
て、共有メモリ12の読出しを抑止するとともに、ベク
タレジスタ20a内のレジスタであるNMI21aの内
容を読出し、その内容”B”をデータとしてローカルバ
ス5aに送出し、プロセッサ1aからのアクセスを終了
させる(ステップS15)。
【0042】プロセッサ1aは、ベクタの読取り結
果(”B”)に基づいて、B番地のNMI処理プログラ
ムに実行を切替えて割込み処理を行う(ステップS1
6)。このようにして、NMIの割込み処理が行われ
る。NMIの場合のように処理を分散することが無く、
特定のプロセッサのみが割込み処理を行う場合に、処理
を行うプロセッサのみがベクタの設定を行うことによっ
て、自動的に割込み先プロセッサの指定が可能になり、
自由度の高い割込み処理が可能になる。
【0043】次に、IRQ割込みの場合について説明す
る。IO制御部13において割込み要求が発生すると
(ステップS17)、IRQ0信号が割込み制御部10
に入力される。割込み制御部10においては、前述のN
MI割込みの場合と同様に、ベクタレジスタ2a及び2
bの有効フラグ22a、22bの状態に従って、プロセ
サへの割込み要求の発生を判断する(ステップS1
8)。本実施の形態の場合、プロセサ1とプロセッサ1
bのIRQ割込みに対応する有効フラグ22aと22b
は共に、”V”であるので、プロセッサ1aとプロセッ
サ1bのそれぞれに対してIRQ信号をアクティブにす
ることによって、IRQ割込みを発生させる。
【0044】このようにして、それぞれのプロセッサに
おいて実行中の命令の終了後、割込み処理を実行する。
プロセッサ1aでは、割込み処理のため、上記ハードウ
エア例外割込み処理の場合と同様に、レジスタの退避の
後ベクタ領域であるアドレス0008番地のベクタ読取り動
作を行う(ステップS19)。この時、ベクタ制御部3
aが、共有メモリ12のベクタ領域の読出しを検出し
て、共有メモリ12の読出しを抑止するとともに、ベク
タレジスタ2a内のレジスタであるIRQ22aの内容
を読出し、その内容”C”をデータとしてローカルバス
5aに送出し、プロセッサ1aからのアクセスを終了さ
せる(ステップS20)。
【0045】プロセッサ1aは、ベクタの読取り結
果(”C”)に基づいて、C番地のIRQ処理プログラ
ムAに実行を切替えて割込み処理を行う(ステップS2
1)。
【0046】同様にして、プロセッサ1bにおいても、
プロセッサ1bのベクタ読取り(ステップS22)、ベ
クタ制御部3bのベクタ領域の読出し検出と、共有メモ
リ12の読出しの抑止、ベクタレジスタ2b内のレジス
タであるIRQ22bの内容読出しと、ローカルバス5
bへの送出(ステップS23)、プロセッサ1bのベク
タ読出し結果(”E”)に基づくE番地のIRQ処理プ
ログラムBの実行(ステップS24)を行う。
【0047】このようにして、IRQの割込み処理が行
われる。IRQの場合のように処理を分散する必要があ
り、それぞれのプロセッサが異なる割込み処理を行う場
合に、処理を行うプロセッサが独自のベクタ設定を行う
ことが可能であり、又、割込み処理を必要としないプロ
セッサは該当するベクタ領域の書込みを行わなければ自
動的に割込み対象から除外されるので、自由度の高い割
込み処理システムが構成可能になる。
【0048】又、各プロセッサにおいては、シングルプ
ロセッサシステムでの割込みインタフェースと、何ら変
ることのない汎用マイクロプロセッサとソフトウエア互
換を保って、小規模なハードウエアで実現可能であり、
割込みベクタ読取りに伴う共有バスアクセスのオーバー
ヘッドを抑えた効率の良い割込み処理システムが構成可
能である。
【0049】
【発明の効果】割込み発生時の割込みベクタ読取り時
に、共有バスの負荷を高めることがないので、システム
全体のパフォーマンスを落すことなく、割込みベクタ専
用のローカルメモリを設けず、外部接続信号線数が増や
すこともなく、簡単なハードウエアで実現可能であり、
汎用マイクロプロセッサでの割込みインタフェースを変
える必要のない割込み処理システムが実現可能である。
又、割込み処理を任意のプロセッサに割当てることが可
能であり、割込み処理を効率的に分散可能であり、効率
的なマルチプロセッサシステムが実現可能である。
【図面の簡単な説明】
【図1】本発明のマルチプロセッサシステムの実施形態
を示すブロック図である。
【図2】図1に示すベクタレジスタ2a及び、2bの詳
細な構成図である。
【図3】図1に示す共有メモリ12の詳細な構成と、ベ
クタレジスタ2a及び、2bとの対応関係を示す図であ
る。
【図4】本発明のマルチプロセッサシステムの動作を示
すフローチャートの前半部分である。
【図5】図4に示す本発明のマルチプロセッサシステム
のフローチャートの前半に続く後半部分である。
【図6】従来のマルチプロセッサシステムの構成を示す
ブロック図である。
【図7】従来のマルチプロセッサシステムの他の構成を
示すブロック図である。
【符号の説明】
1a、1b プロセッサ 2a、2b ベクタレジスタ 3a、3b ベクタ制御部 4a、4b バスバッファ 5a、5b ローカルバス 10 割込み制御部 11 共有バスアービタ 12 共有メモリ 13 IO制御部 14 共有バス

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 共有の第1のバスに接続された共有メモ
    リと、 上記第1のバスに接続された複数の第2のバスに、それ
    ぞれ接続された複数のプロセッサと、 上記複数のプロセッサに対応して、上記第2のバスに接
    続された複数の割込みベクタの格納手段と、 上記複数のプロセッサの上記共有メモリに対する割込み
    ベクタの読取りを検出するベクタ読取検出手段と、 上記複数のプロセッサが、上記共有メモリに対する割込
    みベクタの読取り要求を発生した際に、上記ベクタ読取
    検出手段が割込みベクタの読取りを検出し、上記格納手
    段に格納された割込みベクタを、上記第2のバス上に送
    出するベクタ送出手段を備えることを特徴とするマルチ
    プロセッサシステム。
  2. 【請求項2】 外部からの割込み要求を、上記複数のプ
    ロセッサに通知する割込通知手段を備えることを特徴と
    する請求項1記載のマルチプロセッサシステム。
  3. 【請求項3】 上記ベクタ読取検出手段が、上記割込み
    ベクタの読取りを検出したとき、上記複数のプロセッサ
    から上記第1のバスへの割込みベクタの読取り要求を阻
    止する阻止手段を備えることを特徴とする請求項1、又
    は請求項2記載のマルチプロセッサシステム。
  4. 【請求項4】 上記複数のプロセッサの割込みベクタの
    書込みを検出するベクタ書込検出手段を備え、上記複数
    のプロセッサから上記共有メモリへ、上記割込みベクタ
    の書込み時に、上記第2のバス上のデータを上記格納手
    段に格納することを特徴とする請求項1乃至請求項3記
    載のマルチプロセッサシステム。
  5. 【請求項5】 上記格納手段は、上記割込みベクタの有
    効性を示すフラグを備え、上記割込通知手段は、上記フ
    ラグを判定して割込みベクタが無効な場合に、割込み通
    知を阻止することを特徴とする請求項1乃至請求項4記
    載のマルチプロセッサシステム。
  6. 【請求項6】 上記フラグは、上記割込みベクタの書込
    みを検出するベクタ書込検出手段により、上記割込みベ
    クタの書込みを検出して、上記割込みベクタの有効性が
    セットされることを特徴とする請求項5記載のマルチプ
    ロセッサシステム。
JP7026298A 1998-03-19 1998-03-19 マルチプロセッサシステム Pending JPH11272632A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7026298A JPH11272632A (ja) 1998-03-19 1998-03-19 マルチプロセッサシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7026298A JPH11272632A (ja) 1998-03-19 1998-03-19 マルチプロセッサシステム

Publications (1)

Publication Number Publication Date
JPH11272632A true JPH11272632A (ja) 1999-10-08

Family

ID=13426456

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7026298A Pending JPH11272632A (ja) 1998-03-19 1998-03-19 マルチプロセッサシステム

Country Status (1)

Country Link
JP (1) JPH11272632A (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7237099B2 (en) 2001-12-27 2007-06-26 Denso Corporation Multiprocessor system having a plurality of control programs stored in a continuous range of addresses of a common memory and having identification registers each corresponding to a processor and containing data used in deriving a starting address of a CPU-linked interrupt handler program to be executed by the corresponding processor
US7254688B2 (en) 2002-09-11 2007-08-07 Nec Electronics Corporation Data processing apparatus that shares a single semiconductor memory circuit among multiple data processing units
JP2008146148A (ja) * 2006-12-06 2008-06-26 Mitsubishi Electric Corp 計算機システム
JP2011113513A (ja) * 2009-11-30 2011-06-09 Brother Industries Ltd 情報処理装置
WO2011121730A1 (ja) * 2010-03-30 2011-10-06 富士通株式会社 マルチコアプロセッサシステム、制御プログラム、および制御方法
JP2014225058A (ja) * 2013-05-15 2014-12-04 京セラドキュメントソリューションズ株式会社 画像形成装置及び割り込み制御方法

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7237099B2 (en) 2001-12-27 2007-06-26 Denso Corporation Multiprocessor system having a plurality of control programs stored in a continuous range of addresses of a common memory and having identification registers each corresponding to a processor and containing data used in deriving a starting address of a CPU-linked interrupt handler program to be executed by the corresponding processor
US7254688B2 (en) 2002-09-11 2007-08-07 Nec Electronics Corporation Data processing apparatus that shares a single semiconductor memory circuit among multiple data processing units
JP2008146148A (ja) * 2006-12-06 2008-06-26 Mitsubishi Electric Corp 計算機システム
JP2011113513A (ja) * 2009-11-30 2011-06-09 Brother Industries Ltd 情報処理装置
WO2011121730A1 (ja) * 2010-03-30 2011-10-06 富士通株式会社 マルチコアプロセッサシステム、制御プログラム、および制御方法
CN102822802A (zh) * 2010-03-30 2012-12-12 富士通株式会社 多核处理器系统、控制程序以及控制方法
JP5673672B2 (ja) * 2010-03-30 2015-02-18 富士通株式会社 マルチコアプロセッサシステム、制御プログラム、および制御方法
US9092255B2 (en) 2010-03-30 2015-07-28 Fujitsu Limited Multi-core processor system, computer product, and control method for interrupt execution
JP2014225058A (ja) * 2013-05-15 2014-12-04 京セラドキュメントソリューションズ株式会社 画像形成装置及び割り込み制御方法

Similar Documents

Publication Publication Date Title
JP3570810B2 (ja) 対称多重処理システム
US4737932A (en) Processor
EP0523764A2 (en) Computer system having direct bus attachment between processor and dynamic main memory, and having in-processor DMA control with respect to a plurality of data exchange means also connected to said bus, and central processor for use in such computer system
JPH02267634A (ja) 割込み処理装置
JPS62243058A (ja) マルチプロセツサシステムの割込制御方法
JPH09190406A (ja) 直接メモリアクセス制御装置及びこれを用いた伝送システム
US5933613A (en) Computer system and inter-bus control circuit
JPH11272632A (ja) マルチプロセッサシステム
US6701388B1 (en) Apparatus and method for the exchange of signal groups between a plurality of components in a digital signal processor having a direct memory access controller
JP2000298652A (ja) マルチプロセッサ
JP2001167058A (ja) 情報処理装置
JP2813182B2 (ja) マルチプロセッサコンピュータ複合装置
JPH05257903A (ja) マルチプロセッサシステム
JPH0496167A (ja) マルチプロセッサシステムの割込み方式
JPS61136159A (ja) シングルチツプマイクロコンピユ−タ
JP2012053817A (ja) マルチプロセッサシステムと制御方法
JP2972557B2 (ja) データ転送制御装置および制御方法
JPH02224048A (ja) 情報処理装置
JPH056333A (ja) マルチプロセサシステム
JPH04302352A (ja) マルチプロセッサシステム
JPS5839343B2 (ja) マルチプロセツサシステム ノ ユウセンセイギヨホウシキ
JP2871171B2 (ja) マイクロコンピュータ
JP3206013B2 (ja) ダイレクト・メモリ・アクセス転送制御装置
JP2001306542A (ja) マルチプロセッサシステム
JP3365419B2 (ja) バス調停方法