JPH06222996A - 高速仮想−物理アドレス変換及びキャッシュタグ照合方法及びシステム - Google Patents

高速仮想−物理アドレス変換及びキャッシュタグ照合方法及びシステム

Info

Publication number
JPH06222996A
JPH06222996A JP4349152A JP34915292A JPH06222996A JP H06222996 A JPH06222996 A JP H06222996A JP 4349152 A JP4349152 A JP 4349152A JP 34915292 A JP34915292 A JP 34915292A JP H06222996 A JPH06222996 A JP H06222996A
Authority
JP
Japan
Prior art keywords
cache
address
physical address
hit
tag
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
JP4349152A
Other languages
English (en)
Inventor
Patrick W Bosshart
ダブリュ.ボッシャート パトリック
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.)
Texas Instruments Inc
Original Assignee
Texas Instruments Inc
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 Texas Instruments Inc filed Critical Texas Instruments Inc
Publication of JPH06222996A publication Critical patent/JPH06222996A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • G06F12/1045Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] associated with a data cache
    • G06F12/1054Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] associated with a data cache the data cache being concurrently physically addressed

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)

Abstract

(57)【要約】 (修正有) 【目的】 キャッシュメモリシステムにおけるタイミン
グパスを減少できる、高速仮想−物理アドレス変換及び
キャッシュタグ照合方法及びシステムを提供する。 【構成】 第1の所定数N個の物理アドレス候補信号1
32、134、及びN個のアドレス候補ヒット信号15
0、152を生成する、セットアソシエイティブメモリ
管理ユニット112と、第2の所定数M個のアドレスタ
グ168170を生成する、M線セットアソシエイティ
ブキャッシュ114と、N個の物理アドレス候補をM個
のアドレスタグと比較して、NxMの配列のヒット信号
を発生する、NxMの配列の比較回路M00、M01、
M10、M11と、対応するアドレス候補ヒット信号
と、前記物理アドレス候補の前記アドレスタグとの一致
とを示す、ヒット信号の内のM個を出力する回路15
4、156、158、160、172、174とから成
ある。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、一般的に電子回路に関
し、特に、広範囲にマイクロプロセッサを応用するの、
高速仮想アドレス−物理アドレス変換及びキャッシュタ
グ照合方法及びシステムに関するものである。
【0002】
【従来技術】マイクロプロセッサの種々の用途におい
て、その速度を最終的に決定するのは、当該マイクロプ
ロセッサのクロックサイクルである。マイクロプロセッ
サの設計においては、いくつかのタイミングパス(ti
ming path)がクロックサイクルを最終的に決
定する。結果的に、クロックサイクルをできるだけ高速
にし、それによってマイクロプロセッサの性能を向上さ
せるためには、全てのマイクロプロセッサのタイミング
パスを最適化することが重要となる。
【0003】マイクロプロセッサにとってクリティカル
タイミングパスの1つは、メモリアクセスタイミングパ
スである。このマイクロプロセッサのメモリアクセスタ
イミングパスは、マイクロプロセッサがメモリからデー
タ及び命令を検索するのに要する時間のことである。マ
イクロプロセッサは、これらのデータ及び命令を以後の
処理に用いる。多数の応用分野において、マイクロプロ
セッサチップは、そのチップ上にキャッシュメモリを備
えている。キャッシュメモリは、プロセッサが最も最近
使ったデータ及び命令を、プロセッサがその情報を再び
用いることを予想して、記憶しておくものである。この
ように最も最近用いられたデータ及び命令をキャッシュ
メモリ内に保持することで、マイクロプロセッサは、こ
れらのデータ及び命令を主メモリから検索することな
く、素速くアクセスすることができるようになる。多く
の用途にとって、キャッシュメモリアクセスタイミング
パスは、全メモリアクセスタイミングパスの大部分を占
めている。したがって、このキャッシュメモリタイミン
グパスは、マイクロプロセッサの処理に対するクリティ
カルタイミングパスに、大きな影響を与えることが多
い。
【0004】コンピュータシステムが仮想メモリを用い
るのは、使用可能な物理メモリ(RAM)に入り切らな
い程多くのデータがあるという問題を、コンピュータシ
ステムが解決できるようにするためである。仮想及び物
理メモリアドレス空間は、ページとよばれるブロックに
分割されている。仮想ページはディスク上に記憶されて
おり、RAM内に記憶されている物理ページに割り当て
られ、コンピュータのCPUがアクセスできるようにし
てある。コンピュータシステムは、メモリ管理ユニット
(MMU)と呼ばれるモデュールを用いて、仮想アドレ
スから物理アドレスへの割り当てを行なっている。この
動作をアドレス変換と呼ぶ。
【0005】データ及び命令キャッシュには、所望のデ
ータまたは命令をキャッシュが首尾よく戻すために入来
するアドレスと照合しなくてはならない、アドレスタグ
を記憶してある。これらのアドレスタグは、コンピュー
タシステムの設計によって、仮想アドレスまたは物理ア
ドレスのいずれかから成るものである。CPUは、仮想
アドレスを用いて処理を行なう。キャッシュが物理アド
レスタグを記憶する場合、キャッシュに入来するアドレ
スは物理アドレスでなければならず、したがって、MM
Uが元の仮想アドレスから物理アドレスに変換する時
に、時間遅れが生じるという問題がある。
【0006】このアドレス変換遅れを回避するために
は、キャッシュに物理アドレスタグよりむしろ仮想アド
レスタグを記憶するほうが望ましい。したがって、仮想
アドレスを用いるキャッシュは、物理アドレスを用いる
キャッシュより、全時間遅れを少なくすることができ
る。しかしながら、ソフトウエアやオペレーティングシ
ステムを考慮する際、遅れが増加しても物理アドレス型
キャッシュの使用を強行する場合が多い。特にユニック
ス(UNIX)のオペレーティングシステムでは、常に
物理アドレス型キャッシュを用いるのが好ましいとされ
ている。
【0007】物理アドレス型命令及びデータキャッシュ
では、キャッシュ内に記憶されているアドレスタグとキ
ャッシュに送られてきた物理アドレスとの間で、アドレ
スの比較を行なう。物理アドレスを発生する際の時間遅
れが、キャッシュ内からアドレスタグを取り出す際の時
間遅れより大きいと、キャッシュには、アドレス変換に
起因して更に待ち時間が加わるという問題が生じる。ア
ドレス変換とキャッシュ照合を組み合わせたプロセスを
促進する方法及びシステムがあれば、キャッシュメモリ
システムにおけるタイミングパスを減少させることがで
きよう。
【0008】このように、アドレス変換とキャッシュ照
合を組み合わせたプロセスに要する時間を短縮させる方
法及びシステムが、必要とされている。
【0009】
【発明が解決しようとする課題】したがって、本発明の
目的は、従来の仮想−物理アドレス変換及びキャッシュ
タグ照合回路に関連する不利益や制約を克服即ち減少す
る、高速仮想−物理アドレス変換及びキャッシュタグ照
合方法及びシステムを提供することである。
【0010】
【課題を解決するための手段】本発明の一観点によれ
ば、第1の所定数Nの物理アドレス候補を生成する、セ
ットアソシエイティブ(set−associativ
e)メモリ管理ユニットを備えた、高速仮想−物理変換
及びキャッシュタグ照合回路が提供される。この回路
は、第2の所定数Mのアドレスタグを生成するための、
セットアソシエイティブキャッシュも備えている。メモ
リ管理ユニット及びキャッシュに関連するのは、物理ア
ドレス候補をアドレスタグと比較して、ヒット信号のN
xMの配列を発生する、NxM配列の比較回路である。
メモリ管理ユニットは、N個のアドレスヒット信号も発
生する。本発明は、更に、NxM配列及びN個のアドレ
スヒット信号に応答して、M個の前記ヒット信号を出力
する回路も備えている。
【0011】
【作用】本発明の技術的利点は、公知の仮想−物理アド
レス変換及びキャッシュタグ照合回路において存在する
アドレス照合遅れを回避することである。
【0012】本発明の別の技術的利点は、二線アソシエ
イティブメモリ管理ユニットを用い、公知のメモリ管理
ユニットにて生じる遅れの多くを除去することである。
【0013】本発明の更に別の技術的利点は、仮想−物
理変換及びキャッシュタグ照合に対するクリティカルタ
イミングパスを、主に1つのランダムアクセスメモリと
1つの比較回路にまで、減少させることである。その結
果、変換及び照合機能の両方において、大幅に高速化し
た回路を得ることができる。
【0014】
【実施例】本発明の実施例は、図面を参照することによ
って、最良に理解されよう。図面において、同様の番号
は、同様の及び対応する部分を示すものとする。
【0015】図1は、従来技術の典型的なメモリ管理ユ
ニット(MMU)及びキャッシュ回路を示すものであ
る。図1のMMU及びキャッシュ回路10は、MMU1
2内に、仮想−物理アドレス変換を行なう変換ルックア
サイドバッファ(TLB)20を備えている。TLB2
0は、ページテーブルエントリ(PTE)を発生するた
めに連想記憶可能な(content−address
able)メモリ(CAM)を用いて実施した、完全な
アソシエイティブメモリである。物理アドレス発生器3
4は、PTEから物理ページ数を生成し、物理アドレス
の高位ビット(例えば、ビット31から12まで)をキ
ャッシュ14に送る。キャッシュ14は、物理アドレス
を用いて、マイクロコンピュータが必要とするデータま
たは命令をそれが含んでいるか判断する。
【0016】更に詳細に図1を参照すると、MMU/キ
ャッシュ回路10は、MMU12とキャッシュ14とを
備えている。MMU12は、例えば線31−0上の32
ビットの信号を含む、マイクロプロセッサ(図示せず)
からの仮想アドレスを受け取ることができる。仮想アド
レスの32ビットの内、下位の12ビット(11−0ビ
ット)は、直接MMU12のワイヤ16上を通過して、
キャッシュ14のキャッシュタグRAM18及びキャッ
シュデータRAM48に達する。仮想アドレスの上位2
0ビット(即ちビット31−12)は、線22によって
破線で表わしたボックス内に示した変換ルックアサイド
バッファ(TLB)20に達する。線22はTLB20
に結合し、TLB20に仮想ページ番号、例えば、32
ビットアドレスの上位20ビットを供給する。加えて、
プロセスID回路26が、仮想ページ番号に、CAM2
0に対するプロセス識別を付加する。TLB20は、線
28上にページテーブルエントリを、並びに線30上に
TLBヒット信号を出力する。TLBヒット信号は制御
ロジック32に達する。線28上のページテーブルエン
トリは、物理アドレス発生器34に達する。
【0017】物理アドレス発生器34は、比較回路38
及び40への線36上に物理ページ番号を出力する。例
えば、スケーラブル(scaleable)プロセッサ
アーキテクチャ(SPARC)では、物理アドレス発生
器は、単に、特定のサイズの境界にしたがってTLB出
力または仮想アドレスのいずれかを選択するマルチプレ
クサである。例えば、境界は、4キロバイトのページに
対してビット12にある。SPARCチップは、256
キロバイト、16メガバイト及び4ギガバイトのページ
サイズも支援するものである。
【0018】比較回路38及び40は、夫々キャッシュ
タグRAM18のBANK0 42及びBANK1 4
4からのキャッシュタグアドレスを受け取る。キャッシ
ュデータRAM48は、BANK0 50とBANK1
52とから成る。BANK0 50からの出力は、A
NDゲート54に達し、一方BANK1 52からの出
力は、ANDゲート56に達する。ANDゲート54
は、線58を介して比較器38からのBANK0ヒット
信号を受け取り、一方ANDゲート56は、線60を介
して比較器40からのBANK1ヒット信号を受け取
る。比較器38及び40からのBANK0ヒット及びB
ANK1ヒット信号は、夫々キャッシュヒットORゲー
ト62にも行く。同様に、ANDゲート54及びAND
ゲート56からの出力は、ORゲート64からのキャッ
シュデータとして、出力される。
【0019】TLB20は、例えば、32ビットの仮想
アドレスシステムのビット12から31までの仮想アド
レスを含む仮想ページ番号を受け取る。4キロバイトの
ページを用いるプロセッサアーキテクチャでは、アドレ
スの下位12ビットは、仮想アドレスから物理アドレス
に変換しても、変化しない。これらのビットは、単にペ
ージ内にオフセットされる。高位ビット(例えば、32
ビットアドレスの上位20ビット)は、仮想アドレスで
は仮想ページ番号であり、物理アドレスに対しては物理
ページ番号である。言い換えれば、下位12ビットは、
直接キャッシュ14に送られるのに対し、上位20ビッ
トはCAM20において変換を受けなくてはならない。
【0020】TLB20からのPTEは、割り当てをど
のように行なうかをマイクロプロセッサに指示する、主
メモリのページテーブル内に記憶されているPTEのコ
ピーである。PTEは、物理ページ番号と共に、メモリ
アクセス許可ビット及び異なるサイズのページを用いる
プロセッサのためにページサイズを含んでいる。例え
ば、SPARCプロセッサは、4キロバイトのページだ
けでなく、256キロバイト、16メガバイト及び4ギ
ガバイトのページも用いるものである。このページサイ
ズ情報を、物理アドレス発生器34に送り、物理ページ
番号とページオフセットとの間で境界の選択を制御す
る。
【0021】キャッシュ14は、典型的に二線セットア
ソシエイティブキャッシュとして実施される。これは、
仮想アドレスが線16を通ってキャッシュ14に達し、
そのインデックス即ちRAMアドレスを与えることを意
味する。BANK0 42とBANK1 44とを用い
ることによって、2つのエントリ候補を与え、そのいず
れかが、その時マイクロプロセッサが必要とするデータ
または命令に対応するアドレスタグとなる。キャッシュ
データRAM48も、キャッシュタグRAM18が受け
取ったインデックスを受け取る。比較器38及び40に
おいて、夫々BANK0及びBANK1から送られる物
理アドレスタグ候補と、物理アドレス発生器34から送
られる物理ページ番号との間で比較を行なう。比較器3
8または40で一致が生じると、夫々キャッシュデータ
RAM48のBANK0 50またはBANK1 52
のいずれかのデータが、マイクロプロセッサの必要とす
るデータとなる。一致しなかった場合、キャッシュミス
が生じ、キャッシュコントローラは、主メモリシステム
からデータを取り込み、それをキャッシュにロードしな
くてはならない。
【0022】MMU/キャッシュ回路10の目的は、関
連するマイクロプロセッサに最近使用したデータまたは
命令を迅速に供給することにより、当該マイクロプロセ
ッサの速度を増加させることである。MMU/キャッシ
ュ回路10の動作は、関連するマイクロプロセッサの性
能を決定するクリティカルタイミングパスを確立するも
のである。関連するマイクロプロセッサの速度を増加さ
せることに成功したいかなる方法も、常にMMU/キャ
ッシュ回路10の速度を高めることを必要としている。
一般的に、クリティカルタイミングパスは2つの要素か
ら成るものである。最初の要素は、MMU12が仮想ア
ドレスを受け取る際に開始し、MMU12が物理ページ
番号36を与える時に終了するパスである。2番目の要
素は、キャッシュ14が物理ページ番号36を受け取る
際に開始し、キャッシュ14がキャッシュデータを出力
する際に終了するパスである。このタイミングパスに
は、TLB20、物理アドレス発生器34、比較器38
及び40、そしてゲート54、56及び64が含まれ
る。
【0023】TLB20の別の実施例を図2に示す。こ
の例は、64エントリの二線セットアソシエイティブT
LBのものである。他のTLBの構成でも同等に動作す
ることができる。完全なアソシエイティブキャッシュの
TLB20に代わって、図2はTLB20と置き換える
ことができる二線セットアソシエイティブキャッシュ7
0を示している。この二線セットアソシエイティブキャ
ッシュ70では、仮想ページ番号がマイクロプロセッサ
から送られてくる。仮想ページ番号の下位5ビットが、
線72を通ってMMUタグRAM74及びMMUデータ
RAM76に送られる。また、仮想ページ番号の上位1
5ビットが、線78を介して比較器80及び82に達す
る。比較器80及び82は、BANK0 84とBAN
K1 86からタグアドレスを受け取り、線78からの
上位15ビットの仮想アドレスと照合する。プロセスI
D88は、線78を介して比較器80及び82に入力を
供給する。BANK0ヒットビットが線90を通って比
較器82から送られると共に、BANK1ヒットビット
が線92上を比較器82から送られる。これらの信号
は、直接ORゲート94に達し、一方ORゲート94は
制御ロジック32に結合されている。MMUデータBA
NK0 96及びBANK1 98は、夫々ANDゲー
ト100及び102に結合されている。ANDゲート1
00及び102は、夫々、線90からのBANK0ヒッ
トに対するヒット信号及び線92からのBANK1ヒッ
トに対するヒット信号を、線104及び106を介して
受け取る。ANDゲート100及び102からの出力
は、線28上のページテーブルエントリとしてORゲー
ト108を通過し、物理アドレス発生器34に到達す
る。物理アドレス発生器34は、線36上に物理ページ
番号を生成し、これをキャッシュ14が用いて比較器3
8及び40と照合を行なうことができる(図1参照)。
【0024】二線セットアソシエイティブMMU70で
は、MMUタグRAM74及びMMUデータRAM76
の記憶サイズを、CAM20内のキャッシュと同一サイ
ズとすることができる。しかしながら、二線MMUは、
多少高速化されているか、或いは集積回路上での領域が
狭いこともある。この構成は、しかしながら、MMU7
0がキャッシュデータ出力に対するクリティカルタイミ
ングパスであるという問題の解決には殆ど役に立たな
い。
【0025】図1及び2の双方を見れば、キャッシュデ
ータ出力にとっての最初のプロセスである、仮想アドレ
スの下位12ビットを分離してそれらのビットをキャッ
シュ14に送ることによって、キャッシュタグRAM1
8及びキャッシュデータRAM48に、それら自体に必
要なデータまたは命令をアクセスする行程を開始させる
ことが、明白である。それらは、キャッシュデータメモ
リ処理(トランザクション)に関してほぼ時刻0におい
て、そのアクセスを開始する。例えば、32ビットを用
いる応用例において、ページオフセットビットである上
位20ビットは、物理ページ番号を発生するためにTL
B20またはTLB70を通過する際の遅れを被ること
になる。結果として、物理ページ番号は、キャッシュタ
グRAMBANK0 42及びキャッシュタグRAM
BANK1 44からのキャッシュタグアドレスと同時
には、比較器38及び40には到達しない可能性があ
る。実際、物理ページ番号の発生が、キャッシュデータ
メモリ処理に対するクリティカルタイミングパスとなる
のを回避するのに間に合うように、物理ページ番号が比
較器38及び40に到達することができないのは、ほぼ
確実である。その結果、図1の完全なアソシエイティブ
TLB20も、図3の二線セットアソシエイティブTL
B70も、キャッシュデータメモリ処理に対するクリテ
ィカルタイミングパスを短縮する問題を解決することが
できない。
【0026】図3に示す好適実施例は、本発明がこのタ
イミングについての制約をいかにして克服するかを例示
したものである。この好適実施例は、二線セットアソシ
エイティブTLBを用いている。二線セットアソシエイ
ティブTLBを用いることによって、各セットから1つ
ずつ、2つの物理アドレス候補を生成することができ
る。これらのアドレス候補の両方をキャッシュ114に
送ることができる。二線セットアソシエイティブキャッ
シュでは、キャッシュRAMからの2つのアドレスタグ
出力を各々を、2つの物理アドレス候補の各々と、比較
しなくてはならない。このことは、合計4つのアドレス
比較器をもたらすのに、例えば比較器38及び40(図
1参照)を二重に設けることを意味する。各キャッシュ
セットに対して、2つの候補一致信号は、各TLBセッ
ト150及び152に対するTLB一致信号によって、
最終的にゲートされ、組み合わされて1つの一致信号即
ちヒット信号となる。
【0027】好適実施例がいかにして本発明の目的を達
成するかを示すために、図3に、MMU112及びキャ
ッシュ114を備えた、本発明のMMU/キャッシュ回
路を示す。MMU112は、TLBデータRAM116
及びTLBタグRAM118を備えている。TLBデー
タRAMは、BANK0 120とBANK1 122
とから成る。TLBデータRAM BANK0 120
及びBANK1 122は、仮想アドレスビット16−
12を受け取る。TLBデータRAM BANK0 1
20及びBANK1 122から夫々出力されるPTE
は、夫々物理アドレス発生器128及び130への入力
として、線124及び126を通る。物理アドレス発生
器128及び130からの出力は、夫々、PHYS A
DDR0及びPHYS ADDR1物理アドレス信号と
して、線132及び134を通って、キャッシュ114
に到達する。PHYS ADDR0信号は、好適実施例
では、比較器M00及び比較器M11に達する。同様
に、PHYS ADDR1信号は、キャッシュ114の
比較器M10及びM11に達する。
【0028】仮想アドレスビット16−12がTLBデ
ータRAM116に到達するのと同時に、これらの仮想
アドレスビットはTLBタグRAM118にも到達す
る。TLBタグRAM118は、BANK0 136及
びBANK1 138から成る。BANK0 136及
びBANK1 138からのタグアドレスは、夫々、線
140及び142を通って移動して比較器144及び1
46に達する。比較器144及び146は、各々仮想ペ
ージビット31−17と、線148からのプロセスID
情報とを受け取る。比較器144及び146からのヒッ
ト信号は、線150及び152を通って移動して、キャ
ッシュ114に達する。キャッシュ114では、AND
ゲート154及び156が線150からのTLBヒット
0信号を受け取り、一方ANDゲート158及び160
が線152からのTLBヒット1信号を受け取る。
【0029】図3は、キャッシュ114のキャッシュタ
グRAM162を示すものである。好適実施例でも図1
のキャッシュ14内のキャッシュデータRAM48のそ
れと同様なキャッシュデータRAMを採用しているが、
キャッシュ114のその部分は、簡略化のため図3では
示していない。キャッシュタグRAM162は、BAN
K0 164と、BANK1 166とから成る。BA
NK0 164からのアドレスタグは、線168を通っ
て比較器M00及びM10に達する。同様に、BANK
1 166からのアドレスが線170を通って比較器M
01及びM11に達する。比較器M01からのヒット信
号は、TLBヒット0信号と共にANDゲート154に
入力され、比較器M01からのヒット信号とTLBヒッ
ト0信号は、ANDゲート156に達する。同様に、比
較器M10からのヒット信号は、TLBヒット1信号と
共にANDゲート158に入力され、一方比較器M11
からのヒット信号はTLBヒット1信号と共にANDゲ
ート160に入力される。ANDゲート154及び15
8からの信号はORゲート172に達し、そしてAND
ゲート156及び160からの信号はORゲート174
に達する。ORゲート172及び174からのゲートさ
れた出力は、キャッシュ114からのキャッシュヒット
出力として、ORゲート176に達する。ORゲート1
72及び174から出力されるBANK0ヒット及びB
ANK1ヒット信号は、図1の線58及び60のBAN
K0HIT及びBANK1HIT出力と同様である。
【0030】典型的な従来技術によるMMU(例えば図
1のMMU1)と、図3のMMU112との重大な相違
は、TLBデータRAM116とTLBタグRAM11
8とが二線セットアソシエイティブTLBを形成し、こ
れが2つの物理アドレス候補、即ち線132上の物理ア
ドレス0及び線134上の物理アドレス1を、2つのT
LBヒット信号、即ち、キャッシュに送るための線15
0上のTLBヒット0及び線152上のTLBヒット1
と共に、生成することである。TLBヒット0及びTL
Bヒット1は、キャッシュ114のBANK0 164
及びBANK1166からのキャッシュタグRAMアド
レスと照合するための正しい物理アドレス候補は、物理
アドレス0または物理アドレス1のいずれかの場合であ
れば、どちらであるかを判定する。比較器M00、M0
1、M10及びM11で行なわれる4つの比較が、全
て、比較器144及び146でのMMUタグの比較と同
時に、行なわれる。物理アドレス0及び物理アドレス1
に対する2組の比較を行ない、かつこの比較の結果を2
つのTLBヒット信号を用いてゲートすることにより、
好適実施例は、図2のTLB70または図1のCAM2
0のような公知の二線アソシエイティブTLBにおいて
起こる、連続した物理アドレスの発生を回避することが
できる。
【0031】1つの物理アドレスを送る代わりに、MM
U112が2つの物理アドレスを送るのは、こうするこ
とによって、物理アドレスをキャッシュタグRAM16
2からのアドレスと比較する前に、適当な物理アドレス
を連続的に決定する必要性を回避することができるから
である。これは、比較器M00、M01、M10及びM
11で行なわれる比較に引き続いて、生じてもよい。単
にANDゲート154、156、158及び160を夫
々用いることによって、キャッシュ114内の並列比較
器において並列比較が行なわれ、更にMMU112の比
較器内でも並列比較が行なわれ、こちらの結果はより迅
速にANDゲート154、156、158及び160に
達することができる。この並列比較は、より迅速にBA
NK0ヒット及びBANK1ヒット信号をORゲート1
72及び174から、そしてキャッシュヒット信号をO
Rゲート176から、生成するものである。
【0032】図4は、MMU−ヒット照合イネーブルを
有する16ビットのキャッシュ−タグ比較器の一例を示
すものである。ANDツリー(tree)に続く簡素な
スタティックXNOR(排他的ノア)ゲートを用いてキ
ャッシュ照合回路を実施することができる。図4の構成
では、キャッシュヒットをイネーブルするTLBヒット
信号は、ANDツリー154による最終レイヤーの中に
組み入れられている。これによって、この目的のために
余分なロジックステージを設ける必要を除去することが
できる。
【0033】比較動作で生じる遅れ時間を更に短くする
ことができる別の実施例を図5に示す。図5は、好適実
施例を実施するのに用いることができる、典型的なダイ
ナミックワイヤードORタグ比較器の回路図である。照
合セル182は、MMU112からの物理アドレス候補
と対応するキャッシュ114のキャッシュタグアドレス
との間の不一致を示す信号を、MISMATCH00
WIRED OR線180に、出力する。照合セル18
2は、例えば、MISMATCH00出力が共通の不一
致線180に接続されている全20個の照合セルの1つ
である。これら全てが一緒になって図3の比較器M00
を構成する。PRECHARGE線184がN−チャン
ネルトランジスタ186及び188のゲートに接続し、
NPNトランジスタのベースノード192及びエミッタ
ノード180を低レベルにプリチャージする。MMU1
12からの物理アドレスとキャッシュ114のキャッシ
ュBANK0 164のアドレスとが一致すると、MI
SMATCH00は低レベルを保持することになる。こ
れらのアドレスが一致しないと、MISMATCH00
WIRED OR180上の信号は、NPNトランジ
スタ190によって高レベルに引上げられる。このよう
に設計すると、単にワイヤードOR回路を更に付加する
ことによって、比較時間に大幅な遅れを含むことなく、
多数のビットを比較するための大きな論理入力数を得る
ことができる。
【0034】図5の説明を続けると、NPNトランジス
タのベース192は、線194によってP−チャンネル
トランジスタ196及び198に接続してある。P−チ
ャンネルトランジスタ196及び198は、線DATA
200及びDATA(バー)202に接続されている。
線DATA200及びDATA(バー)202は、例え
ば、共に図3の線168から成るとすることができる。
P−チャンネルトランジスタ196及び198のゲート
に、線204上のPHYS ADDR0及びPHYS
ADDR(バー)206の二重信号が現われる。この構
成では、照合セル182は排他的ORゲートの動作を行
なうものである。
【0035】線200及び202上の信号DATA及び
DATA(バー)は、夫々、図6に示すタイミング図に
よると、最初は低レベルである。1クロック信号の後、
例えば、線DATA上の信号または線DATA(バー)
上の信号のいずれかは、キャッシュRAM BANK0
164内のアドレスビットが夫々1か0かにしたがっ
て、高レベルとなる。これら2本のワイヤー200及び
202が共にBANK0データ168のデュアル−レー
ル信号を構成する。例えば、線DATA上の信号が高レ
ベルになると仮定する。すると、この信号はP−チャン
ネルトランジスタ196に達する。P−チャンネルトラ
ンジスタ196は、そのゲートで、線204の信号PH
YS ADDR0も受け取る。線204及び206上の
デュアル−レール信号PHYS ADDR0及びPHY
S ADDR(バー)は、図6のタイミング図によれ
ば、夫々最初は高レベルとなっている。線204上のP
HYS ADDR0信号が低レベルになり、DATA線
200上の信号が高レベルになると、P−チャンネルト
ランジスタ196はオンとなって線194に信号を送
る。この信号は線192を経て最終的にNPNトランジ
スタ190のベースに達する。PHYS ADDR0線
204とDATA線200との間で不一致が生じると、
NPNトランジスタ190はオンとなる。NPNトラン
ジスタ190に達する信号が線180をプルアップし、
照合セル182からの不一致信号を送る。同様に、DA
TA(バー)線202上の信号が高レベルとなり、線2
06上のPHYS ADR0信号が低レベルになると、
これがトランジスタ198をオンにして、トランジスタ
190にMISMATCH00線180をプルアップさ
せる。これが、再び、照合セル182からの不一致信号
を送ることになる。
【0036】図6は、キャッシュタグDATAまたはD
ATA(バー)、及びPHYS ADDRまたはPHY
S ADDR(バー)の送信に続いて、MISMATC
H00信号が高レベルになることを示す、タイミング図
である。また、図6は、デュアル−レール信号MMU
PTE及びPTE(バー)が最初は低レベルであること
も示している。これらの信号の1つが高レベルになる。
タイミング図に示すように、これによって、PHYS
ADDRまたはPHYS ADDR(バー)が低レベル
になる。これは、物理アドレス発生器128及び130
のロジックがまさに反転していることを示唆するもので
ある。この比較回路を用いるには、MMUデータRAM
及びキャッシュタグRAMは、各々、始めは低レベルで
選択的に高レベルになるデュアル−レール信号を出力し
なくてはならない。このようなRAMの設計は、当業者
には公知のものである。
【0037】図1のキャッシュ10のような典型的な二
線セットアソシエイティブキャッシュは、例えば、各セ
ットの各アドレスタグビットに対して、これら照合セル
の1つを含んでいる。しかしながら、本発明の好適実施
例では、各ビットに対して2つの照合セル182を備え
ている。一方の照合セルは、例えば、図3の物理アドレ
ス発生器128から来るビットを受け取るための、比較
器M00の一部となる。加えて、物理アドレス発生器1
30から来るPHYS ADDR1は、比較器M10を
構成する照合セルに物理アドレス入力を与える。したが
って、2つのTLBデータRAM、TLBBANK0
120及びTLB BANK1 122を備えることに
よって、好適実施例では、本質的にキャッシュタグRA
M162の各BANKから成る2つの比較器を用いてい
るのである。
【0038】図7は、図5及び6のデュアル−レール比
較回路を用いた実施例を示す。実際に図5及び6のダイ
ナミック回路を用いるには、PHYS ADDR0及び
PHYS ADDR(バー)0信号の両方を比較器M0
0の照合セルに送るように、回路を設計することが必要
である。例えば、図7は、BANK0 164及びBA
NK1 166を備えたキャッシュタグRAM162を
示している。BANK0 164から来るのは、比較器
M00及び比較器M10への線DATA200及びDA
TA(バー)202である。PHYS ADDR0線2
04及びPHYS ADDR(バー)0 206も、比
較器M00及びM01に達する。同様に、BANK1
166からの線DATA210及びDATA(バー)2
12は、比較器M01及びM11に達する。最後に、図
7の例では、線PHYS ADDR1 214及びPH
YS ADDR(バー)1 216が、比較器M10及
びM11に達する。
【0039】図7は、図3の4つの比較器M00、M0
1、M10及びM11を実施するデュアル−レール比較
器を示したが、これらを用いてMMU112内のアドレ
スタグ比較器194及び196を実施することもでき
る。
【0040】二線セットアソシエイティブキャッシュタ
グRAMと共にデュアル−レール二線セットアソシエイ
ティブMMUを実施することによって、好適実施例は、
これまで連続信号流しか生じなかったのを、並列信号流
が得られるようにした。更に、この並列信号流は、MM
U112からの物理アドレス信号が図3のキャッシュに
到達するのに必要な時間を除去或いは大幅に短縮するこ
とができる。これによって、MMU/キャッシュ比較回
路に固有な待ち時間を除去することができるので、関連
するマイクロプロセッサの性能を大幅に改善することが
できる。
【0041】図8は、好適実施例の応用例をレイアウト
ブロック図で示したものである。例えば、キャッシュタ
グRAMセル162と関連するのは、感知用途用のキャ
ッシュBANK0及びキャッシュBANK1と関連する
センスアンプ220である。センスアンプ220から来
るのは、比較器M00及びM10へのDATA線200
及びDATA(バー)線202、及び比較器M01及び
M11へのDATA線210及びDATA(バー)線2
12である。PHYS ADDR0及びPHYS AD
DR1は、線PHYS ADDR0 204及び線PH
YS ADDR(バー)0 206を通って比較回路の
照合セルM10及びM11に入力される。同様に、PH
YS ADDR1線214及びPHYS ADDR(バ
ー)1線216は、メモリセルM10及びM11に達す
る。
【0042】典型的な従来技術のキャッシュタグRAM
は、センスアンプの列(row)に隣接して、1列の比
較器を備えている。この列には、BANK0及びBAN
K1のアドレスタグ出力を夫々1つの物理アドレスと比
較するための、比較器M00及びM01の同等物を含む
こともある。図8の構成も、同様に、キャッシュタグ1
62と関連するセンスアンプ220に隣接して、どのよ
うに照合セルM00、M10、M01及びM11を形成
できるかを、示すものである。キャッシュタグ114が
物理アドレスと比較する各ビットのために、4つの比較
器M00、M10、M01及びM11が設けられてい
る。例えば、小さな2x2のブロックが比較回路全体に
繰り返し用いられて、32ビット比較回路32が構成さ
れている。照合セルの各々に接続された二重線は、図5
及び6で説明したデュアル−レールロジックを示すもの
である。図8には示されていないが、4本の照合線が全
ての照合セルを通過しており、その内の2本の照合線が
上部照合セルM00及びM10を通過し、別の2本は下
部照合セルM01及びM11のために設けられている。
これらは、MISMATCH00線180(図4)とし
て機能する線であり、線180は最終的に4つの比較器
M00、M01、M10及びM11のための図3のAN
Dゲート154、156、158及び160に接続され
る。この結果、集積回路上に本発明の好適実施例を実施
するための小型のレイアウトデザインを得ることができ
る。
【0043】図9は、MMUデータRAM120及び1
22、物理アドレス発生器128及び130、センスア
ンプを備えたキャッシュタグRAM164及び166、
並びに比較器M00、M01、M10及びM11を、集
積回路上にいかに配置するかを示すレイアウト図であ
る。キャッシュタグRAMセル、それらのセンスアン
プ、及び比較器は、図8にあるように配置されている。
それらの下には、物理アドレス発生器の動作を行なう1
列の回路がある。物理アドレス発生器の下には、MMU
データRAM及びそれらのセンスアンプがある。
【0044】以上二線セットアソシエイティブMMU及
びキャッシュを用いた実施例について説明してきたが、
本発明は、同様に4線、8線、またはその他のタイプの
セットアソシエイティブキャッシュにも応用できるもの
である。ここでは特定のダイナミックロジックワイヤー
ドORから成る比較器について説明したが、本発明は、
当業者には公知の多くの比較器であればどれでも用いる
ことができる。本発明は、4Kバイトのページサイズを
用いた、32ビット仮想−物理アドレスの場合を例示し
たが、これは他のサイズのページにも容易に一般化でき
るものである。
【0045】本発明を上述の具体的実施例を参照しなが
ら説明したが、この記載は限定の意味で解釈されること
を意図したものではない。上述の説明を参照すれば、記
載した実施例の様々な変更変容、並びに本発明の別の実
施例が、当業者には明白となろう。例えば、キャッシュ
及びMMUの実際上の詳細の大部分を簡素化のために省
略した。これらには、制御ロジック、有効ビットの記憶
及び処理、そして不一致が生じた時に主メモリからこれ
らのユニットに補充するためのデータパス及び制御ロジ
ック等が含まれる。したがって、添付の特許請求の範囲
は、本発明の真の範囲に属するこのような変化変容も包
含することを企図したものである。
【0046】以上の説明に関して更に以下の項を開示す
る。 (1)高速仮想−物理アドレス変換及びキャッシュタグ
照合を行なうための回路であって、第1の所定数N個の
物理アドレス候補と、N個のアドレス候補ヒット信号と
を生成する、N線セットアソシエイティブメモリ管理ユ
ニットと、第2の所定数M個のアドレスタグを生成す
る、M線セットアソシエイティブキャッシュと、前記N
個の物理アドレス候補を前記M個のアドレスタグと比較
して、NxMの配列のヒット信号を発生する、NxM配
列の比較回路と、対応するアドレス候補ヒット信号と、
前記物理アドレス候補の前記アドレスタグとの一致とを
示すために、前記M個のヒット信号を出力する回路と、
から成ることを特徴とする回路。
【0047】(2)第1項の回路において、前記セット
アソシエイティブメモリ管理ユニットは、2つの物理ア
ドレス候補を生成するための2線セットアソシエイティ
ブメモリ管理ユニットから成り、更に、前記第1の所定
数は2に等しいことを特徴とする回路。
【0048】(3)第2項の回路において、前記セット
アソシエイティブキャッシュは、2つのアドレスタグを
生成するための2線セットアソシエイティブキャッシュ
から成り、更に、前記第2の所定数は2に等しいことを
特徴とする回路。
【0049】(4)第1項の回路において、前記セット
アソシエイティブキャッシュは、2つのアドレスタグを
生成するための2線セットアソシエイティブキャッシュ
から成り、更に、前記第2の所定数は2に等しいことを
特徴とする回路。
【0050】(5)第1項の回路において、前記比較回
路は、複数のダイナミック−ワイヤードOR比較回路か
ら成ること特徴とする回路。
【0051】(6)第1項の回路において、前記メモリ
管理ユニットは、複数のアドレスタグ比較器を備えてお
り、前記アドレスタグ比較器は、更にダイナミックワイ
ヤードOR比較回路から成ること特徴とする回路。
【0052】(7)第1項の回路であって、更に、前記
物理アドレス候補信号を前記比較回路に入力するデュア
ル−レール論理回路を備えていることを特徴とする回
路。
【0053】(8)第1項の回路において、前記比較回
路は1つのキャッシュタグランダムアクセスメモリと関
連することを特徴とする回路。
【0054】(9)高速仮想−物理アドレス変換及びキ
ャッシュタグ照合を行なうための方法であって、第1の
所定数N個の物理アドレス候補を生成するステップと、
第2の所定数M個のアドレスタグを生成するステップ
と、前記N個の物理アドレス候補を前記M個のアドレス
タグと比較して、N及びMの配列のキャッシュヒット信
号を発生するステップと、N個のアドレス候補ヒット信
号を発生するステップと、前記比較及び前記アドレス候
補ヒット信号とに応答して、M個の前記キャッシュヒッ
ト信号を出力するステップと、から成ることを特徴とす
る方法。
【0055】(10)第9項の方法であって、更に、2線
セットアソシエイティブ変換ルックアサイドバッファを
用いて、2つの物理アドレス候補を生成するステップを
含むことを特徴とする方法。
【0056】(11)第10項の方法であって、更に、2
線セットアソシエイティブキャッシュを用いて、2つの
アドレスタグを生成するステップを含むことを特徴とす
る方法。
【0057】(12)第9項の方法であって、更に、2線
セットアソシエイティブキャッシュを用いて2つのアド
レスタグを生成するステップを含むことを特徴とする方
法。
【0058】(13)第9項の方法であって、更に、ダイ
ナミック−ワイヤードOR比較回路を用いて、前記物理
アドレス候補を前記アドレスタグと比較するステップを
含むことを特徴とする方法。
【0059】(14)第9項の方法であって、更に、アソ
シエイティブメモリ管理ユニット内で仮想アドレスタグ
を比較するステップを含み、前記アソシエイティブメモ
リ管理ユニットはダイナミック−ワイヤードOR比較回
路を備えていることを特徴とする方法。
【0060】(15)第9項の方法であって、更に、デュ
アル−レールロジックを用いて、前記物理アドレス候補
信号を前記比較回路に送るステップを含むことを特徴と
する方法。
【0061】(16)第9項の方法であって、更に、前記
比較回路を1つのキャッシュタグアクセスメモリと関連
させるステップを含むことを特徴とする方法。
【0062】(17)高速仮想−物理アドレス変換及びキ
ャッシュタグ照合を行なうための回路(10)は、第1
の所定数N個の物理アドレス候補信号(132、13
4)、及びN個のアドレス候補ヒット信号(150、1
52)を生成する、セットアソシエイティブメモリ管理
ユニット(112)を備えている。セットアソシエイテ
ィブキャッシュ(114)は、第2の所定数M個のアド
レスタグ(168及び170)を生成し、NxMの配列
(M00、M01、M10、M11)の比較回路が物理
アドレス候補(132、134)を、N個のアドレスヒ
ット信号によってゲートするアドレスタグ(168、1
70)と比較して、キャッシュヒット信号を発生する。
【図面の簡単な説明】
【図1】従来技術によるメモリ管理ユニット及びキャッ
シュの概略図。
【図2】従来技術にて発見されたそれの典型的な二線セ
ットアソシエイティブメモリ管理ユニットを示す図。
【図3】本発明の好適実施例の簡素化した概略図。
【図4】好適実施例と共に用いることができる照合回路
を示す図。
【図5】好適実施例による、ダイナミックワイヤードO
R比較回路の概略図。
【図6】図5のタイミング図を含む図。
【図7】本実施例において、デュアル−レールロジック
を実現するための、メモリ管理ユニット(MMU)を備
えた基本キャッシュ−タグ比較器回路を示すブロック
図。
【図8】好適実施例を実施するための構成例を示す図。
【図9】好適実施例を実施するための構成例を示す図。
【符号の説明】
112 セットアソシエイティブメモリ管理ユニット
(MMU) 114 キャッシュ 116 TLBデータRAM 118 TLBタグRAM 128、130 物理アドレス発生器 132、134 物理アドレス候補信号 144、146 比較器 154、156、1、160 ANDゲート 150、152 アドレス候補ヒット信号 168、170 アドレスタグ 172、174 ORゲート M00、M01、M10、M11 比較回路

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 高速仮想−物理アドレス変換及びキャッ
    シュタグ照合を行なうための回路であって、 第1の所定数N個の物理アドレス候補と、N個のアドレ
    ス候補ヒット信号とを生成する、N線セットアソシエイ
    ティブメモリ管理ユニットと、 第2の所定数M個のアドレスタグを生成する、M線セッ
    トアソシエイティブキャッシュと、 前記N個の物理アドレス候補を前記M個のアドレスタグ
    と比較して、NxMの配列のヒット信号を発生する、N
    xM配列の比較回路と、 対応するアドレス候補ヒット信号と、前記物理アドレス
    候補の前記アドレスタグとの一致とを示すために、前記
    M個のヒット信号を出力する回路と、から成ることを特
    徴とする回路。
  2. 【請求項2】 高速仮想−物理アドレス変換及びキャッ
    シュタグ照合を行なうための方法であって、 第1の所定数N個の物理アドレス候補を生成するステッ
    プと、 第2の所定数M個のアドレスタグを生成するステップ
    と、 前記N個の物理アドレス候補を前記M個のアドレスタグ
    と比較して、N及びMの配列のキャッシュヒット信号を
    発生するステップと、 N個のアドレス候補ヒット信号を発生するステップと、 前記比較及び前記アドレス候補ヒット信号とに応答し
    て、M個の前記キャッシュヒット信号を出力するステッ
    プと、から成ることを特徴とする方法。
