JP2017517040A - 格納されたアドレス変換の無効化 - Google Patents
格納されたアドレス変換の無効化 Download PDFInfo
- Publication number
- JP2017517040A JP2017517040A JP2016551713A JP2016551713A JP2017517040A JP 2017517040 A JP2017517040 A JP 2017517040A JP 2016551713 A JP2016551713 A JP 2016551713A JP 2016551713 A JP2016551713 A JP 2016551713A JP 2017517040 A JP2017517040 A JP 2017517040A
- Authority
- JP
- Japan
- Prior art keywords
- identifier
- data processing
- address translation
- address
- stored
- 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
- 238000013519 translation Methods 0.000 title claims abstract description 192
- 230000014616 translation Effects 0.000 claims abstract description 191
- 238000012545 processing Methods 0.000 claims abstract description 139
- 238000000034 method Methods 0.000 claims abstract description 91
- 230000008569 process Effects 0.000 claims abstract description 76
- 230000004044 response Effects 0.000 claims abstract description 27
- 238000006243 chemical reaction Methods 0.000 claims description 20
- 239000000872 buffer Substances 0.000 claims description 9
- 239000003607 modifier Substances 0.000 claims description 8
- 239000003550 marker Substances 0.000 claims description 3
- 238000003672 processing method Methods 0.000 claims 1
- 230000008901 benefit Effects 0.000 description 7
- 230000002093 peripheral effect Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000013507 mapping Methods 0.000 description 4
- 238000007792 addition Methods 0.000 description 3
- 239000003795 chemical substances by application Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000007246 mechanism Effects 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/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/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0815—Cache consistency protocols
- G06F12/0831—Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means
- G06F12/0833—Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means in combination with broadcast means (e.g. for invalidation or updating)
-
- 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/1009—Address translation using page tables, e.g. page table structures
-
- 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/109—Address translation 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/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/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
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/3004—Arrangements for executing specific machine instructions to perform operations on memory
-
- 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
- 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
-
- 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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
Description
データ処理回路によって行われたデータ処理動作に対応する、第1のアドレッシング・システムで使用された第1のアドレスと、メモリによって使用された第2のアドレッシング・システムで使用された第2のアドレスとの間のアドレス変換を格納するように構成されたアドレス変換回路であって、それぞれの格納されるアドレス変換が、対応する識別子といっしょに格納される、アドレス変換回路と
を備え、
アドレス変換回路は、選択され格納されたアドレス変換において無効化プロセスを行うよう命令する無効化コマンドに応じて、選択され格納されたアドレス変換を無効化するように構成され、選択され格納されたアドレス変換は、指定の第1のアドレス及び指定の識別子によって、無効化コマンドで特定され、
アドレス変換回路は、識別子グルーピング情報によってさらに構成された無効化プロセスを行うようにさらに構成され、識別子グルーピング情報は、複数の識別子を、識別子グループとして互いに関連付け、無効化プロセスは、指定の第1のアドレスに一致し、且つ指定の識別子が属する識別子グループ内のいずれかの識別子に一致する、全ての格納されたアドレス変換に適用される。
Claims (16)
- データ処理のための装置であって、
メモリに格納されたデータ値を参照して、データ処理動作を行うように構成されたデータ処理回路であって、それぞれのデータ処理動作が、それに関連付けられた識別子を有する、データ処理回路と、
前記データ処理回路によって行われた前記データ処理動作に対応する、第1のアドレッシング・システムで使用された第1のアドレスと、前記メモリによって使用された、第2のアドレッシング・システムで使用された第2のアドレスとの間のアドレス変換を格納するように構成されたアドレス変換回路であって、それぞれの格納されるアドレス変換が、対応する識別子といっしょに格納される、アドレス変換回路と
を備え、
前記アドレス変換回路は、選択され格納されたアドレス変換において無効化プロセスを行うよう命令する無効化コマンドに応じて、前記選択され格納されたアドレス変換を無効化するように構成され、前記選択され格納されたアドレス変換が、指定の第1のアドレス及び指定の識別子によって、前記無効化コマンドで特定され、
前記アドレス変換回路は、識別子グルーピング情報によってさらに構成された前記無効化プロセスを行うようにさらに構成され、前記識別子グルーピング情報が、複数の識別子を、識別子グループとして互いに関連付け、前記無効化プロセスが、前記指定の第1のアドレスに一致し、且つ前記指定の識別子が属する前記識別子グループ内のいずれかの識別子に一致する、全ての格納されたアドレス変換に適用される、データ処理のための装置。 - 前記データ処理回路が、前記データ処理動作を行う複数の仮想マシンをホストするように構成され、それぞれのアドレス変換に関連付けて、前記アドレス変換回路によって格納された前記対応する識別子が、仮想マシン識別子である、請求項1に記載の装置。
- 前記アドレス変換回路が、それぞれの格納されたアドレス変換に関連付けて、前記識別子グルーピング情報を格納するように構成される、請求項1又は請求項2に記載の装置。
- 前記識別子グルーピング情報が、前記無効化プロセスで、格納されたアドレス変換をマッチングする際に無視されるべき、前記指定の識別子の一部を前記無効化コマンドで指定する、請求項1から3までのいずれかに記載の装置。
- 前記識別子グルーピング情報が、前記指定の識別子の前記一部が、最上位部分であるか、又は最下位部分であるかを指定する、請求項4に記載の装置。
- 前記識別子グルーピング情報が、非ブロードキャスト・マーカを指定するように構成され、前記無効化コマンドがブロードキャスト無効化コマンドとして受信される場合、前記無効化コマンドに応じて、前記非ブロードキャスト・マーカで印付けされた、格納されたアドレス変換に対して、前記無効化プロセスが行われないようにする、請求項3から5までのいずれかに記載の装置。
- 前記装置が、前記アドレス変換回路によって行われた全てのアドレス無効化プロセスに適用するための、前記アドレス変換回路にとってアクセス可能な前記識別子グルーピング情報を格納するように構成される、請求項1から6までのいずれかに記載の装置。
- 前記アドレス変換回路が、前記無効化コマンド内の前記識別子グルーピング情報を特定するように構成される、請求項1から7までのいずれかに記載の装置。
- 前記データ処理回路が、2つのデータ処理モードのうちの1つで動作するように構成され、第1のデータ処理モードでは、前記データ処理回路が、前記無効化コマンドを、前記識別子グルーピング情報なしで発行するように構成され、且つ前記装置が、前記識別子グルーピング情報を、前記無効化コマンドに付加するように構成され、第2のデータ処理モードでは、前記データ処理回路が、前記無効化コマンドを発行し、且つ前記識別子グルーピング情報を、前記無効化コマンドそのものに付加するように構成される、請求項8に記載の装置。
- 前記データ処理回路が、少なくとも2つのデータ処理デバイスを備え、それぞれの識別子グループに対して、前記アドレス変換回路が、前記少なくとも2つのデータ処理デバイスのうちの第1のデータ処理デバイスに、その識別子グルーブの第1の識別子のみに対するアドレス変換を提供し、且つ前記少なくとも2つのデータ処理デバイスのうちの第2のデータ処理デバイスに、その識別子グルーブのいずれかの識別子に対するアドレス変換を提供するように構成される、請求項1から9までのいずれかに記載の装置。
- 前記アドレス変換回路が、受信された第1のアドレス及び受信された識別子に対して、アドレス変換が格納されるかどうかを判断するルックアップ・プロセスを行うように構成され、前記アドレス変換回路が、それぞれの格納されたアドレス変換に関連付けて、ルックアップ・マッチ修飾子を格納するように構成され、前記ルックアップ・マッチ修飾子が第1の値を有する場合、前記ルックアップ・プロセスが、前記受信された識別子が格納された識別子に完全に一致する場合にのみ、前記アドレス変換を確認するように構成され、前記ルックアップ・マッチ修飾子が第2の値を有する場合、前記ルックアップ・プロセスが、前記受信された識別子が、前記格納された識別子用の識別子グルーピング情報によって定義されるように、前記格納された識別子が属する識別子グループ内のいずれかの識別子に一致する場合に、前記アドレス変換を確認するように構成される、請求項1から10までのいずれかに記載の装置。
- 前記アドレス変換回路が、前記ルックアップ・プロセスの結果としてアドレス変換が確認されない場合には、メモリから前記アドレス変換をフェッチする検索プロセスを開始するように構成され、前記ルックアップ・マッチ修飾子が前記第1の値を有し、前記検索プロセスが、前記受信された識別子は一致しなかったが、前記受信された識別子が、前記アドレス変換回路における一致する格納された識別子も属する識別子グループに属することから、前記ルックアップ・プロセスの結果として、アドレス変換が確認されなかったことを示し、且つ、前記検索プロセスが、メモリからフェッチされた前記アドレス変換が、そうでなければ、前記格納された識別子に対して格納された前記アドレス変換に一致することを示す場合、前記アドレス変換回路が、前記格納された識別子に対する前記ルックアップ・マッチ修飾子が前記第2の値を有するよう変更するように、さらに構成される、請求項11に記載の装置。
- 前記アドレス変換回路が、前記第1のアドレッシング・システムにおけるページ・テーブルに対する、前記第2のアドレッシング・システムにおけるページ・テーブルへのアドレス変換を格納するように構成される、トランスレーション・ルックアサイド・バッファである、請求項1から12までのいずれかに記載の装置。
- 前記データ処理回路が、少なくとも2つのデータ処置デバイスを備え、前記少なくとも2つのデータ処置デバイスのうちの第1のデータ処理デバイスが、汎用中央処理ユニットであり、前記少なくとも2つのデータ処置デバイスのうちの第2のデータ処理デバイスが、前記汎用中央処理ユニットに代わって、前記データ処理動作の少なくともいくつかを行うように構成されたスレーブ・デバイスである、請求項1から13までのいずれかに記載の装置。
- データ処理の方法であって、
メモリに格納されたデータ値を参照して、データ処理動作を行うステップであって、それぞれのデータ処理動作が、それに関連付けられた識別子を有する、ステップと、
前記データ処理回路によって行われた前記データ処理動作に対応する、第1のアドレッシング・システムで使用された第1のアドレスと、前記メモリによって使用された、第2のアドレッシング・システムで使用された第2のアドレスとの間のアドレス変換を格納するステップであって、それぞれの格納されるアドレス変換が、対応する識別子といっしょに格納される、ステップと、
無効化コマンドに応じて、選択され格納されたアドレス変換に無効化プロセスを行って、前記選択され格納されたアドレス変換を無効化するステップであって、前記選択され格納されたアドレス変換が、指定の第1のアドレス及び指定の識別子によって、無効化コマンドで特定される、ステップと、
識別子グルーピング情報によってさらに構成された前記無効化プロセスを行うステップであって、前記識別子グルーピング情報が、複数の識別子を、識別子グループとして互いに関連付け、前記無効化プロセスが、前記指定の第1のアドレスに一致し、且つ前記指定の識別子が属する前記識別子グループ内のいずれかの識別子に一致する、全ての格納されたアドレス変換に適用される、ステップと
を含む、データ処理の方法。 - データ処理のための装置であって、
メモリに格納されたデータ値を参照して、データ処理動作を行う手段であって、それぞれのデータ処理動作が、それに関連付けられた識別子を有する、手段と、
前記データ処理回路によって行われた前記データ処理動作に対応する、第1のアドレッシング・システムで使用された第1のアドレスと、前記メモリによって使用された、第2のアドレッシング・システムで使用された第2のアドレスとの間のアドレス変換を格納する手段であって、それぞれの格納されるアドレス変換が、対応する識別子といっしょに格納される、手段と、
無効化コマンドに応じて、選択され格納されたアドレス変換に無効化プロセスを行って、前記選択され格納されたアドレス変換を無効化する手段であって、前記選択され格納されたアドレス変換が、指定の第1のアドレス及び指定の識別子によって、前記無効化コマンドで特定される、手段と、
識別子グルーピング情報によってさらに構成された前記無効化プロセスを行う手段であって、前記識別子グルーピング情報が、複数の識別子を、識別子グループとして互いに関連付け、前記無効化プロセスが、前記指定の第1のアドレスに一致し、且つ前記指定の識別子が属する前記識別子グループ内のいずれかの識別子に一致する、全ての格納されたアドレス変換に適用される、手段と
を備える、データ処理のための装置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/186,091 US9619387B2 (en) | 2014-02-21 | 2014-02-21 | Invalidating stored address translations |
US14/186,091 | 2014-02-21 | ||
PCT/GB2015/050282 WO2015124899A1 (en) | 2014-02-21 | 2015-02-03 | Invalidating stored address translations |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017517040A true JP2017517040A (ja) | 2017-06-22 |
JP6509241B2 JP6509241B2 (ja) | 2019-05-08 |
Family
ID=52484511
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016551713A Active JP6509241B2 (ja) | 2014-02-21 | 2015-02-03 | 格納されたアドレス変換の無効化 |
Country Status (7)
Country | Link |
---|---|
US (1) | US9619387B2 (ja) |
EP (1) | EP3108372B1 (ja) |
JP (1) | JP6509241B2 (ja) |
KR (1) | KR102317332B1 (ja) |
CN (1) | CN105980994B (ja) |
IL (1) | IL246850B (ja) |
WO (1) | WO2015124899A1 (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019096309A (ja) * | 2017-11-22 | 2019-06-20 | エイアールエム リミテッド | メンテナンス動作の実行 |
JP2019517052A (ja) * | 2016-03-31 | 2019-06-20 | クアルコム,インコーポレイテッド | メモリ管理ユニットおよび分散仮想メモリネットワークのためのハードウェア管理電力コラプスおよびクロックウェイクアップ |
JP2020525905A (ja) * | 2017-06-28 | 2020-08-27 | エイアールエム リミテッド | アドレス変換データの無効化 |
JP2020529656A (ja) * | 2017-07-31 | 2020-10-08 | エイアールエム リミテッド | アドレス変換キャッシュ |
JP7470112B2 (ja) | 2018-11-02 | 2024-04-17 | アーム・リミテッド | 持続性メモリクリーニング |
Families Citing this family (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9232959B2 (en) | 2007-01-02 | 2016-01-12 | Aquabeam, Llc | Multi fluid tissue resection methods and devices |
EP2259742B1 (en) | 2008-03-06 | 2020-01-01 | AquaBeam LLC | Tissue ablation and cautery with optical energy carried in fluid stream |
EP2819599B1 (en) | 2012-02-29 | 2018-05-23 | Procept Biorobotics Corporation | Automated image-guided tissue resection and treatment |
GB2529394A (en) * | 2014-08-14 | 2016-02-24 | Ibm | Multiprocessor computer system |
US9697137B2 (en) * | 2014-11-14 | 2017-07-04 | Cavium, Inc. | Filtering translation lookaside buffer invalidations |
US9684606B2 (en) * | 2014-11-14 | 2017-06-20 | Cavium, Inc. | Translation lookaside buffer invalidation suppression |
US9898418B2 (en) * | 2015-05-21 | 2018-02-20 | Via Alliance Semiconductor Co., Ltd. | Processor including single invalidate page instruction |
GB2579721B (en) * | 2015-12-02 | 2020-09-16 | Imagination Tech Ltd | GPU virtualisation |
GB2545170B (en) | 2015-12-02 | 2020-01-08 | Imagination Tech Ltd | GPU virtualisation |
US10042777B2 (en) * | 2016-03-30 | 2018-08-07 | Qualcomm Incorporated | Hardware-based translation lookaside buffer (TLB) invalidation |
US9910799B2 (en) | 2016-04-04 | 2018-03-06 | Qualcomm Incorporated | Interconnect distributed virtual memory (DVM) message preemptive responding |
US10540292B2 (en) * | 2016-06-08 | 2020-01-21 | Google Llc | TLB shootdowns for low overhead |
EP3255550B1 (en) * | 2016-06-08 | 2019-04-03 | Google LLC | Tlb shootdowns for low overhead |
US10599569B2 (en) | 2016-06-23 | 2020-03-24 | International Business Machines Corporation | Maintaining consistency between address translations in a data processing system |
CN107562514B (zh) * | 2017-08-03 | 2020-11-24 | 致象尔微电子科技(上海)有限公司 | 一种物理内存访问控制与隔离方法 |
US10599461B2 (en) | 2017-09-19 | 2020-03-24 | Microsoft Technology Licensing, Llc | Nested hypervisor memory virtualization |
US10649907B2 (en) * | 2018-03-22 | 2020-05-12 | Arm Limited | Apparatus and method for handling page invalidate requests in an address translation cache |
US11249918B2 (en) * | 2018-10-30 | 2022-02-15 | Hewlett Packard Enterprise Development Lp | Mapping entry invalidation |
US11836091B2 (en) | 2018-10-31 | 2023-12-05 | Advanced Micro Devices, Inc. | Secure memory access in a virtualized computing environment |
US10942853B2 (en) * | 2018-12-20 | 2021-03-09 | International Business Machines Corporation | System and method including broadcasting an address translation invalidation instruction with a return marker to indentify the location of data in a computing system having mutiple processors |
US10915456B2 (en) * | 2019-05-21 | 2021-02-09 | International Business Machines Corporation | Address translation cache invalidation in a microprocessor |
US20210064528A1 (en) * | 2019-08-26 | 2021-03-04 | Arm Limited | Filtering invalidation requests |
CN112463657B (zh) * | 2019-09-09 | 2024-06-18 | 阿里巴巴集团控股有限公司 | 一种地址转换缓存清除指令的处理方法和处理装置 |
US11243864B2 (en) | 2019-09-17 | 2022-02-08 | International Business Machines Corporation | Identifying translation errors |
US11853225B2 (en) * | 2019-10-11 | 2023-12-26 | Texas Instruments Incorporated | Software-hardware memory management modes |
CN111338987B (zh) * | 2020-02-13 | 2023-12-12 | 江苏华创微系统有限公司 | 快速无效组相联tlb的方法 |
US11200175B2 (en) * | 2020-03-20 | 2021-12-14 | Arm Limited | Memory accessor invailidation |
US11288207B2 (en) * | 2020-03-30 | 2022-03-29 | Arm Limited | Apparatus and method for processing address translation and invalidation transactions |
US11507515B1 (en) * | 2021-06-29 | 2022-11-22 | Arm Limited | Memory management unit with address translation cache |
WO2023034662A1 (en) * | 2021-09-02 | 2023-03-09 | Nuvia, Inc. | System and methods for invalidating translation information in caches |
US20230064603A1 (en) * | 2021-09-02 | 2023-03-02 | Nuvia, Inc. | System and methods for invalidating translation information in caches |
CN114064517A (zh) | 2021-11-19 | 2022-02-18 | 上海兆芯集成电路有限公司 | 指定密钥进行高速缓存写回且无效的计算机系统及方法 |
CN114064518A (zh) | 2021-11-19 | 2022-02-18 | 上海兆芯集成电路有限公司 | 指定密钥辨识码进行转译后备缓冲区清除的处理器和方法 |
US11853228B1 (en) * | 2022-06-10 | 2023-12-26 | Arm Limited | Partial-address-translation-invalidation request |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS61292761A (ja) * | 1985-06-20 | 1986-12-23 | Mitsubishi Electric Corp | アドレス変換方式 |
JPH07134658A (ja) * | 1993-11-09 | 1995-05-23 | Hitachi Ltd | 仮想計算機システムのアドレス変換バッファ制御方式 |
US6957315B2 (en) * | 2000-08-21 | 2005-10-18 | Texas Instruments Incorporated | TLB lock and unlock operation |
Family Cites Families (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4885680A (en) | 1986-07-25 | 1989-12-05 | International Business Machines Corporation | Method and apparatus for efficiently handling temporarily cacheable data |
JP2510605B2 (ja) | 1987-07-24 | 1996-06-26 | 株式会社日立製作所 | 仮想計算機システム |
JPH0784883A (ja) | 1993-09-17 | 1995-03-31 | Hitachi Ltd | 仮想計算機システムのアドレス変換バッファパージ方法 |
US6314492B1 (en) | 1998-05-27 | 2001-11-06 | International Business Machines Corporation | System and method for server control of client cache |
US6854033B2 (en) | 2001-06-29 | 2005-02-08 | Intel Corporation | Using linked list for caches with variable length data |
US6826671B2 (en) * | 2001-10-09 | 2004-11-30 | Sun Microsystems, Inc. | Method and device for a context-based memory management system |
US7346757B2 (en) | 2002-10-08 | 2008-03-18 | Rmi Corporation | Advanced processor translation lookaside buffer management in a multithreaded system |
US7284100B2 (en) * | 2003-05-12 | 2007-10-16 | International Business Machines Corporation | Invalidating storage, clearing buffer entries, and an instruction therefor |
CN100382034C (zh) * | 2004-09-29 | 2008-04-16 | 索尼株式会社 | 信息处理设备和处理控制方法 |
US7334107B2 (en) * | 2004-09-30 | 2008-02-19 | Intel Corporation | Caching support for direct memory access address translation |
US7386670B2 (en) * | 2004-10-19 | 2008-06-10 | Platform Solutions, Inc. | Processing of self-modifying code in multi-address-space and multi-processor systems |
US7734892B1 (en) | 2005-03-31 | 2010-06-08 | Rozas Guillermo J | Memory protection and address translation hardware support for virtual machines |
US7447869B2 (en) | 2005-04-07 | 2008-11-04 | Ati Technologies, Inc. | Method and apparatus for fragment processing in a virtual memory system |
US7546420B1 (en) * | 2005-09-28 | 2009-06-09 | Sun Microsystems, Inc. | Efficient trace cache management during self-modifying code processing |
US7802055B2 (en) | 2006-04-19 | 2010-09-21 | Qualcomm Incorporated | Virtually-tagged instruction cache with physically-tagged behavior |
US7555628B2 (en) * | 2006-08-15 | 2009-06-30 | Intel Corporation | Synchronizing a translation lookaside buffer to an extended paging table |
US7590817B2 (en) * | 2006-10-17 | 2009-09-15 | International Business Machines Corporation | Communicating with an I/O device using a queue data structure and pre-translated addresses |
US8112174B2 (en) | 2008-02-25 | 2012-02-07 | International Business Machines Corporation | Processor, method and computer program product for fast selective invalidation of translation lookaside buffer |
US8464000B2 (en) * | 2008-02-29 | 2013-06-11 | Qualcomm Incorporated | Systems and methods for cache line replacements |
US8166276B2 (en) * | 2009-02-27 | 2012-04-24 | Advanced Micro Devices, Inc. | Translate and verify instruction for a processor |
US8635430B2 (en) * | 2010-06-23 | 2014-01-21 | International Business Machines Corporation | Translation of input/output addresses to memory addresses |
US9465748B2 (en) | 2011-12-30 | 2016-10-11 | Advanced Micro Devices, Inc. | Instruction fetch translation lookaside buffer management to support host and guest O/S translations |
US8964735B2 (en) * | 2012-05-18 | 2015-02-24 | Rackspace Us, Inc. | Translating media access control (MAC) addresses in a network hierarchy |
US9116793B2 (en) * | 2012-06-12 | 2015-08-25 | International Business Machines Corporation | Maintaining versions of data in solid state memory |
US20140006681A1 (en) * | 2012-06-29 | 2014-01-02 | Broadcom Corporation | Memory management in a virtualization environment |
-
2014
- 2014-02-21 US US14/186,091 patent/US9619387B2/en active Active
-
2015
- 2015-02-03 WO PCT/GB2015/050282 patent/WO2015124899A1/en active Application Filing
- 2015-02-03 CN CN201580008605.8A patent/CN105980994B/zh active Active
- 2015-02-03 EP EP15705362.0A patent/EP3108372B1/en active Active
- 2015-02-03 JP JP2016551713A patent/JP6509241B2/ja active Active
- 2015-02-03 KR KR1020167024444A patent/KR102317332B1/ko active IP Right Grant
-
2016
- 2016-07-20 IL IL246850A patent/IL246850B/en active IP Right Grant
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS61292761A (ja) * | 1985-06-20 | 1986-12-23 | Mitsubishi Electric Corp | アドレス変換方式 |
JPH07134658A (ja) * | 1993-11-09 | 1995-05-23 | Hitachi Ltd | 仮想計算機システムのアドレス変換バッファ制御方式 |
US6957315B2 (en) * | 2000-08-21 | 2005-10-18 | Texas Instruments Incorporated | TLB lock and unlock operation |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019517052A (ja) * | 2016-03-31 | 2019-06-20 | クアルコム,インコーポレイテッド | メモリ管理ユニットおよび分散仮想メモリネットワークのためのハードウェア管理電力コラプスおよびクロックウェイクアップ |
JP2020525905A (ja) * | 2017-06-28 | 2020-08-27 | エイアールエム リミテッド | アドレス変換データの無効化 |
US11615032B2 (en) | 2017-06-28 | 2023-03-28 | Arm Limited | Address translation data invalidation |
JP2020529656A (ja) * | 2017-07-31 | 2020-10-08 | エイアールエム リミテッド | アドレス変換キャッシュ |
JP7133615B2 (ja) | 2017-07-31 | 2022-09-08 | アーム・リミテッド | アドレス変換キャッシュ |
US11853226B2 (en) | 2017-07-31 | 2023-12-26 | Arm Limited | 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 |
JP2019096309A (ja) * | 2017-11-22 | 2019-06-20 | エイアールエム リミテッド | メンテナンス動作の実行 |
JP7340326B2 (ja) | 2017-11-22 | 2023-09-07 | アーム・リミテッド | メンテナンス動作の実行 |
JP7470112B2 (ja) | 2018-11-02 | 2024-04-17 | アーム・リミテッド | 持続性メモリクリーニング |
Also Published As
Publication number | Publication date |
---|---|
IL246850B (en) | 2019-02-28 |
CN105980994A (zh) | 2016-09-28 |
US9619387B2 (en) | 2017-04-11 |
CN105980994B (zh) | 2019-08-16 |
KR102317332B1 (ko) | 2021-10-26 |
WO2015124899A1 (en) | 2015-08-27 |
JP6509241B2 (ja) | 2019-05-08 |
EP3108372B1 (en) | 2018-07-11 |
KR20160124792A (ko) | 2016-10-28 |
EP3108372A1 (en) | 2016-12-28 |
US20150242319A1 (en) | 2015-08-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6509241B2 (ja) | 格納されたアドレス変換の無効化 | |
US20210365386A1 (en) | Handling address translation requests | |
JP6106765B2 (ja) | メモリ保護ユニットを使用して、仮想化をサポートするゲスト・オペレーティング・システム | |
US20130013889A1 (en) | Memory management unit using stream identifiers | |
EP3329378B1 (en) | Address caching in switches | |
JP6133896B2 (ja) | 物理アドレスを用いる非割当てメモリアクセス | |
JP5914145B2 (ja) | メモリ保護回路、処理装置、およびメモリ保護方法 | |
US10649907B2 (en) | Apparatus and method for handling page invalidate requests in an address translation cache | |
KR20130048191A (ko) | 가상 처리 시스템에서 어드레스 맵핑 | |
US20170344492A1 (en) | Address translation within a virtualised system background | |
US20180157601A1 (en) | Apparatus and method for avoiding conflicting entries in a storage structure | |
CN117349197A (zh) | 内存管理单元和内存访问方法 | |
US20230109295A1 (en) | Controlling memory access in a data processing systems with multiple subsystems | |
US11009841B2 (en) | Initialising control data for a device | |
CN112585590A (zh) | 存储器访问控制 | |
US20240070071A1 (en) | Context information translation cache | |
US11934320B2 (en) | Translation lookaside buffer invalidation | |
WO2023064590A1 (en) | Software indirection level for address translation sharing | |
US20170004091A1 (en) | Translation buffer unit management | |
JP2012119012A (ja) | プロセッサ、バスインターフェース装置、およびコンピュータシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20180126 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20181114 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20181122 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190221 |
|
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: 20190308 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20190402 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6509241 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 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |