(57)【特許請求の範囲】
【請求項１】
プロセッサと主記憶とローカルバスとを含み、
接続したシステムバスを介した、
自プロセッサモジュールに含まれる主記憶への他プロセッサモジュールからのメモリ参照に用いられるアドレス変換回路を備えたプロセッサモジュールにおいて、
前記システムバスと前記ローカルバスとの間に、前記ローカルバスおよびシステムバスのバス状態を検出するバスステートマシン部と、前記システムバスのアドレスデータが前記主記憶に対するアクセスかの判定を行い、前記主記憶に対するアクセスであるとき、かつ前記ローカルバスおよびシステムバスのバス状態がアドレス出力フェーズにあるときに合わせて変換タイミングを決定し、アドレス変換制御信号を生成する変換制御部と、および該アドレス変換制御信号が入力されたとき、前記システムバスから出力されるＮビット幅のデータからアドレスデータの一部ｎビット（ただしｎ＜Ｎ）を取り込み、前記アドレスデータの一部を変換して変換されたアドレスを前記ローカルバスに出力するアドレス変換部と、を有するアドレス変換回路を備え、変換されたアドレスで前記主記憶にアクセスするアドレスメモリ制御装置を備えることを特徴とするプロセッサモジュール。
【請求項２】
請求項１において、前記変換制御部は前記システムバスのアドレスデータが前記主記憶に対するアクセスかの判定を行い、前記主記憶に対するアクセスであるとき、かつ前記ローカルバスおよびシステムバスのバス状態がアドレス出力フェーズにあるときに合わせて変換タイミングを決定し、アドレス変換制御信号を生成し、前記アドレス変換部は、該アドレス変換制御信号が入力されたとき、前記システムバスから出力されるＮビット幅のデータからアドレスデータの一部ｎビット（ただしｎ＜Ｎ）を取り込み、前記アドレスデータの一部を変換して変換されたアドレスを前記ローカルバスに出力し、前記アドレスメモリ制御装置は、変換されたアドレスで前記主記憶にアクセスすることを特徴とするプロセッサモジュール。
【請求項３】
請求項２において、前記アドレス変換部は双方向の入出力バッファを備え、前記変換制御部は、方向切り換え手段を有して入出力バッファ方向指示信号を出力し、前記入出力バッファは該入出力バッファ方向指示信号によって切り換えられることを特徴とするプロセッサモジュール。
【請求項４】
請求項１において、前記アドレス変換部で変換されたアドレスは、レジスタに登録された値であることを特徴とするプロセッサモジュール。
【請求項５】
請求項１において、前記バスステートマシン部はステート監視部とタイムアウト監視部を備え、前記ステート監視部はローカルバスおよびシステムバスのバス状態を検出し、前記タイムアウト監視部はアドレス出力フェーズのバスアクセス開始信号がアサートされてから所定時間内に前記ローカルバスあるいはシステムバスからの応答がない場合には、タイムアウトフェーズを前記ステート監視部に通知することを特徴とするプロセッサモジュール。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、コンピュータ・アーキテクチャに係り、特にマルチプロセッサ構成におけるアドレスマッピングの制御を行うアドレス変換回路に関する。
【０００２】
【従来の技術】
今日のプロセッサ技術の進歩は、アーキテクチャ・プロセス共に顕著であり、その速度・性能は著しく向上している。一方主記憶や入出力（Ｉ／Ｏ）装置に関しては、コストと従来資産の活用という観点よりプロセッサよりは処理速度の低い装置を用いるのが一般的である。これらプロセッサと主記憶、Ｉ／Ｏ装置との間はバスで接続され、さらに様々な速度の装置をそれぞれ効率よく使用するためにバスは階層化される。また電気的・アーキテクチャ的な制約を吸収するべく、バスブリッジと呼ばれる装置を用いることもある。一般的にはプロセッサと主記憶の間にはメモリ制御装置が置かれ、さらにこのメモリ制御装置はプロセッサが直接接続されるバス（プロセッサバス）とＩ／Ｏ装置が接続されるバス（ローカルバス）とを中継する。
【０００３】
プロセッサから主記憶やＩ／Ｏ装置へアクセスする方式として、プロセッサ・アドレス空間の一部にこれらがそれぞれ独立にマッピングされて、所定のアドレスに対するアクセスをメモリ制御装置が判定し所望のアクセス  （主記憶に対するアクセスやＩ／Ｏ装置に対するアクセス）に変換する、  メモリマップドＩ／Ｏと呼ばれる方式がある。メモリマップドＩ／Ｏ方式ではシングルプロセッサ構成においてはプロセッサが出すアドレスから一意にアクセス対象が決定するという利点を有する。
【０００４】
メモリマップドＩ／Ｏ方式では、プロセッサ・アドレス空間の一部を主記憶のための空間（メモリ空間）に割り当て、その他のアドレス空間をＩ／Ｏ装置のための空間（Ｉ／Ｏ空間）に割り当てる。メモリ制御装置の動作に関しては、主に、プロセッサからのＩ／Ｏ空間に対するアクセスを、同一アドレスでＩ／Ｏ装置が接続されるローカルバスに出力する方式  （直接アドレス方式）と、  アドレスを変換（例えば、Ｉ／Ｏ空間の先頭アドレスを０番地にシフト）してローカルバスに出力する方式（変換アドレス方式）とがある。
【０００５】
また、制御や演算の高速化を達成する手段として、プロセッサ、メモリ制御装置、主記憶、Ｉ／Ｏ装置がローカルバスで接続されるプロセッサモジュールを基本単位とし、これらプロセッサモジュールを複数用意し、ローカルバスを通信路（即ち、システムバス）で結合する疎結合マルチプロセッサ構成を用いて、制御や演算の機能分散を行い高速化を達成する手段がある。プロセッサモジュール間で機能分散動作するためには、それぞれのプロセッサモジュールは相互にデータ通信（メモリ参照）ができることが必要である。そのためプロセッサモジュール間の通信方法として、専用バスかシステムバスを用いてデータ通信する方法が一般的である。
【０００６】
直接アドレス方式または変換アドレス方式のいずれかの方式を採用するメモリ制御装置に対して、ローカルバスから到来したアドレスを主記憶に対するアクセスと認識させる方式として、主に以下の二つがある。即ち、メモリ制御装置に外部から装置選択信号（Ｃｈｉｐ  Ｓｅｌｅｃｔ；ＣＳ）を加える方式（ＣＳ方式）と、メモリ制御装置で定められるアドレス空間（リモートメモリアドレス空間）に対してローカルバスからアクセスする方式（アドレス検出方式）とである。一般にアドレス検出方式では、該メモリ制御装置が自らローカルバスに出力しないアドレス空間にリモートメモリアドレス空間を割り当てる。
【０００７】
ところで、プロセッサが生成するアクセスとして、自プロセッサモジュール内の主記憶（ローカルメモリ）に対するアクセス、自プロセッサモジュール内のＩ／Ｏ装置（ローカルＩ／Ｏ）に対するアクセス、他プロセッサモジュール内の主記憶（リモートメモリ）に対するアクセス、  他プロセッサモジュール内の  Ｉ／Ｏ装置（リモートＩ／Ｏ）に対するアクセスの４つがある。ローカルメモリアクセスは、メモリ制御装置によって処理されるので、ローカルバス上に現れるアクセスとしては、ローカルＩ／Ｏ，リモートメモリ，リモートＩ／Ｏの３つとなる。従来では、リモートメモリに対するアクセスを特定装置からのアクセスに限定する方式が主に用いられている。
【０００８】
【発明が解決しようとする課題】
疎結合マルチプロセッサ構成の各プロセッサモジュールにおいて、メモリマップドＩ／Ｏを提供するメモリ制御装置を用いて主記憶（リモートメモリ）にアクセスする場合、以下のような問題があった。
即ち、アドレス検出方式では、ローカルバスにおいてメモリ制御装置自身が出力しないアドレス空間にリモートメモリアドレス空間を割り当てているため、同一構成をとるプロセッサモジュールを用いた場合、プロセッサモジュール間で通信ができなかった。
【０００９】
そして、ＣＳ方式では、選択的にＣＳ信号をターゲットであるメモリ制御装置に出力する  （例えば、特定アドレス・特定バスコマンドに対するアクセスにＣＳ信号を出力する）  実現手段が無かったため、バスマスタがリモートメモリをアクセスする場合は、リモートメモリアクセス可能な装置（直接メモリアクセス装置）を介してアクセスしなければならず、直接バスマスタがリモートメモリを参照できないという制約があった。
【００１０】
また、アドレス検出方式またはＣＳ方式のいずれの場合でも、メモリマップドＩ／Ｏ構成をとるプロセッサが出力するアドレスから一意にアクセス先が決定されるという利点がある反面、システムバスあるいはローカルバスに出力されるアドレスは排他的に割り当てたアドレスとなるため、アドレス受信したメモリ制御装置毎に独立したアドレス空間（例えば１番目のプロセッサモジュールは０ｘ００００００００〜０ｘ００ＦＦＦＦＦＦ、  ２番目のプロセッサモジュールは０ｘ０１００００００〜０ｘ０１ＦＦＦＦＦＦと独立したアドレス空間）のみアクセス可能という制約があり、例えば  全てのプロセッサモジュールの先頭０ｘ０番地の値を読むといったことが不可能であった。
さらに、従来のアドレス変換回路の、特開平７−２００３９１号公報に開示される技術では、２つのバスの中間でバス上の全信号線を入出力する必要があったため、回路規模が大きなものとなっていた。
【００１１】
従って、本発明の目的は、マルチプロセッサ構成のアドレスマッピング方式に関する従来技術の問題点を克服し、アクセスに柔軟性を与え、回路規模の小さいアドレス変換回路及びマルチプロセッサシステムを提供することにある。
【００１２】
【課題を解決するための手段】
上記目的を達成するための本発明によるアドレス変換回路の特徴は、プロセッサと主記憶とローカルバスとを含むプロセッサモジュールの一部を構成し、該プロセッサモジュールに接続したシステムバスを介した、他の前記プロセッサモジュールに含まれる前記主記憶へのメモリ参照に用いられるアドレス変換回路において、前記システムバスと前記ローカルバスとの間に、該システムバスまたは該ローカルバスのバス状態に応じて、当該システムバスから出力される前記アドレスの一部分を取り込み、該アドレスの一部分を変換して前記ローカルバスに出力するアドレス一部分変換手段を有することにある。
【００１３】
そして、他の特徴は、前記アドレス一部分変換手段は、前記システムバスまたは前記ローカルバスのバス状態を検出してバス状態信号を出力する信号出力手段と、該バス状態信号に基づきタイミングを計って前記アドレスの一部分を変換する部分変換手段とからなる点にある。
また、前記アドレス一部分変換手段は、前記ローカルバスまたは前記システムバスから前記アドレスが出力される同一バスクロック内に、前記アドレスの一部分を変換して前記ローカルバスに出力するものであっても良い。
【００１４】
さらに、上記目的を達成するアドレス変換回路は、プロセッサとメモリ制御装置と主記憶とローカルバスとを含むプロセッサモジュールの一部を構成し、該プロセッサモジュールに接続したシステムバスを介した、他の前記プロセッサモジュールに含まれる前記主記憶へのメモリ参照に用いられるアドレス変換回路において、前記システムバス  または前記ローカルバスのバス状態を検出して  バス状態信号を出力する手段と、該バス状態信号に基づいて前記メモリ制御装置を選択するための装置選択信号を出力する手段とを有するものである。
【００１５】
本発明によれば、アドレスの変換に必要なビットだけを引き込むので、回路規模が小さなものとなり、また、全てのローカルバス上で同一となるようなリモートメモリアドレスに変換することも可能となり、柔軟性に優れたアクセスが可能となる。
【００１６】
【発明の実施の形態】
以下、本発明の実施の形態について、図面を参照し説明する。
図１は、本発明による一実施例のアドレス変換回路を示す図である。疎結合マルチプロセッサシステムに本発明を適用した場合のマルチプロセッサシステムの構成から本実施例のアドレス変換回路を示したものである。
マルチプロセッサシステムは、プロセッサ１とメモリ制御装置２と主記憶３とＩ／Ｏ装置４とバスブリッジ５とローカルバス１２とアドレス変換回路１００とを含んで構成された複数個のプロセッサモジュール＃１，…，＃ｎと、各プロセッサモジュールの相互に接続されるシステムバス１６とから成る。そして、本実施例のアドレス一部分変換手段としてのアドレス変換回路１００は、変換部１１０と変換制御部１３０とバスステートマシン部１５０とから構成される。また、本実施例では、部分変換手段は変換部１１０と変換制御部１３０とに該当し、信号出力手段はバスステートマシン部１５０に該当する。
【００１７】
図において、メモリ制御装置２は、  三叉路構成をとり、プロセッサバス（ＰＢＵＳ）１０を介してプロセッサ１と接続し、  メモリバス（ＭＥＭＢＵＳ）１１を介して主記憶３と接続し、さらにローカルバス（ＬＢＵＳ）１２と接続する。メモリ制御装置２は、主記憶３に対するプロセッサ１からのアクセス要求とローカルバス１２からのアクセス要求を調停し、主記憶３にアクセスする。また、本実施例におけるメモリ制御装置２は、ローカルバス１２からのアクセスが特定アドレス（または特定バスコマンド）に合致したときに、自身が選択されたと認識するアドレス検出方式のメモリ制御装置とする。
【００１８】
なお、本実施例におけるローカルバス１２と、システムバス１６とは同一仕様のバスであり、アドレス・データの信号線が多重のマルチプレクス方式バスとする。また、クロック同期式のバスであるとし、バスクロックの立ち上がりでアドレス・データ・制御信号がバス上の各装置に取り込まれるものとする。
Ｉ／Ｏ装置４はローカルバス１２に接続する。バスブリッジ５はシステムバス１６とローカルバス１２の双方で発生したアクセスを、一方にのみ伝達するだけの機能を有するものとする。すなわち、一方で出力されたアドレス・データ１４（以下、ＡＤ１４）を、変換せずにそのまま他方のバスに出力するものとする。
【００１９】
アドレス変換回路１００は、  ローカルバス１２とバスブリッジ５の間に介在し、ＡＤ１４の一部は、アドレス変換回路１００の内部を通過し、バス制御信号１５（以下、ＣＮＴ１５）の一部は、アドレス変換回路１００に接続する。なお、アドレス変換回路１００は、  リモートメモリの参照を許す各プロセッサモジュール毎に配置すればよく、予め接続するプロセッサモジュールの数を決定する必要が無いため、プロセッサモジュールの拡張が容易である。
【００２０】
バスステートマシン部150は、 ＣＮＴ１５からバス状態を検出して、変換制御部130に通知する。即ち、バスステートマシン部150は、ローカルバスのバス状態を検出してバス状態信号を出力するものである。 変換制御部130は、バスステートマシン部150から受信するバス状態と現在のアドレスまたはバスコマンド(即ち転送コマンド)から、 双方向信号であるＡＤ１４信号の出力する方向を制御し、アドレスの一部分を変換すべきか否かを決定し 変換部110に変換をそれぞれ指示する。変換部110は、変換制御部130から受信したＡＤ１４の出力方向とアドレス変換指示とをＡＤ１４に反映する。即ち、変換制御部130と変換部110は、該バス状態信号に基づきアドレスの一部分をタイミングを計って変換するものである。
【００２１】
以上を纏めると次の通りである。プロセッサ１と主記憶３とローカルバス１２はメモリ制御装置２で  相互に接続する。  アドレス変換回路１００はローカルバス  １２とシステムバス１６との間のＡＤ１４の一部分をバイパスする。アドレス変換回路１００は変換部１１０、変換制御部１３０、バスステートマシン部１５０からなり、バスステートマシン部１５０でローカルバス１２の状態を監視し、変換制御部１３０でバス制御信号ＣＮＴ１５とローカルバス１２の状態からアドレス変換の有無、変換部１１０を通過する双方向ＡＤ信号の方向を決定する。  システムバス１６から到来したアクセスに対し、  アドレス変換回路１１０によって変換されたアドレスをメモリ制御装置２は認識し、主記憶３をアクセスするものである。
【００２２】
すなわち、本発明によるアドレス変換回路の特徴は、プロセッサと主記憶を含む複数のプロセッサモジュールの相互が接続されるシステムバスを介して、他のプロセッサモジュールに含まれる主記憶の参照を行うマルチプロセッサシステムに用いられるアドレス変換回路において、システムバスとプロセッサモジュール内部のローカルバスとの間に、該システムバスまたは該ローカルバスのバス状態に応じて、システムバスから出力されるアドレスの一部分を取り込み、アドレスの一部分の内容を変更してローカルバスに出力するアドレス一部分変換手段を設けることにある。
【００２３】
換言すれば、本発明によるアドレス変換回路は、システムバスまたはローカルバスのバス状態を検出してバス状態信号を出力する手段と、該バス状態信号に基づきアドレスの一部分の内容を変更するタイミングを決定する手段とを有するものである。そして、バス状態を検出する理由は、バス上の全信号を入出力する従来技術であれば、一方のバスから全信号を取り込み、他方のバスに自由なタイミングでアドレス・データを出力するが、本発明では一部の信号のみ変換する特徴のために、バスの動作と歩調を合わせて変換タイミングを決定するからである。
即ち、アドレス・データが多重のバスでは、同一バス上にアドレスとデータが現れるため、アドレスが出力されるバス状態を検出し、その期間の間に、一部の信号のアドレス変換を行うことが肝要であるからである。
【００２４】
以下、アドレス変換回路100の詳細について図に従い説明する。
図２は、図１のアドレス変換回路における一実施例の変換部を示す図である。図１に示したアドレス変換回路100内の変換部110の内部構成を示している。変換部110は、アドレス・データ多重バスのビット幅がＮであるＡＤ１４のうち、一部のＡＤ信号(14ａ，14ｂ)としてのｎビットを、入出力バッファ(116ａ，116ｂ)を介して、引き込む。そして、後述するように、バス状態に応じたタイミングで該引き込んだ一部のＡＤ信号を変換するものである。ここで、ｎ＜Ｎであり、変換部110はアドレスの変換に必要なｎビットだけを引き込むことにより、
全信号を入出力するのに比べ、入出力信号線数を低減できる効果がある。すなわち、回路規模が小さなものとなる。
【００２５】
入出力バッファ（１１６ａ，１１６ｂ）などからなる切替回路（選択回路）においては、ローカルバス１２からバスブリッジ５へ向かうＡＤ信号１４ａは、変換を行わないので、入力と出力を直結する。バスブリッジ５からローカルバス１２に向かうＡＤ信号１４ｂには、途中にセレクタ１１２を通過させるように構成する。セレクタ１１２は、一方の入力にはレジスタ１１１を接続し、他方の入力には変換制御部１３０からのアドレス変換指示信号としてのＣＯＮＶＥＮ１１３を受け、  バスブリッジ５からのＡＤ１４の一部信号１４ｂの代わりにレジスタ１１１の値を出力する。
また、変換部１１０は、  通過するＡＤ１４の一部のＡＤ信号（１４ａ，１４ｂ）の方向を他のＡＤ１４の方向と違わないように合わせるために、  変換制御部１３０からのバッファ方向指示信号としてのＤＩＲＥＣＴＩＯＮ１１４を受けて、  入出力バッファ１１６ａ，１１６ｂの出力側バッファのＯＮ／ＯＦＦ制御を行うものである。
【００２６】
すなわち、部分変換手段を構成する変換部１１０は、バスステートマシン部１５０から出力されるバス状態信号と、ローカルバスまたはシステムバスから出力されるアドレスあるいはバスコマンドとを用いて変換制御部１３０が出力するＤＩＲＥＣＴＩＯＮ１１４によって、入出力バッファ１１６ａ，１１６ｂの出力側バッファのＯＮ／ＯＦＦ制御を実行すると言える。換言すれば、部分変換手段としての変換部１１０は、バス状態信号と、ローカルバスまたはシステムバスから出力されるアドレスあるいはローカルバスのバスコマンドとから、入出力バッファの出力側を制御するものであると言える。
【００２７】
ここで、ＡＤ１４は双方向のバスであるので、バス上の装置間通信時におけるバッファの方向切り替えの際に、バス上で出力バッファ衝突が発生しないよう緩衝時間を設ける必要があり、図２では、バスをハイインピーダンス制御するか否かを決定する信号としてのＳＵＰＰＲＥＳＳ１１５を入力して  緩衝時間の設定を実現する。変換制御部１３０からの指示としてのＳＵＰＰＲＥＳＳ１１５により、全ての出力バッファをＯＦＦ、即ち、バスをハイインピーダンス状態にして緩衝時間を設けるものである。
【００２８】
すなわち、部分変換手段としての変換部１１０は、  アドレスの一部分を双方向に入出力するための対向した入出力バッファを有し、入出力バッファの少なくとも１方向の経路を通過するアドレスの一部分の内容を変更するものである。
なお、入出力バッファはバスに接続する装置間で出力が衝突（バスファイト）しないようにするために設置しているものである。特に、アドレス・データが多重のバスでは、アドレスとデータの出力される向きは一致しないこともあるため、双方向のバッファを用いる必要がある。この場合アドレスを変更するためには、少なくとも変更すべきアドレスが流れる経路に変更手段を挿入すべきである。
【００２９】
図３は、図１のアドレス変換回路における一実施例の変換制御部を示す図である。図１に示したアドレス変換回路１００内の変換制御部１３０の内部構成を示す。
変換制御部１３０は、バスステートマシン部１５０とＡＤ１４とバス制御信号ＣＮＴ１５とからの入力を受け、アドレス変換の指示と、出力バッファ方向指示を変換部１１０に対して行うものである。
【００３０】
変換制御部130は、ローカルバス１２上に現れる３つのアクセス(ローカルＩ／Ｏ，リモートメモリ，リモートＩ／Ｏ)のうち、 ＡＤ１４および／またはバスコマンド(ＣＭＤ)15ａから、リモートメモリアクセスをローカルにある主記憶に対するアクセスか否かを判定する。
変換制御部130は、リモートメモリのアドレス範囲かの判定するためにＡＤ１４をレジスタ132と比較器133で比較し、リモートメモリに対するコマンドかを判定するためにＣＭＤ15ａをレジスタ134と比較器135で比較して、これらの一致出力(ＲＭＡＣＣ)140を得る。
【００３１】
また、ローカルバス１２側のローカルバス上装置がバスマスタであり、ターゲット装置がシステムバス１６側のシステムバス上装置（または、バスブリッジ５）に対するリードアクセスならば、リードデータ受信のためにデータの流れる向きがアドレスと逆方向となる。そこでバッファの方向を切り替える必要があるかを判定するために、ＡＤ１４をレジスタ１３６と比較器１３７と比較してシステムバスに対するアクセスかを判定し、ＣＭＤ１５ａをレジスタ１３８と比較器１３９で比較しリードアクセスかを判定し、  共に成立した場合にシステムバスに対するアクセス（ＳＢＡＣＣ）１４１と判定する。
【００３２】
さらに、システムバス１６からのアクセスか否かを判定するために、バスマスタがシステムバス１６であることを示す  システムバス使用許可信号１５ｂ（ＳＢＵＳＧＮＴ１５ｂ）を入力する。さらにまた、  現在のバス状態を表わすバス状態信号としてのＢＵＳＳＴ１４２をバスステートマシン部１５０から受信する。
変換制御部１３０は、以上の入力信号の組み合わせから制御テーブル１３１にしたがって、アドレス変換の有無を表わすＣＯＮＶＥＮ１１３と、バッファ方向を指示するＤＩＲＥＣＴＩＯＮ１１４とを生成する。さらに、方向切り替え検出回路１４３は、バッファ方向の切り替えとＢＵＳＳＴ１４２の組み合わせから、バスをハイインピーダンス制御するか否かを決定するＳＵＰＰＲＥＳＳ１１５を生成する。
【００３３】
すなわち、ローカルバスではリモートメモリアクセス、リモートＩ／Ｏアクセス、ローカルＩ／Ｏアクセスの三者が混在しているため、リモートメモリアクセスのみアドレス変換するためには、ローカルバスのバス状態を検出することや、ローカルバスに現れるバスコマンド、アドレスからリモートメモリアクセスを判別することが必要である。したがって、バス状態を検出する手段としての信号出力手段は、ローカルバスのバス状態を監視するバスステートマシン部を有することが重要である。
【００３４】
さらに、部分変換手段の一方を構成する変換制御部１３０は、  バスステートマシン部１５０から出力されるバス状態信号と、  ローカルバスまたはシステムバスから出力される、アドレスあるいはバスコマンド（または、転送コマンド）とから、アドレスの一部分を変更するか否かを決定するための、  ＣＯＮＶＥＮ１１３と、ＤＩＲＥＣＴＩＯＮ１１４と、ＳＵＰＰＲＥＳＳ１１５とを変換部１１０に送信し、  他方を構成する変換部１１０に働きかけて、アドレスの一部分を変換すると言える。  換言すれば、変換部１１０及び変換制御部１３０からなる部分変換手段は、バス状態信号と、ローカルバスまたはシステムバスから出力されるアドレスあるいはローカルバスのバスコマンドとに基づいて、アドレスの一部分を変換するタイミングを決定するものであると言える。
【００３５】
図４は、図１のアドレス変換回路における一実施例のバスステートマシン部を示す図である。図１に示したアドレス変換回路１００内のバスステートマシン部１５０の内部構成を示している。図５は、図４のバスステートマシン部における一実施例の遷移条件を示す図である。
図４において、バスステートマシン部１５０は、ＣＮＴ１５からの入力を受け、バス状態を検出して、変換制御部１３０にＢＵＳＳＴ１４２を通知するものである。
【００３６】
本実施例のバスステートマシン部１５０の内部は、ステート監視部１７０とタイムアウト監視部１７１とからなる。  いずれの監視部（ステートマシン）も、バスクロックに同期して遷移し、各状態からの遷移条件が成立しない限り前回の状態を保持するものとする。図５に示したような遷移条件１５１〜１６０において、信号の上にバーがついているもの（例えば、ＬＢＵＳＧＮＴ）は、信号がアサートされない状態（即ち、論理「負」の状態）にあることを示している。
【００３７】
タイムアウト監視部１７１は、  バスアクセスが開始してから一定時間以内にターゲット装置（図示省略、後述するローカルバス上装置及びシステムバス上装置）からの応答（ＤＥＶＳＥＬ）１５ｈが無い場合に、タイムアウトフェーズ（ＴＯ）をステート監視部１７０に通知する。  即ち、システムバス１６またはローカルバス１２のバスがアドレス出力フェーズ（ＡＤＲＰＨ）のバス状態にあるときに、バスアクセス開始信号（ＦＲＡＭＥ）１５ｄがアサートされてから４バスクロック以内に応答が無い場合には、タイムアウトフェーズ（ＴＯ）をステート監視部１７０に通知する。
【００３８】
ステート監視部170は、 システムバス１６またはローカルバス１２のバス状態をＣＮＴ(バス制御信号)15ａ〜15ｇから検出する。システムバス１６またはローカルバス１２のバスは、最初アイドル(ＩＤＬＥ)にある。ＩＤＬＥからいずれかのバス上装置がバス使用許可 (ローカルバス上装置に対する使用許可：ＬＢＵＳＧＮＴ15ｃ，システムバス上装置に対する使用許可：ＳＢＵＳＧＮＴ15ｂ) を得ると、アドレス出力フェーズ(ＡＤＲＰＨ)にバス状態は遷移する。アドレス出力フェーズのバス状態からバスアクセス開始信号(ＦＲＡＭＥ)15ｄがアサートされると、バスコマンド(ＣＭＤ)15ａと、ＬＢＵＳＧＮＴ15ｃかＳＢＵＳＧＮＴ15ｂ (どちらかのバス上装置がバスマスタであるかを表わしている)とによって、状態は分岐する。いずれの状態からも、バス終了条件157が成立すると、ＩＤＬＥ状態に復帰する。そして、バス状態に応じて、ＩＤＬＥ，ＡＤＲＰＨがバス状態信号としてのＢＵＳＳＴ142となって、変換制御部130に送信されるものである。
【００３９】
図６は、図１のアドレス変換回路によるシステムバスからのライトアクセスを示すタイミングチャートである。本実施例によるアドレス変換のタイミングチャートとして、システムバス１６上のシステムバス上装置からメモリ制御装置２へのライトアクセスを示している。ここで信号名の末尾に“＿Ｎ”が付加されているものは、負論理の信号線である。
クロック１（ＣＬＯＣＫ１）で、  システムバス上装置に対するバス使用許可（ＳＢＵＳＧＮＴ＿Ｎ）がアサートされ、クロック２で、システムバス上装置（バスマスタとなっている）のバス使用許可を認識し、  且つ、ＣＭＤ，ＦＲＡＭＥ＿Ｎ，ＡＤを駆動する。尚、システムバスはＳＹＳＢＵＳ、ローカルバスはＬＢＵＳと呼称する。
【００４０】
ここで、アドレス変換回路１００は、システムバス上装置がバスアクセスを開始したことを検出し、かつ、アドレス変換が必要と判定し、ＣＯＮＶＥＮ１１３をアサートし、さらに、出力バッファの方向をＳ→Ｌ（Ｓ，ＬはそれぞれＳＹＳＢＵＳ，ＬＢＵＳの頭文字）へ切り替える。同時に、ＡＤＲＰＨのバス状態信号が、変換制御部１３０に送信される。
【００４１】
その結果、ローカルバス１２上のＡＤには、  ライトアクセスのための「変換後ＡＤ」２００が現れる。  メモリ制御装置２は、変換後ＡＤ２００とＣＭＤ（Ｗ）を検出して、自身に対するライトアクセスと認識する。
その後のクロック３では、無変換のライトデータがローカルバス１２上に現れる。この時、バス状態信号はＡＤＲＰＨの一部としてのＳＢＭＷとなっている。さらに、クロック５で、  アドレス変換回路１００はバス終了条件が満たされたことを検出し、ＤＩＲＥＣＴＩＯＮ１１４を切り替えてＬ→Ｓとする。
【００４２】
図７は、図１のアドレス変換回路によるシステムバスからのリードアクセスを示すタイミングチャートである。本実施例によるアドレス変換のタイミングチャートとして、システムバス上装置からメモリ制御装置２へのリードアクセスを示している。クロック２までは、図６のライトアクセスの場合と同様に、ローカルバス１２上のＡＤには、  リードアクセスのための「変換後ＡＤ」２１０が出力され、メモリ制御装置２が自身に対するアクセスと認識する。
【００４３】
クロック３において、リードアクセスではアドレスとリードデータの出力装置が異なるため、  バッファの出力方向ＤＩＲＥＣＴＩＯＮ１１４が切り替わる。さらに、バッファの切り替え緩衝時間を保証するために、  ＳＵＰＰＲＥＳＳ１１５もアサートされる。その後、クロック４のタイミングでリードデータが出力され、アドレス変換回路１００はバス終了条件が満たされたことを検出する。
以上の図１〜図７の説明内容から、本発明によるアドレス変換回路の別の特徴は、アドレス一部分変換手段としてのアドレス変換回路１００が、  ローカルバスまたはシステムバスからアドレスが出力される同一バスクロック内に、アドレスの一部分を変換してローカルバスに出力するものであると言える。
【００４４】
また、アドレス変換回路１００は、システムバス１６からの特定アドレス・特定バスコマンドによるアクセスをリモートメモリアクセスと判定し、アドレスを変換してローカルバス１２に出力するため、システムバス上装置（バスマスタ）あるいは他プロセッサモジュールのバス上装置（バスマスタ）は、直接リモートメモリを参照できるようになっている。
【００４５】
さらに、アドレス変換回路１００により、  全てのローカルバス上で同一となるような、リモートメモリアドレスに変換することも可能となり、例えば、全てのリモートメモリ上のアドレス０番地のデータを相互に参照する（  すなわち、前述の先頭０ｘ０番地の値を読む）ことも可能となる。すなわち、排他的なアドレス空間を有効に利用できることに繋がり、柔軟性に優れたアクセスが可能である。
従って、図１に示す実施例のアドレス変換回路を用いれば、アクセスに柔軟性があり、かつ、回路規模の小さいマルチプロセッサシステムが提供される。
【００４６】
次に、他の実施例のアドレス変換回路について説明する。
図８は、本発明による他の実施例のアドレス変換回路を示す図である。即ち、疎結合マルチプロセッサシステムにおけるアドレス変換回路の他の構成例を示している。
本実施例のマルチプロセッサシステムの図１の実施例との違いは、メモリ制御装置２’とアドレス変換回路１００’とにある。  そして、本実施例のアドレス変換回路１００’は、変換制御部１３０’とバスステートマシン部１５０とから構成される。  本アドレス変換回路１００’は、図１に示すアドレス変換回路１００と比べて、変換部１１０がなくなり、変換制御部１３０’から装置選択のためのＣＳ信号１８０（即ち、装置選択信号）が出力されている点が異なる。また、メモリ制御装置２’は、ＣＳ方式のメモリ制御装置である。
【００４７】
ＣＳ信号１８０としては、変換制御部１３０’から出力されるＣＯＮＶＥＮ１１３が利用される。図１の実施例のＤＩＲＥＣＴＩＯＮ１１４およびＳＵＰＰＲＥＳＳ１１５は用いなくても可である。  そして、ＣＳ信号１８０は、図１の実施例と同様に、特定アドレス・特定バスコマンドに対するシステムバスからのアクセスに対して、  メモリ制御装置２’を選択する。  そして、本実施例のアドレス変換回路を用いれば、前述のアドレスの一部分を変換する場合の効果は得られないが、マルチプロセッサシステムの回路規模を小さくし該システムを簡便なものにするに有効である。
【００４８】
すなわち、本発明によるアドレス変換回路の他の特徴は、プロセッサとメモリ制御装置と主記憶を含む複数のプロセッサモジュールの相互が接続されるシステムバスを介して、他のプロセッサモジュールに含まれる主記憶の参照を行うマルチプロセッサシステムに用いられるアドレス変換回路において、システムバスまたはローカルバスのバス状態を検出してバス状態信号を出力する手段と、該バス状態信号に基づいてメモリ制御装置を選択するための装置選択信号を出力する手段とを設けることにある。
【００４９】
換言すれば、本発明によるアドレス変換回路は、システムバスまたはローカルバスのバス状態を検出してバス状態信号を出力する手段としてのバスステートマシン部１５０と、  該バス状態信号に基づきプロセッサモジュール内のＣＳ方式のメモリ制御装置を作動させるＣＳ信号１８０を出力する手段としての変換制御部１３０’とを有するにあると言える。また、本発明によるマルチプロセッサシステムは、プロセッサとメモリ制御装置と主記憶とローカルバスとを含み構成された複数個のプロセッサモジュールの相互に接続されたシステムバスを介して、他のプロセッサモジュールに含まれた主記憶のメモリ参照を実行するに当たり、システムバスまたはローカルバスのバス状態を検出してバス状態信号を出力する手段と、該バス状態信号に基づいてメモリ制御装置を選択する装置選択信号を出力する手段とを有するものと言える。
【００５０】
そして、図１の実施例のアドレス変換回路と同様に、バス状態を検出してバス状態信号を出力する手段としてのバスステートマシン部１５０は、  ローカルバスの状態を監視することが望ましいと言える。さらに、装置選択信号を出力する手段としての変換制御部１３０’は、  バスステートマシン部１５０から出力されるバス状態信号と、  ローカルバスまたはシステムバスから出力される「アドレス」または「バスコマンド（転送コマンド）」とから、ＣＳ信号１８０を出力するか否かを決定するものが望ましいと言える。
【００５１】
上記いずれの実施例でも、バスブリッジ５をシステムバス１６とローカルバス１２の間に介在させた例を取り上げたが、バスブリッジ５は存在しなくても可であり、システムバス１６とローカルバス１２とが直接接続されていても、本発明によるアドレス変換回路は全く変更なく適用することができる。しかし、バスブリッジ５があれば、バスブリッジ５をネットワーク装置で置換して本アドレス変換回路を使用することにより、ネットワークで結合されたプロセッサモジュール間でも主記憶の相互参照が可能となる。
【００５２】
尚、上記実施例におけるレジスタ１１１，１３２，１３４，１３６，１３８は、  変更の必要が無い場合にはハード的に固定してもよい。また、上記実施例では、アドレス・データ多重のマルチプレクスバスであったが、アドレス・データがそれぞれ独立した構成のバスシステムでも本発明の適用は可である。独立した構成の場合は、双方向バッファの切り替え制御を簡略化できることより変換制御部１３０は、  より簡便にすることが可能である。さらに、本発明によるアドレス変換回路は、バスブリッジの内部に予め組み込んでも良く、内部組込の場合であれば、入出力バッファ回路・ピン等のハード的物量が削減できるという利点がある。
【００５３】
【発明の効果】
以上のように、本発明によれば、マルチプロセッサシステムにおいて、特定アドレス・特定バスコマンドの場合に、リモートメモリアクセスを可能とし、同一構成をとるプロセッサモジュール間で相互のメモリを直接参照できる、拡張性に優れ、回路規模の小さいアドレス変換回路を実現できる効果がある。
【図面の簡単な説明】
【図１】本発明による一実施例のアドレス変換回路を示す図である。
【図２】図１のアドレス変換回路における一実施例の変換部を示す図である。
【図３】図１のアドレス変換回路における一実施例の変換制御部を示す図である。
【図４】図１のアドレス変換回路における一実施例のバスステートマシン部を示す図である。
【図５】図４のバスステートマシン部における一実施例の遷移条件を示す図である。
【図６】図１のアドレス変換回路によるシステムバスからのライトアクセスを示すタイミングチャートである。
【図７】図１のアドレス変換回路によるシステムバスからのリードアクセスを示すタイミングチャートである。
【図８】本発明による他の実施例のアドレス変換回路を示す図である。
【符号の説明】
１…プロセッサ、２，２’…メモリ制御装置、３…主記憶、４…Ｉ／Ｏ装置、５…バスブリッジ、１０…プロセッサバス、１１…メモリバス、１２…ローカルバス、１４…アドレス・データ（ＡＤ）、１４ａ，１４ｂ…ＡＤ信号、１５…バス制御信号（ＣＮＴ）、１６…システムバス、  １００，１００’…アドレス変換回路、１１０…変換部、１３０，１３０’…変換制御部、１５０…バスステートマシン部、１７０…ステート監視部、１７１…タイムアウト監視部
１８０…ＣＳ信号
【図１】
0003620173.tif 000002
【図２】
0003620173.tif 000003
【図３】
0003620173.tif 000004
【図４】
0003620173.tif 000005
【図５】
0003620173.tif 000006
【図６】
0003620173.tif 000007
【図７】
0003620173.tif 000008
【図８】
0003620173.tif 000009