JP4349152A 1991-12-27 1992-12-28 高速仮想−物理アドレス変換及びキャッシュタグ照合方法及びシステム Pending JPH06222996A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/815,292 US5386527A (en) 1991-12-27 1991-12-27 Method and system for high-speed virtual-to-physical address translation and cache tag matching
US815292 1991-12-27

Publications (1)

Publication Number Publication Date
JPH06222996A true JPH06222996A (ja) 1994-08-12

Family

ID=25217377

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4349152A Pending JPH06222996A (ja) 1991-12-27 1992-12-28 高速仮想−物理アドレス変換及びキャッシュタグ照合方法及びシステム

Country Status (4)

Country Link
US (1) US5386527A (ja)
EP (1) EP0549321A3 (ja)
JP (1) JPH06222996A (ja)
TW (1) TW417049B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2008155848A1 (ja) * 2007-06-20 2010-08-26 富士通株式会社 計算機、tlb制御方法およびtlb制御プログラム

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1995004960A2 (en) * 1993-08-02 1995-02-16 Persistence Software, Inc. Method and apparatus for managing relational data in an object cache
US5732409A (en) * 1994-03-21 1998-03-24 Legend Research Limited Caching disk controller implemented by hardwired logic
US5751990A (en) * 1994-04-26 1998-05-12 International Business Machines Corporation Abridged virtual address cache directory
DE4429905C1 (de) * 1994-08-23 1995-09-07 Siemens Ag Verfahren zum Betrieb eines virtuellen Speichers
US5630087A (en) * 1994-11-02 1997-05-13 Sun Microsystems, Inc. Apparatus and method for efficient sharing of virtual memory translations
US5680566A (en) * 1995-03-03 1997-10-21 Hal Computer Systems, Inc. Lookaside buffer for inputting multiple address translations in a computer system
JP3802061B2 (ja) * 1995-03-03 2006-07-26 富士通株式会社 アドレス変換速度アップのための並列アクセスマイクロ−tlb
US5787267A (en) * 1995-06-07 1998-07-28 Monolithic System Technology, Inc. Caching method and circuit for a memory system with circuit module architecture
US5897651A (en) * 1995-11-13 1999-04-27 International Business Machines Corporation Information handling system including a direct access set associative cache and method for accessing same
US5893152A (en) * 1996-03-08 1999-04-06 Sun Microsystems, Inc. Method and apparatus that detects and tolerates inconsistencies between the cache and main memory, and the translation lookaside buffer and the virtual memory page table in main memory
US5956752A (en) * 1996-12-16 1999-09-21 Intel Corporation Method and apparatus for accessing a cache using index prediction
US5995420A (en) * 1997-08-20 1999-11-30 Advanced Micro Devices, Inc. Integrated XNOR flip-flop for cache tag comparison
US6516386B1 (en) * 1997-12-31 2003-02-04 Intel Corporation Method and apparatus for indexing a cache
US6226731B1 (en) * 1998-09-08 2001-05-01 International Business Machines Corporation Method and system for accessing a cache memory within a data-processing system utilizing a pre-calculated comparison array
US7886108B2 (en) * 2000-01-06 2011-02-08 Super Talent Electronics, Inc. Methods and systems of managing memory addresses in a large capacity multi-level cell (MLC) based flash memory device
US6584546B2 (en) * 2001-01-16 2003-06-24 Gautam Nag Kavipurapu Highly efficient design of storage array for use in first and second cache spaces and memory subsystems
US20040199723A1 (en) * 2003-04-03 2004-10-07 Shelor Charles F. Low-power cache and method for operating same
US7243208B2 (en) * 2003-08-13 2007-07-10 Renesas Technology Corp. Data processor and IP module for data processor
US7281114B2 (en) * 2003-12-26 2007-10-09 Tdk Corporation Memory controller, flash memory system, and method of controlling operation for data exchange between host system and flash memory
US8015348B2 (en) * 2004-06-30 2011-09-06 Super Talent Electronics, Inc. Memory address management systems in a large capacity multi-level cell (MLC) based flash memory device
US7594079B2 (en) * 2006-09-29 2009-09-22 Mips Technologies, Inc. Data cache virtual hint way prediction, and applications thereof
US9946547B2 (en) 2006-09-29 2018-04-17 Arm Finance Overseas Limited Load/store unit for a processor, and applications thereof
US8166239B2 (en) * 2007-06-21 2012-04-24 International Business Machines Corporation Translation lookaside buffer and related method and program product utilized for virtual addresses
US8116083B2 (en) * 2007-12-04 2012-02-14 Super Talent Electronics, Inc. Lipstick-type USB device with tubular housing
US9239799B2 (en) 2008-06-26 2016-01-19 Qualcomm Incorporated Memory management unit directed access to system interfaces
JP5650441B2 (ja) * 2010-06-07 2015-01-07 キヤノン株式会社 演算装置、キャッシュ装置、その制御方法及びコンピュータプログラム
US10474369B2 (en) * 2012-02-06 2019-11-12 Vmware, Inc. Mapping guest pages to disk blocks to improve virtual machine management processes
CN105814548B (zh) * 2014-07-14 2019-02-12 上海兆芯集成电路有限公司 具有使用不同编索引方案的主高速缓存器和溢出高速缓存器的高速缓存器系统
US20160259728A1 (en) * 2014-10-08 2016-09-08 Via Alliance Semiconductor Co., Ltd. Cache system with a primary cache and an overflow fifo cache

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4899275A (en) * 1985-02-22 1990-02-06 Intergraph Corporation Cache-MMU system
JPH0661066B2 (ja) * 1986-10-20 1994-08-10 株式会社日立製作所 記憶制御装置
JPH01154261A (ja) * 1987-12-11 1989-06-16 Toshiba Corp 情報処理装置
US4907189A (en) * 1988-08-08 1990-03-06 Motorola, Inc. Cache tag comparator with read mode and compare mode
US4928225A (en) * 1988-08-25 1990-05-22 Edgcore Technology, Inc. Coherent cache structures and methods

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2008155848A1 (ja) * 2007-06-20 2010-08-26 富士通株式会社 計算機、tlb制御方法およびtlb制御プログラム
US8190853B2 (en) 2007-06-20 2012-05-29 Fujitsu Limited Calculator and TLB control method
JP4998554B2 (ja) * 2007-06-20 2012-08-15 富士通株式会社 演算処理装置、情報処理装置及び演算処理装置の制御方法

