JPH10275136A - マルチプロセッサ制御方式およびマルチタスク制御方式 - Google Patents

マルチプロセッサ制御方式およびマルチタスク制御方式

Info

Publication number
JPH10275136A
JPH10275136A JP9078649A JP7864997A JPH10275136A JP H10275136 A JPH10275136 A JP H10275136A JP 9078649 A JP9078649 A JP 9078649A JP 7864997 A JP7864997 A JP 7864997A JP H10275136 A JPH10275136 A JP H10275136A
Authority
JP
Japan
Prior art keywords
master
interrupt
host
register
multiprocessor
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.)
Granted
Application number
JP9078649A
Other languages
English (en)
Other versions
JP3540119B2 (ja
Inventor
Tadashi Yoshimoto
忠司 吉本
Takayuki Tsuzuki
貴之 都築
Masashi Ueki
正史 植木
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP07864997A priority Critical patent/JP3540119B2/ja
Publication of JPH10275136A publication Critical patent/JPH10275136A/ja
Application granted granted Critical
Publication of JP3540119B2 publication Critical patent/JP3540119B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Abstract

(57)【要約】 【課題】 マスタPEとSE間で通信要求を通知するに
は通信要求フラグのポーリングを行ったり、全てのエレ
メントがマスタ機能を持つ必要があり、割り込み発生の
ためのマスタ動作による割り込み遅延の増大を招いてし
まうという課題があった。 【解決手段】 システム初期化時にマスタPE200お
よびSE300がそれぞれ必要とするシステム資源を割
り付け、割り付けれられたシステム資源に関する情報を
含むシステム構成情報を構成情報データベース102に
登録し、登録されたシステム構成情報に基づいてSE3
00からの割り込み要求がマスタPE200にルーティ
ングされるように割り込みルーティング回路1001を
設定する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は複数のプロッセッ
サエレメントを備えたマルチプロセッサシステムにおい
て割り込みルーティング等を制御するためのマルチプロ
セッサ制御方式、およびマルチタスクのハードウェア資
源利用を制御するためのマルチタスク制御方式に関する
ものである。
【0002】
【従来の技術】図21は割り込みルーティングを制御す
る従来のマルチプロセッサ制御方式が適用される複数の
マスタPEを含むマルチプロセッサシステムの構成を示
すブロック図である。図において、200,210はマ
スタPE、201はマスタPE200のCPU、211
はマスタPE210のCPU、202はマスタPE20
0の割り込みレジスタ、212はマスタPE210の割
り込みレジスタ、140は例えばPCI(Periph
eral Component Interconne
ct)バスやそれに準じた規格のシステムバスであり、
図示していないホストPEのみが入力で他の全てのマス
タPEおよびSE(図示せず)は出力であるような割り
込み信号の入出力方向を有するバスである。このような
従来のマルチプロセッサシステムでは、割り込みを発生
する全てのSEもマスタPEとしてシステムバス140
を制御する能力を有しており、SEも含む割り込みを受
け付ける全てのエレメントはシステムI/O空間中に割
り込みを受け付けるための割り込みレジスタをそれぞれ
備えている。図21に示すマルチプロセッサシステムで
は、マスタPE200はマスタPE210のスレーブと
して動作する。
【0003】次に動作について説明する。マスタPE2
10のスレーブとしてのマスタPE200からマスタP
E210への割り込み要求は、図21の点線で示された
マスタとしてのマスタPE210からスレーブとしての
マスタPE200への割り込みと同様な経路となる。す
なわち、図21の実線に示されているように、まずマス
タPE200がシステムのマスタとなってシステムバス
140を取得してマスタPE210の割り込みレジスタ
212にI/Oライト命令を用いて割り込み要求をセッ
トし、これによってマスタPE210内部でCPU21
1に割り込みが発生する。
【0004】図22は例えば特開平1−152561号
公報に開示された従来のマルチプロセッサ制御方式が適
用されるマルチプロセッサシステムの構成を示すブロッ
ク図である。図において、図21に示す従来のマルチプ
ロセッサシステムと同一の構成要素には同一の符号を付
してその説明を省略する。また、特開平1−15256
1号公報に開示されたマルチプロセッサシステムでは、
マスタPEを上位装置もしくは上位CPU、SEをアダ
プタと呼んでいる。図22において、310はSEとし
ての共有メモリ方式のアダプタ、311はアドレス設定
レジスタ、312はメモリサイズ設定レジスタである。
【0005】次に動作について説明する。マスタPE2
10のCPU211は管理プログラムにより自動的にP
IO命令を実行すると、共有メモリ方式のアダプタ31
0のアドレス設定レジスタ311およびメモリサイズ設
定レジスタ312から、共有メモリアドレスの設定値お
よび共有メモリサイズの設定値を読み出す。従って、C
PU211のシステム構築時に各アダプタの共有メモリ
アドレスおよび共有メモリサイズのデータが外部から入
力されなくても、管理プログラムを用いて自動的に各ア
ダプタから共有メモリアドレスおよび共有メモリサイズ
のデータを読み出すことができ、システム構築を容易に
且つ正確に実行できる。
【0006】図23は例えば特開昭61−294572
号公報に開示された従来のマルチプロセッサ制御方式が
適用されるマルチプロセッサシステムの構成を示すブロ
ック図である。図において、図21および図22に示す
従来のマルチプロセッサシステムと同一の構成要素には
同一の符号を付してその説明を省略する。図23におい
て、100はホストPE、217はマスタPE210内
に設けられた2ポートメモリ、310はマスタPE21
0のターゲットとしてのSEである。
【0007】次に動作について説明する。ホストPE1
00とマスタPE210との間でデータ転送を行う場
合、マスタPE210の2ポートメモリ217を介して
データ転送が行われる。また、マスタPE210とSE
310との間でデータ転送を行う場合、マスタPE21
0がシステムのマスタとなってシステムバス140を制
御してSE310にデータを転送する。
【0008】図24は例えば特開平6−28320号公
報に開示された従来のマルチプロセッサ制御方式が適用
されるマルチプロセッサシステムの構成を示すブロック
図である。図において、図21に示す従来のマルチプロ
セッサシステムと同一の構成要素には同一の符号を付し
てその説明を省略する。また、図24において、21
0,220はマスタプロセッサエレメント(マスタP
E)、500は各マスタPE200,210,220に
設けられており他のマスタPEに割り込み要求を発行す
る割り込み発行部(マスタPE220には図示せず)、
501は各マスタPE200,210,220に設けら
れており他のマスタPEからの割り込み要求を処理する
割り込み実行部である(マスタPE200,210には
図示せず)。この従来のマルチプロセッサシステムを構
成する各マスタPE200,210,220は、自マス
タPEに対して割り込み要求を発行してくる可能性のあ
る複数のマスタPEにそれぞれ対応する複数の割り込み
レジスタ202を具備している。
【0009】次に動作について説明する。マスタPE2
00,210の割り込み発行部500がマスタPE22
0に対して割り込み処理を要求する場合、割り込み発行
部500が、その割り込み要求先のマスタPE220が
有する割り込みレジスタ202内のマスタPE200,
210に割り付けられた部分に割り込み要求を設定す
る。マスタPE220の割り込みレジスタ202がこの
割り込み要求の設定を受けると、マスタPE220の割
り込み実行部501は対応する割り込み処理を実行す
る。
【0010】図25は例えば特開昭63−39042号
公報に開示された従来のマルチタスク制御方式の構成を
示すブロック図である。図において、4000はCP
U、4001,4002,4003はCPU4000上
で処理される複数のタスク、4004はセマフォ制御部
である。この従来の例ではホストPEはCPU4000
に対応する。
【0011】次に動作について説明する。1つのCPU
4000上で複数のタスク4001,4002,400
3を実行させるマルチタスクの場合に、ある時間にCP
U4000上で動作するタスクは1つに限られるため、
各々の優先順位に応じてCPU4000を時分割に占有
して動作する。特開昭63−39042号公報に開示さ
れた従来のマルチタスク同期制御方式では、セマフォ制
御部4004を用いて複数のタスク間の同期をとる。例
えば、CPU4000上でタスク4001を処理中に、
他のタスク4002がシステムコールを発行しセマフォ
要求を出した場合、セマフォ制御部4004は、実行中
のタスク4001と要求を出しているタスク4002の
優先順位を比較し、要求を出しているタスク4002の
方が優先順位が高ければ、処理中のタスク4001を中
断し、中断時の状態を専用のエリアに待避させる。その
後、セマフォ制御部4004は、要求を出しているタス
ク4002に対してセマフォを移譲する。CPU400
0は、セマフォを取得したタスク4002の処理を実行
し、その処理の終了後、セマフォ制御部4004はセマ
フォを開放する。セマフォが開放されると、CPU40
00は中断されていたタスク4001の処理を再開す
る。
【0012】一般に、マルチプロセッサシステムにおい
てSEに異常が発生した場合、システムの安全性を確保
するため何らかの手段を用いて異常を外部に通知し、異
常時の処理を行う必要がある。図26はこのような手段
を開示している特開昭63−304333号公報に示さ
れた従来のマルチプロセッサ制御方式が適用されるマル
チプロセッサシステムの構成を示すブロック図である。
図において、図21および図22に示す従来のマルチプ
ロセッサシステムと同一の構成要素には同一の符号を付
してその説明を省略する。また、図26において、31
0,320,330はスレーブエレメント(SE)、6
200は割り込みコントローラ、6260はマスタPE
200とSE300,SE310,SE320,SE3
30とをそれぞれ接続するシステムバス、6210は割
り込みコントローラ6200がマスタPE200から制
御信号を受信するための制御信号バス、6220,62
30,6240,6250は割り込みコントローラ62
00が割り込み信号を各SE300,310,320,
330に送出するための割り込み信号線である。
【0013】また、図27は図26に示すSE300の
構成を示すブロック図である。SE300はCPU30
1と、ファームウェア(SE300がダウン時にCPU
301に行わせてCPU301の処理動作をストールさ
せる特定プログラムを含む)を格納するメモリ302
と、割り込み信号バス304を介して入力されるSE3
00に対する割り込み(SE300内部の割り込みを含
む)を禁止するための割り込みマスク303とにより構
成されている。他のSE310、320、330もSE
300と同様の構成を有している。
【0014】次に動作について説明する。例えばSE3
00において障害が発生すると、マスタPE200は、
通信を行っているシステムバス6260を介してSE3
00の障害を検知し、割り込みコントローラ6200に
対して制御信号バス6210を介して制御信号を送出す
る。割り込みコントローラ6200はこの制御信号に応
答してSE300に対して割り込み信号を発生する。割
り込み信号線6220を介して入力された割り込み信号
は、SE300に対して割り込みを起こすとともに、割
り込みマスク303をオンして割り込み信号バス304
を介して入力されるSE300に対する他の割り込みを
すべて禁止する。
【0015】SE300のCPU301は、割り込み信
号6220を介して入力される割り込み信号に応答し
て、メモリ302に格納されているファームウェアのう
ちで特定アドレスのダウン時の処理のファームウェアを
読み出し、このファームウェアによりダウン時の処理
(特定のプログラムの処理)を起動する。ダウン時の処
理が起動されると、ダウン時の処理を行うことでCPU
301はストール状態となり、SE300ではダウン時
の処理以外の処理は行われなくなる。
【0016】図28は従来のマルチプロセッサ制御方式
が適用されるマルチプロセッサシステムの構成を示すブ
ロック図である。図において、6020は割り込み信号
(PCIでいうINTA#)、6030はエラー通知信
号(PCIでいうSERR#)、100は割り込み信号
6020、エラー通知信号6030を入力するホストP
E、300,310はSE、6000はSE300の管
理マスタPE、200はマスタPE、121はシステム
バスとしてのPCIバスである。
【0017】次に動作について説明する。以下では、図
28を参照しながら、従来のマルチプロセッサシステム
で実行される、PCI LOCAL BUS SPEC
IFICATION REV.2.1で規定される障害
時のエラー報告、割り込みについて説明する。
【0018】SE300で障害が発生すると、SE30
0は、それが致命的な障害である場合にはエラー通知信
号6030にてその障害をホストPE100に通知す
る。ホストPE100はそれを受けてエラー時の処理を
実行するが、ホストPE100はその障害の危険度を把
握できないため、一般的にはシステムのリセットなどの
緊急時の処理を実行する。
【0019】SE300で発生した障害の危険度が致命
的でない場合は、SE300は割り込み信号6020に
よりその障害をホストPE100に通知する。通知を受
けたホストPE100は、一般的には、割り込み処理ル
ーティンの中でSE300の割り込み要因を認識して、
その要因に応じた割り込み処理を実行する。
【0020】図29は例えば特開平1−149161号
公報に開示された従来のマルチプロセッサ制御方式が適
用されるマルチプロセッサシステムの構成を示すブロッ
ク図である。なお、この従来例では、マスタPEをホス
トPE、システム全体のホストPEとなるマスタPEを
主ホストPE、主ホストPEがダウンした時にホストと
なるマスタPEを代替ホストPEと呼んでいる。また、
図29において、200,210,220,230はホ
ストPEとなり得るマスタPE、400は各マスタPE
からアクセス可能な装置、2201,2211,222
1,2231は全マスタPE200,210,220,
230がホストPEとなるための順位に関する情報を保
持するシステム情報テーブル、2202,2212,2
222,2232はシステム起動時自マスタPEがホス
トPEとなるかどうかを決定する主ホスト/代替ホスト
決定手段、2203,2213,2223,2233は
自マスタPEがホストPEであることを他のマスタPE
に宣言するための主ホスト/代替ホスト宣言手段、22
04,2214,2224,2234はホストダウン時
自マスタPEがホストPEとなるかどうかを決定する主
ホスト/代替ホスト選択手段、3200,3210,3
220,3230はシステム起動時に予め定められた主
ホスト/代替ホスト順位情報、3201,3211,3
221,3231は各マスタPEのオペレータコンソー
ル、401は各マスタPE200,210,220,2
30の状態を監視するマスタPE監視手段、403はマ
スタPEの構成状況に関する情報を保持するシステム構
成情報、402はシステム構成情報403への読み書き
を行うシステム情報読書き手段、404はホストPEが
ダウンしたことを他マスタPEに通知するダウン通知手
段である。
【0021】次に動作について説明する。特開平1−1
49161号公報に開示された従来例では、各マスタP
E200,210,220,230の主ホスト/代替ホ
スト決定手段が各マスタPE200,210,220,
230の立ち上げ時に自マスタPEがシステム全体を管
理する主ホストPEになるか、主ホストPEの代わりを
する代替ホストPEになるか、それとも主ホストPEお
よび代替ホストPE以外の一般のマスタPEになるかを
決定し、マスタPE監視手段401がシステムの運用中
に全マスタPE200,210,220,230の状態
を監視する。そして、ダウン通知手段404は、マスタ
PE監視手段401がマスタPEの1つがダウンしたこ
とを認識するとダウンしたマスタPE以外のマスタPE
に対してホストダウン通知を行う。ダウンしたマスタP
E以外のマスタPEの主ホスト/代替ホスト選択手段
は、ダウン通知手段401からホストダウン通知を受け
ると自マスタPEが新たに主ホストPEになるか代替ホ
ストPEになるか、それとも主ホストPEにも代替ホス
トPEにもならないかを選択し、主ホスト/代替ホスト
宣言手段が主ホスト/代替ホスト決定手段および主ホス
ト/代替ホスト選択手段によって主ホストPEまたは代
替ホストPEになると決定および選択されたときに主ホ
スト宣言または代替ホスト宣言を行う。
【0022】
【発明が解決しようとする課題】従来のマルチプロセッ
サ制御方式は以上のように構成されているので、例えば
図21に示した従来のマルチプロセッサシステムでは、
実際にはシステムのマスタとして機能する必要のないS
E等のエレメントまでも、割り込みを発生するためにマ
スタとして動作する機能を持たなければならず、マスタ
機能を実装するためのハードウェアのボリューム増加や
割り込み発生のためのマスタ動作による割り込み遅延の
増大を招いてしまうという課題があった。
【0023】また、特開平1−152561号公報およ
び特開昭61−294572号公報に示された従来のマ
ルチプロセッサ制御方式では、マスタPEとSE等との
間の通信に関してデータ転送用のパスは考慮されている
が、通信要求用のパスは考慮されていないので、通信要
求を通知するには通信要求フラグのポーリングを行った
り、全てのエレメントがマスタ機能を持つ必要があり、
割り込み発生のためのマスタ動作による割り込み遅延の
増大を招いてしまうという課題があった。
【0024】さらに、特開平6−28320号公報に示
された従来のマルチプロセッサシステム制御方式では、
割り込みレジスタを複数設けたため、割り込みを通知す
るには割り込みレジスタごとに割り込みレベルを対応さ
せるか、全割り込みレジスタからの割り込み要求を1つ
の割り込みレベルで処理する必要があるが、多くのシス
テム要素から割り込みを受ける場合、割り込みレジスタ
ごとに割り込みレベルを対応させていては割り込み資源
が不足するという課題があり、他方、全割り込みレジス
タからの割り込み要求を1つの割り込みレベルで処理し
ていては割り込み処理ルーチンでの割り込み要求元を特
定するのに時間がかかってしまうという課題があった。
【0025】また、特開昭63−39042号公報に示
された従来のマルチタスク制御方式では、単一のプロセ
ッサ上でのソフトウェアのマルチタスク処理であり、複
数のプロセッサエレメントおよび複数のバス上でのマル
チプロセッシングには適用できないという課題があっ
た。また、セマフォ制御部を実装するためのハードウェ
アのボリューム、ソフトウェアのボリュームが増大して
しまうという課題があった。
【0026】さらに、特開昭63−304333号公報
に示された従来のマルチプロセッサ制御方式では、障害
発生時、障害の発生したSEのCPUがファームウェア
によりダウン時の処理を行うという処理であるため、S
Eは必ずファームウェアを格納するメモリとプロセッサ
CPUとを備えたインテリジェントなシステムでなけれ
ばならず、SEがノンインテリジェント(メモリとCP
Uを備えていない)システムである場合にはこの従来の
マルチプロセッサ制御方式は適用できないという課題が
あった。
【0027】また、特開昭63−304333号公報に
示された従来のマルチプロセッサ制御方式では、障害の
検知を通信にて行っているので、図26に示すマスタP
E200がSE300で障害が発生いた時に別のSE3
10,320,330と長時間通信を行っている場合に
は、SE300の障害を検知することが遅れてしまうと
いう課題があった。この遅れは、致命的な障害が発生し
緊急にシステムをストップさせなければならないような
場合問題となる。
【0028】また、図28に示したような従来のマルチ
プロセッサ制御方式では、SE300に障害が発生しエ
ラー通知信号6030にてホストPE100にその障害
が通知された場合、ホストPE100にエラーが通知さ
れ、ホストPE100がエラー時の処理(一般的にはシ
ステムのリセットなどの緊急時の処理)を実行するの
で、SE300の以降、管理マスタプロセッサエレメン
ト(管理マスタPE)6000がエラー処理を実行する
ことができないという課題があった。
【0029】さらに、図28に示したような従来のマル
チプロセッサ制御方式では、SE300とは無関係なマ
スタPEやSEにも影響が及ぶ。例えば、ホストPE1
00がエラー報告を受けた時、ホストPE100はその
障害の危険度を把握できないため、緊急時の処理として
PCIバスリセットというエラー処理を行うとともに、
障害の発生したSE300とは無関係なマスタPEやS
Eもリセットしてしまうという課題があった。
【0030】また、図28に示したような従来のマルチ
プロセッサ制御方式では、正常時のプログラムは管理マ
スタPE6000に実行させ、SE300に障害が発生
し割り込み信号6020にてホストPE100にエラー
が通知された場合にホストPE100にエラー処理を実
行させるために、ホストPE100および管理マスタP
E6000にそれぞれソフトウェアをインストールしな
ければならないなどシステムが非常に複雑になるという
課題があった。
【0031】さらに、特開平1−149161号公報に
示された従来のマルチプロセッサ制御方式では、独立し
た単一のホスト監視手段で全マスタPEの状態を監視す
る必要があり、主ホストや代替ホストがダウンした場合
にはホスト監視手段からの通知により全マスタPEが自
身が主ホストや代替ホストになるべきか決定する必要が
あり、また、主ホストになる優先順位の情報を全マスタ
PEが個別に持たなければならないのでその情報をホス
ト間で同一に保つ必要があるので、ハードウェアボリュ
ーム、ソフトウェアボリューム、処理オーバーヘッドと
も増大するという課題があった。
【0032】また、上記の従来のマルチプロセッサ制御
方式やマルチタスク制御方式では、タスクごとにハード
ウェア資源の内容を変えるためにはタスクごとに個別に
ハードウェア資源を持つ必要があり、それ故、ハードウ
ェアボリュームを増大させ、貴重なI/O空間に大きな
領域を必要とするという課題があった。さらに、ハード
ウェアを実装する時点で、対象となるハードウェア資源
を必要とするタスク数を把握しておかなければならない
という課題があった。
【0033】この発明は上記のような課題を解決するた
めになされたもので、スレーブにマスタ機能を持たせた
りその他のハードウェアを追加することなく、SEから
マスタPEへ割り込みをルーティングするマルチプロセ
ッサ制御方式を得ることを目的とする。
【0034】また、この発明はスレーブにマスタ機能を
持たせたりホストPEの割り込み処理ルーチンを特殊化
したりすることなく、さらに、基礎となるシステムハー
ドウェアを変更することなくSEからマスタPEへ割り
込みをルーティングするマルチプロセッサ制御方式を得
ることを目的とする。
【0035】さらに、この発明はマスタPEとSEとの
通信に関する通信要求やデータを当事者間で直接送受信
できるマルチプロセッサ制御方式を得ることを目的とす
る。
【0036】さらに、この発明はホストPEとマスタP
Eとの通信に関する通信要求やデータを当事者間で直接
送受信でき、従来のマルチプロセッサシステムに比べて
余分なオーバーヘッドをシステムにかけることなく通信
できるマルチプロセッサ制御方式を得ることを目的とす
る。
【0037】さらに、この発明はSEで発生した障害を
迅速にそのSEを管理するマスタPEに通知して障害が
発生したSEとは無関係なマスタPEやSEに処理を継
続させることができ、さらに、ノンインテリジェントで
あるかインテリジェントであるかに関わらずすべてのS
Eに適応できる、信頼性、保守性、および柔軟性の高い
シスマルチプロセッサ制御方式を得ることを目的とす
る。
【0038】さらに、この発明は割り込み要求元および
割り込み要求要因を迅速に特定できるマルチプロセッサ
制御方式を得ることを目的とする。
【0039】さらに、この発明はセマフォレジスタの取
得開放により複数のマスタPE、ホストPEからのシス
テム共有資源へのアクセスを順次受け付けて処理するこ
とを可能にするマルチプロセッサ制御方式を得ることを
目的とする。
【0040】さらに、この発明はハードウェア、ソフト
ウェア、処理オーバーヘッドを増大させることなく、ホ
ストの権利をスムーズにシステムを構成するマスタPE
に受け継がせてシステムダウンを防ぐマルチプロセッサ
制御方式を得ることを目的とする。
【0041】さらに、この発明はハードウェアとしては
1つしか実装されていないハードウェア資源をソフトウ
ェア的には複数存在するように扱うことにより、ハード
ウェアが要求するスペース、価格などのコストを低減で
きるマルチプロセッサ制御方式およびマルチタスク制御
方式を得ることを目的とする。
【0042】
【課題を解決するための手段】請求項1記載の発明に係
るマルチプロセッサ制御方式は、システム初期化時にマ
スタPEとSEに割り付けたシステム資源に関する情報
とSEからマスタPEへの割り込みルーティングに必要
な情報とを含むシステム構成情報を構成情報データベー
スに予め登録し、SEからマスタPEへ割り込みが発生
した際には一旦ホストPEに割り込みを受けさせ、構成
情報データベースを参照して割り込み要求先であるマス
タPEを特定し、該マスタPEへ割り込みを通知するの
である。
【0043】請求項2記載の発明に係るマルチプロセッ
サ制御方式は、ホストPEを介さずに割り込み信号を少
なくともマスタPEとSEの間で直接ルーティングでき
る割り込みルーティング回路を設け、システム初期化時
に割り付けたシステム資源に関する情報とマスタPEと
SEの間の割り込みルーティングに必要な情報とを含む
システム構成情報を構成情報データベースに予め登録
し、構成情報データベースに基づいてSEが発した割り
込み要求がマスタPEへルーティングされるように割り
込みルーティング回路を設定するものである。
【0044】請求項3記載の発明に係るマルチプロセッ
サ制御方式は、マルチプロセッサシステムが複数のマス
タPEと複数のSEとを有する場合、各マスタPEとそ
のスレーブとなるSEとの対応を示す情報もシステム構
成情報として構成情報データベースに予め登録し、構成
情報データベースに基づいて複数のSEのうちのいずれ
かが発した割り込み信号が該SEを制御対象とするマス
タPEへルーティングされるように割り込みルーティン
グ回路を設定するものである。
【0045】請求項4記載の発明に係るマルチプロセッ
サ制御方式は、ホストPEが接続されたシステムバスと
他のシステムバスとを接続する1つのブリッジ機構と、
必要であれば、他のシステムバスとこれとは別の他のシ
ステムバスとを接続する少なくとも1つのブリッジ機構
とを設け、各マスタPEおよび各SEの存在位置に関す
る情報もシステム構成情報として構成情報データベース
に予め登録し、構成情報データベースに基づいて各SE
が発した割り込み信号が対応する割り込み要求先に必要
ならばブリッジ機構を介してルーティングされるように
割り込みルーティング回路を設定するものである。
【0046】請求項5記載の発明に係るマルチプロセッ
サ制御方式は、マスタPEとSEとが通信を行う場合、
SEまたはマスタPEからの通信要求は割り込みとして
割り込みルーティング回路を用いてマスタPEまたはS
Eに通知し、マスタPEとSEとの間のデータ転送はウ
ィンドウを介して行うものである。
【0047】請求項6記載の発明に係るマルチプロセッ
サ制御方式は、ホストPEとマスタPEとの間の通信お
よびマスタPEとSEとの間の通信における通信要求を
割り込みとして割り込みルーティング回路を用いて通知
し、ホストPEとマスタPEとの間のデータ転送はマス
タPE上に設けた共有メモリを介して行い、マスタPE
とSEとの間のデータ転送はマスタPEがシステムのマ
スタとなってデータ転送するものである。
【0048】請求項7記載の発明に係るマルチプロセッ
サ制御方式は、SEにおいて障害が発生した際に割り込
みルーティング回路を介して割り込みにより障害の発生
をSEを管理マスタPEに報告し、障害の報告を受けた
管理マスタPEにSEのエラー要因レジスタにアクセス
させて障害の要因を確認し、障害の要因に応じて障害の
起きた機能を無効にすべく管理マスタPEにSEの機能
制御用レジスタの対応するビットをセットさせるもので
ある。
【0049】請求項8記載の発明に係るマルチプロセッ
サ制御方式は、他のマスタPE等からの割り込み信号を
受けるマスタPEに、割り込みの要求元を特定するとと
もに該マスタPEのCPUに対して割り込みを発生する
割り込みレジスタと、割り込みの割り込み要因を特定す
るための割り込み要因レジスタとを設け、割り込み要求
を受付、処理する際には割り込みレジスタおよび割り込
み要因レジスタの対応するビットをセット、クリアする
ものである。
【0050】請求項9記載の発明に係るマルチプロセッ
サ制御方式は、システム共有の資源を有するマスタPE
にセマフォレジスタを設け、セマフォレジスタを開放す
る際にホストPEに対して割り込みを発生し、割り込み
を処理するホストPEの割り込み処理ルーチンでセマフ
ォレジスタの取得を待っているマスタPEおよびホスト
PEのうちで最も優先度の高いものにセマフォレジスタ
の所有権を渡すべく割り込みを発生するものである。
【0051】請求項10記載の発明に係るマルチプロセ
ッサ制御方式は、セマフォレジスタの取得を待っている
複数のタスクがマスタPEないしホストPEにある場
合、最も優先度の高いタスクを優先的に実行するもので
ある。
【0052】請求項11記載の発明に係るマルチプロセ
ッサ制御方式は、複数のマスタPEのそれぞれにシステ
ムI/O空間において同一のアドレスで指定される領域
を有するホスト設定レジスタを設け、ホスト設定レジス
タの各ビットに複数のマスタPEのいずれか1つを一意
的に対応づけ、ホスト設定レジスタのいずれかのビット
をセットすることにより、そのビットに対応するマスタ
PEをホストPEとして動作させるものである。
【0053】請求項12記載の発明に係るマルチプロセ
ッサ制御方式は、複数のタスクがマルチプロセッサシス
テムの1つのハードウェア資源を利用する場合、ハード
ウェア資源に対応する仮想のハードウェア資源を各タス
クのコンテキストとして持たせるものである。
【0054】請求項13記載の発明に係るマルチタスク
制御方式は、少なくとも1つのプロセッサエレメントを
有するシステムにおいて、プロセッサエレメントで実行
される複数のタスクがシステムの1つのハードウェア資
源を利用する場合、ハードウェア資源に対応する仮想の
ハードウェア資源を各タスクのコンテキストとして持た
せるものである。
【0055】
【発明の実施の形態】以下、この発明の実施の一形態を
説明する。 実施の形態1.図1はこの発明の実施の形態1によるマ
ルチプロセッサ制御方式が適用されるマルチプロセッサ
システムの構成を示すブロック図である。この実施の形
態1によるマルチプロセッサシステムのベースとなるハ
ードウェアは、例えば、PCIバスやそれに準じたバス
をシステムバスとするIBM PC/ATアーキテクチ
ャに従うものである。図1において、100はシステム
全体のホストとなるホストプロセッサエレメント(以
下、ホストPEと記す)、101はホストPE100内
に設けられたCPU、102はホストPE100が管理
するシステム構成情報を蓄積するためデータベースであ
る構成情報データベース(以下、構成情報DBと略
す)、103はホストPE100内に設けられた割り込
みコントローラ、104はホストPE100内に設けれ
れており、システムの周辺デバイスからの割り込みを割
り込みコントローラ103のどのレベルに割り振るかを
ルーティングする割り込みルーティング機構であり、一
般的にはPCIバス制御用のチップセット内に実装され
る。また、150はシステムバスに含まれる一般的な接
続線である割り込み信号線(システムバス)、200は
割り込み信号線150に接続されており、PCIバス上
に存在しシステムの1つのマスタとなりえるLANカー
ド等のマスタPE、210は割り込み信号線150に接
続されており、PCIバス上に存在する他のマスタデバ
イスとしてのマスタPE、211はマスタPE210内
に設けられたCPU、212はマスタPE210内に設
けられたI/Oレジスタであり、外部からビットをセッ
トされるとCPU211に対して割り込みを発生する割
り込みレジスタ、300はPCIバス上に存在してホス
トPE100に対して割り込みを発生する1つのスレー
ブデバイスとしてのSE、310はPCIバス上に存在
する他のスレーブデバイスとしてのSEである。また、
図2は構成情報DB102の内容のうち、割り込みルー
ティングに関連する情報の一例を示す説明図である。
【0056】次に動作について説明する。まず、PCI
バス上のスレーブSE300から対象デバイスであるP
CIバス上のマスタPE210に割り込みを通知する動
作の流れについて説明する。PCIバスの割り込み信号
線は一般的には図1中のPCIバスの割り込み信号線1
50のように配線されるので、一般のシステムハードウ
ェアで直接あるデバイスからの割り込みを別のデバイス
に通知することができる。しかし、PCIバスの割り込
み信号線150のような配線はPCIとしては規格化さ
れておらず、正規の規格ではPCI上のデバイスからの
割り込み信号はデバイスごとにそれぞれホストPE10
0に入力されることとなっている。そのため、規格に則
してPCIバス上のデバイスから他のPCI上のデバイ
スへ割り込みを発生させることは一般的なハードウェア
システムだけでは実現できず、ソフトウェアもしくは特
殊なハードウェアの実装が必要となる。この実施の形態
1によるマルチプロセッサ制御方式は、特殊なハードウ
ェアを実装することなく、ソフトウェアのみでPCIバ
ス上のデバイス間の割り込みをルーティングするように
構成されており、以下では、SE310がマスタPE2
10へ割り込み要求を行った場合を例にとってこの実施
の形態1によるマルチプロセッサ制御方式の割り込みル
ーティングについて説明する。
【0057】システム初期化時に、ホストPE100、
各マスタPE200,210、およびSE300,31
0が必要とする、メモリ、I/O、割り込み等のシステ
ムの資源を割り付け、その割り付けられたシステム資源
に関する情報とともに、図2に示すような、各マスタP
E200,210の名称とその割り込みレジスタのI/
Oアドレスと各マスタPE200,210の対象となる
スレーブとしてのSE300,310の名称(即ち、マ
スタPEとSEとの対応関係)とそのSEの使用する割
り込みレベルとを含む割り込みルーティングに関連する
情報をシステム構成情報として構成情報DB102に予
め登録する。なお、図2には、SE300,310がマ
スタPE210のスレーブとして動作する旨が規定され
ている。
【0058】次に、図1に示す矢印(1)に示すよう
に、SE300がマスタPE210へのハードウェア上
の割り込みをPCIバスの割り込み信号線150上に発
生すると、矢印(2)に示されているように、一般的な
PCIバス制御用のチップセット内に実装されている割
り込みルーティング機構104を介して割り込みコント
ローラ103の割り込みレベル10(図2に示したよう
にSE300の割り込みレベルは10である)に入力さ
れる。次に、割り込みコントローラ103は、矢印
(3)に示すようにCPU101に対して割り込み要求
を発生し、CPU101にISR(割り込み処理ルーチ
ン)を起動させる。ISRを起動したCPU101は、
発生した割り込みレベルが10であることを確認し、矢
印(4)に示すように構成情報DB102にアクセスし
割り込み要求先であるマスタPE210の割り込みレジ
スタ212のI/Oアドレスを0x300と判断し、矢
印(5)に示すようにマスタPE210の割り込みレジ
スタ212の必要ビットをセットする。そして、マスタ
PE210の割り込みレジスタ212のビットがセット
されると、矢印(6)に示すようにマスタPE210内
のCPU211に対して割り込みが発生する。このよう
なフローに従って、SE300で発生したマスタPE2
10への割り込み要求はホストPE100を介してルー
ティングされる。
【0059】以上のように、この実施の形態1によれ
ば、PCIバスをシステムバスとして用いておりハード
ウェア的にはスレーブであるSE300からマスタPE
210に割り込みを通知できないマルチプロセッサシス
テムにおいても、PCIバスシステムの一般的なハード
ウェアに割り込みルーティング用のソフトウェアルーチ
ンを組み込むことにより、スレーブにマスタ機能を持た
せたりその他のハードウェアを追加することなく、割り
込みのルーティングを行うことができる。また、マスタ
PEやターゲットであるSEが複数存在する複雑なマル
チプロセッサシステムにおいても、構成情報DB102
の内容を参照することにより容易にシステム構成を把握
でき、さらに、構成情報DB102の内容を変更するこ
とにより割り込みルーティングの変更を行えるため、シ
ステムのフレキシビリティを向上させることができる。
【0060】実施の形態2.図3はこの発明の実施の形
態2によるマルチプロセッサ制御方式が適用されるマル
チプロセッサシステムの構成を示すブロック図である。
この実施の形態2によるマルチプロセッサシステムは、
割り込み信号線が全デバイスに共通に配線されているも
のではなく、PCIバスのようにホストPEとPCIバ
ス上の各デバイスの間を一対一で複数組接続されるよう
なシステムであり、図示していないホストPEを介さず
にSEとマスタPEの間で割り込みを直接通知するため
の基本的な割り込みルーティング回路を有している。
【0061】図3において、INT0#,INT1#,
INT2#,INT3#,INT4#はそれぞれプルア
ップされたオープンコレクタ形式のローアクティブの割
り込み信号線、1000は割り込みルーティング回路、
1100〜1104は割り込み信号線INT0#,IN
T1#,INT2#,INT3#,INT4#の内の1
つを介して割り込みルーティング回路1000へ入力さ
れるあるSEからの割り込み信号を他の割り込み信号線
を介してあるマスタPEへルーティング設定するための
割り込み設定レジスタであり、割り込み設定レジスタ1
100は割り込み信号線INT0#へ、割り込み設定レ
ジスタ1101は割り込み信号線INT1#へ、割り込
み設定レジスタ1102は割り込み信号線INT2#
へ、割り込み設定レジスタ1103は割り込み信号線I
NT3#へ、割り込み設定レジスタ1104は割り込み
信号線INT4#へ割り込みをそれぞれルーティングす
るように構成されている。また、1200〜1219は
各割り込み信号線INT0#,INT1#,INT2
#,INT3#,INT4#を介して入力される割り込
み信号を反転した信号と各割り込み設定レジスタ110
0〜1104のいずれかのビットの出力との論理積を求
めて主力する演算回路、1300〜1304はそれぞれ
4つの上記演算回路の出力の論理和を求めて出力して、
割り込み信号線INT0#,INT1#,INT2#,
INT3#,INT4#への出力を制御するためのNO
R回路、1400〜1404はそれぞれ各NOR回路1
300〜1304からの出力を入力し、割り込み信号線
INT0#,INT1#,INT2#,INT3#,I
NT4#へ割り込み信号を出力する割り込み信号出力回
路である。
【0062】割り込み設定レジスタ1100,110
1,1102,1103,1104の4つのビットのそ
れぞれは、どの割り込み信号線INT0#,INT1
#,INT2#,INT3#,INT4#からの割り込
みを許可するかを規定している。各割り込み設定レジス
タ1100〜1104において、ビット0は割り込み信
号線INT0#から、ビット1は割り込み信号線INT
1#から、ビット2は割り込み信号線INT2#から、
ビット3は割り込み信号線INT3#から、ビット4は
割り込み信号線INT4#からの割り込みを許可する
(ここで、例えば、割り込み設定レジスタ1100の4
つのビットはビット1、ビット2、ビット3、ビット4
から構成されている)。例えば、割り込み設定レジスタ
1101のビット2がセットされていると、割り込み信
号線INT2#を介して入力された割り込みを割り込み
信号線INT1#にルーティングすることを許可する。
【0063】次に動作について説明する。以下、図3に
示すように割り込みを発生するSE300が割り込み信
号線INT4#に接続されており、その割り込みを受け
るべきマスタPE200が割り込み信号線INT0#に
接続されていると仮定し、SE300がマスタPE20
0に対して割り込みを要求した場合のこの実施の形態2
によるマルチプロセッサ制御方式の割り込み要求ルーテ
ィングについて説明する。
【0064】マルチプロセッサシステムは、システム初
期化時に、上記実施の形態1と同様に、ホストPE、マ
スタPE200、およびSE300が必要とする、メモ
リ、I/O、割り込み等のシステムの資源を割り付け、
その割り付けられたシステム資源に関する情報ととも
に、マスタPE200の名称とその割り込みレジスタの
I/OアドレスとマスタPE200の対象となるスレー
ブとしてのSE300の名称(即ち、マスタPEとSE
との対応関係)とそのSEの使用する割り込みレベルと
を含む割り込みルーティングに関連する情報が、システ
ム構成情報として図示していない構成情報DBに予め登
録される。ホストPEは、この構成情報DBを参照して
図3に示すような割り込み信号線INT0#,INT1
#,INT2#,INT3#,INT4#の使用状況を
認識し、割り込み信号線INT4#への割り込み設定レ
ジスタ1104の全ビットをクリアし、さらに、割り込
み信号線INT0#への割り込み設定レジスタ1100
のビット4のみをセットする。これにより、割り込み信
号線INT4#は割り込みルーティング回路1000に
よってドライブされることはなく、SE300のみにド
ライブされるので、割り込み信号線INT4#上で信号
の衝突が起こることはない。
【0065】SE300が自身の内部に持っているマス
タPE200との共有メモリ(図示せず)にデータをセ
ットして割り込み信号を割り込みルーティング回路10
00に送出し、割り込み信号線INT4#をアクティブ
にドライブすると、演算回路1203,1207,12
11,1215,1219の一方の入力はアクティブに
なる。一方、割り込み設定レジスタ1100のビット4
がセットされているので、上記の演算回路1203,1
207,1211,1215,1219のうちで、もう
一方の入力がアクティブになっているのは演算回路12
03のみであるので、演算回路1203のみの出力がア
クティブになる。その結果、NOR回路1300の出力
がアクティブになり、割り込み信号線INT0#にその
出力が接続された割り込み信号出力回路1400が割り
込み信号線INT0#をアクティブにドライブする。こ
のようなルーティングにより、SE300で発生した割
り込み要求は、割り込み信号線INT4#を介して割り
込みルーティング回路1000に入力され、さらに、割
り込み信号線INT0#を介してマスタPE200へ通
知される。
【0066】以上のように、この実施の形態2によれ
ば、PCIバスをシステムバスとする一般的なシステム
ハードウェアだけではターゲットであるSE300から
マスタPE200に割り込みを通知できないマルチプロ
セッサシステムにおいても、スレーブにマスタ機能を持
たせたりホストPE100の割り込み処理ルーチンを特
殊化したりすることなく、さらに、基礎となるシステム
ハードウェアを変更することなく、必要な割り込みルー
ティング回路1000を付加するだけでSE300から
マスタPE200へ割り込みをルーティングできる。さ
らに、上記実施の形態1のように割り込みルーティング
の際にホストPE100が介在しないため、割り込み通
知に関して余分なオーバーヘッドはかからない。また、
マスタPEやターゲットであるSEが複数存在する複雑
なマルチプロセッサシステムにおいても、構成情報DB
102の内容を参照することにより容易にシステム構成
を把握でき、さらに、構成情報DB102の内容を変更
することにより割り込みルーティングの変更を行えるた
め、システムのフレキシビリティを向上させることがで
きる。
【0067】実施の形態3.図4はこの発明の実施の形
態3によるマルチプロセッサ制御方式が適用されるマル
チプロセッサシステムの構成を示すブロック図である。
この実施の形態3によるマルチプロセッサシステムのベ
ースとなるハードウェアは、PCIバスやそれに準じた
バスをシステムバスとするIBM PC/ATアーキテ
クチャに従うものである。また、この実施の形態3によ
るマルチプロセッサシステムは、5PCIスロットを持
つPCIバスシステムであり、上記実施の形態1で説明
したような理由により一般的なハードウェアでは直接ル
ーティングできないPCIバス上のデバイス間の割り込
みを可能とする割り込みルーティング回路を備えてい
る。
【0068】図4において、図1に示す上記実施の形態
1のよるマルチプロセッサシステムの構成要素と同一の
ものには同一の符号を付してその説明を省略する。ま
た、1,2,3、4、5はPCIバスのPCIスロット
であり、PCIスロット2の割り込み信号線INTA#
に接続されているマスタPE200およびPCIスロッ
ト4の割り込み信号線INTA#に接続されているSE
300を除いて、割り込みを使用するPCIバス上のデ
バイスは他には接続されていないと仮定する。また、1
10は例えばインテル社の82430FXのような一般
的なPCIバスシステム用のPCIチップセット、10
4はPCIチップセット110内に実装されている一般
的な割り込みルーティング機構、151〜154はそれ
ぞれPCIチップセット110へ入力される割り込み信
号が伝送される割り込み信号線INTA#,INTB
#,INTC#,INTD#、1001はPCIスロッ
ト間での割り込みルーティングを可能にする割り込みル
ーティング回路である。さらに、1110〜1113は
それぞれPCIスロット2、PCIスロット3、PCI
スロット4、PCIスロット5からPCIスロット1へ
の割り込みを許可するための割り込み設定レジスタ、1
120〜1123はそれぞれPCIスロット1、PCI
スロット3、PCIスロット4、PCIスロット5から
PCIスロット2への割り込みを許可するための割り込
み設定レジスタ、1130〜1133はそれぞれPCI
スロット1、PCIスロット2、PCIスロット4、P
CIスロット5からPCIスロット3への割り込みを許
可するための割り込み設定レジスタ、1140〜114
3はそれぞれPCIスロット1、PCIスロット2、P
CIスロット3、PCIスロット5からPCIスロット
4への割り込みを許可するための割り込み設定レジス
タ、1150〜1153はそれぞれPCIスロット1、
PCIスロット2、PCIスロット3、PCIスロット
4からPCIスロット5への割り込みを許可するための
割り込み設定レジスタである。1240は各PCIスロ
ット1,2,3,4,5の割り込み信号線INTA#,
INTB#,INTC#,INTD#に接続されてお
り、全ての入力の反転したものの論理和を出力する演算
回路、1250はPCIスロット間での割り込みルーテ
ィングのために、各PCIスロット1,2,3,4,5
への割り込みを許可する割り込み設定レジスタの各ビッ
トの値と各PCIスロット1,2,3,4,5の演算回
路1240の出力との論理積を出力するAND回路、1
310はPCIスロット間での割り込みルーティングの
ために、他のPCIスロットから同一割り込み信号線へ
の割り込み信号をそれぞれ出力する複数のAND回路1
250の論理和を求めそれを反転して出力するNOR回
路、1410は各NOR回路1310の出力を入力と
し、PCIスロット1,2,3,4,5からの割り込み
信号を割り込み要求先へ直接出力するための割り込み信
号出力回路である。1500〜1503は各PCIスロ
ット1,2,3,4,5の各割り込み信号をホストPE
100に伝えることを許可するためのホストPE100
への割り込み設定レジスタであり、割り込み設定レジス
タ1500は割り込み信号線INTA#151、割り込
み設定レジスタ1501は割り込み信号線INTB#1
52、割り込み設定レジスタ1502は割り込み信号線
INTC#153、割り込み設定レジスタ1503は割
り込み信号線INTD#154を介してホストPE10
0への割り込みをそれぞれ許可するように構成されてい
る。さらに、1600は各PCIスロット1,2,3,
4,5からホストPE100へ割り込みをルーティング
するために、各PCIスロット1,2,3,4,5の割
り込み信号線INTA#,INTB#,INTC#,I
NTD#と割り込み設定レジスタ1500〜1503の
各ビットとの論理和を求めるAND回路、1700は各
PCIスロット1,2,3,4,5からホストPE10
0への割り込みをルーティングするために、割り込み設
定レジスタ1500〜1503のそれぞれに対して設け
られた複数のAND回路1600からの出力の論理和を
求め反転して出力するNOR回路である。
【0069】割り込み設定レジスタ1110〜111
3、1120〜1123、1130〜1133、114
0〜1143、1150〜1153はそれぞれ有効な4
ビットを有しており、ビット0は対象PCIスロットの
割り込み信号線INTA#へ、ビット1は割り込み信号
線INTB#へ、ビット2は割り込み信号線INTC#
へ、ビット3は割り込み信号線INTD#への割り込み
ルーティングをそれぞれ許可する。例えば、PCIスロ
ット1への割り込み設定レジスタ1113のビット2を
セットすると、PCIスロット5からPCIスロット1
の割り込み信号線INTC#への割り込みルーティング
を許可したことになる。また、ホストPE100への割
り込み設定レジスタ1500〜1503はそれぞれ有効
な20ビットを有しており、例えばホストPE100へ
の割り込み設定レジスタ1500のビット19がセット
されていると、PCIスロット5の割り込み信号線IN
TD#を介して入力された割り込みを割り込み信号線I
NTA#151を介してホストPE100へ送出するこ
とを許可する。また、PCIバス上のデバイスからの割
り込みを直接受信するために、マスタPE200は割り
込みを入力として受け入れることができるようにハード
ウェア的に構成されている。なお、図4では割り込みル
ーティング回路1001は、ホストPE100の外部に
設けられているように描かれているが、ホストPE10
0の内部に設けてもよい。
【0070】次に動作について説明する。まず、システ
ム初期化時の処理について説明する。PCIスロット
2,4にそれぞれマスタPE200およびSE300が
組み込まれると、それぞれのデバイスドライバがインス
トールされ、マスタPE200のターゲットとなるデバ
イスがSE300であることがシステム構成情報として
構成情報DB102に記録される。
【0071】そして、システムを起動するかまたはシス
テムをリセットとすると、PCIバスシステムでは、シ
ステムのファームウェアがコンフィギュレーションサイ
クルを実行してPCIデバイスの存在をチェックし、認
識されたPCIデバイスについてはコンフィギュレーシ
ョンレジスタを設定する。ファームウェアによるシステ
ムのハードウェアコンフィギュレーションの設定が完了
すると、例えばマイクロソフト社のWindows N
TのようなOSがブートされる。OSのブート処理時、
マスタPE200やSE300のデバイスドライバの初
期化ルーチンが実行される。マスタPE200のデバイ
スドライバの初期化ルーチンでは、まずマスタPE20
0がどのPCIスロットに存在するかがチェックされ
る。マスタPE200が存在すれば、デバイスドライバ
のインストール時に設定されたシステム構成情報を含む
構成情報DB102としてのレジストリの内容をチェッ
クして、マスタPE200のターゲットとなるデバイス
がSE300であることを認識する。そして、マスタP
E200の割り込みレジスタのI/Oアドレスを確認
し、SE300がどのPCIスロットに存在するかを確
認し、さらにレジストリより得たSE300の対象ファ
ンクションがどの割り込み信号を使用しているかを確認
し(割り込みレベルを確認し)、これらの情報を構成情
報DB102に格納されたシステム構成情報に追加す
る。それと同時に、SE300をホストPE100が使
用するSE300のデバイスドライバの管理下から除外
する。
【0072】このようにして、上記実施の形態1および
2と同様に、ホストPE100、マスタPE200、お
よびSE300が必要とする、メモリ、I/O、割り込
み等のシステムの資源を割り付けられ、その割り付けら
れたシステム資源に関する情報とともに、SE300が
存在するPCIスロットの位置、マスタPE200の名
称とその割り込みレジスタのI/OアドレスとマスタP
E200の対象となるスレーブとしてのSE300の名
称(即ち、マスタPEとSEとの対応関係)とそのSE
の使用する割り込みレベルとを含む割り込みルーティン
グに関連する情報が、システム構成情報として構成情報
DB102に予め登録される。
【0073】また、図4に示すように、マスタPE20
0がPCIスロット2上に存在し割り込み信号線INT
A#を介して割り込み信号を受信でき、SE300がP
CIスロット4上に存在し割り込み信号線INTA#を
介して割り込み信号を送出することができる場合、マス
タPE200のデバイスドライバの初期化ルーチンにお
いて、割り込みルーティング回路1001は、構成情報
DB102を参照してPCIスロット2への割り込み設
定レジスタ1122のビット0をセットする。これによ
り、割り込みルーティング回路1001は、SE300
からマスタPE200への割り込みを直接ルーティング
することができる。また、PCIスロット2とPCIス
ロット4で発生する割り込みをホストPE100へ通知
しないためにホストPE100への割り込みをルーティ
ングするための割り込み設定レジスタ1501と150
3のビット4〜7とビット12〜15を0クリアし、さ
らに、PCIスロット4での割り込み発生に起因するP
CIスロット2での割り込み発生を他のPCIスロット
へルーティングしないために割り込み設定レジスタ11
10,1131,1141,1151の全てのビットを
0クリアしておく。
【0074】上記のような初期化処理後、システム稼動
時にSE300が自身の内部に持っているマスタPE2
00との共有メモリ(図示せず)にデータをセットして
PCIスロット4で割り込みを発生すると、PCIスロ
ット2への割り込み設定レジスタ1122のビット0が
セットされているため、PCIスロット4に対して設け
られた演算回路1240は論理1の信号を出力するの
で、一入力端子が割り込み設定レジスタ1122のビッ
ト0に接続されたAND回路1250は論理1の信号を
出力し、さらにそのAND回路1250に接続されたN
OR回路1310は論理0の信号を出力する。この結
果、このNOR回路1310の出力に接続された割り込
み信号出力回路1410は、PCIスロット2の割り込
み信号線INTA#をアクティブにドライブする。この
とき、ホストPE100への割り込み設定レジスタ15
01と1503のビット4〜7とビット12〜15が0
クリアされており、各PCIスロットへの割り込み設定
レジスタ1110,1131,1141,1151が0
クリアされているので、ホストPE100や他のPCI
スロットへ割り込みを発生することはない。
【0075】この実施の形態3によるマルチプロセッサ
システムでは、PCIバスの各PCIスロット1,2,
3,4,5の全割り込み信号の論理和を、複数のAND
回路1250および複数のNOR回路1310から構成
される、他のPCIスロットへの割り込みルーティング
のための演算回路に入力したが、各PCIスロットへの
割り込み設定レジスタ1110〜1153を拡張して各
PCIスロット1,2,3,4,5の各割り込み信号を
個別にルーティングできるレジスタ構成とし、各PCI
スロット1,2,3,4,5の各割り込み信号を他のP
CIスロットへの割り込みルーティング演算回路に個別
に入力することにより、さらに細かい割り込みルーティ
ングを行うことができる。
【0076】以上のように、この実施の形態3によれ
ば、PCIバスをシステムバスとする一般的なシステム
ハードウェアだけではターゲットであるSEからマスタ
PEに割り込みを通知できないマルチプロセッサシステ
ムにおいても、スレーブにマスタ機能を持たせたりホス
トPEの割り込み処理ルーチンを特殊化したりすること
なく、さらに、基礎となるシステムハードウェアを変更
することなく、必要な割り込みルーティング回路100
1を付加するだけでSEからマスタPEへ割り込みをル
ーティングできる。さらに、上記実施の形態1のように
割り込みルーティングの際にホストPE100が介在し
ないため、割り込み通知に関して余分なオーバーヘッド
はかからない。また、マスタPEやターゲットであるS
Eが複数存在する複雑なマルチプロセッサシステムにお
いても、構成情報DB102の内容を参照することによ
り容易にシステム構成を把握でき、さらに、構成情報D
B102の内容を変更することにより割り込みルーティ
ングの変更を行えるため、システムのフレキシビリティ
を向上させることができる。
【0077】実施の形態4.図5はこの発明の実施の形
態4によるマルチプロセッサ制御方式が適用されるマル
チプロセッサシステムの構成を示すブロック図である。
この実施の形態によるマルチプロセッサシステムは、P
CIバスもしくはそれに準じたバスをシステムバスとし
て備えている。図において、100はホストPE、10
2はホストPE100が管理するシステム構成情報を蓄
積するためデータベースである構成情報DB、121,
123,125はPCIバスもしくはそれに準じたPC
Iバス(システムバス)、122,124はこれらのP
CIバス121,123,125を接続するためのブリ
ッジデバイス(ブリッジ機構)、1002,1003,
1004は上記実施の形態3による割り込みルーティン
グ回路1001と同様な構成を有する割り込みルーティ
ング回路である。図5に示すように、割り込み要求元の
SE300はPCIバス125上に、割り込み要求先の
マスタPE210はPCIバス121上にあると仮定す
る。
【0078】一般的に、1つのPCIバス上に10デバ
イスまでしか接続できない。従って、10を超えるデバ
イスが必要な場合には、図5に示すようにブリッジデバ
イス122,124を用いて複数のPCIバス121,
123,125を接続する必要がある。この実施の形態
4によるマルチプロセッサ制御方式は、このような構成
のマルチプロセッサシステムでの割り込みルーティング
を提供するものである。
【0079】次に動作について説明する。割り込みルー
ティング回路1002は、通常通りホストPE100を
ホストとして割り込み信号をルーティングし、マスタP
E210およびブリッジ122をそれぞれ図4に示した
ような1つのPCIスロット1,2,3,4または5に
接続されている1つのデバイスとして割り込み信号をル
ーティングするように構成されている。同様に、割り込
みルーティング回路1003は、ブリッジ102および
ブリッジ104をそれぞれ1つのデバイスとして割り込
み信号をルーティングするように構成されている。さら
に、割り込みルーティング回路1004は、SE300
およびブリッジ124を1つのデバイスとして割り込み
信号をルーティングするように構成されている。また、
割り込みルーティング回路1003,1004は、ホス
トPE100へ直接割り込み信号を接続しないように設
定される。即ち、割り込みルーティング回路1003,
1004の図4に示すホストPE100への割り込み信
号線INTA#151,INTB#152,INTC#
153,INTD#154はオープンとなっている。
【0080】マスタPE210のデバイスドライバのイ
ンストール時かまたは初期化時に、ホストPE100内
の構成情報DB102には、マスタPE210の名称、
マスタPE210の割り込みレジスタのI/Oアドレ
ス、マスタPE210のターゲットとしてSE300の
名称、存在位置および割り込み信号レベルに関する情報
を格納し、それに基づいてPCIバス125上のSE3
00からの割り込みをブリッジデバイス124を経由し
てPCIバス123上に発生させるように割り込みルー
ティング回路1004とブリッジデバイス124を設定
し、ブリッジデバイス124の発生したPCIバス12
3上での割り込みをPCIバス121上に発生させるよ
うに割り込みルーティング回路1003とブリッジデバ
イス122を設定する。これにより、図5に示すような
複数のブリッジデバイス122,124を含むPCIバ
スシステムでも、ブリッジデバイス122,124をま
たいで割り込みをルーティングできる。
【0081】以上のように、この実施の形態4によれ
ば、ブリッジデバイス122,124により接続された
複数のPCIバス121,123,125を備えたマル
チプロセッサシステムにおいても、スレーブにマスタ機
能を持たせたりホストPE100の割り込み処理ルーチ
ンを特殊化したりすることなく、さらに、基礎となるシ
ステムハードウェアを変更することなく、必要な複数の
割り込みルーティング回路1002,1003,100
4を付加するだけで異なるPCIバス121,125上
にそれぞれ設けられたSE300からマスタPE210
へ割り込みをルーティングできる。さらに、上記実施の
形態1のように割り込みルーティングの際にホストPE
100が介在しないため、割り込み通知に関して余分な
オーバーヘッドはかからない。また、構成情報DB10
2を利用することにより、マスタPEやターゲットであ
るSEが複数存在する複雑なマルチプロセッサシステム
においても、構成情報DB102の内容を参照すること
により容易にシステム構成を把握でき、さらに、構成情
報DB102の内容を変更することにより割り込みルー
ティングの変更を行えるため、システムのフレキシビリ
ティを向上させることができる。
【0082】実施の形態5.図6〜8はこの発明の実施
の形態5によるマルチプロセッサ制御方式が適用される
マルチプロセッサシステムの構成および動作を示すブロ
ック図である。図6はシステム起動時の動作、図7はマ
スタPE210のターゲットからマスタPE210へ通
信要求を通知する場合の動作、図8はマスタPE210
のターゲットからの通信要求に従い、マスタPE210
がターゲットにデータ転送する場合の動作を示すブロッ
ク図である。これらの図において、100はホストP
E、101はホストPE100のCPU、102はホス
トPE100内に設けられておりシステム構成情報を格
納する構成情報DB、121はシステムバスとしてのP
CIバス、211はマスタPE210のCPU、215
はマスタPE210がマルチプロセッサシステムのマス
タとなってCPU211がターゲットにアクセスする場
合のI/Oウィンドウかメモリウィンドウであるウィン
ドウ、213はCPU211がウィンドウ215を通し
てターゲットにアクセスする場合のアクセス先を設定す
るためのウィンドウ設定レジスタ(レジスタ)、600
はCPU211がアクセスしようとするターゲットの先
頭アドレスを設定するためのアドレス設定レジスタ、6
01はアクセス先の容量を設定するための容量設定レジ
スタ、217はホストPE100がマスタPE210と
データ転送するためのマスタPE210内に設けれらた
2ポートメモリ(共有メモリ)、300,310はマス
タPE210のターゲットとしてのSE、1001は上
記実施の形態3による割り込みルーティング回路であ
る。
【0083】なお、この実施の形態5によるマルチプロ
セッサシステムでは、マスタPE210のターゲットと
してSE300およびSE310の2つを考えているた
め、アドレス設定レジスタ600と容量設定レジスタ6
01とウィンドウ215はそれぞれ2セット用意され
る。
【0084】次に動作について説明する。図6の点線は
割り込みルーティングを設定する際の処理の流れを示し
ており、実線はマスタPE210とターゲット間のデー
タ転送のための設定の処理の流れを示しており、図7お
よび図8の点線はSE300とマスタPE210との間
の通信処理を示しており、実線はSE310とマスタP
E210との間の通信処理を示している。
【0085】ホストPE100は、図6に示す動作の前
に、メモリ、I/O、割り込みなどのマルチプロセッサ
システムの資源を割り付け、さらに、割り付けた資源に
関する情報とともに、マスタPE210の名称、および
マスタPE210のターゲットがSE300とSE31
0であることを示す情報を含むシステム構成情報を構成
情報DB102に登録する。その後、システム起動時
に、ホストPE100は、図6に示すように、構成情報
DB102に登録されたマルチプロセッサシステムの資
源割り付けに関する情報やマスタPE210とターゲッ
トであるSE300,310との関係の情報を含むシス
テム構成情報に基づき、割り込みルーティング回路10
01およびマスタPE210のウィンドウ設定レジスタ
213を設定する。このような設定はソフトウェアによ
って実行される。
【0086】割り込みルーティング回路1001はホス
トPE100により直接設定され、これにより、SE3
00,310からの割り込み信号は割り込みルーティン
グ回路1001を介してマスタPE210へルーティン
グされる。ウィンドウ設定レジスタ213を設定するた
めに、ホストPE100がマスタPE210内の2ポー
トメモリ217にデータを転送すると、マスタPE21
0のCPU211はそのデータを読み取りそのデータに
基づきアドレス設定レジスタ600および容量設定レジ
スタ601にそれぞれ設定する。アドレス設定レジスタ
600と容量設定レジスタ601とにマルチプロセッサ
システムの資源空間に占めるターゲットとしてのSE3
00やSE310の資源のアドレスとその容量とがそれ
ぞれ設定される。このことにより、マスタPE210の
CPU211がSE300または310からの割り込み
要求に応答してマスタPE210のローカル資源空間の
ウィンドウ215の領域にアクセスすると、ウィンドウ
215の回路がアクセス要求を変換し、マスタPE21
0がマルチプロセッサシステムのマスタとなってアドレ
ス設定レジスタ600に設定された値をベースにして適
切なオフセットを加えたシステム空間のアドレスに割り
付けられたターゲットとしてのSE300やSE310
の資源にアクセスできる。
【0087】また、マスタPE210の初期化の際に、
マスタPE210は2ポートメモリ217経由でターゲ
ットからの通信要求用の割り込みレベルも取得し、対応
した割り込み処理ルーチンを自身の内部に登録する。シ
ステムの通常動作に入ってからマスタPE210のター
ゲットであるSE300やSE310は自身の内部に持
っているマスタPE210との共有メモリ(図示せず)
にデータをセットすることにより割り込み信号を発生す
る。SE300または310がマスタPE210との通
信のために割り込み信号が発生すると、図7に示すよう
に、その割り込み信号は割り込みルーティング回路10
01によりルーティングされマスタPE210に入力さ
れ、CPU211に対して割り込みが発生する。その
後、マスタPE210は、図8に示すように、対応する
ウィンドウ215を通してSE300やSE310とデ
ータ転送を行う。
【0088】なお、図6〜8ではターゲットからマスタ
PE210に通信要求が発生した場合の処理の流れを示
したが、マスタPE210から通信要求が発生するなど
のような他の種類の処理の流れも実際のマルチプロセッ
サシステムではありえる。このような場合にもこの実施
の形態5によるマルチプロセッサ制御方式を適用でき
る。
【0089】以上のように、この実施の形態5によれ
ば、マスタPE210とSE300との通信に関する通
信要求やデータを当事者間で直接送受信できるので、シ
ステムパフォーマンスを向上させることができる。さら
に、通信用の割り込みルーティングやウィンドウの設定
や変更をソフトウェアで実行することが可能であるの
で、システム構成のフレキシビリティを向上させること
が可能となる。
【0090】実施の形態6.図9および図10はこの発
明の実施の形態6によるマルチプロセッサ制御方式が適
用されるマルチプロセッサシステムの構成および動作を
示すブロック図である。図において、図6〜8に示した
上記実施の形態5によるものと同一の構成要素には同一
の符号を付してその説明を省略する。この実施の形態に
よるマルチプロセッサシステムは、システム起動時に、
上記実施の形態5によるマルチプロセッサシステムと同
様の設定を行うように構成されている。図9はマスタP
E210とSE300との間の通信動作を、図10はホ
ストPE100とマスタPE210との間の通信動作を
示すものであり、図中、点線は通信要求のための割り込
みの経路を、実線はデータ転送の経路を示している。
【0091】次に動作について説明する。図9に示した
マスタPE210とそのターゲットとしてのSE300
との通信経路から明らかなように、SE300からの通
信要求は、割り込みとして割り込みルーティング回路1
001経由でマスタPE210が直接受け付る。そし
て、マスタPE210のCPU211は、上記実施の形
態5と同様に、ローカル資源空間のウィンドウ(図示せ
ず)の領域にアクセスし、ウィンドウの回路がアクセス
要求を変換し、マスタPE210がマルチプロセッサシ
ステムのマスタとなって自身のアドレス設定レジスタ
(図示せず)に設定された値をベースにして適切なオフ
セットを加えたシステム空間のアドレスに割り付けられ
たターゲットとしてのSE300の資源に直接アクセス
する。また、マスタPE210からSE300への通信
要求の場合にはマスタPE210がシステムのターゲッ
トとなってSE300に直接アクセスする。
【0092】図10に示したホストPE100とマスタ
PE210との通信経路から明らかなように、ホストP
E100とマスタPE210との間の通信要求としての
割り込みは割り込みルーティング回路1001によって
直接相手に通知され、データ転送はマスタPE210内
に共有メモリとして設けられた2ポートメモリ217を
介して行う。このような構成では、マスタPE210が
マルチプロセッサシステムのマスタとなってマスタPE
210とSE300との間の通信動作において、少量の
制御データを転送するようにすることが好ましい。これ
により、ホストPE100のシステム資源へのアクセス
待機を最小限に抑えることが可能となる。さらに、2ポ
ートメモリ217を介したホストPE100とマスタP
E210とがどのように同期をとって2ポートメモリ2
17にアクセスするか等の通信手順を適切に決めること
により、マスタPE210のCPU211とホストPE
100との2ポートメモリ217へのアクセスの競合に
よる互いの処理の待機を最小限に抑えることができ、パ
フォーマンスの良いシステムを構築することができる。
【0093】なお、図9および図10では、ターゲット
からマスタPE210に通信要求が発生した場合の処理
の流れを示しているが、マスタPE210から通信要求
が発生するなどのような他の種類の処理の流れも実際の
システムではありえる。このような場合にもこの実施の
形態6によるマルチプロセッサ制御方式を適用できる。
【0094】以上のように、この実施の形態6によれ
ば、マスタPE210とSE300との間およびマスタ
PE210とホストPE100との間の通信要求は要求
元から要求先に直接通知することができるので、システ
ムパフォーマンスを向上させることができる。さらに、
通信要求用の割り込みルーティングは、ソフトウェアで
設定、変更することが可能であるので、システム構築の
フレキシビリティを向上させることができる。
【0095】また、マスタPE210とターゲットであ
るSE300とのデータ転送では、マスタPE210が
システムのマスタとなってデータ転送するので、ホスト
PE100の介在がなくマスタPE210の処理やホス
トPE100内部の処理に余分なオーバーヘッドがかか
らない。また、マスタPE210の処理結果等をマスタ
PE210上の共有メモリである2ポートメモリ217
を介してホストPE100へ通知するように構成されて
いるので、ホストPE100とマスタPE210との間
の通信データがたとえ大きくなっても、マスタPE21
0のCPU211が2ポートメモリ217へデータを書
き込む等のアクセスしている間にホストPE100はP
CIバス141を介して他の処理を実行できるので、シ
ステムの主メモリを共有メモリにしてマスタPE210
がホストPE100をホールドしてしまうような従来の
マルチプロセッサシステムに比べてシステムに余分なオ
ーバーヘッドをかけるようなことはない。そのため、こ
の実施の形態6によるマルチプロセッサ制御方式によれ
ば、システムとしてのトータルパフォーマンスをハイレ
ベルに維持できる。
【0096】実施の形態7.図11はこの発明の実施の
形態7によるマルチプロセッサ制御方式が適用されるマ
ルチプロセッサシステムの構成を示すブロック図であ
る。図において、200,210はマスタPE、201
はマスタPE200のCPU、510はマスタPE20
0に設けられており、マスタPE210等の割り込み要
求元が割り込み要求をCPU201に通知するための割
り込み要求レジスタ、511は割り込み要求を受けた側
が割り込み要求をクリアするための割り込みクリアレジ
スタ、512は割り込み要求を受けても内部のCPU2
01への割り込みを発生させないための割り込みマスク
レジスタ、202は割り込み要求レジスタ510、割り
込みクリアレジスタ511、および割り込みマスクレジ
スタ512から構成される割り込み要求を通知するため
のレジスタセットとしての割り込みレジスタ、513は
割り込み要求元が割り込み要因を登録するための割り込
み要因指定レジスタ、514は割り込み要因指定レジス
タ513の内容をクリアするための割り込み要因クリア
レジスタである。また、割り込み要因レジスタ502
は、割り込み要因指定レジスタ513と割り込み要因ク
リアレジスタ514とから構成されており、マスタPE
200に割り込みを発生するマスタPEごとに実装され
得る。図11には、2つのマスタPE200,210し
か描かれていないが、3つ以上のマスタPEがPCIバ
ス等のシステムバス140を介して接続され得、マスタ
PE200は複数の他のマスタPEから割り込みを受け
付けることができる。尚、マスタPE210もマスタP
E200と同様な割り込みレジスタおよび割り込み要因
レジスタを有しており、マスタPE200等の他のマス
タPEからの割り込み要求を処理するように構成されて
いる。以下では、マスタPE200がマスタPE210
等の他のマスタPEからマスタPE200上の共有メモ
リ等のシステム共有の資源を使用する割り込み要求を受
けてそれを処理する場合について説明する。
【0097】次の動作について説明する。割り込み要求
レジスタ510は、他のマスタPEからは書き込み専用
であり、自身からは読み出し専用のレジスタである。従
って、割り込み要求元のマスタPEが割り込み要求先で
あるマスタPE200内の割り込み要求レジスタ510
のビットをセットすることにより、割り込み要求先のマ
スタPE200で割り込みが発生する。割り込み要求レ
ジスタ510はビットごとにセット可能であり、例えば
割り込み要求レジスタ510のビット1がセットされて
いる状態で、割り込み要求元から2進数で000010
00を書き込まれると、ビット1はセットされたまま新
たにビット3もセットされる。割り込み要求レジスタ5
10のいずれかのビットがセットされており、以下で述
べるようにそのビットが割り込みマスクレジスタ512
でマスクされていないならば、マスタPE200内でC
PU201に割り込みが発生する。
【0098】割り込みクリアレジスタ511は、自身の
マスタPE200に対しては書き込み専用のレジスタで
あり、ビットごとの操作が可能である。すなわち、割り
込み要求レジスタ510のビット0およびビット3がセ
ットされている状態で割り込みクリアレジスタ511に
2進数で00001000を書き込むとビット3のみク
リアされてビット0はセットされたままとなる。割り込
みマスクレジスタ512は、割り込み要求レジスタ51
0のビットがセットされていても自身のCPU201に
割り込みを発生させないためのレジスタである。例え
ば、割り込みマスクレジスタ512のビット0がセット
されていると、割り込み要求レジスタ510のビット0
がセットされても割り込みは発生しない。この際、割り
込み要求レジスタ510のビット0以外のビットがセッ
トされた場合には割り込みは発生する。すなわち、割り
込みマスクレジスタ512は、所定の他のマスクPEか
らの割り込み要求の処理を禁止することができる。
【0099】割り込み要因指定レジスタ513および割
り込み要因クリアレジスタ514は、割り込み要求レジ
スタ510および割り込みクリアレジスタ511と同様
の関係にある。すなわち、どちらもビットごとの操作が
可能で、ビットごとに割り込み要因通知用とそのクリア
用に使われる。ただし、割り込み要因指定レジスタ51
3は、割り込み要求レジスタ510と異なり、ビットが
セットされていても自身の内部で割り込みを発生するこ
とはない。
【0100】システム起動までにマスタPE200に割
り込みを発生するマスタPE210を含む他の複数のマ
スタPEのそれぞれに割り込み要求レジスタ510のビ
ットが各々割り振られる。システム起動時にマスタPE
200は割り込み処理ルーチンをセットし、割り込みマ
スクレジスタ512を特定の他のマスクPEからの割り
込み要求を処理しないように対応するビットをセットす
る。マルチプロセッサシステムの通常動作中、マスタP
E210からマスタPE200に割り込みを伝える必要
が発生すると、マスタPE210はマルチプロセッサシ
ステムのマスタとなり、割り込み要因指定レジスタ51
3の複数のビットのうちのその割り込みの要因に対応す
るビットをセットする。その後、割り込み要求レジスタ
510の複数のビットのうちでマスタPE210からの
割り込みに対応するビットをセットする。そして、割り
込みマスクレジスタ512の対応するビットがセットさ
れていなければ、割り込みレジスタ202はCPU20
1に割り込み要求を送出し割り込み処理ルーチンを起動
させる。マスタPE200の割り込み処理ルーチンで
は、CPU201はまず割り込み要求レジスタ510の
値を読み取り、割り込みを発生しているのが例えばマス
タPE210であることを知る。そして、マスタPE2
10からの割り込みを処理する割り込み処理ルーチンに
分岐し、その割り込み処理ルーチンでマスタPE210
用の割り込み要因指定レジスタ513を読み取り割り込
み要因を特定する。その後、割り込み処理ルーチンにお
いて割り込み要求を処理し、割り込み要因クリアレジス
タ514を用いて割り込み要因をクリアし、割り込みク
リアレジスタ511を用いてCPU201への割り込み
をクリアする。
【0101】マスタPE200に割り込みを発生するマ
スタPEが多数の場合、割り込みレジスタ202を複数
設けてもよい。この場合、例えば、他のマスタPEが1
7以上存在するならば、16ビットの割り込みレジスタ
202を2つ必要とし、他のマスタPEからの割り込み
要求があるか無いかを確認し、割り込みを発生している
マスタPEを知るために2つの割り込み要求レジスタに
アクセスする必要がある。また、割り込みを発生する他
の複数のマスタPEの割り込み要因の数が少ない場合
は、割り込み要因レジスタ502を複数のマスタPEで
共有してもよい。例えば、16ビットの割り込み要因レ
ジスタ502が実装されているのに割り込みを発生する
各マスタPEが8種類までの割り込み要因しか持たない
場合、1つの割り込み要因レジスタ502に2つのマス
タPEを対応させることができる。
【0102】以上のように、この実施の形態7によれ
ば、マスタPE200に割り込み要求を発生するマスタ
PEの数が多くても、マスタPE200内に割り込みレ
ジスタ202と割り込み要因レジスタ502とを設けて
いるので、数回のレジスタアクセスで割り込み要求元の
マスタPEと割り込み要求要因を特定できる。例えば、
割り込みレベルを1つとし、1つの32ビット割り込み
レジスタ202と8つの32ビット割り込み要因レジス
タ502とを設けることにより、8つの割り込み要因を
持つ32個の他のマスタPEからの割り込みの要求元お
よび割り込み要因を2回のレジスタアクセスで特定で
き、より高速に割り込み処理を実行できる。
【0103】実施の形態8.図12(A),(B)はこ
の発明の実施の形態8によるマルチプロセッサ制御方式
が適用されるホストPEの構成を示す説明図である。図
において、130はホストPE100中のタスクA、1
31は同様にホストPE100中のタスクB、600は
ハードウェアとして実装されているアドレス設定レジス
タ、610はタスクA130のコンテキストとしての仮
想アドレス設定レジスタ、620はタスクB131のコ
ンテキストとしての仮想アドレス設定レジスタである。
仮想アドレス設定レジスタ610,620は、ともにア
ドレス設定レジスタ600に対応する仮想のハードウェ
ア資源である。
【0104】アドレス設定レジスタ600はホストPE
100内に1つだけ実装されているものであり、2つの
タスクA130,タスクB131は、アドレス設定レジ
スタ600を別々の用途で使用するため、タスクA13
0、タスクB131のいずれがアドレス設定レジスタ6
00を使用するかに応じて、アドレス設定レジスタ60
0の設定値は異なる。アドレス設定レジスタ600など
のハードウェア資源をタスクA130、タスクB131
のコンテキストとするには、対象となるハードウェア資
源をメモリ空間にマッピングしておき、リアルタイムO
S VxWorksなどのシステムコールなどを使用す
る。VxWorksなどのシステムコールには、指定さ
れたメモリエリアをタスクのコンテキストとすることが
できるものがある。
【0105】ところで、従来、タスクごとにハードウェ
ア資源の内容を変えるためにタスクごとに個別にハード
ウェア資源を持つ必要があった。タスクごとに個別にハ
ードウェア資源を準備するシステムではハードウェアボ
リュームが増大し、貴重なI/O空間に大きな領域を必
要としていた。また、ハードウェアを実装する時点で、
対象となるハードウェア資源を必要とするタスク数を把
握しておかなければならなかった。この実施の形態8に
よるマルチプロセッサ制御方式は、このような従来のシ
ステムの課題を解決する手段を提供するものである。
【0106】次に動作について説明する。まず、システ
ム初期化時には、アドレス設定レジスタ600は初期化
状態にクリアされており、そのため仮想アドレス設定レ
ジスタ610,620も初期化状態にクリアされてい
る。タスクA130とタスクB131は、システムコー
ルによりアドレス設定レジスタ600がマッピングされ
たメモリ領域をそれぞれのタスクA130、タスクB1
31のコンテキストとして登録する。タスクA130が
実行されている環境でタスクA130がマッピングされ
たメモリ領域を通してアドレス設定レジスタ600をあ
る値に設定する。その後、タスクスイッチが発生してタ
スクB131が実行される環境に変わると、タスクA1
30で使用していたアドレス設定レジスタ600の内容
はタスクA130の仮想アドレス設定レジスタ610に
待避され、アドレス設定レジスタ600には新たな実行
タスクであるタスクB131の仮想アドレス設定レジス
タ620の内容が設定される。このとき、アドレス設定
レジスタ600は初期化状態にクリアされるので、タス
クB131は自分が必要とする値をマッピングされたメ
モリ領域を通してアドレス設定レジスタ600に設定す
る。そしれ、タスクB131はアドレス設定レジスタ6
00により設定されるウィンドウを通して処理を実行す
る。
【0107】その後、再びタスクスイッチが発生してタ
スクA130が実行される環境に変化しても、前回のタ
スクスイッチの場合と同様に、アドレス設定レジスタ6
00の内容はタスクB131の仮想設定レジスタ620
に待避され、タスク設定レジスタ600には新たな実行
タスクであるタスクAの仮想アドレス設定レジスタ61
0の内容が再設定される。そして、タスクA130は自
分に必要な設定のウィンドウを通して処理を実行するこ
とができる。このように、タスクA130、タスクB1
31のように複数のタスクのそれぞれにコンテキストと
して仮想アドレス設定レジスタを持たせることにより、
1つの物理的ハードウェア資源であるアドレス設定レジ
スタ600をそれぞれ独立して設定して使用することが
できる。
【0108】上記の例では仮想アドレス設定レジスタを
タスクのコンテキストとしたが、システム構成に関わる
ハードウェア資源に対応する仮想のハードウェア資源を
各タスクのコンテキストとして持たせ、物理的には1つ
のシステムハードウェアを、複数のタスクで別構成のシ
ステムハードウェアのように扱うことができる。
【0109】例えば、上記実施の形態2によるマルチプ
ロセッサ制御方式の割り込みルーティング回路1000
の割り込み設定レジスタ1100〜1104や、上記実
施の形態3によるマルチプロセッサ制御方式の割り込み
ルーティング回路1001の割り込み設定レジスタ11
10〜1113,1120〜1123,1130〜11
33,1140〜1143,1150〜1153をタス
クのコンテキストとして持たせることにより、ハードウ
ェア的には1つのデバイスをタスク毎に別のデバイスの
ように扱うことが可能となる。さらに、この実施の形態
8によるマルチプロセッサ制御方式は、上記実施の形態
5によるマルチプロセッサ制御方式のウィンドウ設定レ
ジスタ213にも適用することが可能である。
【0110】さらに、この実施の形態8によるマルチプ
ロセッサ制御方式の適用は、マルチプロセッサシステム
に限定されるものではなく、シングルプロセッサを備え
た制御装置にも適用され得る。
【0111】以上のように、この実施の形態8によれ
ば、ハードウェア資源としては1つしか実装されていな
いアドレス設定レジスタ600をソフトウェア的には複
数存在するように扱えるため、ハードウェアが要求する
スペース、価格などのコストを低減できる。また、シス
テム構成に関わるレジスタ等のハードウェア資源に対応
する仮想のハードウェア資源をタスクのコンテキストと
して持たせることにより、1つのシステムハードウェア
をタスクごとに違ったシステムハードウェアとして扱え
るため、システムコストの低減、システムのフレキシビ
リティを向上させることができる。
【0112】実施の形態9.図13はこの発明の実施の
形態9によるマルチプロセッサ制御方式が適用されるマ
ルチプロセッサシステムの構成を示すブロック図であ
る。図において、208はマスタPE200に設けられ
たホスト設定レジスタ、218はマスタPE210に設
けられたホスト設定レジスタ、228はマスタPE22
0に設けられたホスト設定レジスタ、238はマスタP
E230に設けられたホスト設定レジスタ、209はマ
スタPE200に設けられたマスタID設定スイッチ、
219はマスタPE210に設けられたマスタID設定
スイッチ、229はマスタPE220に設けられたマス
タID設定スイッチ、239はマスタPE230に設け
られたマスタID設定スイッチである。この実施の形態
9によるマルチプロセッサシステムのマスタPE20
0,210,220,230は、ホストPEとなること
ができるだけの資源をそれぞれ独立して有している。
【0113】次に動作について説明する。マスタPE2
00,210,220,230に設けられたマスタID
設定スイッチ209,219,229,239は、マス
タPEごとに固有の設定値にそれぞれ設定され、それら
の値はシステム上でマスタPEを特定するID情報とし
て使われる。マスタPE200,210,220,23
0に設けられたホスト設定レジスタ208,218,2
28,238は、システムI/O空間上の同一のアドレ
スで指定される領域に存在しており、一回のアクセスで
全マスタPE200,210,220,230の全ての
ホスト設定レジスタ208,218,228,238の
値が設定され得る。ホスト設定レジスタ208,21
8,228,238の各ビットはマスタID設定スイッ
チ209,219,229,239の各設定値と対応付
けられており、ホスト設定レジスタ208,218,2
28,238のセットされたビットに対応したマスタI
D設定スイッチの設定値を有するマスタPEがシステム
のホストPEとして動作するように設定される。すなわ
ち、ホスト設定レジスタ208,218,228,23
8中の1ビットのみをセットすることにより、マスタP
E200,210,220,230のうちのいずれか1
つをホストPEとして動作することを許可する。
【0114】システム起動時に、例えば、マスタID設
定スイッチ209の設定値をID0に設定し、ID0に
対応するホスト設定レジスタ208,218,228,
238のビットをセットすると、システム起動後、設定
値ID0を有するマスタPE200がホストPEとして
動作する。その後、もしホストPEとして動作している
マスタPE200上でなんらかの異常が発生すると、マ
スタPE200は、異常処理ルーチンによる処理の過程
でシステムのホストPEとしての役割を他のマスタPE
に譲るために、ホスト設定レジスタ208,218,2
28,238の値を書き換える。これにより、新たにセ
ットされたビットに対応するIDを持つ他のマスタPE
210,220,または230がシステムのホストPE
として動作することが可能となり、システムとしての稼
動を継続することができる。
【0115】以上のように、実施の形態9によれば、シ
ステム起動前に各マスタPE200,210,220,
230に固有のIDを持たせシステム起動時にはID0
のマスタPEがシステムのホストPEとなるように設定
し、ホストPEとなっているマスタPEで異常が発生し
た場合には、自身をシステムから切り離す前に異常処理
ルーチン内で次にホストとなるマスタPEを決定し、そ
のIDに対応する値を全てのホスト設定レジスタ20
8,218,228,238に書き込み、ホストの権利
を他のマスタPEに譲るので、ホストの権利をスムーズ
に受け継がせてシステムダウンを防ぐことが可能とな
り、比較的容易にシステムの高信頼性を得ることができ
る。
【0116】また、非均質なマスタPE200,21
0,220,230を用意し、それらをダイナミックに
ホストPEに切り替えることにより、1つのシステム上
で各マスタPEが独自のパフォーマンスを有効に発揮す
ることができる。それ故、コストパフォーマンスの高い
マルチプロセッサシステムを提供でき、さらに、従来技
術のような独立したホスト監視手段を持つ必要がなくホ
ストPE決定のための情報データの一貫性を保持する必
要もないので、ハードウェア、ソフトウェア、処理オー
バーヘッドの増大を抑えることができる。
【0117】実施の形態10.図14はこの発明の実施
の形態10によるマルチプロセッサ制御方式が適用され
るマルチプロセッサシステムの構成を示すブロック図で
ある。図において、100はホストPE、105はホス
トPE100内部の割り込み処理ルーチンであり、セマ
フォ開放の割り込み要求の処理を行うルーチンである。
また、200,210,240はホストPE100から
のバス5000に電気的に接続されるマスタPEであ
る。ここで、マスタPE240は、内部にセマフォレジ
スタ241およびセマフォ待ち行列242と、マルチプ
ロセッサシステムの共有資源としての共有メモリ243
とを搭載するブリッジデバイスであり、バス5000と
は異なるバス5001を有しているが、これ以外は他の
マスタPEと同様なマスタPEである。また、220,
230はマスタPE240からのバス5001に電気的
に接続されているマスタPE、5002はマスタPE2
20内部の割り込み処理ルーチン、5003はマスタP
E220内に設けれており処理を待っている複数のタス
クが登録されるタスク待ち行列、5004はセマフォレ
ジスタ241からホストPE100への割り込み信号
線、5005はホストPE100からマスタPE220
への割り込み信号線である。なお、マスタPE200,
210,230もマスタPE240内の共有メモリ24
3をアクセスするならば、マスタPE220と同様な割
り込み処理ルーチン5002およびタスク待ち行列50
03を備えている。
【0118】次に動作について説明する。図15はこの
実施の形態10によるマルチプロセッサ制御方式におけ
るセマフォ取得、開放時のマスタPE240の動作の流
れを示すフローチャートであり、図16は、図15に示
したマスタPE240の動作に対するホストPE100
の動作を示すフローチャートである。以下、図15およ
び図16を参照しながらこの実施の形態10によるマル
チプロセッサ制御方式による処理について説明する。
【0119】システムに電源が投入された初期状態で
は、マスタPE240のセマフォレジスタ241はクリ
アされ、共有メモリ243にアクセスし得るホストPE
100,マスタPE200,210,220,230,
240もセマフォレジスタ241を取得していない。こ
の状態において、マスタPE200がセマフォレジスタ
241をリードすると(ステップST5100)、マス
タPE200は有効なデータをリードでき(ステップS
T5101)、セマフォレジスタ241を取得してタス
クを実行する(ステップST5102)。さらに、マス
タPE200がセマフォレジスタ241を取得してタス
クを実行している状態で、他のPE、例えばマスタPE
220がセマフォレジスタ241をリードしても無効な
データをリードできず、セマフォレジスタ241を取得
することはできない。セマフォレジスタ241を取得で
きなかった場合、マスタPE220はセマフォ待ち行列
242にセマフォ要求および優先順位を登録し(ステッ
プST5105)、さらにマスタPE220内のタスク
待ち行列5003にタスクIDおよび優先順位を登録す
る(ステップST5105)。マスタPE240のセマ
フォレジスタ241を要求するPEが複数ある場合は、
それらのタスクのセマフォ要求よよび優先順位がセマフ
ォ待ち行列242に順に登録される(ステップST51
05)。この実施の形態では、マスタPE220のタス
クが最も優先順位が高いものと仮定する。セマフォレジ
スタ241を取得できずセマフォ要求をセマフォ待ち行
列242に登録しタスク待ち行列5003にタスクID
を登録したマスタPE220は、そのタスクの処理を中
断し、セマフォレジスタ241を取得できるまで割り込
みをウェイトする一方で(ステップST5106)、そ
れ以外のタスクを実行することが可能となる。
【0120】一方、現在セマフォレジスタ241を取得
しているマスタPE200が処理を終了しセマフォレジ
スタ241を開放する場合、マスタPE200はセマフ
ォレジスタ241にライト動作を実行し(ステップST
5103)、セマフォレジスタ241はセマフォが開放
されたことを示す割り込みを割り込み信号線5004を
介してホストPE100へ送出する(ステップST51
04)。図16に示すように、ホストPE100は割り
込みを受付けると(ステップST5200)、その割り
込み要求を処理する割り込み処理ルーチン105に入
り、マスタPE240のセマフォ待ち行列242の内容
を確認し(ステップST5201)、次のセマフォ待ち
のマスタPEがあるか否かを判定し(ステップST52
02)、セマフォ待ちのマスタPEの中からセマフォレ
ジスタ241を取得すべき最も優先順位が高いマスタP
Eを決定し(ステップST5203)、そのマスタPE
に対して割り込みの発生処理を行うべく割り込み信号線
5005を介して割り込みを発生させる(ステップST
5204)。また、ステップST5202においてセマ
フォ待ち行列242にデータが登録されていないなら
ば、ホストPE100は処理を終了する。
【0121】図14に示す例では、上記したように、マ
スタPE220のタスクが最も優先順位が高いので、マ
スタPE220のタスクがセマフォ待ちであるならば、
ホストPE100はマスタPE220へ割り込み要求を
送付してセマフォレジスタ241の所有権をマスタPE
220に渡す。マスタPE220が割り込み要求をホス
トPE100から受けると(ステップST5107)、
セマフォ取得可能であることを知りマスタPE220内
部の割り込み処理ルーチン5002に分岐して、タスク
待ち行列5003の内容を確認する(ステップST51
08)。次に、マスタPE220はウェイトしているタ
スクが2つ以上あるか否かを判定し(ステップST51
10)、2以上あるならば優先順位により次に処理する
タスクを決定する(ステップ5109)。一方、ウェイ
トしているタスクが1つであれば、マスタPE220は
そのタスクを無条件に選択する。処理するタスクが決定
すると、マスタPE220は、マスタPE240のセマ
フォ待ち行列242およびマスタPE220のタスク待
ち行列5003から処理するタスクに関する情報を削除
し(ステップST5111)、セマフォレジスタ241
をリードして(ステップST5112)、セマフォレジ
スタ241を取得する(ステップST5113)。マス
タPE220はセマフォレジスタ241を取得した後、
タスクを実行する(ステップST5114)。タスクの
実行が終了すると、マスタPE220はセマフォレジス
タ241にライト動作を行い(ステップST511
5)、セマフォレジスタ241を開放する。セマフォが
開放されるとセマフォレジスタ241を有するマスタP
E240は、ホストPE100に対して割り込み信号線
5004を介して割り込み信号を発生する(ステップS
T5116)。割り込み信号を受けたホストPE100
は、図16に示した動作に従って、次のセマフォ待ちの
タスクを実行するために対象となるマスタPEに対して
割り込みを発生する。
【0122】以上のように、この実施の形態10によれ
ば、セマフォの取得開放により複数のマスタPE20
0,210,220,230,240およびホストPE1
00からの共有メモリ243へアクセスするタスクを順
次受け付けて処理することが可能となるとともに、競合
する場合には排他制御することができる。また、あるマ
スタPEがセマフォレジスタ241を要求したときに、
他のマスタPEがセマフォレジスタ241を取得してい
てセマフォが取得できない場合、共有メモリ243を有
する割り込み要求先のマスタPE240内のセマフォ待
ち行列242にそのセマフォ要求を登録し割り込み要求
元のマスタPE内のタスク待ち行列5003にタスクI
Dを登録するので、セマフォレジスタ241の取得許可
の割り込みを受けるまで、割り込み要求元のマスタPE
は他の処理を実行することができる。さらに、タスクの
優先順位をセマフォ待ち行列242に登録することによ
り、最も優先度の高いマスタPEのタスクであって最も
優先度の高いタスクを優先して排他的に実行でき、効率
的な処理が可能となる。
【0123】なお、マスタPE240内に設けられた共
有メモリ243をシステムの共有資源の例として説明し
たが、この実施の形態10はこれに限定されるものでは
ないことは言うまでもない。
【0124】実施の形態11.図17はこの発明の実施
の形態11によるマルチプロセッサ制御方式が適用され
るマルチプロセッサシステムの構成を示すブロック図で
ある。図において、100は上記実施の形態2または実
施の形態3による割り込みルーティング回路1000ま
たは1001のような割り込みルーティング回路601
0を備えたホストPE、300,310はSE、600
0はSE300を管理している管理マスタPE、200
はマスタPE、6020はSE300からの管理マスタ
PE6000に対する割り込み信号、121はSE30
0,310、管理マスタPE6000、マスタPE20
0、ホストPE100を接続するPCIバスである。図
17では割り込みルーティング回路6010は、ホスト
PE100内に設けられているように描かれているが、
ホストPE100の外部に設けてもよい。
【0125】また、図18はノンインテリジェントなS
E300の構造の一例を示すブロック図であり、図にお
いて、6040はSE300の複数の機能の起動/停止
を機能毎に設定可能な機能制御用レジスタ、6050は
エラー要因情報が格納されているエラー要因レジスタ、
6060は外部にデータ等を出力するための外部出力回
路、6070は外部からのデータ等を入力するための外
部入力回路、6062は外部出力回路部6060に電源
を供給するための出力回路用外部供給電源、6061は
出力回路用外部供給電源6062の電圧を監視している
異電圧検出回路、6072は外部入力回路部6070に
電源を供給するための入力回路用外部供給電源、607
1は入力回路用外部供給電源6072の電圧を監視して
いる異電圧検出回路である。なお、これらの外部出力回
路6060および外部入力回路6070は管理マスタP
E6000からしかアクセスされない。また、6090
はすべてのマスタPEによりアクセスされ得る共有メモ
リ、6080は共有メモリ6090のパリティエラー検
出回路、6100は外部出力回路6060の出力をすべ
てリセットしリセット状態を保持する出力強制リセット
信号、6110は外部出力回路6060の電源に異電圧
が投入されたことを報告する外部出力回路用異電圧検出
信号、6120は外部入力回路6070の電源に異電圧
が投入されたことを報告する外部入力回路用異電圧検出
信号、6130は共有メモリ6090がアクセスされた
時にパリティエラーが発生したことを示すパリティエラ
ー検出信号、6140は共有メモリ6090の有効/無
効設定信号である。また、図19は機能制御用レジスタ
6040のビット構成を示した説明図、図20はのエラ
ー要因レジスタ6050のビット構成を示した説明図で
ある。
【0126】次に動作について説明する。SE300で
障害が発生した場合、SE300は、割り込みルーティ
ング回路6010を介して管理マスタPE6000に対
し割り込み信号6020を発生する。管理マスタPE6
000は、割り込み信号6020によりSE300に障
害が発生したことを検知する。その後、管理マスタPE
6000はPCIバス121を介してSE300のエラ
ー要因レジスタ6050をリードし、障害の要因を把握
し、その要因に応じて機能制御レジスタ6040に障害
の発生した機能を停止するために対応するビットを例え
ば論理1に設定する。
【0127】SE300が図18に示すような構成を有
している場合、図18の外部出力回路6060に出力回
路用外部供給電源6062により異電圧が投入される
と、異電圧検出回路6061がその異常を検知し、外部
出力回路異電圧投入信号6110をアクティブにすると
ともに、SE300は割り込み信号6020を管理マス
タPE6000に送出し、障害が起きたことを報告す
る。管理マスタPE6000は、SE300の図20に
示すエラー要因レジスタ6050をリードし、障害の要
因が外部出力回路6060に外部から異電圧が投入され
たことであることを知り、外部出力回路6060が壊れ
て誤出力する事を防止するために、図19に示すように
機能制御レジスタ6040の出力強制リセットビットに
論理1をライトする。これにより、外部出力回路606
0の出力はリセットされ、よりフェールセーフであるリ
セット状態を保持する。このとき、管理マスタPE60
00は外部出力回路6060にアクセスできなくなる
が、外部入力回路6070、共有メモリ6090は有効
であり、管理マスタPE6000は外部入力回路607
0にアクセスでき、また、共有メモリ6090をアクセ
スするすべてのマスタPEは処理を続行できる。
【0128】また、例えば、共有メモリ6090にアク
セス時にパリティエラーが発生した場合、パリティエラ
ー検出回路6080が異常を検出し、SE300は図1
7に示す割り込み信号6020により管理マスタPE6
000に障害が発生したことを報告する。障害発生の報
告を受けた管理マスタPE6000は、SE300の図
20に示すエラー要因レジスタ6050をリードし、障
害の要因が共有メモリアクセス時のパリティエラーであ
ることを知る。管理マスタPE6000が、共有メモリ
6090の障害が共有メモリ6090をアクセスするす
べてのマスタPEに影響を及ぼす致命的な障害であると
判断した場合、エラー通知信号6030をアサートして
システムのエラーをホストPE100に通知し、エラー
時の処理をホストPE100に委ねる。他方、管理マス
タPE6000が共有メモリ6090の障害が致命的な
障害でないと判断した場合、図19に示すように機能制
御レジスタ6040のメモリ有効/無効設定ビットを無
効に設定することにより、すべてのマスタPEからのメ
モリアクセスに対するSE300の応答を禁止し、外部
出力回路6060、外部入力回路6070のみ応答する
ことを可能とする。
【0129】以上のように、この実施の形態11によれ
ば、SE300,310で発生した障害を割り込みによ
り迅速に管理マスタPE6000に報告することがで
き、管理マスタPE6000が自身に組み込まれている
ソフトウェアによりエラー要因に応じた柔軟なエラー処
理を実行できる。また、エラー要因が他のSEやマスタ
PEに影響の無いものであるならば、構成制御用レジス
タ6040の特定のビットをセットすることによりエラ
ーを発生した機能のみを無効とすることができるので、
その障害に無関係なSEやマスタPEは処理を続行する
ことができる。さらに、SEがインテリジェントである
かノンインテリジェントであるかに関わらず、機能制御
用レジスタ6040とエラー要因レジスタ6050とを
備えた全てのSEにこの実施の形態11によるマルチプ
ロセッサ制御方式を適用できる。従って、従来の技術と
比較して、信頼性、保守性、および柔軟性の高いマルチ
プロセッサシステムを提供できる。
【0130】
【発明の効果】以上のように、請求項1記載の発明によ
れば、マルチプロセッサ制御方式をシステム初期化時に
マスタPEとSEに割り付けたシステム資源に関する情
報とSEからマスタPEへの割り込みルーティングに必
要な情報とを含むシステム構成情報を構成情報データベ
ースに予め登録し、SEからマスタPEへの割り込み信
号が発生した際には一旦ホストPEに割り込み信号を受
けさせ、構成情報データベースを参照して割り込み要求
先であるマスタPEを特定し、該マスタPEへ割り込み
を通知するように構成したので、例えばPCIバスをシ
ステムバスとして用いておりハードウェア的にはスレー
ブであるSEからマスタPEに割り込みを通知できない
マルチプロセッサシステムにおいても、PCIバスシス
テムの一般的なハードウェアに割り込みルーティング用
のソフトウェアルーチンを組み込むことにより、スレー
ブにマスタ機能を持たせたりその他のハードウェアを追
加することなく、割り込みのルーティングを行うことが
できる効果がある。また、マスタPEやターゲットであ
るSEが複数存在する複雑なマルチプロセッサシステム
においても、構成情報DBの内容を参照することにより
容易にシステム構成を把握でき、さらに、構成情報DB
の内容を変更することにより割り込みルーティングの変
更を行えるため、システムのフレキシビリティを向上さ
せることができる効果がある。
【0131】請求項2記載の発明によれば、マルチプロ
セッサ制御方式をホストPEを介さずに割り込み信号を
マスタPEとSEの間で直接ルーティングできる割り込
みルーティング回路を設け、システム初期化時に割り付
けたシステム資源に関する情報とマスタPEとSEの間
の割り込みルーティングに必要な情報とを含むシステム
構成情報を構成情報データベースに予め登録し、構成情
報データベースに基づいてSEが発した割り込み信号が
マスタPEへルーティングされるように割り込みルーテ
ィング回路を設定するように構成したので、例えばPC
Iバスをシステムバスとする一般的なシステムハードウ
ェアだけではターゲットであるSEからマスタPEに割
り込みを通知できないマルチプロセッサシステムにおい
ても、スレーブにマスタ機能を持たせたりホストPEの
割り込み処理ルーチンを特殊化したりすることなく、さ
らに、基礎となるシステムハードウェアを変更すること
なく、必要な割り込みルーティング回路を付加するだけ
でSEからマスタPEへ割り込み信号をルーティングで
きる効果がある。さらに、割り込みルーティングの際に
ホストPEが介在しないため、割り込み通知に関して余
分なオーバーヘッドをかけることがないという効果があ
る。
【0132】請求項3記載の発明によれば、マルチプロ
セッサ制御方式をマルチプロセッサシステムが複数のマ
スタPEと複数のSEとを有する場合、各マスタPEと
そのスレーブとなるSEとの対応を示す情報もシステム
構成情報として構成情報データベースに予め登録し、構
成情報データベースに基づいて複数のSEのうちのいず
れかが発した割り込み信号が該SEを制御対象とするマ
スタPEへルーティングされるように割り込みルーティ
ング回路を設定するように構成したので、マスタPEや
ターゲットであるSEが複数存在する複雑なマルチプロ
セッサシステムにおいても、構成情報DBの内容を参照
することにより容易にシステム構成を把握でき、さら
に、構成情報DBの内容を変更することにより割り込み
ルーティングの変更を行えるため、システムのフレキシ
ビリティを向上させることができる効果がある。
【0133】請求項4記載の発明によれば、マルチプロ
セッサ制御方式をホストPEが接続されたシステムバス
と他のシステムバスとを接続する1つのブリッジ機構
と、必要であれば、他のシステムバスとこれとは別の他
のシステムバスとを接続する少なくとも1つのブリッジ
機構とを設け、各マスタPEおよび各SEの存在位置に
関する情報もシステム構成情報として構成情報データベ
ースに予め登録し、構成情報データベースに基づいて各
SEが発した割り込み信号が対応する割り込み要求先に
必要ならばブリッジ機構を介してルーティングされるよ
うに割り込みルーティング回路を設定するように構成し
たので、ブリッジ機構により複数のシステムバスが接続
されたマルチプロセッサシステムにおいても、同様に、
スレーブにマスタ機能を持たせたりホストPEの割り込
み処理ルーチンを特殊化したりすることなく、さらに、
基礎となるシステムハードウェアを変更することなく、
必要な割り込みルーティング回路を付加するだけでブリ
ッジ機構を介してSEからマスタPEへ割り込み信号を
ルーティングできる効果がある。
【0134】請求項5記載の発明によれば、マルチプロ
セッサ制御方式をマスタPEとSEとが通信を行う場
合、SEまたはマスタPEからの通信要求は割り込みと
して割り込みルーティング回路を用いてマスタPEまた
はSEに通知し、マスタPEとSEとの間のデータ転送
はウィンドウを介して行うように構成したので、マスタ
PEとSEとの通信に関する通信要求やデータを当事者
間で直接送受信できるので、システムパフォーマンスを
向上させることができる効果がある。また、通信用の割
り込みルーティングやウィンドウをソフトウェアで設
定、変更できるのでシステム構成のフレキシビリティを
向上させることができる効果がある。
【0135】請求項6記載の発明によれば、マルチプロ
セッサ制御方式をホストPEとマスタPEとの間の通信
およびマスタPEとSEとの間の通信における通信要求
を割り込みとして割り込みルーティング回路を用いて通
知し、ホストPEとマスタPEとの間のデータ転送はマ
スタPE上に設けた共有メモリを介して行い、マスタP
EとSEとの間のデータ転送はマスタPEがシステムの
マスタとなってデータ転送するように構成したので、マ
スタPEとSEとの間およびマスタPEとホストPEと
の間の通信要求は要求元から要求先に直接通知すること
ができるので、システムパフォーマンスを向上させるこ
とができる効果がある。さらに、通信要求用の割り込み
ルーティングをソフトウェアで設定、変更することが可
能であるので、システム構築のフレキシビリティを向上
させることができる効果がある。また、マスタPEとタ
ーゲットであるSEとのデータ転送でをマスタPEがシ
ステムのマスタとなってデータ転送するので、ホストP
Eの介在がなくマスタPEの処理やホストPE内部の処
理に余分なオーバーヘッドがかからないという効果があ
る。さらに、処理結果等をマスタPE上の共有メモリを
介してホストPEへ通知するように構成されているの
で、ホストPEとマスタPEとの間の通信データがたと
え大きくなっても、システムの主メモリを共有メモリに
してマスタPEがホストPEをホールドしてしまう従来
のマルチプロセッサシステムに比べて余分なオーバーヘ
ッドをシステムにかけることはないので、システムとし
てのトータルパフォーマンスをハイレベルに維持できる
効果がある。
【0136】請求項7記載の発明によれば、マルチプロ
セッサ制御方式をSEにおいて障害が発生した際に割り
込みルーティング回路を介して割り込みにより障害の発
生をSEを管理マスタPEに報告し、障害の報告を受け
た管理マスタPEにSEのエラー要因レジスタにアクセ
スさせて障害の要因を確認し、障害の要因に応じて障害
の起きた機能を無効にすべく管理マスタPEにSEの機
能制御用レジスタの対応するビットをセットさせるよう
に構成したので、SEで発生した障害を割り込みにより
迅速に管理マスタPEに報告することができ、管理マス
タPEが自身に組み込まれているソフトウェアによりエ
ラー要因に応じた柔軟なエラー処理を実行できる効果が
ある。また、構成制御用レジスタの特定のビットをセッ
トすることによりエラーを発生した機能のみを無効とす
ることができるので、場合によってはその障害に無関係
なSEやマスタPEは処理を続行することができる効果
がある。さらに、SEがインテリジェントであるかノン
インテリジェントであるかに関わらず、機能制御用レジ
スタとエラー要因レジスタとを備えた全てのSEに適用
でき、従来の技術と比較して、信頼性、保守性、および
柔軟性の高いマルチプロセッサシステムを提供できる効
果がある。
【0137】請求項8記載の発明によれば、マルチプロ
セッサ制御方式を他のマスタPE等からの割り込み要求
を受けるマスタPEに、割り込みの要求元を特定すると
ともに該マスタPEのCPUに対して割り込みを発生す
る割り込みレジスタと、割り込みの割り込み要因を特定
するための割り込み要因レジスタとを設け、割り込み要
求を受付、処理する際には割り込みレジスタおよび割り
込み要因レジスタの対応するビットをセット、クリアす
るように構成したので、マスタPEに割り込み要求を発
生するマスタPEの数が多くても、割り込み要求先であ
るマスタPE内に割り込みレジスタと割り込み要因レジ
スタとを設けているので、数回のレジスタアクセスで割
り込み要求元のマスタPEと割り込み要因とを特定でき
る効果がある。
【0138】請求項9記載の発明によれば、マルチプロ
セッサ制御方式をシステム共有の資源を有するマスタP
Eにセマフォレジスタを設け、セマフォレジスタを開放
する際にホストPEに対して割り込みを発生し、割り込
みを処理するホストPEの割り込み処理ルーチンでセマ
フォレジスタの取得を待っているマスタPEおよびホス
トPEのうちで最も優先度の高いものにセマフォレジス
タの所有権を渡すべく割り込みを発生するように構成し
たので、複数のマスタPEとホストPEとから構成され
るマルチプロセッサシステムにおいて、セマフォレジス
タの取得開放により複数のマスタPE、ホストPEから
のシステム共有資源へのアクセスを順次受け付けて処理
することが可能となるとともに、競合する場合には排他
制御することができる効果がある。また、あるマスタP
Eがセマフォレジスタを要求したときに、他のマスタP
Eがセマフォレジスタを取得していてセマフォレジスタ
が取得できない場合、そのタスクをセマフォ待ち行列に
登録するように構成したので、セマフォ取得許可の割り
込みを受けるまでセマフォ待ちのマスタPEは他の処理
を実行することができる効果がある。また、タスク間の
優先順位をセマフォ待ち行列に登録するので、重要な処
理を優先して排他的に実行でき効率的な処理が可能とな
る効果がある。
【0139】請求項10記載の発明によれば、マルチプ
ロセッサ制御方式をセマフォレジスタの取得を待ってい
る複数のタスクがマスタPEないしホストPEにある場
合、最も優先度の高いタスクを優先的に実行するように
構成したので、セマフォレジスタの取得許可を受けたマ
スタPEまたはホストPE内部にセマフォレジスタを要
求するタスクが複数ある場合に、最も優先度の高いタス
クを最優先に実行するので、各マスタPEおよびホスト
PEにおいて重要な処理を優先して排他的に実行でき効
率的な処理が可能となる効果がある。
【0140】請求項11記載の発明によれば、マルチプ
ロセッサ制御方式を複数のマスタPEのそれぞれにシス
テムI/O空間において同一のアドレスで指定される領
域を有するホスト設定レジスタを設け、ホスト設定レジ
スタの各ビットに複数のマスタPEのいずれか1つを一
意的に対応づけ、ホスト設定レジスタのいずれかのビッ
トをセットすることにより、そのビットに対応するマス
タPEをホストPEとして動作させるように構成したの
で、マルチプロセッサシステムにおけるホストPEの多
重化などに適用することにより、ホストの権利をスムー
ズに受け継がせてシステムダウンを防ぐことができ、比
較的容易にシステムの高信頼性を得ることができる効果
がある。また、複数の非均質なマスタPEを用意し、そ
れらをダイナミックにホストPEに切り替えることによ
り、1つのシステム上で各マスタPEが独自のパフォー
マンスを有効に発揮することができる効果がある。それ
故、コストパフォーマンスの高いマルチプロセッサシス
テムを提供でき、さらに、従来技術のような独立したホ
スト監視手段を持つ必要がなくホストPE決定のための
情報データの一貫性を保持する必要もないので、ハード
ウェア、ソフトウェア、処理オーバーヘッドの増大を抑
えることができる効果がある。
【0141】請求項12記載の発明によれば、マルチプ
ロセッサ制御方式を複数のタスクがマルチプロセッサシ
ステムの1つのハードウェア資源を利用する場合、ハー
ドウェア資源に対応する仮想のハードウェア資源を各タ
スクのコンテキストとして持たせるように構成したの
で、ハードウェアとしては1つしか実装されていないハ
ードウェア資源をソフトウェア的には複数存在するよう
に扱え、ハードウェアが要求するスペース、価格などの
コストを低減できる効果がある。また、マルチプロセッ
サシステムのシステム構成に関わるハードウェア資源を
対象とすることにより、1つのシステムハードウェアを
タスクごとに違ったシステムハードウェアとして扱える
ので、システムコストの低減、システムのフレキシビリ
ティの向上に効果がある。
【0142】請求項13記載の発明によれば、マルチタ
スク制御方式を少なくとも1つのプロセッサエレメント
を有するシステムにおいて、プロセッサエレメントで実
行される複数のタスクがシステムの1つのハードウェア
資源を利用する場合、ハードウェア資源に対応する仮想
のハードウェア資源を各タスクのコンテキストとして持
たせるように構成したので、ハードウェアとしては1つ
しか実装されていないハードウェア資源をソフトウェア
的には複数存在するように扱え、ハードウェアが要求す
るスペース、価格などのコストを低減できる効果があ
る。また、システム構成に関わるハードウェア資源を対
象とすることにより、1つのシステムハードウェアをタ
スクごとに違ったシステムハードウェアとして扱えるの
で、システムコストの低減、システムのフレキシビリテ
ィの向上に効果がある。
【図面の簡単な説明】
【図1】 この発明の実施の形態1によるマルチプロセ
ッサ制御方式が適用されるマルチプロセッサシステムの
構成を示すブロック図である。
【図2】 図1に示したマルチプロセッサシステムの構
成情報DBの内容を示す説明図である。
【図3】 この発明の実施の形態2によるマルチプロセ
ッサ制御方式が適用されるマルチプロセッサシステムの
割り込みルーティング回路の構成を主に示すブロック図
である。
【図4】 この発明の実施の形態3によるマルチプロセ
ッサ制御方式が適用されるマルチプロセッサシステムの
割り込みルーティング回路の構成を主に示すブロック図
である。
【図5】 この発明の実施の形態4によるマルチプロセ
ッサ制御方式が適用されるブリッジ機構を有するマルチ
プロセッサシステムの構成を示すブロック図である。
【図6】 この発明の実施の形態5によるマルチプロセ
ッサ制御方式が適用されるマルチプロセッサシステムの
構成を示すブロック図であり、システム起動時のマスタ
PEおよび割り込みルーティング回路への設定処理手順
を示す図である。
【図7】 図6に示すマルチプロセッサシステムでの割
り込みルーティング時のマスタPEとターゲット間での
処理通知手順を示すブロック図である。
【図8】 図6に示すマルチプロセッサシステムでのデ
ータ転送時のマスタPEとターゲット間での処理通知手
順を示すブロック図である。
【図9】 この発明の実施の形態6によるマルチプロセ
ッサ制御方式が適用されるマルチプロセッサシステムの
構成を示すブロック図であり、マスタPEとSEとの間
の通信におけるデータ転送経路を示す図である。
【図10】 図9に示すマルチプロセッサシステムのホ
ストPEとマスタPEとの間の通信におけるデータ転送
経路を示すブロック図である。
【図11】 この発明の実施の形態7によるマルチプロ
セッサ制御方式が適用されるマルチプロセッサシステム
の割り込み関連のレジスタ構成を示すブロック図であ
る。
【図12】 この発明の実施の形態8によるマルチプロ
セッサ制御方式を示す説明図である。
【図13】 この発明の実施の形態9によるマルチプロ
セッサ制御方式が適用されるマルチプロセッサシステム
の構成を示すブロック図である。
【図14】 この発明の実施の形態10によるマルチプ
ロセッサ制御方式が適用されるマルチプロセッサシステ
ムの構成を示すブロック図である。
【図15】 図14に示すマルチプロセッサシステムの
マスタPEのセマフォ取得開放動作を示すフローチャー
トである。
【図16】 図14に示すマルチプロセッサシステムの
ホストPEのマスタPEへ割り込みの送出動作を示すフ
ローチャートである。
【図17】 この発明の実施の形態11によるマルチプ
ロセッサ制御方式が適用されるマルチプロセッサシステ
ムの構成を示すブロック図である。
【図18】 図17に示すマルチプロセッサシステムの
SEの構成を示すブロック図である。
【図19】 図18に示すSEの機能制御レジスタのビ
ット構成を示す説明図である。
【図20】 図18に示すSEのエラー要因レジスタの
ビット構成を示す説明図である。
【図21】 従来のマルチプロセッサ制御方式が適用さ
れるマルチプロセッサシステムの構成を示すブロック図
である。
【図22】 他の従来のマルチプロセッサ制御方式が適
用されるマルチプロセッサシステムの構成を示すブロッ
ク図である。
【図23】 他の従来のマルチプロセッサ制御方式が適
用されるマルチプロセッサシステムの構成を示すブロッ
ク図である。
【図24】 他の従来のマルチプロセッサ制御方式が適
用されるマルチプロセッサシステムの構成を示すブロッ
ク図である。
【図25】 従来のマルチタスク制御方式の構成を示す
ブロック図である。
【図26】 他の従来のマルチプロセッサ制御方式が適
用されるマルチプロセッサシステムの構成を示すブロッ
ク図である。
【図27】 図26に示すマルチプロセッサシステムの
SEの構成を示すブロック図である。
【図28】 他の従来のマルチプロセッサ制御方式が適
用されるマルチプロセッサシステムの構成を示すブロッ
ク図である。
【図29】 他の従来のマルチプロセッサ制御方式が適
用されるマルチプロセッサシステムの構成を示すブロッ
ク図である。
【符号の説明】
100 ホストPE、102 構成情報DB(構成情報
データベース)、121,123,125 PCIバス
(システムバス)、122,124 ブリッジデバイス
(ブリッジ機構)、140 システムバス、150 割
り込み信号線(システムバス)、200,210,22
0,230 マスタPE、201 CPU、202 割
り込みレジスタ、208,218,228,238 ホ
スト設定レジスタ、213 ウィンドウ設定レジスタ
(レジスタ)、215 ウィンドウ、217 2ポート
メモリ(共有メモリ)、241 セマフォレジスタ、3
00,310 SE、502 割り込み要因レジスタ、
1000,1001,1002,1003,1004,
6010 割り込みルーティング回路、5000,50
01 システムバス、6000 管理マスタPE、60
40 機能制御用レジスタ、6050 エラー要因レジ
スタ。

Claims (13)

    【特許請求の範囲】
  1. 【請求項1】 システム全体を管理する1つのホストプ
    ロセッサエレメント(以下、ホストPEと略す)と、シ
    ステムの構成要素を能動的に操作する少なくとも1つの
    マスタプロセッサエレメント(以下、マスタPEと略
    す)と、前記ホストPEおよび前記マスタPEの制御対
    象である少なくとも1つのスレーブエレメント(以下、
    SEと略す)と、割り込み信号の入出力方向が前記ホス
    トPEに対しては入力であり、前記マスタPEおよび前
    記SEに対しては出力であるアーキテクチャを基本とす
    るシステムバスとを備えたマルチプロセッサシステムを
    制御するためのマルチプロセッサ制御方式において、シ
    ステム初期化時に前記マスタPEと前記SEがそれぞれ
    必要とするシステム資源を割り付け、割り付けれられた
    前記システム資源に関する情報と前記SEから前記マス
    タPEへの割り込みルーティングに必要な情報とを含む
    システム構成情報を構成情報データベースに予め登録
    し、前記SEから前記マスタPEへの割り込み信号が発
    生した際には一旦前記ホストPEに前記割り込み信号を
    受けさせ、前記構成情報データベースを参照して割り込
    み要求先であるマスタPEを特定し、該マスタPEへ割
    り込みを通知するマルチプロセッサ制御方式。
  2. 【請求項2】 システム全体を管理する1つのホストP
    Eと、システムの構成要素を能動的に操作する少なくと
    も1つのマスタPEと、前記ホストPEおよび前記マス
    タPEの制御対象である少なくとも1つのSEと、割り
    込み信号の入出力方向が前記ホストPEに対しては入力
    であり、前記マスタPEおよび前記SEに対しては出力
    であるアーキテクチャを基本とするシステムバスとを備
    えたマルチプロセッサシステムを制御するためのマルチ
    プロセッサ制御方式において、前記ホストPEを介さず
    に割り込み信号を少なくとも前記マスタPEと前記SE
    の間で直接ルーティングできる割り込みルーティング回
    路を設け、システム初期化時に前記マスタPEおよび前
    記SEがそれぞれ必要とするシステム資源を割り付け、
    割り付けれられた前記システム資源に関する情報と前記
    マスタPEと前記SEの間の割り込みルーティングに必
    要な情報とを含むシステム構成情報を構成情報データベ
    ースに予め登録し、前記構成情報データベースに基づい
    て前記SEが発した割り込み信号が前記マスタPEへル
    ーティングされるように前記割り込みルーティング回路
    を設定するマルチプロセッサ制御方式。
  3. 【請求項3】 マルチプロセッサシステムが複数のマス
    タPEと複数のSEとを有する場合、各マスタPEとそ
    のスレーブとなるSEとの対応を示す情報もシステム構
    成情報として構成情報データベースに予め登録し、前記
    構成情報データベースに基づいて前記複数のSEのうち
    のいずれかが発した割り込み信号が該SEを制御対象と
    するマスタPEへルーティングされるように割り込みル
    ーティング回路を設定することを特徴とする請求項2記
    載のマルチプロセッサ制御方式。
  4. 【請求項4】 ホストPEが接続されたシステムバスと
    他のシステムバスとを接続する1つのブリッジ機構と、
    必要であれば、前記他のシステムバスとこれとは別の他
    のシステムバスとを接続する少なくとも1つのブリッジ
    機構とを設け、各マスタPEおよび各SEを前記システ
    ムバスおよび前記他のシステムバス上のいずれかの位置
    に設け、さらに、ホストPEを介さずに割り込み信号を
    割り込み要求元から割り込み要求先若しくは前記ブリッ
    ジ機構へ、または前記ブリッジ機構から割り込み要求先
    へ直接ルーティングできる割り込みルーティング回路を
    前記システムバスおよび前記他のシステムバス上に設
    け、各マスタPEおよび各SEの存在位置に関する情報
    もシステム構成情報として構成情報データベースに予め
    登録し、前記構成情報データベースに基づいて各SEが
    発した割り込み信号が対応する割り込み要求先に必要な
    らば前記ブリッジ機構を介してルーティングされるよう
    に前記割り込みルーティング回路を設定することを特徴
    とする請求項2または請求項3記載のマルチプロセッサ
    制御方式。
  5. 【請求項5】 マスタPEとSEとの間の通信時のデー
    タ転送のために、前記マスタPEが前記SEにアクセス
    するためのウィンドウおよび該ウィンドウを介してアク
    セスするアクセス先を設定するためのレジスタを前記マ
    スタPEに設け、構成情報データベースに基づいて前記
    マスタPEが前記SEにアクセスできるように前記レジ
    スタを設定し、前記マスタPEと前記SEとが通信を行
    う場合、前記SEまたは前記マスタPEからの前記通信
    要求は割り込みとして割り込みルーティング回路を用い
    て前記マスタPEまたは前記SEに通知し、前記マスタ
    PEと前記SEとの間のデータ転送は前記ウィンドウを
    介して行うことを特徴とする請求項1から請求項4のう
    ちのいずれか1項記載のマルチプロセッサ制御方式。
  6. 【請求項6】 ホストPEとマスタPEとの間の通信お
    よび前記マスタPEとSEとの間の通信における通信要
    求を割り込みとして割り込みルーティング回路を用いて
    通知し、前記ホストPEと前記マスタPEとの間のデー
    タ転送は前記マスタPE上に設けた共有メモリを介して
    行い、前記マスタPEと前記SEとの間のデータ転送は
    前記マスタPEがシステムのマスタとなってデータ転送
    することを特徴とする請求項1から請求項4のうちのい
    ずれか1項記載のマルチプロセッサ制御方式。
  7. 【請求項7】 SEの機能毎に有効/無効を設定できる
    機能制御用レジスタと障害の要因を示すエラー要因情報
    を格納するためのエラー要因レジスタとを前記SEに設
    け、前記SEにおいて障害が発生した際に割り込みルー
    ティング回路を介して割り込みにより前記障害の発生を
    前記SEを管理する管理マスタプロセッサエレメント
    (管理マスタPE)に報告し、前記障害の報告を受けた
    前記管理マスタPEに前記SEの前記エラー要因レジス
    タにアクセスさせて前記障害の要因を確認し、前記障害
    の要因に応じて前記障害の起きた機能を無効にすべく前
    記管理マスタPEに前記SEの前記機能制御用レジスタ
    の対応するビットをセットさせることを特徴とする請求
    項2から請求項4のうちのいずれか1項記載のマルチプ
    ロセッサ制御方式。
  8. 【請求項8】 システム全体を管理する1つのホストP
    Eと、それぞれシステムの構成要素を能動的に操作し得
    る複数のマスタPEとを備えたマルチプロセッサシステ
    ムを制御するマルチプロセッサ制御方式において、前記
    ホストPEまたは他のマスタPEからの割り込み信号を
    受けるマスタPEに、割り込みの要求元を特定するとと
    もに該マスタPEのCPUに対して割り込みを発生する
    割り込みレジスタと、前記割り込み信号の割り込み要因
    を特定するための割り込み要因レジスタとを設け、割り
    込み要求を受ける前記マスタPE内の前記割り込み要因
    レジスタの前記割り込み信号の割り込み要因に相当する
    ビットと、割り込み要求を受ける前記マスタPE内の割
    り込み要求元に対応する前記割り込みレジスタのビット
    とをセットし、割り込み要求を処理する際には前記割り
    込みレジスタおよび前記割り込み要因レジスタの対応す
    るビットをクリアすることを特徴とするマルチプロセッ
    サ制御方式。
  9. 【請求項9】 システム全体を管理する1つのホストP
    Eと、それぞれシステムの構成要素を能動的に操作し得
    る複数のマスタPEとを備えたマルチプロセッサシステ
    ムを制御するマルチプロセッサ制御方式において、シス
    テム共有の資源を有するマスタPEにセマフォレジスタ
    を設け、前記セマフォレジスタを開放する際に前記ホス
    トPEに対して割り込みを発生し、前記割り込みを処理
    する前記ホストPEの割り込み処理ルーチンで前記セマ
    フォレジスタの取得を待っているマスタPEまたは前記
    ホストPEのタスクがあるか否かを判定し、そのような
    タスクがあるならば前記マスタPEおよび前記ホストP
    Eのうちで最も優先度の高いものに対して前記セマフォ
    レジスタの所有権を渡すべく割り込みを発生することを
    特徴とするマルチプロセッサ制御方式。
  10. 【請求項10】 割り込みによりセマフォレジスタの取
    得を許可されたマスタPEまたはホストPEが、前記セ
    マフォレジスタの取得を待っている複数のタスクを有し
    ている場合、最も優先度の高いタスクを優先的に実行す
    ることを特徴とする請求項9記載のマルチプロセッサ制
    御方式。
  11. 【請求項11】 複数のマスタPEを備えたマルチプロ
    セッサシステムを制御するためのマルチプロセッサ制御
    方式において、前記複数のマスタPEのそれぞれにシス
    テムI/O空間において同一のアドレスで指定される領
    域を有するホスト設定レジスタを設け、前記ホスト設定
    レジスタの各ビットに前記複数のマスタPEのいずれか
    1つを一意的に対応づけ、前記ホスト設定レジスタのい
    ずれかのビットをセットすることにより、そのビットに
    対応するマスタPEをホストPEとして動作させること
    を特徴とするマルチプロセッサ制御方式。
  12. 【請求項12】 複数のタスクがマルチプロセッサシス
    テムの1つのハードウェア資源を利用する場合、前記ハ
    ードウェア資源に対応する仮想のハードウェア資源を各
    タスクのコンテキストとして持たせることを特徴とする
    請求項1から請求項11のうちのいずれか1項記載のマ
    ルチプロセッサ制御方式。
  13. 【請求項13】 少なくとも1つのプロセッサエレメン
    トを有するシステムにおいて、前記プロセッサエレメン
    トで実行される複数のタスクが前記システムの1つのハ
    ードウェア資源を利用する場合、前記ハードウェア資源
    に対応する仮想のハードウェア資源を各タスクのコンテ
    キストとして持たせることを特徴とするマルチタスク制
    御方式。
JP07864997A 1997-03-28 1997-03-28 割り込みルーティング機構およびマルチプロセッサ制御方式 Expired - Fee Related JP3540119B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP07864997A JP3540119B2 (ja) 1997-03-28 1997-03-28 割り込みルーティング機構およびマルチプロセッサ制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP07864997A JP3540119B2 (ja) 1997-03-28 1997-03-28 割り込みルーティング機構およびマルチプロセッサ制御方式

Publications (2)

Publication Number Publication Date
JPH10275136A true JPH10275136A (ja) 1998-10-13
JP3540119B2 JP3540119B2 (ja) 2004-07-07

Family

ID=13667722

Family Applications (1)

Application Number Title Priority Date Filing Date
JP07864997A Expired - Fee Related JP3540119B2 (ja) 1997-03-28 1997-03-28 割り込みルーティング機構およびマルチプロセッサ制御方式

Country Status (1)

Country Link
JP (1) JP3540119B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7321945B2 (en) 2003-03-28 2008-01-22 Lenovo (Singapore) Pte. Ltd. Interrupt control device sending data to a processor at an optimized time
JP2012003325A (ja) * 2010-06-14 2012-01-05 Fujitsu Ltd コンピュータシステムおよび割込要求処理方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7321945B2 (en) 2003-03-28 2008-01-22 Lenovo (Singapore) Pte. Ltd. Interrupt control device sending data to a processor at an optimized time
JP2012003325A (ja) * 2010-06-14 2012-01-05 Fujitsu Ltd コンピュータシステムおよび割込要求処理方法

Also Published As

Publication number Publication date
JP3540119B2 (ja) 2004-07-07

Similar Documents

Publication Publication Date Title
US4412281A (en) Distributed signal processing system
US5682512A (en) Use of deferred bus access for address translation in a shared memory clustered computer system
US8346997B2 (en) Use of peripheral component interconnect input/output virtualization devices to create redundant configurations
JP2661733B2 (ja) データ処理システム
EP2033101B1 (en) Computer-implemented method, apparatus, and computer program product for stalling dma operations during memory migration
US7660912B2 (en) I/O adapter LPAR isolation in a hypertransport environment
JP4157710B2 (ja) Pci入出力スロットの論理分割を実施する方法および装置
US7925817B2 (en) Computer system and method for monitoring an access path
US8225005B2 (en) Use of peripheral component interconnect input/output virtualization devices to create high-speed, low-latency interconnect
US4124891A (en) Memory access system
US6549961B1 (en) Semaphore access in a multiprocessor system
US20160077984A1 (en) Mechanism for managing access to at least one shared integrated peripheral of a processing unit and a method of operating thereof
KR102568906B1 (ko) PCIe 디바이스 및 그 동작 방법
JPH1097509A (ja) 対称型マルチプロセッサ・システムにおいて割り込みを分散する方法および装置
JP2018502359A (ja) デッドロック回避のための方法及び回路
US20110161644A1 (en) Information processor
JPH0713816B2 (ja) 全体制御を特徴とするマルチプロセッサ計算システム
JP2008165556A (ja) 計算機システムおよびそのチップセット
JP4182948B2 (ja) フォールト・トレラント・コンピュータシステムと、そのための割り込み制御方法
JP3540119B2 (ja) 割り込みルーティング機構およびマルチプロセッサ制御方式
JPH11338833A (ja) マルチプロセッサ型コントローラ及びスケーラブルコントローラシステム
CN117272412B (zh) 中断控制寄存器保护方法、装置、计算机设备及存储介质
WO2022239331A1 (ja) 電子制御装置及び異常判定方法
KR20230152394A (ko) PCIe 장치 및 이의 동작 방법
US20110213936A1 (en) Processor, multiprocessor system, and method of detecting illegal memory access

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20031202

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040130

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20040224

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040324

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080402

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090402

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100402

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees