JP3620173B2 - アドレス変換回路及びマルチプロセッサシステム - Google Patents
アドレス変換回路及びマルチプロセッサシステム Download PDFInfo
- Publication number
- JP3620173B2 JP3620173B2 JP27056796A JP27056796A JP3620173B2 JP 3620173 B2 JP3620173 B2 JP 3620173B2 JP 27056796 A JP27056796 A JP 27056796A JP 27056796 A JP27056796 A JP 27056796A JP 3620173 B2 JP3620173 B2 JP 3620173B2
- Authority
- JP
- Japan
- Prior art keywords
- bus
- address
- output
- conversion
- access
- 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.)
- Expired - Lifetime
Links
Images
Landscapes
- Multi Processors (AREA)
- Bus Control (AREA)
Description
【発明の属する技術分野】
本発明は、コンピュータ・アーキテクチャに係り、特にマルチプロセッサ構成におけるアドレスマッピングの制御を行うアドレス変換回路に関する。
【0002】
【従来の技術】
今日のプロセッサ技術の進歩は、アーキテクチャ・プロセス共に顕著であり、その速度・性能は著しく向上している。一方主記憶や入出力(I/O)装置に関しては、コストと従来資産の活用という観点よりプロセッサよりは処理速度の低い装置を用いるのが一般的である。これらプロセッサと主記憶、I/O装置との間はバスで接続され、さらに様々な速度の装置をそれぞれ効率よく使用するためにバスは階層化される。また電気的・アーキテクチャ的な制約を吸収するべく、バスブリッジと呼ばれる装置を用いることもある。一般的にはプロセッサと主記憶の間にはメモリ制御装置が置かれ、さらにこのメモリ制御装置はプロセッサが直接接続されるバス(プロセッサバス)とI/O装置が接続されるバス(ローカルバス)とを中継する。
【0003】
プロセッサから主記憶やI/O装置へアクセスする方式として、プロセッサ・アドレス空間の一部にこれらがそれぞれ独立にマッピングされて、所定のアドレスに対するアクセスをメモリ制御装置が判定し所望のアクセス (主記憶に対するアクセスやI/O装置に対するアクセス)に変換する、 メモリマップドI/Oと呼ばれる方式がある。メモリマップドI/O方式ではシングルプロセッサ構成においてはプロセッサが出すアドレスから一意にアクセス対象が決定するという利点を有する。
【0004】
メモリマップドI/O方式では、プロセッサ・アドレス空間の一部を主記憶のための空間(メモリ空間)に割り当て、その他のアドレス空間をI/O装置のための空間(I/O空間)に割り当てる。メモリ制御装置の動作に関しては、主に、プロセッサからのI/O空間に対するアクセスを、同一アドレスでI/O装置が接続されるローカルバスに出力する方式 (直接アドレス方式)と、 アドレスを変換(例えば、I/O空間の先頭アドレスを0番地にシフト)してローカルバスに出力する方式(変換アドレス方式)とがある。
【0005】
また、制御や演算の高速化を達成する手段として、プロセッサ、メモリ制御装置、主記憶、I/O装置がローカルバスで接続されるプロセッサモジュールを基本単位とし、これらプロセッサモジュールを複数用意し、ローカルバスを通信路(即ち、システムバス)で結合する疎結合マルチプロセッサ構成を用いて、制御や演算の機能分散を行い高速化を達成する手段がある。プロセッサモジュール間で機能分散動作するためには、それぞれのプロセッサモジュールは相互にデータ通信(メモリ参照)ができることが必要である。そのためプロセッサモジュール間の通信方法として、専用バスかシステムバスを用いてデータ通信する方法が一般的である。
【0006】
直接アドレス方式または変換アドレス方式のいずれかの方式を採用するメモリ制御装置に対して、ローカルバスから到来したアドレスを主記憶に対するアクセスと認識させる方式として、主に以下の二つがある。即ち、メモリ制御装置に外部から装置選択信号(Chip Select;CS)を加える方式(CS方式)と、メモリ制御装置で定められるアドレス空間(リモートメモリアドレス空間)に対してローカルバスからアクセスする方式(アドレス検出方式)とである。一般にアドレス検出方式では、該メモリ制御装置が自らローカルバスに出力しないアドレス空間にリモートメモリアドレス空間を割り当てる。
【0007】
ところで、プロセッサが生成するアクセスとして、自プロセッサモジュール内の主記憶(ローカルメモリ)に対するアクセス、自プロセッサモジュール内のI/O装置(ローカルI/O)に対するアクセス、他プロセッサモジュール内の主記憶(リモートメモリ)に対するアクセス、 他プロセッサモジュール内の I/O装置(リモートI/O)に対するアクセスの4つがある。ローカルメモリアクセスは、メモリ制御装置によって処理されるので、ローカルバス上に現れるアクセスとしては、ローカルI/O,リモートメモリ,リモートI/Oの3つとなる。従来では、リモートメモリに対するアクセスを特定装置からのアクセスに限定する方式が主に用いられている。
【0008】
【発明が解決しようとする課題】
疎結合マルチプロセッサ構成の各プロセッサモジュールにおいて、メモリマップドI/Oを提供するメモリ制御装置を用いて主記憶(リモートメモリ)にアクセスする場合、以下のような問題があった。
即ち、アドレス検出方式では、ローカルバスにおいてメモリ制御装置自身が出力しないアドレス空間にリモートメモリアドレス空間を割り当てているため、同一構成をとるプロセッサモジュールを用いた場合、プロセッサモジュール間で通信ができなかった。
【0009】
そして、CS方式では、選択的にCS信号をターゲットであるメモリ制御装置に出力する (例えば、特定アドレス・特定バスコマンドに対するアクセスにCS信号を出力する) 実現手段が無かったため、バスマスタがリモートメモリをアクセスする場合は、リモートメモリアクセス可能な装置(直接メモリアクセス装置)を介してアクセスしなければならず、直接バスマスタがリモートメモリを参照できないという制約があった。
【0010】
また、アドレス検出方式またはCS方式のいずれの場合でも、メモリマップドI/O構成をとるプロセッサが出力するアドレスから一意にアクセス先が決定されるという利点がある反面、システムバスあるいはローカルバスに出力されるアドレスは排他的に割り当てたアドレスとなるため、アドレス受信したメモリ制御装置毎に独立したアドレス空間(例えば1番目のプロセッサモジュールは0x00000000〜0x00FFFFFF、 2番目のプロセッサモジュールは0x01000000〜0x01FFFFFFと独立したアドレス空間)のみアクセス可能という制約があり、例えば 全てのプロセッサモジュールの先頭0x0番地の値を読むといったことが不可能であった。
さらに、従来のアドレス変換回路の、特開平7−200391号公報に開示される技術では、2つのバスの中間でバス上の全信号線を入出力する必要があったため、回路規模が大きなものとなっていた。
【0011】
従って、本発明の目的は、マルチプロセッサ構成のアドレスマッピング方式に関する従来技術の問題点を克服し、アクセスに柔軟性を与え、回路規模の小さいアドレス変換回路及びマルチプロセッサシステムを提供することにある。
【0012】
【課題を解決するための手段】
上記目的を達成するための本発明によるアドレス変換回路の特徴は、プロセッサと主記憶とローカルバスとを含むプロセッサモジュールの一部を構成し、該プロセッサモジュールに接続したシステムバスを介した、他の前記プロセッサモジュールに含まれる前記主記憶へのメモリ参照に用いられるアドレス変換回路において、前記システムバスと前記ローカルバスとの間に、該システムバスまたは該ローカルバスのバス状態に応じて、当該システムバスから出力される前記アドレスの一部分を取り込み、該アドレスの一部分を変換して前記ローカルバスに出力するアドレス一部分変換手段を有することにある。
【0013】
そして、他の特徴は、前記アドレス一部分変換手段は、前記システムバスまたは前記ローカルバスのバス状態を検出してバス状態信号を出力する信号出力手段と、該バス状態信号に基づきタイミングを計って前記アドレスの一部分を変換する部分変換手段とからなる点にある。
また、前記アドレス一部分変換手段は、前記ローカルバスまたは前記システムバスから前記アドレスが出力される同一バスクロック内に、前記アドレスの一部分を変換して前記ローカルバスに出力するものであっても良い。
【0014】
さらに、上記目的を達成するアドレス変換回路は、プロセッサとメモリ制御装置と主記憶とローカルバスとを含むプロセッサモジュールの一部を構成し、該プロセッサモジュールに接続したシステムバスを介した、他の前記プロセッサモジュールに含まれる前記主記憶へのメモリ参照に用いられるアドレス変換回路において、前記システムバス または前記ローカルバスのバス状態を検出して バス状態信号を出力する手段と、該バス状態信号に基づいて前記メモリ制御装置を選択するための装置選択信号を出力する手段とを有するものである。
【0015】
本発明によれば、アドレスの変換に必要なビットだけを引き込むので、回路規模が小さなものとなり、また、全てのローカルバス上で同一となるようなリモートメモリアドレスに変換することも可能となり、柔軟性に優れたアクセスが可能となる。
【0016】
【発明の実施の形態】
以下、本発明の実施の形態について、図面を参照し説明する。
図1は、本発明による一実施例のアドレス変換回路を示す図である。疎結合マルチプロセッサシステムに本発明を適用した場合のマルチプロセッサシステムの構成から本実施例のアドレス変換回路を示したものである。
マルチプロセッサシステムは、プロセッサ1とメモリ制御装置2と主記憶3とI/O装置4とバスブリッジ5とローカルバス12とアドレス変換回路100とを含んで構成された複数個のプロセッサモジュール#1,…,#nと、各プロセッサモジュールの相互に接続されるシステムバス16とから成る。そして、本実施例のアドレス一部分変換手段としてのアドレス変換回路100は、変換部110と変換制御部130とバスステートマシン部150とから構成される。また、本実施例では、部分変換手段は変換部110と変換制御部130とに該当し、信号出力手段はバスステートマシン部150に該当する。
【0017】
図において、メモリ制御装置2は、 三叉路構成をとり、プロセッサバス(PBUS)10を介してプロセッサ1と接続し、 メモリバス(MEMBUS)11を介して主記憶3と接続し、さらにローカルバス(LBUS)12と接続する。メモリ制御装置2は、主記憶3に対するプロセッサ1からのアクセス要求とローカルバス12からのアクセス要求を調停し、主記憶3にアクセスする。また、本実施例におけるメモリ制御装置2は、ローカルバス12からのアクセスが特定アドレス(または特定バスコマンド)に合致したときに、自身が選択されたと認識するアドレス検出方式のメモリ制御装置とする。
【0018】
なお、本実施例におけるローカルバス12と、システムバス16とは同一仕様のバスであり、アドレス・データの信号線が多重のマルチプレクス方式バスとする。また、クロック同期式のバスであるとし、バスクロックの立ち上がりでアドレス・データ・制御信号がバス上の各装置に取り込まれるものとする。
I/O装置4はローカルバス12に接続する。バスブリッジ5はシステムバス16とローカルバス12の双方で発生したアクセスを、一方にのみ伝達するだけの機能を有するものとする。すなわち、一方で出力されたアドレス・データ14(以下、AD14)を、変換せずにそのまま他方のバスに出力するものとする。
【0019】
アドレス変換回路100は、 ローカルバス12とバスブリッジ5の間に介在し、AD14の一部は、アドレス変換回路100の内部を通過し、バス制御信号15(以下、CNT15)の一部は、アドレス変換回路100に接続する。なお、アドレス変換回路100は、 リモートメモリの参照を許す各プロセッサモジュール毎に配置すればよく、予め接続するプロセッサモジュールの数を決定する必要が無いため、プロセッサモジュールの拡張が容易である。
【0020】
バスステートマシン部150は、 CNT15からバス状態を検出して、変換制御部130に通知する。即ち、バスステートマシン部150は、ローカルバスのバス状態を検出してバス状態信号を出力するものである。 変換制御部130は、バスステートマシン部150から受信するバス状態と現在のアドレスまたはバスコマンド(即ち転送コマンド)から、 双方向信号であるAD14信号の出力する方向を制御し、アドレスの一部分を変換すべきか否かを決定し 変換部110に変換をそれぞれ指示する。変換部110は、変換制御部130から受信したAD14の出力方向とアドレス変換指示とをAD14に反映する。即ち、変換制御部130と変換部110は、該バス状態信号に基づきアドレスの一部分をタイミングを計って変換するものである。
【0021】
以上を纏めると次の通りである。プロセッサ1と主記憶3とローカルバス12はメモリ制御装置2で 相互に接続する。 アドレス変換回路100はローカルバス 12とシステムバス16との間のAD14の一部分をバイパスする。アドレス変換回路100は変換部110、変換制御部130、バスステートマシン部150からなり、バスステートマシン部150でローカルバス12の状態を監視し、変換制御部130でバス制御信号CNT15とローカルバス12の状態からアドレス変換の有無、変換部110を通過する双方向AD信号の方向を決定する。 システムバス16から到来したアクセスに対し、 アドレス変換回路110によって変換されたアドレスをメモリ制御装置2は認識し、主記憶3をアクセスするものである。
【0022】
すなわち、本発明によるアドレス変換回路の特徴は、プロセッサと主記憶を含む複数のプロセッサモジュールの相互が接続されるシステムバスを介して、他のプロセッサモジュールに含まれる主記憶の参照を行うマルチプロセッサシステムに用いられるアドレス変換回路において、システムバスとプロセッサモジュール内部のローカルバスとの間に、該システムバスまたは該ローカルバスのバス状態に応じて、システムバスから出力されるアドレスの一部分を取り込み、アドレスの一部分の内容を変更してローカルバスに出力するアドレス一部分変換手段を設けることにある。
【0023】
換言すれば、本発明によるアドレス変換回路は、システムバスまたはローカルバスのバス状態を検出してバス状態信号を出力する手段と、該バス状態信号に基づきアドレスの一部分の内容を変更するタイミングを決定する手段とを有するものである。そして、バス状態を検出する理由は、バス上の全信号を入出力する従来技術であれば、一方のバスから全信号を取り込み、他方のバスに自由なタイミングでアドレス・データを出力するが、本発明では一部の信号のみ変換する特徴のために、バスの動作と歩調を合わせて変換タイミングを決定するからである。
即ち、アドレス・データが多重のバスでは、同一バス上にアドレスとデータが現れるため、アドレスが出力されるバス状態を検出し、その期間の間に、一部の信号のアドレス変換を行うことが肝要であるからである。
【0024】
以下、アドレス変換回路100の詳細について図に従い説明する。
図2は、図1のアドレス変換回路における一実施例の変換部を示す図である。図1に示したアドレス変換回路100内の変換部110の内部構成を示している。変換部110は、アドレス・データ多重バスのビット幅がNであるAD14のうち、一部のAD信号(14a,14b)としてのnビットを、入出力バッファ(116a,116b)を介して、引き込む。そして、後述するように、バス状態に応じたタイミングで該引き込んだ一部のAD信号を変換するものである。ここで、n<Nであり、変換部110はアドレスの変換に必要なnビットだけを引き込むことにより、
全信号を入出力するのに比べ、入出力信号線数を低減できる効果がある。すなわち、回路規模が小さなものとなる。
【0025】
入出力バッファ(116a,116b)などからなる切替回路(選択回路)においては、ローカルバス12からバスブリッジ5へ向かうAD信号14aは、変換を行わないので、入力と出力を直結する。バスブリッジ5からローカルバス12に向かうAD信号14bには、途中にセレクタ112を通過させるように構成する。セレクタ112は、一方の入力にはレジスタ111を接続し、他方の入力には変換制御部130からのアドレス変換指示信号としてのCONVEN113を受け、 バスブリッジ5からのAD14の一部信号14bの代わりにレジスタ111の値を出力する。
また、変換部110は、 通過するAD14の一部のAD信号(14a,14b)の方向を他のAD14の方向と違わないように合わせるために、 変換制御部130からのバッファ方向指示信号としてのDIRECTION114を受けて、 入出力バッファ116a,116bの出力側バッファのON/OFF制御を行うものである。
【0026】
すなわち、部分変換手段を構成する変換部110は、バスステートマシン部150から出力されるバス状態信号と、ローカルバスまたはシステムバスから出力されるアドレスあるいはバスコマンドとを用いて変換制御部130が出力するDIRECTION114によって、入出力バッファ116a,116bの出力側バッファのON/OFF制御を実行すると言える。換言すれば、部分変換手段としての変換部110は、バス状態信号と、ローカルバスまたはシステムバスから出力されるアドレスあるいはローカルバスのバスコマンドとから、入出力バッファの出力側を制御するものであると言える。
【0027】
ここで、AD14は双方向のバスであるので、バス上の装置間通信時におけるバッファの方向切り替えの際に、バス上で出力バッファ衝突が発生しないよう緩衝時間を設ける必要があり、図2では、バスをハイインピーダンス制御するか否かを決定する信号としてのSUPPRESS115を入力して 緩衝時間の設定を実現する。変換制御部130からの指示としてのSUPPRESS115により、全ての出力バッファをOFF、即ち、バスをハイインピーダンス状態にして緩衝時間を設けるものである。
【0028】
すなわち、部分変換手段としての変換部110は、 アドレスの一部分を双方向に入出力するための対向した入出力バッファを有し、入出力バッファの少なくとも1方向の経路を通過するアドレスの一部分の内容を変更するものである。
なお、入出力バッファはバスに接続する装置間で出力が衝突(バスファイト)しないようにするために設置しているものである。特に、アドレス・データが多重のバスでは、アドレスとデータの出力される向きは一致しないこともあるため、双方向のバッファを用いる必要がある。この場合アドレスを変更するためには、少なくとも変更すべきアドレスが流れる経路に変更手段を挿入すべきである。
【0029】
図3は、図1のアドレス変換回路における一実施例の変換制御部を示す図である。図1に示したアドレス変換回路100内の変換制御部130の内部構成を示す。
変換制御部130は、バスステートマシン部150とAD14とバス制御信号CNT15とからの入力を受け、アドレス変換の指示と、出力バッファ方向指示を変換部110に対して行うものである。
【0030】
変換制御部130は、ローカルバス12上に現れる3つのアクセス(ローカルI/O,リモートメモリ,リモートI/O)のうち、 AD14および/またはバスコマンド(CMD)15aから、リモートメモリアクセスをローカルにある主記憶に対するアクセスか否かを判定する。
変換制御部130は、リモートメモリのアドレス範囲かの判定するためにAD14をレジスタ132と比較器133で比較し、リモートメモリに対するコマンドかを判定するためにCMD15aをレジスタ134と比較器135で比較して、これらの一致出力(RMACC)140を得る。
【0031】
また、ローカルバス12側のローカルバス上装置がバスマスタであり、ターゲット装置がシステムバス16側のシステムバス上装置(または、バスブリッジ5)に対するリードアクセスならば、リードデータ受信のためにデータの流れる向きがアドレスと逆方向となる。そこでバッファの方向を切り替える必要があるかを判定するために、AD14をレジスタ136と比較器137と比較してシステムバスに対するアクセスかを判定し、CMD15aをレジスタ138と比較器139で比較しリードアクセスかを判定し、 共に成立した場合にシステムバスに対するアクセス(SBACC)141と判定する。
【0032】
さらに、システムバス16からのアクセスか否かを判定するために、バスマスタがシステムバス16であることを示す システムバス使用許可信号15b(SBUSGNT15b)を入力する。さらにまた、 現在のバス状態を表わすバス状態信号としてのBUSST142をバスステートマシン部150から受信する。
変換制御部130は、以上の入力信号の組み合わせから制御テーブル131にしたがって、アドレス変換の有無を表わすCONVEN113と、バッファ方向を指示するDIRECTION114とを生成する。さらに、方向切り替え検出回路143は、バッファ方向の切り替えとBUSST142の組み合わせから、バスをハイインピーダンス制御するか否かを決定するSUPPRESS115を生成する。
【0033】
すなわち、ローカルバスではリモートメモリアクセス、リモートI/Oアクセス、ローカルI/Oアクセスの三者が混在しているため、リモートメモリアクセスのみアドレス変換するためには、ローカルバスのバス状態を検出することや、ローカルバスに現れるバスコマンド、アドレスからリモートメモリアクセスを判別することが必要である。したがって、バス状態を検出する手段としての信号出力手段は、ローカルバスのバス状態を監視するバスステートマシン部を有することが重要である。
【0034】
さらに、部分変換手段の一方を構成する変換制御部130は、 バスステートマシン部150から出力されるバス状態信号と、 ローカルバスまたはシステムバスから出力される、アドレスあるいはバスコマンド(または、転送コマンド)とから、アドレスの一部分を変更するか否かを決定するための、 CONVEN113と、DIRECTION114と、SUPPRESS115とを変換部110に送信し、 他方を構成する変換部110に働きかけて、アドレスの一部分を変換すると言える。 換言すれば、変換部110及び変換制御部130からなる部分変換手段は、バス状態信号と、ローカルバスまたはシステムバスから出力されるアドレスあるいはローカルバスのバスコマンドとに基づいて、アドレスの一部分を変換するタイミングを決定するものであると言える。
【0035】
図4は、図1のアドレス変換回路における一実施例のバスステートマシン部を示す図である。図1に示したアドレス変換回路100内のバスステートマシン部150の内部構成を示している。図5は、図4のバスステートマシン部における一実施例の遷移条件を示す図である。
図4において、バスステートマシン部150は、CNT15からの入力を受け、バス状態を検出して、変換制御部130にBUSST142を通知するものである。
【0036】
本実施例のバスステートマシン部150の内部は、ステート監視部170とタイムアウト監視部171とからなる。 いずれの監視部(ステートマシン)も、バスクロックに同期して遷移し、各状態からの遷移条件が成立しない限り前回の状態を保持するものとする。図5に示したような遷移条件151〜160において、信号の上にバーがついているもの(例えば、LBUSGNT)は、信号がアサートされない状態(即ち、論理「負」の状態)にあることを示している。
【0037】
タイムアウト監視部171は、 バスアクセスが開始してから一定時間以内にターゲット装置(図示省略、後述するローカルバス上装置及びシステムバス上装置)からの応答(DEVSEL)15hが無い場合に、タイムアウトフェーズ(TO)をステート監視部170に通知する。 即ち、システムバス16またはローカルバス12のバスがアドレス出力フェーズ(ADRPH)のバス状態にあるときに、バスアクセス開始信号(FRAME)15dがアサートされてから4バスクロック以内に応答が無い場合には、タイムアウトフェーズ(TO)をステート監視部170に通知する。
【0038】
ステート監視部170は、 システムバス16またはローカルバス12のバス状態をCNT(バス制御信号)15a〜15gから検出する。システムバス16またはローカルバス12のバスは、最初アイドル(IDLE)にある。IDLEからいずれかのバス上装置がバス使用許可 (ローカルバス上装置に対する使用許可:LBUSGNT15c,システムバス上装置に対する使用許可:SBUSGNT15b) を得ると、アドレス出力フェーズ(ADRPH)にバス状態は遷移する。アドレス出力フェーズのバス状態からバスアクセス開始信号(FRAME)15dがアサートされると、バスコマンド(CMD)15aと、LBUSGNT15cかSBUSGNT15b (どちらかのバス上装置がバスマスタであるかを表わしている)とによって、状態は分岐する。いずれの状態からも、バス終了条件157が成立すると、IDLE状態に復帰する。そして、バス状態に応じて、IDLE,ADRPHがバス状態信号としてのBUSST142となって、変換制御部130に送信されるものである。
【0039】
図6は、図1のアドレス変換回路によるシステムバスからのライトアクセスを示すタイミングチャートである。本実施例によるアドレス変換のタイミングチャートとして、システムバス16上のシステムバス上装置からメモリ制御装置2へのライトアクセスを示している。ここで信号名の末尾に“_N”が付加されているものは、負論理の信号線である。
クロック1(CLOCK1)で、 システムバス上装置に対するバス使用許可(SBUSGNT_N)がアサートされ、クロック2で、システムバス上装置(バスマスタとなっている)のバス使用許可を認識し、 且つ、CMD,FRAME_N,ADを駆動する。尚、システムバスはSYSBUS、ローカルバスはLBUSと呼称する。
【0040】
ここで、アドレス変換回路100は、システムバス上装置がバスアクセスを開始したことを検出し、かつ、アドレス変換が必要と判定し、CONVEN113をアサートし、さらに、出力バッファの方向をS→L(S,LはそれぞれSYSBUS,LBUSの頭文字)へ切り替える。同時に、ADRPHのバス状態信号が、変換制御部130に送信される。
【0041】
その結果、ローカルバス12上のADには、 ライトアクセスのための「変換後AD」200が現れる。 メモリ制御装置2は、変換後AD200とCMD(W)を検出して、自身に対するライトアクセスと認識する。
その後のクロック3では、無変換のライトデータがローカルバス12上に現れる。この時、バス状態信号はADRPHの一部としてのSBMWとなっている。さらに、クロック5で、 アドレス変換回路100はバス終了条件が満たされたことを検出し、DIRECTION114を切り替えてL→Sとする。
【0042】
図7は、図1のアドレス変換回路によるシステムバスからのリードアクセスを示すタイミングチャートである。本実施例によるアドレス変換のタイミングチャートとして、システムバス上装置からメモリ制御装置2へのリードアクセスを示している。クロック2までは、図6のライトアクセスの場合と同様に、ローカルバス12上のADには、 リードアクセスのための「変換後AD」210が出力され、メモリ制御装置2が自身に対するアクセスと認識する。
【0043】
クロック3において、リードアクセスではアドレスとリードデータの出力装置が異なるため、 バッファの出力方向DIRECTION114が切り替わる。さらに、バッファの切り替え緩衝時間を保証するために、 SUPPRESS115もアサートされる。その後、クロック4のタイミングでリードデータが出力され、アドレス変換回路100はバス終了条件が満たされたことを検出する。
以上の図1〜図7の説明内容から、本発明によるアドレス変換回路の別の特徴は、アドレス一部分変換手段としてのアドレス変換回路100が、 ローカルバスまたはシステムバスからアドレスが出力される同一バスクロック内に、アドレスの一部分を変換してローカルバスに出力するものであると言える。
【0044】
また、アドレス変換回路100は、システムバス16からの特定アドレス・特定バスコマンドによるアクセスをリモートメモリアクセスと判定し、アドレスを変換してローカルバス12に出力するため、システムバス上装置(バスマスタ)あるいは他プロセッサモジュールのバス上装置(バスマスタ)は、直接リモートメモリを参照できるようになっている。
【0045】
さらに、アドレス変換回路100により、 全てのローカルバス上で同一となるような、リモートメモリアドレスに変換することも可能となり、例えば、全てのリモートメモリ上のアドレス0番地のデータを相互に参照する( すなわち、前述の先頭0x0番地の値を読む)ことも可能となる。すなわち、排他的なアドレス空間を有効に利用できることに繋がり、柔軟性に優れたアクセスが可能である。
従って、図1に示す実施例のアドレス変換回路を用いれば、アクセスに柔軟性があり、かつ、回路規模の小さいマルチプロセッサシステムが提供される。
【0046】
次に、他の実施例のアドレス変換回路について説明する。
図8は、本発明による他の実施例のアドレス変換回路を示す図である。即ち、疎結合マルチプロセッサシステムにおけるアドレス変換回路の他の構成例を示している。
本実施例のマルチプロセッサシステムの図1の実施例との違いは、メモリ制御装置2’とアドレス変換回路100’とにある。 そして、本実施例のアドレス変換回路100’は、変換制御部130’とバスステートマシン部150とから構成される。 本アドレス変換回路100’は、図1に示すアドレス変換回路100と比べて、変換部110がなくなり、変換制御部130’から装置選択のためのCS信号180(即ち、装置選択信号)が出力されている点が異なる。また、メモリ制御装置2’は、CS方式のメモリ制御装置である。
【0047】
CS信号180としては、変換制御部130’から出力されるCONVEN113が利用される。図1の実施例のDIRECTION114およびSUPPRESS115は用いなくても可である。 そして、CS信号180は、図1の実施例と同様に、特定アドレス・特定バスコマンドに対するシステムバスからのアクセスに対して、 メモリ制御装置2’を選択する。 そして、本実施例のアドレス変換回路を用いれば、前述のアドレスの一部分を変換する場合の効果は得られないが、マルチプロセッサシステムの回路規模を小さくし該システムを簡便なものにするに有効である。
【0048】
すなわち、本発明によるアドレス変換回路の他の特徴は、プロセッサとメモリ制御装置と主記憶を含む複数のプロセッサモジュールの相互が接続されるシステムバスを介して、他のプロセッサモジュールに含まれる主記憶の参照を行うマルチプロセッサシステムに用いられるアドレス変換回路において、システムバスまたはローカルバスのバス状態を検出してバス状態信号を出力する手段と、該バス状態信号に基づいてメモリ制御装置を選択するための装置選択信号を出力する手段とを設けることにある。
【0049】
換言すれば、本発明によるアドレス変換回路は、システムバスまたはローカルバスのバス状態を検出してバス状態信号を出力する手段としてのバスステートマシン部150と、 該バス状態信号に基づきプロセッサモジュール内のCS方式のメモリ制御装置を作動させるCS信号180を出力する手段としての変換制御部130’とを有するにあると言える。また、本発明によるマルチプロセッサシステムは、プロセッサとメモリ制御装置と主記憶とローカルバスとを含み構成された複数個のプロセッサモジュールの相互に接続されたシステムバスを介して、他のプロセッサモジュールに含まれた主記憶のメモリ参照を実行するに当たり、システムバスまたはローカルバスのバス状態を検出してバス状態信号を出力する手段と、該バス状態信号に基づいてメモリ制御装置を選択する装置選択信号を出力する手段とを有するものと言える。
【0050】
そして、図1の実施例のアドレス変換回路と同様に、バス状態を検出してバス状態信号を出力する手段としてのバスステートマシン部150は、 ローカルバスの状態を監視することが望ましいと言える。さらに、装置選択信号を出力する手段としての変換制御部130’は、 バスステートマシン部150から出力されるバス状態信号と、 ローカルバスまたはシステムバスから出力される「アドレス」または「バスコマンド(転送コマンド)」とから、CS信号180を出力するか否かを決定するものが望ましいと言える。
【0051】
上記いずれの実施例でも、バスブリッジ5をシステムバス16とローカルバス12の間に介在させた例を取り上げたが、バスブリッジ5は存在しなくても可であり、システムバス16とローカルバス12とが直接接続されていても、本発明によるアドレス変換回路は全く変更なく適用することができる。しかし、バスブリッジ5があれば、バスブリッジ5をネットワーク装置で置換して本アドレス変換回路を使用することにより、ネットワークで結合されたプロセッサモジュール間でも主記憶の相互参照が可能となる。
【0052】
尚、上記実施例におけるレジスタ111,132,134,136,138は、 変更の必要が無い場合にはハード的に固定してもよい。また、上記実施例では、アドレス・データ多重のマルチプレクスバスであったが、アドレス・データがそれぞれ独立した構成のバスシステムでも本発明の適用は可である。独立した構成の場合は、双方向バッファの切り替え制御を簡略化できることより変換制御部130は、 より簡便にすることが可能である。さらに、本発明によるアドレス変換回路は、バスブリッジの内部に予め組み込んでも良く、内部組込の場合であれば、入出力バッファ回路・ピン等のハード的物量が削減できるという利点がある。
【0053】
【発明の効果】
以上のように、本発明によれば、マルチプロセッサシステムにおいて、特定アドレス・特定バスコマンドの場合に、リモートメモリアクセスを可能とし、同一構成をとるプロセッサモジュール間で相互のメモリを直接参照できる、拡張性に優れ、回路規模の小さいアドレス変換回路を実現できる効果がある。
【図面の簡単な説明】
【図1】本発明による一実施例のアドレス変換回路を示す図である。
【図2】図1のアドレス変換回路における一実施例の変換部を示す図である。
【図3】図1のアドレス変換回路における一実施例の変換制御部を示す図である。
【図4】図1のアドレス変換回路における一実施例のバスステートマシン部を示す図である。
【図5】図4のバスステートマシン部における一実施例の遷移条件を示す図である。
【図6】図1のアドレス変換回路によるシステムバスからのライトアクセスを示すタイミングチャートである。
【図7】図1のアドレス変換回路によるシステムバスからのリードアクセスを示すタイミングチャートである。
【図8】本発明による他の実施例のアドレス変換回路を示す図である。
【符号の説明】
1…プロセッサ、2,2’…メモリ制御装置、3…主記憶、4…I/O装置、5…バスブリッジ、10…プロセッサバス、11…メモリバス、12…ローカルバス、14…アドレス・データ(AD)、14a,14b…AD信号、15…バス制御信号(CNT)、16…システムバス、 100,100’…アドレス変換回路、110…変換部、130,130’…変換制御部、150…バスステートマシン部、170…ステート監視部、171…タイムアウト監視部
180…CS信号
Claims (5)
- プロセッサと主記憶とローカルバスとを含み、
接続したシステムバスを介した、
自プロセッサモジュールに含まれる主記憶への他プロセッサモジュールからのメモリ参照に用いられるアドレス変換回路を備えたプロセッサモジュールにおいて、
前記システムバスと前記ローカルバスとの間に、前記ローカルバスおよびシステムバスのバス状態を検出するバスステートマシン部と、前記システムバスのアドレスデータが前記主記憶に対するアクセスかの判定を行い、前記主記憶に対するアクセスであるとき、かつ前記ローカルバスおよびシステムバスのバス状態がアドレス出力フェーズにあるときに合わせて変換タイミングを決定し、アドレス変換制御信号を生成する変換制御部と、および該アドレス変換制御信号が入力されたとき、前記システムバスから出力されるNビット幅のデータからアドレスデータの一部nビット(ただしn<N)を取り込み、前記アドレスデータの一部を変換して変換されたアドレスを前記ローカルバスに出力するアドレス変換部と、を有するアドレス変換回路を備え、変換されたアドレスで前記主記憶にアクセスするアドレスメモリ制御装置を備えることを特徴とするプロセッサモジュール。 - 請求項1において、前記変換制御部は前記システムバスのアドレスデータが前記主記憶に対するアクセスかの判定を行い、前記主記憶に対するアクセスであるとき、かつ前記ローカルバスおよびシステムバスのバス状態がアドレス出力フェーズにあるときに合わせて変換タイミングを決定し、アドレス変換制御信号を生成し、前記アドレス変換部は、該アドレス変換制御信号が入力されたとき、前記システムバスから出力されるNビット幅のデータからアドレスデータの一部nビット(ただしn<N)を取り込み、前記アドレスデータの一部を変換して変換されたアドレスを前記ローカルバスに出力し、前記アドレスメモリ制御装置は、変換されたアドレスで前記主記憶にアクセスすることを特徴とするプロセッサモジュール。
- 請求項2において、前記アドレス変換部は双方向の入出力バッファを備え、前記変換制御部は、方向切り換え手段を有して入出力バッファ方向指示信号を出力し、前記入出力バッファは該入出力バッファ方向指示信号によって切り換えられることを特徴とするプロセッサモジュール。
- 請求項1において、前記アドレス変換部で変換されたアドレスは、レジスタに登録された値であることを特徴とするプロセッサモジュール。
- 請求項1において、前記バスステートマシン部はステート監視部とタイムアウト監視部を備え、前記ステート監視部はローカルバスおよびシステムバスのバス状態を検出し、前記タイムアウト監視部はアドレス出力フェーズのバスアクセス開始信号がアサートされてから所定時間内に前記ローカルバスあるいはシステムバスからの応答がない場合には、タイムアウトフェーズを前記ステート監視部に通知することを特徴とするプロセッサモジュール。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP27056796A JP3620173B2 (ja) | 1996-10-14 | 1996-10-14 | アドレス変換回路及びマルチプロセッサシステム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP27056796A JP3620173B2 (ja) | 1996-10-14 | 1996-10-14 | アドレス変換回路及びマルチプロセッサシステム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH10116225A JPH10116225A (ja) | 1998-05-06 |
JP3620173B2 true JP3620173B2 (ja) | 2005-02-16 |
Family
ID=17487963
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP27056796A Expired - Lifetime JP3620173B2 (ja) | 1996-10-14 | 1996-10-14 | アドレス変換回路及びマルチプロセッサシステム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3620173B2 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9280466B2 (en) | 2008-09-09 | 2016-03-08 | Kabushiki Kaisha Toshiba | Information processing device including memory management device managing access from processor to memory and memory management method |
JP2011186554A (ja) * | 2010-03-04 | 2011-09-22 | Toshiba Corp | メモリ管理装置及び方法 |
JP5590022B2 (ja) | 2011-12-28 | 2014-09-17 | 富士通株式会社 | 情報処理装置、制御方法および制御プログラム |
JP5800058B2 (ja) * | 2014-05-26 | 2015-10-28 | 富士通株式会社 | 情報処理装置、制御方法および制御プログラム |
-
1996
- 1996-10-14 JP JP27056796A patent/JP3620173B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH10116225A (ja) | 1998-05-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4933838A (en) | Segmentable parallel bus for multiprocessor computer systems | |
US6189062B1 (en) | Apparatus and method for address translation in bus bridge devices | |
US5550989A (en) | Bridge circuit that can eliminate invalid data during information transfer between buses of different bitwidths | |
JPS6035696B2 (ja) | デ−タ処理装置における母線制御装置 | |
US4896256A (en) | Linking interface system using plural controllable bidirectional bus ports for intercommunication amoung split-bus intracommunication subsystems | |
EP0780774B1 (en) | Logical address bus architecture for multiple processor systems | |
US5506995A (en) | Bus master for selectively disconnecting/connecting a first bus to and from a second bus in response to an acquisition request | |
US5933613A (en) | Computer system and inter-bus control circuit | |
JP3620173B2 (ja) | アドレス変換回路及びマルチプロセッサシステム | |
US6560664B1 (en) | Method and apparatus for translation lookaside buffers to access a common hardware page walker | |
US6269102B1 (en) | Bus control device | |
US20040054843A1 (en) | Configuration and method having a first device and a second device connected to the first device through a cross bar | |
US4969089A (en) | Method of operating a computer system and a multiprocessor system employing such method | |
US5440754A (en) | Work station and method for transferring data between an external bus and a memory unit | |
JP3698324B2 (ja) | 直接メモリアクセス制御器およびデータチャンネルへのインターフェース装置を備えたワークステーション | |
EP0473453B1 (en) | Work station having a selectable CPU | |
JP4928683B2 (ja) | データ処理装置 | |
US20020174282A1 (en) | Multiprocessor system | |
KR920010977B1 (ko) | 개선된 성능의 메모리 버스 아키텍쳐(memory bus architecture) | |
JP2000148664A (ja) | Pci機能拡張制御装置、及びpci機能拡張制御方法 | |
JP3328246B2 (ja) | Dma転送方法およびそのシステム | |
JPH09223103A (ja) | 情報処理システム | |
JP3466728B2 (ja) | 情報処理システム及びその方法 | |
JPH0561812A (ja) | 情報処理システム | |
JP2001022710A (ja) | 複数のバス制御装置を有するシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20040803 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040930 |
|
A911 | Transfer of reconsideration by examiner before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20041005 |
|
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: 20041026 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20041108 |
|
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: 20071126 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081126 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091126 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101126 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101126 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111126 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111126 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121126 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121126 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131126 Year of fee payment: 9 |
|
EXPY | Cancellation because of completion of term |