JP2020525905A - アドレス変換データの無効化 - Google Patents
アドレス変換データの無効化 Download PDFInfo
- Publication number
- JP2020525905A JP2020525905A JP2019570895A JP2019570895A JP2020525905A JP 2020525905 A JP2020525905 A JP 2020525905A JP 2019570895 A JP2019570895 A JP 2019570895A JP 2019570895 A JP2019570895 A JP 2019570895A JP 2020525905 A JP2020525905 A JP 2020525905A
- Authority
- JP
- Japan
- Prior art keywords
- translation
- address
- buffer
- given
- context
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000013519 translation Methods 0.000 title claims abstract description 211
- 239000000872 buffer Substances 0.000 claims abstract description 172
- 238000012545 processing Methods 0.000 claims abstract description 76
- 238000006243 chemical reaction Methods 0.000 claims abstract description 20
- 238000000034 method Methods 0.000 claims description 30
- 230000008569 process Effects 0.000 claims description 19
- 238000013507 mapping Methods 0.000 claims description 16
- 238000004590 computer program Methods 0.000 claims description 11
- 230000004044 response Effects 0.000 claims description 8
- 206010000210 abortion Diseases 0.000 claims description 6
- 238000011010 flushing procedure Methods 0.000 claims description 4
- 238000004088 simulation Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000010200 validation analysis Methods 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]
-
- 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/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
- G06F12/0873—Mapping of cache memory to specific storage devices or parts thereof
-
- 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/46—Multiprogramming arrangements
- G06F9/466—Transaction processing
- G06F9/467—Transactional memory
-
- 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
-
- 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/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)
- Machine Translation (AREA)
- Executing Machine-Instructions (AREA)
Abstract
Description
受信したアドレスを変換後のアドレスにマッピングするためのそれぞれのアドレス変換データを格納するための1つ又は複数の変換バッファと、
プログラム命令を実行するための処理回路とを含み、
前記処理回路が、所与のアドレス変換コンテキストを用いて実行する一連のプログラム命令内の変換バッファ無効化命令に応答して、前記1つ又は複数の変換バッファに変換バッファ無効化信号をブロードキャストし、
前記変換バッファ無効化信号が前記所与のアドレス変換コンテキストを指定する、装置を提供する。
受信したアドレスを変換後のアドレスにマッピングするためのそれぞれのアドレス変換データを格納するための1つ又は複数の変換バッファ手段と、
プログラム命令を実行するための処理手段とを含み、
前記処理手段が、所与のアドレス変換コンテキストを用いて実行する一連のプログラム命令内の変換バッファ無効化命令に応答して、前記1つ又は複数の変換バッファに変換バッファ無効化信号をブロードキャストし、
前記変換バッファ無効化信号が前記所与のアドレス変換コンテキストを指定する、装置を提供する。
受信したアドレスを変換後のアドレスにマッピングするためのそれぞれのアドレス変換データを1つ又は複数の変換バッファに格納するステップと、
プログラム命令を実行するステップとを含み、
所与のアドレス変換コンテキストを用いて実行する一連のプログラム命令内の変換バッファ無効化命令に応答して、前記1つ又は複数の変換バッファに変換バッファ無効化信号をブロードキャストし、
前記変換バッファ無効化信号が前記所与のアドレス変換コンテキストを指定する、方法を提供する。
受信したアドレスを変換後のアドレスにマッピングするためのそれぞれのアドレス変換データを格納するための1つ又は複数の変換バッファ・データ構造と、
プログラム命令を実行するための処理プログラム・ロジックとを含み、
前記処理プログラム・ロジックが所与のアドレス変換コンテキストを用いて実行する一連のプログラム命令内の変換バッファ無効化命令に応答して、前記1つ又は複数の変換バッファ・データ構造に変換バッファ無効化信号をブロードキャストし、
前記変換バッファ無効化信号が前記所与のアドレス変換コンテキストを指定する、コンピュータ・プログラムを提供する。
Claims (18)
- データを処理するための装置であって、
受信したアドレスを変換後のアドレスにマッピングするためのそれぞれのアドレス変換データを格納するための1つ又は複数の変換バッファと、
プログラム命令を実行するための処理回路とを含み、
前記処理回路が、所与のアドレス変換コンテキストを用いて実行する一連のプログラム命令内の変換バッファ無効化命令に応答して、前記1つ又は複数の変換バッファに変換バッファ無効化信号をブロードキャストし、
前記変換バッファ無効化信号が前記所与のアドレス変換コンテキストを指定する、装置。 - 前記装置が、複数の仮想マシン実行コンテキストの実行をサポートし、前記所与のアドレス変換コンテキストが、前記変換バッファ無効化命令の仮想マシン実行コンテキストを識別するための仮想マシン識別子を含む、請求項1に記載の装置。
- 前記装置が、それぞれのアドレス空間変換マッピングを有する複数のプロセスの実行をサポートし、前記所与のアドレス変換コンテキストが、前記複数のプロセスの中の前記変換バッファ無効化命令のプロセスを識別するためのアドレス空間識別子を含む、請求項1又は2に記載の装置。
- 前記1つ又は複数の変換バッファの中の所与の変換バッファが、前記所与の変換バッファ内に格納された所与のアドレス変換データのアドレス変換コンテキストを指定する所与のバッファ・コンテキスト・データを格納する、請求項1から3までのいずれか一項に記載の装置。
- 前記所与の変換バッファに関するコンテキスト比較回路を含み、前記所与のバッファ・コンテキスト・データと前記所与のアドレス変換コンテキストを指定する前記信号との比較を実施する、請求項4に記載の装置。
- 前記所与のバッファ・コンテキスト・データが前記所与のアドレス変換コンテキストを指定する前記信号に合致する場合、前記比較回路は前記所与のアドレス変換データのフラッシュを許可し、
前記所与のバッファ・コンテキスト・データが前記所与のアドレス変換コンテキストを指定する前記信号と異なる場合、前記比較回路は前記所与のアドレス変換データのフラッシュを抑止する、請求項5に記載の装置。 - 前記処理回路が、前記所与の変換バッファ内に格納された前記所与のアドレス変換データを用いる処理要素を含み、
前記処理要素が、トランザクショナル・メモリ・アクセスをサポートし、それによって、トランザクション開始点とトランザクション・コミット点とに挟まれたプログラム命令を含むトランザクションが、アトミックに実行され、前記トランザクション・コミット点に達する前にアボートされ、前記トランザクション開始点に対応する状態に前記装置を回復することができ、
前記処理要素が、前記比較に基づいて、保留中のトランザクションを選択的にアボートする、請求項4、5、及び6のいずれか一項に記載の装置。 - 前記所与のバッファ・コンテキスト・データが前記所与のアドレス変換コンテキストを指定する前記信号と異なる場合、前記処理要素が前記保留中のトランザクションを継続する、請求項7に記載の装置。
- 前記変換バッファ無効化信号が、アドレス変換データが無効化される対象の1つ又は複数のターゲット受信アドレス値を指定し、
前記所与の変換バッファが、前記所与の変換バッファ内に格納された前記所与の変換データを使用中に前記処理要素からアクセスされる最小アドレス値及び最大アドレス値をトラッキングするための範囲トラッキング回路を含み、
前記1つ又は複数のターゲット受信アドレス値が前記最小アドレス値と前記最大アドレス値とに挟まれた範囲の外にある場合、前記処理要素が前記保留中のトランザクションを継続する、請求項7又は8に記載の装置。 - 前記所与のバッファ・コンテキスト・データが前記所与のアドレス変換コンテキストを指定する前記信号と合致し、前記1つ又は複数のターゲット受信アドレス値が前記最小アドレス値及び前記最大アドレス値によって挟まれた範囲内にある場合、前記処理要素が前記保留中のトランザクションをアボートする、請求項9に記載の装置。
- 前記処理要素が、複数のプログラム・スレッドのインターリーブ実行をサポートし、前記所与の変換バッファが、前記複数のプログラム・スレッドのそれぞれについて、所与のバッファ・コンテキスト・データと、前記最小アドレス値及び前記最大アドレス値を特徴付ける範囲トラッキング・データとを格納する、請求項9又は10に記載の装置。
- 前記処理要素が、汎用プロセッサ及び画像処理ユニットのうちの1つを含む、請求項7から11までのいずれか一項に記載の装置。
- 前記アドレス変換データが、
仮想アドレスと物理アドレスとのマッピング、
仮想アドレスと中間物理アドレスとのマッピング、
のうちの1つを提供する、請求項1から12までのいずれか一項に記載の装置。 - 前記1つ又は複数の変換バッファが、1つ又は複数の変換索引バッファを含む、請求項1から13までのいずれか一項に記載の装置。
- データを処理するための装置であって、
受信したアドレスを変換後のアドレスにマッピングするためのそれぞれのアドレス変換データを格納するための1つ又は複数の変換バッファ手段と、
プログラム命令を実行するための処理手段とを含み、
前記処理手段が、所与のアドレス変換コンテキストを用いて実行する一連のプログラム命令内の変換バッファ無効化命令に応答して、前記1つ又は複数の変換バッファに変換バッファ無効化信号をブロードキャストし、
前記変換バッファ無効化信号が前記所与のアドレス変換コンテキストを指定する、装置。 - データを処理する方法であって、
受信したアドレスを変換後のアドレスにマッピングするためのそれぞれのアドレス変換データを1つ又は複数の変換バッファ内に格納するステップと、
プログラム命令を実行するステップとを含み、
所与のアドレス変換コンテキストを用いて実行する一連のプログラム命令内の変換バッファ無効化命令に応答して、前記1つ又は複数の変換バッファに変換バッファ無効化信号をブロードキャストし、
前記変換バッファ無効化信号が前記所与のアドレス変換コンテキストを指定する、方法。 - ホスト・データ処理装置を制御して命令実行環境を提供するためのコンピュータ・プログラムであって、
受信したアドレスを変換後のアドレスにマッピングするためのそれぞれのアドレス変換データを格納するための1つ又は複数の変換バッファ・データ構造と、
プログラム命令を実行するための処理プログラム・ロジックとを含み、
前記処理プログラム・ロジックが、所与のアドレス変換コンテキストを用いて実行する一連のプログラム命令内の変換バッファ無効化命令に応答して、前記1つ又は複数の変換バッファ・データ構造に変換バッファ無効化信号をブロードキャストし、
前記変換バッファ無効化信号が前記所与のアドレス変換コンテキストを指定する、コンピュータ・プログラム。 - 請求項17に記載のコンピュータ・プログラムを格納する記憶媒体。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP17386022.2A EP3422192B1 (en) | 2017-06-28 | 2017-06-28 | Address translation data invalidation |
EP17386022.2 | 2017-06-28 | ||
PCT/EP2018/064497 WO2019001896A1 (en) | 2017-06-28 | 2018-06-01 | INVALIDATION OF ADDRESS TRANSLATION DATA |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2020525905A true JP2020525905A (ja) | 2020-08-27 |
Family
ID=59350848
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019570895A Pending JP2020525905A (ja) | 2017-06-28 | 2018-06-01 | アドレス変換データの無効化 |
Country Status (8)
Country | Link |
---|---|
US (1) | US11615032B2 (ja) |
EP (1) | EP3422192B1 (ja) |
JP (1) | JP2020525905A (ja) |
KR (1) | KR102635247B1 (ja) |
CN (1) | CN110770709B (ja) |
IL (1) | IL270987B (ja) |
TW (1) | TWI790242B (ja) |
WO (1) | WO2019001896A1 (ja) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10977183B2 (en) * | 2018-12-11 | 2021-04-13 | International Business Machines Corporation | Processing a sequence of translation entry invalidation requests with regard to draining a processor core |
US10915456B2 (en) * | 2019-05-21 | 2021-02-09 | International Business Machines Corporation | Address translation cache invalidation in a microprocessor |
CN112463657B (zh) * | 2019-09-09 | 2024-06-18 | 阿里巴巴集团控股有限公司 | 一种地址转换缓存清除指令的处理方法和处理装置 |
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 |
US11615033B2 (en) * | 2020-09-09 | 2023-03-28 | Apple Inc. | Reducing translation lookaside buffer searches for splintered pages |
WO2023034662A1 (en) * | 2021-09-02 | 2023-03-09 | Nuvia, Inc. | System and methods for invalidating translation information in caches |
US11748300B2 (en) * | 2021-11-18 | 2023-09-05 | Vmware, Inc. | Reverse deletion of a chain of snapshots |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06139149A (ja) * | 1992-10-29 | 1994-05-20 | Mitsubishi Electric Corp | 多重仮想空間制御装置 |
US20140075151A1 (en) * | 2012-09-07 | 2014-03-13 | International Business Machines Corporation | Detection of conflicts between transactions and page shootdowns |
JP2017517040A (ja) * | 2014-02-21 | 2017-06-22 | エイアールエム リミテッド | 格納されたアドレス変換の無効化 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7206916B2 (en) * | 2004-03-08 | 2007-04-17 | Sun Microsystems, Inc. | Partial address compares stored in translation lookaside buffer |
US7802055B2 (en) * | 2006-04-19 | 2010-09-21 | Qualcomm Incorporated | Virtually-tagged instruction cache with physically-tagged behavior |
US8005661B2 (en) * | 2007-05-07 | 2011-08-23 | Nec Laboratories America, Inc. | Modeling and verification of concurrent systems using SMT-based BMC |
US10146545B2 (en) * | 2012-03-13 | 2018-12-04 | Nvidia Corporation | Translation address cache for a microprocessor |
US9086987B2 (en) * | 2012-09-07 | 2015-07-21 | International Business Machines Corporation | Detection of conflicts between transactions and page shootdowns |
US10169091B2 (en) * | 2012-10-25 | 2019-01-01 | Nvidia Corporation | Efficient memory virtualization in multi-threaded processing units |
US10310973B2 (en) * | 2012-10-25 | 2019-06-04 | Nvidia Corporation | Efficient memory virtualization in multi-threaded processing units |
GB2528061B (en) * | 2014-07-08 | 2021-04-21 | Advanced Risc Mach Ltd | Translating between memory transactions of first type and memory transactions of a second type |
US9940287B2 (en) | 2015-03-27 | 2018-04-10 | Intel Corporation | Pooled memory address translation |
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) |
US9733689B2 (en) * | 2015-06-27 | 2017-08-15 | Intel Corporation | Hardware apparatuses and methods to perform transactional power management |
US11023233B2 (en) * | 2016-02-09 | 2021-06-01 | Intel Corporation | Methods, apparatus, and instructions for user level thread suspension |
-
2017
- 2017-06-28 EP EP17386022.2A patent/EP3422192B1/en active Active
-
2018
- 2018-06-01 WO PCT/EP2018/064497 patent/WO2019001896A1/en active Application Filing
- 2018-06-01 JP JP2019570895A patent/JP2020525905A/ja active Pending
- 2018-06-01 US US16/625,102 patent/US11615032B2/en active Active
- 2018-06-01 KR KR1020207001455A patent/KR102635247B1/ko active IP Right Grant
- 2018-06-01 CN CN201880041764.1A patent/CN110770709B/zh active Active
- 2018-06-25 TW TW107121680A patent/TWI790242B/zh active
-
2019
- 2019-11-27 IL IL270987A patent/IL270987B/en unknown
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06139149A (ja) * | 1992-10-29 | 1994-05-20 | Mitsubishi Electric Corp | 多重仮想空間制御装置 |
US20140075151A1 (en) * | 2012-09-07 | 2014-03-13 | International Business Machines Corporation | Detection of conflicts between transactions and page shootdowns |
JP2017517040A (ja) * | 2014-02-21 | 2017-06-22 | エイアールエム リミテッド | 格納されたアドレス変換の無効化 |
Non-Patent Citations (1)
Title |
---|
ROBERT BEDICHEK: "Some Efficient Architecture Simulation Techniques", PROCEEDINGS OF THE WINTER 1990 USENIX CONFERENCE, JPN7022001883, 22 January 1990 (1990-01-22), US, pages 53 - 63, ISSN: 0004898126 * |
Also Published As
Publication number | Publication date |
---|---|
TW201907308A (zh) | 2019-02-16 |
EP3422192B1 (en) | 2020-08-12 |
CN110770709A (zh) | 2020-02-07 |
WO2019001896A1 (en) | 2019-01-03 |
CN110770709B (zh) | 2023-10-20 |
IL270987B (en) | 2022-06-01 |
US20200167292A1 (en) | 2020-05-28 |
KR20200023380A (ko) | 2020-03-04 |
IL270987A (en) | 2020-01-30 |
EP3422192A1 (en) | 2019-01-02 |
US11615032B2 (en) | 2023-03-28 |
KR102635247B1 (ko) | 2024-02-08 |
TWI790242B (zh) | 2023-01-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11615032B2 (en) | Address translation data invalidation | |
CN107735775B (zh) | 用于使用与指针相关联的范围信息来执行指令的装置和方法 | |
JP5608594B2 (ja) | プレロード命令制御 | |
US10564973B2 (en) | Apparatus and method for sharing branch information storage entries between threads that share an address translation regime | |
US20190220279A1 (en) | Simulation of exclusive instructions | |
JP6874264B2 (ja) | ベクトルアトミックメモリ更新命令 | |
CN112639750A (zh) | 用于控制存储器存取的装置及方法 | |
CN108463810B (zh) | 存储器地址变换管理 | |
JP2024523150A (ja) | メモリマッピング無効化要求の同時処理 | |
US9223600B1 (en) | In-processor dynamic address redirection table for substituting instruction strings | |
US11842195B2 (en) | Conditional yield to hypervisor instruction | |
TWI801622B (zh) | 用於處理保護標籤損失的裝置、方法、電腦程式、與儲存媒體 | |
US11409551B2 (en) | Emulating VPID correctly for a nested hypervisor | |
JP2022502729A (ja) | メモリ・アクセス制御 | |
US11550651B2 (en) | Execution circuits using discardable state | |
JP7369720B2 (ja) | アクションをトリガするための装置及び方法 | |
TW202427202A (zh) | 用於執行轉譯表項目載入/儲存操作之設備、方法、及電腦程式 | |
Taylor | Cachekata: memory hierarchy optimization via dynamic binary translation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210525 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20220413 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20220420 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220720 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20221018 |