JPH0713915A - バス制御システム - Google Patents
バス制御システムInfo
- Publication number
- JPH0713915A JPH0713915A JP15191993A JP15191993A JPH0713915A JP H0713915 A JPH0713915 A JP H0713915A JP 15191993 A JP15191993 A JP 15191993A JP 15191993 A JP15191993 A JP 15191993A JP H0713915 A JPH0713915 A JP H0713915A
- Authority
- JP
- Japan
- Prior art keywords
- module
- address
- bus
- activated
- system bus
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Abstract
(57)【要約】
【目的】 マルチプロセッサシステムにおいて、起動さ
れたMPUまたはIOが起動元のMPUまたはIOを簡
単に知ることができ、MPU相互間、MPUとIO間の
デ−タアクセスを容易にする。 【構成】 個々のIOモジュ−ルに独自の番号が割り付
けられ、個々のIOモジュ−ルがシステムバスを介して
他のIOをアクセスする場合、システムバスに出力する
アドレスの一部にアドレスを出力するIOモジュ−ルの
番号を埋め込む。また、番号を埋め込む代りに、デ−タ
バスとアドレスバスに、起動元IOバスを追加して実現
することもできる。
れたMPUまたはIOが起動元のMPUまたはIOを簡
単に知ることができ、MPU相互間、MPUとIO間の
デ−タアクセスを容易にする。 【構成】 個々のIOモジュ−ルに独自の番号が割り付
けられ、個々のIOモジュ−ルがシステムバスを介して
他のIOをアクセスする場合、システムバスに出力する
アドレスの一部にアドレスを出力するIOモジュ−ルの
番号を埋め込む。また、番号を埋め込む代りに、デ−タ
バスとアドレスバスに、起動元IOバスを追加して実現
することもできる。
Description
【0001】
【産業上の利用分野】本発明は、コンピュ−タシステム
のバスに対してアドレスを割り付けるバス制御システム
に関し、特にマルチプロセッサシステムにおいてIOモ
ジュ−ルがインテリジェントである場合のデ−タの授受
を容易にできるバス制御システムに関するものである。
のバスに対してアドレスを割り付けるバス制御システム
に関し、特にマルチプロセッサシステムにおいてIOモ
ジュ−ルがインテリジェントである場合のデ−タの授受
を容易にできるバス制御システムに関するものである。
【0002】
【従来の技術】従来より、複数のプロセッサおよびIO
モジュ−ルを共通バスに接続されて構成されたマルチプ
ロセッサシステムが使用されている。そして、通常、コ
ンピュ−タシステムにおけるバスのアドレスマップは、
起動されるIOモジュ−ルで一意的に定義されている
(拡張I/Oボ−ド開発基準書(1991年4月発行、AX協
議会参照)。従来のシステムでは、IOアドレスは起動
されるIOモジュ−ルに個別に割り当てられているのみ
であり、起動をかけたIOモジュ−ルに情報は含まれて
いなかった。すなわち、通常のプロセッサシステムで
は、1個のプロセツサと複数個のIOモジュ−ルがバス
に接続されており、必ずそのプロセッサから任意のIO
モジュ−ルに起動をかけていたため、起動した相手を判
別する必要はなかった。しかし、マルチプロセッサで
は、複数個のプロセッサと複数個のIOモジュ−ルが1
本のバスに接続されているので、あるIOモジュ−ルが
起動されたとき、そのIOモジュ−ル側では、どのプロ
セッサから起動がかけられたのかを知ることができなか
った。また、IOモジュ−ルがインテリジェントの場合
には、複数のIOモジュ−ルのみが1つのバスに接続さ
れている場合や、複数のプロセッサと複数のIOモジュ
−ルとが1つのバスに接続される場合があり、IOモジ
ュ−ルが他のIOモジュ−ルに起動をかける。従って、
起動されたIOモジュ−ルは、起動されたアドレスから
は起動をかけたIOモジュ−ルがどのIOモジュ−ルで
あるかを判別できなかった。
モジュ−ルを共通バスに接続されて構成されたマルチプ
ロセッサシステムが使用されている。そして、通常、コ
ンピュ−タシステムにおけるバスのアドレスマップは、
起動されるIOモジュ−ルで一意的に定義されている
(拡張I/Oボ−ド開発基準書(1991年4月発行、AX協
議会参照)。従来のシステムでは、IOアドレスは起動
されるIOモジュ−ルに個別に割り当てられているのみ
であり、起動をかけたIOモジュ−ルに情報は含まれて
いなかった。すなわち、通常のプロセッサシステムで
は、1個のプロセツサと複数個のIOモジュ−ルがバス
に接続されており、必ずそのプロセッサから任意のIO
モジュ−ルに起動をかけていたため、起動した相手を判
別する必要はなかった。しかし、マルチプロセッサで
は、複数個のプロセッサと複数個のIOモジュ−ルが1
本のバスに接続されているので、あるIOモジュ−ルが
起動されたとき、そのIOモジュ−ル側では、どのプロ
セッサから起動がかけられたのかを知ることができなか
った。また、IOモジュ−ルがインテリジェントの場合
には、複数のIOモジュ−ルのみが1つのバスに接続さ
れている場合や、複数のプロセッサと複数のIOモジュ
−ルとが1つのバスに接続される場合があり、IOモジ
ュ−ルが他のIOモジュ−ルに起動をかける。従って、
起動されたIOモジュ−ルは、起動されたアドレスから
は起動をかけたIOモジュ−ルがどのIOモジュ−ルで
あるかを判別できなかった。
【0003】
【発明が解決しようとする課題】このように、システム
バスを介したマルチプロセッサで、1つのプロセッサを
1つのIOモジュ−ルとみなせば、起動されるIOモジ
ュ−ルには、複数のIOモジュ−ルから起動がかかる可
能性があり、起動されたIOモジュ−ルは起動をかけた
IOモジュ−ルに処理結果等を通知しなければならない
場合がある。従って、起動されたIOモジュ−ルは、ど
のIOモジュ−ルから起動をかけられたかを知る必要が
ある。また、IOモジュ−ルがインテリジェントであ
り、ソフトウェアを実行するように構成されている場
合、既に存在しているプロセッサとIOモジュ−ル(例
えば、ディスク装置)の両方のソフトウェアに対して、
マルチプロセッサ対応の変更を行うことは、手数および
コストの両面からも避けたい。本発明の目的は、このよ
うな従来の課題を解決し、起動されたIOモジュ−ルが
起動したIOモジュ−ルを識別できるようなバス制御シ
ステムを提供することにある。
バスを介したマルチプロセッサで、1つのプロセッサを
1つのIOモジュ−ルとみなせば、起動されるIOモジ
ュ−ルには、複数のIOモジュ−ルから起動がかかる可
能性があり、起動されたIOモジュ−ルは起動をかけた
IOモジュ−ルに処理結果等を通知しなければならない
場合がある。従って、起動されたIOモジュ−ルは、ど
のIOモジュ−ルから起動をかけられたかを知る必要が
ある。また、IOモジュ−ルがインテリジェントであ
り、ソフトウェアを実行するように構成されている場
合、既に存在しているプロセッサとIOモジュ−ル(例
えば、ディスク装置)の両方のソフトウェアに対して、
マルチプロセッサ対応の変更を行うことは、手数および
コストの両面からも避けたい。本発明の目的は、このよ
うな従来の課題を解決し、起動されたIOモジュ−ルが
起動したIOモジュ−ルを識別できるようなバス制御シ
ステムを提供することにある。
【0004】
【課題を解決するための手段】上記目的を達成するた
め、本発明のバス制御システムは、少なくとも2つ以上
のIOモジュ−ル(1,2)がシステムバス(3)を介
して接続されるマルチプロセッサシステムにおいて、独
自のモジュ−ル番号が割り付けられた個々のIOモジュ
−ル(1,2)に、各自のモジュ−ル番号を固定的に出
力する手段(4,5)を設け、任意のIOモジュ−ル
(1)が上記システムバス(3)を介して他のIOモジ
ュ−ル(2)にアクセスする際に、システムバス(3)
に出力するアドレス(6)の一部に、固定出力手段
(4)から起動元のIOモジュ−ル番号を埋め込むこと
を特徴としている。
め、本発明のバス制御システムは、少なくとも2つ以上
のIOモジュ−ル(1,2)がシステムバス(3)を介
して接続されるマルチプロセッサシステムにおいて、独
自のモジュ−ル番号が割り付けられた個々のIOモジュ
−ル(1,2)に、各自のモジュ−ル番号を固定的に出
力する手段(4,5)を設け、任意のIOモジュ−ル
(1)が上記システムバス(3)を介して他のIOモジ
ュ−ル(2)にアクセスする際に、システムバス(3)
に出力するアドレス(6)の一部に、固定出力手段
(4)から起動元のIOモジュ−ル番号を埋め込むこと
を特徴としている。
【0005】
【作用】本発明においては、マルチプロセッサシステム
の1つのIOモジュ−ルに対して複数のIOモジュ−ル
から起動をかけた場合、起動されたIOモジュ−ルは起
動したIOモジュ−ルがどれであるかを、システムバス
のアドレスのモジュ−ル番号部から識別して記憶する。
起動されたIOモジュ−ルは、この起動に対する一連の
処理を行った後、起動に対する処理結果を起動したIO
モジュ−ルに通知する場合には、先に記憶してある起動
元のIOモジュ−ル番号を用いて、それを相手先として
送出する。IOモジュ−ル番号としては、各IOモジュ
−ルに独自の番号を設定する。この設定値は、各IOモ
ジュ−ル内の実装位置またはハ−ドウェア工注またはI
Oモジュ−ル内のROMにより設定される。IOモジュ
−ルは、他のIOモジュ−ルを起動する場合に、システ
ムバスに出力するアドレスの一部としてこのモジュ−ル
番号を自動的に送出する。起動されるIOモジュ−ル
は、このモジュ−ル番号以外のアドレス部(つまり、宛
先アドレス)をデコ−ドし、自分に対する起動であるか
否かを識別する。起動されたIOモジュ−ルは、必要に
応じて起動したIOモジュ−ルの番号をシステムバスの
アドレスから読み取ることが可能である。このように、
起動元のIOモジュ−ルは、IOモジュ−ル番号をIO
モジュ−ル内のソフトウェアと無関係に設定されるた
め、IOモジュ−ル番号が異なっても、IOモジュ−ル
内のソフトウェアを同一にすることができる。
の1つのIOモジュ−ルに対して複数のIOモジュ−ル
から起動をかけた場合、起動されたIOモジュ−ルは起
動したIOモジュ−ルがどれであるかを、システムバス
のアドレスのモジュ−ル番号部から識別して記憶する。
起動されたIOモジュ−ルは、この起動に対する一連の
処理を行った後、起動に対する処理結果を起動したIO
モジュ−ルに通知する場合には、先に記憶してある起動
元のIOモジュ−ル番号を用いて、それを相手先として
送出する。IOモジュ−ル番号としては、各IOモジュ
−ルに独自の番号を設定する。この設定値は、各IOモ
ジュ−ル内の実装位置またはハ−ドウェア工注またはI
Oモジュ−ル内のROMにより設定される。IOモジュ
−ルは、他のIOモジュ−ルを起動する場合に、システ
ムバスに出力するアドレスの一部としてこのモジュ−ル
番号を自動的に送出する。起動されるIOモジュ−ル
は、このモジュ−ル番号以外のアドレス部(つまり、宛
先アドレス)をデコ−ドし、自分に対する起動であるか
否かを識別する。起動されたIOモジュ−ルは、必要に
応じて起動したIOモジュ−ルの番号をシステムバスの
アドレスから読み取ることが可能である。このように、
起動元のIOモジュ−ルは、IOモジュ−ル番号をIO
モジュ−ル内のソフトウェアと無関係に設定されるた
め、IOモジュ−ル番号が異なっても、IOモジュ−ル
内のソフトウェアを同一にすることができる。
【0006】
【実施例】以下、本発明の実施例を、図面により詳細に
説明する。図1は、本発明の一実施例を示すマルチプロ
セッサシステムの構成図である。図1において、1,2
はそれぞれIOモジュ−ル、3はシステムバス、4,5
はモジュ−ル番号の工注、6,8は出力アドレスレジス
タ、7,9は入力アドレスレジスタ、10,11はアド
レスコンパレ−タ、12,13はMPU(マイクロプロ
セッサユニット)である。なお、システムバス3に接続
されているIOモジュ−ルは、複数個存在するが、ここ
では1,2の2個のみが示されている。IOモジュ−ル
1,2は、いずれも出力アドレスレジスタ6,8の値を
システムバス3に出力する。その後、IOモジュ−ル
1,2は、いずれもシステムバス3からのアドレスを入
力アドレスレジスタ7,9にラッチする。工注4,5に
は、それぞれ各自のIOモジュ−ル番号(1),(2)
が固定的に印加されているので、アドレスコンパレ−タ
10,11では、システムバス3から入力されたアドレ
スのビット15〜8と、この工注(1)(2)のアドレ
スとを比較する。一致すれば、自分宛のコマンドである
と判断して、入力アドレスレジスタ7,9のビット7〜
0のファンクション部を読み取る。一方、出力に際して
は、モジュ−ル番号の工注(1)(2)がそれぞれ出力
アドレスレジスタ6,8のビット12〜8の入力とな
リ、アドレス出力元のIOモジュ−ル番号部となる。M
PU12,13が出力するアドレスは、出力アドレスレ
ジスタ6,8のビット15〜12,ビット7〜0の入力
となり、デバイス番号部およびファンクション番号部と
なる。
説明する。図1は、本発明の一実施例を示すマルチプロ
セッサシステムの構成図である。図1において、1,2
はそれぞれIOモジュ−ル、3はシステムバス、4,5
はモジュ−ル番号の工注、6,8は出力アドレスレジス
タ、7,9は入力アドレスレジスタ、10,11はアド
レスコンパレ−タ、12,13はMPU(マイクロプロ
セッサユニット)である。なお、システムバス3に接続
されているIOモジュ−ルは、複数個存在するが、ここ
では1,2の2個のみが示されている。IOモジュ−ル
1,2は、いずれも出力アドレスレジスタ6,8の値を
システムバス3に出力する。その後、IOモジュ−ル
1,2は、いずれもシステムバス3からのアドレスを入
力アドレスレジスタ7,9にラッチする。工注4,5に
は、それぞれ各自のIOモジュ−ル番号(1),(2)
が固定的に印加されているので、アドレスコンパレ−タ
10,11では、システムバス3から入力されたアドレ
スのビット15〜8と、この工注(1)(2)のアドレ
スとを比較する。一致すれば、自分宛のコマンドである
と判断して、入力アドレスレジスタ7,9のビット7〜
0のファンクション部を読み取る。一方、出力に際して
は、モジュ−ル番号の工注(1)(2)がそれぞれ出力
アドレスレジスタ6,8のビット12〜8の入力とな
リ、アドレス出力元のIOモジュ−ル番号部となる。M
PU12,13が出力するアドレスは、出力アドレスレ
ジスタ6,8のビット15〜12,ビット7〜0の入力
となり、デバイス番号部およびファンクション番号部と
なる。
【0007】図2は、図1におけるシステムバスアドレ
ス割付けを示したフォ−マット図である。図2におい
て、16ビットのアドレスのうち、ビット15〜12は
デバイス番号部(DVN)(15)、つまり宛先アドレ
スであり、ビット11〜8はモジュ−ル番号部(MD
N)(16)、つまり出力元アドレスであり、ビット7
〜0はファンクション番号部(FUN)(17)、つま
りコマンド部またはレジスタ指定部である。この他に、
ビット15〜0のデ−タ部が続けて出力される。デ−タ
部には、メモリ内の開始アドレス等が格納される。この
ように、デバイス番号部15はIOモジュ−ルを指定す
るもので、このシステムでは4ビットで最大16のモジ
ュ−ルを指定することができる。モジュ−ル番号部16
はアドレス出力元のIOモジュ−ル番号を指定するもの
である。さらに、ファンクション番号部17は、各IO
Pモジュ−ル内のレジスタまたはコマンドを指定するも
のである。システムバス3を起動するIOモジュ−ル
は、設定されたモジュ−ル番号(16)を取り込み、シ
ステムバス3に出力するアドレスの一部とする。起動さ
れたIOモジュ−ルは、システムバス3のモジュ−ル番
号部(16)以外(15)をデコ−ドし、その起動が自
分のIOモジュ−ルに対するものであるか否かを判定す
る。そのIOモジュ−ルは、自分に対する起動時アドレ
スのモジュ−ル番号部(16)を取り込む。そのIOモ
ジュ−ルは、起動に対する処理を行った後に、その処理
結果を起動元のIOモジュ−ルに通知する。この通知先
のアドレスは、起動時に得たモジュ−ル番号(16)を
使用する。
ス割付けを示したフォ−マット図である。図2におい
て、16ビットのアドレスのうち、ビット15〜12は
デバイス番号部(DVN)(15)、つまり宛先アドレ
スであり、ビット11〜8はモジュ−ル番号部(MD
N)(16)、つまり出力元アドレスであり、ビット7
〜0はファンクション番号部(FUN)(17)、つま
りコマンド部またはレジスタ指定部である。この他に、
ビット15〜0のデ−タ部が続けて出力される。デ−タ
部には、メモリ内の開始アドレス等が格納される。この
ように、デバイス番号部15はIOモジュ−ルを指定す
るもので、このシステムでは4ビットで最大16のモジ
ュ−ルを指定することができる。モジュ−ル番号部16
はアドレス出力元のIOモジュ−ル番号を指定するもの
である。さらに、ファンクション番号部17は、各IO
Pモジュ−ル内のレジスタまたはコマンドを指定するも
のである。システムバス3を起動するIOモジュ−ル
は、設定されたモジュ−ル番号(16)を取り込み、シ
ステムバス3に出力するアドレスの一部とする。起動さ
れたIOモジュ−ルは、システムバス3のモジュ−ル番
号部(16)以外(15)をデコ−ドし、その起動が自
分のIOモジュ−ルに対するものであるか否かを判定す
る。そのIOモジュ−ルは、自分に対する起動時アドレ
スのモジュ−ル番号部(16)を取り込む。そのIOモ
ジュ−ルは、起動に対する処理を行った後に、その処理
結果を起動元のIOモジュ−ルに通知する。この通知先
のアドレスは、起動時に得たモジュ−ル番号(16)を
使用する。
【0008】図3は、本発明の一実施例を示すIOモジ
ュ−ルの動作フロ−チャ−トである。ここでは、IOモ
ジュ−ル1内のMPU12からIOモジュ−ル2にMP
U13の自己診断の起動をかけることにより、MPU2
が自己診断を行ってその結果をIOモジュ−ル1に通知
する場合を示している。先ず、MPU12はアドレスの
ビット15〜12にIOモジュ−ル2のデバイス番号
(HEX2)を、アドレスのビット7〜0にコマンド受
付のファンクション番号(HEX00)を出力し、デ−
タとして自己診断開始を示す(HEXFFFF)を出力
する(ステップ101)。次に、IOモジュ−ル1の出
力アドレスレジスタ6では、MPU12からのアドレス
と、アドレスビット11〜8にIOモジュ−ル1のモジ
ュ−ル番号の工注(1)の値(HEX2)をマ−ジする
(ステップ102)。次に、IOモジュ−ル1は、この
アドレス(HEX21FF)とデ−タ(HEXFFF
F)をシステムバス3に出力する(ステップ103)。
次に、IOモジュ−ル2は、システムバス3のアドレス
(HEX21FF)を入力アドレスレジスタ9にラッチ
する(ステップ104)。次に、IOモジュ−ル2は、
アドレス(HEX21FF)のうちのビット15〜12
と、自分のモジュ−ル番号である工注(2)の値(HE
X2)とをアドレスコンパレ−タ11で比較して、その
結果が一致することにより、自分のIOモジュ−ル2へ
のアクセスであることが識別できたので、デ−タ(HE
XFFFF)を取り込む(ステップ105)。
ュ−ルの動作フロ−チャ−トである。ここでは、IOモ
ジュ−ル1内のMPU12からIOモジュ−ル2にMP
U13の自己診断の起動をかけることにより、MPU2
が自己診断を行ってその結果をIOモジュ−ル1に通知
する場合を示している。先ず、MPU12はアドレスの
ビット15〜12にIOモジュ−ル2のデバイス番号
(HEX2)を、アドレスのビット7〜0にコマンド受
付のファンクション番号(HEX00)を出力し、デ−
タとして自己診断開始を示す(HEXFFFF)を出力
する(ステップ101)。次に、IOモジュ−ル1の出
力アドレスレジスタ6では、MPU12からのアドレス
と、アドレスビット11〜8にIOモジュ−ル1のモジ
ュ−ル番号の工注(1)の値(HEX2)をマ−ジする
(ステップ102)。次に、IOモジュ−ル1は、この
アドレス(HEX21FF)とデ−タ(HEXFFF
F)をシステムバス3に出力する(ステップ103)。
次に、IOモジュ−ル2は、システムバス3のアドレス
(HEX21FF)を入力アドレスレジスタ9にラッチ
する(ステップ104)。次に、IOモジュ−ル2は、
アドレス(HEX21FF)のうちのビット15〜12
と、自分のモジュ−ル番号である工注(2)の値(HE
X2)とをアドレスコンパレ−タ11で比較して、その
結果が一致することにより、自分のIOモジュ−ル2へ
のアクセスであることが識別できたので、デ−タ(HE
XFFFF)を取り込む(ステップ105)。
【0009】次に、IOモジュ−ル2のMPU13は、
入力アドレスレジスタ9のビット11〜8の値からIO
モジュ−ル1からの起動であることを知り、ビット7〜
0の値(HEX00)を解析してコマンドであることが
判明する。さらに、デ−タ(HEXFFFF)を解析す
ることにより、自己診断のコマンドであることを知る
(ステップ106)。次に、IOモジュ−ル2のMPU
13は、自己診断を行った後、その結果をアドレス16
ビットとデ−タ16ビットに書き込む。すなわち、アド
レスビット15〜12にIOモジュ−ル1のデバイス番
号、アドレスビット7〜0に結果のファンクション番号
(HEX01)、デ−タには、自己診断が正常であれば
デ−タ(HEX0000)を、正常でなければデ−タ
(HEX0001)を書き込む(ステップ107)。次
に、IOモジュ−ル2の出力アドレスレジスタ8では、
アドレスビット11〜8に、モジュ−ル番号の工注
(2)をマ−ジし(ステップ108)、アドレス(HE
X1201)としてシステムバス3に出力する(ステッ
プ109)。
入力アドレスレジスタ9のビット11〜8の値からIO
モジュ−ル1からの起動であることを知り、ビット7〜
0の値(HEX00)を解析してコマンドであることが
判明する。さらに、デ−タ(HEXFFFF)を解析す
ることにより、自己診断のコマンドであることを知る
(ステップ106)。次に、IOモジュ−ル2のMPU
13は、自己診断を行った後、その結果をアドレス16
ビットとデ−タ16ビットに書き込む。すなわち、アド
レスビット15〜12にIOモジュ−ル1のデバイス番
号、アドレスビット7〜0に結果のファンクション番号
(HEX01)、デ−タには、自己診断が正常であれば
デ−タ(HEX0000)を、正常でなければデ−タ
(HEX0001)を書き込む(ステップ107)。次
に、IOモジュ−ル2の出力アドレスレジスタ8では、
アドレスビット11〜8に、モジュ−ル番号の工注
(2)をマ−ジし(ステップ108)、アドレス(HE
X1201)としてシステムバス3に出力する(ステッ
プ109)。
【0010】一方、IOモジュ−ル1は、システムバス
3のアドレスを入力アドレスレジスタ7に取り込むこと
により、アドレスビット15〜12の値(HEX1)を
アドレスコンパレ−タ10でモジュ−ル番号の工注
(1)の値(HEX1)と比較する。比較の結果は一致
するので、IOモジュ−ル1に対する起動であることを
知る(ステップ110)。次に、IOモジュ−ル1のM
PU12は、アドレスビット11〜8の値(HEX2)
からIOモジュ−ル2による起動であることを知り、ア
ドレスビット7〜0の値(HEX01)から自己診断の
結果であることを判別する。また、そのデ−タの値(H
EX0000)から、正常であったことを知る(ステッ
プ111)。図4は、本発明の他の実施例を示すシステ
ムバスの空間の使用方法説明図である。図1〜図3で
は、システムバス3の全ての空間に本発明を適用してい
たが、図4のように、システムバス3の全空間に本発明
を使用することなく、IOモジュ−ルにより本発明の使
用、未使用を選択することも可能である。すなわち、図
4においては、IOモジュ−ル1,3,5,・・15は
本方式を使用しているのに対して、IOモジュ−ル2,
4,6,・・・・16は本方式を使用せず、通常のアド
レッシングによるものを使用した場合を示している。I
Oモジュ−ル1,3,5,・・・15は他のIOモジュ
−ルから起動されることが多く、IOモジュ−ル2,
4,6,・・・16は他のIOモジュ−ルを起動するこ
とが多い場合に、上記のような割り当てを行えば望まし
い。
3のアドレスを入力アドレスレジスタ7に取り込むこと
により、アドレスビット15〜12の値(HEX1)を
アドレスコンパレ−タ10でモジュ−ル番号の工注
(1)の値(HEX1)と比較する。比較の結果は一致
するので、IOモジュ−ル1に対する起動であることを
知る(ステップ110)。次に、IOモジュ−ル1のM
PU12は、アドレスビット11〜8の値(HEX2)
からIOモジュ−ル2による起動であることを知り、ア
ドレスビット7〜0の値(HEX01)から自己診断の
結果であることを判別する。また、そのデ−タの値(H
EX0000)から、正常であったことを知る(ステッ
プ111)。図4は、本発明の他の実施例を示すシステ
ムバスの空間の使用方法説明図である。図1〜図3で
は、システムバス3の全ての空間に本発明を適用してい
たが、図4のように、システムバス3の全空間に本発明
を使用することなく、IOモジュ−ルにより本発明の使
用、未使用を選択することも可能である。すなわち、図
4においては、IOモジュ−ル1,3,5,・・15は
本方式を使用しているのに対して、IOモジュ−ル2,
4,6,・・・・16は本方式を使用せず、通常のアド
レッシングによるものを使用した場合を示している。I
Oモジュ−ル1,3,5,・・・15は他のIOモジュ
−ルから起動されることが多く、IOモジュ−ル2,
4,6,・・・16は他のIOモジュ−ルを起動するこ
とが多い場合に、上記のような割り当てを行えば望まし
い。
【0011】図5は、本発明のさらに他の実施例を示す
マルチプロセッサシステムのバス構成図である。図1〜
図3の実施例では、システムバス3が従来のようにアド
レスバスとデ−タバスから構成されている場合の説明で
あった。すなわち、起動元IOモジュ−ル番号として、
モジュ−ル内の工注からモジュ−ル番号を入力し、固定
的にアドレスの一部とする方法であった。これに対し
て、図5では、起動元のIOモジュ−ル番号バスを他か
ら分離する方法を示している。すなわち、システムバス
3として、デ−タバス18、アドレスバス19の他に起
動元IOモジュ−ル番号バス20を設ける。従って、起
動元からアドレスとデ−タが出力された場合、受信した
モジュ−ルはIOモジュ−ル番号バス20を取り込んで
番号を検出すれば、起動元のIOモジュ−ル番号を知る
ことができる。このように、アドレスに含まれる起動元
のモジュ−ル番号を利用することにより、IOモジュ−
ル相互間のデ−タおよびコマンドの授受が良好に行われ
る。また、IOモジュ−ル内にMPUが内蔵されていな
い場合でも、全く同じようにして制御が可能である。
マルチプロセッサシステムのバス構成図である。図1〜
図3の実施例では、システムバス3が従来のようにアド
レスバスとデ−タバスから構成されている場合の説明で
あった。すなわち、起動元IOモジュ−ル番号として、
モジュ−ル内の工注からモジュ−ル番号を入力し、固定
的にアドレスの一部とする方法であった。これに対し
て、図5では、起動元のIOモジュ−ル番号バスを他か
ら分離する方法を示している。すなわち、システムバス
3として、デ−タバス18、アドレスバス19の他に起
動元IOモジュ−ル番号バス20を設ける。従って、起
動元からアドレスとデ−タが出力された場合、受信した
モジュ−ルはIOモジュ−ル番号バス20を取り込んで
番号を検出すれば、起動元のIOモジュ−ル番号を知る
ことができる。このように、アドレスに含まれる起動元
のモジュ−ル番号を利用することにより、IOモジュ−
ル相互間のデ−タおよびコマンドの授受が良好に行われ
る。また、IOモジュ−ル内にMPUが内蔵されていな
い場合でも、全く同じようにして制御が可能である。
【0012】
【発明の効果】以上説明したように、本発明によれば、
マルチプロセッサシステムであるIOモジュ−ルが他の
IOモジュ−ルを起動した場合、起動されたIOモジュ
−ルは起動元のIOモジュ−ルを直ちに知ることができ
るので、デ−タとコマンドの授受を円滑に行うことがで
きる。また、起動元のIOモジュ−ルは、ハ−ドウェア
の工注によりモジュ−ル番号を出力するので、IOモジ
ュ−ル内のソフトウェアは自分のモジュ−ル番号を意識
することなく、他のIOモジュ−ルを起動することがで
きる。その結果、IOモジュ−ルにMPUを内蔵し、シ
ステムバスを介して結合するマルチプロセッサでは、各
プロセッサを同一のソフトウェアで動作させることがで
きる。また、自分のモジュ−ル番号を意識せずに設計で
き、複数個のMPUを同一のソフトウェアで動作できる
ので、ソフトウェアの設計工数を減少させることができ
る。
マルチプロセッサシステムであるIOモジュ−ルが他の
IOモジュ−ルを起動した場合、起動されたIOモジュ
−ルは起動元のIOモジュ−ルを直ちに知ることができ
るので、デ−タとコマンドの授受を円滑に行うことがで
きる。また、起動元のIOモジュ−ルは、ハ−ドウェア
の工注によりモジュ−ル番号を出力するので、IOモジ
ュ−ル内のソフトウェアは自分のモジュ−ル番号を意識
することなく、他のIOモジュ−ルを起動することがで
きる。その結果、IOモジュ−ルにMPUを内蔵し、シ
ステムバスを介して結合するマルチプロセッサでは、各
プロセッサを同一のソフトウェアで動作させることがで
きる。また、自分のモジュ−ル番号を意識せずに設計で
き、複数個のMPUを同一のソフトウェアで動作できる
ので、ソフトウェアの設計工数を減少させることができ
る。
【図1】本発明の一実施例を示すマルチプロセッサシス
テムの構成図である。
テムの構成図である。
【図2】図1におけるシステムバスのアドレス割り付け
を示す図である。
を示す図である。
【図3】本発明の一実施例を示すIOモジュ−ルの動作
フロ−チャ−トである。
フロ−チャ−トである。
【図4】本発明の他の実施例を示すシステムバスの空間
の使用方法の図である。
の使用方法の図である。
【図5】本発明のさらに他の実施例を示す起動元IOモ
ジュ−ル番号バスを分離した方法の図である。
ジュ−ル番号バスを分離した方法の図である。
1,2 IOモジュ−ル 3 システムバス 4,5 モジュ−ル番号の工注 6,8 出力アドレスレジスタ 7,9 入力アドレスレジスタ 10,11 アドレスコンパレ−タ 12,13 MPU 14 システムバスアドレス割付け 15 デバイス番号部 16 モジュ−ル番号部 17 ファンクション番号部 18 デ−タバス 19 アドレスバス 20 起動元IOモジュ−ル番号バス
───────────────────────────────────────────────────── フロントページの続き (72)発明者 坂野 勝也 愛知県名古屋市中区栄三丁目10番22号 日 立中部ソフトウェア株式会社内
Claims (1)
- 【請求項1】 少なくとも2つ以上のIOモジュ−ルが
システムバスを介して接続されるマルチプロセッサシス
テムにおいて、独自のモジュ−ル番号が割り付けられた
個々のIOモジュ−ルに、各自のモジュ−ル番号を固定
的に出力する手段を設け、任意のIOモジュ−ルが上記
システムバスを介して他のIOモジュ−ルにアクセスす
る際に、該システムバスに出力するアドレスの一部に、
上記固定出力手段から起動元のIOモジュ−ル番号を埋
め込むことを特徴とするバス制御システム。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP15191993A JPH0713915A (ja) | 1993-06-23 | 1993-06-23 | バス制御システム |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP15191993A JPH0713915A (ja) | 1993-06-23 | 1993-06-23 | バス制御システム |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0713915A true JPH0713915A (ja) | 1995-01-17 |
Family
ID=15529072
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP15191993A Pending JPH0713915A (ja) | 1993-06-23 | 1993-06-23 | バス制御システム |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0713915A (ja) |
-
1993
- 1993-06-23 JP JP15191993A patent/JPH0713915A/ja active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR910006856A (ko) | 어드레스 레지스터를 이용하여 동적으로 버스제어를 실행하는 마이크로컴퓨터 | |
| JP3136257B2 (ja) | コンピュータメモリインタフェース装置 | |
| EP0676687B1 (en) | Power management units for computer systems | |
| JP3673015B2 (ja) | 半導体装置における周辺デバイス識別方法 | |
| EP0160033A1 (en) | Microcomputer having an internal address mapper | |
| JPH0713915A (ja) | バス制御システム | |
| CN110941452B (zh) | 一种配置方法、bios芯片和电子设备 | |
| JPH0756847A (ja) | ポータブルコンピュータ | |
| JP3649178B2 (ja) | 情報処理装置 | |
| JPH056281A (ja) | 情報処理装置 | |
| JP3076155B2 (ja) | マルチプロセッサシステムの初期設定方式 | |
| JPS603049A (ja) | バスインタ−フエ−ス装置 | |
| JPH08106377A (ja) | プログラム登録方法 | |
| JP2858517B2 (ja) | コンピュータシステム及び同システムにおいてアドレス指定可能な拡張された記憶装置を与える方法 | |
| JPH0887481A (ja) | マルチプロセッサボードの立ち上げ方法 | |
| KR960018958A (ko) | 다중 프로세서 시스템에서 아토믹 명령어 수행시 데이타 버퍼를 사용한 메인 메모리 액세스 장치 | |
| JPH05225114A (ja) | Io制御装置 | |
| US20060242351A1 (en) | Method and apparatus for loading instructions into high memory | |
| JPH0916243A (ja) | プログラマブルコントローラ | |
| JPH01305426A (ja) | Romカード制御方式 | |
| JP3293144B2 (ja) | 周辺制御装置 | |
| JPS60181867A (ja) | プロセツサ切換え制御方式 | |
| JPS5870357A (ja) | マイクロプログラムド・ブロセツサおよびその作動方法 | |
| JPH04128961A (ja) | マルチプロセッサ制御方式 | |
| JPH0236972B2 (ja) |