JPH06187244A - アドレス変換バッファ機構 - Google Patents
アドレス変換バッファ機構Info
- Publication number
- JPH06187244A JPH06187244A JP4341905A JP34190592A JPH06187244A JP H06187244 A JPH06187244 A JP H06187244A JP 4341905 A JP4341905 A JP 4341905A JP 34190592 A JP34190592 A JP 34190592A JP H06187244 A JPH06187244 A JP H06187244A
- Authority
- JP
- Japan
- Prior art keywords
- address
- address translation
- entry
- buffer
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1027—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/68—Details of translation look-aside buffer [TLB]
- G06F2212/681—Multi-level TLB, e.g. microTLB and main TLB
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
(57)【要約】 (修正有)
【目的】 大容量のアドレス変換バッファが故障しても
動作を継続させる。 【構成】 ダイレクトマッピング方式またはセットアソ
シアティブ方式のアドレス変換バッファ7a〜7mにミ
スヒットが発生するとミスヒットが発生したアドレス変
換バッファのエントリのエラービットがリセット状態の
場合にリプレースにより置き換えられるエントリの情報
をフルアソシアティブ方式のアドレス変換バッファ9に
コピーして、ミスヒットアドレスに関する情報をアドレ
ス変換バッファ7a〜7mのミスヒットエントリに登録
し、エントリのエラービットがセット状態の場合にリプ
レースにより置き換えられるエントリの情報をフルアソ
シアティブ方式のアドレス変換バッファ9にコピーする
手段とを備える。
動作を継続させる。 【構成】 ダイレクトマッピング方式またはセットアソ
シアティブ方式のアドレス変換バッファ7a〜7mにミ
スヒットが発生するとミスヒットが発生したアドレス変
換バッファのエントリのエラービットがリセット状態の
場合にリプレースにより置き換えられるエントリの情報
をフルアソシアティブ方式のアドレス変換バッファ9に
コピーして、ミスヒットアドレスに関する情報をアドレ
ス変換バッファ7a〜7mのミスヒットエントリに登録
し、エントリのエラービットがセット状態の場合にリプ
レースにより置き換えられるエントリの情報をフルアソ
シアティブ方式のアドレス変換バッファ9にコピーする
手段とを備える。
Description
【0001】
【産業上の利用分野】本発明は、仮想記憶制御方式の計
算機に用いられて仮想アドレスを物理アドレスに変換す
るアドレス変換バッファ機構のうち、特に、大容量のア
ドレス変換バッファに障害が発生すると当該大容量のア
ドレス変換バッファに記憶されているデータを当該複数
のアドレス変換を伴う命令を同時に実行するアドレス変
換バッファに記憶させるリプレース処理を可能にするこ
とにより、大容量のアドレス変換バッファが故障しても
動作を継続できるアドレス変換バッファ機構に関する。
算機に用いられて仮想アドレスを物理アドレスに変換す
るアドレス変換バッファ機構のうち、特に、大容量のア
ドレス変換バッファに障害が発生すると当該大容量のア
ドレス変換バッファに記憶されているデータを当該複数
のアドレス変換を伴う命令を同時に実行するアドレス変
換バッファに記憶させるリプレース処理を可能にするこ
とにより、大容量のアドレス変換バッファが故障しても
動作を継続できるアドレス変換バッファ機構に関する。
【0002】
【従来の技術】近年、計算機の処理能力の向上により、
高速で大容量の記憶装置が要求され、当該高速で大容量
の記憶装置を実現するため、記憶装置の階層化という技
法が考え出された。
高速で大容量の記憶装置が要求され、当該高速で大容量
の記憶装置を実現するため、記憶装置の階層化という技
法が考え出された。
【0003】上記記憶装置の階層化の仮想記憶は、デー
タを補助記憶装置に記憶し、参照頻度の高いデータを主
記憶装置に移すことにより、主記憶装置の容量より多い
データの参照を効率よく行うものである。上記仮想記憶
を備えた仮想記憶制御方式の計算機は、プログラマが使
用するアドレス空間のアドレスを示す仮想アドレスを主
記憶装置のアドレスである実アドレスに変換するアドレ
ス変換が必要である。上記アドレス変換には、動的アド
レス変換(DAT)に比べセグメント番号とページ番号
から直ちにぺージ枠アドレスを取り出せる変換牽引緩衝
機構(Translation look asido buffer : 以下、T
LBという。)がある。上記TLBを備えた仮想記憶の
計算機は、通常、1命令を逐次実行する逐次型計算機で
あるが、計算機システムの一層の高速化および高信頼化
を図るため、また、人口知能などの新しい応用分野に対
応するため、並列処理の導入が不可欠となっている。
タを補助記憶装置に記憶し、参照頻度の高いデータを主
記憶装置に移すことにより、主記憶装置の容量より多い
データの参照を効率よく行うものである。上記仮想記憶
を備えた仮想記憶制御方式の計算機は、プログラマが使
用するアドレス空間のアドレスを示す仮想アドレスを主
記憶装置のアドレスである実アドレスに変換するアドレ
ス変換が必要である。上記アドレス変換には、動的アド
レス変換(DAT)に比べセグメント番号とページ番号
から直ちにぺージ枠アドレスを取り出せる変換牽引緩衝
機構(Translation look asido buffer : 以下、T
LBという。)がある。上記TLBを備えた仮想記憶の
計算機は、通常、1命令を逐次実行する逐次型計算機で
あるが、計算機システムの一層の高速化および高信頼化
を図るため、また、人口知能などの新しい応用分野に対
応するため、並列処理の導入が不可欠となっている。
【0004】上記並列処理を実行する並列実行型計算機
には、ノイマン型並列計算機のうち、比較的長い命令を
多数のフィールドに分割し、個々のフィールドで演算器
やメモリを独立に制御するVLIW(Very long instr
uction word )方式がある。上記VLIW方式は、例え
ば、ロード命令、ストア命令、分岐命令およびJUMP
命令などのアドレス変換を必要とする命令を1サイクル
に同時に実行する命令列である1クラスタに配置できる
ものである。上記VLIW方式は、例えば、ロード命令
等の4命令を1クラスタに配置して、当該4命令を実行
して各命令が重ならないようにするため、4個のエント
リが必要であり、更に、戻り番地のエントリのウェイ数
をTLBエントリとして持つ方式である。
には、ノイマン型並列計算機のうち、比較的長い命令を
多数のフィールドに分割し、個々のフィールドで演算器
やメモリを独立に制御するVLIW(Very long instr
uction word )方式がある。上記VLIW方式は、例え
ば、ロード命令、ストア命令、分岐命令およびJUMP
命令などのアドレス変換を必要とする命令を1サイクル
に同時に実行する命令列である1クラスタに配置できる
ものである。上記VLIW方式は、例えば、ロード命令
等の4命令を1クラスタに配置して、当該4命令を実行
して各命令が重ならないようにするため、4個のエント
リが必要であり、更に、戻り番地のエントリのウェイ数
をTLBエントリとして持つ方式である。
【0005】上記ロード命令等が、同時に実行して同時
にTLB(アドレス変換バッファ)ミスヒットした場合
は、以下の示す対策が施されている。
にTLB(アドレス変換バッファ)ミスヒットした場合
は、以下の示す対策が施されている。
【0006】まず、第1の方式は、同時にTLBミスヒ
ットが発生する可能性の数、この場合、ロード命令等と
TLBリプレース後の戻り番地のウェイ数とをTLBエ
ントリとして持つ方式である。上記第1の方式では、大
容量のTLBを持つとすると4ウェイのインタリーブし
かなく、キャッシュメモリのセットアソシアティブ方式
の数を増やすことしかないが、例えば、SRAMの8K
エントリの場合、キャッシュメモリが大きくなりRAM
の個数も大きくなる。従って、RAMをボード上に実装
する関係、同時にアドレス変換する命令の数に制約がで
きるものであった。
ットが発生する可能性の数、この場合、ロード命令等と
TLBリプレース後の戻り番地のウェイ数とをTLBエ
ントリとして持つ方式である。上記第1の方式では、大
容量のTLBを持つとすると4ウェイのインタリーブし
かなく、キャッシュメモリのセットアソシアティブ方式
の数を増やすことしかないが、例えば、SRAMの8K
エントリの場合、キャッシュメモリが大きくなりRAM
の個数も大きくなる。従って、RAMをボード上に実装
する関係、同時にアドレス変換する命令の数に制約がで
きるものであった。
【0007】次に、第2の方式は、第1の方式において
必要とされるウェイ数以上のフルアソシアティブエント
リを有する方式である。上記第2の方式は、チップの中
でレジスタを実現しようとすると、例えば、128Kエ
ントリしか持つことができない。従って、レジスタが大
きいためチップの中にいくつも配置できない。また、フ
ルアソシアティブ方式のTLBは、当該エントリの全て
にヒット/ミスヒットを判定する判定回路およびその他
の比較回路と制御回路を備えるためにハード量が増加す
るものであった。
必要とされるウェイ数以上のフルアソシアティブエント
リを有する方式である。上記第2の方式は、チップの中
でレジスタを実現しようとすると、例えば、128Kエ
ントリしか持つことができない。従って、レジスタが大
きいためチップの中にいくつも配置できない。また、フ
ルアソシアティブ方式のTLBは、当該エントリの全て
にヒット/ミスヒットを判定する判定回路およびその他
の比較回路と制御回路を備えるためにハード量が増加す
るものであった。
【0008】
【発明が解決しようとする課題】しかしながら、第1の
方式は、例えば、チップの外部のRAMによりTLBを
構成する場合、チップとチップの外部のRAMのインタ
ーフェースがウェイ数に比例して多くなるため、命令の
並列処理を向上するとチップのI/Oピンの数が増加す
る。また、上記チップ外付けのTLBを構成するRAM
が故障した場合には、TLB変換バッファ機構として機
能しないため必要とされるウェイ数を確保できない問題
があった。
方式は、例えば、チップの外部のRAMによりTLBを
構成する場合、チップとチップの外部のRAMのインタ
ーフェースがウェイ数に比例して多くなるため、命令の
並列処理を向上するとチップのI/Oピンの数が増加す
る。また、上記チップ外付けのTLBを構成するRAM
が故障した場合には、TLB変換バッファ機構として機
能しないため必要とされるウェイ数を確保できない問題
があった。
【0009】また、チップ内部に必要なウェイ数を実現
するには、チップの面積による制約およびシリコン上の
配線領域が多くなるため大容量TLBを実装するのが困
難であった。
するには、チップの面積による制約およびシリコン上の
配線領域が多くなるため大容量TLBを実装するのが困
難であった。
【0010】一方、第2の方式は、フルアソシアティブ
方式のTLBおいて、当該TLBのエントリの全てにヒ
ット/ミスヒットの判定回路やその他の比較器/制御回
路を備えるため、ハード量が増加して大容量のTLBを
備えられず、一般に100エントリ以下のフルアソシア
ティブを有する仮想記憶制御方式の計算機システムが大
部分であった。また、第2の方式は、必要最小限のTL
Bエントリをサポートできるが、容量が小さいためにT
LBのヒット率を向上するのが難しくミスヒットの発生
によるシステムの処理速度の低下が問題であった。
方式のTLBおいて、当該TLBのエントリの全てにヒ
ット/ミスヒットの判定回路やその他の比較器/制御回
路を備えるため、ハード量が増加して大容量のTLBを
備えられず、一般に100エントリ以下のフルアソシア
ティブを有する仮想記憶制御方式の計算機システムが大
部分であった。また、第2の方式は、必要最小限のTL
Bエントリをサポートできるが、容量が小さいためにT
LBのヒット率を向上するのが難しくミスヒットの発生
によるシステムの処理速度の低下が問題であった。
【0011】以上のように、複数のアドレス変換バッフ
ァを使用する命令は、1サイクルに1個しか実行できな
いため同時実行が難しい。このため、命令の並列実行な
どの処理の並列化を進めるにつれて、仮想記憶制御方式
の計算機の並列処理が困難になる問題があった。
ァを使用する命令は、1サイクルに1個しか実行できな
いため同時実行が難しい。このため、命令の並列実行な
どの処理の並列化を進めるにつれて、仮想記憶制御方式
の計算機の並列処理が困難になる問題があった。
【0012】本発明は、このような従来の課題を解決す
るためになされたものであり、その目的は、大容量のア
ドレス変換バッファと複数のアドレス変換を伴う命令を
同時に実行するアドレス変換バッファとを備えて、当該
大容量のアドレス変換バッファに障害が発生すると当該
大容量のアドレス変換バッファに記憶されているデータ
を当該複数のアドレス変換を伴う命令を同時に実行する
アドレス変換バッファに記憶させるリプレース処理を可
能にすることにより、大容量のアドレス変換バッファが
故障しても動作を継続できるアドレス変換バッファ機構
を提供することにある。
るためになされたものであり、その目的は、大容量のア
ドレス変換バッファと複数のアドレス変換を伴う命令を
同時に実行するアドレス変換バッファとを備えて、当該
大容量のアドレス変換バッファに障害が発生すると当該
大容量のアドレス変換バッファに記憶されているデータ
を当該複数のアドレス変換を伴う命令を同時に実行する
アドレス変換バッファに記憶させるリプレース処理を可
能にすることにより、大容量のアドレス変換バッファが
故障しても動作を継続できるアドレス変換バッファ機構
を提供することにある。
【0013】
【課題を解決するための手段】上記目的を達成するた
め、本発明は、複数の命令について仮想アドレスから物
理アドレスに変換するアドレス変換を実行するときに発
生するアドレス変換エラーを行うのに必要なエントリの
フルアソシアティブで構成されるフルアソシアティブ方
式のアドレス変換バッファと、ダイレクトマッピング又
はセットアソシアティブで構成される大容量のダイレク
トマッピング方式またはセットアソシアティブ方式のア
ドレス変換バッファとを具備して、前記ダイレクトマッ
ピング方式またはセットアソシアティブ方式のアドレス
変換バッファにミスヒットが発生すると当該ミスヒット
が発生したアドレス変換バッファのエントリのエラービ
ットがリセット状態の場合にリプレースにより置き換え
られるエントリの情報を前記フルアソシアティブ方式の
アドレス変換バッファにコピーして、ミスヒットアドレ
スに関する情報をダイレクトマッピング方式またはセッ
トアソシアティブ方式のアドレス変換バッファのミスヒ
ットエントリに登録し、当該ダイレクトマッピング方式
またはセットアソシアティブ方式のアドレス変換バッフ
ァのエントリのエラービットがセット状態の場合にリプ
レースにより置き換えられるエントリの情報を当該フル
アソシアティブ方式のアドレス変換バッファにコピーす
る手段と、を備えたことを要旨とする。
め、本発明は、複数の命令について仮想アドレスから物
理アドレスに変換するアドレス変換を実行するときに発
生するアドレス変換エラーを行うのに必要なエントリの
フルアソシアティブで構成されるフルアソシアティブ方
式のアドレス変換バッファと、ダイレクトマッピング又
はセットアソシアティブで構成される大容量のダイレク
トマッピング方式またはセットアソシアティブ方式のア
ドレス変換バッファとを具備して、前記ダイレクトマッ
ピング方式またはセットアソシアティブ方式のアドレス
変換バッファにミスヒットが発生すると当該ミスヒット
が発生したアドレス変換バッファのエントリのエラービ
ットがリセット状態の場合にリプレースにより置き換え
られるエントリの情報を前記フルアソシアティブ方式の
アドレス変換バッファにコピーして、ミスヒットアドレ
スに関する情報をダイレクトマッピング方式またはセッ
トアソシアティブ方式のアドレス変換バッファのミスヒ
ットエントリに登録し、当該ダイレクトマッピング方式
またはセットアソシアティブ方式のアドレス変換バッフ
ァのエントリのエラービットがセット状態の場合にリプ
レースにより置き換えられるエントリの情報を当該フル
アソシアティブ方式のアドレス変換バッファにコピーす
る手段と、を備えたことを要旨とする。
【0014】
【作用】上述の如く構成すれば、ダイレクトマッピング
又はセットアソシアティブで構成される大容量のダイレ
クトマッピング方式またはセットアソシアティブ方式の
アドレス変換バッファにミスヒットが発生すると当該ミ
スヒットが発生したアドレス変換バッファのエントリの
エラービットを調べる。当該エラービットがリセット状
態の場合は、リプレースにより置き換えられるエントリ
の情報を複数の命令について仮想アドレスから物理アド
レスに変換するアドレス変換を実行するときに発生する
アドレス変換エラーを行うのに必要なエントリのフルア
ソシアティブで構成されるフルアソシアティブ方式のア
ドレス変換バッファにコピーして、ミスヒットアドレス
に関する情報をダイレクトマッピング方式またはセット
アソシアティブ方式のアドレス変換バッファのミスヒッ
トエントリに登録する。
又はセットアソシアティブで構成される大容量のダイレ
クトマッピング方式またはセットアソシアティブ方式の
アドレス変換バッファにミスヒットが発生すると当該ミ
スヒットが発生したアドレス変換バッファのエントリの
エラービットを調べる。当該エラービットがリセット状
態の場合は、リプレースにより置き換えられるエントリ
の情報を複数の命令について仮想アドレスから物理アド
レスに変換するアドレス変換を実行するときに発生する
アドレス変換エラーを行うのに必要なエントリのフルア
ソシアティブで構成されるフルアソシアティブ方式のア
ドレス変換バッファにコピーして、ミスヒットアドレス
に関する情報をダイレクトマッピング方式またはセット
アソシアティブ方式のアドレス変換バッファのミスヒッ
トエントリに登録する。
【0015】一方、上記エラービットがセット状態の場
合は、ダイレクトマッピング方式またはセットアソシア
ティブ方式のアドレス変換バッファのエントリのエラー
ビットがセット状態の場合にリプレースにより置き換え
られるエントリの情報を当該フルアソシアティブ方式の
アドレス変換バッファにコピーするので、大容量のアド
レス変換バッファに故障が発生しても動作の継続を実現
できる。
合は、ダイレクトマッピング方式またはセットアソシア
ティブ方式のアドレス変換バッファのエントリのエラー
ビットがセット状態の場合にリプレースにより置き換え
られるエントリの情報を当該フルアソシアティブ方式の
アドレス変換バッファにコピーするので、大容量のアド
レス変換バッファに故障が発生しても動作の継続を実現
できる。
【0016】
【実施例】以下、本発明の一実施例を図面に基づいて説
明する。
明する。
【0017】図1は本発明のアドレス変換バッファ機構
に係る一実施例の要部を示す構成図である。
に係る一実施例の要部を示す構成図である。
【0018】上記アドレス変換バッファ機構1は、CP
U(中央処理装置)内に設けられ、動的アドレス変換
(DAT)に比べセグメント番号とページ番号から直ち
にぺージ枠アドレスを取り出せる変換牽引緩衝機構(T
ranslation look asido buffer : 以下、TLBとい
う。)を備え、当該TLBのエントリ(セグメント記述
子)でヒットしていると仮想アドレスから物理アドレス
に変換するものである。なお、システム全体の制御は、
例えば、ワークステーションの場合にはオペレーティン
グシステム(以下、OSという。)により制御される。
U(中央処理装置)内に設けられ、動的アドレス変換
(DAT)に比べセグメント番号とページ番号から直ち
にぺージ枠アドレスを取り出せる変換牽引緩衝機構(T
ranslation look asido buffer : 以下、TLBとい
う。)を備え、当該TLBのエントリ(セグメント記述
子)でヒットしていると仮想アドレスから物理アドレス
に変換するものである。なお、システム全体の制御は、
例えば、ワークステーションの場合にはオペレーティン
グシステム(以下、OSという。)により制御される。
【0019】また、アドレス変換バッファ機構1は、演
算制御部3とキャッシュメモリ制御部5との中間に設け
られ、演算制御部3からのアドレス変換リクエスト(仮
想アドレス)1〜アドレス変換リクエスト(仮想アドレ
ス)Mを物理アドレス1〜物理アドレスMに変換してキ
ャッシュメモリ制御部5に出力するものである。
算制御部3とキャッシュメモリ制御部5との中間に設け
られ、演算制御部3からのアドレス変換リクエスト(仮
想アドレス)1〜アドレス変換リクエスト(仮想アドレ
ス)Mを物理アドレス1〜物理アドレスMに変換してキ
ャッシュメモリ制御部5に出力するものである。
【0020】更に、アドレス変換バッファ機構1は、キ
ャッシュメモリの各セットに収容可能なブロック数のウ
ェイ数が1の大容量の記憶容量を有する1個〜m個のダ
イレクトマッピング方式のアドレス変換バッファ(以
下、DMTLBという。)7a〜7m、キャッシュメモ
リの任意のブロックと主記憶装置の任意のブロックとを
対応させてアドレス変換を必要とする命令を同時実行す
るのに必要なウェイ数を確保するフルアソシアティブ方
式のアドレス変換バッファ(以下、FATLBとい
う。)9を備えている。そして、アドレス変換バッファ
機構1は、FATLB9およびDMTLB7a〜7mか
ら物理アドレスを選択するセレクタ11a〜11mを備
えた構成であり、DMTLB7a〜7mのエントリの正
常または故障の状態により動作が異なる。
ャッシュメモリの各セットに収容可能なブロック数のウ
ェイ数が1の大容量の記憶容量を有する1個〜m個のダ
イレクトマッピング方式のアドレス変換バッファ(以
下、DMTLBという。)7a〜7m、キャッシュメモ
リの任意のブロックと主記憶装置の任意のブロックとを
対応させてアドレス変換を必要とする命令を同時実行す
るのに必要なウェイ数を確保するフルアソシアティブ方
式のアドレス変換バッファ(以下、FATLBとい
う。)9を備えている。そして、アドレス変換バッファ
機構1は、FATLB9およびDMTLB7a〜7mか
ら物理アドレスを選択するセレクタ11a〜11mを備
えた構成であり、DMTLB7a〜7mのエントリの正
常または故障の状態により動作が異なる。
【0021】上記FATLB9は、1サイクルに同時に
実行する命令列である1クラスタにアドレス変換の必要
な命令が複数配置されている場合にアドレス変換に必要
な命令数(N個)とクラスタ自身の戻り番地(1個)と
の和であるN+1のウェイ数を有する。
実行する命令列である1クラスタにアドレス変換の必要
な命令が複数配置されている場合にアドレス変換に必要
な命令数(N個)とクラスタ自身の戻り番地(1個)と
の和であるN+1のウェイ数を有する。
【0022】上記DMTLB7a〜7mが正常に動作し
ている場合は、DMTLB7a〜7mのウェイ数とFA
TLB9のエントリ数とを加えた数が同時に実行する命
令数を備えていればアドレス変換を実行できる。一方、
DMTLB7a〜7mに故障が発生した場合は、FAT
LB9にN+1のエントリを備えていればアドレス変換
の処理を故障にかかわらず継続できる。
ている場合は、DMTLB7a〜7mのウェイ数とFA
TLB9のエントリ数とを加えた数が同時に実行する命
令数を備えていればアドレス変換を実行できる。一方、
DMTLB7a〜7mに故障が発生した場合は、FAT
LB9にN+1のエントリを備えていればアドレス変換
の処理を故障にかかわらず継続できる。
【0023】なお、本実施例は大容量のアドレス変換バ
ッファにダイレクトマッピング方式を用いたが、セット
アソシアティブ方式のアドレス変換バッファを用いても
同様の効果がある。
ッファにダイレクトマッピング方式を用いたが、セット
アソシアティブ方式のアドレス変換バッファを用いても
同様の効果がある。
【0024】次に、図1において説明したアドレス変換
バッファ機構1を、例えば、情報処理装置のシステムに
適用した場合を図2のブロック図を用いて説明する。
バッファ機構1を、例えば、情報処理装置のシステムに
適用した場合を図2のブロック図を用いて説明する。
【0025】上記システムは、大容量のDMTLB7
a,7bの2つと、アドレス変換を必要とする命令を同
時実行するのに必要なウェイ数を確保する4エントリの
FATLB9とを備えて、2つのアドレス変換リクエス
トを同時に処理するアドレス変換バッファとして機能す
るものである。上記アドレス変換を必要とする命令を同
時実行するのに必要なウェイ数は、例えば、DMTLB
7aにてロード命令/ストア命令、DMTLB7bにて
分岐命令のアドレス変換を行なうもので、アドレス変換
割り込みの発生アドレスを加えた4ウェイである。
a,7bの2つと、アドレス変換を必要とする命令を同
時実行するのに必要なウェイ数を確保する4エントリの
FATLB9とを備えて、2つのアドレス変換リクエス
トを同時に処理するアドレス変換バッファとして機能す
るものである。上記アドレス変換を必要とする命令を同
時実行するのに必要なウェイ数は、例えば、DMTLB
7aにてロード命令/ストア命令、DMTLB7bにて
分岐命令のアドレス変換を行なうもので、アドレス変換
割り込みの発生アドレスを加えた4ウェイである。
【0026】同図において、アドレス変換リクエスト保
持用レジスタ(以下、保持用レジスタという。)13,
15は、演算制御部3(図外)からのアドレス変換用の
仮想アドレスおよびミスヒット時のリプレース用物理ア
ドレスをラッチする。レジスタ17,19は、TLBミ
スヒット時にミスヒットアドレスを保存する。
持用レジスタ(以下、保持用レジスタという。)13,
15は、演算制御部3(図外)からのアドレス変換用の
仮想アドレスおよびミスヒット時のリプレース用物理ア
ドレスをラッチする。レジスタ17,19は、TLBミ
スヒット時にミスヒットアドレスを保存する。
【0027】セレクタ21は、通常時には保持用レジス
タ13を選択し、後述するリプレース処理の時のみレジ
スタ17を選択する。セレクタ23も同様に通常時には
保持用レジスタ15を選択し、後述するリプレース処理
の時のみレジスタ19を選択する。セレクタ25はリプ
レース用物理アドレスを選択するものであり、セレクタ
27も同様である。
タ13を選択し、後述するリプレース処理の時のみレジ
スタ17を選択する。セレクタ23も同様に通常時には
保持用レジスタ15を選択し、後述するリプレース処理
の時のみレジスタ19を選択する。セレクタ25はリプ
レース用物理アドレスを選択するものであり、セレクタ
27も同様である。
【0028】セレクタ29は、DMTLB7a,7bが
正常に動作している場合にセレクタ21から保持用レジ
スタ13又は保持用レジスタ15に保存されている仮想
アドレスを選択してFATLB9a〜9dのいずれかの
エントリに格納する。一方、DMTLB7a,7bの動
作が異常の場合にセレクタ29は、セレクタ25又はセ
レクタ27から上記リプレース用物理ドレスを選択して
FATLB9a〜9dのいずれかのエントリに格納す
る。セレクタ31は、ヒット検出回路35のヒット検出
によりFATLB9a〜9d内のヒットしているエント
リを選択するものであり、セレクタ33も同様にヒット
検出回路37のヒット検出によりFATLB9a〜9d
内のヒットしているエントリを選択する。
正常に動作している場合にセレクタ21から保持用レジ
スタ13又は保持用レジスタ15に保存されている仮想
アドレスを選択してFATLB9a〜9dのいずれかの
エントリに格納する。一方、DMTLB7a,7bの動
作が異常の場合にセレクタ29は、セレクタ25又はセ
レクタ27から上記リプレース用物理ドレスを選択して
FATLB9a〜9dのいずれかのエントリに格納す
る。セレクタ31は、ヒット検出回路35のヒット検出
によりFATLB9a〜9d内のヒットしているエント
リを選択するものであり、セレクタ33も同様にヒット
検出回路37のヒット検出によりFATLB9a〜9d
内のヒットしているエントリを選択する。
【0029】ヒット検出回路35は、FATLB9a〜
9dのタグと仮想アドレスのタグとを比較してヒット検
出をする回路であり、上記両タグが一致の場合にヒッ
ト、上記両タグが不一致の場合にミスヒットと検出する
ものである。ヒット検出回路37も同様にFATLB9
a〜9dのタグと仮想アドレスのタグとを比較してヒッ
ト検出する回路である。
9dのタグと仮想アドレスのタグとを比較してヒット検
出をする回路であり、上記両タグが一致の場合にヒッ
ト、上記両タグが不一致の場合にミスヒットと検出する
ものである。ヒット検出回路37も同様にFATLB9
a〜9dのタグと仮想アドレスのタグとを比較してヒッ
ト検出する回路である。
【0030】ヒット判定回路39は、DMTLB7aの
タグと仮想アドレスのタグとを比較してヒット検出する
とともに、アドレス変換リクエスト1に対する最終的な
ヒット判定を行なう回路である。ヒット検出回路41も
同様にDMTLB7bのタグと仮想アドレスのタグとを
比較してアドレス変換リクエスト2に対する最終的なヒ
ット判定を行なう回路である。
タグと仮想アドレスのタグとを比較してヒット検出する
とともに、アドレス変換リクエスト1に対する最終的な
ヒット判定を行なう回路である。ヒット検出回路41も
同様にDMTLB7bのタグと仮想アドレスのタグとを
比較してアドレス変換リクエスト2に対する最終的なヒ
ット判定を行なう回路である。
【0031】セレクタ11aは、DMTLB7aの物理
アドレスまたはFATLB9a〜9dの物理アドレスの
いずれかでヒットしている場合にアドレス変換リクエス
ト1に対するアドレス変換後の物理アドレスを選択す
る。セレクタ11bも同様にDMTLB7bまたはFA
TLB9a〜9dのいずれかでヒットしている場合にア
ドレス変換リクエスト2に対するアドレス変換後の物理
アドレスを選択する。
アドレスまたはFATLB9a〜9dの物理アドレスの
いずれかでヒットしている場合にアドレス変換リクエス
ト1に対するアドレス変換後の物理アドレスを選択す
る。セレクタ11bも同様にDMTLB7bまたはFA
TLB9a〜9dのいずれかでヒットしている場合にア
ドレス変換リクエスト2に対するアドレス変換後の物理
アドレスを選択する。
【0032】排他的論理和43a,43bは、DMTL
B7aのパリティエラーを検出して当該検出結果をエラ
ー情報ビットとしてフラグ43cに保存する。同様に、
排他的論理和45a,45bは、DMTLB7bのパリ
ティエラーを検出して当該検出結果をエラー情報ビット
としてフラグ45cに保存する。
B7aのパリティエラーを検出して当該検出結果をエラ
ー情報ビットとしてフラグ43cに保存する。同様に、
排他的論理和45a,45bは、DMTLB7bのパリ
ティエラーを検出して当該検出結果をエラー情報ビット
としてフラグ45cに保存する。
【0033】次に本実施例の作用を説明する。
【0034】まず、システムの起動後、アドレス変換バ
ッファ機構1は、演算制御部3から出力されるアドレス
変換リクエスト1,2(仮想アドレス)をそれぞれ保持
用レジスタ13,15にラッチする。次サイクルにおい
てセレクタ21は保持用レジスタ13を、セレクタ23
は保持用レジスタ15を選択する。選択後、アドレス変
換バッファ機構1は、受け取った仮想アドレスによりD
MTLB7a,7bおよびFATLB9a〜9dを同時
にアクセスする。上記アドレス変換リクエスト1の仮想
アドレスによりアクセスされるのは、DMTLB7aと
FATLB9a〜9dであり、アドレス変換リクエスト
2の仮想アドレスによりアクセスされるのは、DMTL
B7bとFATLB9a〜9dである。そして、DMT
LB7a,7bにおいて、TLBを引きTLBヒット検
出すると同時に、ヒット検出回路35,37は、FAT
LB9a〜9dのエントリのヒット検出を行なう。演算
制御部3からのアドレス変換リクエスト1,2ともにF
ATLB9a〜9dでヒットが検出された場合は、セレ
クタ11a,11bによりヒットしたFATLB9a〜
9dのエントリの物理アドレスを選択してキャッシュメ
モリ制御部5に出力する。
ッファ機構1は、演算制御部3から出力されるアドレス
変換リクエスト1,2(仮想アドレス)をそれぞれ保持
用レジスタ13,15にラッチする。次サイクルにおい
てセレクタ21は保持用レジスタ13を、セレクタ23
は保持用レジスタ15を選択する。選択後、アドレス変
換バッファ機構1は、受け取った仮想アドレスによりD
MTLB7a,7bおよびFATLB9a〜9dを同時
にアクセスする。上記アドレス変換リクエスト1の仮想
アドレスによりアクセスされるのは、DMTLB7aと
FATLB9a〜9dであり、アドレス変換リクエスト
2の仮想アドレスによりアクセスされるのは、DMTL
B7bとFATLB9a〜9dである。そして、DMT
LB7a,7bにおいて、TLBを引きTLBヒット検
出すると同時に、ヒット検出回路35,37は、FAT
LB9a〜9dのエントリのヒット検出を行なう。演算
制御部3からのアドレス変換リクエスト1,2ともにF
ATLB9a〜9dでヒットが検出された場合は、セレ
クタ11a,11bによりヒットしたFATLB9a〜
9dのエントリの物理アドレスを選択してキャッシュメ
モリ制御部5に出力する。
【0035】次に、DMTLB7aまたはDMTLB7
bのどちらかでTLBミスヒットが発生した場合にOS
は、エラーをプロセッサに通知して割り込みを発生させ
てアクセスしたDMTLB7aおよびDMTLB7bの
エントリのエラー情報ビットをフラグ43c,45cに
セットする。
bのどちらかでTLBミスヒットが発生した場合にOS
は、エラーをプロセッサに通知して割り込みを発生させ
てアクセスしたDMTLB7aおよびDMTLB7bの
エントリのエラー情報ビットをフラグ43c,45cに
セットする。
【0036】一方、ヒット判定回路39、41にエラー
ビットが立っていないときは、ミスヒットが発生したD
MTLBのエントリの情報をFATLB9a〜9dのい
ずれかに格納する。その後、ミスヒットしたDMTLB
エントリにミスヒットアドレスおよび物理アドレス等の
エントリ情報を登録するリプレース処理を実行する。
ビットが立っていないときは、ミスヒットが発生したD
MTLBのエントリの情報をFATLB9a〜9dのい
ずれかに格納する。その後、ミスヒットしたDMTLB
エントリにミスヒットアドレスおよび物理アドレス等の
エントリ情報を登録するリプレース処理を実行する。
【0037】ここで、リプレース処理を説明する。
【0038】まず、保持用レジスタ13にラッチしてい
るミスヒットした仮想アドレスをレジスタ17に、保持
用レジスタ15にラッチしているミスヒットした仮想ア
ドレスをレジスタ19のラッチした後に、保持用レジス
タ13,15にリプレース用物理アドレスをラッチす
る。リプレース用物理アドレスがラッチされた後、アド
レス変換バッファ機構1はヒット判定回路39,41の
エラービットがセットされているかを調べてリセットの
場合にDMTLB7aのエントリの情報をセレクタ29
を介してFATLB9a〜9dのいずれかにコピーす
る。そして、セレクタ21はレジスタ17を選択し、セ
レクタ23はレジスタ19を選択してDMTLB7aの
エントリにレジスタ17の内容を登録する。
るミスヒットした仮想アドレスをレジスタ17に、保持
用レジスタ15にラッチしているミスヒットした仮想ア
ドレスをレジスタ19のラッチした後に、保持用レジス
タ13,15にリプレース用物理アドレスをラッチす
る。リプレース用物理アドレスがラッチされた後、アド
レス変換バッファ機構1はヒット判定回路39,41の
エラービットがセットされているかを調べてリセットの
場合にDMTLB7aのエントリの情報をセレクタ29
を介してFATLB9a〜9dのいずれかにコピーす
る。そして、セレクタ21はレジスタ17を選択し、セ
レクタ23はレジスタ19を選択してDMTLB7aの
エントリにレジスタ17の内容を登録する。
【0039】一方、ヒット判定回路39、41にエラー
ビットがヒットされている場合は、DMTLB7aのエ
ントリにリプレースせずに、セレクタ21,25または
セレクタ23,27の内容をセレクタ29により選択し
てFATLB9a〜9dのうちリプレースするエントリ
にセレクタの内容を格納する。
ビットがヒットされている場合は、DMTLB7aのエ
ントリにリプレースせずに、セレクタ21,25または
セレクタ23,27の内容をセレクタ29により選択し
てFATLB9a〜9dのうちリプレースするエントリ
にセレクタの内容を格納する。
【0040】これにより、大容量のアドレス変換バッフ
ァを実現し、且つ、1クラスタで処理されるアドレス変
換を必要とする命令が増加しても並列処理が可能にな
る。
ァを実現し、且つ、1クラスタで処理されるアドレス変
換を必要とする命令が増加しても並列処理が可能にな
る。
【0041】また、リプレース処理によりFATLB9
a〜9dにリプレースされた最新のアドレス情報が登録
されるので、DMTLB7a,7bに故障が発生した場
合でもアドレス変換の動作を継続できる。
a〜9dにリプレースされた最新のアドレス情報が登録
されるので、DMTLB7a,7bに故障が発生した場
合でもアドレス変換の動作を継続できる。
【0042】更に、アドレス変換を行なう必要のある命
令が1クラスタに取りうる最大数配置され、その全ての
命令がTLBミスヒットであり、且つ、その全てのアド
レスは異なるにもかかわらず同一のTLBエントリにマ
ッピングされており、また、アドレス変換割り込みの戻
り番地も同一エントリであった場合でもFATLB9a
〜9dに最新のリプレース情報が残っているため、アド
レス変換を実行することができる。
令が1クラスタに取りうる最大数配置され、その全ての
命令がTLBミスヒットであり、且つ、その全てのアド
レスは異なるにもかかわらず同一のTLBエントリにマ
ッピングされており、また、アドレス変換割り込みの戻
り番地も同一エントリであった場合でもFATLB9a
〜9dに最新のリプレース情報が残っているため、アド
レス変換を実行することができる。
【0043】なお、本発明は、TLBのエントリ構成、
ヒット検出、保護、複数のTLB間の情報一致化方法な
どの方式には制限はない。
ヒット検出、保護、複数のTLB間の情報一致化方法な
どの方式には制限はない。
【0044】
【発明の効果】以上説明したように、本発明では、大容
量のアドレス変換バッファと複数のアドレス変換を伴う
命令を同時に実行するアドレス変換バッファとを備え
て、当該大容量のアドレス変換バッファに障害が発生す
ると当該大容量のアドレス変換バッファに記憶されてい
るデータを当該複数のアドレス変換を伴う命令を同時に
実行するアドレス変換バッファに記憶させるリプレース
処理を可能にすることにより、大容量のアドレス変換バ
ッファが故障しても動作の継続を実現できる。
量のアドレス変換バッファと複数のアドレス変換を伴う
命令を同時に実行するアドレス変換バッファとを備え
て、当該大容量のアドレス変換バッファに障害が発生す
ると当該大容量のアドレス変換バッファに記憶されてい
るデータを当該複数のアドレス変換を伴う命令を同時に
実行するアドレス変換バッファに記憶させるリプレース
処理を可能にすることにより、大容量のアドレス変換バ
ッファが故障しても動作の継続を実現できる。
【図1】本発明のアドレス変換バッファ機構の一実施例
を示す構成図である。
を示す構成図である。
【図2】図1のアドレス変換バッファ機構をシステムに
適用した一実施例を示すブロック図である。
適用した一実施例を示すブロック図である。
1 アドレス変換バッファ機構 7a〜7m ダイレクトマッピング方式のアドレス変換
バッファ 9,9a〜9d フルアソシアティブ方式のアドレス変
換バッファ 11a,11b,11m セレクタ 17,19 レジスタ 21,23,25,27,29 セレクタ 35,37 ヒット検出回路
バッファ 9,9a〜9d フルアソシアティブ方式のアドレス変
換バッファ 11a,11b,11m セレクタ 17,19 レジスタ 21,23,25,27,29 セレクタ 35,37 ヒット検出回路
Claims (1)
- 【請求項1】 複数の命令について仮想アドレスから物
理アドレスに変換するアドレス変換を実行するときに発
生するアドレス変換エラーを行うのに必要なエントリの
フルアソシアティブで構成されるフルアソシアティブ方
式のアドレス変換バッファと、 ダイレクトマッピング又はセットアソシアティブで構成
される大容量のダイレクトマッピング方式またはセット
アソシアティブ方式のアドレス変換バッファとを具備し
て、 前記ダイレクトマッピング方式またはセットアソシアテ
ィブ方式のアドレス変換バッファにミスヒットが発生す
ると当該ミスヒットが発生したアドレス変換バッファの
エントリのエラービットがリセット状態の場合にリプレ
ースにより置き換えられるエントリの情報を前記フルア
ソシアティブ方式のアドレス変換バッファにコピーし
て、ミスヒットアドレスに関する情報をダイレクトマッ
ピング方式またはセットアソシアティブ方式のアドレス
変換バッファのミスヒットエントリに登録し、当該ダイ
レクトマッピング方式またはセットアソシアティブ方式
のアドレス変換バッファのエントリのエラービットがセ
ット状態の場合にリプレースにより置き換えられるエン
トリの情報を当該フルアソシアティブ方式のアドレス変
換バッファにコピーする手段と、 を備えたことを特徴とするアドレス変換バッファ機構。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP34190592A JP3229045B2 (ja) | 1992-12-22 | 1992-12-22 | アドレス変換バッファ機構 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP34190592A JP3229045B2 (ja) | 1992-12-22 | 1992-12-22 | アドレス変換バッファ機構 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH06187244A true JPH06187244A (ja) | 1994-07-08 |
JP3229045B2 JP3229045B2 (ja) | 2001-11-12 |
Family
ID=18349658
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP34190592A Expired - Fee Related JP3229045B2 (ja) | 1992-12-22 | 1992-12-22 | アドレス変換バッファ機構 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3229045B2 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPWO2008155851A1 (ja) * | 2007-06-20 | 2010-08-26 | 富士通株式会社 | 演算処理装置、エントリ制御プログラムおよびエントリ制御方法 |
EP2275939A1 (en) | 2009-06-30 | 2011-01-19 | Fujitsu Limited | Processor and address translating method |
-
1992
- 1992-12-22 JP JP34190592A patent/JP3229045B2/ja not_active Expired - Fee Related
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPWO2008155851A1 (ja) * | 2007-06-20 | 2010-08-26 | 富士通株式会社 | 演算処理装置、エントリ制御プログラムおよびエントリ制御方法 |
JP4812876B2 (ja) * | 2007-06-20 | 2011-11-09 | 富士通株式会社 | 演算処理装置および演算処理装置の制御方法 |
US8688952B2 (en) | 2007-06-20 | 2014-04-01 | Fujitsu Limited | Arithmetic processing unit and control method for evicting an entry from a TLB to another TLB |
EP2275939A1 (en) | 2009-06-30 | 2011-01-19 | Fujitsu Limited | Processor and address translating method |
US8745356B2 (en) | 2009-06-30 | 2014-06-03 | Fujitsu Limited | Processor and address translating method |
Also Published As
Publication number | Publication date |
---|---|
JP3229045B2 (ja) | 2001-11-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6920531B2 (en) | Method and apparatus for updating and invalidating store data | |
US5392410A (en) | History table for prediction of virtual address translation for cache access | |
EP0175091B1 (en) | Fast two-level dynamic address translation method and means | |
US6622211B2 (en) | Virtual set cache that redirects store data to correct virtual set to avoid virtual set store miss penalty | |
US4905141A (en) | Partitioned cache memory with partition look-aside table (PLAT) for early partition assignment identification | |
EP0144121B1 (en) | Virtually addressed cache | |
JP3473772B2 (ja) | キャッシュ・メモリを利用したデータ処理システム | |
US5555395A (en) | System for memory table cache reloads in a reduced number of cycles using a memory controller to set status bits in the main memory table | |
US5752274A (en) | Address translation unit employing a victim TLB | |
JPH04232551A (ja) | 多重仮想アドレス変換方法及び装置 | |
US6363336B1 (en) | Fine grain translation discrimination | |
KR20190022334A (ko) | 어드레스 변환 캐시의 효율적인 이용을 위한 장치 및 방법 | |
JPH07295886A (ja) | 階層メモリ、階層メモリを有するコンピュータ・システムおよび階層メモリ管理方法 | |
US6901540B1 (en) | TLB parity error recovery | |
EP0492838B1 (en) | Apparatus for enhancing the performance of a translation lookaside buffer | |
CA2240616C (en) | Cache address generation | |
US8688952B2 (en) | Arithmetic processing unit and control method for evicting an entry from a TLB to another TLB | |
US20050027960A1 (en) | Translation look-aside buffer sharing among logical partitions | |
US6810473B2 (en) | Replacement algorithm for a replicated fully associative translation look-aside buffer | |
US6338128B1 (en) | System and method for invalidating an entry in a translation unit | |
JP3210637B2 (ja) | データ処理システム内のキャッシュ・メモリにアクセスするための方法およびシステム | |
JPH06187244A (ja) | アドレス変換バッファ機構 | |
JPH05324477A (ja) | アドレス変換バッファ機構 | |
JP4011871B2 (ja) | プロセッサ及びコンピュータシステム | |
US6226731B1 (en) | Method and system for accessing a cache memory within a data-processing system utilizing a pre-calculated comparison array |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |