JP2021529372A - トランザクショナル・メモリをサポートするための装置においてロード排他命令を取り扱うこと - Google Patents
トランザクショナル・メモリをサポートするための装置においてロード排他命令を取り扱うこと Download PDFInfo
- Publication number
- JP2021529372A JP2021529372A JP2020570061A JP2020570061A JP2021529372A JP 2021529372 A JP2021529372 A JP 2021529372A JP 2020570061 A JP2020570061 A JP 2020570061A JP 2020570061 A JP2020570061 A JP 2020570061A JP 2021529372 A JP2021529372 A JP 2021529372A
- Authority
- JP
- Japan
- Prior art keywords
- transaction
- instruction
- address
- load
- given
- 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
- 230000004044 response Effects 0.000 claims abstract description 72
- 230000001960 triggered effect Effects 0.000 claims abstract description 7
- 238000012545 processing Methods 0.000 claims description 264
- 230000007717 exclusion Effects 0.000 claims description 87
- 238000000034 method Methods 0.000 claims description 33
- 238000004590 computer program Methods 0.000 claims description 16
- 230000008569 process Effects 0.000 claims description 11
- 238000001514 detection method Methods 0.000 claims description 9
- 239000000725 suspension Substances 0.000 claims description 4
- 230000005540 biological transmission Effects 0.000 claims description 3
- 238000003672 processing method Methods 0.000 claims description 2
- 238000013459 approach Methods 0.000 description 13
- 230000004888 barrier function Effects 0.000 description 12
- 230000006870 function Effects 0.000 description 7
- 230000003993 interaction Effects 0.000 description 6
- 238000012544 monitoring process Methods 0.000 description 6
- 238000004088 simulation Methods 0.000 description 5
- 230000009471 action Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- LHMQDVIHBXWNII-UHFFFAOYSA-N 3-amino-4-methoxy-n-phenylbenzamide Chemical compound C1=C(N)C(OC)=CC=C1C(=O)NC1=CC=CC=C1 LHMQDVIHBXWNII-UHFFFAOYSA-N 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000012360 testing 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/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
- G06F9/30043—LOAD or STORE instructions; Clear instruction
-
- 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
- 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/30087—Synchronisation or serialisation 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/3842—Speculative instruction execution
-
- 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/3854—Instruction completion, e.g. retiring, committing or graduating
- G06F9/3858—Result writeback, i.e. updating the architectural state or memory
- G06F9/38585—Result writeback, i.e. updating the architectural state or memory with result invalidation, e.g. nullification
-
- 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/526—Mutual exclusion algorithms
- G06F9/528—Mutual exclusion algorithms by using speculative mechanisms
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Executing Machine-Instructions (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Advance Control (AREA)
- Debugging And Monitoring (AREA)
Abstract
Description
データ処理のスレッドを処理する処理回路と、
処理回路により処理されるスレッド内のトランザクションの実行をサポートするトランザクショナル・メモリ・サポート回路であって、トランザクションが、トランザクション開始命令とトランザクション終了命令との間に投機的に実行されるスレッドの命令を含み、命令に対して、処理回路が、トランザクション終了命令への到達が発生するまで投機的に実行された命令の結果のコミットメントを防止するように構成され、トランザクション・メモリ・サポート回路が、トランザクションに対して追跡されるワーキング・アドレス・セットのうちの1つに対する別のスレッドからのコンフリクトするアクセスを検出したことに応答して、トランザクションの停止をトリガーするコンフリクト検出回路を備える、トランザクショナル・メモリ・サポート回路と、
を備え、ここで、
所与のアドレスを指定したロード排他命令に応答して、処理回路が、所与のアドレスに対して排他モニター標示をセットするように構成され、
所与のアドレスを指定したストア排他命令に応答して、処理回路が、所与のアドレスが排他モニター標示をもはやセットさせないとき、ストア排他失敗標示を返信するように構成され、
所与のトランザクション内において実行される、ロード対象アドレスを指定した所定のタイプのロード命令に応答して、処理回路が、ロード対象アドレスに対して以前にセットされた任意の排他モニター標示をクリアすることをトリガーするように構成され、
ロード排他命令に応答して、処理回路とトランザクショナル・メモリ・サポート回路とのうちの少なくとも1つが、ワーキング・アドレス・セットのうちの1つとして所与のアドレスが指定された対象であるトランザクションの停止をトリガーするように構成される、
装置を提供する。
所与のアドレスを指定したロード排他命令に応答して、所与のアドレスに対して排他モニター標示をセットすることと、
所与のアドレスを指定したストア排他命令に応答して、所与のアドレスが排他モニター標示をもはやセットさせないとき、ストア排他失敗標示を返信することと、
トランザクション内において実行されるロード対象アドレスを指定した所定のタイプのロード命令に応答して、ロード対象アドレスに対して以前にセットされた任意の排他モニター標示をクリアすることであって、トランザクションが、トランザクション開始命令とトランザクション終了命令との間に投機的に実行される所与のスレッドの命令を含み、命令に対して、トランザクション終了命令への到達が発生するまで、投機的に実行された命令の結果のコミットメントが防止され、トランザクションに対して追跡されるワーキング・アドレス・セットのうちの1つに対する別のスレッドからのコンフリクトするアクセスを検出したことに応答して、トランザクションが停止される、クリアすることと、
ロード排他命令に応答して、ワーキング・アドレス・セットのうちの1つとして所与のアドレスが指定された対象であるトランザクションの停止をトリガーすることと、
を含む、データ処理方法を提供する。
データ処理のスレッドを処理する処理プログラム論理部と、
処理プログラム論理部により処理されるスレッド内のトランザクションの実行をサポートするトランザクショナル・メモリ・プログラム論理部であって、トランザクションが、トランザクション開始命令とトランザクション終了命令との間に投機的に実行されるスレッドの命令を含み、命令に対して、処理プログラム論理部が、トランザクション終了命令への到達が発生するまで、投機的に実行された命令の結果のコミットメントを防止するように構成され、トランザクション・メモリ・プログラム論理部が、トランザクションに対して追跡されるワーキング・アドレス・セットのうちの1つに対する別のスレッドからのコンフリクトするアクセスを検出したことに応答して、トランザクションの停止をトリガーするコンフリクト検出プログラム論理部を備える、トランザクショナル・メモリ・プログラム論理部と、
を備え、ここで、
所与のアドレスを指定したロード排他命令に応答して、処理プログラム論理部が、所与のアドレスに対して排他モニター標示をセットするように構成され、
所与のアドレスを指定したストア排他命令に応答して、処理プログラム論理部が、所与のアドレスが排他モニター標示をもはやセットさせないとき、ストア排他失敗標示を返信するように構成され、
所与のトランザクション内において実行されるロード対象アドレスを指定した所定のタイプのロード命令に応答して、処理プログラム論理部が、ロード対象アドレスに対して以前にセットされた任意の排他モニター標示をクリアすることをトリガーするように構成され、
ロード排他命令に応答して、処理プログラム論理部とトランザクショナル・メモリ・プログラム論理部とのうちの少なくとも1つが、ワーキング・アドレス・セットのうちの1つとして所与のアドレスが指定された対象であるトランザクションの停止をトリガーするように構成される、
コンピュータ・プログラムを提供する。
複数の処理要素とメッセージを交換する複数のインターフェースと、
複数の処理要素間のコヒーレンシーを管理するように構成された制御回路と、
を備え、ここで、
所与のアドレスに対する排他アクセスを追跡するための所与のアドレスに関連した排他モニター標示のセッティングを示す所与の処理要素からの排他モニター・セッティング・メッセージに応答して、制御回路が、少なくとも1つの他の処理要素に排他モニター・セッティング・メッセージをインターフェースが送信することをトリガーするように構成され、
第1のタイプの読み出し要求により指定された対象アドレスに関連した読み出しデータ値の返信を要求する、第1の処理要素から受信された所定のタイプの読み出し要求に応答して、制御回路が、対象アドレスに関連した任意の排他モニター標示のキャンセルをトリガーするように、少なくとも1つの他の処理要素に排他モニター・キャンセル・メッセージをインターフェースが送信することをトリガーするように構成された、
相互接続体を提供する。
P0 P1
lock() lock()
x:=x+2 x:=1
unlock() unlock()
xが最初に0の値をもっていた場合、xに対する最終結果は次のいずれかであると想定される。すなわち、
・まずP0の更新が実施された後、P1がP0により結果的にもたらされるxの値に作用する場合は1である。又は、
・まずP1の更新が実施された後、P0がP1により結果的にもたらされるxの値に作用する場合は3である。
2という最終結果は、P1がxを処理し始めた後だが、P1がメモリにxの新しい値を書き戻す前にP0がxの現在の値を読み出したことを意味するので、2という最終結果は相互排他の違反である。この実例は、考え出されたものであり、実際には、シェアされたデータ・リソースに対する処理の各スレッドにより実施される処理演算は、より複雑であり得ることが理解される。しかし、この簡略化された実例は、問題を説明するために有用である。
・P0がロック変数のLDAXRを実行し(0=フリーとみなす)、且つ、ロック変数アドレスに対して排他モニター標示をセットする。
・P0が変数x(0とみなす)のLDRを実行する。
…
・P1がロック変数(0=フリーとみなす)のTSTART及びLDRを実行する。
・P1が変数xのSTRを実行する(変数xを1にセットする)。
・P1がTCOMMITを実行して成功する。
…
・P0がロック変数のSTXRを実行(ロック変数を1にセット)し、ロック変数に対するどの介入的な書き込みも、ロック変数アドレス保有のためにセットされた排他モニター標示をクリアしていないので、ストア排他が成功する。
・P0が変数xのSTRを実行する(変数xを2にセットする)。
・P0がロック変数のSTLRを実行する(ロック変数を0にセットする)。
Claims (12)
- データ処理のスレッドを処理する処理回路と、
前記処理回路により処理される前記スレッド内のトランザクションの実行をサポートするトランザクショナル・メモリ・サポート回路であって、前記トランザクションが、トランザクション開始命令とトランザクション終了命令との間に投機的に実行される前記スレッドの命令を含み、前記命令に対して、前記処理回路が、前記トランザクション終了命令への到達が発生するまで、投機的に実行された前記命令の結果のコミットメントを防止するように構成され、前記トランザクション・メモリ・サポート回路が、前記トランザクションに対して追跡されるワーキング・アドレス・セットのうちの1つに対する別のスレッドからのコンフリクトするアクセスを検出したことに応答して、前記トランザクションの停止をトリガーするコンフリクト検出回路を備える、トランザクショナル・メモリ・サポート回路と、
を備え、
所与のアドレスを指定したロード排他命令に応答して、前記処理回路が、前記所与のアドレスに対して排他モニター標示をセットするように構成され、
前記所与のアドレスを指定したストア排他命令に応答して、前記処理回路が、前記所与のアドレスが前記排他モニター標示をもはやセットさせないとき、ストア排他失敗標示を返信するように構成され、
所与のトランザクション内において実行されるロード対象アドレスを指定した所定のタイプのロード命令に応答して、前記処理回路が、前記ロード対象アドレスに対して以前にセットされた任意の前記排他モニター標示をクリアすることをトリガーするように構成され、
前記ロード排他命令に応答して、前記処理回路と前記トランザクショナル・メモリ・サポート回路とのうちの少なくとも1つが、前記ワーキング・アドレス・セットのうちの1つとして前記所与のアドレスが指定された対象であるトランザクションの停止をトリガーするように構成される、
装置。 - 前記処理回路が、処理の複数の前記スレッドの並列な実行が可能な複数の処理要素を備える、
請求項1に記載の装置。 - 前記ロード排他命令が複数の前記処理要素のうちの所与の処理要素において実行されたことに応答して、前記所与の処理要素が、少なくとも1つの他の前記処理要素へのメッセージの送信をトリガーするように構成され、前記メッセージが、前記排他モニター標示が前記所与のアドレスに対してセットされたことを示す、
請求項2に記載の装置。 - 前記所定のタイプの前記ロード命令が複数の前記処理要素のうちの所与の処理要素において実行されたことに応答して、前記所与の処理要素が、複数の前記処理要素のうちの少なくとも1つの他の前記処理要素へのメッセージの送信をトリガーするように構成され、前記メッセージが、前記ロード対象アドレスに対して少なくとも1つの他の前記処理要素により以前にセットされた任意の前記排他モニター標示がクリアされなければならないことを示す、
請求項2及び請求項3のいずれか一項に記載の装置。 - 前記所与のトランザクション内において実行された前記所定のタイプの前記ロード命令に応答して、前記処理回路が、前記所与のトランザクションのための前記ワーキング・アドレス・セットに前記ロード対象アドレスを追加するように構成される、
請求項1から請求項4のいずれか一項に記載の装置。 - 前記所与のトランザクション内において実行されたロード対象アドレスを指定した第2のタイプの前記ロード命令に応答して、前記処理回路が、前記ロード対象アドレスに対して任意の以前にセットされた前記排他モニター標示を保有するように構成される、
請求項1から請求項5のいずれか一項に記載の装置。 - 対象アドレスへの排他アクセスを制御するためのロック変数が所与のスレッドにより成功のうちにクレームされたか否かを前記処理回路が解決する前に、前記処理回路が、前記対象アドレスからデータ値をロードするためにロード命令を投機的に実行する前記所与のスレッドをサポートするように構成される、
請求項1から請求項6のいずれか一項に記載の装置。 - 前記処理回路が、前記所与のアドレス又は別のアドレスを指定したロード排他命令を実行したことと、
前記処理回路が、前記ロード対象アドレスとして前記所与のアドレスを指定した前記所定のタイプの前記ロード命令を実行したことと、
ストア演算が、前記所与のアドレスに対応したメモリ位置にデータを記憶したことと、
のうちの1つを検出したことに応答して、前記所与のアドレスに対してセットされた前記排他モニター標示のクリアをトリガーする排他モニター回路を備える、
請求項1から請求項7のいずれか一項に記載の装置。 - 前記トランザクション・メモリ・サポート回路が、
少なくとも1つの前記トランザクションに対する投機的に実行された前記命令の前記結果を記憶する投機的結果記憶回路と、
前記トランザクションを前記停止したときにリストアされる、前記トランザクション開始命令に応答してキャプチャされた状態を記憶するリストア状態記憶回路と、
のうちの少なくとも1つをさらに備える、
請求項1から請求項8のいずれか一項に記載の装置。 - 所与のアドレスを指定したロード排他命令に応答して、前記所与のアドレスに対して排他モニター標示をセットすることと、
前記所与のアドレスを指定したストア排他命令に応答して、前記所与のアドレスが前記排他モニター標示をもはやセットさせないとき、ストア排他失敗標示を返信することと、
トランザクション内において実行される、ロード対象アドレスを指定した所定のタイプのロード命令に応答して、前記ロード対象アドレスに対して以前にセットされた任意の前記排他モニター標示をクリアすることであって、前記トランザクションが、トランザクション開始命令とトランザクション終了命令との間に投機的に実行される所与のスレッドの命令を含み、前記命令に対して、前記トランザクション終了命令への到達が発生するまで、投機的に実行された前記命令の結果のコミットメントが防止され、前記トランザクションに対して追跡されるワーキング・アドレス・セットのうちの1つに対する別のスレッドからのコンフリクトするアクセスを検出したことに応答して、前記トランザクションが停止される、クリアすることと、
前記ロード排他命令に応答して、前記ワーキング・アドレス・セットのうちの1つとして前記所与のアドレスが指定された対象であるトランザクションの停止をトリガーすることと、
を含む、データ処理方法。 - データ処理のスレッドの実行のための命令実行環境を提供するようにホスト・データ処理装置を制御するためのコンピュータ・プログラムであって、前記コンピュータ・プログラムが、
前記データ処理の前記スレッドを処理する処理プログラム論理部と、
前記処理プログラム論理部により処理される前記スレッド内のトランザクションの実行をサポートするトランザクショナル・メモリ・プログラム論理部であって、前記トランザクションが、トランザクション開始命令とトランザクション終了命令との間に投機的に実行される前記スレッドの命令を含み、前記命令に対して、前記処理プログラム論理部が、前記トランザクション終了命令への到達が発生するまで、投機的に実行された前記命令の結果のコミットメントを防止するように構成され、トランザクション・メモリ・プログラム論理部が、前記トランザクションに対して追跡されるワーキング・アドレス・セットのうちの1つに対する別のスレッドからのコンフリクトするアクセスを検出したことに応答して前記トランザクションの停止をトリガーするコンフリクト検出プログラム論理部を備える、トランザクショナル・メモリ・プログラム論理部と、
を備え、
所与のアドレスを指定したロード排他命令に応答して、前記処理プログラム論理部が、前記所与のアドレスに対して排他モニター標示をセットするように構成され、
前記所与のアドレスを指定したストア排他命令に応答して、前記処理プログラム論理部が、前記所与のアドレスが前記排他モニター標示をもはやセットさせないとき、ストア排他失敗標示を返信するように構成され、
所与のトランザクション内において実行されるロード対象アドレスを指定した所定のタイプのロード命令に応答して、前記処理プログラム論理部が、前記ロード対象アドレスに対して以前にセットされた任意の前記排他モニター標示をクリアすることをトリガーするように構成され、
前記ロード排他命令に応答して、前記処理プログラム論理部と前記トランザクショナル・メモリ・プログラム論理部とのうちの少なくとも1つが、前記ワーキング・アドレス・セットのうちの1つとして前記所与のアドレスが指定された対象である前記トランザクションの停止をトリガーするように構成される、
コンピュータ・プログラム。 - 複数の処理要素とメッセージを交換する複数のインターフェースと、
複数の前記処理要素間のコヒーレンシーを管理するように構成された制御回路と、
を備え、
所与のアドレスに対する排他アクセスを追跡するための前記所与のアドレスに関連した排他モニター標示のセッティングを示す所与の処理要素からの排他モニター・セッティング・メッセージに応答して、少なくとも1つの他の前記処理要素に前記排他モニター・セッティング・メッセージを前記インターフェースが送信することを、前記制御回路がトリガーするように構成され、
第1のタイプの読み出し要求により指定された対象アドレスに関連した読み出しデータ値の返信を要求する第1の処理要素から受信された所定のタイプの読み出し要求に応答して、前記対象アドレスに関連した任意の前記排他モニター標示のキャンセルをトリガーするように、少なくとも1つの他の前記処理要素に排他モニター・キャンセル・メッセージを前記インターフェースが送信することを、前記制御回路がトリガーするように構成される、
相互接続体。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP18386018.8 | 2018-06-25 | ||
EP18386018.8A EP3588280B1 (en) | 2018-06-25 | 2018-06-25 | Handling load-exclusive instructions in apparatus having support for transactional memory |
PCT/GB2019/051276 WO2020002869A1 (en) | 2018-06-25 | 2019-05-09 | Handling load-exclusive instructions in apparatus having support for transactional memory |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2021529372A true JP2021529372A (ja) | 2021-10-28 |
JP7526674B2 JP7526674B2 (ja) | 2024-08-01 |
Family
ID=62948064
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020570061A Active JP7526674B2 (ja) | 2018-06-25 | 2019-05-09 | トランザクショナル・メモリをサポートするための装置においてロード排他命令を取り扱うこと |
Country Status (8)
Country | Link |
---|---|
US (1) | US11579873B2 (ja) |
EP (1) | EP3588280B1 (ja) |
JP (1) | JP7526674B2 (ja) |
KR (1) | KR20210021521A (ja) |
CN (1) | CN112236750B (ja) |
IL (1) | IL279126B2 (ja) |
TW (1) | TWI801603B (ja) |
WO (1) | WO2020002869A1 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11675899B2 (en) * | 2020-12-15 | 2023-06-13 | International Business Machines Corporation | Hardware mitigation for Spectre and meltdown-like attacks |
GB2603167B (en) * | 2021-01-29 | 2023-04-26 | Advanced Risc Mach Ltd | Monitor exclusive instruction |
US12045167B2 (en) * | 2022-10-07 | 2024-07-23 | Synopsys, Inc. | Conversion of a clean unique request to a read unique request by a memory coherency manager circuit |
CN115408178B (zh) * | 2022-10-31 | 2023-02-21 | 北京登临科技有限公司 | 用于保护对片上资源的访问的方法、介质和电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090089520A1 (en) * | 2007-09-28 | 2009-04-02 | Bratin Saha | Hardware acceleration of strongly atomic software transactional memory |
US20150378927A1 (en) * | 2014-06-27 | 2015-12-31 | International Business Machines Corporation | Allowing non-cacheable loads within a transaction |
US20160378658A1 (en) * | 2015-06-24 | 2016-12-29 | International Business Machines Corporation | Hybrid Tracking of Transaction Read and Write Sets |
US20170004004A1 (en) * | 2015-07-02 | 2017-01-05 | International Business Machines Corporation | Transactional storage accesses supporting differing priority levels |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7792805B2 (en) * | 2006-05-30 | 2010-09-07 | Oracle America, Inc. | Fine-locked transactional memory |
US8627017B2 (en) | 2008-12-30 | 2014-01-07 | Intel Corporation | Read and write monitoring attributes in transactional memory (TM) systems |
GB2483903A (en) | 2010-09-24 | 2012-03-28 | Advanced Risc Mach Ltd | Instruction which specifies the type of the next instruction to be executed |
GB2491350B (en) * | 2011-05-27 | 2020-02-12 | Advanced Risc Mach Ltd | Store-exclusive instruction conflict resolution |
GB2523804B (en) | 2014-03-06 | 2021-03-31 | Advanced Risc Mach Ltd | Transactional memory support |
GB2529899B (en) * | 2014-09-08 | 2021-06-23 | Advanced Risc Mach Ltd | Shared Resources in a Data Processing Apparatus for Executing a Plurality of Threads |
GB2554096B (en) | 2016-09-20 | 2019-03-20 | Advanced Risc Mach Ltd | Handling of inter-element address hazards for vector instructions |
-
2018
- 2018-06-25 EP EP18386018.8A patent/EP3588280B1/en active Active
-
2019
- 2019-05-09 IL IL279126A patent/IL279126B2/en unknown
- 2019-05-09 KR KR1020217000307A patent/KR20210021521A/ko unknown
- 2019-05-09 JP JP2020570061A patent/JP7526674B2/ja active Active
- 2019-05-09 WO PCT/GB2019/051276 patent/WO2020002869A1/en active Application Filing
- 2019-05-09 CN CN201980036398.5A patent/CN112236750B/zh active Active
- 2019-05-09 US US17/255,001 patent/US11579873B2/en active Active
- 2019-06-12 TW TW108120255A patent/TWI801603B/zh active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090089520A1 (en) * | 2007-09-28 | 2009-04-02 | Bratin Saha | Hardware acceleration of strongly atomic software transactional memory |
US20150378927A1 (en) * | 2014-06-27 | 2015-12-31 | International Business Machines Corporation | Allowing non-cacheable loads within a transaction |
US20160378658A1 (en) * | 2015-06-24 | 2016-12-29 | International Business Machines Corporation | Hybrid Tracking of Transaction Read and Write Sets |
US20170004004A1 (en) * | 2015-07-02 | 2017-01-05 | International Business Machines Corporation | Transactional storage accesses supporting differing priority levels |
Also Published As
Publication number | Publication date |
---|---|
IL279126B1 (en) | 2023-11-01 |
IL279126B2 (en) | 2024-03-01 |
WO2020002869A1 (en) | 2020-01-02 |
TWI801603B (zh) | 2023-05-11 |
US11579873B2 (en) | 2023-02-14 |
JP7526674B2 (ja) | 2024-08-01 |
CN112236750A (zh) | 2021-01-15 |
TW202001566A (zh) | 2020-01-01 |
EP3588280A1 (en) | 2020-01-01 |
US20210342152A1 (en) | 2021-11-04 |
IL279126A (en) | 2021-01-31 |
KR20210021521A (ko) | 2021-02-26 |
EP3588280B1 (en) | 2021-09-08 |
CN112236750B (zh) | 2024-07-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Le et al. | Transactional memory support in the IBM POWER8 processor | |
US8140773B2 (en) | Using ephemeral stores for fine-grained conflict detection in a hardware accelerated STM | |
JP5404574B2 (ja) | マルチプロセッサ環境におけるトランザクションベースの共有データオペレーション | |
JP7526674B2 (ja) | トランザクショナル・メモリをサポートするための装置においてロード排他命令を取り扱うこと | |
Rajwar et al. | Virtualizing transactional memory | |
US8180967B2 (en) | Transactional memory virtualization | |
US9430166B2 (en) | Interaction of transactional storage accesses with other atomic semantics | |
RU2501071C2 (ru) | Механизм запроса поздней блокировки для пропуска аппаратной блокировки (hle) | |
US10108464B2 (en) | Managing speculative memory access requests in the presence of transactional storage accesses | |
JP7281491B2 (ja) | トランザクショナル比較及び破棄命令 | |
WO2017012667A1 (en) | Hardware transactional memory in non volatile memory with log and no lock | |
TWI786181B (zh) | 在例外遮罩更新指令之後允許未中止的交易處理 | |
US10671400B2 (en) | Enhanced managed runtime environments that support deterministic record and replay |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220502 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230608 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20230907 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20231106 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20240111 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20240328 |
|
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: 20240627 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20240722 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7526674 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |