JP6218815B2 - コンピューティング環境においてトランザクション実行に関連付けられた処理を実行するための方法、システム、およびプログラム(トランザクション実行における制限された命令) - Google Patents
コンピューティング環境においてトランザクション実行に関連付けられた処理を実行するための方法、システム、およびプログラム(トランザクション実行における制限された命令) Download PDFInfo
- Publication number
- JP6218815B2 JP6218815B2 JP2015516531A JP2015516531A JP6218815B2 JP 6218815 B2 JP6218815 B2 JP 6218815B2 JP 2015516531 A JP2015516531 A JP 2015516531A JP 2015516531 A JP2015516531 A JP 2015516531A JP 6218815 B2 JP6218815 B2 JP 6218815B2
- Authority
- JP
- Japan
- Prior art keywords
- transaction
- instruction
- program
- restricted
- execution
- 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 75
- 238000000034 method Methods 0.000 title claims description 67
- 230000008859 change Effects 0.000 claims description 35
- 238000004590 computer program Methods 0.000 claims description 27
- 230000008569 process Effects 0.000 claims description 20
- 238000004891 communication Methods 0.000 claims description 15
- 230000006870 function Effects 0.000 description 41
- 238000013519 translation Methods 0.000 description 26
- 238000001914 filtration Methods 0.000 description 24
- 206010000210 abortion Diseases 0.000 description 21
- 238000005192 partition Methods 0.000 description 21
- 230000001419 dependent effect Effects 0.000 description 18
- 238000006243 chemical reaction Methods 0.000 description 16
- 230000007246 mechanism Effects 0.000 description 16
- 238000010586 diagram Methods 0.000 description 14
- 239000000872 buffer Substances 0.000 description 12
- 238000006073 displacement reaction Methods 0.000 description 9
- 230000009471 action Effects 0.000 description 8
- 238000011084 recovery Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 5
- 238000012360 testing method Methods 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 4
- 230000000295 complement effect Effects 0.000 description 4
- PWPJGUXAGUPAHP-UHFFFAOYSA-N lufenuron Chemical compound C1=C(Cl)C(OC(F)(F)C(C(F)(F)F)F)=CC(Cl)=C1NC(=O)NC(=O)C1=C(F)C=CC=C1F PWPJGUXAGUPAHP-UHFFFAOYSA-N 0.000 description 4
- 230000001343 mnemonic effect Effects 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000036961 partial effect Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000001934 delay Effects 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 230000007774 longterm Effects 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 150000001875 compounds Chemical class 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000000670 limiting effect Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000010926 purge Methods 0.000 description 2
- 230000002441 reversible effect Effects 0.000 description 2
- 102100032303 26S proteasome non-ATPase regulatory subunit 2 Human genes 0.000 description 1
- 101000590272 Homo sapiens 26S proteasome non-ATPase regulatory subunit 2 Proteins 0.000 description 1
- 101000772267 Homo sapiens Thyrotropin receptor Proteins 0.000 description 1
- 102000004137 Lysophosphatidic Acid Receptors Human genes 0.000 description 1
- 108090000642 Lysophosphatidic Acid Receptors Proteins 0.000 description 1
- 101100496104 Mus musculus Clec2d gene Proteins 0.000 description 1
- 101100274534 Rattus norvegicus Clec2d11 gene Proteins 0.000 description 1
- 102100029337 Thyrotropin receptor Human genes 0.000 description 1
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 238000012884 algebraic function Methods 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000005764 inhibitory process Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000007420 reactivation Effects 0.000 description 1
- 230000002829 reductive effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 229920000638 styrene acrylonitrile Polymers 0.000 description 1
- 230000001629 suppression Effects 0.000 description 1
- 210000003813 thumb Anatomy 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 230000007704 transition Effects 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/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3861—Recovery, e.g. branch miss-prediction, exception handling
-
- 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/30098—Register arrangements
-
- 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/46—Multiprogramming arrangements
- G06F9/466—Transaction processing
-
- 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/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)
- Advance Control (AREA)
Description
トランザクション・ネスティング深さが最初に0のとき、第1のオペランド・アドレスは、トランザクションがアボートされた場合に種々の診断情報を格納することができる(以下にさらに説明される)TBEGIN指定TDBと呼ばれる256バイトのトランザクション診断ブロックの位置を指定する。CPUが一次空間モードまたはアクセス・レジスタ・モードにあるとき、第1のオペランド・アドレスは、一次アドレス空間内の位置を指定する。CPUが二次空間モードまたはホーム空間モードにあるとき、第1のオペランド・アドレスは、それぞれ、二次アドレス空間またはホーム・アドレス空間内の位置を指定する。DATがオフのとき、トランザクション診断ブロック(TDB)アドレス(TDBA)は、実ストレージ内の位置を指定する。
CPUがすでに制約なしトランザクション実行モードにあるとき、TDBAは変更されず、アクセス可能性について第1のオペランドが試験されるかどうかは予測不能である。
汎用レジスタ保存マスク(General Register Save Mask、GRSM)210(図3): I2フィールドのビット0〜7は、汎用レジスタ保存マスク(GRSM)を含む。GRSMの各ビットは、汎用レジスタの偶数−奇数対を表し、ここで、ビット0はレジスタ0および1を表し、ビット1はレジスタ2および3を表し、以下同様である。最外TBEGIN命令のGRSMにおけるビットが0のとき、対応するレジスタ対は保存されない。最外TBEGIN命令のGRSMにおけるビットが1のとき、対応するレジスタ対は、プログラムが直接アクセスできないモデル依存位置に保存される。
汎用レジスタ保存マスク(GRSM)310: I2フィールドのビット0〜7は、汎用レジスタ保存マスク(GRSM)を含む。GRSMの各ビットは、汎用レジスタの偶数−奇数対を表し、ここで、ビット0はレジスタ0および1を表し、ビット1はレジスタ2および3を表し、以下同様である。GRSMにおけるビットが0のとき、対応するレジスタ対は保存されない。GRSMにおけるビットが1のとき、対応するレジスタ対は、プログラムが直接アクセスできないモデル依存位置に保存される。
全てのレベルのトランザクションにより行われたトランザクション・ストア・アクセスが廃棄される(すなわち、コミットされない)。
全てのレベルのトランザクションにより行われた非トランザクション・ストア・アクセスがコミットされる。
最外TRANSACTION BEGIN命令の汎用レジスタ保存マスク(GRSM)により指定されたレジスタが、トランザクション実行より前のレジスタの内容(すなわち、最外TRANSACTION BEGIN命令の実行時のレジスタの内容)に復元される。最外TRANSACTIONBEGIN命令の汎用レジスタ保存マスクにより指定されていない汎用レジスタは、復元されない。
アクセス・レジスタ、浮動小数点レジスタ、および浮動小数点制御レジスタは、復元されない。トランザクションがアボートすると、トランザクション実行中にこれらのレジスタに対してなされた全ての変更が保持される。
汎用命令のサブセットが利用可能である。
制限された数の命令を実行することができる。
制限された数のストレージ・オペランド位置にアクセスすることできる。
トランザクションが単一のネスティング・レベルに制限される。
トランザクション実行制御(TXC): 制御レジスタ0のビット8はトランザクション実行制御である。このビットは、トランザクション実行ファシリティがプログラムによって使用可能かどうかを、制御プログラム(例えば、オペレーティング・システム)が示すことができる機構を提供する。ビット8は、トランザクション実行モードに成功裏に入るために、1であるべきである。
トランザクション診断範囲(TDS): 制御レジスタ2のビット61は、レジスタのビット62〜63におけるトランザクション診断制御(TDC)の適用性を次のように制御する。
TDS
値 意味
TDCは、CPUが問題状態にあるかスーパーバイザ状態にあるかに関わらず適用される。
TDCは、CPUが問題状態にあるときのみ適用される。CPUがスーパーバイザ状態にあるとき、処理はTDCが0を含んでいるのと同様である。
TDC
値 意味
正常動作。TDCの結果としてトランザクションはアボートされない。
ランダム命令において、ただし最外TRANSACTION END命令の実行前に、全てのトランザクションをアボートする。
ランダム命令において、ランダム・トランザクションをアボートする。
予約
アボート・コードは、コード7〜11、13〜16、または255のいずれかに設定され、コードの値はCPUによりランダムに選択され、条件コードはアボート・コードに対応して設定される。アボート・コードを以下にさらに説明する。
制約なしトランザクションの場合、条件コードは1に設定される。この場合、アボート・コードは適用可能でない。
命令のB1フィールドが0でないとき、最外TRANSACTIONBEGIN(TBEGIN)命令の第1のオペランド・アドレスから、有効なトランザクション診断ブロック・アドレス(TDBA)が設定される。CPUが一次空間またはアクセス・レジスタ・モードにあるとき、TDBAは、一次アドレス空間内の位置を指定する。CPUが二次空間またはホーム空間モードにあるとき、TDBAは、それぞれ、二次アドレス空間またはホーム・アドレス空間内の位置を指定する。DAT(動的アドレス変換)がオフのとき、TDBAは、実ストレージ内の位置を指定する。
TRANSACTION BEGIN(TBEGIN)命令の実行中、ネスティング深さが最初に0であるとき、トランザクション・アボートPSWは現PSWの内容に設定され、トランザクション・アボートPSWの命令アドレスは、次の順次命令(すなわち、最外TBEGINに続く命令)を指定する。TRANSACTION BEGINconstrained(TBEGINC)命令の実行中、ネスティング深さが最初に0であるとき、トランザクション・アボートPSWは、トランザクション・アボートPSWの命令アドレスが(TBEGINCに続く次の順次命令ではなく)TBEGINC命令を指定することを除いて、現PSWの内容に設定される。
トランザクション・ネスティング深さは、例えば、TRANSACTION BEGIN命令が条件コード0で完了するたびに増分し、TRANSACTION END命令が完了するたびに減分する、16ビットの符号なし値である。トランザクション・ネスティング深さは、トランザクションがアボートされたときまたはCPUのリセットにより、0にリセットされる。
トランザクションがアボートされたとき、以下のように種々の状態情報をトランザクション診断ブロック(TDB)に保存することができる。
TBEGIN指定TDB: 制約なしトランザクションについて、最外TBEGIN命令のB1フィールドが0でないとき、命令の第1のオペランド・アドレスがTBEGIN指定TDBを指定する。これは、アプリケーションのアボート・ハンドラにより検査することができる、アプリケーション・プログラム指定の位置である。
プログラム割り込み(PI)TDB: 制約なしトランザクションが、フィルタリングされないプログラム例外条件に起因してアボートされた場合、または制約付きトランザクションがいずれかのプログラム例外条件に起因してアボートされた(すなわち、プログラム割り込みをもたらすいずれかの条件が認識されている)場合、PI−TDBは、プリフィックス領域内の位置に格納される。これは、オペレーティング・システムが提供できる任意の診断報告において、オペレーティング・システムが検査またはログアウトするのに利用可能である。
インターセプトTDB: トランザクションが、インターセプトをもたらす(すなわち、条件により、解釈実行が終了し制御がホスト・プログラムに戻る)いずれかのプログラム例外条件に起因してアボートされた場合、TDBは、ゲスト・オペレーティング・システムについての状態記述ブロックにおいて指定された位置に格納される。
成功裏の分岐命令の実行。分岐ターゲット位置が指定されたストレージ領域内にあるときにのみイベントを発生させる選択肢が与えられる。
指定されたストレージ領域からの命令のフェッチ。
指定されたストレージ領域の内容の変更。ストレージ領域が指定されたアドレス空間内にあるときにのみイベントを発生させる選択肢が与えられる。
STORE USING REAL ADDRESS命令の実行
TRANSACTION END命令の実行
形式902: バイト0は、次のように妥当性および形式の表示を含む。
値 意味
TDBの残りのフィールドは予測不能である。
形式−1 TDB、残りのフィールドは以下に説明される。
予約
競合トークン妥当性(CTV): トランザクションがフェッチまたはストア競合(すなわち、それぞれアボート・コード9または10)に起因してアボートされるとき、バイト1のビット0は、競合トークン妥当性表示である。CTV表示が1のとき、TDBのバイト16〜23における競合トークン910は、競合が検出された論理アドレスを含む。CTV表示が0であるとき、TDBのバイト16〜23は予測不能である。
制御されたアクセス・リストまたはDAT保護
ASCEタイプ
ページ変換
領域第1変換
領域第2変換
領域第3変換
セグメント変換例外
バイト112〜119は、トランザクション実行分岐表示(TXBI)と呼ばれる64ビットのベクトルを含む。ベクトルの最初の63ビットの各々は、次のように、CPUがトランザクション実行モードであった間の分岐命令の実行の結果を示す。
値 意味
命令は分岐なしに完了した。
命令は分岐して完了した。
いずれの制限された命令もTXBI内にビットを設定させない
例えばz/Architectureの命令において、BRANCH ONCONDITION、BRANCH RELATIVE ON CONDITION、もしくはBRANCH RELATIVE ON CONDITION LONG命令のM1フィールドが0であるとき、または以下の命令のR2フィールドが0のとき、命令の実行によりTXBI内にビットが設定されるかどうかは、モデル依存である。
BRANCH AND LINK(BALR);BRANCH AND SAVE(BASR);BRANCH AND SAVE AND SET MODE(BASSM);BRANCH AND SET MODE(BSM);BRANCH ON CONDITION(BCR);およびBRANCH ON COUNT(BCTR、BCTGR)
ホスト・アクセス例外により生じたアボート条件について、バイト127のビット位置0が1に設定される。他の全てのアボート条件について、バイト127のビット位置0が0に設定される。
ロード/ストア・ユニット(LSU)により検出されたアボート条件に対して、バイト127の右端の5ビットは、原因の表示を含む。LSUにより検出されなかったアボート条件に対して、バイト127が予約される。
EXTRACT TRANSACTION NESTING DEPTH
NONTRANSACTIONAL STORE
TRANSACTION ABORT
TRANSACTION BEGIN
TRANSACTION END
命令のR2フィールドが0でなく分岐トレースがイネーブルにされたときのBRANCH AND LINK(BALR)、BRANCH AND SAVE (BASR)、およびBRANCH AND SAVE AND SET MODE
R2フィールドが0でなくモード・トレースがイネーブルにされたときのBRANCH AND SAVE AND SET MODEおよびBRANCH ANDSET MODE、モード・トレースがイネーブルにされたときのSET ADDRESSING MODE
監視イベント条件が認識されたときのMONITOR CALL
その他の条件は、以下のいずれかからもたらされ得る。
z/Architectureにおける、COMPARE AND REPLACE DATTABLE ENTRY、COMPARE AND SWAP AND PURGE、INVALIDATE DAT TABLE ENTRY、INVALIDATE PAGETABLE ENTRY、NQ制御が0でありSK制御が1であるPERFORM FRAME MANAGEMENTFUNCTION、NQ制御が0であり構成内の別のCPUにより実行されるSET STORAGE KEYEXTENDED等の命令;条件コードが2に設定される。
リセット、再起動もしくは停止、または同等のSIGNAL PROCESSOR命令のようなオペレータ機能がCPU上で実行される。
上記に列挙されないいずれかの他の条件;条件コードが2または3に設定される。
フェッチおよびストア競合が検出された位置は、同一キャッシュ・ライン内のどの場所であってもよい。
特定の条件下で、CPUは、類似のアボート条件を区別できないことがある。例えば、フェッチまたはストア・オーバーフローは、それぞれのフェッチまたはストア競合と区別できないことがある。
CPUによる複数の命令経路の投機的実行により、こうした条件が概念的シーケンスで行われない場合でも、競合またはオーバーフロー条件に起因してトランザクションがアボートされる。制約付きトランザクション実行モードにある間、CPUは、投機的実行を一時的に禁止し、こうした競合またはオーバーフローを投機的に検出することなくトランザクションが完了する試みを可能にする。
トランザクションは、TRANSACTION BEGIN constrained(TBEGINC)命令およびTRANSACTION END命令を含まない、32を超えない命令を実行する。
トランザクション内の全ての命令は、TRANSACTION BEGINconstrained(TBEGINC)命令および任意のTRANSACTIONEND命令を含む、ストレージの256連続バイト内にある。
制限された命令に加えて、次の制限が制約付きトランザクションに適用される。
命令は、例えば、加算、減算、乗算、除算、シフト、ローテート等を含む、汎用命令と呼ばれる命令に限定される。
分岐命令は、次のもの(列挙された命令は、一例においてz/Architectureのものである)に限定される。
M1フィールドは0でなく、RI2フィールドは正の値を含む、BRANCH RELATIVE ON CONDITION
M1フィールドは0でなく、RI2フィールドは、アドレスのラップアラウンドを生じさせない正の値を含む、BRANCH RELATIVE ON CONDITION LONG
M3フィールドは0でなく、RI4フィールドは正の値を含む、COMPARE AND BRANCH RELATIVE、COMPAREIMMEDIATE AND BRANCH RELATIVE、COMPARE LOGICAL ANDBRANCH RELATIVE、およびCOMPARE LOGICAL IMMEDIATE AND BRANCHRELATIVE(すなわち、0でない分岐マスクを有する前方分岐のみ)
TRANSACTION ENDおよび特定のオペランド・シリアル化をもたらす命令を除いた、シリアル化機能をもたらす命令が制限される。
ストレージ間操作(Storage-and-storage operation、SS−)および延長オペコードを有するストレージ間操作(SSE−)命令が制限される。
以下の(この例ではz/Architectureの)汎用命令の全てが制限される、すなわち、CHECKSUM;CIPHER MESSAGE;CIPHER MESSAGE WITH CFB;CIPHER MESSAGE WITHCHAINING;CIPHER MESSAGE WITH COUNTER;CIPHER MESSAGE WITH OFB;COMPARE AND FORMCODEWORD;COMPARE LOGICAL LONG;COMPARELOGICAL LONG EXTENDED;COMPARE LOGICAL LONG UNICODE;COMPARE LOGICAL STRING;COMPARE UNTILSUBSTRING EQUAL;COMPRESSION CALL;COMPUTE INTERMEDIATE MESSAGE DIGEST;COMPUTELAST MESSAGE DIGEST;COMPUTE MESSAGE AUTHENTICATION CODE;CONVERT TO BINARY;CONVERT TO DECIMAL;CONVERT UNICODE-16 TO UNICODE-32;CONVERTUNICODE-16 TO UNICODE-8;CONVERT UNICODE-32 TOUNICODE-16;CONVERT UNICODE-32 TO UNICODE-8;CONVERT UNICODE-8 TO UNICODE-16;CONVERTUNICODE-8 TO UNICODE-32;DIVIDE;DIVIDELOGICAL;DIVIDE SINGLE;EXECUTE;EXECUTE RELATIVE LONG;EXTRACT CACHEATTRIBUTE;EXTRACT CPU TIME;EXTRACTPSW;EXTRACT TRANSACTION NESTING DEPTH;LOAD AND ADD;LOAD AND ADD LOGICAL;LOAD AND AND;LOAD AND EXCLUSIVE OR;LOAD AND OR;LOAD PAIR DISJOINT;LOAD PAIR FROM QUADWORD;MONITOR CALL;MOVE LONG;MOVE LONG EXTENDED;MOVE LONG UNICODE;MOVE STRING;NON-TRANSACTIONAL STORE;PERFORMCRYPTOGRAPHIC COMPUTATION;PREFETCH DATA;PREFETCH DATA RELATIVE LONG;RUNTIMEINSTRUMENTATION EMIT;RUNTIME INSTRUMENTATION NEXT;RUNTIME INSTRUMENTATION OFF;RUNTIMEINSTRUMENTATION ON;SEARCH STRING;SEARCH;STRING UNICODE;SET ADDRESSING MODE;M3フィールドが0でありR1フィールドのコードが6または7であるときのSTORE CHARACTERS UNDER MASK HIGH;STORE CLOCK;STORE CLOCK EXTENDED;STORE CLOCK FAST;STORE FACILITY LIST EXTENDED;STORE PAIR TOQUADWORD;TEST ADDRESSING MODE;TRANSACTIONABORT;TRANSACTION BEGIN(TBEGINおよびTBEGINCの両方);TRANSLATE AND TEST EXTENDED;TRANSLATE AND TEST REVERSE EXTENDED;TRANSLATEEXTENDED;TRANSLATE ONE TO ONE;TRANSLATEONE TO TWO TRANSLATE TWO TO ONE;およびTRANSLATE TWO TO TWOが制限される。
トランザクションのストレージ・オペランドは、4個を超えないオクトワード(octoword)にアクセスする。注記: LOAD ON CONDITIONおよびSTORE ON CONDITIONは、条件コードに関わらず、ストレージを参照すると考えられる。オクトワードは、例えば、32バイト境界上の32連続バイトのグループである。
このCPU上で実行されるトランザクション、または他のCPUまたはI/Oサブシステムによるストアは、TRANSACTION BEGIN constrained(TBEGINC)命令で始まるストレージの256バイトを含む、いずれの4Kバイト・ブロック内のストレージ・オペランドにもアクセスしない。
トランザクションは、同じ絶対アドレスにマッピングされた異なる論理アドレスを使用して、命令または格納オペランドにアクセスしない。
LOAD ACCESS MULTIPLE、LOAD MULTIPLE、LOAD MULTIPLE HIGH、STORE ACCESS MULTIPLE、STORE MULTIPLE、およびSTORE MULTIPLE HIGHについてオペランド参照が単一のオクトワード内にあることを除いて、トランザクションにより行われるオペランド参照は、単一のダブル・ワード内となる。
トランザクションが以下の基準を満たす場合、制約付きトランザクションを成功裏に完了する可能性が向上する。
発行された命令が、最大32より少ない。
ストレージ・オペランド参照が、最大4オクトワードより少ない。
ストレージ・オペランド参照が、同一のキャッシュ・ライン上にある。
同じ位置に対するストレージ・オペランド参照が、全てのトランザクションによって同じ順序で行われる。
制約付きトランザクションは、必ずしもその最初の実行で成功裏に完了することが保証されていない。しかしながら、列挙された制約のいずれにも違反しない制約付きトランザクションがアボートされた場合、CPUは、回路を利用して、トランザクションの実行の反復が後で成功することを保証する。
制約付きトランザクション内で、TRANSACTION BEGINは制限された命令であり、したがって、制約付きトランザクションをネストすることはできない。
制約付きトランザクションによる上記の制約1〜7のいずれかの違反は、プログラム・ループをもたらし得る。
制約付きトランザクションの制限は、比較およびスワップ(compare-and-swap)ループの制限に類似している。他のCPUおよびI/Oサブシステムからの潜在的な干渉のため、COMPARE AND SWAP命令が常に条件コード0で完了するというアーキテクチャ上の保証はない。制約付きトランザクションは、フェッチもしくはストア競合アボートまたはホット割り込みの形で類似の干渉を受けることがある。CPUは、フェアネス・アルゴリズムを使用して、いずれの制約違反もない場合に、制約付きトランザクションが最終的に完了することを保証する。
制約付きトランザクションを完了するために必要とされる反復回数を決定するために、プログラムは、汎用レジスタのカウンタを利用することができ、このカウンタは汎用レジスタ保存マスクに影響されない。例を以下に示す。
LH1 15,0 ゼロ再試行カウンタ
ループ TBEGINC 0(0),X‘FE00’ GR0〜13を保持する
AHI 15,1 カウンタを増分する
…
… 制約付きトランザクション実行コード
…
TEND トランザクションの終了
ここで、R15は反復されたトランザクション試行カウントを含む。
一般的な場合のプログラム割り込み条件の優先順位と同じ優先順位を有する例外
B1フィールドが0でない値を含むことに起因する指定例外
トランザクション・ネスティング深さ超過に起因するアボート
正常完了に起因する条件コード0
汎用レジスタ保存マスクにより保存されるように指定されたレジスタは、トランザクションがアボートされた場合にのみ復元され、トランザクションがTRANSACTION ENDによって正常に終了したときには復元されない。最外TRANSACTIONBEGIN命令のGRSMにより指定されたレジスタのみがアボートの際に復元される。I2フィールドは、制約付きトランザクションにより変更される入力値を与える全てのレジスタ対を指定しなければならない。したがって、トランザクションがアボートされた場合、制約好きトランザクションが再実行されたときに入力レジスタ値がオリジナルの内容に復元される。
ほとんどのモデルにおいて、汎用レジスタ保存マスク内に保存および復元することが必要とされるレジスタの最小数を指定することにより、TRANSACTION BEGINのときにもトランザクションがアボートされたときにも、性能の改善を実現することができる。
以下は、現在のトランザクション・ネスティング深さ(TND)に基づき、TNDが0でないとき、CPUが制約なしトランザクション実行モードにあるかまたは制約付きトランザクション実行モードにあるかに関する、TRANSACTION BEGIN命令(TBEGINおよびTBEGINCの両方)の結果を示す。
命令 TND=0
TBEGIN 制約なしトランザクション実行モードを入力する
TBEGINC 制約付きトランザクション実行モードを入力する
命令 TND>0
TBEGIN NTXモード CTXモード
制約付きトランザクション 制約付きトランザクション例外
実行モードで継続する
TBEGINC 制約なしトランザクション 制約付きトランザクション例外
実行モードで継続する
説明:
CTX CPUは制約付きトランザクション実行モードにある
NTX CPUは制約なしトランザクション実行モードにある
TND 命令の開始におけるトランザクション・ネスティング深さ
アウト・オブ・オーダ実行を禁止し、
競合するストレージ位置に他のCPUがアクセスすることを禁止し、
アボート処理のランダム遅延を発生させ、かつ/または、
成功裏の完了を促進する他の手段を発動する。
すでに制約付きTXモードにある場合、制約付きトランザクション例外が認識される。
現在のTND(トランザクション・ネスティング深さ)>0の場合、実行は、あたかも制約なしトランザクションであるかのように進行する
有効なF制御は0に設定される
有効なPIFCは変更しないままである
外部制約なしTXが、制約付きTXを使用することも使用しないこともあるサービス機能を呼び出すことを可能にする。
現在のTND=0の場合、
トランザクション診断ブロック・アドレスは無効である
アボートの際に命令指定TDBは格納されない
トランザクション・アボートPSWをTBEGINCのアドレスに設定する
次の順次命令ではない
モデル依存位置に保存されたGRSMにより指定された汎用レジスタ対は、プログラムによりアクセス可能でない
トランザクション・トークンが(D2オペランドから)随意的に形成される。トランザクション・トークンは、トランザクションの識別子である。トランザクション・トークンは、ストレージ・オペランド・アドレスまたは他の値と等しいことがある。
有効A=TBEGINC Aおよび任意の外部A
TNDが増分される
TNDが0から1に移行する場合、CPUは制約付きTXモードに入る
他の場合には、CPUは制約なしTXモードにあるままである
命令はCC0により完了する
例外:
B1フィールドが0でない場合、指定例外(PIC(プログラム割り込みコード)0006)
トランザクション実行制御(CR0.8)が0の場合、特殊操作例外(PIC 0013hex)
制約付きTXモードで発行された場合、トランザクション制約例外(PIC 0018hex)
制約付きトランザクション実行ファシリティがインストールされていない場合、操作例外(PIC 0001)
命令が実行タイプ命令のターゲットである場合、実行例外(PIC 0003)
ネスティング深さを超過した場合、アボート・コード13
制約付きトランザクションにおけるアボート条件:
アボートPSWはTBEGINC命令を指し示す
これに続く命令ではない
アボート条件によりTX全体が再駆動される
フェイル経路(fail path)なし
CPUは、再駆動時に成功裏に完了することを確実にするための特別な手段をとる
持続的な競合、割り込み、または制約違反がないと仮定すると、トランザクションは最終的に完了することが保証される。
制約違反:
PIC 0018hexは、トランザクション制約の違反を示す
または、トランザクションは、あたかも制約なしであるかのように実行される
トランザクション開始の成功
…
…
…
アクセス(ストア、第1のオペランド)
操作(トランザクション実行ファシリティがインストールされていない)
特殊操作
指定
(制限された命令に起因する)トランザクション制約
一般的場合のプログラム割り込み条件の優先順位と同じ優先順位を有する例外
予約されたPIFC値に起因する指定例外
第1のオペランド・アドレスがダブル・ワード境界上にないことに起因する指定例外
アクセス例外(B1フィールドが0でないとき)
最大トランザクション・ネスティング深さ超過に起因するアボート
正常終了に起因する条件コード0
B1フィールドが0でないとき、以下が適用される。
最外トランザクションが開始されると、トランザクションが決してアボートしない場合でも、アクセス可能トランザクション診断ブロック(TDB)が与えられる。
TDBのアクセス可能性がネストされたトランザクションについて試験されるかどうかは予測不能であるため、任意のネストされたTBEGIN命令に対してアクセス可能なTDBを与えなければならない。
B1フィールドが0でない任意のTBEGINの実行、およびB1フィールドが0でない最外TBEGINにより開始されたトランザクションに対して行われる任意のアボート処理の実行は、B1フィールドが0であるときよりも低速であり得る。
汎用レジスタ保存マスクにより保存されるよう指定されたレジスタは、一実施形態では、トランザクションがアボートした場合にのみ復元され、トランザクションがTRANSACTION ENDによって正常に終了したときには復元されない。最外TRANSACTIONBEGIN命令のGRSMにより指定されたレジスタのみがアボートの際に復元される。
I2フィールドは、トランザクションにより変更される入力値を与える全てのレジスタ対を指定しなければならない。したがって、トランザクションがアボートされた場合、アボート・ハンドラが入力されたときに、入力レジスタ値は、そのオリジナルの内容に復元される。
TRANSACTION BEGIN(TBEGIN)命令は、トランザクションが成功裏に開始されたかどうかを判断する条件分岐命令が後に続くと予想される。
トランザクションが、割り込みをもたらさない条件に起因してアボートされた場合、トランザクション・アボートPSWにより指定された命令が制御(すなわち、最外TRANSACTION BEGIN(TBEGIN)に続く命令)を受け取る。TRANSACTION BEGIN(TBEGIN)命令により設定された条件コードに加えて、トランザクションがアボートするとき、条件コード1〜3も設定される。
したがって、最外TRANSACTION BEGIN(TBEGIN)命令に続く命令シーケンスは、この例では、TBEGIN命令がコード0のみを設定したとしても、4つの条件コード全てを収容できなければならない。
ほとんどのモデルにおいて、汎用レジスタ保存マスク内に保存および復元することが必要とされるレジスタの最小数を指定することにより、TRANSACTION BEGINのときにもトランザクションがアボートされたときにも、性能の改善を実現することができる。
制約なしトランザクション実行モードにある間、プログラムは、アクセス・レジスタまたは(浮動小数点制御レジスタを含む)浮動小数点レジスタを変更することができるサービス機能を呼び出すことができる。こうしたサービス・ルーチンは、入力時に変更されたレジスタを保存し、終了時にそれらを復元することができるが、トランザクションは、ルーチンが正常終了する前にアボートされることがある。CPUが制約なしトランザクション実行モードにある間、呼び出しプログラムが、これらのレジスタを保存する準備をしていない場合、レジスタのサービス機能の変更を許容できないことがある。
制約なしトランザクション実行モードにある間のアクセス・レジスタの不注意による変更を防止するために、プログラムは、AR変更許可制御、すなわちTRANSACTION BEGIN命令のI2フィールドのビット12を0に設定することができる。同様に、浮動小数点レジスタの不注意による変更を防止するために、プログラムは、浮動小数点演算許可制御、すなわちTBEGIN命令のI2フィールドのビット13を0に設定することができる。
TRANSACTION BEGIN(TBEGIN)命令の実行中に認識されるプログラム例外条件は、いずれかの外部TBEGIN命令により設定された有効なプログラム割り込みフィルタリング制御を受ける。最外TBEGIN命令の実行中に認識されるプログラム例外条件は、フィルタリングを受けない。
複数のストレージ位置をシリアル化手法で更新するために、従来のコード・シーケンスは、ロック・ワード(セマフォ)を採用することができる。(a)複数のストレージ位置の更新を実施するためにトランザクション実行を用いる場合、(b)プログラムが、トランザクションがアボートする場合に呼び出される「フォールバック」経路も提供する場合、および(c)フォールバック経路がロック・ワードを採用する場合、トランザクション実行経路も、ロックの利用可能性について試験しなければならず、ロックが利用可能でない場合、TRANSACTION END命令によってトランザクションを終了し、フォールバック経路に分岐する。このことは、シリアル化されたリソースがトランザクション的に更新されているかどうかに関わらず、シリアル化されたリソースへの整合的なアクセスを保証する。代替的に、プログラムは、ロックが利用可能でない場合にアボートし得るが、アボート処理は、単にTENDを介してトランザクションを終了するよりも著しく遅くなり得る。
有効なプログラム割り込みフィルタリング制御(PIFC)が0より大きい場合、CPUは大部分のデータ例外プログラム割り込みをフィルタリングする。有効な浮動小数点演算許可(F)制御が0である場合、データ例外プログラム例外条件に起因するアボートの結果として、浮動小数点制御レジスタにおいて、データ例外コード(DXC)は設定されない。このシナリオ(フィルタリングが適用され、有効なF制御が0である)において、DXCが検査される唯一の位置は、TBEGIN指定TDB内である。こうした状況においてプログラムのアボート・ハンドラがDXCを検査する場合、有効なトランザクション診断ブロック・アドレス(TDBA)が設定されるように、汎用レジスタB1は0以外であるべきである。最外TBEGIN命令のTBEGIN指定TDBに対してPERストレージ変更または0アドレス検出条件が存在し、かつPERイベント抑制が適用されない場合、命令の実行中にPERイベントが認識され、したがって、いずれかの他のアボート条件が存在するかどうかに関わらず、トランザクションが直ちにアボートされる。
汎用レジスタのどの対が、トランザクション実行の開始時に保存され、トランザクションがアボートされた場合に復元されるかを示す、汎用レジスタ保存マスク(GRSM)、
トランザクションがアクセス・レジスタを変更する場合に、トランザクションのアボートを可能にするビット(A)、
トランザクションが浮動小数点命令を実行しようと試みる場合に、トランザクションのアボートを可能にするビット(F)、および、
トランザクションがアボートされた場合に、個々のトランザクション・レベルがプログラム割り込みの実際の提示をバイパスすることを可能にするプログラム割り込みフィルタリング制御(PIFC)
を含む即値オペランドを与える。
TND=0の場合、
B1γ=0の場合、トランザクション診断ブロック・アドレスは第1のオペランド・アドレスから設定される。
トランザクション・アボートPSWは、次の順次命令アドレスに設定される。
I2フィールドにより指定される汎用レジスタ対は、モデル依存位置に保存される。
プログラムにより直接アクセス可能でない
有効なPIFC、A、およびF制御が計算される
有効なA=TBEGIN Aおよび任意の外部A
有効なF=TBEGIN Fおよび任意の外部F
有効なPIFC=max(TBEGIN PIFC、任意の外部PIFC)
トランザクション・ネスティング深さ(TND)が増分される
TNDが0から1に移行する場合、CPUはトランザクション実行モードに入る
条件コードが0に設定される
TBEGINに続く命令が制御を受け取ると、
TBEGINの成功がCC0により示される
アボートされたトランザクションが、0でないCCにより示される
例外:
ネスティング深さ超過の場合、アボート・コード13
B1フィールドが0でなく、ストア操作に関してストレージ・オペランドにアクセスできない場合、アクセス例外(種々のPICの1つ)
TBEGIN命令が実行タイプ命令のターゲットである場合、実行例外(PIC 0003)
トランザクション実行ファシリティがインストールされていない場合、操作例外(PIC 0001)
次のいずれかの場合、PIC 0006
PIFCが無効である(3の値)
第2のオペランド・アドレスがダブル・ワードに位置合わせされていない
トランザクション実行制御(CR0.8)が0である場合、PIC 0013hex
制約付きTXモードで発行された場合、PIC 0018hex
トランザクション・ネスティング深さが0の場合、トランザクション(および、もしあれば、このトランザクションがその一部であるトランザクションのネスト内の他のトランザクション)により行われる全てのストア・アクセスがコミットされる(ステップ1308)。さらに、CPUはトランザクション実行モードを終了し(ステップ1310)、命令は完了する(ステップ1312)。
R1−挿入される新しいキュー要素のアドレス。
R2−挿入ポイントのアドレス。新しい要素は、その要素がR2により指し示される前に挿入される。
NEW USING QEL, R1
CURR USING QEL, R2
LHIR15, 10再試行カウントをロードする
LOOP TBEGIN TDB, X’C000’ トランザクションを開始する(GR0〜3を保存する)
JNZABORTED0でないCCはアボートされたことを意味する
LGR3, CURR.BWD 前の要素を指し示す
PREV USING QEL, R3アドレス指定可能にする
STGR1, PREV.FWD 前の正方向ポインタを更新する
STGR1, CURR.BWD 現在の逆方向ポインタを更新する
STGR2, NEW.FWD 新しい正方向ポインタを更新する
STGR3, NEW.BWD 新しい逆方向ポインタを更新する
TENDトランザクションを終了する
…
ABORTED JONO_RETRYCC3:再試行不能アボート
JCTR15, LOOPトランザクションを数回再試行する
JNO_RETRY10Xの後は成功せず、厳しい方法で実行する
Claims (17)
- コンピューティング環境においてトランザクション実行に関連付けられた処理を実行する方法であって、
プロセッサによって、トランザクションの一部として実行される命令を取得するステップであって、前記トランザクションは、選択されたトランザクションの完了まで主メモリへのトランザクション・ストアのコミットを効果的に遅延させる、前記取得するステップと、
1つまたは複数のトランザクション開始命令によって設定された1つまたは複数の制御から、1つまたは複数の有効な制御を計算するステップであって、前記1つまたは複数の有効な制御は、アクセス・レジスタを変更することが許可されるかどうかを示す有効なアクセス・レジスタ変更許可制御と、指定された浮動小数点命令を実行することが許可されるかどうかを示す有効な浮動小数点演算許可制御とのうちの少なくとも一方を含む、前記計算するステップと、
前記プロセッサによって、前記命令が前記トランザクション内で実行を禁止される選択的に制限された命令であるかどうかを決定するステップであって、前記計算された1つまたは複数の有効な制御に基づく前記決定するステップと、
前記命令が選択的に制限されているかどうかに基づいて、前記命令に関連付けられた処理を実行するステップと
を含む方法。 - 前記実行するステップは、前記命令が制限された命令であることに基づいて、前記トランザクションをアボートするステップを含む、請求項1に記載の方法。
- 前記実行するステップは、前記トランザクションをアボートするステップに基づいて、前記1つまたは複数のトランザクション開始命令のうちの1つのトランザクション開始命令によって識別されるトランザクション診断ブロックに、アボート・コードを格納し、条件コードを設定するステップをさらに含む、請求項2に記載の方法。
- 前記実行するステップは、前記命令が制限された命令でないことを前記決定するステップが示すことに基づいて、前記命令を実行するステップを含む、請求項1ないし3のいずれかに記載の方法。
- 複数のトランザクション開始命令を実行して複数のトランザクションを開始するステップであって、前記複数のトランザクションはトランザクションのネストを形成し、前記トランザクションのネストは前記トランザクションを含む、前記開始するステップと、
前記有効なアクセス・レジスタ変更許可制御の値を決定するステップであって、前記複数のトランザクション開始命令の前記アクセス・レジスタ変更許可制御の論理ANDを実行するステップを含む前記決定するステップと
をさらに含む、請求項1に記載の方法。 - 前記命令は、あるトランザクションについて制限され別のトランザクションについて制限されないという点で、選択的に制限される、請求項1ないし5のいずれかに記載の方法。
- 前記方法は、前記トランザクションで実行される別の命令を取得し、前記別の命令がトランザクション処理について制限された命令であるかどうかを検査するステップをさらに含み、処理を前記実行するステップは、前記別の命令が制限されていることに基づいて、前記トランザクションをアボートする、請求項1ないし6のいずれかに記載の方法。
- 前記方法は、前記トランザクションが制約付きトランザクションであるか制約なしトランザクションであるかを決定するステップをさらに含み、前記別の命令が制限されているかどうかを前記決定するステップは、前記トランザクションが制約付きであるか制約なしであるかに基づく、請求項7に記載の方法。
- 前記別の命令が制約付きトランザクションにおいてのみ制限されている場合に、前記制約付きトランザクションを制約なしトランザクションとして扱って前記別の命令を実行するステップをさらに含む、請求項8に記載の方法。
- 前記トランザクションが制約付きトランザクションであるか制約なしトランザクションであるかを決定するステップと、
前記トランザクションが制約付きトランザクションであること、および前記命令が制限されていることに基づいて、割り込みを行うステップと
をさらに含む、請求項1ないし9のいずれかに記載の方法。 - コンピューティング環境においてトランザクション命令に関連付けられた処理を実行するためのコンピュータ・システムであって、
メモリと、
前記メモリと通信するプロセッサと
を備え、方法を実行するように構成され、前記方法は、
プロセッサによって、トランザクションの一部として実行される命令を取得するステップであって、前記トランザクションは、選択されたトランザクションの完了まで主メモリへのトランザクション・ストアのコミットを効果的に遅延させる、前記取得するステップと、
1つまたは複数のトランザクション開始命令によって設定された1つまたは複数の制御から、1つまたは複数の有効な制御を計算するステップであって、前記1つまたは複数の有効な制御は、アクセス・レジスタを変更することが許可されるかどうかを示す有効なアクセス・レジスタ変更許可制御と、指定された浮動小数点命令を実行することが許可されるかどうかを示す有効な浮動小数点演算許可制御とのうちの少なくとも一方を含む、前記計算するステップと、
前記プロセッサによって、前記命令が前記トランザクション内で実行を禁止される選択的に制限された命令であるかどうかを決定するステップであって、前記計算された1つまたは複数の有効な制御に基づく前記決定するステップと、
前記命令が選択的に制限されているかどうかに基づいて、前記命令に関連付けられた処理を実行するステップと
を含む、コンピュータ・システム。 - 前記実行するステップは、前記命令が制限された命令であることに基づいて、前記トランザクションをアボートするステップを含み、前記実行するステップは、前記トランザクションをアボートすることに基づいて、前記1つまたは複数のトランザクション開始命令のうちの1つのトランザクション開始命令によって識別されるトランザクション診断ブロックに、アボート・コードを格納し、条件コードを設定するステップをさらに含む、請求項11に記載のコンピュータ・システム。
- 前記方法は、前記トランザクションで実行される別の命令を取得し、前記別の命令がトランザクション処理について制限された命令であるかどうかを検査するステップをさらに含み、処理を前記実行するステップは、前記別の命令が制限されていることに基づいて、前記トランザクションをアボートする、請求項11または12のいずれかに記載のコンピュータ・システム。
- 前記方法は、前記トランザクションが制約付きトランザクションであるか制約なしトランザクションであるかを決定するステップをさらに含み、前記別の命令が制限されているかどうかを前記決定するステップは、前記トランザクションが制約付きであるか制約なしであるかに基づく、請求項13に記載のコンピュータ・システム。
- 前記方法は、
前記トランザクションが制約付きトランザクションであるか制約なしトランザクションであるかを決定するステップと、
前記トランザクションが制約付きトランザクションであること、および前記命令が制限されていることに基づいて、割り込みを行うステップと
をさらに含む、請求項11ないし14のいずれかに記載のコンピュータ・システム。 - コンピューティング環境においてトランザクション実行に関連付けられた処理を実行するためのコンピュータ・プログラムであって、
請求項1ないし10のいずれか1項に記載の方法の各ステップを、コンピュータに実行させる、コンピュータ・プログラム。 - 請求項16記載の前記コンピュータ・プログラムをコンピュータ可読ストレージ媒体に記録した、ストレージ媒体。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/524,765 | 2012-06-15 | ||
US13/524,765 US9448796B2 (en) | 2012-06-15 | 2012-06-15 | Restricted instructions in transactional execution |
PCT/EP2013/060297 WO2013186013A1 (en) | 2012-06-15 | 2013-05-17 | Restricted instructions in transactional execution |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2015525406A JP2015525406A (ja) | 2015-09-03 |
JP6218815B2 true JP6218815B2 (ja) | 2017-10-25 |
Family
ID=48483062
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015516531A Active JP6218815B2 (ja) | 2012-06-15 | 2013-05-17 | コンピューティング環境においてトランザクション実行に関連付けられた処理を実行するための方法、システム、およびプログラム(トランザクション実行における制限された命令) |
Country Status (6)
Country | Link |
---|---|
US (6) | US9448796B2 (ja) |
JP (1) | JP6218815B2 (ja) |
CN (1) | CN104350463B (ja) |
DE (1) | DE112013001941B4 (ja) |
GB (1) | GB2513508B (ja) |
WO (1) | WO2013186013A1 (ja) |
Families Citing this family (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9772854B2 (en) | 2012-06-15 | 2017-09-26 | International Business Machines Corporation | Selectively controlling instruction execution in transactional processing |
US9384004B2 (en) | 2012-06-15 | 2016-07-05 | International Business Machines Corporation | Randomized testing within transactional execution |
US8682877B2 (en) | 2012-06-15 | 2014-03-25 | International Business Machines Corporation | Constrained transaction execution |
US9361115B2 (en) | 2012-06-15 | 2016-06-07 | International Business Machines Corporation | Saving/restoring selected registers in transactional processing |
US20130339680A1 (en) | 2012-06-15 | 2013-12-19 | International Business Machines Corporation | Nontransactional store instruction |
US9336046B2 (en) | 2012-06-15 | 2016-05-10 | International Business Machines Corporation | Transaction abort processing |
US10437602B2 (en) | 2012-06-15 | 2019-10-08 | International Business Machines Corporation | Program interruption filtering in transactional execution |
US9740549B2 (en) | 2012-06-15 | 2017-08-22 | International Business Machines Corporation | Facilitating transaction completion subsequent to repeated aborts of the transaction |
US9448796B2 (en) | 2012-06-15 | 2016-09-20 | International Business Machines Corporation | Restricted instructions in transactional execution |
US9348642B2 (en) * | 2012-06-15 | 2016-05-24 | International Business Machines Corporation | Transaction begin/end instructions |
US8688661B2 (en) | 2012-06-15 | 2014-04-01 | International Business Machines Corporation | Transactional processing |
US9436477B2 (en) | 2012-06-15 | 2016-09-06 | International Business Machines Corporation | Transaction abort instruction |
US9792124B2 (en) | 2015-02-13 | 2017-10-17 | International Business Machines Corporation | Speculative branch handling for transaction abort |
US10776115B2 (en) | 2015-09-19 | 2020-09-15 | Microsoft Technology Licensing, Llc | Debug support for block-based processor |
US10210323B2 (en) * | 2016-05-06 | 2019-02-19 | The Boeing Company | Information assurance system for secure program execution |
US10725685B2 (en) | 2017-01-19 | 2020-07-28 | International Business Machines Corporation | Load logical and shift guarded instruction |
US10496292B2 (en) | 2017-01-19 | 2019-12-03 | International Business Machines Corporation | Saving/restoring guarded storage controls in a virtualized environment |
US10452288B2 (en) | 2017-01-19 | 2019-10-22 | International Business Machines Corporation | Identifying processor attributes based on detecting a guarded storage event |
US10579377B2 (en) * | 2017-01-19 | 2020-03-03 | International Business Machines Corporation | Guarded storage event handling during transactional execution |
US10732858B2 (en) | 2017-01-19 | 2020-08-04 | International Business Machines Corporation | Loading and storing controls regulating the operation of a guarded storage facility |
US10496311B2 (en) * | 2017-01-19 | 2019-12-03 | International Business Machines Corporation | Run-time instrumentation of guarded storage event processing |
US11947978B2 (en) | 2017-02-23 | 2024-04-02 | Ab Initio Technology Llc | Dynamic execution of parameterized applications for the processing of keyed network data streams |
US10831509B2 (en) | 2017-02-23 | 2020-11-10 | Ab Initio Technology Llc | Dynamic execution of parameterized applications for the processing of keyed network data streams |
EP3462308B1 (en) | 2017-09-29 | 2022-03-02 | ARM Limited | Transaction nesting depth testing instruction |
GB2571996B (en) * | 2018-03-16 | 2020-09-09 | Advanced Risc Mach Ltd | Branch target variant of branch-with-link instruction |
US10824429B2 (en) | 2018-09-19 | 2020-11-03 | Microsoft Technology Licensing, Llc | Commit logic and precise exceptions in explicit dataflow graph execution architectures |
GB2579246B (en) * | 2018-11-28 | 2021-10-13 | Advanced Risc Mach Ltd | Apparatus and data processing method for transactional memory |
WO2022061129A1 (en) | 2020-09-17 | 2022-03-24 | Panduit Corp. | Optical distribution and splice frame including cassettes |
Family Cites Families (285)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA1174370A (en) | 1980-05-19 | 1984-09-11 | Hidekazu Matsumoto | Data processing unit with pipelined operands |
US4488227A (en) | 1982-12-03 | 1984-12-11 | Honeywell Information Systems Inc. | Program counter stacking method and apparatus for nested subroutines and interrupts |
US4764861A (en) | 1984-02-08 | 1988-08-16 | Nec Corporation | Instruction fpefetching device with prediction of a branch destination for each branch count instruction |
US4740893A (en) | 1985-08-07 | 1988-04-26 | International Business Machines Corp. | Method for reducing the time for switching between programs |
US5063497A (en) | 1987-07-01 | 1991-11-05 | Digital Equipment Corporation | Apparatus and method for recovering from missing page faults in vector data processing operations |
US5321823A (en) | 1988-07-20 | 1994-06-14 | Digital Equipment Corporation | Digital processor with bit mask for counting registers for fast register saves |
US5117498A (en) | 1988-08-19 | 1992-05-26 | Motorola, Inc. | Processer with flexible return from subroutine |
US5163140A (en) | 1990-02-26 | 1992-11-10 | Nexgen Microsystems | Two-level branch prediction cache |
JPH0437927A (ja) | 1990-06-01 | 1992-02-07 | Sony Corp | プロセッサの処理方法 |
US5283873A (en) | 1990-06-29 | 1994-02-01 | Digital Equipment Corporation | Next line prediction apparatus for a pipelined computed system |
US5471591A (en) | 1990-06-29 | 1995-11-28 | Digital Equipment Corporation | Combined write-operand queue and read-after-write dependency scoreboard |
EP0470322B1 (en) | 1990-08-07 | 1996-04-03 | BULL HN INFORMATION SYSTEMS ITALIA S.p.A. | Message-based debugging method |
DE4216871C2 (de) | 1991-05-21 | 2001-09-06 | Digital Equipment Corp | Ausführungsordnen zum Sicherstellen der Serialisierbarkeit verteilter Transaktionen |
US5701480A (en) | 1991-10-17 | 1997-12-23 | Digital Equipment Corporation | Distributed multi-version commitment ordering protocols for guaranteeing serializability during transaction processing |
US5274817A (en) | 1991-12-23 | 1993-12-28 | Caterpillar Inc. | Method for executing subroutine calls |
US5423011A (en) | 1992-06-11 | 1995-06-06 | International Business Machines Corporation | Apparatus for initializing branch prediction information |
US5359608A (en) | 1992-11-24 | 1994-10-25 | Amdahl Corporation | Apparatus for activation and deactivation of instruction tracing through use of conditional trace field in branch instructions |
AU6629894A (en) | 1993-05-07 | 1994-12-12 | Apple Computer, Inc. | Method for decoding guest instructions for a host computer |
US5925125A (en) | 1993-06-24 | 1999-07-20 | International Business Machines Corporation | Apparatus and method for pre-verifying a computer instruction set to prevent the initiation of the execution of undefined instructions |
US5551013A (en) | 1994-06-03 | 1996-08-27 | International Business Machines Corporation | Multiprocessor for hardware emulation |
US5748964A (en) | 1994-12-20 | 1998-05-05 | Sun Microsystems, Inc. | Bytecode program interpreter apparatus and method with pre-verification of data type restrictions |
US5655100A (en) | 1995-03-31 | 1997-08-05 | Sun Microsystems, Inc. | Transaction activation processor for controlling memory transaction execution in a packet switched cache coherent multiprocessor system |
US7301541B2 (en) | 1995-08-16 | 2007-11-27 | Microunity Systems Engineering, Inc. | Programmable processor and method with wide operations |
JP3720371B2 (ja) | 1995-10-06 | 2005-11-24 | アドバンスト・マイクロ・デバイシズ・インコーポレイテッド | スーパースケーラープロセッサにおけるout−of−order実行のための統一化された機能オペレーションスケジューラ |
US5790825A (en) | 1995-11-08 | 1998-08-04 | Apple Computer, Inc. | Method for emulating guest instructions on a host computer through dynamic recompilation of host instructions |
TW384447B (en) | 1996-01-22 | 2000-03-11 | Infinite Technology Inc | Processor with reconfigurable arithmetic data path |
JPH103416A (ja) | 1996-06-14 | 1998-01-06 | Canon Inc | 情報処理装置およびその方法 |
US6035313A (en) | 1997-03-24 | 2000-03-07 | Motorola, Inc. | Memory address generator for an FFT |
US5870582A (en) | 1997-03-31 | 1999-02-09 | International Business Machines Corporation | Method and apparatus for completion of non-interruptible instructions before the instruction is dispatched |
JPH10333908A (ja) | 1997-05-30 | 1998-12-18 | Mitsubishi Electric Corp | 分岐予測方法 |
US5937199A (en) | 1997-06-03 | 1999-08-10 | International Business Machines Corporation | User programmable interrupt mask with timeout for enhanced resource locking efficiency |
US6073230A (en) | 1997-06-11 | 2000-06-06 | Advanced Micro Devices, Inc. | Instruction fetch unit configured to provide sequential way prediction for sequential instruction fetches |
JP3546678B2 (ja) | 1997-09-12 | 2004-07-28 | 株式会社日立製作所 | マルチos構成方法 |
US6772419B1 (en) | 1997-09-12 | 2004-08-03 | Hitachi, Ltd. | Multi OS configuration system having an interrupt process program executes independently of operation of the multi OS |
US6094730A (en) | 1997-10-27 | 2000-07-25 | Hewlett-Packard Company | Hardware-assisted firmware tracing method and apparatus |
US7076784B1 (en) | 1997-10-28 | 2006-07-11 | Microsoft Corporation | Software component execution management using context objects for tracking externally-defined intrinsic properties of executing software components within an execution environment |
US6000029A (en) | 1997-11-03 | 1999-12-07 | Motorola, Inc. | Method and apparatus for affecting subsequent instruction processing in a data processor |
US5938778A (en) | 1997-11-10 | 1999-08-17 | International Business Machines Corporation | System and method for tracing instructions in an information handling system without changing the system source code |
KR100246537B1 (ko) | 1997-11-25 | 2000-03-15 | 정선종 | 코드분할 다중접속 시스템에서 파일럿 심벌을 이용한 동기식이중 채널 큐피에스케이 송수신기의 구조 |
SE9704476L (sv) | 1997-12-02 | 1999-06-23 | Ericsson Telefon Ab L M | Utökad instruktionsavkodning |
US6009261A (en) | 1997-12-16 | 1999-12-28 | International Business Machines Corporation | Preprocessing of stored target routines for emulating incompatible instructions on a target processor |
EP0944081B1 (en) | 1998-03-17 | 2009-05-13 | Panasonic Corporation | Data transmission apparatus and method thereof using command adapted thereto |
US6202067B1 (en) | 1998-04-07 | 2001-03-13 | Lucent Technologies, Inc. | Method and apparatus for correct and complete transactions in a fault tolerant distributed database system |
US6119129A (en) | 1998-05-14 | 2000-09-12 | Sun Microsystems, Inc. | Multi-threaded journaling in a configuration database |
US6308255B1 (en) | 1998-05-26 | 2001-10-23 | Advanced Micro Devices, Inc. | Symmetrical multiprocessing bus and chipset used for coprocessor support allowing non-native code to run in a system |
EP0992907B1 (en) | 1998-10-06 | 2005-09-28 | Texas Instruments Inc. | Trace fifo management |
EP0992916A1 (en) | 1998-10-06 | 2000-04-12 | Texas Instruments Inc. | Digital signal processor |
US6151669A (en) * | 1998-10-10 | 2000-11-21 | Institute For The Development Of Emerging Architectures, L.L.C. | Methods and apparatus for efficient control of floating-point status register |
US6463582B1 (en) | 1998-10-21 | 2002-10-08 | Fujitsu Limited | Dynamic optimizing object code translator for architecture emulation and dynamic optimizing object code translation method |
JP3504519B2 (ja) | 1998-12-04 | 2004-03-08 | 富士通株式会社 | 取引支援システム及びこのシステムに接続される情報端末装置 |
US7065633B1 (en) | 1999-01-28 | 2006-06-20 | Ati International Srl | System for delivering exception raised in first architecture to operating system coded in second architecture in dual architecture CPU |
US6732307B1 (en) | 1999-10-01 | 2004-05-04 | Hitachi, Ltd. | Apparatus and method for storing trace information |
US7761857B1 (en) | 1999-10-13 | 2010-07-20 | Robert Bedichek | Method for switching between interpretation and dynamic translation in a processor system based upon code sequence execution counts |
US6604188B1 (en) | 1999-10-20 | 2003-08-05 | Transmeta Corporation | Pipeline replay support for multi-cycle operations wherein all VLIW instructions are flushed upon detection of a multi-cycle atom operation in a VLIW instruction |
US6738892B1 (en) | 1999-10-20 | 2004-05-18 | Transmeta Corporation | Use of enable bits to control execution of selected instructions |
JP3776653B2 (ja) | 1999-11-24 | 2006-05-17 | 富士通株式会社 | 演算処理装置 |
US6601149B1 (en) | 1999-12-14 | 2003-07-29 | International Business Machines Corporation | Memory transaction monitoring system and user interface |
US6754809B1 (en) | 1999-12-30 | 2004-06-22 | Texas Instruments Incorporated | Data processing apparatus with indirect register file access |
US6934832B1 (en) | 2000-01-18 | 2005-08-23 | Ati International Srl | Exception mechanism for a computer |
US6581138B2 (en) | 2000-02-29 | 2003-06-17 | Stmicroelectronics, Inc. | Branch-prediction driven instruction prefetch |
US6665863B1 (en) | 2000-05-31 | 2003-12-16 | Microsoft Corporation | Data referencing within a database graph |
US6826682B1 (en) | 2000-06-26 | 2004-11-30 | Transmeta Corporation | Floating point exception handling in pipelined processor using special instruction to detect generated exception and execute instructions singly from known correct state |
WO2002013068A1 (en) | 2000-08-04 | 2002-02-14 | Carr Scott Software Incorporated | Automatic transaction management |
SG99941A1 (en) | 2000-08-30 | 2003-11-27 | Ibm | Transaction support on logical disks |
US6886094B1 (en) | 2000-09-28 | 2005-04-26 | International Business Machines Corporation | Apparatus and method for detecting and handling exceptions |
US6671686B2 (en) | 2000-11-02 | 2003-12-30 | Guy Pardon | Decentralized, distributed internet data management |
US7346632B2 (en) | 2001-02-22 | 2008-03-18 | International Business Machines Corporation | Mechanism for executing nested transactions in an execution environment supporting flat transactions only |
US6963919B1 (en) | 2001-02-28 | 2005-11-08 | Agilent Technologies, Inc. | Method and system for improving computer network performance |
US6745272B2 (en) | 2001-04-04 | 2004-06-01 | Advanced Micro Devices, Inc. | System and method of increasing bandwidth for issuing ordered transactions into a distributed communication system |
US7185234B1 (en) | 2001-04-30 | 2007-02-27 | Mips Technologies, Inc. | Trace control from hardware and software |
US7165168B2 (en) | 2003-01-14 | 2007-01-16 | Ip-First, Llc | Microprocessor with branch target address cache update queue |
US6874081B2 (en) | 2001-05-17 | 2005-03-29 | Broadcom Corporation | Selection of link and fall-through address using a bit in a branch address for the selection |
US7305678B2 (en) | 2001-05-17 | 2007-12-04 | International Business Machines Corporation | Method and system for reducing synchronization waits when allocating sequenced identifiers in a multi-threaded server |
US7613762B2 (en) | 2001-05-25 | 2009-11-03 | Sun Microsystems, Inc. | Floating point remainder with embedded status information |
KR100625595B1 (ko) | 2001-05-28 | 2006-09-20 | 한국전자통신연구원 | 트랜잭션 처리 시스템의 병렬 로깅 방법 및 트랜잭션 로그 처리 시스템 |
US6826681B2 (en) | 2001-06-18 | 2004-11-30 | Mips Technologies, Inc. | Instruction specified register value saving in allocated caller stack or not yet allocated callee stack |
US7185183B1 (en) | 2001-08-02 | 2007-02-27 | Mips Technologies, Inc. | Atomic update of CPO state |
US20060218556A1 (en) | 2001-09-28 | 2006-09-28 | Nemirovsky Mario D | Mechanism for managing resource locking in a multi-threaded environment |
US7174463B2 (en) | 2001-10-04 | 2007-02-06 | Lenovo (Singapore) Pte. Ltd. | Method and system for preboot user authentication |
US6898699B2 (en) | 2001-12-21 | 2005-05-24 | Intel Corporation | Return address stack including speculative return address buffer with back pointers |
US7313734B2 (en) | 2002-01-14 | 2007-12-25 | International Business Machines Corporation | Method and system for instruction tracing with enhanced interrupt avoidance |
US7546446B2 (en) | 2002-03-08 | 2009-06-09 | Ip-First, Llc | Selective interrupt suppression |
US20040049666A1 (en) | 2002-09-11 | 2004-03-11 | Annavaram Murali M. | Method and apparatus for variable pop hardware return address stack |
US7496494B2 (en) | 2002-09-17 | 2009-02-24 | International Business Machines Corporation | Method and system for multiprocessor emulation on a multiprocessor host system |
US6892286B2 (en) | 2002-09-30 | 2005-05-10 | Sun Microsystems, Inc. | Shared memory multiprocessor memory model verification system and method |
US7103597B2 (en) | 2002-10-03 | 2006-09-05 | Mcgoveran David O | Adaptive transaction manager for complex transactions and business process |
US7634638B1 (en) | 2002-10-22 | 2009-12-15 | Mips Technologies, Inc. | Instruction encoding for system register bit set and clear |
US7149862B2 (en) | 2002-11-18 | 2006-12-12 | Arm Limited | Access control in a data processing apparatus |
US8332464B2 (en) | 2002-12-13 | 2012-12-11 | Anxebusiness Corp. | System and method for remote network access |
US7568023B2 (en) | 2002-12-24 | 2009-07-28 | Hewlett-Packard Development Company, L.P. | Method, system, and data structure for monitoring transaction performance in a managed computer network environment |
US6862664B2 (en) | 2003-02-13 | 2005-03-01 | Sun Microsystems, Inc. | Method and apparatus for avoiding locks by speculatively executing critical sections |
US6938130B2 (en) | 2003-02-13 | 2005-08-30 | Sun Microsystems Inc. | Method and apparatus for delaying interfering accesses from other threads during transactional program execution |
US7398355B1 (en) | 2003-02-13 | 2008-07-08 | Sun Microsystems, Inc. | Avoiding locks by transactionally executing critical sections |
US7089374B2 (en) | 2003-02-13 | 2006-08-08 | Sun Microsystems, Inc. | Selectively unmarking load-marked cache lines during transactional program execution |
US7269693B2 (en) | 2003-02-13 | 2007-09-11 | Sun Microsystems, Inc. | Selectively monitoring stores to support transactional program execution |
US7269717B2 (en) | 2003-02-13 | 2007-09-11 | Sun Microsystems, Inc. | Method for reducing lock manipulation overhead during access to critical code sections |
US7143273B2 (en) | 2003-03-31 | 2006-11-28 | Intel Corporation | Method and apparatus for dynamic branch prediction utilizing multiple stew algorithms for indexing a global history |
US7398359B1 (en) | 2003-04-30 | 2008-07-08 | Silicon Graphics, Inc. | System and method for performing memory operations in a computing system |
DE602004024995D1 (de) | 2003-05-23 | 2010-02-25 | Nippon Telegraph & Telephone | Parallelverarbeitungseinrichtung und parallelverarbeitungsverfahren |
CA2472887A1 (en) | 2003-06-30 | 2004-12-30 | Gravic, Inc. | Methods for ensuring referential integrity in multithreaded replication engines |
US7836450B2 (en) | 2003-08-28 | 2010-11-16 | Mips Technologies, Inc. | Symmetric multiprocessor operating system for execution on non-independent lightweight thread contexts |
US7197586B2 (en) | 2004-01-14 | 2007-03-27 | International Business Machines Corporation | Method and system for recording events of an interrupt using pre-interrupt handler and post-interrupt handler |
CN1947144A (zh) | 2004-02-24 | 2007-04-11 | 第一数据公司 | 事务处理的系统和方法 |
US8825615B2 (en) | 2004-05-11 | 2014-09-02 | Oracle International Corporation | Simplifying implementation of custom atomic transactions in a programming environment |
US7206903B1 (en) | 2004-07-20 | 2007-04-17 | Sun Microsystems, Inc. | Method and apparatus for releasing memory locations during transactional execution |
US7703098B1 (en) | 2004-07-20 | 2010-04-20 | Sun Microsystems, Inc. | Technique to allow a first transaction to wait on condition that affects its working set |
US7395382B1 (en) | 2004-08-10 | 2008-07-01 | Sun Microsystems, Inc. | Hybrid software/hardware transactional memory |
US7840785B1 (en) | 2004-09-14 | 2010-11-23 | Azul Systems, Inc. | Transparent concurrent atomic execution |
US20060064508A1 (en) | 2004-09-17 | 2006-03-23 | Ramesh Panwar | Method and system to store and retrieve message packet data in a communications network |
US7373554B2 (en) | 2004-09-24 | 2008-05-13 | Oracle International Corporation | Techniques for automatic software error diagnostics and correction |
US7856537B2 (en) | 2004-09-30 | 2010-12-21 | Intel Corporation | Hybrid hardware and software implementation of transactional memory access |
EP1657118A1 (en) | 2004-11-11 | 2006-05-17 | IEE INTERNATIONAL ELECTRONICS & ENGINEERING S.A. | Collision recognition device for a vehicle |
US7984248B2 (en) | 2004-12-29 | 2011-07-19 | Intel Corporation | Transaction based shared data operations in a multiprocessor environment |
US7631073B2 (en) | 2005-01-27 | 2009-12-08 | International Business Machines Corporation | Method and apparatus for exposing monitoring violations to the monitored application |
US20060212757A1 (en) | 2005-03-15 | 2006-09-21 | International Business Machines Corporation | Method, system, and program product for managing computer-based interruptions |
US7421544B1 (en) | 2005-04-04 | 2008-09-02 | Sun Microsystems, Inc. | Facilitating concurrent non-transactional execution in a transactional memory system |
US7496726B1 (en) | 2005-04-18 | 2009-02-24 | Sun Microsystems, Inc. | Controlling contention via transactional timers among conflicting transactions issued by processors operating in insistent or polite mode |
GB0509738D0 (en) | 2005-05-12 | 2005-06-22 | Cambridge Consultants | Processor and interface |
US7464161B2 (en) | 2005-06-06 | 2008-12-09 | International Business Machines Corporation | Enabling and disabling byte code inserted probes based on transaction monitoring tokens |
US7350034B2 (en) | 2005-06-20 | 2008-03-25 | International Business Machines Corporation | Architecture support of best-effort atomic transactions for multiprocessor systems |
US7882339B2 (en) | 2005-06-23 | 2011-02-01 | Intel Corporation | Primitives to enhance thread-level speculation |
US7702825B2 (en) | 2005-06-29 | 2010-04-20 | Intel Corporation | Enhancements to universal serial bus (USB) suspend and resume operations |
US20070005828A1 (en) | 2005-06-30 | 2007-01-04 | Nimrod Diamant | Interrupts support for the KCS manageability interface |
CN1713164A (zh) | 2005-07-21 | 2005-12-28 | 复旦大学 | 可自主处理多事务传输要求的dma控制器及数据传输方法 |
EP1913473A1 (en) | 2005-08-01 | 2008-04-23 | Sun Microsystems, Inc. | Avoiding locks by transactionally executing critical sections |
US20070061555A1 (en) | 2005-09-15 | 2007-03-15 | St Clair Michael | Call return tracking technique |
US7870369B1 (en) | 2005-09-28 | 2011-01-11 | Oracle America, Inc. | Abort prioritization in a trace-based processor |
CN100365604C (zh) | 2005-12-02 | 2008-01-30 | 北京中星微电子有限公司 | 一种中断控制处理装置和方法 |
US20070136289A1 (en) | 2005-12-14 | 2007-06-14 | Intel Corporation | Lock elision with transactional memory |
US7870545B2 (en) | 2005-12-16 | 2011-01-11 | Intel Corporation | Protecting shared variables in a software transactional memory system |
US20070143755A1 (en) | 2005-12-16 | 2007-06-21 | Intel Corporation | Speculative execution past a barrier |
US8117605B2 (en) | 2005-12-19 | 2012-02-14 | Oracle America, Inc. | Method and apparatus for improving transactional memory interactions by tracking object visibility |
US7730286B2 (en) | 2005-12-30 | 2010-06-01 | Intel Corporation | Software assisted nested hardware transactions |
US7810072B2 (en) | 2006-01-06 | 2010-10-05 | International Business Machines Corporation | Exception thrower |
US20070186056A1 (en) | 2006-02-07 | 2007-08-09 | Bratin Saha | Hardware acceleration for a software transactional memory system |
US7617383B2 (en) | 2006-02-16 | 2009-11-10 | Vns Portfolio Llc | Circular register arrays of a computer |
US20070198979A1 (en) | 2006-02-22 | 2007-08-23 | David Dice | Methods and apparatus to implement parallel transactions |
US7533798B2 (en) | 2006-02-23 | 2009-05-19 | Rockwell Automation Technologies, Inc. | Data acquisition and processing system for risk assessment |
US8099538B2 (en) | 2006-03-29 | 2012-01-17 | Intel Corporation | Increasing functionality of a reader-writer lock |
US8180967B2 (en) | 2006-03-30 | 2012-05-15 | Intel Corporation | Transactional memory virtualization |
US8180977B2 (en) * | 2006-03-30 | 2012-05-15 | Intel Corporation | Transactional memory in out-of-order processors |
US7930695B2 (en) | 2006-04-06 | 2011-04-19 | Oracle America, Inc. | Method and apparatus for synchronizing threads on a processor that supports transactional memory |
US7636829B2 (en) | 2006-05-02 | 2009-12-22 | Intel Corporation | System and method for allocating and deallocating memory within transactional code |
US7594094B2 (en) | 2006-05-19 | 2009-09-22 | International Business Machines Corporation | Move data facility with optional specifications |
US7707394B2 (en) | 2006-05-30 | 2010-04-27 | Arm Limited | Reducing the size of a data stream produced during instruction tracing |
US7849446B2 (en) | 2006-06-09 | 2010-12-07 | Oracle America, Inc. | Replay debugging |
MY149658A (en) | 2006-06-12 | 2013-09-30 | Mobile Money Internat Sdn Bhd | Transaction server |
US20070300013A1 (en) | 2006-06-21 | 2007-12-27 | Manabu Kitamura | Storage system having transaction monitoring capability |
US20080005504A1 (en) | 2006-06-30 | 2008-01-03 | Jesse Barnes | Global overflow method for virtualized transactional memory |
US20080012688A1 (en) * | 2006-07-06 | 2008-01-17 | Ha Dong S | Secure rfid based ultra-wideband time-hopped pulse-position modulation |
US20080016325A1 (en) | 2006-07-12 | 2008-01-17 | Laudon James P | Using windowed register file to checkpoint register state |
US7617421B2 (en) | 2006-07-27 | 2009-11-10 | Sun Microsystems, Inc. | Method and apparatus for reporting failure conditions during transactional execution |
US7748618B2 (en) | 2006-08-21 | 2010-07-06 | Verizon Patent And Licensing Inc. | Secure near field transaction |
US7825760B2 (en) * | 2006-09-07 | 2010-11-02 | Bird Mark D | Conical magnet |
US7865885B2 (en) | 2006-09-27 | 2011-01-04 | Intel Corporation | Using transactional memory for precise exception handling in aggressive dynamic binary optimizations |
US20080086516A1 (en) | 2006-10-04 | 2008-04-10 | Oracle International | Automatically changing a database system's redo transport mode to dynamically adapt to changing workload and network conditions |
ATE441022T1 (de) | 2006-11-06 | 2009-09-15 | Gm Global Tech Operations Inc | Verfahren zum betreiben eines partikelfilters, programm für einen rechner und dafür vorgesehene regelvorrichtung |
CN101178787A (zh) | 2006-11-10 | 2008-05-14 | 上海市卢湾区东南医院 | 用于社区老干部保健管理的信息沟通方法 |
US7669040B2 (en) | 2006-12-15 | 2010-02-23 | Sun Microsystems, Inc. | Method and apparatus for executing a long transaction |
JP2008165370A (ja) | 2006-12-27 | 2008-07-17 | Internatl Business Mach Corp <Ibm> | オンライントランザクション処理を分割し、分散環境で実行するための方法および装置。 |
US8086827B2 (en) | 2006-12-28 | 2011-12-27 | Intel Corporation | Mechanism for irrevocable transactions |
US7802136B2 (en) | 2006-12-28 | 2010-09-21 | Intel Corporation | Compiler technique for efficient register checkpointing to support transaction roll-back |
US7627743B2 (en) | 2007-01-12 | 2009-12-01 | Andes Technology Corporation | Method and circuit implementation for multiple-word transfer into/from memory subsystems |
US20080244544A1 (en) | 2007-03-29 | 2008-10-02 | Naveen Neelakantam | Using hardware checkpoints to support software based speculation |
US8332374B2 (en) | 2007-04-13 | 2012-12-11 | Oracle America, Inc. | Efficient implicit privatization of transactional memory |
US8117403B2 (en) | 2007-05-14 | 2012-02-14 | International Business Machines Corporation | Transactional memory system which employs thread assists using address history tables |
US9009452B2 (en) | 2007-05-14 | 2015-04-14 | International Business Machines Corporation | Computing system with transactional memory using millicode assists |
US7814378B2 (en) | 2007-05-18 | 2010-10-12 | Oracle America, Inc. | Verification of memory consistency and transactional memory |
US20080320282A1 (en) | 2007-06-22 | 2008-12-25 | Morris Robert P | Method And Systems For Providing Transaction Support For Executable Program Components |
US8266387B2 (en) | 2007-06-27 | 2012-09-11 | Microsoft Corporation | Leveraging transactional memory hardware to accelerate virtualization emulation |
US7779232B2 (en) | 2007-08-28 | 2010-08-17 | International Business Machines Corporation | Method and apparatus for dynamically managing instruction buffer depths for non-predicted branches |
US8209689B2 (en) | 2007-09-12 | 2012-06-26 | Intel Corporation | Live lock free priority scheme for memory transactions in transactional memory |
US7904434B2 (en) | 2007-09-14 | 2011-03-08 | Oracle International Corporation | Framework for handling business transactions |
US7890472B2 (en) | 2007-09-18 | 2011-02-15 | Microsoft Corporation | Parallel nested transactions in transactional memory |
US20090127332A1 (en) | 2007-11-16 | 2009-05-21 | Kyung Yang Park | System for processing payment employing off-line transaction approval mode of mobile card and method thereof |
US20090138890A1 (en) | 2007-11-21 | 2009-05-28 | Arm Limited | Contention management for a hardware transactional memory |
CN101170747A (zh) | 2007-11-30 | 2008-04-30 | 中兴通讯股份有限公司 | 中继状态调节方法和装置 |
US20090177530A1 (en) | 2007-12-14 | 2009-07-09 | Qualcomm Incorporated | Near field communication transactions in a mobile environment |
US8145878B2 (en) | 2007-12-17 | 2012-03-27 | Intel Corporation | Accessing control and status register (CSR) |
US8195898B2 (en) | 2007-12-27 | 2012-06-05 | Intel Corporation | Hybrid transactions for low-overhead speculative parallelization |
US8706982B2 (en) | 2007-12-30 | 2014-04-22 | Intel Corporation | Mechanisms for strong atomicity in a transactional memory system |
US8065491B2 (en) | 2007-12-30 | 2011-11-22 | Intel Corporation | Efficient non-transactional write barriers for strong atomicity |
US7966459B2 (en) | 2007-12-31 | 2011-06-21 | Oracle America, Inc. | System and method for supporting phased transactional memory modes |
US8140497B2 (en) | 2007-12-31 | 2012-03-20 | Oracle America, Inc. | System and method for implementing nonblocking zero-indirection transactional memory |
US20090182983A1 (en) | 2008-01-11 | 2009-07-16 | International Business Machines Corporation | Compare and Branch Facility and Instruction Therefore |
US8041900B2 (en) | 2008-01-15 | 2011-10-18 | Oracle America, Inc. | Method and apparatus for improving transactional memory commit latency |
US20090187906A1 (en) | 2008-01-23 | 2009-07-23 | Sun Microsystems, Inc. | Semi-ordered transactions |
US8176279B2 (en) | 2008-02-25 | 2012-05-08 | International Business Machines Corporation | Managing use of storage by multiple pageable guests of a computing environment |
US8161273B2 (en) | 2008-02-26 | 2012-04-17 | Oracle America, Inc. | Method and apparatus for programmatically rewinding a register inside a transaction |
US8380907B2 (en) | 2008-02-26 | 2013-02-19 | International Business Machines Corporation | Method, system and computer program product for providing filtering of GUEST2 quiesce requests |
US8688628B2 (en) | 2008-02-29 | 2014-04-01 | Red Hat, Inc. | Nested queued transaction manager |
EP2096564B1 (en) | 2008-02-29 | 2018-08-08 | Euroclear SA/NV | Improvements relating to handling and processing of massive numbers of processing instructions in real time |
US8316366B2 (en) | 2008-04-02 | 2012-11-20 | Oracle America, Inc. | Facilitating transactional execution in a processor that supports simultaneous speculative threading |
US20090260011A1 (en) | 2008-04-14 | 2009-10-15 | Microsoft Corporation | Command line transactions |
JP5385545B2 (ja) | 2008-04-17 | 2014-01-08 | インターナショナル・ビジネス・マシーンズ・コーポレーション | トランザクションの実行を制御する装置及び方法 |
US9367363B2 (en) | 2008-05-12 | 2016-06-14 | Oracle America, Inc. | System and method for integrating best effort hardware mechanisms for supporting transactional memory |
US8612950B2 (en) | 2008-06-19 | 2013-12-17 | Intel Corporation | Dynamic optimization for removal of strong atomicity barriers |
US20100002370A1 (en) * | 2008-07-02 | 2010-01-07 | Yi-Jen Cheng | Digital video recorder with an ejector frame assembly |
US7996686B2 (en) | 2008-07-07 | 2011-08-09 | International Business Machines Corporation | Branch trace methodology |
US8621183B2 (en) | 2008-07-28 | 2013-12-31 | Advanced Micro Devices, Inc. | Processor with support for nested speculative sections with different transactional modes |
US9449314B2 (en) | 2008-10-02 | 2016-09-20 | International Business Machines Corporation | Virtualization of a central processing unit measurement facility |
US8191046B2 (en) | 2008-10-06 | 2012-05-29 | Microsoft Corporation | Checking transactional memory implementations |
US20100205628A1 (en) | 2009-02-12 | 2010-08-12 | Davis Bruce L | Media processing methods and arrangements |
US20100122073A1 (en) | 2008-11-10 | 2010-05-13 | Ravi Narayanaswamy | Handling exceptions in software transactional memory systems |
JP4702962B2 (ja) | 2008-11-12 | 2011-06-15 | インターナショナル・ビジネス・マシーンズ・コーポレーション | メモリ制御装置、プログラム及び方法 |
US8789057B2 (en) | 2008-12-03 | 2014-07-22 | Oracle America, Inc. | System and method for reducing serialization in transactional memory using gang release of blocked threads |
US8672820B2 (en) | 2008-12-04 | 2014-03-18 | Honda Motor Co., Ltd. | Tool stocker, machine tool system, and tool damage detecting apparatus |
US20100153776A1 (en) | 2008-12-12 | 2010-06-17 | Sun Microsystems, Inc. | Using safepoints to provide precise exception semantics for a virtual machine |
US9274855B2 (en) | 2008-12-24 | 2016-03-01 | Intel Corporation | Optimization for safe elimination of weak atomicity overhead |
US10210018B2 (en) | 2008-12-24 | 2019-02-19 | Intel Corporation | Optimizing quiescence in a software transactional memory (STM) system |
US8914620B2 (en) | 2008-12-29 | 2014-12-16 | Oracle America, Inc. | Method and system for reducing abort rates in speculative lock elision using contention management mechanisms |
US9785462B2 (en) | 2008-12-30 | 2017-10-10 | Intel Corporation | Registering a user-handler in hardware for transactional memory event handling |
US8799582B2 (en) | 2008-12-30 | 2014-08-05 | Intel Corporation | Extending cache coherency protocols to support locally buffered data |
CN101710433A (zh) | 2008-12-31 | 2010-05-19 | 深圳市江波龙电子有限公司 | 一种电子支付卡的交易方法及电子支付卡 |
US9170844B2 (en) | 2009-01-02 | 2015-10-27 | International Business Machines Corporation | Prioritization for conflict arbitration in transactional memory management |
CN101819518B (zh) | 2009-02-26 | 2013-09-11 | 国际商业机器公司 | 在事务内存中快速保存上下文的方法和装置 |
US8266107B2 (en) | 2009-03-11 | 2012-09-11 | International Business Machines Corporation | Method for mirroring a log file by threshold driven synchronization |
US20120014412A1 (en) * | 2009-03-17 | 2012-01-19 | Panasonic Corporation | Positioning system and positioning method |
US9940138B2 (en) | 2009-04-08 | 2018-04-10 | Intel Corporation | Utilization of register checkpointing mechanism with pointer swapping to resolve multithreading mis-speculations |
US20100307689A1 (en) | 2009-06-06 | 2010-12-09 | Michael James Huebner | Pivoting tape dispenser |
US8973004B2 (en) | 2009-06-26 | 2015-03-03 | Oracle America, Inc. | Transactional locking with read-write locks in transactional memory systems |
US8489864B2 (en) | 2009-06-26 | 2013-07-16 | Microsoft Corporation | Performing escape actions in transactions |
DE112009005006T5 (de) | 2009-06-26 | 2013-01-10 | Intel Corporation | Optimierungen für ein ungebundenes transaktionales Speichersystem (UTM) |
US8356166B2 (en) * | 2009-06-26 | 2013-01-15 | Microsoft Corporation | Minimizing code duplication in an unbounded transactional memory system by using mode agnostic transactional read and write barriers |
US8281185B2 (en) | 2009-06-30 | 2012-10-02 | Oracle America, Inc. | Advice-based feedback for transactional execution |
US8229907B2 (en) | 2009-06-30 | 2012-07-24 | Microsoft Corporation | Hardware accelerated transactional memory system with open nested transactions |
US8688964B2 (en) | 2009-07-20 | 2014-04-01 | Microchip Technology Incorporated | Programmable exception processing latency |
GB2472620B (en) | 2009-08-12 | 2016-05-18 | Cloudtran Inc | Distributed transaction processing |
US8392694B2 (en) | 2009-09-15 | 2013-03-05 | International Business Machines Corporation | System and method for software initiated checkpoint operations |
GB2474446A (en) | 2009-10-13 | 2011-04-20 | Advanced Risc Mach Ltd | Barrier requests to maintain transaction order in an interconnect with multiple paths |
US8327188B2 (en) | 2009-11-13 | 2012-12-04 | Oracle America, Inc. | Hardware transactional memory acceleration through multiple failure recovery |
US8516202B2 (en) | 2009-11-16 | 2013-08-20 | International Business Machines Corporation | Hybrid transactional memory system (HybridTM) and method |
US9529839B2 (en) | 2009-12-07 | 2016-12-27 | International Business Machines Corporation | Applying limited-size hardware transactional memory to arbitrarily large data structure |
US8290991B2 (en) | 2009-12-15 | 2012-10-16 | Juniper Networks, Inc. | Atomic deletion of database data categories |
US9092253B2 (en) | 2009-12-15 | 2015-07-28 | Microsoft Technology Licensing, Llc | Instrumentation of hardware assisted transactional memory system |
US8316194B2 (en) | 2009-12-15 | 2012-11-20 | Intel Corporation | Mechanisms to accelerate transactions using buffered stores |
US8095824B2 (en) | 2009-12-15 | 2012-01-10 | Intel Corporation | Performing mode switching in an unbounded transactional memory (UTM) system |
US8521995B2 (en) | 2009-12-15 | 2013-08-27 | Intel Corporation | Handling operating system (OS) transitions in an unbounded transactional memory (UTM) mode |
US8301849B2 (en) | 2009-12-23 | 2012-10-30 | Intel Corporation | Transactional memory in out-of-order processors with XABORT having immediate argument |
US20110161371A1 (en) | 2009-12-29 | 2011-06-30 | Microgen Plc | Sql generation |
KR101639672B1 (ko) | 2010-01-05 | 2016-07-15 | 삼성전자주식회사 | 무한 트랜잭션 메모리 시스템 및 그 동작 방법 |
CN101826000A (zh) | 2010-01-29 | 2010-09-08 | 北京龙芯中科技术服务中心有限公司 | 流水线微处理器的中断响应确定方法、装置及微处理器核 |
US8549468B2 (en) | 2010-02-08 | 2013-10-01 | National Tsing Hua University | Method, system and computer readable storage device for generating software transaction-level modeling (TLM) model |
US8850166B2 (en) | 2010-02-18 | 2014-09-30 | International Business Machines Corporation | Load pair disjoint facility and instruction therefore |
US20110208921A1 (en) | 2010-02-19 | 2011-08-25 | Pohlack Martin T | Inverted default semantics for in-speculative-region memory accesses |
US8739164B2 (en) | 2010-02-24 | 2014-05-27 | Advanced Micro Devices, Inc. | Automatic suspend atomic hardware transactional memory in response to detecting an implicit suspend condition and resume thereof |
US8438568B2 (en) | 2010-02-24 | 2013-05-07 | International Business Machines Corporation | Speculative thread execution with hardware transactional memory |
US8464261B2 (en) | 2010-03-31 | 2013-06-11 | Oracle International Corporation | System and method for executing a transaction using parallel co-transactions |
US8402227B2 (en) | 2010-03-31 | 2013-03-19 | Oracle International Corporation | System and method for committing results of a software transaction using a hardware transaction |
US8631223B2 (en) | 2010-05-12 | 2014-01-14 | International Business Machines Corporation | Register file supporting transactional processing |
US9626187B2 (en) | 2010-05-27 | 2017-04-18 | International Business Machines Corporation | Transactional memory system supporting unbroken suspended execution |
US20110302143A1 (en) | 2010-06-02 | 2011-12-08 | Microsoft Corporation | Multi-version concurrency with ordered timestamps |
US9880848B2 (en) | 2010-06-11 | 2018-01-30 | Advanced Micro Devices, Inc. | Processor support for hardware transactional memory |
US8560816B2 (en) | 2010-06-30 | 2013-10-15 | Oracle International Corporation | System and method for performing incremental register checkpointing in transactional memory |
US8479053B2 (en) | 2010-07-28 | 2013-07-02 | Intel Corporation | Processor with last branch record register storing transaction indicator |
US8561033B2 (en) | 2010-07-30 | 2013-10-15 | International Business Machines Corporation | Selective branch-triggered trace generation apparatus and method |
US8549504B2 (en) | 2010-09-25 | 2013-10-01 | Intel Corporation | Apparatus, method, and system for providing a decision mechanism for conditional commits in an atomic region |
US8424015B2 (en) | 2010-09-30 | 2013-04-16 | International Business Machines Corporation | Transactional memory preemption mechanism |
US9552206B2 (en) | 2010-11-18 | 2017-01-24 | Texas Instruments Incorporated | Integrated circuit with control node circuitry and processing circuitry |
US9122476B2 (en) * | 2010-12-07 | 2015-09-01 | Advanced Micro Devices, Inc. | Programmable atomic memory using hardware validation agent |
US8788794B2 (en) | 2010-12-07 | 2014-07-22 | Advanced Micro Devices, Inc. | Programmable atomic memory using stored atomic procedures |
US8442962B2 (en) | 2010-12-28 | 2013-05-14 | Sap Ag | Distributed transaction management using two-phase commit optimization |
US8818867B2 (en) | 2011-11-14 | 2014-08-26 | At&T Intellectual Property I, L.P. | Security token for mobile near field communication transactions |
US9158660B2 (en) | 2012-03-16 | 2015-10-13 | International Business Machines Corporation | Controlling operation of a run-time instrumentation facility |
US9442824B2 (en) * | 2012-03-16 | 2016-09-13 | International Business Machines Corporation | Transformation of a program-event-recording event into a run-time instrumentation event |
US9336046B2 (en) | 2012-06-15 | 2016-05-10 | International Business Machines Corporation | Transaction abort processing |
US9448796B2 (en) | 2012-06-15 | 2016-09-20 | International Business Machines Corporation | Restricted instructions in transactional execution |
US9442737B2 (en) | 2012-06-15 | 2016-09-13 | International Business Machines Corporation | Restricting processing within a processor to facilitate transaction completion |
US9384004B2 (en) | 2012-06-15 | 2016-07-05 | International Business Machines Corporation | Randomized testing within transactional execution |
US9740549B2 (en) | 2012-06-15 | 2017-08-22 | International Business Machines Corporation | Facilitating transaction completion subsequent to repeated aborts of the transaction |
US10437602B2 (en) | 2012-06-15 | 2019-10-08 | International Business Machines Corporation | Program interruption filtering in transactional execution |
US9311101B2 (en) | 2012-06-15 | 2016-04-12 | International Business Machines Corporation | Intra-instructional transaction abort handling |
US9367323B2 (en) | 2012-06-15 | 2016-06-14 | International Business Machines Corporation | Processor assist facility |
US9772854B2 (en) | 2012-06-15 | 2017-09-26 | International Business Machines Corporation | Selectively controlling instruction execution in transactional processing |
US8966324B2 (en) | 2012-06-15 | 2015-02-24 | International Business Machines Corporation | Transactional execution branch indications |
US8880959B2 (en) | 2012-06-15 | 2014-11-04 | International Business Machines Corporation | Transaction diagnostic block |
US8688661B2 (en) | 2012-06-15 | 2014-04-01 | International Business Machines Corporation | Transactional processing |
US9436477B2 (en) | 2012-06-15 | 2016-09-06 | International Business Machines Corporation | Transaction abort instruction |
US9317460B2 (en) | 2012-06-15 | 2016-04-19 | International Business Machines Corporation | Program event recording within a transactional environment |
US9348642B2 (en) | 2012-06-15 | 2016-05-24 | International Business Machines Corporation | Transaction begin/end instructions |
US8682877B2 (en) | 2012-06-15 | 2014-03-25 | International Business Machines Corporation | Constrained transaction execution |
US9361115B2 (en) | 2012-06-15 | 2016-06-07 | International Business Machines Corporation | Saving/restoring selected registers in transactional processing |
US20130339680A1 (en) | 2012-06-15 | 2013-12-19 | International Business Machines Corporation | Nontransactional store instruction |
US8964390B2 (en) | 2012-11-08 | 2015-02-24 | International Business Machines Corporation | Sectioned manifolds facilitating pumped immersion-cooling of electronic components |
US9348522B2 (en) | 2013-12-12 | 2016-05-24 | International Business Machines Corporation | Software indications and hints for coalescing memory transactions |
-
2012
- 2012-06-15 US US13/524,765 patent/US9448796B2/en active Active
-
2013
- 2013-03-04 US US13/783,572 patent/US9448797B2/en active Active
- 2013-05-17 WO PCT/EP2013/060297 patent/WO2013186013A1/en active Application Filing
- 2013-05-17 JP JP2015516531A patent/JP6218815B2/ja active Active
- 2013-05-17 CN CN201380027504.6A patent/CN104350463B/zh active Active
- 2013-05-17 GB GB1414238.4A patent/GB2513508B/en active Active
- 2013-05-17 DE DE112013001941.8T patent/DE112013001941B4/de active Active
-
2016
- 2016-08-16 US US15/238,306 patent/US9858082B2/en active Active
- 2016-08-16 US US15/238,270 patent/US9851978B2/en active Active
-
2017
- 2017-12-08 US US15/836,019 patent/US10558465B2/en active Active
- 2017-12-08 US US15/836,133 patent/US10684863B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
CN104350463A (zh) | 2015-02-11 |
US9448797B2 (en) | 2016-09-20 |
US20180107488A1 (en) | 2018-04-19 |
DE112013001941B4 (de) | 2017-07-20 |
US20160357570A1 (en) | 2016-12-08 |
GB201414238D0 (en) | 2014-09-24 |
US9858082B2 (en) | 2018-01-02 |
JP2015525406A (ja) | 2015-09-03 |
US20180101386A1 (en) | 2018-04-12 |
US10558465B2 (en) | 2020-02-11 |
US20130339685A1 (en) | 2013-12-19 |
GB2513508B (en) | 2015-03-25 |
DE112013001941T9 (de) | 2015-03-19 |
US10684863B2 (en) | 2020-06-16 |
US20130339674A1 (en) | 2013-12-19 |
US20160357553A1 (en) | 2016-12-08 |
US9448796B2 (en) | 2016-09-20 |
CN104350463B (zh) | 2017-06-23 |
WO2013186013A1 (en) | 2013-12-19 |
US9851978B2 (en) | 2017-12-26 |
GB2513508A (en) | 2014-10-29 |
DE112013001941T5 (de) | 2014-12-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6218815B2 (ja) | コンピューティング環境においてトランザクション実行に関連付けられた処理を実行するための方法、システム、およびプログラム(トランザクション実行における制限された命令) | |
US10353759B2 (en) | Facilitating transaction completion subsequent to repeated aborts of the transaction | |
JP6218816B2 (ja) | コンピューティング環境においてマシン命令を実行するための方法、システム、およびプログラム(トランザクション開始/終了命令) | |
JP6222670B2 (ja) | トランザクション処理 | |
JP6238248B2 (ja) | 制約付きトランザクションの実行 | |
JP6086406B2 (ja) | トランザクション処理における選択されたレジスタの保存/復元 | |
JP6176637B2 (ja) | トランザクション環境内でのプログラム・イベント記録 | |
JP6253065B2 (ja) | トランザクション処理における命令実行の選択的制御 | |
JP6218433B2 (ja) | トランザクションの完了を容易にするためのプロセッサ内での処理の制限 | |
JP6234448B2 (ja) | トランザクション実行分岐表示 | |
JP6138249B2 (ja) | トランザクション診断ブロック | |
JP6206886B2 (ja) | Transaction abort命令 | |
JP6091608B2 (ja) | Nontransactional store命令 | |
JP6222669B2 (ja) | プロセッサ支援ファシリティ | |
JP6168537B2 (ja) | トランザクション実行内でのランダム化されたテスト | |
JP6143025B2 (ja) | トランザクション実行におけるプログラム割り込みフィルタ処理 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20160419 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20170419 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20170530 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170828 |
|
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: 20170905 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170926 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6218815 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |