JP7443344B2 - 外部メモリベースのトランスレーションルックアサイドバッファ - Google Patents
外部メモリベースのトランスレーションルックアサイドバッファ Download PDFInfo
- Publication number
- JP7443344B2 JP7443344B2 JP2021512943A JP2021512943A JP7443344B2 JP 7443344 B2 JP7443344 B2 JP 7443344B2 JP 2021512943 A JP2021512943 A JP 2021512943A JP 2021512943 A JP2021512943 A JP 2021512943A JP 7443344 B2 JP7443344 B2 JP 7443344B2
- Authority
- JP
- Japan
- Prior art keywords
- translation
- emtlb
- tlb
- mmu
- memory address
- 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
- 230000015654 memory Effects 0.000 title claims description 201
- 238000013519 translation Methods 0.000 title claims description 190
- 239000000872 buffer Substances 0.000 title claims description 14
- 238000000034 method Methods 0.000 claims description 34
- 230000004044 response Effects 0.000 claims description 22
- 238000004891 communication Methods 0.000 claims description 4
- 230000014616 translation Effects 0.000 description 123
- 238000004422 calculation algorithm Methods 0.000 description 19
- 238000006243 chemical reaction Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 7
- 230000009466 transformation Effects 0.000 description 6
- 230000008859 change Effects 0.000 description 4
- 230000001427 coherent effect Effects 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000000844 transformation Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 206010000210 abortion Diseases 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 239000012530 fluid Substances 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
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]
- G06F12/1045—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] associated with a data cache
-
- 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/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
-
- 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/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
- G06F12/126—Replacement control using replacement algorithms with special data handling, e.g. priority of data or instructions, handling errors or pinning
- G06F12/127—Replacement control using replacement algorithms with special data handling, e.g. priority of data or instructions, handling errors or pinning using additional replacement algorithms
-
- 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/1024—Latency reduction
-
- 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/15—Use in a specific computing environment
- G06F2212/151—Emulated environment, e.g. virtual machine
-
- 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
- G06F2212/507—Control mechanisms for virtual memory, cache or TLB using speculative 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/657—Virtual address space management
-
- 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]
-
- 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/681—Multi-level TLB, e.g. microTLB and main 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/68—Details of translation look-aside buffer [TLB]
- G06F2212/683—Invalidation
-
- 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/684—TLB miss handling
Description
本願は、2018年9月25日に出願された米国特許出願第16/141,603号の優先権を主張するものであり、その内容は、言及することにより本明細書に組み込まれる。
Claims (32)
- 仮想アドレス変換の方法であって、
メモリ管理ユニット(MMU)が、仮想メモリアドレスを物理メモリアドレスに変換する要求を受信することと、
前記MMUが、前記仮想メモリアドレスに基づいて、前記物理メモリアドレスへの変換について、トランスレーションルックアサイドバッファ(TLB)を検索することと、
前記変換が前記TLBで見つからず、仮想マシンのアドレス空間を識別するドメイン識別子が前記TLBで見つかることに応じて、
前記ドメイン識別子を前記TLBからフェッチすることと、
前記MMUが、前記ドメイン識別子に基づいて、前記変換について、外部メモリトランスレーションルックアサイドバッファ(EMTLB)を検索することと、
ページテーブルウォーカ(PTW)が、ページテーブルから前記変換を取得するために、ページテーブルウォークを実行することと、
前記変換が前記EMTLBで見つかることに応じて、前記ページテーブルウォークを中止して前記物理メモリアドレスを返すことと、
前記変換が前記EMTLBで見つからないことに応じて、前記ページテーブルウォークに基づいて前記物理メモリアドレスを返すことと、を含む、
方法。 - 前記EMTLBは、前記MMUの外部にあるメモリ領域を備える、
請求項1の方法。 - 前記EMTLBは、前記ページテーブルウォークと並行して前記変換が検索される、
請求項1の方法。 - 前記EMTLBの状態は、前記MMUが実装されているプロセッサとは別のメモリ領域に記憶される、
請求項1の方法。 - 前記EMTLBのエントリは、タグと、データ部分と、前記EMTLBの状態と、を含む、
請求項1の方法。 - EMTLBエントリを無効にする要求を前記EMTLBに送信することであって、前記要求は、前記EMTLBの無効化フィルタにバッファリングされる、ことと、
無効化が完了したという確認応答を受信することであって、前記確認応答は、無効にする要求が前記無効化フィルタにバッファリングされていることを示す、ことと、をさらに含む、
請求項1の方法。 - 前記変換が前記TLBで見つからず、前記変換が前記EMTLBで見つかることに応じて、前記変換を前記TLBに記憶することをさらに含む、
請求項1の方法。 - 前記変換が前記TLBで見つからず、前記TLBが満杯であることに応じて、
前記TLBから変換エントリをエビクトすることと、
エビクトされた変換エントリを前記EMTLBに書き込むことと、をさらに含む、
請求項1の方法。 - 前記変換が前記TLB及び前記EMTLBで見つからないことに応じて、
前記ページテーブルウォークに基づいて、前記TLB及び前記EMTLBの両方に前記変換を書き込むことをさらに含む、
請求項1の方法。 - 前記MMUは、
前記仮想メモリアドレスから中間仮想メモリアドレスへの変換を検索することと、
前記中間仮想メモリアドレスから前記物理メモリアドレスへの変換を検索することと、
によって、前記仮想メモリアドレスに基づいて、前記物理メモリアドレスへの変換を検索する、
請求項1の方法。 - 仮想アドレス変換のためのメモリ管理ユニット(MMU)であって、
仮想メモリアドレスを物理メモリアドレスに変換する要求を受信するように構成された回路と、
前記仮想メモリアドレスに基づいて、前記物理メモリアドレスへの変換について、トランスレーションルックアサイドバッファ(TLB)を検索するように構成された回路と、
前記変換が前記TLBで見つからず、仮想マシンのアドレス空間を識別するドメイン識別子が前記TLBで見つかることに応じて、前記ドメイン識別子を前記TLBからフェッチするように構成された回路と、
前記変換が前記TLBで見つからないことに応じて、前記ドメイン識別子に基づいて、前記変換について、外部メモリトランスレーションルックアサイドバッファ(EMTLB)を検索することと、前記変換を取得するために、ページテーブルウォーカ(PTW)を使用して、ページテーブルウォークを実行することと、を行うように構成された回路と、
前記物理メモリアドレスが前記EMTLBで見つかることに応じて、前記ページテーブルウォークを中止して、前記物理メモリアドレスを返すように構成された回路と、
前記変換が前記EMTLBで見つからないことに応じて、前記ページテーブルウォークに基づいて前記物理メモリアドレスを返すように構成された回路と、を備える、
メモリ管理ユニット(MMU)。 - 前記EMTLBは、前記MMUの外部にあるメモリ領域を備える、
請求項11のMMU。 - 前記EMTLBは、前記ページテーブルウォークと並行して前記変換が検索される、
請求項11のMMU。 - 前記EMTLBの状態は、前記MMUが実装されているプロセッサとは別のメモリ領域に記憶される、
請求項11のMMU。 - 変換が、疑似ランダムエントリ位置で前記EMTLBに書き込まれる、
請求項11のMMU。 - 前記EMTLBのエントリは、タグと、データ部分と、前記EMTLBの状態と、を含む、
請求項11のMMU。 - EMTLBエントリを無効にする要求を前記EMTLBに送信することであって、前記要求は、前記EMTLBの無効化フィルタにバッファリングされる、ことを行うように構成された回路と、
無効化が完了したという確認応答を前記EMTLBから受信することであって、前記確認応答は、無効にする要求が前記無効化フィルタにバッファリングされていることを示す、ことを行うように構成された回路と、をさらに備える、
請求項11のMMU。 - 前記変換が前記TLBで見つからず、前記変換が前記EMTLBで見つかることに応じて、前記変換を前記TLBに記憶するように構成された回路をさらに備える、
請求項11のMMU。 - 前記変換が前記TLBで見つからず、前記TLBが満杯であることに応じて、
前記TLBから変換エントリをエビクトすることと、
エビクトされた変換エントリを前記EMTLBに書き込むことと、
を行うように構成された回路をさらに備える、
請求項11のMMU。 - 前記変換が前記TLB及び前記EMTLBで見つからないことに応じて、前記ページテーブルウォークに基づいて、前記TLB及び前記EMTLBの両方に前記変換を書き込むように構成された回路をさらに備える、
請求項11のMMU。 - 前記仮想メモリアドレスから中間仮想メモリアドレスへの変換を検索することと、
前記中間仮想メモリアドレスから前記物理メモリアドレスへの変換を検索することと、
によって、前記仮想メモリアドレスに基づいて、前記物理メモリアドレスへの変換を検索するように構成された回路をさらに備える、
請求項11のMMU。 - プロセッサと、前記プロセッサと通信するメモリと、を備え、
前記プロセッサは、仮想アドレス変換のためのメモリ管理ユニット(MMU)を備え、前記MMUが、トランスレーションルックアサイドバッファ(TLB)及びページテーブルウォーカ(PTW)を備え、
前記メモリは、外部メモリトランスレーションルックアサイドバッファ(EMTLB)を備え、
前記MMUは、仮想メモリアドレスを物理メモリアドレスに変換する要求を受信するように構成された回路をさらに備え、
前記MMUは、前記仮想メモリアドレスに基づいて、前記物理メモリアドレスへの変換について、前記TLBを検索するように構成された回路をさらに備え、
前記MMUは、前記変換が前記TLBで見つからず、仮想マシンのアドレス空間を識別するドメイン識別子が前記TLBで見つかることに応じて、前記ドメイン識別子を前記TLBからフェッチするように構成された回路をさらに備え、
前記MMUは、前記変換が前記TLBで見つからないことに応じて、前記ドメイン識別子に基づいて、前記変換について、前記EMTLBを検索することと、前記変換を取得するために、前記PTWを使用して、ページテーブルウォークを実行することと、を行うように構成された回路をさらに備え、
前記MMUは、前記変換が前記EMTLBで見つかることに応じて、前記ページテーブルウォークを中止して、前記物理メモリアドレスを返すように構成された回路をさらに備え、
前記MMUは、前記変換が前記TLB及び前記EMTLBで見つからないことに応じて、前記ページテーブルウォークに基づいて前記物理メモリアドレスを返すように構成された回路をさらに備える、
コンピューティングデバイス。 - 前記EMTLBは、前記MMUの外部にあるメモリ領域を備える、
請求項22のコンピューティングデバイス。 - 前記EMTLBは、前記ページテーブルウォークと並行して前記変換が検索される、
請求項22のコンピューティングデバイス。 - 前記EMTLBの状態は、前記MMUが実装されているプロセッサとは別のメモリ領域に記憶される、
請求項22のコンピューティングデバイス。 - 変換が、疑似ランダムエントリ位置で前記EMTLBに書き込まれる、
請求項22のコンピューティングデバイス。 - 前記EMTLBのエントリは、タグと、データ部分と、前記EMTLBの状態と、を含む、
請求項22のコンピューティングデバイス。 - EMTLBエントリを無効にする要求を前記EMTLBに送信することであって、前記要求は、前記EMTLBの無効化フィルタにバッファリングされる、ことを行うように構成された回路と、
無効化が完了したという確認応答を前記EMTLBから受信することであって、前記確認応答は、無効にする前記要求が前記無効化フィルタにバッファリングされていることを示す、ことを行うように構成された回路と、をさらに備える、
請求項22のコンピューティングデバイス。 - 前記変換が前記TLBで見つからず、前記変換が前記EMTLBで見つかることに応じて、前記変換を前記TLBに記憶するように構成された回路をさらに備える、
請求項22のコンピューティングデバイス。 - 前記変換が前記TLBで見つからず、前記TLBが満杯であることに応じて、
前記TLBから変換エントリをエビクトすることと、
エビクトされた変換エントリを前記EMTLBに書き込むことと、
を行うように構成された回路をさらに備える、
請求項22のコンピューティングデバイス。 - 前記変換が前記TLB及び前記EMTLBで見つからないことに応じて、前記ページテーブルウォークに基づいて、前記TLB及び前記EMTLBの両方に前記変換を書き込むように構成された回路をさらに備える、
請求項22のコンピューティングデバイス。 - 前記仮想メモリアドレスから中間仮想メモリアドレスへの変換を検索することと、
前記中間仮想メモリアドレスから前記物理メモリアドレスへの変換を検索することと、
によって、前記仮想メモリアドレスに基づいて、前記物理メモリアドレスへの変換を検索するように構成された回路をさらに備える、
請求項22のコンピューティングデバイス。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/141,603 | 2018-09-25 | ||
US16/141,603 US11243891B2 (en) | 2018-09-25 | 2018-09-25 | External memory based translation lookaside buffer |
PCT/IB2019/056498 WO2020065418A1 (en) | 2018-09-25 | 2019-07-30 | External memory based translation lookaside buffer |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2022501705A JP2022501705A (ja) | 2022-01-06 |
JP7443344B2 true JP7443344B2 (ja) | 2024-03-05 |
Family
ID=69883411
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021512943A Active JP7443344B2 (ja) | 2018-09-25 | 2019-07-30 | 外部メモリベースのトランスレーションルックアサイドバッファ |
Country Status (6)
Country | Link |
---|---|
US (1) | US11243891B2 (ja) |
EP (1) | EP3857388B1 (ja) |
JP (1) | JP7443344B2 (ja) |
KR (1) | KR20210058877A (ja) |
CN (1) | CN112753024B (ja) |
WO (1) | WO2020065418A1 (ja) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11210233B2 (en) * | 2020-01-07 | 2021-12-28 | International Business Machines Corporation | System and method for handling address translation invalidations using an address translation invalidation probe |
US11422947B2 (en) * | 2020-08-12 | 2022-08-23 | International Business Machines Corporation | Determining page size via page table cache |
US11714766B2 (en) * | 2020-12-29 | 2023-08-01 | Ati Technologies Ulc | Address translation services buffer |
CN113612863B (zh) * | 2021-07-12 | 2022-07-26 | 武汉理工大学 | 一种gpu中地址转换优化方法、系统、设备及存储介质 |
CN114153909A (zh) * | 2021-11-26 | 2022-03-08 | 北京人大金仓信息技术股份有限公司 | 一种基于Velocity模板引擎的数据库表结构翻译方法和装置 |
US20230185731A1 (en) * | 2021-12-13 | 2023-06-15 | Microchip Technology Incorporated | Verification of off-chip computer-readable instructions and related systems, methods, and apparatuses |
CN113934655B (zh) * | 2021-12-17 | 2022-03-11 | 北京微核芯科技有限公司 | 解决高速缓冲存储器地址二义性问题的方法和装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002149490A (ja) | 2000-11-06 | 2002-05-24 | Fujitsu Ltd | マイクロプロセッサ及びマイクロプロセッサのアドレス変換方法 |
JP2009512943A (ja) | 2005-10-20 | 2009-03-26 | クゥアルコム・インコーポレイテッド | 多階層の変換索引緩衝機構(TLBs)フィールドの更新 |
JP2010170266A (ja) | 2009-01-21 | 2010-08-05 | Toshiba Corp | 半導体集積回路及びアドレス変換方法 |
JP2013500525A (ja) | 2009-07-24 | 2013-01-07 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド | I/oのための多重レベルアドレストランスレーションを含むi/oメモリ管理ユニット及び計算負荷軽減 |
US20140052917A1 (en) | 2012-05-10 | 2014-02-20 | Oracle International Corporation | Using a shared last-level tlb to reduce address-translation latency |
JP2016504686A (ja) | 2012-12-21 | 2016-02-12 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッドAdvanced Micro Devices Incorporated | アドレス変換プロービングを用いる処理デバイスおよび方法 |
WO2018100363A1 (en) | 2016-11-29 | 2018-06-07 | Arm Limited | Memory address translation |
Family Cites Families (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS60254345A (ja) * | 1984-05-31 | 1985-12-16 | Fujitsu Ltd | アドレス変換方式 |
JPH04357542A (ja) * | 1991-02-25 | 1992-12-10 | Matsushita Electric Ind Co Ltd | アドレス変換装置 |
EP1182568A3 (en) * | 2000-08-21 | 2004-07-21 | Texas Instruments Incorporated | TLB operation based on task-id |
US6925547B2 (en) * | 2000-12-14 | 2005-08-02 | Silicon Graphics, Inc. | Remote address translation in a multiprocessor system |
GB0415850D0 (en) * | 2004-07-15 | 2004-08-18 | Imagination Tech Ltd | Memory management system |
US20060224815A1 (en) | 2005-03-30 | 2006-10-05 | Koichi Yamada | Virtualizing memory management unit resources |
US7426626B2 (en) * | 2005-08-23 | 2008-09-16 | Qualcomm Incorporated | TLB lock indicator |
US7636800B2 (en) * | 2006-06-27 | 2009-12-22 | International Business Machines Corporation | Method and system for memory address translation and pinning |
US8312468B2 (en) * | 2009-06-09 | 2012-11-13 | Open Kernel Labs | Methods and apparatus for fast context switching in a virtualized system |
CN102163320B (zh) * | 2011-04-27 | 2012-10-03 | 福州瑞芯微电子有限公司 | 一种图像处理专用可配置的mmu电路 |
US9921967B2 (en) * | 2011-07-26 | 2018-03-20 | Intel Corporation | Multi-core shared page miss handler |
US8893267B1 (en) * | 2011-08-17 | 2014-11-18 | Applied Micro Circuits Corporation | System and method for partitioning resources in a system-on-chip (SoC) |
KR102002900B1 (ko) * | 2013-01-07 | 2019-07-23 | 삼성전자 주식회사 | 메모리 관리 유닛을 포함하는 시스템 온 칩 및 그 메모리 주소 변환 방법 |
CN104239236B (zh) * | 2013-06-17 | 2018-02-13 | 华为技术有限公司 | 旁路转换缓冲缺失的处理方法及旁路转换缓冲 |
CN104239237B (zh) * | 2013-06-20 | 2017-07-14 | 华为技术有限公司 | 一种tlb管理方法及装置 |
EP2840504A1 (en) * | 2013-08-23 | 2015-02-25 | ST-Ericsson SA | Enhanced pre-fetch in a memory management system |
US10210096B2 (en) * | 2013-10-01 | 2019-02-19 | Ampere Computing Llc | Multi-stage address translation for a computing device |
US10114760B2 (en) * | 2014-01-14 | 2018-10-30 | Nvidia Corporation | Method and system for implementing multi-stage translation of virtual addresses |
US9697137B2 (en) * | 2014-11-14 | 2017-07-04 | Cavium, Inc. | Filtering translation lookaside buffer invalidations |
US9858201B2 (en) * | 2015-02-20 | 2018-01-02 | Qualcomm Incorporated | Selective translation lookaside buffer search and page fault |
US9715459B2 (en) * | 2015-12-22 | 2017-07-25 | International Business Machines Corporation | Translation entry invalidation in a multithreaded data processing system |
US10223279B2 (en) * | 2016-06-27 | 2019-03-05 | Cavium, Llc | Managing virtual-address caches for multiple memory page sizes |
US20180067866A1 (en) * | 2016-09-08 | 2018-03-08 | Intel Corporation | Translate on virtual machine entry |
US10296465B2 (en) * | 2016-11-29 | 2019-05-21 | Board Of Regents, The University Of Texas System | Processor using a level 3 translation lookaside buffer implemented in off-chip or die-stacked dynamic random-access memory |
US10417140B2 (en) | 2017-02-24 | 2019-09-17 | Advanced Micro Devices, Inc. | Streaming translation lookaside buffer |
-
2018
- 2018-09-25 US US16/141,603 patent/US11243891B2/en active Active
-
2019
- 2019-07-30 EP EP19864349.6A patent/EP3857388B1/en active Active
- 2019-07-30 WO PCT/IB2019/056498 patent/WO2020065418A1/en unknown
- 2019-07-30 CN CN201980062363.9A patent/CN112753024B/zh active Active
- 2019-07-30 JP JP2021512943A patent/JP7443344B2/ja active Active
- 2019-07-30 KR KR1020217010367A patent/KR20210058877A/ko unknown
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002149490A (ja) | 2000-11-06 | 2002-05-24 | Fujitsu Ltd | マイクロプロセッサ及びマイクロプロセッサのアドレス変換方法 |
JP2009512943A (ja) | 2005-10-20 | 2009-03-26 | クゥアルコム・インコーポレイテッド | 多階層の変換索引緩衝機構(TLBs)フィールドの更新 |
JP2010170266A (ja) | 2009-01-21 | 2010-08-05 | Toshiba Corp | 半導体集積回路及びアドレス変換方法 |
JP2013500525A (ja) | 2009-07-24 | 2013-01-07 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド | I/oのための多重レベルアドレストランスレーションを含むi/oメモリ管理ユニット及び計算負荷軽減 |
US20140052917A1 (en) | 2012-05-10 | 2014-02-20 | Oracle International Corporation | Using a shared last-level tlb to reduce address-translation latency |
JP2016504686A (ja) | 2012-12-21 | 2016-02-12 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッドAdvanced Micro Devices Incorporated | アドレス変換プロービングを用いる処理デバイスおよび方法 |
WO2018100363A1 (en) | 2016-11-29 | 2018-06-07 | Arm Limited | Memory address translation |
Also Published As
Publication number | Publication date |
---|---|
CN112753024A (zh) | 2021-05-04 |
EP3857388A1 (en) | 2021-08-04 |
KR20210058877A (ko) | 2021-05-24 |
JP2022501705A (ja) | 2022-01-06 |
EP3857388B1 (en) | 2024-01-10 |
US20200097413A1 (en) | 2020-03-26 |
US11243891B2 (en) | 2022-02-08 |
CN112753024B (zh) | 2023-11-03 |
WO2020065418A1 (en) | 2020-04-02 |
EP3857388A4 (en) | 2022-07-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7443344B2 (ja) | 外部メモリベースのトランスレーションルックアサイドバッファ | |
KR102448124B1 (ko) | 가상 주소들을 사용하여 액세스된 캐시 | |
US11853226B2 (en) | Address translation cache with use of page size information to select an invalidation lookup mode, or use of leaf-and-intermediate exclusive range-specifying invalidation request, or use of invalidation request specifying single address and page size information | |
US9251095B2 (en) | Providing metadata in a translation lookaside buffer (TLB) | |
US6647466B2 (en) | Method and apparatus for adaptively bypassing one or more levels of a cache hierarchy | |
JP6831788B2 (ja) | キャッシュ保守命令 | |
US7793070B2 (en) | Processing system implementing multiple page size memory organization with multiple translation lookaside buffers having differing characteristics | |
US20150089150A1 (en) | Translation Bypass In Multi-Stage Address Translation | |
US10019377B2 (en) | Managing cache coherence using information in a page table | |
US9058284B1 (en) | Method and apparatus for performing table lookup | |
JP7249272B2 (ja) | キャッシュ、キャッシュを有するプロセッサ、及び、キャッシュ制御方法 | |
US20040117587A1 (en) | Hardware managed virtual-to-physical address translation mechanism | |
US20160140042A1 (en) | Instruction cache translation management | |
WO2018231898A1 (en) | Cache devices with configurable access policies and control methods thereof | |
US11392508B2 (en) | Lightweight address translation for page migration and duplication | |
KR102478766B1 (ko) | 디스크립터 링 관리 | |
US20230102891A1 (en) | Re-reference interval prediction (rrip) with pseudo-lru supplemental age information | |
US20110167223A1 (en) | Buffer memory device, memory system, and data reading method | |
US20040117591A1 (en) | Data processing system having no system memory | |
US20040117590A1 (en) | Aliasing support for a data processing system having no system memory | |
JP2022548219A (ja) | 変換ルックアサイドバッファ無効化 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220721 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230718 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20231018 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20231226 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20240110 |
|
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: 20240123 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20240221 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7443344 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |