JPH0685156B2 - アドレス変換装置 - Google Patents
アドレス変換装置Info
- Publication number
- JPH0685156B2 JPH0685156B2 JP60110373A JP11037385A JPH0685156B2 JP H0685156 B2 JPH0685156 B2 JP H0685156B2 JP 60110373 A JP60110373 A JP 60110373A JP 11037385 A JP11037385 A JP 11037385A JP H0685156 B2 JPH0685156 B2 JP H0685156B2
- Authority
- JP
- Japan
- Prior art keywords
- logical address
- field
- stored
- common area
- logical
- 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 - Lifetime
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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]
- G06F12/1036—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] for multiple virtual address spaces, e.g. segmentation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
【発明の詳細な説明】 〔発明の利用分野〕 本発明はアドレス変換装置に係り、特に多重論理空間を
有するコンピユータシステムに好適なアドレス変換装置
に関する。
有するコンピユータシステムに好適なアドレス変換装置
に関する。
アドレス変換装置は、CPUがメモリアクセスのために発
するアドレスを論理アドレスとし、このアドレスから実
際にメモリのアクセスに使うアドレス、すなわち物理ア
ドレスを作り出す装置である。アドレス変換装置にはい
くつかの種類があるが、一般的なものは大型コンピユー
タ等で多く使われている方式である。(日経エレクトロ
ニクス1976年8月23日号、No.141、p72−84、「多重記
憶の実現方法とOSの構造」。この方式はメモリ上にアド
レス変換に必要な情報をテーブルの形で作つておき、ア
ドレス変換装置が論理アドレスをもとにして変換テーブ
ルを検索し、物理アドレスを作り出す方式である。コン
ピユータプログラムでは、一度使われたアドレスは再び
使われる可能性が高いという性質がある。そこで、アド
レス変換装置は、一度変換した結果をTLB(Translation
Lookaside Buffer)と呼ばれるバツフアに覚えてお
き、次のアクセスからはTLBを検索して、もしあればTLB
から直接読出すようにするのが普通である。このように
すると、テーブルを検索する時間が省けるので、アドレ
ス変換に要する時間が高速になる。
するアドレスを論理アドレスとし、このアドレスから実
際にメモリのアクセスに使うアドレス、すなわち物理ア
ドレスを作り出す装置である。アドレス変換装置にはい
くつかの種類があるが、一般的なものは大型コンピユー
タ等で多く使われている方式である。(日経エレクトロ
ニクス1976年8月23日号、No.141、p72−84、「多重記
憶の実現方法とOSの構造」。この方式はメモリ上にアド
レス変換に必要な情報をテーブルの形で作つておき、ア
ドレス変換装置が論理アドレスをもとにして変換テーブ
ルを検索し、物理アドレスを作り出す方式である。コン
ピユータプログラムでは、一度使われたアドレスは再び
使われる可能性が高いという性質がある。そこで、アド
レス変換装置は、一度変換した結果をTLB(Translation
Lookaside Buffer)と呼ばれるバツフアに覚えてお
き、次のアクセスからはTLBを検索して、もしあればTLB
から直接読出すようにするのが普通である。このように
すると、テーブルを検索する時間が省けるので、アドレ
ス変換に要する時間が高速になる。
変換テーブルが1つしかない場合は、論理アドレスから
物理アドレスへの対応は一意に定まる。しかしマルチユ
ーザやマルチタスクで使う場合、1つのテーブルを共同
で使うのは管理が複雑なこと、1つのタスクに割当てら
れる論理的なメモリ量が少ないことという欠点がある。
そこで変換テーブルを複数用意し、各テーブル毎にユー
ザあるいはタスクを割当てることが行なわれている。こ
の場合1つの論理アドレスに対して、最大ではテーブル
の数だけの物理アドレスが対応することになる。これ
は、論理空間が複数存在することに等しいので、この場
合を多重論理空間と呼ぶ。
物理アドレスへの対応は一意に定まる。しかしマルチユ
ーザやマルチタスクで使う場合、1つのテーブルを共同
で使うのは管理が複雑なこと、1つのタスクに割当てら
れる論理的なメモリ量が少ないことという欠点がある。
そこで変換テーブルを複数用意し、各テーブル毎にユー
ザあるいはタスクを割当てることが行なわれている。こ
の場合1つの論理アドレスに対して、最大ではテーブル
の数だけの物理アドレスが対応することになる。これ
は、論理空間が複数存在することに等しいので、この場
合を多重論理空間と呼ぶ。
多重論理空間では、空間を区別するために空間番号が必
要である。空間番号はプログラム中で明示的に使われる
場合も、テーブルの先頭アドレスからアドレス変換装置
の内部で自動的に作る場合もある。
要である。空間番号はプログラム中で明示的に使われる
場合も、テーブルの先頭アドレスからアドレス変換装置
の内部で自動的に作る場合もある。
多重論理空間の中でも、すべての論理アドレスが同一の
物理アドレスに対応するエリアがある。これを共通エリ
アと呼ぶ。共通エリアはオペレーテイングシステムな
ど、すべての空間で共通に使う必要のあるプログラムや
データを配置するエリアである。
物理アドレスに対応するエリアがある。これを共通エリ
アと呼ぶ。共通エリアはオペレーテイングシステムな
ど、すべての空間で共通に使う必要のあるプログラムや
データを配置するエリアである。
TLBに空間番号がない場合、空間を切換える毎に共通エ
リア以外の論理アドレスをTLBからパージする必要があ
る。そうしないと、もとの空間と新しい空間の区別がで
きなくなるからである。このようにすると、新しい空間
からもとの空間にもどつたとき再びすべてのアドレスを
テーブルで変換しそれをTLBにセツトする作業を行なわ
なければならない。このため多重論理空間を有するシス
テムでは、空間切換え毎のアドレス変換が必要になり、
システム全体としての性能が低下する。
リア以外の論理アドレスをTLBからパージする必要があ
る。そうしないと、もとの空間と新しい空間の区別がで
きなくなるからである。このようにすると、新しい空間
からもとの空間にもどつたとき再びすべてのアドレスを
テーブルで変換しそれをTLBにセツトする作業を行なわ
なければならない。このため多重論理空間を有するシス
テムでは、空間切換え毎のアドレス変換が必要になり、
システム全体としての性能が低下する。
この対策として、TLB内に空間番号を入れる方法が知ら
れている。例えば、テーブルのポインタに空間番号を対
応させることができる。このようにすると、空間を切換
えてもTLBの内容をパージする必要がなくなるため、性
能が向上する。ここで使つているTLBはセツトアソシア
テイブと呼ばれる方式で構成されている。この方式で
は、論理アドレスの一部分(これをインデツクスと言
う)をアドレスとするメモリが何面か集まつて構成され
ている。この場合面数を例えば2面とすると、インデツ
クスが同一になるような論理アドレスは2個までしか入
らない。このためTLBのエントリがあいていても、TLBに
セツトできないアドレスが生じる可能性があり、これが
性能を低下させる要因となる。この方式では、TLBの各
面毎に比較器があり、TLBから読出した空間番号、論理
アドレスをアクセスしたときの値と比較する。そして一
致したらTLBから読出した物理アドレスを実際のメモリ
アドレスとして出力する。なおTLBからは、さらに共通
エリアかどうかを示すフラグも出力されており、共通エ
リアであれば空間番号の比較を行なわず無条件に空間番
号が一致したものと見なす(共通エリアフラグの代り
に、特別な空間番号を共通エリアと見なすようにする方
式もある)。
れている。例えば、テーブルのポインタに空間番号を対
応させることができる。このようにすると、空間を切換
えてもTLBの内容をパージする必要がなくなるため、性
能が向上する。ここで使つているTLBはセツトアソシア
テイブと呼ばれる方式で構成されている。この方式で
は、論理アドレスの一部分(これをインデツクスと言
う)をアドレスとするメモリが何面か集まつて構成され
ている。この場合面数を例えば2面とすると、インデツ
クスが同一になるような論理アドレスは2個までしか入
らない。このためTLBのエントリがあいていても、TLBに
セツトできないアドレスが生じる可能性があり、これが
性能を低下させる要因となる。この方式では、TLBの各
面毎に比較器があり、TLBから読出した空間番号、論理
アドレスをアクセスしたときの値と比較する。そして一
致したらTLBから読出した物理アドレスを実際のメモリ
アドレスとして出力する。なおTLBからは、さらに共通
エリアかどうかを示すフラグも出力されており、共通エ
リアであれば空間番号の比較を行なわず無条件に空間番
号が一致したものと見なす(共通エリアフラグの代り
に、特別な空間番号を共通エリアと見なすようにする方
式もある)。
一方、インデツクスをなくし面数とエントリ数を一致さ
せる方式がある。これを完全連想方式と呼ぶ。完全連想
方式では、各エントリ毎に比較器がつく。完全連想方式
は、アクセスされたアドレスをすべてTLBにセツトする
ことができるため、同一エントリ数ではセツトアソシア
テイブ方式よりヒツト率が高く、そのためシステム性能
が向上する。しかし、回路が複雑なため、従来デイスク
リート部品でTLBを構成しているような大型コンピユー
タでは使われていなかつた。これに対し、TLBをLSIで作
ると規則的な構造であるため、比較的容易に実現でき
る。しかし比較器が各エントリに1つずつ必要となるこ
とから、回路の大きさや速度を考えると複雑な構造にす
ることができない。またLSI化した場合エントリ数が余
り多くとれなかつた。このような理由で従来空間アドレ
スを含む完全連想型TLBは出ていなかつた。
せる方式がある。これを完全連想方式と呼ぶ。完全連想
方式では、各エントリ毎に比較器がつく。完全連想方式
は、アクセスされたアドレスをすべてTLBにセツトする
ことができるため、同一エントリ数ではセツトアソシア
テイブ方式よりヒツト率が高く、そのためシステム性能
が向上する。しかし、回路が複雑なため、従来デイスク
リート部品でTLBを構成しているような大型コンピユー
タでは使われていなかつた。これに対し、TLBをLSIで作
ると規則的な構造であるため、比較的容易に実現でき
る。しかし比較器が各エントリに1つずつ必要となるこ
とから、回路の大きさや速度を考えると複雑な構造にす
ることができない。またLSI化した場合エントリ数が余
り多くとれなかつた。このような理由で従来空間アドレ
スを含む完全連想型TLBは出ていなかつた。
本発明の目的は、多重論理空間を持つシステムにおい
て、空間番号と共通エリアフラグと論理アドレスの各フ
イールドを持ち、共通エリアフラグがセツトされている
時には、空間番号による比較を行なわないようにした完
全連想型TLBを持つアドレス変換装置を提供することに
ある。
て、空間番号と共通エリアフラグと論理アドレスの各フ
イールドを持ち、共通エリアフラグがセツトされている
時には、空間番号による比較を行なわないようにした完
全連想型TLBを持つアドレス変換装置を提供することに
ある。
本発明の代表的な実施例では、連想アレイ部(1)とデ
ータ部(2)とを具備するアドレス変換装置において、 上記連想アレイ部(1)を構成する複数のエントリー
(EN)に共通に設けられるとともに上記連想アレイ部
(1)の外部から空間番号と論理アドレスを上記複数の
エントリー(EN)に入力する入力線(126等)をさらに
具備し、 上記連想アレイ部(1)を構成する複数のエントリー
(EN)のそれぞれは、 所定の論理アドレスが多重論理空間の共通領域に該当す
るか否かを示すフラグ情報を格納する共通エリアフラグ
フィールド(102)を構成する第1のメモリセル(131)
と、 空間番号を格納する空間番号フィールド(103)を構成
する第2のメモリセル(121)と、 論理アドレスを格納する論理アドレスフィールド(10
4)を構成する第3のメモリセルと、 上記空間番号フィールド(103)に格納された第1の値
と上記入力線(126等)を介して入力された空間番号と
を比較するとともに、上記論理アドレスフィールド(10
4)に格納された第2の値と上記入力線(126等)を介し
て入力された論理アドレスとを比較する比較手段(122,
123等)と、 上記論理アドレスフィールド(104)に格納された上記
論理アドレスが上記多重論理空間の上記共通領域に該当
しないことを上記共通エリアフラグフィールド(102)
に格納された上記フラグ情報が示す場合には、上記入力
された空間番号と上記入力された論理アドレスとがそれ
ぞれ上記第1の値と上記第2の値とに一致する時に一致
検出信号を上記データ部(2)に出力し、上記論理アド
レスフィールド(104)に格納された上記論理アドレス
が上記多重論理空間の上記共通領域に該当することを上
記共通エリアフラグフィールド(102)に格納された上
記フラグ情報が示す場合には、上記空間番号フィールド
(103)に格納された第1の値とは無関係に上記論理ア
ドレスフィールド(104)に格納された上記第2の値と
上記入力された論理アドレスとが一致する時に上記一致
検出信号を上記データ部(2)に出力する一致検出手段
(11i:,133)とを有し、 上記データ部(2)は上記連想アレイ部の上記一致検出
手段から出力される上記一致検出信号に応答して上記デ
ータ部(2)に格納された複数の物理アドレスのひとつ
を出力する手段(201)を有する構成とした(第1図、
第3図参照)。
ータ部(2)とを具備するアドレス変換装置において、 上記連想アレイ部(1)を構成する複数のエントリー
(EN)に共通に設けられるとともに上記連想アレイ部
(1)の外部から空間番号と論理アドレスを上記複数の
エントリー(EN)に入力する入力線(126等)をさらに
具備し、 上記連想アレイ部(1)を構成する複数のエントリー
(EN)のそれぞれは、 所定の論理アドレスが多重論理空間の共通領域に該当す
るか否かを示すフラグ情報を格納する共通エリアフラグ
フィールド(102)を構成する第1のメモリセル(131)
と、 空間番号を格納する空間番号フィールド(103)を構成
する第2のメモリセル(121)と、 論理アドレスを格納する論理アドレスフィールド(10
4)を構成する第3のメモリセルと、 上記空間番号フィールド(103)に格納された第1の値
と上記入力線(126等)を介して入力された空間番号と
を比較するとともに、上記論理アドレスフィールド(10
4)に格納された第2の値と上記入力線(126等)を介し
て入力された論理アドレスとを比較する比較手段(122,
123等)と、 上記論理アドレスフィールド(104)に格納された上記
論理アドレスが上記多重論理空間の上記共通領域に該当
しないことを上記共通エリアフラグフィールド(102)
に格納された上記フラグ情報が示す場合には、上記入力
された空間番号と上記入力された論理アドレスとがそれ
ぞれ上記第1の値と上記第2の値とに一致する時に一致
検出信号を上記データ部(2)に出力し、上記論理アド
レスフィールド(104)に格納された上記論理アドレス
が上記多重論理空間の上記共通領域に該当することを上
記共通エリアフラグフィールド(102)に格納された上
記フラグ情報が示す場合には、上記空間番号フィールド
(103)に格納された第1の値とは無関係に上記論理ア
ドレスフィールド(104)に格納された上記第2の値と
上記入力された論理アドレスとが一致する時に上記一致
検出信号を上記データ部(2)に出力する一致検出手段
(11i:,133)とを有し、 上記データ部(2)は上記連想アレイ部の上記一致検出
手段から出力される上記一致検出信号に応答して上記デ
ータ部(2)に格納された複数の物理アドレスのひとつ
を出力する手段(201)を有する構成とした(第1図、
第3図参照)。
以下本発明を実施例にもとづき説明する。第1図は空間
番号と共通エリアフラグを持つた完全連想型TLBのブロ
ツク図である。TLBは連想アレイ部1とデータ部2とで
構成される。連想アレイ部はエントリ番号EN(0〜n)
のエントリの集合であり、各エントリは4つのフイール
ドからなる。各フイールドはバリツドフラグフイールド
101、共通エリアフラグフイールド102、空間番号フイー
ルド103、論理アドレスフイールド104である。有効フラ
グフイールド101はそのエントリが有効かどうかを示
す。また共通エリアフラグフイールド102は空間番号フ
イールド103による比較を行なうかどうかを指定する。
番号と共通エリアフラグを持つた完全連想型TLBのブロ
ツク図である。TLBは連想アレイ部1とデータ部2とで
構成される。連想アレイ部はエントリ番号EN(0〜n)
のエントリの集合であり、各エントリは4つのフイール
ドからなる。各フイールドはバリツドフラグフイールド
101、共通エリアフラグフイールド102、空間番号フイー
ルド103、論理アドレスフイールド104である。有効フラ
グフイールド101はそのエントリが有効かどうかを示
す。また共通エリアフラグフイールド102は空間番号フ
イールド103による比較を行なうかどうかを指定する。
空間番号SNと論理アドレスLAが連想アレイ部1に入力さ
れると、有効フラグフイールド101が“1"すなわち有効
となつているエントリについて空間番号SNと空間番号フ
イールド103の値の比較および論理アドレスLAと論理ア
ドレスフイールド104の値の比較が行なわれる。共通エ
リアフラグフイールド102が“0"の場合は、空間番号と
論理アドレスの両者が一致したエントリ、共通エリアフ
ラグフイールドが“1"の場合は、空間番号の比較結果は
無視され、論理アドレスが一致したエントリに対応して
一致検出信号110〜11nのうちの1つが選択される。
れると、有効フラグフイールド101が“1"すなわち有効
となつているエントリについて空間番号SNと空間番号フ
イールド103の値の比較および論理アドレスLAと論理ア
ドレスフイールド104の値の比較が行なわれる。共通エ
リアフラグフイールド102が“0"の場合は、空間番号と
論理アドレスの両者が一致したエントリ、共通エリアフ
ラグフイールドが“1"の場合は、空間番号の比較結果は
無視され、論理アドレスが一致したエントリに対応して
一致検出信号110〜11nのうちの1つが選択される。
一致検出信号110〜11nはデータ部2に入力される。デー
タ部2は物理アドレスフイールド201を持つており、入
力された一致検出信号110〜11nのうち選択された信号線
に対応する物理アドレスPAが読出される。
タ部2は物理アドレスフイールド201を持つており、入
力された一致検出信号110〜11nのうち選択された信号線
に対応する物理アドレスPAが読出される。
第2図で、第1図の動作例を説明する。今エントリ0〜
4に図のような内容が入つているとする。エントリ4は
有効フラグVが0なので比較の対象とならない。エント
リ1と2は論理アドレスフイールド104が同じ値である
が、共通エリアフラグCが“0"でありかつ空間番号フイ
ールド103が“5"と“3"というように異なつているの
で、別空間である。したがつて対応する物理アドレスは
各々PA1とPA2というように異なる。またエントリ3は共
通エリアフラグCが“1"であるので空間番号フイールド
103の値が何であつても比較の結果は一致が成立したも
のと見なされる。
4に図のような内容が入つているとする。エントリ4は
有効フラグVが0なので比較の対象とならない。エント
リ1と2は論理アドレスフイールド104が同じ値である
が、共通エリアフラグCが“0"でありかつ空間番号フイ
ールド103が“5"と“3"というように異なつているの
で、別空間である。したがつて対応する物理アドレスは
各々PA1とPA2というように異なる。またエントリ3は共
通エリアフラグCが“1"であるので空間番号フイールド
103の値が何であつても比較の結果は一致が成立したも
のと見なされる。
入力として空間番号のSNが“3"、論理アドレスLAがLA1
であるとすると、エントリ2で一致が成立し、一致検出
信号112が選択される。この結果物理アドレスPA2が出力
されることになる。
であるとすると、エントリ2で一致が成立し、一致検出
信号112が選択される。この結果物理アドレスPA2が出力
されることになる。
一方入力の空間番号SNが“1"、論理アドレスLAがLA3で
ある場合、空間番号SNに関して一致するエントリはな
い。しかしエントリ3は共通エリアフラグCが“1"であ
るためすべての空間番号SNに対して一致が成立したもの
と見なされる。一方論理アドレスLAについて比較する
と、エントリ3がLA3で一致する。こうして共通エリア
を指すエントリ3が選ばれ一致検出信号113が選択され
る。この結果物理アドレスPA3が出力される。
ある場合、空間番号SNに関して一致するエントリはな
い。しかしエントリ3は共通エリアフラグCが“1"であ
るためすべての空間番号SNに対して一致が成立したもの
と見なされる。一方論理アドレスLAについて比較する
と、エントリ3がLA3で一致する。こうして共通エリア
を指すエントリ3が選ばれ一致検出信号113が選択され
る。この結果物理アドレスPA3が出力される。
第3図はMOS回路を用いて構成した連想アレイ部1の一
実施例である。図の中で、MOSトランジスタ記号のうち1
22〜125,133はNMOSであり、132,134はPMOSである。また
121,131はメモリセルであり、すでにある値がセツトさ
れているものとする。共通エリアフラグCの列はセル13
0の繰返しであり、Cの列以外はすべてセル120の繰返し
から構成されている。MOS132,134は一致検出信号11iを
あらかじめプリチヤージ信号PCGの制御によつて“1"状
態(Vcc)にプリチヤージしておくためのものである。N
MOS133は一種の情報伝達手段であり、これより左のセル
における比較結果を無視するか否かがこの情報伝達手段
により決定される。その具体的な決定方法を以下に説明
する。
実施例である。図の中で、MOSトランジスタ記号のうち1
22〜125,133はNMOSであり、132,134はPMOSである。また
121,131はメモリセルであり、すでにある値がセツトさ
れているものとする。共通エリアフラグCの列はセル13
0の繰返しであり、Cの列以外はすべてセル120の繰返し
から構成されている。MOS132,134は一致検出信号11iを
あらかじめプリチヤージ信号PCGの制御によつて“1"状
態(Vcc)にプリチヤージしておくためのものである。N
MOS133は一種の情報伝達手段であり、これより左のセル
における比較結果を無視するか否かがこの情報伝達手段
により決定される。その具体的な決定方法を以下に説明
する。
Cフラグが“0"の場合、メモリセル131の出力は“1"
となるのでMOSゲート133はオン状態となつている。この
とき例えば入力線126に“1"が入つたとすると、入力線1
27にはその反転信号“0"が現われる。その結果MOS122は
オン、MOS124はオフとなる。ここでメモリセル121が仮
に“0"であれば、MOS123はオン、MOS125はオフとなる。
そのため、MOS122とMOS123を通して一致検出信号11iは
接地電位(“0")に落される。これは不一致と解釈され
る。一方メモリセル121が“1"であればMOS123がオフと
なり、セル120の中で一致信号を接地するパスはなくな
る。このことはセル120において一致が成立したと解釈
される。同様の比較が同一行内の他のセルでも行なわ
れ、すべてのセルで一致が成立したときのみ一致検出信
号11iは“1"となる。つまり、Cフラグが“0"の場合、
情報伝達手段133より左のセルにおける比較結果と情報
伝達手段133より右のセルにおける比較結果の論理積が
取られ、その結果が一致検出信号11iとなる。
となるのでMOSゲート133はオン状態となつている。この
とき例えば入力線126に“1"が入つたとすると、入力線1
27にはその反転信号“0"が現われる。その結果MOS122は
オン、MOS124はオフとなる。ここでメモリセル121が仮
に“0"であれば、MOS123はオン、MOS125はオフとなる。
そのため、MOS122とMOS123を通して一致検出信号11iは
接地電位(“0")に落される。これは不一致と解釈され
る。一方メモリセル121が“1"であればMOS123がオフと
なり、セル120の中で一致信号を接地するパスはなくな
る。このことはセル120において一致が成立したと解釈
される。同様の比較が同一行内の他のセルでも行なわ
れ、すべてのセルで一致が成立したときのみ一致検出信
号11iは“1"となる。つまり、Cフラグが“0"の場合、
情報伝達手段133より左のセルにおける比較結果と情報
伝達手段133より右のセルにおける比較結果の論理積が
取られ、その結果が一致検出信号11iとなる。
次に、Cフラグが“1"すなわち共通エリアである場合、
メモリセル131は“1"となつている。このためMOS133が
オフとなりこれより左のセルにおける比較結果は無視さ
れる。この左側で空間番号SNを比較するようにすれば、
C=1のとき空間番号の比較を行なわないような構成に
することができる。論理アドレスLAや有効フラグVは、
Cフラグより右に配置すれば、Cフラグの値にかかわら
ず常に比較の対象となる。
メモリセル131は“1"となつている。このためMOS133が
オフとなりこれより左のセルにおける比較結果は無視さ
れる。この左側で空間番号SNを比較するようにすれば、
C=1のとき空間番号の比較を行なわないような構成に
することができる。論理アドレスLAや有効フラグVは、
Cフラグより右に配置すれば、Cフラグの値にかかわら
ず常に比較の対象となる。
上記の説明は、各エントリ毎に適用されるので、エント
リ毎に共通エリアフラグを持ち、共通エリアであれば空
間番号の比較を行なわないようなTLBの連想アレイを構
成することができる。
リ毎に共通エリアフラグを持ち、共通エリアであれば空
間番号の比較を行なわないようなTLBの連想アレイを構
成することができる。
なお第3図において、共通エリアフラグより右、すなわ
ち共通エリアフラグに影響されない側の一致検出信号線
およびセルを左側に折返す構成も作ることができ、論理
的に第3図と同一である。
ち共通エリアフラグに影響されない側の一致検出信号線
およびセルを左側に折返す構成も作ることができ、論理
的に第3図と同一である。
また共通エリアフラグの拡張として、連想アレイのフイ
ールドを無効にするフラグを複数設けることも容易であ
る。
ールドを無効にするフラグを複数設けることも容易であ
る。
第4図は共通エリアフラグの拡張方式の1つとして、空
間番号の1ビツト毎にマスクフラグを設けた場合のセル
の回路例である。第3図のセル120にNMOSトランジスタ1
52,153およびマスクフラグ151が追加されている。マス
クフラグ151は“1"のときセル120′による比較を有効に
し、“0"のとき無効にする。このようなマスク付セルを
用いれば任意のフイールドを無効にすることができるの
でさらに応用範囲が広がる。
間番号の1ビツト毎にマスクフラグを設けた場合のセル
の回路例である。第3図のセル120にNMOSトランジスタ1
52,153およびマスクフラグ151が追加されている。マス
クフラグ151は“1"のときセル120′による比較を有効に
し、“0"のとき無効にする。このようなマスク付セルを
用いれば任意のフイールドを無効にすることができるの
でさらに応用範囲が広がる。
以上述べたように、本発明によれば、完全連想型TLBに
おいて共通エリアフラグにより空間番号を有効または無
効にすることができるので、多重論理空間におけるTLB
のパージおよび入換え回数を減らすことができ、システ
ムの性能向上に効果がある。また、連想アレイ部(1)
を構成する複数のエントリー(EN)のそれぞれは、複数
のエントリー(EN)に共通に設けられた入力線(126
等)を介して入力された空間番号と論理アドレスをそれ
ぞれ空間番号フィールド(103)に格納された第1の値
と論理アドレスフィールド(104)に格納された第2の
値と比較する比較手段(122,123等)とを有するので、
複数のエントリーへの空間番号と論理アドレスの一括入
力及び複数のエントリーでの一括比較が可能となるとと
もに一括入力及び一括比較によりアドレス変換の短時間
化が図れる。
おいて共通エリアフラグにより空間番号を有効または無
効にすることができるので、多重論理空間におけるTLB
のパージおよび入換え回数を減らすことができ、システ
ムの性能向上に効果がある。また、連想アレイ部(1)
を構成する複数のエントリー(EN)のそれぞれは、複数
のエントリー(EN)に共通に設けられた入力線(126
等)を介して入力された空間番号と論理アドレスをそれ
ぞれ空間番号フィールド(103)に格納された第1の値
と論理アドレスフィールド(104)に格納された第2の
値と比較する比較手段(122,123等)とを有するので、
複数のエントリーへの空間番号と論理アドレスの一括入
力及び複数のエントリーでの一括比較が可能となるとと
もに一括入力及び一括比較によりアドレス変換の短時間
化が図れる。
第1図は空間番号と共通エリアフラグを持つた完全連想
型TLBのブロツク図、第2図は第1図に数値を入れた説
明図、第3図はMOS回路を用いた連想アレイ部の回路
図、第4図はマスクフラグを持つ連想メモリセルの回路
図である。 1……連想アレイ部、2……データ部、101……有効フ
ラグフイールド、102……共通エリアフラグフイール
ド、103……空間番号フイールド、104……論理アドレス
フイールド、201、物理アドレスフイールド、11i……一
致検出信号、120……連想アレイセル、130……共通フラ
グセル。
型TLBのブロツク図、第2図は第1図に数値を入れた説
明図、第3図はMOS回路を用いた連想アレイ部の回路
図、第4図はマスクフラグを持つ連想メモリセルの回路
図である。 1……連想アレイ部、2……データ部、101……有効フ
ラグフイールド、102……共通エリアフラグフイール
ド、103……空間番号フイールド、104……論理アドレス
フイールド、201、物理アドレスフイールド、11i……一
致検出信号、120……連想アレイセル、130……共通フラ
グセル。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 萩原 ▲吉▼宗 東京都国分寺市東恋ヶ窪1丁目280番地 株式会社日立製作所中央研究所内 (56)参考文献 特開 昭56−47980(JP,A)
Claims (5)
- 【請求項1】連想アレイ部とデータ部とを具備するアド
レス変換装置であって、 上記連想アレイ部を構成する複数のエントリーに共通に
設けられるとともに上記連想アレイ部の外部から空間番
号と論理アドレスを上記複数のエントリーに入力する入
力線をさらに具備し、 上記連想アレイ部を構成する複数のエントリーのそれぞ
れは、 所定の論理アドレスが多重論理空間の共通領域に該当す
るか否かを示すフラグ情報を格納する共通エリアフラグ
フィールドを構成する第1のメモリセルと、 空間番号を格納する空間番号フィールドを構成する第2
のメモリセルと、 論理アドレスを格納する論理アドレスフィールドを構成
する第3のメモリセルと、 上記空間番号フィールドに格納された第1の値と上記入
力線を介して入力された空間番号とを比較するととも
に、上記論理アドレスフィールドに格納された第2の値
と上記入力線を介して入力された論理アドレスとを比較
する比較手段と、 上記論理アドレスフィールドに格納された上記論理アド
レスが上記多重論理空間の上記共通領域に該当しないこ
とを上記共通エリアフラグフィールドに格納された上記
フラグ情報が示す場合には、上記比較手段において上記
入力された空間番号と上記入力された論理アドレスとが
それぞれ上記第1の値と上記第2の値とに一致する時に
一致検出信号を上記データ部に出力し、上記論理アドレ
スフィールドに格納された上記論理アドレスが上記多重
論理空間の上記共通領域に該当することを上記共通エリ
アフラグフィールドに格納された上記フラグ情報が示す
場合には、上記空間番号フィールドに格納された第1の
値とは無関係に上記論理アドレスフィールドに格納され
た上記第2の値と上記入力された論理アドレスとが一致
する時に上記一致検出信号を上記データ部に出力する一
致検出手段とを有し、 上記データ部は上記連想アレイ部の上記一致検出手段か
ら出力される上記一致検出信号に応答して上記データ部
に格納された複数の物理アドレスのひとつを出力する手
段を有することを特徴とするアドレス変換装置。 - 【請求項2】上記一致検出手段は、上記第2のメモリセ
ルに接続された第1の一致検出線と、上記第3のメモリ
セルに接続されるとともに上記データ部に接続された第
2の一致検出線と、上記第1のメモリセルに接続される
とともに上記第1の一致検出線と上記第2の一致検出線
との間に配置された情報伝達手段を具備し、 上記情報伝達手段は、上記論理アドレスフィールドに格
納された上記論理アドレスが上記多重論理空間の上記共
通領域に該当しないことを上記共通エリアフラグフィー
ルドに格納された上記フラグ情報が示す場合には、上記
空間番号フィールドに格納された上記第1の値と上記入
力された空間番号とが一致するか否かの情報と上記論理
アドレスフィールドに格納された第2の値と上記入力さ
れた論理アドレスとが一致するか否かの情報との論理演
算を行わしめるとともに上記第2の一致検出線にその論
理演算結果を出力せしめ、上記論理アドレスフィールド
に格納された上記論理アドレスが上記多重論理空間の上
記共通領域に該当することを上記共通エリアフラグフィ
ールドに格納された上記フラグ情報が示す場合には、上
記空間番号フィールドに格納された上記第1の値と上記
入力された空間番号とが一致するか否かの情報に無関係
に上記論理アドレスフィールドに格納された第2の値と
上記入力された論理アドレスとが一致するか否かの情報
を上記第2の一致検出線に出力せしめることを特徴とす
る特許請求の範囲第1項記載のアドレス変換装置。 - 【請求項3】上記情報伝達手段は、そのソース又はドレ
インが上記第1の一致検出線に接続され、そのドレイン
又はソースが上記第2の一致検出線に接続され、そのゲ
ートが上記第3のメモリセルに接続されたトランジスタ
を具備し、 上記トランジスタは、上記論理アドレスフィールドに格
納された上記論理アドレスが上記多重論理空間の上記共
通領域に該当しないことを上記共通エリアフラグフィー
ルドに格納された上記フラグ情報が示す場合には上記ソ
ースと上記ドレイン間を導通され、上記論理アドレスフ
ィールドに格納された上記論理アドレスが上記多重論理
空間の上記共通領域に該当することを上記共通エリアフ
ラグフィールドに格納された上記フラグ情報が示す場合
には上記ソースと上記ドレイン間を非導通とされること
を特徴とする特許請求の範囲第2項記載のアドレス変換
装置。 - 【請求項4】上記連想アレイ部の上記複数のエントリー
のそれぞれの上記空間番号フィールドはマスクフラグセ
ルを有し、該マスクフラグセルに格納されたデータに応
じたマスクパターンによって上記空間番号フィールドの
上記第1の値がマスクされることを特徴とする特許請求
の範囲第1項乃至第3項の何れかに記載のアドレス変換
装置。 - 【請求項5】上記連想アレイ部の上記複数のエントリー
はそれぞれのエントリーの論理アドレスから物理アドレ
スへの変換が有効であるか否かを示すバリッドフラグフ
ィールドを含むことを特徴とする特許請求の範囲第1項
乃至第4項の何れかに記載のアドレス変換装置。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP60110373A JPH0685156B2 (ja) | 1985-05-24 | 1985-05-24 | アドレス変換装置 |
| US06/865,840 US4812969A (en) | 1985-05-24 | 1986-05-22 | Address translation unit |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP60110373A JPH0685156B2 (ja) | 1985-05-24 | 1985-05-24 | アドレス変換装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS61269753A JPS61269753A (ja) | 1986-11-29 |
| JPH0685156B2 true JPH0685156B2 (ja) | 1994-10-26 |
Family
ID=14534155
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP60110373A Expired - Lifetime JPH0685156B2 (ja) | 1985-05-24 | 1985-05-24 | アドレス変換装置 |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US4812969A (ja) |
| JP (1) | JPH0685156B2 (ja) |
Families Citing this family (28)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| GB8405491D0 (en) * | 1984-03-02 | 1984-04-04 | Hemdal G | Computers |
| US5237671A (en) * | 1986-05-02 | 1993-08-17 | Silicon Graphics, Inc. | Translation lookaside buffer shutdown scheme |
| US5045996A (en) * | 1986-11-12 | 1991-09-03 | Xerox Corporation | Multiprocessor cache memory housekeeping |
| US5123101A (en) * | 1986-11-12 | 1992-06-16 | Xerox Corporation | Multiple address space mapping technique for shared memory wherein a processor operates a fault handling routine upon a translator miss |
| JPS63231550A (ja) * | 1987-03-19 | 1988-09-27 | Hitachi Ltd | 多重仮想空間制御方式 |
| JP2510605B2 (ja) * | 1987-07-24 | 1996-06-26 | 株式会社日立製作所 | 仮想計算機システム |
| US4943913A (en) * | 1988-02-10 | 1990-07-24 | International Business Machines Corporation | Operating system accessing control blocks by using home address space segment table to control instruction and operand fetch and store operations |
| JPH01255945A (ja) * | 1988-04-06 | 1989-10-12 | Hitachi Ltd | 仮想計算機におけるアドレス変換装置 |
| US5239635A (en) * | 1988-06-06 | 1993-08-24 | Digital Equipment Corporation | Virtual address to physical address translation using page tables in virtual memory |
| JP2825550B2 (ja) * | 1989-09-21 | 1998-11-18 | 株式会社日立製作所 | 多重仮想空間アドレス制御方法および計算機システム |
| US5222222A (en) * | 1990-12-18 | 1993-06-22 | Sun Microsystems, Inc. | Apparatus and method for a space saving translation lookaside buffer for content addressable memory |
| US5263140A (en) * | 1991-01-23 | 1993-11-16 | Silicon Graphics, Inc. | Variable page size per entry translation look-aside buffer |
| US5890220A (en) * | 1991-02-05 | 1999-03-30 | Hitachi, Ltd. | Address conversion apparatus accessible to both I/O devices and processor and having a reduced number of index buffers |
| US5712998A (en) * | 1993-07-13 | 1998-01-27 | Intel Corporation | Fast fully associative translation lookaside buffer with the ability to store and manage information pertaining to at least two different page sizes |
| US5835743A (en) * | 1994-06-30 | 1998-11-10 | Sun Microsystems, Inc. | Application binary interface and method of interfacing binary application program to digital computer |
| JP3740195B2 (ja) * | 1994-09-09 | 2006-02-01 | 株式会社ルネサステクノロジ | データ処理装置 |
| WO1996012231A1 (en) * | 1994-10-14 | 1996-04-25 | Silicon Graphics, Inc. | A translation buffer for detecting and preventing conflicting virtual addresses from being stored therein |
| US5659697A (en) * | 1994-12-14 | 1997-08-19 | International Business Machines Corporation | Translation lookaside buffer for faster processing in response to availability of a first virtual address portion before a second virtual address portion |
| US6026476A (en) * | 1996-03-19 | 2000-02-15 | Intel Corporation | Fast fully associative translation lookaside buffer |
| US6112278A (en) * | 1996-09-30 | 2000-08-29 | Lsi Logic Corporation | Method to store initiator information for SCSI data transfer |
| US20020099745A1 (en) * | 2001-01-23 | 2002-07-25 | Neo-Core, L.L.C. | Method and system for storing a flattened structured data document |
| US7073044B2 (en) * | 2001-03-30 | 2006-07-04 | Intel Corporation | Method and apparatus for sharing TLB entries |
| US6728858B2 (en) | 2001-03-30 | 2004-04-27 | Intel Corporation | Method and apparatus including heuristic for sharing TLB entries |
| US6681311B2 (en) * | 2001-07-18 | 2004-01-20 | Ip-First, Llc | Translation lookaside buffer that caches memory type information |
| JP2004164395A (ja) * | 2002-11-14 | 2004-06-10 | Renesas Technology Corp | アドレス変換装置 |
| DE602007012519D1 (de) * | 2007-04-05 | 2011-03-31 | St Microelectronics Res & Dev | Integrierte Schaltung mit beschränktem Datenzugang |
| US10089220B1 (en) * | 2013-11-01 | 2018-10-02 | Amazon Technologies, Inc. | Saving state information resulting from non-idempotent operations in non-volatile system memory |
| US12417042B2 (en) * | 2021-12-02 | 2025-09-16 | Intel Corporation | Detection of data corruption in memory address decode circuitry |
Family Cites Families (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS51115737A (en) * | 1975-03-24 | 1976-10-12 | Hitachi Ltd | Adress conversion versus control system |
| US4453230A (en) * | 1977-12-29 | 1984-06-05 | Tokyo Shibaura Electric Co., Ltd. | Address conversion system |
| US4376297A (en) * | 1978-04-10 | 1983-03-08 | Signetics Corporation | Virtual memory addressing device |
| JPS5647980A (en) * | 1979-09-20 | 1981-04-30 | Nec Corp | Address converter |
| US4456954A (en) * | 1981-06-15 | 1984-06-26 | International Business Machines Corporation | Virtual machine system with guest architecture emulation using hardware TLB's for plural level address translations |
| US4612612A (en) * | 1983-08-30 | 1986-09-16 | Amdahl Corporation | Virtually addressed cache |
| US4551797A (en) * | 1983-08-31 | 1985-11-05 | Amdahl Corporation | Apparatus for reverse translation |
| JPS60142451A (ja) * | 1983-12-29 | 1985-07-27 | Fujitsu Ltd | アドレス変換制御方式 |
-
1985
- 1985-05-24 JP JP60110373A patent/JPH0685156B2/ja not_active Expired - Lifetime
-
1986
- 1986-05-22 US US06/865,840 patent/US4812969A/en not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| JPS61269753A (ja) | 1986-11-29 |
| US4812969A (en) | 1989-03-14 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH0685156B2 (ja) | アドレス変換装置 | |
| JP3936378B2 (ja) | アドレス変換装置 | |
| JP3278748B2 (ja) | メモリ空間を節約する方法および装置 | |
| US4972338A (en) | Memory management for microprocessor system | |
| KR960001946B1 (ko) | 우선 변환 참조버퍼 | |
| US5123101A (en) | Multiple address space mapping technique for shared memory wherein a processor operates a fault handling routine upon a translator miss | |
| US6408373B2 (en) | Method and apparatus for pre-validating regions in a virtual addressing scheme | |
| US5787494A (en) | Software assisted hardware TLB miss handler | |
| US5230045A (en) | Multiple address space system including address translator for receiving virtual addresses from bus and providing real addresses on the bus | |
| US5386527A (en) | Method and system for high-speed virtual-to-physical address translation and cache tag matching | |
| US6493812B1 (en) | Apparatus and method for virtual address aliasing and multiple page size support in a computer system having a prevalidated cache | |
| US5604879A (en) | Single array address translator with segment and page invalidate ability and method of operation | |
| US6874077B2 (en) | Parallel distributed function translation lookaside buffer | |
| JPH0749812A (ja) | ページテーブル中のハッシュアドレスタグを用いたメモリアドレス制御装置 | |
| JPH11203199A (ja) | キャッシュ・メモリ | |
| JPH0622000B2 (ja) | マイクロプロセツサ装置 | |
| US5173872A (en) | Content addressable memory for microprocessor system | |
| JPH08502609A (ja) | 非数値コプロセッサ | |
| JP3449487B2 (ja) | 変換索引緩衝機構 | |
| KR920001282B1 (ko) | 버퍼메모리 제어장치 | |
| US5530822A (en) | Address translator and method of operation | |
| JP3210637B2 (ja) | データ処理システム内のキャッシュ・メモリにアクセスするための方法およびシステム | |
| US6643742B1 (en) | Method and system for efficient cache memory updating with a least recently used (LRU) protocol | |
| KR910007029B1 (ko) | 어드레스 변환장치 | |
| US6216198B1 (en) | Cache memory accessible for continuous data without tag array indexing |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| EXPY | Cancellation because of completion of term |