JPH01106149A - 情報処理装置 - Google Patents
情報処理装置Info
- Publication number
- JPH01106149A JPH01106149A JP62262902A JP26290287A JPH01106149A JP H01106149 A JPH01106149 A JP H01106149A JP 62262902 A JP62262902 A JP 62262902A JP 26290287 A JP26290287 A JP 26290287A JP H01106149 A JPH01106149 A JP H01106149A
- Authority
- JP
- Japan
- Prior art keywords
- address
- cache
- address translation
- caching
- 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.)
- Pending
Links
- 230000015654 memory Effects 0.000 claims abstract description 61
- 239000000872 buffer Substances 0.000 claims abstract description 33
- 238000012545 processing Methods 0.000 claims abstract description 12
- 238000013519 translation Methods 0.000 claims description 89
- 230000010365 information processing Effects 0.000 claims description 10
- 238000000034 method Methods 0.000 abstract description 34
- 238000006243 chemical reaction Methods 0.000 abstract description 19
- 230000004044 response Effects 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 9
- 230000000694 effects Effects 0.000 description 2
- NFRBUOMQJKUACC-UHFFFAOYSA-N triethyl(pentyl)azanium Chemical compound CCCCC[N+](CC)(CC)CC NFRBUOMQJKUACC-UHFFFAOYSA-N 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 1
- 238000013479 data entry Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔概 要〕
記憶の階層制御を採用したマイクロプロセッサ等におけ
る情報処理装置、特に、アドレス変換テーブルのキャッ
シング方式の改良に関し、最適なアドレス変換テーブル
のキャッシング方式を選択してCPUの性能を向上せし
めることを目的とし、 主記憶装置MSU、主記憶装置をバッファリングするキ
ャッシュ、および主記憶装置およびキャッシュを制御す
るメモリ制御装置MCUを具備し、メモリ制御装置が、
論理アドレスLAと物理アドレスRAとの変換対を記憶
するアドレス変換バッファTLBと、前記主記憶装置に
格納されたアドレス変換テーブルにより論理アドレスL
Aを物理アドレスRAに変換する動的アドレス変換部D
ATとを具備する情報処理装置であって、主記憶装置を
アクセスするために論理アドレスによりアドレス変換バ
ッファをアクセスするアドレス変換バッファアクセス手
段と、アドレス変換バッファにミスヒントしたときに動
的アドレス変換部を動作させるアドレス変換処理手段と
、動的アドレス変換部の出力に応じてキャッシュのアド
レス変換テーブルをアクセスするキャッシュアクセス手
段と、主記憶装置のアドレス変換テーブルの内容をキャ
ッシュにキャッシングするか否かを指定するキャッシン
グ指定手段と、キャッシュにミスヒツトしたときにあっ
てキャッシングが指定されているときには、動的アドレ
ス変換部の出力に応じた主記憶装置のエントリを読出す
と共に当該エントリを含むブロックをキャッシュにキャ
ッシングする第1の読出手段と、キャッシュにミスヒツ
トしたときにあってキャッシングが指定されていないと
きには、動的アドレス変換部の出力に応じた主記憶装置
のエントリを読出す第2の読出手段と、第1もしくは第
2の読出手段により読出されたエントリによりアドレス
変換バッファを更新するアドレス変換バッファ更新手段
と、を具備するように構成する。
る情報処理装置、特に、アドレス変換テーブルのキャッ
シング方式の改良に関し、最適なアドレス変換テーブル
のキャッシング方式を選択してCPUの性能を向上せし
めることを目的とし、 主記憶装置MSU、主記憶装置をバッファリングするキ
ャッシュ、および主記憶装置およびキャッシュを制御す
るメモリ制御装置MCUを具備し、メモリ制御装置が、
論理アドレスLAと物理アドレスRAとの変換対を記憶
するアドレス変換バッファTLBと、前記主記憶装置に
格納されたアドレス変換テーブルにより論理アドレスL
Aを物理アドレスRAに変換する動的アドレス変換部D
ATとを具備する情報処理装置であって、主記憶装置を
アクセスするために論理アドレスによりアドレス変換バ
ッファをアクセスするアドレス変換バッファアクセス手
段と、アドレス変換バッファにミスヒントしたときに動
的アドレス変換部を動作させるアドレス変換処理手段と
、動的アドレス変換部の出力に応じてキャッシュのアド
レス変換テーブルをアクセスするキャッシュアクセス手
段と、主記憶装置のアドレス変換テーブルの内容をキャ
ッシュにキャッシングするか否かを指定するキャッシン
グ指定手段と、キャッシュにミスヒツトしたときにあっ
てキャッシングが指定されているときには、動的アドレ
ス変換部の出力に応じた主記憶装置のエントリを読出す
と共に当該エントリを含むブロックをキャッシュにキャ
ッシングする第1の読出手段と、キャッシュにミスヒツ
トしたときにあってキャッシングが指定されていないと
きには、動的アドレス変換部の出力に応じた主記憶装置
のエントリを読出す第2の読出手段と、第1もしくは第
2の読出手段により読出されたエントリによりアドレス
変換バッファを更新するアドレス変換バッファ更新手段
と、を具備するように構成する。
本発明は、記憶の階層制御を採用したマイクロプロセッ
サ等における情報処理装置、特に、アドレス変換テーブ
ルのキャッシング方式の改良に関する。
サ等における情報処理装置、特に、アドレス変換テーブ
ルのキャッシング方式の改良に関する。
情報処理プロセッサにおいて、第8図に示すように、プ
ログラムで指定する論理アドレス(LA)と、主記憶装
置のハードウェアで定まる物理アドレス(RA)とを区
別し、論理アドレスを物理アドレスに写像するアドレス
変換が広く行われている。このアドレス変換は、第9図
に示すように、主記憶装置をアクセスする度に主記憶装
置上に置かれた複数段(第9図ではN段)のアドレス変
換テーブルをひくことにより実現され、そのためのハー
ドウェアは動的アドレス変換機構(DAT)と呼ばれる
。各段のテーブルをひく時のインデックスには、論理ア
ドレスの一部が用いられる。このアドレス変換テーブル
は、論理アドレス空間におかれる場合も物理アドレス空
間に置かれる場合もある。
ログラムで指定する論理アドレス(LA)と、主記憶装
置のハードウェアで定まる物理アドレス(RA)とを区
別し、論理アドレスを物理アドレスに写像するアドレス
変換が広く行われている。このアドレス変換は、第9図
に示すように、主記憶装置をアクセスする度に主記憶装
置上に置かれた複数段(第9図ではN段)のアドレス変
換テーブルをひくことにより実現され、そのためのハー
ドウェアは動的アドレス変換機構(DAT)と呼ばれる
。各段のテーブルをひく時のインデックスには、論理ア
ドレスの一部が用いられる。このアドレス変換テーブル
は、論理アドレス空間におかれる場合も物理アドレス空
間に置かれる場合もある。
しかし、主記憶装置をアクセスする度に主記憶装置上の
テーブルをひいていては遅いので、中央処理装置(CP
U)に付属するメモリ制御装置にアドレス変換バッファ
(TLB)と呼ばれる論理アドレスと物理アドレスとの
複数の変換対を記憶しておくバッファが用意される。T
LBの構成方法については、いくつかの方式があるが、
以下での説明に用いるのは、第10図のようなセットア
ソシアティブ方式のTLBである。この方式のTLBは
同じ大きさのM個たとえば4個のランダムアクセスメモ
リ (RAM)に別れ、それぞれウェイと呼ばれる。論
理アドレスレジスタから読出すアドレスごとに各ウェイ
は論理アドレスフィールドと物理アドレスフィールドを
格納し、各ウェイがアドレス変換を行う論理アドレスの
一部をアドレスしてアクセスされる。各ウェイから読出
された論理アドレスフィールドは、論理アドレスの対応
する部分と比較され、一致したウェイがあると(ヒツト
)、そのウェイの物理アドレスフィールドを用いて物理
アドレスが生成される。一致するウェイが一つもない場
合(ミスヒツト)は、TLBミスと呼ばれ、前述したよ
うに主記憶装置中のアドレス変換テーブルがひかれる、
すなわち、DATが動作する。
テーブルをひいていては遅いので、中央処理装置(CP
U)に付属するメモリ制御装置にアドレス変換バッファ
(TLB)と呼ばれる論理アドレスと物理アドレスとの
複数の変換対を記憶しておくバッファが用意される。T
LBの構成方法については、いくつかの方式があるが、
以下での説明に用いるのは、第10図のようなセットア
ソシアティブ方式のTLBである。この方式のTLBは
同じ大きさのM個たとえば4個のランダムアクセスメモ
リ (RAM)に別れ、それぞれウェイと呼ばれる。論
理アドレスレジスタから読出すアドレスごとに各ウェイ
は論理アドレスフィールドと物理アドレスフィールドを
格納し、各ウェイがアドレス変換を行う論理アドレスの
一部をアドレスしてアクセスされる。各ウェイから読出
された論理アドレスフィールドは、論理アドレスの対応
する部分と比較され、一致したウェイがあると(ヒツト
)、そのウェイの物理アドレスフィールドを用いて物理
アドレスが生成される。一致するウェイが一つもない場
合(ミスヒツト)は、TLBミスと呼ばれ、前述したよ
うに主記憶装置中のアドレス変換テーブルがひかれる、
すなわち、DATが動作する。
他方、主記憶装置は高速且つ大容量であることが好まし
いが、一般に、高速なものは容量は小さく、大容量のも
のは低速である。そこで、速度、容量が異なる記憶装置
を接続して階層構成とすると共に、プログラムの実行時
にアクセス・が局所化している(ローカルティがある)
ことを考慮して、頻雑に使用される情報群を高速小容量
のもの(たとえばキャッシュ)に、あまり使用されない
情報群を低速大容量のもの(たとえば主記憶装置)に割
当てる階層制御がある。
いが、一般に、高速なものは容量は小さく、大容量のも
のは低速である。そこで、速度、容量が異なる記憶装置
を接続して階層構成とすると共に、プログラムの実行時
にアクセス・が局所化している(ローカルティがある)
ことを考慮して、頻雑に使用される情報群を高速小容量
のもの(たとえばキャッシュ)に、あまり使用されない
情報群を低速大容量のもの(たとえば主記憶装置)に割
当てる階層制御がある。
上述の階層制御に葛いては、データが階層制御されると
共に、アドレス変換テーブルも階層制御される。つまり
、主記憶装置上のデータエントリがキャッシュにキャッ
シングされると共に、主記憶装置上のアドレス変換テー
ブルエントリもキャッシュにキャッシングされる。
共に、アドレス変換テーブルも階層制御される。つまり
、主記憶装置上のデータエントリがキャッシュにキャッ
シングされると共に、主記憶装置上のアドレス変換テー
ブルエントリもキャッシュにキャッシングされる。
さてここで、アドレス変換テーブルエントリのキャッシ
ングについて2通りの方法が考えられる。
ングについて2通りの方法が考えられる。
方法A:キャッシュ上でアドレス変換テーブルを読出そ
うとした時にキャッシュミスした(キャッシュ中にその
アクセスしたエントリがなかった)場合に、そのエント
リを含むキャッシュの1ブロツクを主記憶装置よりキャ
ッシュに読出す(すなわちMOVE −INする)方法
。
うとした時にキャッシュミスした(キャッシュ中にその
アクセスしたエントリがなかった)場合に、そのエント
リを含むキャッシュの1ブロツクを主記憶装置よりキャ
ッシュに読出す(すなわちMOVE −INする)方法
。
方法B:キャッシュ上でアドレス変換テーブルを読出そ
うとした時にキャッシュミスしても、読もうとしたエン
トリのみを読出すのみで、キャッシュの更新はしない方
法。
うとした時にキャッシュミスしても、読もうとしたエン
トリのみを読出すのみで、キャッシュの更新はしない方
法。
方法Aは、TLBミスの確率が大きい場合、アドレス変
換テーブルの読み出しがキャッシュにヒツトする可能性
が高いので、DAT処理が高速である。しかし、TLB
ミスの確率が小さい場合には、MOV!’ −IN し
ても、そのアドレス変換テーブルエントリのあるキャッ
シュブロックは再びアクセスされる前にキャッシュから
追い出されてしまうため、MOVE −INが無駄にな
ってしまう。TLBミスした場合には、そのアクセスは
キャッシュでもミスヒツトし、DAT処理に続いてメモ
リアクセスを必要とする可能性が高い。しかし、MOV
E −INしている間は他のメモリアクセスが行えない
ため、結果としてCPUの処理が遅らされることになる
。
換テーブルの読み出しがキャッシュにヒツトする可能性
が高いので、DAT処理が高速である。しかし、TLB
ミスの確率が小さい場合には、MOV!’ −IN し
ても、そのアドレス変換テーブルエントリのあるキャッ
シュブロックは再びアクセスされる前にキャッシュから
追い出されてしまうため、MOVE −INが無駄にな
ってしまう。TLBミスした場合には、そのアクセスは
キャッシュでもミスヒツトし、DAT処理に続いてメモ
リアクセスを必要とする可能性が高い。しかし、MOV
E −INしている間は他のメモリアクセスが行えない
ため、結果としてCPUの処理が遅らされることになる
。
また、無駄なMOVE −INのためにキャッシュのヒ
ツト率が落ち、主記憶装置へのアクセス量が増える。
ツト率が落ち、主記憶装置へのアクセス量が増える。
特に、マイクロプロセッサ内にDATとキャッシュを内
蔵する場合、キャッシュの容量が比較的小さいため、無
駄なMOVB −INが性能に与える悪影響が大きい。
蔵する場合、キャッシュの容量が比較的小さいため、無
駄なMOVB −INが性能に与える悪影響が大きい。
一方、方法Bは、方法Aと逆の性質を示す。すなわち、
TLBミスする確率が小さい場合には、方法Aのような
無駄なメモリアクセスはない。しかし、TLBミスする
確率が高い場合には、そのたびにアドレス変換テーブル
の段数だけのメモリアクセスが必要となるため、DAT
処理が遅く、従って、CPUの性能も低下してしまう。
TLBミスする確率が小さい場合には、方法Aのような
無駄なメモリアクセスはない。しかし、TLBミスする
確率が高い場合には、そのたびにアドレス変換テーブル
の段数だけのメモリアクセスが必要となるため、DAT
処理が遅く、従って、CPUの性能も低下してしまう。
TLBのミスヒツト率は、ハードウェアのみならず、走
らせるソフトウェアによって大きく変化する。従って、
上記方法Aと方法Bのどちらが優れているかは、ソフト
ウェアによって決まる。ところが、従来の方法では、方
法Aか方法Bのどちらかであることがハードウェアによ
って規定されてしまっているため、ソフトウェアに応じ
て最適なアドレス変換テーブルのキャッシング方式を選
択できず、この結果、CPUの性能の低下を招くという
問題点があった。
らせるソフトウェアによって大きく変化する。従って、
上記方法Aと方法Bのどちらが優れているかは、ソフト
ウェアによって決まる。ところが、従来の方法では、方
法Aか方法Bのどちらかであることがハードウェアによ
って規定されてしまっているため、ソフトウェアに応じ
て最適なアドレス変換テーブルのキャッシング方式を選
択できず、この結果、CPUの性能の低下を招くという
問題点があった。
従って、本発明の目的は、最適なアドレス変換テーブル
のキャッシング方式を選択してCPUの性能を向上せし
めることにある。
のキャッシング方式を選択してCPUの性能を向上せし
めることにある。
c問題点を解決するための手段〕
上述の問題点を解決するための手段は第1図に示される
。すなわち、主記憶装置MsU、主記憶装置をバッファ
リングするキャッシュ、および主記憶装置およびキャッ
シュを制御するメモリ制御装置MCUを具備し、メモリ
制御装置が、論理アドレスLAと物理アドレスRAとの
変換対を記憶するアドレス変換バッファTLBと、主記
憶装置に格納されたアドレス変換テーブルにより論理ア
ドレスLAを物理アドレスRAに変換する動的アドレス
変換部DATとを具備する情報処理装置において、アド
レス変換バッファ(TLB)アクセス手段は主記憶装置
をアクセスするために論理アドレスLAによりアドレス
変換バッファTLBをアクセスする。なお、論理アドレ
スLAは図示しない中央処理装置(CP U)から送出
される。この結果、アドレス変換バッファTLBにミス
ヒツトしたときに、アドレス変換処理手段は動的アドレ
ス変換部DATを動作させ、キャッシュアクセス手段は
動的アドレス変換部DATの出力に応じてキャッシュの
アドレス変換テーブルをアクセスする。他方、キャッシ
ング指定手段は主記憶装置のアドレス変換テーブルの内
容をキャッシュにキャッシング(MOVE −IN)す
るか否かを指定する。
。すなわち、主記憶装置MsU、主記憶装置をバッファ
リングするキャッシュ、および主記憶装置およびキャッ
シュを制御するメモリ制御装置MCUを具備し、メモリ
制御装置が、論理アドレスLAと物理アドレスRAとの
変換対を記憶するアドレス変換バッファTLBと、主記
憶装置に格納されたアドレス変換テーブルにより論理ア
ドレスLAを物理アドレスRAに変換する動的アドレス
変換部DATとを具備する情報処理装置において、アド
レス変換バッファ(TLB)アクセス手段は主記憶装置
をアクセスするために論理アドレスLAによりアドレス
変換バッファTLBをアクセスする。なお、論理アドレ
スLAは図示しない中央処理装置(CP U)から送出
される。この結果、アドレス変換バッファTLBにミス
ヒツトしたときに、アドレス変換処理手段は動的アドレ
ス変換部DATを動作させ、キャッシュアクセス手段は
動的アドレス変換部DATの出力に応じてキャッシュの
アドレス変換テーブルをアクセスする。他方、キャッシ
ング指定手段は主記憶装置のアドレス変換テーブルの内
容をキャッシュにキャッシング(MOVE −IN)す
るか否かを指定する。
キャッシュアクセス手段によるキャッシュにミスヒツト
したときにあって前記キャッシングが指定されている時
には、第1の読出手段は主記憶装置の動的アドレス変換
部DATの出力に応じたエントリを読出すと共に当該エ
ントリを含むブロックをキャッシュにキャッシング(M
OVIE −IN>する。
したときにあって前記キャッシングが指定されている時
には、第1の読出手段は主記憶装置の動的アドレス変換
部DATの出力に応じたエントリを読出すと共に当該エ
ントリを含むブロックをキャッシュにキャッシング(M
OVIE −IN>する。
また、キャッシュアクセス手段によるキャッシュにミス
ヒツトしたときにあって前記キャッシングが指定されて
いないときには、第2の読出手段は主記i!装置の動的
アドレス変換部DATの出力に応じたエントリを読出す
。そして、アドレス変換バッファ更新手段は第1もしく
は第2の読出手段により読出されたエントリによりアド
レス変換バッファを更新するものである。
ヒツトしたときにあって前記キャッシングが指定されて
いないときには、第2の読出手段は主記i!装置の動的
アドレス変換部DATの出力に応じたエントリを読出す
。そして、アドレス変換バッファ更新手段は第1もしく
は第2の読出手段により読出されたエントリによりアド
レス変換バッファを更新するものである。
なお、アドレス変換バッファアクセス手段によりアドレ
ス変換バッファTLBにヒツトした場合には、アドレス
変換バッファTLBの物理アドレスRAによりキャッシ
ュもしくは主記憶装置MSUのデータがアクセスされる
。また、キャッシュアクセス手段によりキャッシュにヒ
ツトした場合には、キャッシュのアドレス変換テーブル
の内容がアクセスされ、これにより、アドレス変換バッ
ファTLBが更新される。
ス変換バッファTLBにヒツトした場合には、アドレス
変換バッファTLBの物理アドレスRAによりキャッシ
ュもしくは主記憶装置MSUのデータがアクセスされる
。また、キャッシュアクセス手段によりキャッシュにヒ
ツトした場合には、キャッシュのアドレス変換テーブル
の内容がアクセスされ、これにより、アドレス変換バッ
ファTLBが更新される。
上述の手段によれば、TLBミスし且つキャッシュミス
した場合には、CPUのプロセッサ状態語PSWもしく
は他のレジスタに設けられたキャッシング指定手段によ
り、アドレス変換テーブルの主記憶装置からキャッシュ
へのl’1OVu −INが行われるか否かが指定され
る。つまり、アドレス変換テーブルのMOVE −IN
の可否はメモリ制御装置MCUの外部からソフトウェア
により指定される。
した場合には、CPUのプロセッサ状態語PSWもしく
は他のレジスタに設けられたキャッシング指定手段によ
り、アドレス変換テーブルの主記憶装置からキャッシュ
へのl’1OVu −INが行われるか否かが指定され
る。つまり、アドレス変換テーブルのMOVE −IN
の可否はメモリ制御装置MCUの外部からソフトウェア
により指定される。
第2図は本発明に係る情報処理装置の一実施例を示すブ
ロック図である。第2図において、1はC,P Uであ
って、プロセッサ状態語(レジスタ)PSWを備えてい
る。2は低速且つ大容量の主記憶装置、3は高速且つ小
容量のキャッシュであり、メモリ階層をなしている。主
記憶装置2およびキャッシュ3はメモリ制御装置4によ
り制御される。
ロック図である。第2図において、1はC,P Uであ
って、プロセッサ状態語(レジスタ)PSWを備えてい
る。2は低速且つ大容量の主記憶装置、3は高速且つ小
容量のキャッシュであり、メモリ階層をなしている。主
記憶装置2およびキャッシュ3はメモリ制御装置4によ
り制御される。
メモリ制御装置4は、論理アドレスLAと物理アドレス
RAとの変換対を記憶するアドレス変換バッファ (T
LB)41および動的アドレス変換部(DAT)42を
備えている。アドレス変換バッファ21はたとえば第1
0図に示す構成をなしている。
RAとの変換対を記憶するアドレス変換バッファ (T
LB)41および動的アドレス変換部(DAT)42を
備えている。アドレス変換バッファ21はたとえば第1
0図に示す構成をなしている。
通常、CPU1がメモリをアクセスする場合には、CP
U1が論理アドレスLAを出力し、メモリ制御装置4の
アドレス変換バッファ (TLB)41によって物理ア
ドレスRAに変換される。この物理アドレスRAを用い
てキャッシュ3がひかれる。キャッシュ3にヒツトしな
い場合には主記憶装置2がアクセスされる。
U1が論理アドレスLAを出力し、メモリ制御装置4の
アドレス変換バッファ (TLB)41によって物理ア
ドレスRAに変換される。この物理アドレスRAを用い
てキャッシュ3がひかれる。キャッシュ3にヒツトしな
い場合には主記憶装置2がアクセスされる。
アドレス変換が2段とし、1段目で指定される範囲をセ
クション、2段目で指定される範囲をページと呼ぶ。た
とえば、第4図に示すように、32ビツトアドレスの上
位10ビツトでセクション番号Slを指定し、次の10
ビツトでセクション内のページ番号PIを指定する。残
りの12ビットはアドレス変換の影響を受けないアドレ
ス部分である。この時のアドレス変換テーブルは第5図
のようになる。アドレス変換テーブルベースレジスタA
TTBRはメモリ制御装置4内の制御レジスタでセクシ
ョンテーブルの先頭を示す。DAT処理時に、セクショ
ンテーブルのエントリSTEは、八TTBRの指すアド
レスからSI番目のエントリが読まれる。さらに、ST
E中で指定されるページテーブルの先頭からPI番目の
、ページテーブルエントリPTEが読み込まれ、PTE
に書かれているアドレスが物理アドレスの上位20ビ、
トとして使用される。
クション、2段目で指定される範囲をページと呼ぶ。た
とえば、第4図に示すように、32ビツトアドレスの上
位10ビツトでセクション番号Slを指定し、次の10
ビツトでセクション内のページ番号PIを指定する。残
りの12ビットはアドレス変換の影響を受けないアドレ
ス部分である。この時のアドレス変換テーブルは第5図
のようになる。アドレス変換テーブルベースレジスタA
TTBRはメモリ制御装置4内の制御レジスタでセクシ
ョンテーブルの先頭を示す。DAT処理時に、セクショ
ンテーブルのエントリSTEは、八TTBRの指すアド
レスからSI番目のエントリが読まれる。さらに、ST
E中で指定されるページテーブルの先頭からPI番目の
、ページテーブルエントリPTEが読み込まれ、PTE
に書かれているアドレスが物理アドレスの上位20ビ、
トとして使用される。
TLBエントリの論理アドレスフィールドには、そのエ
ントリの示す論理アドレスの上位20ビツトからTLB
のRAMを読み出すのにアドレスとして使用される部分
を除いた部分が格納されている。また、TLBエントリ
の物理アドレスフィールドには、そのエントリの示す物
理アドレスの上位20ビツトが格納されている。
ントリの示す論理アドレスの上位20ビツトからTLB
のRAMを読み出すのにアドレスとして使用される部分
を除いた部分が格納されている。また、TLBエントリ
の物理アドレスフィールドには、そのエントリの示す物
理アドレスの上位20ビツトが格納されている。
アドレス変換テーブルのキャッシング方式を指定するた
めのATC制御信号を設けである。ATC制御信号は、
情報処理プロセッサのプロセッサ状態語PSW11の内
容、または5.プロセッサ内の他の制御レジスタの内容
により指定される。
めのATC制御信号を設けである。ATC制御信号は、
情報処理プロセッサのプロセッサ状態語PSW11の内
容、または5.プロセッサ内の他の制御レジスタの内容
により指定される。
ATC信号は、すべてのアドレス変換段に共通に方式A
/方弐Bの選択を指定する場合(ATCが1ピント)や
アドレス変換の各段について方式A/方弐Bを指定する
場合(ATCがNビット)があるが、ここでは、ATC
信号が2ビ・7トの場合を考える。すなわち、その1ビ
ツトはセクションテーブルエントリをキャッシュするか
否かを示しくATC−3とする)、他の1ビツトはペー
ジテーブルエントリをキャッシュするか否かを示す(A
TC−Pとする)。なお、PSWはプログラムから変更
可能である。
/方弐Bの選択を指定する場合(ATCが1ピント)や
アドレス変換の各段について方式A/方弐Bを指定する
場合(ATCがNビット)があるが、ここでは、ATC
信号が2ビ・7トの場合を考える。すなわち、その1ビ
ツトはセクションテーブルエントリをキャッシュするか
否かを示しくATC−3とする)、他の1ビツトはペー
ジテーブルエントリをキャッシュするか否かを示す(A
TC−Pとする)。なお、PSWはプログラムから変更
可能である。
第2図のメモリアクセス動作を第5図のフローチャート
を参照して説明する。なお、アドレス変換テーブルは物
理空間(M S U、キャッシュ)にあり、DATは、
上述のごとく、メモリ制御装置4にあるものとする。
を参照して説明する。なお、アドレス変換テーブルは物
理空間(M S U、キャッシュ)にあり、DATは、
上述のごとく、メモリ制御装置4にあるものとする。
ステップ501では、アクセスしようとする論理アドレ
スLAによりアドレス変換バッファ (TLB)41を
アクセスする。この結果、TLBにヒントしたときは、
ステップ502にてTLBの物理アドレスRAによりキ
ャッシュ3をひく。この結果、キャッシュにヒツトした
ときには、キャッシュ3の該当エントリのデータが読出
され、CPU1に送出され、ステップ504にてこのル
ーチンは終了する。他方キャッシュにヒツトしなかった
ときには、主記憶装置2がアクセスされ、該当エントリ
のデータが読出され、CPUIに送出される。
スLAによりアドレス変換バッファ (TLB)41を
アクセスする。この結果、TLBにヒントしたときは、
ステップ502にてTLBの物理アドレスRAによりキ
ャッシュ3をひく。この結果、キャッシュにヒツトした
ときには、キャッシュ3の該当エントリのデータが読出
され、CPU1に送出され、ステップ504にてこのル
ーチンは終了する。他方キャッシュにヒツトしなかった
ときには、主記憶装置2がアクセスされ、該当エントリ
のデータが読出され、CPUIに送出される。
なお、キャッシュ3にヒツトしなかった場合には、必要
に応じてL RU (Least Recently
Used)法でキャッシュ3のブロックが主記憶装置2
にMOVE −QtlTされ、次いで、上述の該当エン
トリを含むブロック全体が主記憶装置2からキャッシュ
3へMOVE−INされる。
に応じてL RU (Least Recently
Used)法でキャッシュ3のブロックが主記憶装置2
にMOVE −QtlTされ、次いで、上述の該当エン
トリを含むブロック全体が主記憶装置2からキャッシュ
3へMOVE−INされる。
ステップ501にてTLBミスしたときにはステップ5
05〜515が実行される。
05〜515が実行される。
ステップ505では、論理アドレスLAのSlフィール
ドの値にSTEの大きさを掛け、その結果をATTBR
に加え、LAに対応するSTEのアドレス(STEAと
する)を得る。次に、ステップ506にて、STEを読
出すために、5TEAをアドレスとしてキャッシュ3に
アクセス要求する。この時、メモリ制御装置4からキャ
ッシュ3に対する制御信号の一つであるキャッシュ可能
信号CAには、ATC−3信号を出力する。この結果、
キャッシュ3にヒツトした場合には、キャッシュされて
いるデータがそのままキャッシュ3からメモリ制御装置
4に送出され、ステップ510に進む。他方、キャッシ
ュ3にヒツトしなかったときには、ステップ507にて
主記憶装置2の該当エントリからデータが読出され、メ
モリ制御装置4に送出される。
ドの値にSTEの大きさを掛け、その結果をATTBR
に加え、LAに対応するSTEのアドレス(STEAと
する)を得る。次に、ステップ506にて、STEを読
出すために、5TEAをアドレスとしてキャッシュ3に
アクセス要求する。この時、メモリ制御装置4からキャ
ッシュ3に対する制御信号の一つであるキャッシュ可能
信号CAには、ATC−3信号を出力する。この結果、
キャッシュ3にヒツトした場合には、キャッシュされて
いるデータがそのままキャッシュ3からメモリ制御装置
4に送出され、ステップ510に進む。他方、キャッシ
ュ3にヒツトしなかったときには、ステップ507にて
主記憶装置2の該当エントリからデータが読出され、メ
モリ制御装置4に送出される。
さらに、ステップ508にて、制御信号CAのATC−
8信号がキャッシング可を示しているか否かを判別し、
キャッシング可のときのみ、ステップ509に進み、主
記憶装置2の上述の該当エン) IJを含むブロック全
体がキャッシュ3にMOVE −INされる。
8信号がキャッシング可を示しているか否かを判別し、
キャッシング可のときのみ、ステップ509に進み、主
記憶装置2の上述の該当エン) IJを含むブロック全
体がキャッシュ3にMOVE −INされる。
ステップ510では、論理アドレスLAのPIフィール
ドの値にPTEの大きさを掛け、その結果を今読み出し
たPTHにあるページテーブルのベースアドレスに加え
、LAに対応するPTEのアドレス(PTEAとする)
を得る。次に、ステップ511にて、PTEを読出すた
めに、PTEAをアドレスとしてキャッシュ3にアクセ
ス要求する。この時、メモリ制御装置4からキャッシュ
3に対する制御信号の一つであるキャッシュ可能信号C
Aには、ATC−P信号を出力する。この結果、キャッ
シュ3にヒツトした場合には、キャッシュされているデ
ータがそのままキャッシュ3からメモリ制御装置4に送
出され、ステップ515に進む。他方、キャッシュ3に
ヒツトしなかったときには、ステップ512にて主記憶
装置2の該当エントリからデータが読出され、メモリ制
御装置4に送出される。さらに、ステップ513にて、
制御信号CAのATC−P信号がキャッシング可を示し
ているか否かを判別し、キャッシング可のときのみ、ス
テップ514に進み、主記憶装置2の上述の該当エント
リを含むブロック全体がキャッシュ3にMOVEiNさ
れる。
ドの値にPTEの大きさを掛け、その結果を今読み出し
たPTHにあるページテーブルのベースアドレスに加え
、LAに対応するPTEのアドレス(PTEAとする)
を得る。次に、ステップ511にて、PTEを読出すた
めに、PTEAをアドレスとしてキャッシュ3にアクセ
ス要求する。この時、メモリ制御装置4からキャッシュ
3に対する制御信号の一つであるキャッシュ可能信号C
Aには、ATC−P信号を出力する。この結果、キャッ
シュ3にヒツトした場合には、キャッシュされているデ
ータがそのままキャッシュ3からメモリ制御装置4に送
出され、ステップ515に進む。他方、キャッシュ3に
ヒツトしなかったときには、ステップ512にて主記憶
装置2の該当エントリからデータが読出され、メモリ制
御装置4に送出される。さらに、ステップ513にて、
制御信号CAのATC−P信号がキャッシング可を示し
ているか否かを判別し、キャッシング可のときのみ、ス
テップ514に進み、主記憶装置2の上述の該当エント
リを含むブロック全体がキャッシュ3にMOVEiNさ
れる。
ステップ515では、メモリ制御装置4は、論理アドレ
スLAとPTEの内容をもとにアドレス変換対を生成し
、アドレス変換バッファ41に登録し、ステップ501
に戻る。
スLAとPTEの内容をもとにアドレス変換対を生成し
、アドレス変換バッファ41に登録し、ステップ501
に戻る。
ステップ501が再び実行されると、ステップ515で
既にアドレス変換対が登録されているので、必ずTLB
ヒツトし、ステップ502 、503に進み、キャッシ
ュ3もしくは主記憶装置2アクセスがアクセスされ、デ
ータがCPUIに送出されることになる。
既にアドレス変換対が登録されているので、必ずTLB
ヒツトし、ステップ502 、503に進み、キャッシ
ュ3もしくは主記憶装置2アクセスがアクセスされ、デ
ータがCPUIに送出されることになる。
そして、ステップ504にてこのルーチンは終了する。
なお、第5図のメモリアクセス手順はファームウェア等
で構成される。
で構成される。
本発明によれば、TLBのヒツトが低く、アドレス変換
テーブルへのアクセスのローカリティがある場合には、
アドレス変換テーブルのキャッシングを行うように設定
する。たとえば、第6図のように、4バイトX6553
6個の要素を持つ配列X。
テーブルへのアクセスのローカリティがある場合には、
アドレス変換テーブルのキャッシングを行うように設定
する。たとえば、第6図のように、4バイトX6553
6個の要素を持つ配列X。
Y、Z(それぞれ256KB)がメモリ上で隣合ってい
るとする。今、 for(i=0; i<65536;i++)Z[
i コ =X [i] +Y [i] ;とい
う、C言語の実行が行なわれると仮定する。
るとする。今、 for(i=0; i<65536;i++)Z[
i コ =X [i] +Y [i] ;とい
う、C言語の実行が行なわれると仮定する。
また、ハードウェアの方は、TLBをひく時のアドレス
が論理アドレスのPIの下位6ビソトで、TLBが2ウ
エイのセットアソシアティブ方式でリプレースアルゴリ
ズムがLRU法で構成されていたとする。この時、X
[i] 、Y [i] 、 Z[i]は別のページ
にあるが、論理アドレスのPIの下位6ビツトは常に一
致するため、TLBでは、同じセットになる(つまり、
TLBが同じアドレスでひかれる)。従って、上記プロ
グラムのように、X [i] 、Y [i] 、Z
[i]をこの順にアクセスすると、第7図のように、
必ずTLBミスが起こり、CPUの性能が低下する。こ
のような場合に、アドレス変換テーブルがキャッシング
されていないと、配列の1要素をアクセスする度に、ア
ドレス変換テーブルを2回ひくため、配列の要素をキャ
ッシングしていない場合で2倍、キャッシングしていて
ヒツト率が高い場合には2×(主記憶のアクセス時間÷
キャッシングのアクセス時間)もの主記憶アクセスが必
要になる。
が論理アドレスのPIの下位6ビソトで、TLBが2ウ
エイのセットアソシアティブ方式でリプレースアルゴリ
ズムがLRU法で構成されていたとする。この時、X
[i] 、Y [i] 、 Z[i]は別のページ
にあるが、論理アドレスのPIの下位6ビツトは常に一
致するため、TLBでは、同じセットになる(つまり、
TLBが同じアドレスでひかれる)。従って、上記プロ
グラムのように、X [i] 、Y [i] 、Z
[i]をこの順にアクセスすると、第7図のように、
必ずTLBミスが起こり、CPUの性能が低下する。こ
のような場合に、アドレス変換テーブルがキャッシング
されていないと、配列の1要素をアクセスする度に、ア
ドレス変換テーブルを2回ひくため、配列の要素をキャ
ッシングしていない場合で2倍、キャッシングしていて
ヒツト率が高い場合には2×(主記憶のアクセス時間÷
キャッシングのアクセス時間)もの主記憶アクセスが必
要になる。
一般に、主記憶のアクセス時間はキャッシュのアクセス
時間の数倍〜10数倍である。そこで、このようなプロ
グラムに対しては、PSWでアドレス変換テーブルのキ
ャッシュを指示する。その結果、DAT時の主記憶アク
セスが減り、DATの処理時間も短縮される。
時間の数倍〜10数倍である。そこで、このようなプロ
グラムに対しては、PSWでアドレス変換テーブルのキ
ャッシュを指示する。その結果、DAT時の主記憶アク
セスが減り、DATの処理時間も短縮される。
他方、通常のプログラムでは、TLBのヒント率が充分
高いため、アドレス変換テーブルのキャッシングを行う
と、そのMOVE−INは殆ど無駄になるので、キャッ
シングを行わないようにPSWを設定する。
高いため、アドレス変換テーブルのキャッシングを行う
と、そのMOVE−INは殆ど無駄になるので、キャッ
シングを行わないようにPSWを設定する。
以上説明したように本発明によれば、アドレス変換テー
ブルのキャッシング方法をソフトウェアから指定できる
ため、ソフトウェアの性質に応じたアドレス変換テーブ
ルのキャッシングを行うことができ、その結果、CPU
の性能の低下が避けられる。
ブルのキャッシング方法をソフトウェアから指定できる
ため、ソフトウェアの性質に応じたアドレス変換テーブ
ルのキャッシングを行うことができ、その結果、CPU
の性能の低下が避けられる。
第1図は本発明の基本構成を示すブロック図、第2図は
本発明に係る情報処理装置の一実施例を示すブロック図
、 第3図は第2図において論理アドレスから物理アドレス
への変換を示す図、 第4図は第2図におけるアドレス変換テーブルを示す図
、 第5図は第2図のメモリアクセス手順を示すフローチャ
ート、 第6図は第5図におけるキャッシングを行う場合を説明
するためのデータ配列の例を示す図、第7図はTLBエ
ントリの時間変化の例を示す図、 第8図は一般的なアドレス変換を示す図、第9図は一般
的なアドレス変換テーブルを示す図、 第10図は一般的なアドレス変換バッファを示す回路図
である。 1・・・CPU。 2・・・主記憶装置(MSU)、 3・・・キャッシュ、 4・・・メモリ制御装置(MCU)、 41・・・アドレス変換バッファ (TLB)、42・
・・動的アドレス変換部(DAT)。
本発明に係る情報処理装置の一実施例を示すブロック図
、 第3図は第2図において論理アドレスから物理アドレス
への変換を示す図、 第4図は第2図におけるアドレス変換テーブルを示す図
、 第5図は第2図のメモリアクセス手順を示すフローチャ
ート、 第6図は第5図におけるキャッシングを行う場合を説明
するためのデータ配列の例を示す図、第7図はTLBエ
ントリの時間変化の例を示す図、 第8図は一般的なアドレス変換を示す図、第9図は一般
的なアドレス変換テーブルを示す図、 第10図は一般的なアドレス変換バッファを示す回路図
である。 1・・・CPU。 2・・・主記憶装置(MSU)、 3・・・キャッシュ、 4・・・メモリ制御装置(MCU)、 41・・・アドレス変換バッファ (TLB)、42・
・・動的アドレス変換部(DAT)。
Claims (1)
- 【特許請求の範囲】 1、主記憶装置(MSU)、該主記憶装置をバッファリ
ングするキャッシュ(3)、および該主記憶装置および
キャッシュを制御するメモリ制御装置(MCU)を具備
し、該メモリ制御装置が、論理アドレス(LA)と物理
アドレス(RA)との変換対を記憶するアドレス変換バ
ッファ(TLB)と、前記主記憶装置に格納されたアド
レス変換テーブルにより論理アドレス(LA)を物理ア
ドレス(RA)に変換する動的アドレス変換部(DAT
)とを具備する情報処理装置であって、前記主記憶装置
をアクセスするために論理アドレスにより前記アドレス
変換バッファをアクセスするアドレス変換バッファアク
セス手段と、前記アドレス変換バッファにミスヒットし
たときに前記動的アドレス変換部を動作させるアドレス
変換処理手段と、 前記動的アドレス変換部の出力に応じて前記キャッシュ
の前記アドレス変換テーブルをアクセスするキャッシュ
アクセス手段と、 前記主記憶装置のアドレス変換デーブルの内容を前記キ
ャッシュにキヤッシング(MOVE−IN)するか否か
を指定するキヤッシング指定手段(PSW)と、 前記キャッシュにミスヒットしたときにあって前記キヤ
ッシングが指定されているときには、前記動的アドレス
変換部の出力に応じた前記主記憶装置のエントリを読出
すと共に当該エントリを含むブロックを前記キャッシュ
にキヤッシング(MOVE−IN)する第1の読出手段
と、前記キャッシュにミスヒットしたときにあって前記
キヤッシングが指定されていないときには、前記動的ア
ドレス変換部の出力に応じた前記主記憶装置のエントリ
を読出す第2の読出手段と、該第1もしくは第2の読出
手段により読出されたエントリにより前記アドレス変換
バッファを更新するアドレス変換バッファ更新手段と、 を具備する情報処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP62262902A JPH01106149A (ja) | 1987-10-20 | 1987-10-20 | 情報処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP62262902A JPH01106149A (ja) | 1987-10-20 | 1987-10-20 | 情報処理装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH01106149A true JPH01106149A (ja) | 1989-04-24 |
Family
ID=17382196
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP62262902A Pending JPH01106149A (ja) | 1987-10-20 | 1987-10-20 | 情報処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH01106149A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008522321A (ja) * | 2004-12-02 | 2008-06-26 | インテル・コーポレーション | 高性能な方法でcpu又は処理エレメントから物理メモリにアクセスするための方法及び装置 |
JPWO2006100776A1 (ja) * | 2005-03-24 | 2008-08-28 | 富士通株式会社 | ファームウェアによるメモリエラーアドレス管理 |
WO2008155825A1 (ja) * | 2007-06-19 | 2008-12-24 | Fujitsu Limited | 演算処理装置および演算処理方法 |
-
1987
- 1987-10-20 JP JP62262902A patent/JPH01106149A/ja active Pending
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008522321A (ja) * | 2004-12-02 | 2008-06-26 | インテル・コーポレーション | 高性能な方法でcpu又は処理エレメントから物理メモリにアクセスするための方法及び装置 |
US9280473B2 (en) | 2004-12-02 | 2016-03-08 | Intel Corporation | Method and apparatus for accessing physical memory from a CPU or processing element in a high performance manner |
US9710385B2 (en) | 2004-12-02 | 2017-07-18 | Intel Corporation | Method and apparatus for accessing physical memory from a CPU or processing element in a high performance manner |
US10282300B2 (en) | 2004-12-02 | 2019-05-07 | Intel Corporation | Accessing physical memory from a CPU or processing element in a high performance manner |
JPWO2006100776A1 (ja) * | 2005-03-24 | 2008-08-28 | 富士通株式会社 | ファームウェアによるメモリエラーアドレス管理 |
JP4523639B2 (ja) * | 2005-03-24 | 2010-08-11 | 富士通株式会社 | ファームウェアによるメモリエラーアドレス管理 |
WO2008155825A1 (ja) * | 2007-06-19 | 2008-12-24 | Fujitsu Limited | 演算処理装置および演算処理方法 |
JPWO2008155825A1 (ja) * | 2007-06-19 | 2010-08-26 | 富士通株式会社 | 演算処理装置および演算処理方法 |
JP4608011B2 (ja) * | 2007-06-19 | 2011-01-05 | 富士通株式会社 | 演算処理装置および演算処理方法 |
US8296518B2 (en) | 2007-06-19 | 2012-10-23 | Fujitsu Limited | Arithmetic processing apparatus and method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6505132B2 (ja) | メモリ容量圧縮を利用するメモリコントローラならびに関連するプロセッサベースのシステムおよび方法 | |
US6912628B2 (en) | N-way set-associative external cache with standard DDR memory devices | |
KR100339904B1 (ko) | 캐시 프로세스용 시스템 및 방법 | |
US8621152B1 (en) | Transparent level 2 cache that uses independent tag and valid random access memory arrays for cache access | |
JP2017516234A (ja) | 次の読取りアドレスプリフェッチングによるメモリ容量圧縮および/またはメモリ帯域幅圧縮を利用するメモリコントローラ、ならびに関連するプロセッサベースシステムおよび方法 | |
JPS61156346A (ja) | 記憶階層の先取り装置 | |
JPH09259036A (ja) | ライトバックキャッシュおよびライトバックキャッシュ内で整合性を維持する方法 | |
JPH03142644A (ja) | キャッシュメモリ制御方法とこのキャッシュメモリ制御方法を用いたプロセッサおよび情報処理装置 | |
JPH06110781A (ja) | キャッシュメモリ装置 | |
JP2009512943A (ja) | 多階層の変換索引緩衝機構(TLBs)フィールドの更新 | |
US11803482B2 (en) | Process dedicated in-memory translation lookaside buffers (TLBs) (mTLBs) for augmenting memory management unit (MMU) TLB for translating virtual addresses (VAs) to physical addresses (PAs) in a processor-based system | |
JP6478843B2 (ja) | 半導体装置及びキャッシュメモリ制御方法 | |
EP3553665B1 (en) | Non-volatile memory access method, device, and system | |
US20030200395A1 (en) | Interleaved n-way set-associative external cache | |
WO2024066195A1 (zh) | 缓存管理方法及装置、缓存装置、电子装置和介质 | |
AU2247492A (en) | Improving computer performance by simulated cache associativity | |
US5737575A (en) | Interleaved key memory with multi-page key cache | |
JPS6111865A (ja) | メモリアクセス制御方式 | |
US6311253B1 (en) | Methods for caching cache tags | |
EP0942376A1 (en) | Method and system for pre-fetch cache interrogation using snoop port | |
US7949833B1 (en) | Transparent level 2 cache controller | |
US6686920B1 (en) | Optimizing the translation of virtual addresses into physical addresses using a pipeline implementation for least recently used pointer | |
US10565111B2 (en) | Processor | |
EP0474356A1 (en) | Cache memory and operating method | |
JPH01106149A (ja) | 情報処理装置 |