JP6317048B1 - バースト変換ルックアサイドバッファ - Google Patents
バースト変換ルックアサイドバッファ Download PDFInfo
- Publication number
- JP6317048B1 JP6317048B1 JP2017552466A JP2017552466A JP6317048B1 JP 6317048 B1 JP6317048 B1 JP 6317048B1 JP 2017552466 A JP2017552466 A JP 2017552466A JP 2017552466 A JP2017552466 A JP 2017552466A JP 6317048 B1 JP6317048 B1 JP 6317048B1
- Authority
- JP
- Japan
- Prior art keywords
- burst
- tlb
- entry
- burst entry
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0864—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using pseudo-associative means, e.g. set-associative or hashing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0893—Caches characterised by their organisation or structure
- G06F12/0895—Caches characterised by their organisation or structure of parts of caches, e.g. directory or tag array
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
- G06F2212/1021—Hit rate improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1041—Resource optimization
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1041—Resource optimization
- G06F2212/1044—Space efficiency improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1048—Scalability
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/50—Control mechanisms for virtual memory, cache or TLB
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/65—Details of virtual memory and virtual address translation
- G06F2212/651—Multi-level translation tables
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/65—Details of virtual memory and virtual address translation
- G06F2212/652—Page size control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/65—Details of virtual memory and virtual address translation
- G06F2212/654—Look-ahead translation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/68—Details of translation look-aside buffer [TLB]
- G06F2212/683—Invalidation
Abstract
Description
本特許出願は、本願の譲受人に譲渡され、参照により本明細書に明確に組み込まれる、2015年4月15日に出願されたBURST TRANSLATION LOOK-ASIDE BUFFERと題する仮出願第62/148,121号の優先権を主張するものである。
これは、たとえば、図8に示された仮想アドレス空間806の16KB範囲に対応することができる。914で破棄される「関心を持たれているブロック」の外部の変換情報は、図8を参照すると、それぞれ4KBの4つのIPAブロック(図8に示されているが別々に番号を付けられてはいない)内ではなく、それぞれ4KBの4つのPAブロック(図8に示されているが別々に番号を付けられてはいない)内ではない、IPAアドレスへのステージ1マッピング変換情報に対応することができる。
max(有効ページサイズ, 2Q×バーストTLBグラニュールサイズ) (式1)
にセットする。ただし、Q=Mの2を底とする対数。
104 従来のTLBエントリ
104-0 従来のTLBエントリ
104-1 従来のTLBエントリ
104-2 従来のTLBエントリ
104-3 従来のTLBエントリ
200 配置
202 バーストエントリTLB
204 バーストTLBエントリ
204-1 バーストTLBエントリ
204-2 バーストTLBエントリ
204-s バーストTLBエントリ
204-S バーストTLBエントリ
206 バーストTLBタグ
208 変換データユニット
208-1 第1の変換データユニット
208-2 第2の変換データユニット
208-3 第3の変換データユニット
208-4 第4の変換データユニット
300 VA-to-PAマッピング
400 配置
500 配置
502 バーストエントリTLB
504 バーストTLBエントリ
504-1 バーストTLBエントリ
504-2 バーストTLBエントリ
504-t バーストTLBエントリ
504-T バーストTLBエントリ
506 バーストTLBタグ
508 変換データユニット
508-1 第1の変換データユニット
508-2 第2の変換データユニット
508-m 第mの変換データユニット
508-M 第Mの変換データユニット
600 バーストTLB
602 バーストTLBデータセットバッファ
604 バーストTLBデータセット
604-1 第1のバーストTLBデータセット
604-2 第2のバーストTLBデータセット
604-S 第SのバーストTLBデータセット
605 変換データユニット
605-1 第1の変換データユニット
605-2 第2の変換データユニット
605-3 第3の変換データユニット
605-4 第4の変換データユニット
606 バーストTLBタグバッファ
608 バーストTLBタグ
608-1 第1のバーストTLBタグ
608-2 第2のバーストTLBタグ
608-S 第SのバーストTLBタグ
610 バーストTLBエントリ選択論理
612 アドレスデコーダ
614 列選択/行デコーダ
616 一致論理
700 流れ図
800 高水準マッピング図
802 第1のステージ変換
804 第2のステージ変換
806 VA範囲
900 流れ図
906 ステージ1マッピング情報のページ
908 ステージ2マッピング情報のページ
1000 流れ図
1006 ステージ1ページ
1008 ステージ2ページ
1016 バーストTLBエントリ
1100 ワイヤレスデバイス
1102 プロセッサ
1104 CPU
1106 プロセッサメモリ
1107 メモリ管理ユニット(MMU)
1110 外部メモリ
1122 システムインパッケージまたはシステムオンチップデバイス
1126 ディスプレイコントローラ
1128 ディスプレイ
1130 入力デバイス
1134 コーダ/デコーダ(コーデック)
1136 スピーカ
1138 マイクロホン
1140 ワイヤレスコントローラ
1142 ワイヤレスアンテナ
1144 電源
Claims (25)
- 仮想アドレスを変換するための方法であって、
被比較数を受信するステップであって、前記被比較数は、仮想アドレスを含む、受信するステップと、
バーストエントリタグへの前記被比較数の一致を判定する際に、
候補の一致する変換データユニットを選択するステップであって、前記選択は、複数の変換データユニットからであり、前記複数の変換データユニットは、前記バーストエントリタグに関連し、前記複数の変換データユニットは、対応する複数のデータ有効性フラグに関連し、前記複数のデータ有効性フラグの各フラグは、前記複数の変換データユニットのそれぞれのユニットの有効性を示し、前記選択は、前記仮想アドレスの少なくとも1つのビットに少なくとも部分的に基づく、選択するステップと、
前記候補の一致する変換データユニットの内容を前記被比較数の少なくとも一部と比較し、前記比較の結果が一致を示す時に、ヒットを生成するステップと
を含み、
前記バーストエントリタグは、前記複数のデータ有効性フラグの論理和に少なくとも部分的に基づくバーストエントリ有効性フラグを含み、前記被比較数が前記バーストエントリタグと一致すると判定することは、前記バーストエントリ有効性フラグに少なくとも部分的に基づく、方法。 - バーストエントリを記憶するステップをさらに含み、前記バーストエントリは、前記バーストエントリタグと前記複数の変換データユニットとを含む、請求項1に記載の方法。
- 前記バーストエントリタグは、バーストエントリアドレス範囲を含み、前記バーストエントリタグへの前記被比較数の前記一致は、前記仮想アドレスが前記バーストエントリアドレス範囲内のアドレスであることに少なくとも部分的に基づく、請求項1に記載の方法。
- 前記方法は、
無効化被比較数を受信するステップと、
前記バーストエントリタグへの前記無効化被比較数の一致に少なくとも部分的に基づいて、前記バーストエントリタグに対応するバーストエントリを無効化するステップと
をさらに含む、請求項3に記載の方法。 - 前記バーストエントリアドレス範囲は、バーストエントリプライマリアドレス範囲であり、前記バーストエントリタグは、バーストエントリセカンダリアドレス範囲をさらに含み、前記方法は、
無効化被比較数を受信するステップと、
前記バーストエントリセカンダリアドレス範囲への前記無効化被比較数の一致に少なくとも部分的に基づいて、前記バーストエントリセカンダリアドレス範囲に対応する前記変換データユニットを無効化するステップと
をさらに含む、請求項3に記載の方法。 - バーストエントリを記憶するステップをさらに含み、前記バーストエントリは、前記バーストエントリタグと前記複数の変換データユニットとを含み、前記バーストエントリ有効性フラグは、バーストエントリ有効フラグとバーストエントリ無効フラグとの間で切替可能である、請求項1に記載の方法。
- 前記バーストエントリタグは、バーストエントリアドレス範囲を含み、前記バーストエントリタグへの前記被比較数の前記一致は、前記仮想アドレスが前記バーストエントリアドレス範囲内のアドレスであることに少なくとも部分的にさらに基づく、請求項6に記載の方法。
- 前記方法は、
無効化被比較数を受信するステップと、
前記バーストエントリタグへの前記無効化被比較数の一致に少なくとも部分的に基づいて、前記バーストエントリ有効性フラグを前記バーストエントリ無効フラグに切り替えるステップと
をさらに含む、請求項7に記載の方法。 - 前記変換データユニットの各々は、変換データ有効性フラグを含み、前記変換データ有効性フラグは、変換データ有効フラグと変換データ無効フラグとの間で切替可能であり、一致を示す前記比較の結果は、前記候補の一致する変換データユニットの前記変換データ有効性フラグが前記変換データ有効フラグであることを要求する、請求項7に記載の方法。
- 前記バーストエントリアドレス範囲は、バーストエントリプライマリアドレス範囲であり、前記バーストエントリタグは、バーストエントリセカンダリアドレス範囲をさらに含み、前記方法は、
無効化被比較数を受信するステップと、
前記バーストエントリセカンダリアドレス範囲への前記無効化被比較数の一致に少なくとも部分的に基づいて、前記候補の一致する変換データユニットの前記変換データ有効性フラグを前記変換データ無効フラグに切り替えるステップと
をさらに含む、請求項9に記載の方法。 - バーストエントリは、複数のバーストエントリの中にあり、前記バーストエントリの各々は、対応するバーストエントリタグと対応する複数の変換データユニットとを含み、
各バーストエントリの前記複数の変換データユニットは、M個の変換データユニットを含み、Mは整数であり、
前記被比較数が前記バーストエントリタグと一致するかどうかを判定することは、前記被比較数が前記バーストエントリのうちの少なくとも1つの前記対応するバーストエントリタグと一致するかどうかを判定することを含む
請求項1に記載の方法。 - 前記M個の変換データユニットの各々は、バーストTLBグラニュールサイズに対応するアドレスのスパンのためのマッピング情報を保持し、前記バーストTLBグラニュールサイズは、前記整数Mと前記バーストエントリタグに対応するアドレス範囲とに基づき、
前記被比較数が前記バーストエントリタグと一致するかどうかを判定することは、前記被比較数が前記バーストエントリのうちの少なくとも1つの前記対応するバーストエントリタグと一致するかどうかを判定することを含み、
前記方法は、
前記バーストエントリタグのいずれもが前記被比較数と一致しないと判定する時に、ミスを検出するステップと、
前記ミスを検出する時に、更新されたバーストエントリを生成するステップであって、前記更新されたバーストエントリは、前記被比較数を含むアドレス範囲のアドレス変換を含み、
ステージ1マッピング情報のページを受信するステップであって、ステージ1マッピング情報の前記ページは、ステージ1ページサイズを有する、受信するステップと、
ステージ2マッピング情報のページを受信するステップであって、ステージ2マッピング情報の前記ページは、ステージ2ページサイズを有する、受信するステップと、
有効ページサイズを判定するステップであって、前記有効ページサイズは、前記ステージ1ページサイズおよび前記ステージ2ページサイズからの最小値である、判定するステップと、
変換サイズを
変換サイズ=max(有効ページサイズ, 2Q×バーストTLBグラニュールサイズ)
ただし、Q=Mの2を底とする対数
としてセットするステップと、
前記変換サイズと、ステージ1マッピング情報の前記ページおよびステージ2マッピング情報の前記ページからのマッピング情報とに基づいて前記更新されたバーストエントリを生成するステップと
を含む、生成するステップと、
前記複数のバーストエントリのうちの1つとして前記更新されたバーストエントリを記憶するステップと
をさらに含む、請求項11に記載の方法。 - 有効ページサイズの判定に関連して、
無効化サイズを
無効化サイズ=max(無効化ページサイズ, 2Q×バーストTLBグラニュールサイズ)
としてセットするステップ
をさらに含み、前記無効化ページサイズは、前記ステージ1ページサイズである
請求項12に記載の方法。 - 前記更新されたバーストエントリを記憶するステップは、前記有効ページサイズとMかける前記バーストTLBグラニュールサイズとの相対サイズに少なくとも部分的に基づく、請求項13に記載の方法。
- 前記有効ページサイズが2Qかける前記バーストTLBグラニュールサイズより大きい時に、前記更新されたバーストエントリを記憶するステップは、M個すべての前記変換データユニット内に同一の変換データをセットするステップを含む、請求項14に記載の方法。
- 前記更新されたバーストエントリを生成するステップは、関心を持たれているブロックの外部の、ステージ1マッピング情報の前記ページからのマッピング情報、ステージ2マッピング情報の前記ページからのマッピング情報、またはその両方を破棄するステップを含み、前記更新されたバーストエントリは、関心を持たれている前記ブロック内の、ステージ1マッピング情報の前記ページからのマッピング情報、ステージ2マッピング情報の前記ページからのマッピング情報、またはその両方である、請求項12に記載の方法。
- 前記仮想アドレスは、1つまたは複数の選択ビットであり、前記候補の一致する変換データユニットを選択することは、前記選択ビットの状態に基づいて、前記複数の変換データユニットの間で選択する、請求項1に記載の方法。
- 変換ルックアサイドバッファ(TLB)であって、
被比較数を受信し、これに応答して、前記被比較数とバーストエントリタグとが一致であるかどうかを判定するように構成されたバーストTLBエントリ選択論理手段であって、前記被比較数は、仮想アドレスを含む、バーストTLBエントリ選択論理手段と、
前記バーストTLBエントリ選択論理手段が、前記被比較数と前記バーストエントリタグとが一致であると判定することに応答して、候補の一致する変換データユニットを選択するように構成された列セレクタ論理手段であって、前記候補の一致する変換データユニットは、前記バーストエントリタグに関連する複数の変換データユニットの中にあり、前記仮想アドレスの少なくとも1つのビットに少なくとも部分的に基づいて前記候補の一致する変換データユニットを選択するように構成され、前記複数の変換データユニットは、対応する複数のデータ有効性フラグに関連し、前記複数のデータ有効性フラグの各フラグは、前記複数の変換データユニットのそれぞれのユニットの有効性を示すように構成される、列セレクタ論理手段と、
一致論理手段であって、前記一致論理手段は、前記候補の一致する変換データユニットの内容を前記被比較数の少なくとも一部と比較し、前記比較の結果が一致を示す時に、ヒットを生成するように構成される、一致論理手段と
を含み、
前記バーストエントリタグは、前記複数のデータ有効性フラグの論理和に少なくとも部分的に基づいて生成されたバーストエントリ有効性フラグを含み、前記バーストTLBエントリ選択論理手段は、前記バーストエントリ有効性フラグに少なくとも部分的に基づいて前記被比較数と前記バーストエントリタグとが一致すると判定する、TLB。 - 前記仮想アドレスは、1つまたは複数の選択ビットであり、前記列セレクタ論理手段は、前記選択ビットの状態に基づいて、前記複数の変換データユニットの間で前記候補の一致する変換データユニットを選択するように構成される、請求項18に記載のTLB。
- 前記バーストエントリタグは、バーストエントリアドレス範囲を含み、前記バーストTLBエントリ選択論理手段は、前記仮想アドレスが前記バーストエントリアドレス範囲内のアドレスであることに少なくとも部分的に基づいて、前記被比較数と前記バーストエントリタグとが一致であると判定するようにさらに構成される、請求項18に記載のTLB。
- 前記バーストエントリアドレス範囲は、バーストエントリプライマリアドレス範囲であり、前記バーストエントリタグは、バーストエントリセカンダリアドレス範囲をさらに含み、前記バーストTLBエントリ選択論理手段は、
無効化被比較数を受信し、
前記バーストエントリセカンダリアドレス範囲との前記無効化被比較数の一致に少なくとも部分的に基づいて、前記バーストエントリタグを無効化する
ようにさらに構成される、請求項20に記載のTLB。 - 前記バーストエントリ有効性フラグは、バーストエントリ有効フラグとバーストエントリ無効フラグとの間で切替可能である、請求項20に記載のTLB。
- プロセッサによって読み取られ、実行される時に、前記プロセッサに、
被比較数を受信させるコードであって、前記被比較数は、仮想アドレスを含む、受信させるコードと、
前記被比較数とバーストエントリタグとが一致であるかどうかを判定させ、前記被比較数とバーストエントリタグとが一致であると判定する時に、
候補の一致する変換データユニットを選択させ、前記候補の一致する変換データユニットは、前記バーストエントリタグに関連する複数の変換データユニットの中の変換データユニットであり、前記複数の変換データユニットは、対応する複数のデータ有効性フラグに関連し、前記複数のデータ有効性フラグの各フラグは、前記複数の変換データユニットのそれぞれのユニットの有効性を示し、前記仮想アドレスの少なくとも1つのビットに少なくとも部分的に基づいて、前記候補の一致する変換データユニットを選択させ、
前記候補の一致する変換データユニットの内容を前記被比較数の少なくとも一部と比較させ、前記比較の結果が一致を示す時に、ヒットを生成させる
コードと
を含み、
前記バーストエントリタグは、前記複数のデータ有効性フラグの論理和に少なくとも部分的に基づくバーストエントリ有効性フラグを含み、前記被比較数が前記バーストエントリタグと一致すると判定させるコードは、前記バーストエントリ有効性フラグに少なくとも部分的に基づく、非一時的コンピュータ可読媒体。 - 被比較数を受信するための手段であって、前記被比較数は、仮想アドレスを含む、受信するための手段と、
前記被比較数とバーストエントリタグとが一致であるかどうかを判定し、前記被比較数と前記バーストエントリタグとが一致であると判定する時に、候補の一致する変換データユニットを選択するための手段と、
前記候補の一致する変換データユニットの内容を前記被比較数の少なくとも一部と比較し、前記比較の結果が一致を示す時に、ヒットを生成するための手段と
を含み、前記候補の一致する変換データユニットは、複数の変換データユニットの中の変換データユニットであり、前記複数の変換データユニットは、対応する複数のデータ有効性フラグに関連し、前記複数のデータ有効性フラグの各フラグは、前記複数の変換データユニットのそれぞれのユニットの有効性を示し、
前記候補の一致する変換データユニットを選択することは、前記仮想アドレスの少なくとも1つのビットに少なくとも部分的に基づき、
前記バーストエントリタグは、前記複数のデータ有効性フラグの論理和に少なくとも部分的に基づくバーストエントリ有効性フラグを含み、判定するための手段は、前記バーストエントリ有効性フラグに少なくとも部分的に基づいて前記被比較数と前記バーストエントリタグとが一致すると判定する、
変換ルックアサイドバッファ(TLB)。 - 前記バーストエントリタグは、バーストエントリアドレス範囲を含み、前記被比較数とバーストエントリタグとが一致であるかどうかを判定するための前記手段は、前記判定を、前記仮想アドレスが前記バーストエントリアドレス範囲内のアドレスであることに少なくとも部分的に基づかせるように構成される、請求項24に記載のTLB。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201562148121P | 2015-04-15 | 2015-04-15 | |
US62/148,121 | 2015-04-15 | ||
US14/865,965 US9836410B2 (en) | 2015-04-15 | 2015-09-25 | Burst translation look-aside buffer |
US14/865,965 | 2015-09-25 | ||
PCT/US2016/022435 WO2016167912A1 (en) | 2015-04-15 | 2016-03-15 | Burst translation look-aside buffer |
Publications (2)
Publication Number | Publication Date |
---|---|
JP6317048B1 true JP6317048B1 (ja) | 2018-04-25 |
JP2018514861A JP2018514861A (ja) | 2018-06-07 |
Family
ID=55637479
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017552466A Active JP6317048B1 (ja) | 2015-04-15 | 2016-03-15 | バースト変換ルックアサイドバッファ |
Country Status (6)
Country | Link |
---|---|
US (1) | US9836410B2 (ja) |
EP (1) | EP3283967B1 (ja) |
JP (1) | JP6317048B1 (ja) |
KR (1) | KR101895388B1 (ja) |
CN (1) | CN107533513B (ja) |
WO (1) | WO2016167912A1 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10417140B2 (en) | 2017-02-24 | 2019-09-17 | Advanced Micro Devices, Inc. | Streaming translation lookaside buffer |
US11030117B2 (en) * | 2017-07-14 | 2021-06-08 | Advanced Micro Devices, Inc. | Protecting host memory from access by untrusted accelerators |
GB2565069B (en) * | 2017-07-31 | 2021-01-06 | Advanced Risc Mach Ltd | Address translation cache |
KR101942663B1 (ko) * | 2017-09-28 | 2019-01-25 | 한국과학기술원 | 가상 메모리 주소 변환 효율화를 위한 연속성 활용 주소 변환 방법 및 시스템 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5564052A (en) * | 1991-06-27 | 1996-10-08 | Integrated Device Technology, Inc. | Logically disconnectable virtual-to-physical address translation unit and method for such disconnection |
JP2005135396A (ja) * | 2003-10-30 | 2005-05-26 | Microsoft Corp | アドレス変換制御のためのシャドウ・ページテーブル |
JP2011526042A (ja) * | 2008-06-26 | 2011-09-29 | クゥアルコム・インコーポレイテッド | システムインターフェースへダイレクトアクセスするメモリマネージメントユニット |
WO2012015766A2 (en) * | 2010-07-28 | 2012-02-02 | Rambus Inc. | Cache memory that supports tagless addressing |
US8707011B1 (en) * | 2006-10-24 | 2014-04-22 | Nvidia Corporation | Memory access techniques utilizing a set-associative translation lookaside buffer |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4680700A (en) * | 1983-12-07 | 1987-07-14 | International Business Machines Corporation | Virtual memory address translation mechanism with combined hash address table and inverted page table |
US5491806A (en) * | 1990-06-26 | 1996-02-13 | Lsi Logic Corporation | Optimized translation lookaside buffer slice having stored mask bits |
US5574877A (en) * | 1992-09-25 | 1996-11-12 | Silicon Graphics, Inc. | TLB with two physical pages per virtual tag |
US5809563A (en) * | 1996-11-12 | 1998-09-15 | Institute For The Development Of Emerging Architectures, Llc | Method and apparatus utilizing a region based page table walk bit |
US7558939B2 (en) | 2005-03-08 | 2009-07-07 | Mips Technologies, Inc. | Three-tiered translation lookaside buffer hierarchy in a multithreading microprocessor |
US7734892B1 (en) | 2005-03-31 | 2010-06-08 | Rozas Guillermo J | Memory protection and address translation hardware support for virtual machines |
US7426626B2 (en) * | 2005-08-23 | 2008-09-16 | Qualcomm Incorporated | TLB lock indicator |
US7822926B2 (en) | 2007-04-16 | 2010-10-26 | Arm Limited | Cache memory |
JP5526626B2 (ja) | 2009-06-30 | 2014-06-18 | 富士通株式会社 | 演算処理装置およびアドレス変換方法 |
US9405700B2 (en) | 2010-11-04 | 2016-08-02 | Sonics, Inc. | Methods and apparatus for virtualization in an integrated circuit |
US9092358B2 (en) * | 2011-03-03 | 2015-07-28 | Qualcomm Incorporated | Memory management unit with pre-filling capability |
US9684601B2 (en) * | 2012-05-10 | 2017-06-20 | Arm Limited | Data processing apparatus having cache and translation lookaside buffer |
US9355040B2 (en) * | 2012-10-08 | 2016-05-31 | International Business Machines Corporation | Adjunct component to provide full virtualization using paravirtualized hypervisors |
US20140281116A1 (en) * | 2013-03-15 | 2014-09-18 | Soft Machines, Inc. | Method and Apparatus to Speed up the Load Access and Data Return Speed Path Using Early Lower Address Bits |
-
2015
- 2015-09-25 US US14/865,965 patent/US9836410B2/en not_active Expired - Fee Related
-
2016
- 2016-03-15 JP JP2017552466A patent/JP6317048B1/ja active Active
- 2016-03-15 CN CN201680019902.7A patent/CN107533513B/zh active Active
- 2016-03-15 EP EP16712153.2A patent/EP3283967B1/en active Active
- 2016-03-15 KR KR1020177029607A patent/KR101895388B1/ko active IP Right Grant
- 2016-03-15 WO PCT/US2016/022435 patent/WO2016167912A1/en active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5564052A (en) * | 1991-06-27 | 1996-10-08 | Integrated Device Technology, Inc. | Logically disconnectable virtual-to-physical address translation unit and method for such disconnection |
JP2005135396A (ja) * | 2003-10-30 | 2005-05-26 | Microsoft Corp | アドレス変換制御のためのシャドウ・ページテーブル |
US8707011B1 (en) * | 2006-10-24 | 2014-04-22 | Nvidia Corporation | Memory access techniques utilizing a set-associative translation lookaside buffer |
JP2011526042A (ja) * | 2008-06-26 | 2011-09-29 | クゥアルコム・インコーポレイテッド | システムインターフェースへダイレクトアクセスするメモリマネージメントユニット |
WO2012015766A2 (en) * | 2010-07-28 | 2012-02-02 | Rambus Inc. | Cache memory that supports tagless addressing |
Also Published As
Publication number | Publication date |
---|---|
US9836410B2 (en) | 2017-12-05 |
US20160306746A1 (en) | 2016-10-20 |
CN107533513B (zh) | 2021-06-04 |
EP3283967B1 (en) | 2020-07-15 |
JP2018514861A (ja) | 2018-06-07 |
CN107533513A (zh) | 2018-01-02 |
KR20170137107A (ko) | 2017-12-12 |
WO2016167912A1 (en) | 2016-10-20 |
EP3283967A1 (en) | 2018-02-21 |
KR101895388B1 (ko) | 2018-09-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10372618B2 (en) | Apparatus and method for maintaining address translation data within an address translation cache | |
US8082416B2 (en) | Systems and methods for utilizing an extended translation look-aside buffer having a hybrid memory structure | |
US10191853B2 (en) | Apparatus and method for maintaining address translation data within an address translation cache | |
US20060161758A1 (en) | Multiple page size address translation incorporating page size prediction | |
JPH0619793A (ja) | キャッシュ・アクセスのための仮想アドレス変換予測の履歴テーブル | |
US20110145542A1 (en) | Apparatuses, Systems, and Methods for Reducing Translation Lookaside Buffer (TLB) Lookups | |
JPH11203199A (ja) | キャッシュ・メモリ | |
JP6317048B1 (ja) | バースト変換ルックアサイドバッファ | |
JP2015503805A (ja) | 物理アドレスを用いる非割当てメモリアクセス | |
US20170091117A1 (en) | Method and apparatus for cache line deduplication via data matching | |
US9996474B2 (en) | Multiple stage memory management | |
US10713168B2 (en) | Cache structure using a logical directory | |
US9208102B2 (en) | Overlap checking for a translation lookaside buffer (TLB) | |
US11836079B2 (en) | Storage management apparatus, storage management method, processor, and computer system | |
US20120173843A1 (en) | Translation look-aside buffer including hazard state | |
JP2020514859A (ja) | 変換索引バッファにおける構成可能なスキューアソシエイティビティ | |
CN114925001A (zh) | 处理器、页表预取方法、电子设备 | |
CN114637700A (zh) | 针对目标虚拟地址的地址转换方法、处理器及电子设备 | |
KR20210037216A (ko) | 이종 메모리를 이용하여 메모리 주소 변환 테이블을 관리하는 메모리 관리 유닛 및 이의 메모리 주소 관리 방법 | |
US9507729B2 (en) | Method and processor for reducing code and latency of TLB maintenance operations in a configurable processor | |
US10146698B2 (en) | Method and apparatus for power reduction in a multi-threaded mode | |
US20140006747A1 (en) | Systems and methods for processing instructions when utilizing an extended translation look-aside buffer having a hybrid memory structure |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20171219 Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20171017 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20171219 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20171219 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20180216 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20180226 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180328 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6317048 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |