JP2586160B2 - アドレス変換機構 - Google Patents

アドレス変換機構

Info

Publication number
JP2586160B2
JP2586160B2 JP2014182A JP1418290A JP2586160B2 JP 2586160 B2 JP2586160 B2 JP 2586160B2 JP 2014182 A JP2014182 A JP 2014182A JP 1418290 A JP1418290 A JP 1418290A JP 2586160 B2 JP2586160 B2 JP 2586160B2
Authority
JP
Japan
Prior art keywords
address
tlb
virtual
operand
conversion
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 - Fee Related
Application number
JP2014182A
Other languages
English (en)
Other versions
JPH03218546A (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 Corp
Original Assignee
Nippon Electric Co 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 Nippon Electric Co Ltd filed Critical Nippon Electric Co Ltd
Priority to JP2014182A priority Critical patent/JP2586160B2/ja
Publication of JPH03218546A publication Critical patent/JPH03218546A/ja
Application granted granted Critical
Publication of JP2586160B2 publication Critical patent/JP2586160B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、仮想記憶方式を採用した情報処理装置にお
けるTLBを使用したアドレス変換機構に関し、特に比較
的高速で小容量のTLBと比較的低速で大容量のTLBとの2
種類のTLBを使用してアドレス変換を行うアドレス変換
機構の改良に関する。
〔従来の技術〕
仮想記憶方式を採用した情報処理装置は、アドレス計
算により得られた仮想アドレスを実アドレスに変換しこ
の実アドレスに対応する主記憶装置のデータを高速に得
るため、アドレス変換にはTLB(Translation Look−asi
de Buffer)を導入し、主記憶装置のデータ読み出しに
はキャッシュメモリを導入してきた。最近では仮想空間
の拡大およびデータ量の拡大に伴い、TLBおよびキャッ
シュメモリのサイズが情報処理装置の高速化要求を満た
す為ますます大容量化してきている。そして仮想アドレ
スからTLB索引,キャッシュメモリ索引という一連の動
作をより高速に処理することが情報処理装置の構成上大
きな要因となってきた。そのためTLB索引を高速化する
一方式として、比較的高速で小容量の第1のTLBと比較
的低速で大容量の第2のTLBとの2つのTLBを使用し、第
1のTLBには第2のTLBの一部の写しが格納されるように
しておき、第1のTLBでアドレス変換が不可能で第2のT
LBを使用する場合にはアドレス変換のためのマシンサイ
クルは増加するが、第1のTLBでアドレス変換が可能で
あれば高速にアドレス変換できるような方式を採用した
アドレス変換機構が提案されている。
従来から提案されている第1のTLBと第2のTLBを使用
したアドレス変換機構を第3図を参照して説明する。な
お、第3図に示すアドレス変換機構では、第1のTLBは1
6エントリから構成され、第2のTLBは512エントリ×2
レベルのサイズを持ち、キャッシュメモリは64エントリ
×4レベルのサイズで1ブロックサイズは64バイトであ
る。また、仮想アドレス,実アドレスの形式は第4図に
示すようになっており、128GB(ギガバイト)の仮想記
憶空間,1GBの実記憶空間のアクセスが可能である。
第3図において、変換要求された仮想アドレスが、そ
れを一時的に格納するためのレジスタ(以下VARと称
す)1に格納されると、第1のTLBを構成する多エント
リのバッファ(以下PTLBと称す)5と第2のTLBを構成
する多エントリ,2レベルのバッファ(以下STLBと称す)
6−0,6−1とが索引される。PTLB5とSTLB6−0,6−1は
それぞれ16エントリ,512エントリ,512エントリのため、
VAR1の仮想アドレスのビット20〜23がアクセスアドレス
として信号線31によりPTLB5に供給され、ビット15〜23
がアクセスアドレスとして信号線32によりSTLB6−0,6−
1に供給される。これによりPTLB5に格納されている仮
想アドレスのビット0〜19が信号線35に出力され、STLB
6−0,6−1に格納されている仮想アドレスのビット0〜
14,ビット0〜14が信号線37,38に出力される。また同時
に実ページアドレスである実アドレスのビット0〜17が
PTLB5,STLB6−0,6−1から信号線36,39,40に出力され
る。信号線35,37,38に出力された仮想アドレスにかかる
ビット列は、信号線33,34上の、VAR1に格納された仮想
アドレスのうちの対応しているビット列と比較器9,10,1
1で比較され、一致していれば比較器9,10,11の出力は論
理値1になる。このとき、それぞれをPTLBヒット,STLB
レベル0ヒット,STLBレベル1ヒットという。STLBレベ
ル0ヒットまたはSTLB1レベルヒットの場合はセレクタ1
6によりヒットしたレベルの実ページアドレスを取り出
している信号線39または40が選択され、実アドレスを一
時的に格納するレジスタ(以下SARと称す)4にその実
ページアドレスが格納される。また、セレクタ17,18の
切換のためのF/F(フリップフロップ)20が論理値0で
あれば、PTLB5の実ページアドレスを供給している信号
線36と信号線30によりVAR1のページ内アドレスがセレク
タ17,18で選択され、F/F20の論理値が1であればSAR4の
値(信号線44,45上の値)がセレクタ17,18で選択され
る。ここで、F/F20はORゲート26によりSTLBレベル0ヒ
ットまたはレベル1ヒットの時かつANDゲート27によりP
TLBヒットでない時に論理値1にセットされる。すなわ
ちVAR1に仮想アドレスが格納されたマシンサイクル時刻
をt1とすれば、セレクタ17,18はt1ではPTLBヒットの場
合にPTLB出力による実アドレスを選択し、PTLBヒットで
なくSTLBヒットの場合にはt1の次のマシンサイクル時刻
t2にSTLB出力による実アドレスを選択する。
セレクタ17,18の出力は64エントリ×4レベル,1ブロ
ックサイズ64バイトのキャッシュメモリのアドレスアレ
イ(以下AAと称す)7を索引する。信号線49によってセ
レクタ18から供給されるAA7の索引アドレスは実アドレ
スのビット18〜23であり、AA7の各レベルからは実アド
レスのビット0〜17が出力され、これらとセレクタ17の
出力を取り出す信号線48上の実アドレスのビット0〜17
とが比較器12〜15において比較され、一致すれば即ちキ
ャッシュヒットすればそれぞれ対応するF/F22〜25が論
理値1にセットされる。このとき、セレクタ17,18の出
力である実アドレスは、実アドレスを一時的に格納する
レジスタ(以下PARと称す)2へ格納される。そして、P
TLBヒットで且つF/F20が論理値0であればt1でANDゲー
ト28,ORゲート29を通してF/F21が論理値1にセットさ
れ、PTLBヒットでなくSTLBヒットであればF/F20が論理
値1であるのでt2でORゲート29を通してF/F21が論理値
1にセットされる。すなわち、t1,t2にかかわらずPTLB
ヒットまたはSTLBヒットであれば、AA7の索引タイミン
グでは実アドレスがPAR2へ、キャッシュヒット状況がレ
ベル毎にF/F22〜25に、TLBヒット状況がF/F21にセット
される。そして次のマシンサイクルで、キャッシュメモ
リのデータアレイ(以下DAと称す)8が索引され、F/F2
2〜25のセット状況に従いセレクタ19により所望のデー
タがデータを一時的に格納するレジスタ(以下DARと称
す)3へ格納される。
なお、上記の説明および第3図にはPTLB5,STLB6−0,6
−1,AA7,DA8への格納について明示されていないが、PTL
Bヒットでなく且つSTLBヒットでない場合は、通常行わ
れている如く主記憶装置上のアドレス変換テーブルを使
用したアドレス変換を行い、得られた仮想アドレスと実
アドレスとの対をPTLB5,STLB6−0,6−1の該当エントリ
へ格納し、キャッシュメモリのヒットでない場合は主記
憶装置へのブロック転送を起動し実アドレスをAA7へデ
ータをDA8へ格納する。また、PTLBヒットでなくSTLBヒ
ットの場合は上記のt2においてSTLBのヒットした仮想ア
ドレスと実アドレスとの対をPTLB5へ写すことが行われ
る。
〔発明が解決しようとする課題〕
上述した従来のアドレス変換機構によれば、第1のTL
BであるPTLB5でヒットした場合は、t1で実アドレスに変
換でき且つAA7を索引し、t2でDA8を索引できる。また、
PTLBヒットでなく第2のTLBであるSTLB6−0,6−1でヒ
ットした場合は、t2で実アドレスに変換でき且つAA7を
索引し、t2の次のマシンサイクル時刻であるt3でDA8を
索引できる。すなわち第2のTLBである大容量のSTLB6−
0,6−1だけではt1〜t3の3マシンサイクルを使ってDA8
を索引するのに対し、第1のTLBであるPTLB5を導入する
ことにより、t1,t2の2マシンサイクルにてDA8を索引す
ることが可能となる。
しかしながら、このアドレス変換機構はSTLBヒットの
確率に対しPTLBヒットの確率があまり落ちないことが前
提であり、PTLBヒットの確率が大幅に落ちる環境下で
は、PTLB5の導入による価値が無くなるのは明白であ
る。この点について、更に詳しく説明する。
上述した従来のアドレス変換機構を持つ情報処理装置
で複数オペランド使用命令を実行する場合を考えてみ
る。ここで、複数オペランド使用命令とは少なくとも2
個以上のオペランドを使用し各々のオペランドにはオペ
ランドの種類を区別するオペランド番号が割り当てら
れ、そのオペランドのデータ量が多い命令である。例え
ば、文字を扱う命令で1024バイトのデータ量であるオペ
ランド番号1のデータと同一データ量のオペランド番号
2のデータとをバイト単位でANDしてその結果をオペラ
ンド番号3のデータとしてストアする命令であり、ま
た、行列を扱うベクトル命令で1024バイトのデータ量で
あるオペランド番号1のデータと同一データ量のオペラ
ンド番号2のデータとを加算してその結果をオペランド
番号3のデータとしてストアする命令である。
上記のような複数オペランド使用命令はいずれもオペ
ランド番号1の読み出し,オペランド番号2の読み出
し,オペランド番号3の書き込みの3つのコマンドが、
1回のコマンドで扱えるデータ量を8バイトとして、12
8回連続することになる。ただし、コマンドの順序はデ
ータ構成,装置構成により異なる場合がある。これらの
オペランドは第4図に示す仮想アドレス形式の如く4Kバ
イトのページであればそれぞれ1ページに入るデータ量
であり、通常異なるページに割り当てられる。従って、
それぞれのオペランドに対し3つの仮想アドレスと実ア
ドレスとの対を第1のTLBの3エントリに確保できれ
ば、第1のTLBにヒットしてアドレス変換は高速に処理
されることになる。
しかしながら、512エントリ×2レベルの第2のTLBの
如く大容量であれば問題は少ないが、16エントリの第1
のTLBであれば前記3エントリが確保される確率は少な
くなる。特に仮想アドレス空間割り付け方法によりペー
ジ番号をある距離を離して割り付けるとすれば1エント
リに競合する確率が大きくなる。もし、同一エントリに
格納されるとすれば、オペランド番号1,オペランド番号
2,オペランド番号3の順に8バイトずつ処理すると、常
に第1のTLBにヒットしないことになる。
このように、従来のアドレス変換機構では、複数オペ
ランド使用命令を実行した場合にそれぞれのオペランド
に対応する第1のTLBのエントリが競合する確率が高
く、アドレス変換の性能低下を引き起こす。
次に、従来のアドレス変換機構を使用した情報処理装
置において主記憶装置からのデータ読み出しを考えてみ
る。1回の命令読み出しで8バイトすなわち2命令取り
出し、これらの命令が1つずつオペランドを読み出すと
して、1回の命令読み出しに対し2回のオペランド読み
出しが行われることになる。命令用とオペランド用の仮
想アドレス空間は異なるため第1のTLBが16エントリと
してこれらの仮想ページアドレスの下位4ビットが同一
であれば第1のTLBの同一のエントリに競合することに
なる。すなわち単純に計算すれば16分の1の確率で3回
の読み出しに2回、第1のTLBでヒットしないことにな
る。また、命令先取りおよび命令分岐予測機能の採用に
より命令読み出しの頻度は増える方向にあり、さらに仮
想アドレス空間割り付け方法によってその確率は増大す
る可能性がある。
このように、従来のアドレス変換機構では、命令読み
出しとオペランド読み出しが第1のTLBの同一エントリ
に競合する確率が高く、アドレス変換の性能低下を引き
起こす。
本発明は上述した如き従来の欠点を解決したもので、
その目的は、第1のTLBのヒット率を極力高めアドレス
変換が高速に行われるようにすることにある。
〔課題を解決するための手段〕
本発明によれば、上記の目的は、仮想アドレスを実ア
ドレスに高速変換するため対応する仮想アドレスと実ア
ドレスとの対を記憶するバッファであるTLBを使用し、
更にこのTLBを第1のTLBとこの第1のTLBより低速かつ
大容量の第2のTLBとにより構成した情報処理装置にお
いて、 (1)変換要求された仮想アドレスが複数オペランド使
用命令のオペランドにかかる仮想アドレスであるか否か
を判断する手段と、 この手段により複数オペランド使用命令のオペランド
にかかる仮想アドレスと判断されることにより、そのオ
ペランドのオペランド番号に対応して予め割り当てられ
た第1のTLBのエントリを索引するアドレスを生成する
手段とを含むアドレス変換機構。
(2)第1のTLBが少なくとも1つのレジスタと多エン
トリのバッファとにより構成され、且つ、 仮想アドレスの変換要求時に前記レジスタによるアド
レス変換を行って変換可能か否かを判断する手段と、 この手段の判断結果が変換可能を示すときは前記レジ
スタによる変換結果を選択し、変換不可を示すときは前
記多エントリのバッファによる変換結果を選択する選択
手段と、 第1のTLBおよび第2のTLBによるアドレス変換不成功
時の仮想アドレスと実アドレスとの対および第2のTLB
によるアドレス変換成功時の仮想アドレスと実アドレス
との対を前記レジスタに格納すると共に、前記レジスタ
に格納されていた内容をその仮想ページアドレスの下位
のビットで定まる前記バッファのエントリに移送する手
段とを含むアドレス変換機構。
〔作用〕
前記(1)の構成を採用したアドレス変換機構におい
ては、仮想アドレスの変換要求時、変換要求された仮想
アドレスが複数オペランド使用命令のオペランドにかか
る仮想アドレスであると判断されると、そのオペランド
のオペランド番号に対応して予め割り当てられた第1の
TLBのエントリを索引するアドレスが生成される。従っ
て、複数オペランド使用命令の各オペランドのアドレス
変換用として第1のTLBのそれぞれ異なる領域が使用さ
れることになり、各オペランド間で第1のTLBの同一エ
ントリに対する競合が回避される。よって、第1のTLB
のヒット率が高められ複数オペランド使用命令実行時に
おけるアドレス変換が高速に行われる。
前記(2)の構成を採用したアドレス変換機構におい
ては、アドレス変換要求時、第1のTLBの一部を構成す
るレジスタによるアドレス変換が行われて変換可能か否
か判断され、変換可能な場合はこのレジスタによる変換
結果が選択され、変換不可のときは第1のTLBの残りの
部分を構成する多エントリのバッファによる変換結果が
選択される。
ここで、仮想アドレスの変換時、第1のTLBおよび第
2のTLBによるアドレス変換が不成功に終わると従来と
同様に主記憶上のアドレス変換テーブルを使ったアドレ
ス変換が行われるが、そのとき得られた仮想アドレスと
実アドレスとの対が前記レジスタに格納され、また第1
のTLBでアドレス変換不成功であったが第2のTLBでアド
レス変換が成功した時にはその際の仮想アドレスと実ア
ドレスとの対が前記レジスタに格納され、各々前記レジ
スタに格納されていた元の内容はその仮想ページアドレ
スの下位のビットで定まるバッファのエントリに移送さ
れる。従って、第1のTLBは、バッファをエントリ数に
レジスタの個数分のエントリを追加したものとなり、且
つその追加されるエントリは最近使用された仮想ページ
アドレスの下位のビット(例えばバッファが16エントリ
のときは下位4ビット)で定まる仮想アドレス変換用と
して動的に使用される。よって、複数オペランド使用命
令の各オペランドの仮想ページアドレスの下位のビット
が同一となるように仮想アドレス空間が割り付けられて
いても、それらオペランドのアドレス変換用として第1
のTLBのそれぞれ異なる領域が使用されることになり、
各オペランド間で第1のTLBの同一エントリに対する競
合が回避され、第1のTLBのヒット率が高められて複数
オペランド使用命令実行時におけるアドレス変換が高速
に行われる。
〔実施例〕
次に、本発明の実施例について図面を参照して詳細に
説明する。
第1図は本発明の一実施例の要部ブロック図であり、
第1のTLBの周辺部分のみを示している。この実施例の
アドレス変換機構は、複数オペランド使用命令の実行時
における第1のTLBのヒット率を高め得るようにしたも
のである。
第1図に示すアドレス変更機構においては、仮想アド
レスがVAR1に格納された際、同時にその仮想アドレスが
複数オペランド使用命令のオペランド番号1のオペラン
ドであれば2ビットの論理値「01」が、オペランド番号
2のオペランドであれば論理値「10」が、オペランド番
号3のオペランドであれば論理値「11」が、そして複数
オペランド使用命令のオペランドでなければ論理値「0
0」が、2ビットの信号線63を通して、オペランド番号
格納用のレジスタ(以下OPRと称す)60に格納されるよ
うになっている。OPR60の論理値は信号線61,62によりOR
ゲート64とセレクタ67に伝達され、ORゲート64はOPR60
からの論理値に基づき仮想アドレスが複数オペランド使
用命令のオペランド番号1〜3のオペランドであれば論
理値1を信号線65に出力し、複数オペランド使用命令の
オペランドでなければ論理値0を信号線65に出力し、バ
ッファゲート66を通じてセレクタ67を制御する。
セレクタ67には、信号線31で取り出されたVAR1中の仮
想ページアドレスの下位4ビットと、OPR60からの論理
値とが入力されており、ORゲート64の出力が論理値0の
ときは信号線31で供給される仮想ページアドレスの下位
4ビットを選択してアクセスアドレスとしてPTLB5に出
力し、ORゲート64の出力が論理値1のときは上位2ビッ
トが論理値0となり下位2ビットがOPR60からの論理値
となる合計4ビットをアクセスアドレスとしてPTLB5に
出力する。すなわち、第1のTLBであるPTLB5の索引アド
レスは複数オペランド使用命令でなければ第3図に示し
た従来例と同一である仮想ページアドレスの下位4ビッ
トが使用され、複数オペランド使用命令であればOPR60
に格納されたオペランド番号に従う固定アドレスとな
る。この固定アドレスは本実施例の場合オペランド番号
1〜3に対しPTLB5のエントリ1〜3を指示するアドレ
スである。
PTLB5の索引アドレスの他に第3図の従来例との相違
点は、比較器9では、信号線68により供給されるVAR1中
の仮想ページアドレスの全ビットとPTLB5から信号線35
に出力された仮想ページアドレスの全ビットとを比較し
ていることである。比較対象が全ビットになる理由は、
例えば複数オペランド使用命令のオペランド番号1のオ
ペランドで使用したPTLB5のエントリ1は、複数オペラ
ンド使用命令でない場合に期待される仮想ページアドレ
スの下位4ビットが論理値「0001」でないからである。
その他の論理については第3図の論理と同じであるため
第1図より省略している。
このように本実施例のアドレス変換機構では、複数オ
ペランド使用命令の各オペランドに対し第1のTLBであ
るPTLB5のそれぞれ異なる固定領域を割り当てているの
で、各オペランドが第1のTLBの同一エントリを使用す
ることがなくなる。即ち、各オペランド間で第1のTLB
の同一エントリに対する競合を回避できるため、複数オ
ペランド使用命令実行時におけるアドレス変換速度が向
上する。
第2図は本発明の別の実施例の要部ブロック図であ
り、やはり第1のTLBの周辺部分のみを示している。こ
の実施例のアドレス変換機構は、主として複数オペラン
ド使用命令の実行時における第1のTLBのヒット率を高
め得るようにしたものである。
第2図において、70は、仮想ページアドレスの全ビッ
トとこの仮想ページアドレスのアドレス変換後の実ペー
ジアドレスの全ビットとの対を格納するレジスタ(以下
ATRと称す)であり、第1のTLBの一部を構成している。
即ち、本実施例のアドレス変換機構では、第1のTLB
は、第3図の従来例と同一構成の16エントリのPTLB5と
1エントリのATR70との合計17エントリで構成されてい
る。
ATR70を使ったアドレス変換は、VAR1に保持された仮
想ページアドレスの全ビットを信号線73により取り出す
と共にATR70に保持された仮想ページアドレスの全ビッ
トを信号線71により取り出し、それらを比較器74で比較
し、一致すればATR70に格納されている実ページアドレ
スの全ビットを取り出している信号線72をセレクタ77で
選択することで行われる。また、比較器74の比較結果が
不一致のとき、セレクタ77は、信号線36を通じてPTLB5
から出力された実ページアドレスを選択する。セレクタ
77の出力は第1のTLBにおける実ページアドレスとして
信号線36を通じて第3図のセレクタ17に供給される。ま
た、ORゲート79は比較器74から信号線75に出力されるAT
R70によるアドレス変換成功,不成功を示す信号と、比
較器84から信号線78に出力されるPTLB5によるアドレス
変換成功,不成功を示す信号との論理和をとり、その結
果を信号線41,42により第3図のアンドゲート28,27へ出
力する。このORゲート79の出力は第1のTLBにおいてア
ドレス変換が成功したか否かを示し、成功した場合には
セレクタ77の出力を取り出す信号線36上の実ページアド
レスが正しい実ページアドレスとして使用される。
ATR70によるアドレス変換成功かどうかの判断時間す
なわち比較器74のディレイタイムは比較的短いため、AT
R70,比較器74,セレクタ77,ORゲート79を導入しても、第
3図に示すPTLB5の出力につながる信号線36と第2図に
示すセレクタ77の出力につながる信号線36とに実ページ
アドレスが現れる時間は殆どかわらない。
ATR70とPTLB5とによるアドレス変換すなわち第1のTL
Bによるアドレス変換の成功時には、ATR70,PTLB5の内容
は不変だが、第1のTLBおよび第2のTLBによるアドレス
変換不成功時は主記憶上のアドレス変換テーブルを使っ
たアドレス変換が行われ、得られた仮想ページアドレス
と実ページアドレスとの対が信号線83によって書替回路
80に与えられ、信号線84を通じてATR70へ格納される。
同時に書替回路80により、ATR70に格納されていた元の
内容が信号線81で取り出されてその仮想ページアドレス
の下位4ビットで定まるPTLB5のエントリへ信号線82を
通じて移送される。また、第1のTLBでアドレス変換が
失敗したが第2のTLBでアドレス変換が成功した場合に
は、その成功にかかる仮想ページアドレスと実ページア
ドレスとの対が信号線83によって書替回路80に与えら
れ、信号線84を通じてATR70へ格納されると共に、ATR70
に格納されていた元の内容が信号線81で取り出されてそ
の仮想ページアドレスの下位4ビットで定まるPTLB5の
エントリへ信号線82を通じて移送される。すなわち、仮
想ページアドレスの下位4ビットで定まるPTLB5のエン
トリに対し1つだけエントリが動的に追加されることに
なる。また、ATR70と同様にレジスタをもう一つ追加す
ると2エントリが追加されることになる。従って、アド
レス変換用のレジスタを追加すると高速性を損なわずし
て第1のTLBのレベル数を追加できることになる。
このように第2図の実施例では、仮想ページアドレス
と実ページアドレスとの対を格納したレジスタを第1の
TLBに追加することにより、従来第1のTLBの同一エント
リで競合する複数オペランド使用命令に対しても競合を
回避することができる。よって、複数オペランド使用命
令の各オペランドに対するアドレス変換性能の低下が回
避でき、性能を高めることが可能となる。なお、この実
施例のアドレス変換機構はオペランド用と命令用の仮想
ページアドレスが第1のTLBの同一エントリに競合する
ことも防止できる。
〔発明の効果〕
以上説明したように、本発明によれば、第1のTLBの
ヒット率を極力高めることができ、アドレス変換を高速
に行うことが可能となる。
特に、変換要求された仮想アドレスが複数オペランド
使用命令のオペランドにかかる仮想アドレスであるとき
にそのオペランドのオペランド番号に対応して予め割り
当てられた第1のTLBのエントリを索引するアドレスを
生成する構成のアドレス変換機構では、複数オペランド
使用命令実行時における第1のTLBのヒット率を向上で
き、複数オペランド使用命令にかかるアドレス変換を高
速に実行することができる。
また、第1のTLBを少なくとも1つのレジスタと多エ
ントリのバッファとにより構成したアドレス変換機構に
よれば、複数オペランド使用命令実行時における第1の
TLBのヒット率を向上することができる他、オペランド
用と命令用の仮想ページアドレスが第1のTLBの同一エ
ントリに競合することも回避できる。
【図面の簡単な説明】
第1図は本発明の一実施例の要部ブロック図、 第2図は本発明の別の実施例の要部ブロック図、 第3図は従来のアドレス変換機構のブロック図および、 第4図は仮想アドレスと実アドレスの形式を示す図であ
る。 図において、 1……変換要求された仮想アドレスを保持するレジスタ
(VAR) 5……第1のTLBを構成する多エントリのバッファ(PTL
B) 9,84……PTLB5によるアドレス変換成功,不成功を判断
する比較器 60……オペランド番号が格納されるレジスタ(OPR) 64……変換要求された仮想アドレスが複数オペランド使
用命令の各オペランドにかかる仮想アドレスか否かを判
断するORゲート 66……バッファゲート 67……PTLB5の索引アドレスを生成するセレクタ 70……第1のTLBの一部を構成するレジスタ(ATR) 74……レジスタ70によるアドレス変換成功,不成功を判
断する比較器 77……レジスタ70,PTLB5による変換結果の何れか一方を
選択するセレクタ 79……第1のTLBによるアドレス変換が成功したか否か
を示す信号を出力するORゲート

Claims (2)

    (57)【特許請求の範囲】
  1. 【請求項1】仮想アドレスを実アドレスに高速変換する
    ため対応する仮想アドレスと実アドレスとの対を記憶す
    るバッファであるTLBを使用し、更に該TLBを第1のTLB
    と該第1のTLBより低速かつ大容量の第2のTLBとにより
    構成した情報処理装置において、 変換要求された仮想アドレスが複数オペランド使用命令
    のオペランドにかかる仮想アドレスであるか否かを判断
    する手段と、 該手段により複数オペランド使用命令のオペランドにか
    かる仮想アドレスと判断されることにより、そのオペラ
    ンドのオペランド番号に対応して予め割り当てられた第
    1のTLBのエントリを索引するアドレスを生成する手段
    とを含むことを特徴とするアドレス変換機構。
  2. 【請求項2】仮想アドレスを実アドレスに高速変換する
    ため対応する仮想アドレスと実アドレスとの対を記憶す
    るバッファであるTLBを使用し、更に該TLBを第1のTLB
    と該第1のTLBより低速かつ大容量の第2のTLBとにより
    構成した情報処理装置において、 第1のTLBが少なくとも1つのレジスタと多エントリの
    バッファとにより構成され、且つ、 仮想アドレスの変換要求時に前記レジスタによるアドレ
    ス変換を行って変換可能か否かを判断する手段と、 該手段の判断結果が変換可能を示すときは前記レジスタ
    による変換結果を選択し、変換不可を示すときは前記多
    エントリのバッファによる変換結果を選択する選択手段
    と、 第1のTLBおよび第2のTLBによるアドレス変換不成功時
    の仮想アドレスと実アドレスとの対および第2のTLBに
    よるアドレス変換成功時の仮想アドレスと実アドレスと
    の対を前記レジスタに格納すると共に、前記レジスタに
    格納されていた内容をその仮想ページアドレスの下位の
    ビットで定まる前記バッファのエントリに移送する手段
    とを含むことを特徴とするアドレス変換機構。
JP2014182A 1990-01-24 1990-01-24 アドレス変換機構 Expired - Fee Related JP2586160B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014182A JP2586160B2 (ja) 1990-01-24 1990-01-24 アドレス変換機構

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014182A JP2586160B2 (ja) 1990-01-24 1990-01-24 アドレス変換機構

Publications (2)

Publication Number Publication Date
JPH03218546A JPH03218546A (ja) 1991-09-26
JP2586160B2 true JP2586160B2 (ja) 1997-02-26

Family

ID=11853995

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014182A Expired - Fee Related JP2586160B2 (ja) 1990-01-24 1990-01-24 アドレス変換機構

Country Status (1)

Country Link
JP (1) JP2586160B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05216763A (ja) * 1992-02-03 1993-08-27 Pfu Ltd 2段tlbを用いたアドレス変換方式
US6553477B1 (en) 2000-11-06 2003-04-22 Fujitsu Limited Microprocessor and address translation method for microprocessor

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5918787B2 (ja) * 1979-10-24 1984-04-28 富士通株式会社 Tlbパ−テイシヨン方式
JPS5782269A (en) * 1980-11-11 1982-05-22 Fujitsu Ltd Tlb control system
JPS5996587A (ja) * 1982-11-25 1984-06-04 Nec Corp デ−タ処理装置
JPS63168752A (ja) * 1987-01-07 1988-07-12 Nippon Telegr & Teleph Corp <Ntt> アドレス変換バツフア制御方式
JPH01226056A (ja) * 1988-03-04 1989-09-08 Nec Corp アドレス変換回路

Also Published As

Publication number Publication date
JPH03218546A (ja) 1991-09-26

Similar Documents

Publication Publication Date Title
JP3666689B2 (ja) 仮想アドレス変換方法
US5689679A (en) Memory system and method for selective multi-level caching using a cache level code
US7694077B2 (en) Multi-port integrated cache
US5018061A (en) Microprocessor with on-chip cache memory with lower power consumption
US6356990B1 (en) Set-associative cache memory having a built-in set prediction array
EP0019358B1 (en) Hierarchical data storage system
JPH10232834A (ja) キャッシュメモリを作動する方法およびコンピュータシステム
KR960001945B1 (ko) 우선변환참조버퍼에서 적중수를 증가시키기 위한 장치
JPS61141055A (ja) 情報処理装置のアドレス変換方式
EP0173981A2 (en) Cache memory control circuit
US4942521A (en) Microprocessor with a cache memory in which validity flags for first and second data areas are simultaneously readable
US5923864A (en) Virtual storage address space access control system including auxiliary translation lookaside buffer
US5440708A (en) Microprocessor and storage management system having said microprocessor
JP2008512758A (ja) 仮想アドレス・キャッシュに格納されたデータを共用する仮想アドレス・キャッシュ及び方法
JP2586160B2 (ja) アドレス変換機構
JPH0727492B2 (ja) 緩衝記憶装置
KR19990082723A (ko) 데이타프로세싱시스템내의캐쉬메모리를억세싱하기위한방법및시스템
JP2000020396A (ja) 可変式キャッシュ方式
US5510973A (en) Buffer storage control system
US4561071A (en) Storage system having buffer storage
JPS644214B2 (ja)
JPS623354A (ja) キヤツシユメモリ・アクセス方式
JP3015528B2 (ja) アドレス変換バッファ機構
KR920005296B1 (ko) 정보처리장치
JPS5858752B2 (ja) アドレス変換装置

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees