JPH02101552A - アドレス変換バッファ処理方式 - Google Patents
アドレス変換バッファ処理方式Info
- Publication number
- JPH02101552A JPH02101552A JP63253817A JP25381788A JPH02101552A JP H02101552 A JPH02101552 A JP H02101552A JP 63253817 A JP63253817 A JP 63253817A JP 25381788 A JP25381788 A JP 25381788A JP H02101552 A JPH02101552 A JP H02101552A
- Authority
- JP
- Japan
- Prior art keywords
- shared
- processing
- address
- processors
- address translation
- 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
Landscapes
- Multi Processors (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔概 要〕
主記憶を共有するマルチプロセッサの計算機システムに
おける、複数のプロセッサによって共有される記憶領域
に対するアドレス変換バッファの処理方式に関し、 アドレス変換バッファの無効化処理における冗長な処理
を削減し、システムの処理速度の向上を達成することを
目的とし、 主記憶を共有し、個々のプロセッサにアドレス変換バッ
ファ装置を有する仮想アドレス空間をサポートするマル
チプロセッサの計算機システムにおけるアドレス変換バ
ッファの処理方式であって、該主記憶上のアドレス変換
テーブルの個々のエントリに、複数のプロセッサから共
有される可能性があることを示す共有領域ビットを設け
、他系統のアドレス変換バッファに対する無効化処理に
際しては、該共有領域ビットを参照して選択的に無効化
処理を省略するよう構成する。
おける、複数のプロセッサによって共有される記憶領域
に対するアドレス変換バッファの処理方式に関し、 アドレス変換バッファの無効化処理における冗長な処理
を削減し、システムの処理速度の向上を達成することを
目的とし、 主記憶を共有し、個々のプロセッサにアドレス変換バッ
ファ装置を有する仮想アドレス空間をサポートするマル
チプロセッサの計算機システムにおけるアドレス変換バ
ッファの処理方式であって、該主記憶上のアドレス変換
テーブルの個々のエントリに、複数のプロセッサから共
有される可能性があることを示す共有領域ビットを設け
、他系統のアドレス変換バッファに対する無効化処理に
際しては、該共有領域ビットを参照して選択的に無効化
処理を省略するよう構成する。
本発明は、主記憶を共有するマルチプロセッサの計算機
システムにおける、複数のプロセッサによって共有され
る記憶領域に対するアドレス変換バッファ(以下TLB
と略称する)の処理方式に関する。
システムにおける、複数のプロセッサによって共有され
る記憶領域に対するアドレス変換バッファ(以下TLB
と略称する)の処理方式に関する。
このようなシステムは、近年におけるマイクロプロセッ
サの低価格化、高性能化に伴い、マイクロプロセッサを
数台〜20数台程度用いたシステムとして商品化されて
おり、コストパーフォーマンスの高さから広く用いられ
るようになると予想される。
サの低価格化、高性能化に伴い、マイクロプロセッサを
数台〜20数台程度用いたシステムとして商品化されて
おり、コストパーフォーマンスの高さから広く用いられ
るようになると予想される。
しかしながら、個々のプロセッサに通常設けられるアド
レス変換用のキャッシュであるバッファ装置に対する処
理には、冗長な部分があり、システムの性能を低下させ
ている面もあり、本発明はこのような現状にかんがみて
なされたものである。
レス変換用のキャッシュであるバッファ装置に対する処
理には、冗長な部分があり、システムの性能を低下させ
ている面もあり、本発明はこのような現状にかんがみて
なされたものである。
〔従来の技術]
一例としてメモリ共有結合型のマルチ7’oセツサシス
テムについて説明する。一般にこれらのシステムの構成
は第2図に示されるものとほぼ同様であるのでこれを参
照して説明する。
テムについて説明する。一般にこれらのシステムの構成
は第2図に示されるものとほぼ同様であるのでこれを参
照して説明する。
図において、T L B (Translation
Look−asideBuffer)は主記憶上にある
アドレス変換テーブルの一部のコピーである。TLBお
よびアドレス変換テーブルは、いずれも通常ページと呼
ばれる数キロバイト程度のアドレス領域ごとに論理ペー
ジアドレスとそれに対応する物理ページアドレスおよび
そのページに対するアクセス情報(書き込みができるか
、実行ができるか等の情報)を1つのエントリとして保
持しているような表であり、論理ページアドレスから物
理ページアドレスを得るために参照される(、第4図)
。
Look−asideBuffer)は主記憶上にある
アドレス変換テーブルの一部のコピーである。TLBお
よびアドレス変換テーブルは、いずれも通常ページと呼
ばれる数キロバイト程度のアドレス領域ごとに論理ペー
ジアドレスとそれに対応する物理ページアドレスおよび
そのページに対するアクセス情報(書き込みができるか
、実行ができるか等の情報)を1つのエントリとして保
持しているような表であり、論理ページアドレスから物
理ページアドレスを得るために参照される(、第4図)
。
このようなシステムでは、プロセスは論理空間で動作し
、論理アドレスで主記憶参照を行う。従ってプロセッサ
は主記憶にアクセスする際、論理アドレスから物理アド
レスへの変換が必要であるが、その都度主記憶上の変換
テーブルを検索していたのでは、多くの処理時間が必要
である。
、論理アドレスで主記憶参照を行う。従ってプロセッサ
は主記憶にアクセスする際、論理アドレスから物理アド
レスへの変換が必要であるが、その都度主記憶上の変換
テーブルを検索していたのでは、多くの処理時間が必要
である。
TLBは、この変換を高速化するためのキャッシュであ
り、変換テーブルのうち、プロセッサによって最近参照
された論理アドレスに対応する物理アドレスを保持して
いる。そしてアドレスが変換される際には、まず、TL
Bが検索され、そこに変換したい論理アドレスが発見さ
れれば、主記憶をアドレスすることなく物理アドレスを
得ることができる。これによって主記憶アクセスの時間
が大幅に削減される。このような理由で、TLBはマル
チプロセッサかシングルプロセッサかを問わず、アドレ
ス変換を行う実用的なシステムでは、広く用いられてい
る。
り、変換テーブルのうち、プロセッサによって最近参照
された論理アドレスに対応する物理アドレスを保持して
いる。そしてアドレスが変換される際には、まず、TL
Bが検索され、そこに変換したい論理アドレスが発見さ
れれば、主記憶をアドレスすることなく物理アドレスを
得ることができる。これによって主記憶アクセスの時間
が大幅に削減される。このような理由で、TLBはマル
チプロセッサかシングルプロセッサかを問わず、アドレ
ス変換を行う実用的なシステムでは、広く用いられてい
る。
マルチプロセッサシステムでは、ある領域が複数のプロ
セッサで共有されると、複数のTLBに同一の論理アド
レスに対するエントリが保持されることになる。TLB
は主記憶上のアドレス変換テーブルの写しであり、論理
アドレスに対する物理アドレスのマツピングやアクセス
情報等を規定するものであるから、個々のTLBにおい
て同じ論理アドレスに対するエントリは同じ物理アドレ
スにマツプされ同じアクセス情報を保持していないと、
処理に矛盾が生じる。
セッサで共有されると、複数のTLBに同一の論理アド
レスに対するエントリが保持されることになる。TLB
は主記憶上のアドレス変換テーブルの写しであり、論理
アドレスに対する物理アドレスのマツピングやアクセス
情報等を規定するものであるから、個々のTLBにおい
て同じ論理アドレスに対するエントリは同じ物理アドレ
スにマツプされ同じアクセス情報を保持していないと、
処理に矛盾が生じる。
ところが、TLBに同じエントリを持っているプロセッ
サのうちのいずれかが、ディスク装置へのページアウト
等によって主記憶上のアドレス変換テーブルのエントリ
の情報を変更する場合もあり得る。この場合、そのプロ
セッサのTLB以外は主記憶上の対応するエントリと内
容が矛盾してしまうことになる。そこで、この変更を総
てのプロセッサに反映させるため、通常はプロセッサが
主記憶上のアドレス変換テーブルを書き換えた場合には
、常に他のプロセッサへ割り込みをかけ、それぞれのT
LBで、該当する論理アドレスに対するエントリを検索
して無効化する処理を行うようになっている。
サのうちのいずれかが、ディスク装置へのページアウト
等によって主記憶上のアドレス変換テーブルのエントリ
の情報を変更する場合もあり得る。この場合、そのプロ
セッサのTLB以外は主記憶上の対応するエントリと内
容が矛盾してしまうことになる。そこで、この変更を総
てのプロセッサに反映させるため、通常はプロセッサが
主記憶上のアドレス変換テーブルを書き換えた場合には
、常に他のプロセッサへ割り込みをかけ、それぞれのT
LBで、該当する論理アドレスに対するエントリを検索
して無効化する処理を行うようになっている。
従来方式による無効化処理過程は第5図に示される。こ
の処理によって、同じ領域が再びアクセスされた場合に
は、新たに主記憶のアドレス変換テーブルからエントリ
が読み込まれるので、プロセッサ間でTLBの内容に矛
盾が生じることを防止できる。
の処理によって、同じ領域が再びアクセスされた場合に
は、新たに主記憶のアドレス変換テーブルからエントリ
が読み込まれるので、プロセッサ間でTLBの内容に矛
盾が生じることを防止できる。
しかしながら、実際は複数のプロセッサから共有されて
アクセスされるような領域は限定されており、しかもプ
ログラムの実行前に指定可能である。従来は、このよう
な場合に、複数のプロセッサから共有される記憶領域を
指定し、識別する手段が存在しなかったため、各プロセ
ッサは、アドレス変換テーブルを変更した場合には、他
のプロセッサにTLBエントリが共有されている可能性
のない場合であっても、上述のように、他プロセツサの
TLBの無効化処理を行い、無駄な時間を費やしていた
。
アクセスされるような領域は限定されており、しかもプ
ログラムの実行前に指定可能である。従来は、このよう
な場合に、複数のプロセッサから共有される記憶領域を
指定し、識別する手段が存在しなかったため、各プロセ
ッサは、アドレス変換テーブルを変更した場合には、他
のプロセッサにTLBエントリが共有されている可能性
のない場合であっても、上述のように、他プロセツサの
TLBの無効化処理を行い、無駄な時間を費やしていた
。
本発明の目的は、複数プロセッサで共有される可能性の
ある領域を指定する手段を設けるという着想に基づき、
TLBの無効化処理における冗長な処理を削減し、シス
テムの処理速度の向上を達成することにある。
ある領域を指定する手段を設けるという着想に基づき、
TLBの無効化処理における冗長な処理を削減し、シス
テムの処理速度の向上を達成することにある。
〔課題を解決するための手段]
本発明においては、第1図および第2図に例示されるよ
うに、主記憶14を共有し、個々のプロセッサ((1)
〜(N)H1l〜11Nにそれぞれアドレス変換バッフ
ァ装置121〜12Nを有する仮想アドレス空間をサポ
ートするマルチプロセッサの計算機システムにおけるア
ドレス変換バッファの処理方式であって、該主記憶14
上のアドレス変換テーブル15の個々のエントリに共有
領域ビットを設け(S5)、該共有領域ビットの値から
複数のプロセッサから共有される可能性があるか否か識
別できるようにする。そして、他系統のアドレス変換バ
ッファに対する無効化処理(S3)に際して、該共有領
域ビットを参照して(S2)、共有される可能性がない
時は、該無効化処理を省略(S4)するアドレス変換バ
ッファの処理方式が提供される。
うに、主記憶14を共有し、個々のプロセッサ((1)
〜(N)H1l〜11Nにそれぞれアドレス変換バッフ
ァ装置121〜12Nを有する仮想アドレス空間をサポ
ートするマルチプロセッサの計算機システムにおけるア
ドレス変換バッファの処理方式であって、該主記憶14
上のアドレス変換テーブル15の個々のエントリに共有
領域ビットを設け(S5)、該共有領域ビットの値から
複数のプロセッサから共有される可能性があるか否か識
別できるようにする。そして、他系統のアドレス変換バ
ッファに対する無効化処理(S3)に際して、該共有領
域ビットを参照して(S2)、共有される可能性がない
時は、該無効化処理を省略(S4)するアドレス変換バ
ッファの処理方式が提供される。
前述された変換テーブル上に設けられた共有領域ビット
は、そのプロセスに対する論理空間を設定する際または
プロセス実行時に動的に、ユーザプログラムの指示を受
けて、オペレーティングシステムによってセットまたは
リセットされ、成るプロセッサ上で主記憶上のアドレス
変換テーブルの変更を行う必要が生じた場合、オペレー
ティングシステムは、共有領域ビットを参照し、そのビ
ットがセットされている場合に限って、他のプロセッサ
の無効化処理を行う。
は、そのプロセスに対する論理空間を設定する際または
プロセス実行時に動的に、ユーザプログラムの指示を受
けて、オペレーティングシステムによってセットまたは
リセットされ、成るプロセッサ上で主記憶上のアドレス
変換テーブルの変更を行う必要が生じた場合、オペレー
ティングシステムは、共有領域ビットを参照し、そのビ
ットがセットされている場合に限って、他のプロセッサ
の無効化処理を行う。
本発明の一実施例としてのアドレス変換バッファの処理
方式をjテう処理過程の流れ図が第1図に、本発明の適
用されるシステムのブロック図が第2図に、実施例のア
ドレス変換テーブル−およびTLBの内容を説明する図
が第3図に示される。
方式をjテう処理過程の流れ図が第1図に、本発明の適
用されるシステムのブロック図が第2図に、実施例のア
ドレス変換テーブル−およびTLBの内容を説明する図
が第3図に示される。
第2図のシステムは複数のプロセッサ111〜11Nに
よりマルチプロセッサシステムを構成し、嘉亥プロセッ
サ111〜11NはそれぞれT L B 121〜12
Nを備え、これらは共有バス13で接続され、共有バス
13には主記憶14が接続される。主記憶14には論理
アドレスを物理アドレスに変換するアドレス変換テーブ
ルが備えられる。TLBはアドレス変換テーブルの一部
を格納するキャッシュである。アドレス変換テーブル1
5は、第3図に示されるように、論理アドレスと、これ
に対応する物理アドレスと、アクセス情報と、このほか
に1ビツトの共有領域ビット(第3図の右端参照)の各
フィールドから構成される。これらは、そのままTLB
にも格納されるが、共有領域ビットはTLBに格納する
ことを省略しても差支えない。
よりマルチプロセッサシステムを構成し、嘉亥プロセッ
サ111〜11NはそれぞれT L B 121〜12
Nを備え、これらは共有バス13で接続され、共有バス
13には主記憶14が接続される。主記憶14には論理
アドレスを物理アドレスに変換するアドレス変換テーブ
ルが備えられる。TLBはアドレス変換テーブルの一部
を格納するキャッシュである。アドレス変換テーブル1
5は、第3図に示されるように、論理アドレスと、これ
に対応する物理アドレスと、アクセス情報と、このほか
に1ビツトの共有領域ビット(第3図の右端参照)の各
フィールドから構成される。これらは、そのままTLB
にも格納されるが、共有領域ビットはTLBに格納する
ことを省略しても差支えない。
共有領域ビットは、複数のプロセッサから共有されてア
クセスされるような領域について「lJが設定される。
クセスされるような領域について「lJが設定される。
第1図を参照して、実施例の処理過程を説明する。成る
1つのプロセッサmについて処理が開始され、アドレス
変換テーブル15が変更されたとすると(処理過程S1
)、前述した共有領域ビットが「1」かどうか判定する
(過程S2)。「1」でなければ複数のプロセッサから
共有される領域でなく、従ってプロセッサm以′外の他
のプロセッサ111〜11Nで使用される領域ではない
から、TLBの無効化処理(有効フラグの無効化)をす
る必要はなく、直ちに処理終了(過程S4)となる。共
有領域ビットが「1」であれば、他プロセツサのTLB
エントリの無効化処理をするため他プロセツサ(プロセ
ッサm以外のプロセッサ111〜11N)への割り込み
を発生させ(過程S3)割り込み処理ルーチンを起動し
、他プロセツサのTLBエントリの無効化処理をすべて
終了させた後、プロセッサmの処理終了となる。
1つのプロセッサmについて処理が開始され、アドレス
変換テーブル15が変更されたとすると(処理過程S1
)、前述した共有領域ビットが「1」かどうか判定する
(過程S2)。「1」でなければ複数のプロセッサから
共有される領域でなく、従ってプロセッサm以′外の他
のプロセッサ111〜11Nで使用される領域ではない
から、TLBの無効化処理(有効フラグの無効化)をす
る必要はなく、直ちに処理終了(過程S4)となる。共
有領域ビットが「1」であれば、他プロセツサのTLB
エントリの無効化処理をするため他プロセツサ(プロセ
ッサm以外のプロセッサ111〜11N)への割り込み
を発生させ(過程S3)割り込み処理ルーチンを起動し
、他プロセツサのTLBエントリの無効化処理をすべて
終了させた後、プロセッサmの処理終了となる。
本発明によれば、他のプロセッサのアドレス変換バッフ
ァの冗長な無効化処理を省略でき、システムの処理速度
の向上を行うことができる。
ァの冗長な無効化処理を省略でき、システムの処理速度
の向上を行うことができる。
第1図は本発明の一実施例としてのアドレス変換バッフ
ァの処理方式を行う処理過程の流れ図、第2図は本発明
の適用されるシステムのブロック図、 第3図は第1図の実施例のアドレス変換テーブルまたは
TLBの内容を説明する図、 第4図は従来例を説明する第3図と同様な図、および 第5図は従来例の処理過程を示す第1図と同様な図であ
る。 図において、 111〜11N・・・プロセッサ、 121〜12N・・・TLB。 13・・・共有バス、 14・・・主記憶、 15・・・アドレス変換テーブル、 である。 本発明の適用されるシステムのブロック図実施例の処理
過程 第1図 第3図 従来例の処理過程
ァの処理方式を行う処理過程の流れ図、第2図は本発明
の適用されるシステムのブロック図、 第3図は第1図の実施例のアドレス変換テーブルまたは
TLBの内容を説明する図、 第4図は従来例を説明する第3図と同様な図、および 第5図は従来例の処理過程を示す第1図と同様な図であ
る。 図において、 111〜11N・・・プロセッサ、 121〜12N・・・TLB。 13・・・共有バス、 14・・・主記憶、 15・・・アドレス変換テーブル、 である。 本発明の適用されるシステムのブロック図実施例の処理
過程 第1図 第3図 従来例の処理過程
Claims (1)
- 【特許請求の範囲】 主記憶(14)を共有し、個々のプロセッサ(111〜
11N)にアドレス変換バッファ装置(121〜12N
)を有する仮想アドレス空間をサポートするマルチプロ
セッサの計算機システムにおけるアドレス変換バッファ
の処理方式であって、 該主記憶(14)上のアドレス変換テーブル(15)の
個々のエントリに、複数のプロセッサから共有される可
能性があることを示す共有領域ビットを設け(S5)、 他系統のアドレス変換バッファに対する無効化処理(S
3)に際しては、該共有領域ビットを参照して(S2)
選択的に無効化処理を省略(S4)するアドレス変換バ
ッファの処理方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP63253817A JPH02101552A (ja) | 1988-10-11 | 1988-10-11 | アドレス変換バッファ処理方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP63253817A JPH02101552A (ja) | 1988-10-11 | 1988-10-11 | アドレス変換バッファ処理方式 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH02101552A true JPH02101552A (ja) | 1990-04-13 |
Family
ID=17256548
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP63253817A Pending JPH02101552A (ja) | 1988-10-11 | 1988-10-11 | アドレス変換バッファ処理方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH02101552A (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2009032085A (ja) * | 2007-07-27 | 2009-02-12 | Panasonic Corp | データ処理システム |
| JP2018506790A (ja) * | 2015-02-04 | 2018-03-08 | 華為技術有限公司Huawei Technologies Co.,Ltd. | マルチコアシステムのメモリ同期のためのシステム及び方法 |
-
1988
- 1988-10-11 JP JP63253817A patent/JPH02101552A/ja active Pending
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2009032085A (ja) * | 2007-07-27 | 2009-02-12 | Panasonic Corp | データ処理システム |
| US8239652B2 (en) | 2007-07-27 | 2012-08-07 | Panasonic Corporation | Data processing system |
| JP2018506790A (ja) * | 2015-02-04 | 2018-03-08 | 華為技術有限公司Huawei Technologies Co.,Ltd. | マルチコアシステムのメモリ同期のためのシステム及び方法 |
| US10452686B2 (en) | 2015-02-04 | 2019-10-22 | Huawei Technologies Co., Ltd. | System and method for memory synchronization of a multi-core system |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5230045A (en) | Multiple address space system including address translator for receiving virtual addresses from bus and providing real addresses on the bus | |
| US5123101A (en) | Multiple address space mapping technique for shared memory wherein a processor operates a fault handling routine upon a translator miss | |
| KR930004430B1 (ko) | 가상 캐쉬를 이용하는 다중 처리컴퓨터 시스템의 일치성 유지장치 | |
| JP3666689B2 (ja) | 仮想アドレス変換方法 | |
| JPH04232551A (ja) | 多重仮想アドレス変換方法及び装置 | |
| JPS6135584B2 (ja) | ||
| JPH04320553A (ja) | アドレス変換機構 | |
| JPH03135641A (ja) | マイクロプロセッサ | |
| JP3045952B2 (ja) | フルアソシアティブ・アドレス変換器 | |
| US5339397A (en) | Hardware primary directory lock | |
| US5479629A (en) | Method and apparatus for translation request buffer and requestor table for minimizing the number of accesses to the same address | |
| US4658356A (en) | Control system for updating a change bit | |
| JP2768503B2 (ja) | 仮想記憶アドレス空間アクセス制御方式 | |
| EP0173909B1 (en) | Look-aside buffer least recently used marker controller | |
| EP0212129B1 (en) | Method of updating information in a translation lookaside buffer | |
| JPH0520197A (ja) | 記憶管理システム及びマイクロプロセツサ | |
| JPH0519176B2 (ja) | ||
| JPH02101552A (ja) | アドレス変換バッファ処理方式 | |
| JPH055137B2 (ja) | ||
| JPH01288940A (ja) | 論理アドレスキャッシュ制御方式 | |
| JPH04205535A (ja) | コピーオンライト方式 | |
| KR920005296B1 (ko) | 정보처리장치 | |
| JP2637853B2 (ja) | キャッシュメモリ装置 | |
| JP2507785B2 (ja) | ペ―ジテ―ブルエントリ無効化装置 | |
| JPH05314009A (ja) | マルチプロセッサシステム |