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

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

Info

Publication number
JP2845754B2
JP2845754B2 JP6148237A JP14823794A JP2845754B2 JP 2845754 B2 JP2845754 B2 JP 2845754B2 JP 6148237 A JP6148237 A JP 6148237A JP 14823794 A JP14823794 A JP 14823794A JP 2845754 B2 JP2845754 B2 JP 2845754B2
Authority
JP
Japan
Prior art keywords
address
invalidation
arithmetic processing
address translation
translation buffer
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
Application number
JP6148237A
Other languages
English (en)
Other versions
JPH0816477A (ja
Inventor
一 福澤
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.)
NEC Computertechno Ltd
Original Assignee
NEC Computertechno Ltd
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 NEC Computertechno Ltd filed Critical NEC Computertechno Ltd
Priority to JP6148237A priority Critical patent/JP2845754B2/ja
Publication of JPH0816477A publication Critical patent/JPH0816477A/ja
Application granted granted Critical
Publication of JP2845754B2 publication Critical patent/JP2845754B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/68Details of translation look-aside buffer [TLB]
    • G06F2212/682Multiprocessor TLB consistency

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、マルチプロセッサシス
テムに係わり、特にマルチプロセッサ間のアドレス変換
バッファの同期制御に関する。
【0002】
【従来の技術】最近のコンピュータシステムでは、仮想
記憶方式を採用している。この場合、ログラム上の論
理アドレスを実際のメモリ上の実アドレスに変換するた
めにアドレス変換テーブルが作成される。このアドレス
変換テーブルはメモリ上に置かれる。そのために、命令
を解読し、実行を行う演算処理装置(またはプロセッ
サ,以下、EPUと称す)はメモリをアクセスする度毎
に、論理アドレスから実アドレスへの変換を行うため
に、メモリ上のアドレス変換テーブルを参照しなければ
ならない。この時のオーバーヘッドを削減するために、
一度アドレス変換を実施した結果を利用し、論理アドレ
スから実アドレスへの変換対を複数個保持するアドレス
変換バッファ(以下、TLBと称す)をEPU内に設
け、アドレス変換の高速化を行うのが一般的である。
【0003】近年、このようなEPUを複数台使用し
て、密結合マルチプロセッサシステムを構成し、システ
ムの性能を向上させる技術が極めて重要になってきてい
る。この場合に、克服しなければならない技術課題の一
つに、複数のEPU間のTLB内容の一致保証の問題が
ある。例えば、あるEPUが必要としているページ(ア
ドレス空間をある大きさの単位で分割したときのデータ
の大きさの単位。アドレス変換はこのベージ単位で実行
される。)がメモリ上に存在しないことを検出すると、
このEPUはページフォルトをOSに通知する。OSは
メモリ上から不要のページを選択し、この不要のページ
とディスクなどの外部記憶装置上に存在する上記のEP
Uが必要としているページとの入れ換え処理を行う。
【0004】この時、新たにメモリ上に割り付けられた
ページには、外部記憶装置上に追い出されたページの以
前の実アドレスが割り付けられるとともに、EPUは新
しいページの論理アドレスと実アドレスとの対応が取れ
るようにアドレス変換テーブルの内容を書き換える。こ
の時、外部記憶装置に追い出された古いページに対応す
るアドレス変換対を登録しているTLBがあれば、この
古いアドレス変換対を無効化し、全TLBの内容を一致
させるための同期制御が必要になる。
【0005】具体的には、上記のEPUは、自EPU内
のTLBおよび、他のEPU内のTLBに無効化すべき
ページの論理アドレスを送出し、この論理アドレスによ
って全TLBを検索して、無効化すべきアドレス変換対
が検出された時には、このアドレス変換対を消去する。
このアドレス変換対の無効化処理はTLB同期クリア命
令として実行される。
【0006】従来のマルチプロセッサにおけるTLBの
同期無効化処理の主要部をブロック図で示した図4を参
照すると、このマルチプロセッサシステムは、4台のE
PU1、2、3および4と、2台のシステム制御装置
(以下、SCUと称す)5bよび6bを備えている。説
明に必要のないメモリなどは省略している。
【0007】各々のEPU1、2、3および4内には、
それぞれTLB11、21、31および41が設けられ
ている。EPU1および2はバス70を介してSCU5
bに接続され、EPU3および4はバス71を介してS
CU6bに接続されている。SCU5bとSCU6b
は、バス72を介して互いに接続され、バス70、71
および72は、制御線、アドレス線およびデータ線から
構成されている。
【0008】さらに、SCU5bはセレクタ51、レジ
スタ52、駆動バッファ56〜59および制御回路55
を有し、バス70は駆動バッファ57に接続され、駆動
バッファ57の出力端はセレクタ51の一方の入力端お
よび制御回路55にそれぞれ接続される。セレクタ51
の出力端はレジスタ52に接続され、その出力端は駆動
バッファ56および58にそれぞれ接続され、かつこれ
らの出力端はデータバス70および72にそれぞれ接続
される。
【0009】一方駆動バッファ59の入力端はデータバ
ス72に接続されその出力端はセレクタ51および制御
回路55のそれぞれ他方の入力端に接続される。制御回
路55の一方の出力端は駆動バッファ56の他方の入力
端に、制御回路55の他方の出力端は駆動バッファ58
の他方の入力端にそれぞれ接続されて構成されている。
【0010】SCU6bはSCU5bと同一構成であり
構成要素の符号の51と61、52と62、53と6
3、54と64、56と66、57と67および58と
68がそれぞれ対応する。
【0011】EPU2がTLB同期クリア命令を実行す
る場合を説明する。TLB同期クリア命令では、無効化
すべきTLBの論理アドレスが指定される。EPU2が
TLB同期クリア命令を解読すると、指定されたTLB
無効化論理アドレスに従って、TLB21から無効化す
べきアドレス変換対を消去する。同時にEPU2は、T
LB無効化要求とTLB無効化論理アドレスをバス70
の制御線とアドレス線を使用してSCU5bに送出す
る。TLB無効化要求は駆動バッファ57を介して制御
回路55に通知され、TLB無効化論理アドレスは、セ
レクタ51を通してレジスタ52にセットされる。
【0012】制御回路55は、バス72の制御線とアド
レス線を使用して、TLB無効化要求とTLB無効化論
理アドレスをSCU6bに送出する。TLB無効化要求
は制御回路65に通知され、TLB無効化論理アドレス
は、セレクタ61を通してレジスタ62にセットされ
る。
【0013】次に制御回路55および65はバス70お
よびバス71の制御線とアドレス線を使用して、TLB
無効化要求とTLB無効化論理アドレスをEPU1、3
および4に送出する。TLB無効化要求を受け取ったE
PU1、3および4は、それぞれのTLB11、31お
よび41からTLB無効化論理アドレスに従って、無効
化すべきアドレス変換対を消去する。
【0014】この一連の処理により、各EPU1、2、
3および4の中のTLB11、21、31および41か
ら無効化すべき変換対が消去され、TLB11、21、
31および41の内容の一致が取られる。この無効化処
理が終了すると、EPU1はバス70の制御線を使用し
て、TLB無効化処理が終了したことをSCU5bに通
知し、EPU3および4はバス71の制御線を使用し
て、TLB無効化処理が終了したことをSCU6bに通
知する。
【0015】SCU6bに通知されたTLB無効化処理
の終了信号は専用配線74を通してSCU5bに通知さ
れる。SCU5bは、各々のTLB無効化処理の終了信
号をバス70の制御線を通してEPU2に通知する。E
PU2はEPU1、3および4からのTLB無効化処理
の終了信号を全て受け取ると、このTLB同期クリア命
令が終了したと判断して、新たな命令の処理を開始す
る。
【0016】EPU3または4がTLB同期クリア命令
を実行する場合も同様な手順で実行され、その場合のT
LB無効化処理の終了信号は専用配線74を通してSC
U5bに通知する。
【0017】また、従来のアドレス変換制御の他の例が
特開平4−352047号公報に記載されている。同公
報記載のアドレス変換制御は、あるマイクロプロセッサ
がアドレス変換テーブルの論理ページに対応する内容を
書き換えた場合に、アドレス変換無効化命令により自ア
ドレス変換バッファの無効化と同時に、他の全てのマイ
クロプロセッサ内のアドレス変換バッファの無効化も行
なうことが出来るように構成されている。そのため、無
効化命令で指定された論理アドレスをマイクロプロセッ
サチップ外部に出力し、他のマイクロプロセッサにその
論理アドレスを入力し、その論理アドレスに対応する変
換対をアドレス変換バッファから消去させるようにした
ものである。
【0018】
【発明が解決しようとする課題】以上説明した従来のマ
ルチプロセサシステムでは、あるEPUがメモリ上のア
ドレス変換テーブルを書き換えて、TLB同期クリア命
令を実行するときに、全EPUにTLB無効化論理アド
レスを送出し、全EPUでTLBの無効化処理を等しく
実行しなければならなかった。また、TLB同期クリア
命令を実行するEPUは、他の全てのEPUのTLB無
効化処理の終了を確認した後でなければ新たな命令の実
行が開始できなかった。
【0019】一方、現実的には、各々のEPUは固有の
アドレス空間を割り当てられていることが多く、実際に
TLB同期クリア命令で無効果すべきアドレス変換対を
保持しているTLBの数は非常に少ない。また複数のE
PUによって共有されるアドレス空間はメモリ上に常駐
されるように制御されることが多く、TLB同期クリア
命令によるTLBの無効化処理自体が非常に少ない。
【0020】しかるに、従来のマルチプロセッサシステ
ムでは、TLB同期クリア命令を実行する毎に、実際に
はTLBのアドレス変換対の無効化の処理の必要のない
大半のEPUを含めて、全てのEPUで等しくTLBの
アドレス変換対の無効化処理によるオーバーヘッドの性
能低下が生じるという問題点があった。しかも、TLB
同期クリア命令を実行しているEPUは、他の全てのE
PUからのTLB無効化処理の終了を待たねばならず、
例えば一台のEPUでも、実行時間の非常に長い命令を
実行中のために、このTLB無効化処理が保留された場
合には、性能低下が著しくなるという問題点があった。
【0021】ところで、このTLB同期クリア命令の実
行は一つのEPUに一つのアドレス空間が割り当てられ
た時に必然的に生じる問題で、EPUの台数の増加に比
例して、このTLB同期クリア命令の出現数も比例して
増加する。従って、従来のマルチプロセッサシステムで
は、EPUの台数を増加させてシステムの性能を向上さ
せようとする場合に、上述したTLB同期クリア命令の
オーバーヘッドによるシステムの性能が低下するという
問題が極めて重大になっていた。
【0022】本発明の目的は上述した問題点に鑑みなさ
れたものであり、マルチプロセッサシステムの各EPU
間におけるTLBの一致処理の高速化を実現することに
ある。
【0023】
【課題を解決するための手段】本発明のマルチプロセッ
サシステムは、演算処理装置が論理アドレスおよび実ア
ドレスのアドレス変換対を複数個含んだアドレス変換バ
ッファを有し、この演算処理装置を複数個備え、無効
すべき前記アドレス変換対が検出されたときにアドレス
変換バッファ同期クリア命令を実行してこのアドレス変
換対を消去するマルチプロセッサシステムにおいて、前
記アドレス変換バッファのそれぞれの内容の論理アドレ
スのうち、ページ内アドレスと上位ビットのキーアドレ
ス部および下位ビットのアドレス指定部のうち前記上位
ビットのキーアドレスのみの写しが転送されて記憶され
る複数の記憶手段と、前記複数の演算処理装置のうちの
所定の演算処理装置が前記アドレス変換バッファ同期ク
リア命令を実行して複数の前記アドレス変換バッファの
無効化処理を実行する場合に、前記アドレス変換バッフ
ァの無効化論理アドレスのうちの前記アドレス指定部に
よって前記複数の記憶手段の前記キーアドレス内容を検
索する手段とを有するシステム制御装置を備え、このキ
ーアドレス検索結果に従い前記複数の記憶手段のうちの
いずれかに前記アドレス変換バッファの前記無効化論理
アドレスが登録されているかを検出するとともに、この
検出結果に従い前記記憶手段の前記キーアドレス内容
対応する前記複数の演算処理装置に対して、前記無効化
論理アドレスによるアドレス変換バッファ無効化要求を
送出することを特徴とする。また、前記システム制御装
置は、前記複数の演算処理装置のうちあらかじめ定めら
れた複数の演算処理装置に接続される複数のシステム制
御装置であって、それぞれのシステム制御装置は接続さ
れている前記複数の演算処理装置のいずれか1つが前記
アドレス変換同期クリア命令を実行して前記アドレス変
換バッファの無効化処理を実行する際に、この演算処理
装置が送出する前記無効化論理アドレスを保持する第1
の保持手段と、この保持された前記無効化論理アドレス
を基に前記複数の記憶手段の前記キーアドレス内容を検
索する手段と、この検索結果に従って前記複数の記憶手
段にそれぞれ対応した前記演算処理装置に対して前記ア
ドレス変換バッファ無効化要求を送出する第1の送出手
段と、前記他のシステム制御装置に前記アドレス変換バ
ッファ無効化要求を送出する第2の送出手段と、 前記他
のシステム制御装置から送出された前記無効化論理アド
レスを保持する第2の保持手段と、この保持された前記
無効化論理アドレスによって前記複数の記憶手段の前記
キーアドレス内容を検索する手段と、この検索結果に従
って前記演算処理装置に前記他のシステム制御装置から
送出された前記アドレス変換バッファ無効化要求を送出
する第3の送出手段と、これらの前記第1および前記第
2の保持手段と前記第1、前記第2および前記第3の送
出手段の動作を制御する制御回路とを有してなる。さら
に、新な前記アドレス変換対の登録時と前記無効化論理
アドレスの索引時とにおいて前記第1および前記第2の
保持手段と前記第1、前記第2および前記第3の送出手
段とがそれぞれ同一のレジスタおよびこのレジスタに前
置されるセレクタを用いることによってそれぞれの処理
が実行される。さらにまた、前記あらかじめ定められた
複数の演算処理装置が接続される複数の前記システム制
御装置のそれぞれが、前記アドレス変換バッファの無効
化論理アドレスによって前記複数の記憶手段の前記キー
アドレス内容を検索した結果前記無効化論理アドレスが
登録されていないことを検出し、前記記憶手段の前記キ
ーアドレス内容に対応した前記アドレス変換バッファを
有する前記演算処理装置に対しては前記無効化論理アド
レスによるアドレス変換バッファ無効化要求の送出を抑
止し、かつ前記演算処理装置に対するアドレス変換バッ
ファの無効化処理が終了したことを前記アドレス変換バ
ッファ同期クリア命令を実行している前記所定の演算処
理装置に通知する手段とを備える。また、前記あらかじ
め定められた複数の演算処理装置が接続される複数の前
記システム制御装置のそれぞれが、前記他のシステム制
御装置から受け付けた前記アドレス変換バッファの無効
化論理アドレスによって前記複数の記憶手段の前記キー
アドレス内容を検索した結果、前記無効化論理アドレス
が登録されていないことが検出された場合は、前記複数
の記憶手段の前記キーアドレス内容に対応するアドレス
変換バッファの無効化処理の終了を前記他のシステム制
御装置に通知する手段と、前記他のシステム制御装置か
ら前記無効化処理の終了を受け付けた場合に、この終了
通知を前記アドレス変換バッファ同期クリア命令を実行
している前記所定の演算処理装置に通知する手段とを備
える
【0024】また、前記複数の記憶手段が、それぞれ対
応する前記アドレス変換バッファの論理アドレス部のみ
を保持するように構成されてもよい。
【0025】さらに、前記複数の演算処理装置に接続さ
れるシステム制御装置を有し、このシステム制御装置は
前記複数の演算処理装置がそれぞれ有する前記アドレス
変換バッファに対応した複数の前記記憶手段を備えても
よい。
【0026】さらにまた、前記複数の演算処理装置のう
ちあらかじめ定められた複数の演算処理装置に接続され
る複数の前記システム制御装置それぞれが前記複数の記
憶手段を有し、かつ接続されている前記複数の演算処理
装置のいずれか1つが前記アドレス変換同期クリア命令
を実行して前記アドレス変換バッファの無効化処理を実
行する際に、この演算処理装置が送出する前記無効化論
理アドレスを保持する第1の保持手段と、この保持され
た前記無効化論理アドレスを基に前記複数の記憶手段の
内容を検索する手段と、この検索結果に従って前記複数
の記憶手段にそれぞれ対応した前記演算処理装置に対し
て前記アドレス変換バッファ無効化要求を送出する前記
第1の送出手段と、他の前記システム制御装置に前記ア
ドレス変換バッファ無効化要求を送出する第2の送出手
段と、他の前記システム制御装置から送出された前記無
効化論理アドレスを保持する第2の保持手段と、この保
持された前記無効化論理アドレスによって前記複数の記
憶手段の内容を検索する手段と、この検索結果に従って
前記演算処理装置に前記他のシステム制御装置から送出
された前記アドレス変換バッファ無効化要求を送出する
第3の送出手段とを有することができる。
【0027】また、前記あからじめ定められた複数の演
算処理装置が接続される複数の前記システム制御装置の
それぞれが、前記演算処理装置および前記他のシステム
制御装置からそれぞれ発生する前記アドレス変換バッフ
ァ無効化要求に対して、前記無効化論理アドレスを保持
する前記第1の保持手段と前記複数の記憶手段の内容を
検索する手段と前記複数の演算処理装置に前記アドレス
変換バッファ無効化要求を送出する前記第1の送出手段
とを、新な前記アドレス変換対の登録時と前記無効化論
理アドレスの索引時とで共用するように構成することも
できる。
【0028】さらに、前記あらかじめ定められた複数の
演算処理装置が接続される複数の前記システム制御装置
のそれぞれが、前記アドレス変換バッファの無効化論理
アドレスによって前記複数の記憶手段を検索した結果、
前記無効化論理アドレスが登録されていないことを検出
し、前記記憶手段に対応した前記アドレス変換バッファ
を有する前記演算処理装置に対しては前記無効化論理ア
ドレスによるアドレス変換バッファ無効化要求の送出を
抑止し、かつ前記演算処理装置に対するアドレス変換バ
ッファの無効化処理が終了したことを前記アドレス変換
バッファ同期クリア命令を実行している前記所定の演算
処理装置に通知する手段を備えてもよい。
【0029】さらにまた、前記あらかじめ定められた複
数の演算処理装置が接続される複数の前記システム制御
装置のそれぞれが、他の前記システム制御装置から受け
付けた前記アドレス変換バッファの無効化論理アドレス
によって前記複数の記憶手段を検索した結果、前記無効
化論理アドレスが登録されていないことが検出された場
合は、前記複数の記憶手段に対応するアドレス変換バッ
ファの無効化処理の終了を前記他のシステム制御装置に
通知する手段と、他の前記システム制御装置から前記無
効化処理の終了を受け付けた場合に、この終了通知を前
記アドレス変換バッファ同期クリア命令を実行している
前記所定の演算処理装置に通知する手段を備えることも
できる。
【0030】
【実施例】次に本発明について図面を参照して説明す
る。図1は本発明の一実施例のマルチプロセサシステム
のブロック図である。図1において、従来の技術のマル
チプロセッサシステムを示した図4の構成要素と同一の
構成要素とは同一符号を付してある。本実施例のマルチ
プロセッサシステムは4台のEPU1、2、3および4
と、2台のSCU5aおよび6aから構成される4EP
Uマルチプロセッサシステムであり、本発明と直接関係
のないメモリなどは省略している。
【0031】再び図1を参照すると、EPU1および2
はバス70を介してSCU5aに接続され、EPU3お
よび4はバス71を介してSCU6aに接続されてい
る。SCU5aとSCU6aは、バス72を介して互い
に接続され、かつ双方間の特殊な制御は専用配線73お
おび74で行なう。
【0032】71および72はいずれも制御線、アドレ
ス線およびデータ線から構成されている。EPU1、
2、3および4はそれぞれTLB11、21、31およ
び41を有している。各々のTLB11、21、31お
よび41はKey部とData部からなり、Key部に
は、メモリアクセスで使用された論理アドレスが登録さ
れ、Data部には、そのKey部に登録される論理ア
ドレスをアドレス変換を実行して得られた実アドレスが
Key部の論理アドレスと対応する位置に登録される。
【0033】各々のTLB11、21、31および41
はこのようなアドレス変換対を複数個保持している。T
LBの構成は一般的に知られているものであり、フル・
アソシアティブ構成であっても、セット・アソシアティ
ブ構成であっても構わない。
【0034】TLBがフル・アソシアティブ構成の場合
は、Key部には、アドレス変換に必要なのいページ内
アドレスを除いた論理アドレスの全ビットが登録され
る。また、アドレス変換対はTLBの全てのエントリの
任意の場所に登録可能である。
【0035】一方、TLBがセット・アソシアティブ構
成の一般的な例を示した図2を参照すると、上位ビット
のKeyアドレス部206と下位ビットのアドレス指定
部207とを有する論理アドレス部およびその対応する
ページのページ内アドレス208からなる論理アドレス
201と、メモリアクセスで使用したkeyアドレス部
206を一次記憶するレジスタ209とこのアドレスに
記憶される論理アドレスをアドレス変換して得られた実
アドレスが、レジスタ209内の論理アドレスに対応し
た位置に記憶されるレジスタ210とからなる書き込み
用レスレジスタ202と、論理アドレス201のアドレ
ス指定部207で指定される番地に対応してレジスタ2
09のアドレスが格納されるkeyアドレス211およ
びレジスタ210の実アドレスのデータが格納される実
アドレス部212からなるTLB203と、Keyアド
レス211の内容とkeyアドレス部206の内容とを
比較する比較器204とを有し、論理アドレス201に
対応する実アドレス205は、上位ビットにTLB20
3の実アドレス部212が登録される実アドレス部21
3と論理アドレス201のページ内アドレス208が登
録されるページ内アドレス214とからなる。
【0036】すなわち、アドレス変換対の登録場所は、
プログラム上で指定された論理アドレス201からベー
ジ内アドレス208とkeyアドレス部206を除いた
アドレス指定部207の複数の固定ビットによって指定
される。このアドレス指定部207はTLB203のア
ドレス登録数を指定可能なビット数が用意されている。
【0037】TLB203のkeyアドレス211に
は、論理アドレス201からベージ内アドレス208お
よびアドレス指定部207を除いたkeyアドレス部2
06が登録される。また、アドレス指定部207は一般
的にページ内アドレス208を除いた論理アドレス20
1内の下位部分のアドレスが使用される。アドレス変換
対の登録は図示されていない制御回路により制御される
が、その制御のタイミングは比較器204の比較結果を
トリガとしている。本実施例では、このセット・アソシ
アティブ構成のTLBが採用されているとして説明を行
う。
【0038】次にSCU5aおよび6aの内部の構成に
ついて説明する。セレクタ51は、バス70およびバス
72を通して送られてくるデータの一方をセレクトし、
レジスタ52にセットする。セレクタ61は、バス71
およびバス72を通して送られてくるデータの一方をセ
レクトし、レジスタ62にセットする。レジスタ52お
よび62にセットされるデータは、バス70、71およ
び72のアドレス線を通して送られてくるアドレスデー
タである。バス70、71および72のアドレス線を通
して送られてくるデータは、メモリのストアなどで使用
されるデータであり、本発明とは直接関係しないため、
今後の説明では省略する。
【0039】レジスタ52および62にセットされたア
ドレスデータのうち下位部分は、コピーTLB(以下、
CTLBと称す)53a、53b、63aおよび63b
に供給されて、CTLBそれぞれのアドレス指定部とし
て使用される。残りのアドレスデータの上位部分は、C
TLB53a、53b、63aおよび63bのkey部
の内容と比較するために比較器54a、54b、64a
および64bに供給される。
【0040】CTLB53a、53b、63aおよび6
3bは、TLB11、21、31および41の内容の写
しをそれぞれ保持するメモリである。CTLB53a、
53b、63aおよび63bはTLB11、21、31
および41の内容のうち、Key部の内容のみを保持す
るように構成されており、ハードウェア量の削減を図っ
ている。CTLB53a、53b、63aおよび63b
の内容の更新は、TLB11、21、31もしくは41
のアドレス変換対が更新される時に同時に行われる。
【0041】つまり、EPU1、2、3もしくは4で新
たな論理アドレスを実アドレスに変換する時に、求める
アドレス変換対がTLB11、21、31もしくは41
に存在せず、この論理アドレスのアドレス変換を実行
し、新たなアドレス変換対をTLB11、21、31も
しくは41に登録する時に、同時にCTLB53a、5
3b、63aおよび63bの内容の更新も行なわれる。
【0042】ここで、EPU3でアドレス変換が実行さ
れ、TLB31に新たなアドレス変換対が登録される場
合を説明する。この時、同時にこの新たに登録されるア
ドレス変換対の内の論理アドレス部とTLB更新指示お
よびEPU3を示すEPU番号が、バス71のアドレス
線と制御線を通してSCU6aに送出される。
【0043】SCU6aに送られてきた論理アドレスは
セレクタ61を通してレジスタ62にセットされ、TL
B更新指示およびEPU番号は制御回路65に通知され
る。
【0044】すると制御回路65の指示により、レジス
タ62にセットされた論理アドレスの内の、CTLB6
3aのアドレスを指定するアドレス指定部によってCT
LB63aの更新すべきアドレス位置が指定される。こ
の指定によって、レジスタ62にセットされている論理
アドレスの内のアドレス指定部を除く上位のアドレス
部、即ちTLB31のKey部の内容がCTLB63a
の所定の位置に登録される。この一連の処理によって、
TLB31に新たに登録されたアドレス変換対のKey
部の写しがCTLB63aにコピーされたことになる。
他のCTLB53a、53bおよび63bの更新処理も
同様に行われる。
【0045】CTLB53a、53b、63aおよび6
3bの索引は、レジスタ52および62にセットされた
論理アドレスの内のアドレス指定部によってCTLB5
3a、53b、63aおよび63bがアドレスされ、そ
のアドレス位置からCTLB53a、53b、63aお
よび63bの内容が読み出されることで行われる。
【0046】この読み出されたCTLB53a、53
b、63aおよび63bの内容は、それぞれ比較器54
a、54b、64aおよび64bに送出される。比較器
54a、54b、64aおよび64bは、レジスタ52
および62にセットされた論理アドレスの内の下位のア
ドレス指定部を除く上位のアドレス部とCTLB53
a、53b、63aよび63bから読み出された内容と
をそれぞれ比較する比較器で、その比較結果は、それぞ
れ制御回路55および65に通知される。制御回路55
および65は、入力される情報に応じて様々な制御を行
う制御回路である。
【0047】次に本発明の特徴である、TLB同期クリ
ア命令の動作について図1およびその動作説明用のフロ
ーチャートを示した図3を参照して説明する。EPU2
がTLB同期クリア命令を実行する場合を説明する。E
PU2がTLB同期クリア命令を解読すると、命令によ
って指定されたTLB無効化論理アドレスが取り出され
る。このTLB無効化論理アドレスに従って、EPU2
は、TLB21から無効化すべきアドレス変換対を消去
する。同時にEPU2は、TLB無効化要求とTLB無
効化論理アドレスをバス70の制御線とアドレス線を使
用してSCU5aに送出する(図3−301)。この
時、EPU2を示すEPU番号も一緒にバス70の制御
線を通してSCU5aに送出する。TLB無効化要求お
よびEPU番号は駆動バッファ57を介して制御回路5
5に通知され、TLB無効化論理アドレスはセレクタ5
1を通してレジスタ52にセットされる(図3−30
2)。
【0048】制御回路55は、駆動バッファ58を介し
てバス72の制御線とアドレス線とを使用して、TLB
無効化要求とTLB無効化論理アドレスをSCU6aに
送出する(図3−303)。TLB無効化要求は専用配
線73によって制御回路65に通知され、TLB無効化
論理アドレスは、セレクタ61を通してレジスタ62に
セットされる(図3−304)。
【0049】次にレジスタ52および62にセットされ
たTLB無効化論理アドレスのアドレス指定部によって
CTLB53a、53b、63aおよび63bが索引さ
れ(図3−305)、CTLB53a、53b、63a
および63bの内容が読み出されて、それぞれ比較器5
4a、54b、64aおよび64bに供給される。
【0050】比較器54a、54b、64aおよび64
bでは、CTLB53a、53b、63aおよび63b
から読み出された内容とレジスタ52および62にセッ
トされているTLB無効化論理アドレスの内のアドレス
指定部を除く上位のアドレス部とが比較され(図3−3
06)、その比較結果が制御回路55および65に通知
される。もし比較の結果が、一致を示している場合は、
対応するTLB11、21、31および41に無効化す
べきアドレス変換対があることを示し、不一致を示して
いる場合には、対応するTLB11、21、31および
41に無効化すべきアドレス変換対が存在しないことを
示している。
【0051】説明を具体的にするために、比較器54
a、54bおよび64bで一致が検出され、比較器64
aでは不一致が検出されたとする。制御回路55および
65は、一致が検出されたCTLB53a、53bおよ
び63bから無効化すべきKey部のコピーを消去する
(図3−307)。同時に、バス70および71の制御
線とアドレス線を使用して、一致が検出されたCTLB
53a、53bおよび63bのうちクリア命令を実行中
の53bを除く53aおよび53bに対応するEPU1
および4にTLB無効化要求とレジスタ52および62
に保持されているTLB無効化論理アドレスを送出する
(図3−308)。このとき、TLB同期クリア命令を
実行しているEPU2と不一致が検出されたCTLB6
3aに対応するEPU3とには、TLB無効化要求の送
出が抑止される。TLB無効化要求とTLB無効化論理
アドレスを受け取ったEPU1および4は、送出された
TLB無効化論理アドレスに従って、TLB11および
41からの無効化すべきアドレス変換対を消去し、TL
B無効化処理が終了したことをバス70および71の制
御線を使用して、それぞれSCU5aおよび6aに通知
する。SCU6aはの終了通知を専用配線74を使用し
てSCU5aに通知する。
【0052】この双方のTLB無効化処理の終了通知
は、制御回路65に通知される(図3−309)。比較
器64aから不一致の比較結果を受け取った制御回路5
5は、対応するTLB31には、無効化すべきアドレス
変換対が存在しないことを認識し、EPU3に対するT
LB無効化処理は必要ないと判断し、専用配線74を使
用してEPU3のTLB無効化処理が終了したことをS
CU5aに通知する。このTLB無効化処理の終了通知
も制御回路55に通知される(図3−311)。
【0053】制御回路55ではEPU2を除く全てのE
PU1、3および4からTLB無効化処理の終了通知が
報告されると、TLB無効化処理終了の代表信号をバス
70の制御線を使用してEPU2に通知する(図3−3
12)。このTLB無効化処理終了の代表信号を受け取
ったEPU2は、TLB同期クリア命令が終了したと判
断して、新たな命令の処理を開始する。EPU1、3お
よび4がTLB同期クリア命令を実行するときも同様に
行われる。
【0054】また、本発明のマルチプロセッサシステム
では、EPUの台数を増加する時には、各々のSCUに
接続されるEPUの台数を増やす方法と、システム中の
SCUの台数を増やす方法の2つがある。1台のSCU
に接続されるEPUの台数を増やす場合には、それに伴
ってSCU内のCTLBの追加が行われる。本発明は、
TLB無効化処理の高速化を行う機構がSCU内で構築
されるようにしているため、上記の何れの方法でEPU
台数を増加させるときでも、EPUのハードウェア量を
増加することなく本発明を実現できる。そのため、従来
から使用しているEPUをそのまま使用できる構成にな
っている。
【0055】
【発明の効果】以上説明したように、本発明のマルチプ
ロセッサシステムは、TLBの内容の写しを記憶するコ
ピーTLB(CTLB)をSCU内に備え、TLB同期
クリア命令実行時には、このCTLBを索引することに
よって、実際にTLB無効化処理が必要か否かを判断
し、TLB無効化処理が不要なEPUに対しては直ちに
TLB無効化処理を終了させることによって、不必要な
TLB無効化処理のオーバーヘッドを削減できるので、
システム全体の性能を大幅に向上できる効果がある。
【0056】さらに、TLB無効化処理の高速化を行な
う機構がSCU内で構築されるので、EPU台数の増加
に際しても、EPUのハードウェア増加させる必要がな
く、EPU間におけるTLBの一致処理の高速化を達成
し、かつ、システムを容易に拡張できる効果がある。
【図面の簡単な説明】
【図1】本発明のマルチプロセッサの一実施例を示すブ
ロック図である。
【図2】本発明の一実施例に適用するセット・アソシア
ティブ構成の一般的な例を示すブロック図である。
【図3】本発明の一実施例を説明するためのフローチャ
ートである。
【図4】従来のマルチプロセッサシステムの一例を示す
ブロック図である。
【符号の説明】
1〜4 EPU 5a,6a SCU 11,21,31,41 TLB 51,61 セレクタ 52,62 レジスタ 53a,53b,63a,63b CTLB 54a,54b,64a,64b 比較器 55,65 制御回路 56〜59,66〜69 駆動バッファ 70〜72 バスライン 73,74 専用配線

