JPH05151086A - アドレス変換バツフア回路 - Google Patents

アドレス変換バツフア回路

Info

Publication number
JPH05151086A
JPH05151086A JP3337832A JP33783291A JPH05151086A JP H05151086 A JPH05151086 A JP H05151086A JP 3337832 A JP3337832 A JP 3337832A JP 33783291 A JP33783291 A JP 33783291A JP H05151086 A JPH05151086 A JP H05151086A
Authority
JP
Japan
Prior art keywords
address
instruction
operand
line
tlb
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
Application number
JP3337832A
Other languages
English (en)
Inventor
Kengo Mizukami
賢吾 水上
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 Computertechno Ltd
Original Assignee
NEC Computertechno 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 NEC Computertechno Ltd filed Critical NEC Computertechno Ltd
Priority to JP3337832A priority Critical patent/JPH05151086A/ja
Publication of JPH05151086A publication Critical patent/JPH05151086A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 【目的】 アドレス変換バッファのヒット率を向上可能
とする。 【構成】 2つのTLB(アドレスバッファ)の1つ
(4)をインストラクション用とし、他(5)をオペラ
ンド用として使い分ける。この使い分けは、リクエスト
コードレジスタ2内のリクエストコード102 により示さ
れる、仮想アドレス101 がインストラクションのアドレ
スかオペランドのアドレスかにより制御回路8にて制御
する。 【効果】 2重化されたTLBをインストラクションと
オペランドとに使い分けるので、夫々のTLBのヒット
率が向上する。

Description

