JP6933896B2 - 複数のプロセッサ・コアを含むマルチスレッド・データ処理システムにおいて変換エントリを無効化する方法、処理ユニット、データ処理システム、設計構造体 - Google Patents
複数のプロセッサ・コアを含むマルチスレッド・データ処理システムにおいて変換エントリを無効化する方法、処理ユニット、データ処理システム、設計構造体 Download PDFInfo
- Publication number
- JP6933896B2 JP6933896B2 JP2016241038A JP2016241038A JP6933896B2 JP 6933896 B2 JP6933896 B2 JP 6933896B2 JP 2016241038 A JP2016241038 A JP 2016241038A JP 2016241038 A JP2016241038 A JP 2016241038A JP 6933896 B2 JP6933896 B2 JP 6933896B2
- Authority
- JP
- Japan
- Prior art keywords
- conversion
- request
- processor core
- invalidation request
- invalidation
- 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
- 238000012545 processing Methods 0.000 title claims description 140
- 238000013519 translation Methods 0.000 title claims description 43
- 238000013461 design Methods 0.000 title description 61
- 238000006243 chemical reaction Methods 0.000 claims description 145
- 238000000034 method Methods 0.000 claims description 107
- 230000015654 memory Effects 0.000 claims description 85
- 230000004044 response Effects 0.000 claims description 56
- 238000003860 storage Methods 0.000 claims description 31
- 239000004744 fabric Substances 0.000 claims description 10
- 238000012986 modification Methods 0.000 claims description 6
- 230000004048 modification Effects 0.000 claims description 6
- 238000012790 confirmation Methods 0.000 claims description 4
- 230000003139 buffering effect Effects 0.000 claims description 3
- 230000008569 process Effects 0.000 description 77
- 230000014616 translation Effects 0.000 description 33
- 238000012938 design process Methods 0.000 description 15
- 239000000872 buffer Substances 0.000 description 12
- 230000006870 function Effects 0.000 description 11
- 238000004519 manufacturing process Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 238000004088 simulation Methods 0.000 description 7
- 238000012360 testing method Methods 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 5
- 238000004148 unit process Methods 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 2
- 230000004888 barrier function Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 230000005291 magnetic effect Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000005266 casting Methods 0.000 description 1
- 230000001427 coherent effect Effects 0.000 description 1
- 238000011960 computer-aided design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000001747 exhibiting effect Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 238000001459 lithography Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 230000001343 mnemonic effect Effects 0.000 description 1
- 238000009740 moulding (composite fabrication) Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
- 230000026676 system process Effects 0.000 description 1
- 238000002076 thermal analysis method Methods 0.000 description 1
Images
Classifications
-
- 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/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
- G06F9/524—Deadlock detection or avoidance
-
- 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/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0842—Multiuser, multiprocessor or multiprocessing cache systems for multiprocessing or multitasking
-
- 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/30076—Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
- G06F9/3009—Thread control instructions
-
- 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/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3824—Operand accessing
- G06F9/3834—Maintaining memory consistency
-
- 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/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3851—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution from multiple instruction streams, e.g. multistreaming
-
- 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/542—Event management; Broadcasting; Multicasting; Notifications
-
- 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/68—Details of translation look-aside buffer [TLB]
- G06F2212/682—Multiprocessor TLB consistency
-
- 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
- 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/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
- G06F9/522—Barrier synchronisation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
102:処理ノード
104、104a〜104d:処理ユニット
108:システム・メモリ
110:システム相互接続
114:ローカル相互接続
200:プロセッサ・コア
222:ページ・フレーム・エントリ(PTE)
220:ページ・テーブル
230:レベル2(L2)キャッシュ
300:実行ユニット
308:メモリ管理ユニット(MMU)
310:変換構造
312:変換シーケンサ
302:レベル1(L1)キャッシュ
304:L1 STQ
320:L2 STQ
322:サイドカー論理
324:サイドカー
346:変換スヌープ(TSN)マシン
348:アービタ
400、420:命令シーケンス
1600:設計フロー
1610:設計プロセス
1620:設計構造体
Claims (13)
- 複数のプロセッサ・コアを含むマルチスレッド・データ処理システムにおいて、デッドロックなしに前記プロセッサ・コアにおける実効アドレスから実アドレスへの変換のための変換構造の変換エントリを無効化する方法であって、
前記複数のプロセッサ・コアのうちの開始プロセッサ・コアの同時に実行されている複数のハードウェア・スレッドのストレージ修正要求を共有キュー内に受け取ることであって、前記複数のハードウェア・スレッドのストレージ修正要求は、前記複数のハードウェア・スレッドのうちの開始ハードウェア・スレッドの変換無効化要求を含む、受け取ることと、
前記共有キュー内に前記変換無効化要求を受け取ることに応答して、前記共有キューから前記変換無効化要求を除去し、前記変換無効化要求をサイドカー論理内にバッファリングすることと、
前記変換無効化要求がサイドカー論理内にバッファリングされる間に、前記変換無効化要求が前記複数のプロセッサ・コアにより受け取られ処理されるように、前記サイドカー論理が、前記変換無効化要求をブロードキャストすることと、
前記開始プロセッサ・コアによる前記変換無効化要求の処理の完了を確認することに応答して、前記サイドカー論理が、前記サイドカー論理のサイドカーから前記変換無効化要求を除去することと、
ブロードキャスト同期要求により前記複数のプロセッサ・コアの全てにおける前記変換無効化要求の処理の完了を保証することと、
を含み、
前記開始プロセッサ・コアにおける前記変換無効化要求の処理の完了を確認する確認応答信号を受け取るまで、前記開始プロセッサ・コアが、プログラム順で前記変換無効化要求に続く前記開始ハードウェア・スレッド内の命令のディスパッチを停止することをさらに含む、
方法。 - 前記マルチスレッド・データ処理システムのシステム・ファブリック上の前記変換無効化要求のブロードキャストのスヌーピングに応答して、変換スヌープ・マシンと関連のあるスヌーピング・プロセッサ・コアにおける前記変換無効化要求の処理の完了を確認する信号を受け取り、その後、当該信号により変換スヌープ・マシンがリセットされて非アクティブ状態に戻るまで、変換スヌープ・マシンがアクティブ状態のままであることをさらに含む、請求項1に記載の方法。
- 前記変換無効化要求は実効アドレスを指定し、
前記開始プロセッサ・コアにおいて前記変換無効化要求を受け取ることに応答して、
前記開始プロセッサ・コアが、前記実効アドレスを変換する1つ又は複数の変換エントリを無効化し、
前記開始プロセッサ・コアが、前記1つ又は複数の変換エントリに依存する1つ又は複数のメモリ参照要求が前記開始プロセッサ・コアからドレインするのを待ち、その後、
前記開始プロセッサ・コアが、完了要求を前記共有キューに伝送して、前記開始プロセッサ・コアによる前記変換無効化要求の処理の完了の確認を提供する、
請求項1に記載の方法。 - 前記共有キューが前記完了要求を受け取ることに応答して、前記共有キューは、前記サイドカーから前記変換無効化要求を除去するより前に、前記共有キューから前記共有キュー内の全てのより古いストア要求がドレインされることを保証することをさらに含む、請求項3に記載の方法。
- 前記完了を保証することは、前記開始プロセッサ・コアにおける前記変換無効化要求の処理の完了を確認する確認応答信号を受け取って、前記開始プロセッサ・コアが、プログラム順で前記変換無効化要求に続く前記開始ハードウェア・スレッド内の命令のディスパッチを再開した後、前記共有キュー内に変換同期要求を受け取ることに応答して、前記共有キューから前記変換同期要求を除去し、前記変換同期要求を前記サイドカー論理内にバッファリングして、前記変換同期要求が前記サイドカー論理内にバッファリングされる間に、前記サイドカー論理が、前記変換同期要求を前記複数のプロセッサ・コアの全てにブロードキャストして、前記複数のプロセッサ・コアの全てにおける前記変換無効化要求の処理の完了を保証することを含む、請求項1に記載の方法。
- 前記開始プロセッサ・コアが、第1の同期命令の実行により、前記ブロードキャスト同期要求を生成することと、
前記開始プロセッサ・コアが、第2の同期命令の実行により、前記第1の同期命令に対する後のメモリ参照命令の実行を順序付けること、
をさらに含む、請求項1に記載の方法。 - 複数のプロセッサ・コアを含むマルチスレッド・データ処理システムのための処理ユニットであって、前記処理ユニットは、
アドレス変換をキャッシュする変換構造と、
前記変換構造を参照することにより、実効アドレスを実アドレスに変換するメモリ管理ユニットと、
複数のハードウェア・スレッドを同時に実行する実行ユニットであって、前記複数のハードウェア・スレッドのうちの開始スレッドは、対応する変換無効化命令の実行によって変換無効化要求を生成する、実行ユニットと、
前記同時に実行されている複数のハードウェア・スレッドのストレージ修正要求を受け取る共有キューであって、前記複数のハードウェア・スレッドのストレージ修正要求は前記変換無効化要求を含む、共有キューと、
前記共有キューに結合され、各々が前記複数のハードウェア・スレッドのそれぞれと関連付けられた複数のサイドカーを含む、サイドカー論理と、
を含むプロセッサ・コアを含み、前記処理ユニットは、
前記共有キュー内に前記変換無効化要求を受け取ることに応答して、前記共有キューから前記変換無効化要求を除去し、前記変換無効化要求を前記開始スレッドと関連したサイドカー内にバッファリングすることと、
前記変換無効化要求が前記サイドカー内にバッファリングされる間に、前記変換無効化要求が前記複数のプロセッサ・コアにより受け取られ処理されるように、前記変換無効化要求をブロードキャストすることと、
前記プロセッサ・コアによる前記変換無効化要求の処理の完了を確認することに応答して、前記サイドカーから前記変換無効化要求を除去することと、
ブロードキャスト同期要求により前記複数のプロセッサ・コアの全てにおける前記変換無効化要求の処理の完了を保証することと、
を実行するように構成され、
前記処理ユニットは、前記プロセッサ・コアにおける前記変換無効化要求の処理の完了を確認する肯定応答信号を受け取るまで、プログラム順で前記変換無効化要求に続く前記開始スレッド内の命令のディスパッチを停止するようにさらに構成される、
処理ユニット。 - 前記マルチスレッド・データ処理システムのシステム・ファブリック上の前記変換無効化要求のブロードキャストのスヌーピングに応答して、前記プロセッサ・コアにより前記変換無効化要求の処理の完了を確認する信号を受け取り、その後、当該信号によりリセットされて非アクティブ状態に戻るまでアクティブ状態のままである、変換スヌープ・マシンをさらに含む、請求項7に記載の処理ユニット。
- 前記変換無効化要求は実効アドレスを指定し、
前記プロセッサ・コアは、前記変換無効化要求を受け取ることに応答して、前記実効アドレスを変換する前記変換構造内の1つ又は複数の変換エントリを無効化する変換シーケンサを含み、
前記プロセッサ・コアは、前記変換無効化要求に応答して、前記1つ又は複数の変換エントリに依存する1つ又は複数のメモリ参照要求が前記プロセッサ・コアからドレインするのを待ち、その後、完了要求を前記共有キューに伝送して前記プロセッサ・コアによる前記変換無効化要求の処理の完了の確認を提供するように構成される、請求項7に記載の処理ユニット。 - 前記共有キューは、前記完了要求を受け取ることに応答して、前記サイドカーから前記変換無効化要求を除去するより前に、前記共有キューから、前記共有キュー内の全てのより古いストア要求がドレインされることを保証する、請求項9に記載の処理ユニット。
- 前記ブロードキャスト同期要求は、前記サイドカー論理によりブロードキャストされる変換同期要求であり、前記処理ユニットは、前記プロセッサ・コアにおける前記変換無効化要求の処理の完了を確認する肯定応答信号を受け取って、前記プロセッサ・コアが、プログラム順で前記変換無効化要求に続く前記開始スレッド内の命令のディスパッチを再開した後、前記共有キュー内に前記変換同期要求を受け取ることに応答して、前記共有キューから前記変換同期要求を除去し、前記変換同期要求を前記サイドカー論理内にバッファリングして、前記変換同期要求が前記サイドカー論理内にバッファリングされる間に、前記サイドカー論理が、前記変換同期要求を前記複数のプロセッサ・コアの全てにブロードキャストして、前記複数のプロセッサ・コアの全てにおける前記変換無効化要求の処理の完了を保証するように構成される、請求項7に記載の処理ユニット。
- 前記プロセッサ・コアが、第1の同期命令の実行により前記ブロードキャスト同期要求を生成し、
前記プロセッサ・コアが、第2の同期命令の前記実行ユニットによる実行に応答して、前記第1の同期命令に対する後のメモリ参照命令の実行を順序付ける、請求項7に記載の処理ユニット。 - 請求項7に記載の複数の処理ユニットと、前記複数の処理ユニットを結合するシステム・ファブリックとを含むデータ処理システム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/977,797 US9575815B1 (en) | 2015-12-22 | 2015-12-22 | Translation entry invalidation in a multithreaded data processing system |
US14/977797 | 2015-12-22 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017117453A JP2017117453A (ja) | 2017-06-29 |
JP6933896B2 true JP6933896B2 (ja) | 2021-09-08 |
Family
ID=58017625
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016241038A Active JP6933896B2 (ja) | 2015-12-22 | 2016-12-13 | 複数のプロセッサ・コアを含むマルチスレッド・データ処理システムにおいて変換エントリを無効化する方法、処理ユニット、データ処理システム、設計構造体 |
Country Status (2)
Country | Link |
---|---|
US (1) | US9575815B1 (ja) |
JP (1) | JP6933896B2 (ja) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9928119B2 (en) * | 2015-12-22 | 2018-03-27 | International Business Machines Corporation | Translation entry invalidation in a multithreaded data processing system |
US9898416B2 (en) | 2015-12-22 | 2018-02-20 | International Business Machines Corporation | Translation entry invalidation in a multithreaded data processing system |
US9830198B2 (en) | 2015-12-22 | 2017-11-28 | International Business Machines Corporation | Translation entry invalidation in a multithreaded data processing system |
US10365824B2 (en) * | 2017-04-24 | 2019-07-30 | Advanced Micro Devices, Inc. | Silent active page migration faults |
US10496335B2 (en) | 2017-06-30 | 2019-12-03 | Intel Corporation | Method and apparatus for performing multi-object transformations on a storage device |
US10318435B2 (en) * | 2017-08-22 | 2019-06-11 | International Business Machines Corporation | Ensuring forward progress for nested translations in a memory management unit |
US11526278B2 (en) | 2017-12-21 | 2022-12-13 | Advanced Micro Devices, Inc. | Adaptive page close prediction |
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 |
US10740239B2 (en) | 2018-12-11 | 2020-08-11 | International Business Machines Corporation | Translation entry invalidation in a multithreaded data processing system |
US10817434B2 (en) * | 2018-12-19 | 2020-10-27 | International Business Machines Corporation | Interruptible translation entry invalidation in a multithreaded data processing system |
US11748267B1 (en) | 2022-08-04 | 2023-09-05 | International Business Machines Corporation | Concurrent processing of translation entry invalidation requests in a processor core |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5437017A (en) | 1992-10-09 | 1995-07-25 | International Business Machines Corporation | Method and system for maintaining translation lookaside buffer coherency in a multiprocessor data processing system |
US6171714B1 (en) | 1996-04-18 | 2001-01-09 | Gould Electronics Inc. | Adhesiveless flexible laminate and process for making adhesiveless flexible laminate |
US6128705A (en) | 1998-01-07 | 2000-10-03 | International Business Machines Corporation | Method and apparatus for executing multiply-initiated, multiply-sourced variable delay system bus operations |
US6202131B1 (en) | 1998-01-07 | 2001-03-13 | International Business Machines Corporation | Method and apparatus for executing variable delay system bus operations of differing type or character without dead lock using shared buffers |
US6314495B1 (en) | 1998-01-07 | 2001-11-06 | International Business Machines Corporation | Method and apparatus for executing multiply-initiated, multiply-sourced variable delay system bus operations |
US6119204A (en) * | 1998-06-30 | 2000-09-12 | International Business Machines Corporation | Data processing system and method for maintaining translation lookaside buffer TLB coherency without enforcing complete instruction serialization |
US6178485B1 (en) | 1998-07-13 | 2001-01-23 | International Business Machines Corporation | Method and apparatus for executing singly-initiated, singly-sourced variable delay system bus operations of differing character |
US6480915B1 (en) | 1999-11-09 | 2002-11-12 | International Business Machines Corporation | Bus protocol and token manager for SMP execution of global operations utilizing a single token with implied release |
US6507880B1 (en) | 1999-11-09 | 2003-01-14 | International Business Machines Corporation | Bus protocol, bus master and bus snooper for execution of global operations utilizing multiple tokens |
US6553442B1 (en) | 1999-11-09 | 2003-04-22 | International Business Machines Corporation | Bus master for SMP execution of global operations utilizing a single token with implied release |
US6460101B1 (en) | 1999-11-09 | 2002-10-01 | International Business Machines Corporation | Token manager for execution of global operations utilizing multiple tokens |
US6442629B1 (en) | 1999-11-09 | 2002-08-27 | International Business Machines Corporation | Bus protocol and token manager for execution of global operations utilizing a single token with multiple operations with explicit release |
US6516368B1 (en) | 1999-11-09 | 2003-02-04 | International Business Machines Corporation | Bus master and bus snooper for execution of global operations utilizing a single token for multiple operations with explicit release |
US6460100B1 (en) | 1999-11-09 | 2002-10-01 | International Business Machines Corporation | Bus snooper for SMP execution of global operations utilizing a single token with implied release |
US7073043B2 (en) * | 2003-04-28 | 2006-07-04 | International Business Machines Corporation | Multiprocessor system supporting multiple outstanding TLBI operations per partition |
US7617378B2 (en) | 2003-04-28 | 2009-11-10 | International Business Machines Corporation | Multiprocessor system with retry-less TLBI protocol |
-
2015
- 2015-12-22 US US14/977,797 patent/US9575815B1/en not_active Expired - Fee Related
-
2016
- 2016-12-13 JP JP2016241038A patent/JP6933896B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
US9575815B1 (en) | 2017-02-21 |
JP2017117453A (ja) | 2017-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6933896B2 (ja) | 複数のプロセッサ・コアを含むマルチスレッド・データ処理システムにおいて変換エントリを無効化する方法、処理ユニット、データ処理システム、設計構造体 | |
US9710394B2 (en) | Translation entry invalidation in a multithreaded data processing system | |
US9785557B1 (en) | Translation entry invalidation in a multithreaded data processing system | |
CN108885583B (zh) | 高速缓存存储器访问 | |
US10817434B2 (en) | Interruptible translation entry invalidation in a multithreaded data processing system | |
US8131935B2 (en) | Virtual barrier synchronization cache | |
US9898416B2 (en) | Translation entry invalidation in a multithreaded data processing system | |
US8095733B2 (en) | Virtual barrier synchronization cache castout election | |
US9772945B1 (en) | Translation entry invalidation in a multithreaded data processing system | |
US10740239B2 (en) | Translation entry invalidation in a multithreaded data processing system | |
US10977183B2 (en) | Processing a sequence of translation entry invalidation requests with regard to draining a processor core | |
US9830198B2 (en) | Translation entry invalidation in a multithreaded data processing system | |
US9928119B2 (en) | Translation entry invalidation in a multithreaded data processing system | |
US10970215B1 (en) | Cache snooping mode extending coherence protection for certain requests | |
US11157408B2 (en) | Cache snooping mode extending coherence protection for certain requests | |
US11176038B2 (en) | Cache-inhibited write operations | |
US11537519B1 (en) | Marking in-flight requests affected by translation entry invalidation in a data processing system | |
US9665297B1 (en) | Injection of at least a partial cache line in a private multilevel cache hierarchy | |
US11748267B1 (en) | Concurrent processing of translation entry invalidation requests in a processor core | |
US11693788B1 (en) | Gathering translation entry invalidation requests in a data processing system | |
US12001343B1 (en) | Selective distribution of translation entry invalidation requests in a multithreaded data processing system | |
US20240220418A1 (en) | Selective distribution of translation entry invalidation requests in a multithreaded data processing system | |
US11556472B1 (en) | Data processing system having masters that adapt to agents with differing retry behaviors | |
US20240211398A1 (en) | Centralized distribution of multicast requests in a data processing system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190513 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20200227 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20200331 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200624 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20201208 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210225 |
|
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: 20210819 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20210820 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6933896 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |