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

アドレス変換機構

Info

Publication number
JPH03218546A
JPH03218546A JP2014182A JP1418290A JPH03218546A JP H03218546 A JPH03218546 A JP H03218546A JP 2014182 A JP2014182 A JP 2014182A JP 1418290 A JP1418290 A JP 1418290A JP H03218546 A JPH03218546 A JP H03218546A
Authority
JP
Japan
Prior art keywords
address
tlb
virtual
conversion
operand
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
JP2014182A
Other languages
English (en)
Other versions
JP2586160B2 (ja
Inventor
Masatoshi Koto
小藤 雅俊
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
NEC 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 NEC Corp filed Critical NEC Corp
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)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔産業上の利用分野] 本発明は、仮想記憶方式を採用した情報処理装置におけ
るTLBを使用したアドレス変換機構に閲し、特に比較
的高速で小容量のTLBと比較的低速で大容量のTLB
との2種類のTLBを使用してアドレス変換を行うアド
レス変換機構の改良に関する. 〔従来の技術〕 仮想記憶方式を採用した情報処理装1は、アドレス計算
により得られた仮想アドレスを実アドレスに変換しこの
実アドレスに対応する主記憶装置のデータを高速に得る
ため、アドレス変換にはTL B (Tianslat
ion Look−aside Buffer)を導入
し、主記憶装置のデータ読み出しにはキャッシュメモリ
を導入してきた.最近では仮想空間の拡大およびデータ
量の拡大に伴い、TLBおよびキャノシュメモリのサイ
ズが情報処理装置の高速化要求を満たす為ますます大容
量化してきている。そして仮想アドレスからTLB索引
,キャッシュメモリ索引という一連の動作をより高速に
処理することが情報処理装置の構成上大きな要因となっ
てきた.そのためTLB索引を高速化する一方式として
、比較的高速で小容量の第1のTLBと比較的低速で大
容量の第2のTLBとの2つのTLBを使用し、第1の
TLBには第2のTLBの一部の写しが格納されるよう
にしておき、第1のTLBでアドレス変換が不可能で第
2のTLBを使用する場合にはアドレス変換のためのマ
シンサイクルは増加するが、第1のTLBでアドレス変
換が可能であれば高速にアドレス変換できるような方式
を採用したアドレス変換機構が提案されている.従来か
ら提案されている第1のTLBと第2のTLBを使用し
たアドレス変換機構を第4図を参照して説明する.なお
、第4図に示すアドレス変換機構では、第1のTLBは
l6エントリから構成され、第2のTLBは512エン
トリ×2レベルのサイズを持ち、キャッシュメモリは6
4エントリX4レベルのサイズで1ブロックサイズは6
4バイトである.また、仮想アドレス,実アドレスの形
式は第5図に示すようになっており、128GB(ギガ
バイト)の仮想記憶空間,IGBの実記憶空間のアクセ
スが可能である. 第4図において、変換要求された仮想アドレスが、それ
を一時的に格納するためのレジスタ(以下VARと称す
)1に格納されると、第1のTLBを構成する多エント
リのバッファ(以下PTLBと称す)5と第2のTLB
を構成する多エントリ.2レヘルのバッファ(以下ST
LBと称す)6−0.6−1とが索引される。PTLB
5とSTLB6−0.6−1はそれぞれ16エントリ.
512エントリ 512エントリのため、VAR1の仮
想アドレスのビット20〜23がアクセスアドレスとし
て信号線3lによりPTLB5に供給され、ビット15
〜23がアクセスアドレスとして信号線32によりST
LB6−0.6−1に供給される.これによりPTLB
5に格納されている仮想アドレスのビットθ〜19が信
号線35に出力され、STLB6−0.6−1に格納さ
れている仮想アドレスのビット0〜14、ビットO〜1
4が信号線37.38に出力される.また同時に実ペー
ジアドレスである実アドレスのビット0−17がPTL
B5,STLB6−0.6−1から信号線36.39.
40に出力される.信号!35,37.38に出力され
た仮想アドレスにかかるビット列は、信号線33.34
上の、VARIに格納された仮想アドレスのうちの対応
しているビット列と比較器9.10.11で比較され、
一致していれば比較器9,10.11の出力は論理値l
になる.このとき、それぞれをPTLBヒット,STL
BレベルOヒット,STLBレベルlヒットという.S
TL8レベルOヒットまたはSTLB1レベルヒットの
場合はセレクタl6によりヒノトしたレベルの実ページ
アドレスを取り出している信号線39または40が選択
され、実アドレスを一時的に格納するレジスタ(以下S
ARと称す)4にその実ページアドレスが格納される.
また、セレクタ17.18の切換のためのF/F (フ
リップフロップ)20が論理値Oであれば、PTLB5
の実ページアドレスを供給している信号線36と信号線
30によるVAR 1のページ内アドレスがセレクタ1
7.18で選択され、F/F 2 0の論理値が1であ
ればSAR4の値(信号線44.45上の{i)がセレ
クタ17.18で選択される.こコテ、F/F20はO
Rゲート26によりSTLBレベル0ヒットまたはレベ
ルlヒットの時カっANDゲート27によりPTLBヒ
ットでない時に論理値lにセットされる.すなわちVA
R 1に仮想アドレスが格納されたマシンサイクル時刻
をt1とすれば、セレクタ17.18はt1ではPTL
Bヒントの場合にPTLB出力による実アドレスを選択
し、PTLBヒットでな( STLBヒットの場合には
t1の次のマシンサイクル時刻t2にSTLB出力によ
る実アドレスを選択する.セレクタ17.18の出力は
64エントリ×4レベル,1ブロックサイズ64バイト
のキャッシュメモリのアドレスアレイ(以下AAと称す
)7を索引する.信号線49によってセレクタl8から
供給されるAA7の索引アドレスは実アドレスのビット
18〜23であり、AA7の各レベルからは実アドレス
のビット0−17が出力され、これらとセレクタ17の
出力を取り出す信号線48上の実アドレスのビット0〜
l7とが比較器12〜15において比較され、一致すれ
ば即ちキャッシュヒットすればそれぞれ対応するF/F
 2 2〜25が論理値1にセットされる.このとき、
セレクタ17.18の出力である実アドレスは、実アド
レスを一時的に格納するレジスタ(以下PARと称す)
2へ格納される.そして、PTLBヒットで且つF/F
20が論理値0であればtlでANDゲート2B,OR
ゲート29を通してF/F21が論理値lにセットされ
、PTLBヒットでな< STLBヒットであればF/
F 2 0が論理値lであるのでt2でORゲート29
を通してF/F21が論理値1にセットされる.すなわ
ち、tl,t2にかかわらずPTLBヒノトまたはST
LBヒットであれば、AA7の索引タイミングでは実ア
ドレスがPAR2へ、キャソシュヒット状況がレベル毎
にF/F 2 2〜25に、TLBヒット状況がF/F
21にセソトされる.そして次のマシンサイクルで、キ
ャッシュメモリのデータアレイ(以下DAと称す)8が
索引され、F/F 2 2〜25のセント状況に従いセ
レクタ19により所望のデータカデータを一時的に格納
するレジスタ(以下DARと称す)3へ格納される. なお、上記の説明および第4図にはPTLB5,STL
B6−0.6−1,AA7,DA8への格納について明
示されていないが、PTLBヒシトでなく且つSTLB
ヒットでない場合は、通常行われている如く主記憶装置
上のアドレス変換テーブルを使用したアドレス変換を行
い、得られた仮想アドレスと実アドレスとの対をPTL
B5,STLB6−0.6−1の該当エントリヘ格納し
、ヰヤソシェメモリのヒットでない場合は主記憶装置ヘ
のブロック転送を起動し実アドレスをAA7へデータを
DA8へ格納する.また、PTLBヒットでな<STL
Bヒットの場合は上記のt2においてSTLBのヒット
した仮想アドレスと実アドレスとの対をPTLB5へ写
すことが行われる.〔発明が解決しようとする課題〕 上述した従来のアドレス変換機構によれば、第1のTL
BであるPTLB5でヒットした場合は、t1で実アド
レスに変換でき且つAA7を索引し、t2でDA8を索
引できる.また、PTLBヒットでなく第2(7)TL
Bである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の導入による価値が無くなるの
は明白である.この点について、更に詳しく説明する. 上述した従来のアドレス変換機構を持つ情報処理装1で
複数オペランド使用命令を実行する場合を考えてみる.
ここで、複数オペランド使用命令とは少なくとも2個以
上のオペランドを使用し各々のオペランドにはオペラン
ドの種類を区別するオペランド番号が割り当てられ、そ
のオペランドのデータ量が多い命令である。例えば、文
字を扱う命令で1024バイトのデータ量であるオペラ
ンド番号1のデータと同一データ量のオペランド番号2
のデータとをバイト単位でANDLてその結果をオペラ
ンド番号3のデータとしてストアする命令であり、また
、行列を扱うベクトル命令で1024バイトのデータ量
であるオペランド番号lのデータと同一データ量のオペ
ランド番号2のデータとを加算してその結果をオペラン
ド番号3のデータとしてストアする命令である.上記の
ような複数オペランド使用命令はいずれもオペランド番
号1の読み出し.オペランド番号2の読み出し,オペラ
ンド番号3の書き込みの3つのコマンドが、1回のコマ
ンドで扱えるデータ量を8バイトとして、128回連続
することになる.ただし、コマンドの順序はデータ構成
.装置構成により異なる場合がある。これらのオペラン
ドは第5図に示す仮想アドレス形式の如<4Kバイトの
ページであればそれぞれ1ページに入るデータ量であり
、通常異なるページに割り当てられる.従って、それぞ
れのオペランドに対し3つの仮想アドレスと実アドレス
との対を第1のTL’Bの3エントリに確保できれば、
第1のTLBにヒットしてアドレス変換は高速に処理さ
れることになる. しかしながら、512エントリ×2レベルの第2のTL
Bの如く大容量であれば問題は少ないが、l6エントリ
の第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によるアドレス変換成功時の仮想アドレスと実ア
ドレスとの対を前記レジスタに格納すると共に、、前記
レジスタに格納されていた内容をその仮想ページアドレ
スの下位のビットで定まる前記バンファのエントリに移
送する手段とを含むアドレス変換機構. (3)変換要求された仮想アドレスとこの仮想アドレス
がオペランド用か命令用かの区別とに基づいて第1のT
LBを索引するアドレスを生成する手段を含み、 第1のTLBを二分して一方をオペランドにかかる仮想
アドレスの変換用に、他方を命令にかかる仮想アドレス
の変換用に使用する構成を有するアドレス変換機構。
により、それぞれ達成される。
〔作用〕
前記(1)の構成を採用したアドレス変換機構において
は、仮想アドレスの変換要求時、変換要求された仮想ア
ドレスが複数オペランド使用命令のオペランドにかかる
仮想アドレスであると判断されると、そのオペランドの
オペランド番号に対応して予め割り当てられた第1のT
LBのエントリを索引するアドレスが生成される.従っ
て、複数オペランド使用命令の各オペランドのアドレス
変換用として第1のTLBのそれぞれ異なる領域が使用
されることになり、各オペランド間で第1のTLBの同
一エントリに対する競合が回避される。よって、第1の
TLBのヒット率が高められ複数オペランド使用命令実
行時におけるアドレス変換が高速に行われる。
前記(2)の構成を採用したアドレス変換機構において
は、アドレス変換要求時、第1のTLBの一部を構成す
るレジスタによるアドレス変換が行われて変換可能か否
か判断され、変換可能な場合はこのレジスタによる変換
結果が選択され、変換不可のときは第1のTLBの残り
の部分を構成する多エントリのバッファによる変換結果
が選択される. ここで、仮想アドレスの変換時、第1のTLBおよび第
2のTLBによるアドレス変換が不成功に終わると従来
と同様に主記憶上のアドレス変換テーブルを使ったアド
レス変換が行われるが、そのとき得られた仮想アドレス
と実アドレスとの対が前記レジスタに格納され、また第
1のTLBでアドレス変換不成功であったが第2のTL
Bでアドレス変換が成功した時にはその際の仮想アドレ
スと実アドレスとの対が前記レジスタに格納され、各々
前記レジスタに格納されていた元の内容はその仮想ペー
ジアドレスの下位のビノトで定まる八ソファのエントリ
に移送される.従って、第1のTLBは、バッファのエ
ントリ数にレジスタの個数分のエントリを追加したもの
となり、且つその追加されるエントリは最近使用された
仮想ページアドレスの下位のビノト(例えばパソファが
16エントリのときは下位4ビット)で定まる仮想アド
レス変換用として動的に使用される.よって、複数オペ
ランド使用命令の各オペランドの仮想ページアドレスの
下位のビットが同一となるように仮想アドレス空間が割
り付けられていても、それらオペランドのアドレス変換
用として第1のTLBのそれぞれ異なる領域が使用され
ることになり、各オペランド間で第1のTLBの同一エ
ントリに対する競合が回避され、第1のTLBのヒット
率が高められて複数オペランド使用命令実行時における
アドレス変換が高速に行われる. 前記(3)の構成を採用したアドレス変換機構において
は、仮想アドレスの変換要求時、変換要求された仮想ア
ドレスとこの仮想アドレスがオペランド用か命令用かの
区別とに基づいて第1のTLBを索引するアドレスが生
成される.即ち、第1のTLBを二分して一方をオペラ
ンドにかかる仮想アドレスの変換用に、他方を命令にか
かる仮想アドレスの変換用に使用してアドレス変換が行
われる為、オペランド用と命令用の仮想ページアドレス
が第1のTLBの同一エントリで競合することが回避で
き、第1のTLBのヒット率が高められてアドレス変換
が高速に行われる.〔実施例〕 次に、本発明の実施例について図面を参照して詳細に説
明する. 第1図は本発明の一実施例の要部ブロック図であり、第
1のTLBの周辺部分のみを示している.この実施例の
アドレス変換機構は、複数オペランド使用命令の実行時
における第1のTLBのヒント率を高め得るようにした
ものである.第1図に示すアドレス変更機構においては
、仮想アドレスがVAR 1に格納された際、同時にそ
の仮想アドレスが複数オペランド使用命令のオペランド
番号1のオペランドであれば2ビットの論理値「01J
が、オペランド番号2のオペランドであれば論理値「1
0」が、オペランド番号3のオペランドであれば論理値
rl IJが、そして複数オペランド使用命令のオペラ
ンドでなければ論理値「00」が、2ビットの信号線6
3を通して、オペランド番号格納用のレジスタ(以下O
PRと称す)60に格納されるようになっている,OP
R60(7)論理値ハ信号I!61.62によ#)OR
ゲート64とセレクタ67に伝達され、ORゲート64
はOPR60からの論理値に基づき仮想アドレスが複数
オペランド使用命令のオペランド番号1〜3のオペラン
ドであれば論理値lを信号線65に出力し、複数オペラ
ンド使用命令のオペランドでなければ論理値Oを信号線
65に出力し、パンファゲート66を通じてセレクタ6
7を制御すセレクタ67には、信号線31で取り出され
たVARI中の仮想ページアトレスの下位4ビノトと、
OPR60からの論理値とが人力されており、ORゲー
ト64の出力が論理値Oのときは信号線31で供給され
る仮想ページアドレスの下位4ビットを選択してアクセ
スアドレスとしてPTLB5に出力し、ORゲート64
の出力が論理値1のときは上位2ビットが論理値0とな
り下位2ビットがOPR6 0からの論理値となる合計
4ビットをアクセスアドレスとしてPTLB5に出力す
る.すなわち、第1のTLBであるPTLB5の索引ア
ドレスは複数オペランド使用命令でなければ第4図に示
した従来例と同一である仮想ページアドレスの下位4ビ
ットが使用され、複数オペランド使用命令であればOP
R6 0に格納されたオペランド番号に従う固定アドレ
スとなる.この固定アドレスは本実施例の場合オペラン
ド番号1〜3に対しPTLB5のエントリ1〜3を指示
するアドレスである。
PTLB5の索引アドレスの他に第4図の従来例との相
違点は、比較器9では、信号線68により供給されるV
AR l中の仮想ページアドレスの全ビノトとPTLB
5から信号線35に出力された仮想ページアドレスの全
ピントとを比較していることである。比較対象が全ビッ
トになる理由は、例えば複数オペランド使用命令のオペ
ランド番号1のオペランドで使用したPTLB5のエン
トリ1は、複数オペランド使用命令でない場合に期待さ
れる仮想ページアドレスの下位4ビットが論理値r00
01Jでないからである。その他の論理については第4
図の論理と同しであるため第1図より省略している。
このように本実施例のアドレス変換機構では、複数オペ
ランド使用命令の各オペランドに対し第1のTLBであ
るPTLB5のそれぞれ異なる固定領域を割り当ててい
るので、各オペランドが第1のTLBの同一エントリを
使用することがなくなる。即ち、各オペランド間で第1
のTLBの同一エントリに対する競合を回避できるため
、複数オペランド使用命令実行時におけるアドレス変換
速度が向上する. 第2図は本発明の別の実施例の要部ブロック図であり、
やはり第1のTLBの周辺部分のみを示している.この
実施例のアドレス変換機構は、主として複数オペランド
使用命令の実行時における第1のTLBのヒット率を高
め得るようにしたものである。
第2図において、70は、仮想ページアドレスの全ビッ
トとこの仮想ページアドレスのアドレス変換後の実ペー
ジアドレスの全ビットとの対を格納するレジスタ(以下
ATRと称す)であり、第1のTLBの一部を構成して
いる。即ち、本実施例のアドレス変換機構では、第1の
TLBは、第4図の従来例と同一構成の16エントリの
PTLB5とlエントリのATR70との合計17エン
トリで構成されている. ATR70を使ったアドレス変換は、VAR 1に保持
された仮想ページアドレスの全ビットを信号線73によ
り取り出すと共にATR70に保持された仮想ページア
ドレスの全ビノトを信号線7lにより取り出し、それら
を比較器74で比較し、一敗すればATR70に格納さ
れている実ページアドレスの全ビノトを取り出している
信号線72をセレクタ77で選択することで行われる。
また、比較器74の比較結果が不一致のとき、セレクタ
77は、信号線36を通してPTLB5から出力された
実ページアドレスを選択する。セレクタ77の出力は第
1のTLBにおける実ページアドレスとして信号線36
を通じて第4図のセレクタ17に供給される。また、O
Rゲート79は比較器74から信号線75に出力される
ATR70によるアドレス変換成功,不成功を示す信号
と、比較器84から信号線78に出力されるPTLB5
によるアドレス変換成功,不成功を示す信号との論理和
をとり、その結果を信号線41.42により第4図のア
ンドゲート28,27へ出力する.このORゲート79
の出力は第1のTLBにおいてアドレス変換が成功した
か否かを示し、成功した場合にはセレクタ77の出力を
取り出す信号線36上の実ページアドレスが正しい実ペ
ージアドレスとして使用される。
ATR70によるアドレス変換成功かどうかの判断時間
すなわち比較器74のディレイタイムは比較的短いため
、ATR70,比較器74,セlzクタ77,ORゲー
ト79を導入しても、第4図に示すPTLB5の出力に
つながる信号線36と第2図に示すセレクタ77の出力
につながる信号線36とに実ページアドレスが現れる時
間は殆どかわらない。
ATR70とPTLB5とによるアドレス変換すなわち
第1のTLBによるアドレス変換の成功時には、ATR
70,PTLB5の内容は不変だが、第1のTLBおよ
び第2のTLBによるアドレス変換不成功時は主記憶上
のアドレス変換テーブルを使ったアドレス変換が行われ
、得られた仮想ページアドレスと実ページアドレスとの
対が信号線83によって書替回路80に与えられ、信号
線84を通じてATR70へ格納される。同時に書替回
路80により、ATR70に格納されていた元の内容が
信号線8lで取り出されてその仮想ページアドレスの下
位4ビ,トで定まるPTLB5のエントリへ信号線82
を通じて移送される。
また、第1のTLBでアドレス変換が失敗したが第2の
TLBでアドレス変換が成功した場合には、その成功に
かかる仮想ページアドレスと実ページアドレスとの対が
信号線83によって書替回路80に与えられ、信号線8
4を通じてATR70へ格納されると共に、ATR70
に格納されていた元の内容が信号線81で取り出されて
その仮想ページアドレスの下位4ビットで定まるPTL
B5のエントリへ信号線82を通じて移送される.すな
わち、仮想ページアドレスの下位4ビットで定まるPT
LB5のエントリに対し1つだけエントリが動的に追加
されることになる.また、ATR70と同様にレジスタ
をもう一つ追加すると2エントリが追加されることにな
る.従って、アドレス変換用のレジスタを追加すると高
速性を損なわずして第1のTLBのレベル数を追加でき
ることになる。
このように第2図の実施例では、仮想ページアドレスと
実ページアドレスとの対を格納したレジスタを第1のT
LBに追加することにより、従来第1のTLBの同一エ
ントリで競合する複数オペランド使用命令に対しても競
合を回避することができる.よって、複数オペランド使
用命令の各オペランドに対するアドレス変換性能の低下
が回避でき、性能を高めることが可能となる。なお、こ
の実施例のアドレス変換機構はオペランド用と命令用の
仮想ページアドレスが第1のTLBの同一エントリに競
合することも防止できる。
第3図は本発明の更に別の実施例の要部ブロック図であ
り、やはり第1のTLBの周辺部分のみを示している。
この実施例のアドレス変換機構は、オペランド用と命令
用の仮想ページアドレスが第1のTLBの同一エントリ
に競合することを防止したものである。
第3図に示すアドレス変更機構においては、仮想アドレ
スがVAR 1に格納された際、同時にその仮想アドレ
スが命令読み出しにかかるものである場合に論理値1が
、オペラント読み出しにかかるものである場合に論理値
Oが、信号線96によって命令フェンチ指示F/F 9
 0へ格納される。
この命令フェッチ指示F/F 9 0の出力は合成器9
4に加えられ、合成器94は命令フェンチ指示F/F 
9 0の出力を最上位ビット,VARIの仮想ヘージア
ドレスの下位3ビットをその下位ピントとする合計4ビ
ットの索引用アドレスを生成し、信号線93を介してそ
の索引用アドレスで第1のTLBであるPTLB5を索
引する。すなわち、本実施例ではl6エントリのPTL
B5は上位8エントリがオペランド用,下位8エントリ
が命令用に分割して使用される。
PTLB5の索引アドレスの他に第4図の従来例との相
違は、比較器9における比較対象ビット数が1増え、信
号線95により供給されるVARl中の仮想ページアド
レスのビット0〜20とPTLB5から信号線35に出
力された仮想ページアドレスのビットO〜20とを比較
していることであり、その他の論理は第4図と同一であ
るため第3図より省略している。
このように、本実施例では、命令フェンチ指示を第1の
TLBへの索引アドレスに加味して第1のTLBのエン
トリをオペランド用と命令用とに分割して使用するため
、オペランド用と命令用の仮想ページアドレスが第1の
TLBの同一エントリで競合することが回避でき、オペ
ランド読み出しと命令読み出しの競合によるアドレス変
換性能の低下を防止することができる。
〔発明の効果〕
以上説明したように、本発明によれば、第1のTLBの
ヒット率を極力高めることができ、アドレス変換を高速
に行うことが可能となる.特に、変換要求された仮想ア
ドレスが複数オペランド使用命令のオペランドにかかる
仮想アドレスであるときにそのオペランドのオペランド
番号に対応して予め割り当てられた第1のTLBのエン
トリを索引するアドレスを生成する構成のアドレス変換
機構では、複数オペランド使用命令実行時における第1
のTLBのヒット率を向上でき、複数オペランド使用命
令にかかるアドレス変換を高速に実行することができる
また、第1のTLBを少なくとも1つのレジスタと多エ
ントリのハンファとにより構成したアドレス変換機構に
よれば、複数オペランド使用命令実行時における第1の
TLBのヒント率を向上することができる他、オペラン
ド用と命令用の仮想ページアドレスが第1のTLBの同
一エントリに競合することも回避できる。
更に、第1のTLBを二分して一方をオペランドにかか
る仮想アドレスの変換用に、他方を命令にかかる仮想ア
ドレスの変換用に使用するアドレス変換機構では、オペ
ランド用と命令用の仮想ページアドレスが第1のTLB
の同一エントリに競合することが回避できる。従って、
オペランド読み出しと命令読み出しの競合によるアドレ
ス変換の性能低下を防止でき、アドレス変換の高速化が
可能となる。
【図面の簡単な説明】
第1図は本発明の一実施例の要部プロソク図、第2図は
本発明の別の実施例の要部ブロンク図、第3図は本発明
の更に別の実施例の要部ブロノク図、 第4図は従来のアドレス変換機構のブロック図および、 第5図は仮想ア}゛レスと実アドレスの形式を示す図で
ある. 図において、 1・・・変換要求された仮想アドレスを保持するレジス
タ(VAR) 5・・・第1のTLBを構成する多エントリのバッファ
(PTLB) 9,84・・・PTLB5によるアドレス変換成功,不
成功を判断する比較器 60・・・オペランド番号が格納されるレジスタ(OP
R) 64・・・変換要求された仮想アドレスが複数オペラン
ド使用命令の各オペランドにかかる仮想アドレスか否か
を判断するORゲート 66・・・バッファゲート 6 7 7 7 7 7・・・PTLB5の索引アドレスを生成するセレクタ 0・・・第1のTLBの一部を構成するレジスタ(AT
R) 4・・・レジスタ70によるアドレス変換成功.不成功
を判断する比較器 7・・・レジスタTo,PTLB5による変換結果の何
れか一方を選択するセレクタ

Claims (3)

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

Cited By (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

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5661083A (en) * 1979-10-24 1981-05-26 Fujitsu Ltd Tlb partition system
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 アドレス変換回路

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5661083A (en) * 1979-10-24 1981-05-26 Fujitsu Ltd Tlb partition system
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 アドレス変換回路

Cited By (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

Also Published As

Publication number Publication date
JP2586160B2 (ja) 1997-02-26

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
US5282274A (en) Translation of multiple virtual pages upon a TLB miss
US5123101A (en) Multiple address space mapping technique for shared memory wherein a processor operates a fault handling routine upon a translator miss
JP3666689B2 (ja) 仮想アドレス変換方法
US4583165A (en) Apparatus and method for controlling storage access in a multilevel storage system
US4991088A (en) Method for optimizing utilization of a cache memory
US6356990B1 (en) Set-associative cache memory having a built-in set prediction array
US20080222360A1 (en) Multi-port integrated cache
JP2603476B2 (ja) データ取り出し方法
US4550367A (en) Data processing system having hierarchical memories
KR960001945B1 (ko) 우선변환참조버퍼에서 적중수를 증가시키기 위한 장치
US4942521A (en) Microprocessor with a cache memory in which validity flags for first and second data areas are simultaneously readable
US5313602A (en) Multiprocessor system and method of control over order of transfer of data between buffer storages
CN1003145B (zh) 地址转换与地址计算相重叠的数据处理系统
JP2768503B2 (ja) 仮想記憶アドレス空間アクセス制御方式
US5414821A (en) Method of and apparatus for rapidly loading addressing environment by checking and loading multiple registers using a specialized instruction
JPH04308953A (ja) 仮想アドレス計算機装置
US5761740A (en) Method of and apparatus for rapidly loading addressing registers
JP3190700B2 (ja) アドレス変換装置
JPH03218546A (ja) アドレス変換機構
US4424564A (en) Data processing system providing dual storage of reference bits
KR920005296B1 (ko) 정보처리장치
JPH01226056A (ja) アドレス変換回路
JPS5858752B2 (ja) アドレス変換装置
CN116841922A (zh) Tlb页表项管理方法

Legal Events

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