【発明の詳細な説明】
【0001】
【技術分野】本発明はアドレス変換バッファ回路に関し
特に仮想記憶方式を用いた情報処理装置におけるアドレ
ス変換バッファ回路に関するものである。
【0002】
【従来技術】仮想記憶方式では、ある仮想空間内の仮想
アドレスを実アドレスに変換する際、セグメントテーブ
ル、ページテーブルを索引して実アドレスを求めるよう
になっている。
【0003】連続して同じ仮想アドレスから実アドレス
を索引する場合には,同じ動作を繰返し行っているので
性能が低下し、よって一度索引した実アドレスを仮想ア
ドレスとアドレスバッファ(TLB)に格納しておくよ
うになっている。
【0004】従って、その後に、格納済みの仮想アドレ
スと同一の仮想アドレスから実アドレスを求める場合に
は、このTLBを検索して対応する実アドレスを求める
ことが行われる。
【0005】図5はこの様な従来のアドレス変換バッフ
ァ回路のブロックを示している。仮想アドレスレジスタ
1は命令またはオペランドの仮想アドレスを保持するレ
ジスタである。ダイナミックアドレス変換回路9は動的
にアドレス変換動作を行う機構であり、仮想アドレスに
より主記憶14上のセグメントテーブル、ページテーブ
ルを索引して実アドレスを生成する。
【0006】TLBコンパートメントA4及びB5は、
仮想アドレスとアドレス変換後の実アドレスと仮想アド
レスが有効であるか否かを示す有効ビットとのアドレス
変換対を夫々複数ワード(同数)格納するバッファであ
る。
【0007】比較回路10は、仮想アドレス及び対応す
るTLBコンパートメントA4内の有効な仮想アドレス
が一致しているか否かを比較する。比較回路11は、仮
想アドレス及び対応するTLBコンパートメントB5内
の有効な仮想アドレスが一致しているか否かを比較す
る。
【0008】TLM6は、最も古くに使用されたアドレ
ス変換対が今後使用されないであろうという考え方のL
RU(Least Recently Used )アルゴリズムに基づき、
TLBコンパートメントA4またはB5の各アドレス変
換対のLRU値を夫々格納するバッファである。
【0009】ポインタ生成回路3は、仮想アドレスの一
部を用いてTLBコンパートメントA4とB5のアドレ
スとの変換対、及びTLM6のLRU値を索引するポイ
ンタを生成する。セレクタ12は、TLBコンパートメ
ントA4またはB5、またはダイナミックアドレス変換
回路9よりの実アドレスを選択する。
【0010】制御回路8は、ダイナミックアドレス変換
回路9の起動と、アドレス変換対のTLBコンパートメ
ントA4またはB5への登録と、TLM6の更新と、セ
レクタ12の選択信号と、実アドレスレジスタ13への
登録とを制御する。
【0011】次に、図5に示したアドレス変換バッファ
回路の動作について説明する。先ず、仮想アドレスレジ
スタ1に仮想アドレスがセットされると、線101 を経由
してポインタ生成回路3よりTLBコンパートメントA
4及びB5、TLM6内のポインタを生成する。ポイン
タ生成回路3よりのポインタは線103 を経由してTLB
コンパートメントA4及びB5内のアドレス変換対を索
引する。
【0012】TLBコンパートメントA4よりのアドレ
ス変換対は線104 を経由して比較回路10に、TLBコ
ンパートメントB5よりのアドレス変換対は線105 を経
由して比較回路11に夫々入り、共に線101 よりの仮想
アドレスと比較される。比較の結果は線108 を経由し
て、線106 を経由してきたTLBコンパートメントA4
及びB5内のアドレス変換対の有効ビットと共に制御回
路8に入る。
【0013】比較回路10の結果が一致しかつTLBコ
ンパートメントA4よりのアドレス変換対の有効ビット
が有効を表している場合、制御回路8はセレクタ12で
TLBコンパートメントA4よりの実アドレスを線113
を用いて選択させる。比較回路11の結果が一致しかつ
TLBコンパートメントB5よりのアドレス変換対の有
効ビットが有効を表している場合、制御回路8はセレク
タ12でTLBコンパートメントB5よりの実アドレス
を線113 を用いて選択させる。
【0014】但し、上記の2つの組合わせは同時には起
こり得ない。また、上記の組合せせ以外の場合はダイナ
ミックアドレス変換回路9を線109 を用いて起動させ
る。
【0015】所定のアドレス変換が終了すると制御回路
8は、セレクタ12でダイナミックアドレス変換回路9
より線110 を経由してきた実アドレスを線113を用い
て選択させる。同時に線103 より経由してきたポインタ
で示されるTLM6のLRU値が線107 を経由して制御
回路8に入り、TLBコンパートメントA4またはB5
のどちらか一方にアドレス変換対を登録するか決定す
る。
【0016】その後、線111 によって有効ビットを有効
にして仮想アドレスとアドレス変換後の実アドレスと共
にアドレス変換対とし、先程決定したTLBコンパート
メントA4またはB5のどちらかの、線103 より経由し
てきたポインタの示す場所へ登録する。また、線112 に
よってTLM6の線103 より経由してきたポインタの示
すLRU値を更新する。
【0017】セレクタ12で選択された実アドレスは11
4 を経由し、制御回路8により線115 を用いて実アドレ
スレジスタ13にセットされ、線116 を経由して主記憶
12を索引する。
【0018】一般に命令とオペランドは、ほぼ同数の割
合でアドレス変換がなされる。そこで従来技術におい
て、夫々仮想アドレスは違うがTLB内の格納するポイ
ンタが同じである命令I1,I2及びオペランドO1
と、I1,I2,O1とは仮想アドレス及びTLB内の
格納するるポインタも違うオペランドO2があり、I
1,O1,I2,O2,I1,O1,I
2,O2と連続したアドレス変換がなされるとする。
【0019】ただし,,,,,,,,
の間に、I1,I2,O1,O2,とは仮想アドレスも
TLB内の格納するポインタも違う命令及びオペランド
のアドレス変換が行われても構わない。また、O2とは
仮想アドレスは違うが、TLB内の格納するポインタは
同じオペランドは1種類のみアドレス変換が行われても
構わない。このような場合において以下のような問題が
生ずる。
【0020】の場合:アドレス変換動作が行われ、T
LBコンパートメントA4に登録される。
【0021】の場合:アドレス変換動作が行われ、T
LBコンパートメントB5に登録される。
【0022】の場合:アドレス変換動作が行われ、T
LM6のLRU値によりTLBコンパートメントA4が
選ばれる。しかし、のアドレス変換対とTLBコンパ
ートメントA4内のポインタが同じであるため上書きさ
れる。
【0023】の場合:アドレス変換動作が行われ、T
LBコンパートメントA4ののアドレス変換対とは別
のポインタに登録される。
【0024】の場合:で1度アドレス変換動作が行
われているが、で消去されているためもう1度アドレ
ス変換を行い、TLM6のLRU値によりTLBコンパ
ートメントB5が選ばれる。しかし、のアドレス変換
対とTLBコンパートメントB5内のポインタが同じで
あるため上書きされる。
【0025】の場合:で1度アドレス変換動作が行
われているが、で消去されているためもう1度アドレ
ス変換を行い、TLM6のLRU値によりTLBコンパ
ートメントA4が選ばれる。しかし、のアドレス変換
対とTLBコンパートメントA4内のポインタが同じで
あるため上書きされる。
【0026】の場合:で1度アドレス変換動作が行
われているが、で消去されているためもう1度アドレ
ス変換を行い、TLM6のLRU値によりTLBコンパ
ートメントB5が選ばれる。しかし、のアドレス変換
対とTLBコンパートメントB5内のポインタが同じで
あるため上書きされる。
【0027】の場合:で1度アドレス変換動作が行
われていて、TLBコンパートメントA4に登録されて
いるので、TLBヒットとなる。
【0028】以下、この様にI1,O1,I2,O2,
I1,O1,I2,O2,…と続く場合にはTLBのヒ
ット率が低下する。
【0029】また、夫々仮想アドレスは違うがTLB内
の格納するポインタが同じである命令I1及びオペラン
ドO1,O2と、I1,O1,O2とは仮想アドレス及
びTLB内の格納するポインタも違う命令I2があり、
上記のように連続してアドレス変換を行う場合も同様に
TLBのヒット率が低下するといった問題点がある。
【0030】
【発明の目的】本発明の目的は、TLBのヒット率を向
上可能としたアドレス変換バッファ回路を提供すること
である。
【0031】
【発明の構成】本発明によるアドレス変換バッファ回路
は、仮想アドレスを保持する仮想アドレスレジスタと、
前記仮想アドレスが命令のアドレスかオペランドのアド
レスかを示すリクエストコードを格納するリクエストコ
ードレジスタと、命令の仮想アドレスとアドレス変換後
の実アドレスとのアドレス変換対を複数ワード格納する
インストラクションアドレスバッファと、オペランドの
仮想アドレスとアドレス変換後の実アドレスとのアドレ
ス変換対を格納するオペランドアドレスバッファと、前
記仮想アドレスレジスタの内容に基き前記インストラク
ションアドレスバッファ及び前記オペランドアドレスバ
ッファの索引用ポインタを生成するポインタ生成手段
と、前記アドレスバッファに夫々対応して設けられて前
記ポインタにより索引された索引結果の一致不一致を夫
々検出する比較手段と、前記リクエストコードレジスタ
の内容及び前記比較手段の比較結果に応じて前記インス
トラクションアドレスバッファ及び前記オペランドアド
レスバッファのいずれかの索引結果を選択制御すと制御
手段とを含むことを特徴とする。
【0032】
【実施例】以下、本発明の実施例について図面を参照し
て説明する。
【0033】図1は本発明の実施例のアドレス変換バッ
ファの回路を示した図であり、図5と同等部分は同一符
号により示している。図において仮想アドレスレジスタ
1は命令またはオペランドの仮想アドレスを保持するレ
ジスタである。
【0034】リクエストコードレジスタ2は、仮想アド
レスレジスタ1内の仮想アドレスが命令のアドレスある
いはオペランドのアドレスであるかを示すリクエストコ
ードを保持するレジスタである。
【0035】ダイナミックアドレス変換回路9は動的に
アドレス変換動作を行う機構であり、仮想ドレスによ
り、主記憶14上のセグメントテーブル、ページテーブ
ルを索引して実アドレスを生成する。
【0036】インストラクションTLB4は、命令の仮
想アドレスとアドレス変換後の実アドレスと命令の仮想
アドレスが有効であるか否かを示す有効ビットとのアド
レス変換対を複数ワード格納するバッファである。比較
回路10は、命令の仮想アドレス及び対応するインスト
ラクションTLB4内の有効な仮想アドレスが一致して
いるか否かを比較する。
【0037】オペランドTLB5は、オペランドの仮想
アドレスとアドレス変換後の実アドレスとオペランドの
仮想アドレスが有効であるか否かを示す有効ビットとの
アドレス変換対を複数ワード格納するバッファである。
比較回路11は、オペランドの仮想アドレス及び対応す
るオペランドTLB5内の有効な仮想アドレスが一致し
ているか否かを比較する。
【0038】ポインタ生成回路3は、仮想アドレスの一
部を用いてインストラクションTLB4及びオペランド
TLB5のアドレス変換対を索引するポインタを生成す
る。セレクタ12は、インストラクションTLB4また
はオペランドTLB5またはダイナミックアドレス変換
回路7よりの実アドレスを選択する。
【0039】制御回路8は、ダイナミックアドレス変換
回路9の起動と、命令のアドレス変換対のインストラク
ションTLB4への登録と、オペランドのアドレス変換
対のオペランドTLB5への登録と、セレクタ12の選
択信号と、実アドレスレジスタ13への登録とを制御す
る。
【0040】次に、図1のアドレス変換バッファの動作
について以下のような例を用いて説明する。先ず、仮想
アドレスレジスタ1に仮想アドレスが、リクエストコー
ドレジスタ2に命令を示すリクエストコードが夫々セッ
トされると、線101 を経由してポインタ生成回路3より
インストラクションTLB4及びオペランドTLB5内
のポインタを生成する。
【0041】ポインタ生成回路3よりのポインタは線10
3 を経由してインストラクションTLB4及びオペラン
ドTLB5内のアドレス変換対を索引する。インストラ
クションTLB4よりのアドレス変換対は線104 を経由
して比較回路10に、オペランドTLB5よりのアドレ
ス変換対は線105 を経由して比較回路11に夫々入り、
線101 よりの仮想アドレスと夫々比較される。比較の結
果は線108 を経由して、線102 を経由してきたリクエス
トコードと共に制御回路8に入る。
【0042】ここで、リクエストコードは命令を示して
いるので、比較回路10の結果が一致しかつインストラ
クションTLB4よりのアドレス変換対の有効ビットが
有効を表している場合、制御回路8はセレクタ12でイ
ンストラクションTLB4よりの実アドレスを線113 を
用いて選択させる。上記の組合わせ以外の場合はダイナ
ミックアドレス変換回路9を線109 を用いて起動させ
る。
【0043】所定のアドレス変換が終了すると、制御回
路8はセレクタ12でダイナミックアドレス変換回路9
より線110 を経由してきた実アドレスを線113 を用いて
選択させる。同時にインストラクションTLB4に、線
111 によって有効ビットを有効にして仮想アドレスとア
ドレス変換後の実アドレスと共にアドレス変化対とし、
線103 より経由してきたポインタの示す場所へ登録す
る。
【0044】セレクタ12で選択された実アドレスは線
114 を経由し、制御回路8により線115 を用いて実アド
レスレジスタ13にセットされ、線116 を経由して主記
憶12を索引する。
【0045】一方、仮想アドレスレジスタ1に仮想アド
レスが、リクエストコードレジスタ2にオペランドを示
すリクエストコードがせっとされると、線101 を経由し
てポインタ生成回路3よりインストラクションTLB4
及びオペランドTLB5内のポインタを生成する。
【0046】ポインタ生成回路3よりのポインタは線10
3 を経由してインストラクションTLB4及びオペラン
ドTLB5内のアドレス変換対を索引する。インストラ
クションTLB4よりのアドレス変換対は線104 を経由
して比較回路10に、オペランドTLB5よりのアドレ
ス変換対は線105 を経由して比較回路11に夫々入り、
線101 よりの仮想アドレスと夫々比較される。比較の結
果は線108 を経由して、線102 を経由してきたリクエス
トコードと共に制御回路8に入る。
【0047】ここで、リクエストコードはオペランドを
示しているので、比較回路11の結果が一致しかつオペ
ランドTLB5よりのアドレス変換対の有効ビットが有
効を表している場合、制御回路8はセレクタ12でオペ
ランドTLB5よりの実アドレスを線113 を用いて選択
させる。上記の組合わせ以外の場合はダイナミックアド
レス変換回路9を線109 を用いて起動させる。
【0048】所定のアドレス変換が終了すると、制御回
路8はセレクタ12でダイナミックアドレス変換回路9
より線110 を経由してきた実アドレスを線113 を用いて
選択させる。同時にオペランドTLB5に、線111によ
って有効ビットを有効にして仮想アドレスとアドレス変
換後の実アドレスと共にアドレス変化対とし、線103よ
り経由してきたポインタの示す場所へ登録する。
【0049】セレクタ12で選択された実アドレスは線
114 を経由し、制御回路8により線115 を用いて実アド
レスレジスタ13にセットされ、線116 を経由して主記憶
12を索引する。
【0050】以上の動作に基づき、従来技術で記述して
あるように、仮想アドレスは違うがTLB内の格納する
ポインタが同じである命令I1,I2及びオペランドO
1と、I1,I2,O1とは仮想アドレス及びTLB内
の格納するるポインタも違うオペランドO2 があり、
I1 ,O1,I2,O2,I1,O1,I
2,O2と連続したアドレス変換がなされるとする。
【0051】ただし,,,,,,,,
の間に、I1,I2,O1,O2,とは仮想アドレスも
TLB内の格納するポインタも違う命令及びオペランド
のアドレス変換が行われても構わない。また、O2とは
仮想アドレスは違うが、TLB内の格納するポインタは
同じオペランドは1種類のみアドレス変換が行われても
構わない。このような場合において以下のような動作を
行う。
【0052】の場合:アドレス変換動作が行われ、イ
ンストラクションTLB4に登録される。
【0053】の場合:アドレス変換動作が行われ、オ
ペランドTLB5に登録される。
【0054】の場合:アドレス変換動作が行われ、イ
ンストラクションTLB4に登録される。しかし、の
アドレス変換対とインストラクションTLB4内のポイ
ンタが同じであるため上書きされる。
【0055】の場合:アドレス変換動作が行われ、オ
ペランドTLB5ののアドレス変換対とは別のポイン
タに登録される。
【0056】の場合:で1度アドレス変換動作が行
われているが、で消去されているためもう1度アドレ
ス変換を行い、インストラクションTLB4に登録され
る。しかし、のアドレス変換対とインストラクション
TLB4内のポインタが同じであるため上書きされる。
【0057】の場合:で1度アドレス変換動作が行
われていて、オペランドTLB5に登録されているの
で、TLBヒットとなる。
【0058】の場合:で1度アドレス変換動作が行
われているが、で消去されているためもう1度アドレ
ス変換を行い、インストラクションTLB4に登録され
る。しかし、のアドレス変換対とインストラクション
TLB5内のポインタが同じであるため上書きされる。
【0059】の場合:で1度アドレス変換動作が行
われていて、TLBA4に登録されているので、TLB
ヒットとなる。
【0060】以下、この様にI1,O1,I2,O2,
I1,O1,I2,O2,…と続く場合にはオペランド
TLBでのヒット率が向上する。
【0061】また、それぞれ仮想アドレスは違うがTL
B内の格納するポインタが同じである命令I1及びオペ
ランドO1,O2と、I1,O1,O2とは仮想アドレ
ス及びTLB内の格納するポインタも違う命令I2があ
り、上記のように連続してアドレス変換を行う場合も同
様にTLBのヒット率が向上する。
【0062】図2は本発明の他の実施例のアドレス変換
バッファの回路例を示した図であり、図1と同等部分は
同一符号によりしている。本例では、図1の回路に加え
てTLM6とモードレジスタ15とを設けている。
【0063】TLM6は、ポインタ生成回路3により索
引されるインストラクションTLB4またはオペランド
TLB5のLRU値を複数ワード格納するバッファであ
る。制御回路8は、図1の制御回路8にTLM6の更新
を制御する機能が付加される。
【0064】モードレジスタ15は、図1の回路の機能
またはインストラクションTLB4とオペランドTLB
5を1つのTLBとみたLRU機能の選択を行うモード
信号を保持するレジスタである。
【0065】次に、図2の回路の動作について以下のよ
うな例を用いて説明する。仮想空間が多数の場合は仮想
アドレスの数が大幅に多くなり、仮想アドレスは違うが
TLB内の格納するポインタが同じである命令及びオペ
ランドが多数存在する可能性が高くなるので、モードレ
ジスタ15により線117 を経由して図1の回路の機能の
モードを選択しつつアドレスの変換を行う。
【0066】仮想空間が少数の場合は仮想アドレスの数
が少ないので、仮想アドレスは違うがTLB内の格納す
るポインタが同じである命令及びオペランドが存在する
可能性が低く、また古くに使用されたアドレス変換対は
今後使用されない可能性が高くなるので、モードレジス
タ15により線117 を経由してインストラクションTL
B4とオペランドTLB5を1つのTLBとみたLRU
機能のモードを選択し、従来の技術(図5)のアドレス
変換を行う。
【0067】図3は本発明の別の実施例のアドレス変換
バッファの回路例を示した図である。図において、マル
チインストラクションTLB4は図1のインストラクシ
ョンTLB4を複数にしたTLBである。マルチ比較回
路10は図1の比較回路10を複数にした比較回路であ
る。
【0068】マルチオペランドTLB5は図1のオペラ
ンドTLB5を複数にしたTLBである。マルチ比較回
路11は図1の比較回路11を複数にした比較回路であ
る。
【0069】ILM6はポインタ生成回路3により索引
されるマルチインストラクションTLB4のLRU値を
複数ワード格納するバッファである。OLM7はポイン
タ生成回路3により索引されるマルチオペランドTLB
5のLRU値を複数ワード格納するバッファである。
【0070】制御回路8は図1の制御回路8にILM6
及びOLM7の更新を制御する機能が付加される。
【0071】次に図3の回路の動作について以下のよう
な例を用いて説明する。先ず、仮想アドレスレジスタ1
に仮想アドレスが、リクエストコードレジスタ2に命令
を示すリクエストコードが夫々セットされると、線101
を経由してポインタ生成回路3よりマルチインストラク
ションTLB4、マルチオペランドTLB5、ILM6
及びOLM7内のポインタを生成する。ポインタ生成回
路3よりのポインタは線103 を経由してマルチインスト
ラクションTLB4及びマルチオペランドTLB5内の
アドレス変換対を索引する。
【0072】マルチインストラクションTLB4よりの
アドレス変換対は線104 を経由してマルチ比較回路10
に、マルチオペランドTLB5よりのアドレス変換対は
線105 を経由してマルチ比較回路11に夫々入り、線10
1 よりの仮想アドレスと夫々比較される。比較の結果は
線108 を経由して、線102 を経由してきたリクエストコ
ードと共に制御回路8に入る。
【0073】ここで、リクエストコードは命令を示して
いるので、マルチ比較回路10内の1つの比較回路の結
果が一致しかつマルチインストラクションTLB4内の
対応するインストラクションTLBよりのアドレス変換
対の有効ビットが有効を表している場合、制御回路8は
セレクタ12でマルチインストラクションTLB4内の
対応するインストラクションTLBよりの実アドレスを
線113を用いて選択させる。
【0074】ただし、マルチ比較回路10内の2つ以上
の比較回路の結果が一致しかつマルチインストラクショ
ンTLB4内の対応するインストラクションTLBより
のアドレス変換対の有効ビットが有効を表している場合
は起こり得ない。上記の組合わせ以外の場合は、ダイナ
ミックアドレス変換回路9を線109 を用いて起動させ
る。
【0075】所定のアドレス変換が終了すると、制御回
路8はセレクタ12でダイナミックアドレス変換回路9
より線110 を経由してきた実アドレスを線113 を用いて
選択させる。同時に線103 より経由してきたポインタで
示されるILM6のLRU値が線107 を経由して制御回
路8に入り、マルチインストラクションTLB4内のど
のインストラクションTLBにアドレス変換対を登録す
るか決定する。
【0076】その後、線111 によって有効ビットを有効
にして仮想アドレスとアドレス変換後の実アドレスと共
にアドレス変換対とし、マルチインストラクションTL
B4内の先程決定したインストラクションTLBの、線
103より経由してきたポインタの示す場所へ登録する。
また、線112 によってILM6の線103 より経由してき
たポインタの示すLRU値を更新する。
【0077】セレクタ12で選択された実アドレスは線
114 を経由し、制御回路8により線115 を用いて実アド
レスレジスタ13にセットされ、線116を経由して主
記憶12を索引する。
【0078】一方、仮想アドレスレジスタ1に仮想アド
レスが、リクエストコードレジスタ2にオペランドを示
すリクエストコードが夫々セットされると、線101 を経
由してポインタ生成回路3よりマルチインストラクショ
ンTLB4、マルチオペランドTLB5、ILM6及び
OLM7内のポインタを生成する。ポインタ生成回路3
よりのポインタは線103 を経由してマルチインストラク
ションTLB4及びマルチオペランドTLB5内のアド
レス変換対を索引する。
【0079】マルチインストラクションTLB4よりの
アドレス変換対は線104 を経由してマルチ比較回路10
に、マルチオペランドTLB5よりのアドレス変換対は
線105 を経由してマルチ比較回路11に夫々入り、線10
1 よりの仮想アドレスと夫々比較される。比較の結果は
線108 を経由して、線102 を経由してきたリクエストコ
ードと共に制御回路8に入る。
【0080】ここで、リクエストコートはオペランドを
示しているので、マルチ比較回路11内の1つの比較回
路の結果が一致しかつマルチオペランドTLB5内の対
応するオペランドTLBよりのアドレス変換対の有効ビ
ットが有効を表している場合、制御回路8はセレクタ1
2でマルチオペランドTLB5内の対応するオペランド
TLBよりの実アドレスを線113 を用いて選択させる。
【0081】ただし、マルチ比較回路11内の1つ以上
の比較回路の結果が一致しかつマルチオペランドTLB
5内の対応するオペランドTLBよりのアドレス変換対
の有効ビットが有効を表している場合は起こり得ない。
上記の組合わせ以外の場合は、ダイナミックアドレス変
換回路9を線109 を用いて起動させる。
【0082】所定のアドレス変換が終了すると、制御回
路8はセレクタ12でダイナミックアドレス変換回路9
より線110 を経由してきた実アドレスを線113 を用いて
選択させる。同時に線103 より経由してきたポインタで
示されるOLM7のLRU値が線107 を経由して制御回
路8に入り、マルチオペランドTLB5内のどのオペラ
ンドTLBにアドレス変換対を登録するか決定する。
【0083】その後、線111 によって有効ビットを有効
にして仮想アドレスとアドレス変換後の実アドレスと共
にアドレス変化対とし、マルチオペランドTLB5内の
先程決定したオペランドTLBの、線103 より経由して
きたポインタの示す場所へ登録する。また、線112 によ
ってOLM7の線103 より経由してきたポインタの示す
LRU値を更新する。
【0084】セレクタ12で選択された実アドレスは線
114 を経由し、制御回路8により線115 を用いて実アド
レスレジスタ13にセットされ、線116 を経由して主記
憶12を索引する。
【0085】以上の動作に基づき、従来技術で記述して
あるように、仮想アドレスは違うがTLB内の格納する
ポインタが同じである命令I1,I2及びオペランドO
1と、I1,I2,O1とは仮想アドレス及びTLB内
の格納するるポインタも違うオペランドO2があり、
I1,O1,I2,O2,I1,O1,I
2,O2と連続したアドレス変換がなされるとする。
【0086】ただし,,,,,,,,
の間に、I1,I2,O1,O2,とは仮想アドレスも
TLB内の格納するポインタも違う命令及びオペランド
のアドレス変換が行われても構わない。また、O2とは
仮想アドレスは違うが、TLB内の格納するポインタは
同じオペランドは1種類のみアドレス変換が行われても
構わない。
【0087】このような場合において以下のような動作
を行う。例としてマルチインストラクションTLB4及
びマルチオペランドTLB5はそれぞれ2重化されてい
るとする。
【0088】の場合:アドレス変換動作が行われ、マ
ルチインストラクションTLB4内のコンパートメント
Aに登録される。
【0089】の場合:アドレス変換動作が行われ、マ
ルチオペランドTLB5内のコンパートメントAに登録
される。
【0090】の場合:アドレス変換動作が行われ、I
LM6のLRU値によりマルチインストラクションTL
B4内のコンパートメントBに登録される。
【0091】の場合:アドレス変換動作が行われ、マ
ルチオペランドTLB内のコンパートメントAののア
ドレス変換対とは別のポインタに登録される。
【0092】の場合:で1度アドレス変換動作が行
われていて、マルチインストラクションTLB4内のコ
ンパートメントAに登録されているので、TLBヒット
となる。
【0093】の場合:で1度アドレス変換動作が行
われていて、マルチオペランドTLB5内のコンパート
メントAに登録されているので、TLBヒットとなる。
【0094】の場合:で1度アドレス変換動作が行
われていて、マルチインストラクションTLB4内のコ
ンパートメントBに登録されているので、TLBヒット
となる。
【0095】の場合:で1度アドレス変換動作が行
われていて、マルチオペランドTLB5内のコンパート
メントAに登録されているのを格納TLBヒットとな
る。
【0096】以下、この様にI1,O1,I2,O2,
I1,O1,I2,O2,…と続く場合にはオペランド
TLBでのヒット率が向上する。
【0097】また、それぞれ仮想アドレスは違うがTL
B内の格納するポインタが同じである命令I1及びオペ
ランドO1,O2と、I1,O1,O2とは仮想アドレ
ス及びTLB内の格納するポインタも違う命令I2があ
り、上記のように連続してアドレス変換を行う場合も同
様にTLBのヒット率が向上する。
【0098】図4は本発明の更に他の実施例のアドレス
変換バッファの回路例を示した図である。本例では図3
の回路にモードレジスタ15を加えている。
【0099】モードレジスタ15は、図3の回路の機能
またはマルチインストラクションTLB4とマルチオペ
ランドTLB5を1つのTLBとみたLRU機能の選択
を行うモード信号を保持するレジスタである。
【0100】仮想空間が多数の場合は仮想アドレスの数
が大幅に多くなり、仮想アドレスは違うがTLB内の格
納するポインタが同じである命令及びオペランドが多数
存在する可能性が高くなるので、モードレジスタ15に
より線117 を経由して図3の回路の機能のモードを選択
しつつアドレスの変換を行う。
【0101】仮想空間が少数の場合は仮想アドレスの数
が少ないので、仮想アドレスは違うがTLB内の格納す
るポインタが同じである命令及びオペランドが存在する
可能性が低く、また古くに使用されたアドレス変換対は
今後使用されない可能性が高くなるので、モードレジス
タ15により線117 を経由してマルチインストラクショ
ンTLB4とマルチオペランドTLB5を1つのTLB
とみたLRU機能のモードを選択し、以下のようなアド
レス変換を行う。
【0102】例としてマルチインストラクションTLB
4及びマルチオペランドTLB5は夫々2重化されてい
るとする。
【0103】先ず、仮想アドレスレジスタ1に仮想アド
レスがセットされると、線101 を経由してポインタ生成
回路3よりマルチインストラクションTLB4内のコン
パートメントA及びコンパートメントB、マルチオペラ
ンドTLB5内のコンパートメントA及びコンパートメ
ントB、ILM6及びOLM7内のポインタを生成す
る。
【0104】ポインタ生成回路3よりのポインタは線10
3 を経由してマルチインストラクションTLB4内のコ
ンパートメントA及びB、マルチオペランドTLB5内
のコンパートメントA及びB内のアドレス変換対を夫々
索引する。
【0105】マルチインストラクションTLB4内のコ
ンパートメントA及びコンパートメントBよりのアドレ
ス変換対は線104 を経由してマルチ比較回路10に、マ
ルチオペランドTLB5内のコンパートメントA及びB
よりのアドレス変換対は線105 を経由してマルチ比較回
路11に夫々入り、線101 よりの仮想アドレスと夫々比
較される。
【0106】比較の結果は線108 を経由して、線106 を
経由してきたマルチインストラクションTLB4内のコ
ンパートメントA及びB及び、マルチオペランドTLB
5内のコンパートメントA及びB内のアドレス変換対の
有効ビットと共に制御回路8に入る。
【0107】マルチインストラクションTLB4内のコ
ンパートメントAに対応するマルチ比較回路10の結果
が一致しかつマルチインストラクションTLB4内のコ
ンパートメントAよりのアドレス変換対の有効ビットが
有効を表している場合、制御回路8はセレクタ12でマ
ルチインストラクションTLB4内のコンパートメント
Aよりの実アドレスを線113 を用いて選択させる。
【0108】マルチインストラクションTLB4内のコ
ンパートメントBに対応するマルチ回路回路10の結果
が一致しかつマルチインストラクションTLB4内のコ
ンパートメントBよりのアドレス変換対の有効ビットが
有効を表している場合、制御回路8はセレクタ12でマ
ルチインストラクションTLB4内のコンパートメント
Bよりの実アドレスを線113 を用いて選択させる。
【0109】マルチオペランドTLB5内のコンパート
メントAに対応するマルチ比較回路10の結果が一致し
かつマルチオペランドTLB5内のコンパートメントA
よりのアドレス変換対の有効ビットが有効を表している
場合、制御回路8はセレクタ12でマルチオペランドT
LB5内のコンパートメントAよりの実アドレスを線11
3 を用いて選択させる。
【0110】マルチオペランドTLB5内のコンパート
メントBに対応するマルチ比較回路10の結果が一致し
かつマルチオペランドTLB5内のコンパートメントB
よりのアドレス変換対の有効ビットが有効を表している
場合、制御回路8はセレクタ12でマルチオペランドT
LB5内のコンパーメントBよりの実アドレスを線113
を用いて選択させる。
【0111】但し、上記の4つの組合わせは同時に起こ
り得ない。また、上記の組合せ以外の場合は、ダイナミ
ックアドレス変換回路9を線109 を用いて起動させる。
【0112】所定のアドレス変換が終了すると、制御回
路8はセレクタ12でダイナミックアドレス変換回路9
より線110 を経由してきた実アドレスを線113 を用いて
選択させる。同時に線103 より経由してきたポインタで
示されるILM6及びOLM7のLRU値が線107 を経
由して制御回路8に入り、マルチインストラクションT
LB4内のコンパートメントA及びB及びマルチオペラ
ンドTLB5内のコンパートメントA及びBのいずれか
にアドレス変換対を登録するか決定する。
【0113】その後、線111 によって有効ビットを有効
にして仮想アドレスとアドレス変換後の実アドレスと共
にアドレス変化対とし、先程決定したマルチインストラ
クションTLB4内のコンパートメントA及びB及び、
マルチオペランドTLB5内のコンパートメントA及び
Bのいずれかの、線103 より経由してきたポインタの示
す場所へ登録する。
【0114】また、線112 によってILM6及びOLM
7の線103より経由してきたポインタの示すLRU値を
更新する。セレクタ12で選択された実アドレスは線11
4 を経由し、制御回路8により線115 を用いて実アドレ
スレジスタ13にセットされ、線116 を経由して主記憶
12を索引する。
【0115】
【発明の効果】本発明によれば、2つのTLBを命令用
とオペランド用とに分けて使用するようにしているの
で、TLBのヒット率が向上すると共に、これ等2つの
TLBを従来と同様に1つとみなして使用するモードを
選択できるようにすることで、仮想空間の大小に柔軟に
対応できるという効果がある。
【図面の簡単な説明】
【図1】本発明の一実施例の回路ブロック図である。
【図2】本発明の他の実施例の回路ブロック図である。
【図3】本発明の別の実施例の回路ブロック図である。
【図4】本発明の更に他の回路ブロック図である。
【図5】従来のアドレス変換バッファ回路のブロック図
である。
【符号の説明】
1 仮想アドレスレジスタ 2 リクエストコードレジスタ 3 ポインタ生成回路 4 インストラクションTLB 5 オペランドTLB 6 ILM 7 OLM 8 制御回路 9 ダイナミックアドレス変換回路 10,11 比較回路 12 セレクタ 13 実アドレスレジスタ 14 主記憶

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 仮想アドレスを保持する仮想アドレスレ
    ジスタと、前記仮想アドレスが命令のアドレスかオペラ
    ンドのアドレスかを示すリクエストコードを格納するリ
    クエストコードレジスタと、命令の仮想アドレスとアド
    レス変換後の実アドレスとのアドレス変換対を複数ワー
    ド格納するインストラクションアドレスバッファと、オ
    ペランドの仮想アドレスとアドレス変換後の実アドレス
    とのアドレス変換対を格納するオペランドアドレスバッ
    ファと、前記仮想アドレスレジスタの内容に基き前記イ
    ンストラクションアドレスバッファ及び前記オペランド
    アドレスバッファの索引用ポインタを生成するポインタ
    生成手段と、前記アドレスバッファに夫々対応して設け
    られて前記ポインタにより索引された索引結果の一致不
    一致を夫々検出する比較手段と、前記リクエストコード
    レジスタの内容及び前記比較手段の比較結果に応じて前
    記インストラクションアドレスバッファ及び前記オペラ
    ンドアドレスバッファのいずれかの索引結果を選択制御
    する制御手段とを含むことを特徴とするアドレス変換バ
    ッファ回路。
  2. 【請求項2】 前記インストラクションアドレスバッフ
    ァ及び前記オペランドアドレスバッファを1つのアドレ
    スバッファとみなすモードを設定可能なモードレジスタ
    と、前記モードレジスタの設定モードに応じて前記アド
    レスバッファをインストラクションアドレスバッファと
    オペランドアドレスバッファとに夫々独立に使用する
    か、共通の1つのアドレスバッファとして使用するかの
    選択制御をなす手段とを有することを特徴とする請求項
    1記載のアドレス変換バッファ回路。