Also Published As

Publication number Publication date
EP0549321A2 (en) 1993-06-30
EP0549321A3 (en) 1993-09-08
TW417049B (en) 2001-01-01
US5386527A (en) 1995-01-31

Similar Documents

Publication Publication Date Title
JPH06222996A (ja) 高速仮想−物理アドレス変換及びキャッシュタグ照合方法及びシステム
US6014732A (en) Cache memory with reduced access time
KR920005280B1 (ko) 고속 캐쉬 시스템
US6625715B1 (en) System and method for translation buffer accommodating multiple page sizes
US6772316B2 (en) Method and apparatus for updating and invalidating store data
US4332010A (en) Cache synonym detection and handling mechanism
US5226133A (en) Two-level translation look-aside buffer using partial addresses for enhanced speed
US6874077B2 (en) Parallel distributed function translation lookaside buffer
US6356990B1 (en) Set-associative cache memory having a built-in set prediction array
US6493812B1 (en) Apparatus and method for virtual address aliasing and multiple page size support in a computer system having a prevalidated cache
US6138225A (en) Address translation system having first and second translation look aside buffers
US5604879A (en) Single array address translator with segment and page invalidate ability and method of operation
US5717885A (en) TLB organization with variable page size mapping and victim-caching
JP2603476B2 (ja) データ取り出し方法
JPH0619793A (ja) キャッシュ・アクセスのための仮想アドレス変換予測の履歴テーブル
US6446187B1 (en) Virtual address bypassing using local page mask
US6385696B1 (en) Embedded cache with way size bigger than page size
JP3210637B2 (ja) データ処理システム内のキャッシュ・メモリにアクセスするための方法およびシステム
KR100237744B1 (ko) 가상 메모리 시스템 및 그 프로세싱 방법
JPS623354A (ja) キヤツシユメモリ・アクセス方式
US6226731B1 (en) Method and system for accessing a cache memory within a data-processing system utilizing a pre-calculated comparison array
US6581139B1 (en) Set-associative cache memory having asymmetric latency among sets
KR0184475B1 (ko) 캐쉬메모리 액세스회로
JPH05342101A (ja) 階層キャッシュ・メモリ
US6460118B1 (en) Set-associative cache memory having incremental access latencies among sets