JP2012533135A - Tlbプリフェッチング - Google Patents
Tlbプリフェッチング Download PDFInfo
- Publication number
- JP2012533135A JP2012533135A JP2012520704A JP2012520704A JP2012533135A JP 2012533135 A JP2012533135 A JP 2012533135A JP 2012520704 A JP2012520704 A JP 2012520704A JP 2012520704 A JP2012520704 A JP 2012520704A JP 2012533135 A JP2012533135 A JP 2012533135A
- Authority
- JP
- Japan
- Prior art keywords
- block
- page table
- prefetch
- mmu
- tlb
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
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
-
- 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/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/0862—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
-
- 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/60—Details of cache memory
- G06F2212/6022—Using a prefetch buffer or dedicated prefetch cache
-
- 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/60—Details of cache memory
- G06F2212/6028—Prefetching based on hints or prefetch instructions
-
- 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/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/684—TLB miss handling
Abstract
【選択図】 図2
Description
図10は、システム150の一実施形態のブロック図である。このシステム150は、図1に示されたシステムの別の実施形態である。ここに示す実施形態では、システム150は、1つ以上の周辺装置154及び外部メモリ158に結合された集積回路152の少なくとも1つのインスタンスを含む。集積回路152は、一実施形態において、GPU10、L2キャッシュ12、MCMB14、CPU22、L2キャッシュ24、及びメインメモリシステム20のためのメモリコントローラを含む。外部メモリ158は、メインメモリシステム20からのメモリを含む。集積回路152へ供給電圧を供給すると共に、メモリ158及び/又は周辺装置154へ1つ以上の供給電圧を供給する電源156も設けられる。ある実施形態では、集積回路152の2つ以上のインスタンスが含まれる(そして2つ以上の外部メモリ158も含まれる)。
12A−12N:レベル2(L2)キャッシュ
14A、B:マルチコアマネージメントブロック(MCMB)
16A−16N:メモリマネージメントユニット(MMU)
18A−18M:MMU
20:メインメモリシステム
22A−22M:CPU
24A−24M:L2キャッシュ
26:ページテーブル
30:TLB
32:テーブルウオークユニット
34:プリフェッチバッファ
38A−38R:レジスタ
40:バーチャルアドレススペース
42:物理アドレススペース
44:フレームバッファ
46:バーチャルページ
Claims (15)
- 複数のバーチャル/物理的アドレス変換を記憶するように構成されたトランスレーションルックアサイドバッファ(TLB)と、
前記TLBにおいてミスとなったバーチャルアドレスの変換中に以前に読み取られた第1のページテーブルエントリーを含めて複数のページテーブルエントリーを含むデータのブロックを記憶するように構成されたバッファと、
前記TLB及び前記バッファに結合されたテーブルウオークユニットであって、前記TLBにおける第1のTLBミスの第1のバーチャルアドレスを受け取るように結合され、且つ変換のためのメモリ読み取りを開始する前に前記第1のバーチャルアドレスに対応する第2のページテーブルエントリーについて前記バッファをチェックするように構成されたテーブルウオークユニットと、
を備えたメモリマネージメントユニット(MMU)。 - 前記テーブルウオークユニットは、前記バッファにおける第2のページテーブルエントリーを検出するように構成され、そして前記テーブルウオークユニットは、前記第2のページテーブルエントリーから前記TLBへ変換を書き込むように構成される、請求項1に記載のMMU。
- 前記テーブルウオークユニットは、前記第2のページテーブルエントリーが前記バッファに記憶されないことを検出するように構成され、そして前記テーブルウオークユニットは、前記第2のページテーブルエントリーを含むデータの第2ブロックに対するメモリ読み取りを発生するように構成される、請求項1に記載のMMU。
- 前記テーブルウオークユニットは、前記バッファに前記第2のブロックを書き込んで、前記バッファにおける前記第1のブロックをオーバーライトするように構成された、請求項3に記載のMMU。
- 前記バッファは、複数のブロックを記憶するように構成され、その各ブロックは、前記MMUへ送信される変換要求と共に与えられる異なる識別子に対応する、請求項4に記載のMMU。
- 前記ブロックは、サイズがキャッシュブロックより大きい、請求項1から5のいずれかに記載のMMU。
- 前記テーブルウオークユニットは、前記複数のページテーブルエントリーの使用履歴を追跡し、そしてその履歴に応答してデータの第2ブロックに対するプリフェッチ要求を発生するように構成される、請求項1から6にずれかに記載のMMU。
- 前記履歴は、前記ブロックから読み取られた最も最近のQ個のページテーブルエントリーの指示を含み、前記テーブルウオークユニットは、TLBミスのパターンがブロックの端の付近であることを前記履歴が指示する場合に前記プリフェッチ要求を発生するように構成され、そして前記Qは、1より大きな正の整数である、請求項7に記載のMMU。
- 前記履歴は、前記テーブルウオークユニットにより読み取られた複数のページテーブルエントリーの数のカウントを含み、そして前記テーブルウオークユニットは、そのカウントが前記複数のページテーブルエントリーの数に等しくなるのに応答して前記プリフェッチ要求を発生するように構成される、請求項7に記載のMMU。
- 前記履歴は、前記テーブルウオークユニットにより読み取られた複数のページテーブルエントリーの数のカウントを含み、そして前記テーブルウオークユニットは、そのカウントが前記複数のページテーブルエントリーの数に近付くのに応答して前記プリフェッチ要求を発生するように構成される、請求項7に記載のMMU。
- メモリから複数のページテーブルエントリーより成るデータのブロックを読み取る段階と、
前記ブロックをメモリマネージメントユニット(MMU)に保持する段階と、
前記MMUにおいてトランスレーションルックアサイドバッファ(TLB)ミスを検出する段階と、
前記複数のページテーブルエントリーの1つを読み取って前記TLBミスに対する変換を決定する段階と、
を備えた方法。 - 前記MMUにおいて第2のTLBミスを検出する段階と、
前記第2のTLBミスに対応する第2のページテーブルエントリーが前記複数のページテーブルエントリーにないことを決定する段階と、
前記メモリから前記第2のページテーブルエントリーを含めて第2の複数のページテーブルエントリーより成るデータの第2ブロックを読み取る段階と、
前記MMUに前記第2のブロックを保持する段階と、
を更に備えた請求項11に記載の方法。 - MMUに第2のブロックを保持する前記段階は、前記ブロックを前記第2のブロックでオーバーライトすることを含む、請求項12に記載の方法。
- 前記ブロックに複数のページテーブルエントリーの使用履歴を維持する段階と、
前記履歴に応答して第2の複数のページテーブルエントリーを含むデータの第2ブロックのプリフェッチを発生する段階と、
を更に備えた請求項11に記載の方法。 - トランスレーションルックアサイドバッファ(TLB)ミスの規則的パターンを経験することが予想される1つ以上のアドレス範囲を決定する段階と、
前記アドレス範囲でメモリマネージメントユニット(MMU)の1つ以上のレジスタをプログラミングする段階と、
を備え、前記MMUは、前記1つ以上のアドレス範囲におけるTLBミスに応答して、複数のページテーブルエントリーを各々含むページテーブルエントリーのブロックに対してプリフェッチ要求を発生するように構成され、そして前記MMUは、前記1つ以上の範囲以外のTLBミスに対してはプリフェッチ要求の発生を禁止するように構成される、請求項11に記載の方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/501,643 US8397049B2 (en) | 2009-07-13 | 2009-07-13 | TLB prefetching |
US12/501,643 | 2009-07-13 | ||
PCT/US2010/041728 WO2011008702A1 (en) | 2009-07-13 | 2010-07-12 | Tlb prefetching |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012533135A true JP2012533135A (ja) | 2012-12-20 |
JP5580894B2 JP5580894B2 (ja) | 2014-08-27 |
Family
ID=42782105
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012520704A Expired - Fee Related JP5580894B2 (ja) | 2009-07-13 | 2010-07-12 | Tlbプリフェッチング |
Country Status (6)
Country | Link |
---|---|
US (1) | US8397049B2 (ja) |
EP (1) | EP2454669A1 (ja) |
JP (1) | JP5580894B2 (ja) |
KR (1) | KR101379596B1 (ja) |
CN (1) | CN102498477B (ja) |
WO (1) | WO2011008702A1 (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014507042A (ja) * | 2011-03-03 | 2014-03-20 | クアルコム,インコーポレイテッド | 事前充填能力を有するメモリ管理ユニット |
JP2014175017A (ja) * | 2013-03-11 | 2014-09-22 | Samsung Electronics Co Ltd | システムオンチップ及びその動作方法 |
JP2018536219A (ja) * | 2015-10-28 | 2018-12-06 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | 仮想マシンのページ・テーブル・キャッシュ・ラインをプリロードする方法、コンピューティング・システム、およびコンピュータ・プログラム |
JP2019212167A (ja) * | 2018-06-07 | 2019-12-12 | 富士通株式会社 | 演算処理装置、情報処理装置、及び演算処理装置の制御方法 |
Families Citing this family (88)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2477109B1 (en) | 2006-04-12 | 2016-07-13 | Soft Machines, Inc. | Apparatus and method for processing an instruction matrix specifying parallel and dependent operations |
EP2527972A3 (en) | 2006-11-14 | 2014-08-06 | Soft Machines, Inc. | Apparatus and method for processing complex instruction formats in a multi- threaded architecture supporting various context switch modes and virtualization schemes |
JP5428617B2 (ja) * | 2009-07-28 | 2014-02-26 | 富士通株式会社 | プロセッサ及び演算処理方法 |
JP5377182B2 (ja) * | 2009-09-10 | 2013-12-25 | 株式会社東芝 | 制御装置 |
US9569348B1 (en) * | 2009-09-22 | 2017-02-14 | Nvidia Corporation | Method for automatic page table compression |
JP5488225B2 (ja) * | 2010-06-09 | 2014-05-14 | 富士通株式会社 | データ管理システム、データ管理方法、及びデータ管理プログラム |
WO2012037491A2 (en) | 2010-09-17 | 2012-03-22 | Soft Machines, Inc. | Single cycle multi-branch prediction including shadow cache for early far branch prediction |
EP2689327B1 (en) | 2011-03-25 | 2021-07-28 | Intel Corporation | Executing instruction sequence code blocks by using virtual cores instantiated by partitionable engines |
KR101620676B1 (ko) | 2011-03-25 | 2016-05-23 | 소프트 머신즈, 인크. | 분할가능한 엔진에 의해 인스턴스화된 가상 코어를 이용한 코드 블록의 실행을 지원하는 레지스터 파일 세그먼트 |
KR101826121B1 (ko) | 2011-03-25 | 2018-02-06 | 인텔 코포레이션 | 분할가능한 엔진에 의해 인스턴스화된 가상 코어를 이용한 코드 블록의 실행을 지원하는 메모리 프래그먼트 |
EP2710480B1 (en) | 2011-05-20 | 2018-06-20 | Intel Corporation | An interconnect structure to support the execution of instruction sequences by a plurality of engines |
KR20120129695A (ko) * | 2011-05-20 | 2012-11-28 | 삼성전자주식회사 | 메모리 관리 유닛, 이를 포함하는 장치들 및 이의 동작 방법 |
CN107729267B (zh) | 2011-05-20 | 2022-01-25 | 英特尔公司 | 资源的分散分配以及用于支持由多个引擎执行指令序列的互连结构 |
US20120317377A1 (en) * | 2011-06-09 | 2012-12-13 | Alexander Palay | Dual flash translation layer |
JP2013008094A (ja) * | 2011-06-22 | 2013-01-10 | Sony Corp | メモリ管理装置、メモリ管理方法、制御プログラム、および、記録媒体 |
US9009445B2 (en) | 2011-10-20 | 2015-04-14 | Apple Inc. | Memory management unit speculative hardware table walk scheme |
CN104040490B (zh) | 2011-11-22 | 2017-12-15 | 英特尔公司 | 用于多引擎微处理器的加速的代码优化器 |
US20150039859A1 (en) | 2011-11-22 | 2015-02-05 | Soft Machines, Inc. | Microprocessor accelerated code optimizer |
US9378150B2 (en) * | 2012-02-28 | 2016-06-28 | Apple Inc. | Memory management unit with prefetch ability |
US8930674B2 (en) | 2012-03-07 | 2015-01-06 | Soft Machines, Inc. | Systems and methods for accessing a unified translation lookaside buffer |
US9710399B2 (en) | 2012-07-30 | 2017-07-18 | Intel Corporation | Systems and methods for flushing a cache with modified data |
US9229873B2 (en) | 2012-07-30 | 2016-01-05 | Soft Machines, Inc. | Systems and methods for supporting a plurality of load and store accesses of a cache |
US9916253B2 (en) | 2012-07-30 | 2018-03-13 | Intel Corporation | Method and apparatus for supporting a plurality of load accesses of a cache in a single cycle to maintain throughput |
US9740612B2 (en) | 2012-07-30 | 2017-08-22 | Intel Corporation | Systems and methods for maintaining the coherency of a store coalescing cache and a load cache |
US9430410B2 (en) | 2012-07-30 | 2016-08-30 | Soft Machines, Inc. | Systems and methods for supporting a plurality of load accesses of a cache in a single cycle |
US8938602B2 (en) * | 2012-08-02 | 2015-01-20 | Qualcomm Incorporated | Multiple sets of attribute fields within a single page table entry |
US9218289B2 (en) * | 2012-08-06 | 2015-12-22 | Qualcomm Incorporated | Multi-core compute cache coherency with a release consistency memory ordering model |
KR20160122278A (ko) | 2012-08-18 | 2016-10-21 | 퀄컴 테크놀로지스, 인크. | 프리페칭을 갖는 변환 색인 버퍼 |
US20140101405A1 (en) * | 2012-10-05 | 2014-04-10 | Advanced Micro Devices, Inc. | Reducing cold tlb misses in a heterogeneous computing system |
US9678882B2 (en) | 2012-10-11 | 2017-06-13 | Intel Corporation | Systems and methods for non-blocking implementation of cache flush instructions |
US20140108766A1 (en) * | 2012-10-17 | 2014-04-17 | Advanced Micro Devices, Inc. | Prefetching tablewalk address translations |
US10585801B2 (en) | 2012-11-26 | 2020-03-10 | Advanced Micro Devices, Inc. | Prefetch kernels on a graphics processing unit |
KR102002900B1 (ko) * | 2013-01-07 | 2019-07-23 | 삼성전자 주식회사 | 메모리 관리 유닛을 포함하는 시스템 온 칩 및 그 메모리 주소 변환 방법 |
KR101946455B1 (ko) * | 2013-03-14 | 2019-02-11 | 삼성전자주식회사 | 시스템 온-칩 및 이의 동작 방법 |
WO2014150806A1 (en) | 2013-03-15 | 2014-09-25 | Soft Machines, Inc. | A method for populating register view data structure by using register template snapshots |
US9569216B2 (en) | 2013-03-15 | 2017-02-14 | Soft Machines, Inc. | Method for populating a source view data structure by using register template snapshots |
US9086813B2 (en) * | 2013-03-15 | 2015-07-21 | Qualcomm Incorporated | Method and apparatus to save and restore system memory management unit (MMU) contexts |
WO2014150971A1 (en) | 2013-03-15 | 2014-09-25 | Soft Machines, Inc. | A method for dependency broadcasting through a block organized source view data structure |
US10140138B2 (en) | 2013-03-15 | 2018-11-27 | Intel Corporation | Methods, systems and apparatus for supporting wide and efficient front-end operation with guest-architecture emulation |
US9811342B2 (en) | 2013-03-15 | 2017-11-07 | Intel Corporation | Method for performing dual dispatch of blocks and half blocks |
US9904625B2 (en) | 2013-03-15 | 2018-02-27 | Intel Corporation | Methods, systems and apparatus for predicting the way of a set associative cache |
US10275255B2 (en) | 2013-03-15 | 2019-04-30 | Intel Corporation | Method for dependency broadcasting through a source organized source view data structure |
WO2014150991A1 (en) | 2013-03-15 | 2014-09-25 | Soft Machines, Inc. | A method for implementing a reduced size register view data structure in a microprocessor |
EP2972845B1 (en) | 2013-03-15 | 2021-07-07 | Intel Corporation | A method for executing multithreaded instructions grouped onto blocks |
WO2014151043A1 (en) | 2013-03-15 | 2014-09-25 | Soft Machines, Inc. | A method for emulating a guest centralized flag architecture by using a native distributed flag architecture |
US9886279B2 (en) | 2013-03-15 | 2018-02-06 | Intel Corporation | Method for populating and instruction view data structure by using register template snapshots |
WO2014143055A1 (en) * | 2013-03-15 | 2014-09-18 | Intel Corporation | Mechanism for facilitating dynamic and efficient management of translation buffer prefetching in software programs at computing systems |
US9891924B2 (en) | 2013-03-15 | 2018-02-13 | Intel Corporation | Method for implementing a reduced size register view data structure in a microprocessor |
CN104239236B (zh) * | 2013-06-17 | 2018-02-13 | 华为技术有限公司 | 旁路转换缓冲缺失的处理方法及旁路转换缓冲 |
CN107608912B (zh) * | 2013-08-20 | 2020-10-16 | 华为技术有限公司 | 内存物理地址查询方法和装置 |
US9645934B2 (en) | 2013-09-13 | 2017-05-09 | Samsung Electronics Co., Ltd. | System-on-chip and address translation method thereof using a translation lookaside buffer and a prefetch buffer |
US20150134933A1 (en) * | 2013-11-14 | 2015-05-14 | Arm Limited | Adaptive prefetching in a data processing apparatus |
US9563571B2 (en) | 2014-04-25 | 2017-02-07 | Apple Inc. | Intelligent GPU memory pre-fetching and GPU translation lookaside buffer management |
US9507726B2 (en) | 2014-04-25 | 2016-11-29 | Apple Inc. | GPU shared virtual memory working set management |
GB2528842B (en) * | 2014-07-29 | 2021-06-02 | Advanced Risc Mach Ltd | A data processing apparatus, and a method of handling address translation within a data processing apparatus |
US9990305B2 (en) | 2014-09-19 | 2018-06-05 | Nxp Usa, Inc. | Memory management component having multiple memory management modules and method therefor |
US20160133087A1 (en) * | 2014-11-10 | 2016-05-12 | Rising Digital Corp. | Gaming machine with bonus feature |
JP6636526B2 (ja) * | 2015-03-27 | 2020-01-29 | ホアウェイ・テクノロジーズ・カンパニー・リミテッド | データ処理方法、メモリ管理ユニット、およびメモリ制御デバイス |
US9792215B2 (en) | 2015-03-28 | 2017-10-17 | Qualcomm Incorporated | Command-driven translation pre-fetch for memory management units |
WO2016171866A1 (en) | 2015-04-24 | 2016-10-27 | Optimum Semiconductor Technologies, Inc. | Computer processor with separate registers for addressing memory |
US9898418B2 (en) * | 2015-05-21 | 2018-02-20 | Via Alliance Semiconductor Co., Ltd. | Processor including single invalidate page instruction |
US10037280B2 (en) * | 2015-05-29 | 2018-07-31 | Qualcomm Incorporated | Speculative pre-fetch of translations for a memory management unit (MMU) |
KR102026877B1 (ko) * | 2015-06-16 | 2019-09-30 | 한국전자통신연구원 | 메모리 관리 유닛 및 그 동작 방법 |
US20160378684A1 (en) | 2015-06-26 | 2016-12-29 | Intel Corporation | Multi-page check hints for selective checking of protected container page versus regular page type indications for pages of convertible memory |
US20170161194A1 (en) * | 2015-12-02 | 2017-06-08 | Advanced Micro Devices, Inc. | Page-based prefetching triggered by tlb activity |
KR102429903B1 (ko) * | 2015-12-03 | 2022-08-05 | 삼성전자주식회사 | 비휘발성 메인 메모리 시스템의 페이지 폴트 처리 방법 |
US10261916B2 (en) * | 2016-03-25 | 2019-04-16 | Advanced Micro Devices, Inc. | Adaptive extension of leases for entries in a translation lookaside buffer |
GB2551756B (en) * | 2016-06-29 | 2019-12-11 | Advanced Risc Mach Ltd | Apparatus and method for performing segment-based address translation |
US9972065B2 (en) * | 2016-09-23 | 2018-05-15 | Apple Inc. | Resource layout randomization for GPU execution |
US10417140B2 (en) * | 2017-02-24 | 2019-09-17 | Advanced Micro Devices, Inc. | Streaming translation lookaside buffer |
US10565676B2 (en) * | 2017-04-17 | 2020-02-18 | Intel Corporation | Thread prefetch mechanism |
US10387320B2 (en) | 2017-05-12 | 2019-08-20 | Samsung Electronics Co., Ltd. | Integrated confirmation queues |
US10552042B2 (en) * | 2017-09-06 | 2020-02-04 | Samsung Electronics Co., Ltd. | Effective transaction table with page bitmap |
US10733688B2 (en) * | 2017-09-26 | 2020-08-04 | Intel Corpoation | Area-efficient implementations of graphics instructions |
CN109710544B (zh) * | 2017-10-26 | 2021-02-09 | 华为技术有限公司 | 内存访问方法、计算机系统以及处理装置 |
US20190163641A1 (en) * | 2017-11-27 | 2019-05-30 | Intel Corporation | Page translation prefetch mechanism |
CN109461113B (zh) * | 2018-10-11 | 2021-07-16 | 中国人民解放军国防科技大学 | 一种面向数据结构的图形处理器数据预取方法及装置 |
US11334387B2 (en) | 2019-05-28 | 2022-05-17 | Micron Technology, Inc. | Throttle memory as a service based on connectivity bandwidth |
US11100007B2 (en) * | 2019-05-28 | 2021-08-24 | Micron Technology, Inc. | Memory management unit (MMU) for accessing borrowed memory |
US11438414B2 (en) | 2019-05-28 | 2022-09-06 | Micron Technology, Inc. | Inter operating system memory services over communication network connections |
US11194575B2 (en) * | 2019-11-07 | 2021-12-07 | International Business Machines Corporation | Instruction address based data prediction and prefetching |
US11314445B2 (en) * | 2019-11-19 | 2022-04-26 | Western Digital Technologies, Inc. | Pattern tracking for efficiently predicting control pages |
US11429535B1 (en) | 2021-07-09 | 2022-08-30 | Apple Inc. | Cache replacement based on traversal tracking |
US20230058863A1 (en) * | 2021-08-10 | 2023-02-23 | Baidu Usa Llc | Countermeasures against side-channel attacks on secure encrypted virtualization (sev)-secure nested paging (sev-snp) processors |
US11663132B2 (en) * | 2021-10-13 | 2023-05-30 | Arm Limited | Prefetching |
JP2023072396A (ja) * | 2021-11-12 | 2023-05-24 | 富士通株式会社 | メモリ管理ユニット、メモリ管理方法、及び、情報処理装置 |
EP4283476A1 (en) * | 2022-05-24 | 2023-11-29 | Samsung Electronics Co., Ltd. | Input output memory management unit and electronic device having the same |
WO2024030707A1 (en) * | 2022-08-01 | 2024-02-08 | Qualcomm Incorporated | Using retired pages history for instruction translation lookaside buffer (tlb) prefetching in processor-based devices |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62151958A (ja) * | 1985-12-25 | 1987-07-06 | Matsushita Electric Ind Co Ltd | 仮想アドレス変換装置 |
JPH04232551A (ja) * | 1990-05-24 | 1992-08-20 | Internatl Business Mach Corp <Ibm> | 多重仮想アドレス変換方法及び装置 |
JPH0588983A (ja) * | 1991-09-30 | 1993-04-09 | Fujitsu Ltd | チヤネル装置の動的アドレス変換方法 |
JPH06149680A (ja) * | 1992-11-12 | 1994-05-31 | Nec Corp | アドレス変換装置 |
JPH08161230A (ja) * | 1994-12-05 | 1996-06-21 | Oki Electric Ind Co Ltd | オンデマンドページングにおける先読み方法 |
JP2005108262A (ja) * | 1994-09-09 | 2005-04-21 | Renesas Technology Corp | データ処理装置 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6175898B1 (en) | 1997-06-23 | 2001-01-16 | Sun Microsystems, Inc. | Method for prefetching data using a micro-TLB |
US7103748B2 (en) * | 2002-12-12 | 2006-09-05 | International Business Machines Corporation | Memory management for real-time applications |
US7099999B2 (en) * | 2003-09-30 | 2006-08-29 | International Business Machines Corporation | Apparatus and method for pre-fetching data to cached memory using persistent historical page table data |
US20060136696A1 (en) | 2004-12-16 | 2006-06-22 | Grayson Brian C | Method and apparatus for address translation |
US20060194529A1 (en) | 2005-02-25 | 2006-08-31 | Smith Richard S | Retractable abrasive sharpener and carrying case |
US7660964B2 (en) * | 2005-08-02 | 2010-02-09 | International Business Machines Corporation | Windowing external block translations |
US20070094476A1 (en) * | 2005-10-20 | 2007-04-26 | Augsburg Victor R | Updating multiple levels of translation lookaside buffers (TLBs) field |
US20080276067A1 (en) | 2007-05-01 | 2008-11-06 | Via Technologies, Inc. | Method and Apparatus for Page Table Pre-Fetching in Zero Frame Display Channel |
-
2009
- 2009-07-13 US US12/501,643 patent/US8397049B2/en active Active
-
2010
- 2010-07-12 WO PCT/US2010/041728 patent/WO2011008702A1/en active Application Filing
- 2010-07-12 CN CN201080038472.6A patent/CN102498477B/zh not_active Expired - Fee Related
- 2010-07-12 JP JP2012520704A patent/JP5580894B2/ja not_active Expired - Fee Related
- 2010-07-12 EP EP10734414A patent/EP2454669A1/en not_active Withdrawn
- 2010-07-12 KR KR1020127003086A patent/KR101379596B1/ko not_active IP Right Cessation
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62151958A (ja) * | 1985-12-25 | 1987-07-06 | Matsushita Electric Ind Co Ltd | 仮想アドレス変換装置 |
JPH04232551A (ja) * | 1990-05-24 | 1992-08-20 | Internatl Business Mach Corp <Ibm> | 多重仮想アドレス変換方法及び装置 |
JPH0588983A (ja) * | 1991-09-30 | 1993-04-09 | Fujitsu Ltd | チヤネル装置の動的アドレス変換方法 |
JPH06149680A (ja) * | 1992-11-12 | 1994-05-31 | Nec Corp | アドレス変換装置 |
JP2005108262A (ja) * | 1994-09-09 | 2005-04-21 | Renesas Technology Corp | データ処理装置 |
JPH08161230A (ja) * | 1994-12-05 | 1996-06-21 | Oki Electric Ind Co Ltd | オンデマンドページングにおける先読み方法 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014507042A (ja) * | 2011-03-03 | 2014-03-20 | クアルコム,インコーポレイテッド | 事前充填能力を有するメモリ管理ユニット |
US9092358B2 (en) | 2011-03-03 | 2015-07-28 | Qualcomm Incorporated | Memory management unit with pre-filling capability |
JP2015164047A (ja) * | 2011-03-03 | 2015-09-10 | クアルコム,インコーポレイテッド | 事前充填能力を有するメモリ管理ユニット |
JP2014175017A (ja) * | 2013-03-11 | 2014-09-22 | Samsung Electronics Co Ltd | システムオンチップ及びその動作方法 |
JP2018536219A (ja) * | 2015-10-28 | 2018-12-06 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | 仮想マシンのページ・テーブル・キャッシュ・ラインをプリロードする方法、コンピューティング・システム、およびコンピュータ・プログラム |
JP2019212167A (ja) * | 2018-06-07 | 2019-12-12 | 富士通株式会社 | 演算処理装置、情報処理装置、及び演算処理装置の制御方法 |
US10929306B2 (en) | 2018-06-07 | 2021-02-23 | Fujitsu Limited | Arithmetic processor, information processing apparatus, and control method of arithmetic processor |
JP7155629B2 (ja) | 2018-06-07 | 2022-10-19 | 富士通株式会社 | 演算処理装置、情報処理装置、及び演算処理装置の制御方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2011008702A1 (en) | 2011-01-20 |
US20110010521A1 (en) | 2011-01-13 |
US8397049B2 (en) | 2013-03-12 |
KR101379596B1 (ko) | 2014-04-01 |
CN102498477A (zh) | 2012-06-13 |
KR20120037975A (ko) | 2012-04-20 |
CN102498477B (zh) | 2015-02-11 |
EP2454669A1 (en) | 2012-05-23 |
JP5580894B2 (ja) | 2014-08-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5580894B2 (ja) | Tlbプリフェッチング | |
US10776022B2 (en) | Combined transparent/non-transparent cache | |
EP2452265B1 (en) | Block-based non-transparent cache | |
US8392658B2 (en) | Cache implementing multiple replacement policies | |
CN107111455B (zh) | 电子处理器架构以及缓存数据的方法 | |
US9208084B2 (en) | Extended main memory hierarchy having flash memory for page fault handling | |
US9251095B2 (en) | Providing metadata in a translation lookaside buffer (TLB) | |
US20040117583A1 (en) | Apparatus for influencing process scheduling in a data processing system capable of utilizing a virtual memory processing scheme | |
KR100343940B1 (ko) | 트랜슬레이션 룩어헤드 버퍼 예측 비트를 이용한 쓰기동작시의 캐쉬 얼리어싱 방지 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20131029 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20131105 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140130 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140226 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140522 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140611 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140616 |
|
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: 20140707 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140711 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5580894 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |