JPH0546481A - アドレス変換バツフア機構 - Google Patents

アドレス変換バツフア機構

Info

Publication number
JPH0546481A
JPH0546481A JP3208199A JP20819991A JPH0546481A JP H0546481 A JPH0546481 A JP H0546481A JP 3208199 A JP3208199 A JP 3208199A JP 20819991 A JP20819991 A JP 20819991A JP H0546481 A JPH0546481 A JP H0546481A
Authority
JP
Japan
Prior art keywords
address translation
address
tlb
request
hit
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
Application number
JP3208199A
Other languages
English (en)
Other versions
JP3015528B2 (ja
Inventor
Masayuki Takakuwa
正幸 高桑
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP3208199A priority Critical patent/JP3015528B2/ja
Publication of JPH0546481A publication Critical patent/JPH0546481A/ja
Application granted granted Critical
Publication of JP3015528B2 publication Critical patent/JP3015528B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 【目的】小容量TLB(アドレス変換バッファ)と大容
量TLBとにより、複数のアドレス変換リクエストを並
列に処理でき、しかも小容量TLBの実質的な容量が大
容量TLBの容量と等しくなるようにできることであ
る。 【構成】リクエスト#i,#jが発生すると、リクエス
ト#iの仮想アドレスにより小容量TLB10がアクセ
スされ、これと並行してリクエスト#2の仮想アドレス
により大容量TLB20がアクセスされる。ここで、い
ずれもヒットすると、小容量TLB10,大容量TLB
20の各ヒットエントリの情報中の物理アドレスが同時
に出力される。一方、リクエスト#jのみヒットする
と、次のサイクルにおいてリクエスト#iの仮想アドレ
スにより大容量TLB20がアクセスされ、ヒットした
ならば、そのヒットエントリの情報をアップロード用パ
ス33を介して小容量TLB10に登録するアップロー
ド処理が行われる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、仮想記憶方式の計算
機システムに設けられ、仮想アドレスを高速に実アドレ
スに変換するためのアドレス変換バッファ機構に関す
る。
【0002】
【従来の技術】仮想アドレスを実アドレス(物理アドレ
ス)に変換するアドレス変換は、仮想記憶方式の計算機
システムを実現するための必須の技術となっている。こ
のようなアドレス変換を高速に行うための機構として、
仮想タグ(仮想アドレスタグ)と物理アドレス(実アド
レス)の対を含むアドレス変換情報が登録されるエント
リを複数持つアドレス変換バッファ(TLB:Translat
ion Lookaside Buffer)が知られている。
【0003】従来、アドレス変換バッファは1つ設けら
れるか、用途別(例えば命令アドレス変換用とオペラン
ドアドレス変換用)にそれぞれ1つ設けられるのが一般
的であった。このような従来の構成では、(同種のリク
エストについては)同時に1つのアドレス変換リクエス
トしか受付けることができず、アドレス変換対象は1つ
に限定されていた。このことが、複数命令の並列実行な
ど処理の並列化が進むにつれて、仮想記憶方式の計算機
における並列処理のネックとなってきた。
【0004】
【発明が解決しようとする課題】上記したように従来
は、仮想アドレスを実アドレスに変換するのにアドレス
変換バッファを1つ設けるのが一般的であり、同時に1
つのアドレス変換リクエストしか受付けられないという
問題があった。この問題を解決するために、同一構造の
アドレス変換バッファを複数設けることが考えられる
が、バッファ容量(メモリ容量)の著しい増大を招くた
め、有効な解決手段とはなり得なかった。
【0005】この発明は上記事情に鑑みてなされたもの
でその目的は、小容量のアドレス変換バッファと大容量
のアドレス変換バッファとにより、複数のアドレス変換
リクエストを並列に処理でき、しかも小容量のアドレス
変換バッファの実質的な容量が大容量アドレス変換バッ
ファの容量と等しくなるようにできるアドレス変換バッ
ファ機構を提供することにある。
【0006】
【課題を解決するための手段】この発明は、少なくとも
1つの小容量の第1のアドレス変換バッファ(小容量T
LB)と、この第1のアドレス変換バッファ(小容量T
LB)より大容量の第2のアドレス変換バッファ(大容
量TLB)とを設けて並列動作させ、複数のアドレス変
換リクエストを並列に処理するようにすると共に、最新
のアドレス変換リクエストアドレスに対応するアドレス
変換情報(エントリ情報)が小容量TLBおよび大容量
TLBのいずれにも存在するように制御するようにした
ことを特徴とするものである。
【0007】この発明はまた、単一のアドレス変換リク
エストに対しては大容量TLBでアドレス変換が行わ
れ、ヒット時には、そのヒットエントリのアドレス変換
情報が小容量TLBに登録されるように制御することも
特徴とする。
【0008】この発明は更に、小容量TLBおよび大容
量TLBで異なるアドレス変換リクエストを並列に処理
した結果、小容量TLBでのみミスヒットとなった場合
には、そのミスヒットとなったアドレス変換リクエスト
に対して大容量TLBでアドレス変換が行われ、ヒット
時には、そのヒットエントリのアドレス変換情報が小容
量TLBに登録されるように制御し、小容量TLBおよ
び大容量TLBのそれぞれでミスヒットとなった場合に
は、ミスヒットとなった各アドレス変換リクエストに対
応するアドレス変換情報がそれぞれ求められて、小容量
TLBおよび大容量TLBのいずれにも登録されるよう
に制御することも特徴とする。
【0009】
【作用】上記したアドレス変換バッファ機構(TLB機
構)の構成において、小容量TLBおよび大容量TLB
は並列に動作し、複数のアドレス変換リクエストを並列
に処理するため、仮想記憶方式の計算機システムにおけ
る命令の並列実行など、処理の並列化が実現できる。
【0010】また、単一のアドレス変換リクエストの場
合には、大容量TLBでアドレス変換が行われるので高
ヒット率が期待でき、しかもヒット時には、そのヒット
エントリのアドレス変換情報が小容量TLBに登録され
るので、次に複数のアドレス変換リクエストを小容量T
LBおよび大容量TLBで並列に処理する場合に、小容
量TLBで処理されるリクエストの仮想アドレス(仮想
ページアドレス)が同一であれば(このような場合が発
生する確率は極めて高い)、小容量TLBでもヒットす
る。
【0011】また、小容量TLBおよび大容量TLBで
異なるアドレス変換リクエストを並列に処理した結果、
小容量TLBでのみミスヒットとなった場合には、その
ミスヒットとなったアドレス変換リクエストに対して大
容量TLBでもアドレス変換が行われ、ヒット時には、
上記の単一アドレス変換リクエストの場合と同様に、そ
のヒットエントリの情報、即ち最も最近に参照されたア
ドレス変換情報が小容量TLBに登録される。一方、小
容量TLBおよび大容量TLBのそれぞれでミスヒット
となった場合には、ミスヒットとなった各アドレス変換
リクエストに対応するアドレス変換情報がアドレス計算
等によりそれぞれ求められ、小容量TLBおよび大容量
TLBのいずれにも登録される。
【0012】このように本発明のアドレス変換バッファ
機構によれば、小容量TLBには常に最新のアドレス変
換情報(エントリ情報)が保持され、小容量TLBに登
録されているアドレス変換情報は大容量TLBにも必ず
登録されているため、小容量TLBの実質的な容量は大
容量TLBの容量と等しくなり、小容量TLBと大容量
TLBを並列動作させて複数のアドレス変換リクエスト
を並列に処理した場合に、小容量TLB側でも大容量T
LBと同等のヒット率を得ることができる。
【0013】
【実施例】図1はこの発明の一実施例に係るアドレス変
換バッファ機構(TLB機構)の構成を示すブロック図
である。図1において、10は仮想アドレス(仮想ペー
ジアドレス)を高速に物理アドレス(物理ページアドレ
ス)に変換するための小容量のTLB(以下、小容量T
LBと称する)である。小容量TLB10の各エントリ
には、タグ(仮想タグ)および物理アドレス(物理ペー
ジアドレス)の対を含むアドレス変換情報(エントリ情
報)が保持されるようになっている。
【0014】20は小容量TLB10より容量が大きい
TLB(以下、大容量TLBと称する)である。大容量
TLB20は小容量TLB10と同様のエントリ構造と
なっている。この大容量TLB20および上記小容量T
LB10は、説明の便宜上、ダイレクトマッピング方式
を適用しているものとする。
【0015】11,12は通常はアドレス変換リクエス
ト#i,#j中の仮想アドレスをラッチし、リクエスト
#i,#jに対するTLBミスヒットに伴うリプレース
処理時にはリプレース用物理アドレスをラッチするため
の、小容量TLB10に対応して設けられたレジスタで
ある。21,22はレジスタ11,12と同様の大容量
TLB20に対応して設けられたレジスタである。レジ
スタ11,12,21,22は、通常状態では毎サイク
ルラッチ動作を行うように制御される。
【0016】13,23はリクエスト#iがTLBミス
ヒットとなった場合に、そのリクエスト#iに対応する
レジスタ11,21に保持されていた仮想アドレス(ミ
スヒットアドレス)をラッチするためのレジスタであ
る。14,24はリクエスト#jがTLBミスヒットと
なった場合に、そのリクエスト#jに対応するレジスタ
12,22に保持されていた仮想アドレス(ミスヒット
アドレス)をラッチするためのレジスタである。
【0017】15はレジスタ11またはレジスタ13の
保持内容のいずれか一方を選択するセレクタ、16はレ
ジスタ12またはレジスタ14の保持内容のいずれか一
方を選択するセレクタである。セレクタ15,16は通
常はレジスタ11,12側を選択し、TLBミスヒット
に伴うリプレース処理時のみレジスタ13,14側を選
択する。25はレジスタ21またはレジスタ23の保持
内容のいずれか一方を選択するセレクタ、26はレジス
タ22またはレジスタ24の保持内容のいずれか一方を
選択するセレクタである。セレクタ25,26は通常は
レジスタ21,22側を選択し、TLBミスヒットに伴
うリプレース処理時のみレジスタ23,24側を選択す
る。
【0018】17はセレクタ15またはセレクタ16の
出力を小容量TLB10に選択出力するためのセレク
タ、18はリプレース処理時に、レジスタ11,12の
示す各リプレース用物理アドレスのいずれか一方を小容
量TLB10に選択出力するためのセレクタである。2
7はセレクタ25またはセレクタ26の出力を大容量T
LB20に選択出力するためのセレクタ、28はレジス
タ21,22の示す各リプレース用物理アドレスのいず
れか一方を大容量TLB20に選択出力するためのセレ
クタである。
【0019】31はセレクタ17により選択されたリク
エスト(の仮想アドレス)が小容量TLB10にヒット
したか否かをチェックするためのヒットチェック回路、
32はセレクタ27により選択されたリクエスト(の仮
想アドレス)が大容量TLB20にヒットしたか否かを
チェックするためのヒットチェック回路である。
【0020】33は同一のリクエスト(の仮想アドレ
ス)に対して小容量TLB10ではミスヒットとなり、
大容量TLB20ではヒットとなった場合に、大容量T
LB20のヒットエントリの情報(アドレス変換情報)
を小容量TLB10にロード(アップロード)するため
の転送ライン(以下、アップロード用パスと称する)、
34は図1のアドレス変換バッファ機構全体を制御する
制御部である。制御部34はアップロードの制御、セレ
クタ15〜18,25〜28の制御等を行い、小容量T
LB10に保持されているアドレス変換情報は必ず大容
量TLB20にも存在するように制御するようになって
いる。
【0021】次に、図1の構成の動作を、(1)単一の
アドレス変換リクエストの場合と、(2)複数のアドレ
ス変換リクエストの場合について順に説明する。 (1)単一のアドレス変換リクエストの場合 まず、単一のアドレス変換リクエストの場合の動作を、
図2のタイミングチャートを参照して説明する。
【0022】今、単一のアドレス変換リクエスト#1
(i=1)が受付けられ、リクエスト#1中の仮想アド
レスがサイクルT0 の終了時にレジスタ11,21にラ
ッチされたものとする。この場合、次のサイクルT1 に
おいて、以下に述べるように大容量TLB20でのみア
ドレス変換が行われる(単一リクエストの場合)。
【0023】まず、レジスタ21にラッチされたリクエ
スト#1の仮想アドレスはセレクタ25によって選択さ
れ、更にセレクタ27によって選択されて大容量TLB
20に供給される。大容量TLB20は、セレクタ27
によって選択された仮想アドレス(ここではリクエスト
#1の仮想アドレス)の所定フィールドの指定するエン
トリアドレス(TLBアドレス)によってアクセスされ
る。これにより、大容量TLB20の指定エントリの情
報(アドレス変換情報)が読出される。このエントリ情
報中のタグ(仮想タグ)は、セレクタ27によって選択
された仮想アドレス中のタグ相当部分と共にヒットチェ
ック回路32に供給され、アドレス比較による周知のヒ
ットチェックが行われる。
【0024】ここで、ヒットが検出された場合には、大
容量TLB20から読出された指定エントリの情報(ヒ
ットエントリ情報)中の物理アドレス(物理ページアド
レス)がリクエスト#1の仮想アドレスに対するアドレ
ス変換結果として出力される。なお、ヒットチェックに
際しては、指定エントリの情報が有効か否かを示すV
(バリッド)ビットの状態や、主記憶保護のための保護
情報も調べられるが、これらは一般によく知られてお
り、しかも本発明に直接関係しないため、説明を省略す
る。
【0025】さて、単一リクエスト#1がサイクルT1
において大容量TLB20にヒットした場合、同じサイ
クルT1 において、そのヒットエントリの情報を小容量
TLB10に登録するためのアップロード処理が、制御
部34の制御によって次のように行われる。
【0026】まず、レジスタ21にラッチされると同時
にレジスタ11にもラッチされたリクエスト#1の仮想
アドレスが、セレクタ15により選択され、更にセレク
タ17によって選択されて小容量TLB10に供給され
る。また、小容量TLB10には、リクエスト#1(の
仮想アドレス)に対する大容量TLB20のヒットエン
トリの情報がアップロード用パス30を介して書込みデ
ータ(登録データ)として供給される。このとき、小容
量TLB10は制御部34によって書込み可状態に設定
される。
【0027】これにより、セレクタ17によって選択さ
れた仮想アドレス(リクエスト#1の仮想アドレス)の
所定フィールドの指定する小容量TLB10内エントリ
には、同じ仮想アドレスに対してヒットした大容量TL
B20のエントリの情報が書込まれる(登録される)。
【0028】なお、単一リクエストに対して大容量TL
B20でミスヒットとなった場合には、小容量TLB1
0および大容量TLB20の両方に対する登録処理(リ
プレース処理)が行われるが、これについては、複数リ
クエストに対して小容量TLB10および大容量TLB
20のいずれでもミスヒットとなった場合と同様であ
り、この動作は後述するので、ここでの説明は省略す
る。
【0029】(2)複数のアドレス変換リクエストの場
合 次に、複数のアドレス変換リクエストの場合の動作を、
図3乃至図5のタイミングチャートを参照して説明す
る。
【0030】今、複数(2つ)のアドレス変換リクエス
ト#1,#2(i=1,j=2)が受付けられ、そのリ
クエスト#1の仮想アドレスがレジスタ11,21に、
リクエスト#2の仮想アドレスがレジスタ12,22
に、いずれもサイクルT0 の終了時にラッチされたもの
とする。この場合、次のサイクルT1 では、例えばレジ
スタ11にラッチされたリクエスト#1の仮想アドレス
がセレクタ15,17によって選択され、同アドレスを
もとに小容量TLB10がアクセスされる。同様に、レ
ジスタ22にラッチされたリクエスト#2の仮想アドレ
スがセレクタ26,27によって選択され、同アドレス
をもとに大容量TLB20がアクセスされる。
【0031】この結果、小容量TLB10側では、リク
エスト#1(の仮想アドレス)が小容量TLB10にヒ
ットしたか否かがヒットチェック回路31によってチェ
ックされ、大容量TLB20側では、リクエスト#2
(の仮想アドレス)が大容量TLB20にヒットしたか
否かがヒットチェック回路32によってチェックされ
る。
【0032】もし、図3に示すように、リクエスト#1
が小容量TLB10にヒットし、リクエスト#2が大容
量TLB20にヒットした場合には、同じサイクルT1
において小容量TLB10,大容量TLB20によるア
ドレス変換が行われ、小容量TLB10,大容量TLB
20の各ヒットエントリの情報中の物理アドレスがアド
レス変換結果として出力される。
【0033】そして次のサイクルT2 では、リクエスト
#2に対する大容量TLB20のヒットエントリの情報
を、小容量TLB10に登録するアップロード処理が行
われる。この処理は、レジスタ12にラッチされている
リクエスト#2の仮想アドレスが、セレクタ16,17
によって選択されて小容量TLB10に出力される点を
除き、前記した単一リクエストのヒット時のアップロー
ド処理と同様である。
【0034】これに対し、図4に示すように、サイクル
T1 においてリクエスト#1が小容量TLB10にミス
ヒットし、リクエスト#2が大容量TLB20にヒット
した場合、即ちリクエスト#1,#2のうちのリクエス
ト#2だけがヒットした場合には、ミスヒットしたリク
エスト#1について、前記した単一リクエストの場合と
同様の処理が次のサイクルT2 で行われる。
【0035】まずサイクルT2 では、レジスタ21にラ
ッチされていたリクエスト#1の仮想アドレスがセレク
タ25,27によって選択され、同アドレスをもとに大
容量TLB20がアクセスされる。この結果、リクエス
ト#1(の仮想アドレス)が大容量TLB20にヒット
したか否かがヒットチェック回路32によってチェック
される。
【0036】もし、図4に示すようにヒットしたなら
ば、同じサイクルT2 において大容量TLB20による
アドレス変換が行われ、大容量TLB20のヒットエン
トリの情報中の物理アドレスがアドレス変換結果として
出力される。同時に、リクエスト#1に対する大容量T
LB20のヒットエントリの情報が、前記した単一リク
エストのヒット時のアップロード処理の場合と同様にし
て、小容量TLB10に登録される(アップロード処理
が行われる)。
【0037】この結果、例えばサイクルT3 の終了時
に、複数のリクエスト#5,6を受付け、しかもリクエ
スト#5がリクエスト#1と同一アドレス(同一仮想ペ
ージアドレス)に対するものである場合には、このアド
レスについてのエントリ情報がサイクルT2 において小
容量TLB10に登録されていることから、サイクルT
4 では、リクエスト#5は図4に示すように小容量TL
B10にヒットする。即ち、リクエスト#5に対するア
ドレス変換は1サイクルで実行される。
【0038】次に、リクエスト#1,#2の両方が、図
5に示すようにサイクルT1 においてミスヒットとなっ
た場合について説明する。リクエスト#1,#2がサイ
クルT1 においてそれぞれ小容量TLB10,大容量T
LB20にミスヒットすると、レジスタ11,21にラ
ッチされていたミスヒットリクエスト#1の仮想アドレ
スがレジスタ13,23に、レジスタ12,22にラッ
チされていたミスヒットリクエスト#2の仮想アドレス
がレジスタ14,24に、いずれもサイクルT1 の終了
時にラッチされる。
【0039】さて、リクエスト#1,#2のいずれもが
ミスヒットとなった場合、小容量TLB10にてミスヒ
ットが検出されたリクエスト#1については、リクエス
ト#1だけがミスヒットとなった図4の場合と同様にし
て、次のサイクルT2 において大容量TLB20にヒッ
トしているか否かがチェックされる。ここで、ヒットが
検出された場合には、大容量TLB20から小容量TL
B10へヒットエントリ情報をアップロードする処理が
行われる。
【0040】これに対し、リクエスト#1が図5に示す
ように大容量TLB20でもミスヒットとなった場合に
は、即ちリクエスト#1,#2に対応するエントリ情報
が小容量TLB10および大容量TLB20のいずれに
も登録されていない場合には、以下に述べる処理が行わ
れる。
【0041】まず、主記憶上に置かれているページテー
ブル等を参照しながら、例えばリクエスト#1の仮想ア
ドレスをアドレス計算等により物理アドレスに変換する
処理が行われる。やがて、サイクルTn-1 においてリク
エスト#1の物理アドレスが求められると、この物理ア
ドレスが同サイクルサイクルTn-1 の終了時にレジスタ
11,21にラッチされ、図5に示すように、後続のサ
イクルTn において、リクエスト#1の仮想アドレスの
所定フィールドにより示される仮想タグ(仮想アドレス
タグ)と求めた物理アドレスとの対を含むエントリ情報
を小容量TLB10および大容量TLB20に登録する
処理(リプレース処理)が行われる。
【0042】即ちサイクルTn では、レジスタ13にラ
ッチされているリクエスト#1の仮想アドレスがセレク
タ15,17により小容量TLB10に選択出力され、
同アドレスをもとに小容量TLB10がライトアクセス
される。同時に、レジスタ23にラッチされている同じ
リクエスト#1の仮想アドレスがセレクタ25,27に
より大容量TLB20に選択出力され、同アドレスをも
とに大容量TLB20がライトアクセスされる。このと
き、レジスタ11,21にラッチされているリクエスト
#1の物理アドレス(リプレース用物理アドレス)がセ
レクタ18,28によりTLB10,20に選択出力さ
れる。
【0043】この結果、セレクタ17により選択された
リクエスト#1の仮想アドレスによって指定される小容
量TLB10のエントリに、この仮想アドレスの所定フ
ィールドにより示される仮想タグ(仮想アドレスタグ)
とセレクタ18により選択されたリクエスト#1の物理
アドレスとの対を含むエントリ情報が登録される。同時
に、セレクタ27により選択されたリクエスト#1の仮
想アドレスによって指定される大容量TLB20のエン
トリに、この仮想アドレスの所定フィールドにより示さ
れる仮想タグ(仮想アドレスタグ)とセレクタ28によ
り選択されたリクエスト#1の物理アドレスとの対を含
むエントリ情報が登録される。
【0044】同様に、サイクルTm-1 においてリクエス
ト#2の物理アドレスが求められると、この物理アドレ
スが同サイクルサイクルTm-1 の終了時にレジスタ1
2,22にラッチされ、図5に示すように、後続のサイ
クルTm において、リクエスト#2の仮想アドレスの所
定フィールドにより示される仮想タグ(仮想アドレスタ
グ)と求めた物理アドレスとの対を含むエントリ情報を
小容量TLB10および大容量TLB20に登録する処
理(リプレース処理)が行われる。
【0045】即ちサイクルTm では、レジスタ14にラ
ッチされているリクエスト#2の仮想アドレスがセレク
タ16,17により小容量TLB10に選択出力され、
同アドレスをもとに小容量TLB10がライトアクセス
される。同時に、レジスタ24にラッチされている同じ
リクエスト#2の仮想アドレスがセレクタ26,27に
より大容量TLB20に選択出力され、同アドレスをも
とに大容量TLB20がライトアクセスされる。このと
き、レジスタ12,22にラッチされているリクエスト
#2の物理アドレス(リプレース用物理アドレス)がセ
レクタ18,28によりTLB10,20に選択出力さ
れる。
【0046】この結果、セレクタ17により選択された
リクエスト#2の仮想アドレスによって指定される小容
量TLB10のエントリに、この仮想アドレスの所定フ
ィールドにより示される仮想タグ(仮想アドレスタグ)
とセレクタ18により選択されたリクエスト#2の物理
アドレスとの対を含むエントリ情報が登録される。同時
に、セレクタ27により選択されたリクエスト#2の仮
想アドレスによって指定される大容量TLB20のエン
トリに、この仮想アドレスの所定フィールドにより示さ
れる仮想タグ(仮想アドレスタグ)とセレクタ28によ
り選択されたリクエスト#2の物理アドレスとの対を含
むエントリ情報が登録される。
【0047】以上のリプレース処理の結果、その後、例
えばサイクルTk-1の終了時に、再度同一のリクエスト
#1,2を受付けた場合には、次のサイクルTk では、
リクエスト#1,#2は図5に示すように小容量TLB
10,大容量TLB20にヒットする。
【0048】なお、前記実施例では、小容量TLB10
および大容量TLB20がダイレクトマッピング方式を
適用している場合について説明したが、本発明はマッピ
ング方式に限定されるものではなく、例えばセットアソ
シアティブ方式、フルアソシアティブ方式のTLB構成
にも応用できる。
【0049】また、前記実施例では、小容量TLB10
が1つの場合について説明したが、小容量TLB10を
2つ以上設けることにより、3つ以上のアドレス変換リ
クエストを並列に処理することも可能である。
【0050】
【発明の効果】以上詳述したようにこの発明によれば、
少なくとも1つの小容量TLB(第1のアドレス変換バ
ッファ)と大容量TLB(第2のアドレス変換バッフ
ァ)とを設けて並列に動作させるようにしたので、複数
のアドレス変換リクエストを並列に処理することがで
き、仮想記憶方式の計算機システムにおいて命令の並列
化などの処理を行うことが可能となる。
【0051】また、この発明によれば、小容量TLBに
ミスヒットしても、対応するアドレス変換情報がエント
リ大容量TLB20に存在するならば、同情報が小容量
TLBに登録(アップロード)されるなど、最新のアド
レス変換リクエストに対応するアドレス変換情報が常に
小容量TLBにも存在するように制御されるため、1回
目は小容量TLBにミスヒットしても、次に複数のアド
レス変換リクエストを小容量TLBおよび大容量TLB
で並列に処理する場合に、小容量TLBで処理されるリ
クエストの仮想アドレス(仮想ページアドレス)が同一
であれば(このような場合が発生する確率は極めて高
い)、小容量TLBでもヒットし、複数のアドレス変換
リクエストの処理が遅れることなく並列に行える。見方
を変えると、この発明によれば、小容量TLBには常に
最新のアドレス変換情報が保持され、小容量TLBに登
録されているアドレス変換情報は大容量TLBにも必ず
登録されているため、小容量TLBの実質的な容量は大
容量TLBの容量と等しくなり、小容量TLBと大容量
TLBを並列動作させて複数のアドレス変換リクエスト
を並列に処理した場合に、小容量TL側でも、大容量T
LBと同等のヒット率を得ることができる。
【図面の簡単な説明】
【図1】この発明の一実施例に係るアドレス変換バッフ
ァ機構の構成を示すブロック図。
【図2】同実施例における単一リクエスト(に対するヒ
ット)時の動作を説明するためのタイミングチャート。
【図3】同実施例における複数リクエスト(に対するヒ
ット)時の動作を説明するためのタイミングチャート。
【図4】同実施例における複数リクエスト(に対する一
方のみのヒット)時の動作を説明するためのタイミング
チャート。
【図5】同実施例における複数リクエスト(に対するミ
スヒット)時の動作を説明するためのタイミングチャー
ト。
【符号の説明】
10…小容量TLB(第1のアドレス変換バッファ)、
11〜14,21〜24…レジスタ、15〜18,25
〜28…セレクタ、20…大容量TLB(第2のアドレ
ス変換バッファ)、31,32…ヒットチェック回路、
32…アップロード用パス、34…制御部。

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 仮想アドレスを高速に実アドレスに変換
    するための少なくとも1つの小容量の第1のアドレス変
    換バッファと、 この第1のアドレス変換バッファより大容量の第2のア
    ドレス変換バッファと、 最新のアドレス変換リクエストアドレスに対応するアド
    レス変換情報が上記第1および第2のアドレス変換バッ
    ファのいずれにも存在するように制御する制御手段と、 を具備し、上記第1および第2のアドレス変換バッファ
    を並列に動作させて、複数のアドレス変換リクエストを
    並列に処理するようにしたことを特徴とするアドレス変
    換バッファ機構。
  2. 【請求項2】 単一のアドレス変換リクエストに対して
    は、上記第2のアドレス変換バッファでアドレス変換を
    行わせ、ヒット時には、そのヒットエントリのアドレス
    変換情報を上記第1のアドレス変換バッファに登録する
    ことを特徴とする請求項1記載のアドレス変換バッファ
    機構。
  3. 【請求項3】 上記第1および第2のアドレス変換バッ
    ファで異なるアドレス変換リクエストを並列に処理した
    結果、上記第1のアドレス変換バッファでのみミスヒッ
    トとなった場合には、そのミスヒットとなったアドレス
    変換リクエストに対して上記第2のアドレス変換バッフ
    ァでアドレス変換を行わせ、ヒット時には、そのヒット
    エントリのアドレス変換情報を上記第1のアドレス変換
    バッファに登録することを特徴とする請求項2記載のア
    ドレス変換バッファ機構。
  4. 【請求項4】 上記第1および第2のアドレス変換バッ
    ファで異なるアドレス変換リクエストを並列に処理した
    結果、上記第1および第2のアドレス変換バッファのそ
    れぞれでミスヒットとなった場合には、ミスヒットとな
    った各アドレス変換リクエストに対応するアドレス変換
    情報をそれぞれ生成して、上記第1および第2のアドレ
    ス変換バッファのいずれにも登録することを特徴とする
    請求項3記載のアドレス変換バッファ機構。
JP3208199A 1991-08-20 1991-08-20 アドレス変換バッファ機構 Expired - Fee Related JP3015528B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3208199A JP3015528B2 (ja) 1991-08-20 1991-08-20 アドレス変換バッファ機構

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3208199A JP3015528B2 (ja) 1991-08-20 1991-08-20 アドレス変換バッファ機構

Publications (2)

Publication Number Publication Date
JPH0546481A true JPH0546481A (ja) 1993-02-26
JP3015528B2 JP3015528B2 (ja) 2000-03-06

Family

ID=16552306

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3208199A Expired - Fee Related JP3015528B2 (ja) 1991-08-20 1991-08-20 アドレス変換バッファ機構

Country Status (1)

Country Link
JP (1) JP3015528B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6895492B2 (en) 2002-07-05 2005-05-17 Fujitsu Limited Method of and apparatus for performing two-layer address translation
JP2008542948A (ja) * 2005-06-07 2008-11-27 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド コンフィギュラブルトランスレーションルックアサイドバッファを備えたマイクロプロセッサ
JP2011008783A (ja) * 2009-06-22 2011-01-13 Arm Ltd リンクされているデータストアにおいて、アイテムの保存およびアイテムの上書きを決定するデータ保存プロトコル

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6895492B2 (en) 2002-07-05 2005-05-17 Fujitsu Limited Method of and apparatus for performing two-layer address translation
JP2008542948A (ja) * 2005-06-07 2008-11-27 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド コンフィギュラブルトランスレーションルックアサイドバッファを備えたマイクロプロセッサ
JP2011008783A (ja) * 2009-06-22 2011-01-13 Arm Ltd リンクされているデータストアにおいて、アイテムの保存およびアイテムの上書きを決定するデータ保存プロトコル

Also Published As

Publication number Publication date
JP3015528B2 (ja) 2000-03-06

Similar Documents

Publication Publication Date Title
JP3936378B2 (ja) アドレス変換装置
KR920005280B1 (ko) 고속 캐쉬 시스템
JP2825550B2 (ja) 多重仮想空間アドレス制御方法および計算機システム
KR960001946B1 (ko) 우선 변환 참조버퍼
JP5373173B2 (ja) アドレス変換方法及び装置
JP3666689B2 (ja) 仮想アドレス変換方法
US5860147A (en) Method and apparatus for replacement of entries in a translation look-aside buffer
US6473835B2 (en) Partition of on-chip memory buffer for cache
JPH0315211B2 (ja)
US5530823A (en) Hit enhancement circuit for page-table-look-aside-buffer
US6901540B1 (en) TLB parity error recovery
CA1304827C (en) Buffer memory control apparatus
US5603008A (en) Computer system having cache memories with independently validated keys in the TLB
US6574698B1 (en) Method and system for accessing a cache memory within a data processing system
KR100373576B1 (ko) 변환 장치의 엔트리를 무효로 하는 시스템 및 방법
US5924125A (en) Method and apparatus for parallel access to consecutive TLB entries
JP3015528B2 (ja) アドレス変換バッファ機構
EP0486154B1 (en) Method of operating a virtual memory system
JP3190700B2 (ja) アドレス変換装置
US6134699A (en) Method and apparatus for detecting virtual address parity error for a translation lookaside buffer
EP0224168A2 (en) Buffer storage control system
KR920005296B1 (ko) 정보처리장치
JPH08137756A (ja) アドレス変換バッファ機構
JPH0535592A (ja) キヤツシユメモリ装置
JPH1185613A (ja) キャッシュメモリ

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071217

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081217

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091217

Year of fee payment: 10

LAPS Cancellation because of no payment of annual fees