Claims (5)

    (57)【特許請求の範囲】
  1. 【請求項1】 演算処理装置が論理アドレスおよび実ア
    ドレスのアドレス変換対を複数個含んだアドレス変換バ
    ッファを有し、この演算処理装置を複数個備え、無効
    すべき前記アドレス変換対が検出されたときにアドレス
    変換バッファ同期クリア命令を実行してこのアドレス変
    換対を消去するマルチプロセッサシステムにおいて、 前記アドレス変換バッファのそれぞれの内容の論理アド
    レスのうち、ページ内アドレスと上位ビットのキーアド
    レス部および下位ビットのアドレス指定部のうち前記上
    位ビットのキーアドレスのみの写しが転送されて記憶さ
    れる複数の記憶手段と、前記複数の演算処理装置のうち
    の所定の演算処理装置が前記アドレス変換バッファ同期
    クリア命令を実行して複数の前記アドレス変換バッファ
    の無効化処理を実行する場合に、前記アドレス変換バッ
    ファの無効化論理アドレスのうちの前記アドレス指定部
    によって前記複数の記憶手段の前記キーアドレス内容を
    検索する手段とを有するシステム制御装置を備え、前記 キーアドレス検索結果に従い前記複数の記憶手段の
    うちのいずれかに前記アドレス変換バッファの前記無効
    化論理アドレスが登録されているかを検出するととも
    に、この検出結果に従い前記記憶手段の前記キーアドレ
    ス内容に対応する前記複数の演算処理装置に対して、前
    記無効化論理アドレスによるアドレス変換バッファ無効
    化要求を送出することを特徴とするマルチプロセッサシ
    ステム。
  2. 【請求項2】 前記システム制御装置は、前記複数の演
    算処理装置のうちあらかじめ定められた複数の演算処理
    装置に接続される複数のシステム制御装置であって、そ
    れぞれのシステム制御装置は接続されている前記複数の
    演算処理装置のいずれか1つが前記アドレス変換同期ク
    リア命令を実行して前記アドレス変換バッファの無効化
    処理を実行する際に、この演算処理装置が送出する前記
    無効化論理アドレスを保持する第1の保持手段と、この
    保持された前記無効化論理アドレスを基に前記複数の記
    憶手段の前記キーアドレス内容を検索する手段と、この
    検索結果に従って前記複数の記憶手段にそれぞれ対応し
    た前記演算処理装置に対して前記アドレス変換バッファ
    無効化要求を送出する第1の送出手段と、前記他のシス
    テム制御装置に前記アドレス変換バッファ無効化要求を
    送出する第2の送出手段と、前記他のシステム制御装置
    から送出された前記無効化論理アドレスを保持する第2
    の保持手段と、この保持された前記無効化論理アドレス
    によって前記複数の記憶手段の前記キーアドレス内容を
    検索する手段と、この検索結果に従って前記演算処理装
    置に前記他のシステム制御装置から送出された前記アド
    レス変換バッファ無効化要求を送出する第3の送出手段
    と、これらの前記第1および前記第2の保持手段と前記
    第1、前記第2および前記第3の送出手段の動作を制御
    する制御回路とを有してなる請求項1記載のマルチプロ
    セッサシステム。
  3. 【請求項3】 新な前記アドレス変換対の登録時と前記
    無効化論理アドレスの索引時とにおいて前記第1および
    前記第2の保持手段と前記第1、前記第2および前記第
    3の送出手段とがそれぞれ同一のレジスタおよびこのレ
    ジスタに前置されるセレクタを用いることによってそれ
    ぞれの処理が実行される請求項2記載のマルチプロセッ
    サシステム。
  4. 【請求項4】 前記あらかじめ定められた複数の演算処
    理装置が接続される複数の前記システム制御装置のそれ
    ぞれが、前記アドレス変換バッファの無効化論理アドレ
    スによって前記複数の記憶手段の前記キーアドレス内容
    を検索した結果前記無効化論理アドレスが登録されてい
    ないことを検出し、前記記憶手段の前記キーアドレス内
    容に対応した前記アドレス変換バッファを有する前記演
    算処理装置に対しては前記無効化論理アドレスによるア
    ドレス変換バッファ無効化要求の送出を抑止し、かつ前
    記演算処理装置に対するアドレス変換バッファの無効化
    処理が終了したことを前記アドレス変換バッファ同期ク
    リア命令を実行している前記所定の演算処理装置に通知
    する手段とを備えることを特徴とする請求項2記載のマ
    ルチプロセッサシステム。
  5. 【請求項5】 前記あらかじめ定められた複数の演算処
    理装置が接続される複数の前記システム制御装置のそれ
    ぞれが、前記他のシステム制御装置から受け付けた前記
    アドレス変換バッファの無効化論理アドレスによって前
    記複数の記憶手段の前記キーアドレス内容を検索した結
    果、前記無効化論理アドレスが登録されていないことが
    検出された場合は、前記複数の記憶手段の前記キーアド
    レス内容に対応するアドレス変換バッファの無効化処理
    の終了を前記他のシステム制御装置に通知する手段と、
    前記他のシステム制御装置から前記無効化処理の終了を
    受け付けた場合に、この終了通知を前記アドレス変換バ
    ッファ同期クリア命令を実行している前記所定の演算処
    理装置に通知する手段とを備えることを特徴とする請求
    項2記載のマルチプロセッサシステム。