JP3337832A 1991-11-27 1991-11-27 アドレス変換バツフア回路 Pending JPH05151086A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3337832A JPH05151086A (ja) 1991-11-27 1991-11-27 アドレス変換バツフア回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3337832A JPH05151086A (ja) 1991-11-27 1991-11-27 アドレス変換バツフア回路

Publications (1)

Publication Number Publication Date
JPH05151086A true JPH05151086A (ja) 1993-06-18

Family

ID=18312391

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3337832A Pending JPH05151086A (ja) 1991-11-27 1991-11-27 アドレス変換バツフア回路

Country Status (1)

Country Link
JP (1) JPH05151086A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6915406B2 (en) 2002-07-05 2005-07-05 Fujitsu Limited Address translation apparatus, address translation method, and two-layer address translation apparatus

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6915406B2 (en) 2002-07-05 2005-07-05 Fujitsu Limited Address translation apparatus, address translation method, and two-layer address translation apparatus

Similar Documents

Publication Publication Date Title
US6446198B1 (en) Vectorized table lookup
US5809274A (en) Purge control for ON-chip cache memory
EP0020908A1 (en) Data processing system comprising a common bus communication system in which the width of the address field is greater than the number of lines on the bus
US7409607B2 (en) Memory address generating apparatus, processor having the same, and memory address generating method
JPH08272692A (ja) 仮想アドレス変換方法
JP3199465B2 (ja) 情報処理装置
US7093110B2 (en) Register file in the register window system and controlling method thereof
US6915406B2 (en) Address translation apparatus, address translation method, and two-layer address translation apparatus
JPH05151086A (ja) アドレス変換バツフア回路
US6161164A (en) Content addressable memory accessed by the sum of two operands
JP2000181707A (ja) 命令制御装置及びその方法
JPS60136849A (ja) 記憶制御方式
JPH05334189A (ja) データ記憶装置
JPH05282143A (ja) 主記憶アクセス制御回路
JPH01177145A (ja) 情報処理装置
JP2581298B2 (ja) メモリアクセス権情報供給機構
JPH02156352A (ja) キャッシュメモリ
JP2704112B2 (ja) リプレース回路
JP3109816B2 (ja) アドレス生成装置
JPH03218546A (ja) アドレス変換機構
JPH0481929A (ja) 情報処理装置
JPH04242431A (ja) 情報処理装置
JPH0895781A (ja) プロセッサの算術論理装置
JPH05314003A (ja) キャッシュメモリ装置
JPH04266140A (ja) アドレス変換バッファ装置