JP6148237A 1994-06-29 1994-06-29 マルチプロセッサシステム Expired - Lifetime JP2845754B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6148237A JP2845754B2 (ja) 1994-06-29 1994-06-29 マルチプロセッサシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6148237A JP2845754B2 (ja) 1994-06-29 1994-06-29 マルチプロセッサシステム

Publications (2)

Publication Number Publication Date
JPH0816477A JPH0816477A (ja) 1996-01-19
JP2845754B2 true JP2845754B2 (ja) 1999-01-13

Family

ID=15448319

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6148237A Expired - Lifetime JP2845754B2 (ja) 1994-06-29 1994-06-29 マルチプロセッサシステム

Country Status (1)

Country Link
JP (1) JP2845754B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050273575A1 (en) * 2004-06-02 2005-12-08 Mukherjee Shubhendu S Mechanism to invalidate data translation buffer entries a multiprocessor system
EP3054384B1 (en) 2015-02-04 2018-06-27 Huawei Technologies Co., Ltd. System and method for memory synchronization of a multi-core system

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3016788B2 (ja) * 1989-03-02 2000-03-06 日本電気株式会社 装置間通信・キャッシュ一致処理方式
JPH04352047A (ja) * 1991-05-29 1992-12-07 Nippon Telegr & Teleph Corp <Ntt> アドレス変換制御方法および装置
JPH05314009A (ja) * 1992-05-07 1993-11-26 Hitachi Ltd マルチプロセッサシステム

Also Published As

Publication number Publication date
JPH0816477A (ja) 1996-01-19

Similar Documents

Publication Publication Date Title
US5761734A (en) Token-based serialisation of instructions in a multiprocessor system
JP3473772B2 (ja) キャッシュ・メモリを利用したデータ処理システム
US6263403B1 (en) Method and apparatus for linking translation lookaside buffer purge operations to cache coherency transactions
JP2004326798A (ja) マルチプロセッサ・データ処理システム
JPH0997214A (ja) 補助プロセッサのためのアドレス変換を含む情報処理システム
JPH03135641A (ja) マイクロプロセッサ
EP0669579B1 (en) Coherence index generation for use by an input/output adapter
US5339397A (en) Hardware primary directory lock
US8688890B2 (en) Bit ordering for communicating an address on a serial fabric
JP4131789B2 (ja) キャッシュ制御装置および方法
JP2845754B2 (ja) マルチプロセッサシステム
JP2000339221A (ja) 変換装置のエントリを無効化するシステム及び方法
US6397304B1 (en) Method and apparatus for improving system performance in multiprocessor systems
JPH05158793A (ja) 並列キャッシュメモリ
EP1262876B1 (en) Multiprocessing system with shared translation lookaside buffer
JPH05314009A (ja) マルチプロセッサシステム
JP3013996B2 (ja) 情報処理装置
JPH05189318A (ja) 情報処理装置
JPH0336648A (ja) 電子計算機及びtlb装置とマイクロプロセッサチップ
JPS63286944A (ja) アドレス変換バツフア無効化方式
JPH041373B2 (ja)
JPS61221845A (ja) バツフアメモリ無効化アドレス生成方式
JPH0535598A (ja) 集積回路マイクロプロセツサのページング・モニタ機構
JPH03271859A (ja) 情報処理装置
JPH05282207A (ja) キャッシュメモリ無効化制御方式

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 19970304

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 19980929