JP6143025B2 - トランザクション実行におけるプログラム割り込みフィルタ処理 - Google Patents
トランザクション実行におけるプログラム割り込みフィルタ処理 Download PDFInfo
- Publication number
- JP6143025B2 JP6143025B2 JP2015516693A JP2015516693A JP6143025B2 JP 6143025 B2 JP6143025 B2 JP 6143025B2 JP 2015516693 A JP2015516693 A JP 2015516693A JP 2015516693 A JP2015516693 A JP 2015516693A JP 6143025 B2 JP6143025 B2 JP 6143025B2
- Authority
- JP
- Japan
- Prior art keywords
- transaction
- instruction
- program
- interrupt
- 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 88
- 238000000034 method Methods 0.000 claims description 60
- 238000001914 filtration Methods 0.000 claims description 55
- 238000004590 computer program Methods 0.000 claims description 23
- 238000004891 communication Methods 0.000 claims description 14
- 230000003111 delayed effect Effects 0.000 claims 2
- 238000004886 process control Methods 0.000 claims 1
- 230000006870 function Effects 0.000 description 45
- 238000013519 translation Methods 0.000 description 27
- 230000014616 translation Effects 0.000 description 27
- 206010000210 abortion Diseases 0.000 description 23
- 230000008859 change Effects 0.000 description 23
- 238000005192 partition Methods 0.000 description 22
- 238000006243 chemical reaction Methods 0.000 description 19
- 230000008569 process Effects 0.000 description 18
- 230000001419 dependent effect Effects 0.000 description 17
- 239000000872 buffer Substances 0.000 description 12
- 238000010586 diagram Methods 0.000 description 12
- 230000007246 mechanism Effects 0.000 description 11
- 238000006073 displacement reaction Methods 0.000 description 10
- 230000009471 action Effects 0.000 description 9
- 238000011084 recovery Methods 0.000 description 6
- 238000012360 testing method Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 5
- 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 5
- 230000008901 benefit Effects 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 4
- 230000000295 complement effect Effects 0.000 description 4
- 230000001934 delay Effects 0.000 description 4
- 230000001343 mnemonic effect Effects 0.000 description 4
- 230000036961 partial effect Effects 0.000 description 4
- 238000001514 detection method Methods 0.000 description 3
- 230000007774 longterm Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 230000007704 transition Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 230000003993 interaction 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
- 102000004137 Lysophosphatidic Acid Receptors Human genes 0.000 description 1
- 108090000642 Lysophosphatidic Acid Receptors Proteins 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
- 230000003139 buffering effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 150000001875 compounds Chemical class 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 239000000835 fiber Substances 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
- 230000000670 limiting effect Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 239000013307 optical fiber 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
- 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
- 238000010200 validation analysis Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
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
- G06F9/3865—Recovery, e.g. branch miss-prediction, exception handling using deferred exception handling, e.g. exception flags
-
- 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
-
- 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/3854—Instruction completion, e.g. retiring, committing or graduating
-
- 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
-
- 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/44—Arrangements for executing specific programs
-
- 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/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4812—Task transfer initiation or dispatching by interrupt, e.g. masked
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Complex Calculations (AREA)
- Measurement And Recording Of Electrical Phenomena And Electrical Characteristics Of The Living Body (AREA)
- Electrophonic Musical Instruments (AREA)
Description
付加的な特徴及び利点が実現される。他の実施形態及び態様は、本明細書で詳細に説明され、特許請求される本発明の一部と見なされる。
1つ又は複数の態様が具体的に示され、本明細書の末尾にある特許請求の範囲において例として明確に特許請求されている。上記及び他の目的、特徴及び利点は、添付図面と関連して用いられる以下の詳細な説明から明らかである。
*トランザクション・ネスト化深さが最初に0のとき、第1のオペランド・アドレスは、トランザクションがアボートされた場合に種々の診断情報を格納することができる、TBEGIN指定TDB(以下にさらに説明される)と呼ばれる、256バイトのトランザクション診断ブロックの記憶位置を指定する。CPUが一次空間モード又はアクセス・レジスタ・モードにあるとき、第1のオペランド・アドレスは、一次アドレス空間内の記憶位置を指定する。CPUが二次空間モード又はホーム空間モードにあるとき、第1のオペランド・アドレスは、それぞれ、二次アドレス空間又はホーム・アドレス空間内の記憶位置を指定する。DATがオフのとき、トランザクション診断ブロック(TDB)アドレス(TDBA)は、実ストレージ内の記憶位置を指定する。
B1フィールドが0のとき、第1のオペランドについてアクセス例外は検出されず、最外TBEGIN命令について、TDBAは無効である。
汎用レジスタ保存マスク(General Register Save Mask、GRSM)210(図3):I2フィールドのビット0−7は、汎用レジスタ保存マスク(GRSM)を含む。GRSMの各ビットは、汎用レジスタの偶数−奇数対を表し、ここでビット0はレジスタ0及び1を表し、ビット1はレジスタ2及び3を表し、以下同様である。最外TBEGIN命令のGRSMにおけるビットが0のとき、対応するレジスタ対は保存されない。最外TBEGIN命令のGRSMにおけるビットが1のとき、対応するレジスタ対は、プログラムが直接アクセスできないモデル依存位置に保存される。
汎用レジスタ保存マスクは、最外のものを除いて、全てのTBEGIN命令において無視される。
*全てのレベルのトランザクションにより行われたトランザクション・ストア・アクセスが廃棄される(即ち、コミットされない)。
*全てのレベルのトランザクションにより行われた非トランザクション・ストア・アクセスがコミットされる。
*最外TRANSACTION BEGIN命令の汎用レジスタ保存マスク(GRSM)により指定されたレジスタが、トランザクション実行より前のレジスタの内容に復元される(即ち、最外TRANSACTION BEGIN命令の実行時のレジスタの内容に)。最外TRANSACTION BEGIN命令の汎用レジスタ保存マスクにより指定されていない汎用レジスタは、復元されない。
*アクセス・レジスタ、浮動小数点レジスタ、及び浮動小数点制御レジスタは、復元されない。トランザクションがアボートすると、トランザクション実行中にこれらのレジスタに対してなされた全ての変更が保持される。
*一般命令のサブセットが利用可能である。
*制限された数の命令を実行することができる。
*制限された数のストレージ・オペランド位置にアクセスすることできる。
*トランザクションは、単一のネスト化レベルに制限される。
DH2フィールド及びDL2フィールドにより形成された変位は、20ビットの符号付き2進整数として扱われる。
第2のオペランドは、ダブルワード(double word)境界上にアラインされ、他の場合には、指定例外が認識され、操作は抑止される。
示されるように、トランザクション実行ファシリティは、制御レジスタ0の2個のビット及び制御レジスタ2の3個のビットによって制御される。例えば:
制御レジスタ0のビット8が0のとき、EXTRACT TRANSACTION NESTING DEPTH、TRANSACTION BEGIN及びTRANSACTION END命令を実行しようとする試みは、特別な操作実行をもたらす。
図10を参照して、EXTRACT TRANSACTION NESTING DEPTH命令の形式の一実施形態を説明する。一例として、EXTRACT TRANSACTION NESTING DEPTH命令800は、トランザクション・ネスト化深さ抽出操作を示すオペコードを指定するオペコード・フィールド802と、汎用レジスタを指定するレジスタ・フィールドR1804とを含む。
現在のトランザクション・ネスト化深さは、汎用レジスタR1のビット48−63に配置される。レジスタのビット0−31は変更されないままであり、レジスタのビット32−47は0に設定される。
更に別の実施形態において、最大トランザクション・ネスト化深さもまた、ビット16−31内といった、汎用レジスタR1内に配置される。
TDS
TDC
*アボート・コードは、コード7−11、13−16又は255のいずれかに設定され、コードの値はCPUによりランダムに選択され、条件コードはアボート・コードに対応して設定される。アボート・コードを以下にさらに説明する。
*制約なしトランザクションの場合、条件コードは1に設定される。この場合、アボート・コードは適用可能でない。
制約付きトランザクションの場合、1のTDC値は、あたかも2のTDC値が指定されたかのように扱われる。
3のTDC値が指定された場合、結果は予測不能である。
命令のB1フィールドが0でないとき、最外TRANSACTION BEGIN(TBEGIN)命令の第1のオペランド・アドレスから、有効なトランザクション診断ブロック・アドレス(TDBA)が設定される。CPUが一次空間又はアクセス・レジスタ・モードにあるとき、TDBAは、一次アドレス空間内の記憶位置を指定する。CPUが二次空間又はホーム空間モードにあるとき、TDBAは、それぞれ、二次アドレス空間又はホーム・アドレス空間内の記憶位置を指定する。DAT(動的アドレス変換)がオフのとき、TDBAは、実ストレージ内の記憶位置を指定する。
TRANSACTION BEGIN(TBEGIN)命令の実行中、ネスト化深さが最初に0であるとき、トランザクション・アボートPSWは現PSWの内容に設定され、トランザクション・アボートPSWの命令アドレスは、次の順次命令を指定する(即ち、最外TBEGINに続く命令)。制限付きTRANSACTION BEGIN(TBEGINC)命令の実行中、ネスト化深さが最初に0であるとき、トランザクション・アボートPSWは、トランザクション・アボートPSWの命令アドレスが(TBEGINCに続く次の順次命令ではなく)TBEGINCを指定することを除いて、現PSWの内容に設定される。
トランザクション・アボートPSWは、いずれの内部TRANSACTION BEGIN命令の実行中にも変更されない。
トランザクション・ネスト化深さは、例えば、TRANSACTION BEGIN命令が条件コード0で完了するたびにインクリメントし、且つ、TRANSACTION END命令が完了するたびにデクリメントする、16ビットの符号なし値である。トランザクション・ネスト化深さは、トランザクションがアボートされたとき、又はCPUのリセットにより、0に設定される。
1つの実装において、CPUが制約付きトランザクション実行モードにあるとき、トランザクション・ネスト化深さは1である。さらに、最大TNDは4ビットの値として表すことができるが、TNDは、トランザクション診断ブロックにおける検査を容易にするために、16ビットの値となるように定められる。
トランザクションがアボートされた場合、種々の状態情報を、以下のようなトランザクション診断ブロック(TDB)内に保存することができる。
1.TBEGIN指定TDB:制約なしトランザクションについて、最外TBEGIN命令のB1フィールドが0でないとき、命令の第1のオペランド・アドレスは、TBEGIN指定TDBを指定する。これは、アプリケーションのアボート・ハンドラにより検査することができるアプリケーション・プログラムにより指定される記憶位置である。
2.プログラム割り込み(PI)TDB:制約なしトランザクションが、非フィルタ処理プログラム例外条件に起因してアボートされた場合、又は制約付きトランザクションがいずれかのプログラム例外条件に起因してアボートされた場合(即ち、プログラム割り込みをもたらすいずれかの条件が認識される)、PI−TDBは、プリフィックス領域内の記憶位置に格納される。これは、オペレーティング・システムが提供できるあらゆる診断報告において、オペレーティング・システムが検査又はログアウトするのに利用可能である。
3.インターセプトTDB:トランザクションが、インターセプトをもたらす(即ち、条件により解釈実行が終了し、制御がホスト・プログラムに戻る)いずれかのプログラム例外条件に起因してアボートされた場合、TDBは、ゲスト・オペレーティング・システムについての状態記述ブロックにおいて指定された記憶位置に格納される。
非フィルタ処理プログラム例外条件に起因するアボートの場合、PI−TDB又はインターセプトTDBのいずれか1つだけが格納される。従って、1つのアボートに対して、0、1又は2つのTDBが格納され得る。
TBEGIN指定TDB:有効なトランザクション診断ブロック・アドレスにより指定された256バイトの記憶位置である。トランザクション診断ブロック・アドレスが有効であるとき、TBEGIN指定TDBは、トランザクション・アボート上に格納される。TBEGIN指定TDBは、最外TRANSACTION BEGIN命令の実行時に有効である全てのストレージ保護機構の影響下にある。TBEGIN指定TDBの任意の部分についてのPER(プログラム・イベント記録)ストレージ変更イベントは、トランザクション・アボート処理中ではなく、最外TBEGINの実行中に検出される。
*分岐命令の成功裏な実行:指定したストレージ領域(記憶領域)内に分岐ターゲット位置があるときにのみイベントが生じるようにするためのオプションが提供される。
*指定したストレージ領域からの命令のフェッチ。
*指定したストレージ領域の内容の変更。指定したアドレス空間内にストレージ領域があるときにのみイベントを生じるようにするためのオプションが提供される。
*STORE USING REAL ADDRESS命令の実行。
*TRANSACTION END命令の実行。
競合トークン妥当性(CTV):トランザクションが、フェッチ又はストア競合のためにアボートされるとき(つまり、それぞれ、アボート・コード9又は10)、バイト1のビット0は、競合トークン妥当性表示である。CTV表示が1のとき、TDBのバイト16−23における競合トークン910は、競合が検出された論理アドレスを含む。CTV表示が0であるとき、TDBのバイト16−23は予測不能である。
トランザクションが、フェッチ又はストア競合以外のいずれかの理由のためにアボートされたとき、バイト1のビット0は、0として格納される。
制約付きトランザクション表示(CTI):CPUが制約付きトランザクション実行モードにあるとき、バイト1のビット1は1に設定される。CPUが制約なしトランザクション実行モードにあるとき、バイト1のビット1は0に設定される。
予約:バイト1のビット2−7は予約され、0として格納される。
CTVビットが0のとき、バイト16−23は予測不能である。
*アクセス・リスト制御又はDATによる保護
*ASCEタイプ
*ページ変換
*領域第1変換
*領域第2変換
*領域第3変換
*セグメント変換例外
z/アーキテクチャの一実施形態において、PER−3ファシリティがインストールされると、このPER−3ファシリティは、プログラムに、CPUの順次実行においてブレークを生じさせる最後の命令のアドレスを与える。ブレーキング・イベント・アドレスの記録を、ワイルド分岐検出のためのデバッグ支援として用いることができる。このファシリティは、例えば、ブレーキング・イベント・アドレス・レジスタと呼ばれる、CPUにおける64ビット・レジスタを与える。TRANSACTION ABORT以外の命令が、順次命令の実行においてブレークを生じさせる(つまり、PSW内の命令アドレスが、命令長でインクリメントされるのではなく、置き換えられる)たびに、その命令のアドレスが、ブレーキング・イベント・アドレス・レジスタ内に配置される。PERが表示されるにせよ又はされないにせよ、プログラム割り込みが発生するたびに、ブレーキング・イベント・アドレス・レジスタの現在の内容が実ストレージ位置272−279に配置される。
*バイト112−119は、トランザクション実行分岐表示(TXBI)と呼ばれる64ビットのベクトルを含む。ベクトルの最初の63ビットの各々は、次のように、CPUがトランザクション実行モードにある間の分岐命令の実行の結果を示す。
−いずれの限定された命令も、TXBI内にビットを設定させない
−例えばz/アーキテクチャの命令において、BRANCH ON CONDITION、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)
*EXTRACT TRANSACTION NESTING DEPTH
*NONTRANSACTIONAL STORE
*TRANSACTION ABORT
*TRANSACTION BEGIN
*TRANSACTION END
*命令のR2フィールドが0でなく、且つ、分岐トレース(branch tracing)がイネーブルにされたときのBRANCH AND LINK(BALR)、BRANCH AND SAVE (BASR)及びBRANCH AND SAVE AND SET MODE
*命令のR2フィールドが0でなく、且つ、モード・トレース(mode tracing)がイネーブルにされたときのBRANCH AND SAVE AND SET MODE及びBRANCH AND SET MODE、モード・トレースがイネーブルにされたときのSET ADDRESSING MODE
*監視イベント条件が認識されたときのMONITOR CALL
1.その他の条件は、以下のいずれかからもたらされ得る。
*z/アーキテクチャにおける、構成内の別のCPUにより、COMPARE AND REPLACE DAT TABLE ENTRY、COMPARE AND SWAP AND PURGE、INVALIDATE DAT TABLE ENTRY、INVALIDATE PAGE TABLE ENTRY、NQ制御が0であり、且つ、SK制御が1であるPERFORM FRAME MANAGEMENT FUNCTION、NQ制御が0であるSET STORAGE KEY EXTENDEDのような命令が実行された;条件コードが2に設定される。
*リセット、再起動、又は停止、又は同等のSIGNAL PROCESSOR命令のようなオペレータ機能がそのCPU上で実行される。
*上記に列挙されないいずれかの他の条件;条件コードは2又は3に設定される。
2.フェッチ及びストア競合が検出された記憶位置は、同一キャッシュ・ライン内のどの場所であってもよい。
3.特定の条件下で、CPUは、類似のアボート条件を区別できないことがある。例えば、フェッチ又はストア・オーバーフローは、それぞれのフェッチ又はストア競合と区別できないことがある。
4.CPUによる複数の命令経路の投機的実行により、こうした条件が概念上の順序で行われない場合でも、競合又はオーバーフロー条件に起因して、トランザクションがアボートされる。制約付きトランザクション・モードにある間、CPUは、投機的実行を一時的に禁止し、こうした競合又はオーバーフローを投機的に検出することなく、トランザクションを完了しようと試みることを可能にする。
1.トランザクションは、制約付きTRANSACTION BEGIN(TBEGINC)命令及びTRANSACTION END命令を含まない、32を超えない命令を実行する。
2.トランザクション内の全ての命令は、制約付きTRANSACTION BEGIN(TBEGINC)命令及びあらゆるTRANSACTION END命令を含む、ストレージの256の連続バイト内にある。
3.制限された命令に加えて、次の制限が制約付きトランザクションに適用される。
a.命令は、例えば、加算(add)、減算(subtract)、乗算(multiply)、除算(divide)、シフト(shift)、ローテート(rotate)等を含む、一般命令と呼ばれるものに限定される。
b.分岐命令は、次のもの(列挙された命令は、一例においてz/アーキテクチャのものである)に限定される。
*M1フィールドは0でなく、RI2フィールドは正の値を含む、BRANCH RELATIVE ON CONDITION、
*M1フィールドは0でなく、RI2フィールドは、アドレスの循環(wraparound)を生じさせない正の値を含む、BRANCH RELATIVE ON CONDITION LONG、
*M3フィールドは0でなく、RI4フィールドは正の値を含む、COMPARE AND BRANCH RELATIVE、COMPARE IMMEDIATE AND BRANCH RELATIVE、COMPARE LOGICAL AND BRANCH RELATIVE、及びCOMPARE LOGICAL IMMEDIATE AND BRANCH RELATIVE(即ち、0でない分岐マスクを有する前方分岐(forward branch)のみ)、
c.TRANSACTION END及び特定のオペランド・シリアル化をもたらす命令を除いた、シリアル化機能をもたらす命令が制限される。
d.ストレージ間操作(Storage-and-Storage operation、SS−)及び延長オペコードを有するストレージ間操作(SSE−)命令は制限される。
e.以下の一般命令(この例では、z/アーキテクチャのもの):即ち、CHECKSUM;CIPHER MESSAGE;CIPHER MESSAGE WITH CFB;CIPHER MESSAGE WITH CHAINING;CIPHER MESSAGE WITH COUNTER;CIPHER MESSAGE WITH OFB;COMPARE AND FORM CODEWORD;COMPARE LOGICAL LONG;COMPARE LOGICAL LONG EXTENDED;COMPARE LOGICAL LONG UNICODE;COMPARE LOGICAL STRING;COMPARE UNTIL SUBSTRING EQUAL;COMPRESSION CALL;COMPUTE INTERMEDIATE MESSAGE DIGEST;COMPUTE LAST MESSAGE DIGEST;COMPUTE MESSAGE AUTHENTICATION CODE;CONVERT TO BINARY;CONVERT TO DECIMAL;CONVERT UNICODE−16 TO UNICODE−32;CONVERT UNICODE−16 TO UNICODE−8;CONVERT UNICODE−32 TO UNICODE−16;CONVERT UNICODE−32 TO UNICODE−8;CONVERT UNICODE−8 TO UNICODE−16;CONVERT UNICODE−8 TO UNICODE−32;DIVIDE;DIVIDE LOGICAL;DIVIDE SINGLE;EXECUTE;EXECUTE RELATIVE LONG;EXTRACT CACHE ATTRIBUTE;EXTRACT CPU TIME;EXTRACT PSW;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;PERFORM CRYPTOGRAPHIC COMPUTATION;PREFETCH DATA;PREFETCH DATA RELATIVE LONG;RUNTIME INSTRUMENTATION EMIT;RUNTIME INSTRUMENTATION NEXT;RUNTIME INSTRUMENTATION OFF;RUNTIME INSTRUMENTATION 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 TO QUADWORD;TEST ADDRESSING MODE;TRANSACTION ABORT;TRANSACTION BEGIN(TBEGIN及びTBEGINCの両方);TRANSLATE AND TEST EXTENDED;TRANSLATE AND TEST REVERSE EXTENDED;TRANSLATE EXTENDED;TRANSLATE ONE TO ONE;TRANSLATE ONE TO TWO TRANSLATE TWO TO ONE;及びTRANSLATE TWO TO TWOの全てが制限される。
4.トランザクションのストレージ・オペランドは、4個を超えないオクトワード(octoword)にアクセスする。注記:LOAD ON CONDITION及びSTORE ON CONDITIONは、条件コードに関係なく、ストレージを参照すると考えられる。オクトワードは、例えば、32バイト境界上の32の連続バイトの群である。
5.このCPU上で実行されるトランザクション、又は他のCPU又はI/Oサブシステムによるストアは、制約付きTRANSACTION BEGIN(TBEGINC)命令で始まるストレージの256バイトを含む、いずれの4Kバイト・ブロック内のストレージ・オペランドにもアクセスしない。
6.トランザクションは、同じ絶対アドレスにマッピングされた異なる論理アドレスを用いて、命令又は格納位置オペランドにアクセスしない。
7.LOAD ACCESS MULTIPLE、LOAD MULTIPLE、LOAD MULTIPLE HIGH、STORE ACCESS MULTIPLE、STORE MULTIPLE及びSTORE MULTIPLE HIGHについて、オペランド参照が単一のオクトワード内にあることを除いて、トランザクションにより行われるオペランド参照は、単一のダブルワード内にある。
a.発行された命令が、最大32より少ない、
b.ストレージ・オペランド参照が、最大4オクトワードより少ない、
c.ストレージ・オペランド参照が、同一のキャッシュ・ライン上にある、
d.同じ記憶位置に対するストレージ・オペランド参照が、全てのトランザクションによって同じ順序で行われる。
2.制約付きトランザクションは、必ずしもその最初の実行で成功裡に完了することが保証されていない。しかしながら、列挙された制約のいずれにも違反しない制約付きトランザクションがアボートされると、CPUは、回路を用いて、トランザクションの実行の反復により後で成功することを保証する。
3.制約付きトランザクション内で、TRANSACTION BEGINは制限された命令であり、従って、制約付きトランザクションをネスト化することはできない。
4.制約付きトランザクションによる上記の制約1−7のいずれかの違反は、プログラム・ループをもたらす。
5.制約付きトランザクションの制限は、コンペア・アンド・スワップ・ループのものに類似している。他のCPU及びI/Oサブシステムからの潜在的な干渉のため、COMPARE AND SWAP命令が常に条件コード0で完了するというアーキテクチャ上の保証はない。制約付きトランザクションは、フェッチ若しくはストア競合アボート又はホット割り込みの形の類似の干渉を受けることがある。
CPUは、フェアネスアルゴリズムを用いて、いずれの制約違反もない場合に、制約付きトランザクションが最終的に完了することを保証する。
6.制約付きトランザクションを完了するために必要とされる反復回数を求めるために、プログラムは、汎用レジスタのカウンタを用いることができ、このカウンタは汎用レジスタ保存マスクに影響されない。一例を以下に示す。
この例においては、レジスタ14及び15の両方とも復元されないことに留意されたい。また、幾つかのモデルでは、CPUがTBEGINC命令の完了後、AHI命令の完了前にアボート条件を検出した場合、汎用レジスタ15のカウントが低いことがある。
一般的な場合のプログラム割り込み条件の優先順位と同じ優先順位を有する例外、
B1フィールドが0でない値を含むことに起因する指定例外、
トランザクション・ネスト化深さ超過に起因するアボート、
正常終了に起因する条件コード0。
1.汎用レジスタ保存マスクにより保存されるように指定されたレジスタは、トランザクションがアボートされた場合にのみ復元され、トランザクションがTRANSACTION ENDにより正常に終了したときには復元されない。最外TRANSACTION BEGIN命令のGRSMにより指定されたレジスタのみがアボート時に復元される。
I2フィールドは、制約付きトランザクションにより変更される入力値を与える全てのレジスタ対を指定しなければならない。従って、トランザクションがアボートされた場合、制約付きトランザクションが再実行されたときに入力レジスタ値がオリジナルの内容に復旧される。
2.大部分のモデルにおいて、汎用レジスタ保存マスク内に保存及び復元することが必要とされるレジスタの最小数を指定することにより、TRANSACTION BEGIN時にも、トランザクションがアボートされたときにも、性能の改善を実現することができる。
3.以下は、現在のトランザクション・ネスト化深さ(TND)に基づく、またTNDが0でない場合は、CPUが制約なしトランザクション実行モードにあるか又は制約付きトランザクション実行モードにあるかどうかに基づく、TRANSACTION BEGIN命令(TBEGIN及びTBEGINCの両方)の結果を示す。即ち、
(a)アウト・オブ・オーダー式実行を禁止する、
(b)他のCPUが、競合するストレージ位置にアクセスするのを禁止する、
(c)アボート処理においてランダム遅延を引き起こす、及び/又は、
(d)成功裏の完了を容易にするために、他の手段を呼び出す、
ことができる。
*既に制約付き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 0013 hex)
)制約付きTXモードで発行された場合、トランザクション制約例外(PIC 0018 hex)
)制約付きトランザクション実行ファシリティがインストールされていない場合、操作例外(PIC 0001)
)命令が実行タイプ命令のターゲットである場合、実行例外(PIC 0003)
)ネスト化深さを超過した場合、アボート・コード13
*制約付きトランザクションにおけるアボート条件:
)アボートPSWはTBEGINC命令を指し示す
−これに続く命令ではない
−アボート条件により、TX全体が再駆動される
*フェイル経路(fail path)なし
)CPUは、再駆動時に成功裡の完了を確実にするための特別な手段をとる
)持続的な競合、割り込み、又は制約違反がないと仮定すると、トランザクションは最終的に完了することが保証される。
*制約違反:
)PIC 0018 hex−は、トランザクション制約の違反を示す
)又は、トランザクションは、あたかも制約なしであるかのように実行される
0 成功裏のトランザクション開始
1 −−
2 −−
3 −−
*アクセス(ストア、第1のオペランド)
*操作(トランザクション実行ファシリティがインストールされていない)
*特殊操作
*指定
*トランザクション制約(制限された命令に起因する)
*一般的場合のプログラム割り込み条件の優先順位と同じ優先順位を有する例外、
*予約されたPIFC値に起因する指定例外、
*第1のオペランド・アドレスがダブルワード境界上にないことに起因する指定例外、
*アクセス例外(B1フィールドが0ではないとき)
*最大トランザクション・ネスト化深さ超過に起因するアボート、
*正常終了に起因する条件コード0。
1.B1フィールドが0でないとき、以下が適用される。
*最外トランザクションが開始されると、トランザクションが決してアボートしない場合でも、アクセス可能トランザクション診断ブロック(TDB)が与えられる。
*TDBのアクセス可能性がネスト化されたトランザクションについて試験されるかどうかは予測不能であるため、任意のネスト化されたTBEGIN命令に対してアクセス可能なTDBを与えなければならない。
*B1フィールドが0でない任意のTBEGINの実行、及びB1フィールドが0でない最外TBEGINにより開始されたトランザクションに対して行われる任意のアボート処理の実行は、B1フィールドが0であるときよりも低速であり得る。
2.汎用レジスタ保存マスクにより保存されるよう指定されたレジスタは、一実施形態において、トランザクションがアボートした場合にのみ復元され、トランザクションがTRANSACTION ENDにより正常に終了したときには復元されない。最外TRANSACTION BEGIN命令のGRSMにより指定されたレジスタのみがアボート時に復元される。
I2フィールドは、トランザクションにより変更される入力値を与える全てのレジスタ対を指定しなければならない。従って、トランザクションがアボートされた場合、アボート・ハンドラが入力されたときに、入力レジスタ値は、そのオリジナルの内容に復元される。
3.TRANSACTION BEGIN(TBEGIN)命令は、トランザクションが成功裏に開始されたかどうかを判断する条件分岐命令が後に続くと予想される。
4.トランザクションが、割り込みをもたらさない条件に起因してアボートされた場合、トランザクション・アボートPSWにより指定された命令は制御を受け取る(つまり、最外TRANSACTION BEGIN(TBEGIN)に続く命令)。TRANSACTION BEGIN(TBEGIN)命令により設定された条件コードに加えて、トランザクションがアボートするとき、条件コード1−3も設定される。
従って、最外TRANSACTION BEGIN(TBEGIN)命令に続く命令シーケンスは、本例において、TBEGIN命令がコード0のみを設定したとしても、4つの条件コード全てを収容できなければならない。
5.大部分のモデルにおいて、汎用レジスタ保存マスク内に保存及び復元することが必要とされるレジスタの最小数を指定することにより、TRANSACTION BEGIN時にも、トランザクションがアボートされたときにも、性能の改善を実現することができる。
6.制約なしトランザクション実行モードにある間、プログラムは、アクセス・レジスタ又は浮動小数点レジスタ(浮動小数点制御レジスタを含む)を変更することができるサービス機能を呼び出すことができる。こうしたサービス・ルーチンは、入力時に変更されたレジスタを保存し、終了時にそれらを復元することができるが、トランザクションは、ルーチンが正常終了する前にアボートされることがある。CPUが制約なしトランザクション実行モードにある間、呼び出しプログラムが、これらのレジスタを保存する準備をしていない場合、レジスタのサービス機能の変更を許容できないことがある。
制約なしトランザクション実行モードにある間のアクセス・レジスタの意図しない変更を防止するために、プログラムは、AR変更許可制御、即ちTRANSACTION BEGIN命令のI2フィールドのビット12を0に設定することができる。同様に、浮動小数点レジスタの意図しない変更を防止するために、プログラムは、浮動小数点演算許可制御、即ちTRANSACTION BEGIN命令のI2フィールドのビット13を0に設定することができる。
7.TRANSACTION BEGIN(TBEGIN)命令の実行中に認識されるプログラム例外条件は、いずれかの外部TBEGIN命令により設定された有効なプログラム割り込みフィルタ処理制御を受ける。最外TBEGINの実行中に認識されるプログラム例外条件は、フィルタ処理を受けない。
8.複数のストレージ位置をシリアル化された手法で更新するために、従来のコードシーケンスは、ロックワード(セマフォ)を採用することができる。(a)複数のストレージ位置の更新を実施するためにトランザクション実行を用いる場合、(b)プログラムが、トランザクションがアボートする場合に呼び出される「フォールバック」経路も提供する場合、及び(c)フォールバック経路がロックワードを採用する場合、トランザクション実行経路も、ロックの利用可能性について試験しなければならず、ロックが利用可能でない場合、TRANSACTION
END命令によりトランザクションを終了し、フォールバック経路に分岐する。このことは、シリアル化されたリソースがトランザクション的に更新されているかどうかに関係なく、シリアル化されたリソースへの一定のアクセスを保証する。
代替的に、プログラムは、ロックが利用可能でない場合にアボートし得るが、アボート処理は、単にTENDを介してトランザクションを終了するよりも著しく遅くなり得る。
9.有効なプログラム割り込みフィルタ処理制御(PIFC)が0より大きい場合、CPUは大部分のデータ例外プログラム割り込みをフィルタ処理する。有効な浮動小数点演算許可(F)制御が0である場合、データ例外プログラム例外条件に起因するアボートの結果として、浮動小数点制御レジスタにおいて、データ例外コード(DXC)は設定されない。このシナリオ(フィルタ処理が適用され、且つ、有効なF制御が0である)において、DXCが検査される唯一の記憶位置は、TBEGIN指定TDB内である。こうした状況においてプログラムのアボート・ハンドラがDXCを検査する場合、有効なトランザクション診断ブロック・アドレス(TDBA)が設定されるように、汎用レジスタB1は0以外であるべきである。
10.最外TBEGIN命令のTBEGIN指定TDBに対して、PERストレージ変更又はゼロ・アドレス検出条件が存在し、且つ、PERイベント抑止が適用されない場合、命令の実行中にPERイベントが認識され、従って、いずれかの他のアボート条件が存在するかどうかに関係なく、トランザクションが直ちにアボートされる。
汎用レジスタのどの対が、トランザクション実行の開始時に保存され、トランザクションがアボートされた場合に復元されるかを示す汎用レジスタ保存マスク(GRSM)、
トランザクションがアクセス・レジスタを変更する場合に、トランザクションのアボートを可能にするビット(A)、
トランザクションが浮動小数点命令を実行しようと試みる場合、トランザクションのアボートを可能にするビット(F)、
トランザクションがアボートされた場合、個々のトランザクション・レベルがプログラム割り込みの実際の提示を回避することを可能にするプログラム割り込みフィルタ処理制御(PIFC)、
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 0013 hex
)制約付きTXモードで発行された場合、PIC 0018 hex
*制約なしトランザクションについては、トランザクションが制限された命令に起因してアボートされる(アボート・コード11)。同時PERイベントが検出され、PERに対してCPUがイネーブルにされる場合、割り込みコード0280 hexによりプログラム割り込みが発生する。
*制約付きトランザクションについては、トランザクション制約例外が認識される。同時PERイベントが検出され、PERに対してCPUがイネーブルにされる場合、割り込みコード0298 hexによりプログラム割り込みが発生する。
*トランザクション実行プログラム割り込みフィルタ処理オーバーライド(制御レジスタ0のビット9)。この制御は、オペレーティング・システムにより設定され、トランザクションによるフィルタ処理を可能にする又は阻止する。
*TRANSACTION BEGIN命令における有効なプログラム割り込みフィルタ処理制御(PIFC)
*発生した例外条件
*PERイベントについてのトランザクション・クラス及び条件コードが適用される。この場合、PER例外条件はフィルタ処理されず、条件コードは3に設定される。
*プリフィックス(prefix)領域内のプロセッサ割り込みコードは、非PER例外条件を含まず、プリフィックス領域内に格納された他のいずれの非PERプログラム割り込みパラメータでもない。
1.他の場合には監視イベントを引き起こすMONITOR CALL命令は、制限された命令である。従って、CPUがトランザクション実行モードにある間、監視イベント・プログラム割り込みは発生せず、よって、トランザクションがアボートしたとき、実記憶位置176−183の監視コードは格納されない。
同様に、適用されないトランザクション・クラス(−)及び条件コードを有する、これらの例外を引き起こす命令が制限されるとき、図18−図19に列挙された他のいずれのプログラム例外条件も発生し得ない。従って、プログラム割り込み識別も他の補助的プログラム割り込み情報のいずれも、プリフィックス領域の実記憶位置に格納されない。
2.プログラム割り込みフィルタ処理は、様々な理由で、投機的実行とも呼ばれる、データの妥当性の検証を延期するプログラムにおいて有用であり得る。潜在的に複雑な復旧環境を確立する代わりに、プログラムは、単に、有効なプログラム割り込みフィルタ処理制御(PIFC)がゼロでない制約なしトランザクションを実行する。これにより、プログラムのアボート・ハンドラが、オペレーティング・システムの介入なしに、特定のタイプのプログラム例外条件の制御を直接受け取ることが可能になる。
有効なPIFCが1の場合は、制限されたフィルタ処理がCPUにより実施されることを示し、これは、予期しないデータ例外又は算術例外の認識の際に有用であり得る。有効PIFCが2の場合は、適度のフィルタ処理が実施されることを示し、これは、アクセスできないストレージ位置の認識の際に有用であり得る。
しかしながら、プログラムが種々のタイプのフィルタ処理済みアクセス例外に起因してアボートされた場合、これは必ずしも、プログラムが非トランザクション実行を試みた場合に記憶位置にアクセス不能であることを示すものではない。例えば、プログラムが、2のPIFCを指定し、その後、ページ変換例外に起因してアボートされることがある。この例外は、ストレージ位置が仮想アドレス空間の一部ではないことを示す場合があり、又は単に、ストレージのブロックがページ・アウトされたことを示す場合がある。
*R1−挿入される新しいキュー要素のアドレス
*挿入ポイントのアドレス。新しい要素は、その要素がR2により指し示される前に挿入される。
102:中央プロセッサ・コンプレックス(CPC)
106:I/Oデバイス
108:制御ユニット
110:中央プロセッサ
112:パーティション
114:論理パーティション・ハイパーバイザ
115:入力/出力サブシステム
200:TRANSACTION BEGIN(TBEGIN)命令
202、302、402、502、702a、702b、802:オペコード・フィールド
204、304、504、708:ベース・フィールド
206、306、506、710:変位フィールド
208、308:即値フィールド
210、310:汎用レジスタ保存マスク(GRSM)
212、312:AR変更許可(A)
214:浮動小数点演算許可(F)
216:プログラム割り込みフィルタ処理制御(PIFC)
300:TRANSACTION BEGIN constrained(TBEGINC)命令
400:TRANSACTION END(TEND)命令
500:TRANSACTION ABORT(TABORT)命令
600:ネスト化されたトランザクション
700:NONTRANSACTIONAL STORE(NTSTG)命令
704、804:レジスタ・フィールド
706:インデックス・フィールド
800:EXTRACT TRANSACTION NESTING DEPTH(ETND)命令
900:トランザクション診断ブロック(TDB)
1800:二重連結リスト
1900:コンピュータ・プログラム製品
Claims (12)
- コンピューティング環境において割り込みを管理するための方法であって、前記方法は、
トランザクションのトランザクション処理を実行するステップであって、選択されたトランザクションの完了まで主メモリへのトランザクション・ストアのコミットが遅延され、前記トランザクション処理は、関連付けられたフィルタ処理制御を有する、実行するステップと、
プロセッサにより、トランザクション処理中、割り込みの提示に関して定められた、複数のプログラム例外条件のうちの、トランザクションのアボートを引き起こす1つのプログラム例外条件を検出するステップと、
前記プログラム例外条件を検出することに基づいて、前記フィルタ処理制御を用いて、前記トランザクション処理中に検出された1つのプログラム例外条件について割り込みが提示されるかどうかを判断するステップと、
前記判断するステップが、前記割り込みが提示されないことを示すことに基づいて、前記割り込みの提示を回避するステップと、
を含む方法。 - 前記複数のプログラム例外条件は、複数のトランザクション・クラスに関連付けられており、前記トランザクション処理中に検出された1つのプログラム例外条件は、前記複数のトランザクション・クラスのうちの特定のトランザクション・クラスに関連付けられており、前記判断するステップでは、前記フィルタ処理制御とともに、前記トランザクション処理中に検出された1つのプログラム例外条件に関連付けられた特定のトランザクション・クラスを用いて、割り込みが提示されるかどうかの判断が行われる、請求項1に記載の方法。
- 前記フィルタ処理制御は、複数のレベルの割り込みフィルタ処理を示す複数の値のうちの1つの値に設定される、請求項2に記載の方法。
- 前記複数のレベルのうちの第1のレベルは、プログラム例外条件が割り込みをもたらす非フィルタ処理を示し、第2のレベルは、前記複数のトランザクション・クラスのうちの選択されたトランザクション・クラスのプログラム例外条件が割り込みをもたらさない制限されたフィルタ処理を示し、第3のレベルは、前記複数のトランザクション・クラスのうちの複数の選択されたトランザクション・クラスのプログラム例外条件が割り込みをもたらさない適度のフィルタ処理を示す、請求項3に記載の方法。
- 前記第2のレベルについては、3のトランザクション・クラス値を有するプログラム例外条件は割り込みをもたらさず、第3のレベルについては、2又は3のトランザクション・クラス値を有するプログラム例外条件は割り込みをもたらさない、請求項4に記載の方法。
- 前記フィルタ処理制御を設定する前記1つの値は、前記複数のレベルのフィルタ制御レベルを示し、前記判断するステップは、
前記プログラム例外条件に関する前記特定のトランザクション・クラスを判断するステップと、
前記フィルタ制御レベルに関して、前記特定のトランザクション・クラスが割り込みをもたらすかどうかをチェックするステップと、
を含み、前記判断するステップは、前記チェックするステップが、そのフィルタ制御レベルに関する前記特定のトランザクション・クラスが割り込みをもたらさないことを示すことに基づいて、前記割り込みが提示されないことを示す、請求項4に記載の方法。 - 前記トランザクションは制約付きトランザクションであり、前記フィルタ処理制御はデフォルト値に設定される、請求項1〜6のいずれか1項に記載の方法。
- 前記判断するステップが、前記割り込みが提示されることを示すことに基づいて、前記方法は、
前記プログラム例外条件に割り当てられた1つ又は複数のメモリ位置に内容を格納するステップであって、前記格納するステップは、前記プログラム例外条件を引き起こした命令各自に対するプログラム割り込み識別の命令長コードを設定するステップを含む、格納するステップと、
トランザクション・アボート・プログラム状況ワードをプログラム旧プログラム状況ワードとして格納するステップと、
を含む、請求項1〜7のいずれか1項に記載の方法。 - 前記トランザクションは制約なしトランザクションであり、前記フィルタ処理制御は前記割り込みが回避されることを示す、請求項1〜8のいずれか1項に記載の方法。
- コンピューティング環境において割り込みを管理するための方法であって、前記方法は、
トランザクションのトランザクション処理を実行するステップであって、選択されたトランザクションの完了まで主メモリへのトランザクション・ストアのコミットが遅延され、前記トランザクション処理は関連したフィルタ処理制御を有する、実行するステップと、
プロセッサにより、トランザクション処理中、割り込みの提示に関して定められたプログラム例外条件を検出するステップと、
前記プログラム例外条件を検出することに基づいて、割り込みが提示されるかどうかを判断するステップであって、前記判断するステップは前記フィルタ処理制御を用いる、判断するステップと、
前記判断するステップが、前記割り込みが提示されないことを示すことに基づいて、前記割り込みの提示を回避するステップと、
を含み、前記フィルタ処理制御は、トランザクション開始命令内に含められ、前記トランザクション開始命令は、トランザクションのネストを生成するのに使用される複数のトランザクション開始命令のうちの1つのトランザクション開始命令であり、前記トランザクション開始命令の1つ又は複数はフィルタ処理制御を含み、用いられる前記フィルタ処理制御は、前記1つ又は複数のフィルタ処理制御のうちの最高値である、方法。 - コンピューティング環境において割り込みを管理するためのシステムであって、
メモリと、
前記メモリと通信するプロセッサと、
を含み、前記システムは、請求項1〜10のいずれか1項に記載の方法における各ステップを実行するように構成されたものである、システム。 - コンピューティング環境において割り込みを管理するためコンピュータ・プログラムであって、前記コンピュータ・プログラムは、コンピュータに、請求項1〜10のいずれか1項に記載の方法における各ステップを実行させるためのものである、コンピュータ・プログラム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/524,839 | 2012-06-15 | ||
US13/524,839 US10437602B2 (en) | 2012-06-15 | 2012-06-15 | Program interruption filtering in transactional execution |
PCT/IB2012/056732 WO2013186602A1 (en) | 2012-06-15 | 2012-11-26 | Program interruption filtering in transactional execution |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2015526789A JP2015526789A (ja) | 2015-09-10 |
JP6143025B2 true JP6143025B2 (ja) | 2017-06-07 |
Family
ID=49757066
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015516693A Active JP6143025B2 (ja) | 2012-06-15 | 2012-11-26 | トランザクション実行におけるプログラム割り込みフィルタ処理 |
Country Status (24)
Country | Link |
---|---|
US (2) | US10437602B2 (ja) |
EP (1) | EP2862057B1 (ja) |
JP (1) | JP6143025B2 (ja) |
KR (1) | KR101720402B1 (ja) |
CN (1) | CN104380246B (ja) |
AU (1) | AU2012382777B2 (ja) |
BR (1) | BR112014031350B1 (ja) |
CA (1) | CA2874178C (ja) |
DK (1) | DK2862057T3 (ja) |
ES (1) | ES2719685T3 (ja) |
HK (1) | HK1207442A1 (ja) |
HR (1) | HRP20190661T1 (ja) |
HU (1) | HUE042292T2 (ja) |
IL (1) | IL236254A0 (ja) |
LT (1) | LT2862057T (ja) |
MX (1) | MX344923B (ja) |
PL (1) | PL2862057T3 (ja) |
PT (1) | PT2862057T (ja) |
RU (1) | RU2568923C2 (ja) |
SG (1) | SG11201407462RA (ja) |
SI (1) | SI2862057T1 (ja) |
TW (1) | TWI554948B (ja) |
WO (1) | WO2013186602A1 (ja) |
ZA (1) | ZA201408081B (ja) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9436477B2 (en) | 2012-06-15 | 2016-09-06 | International Business Machines Corporation | Transaction abort instruction |
US9740549B2 (en) | 2012-06-15 | 2017-08-22 | International Business Machines Corporation | Facilitating transaction completion subsequent to repeated aborts of the transaction |
US20130339680A1 (en) | 2012-06-15 | 2013-12-19 | International Business Machines Corporation | Nontransactional store instruction |
US9384004B2 (en) | 2012-06-15 | 2016-07-05 | International Business Machines Corporation | Randomized testing within transactional execution |
US9361115B2 (en) | 2012-06-15 | 2016-06-07 | International Business Machines Corporation | Saving/restoring selected registers in transactional processing |
US9336046B2 (en) | 2012-06-15 | 2016-05-10 | International Business Machines Corporation | Transaction abort processing |
US9772854B2 (en) | 2012-06-15 | 2017-09-26 | International Business Machines Corporation | Selectively controlling instruction execution in transactional processing |
US9348642B2 (en) * | 2012-06-15 | 2016-05-24 | International Business Machines Corporation | Transaction begin/end instructions |
US9448796B2 (en) | 2012-06-15 | 2016-09-20 | International Business Machines Corporation | Restricted instructions in transactional execution |
US10437602B2 (en) | 2012-06-15 | 2019-10-08 | International Business Machines Corporation | Program interruption filtering in transactional execution |
US10423191B2 (en) * | 2017-01-19 | 2019-09-24 | International Business Machines Corporation | Clock comparator sign control |
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 |
US11620153B2 (en) | 2019-02-04 | 2023-04-04 | International Business Machines Corporation | Instruction interrupt suppression of overflow exception |
US11182316B2 (en) | 2019-05-20 | 2021-11-23 | International Business Machines Corporation | Program interrupt code conversion |
US12118387B2 (en) * | 2021-08-05 | 2024-10-15 | International Business Machines Corporation | Query and update of processor boost information |
Family Cites Families (282)
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 | プロセッサの処理方法 |
US5471591A (en) | 1990-06-29 | 1995-11-28 | Digital Equipment Corporation | Combined write-operand queue and read-after-write dependency scoreboard |
US5283873A (en) * | 1990-06-29 | 1994-02-01 | Digital Equipment Corporation | Next line prediction apparatus for a pipelined computed system |
EP0470322B1 (en) | 1990-08-07 | 1996-04-03 | BULL HN INFORMATION SYSTEMS ITALIA S.p.A. | Message-based debugging method |
GB2256514B (en) | 1991-05-21 | 1994-11-16 | Digital Equipment Corp | Commitment ordering for guaranteeing serializability across distributed transactions |
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 |
WO1994027215A1 (en) | 1993-05-07 | 1994-11-24 | 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 |
EP0870228B1 (en) | 1995-10-06 | 2003-08-13 | Advanced Micro Devices, Inc. | Unified multi-function operation scheduler for out-of-order execution in a superscalar processor |
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 |
KR100204027B1 (ko) * | 1996-02-16 | 1999-06-15 | 정선종 | 이중면 비휘발성 메모리를 이용한 데이타베이스 회복 장치 및 그 방법 |
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 |
TW346100U (en) * | 1997-12-15 | 1998-11-21 | wen-bin Cai | Assembling structure for Chan plate |
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 |
DE69940867D1 (de) | 1998-03-17 | 2009-06-25 | Panasonic Corp | Vorrichtung und Verfahren zur Datenübertragung unter Verwendung von angepassten Befehlen |
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 |
US20020147969A1 (en) | 1998-10-21 | 2002-10-10 | Richard A. Lethin | 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 |
US7246123B2 (en) | 2000-08-04 | 2007-07-17 | 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 |
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 |
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 |
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 |
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 |
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 |
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 |
US7480785B2 (en) | 2003-05-23 | 2009-01-20 | Nippon Telegraph And Telephone Corporation | Parallel processing device and parallel processing method |
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 |
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 |
US7206903B1 (en) | 2004-07-20 | 2007-04-17 | Sun Microsystems, Inc. | Method and apparatus for releasing memory locations during transactional execution |
US7395382B1 (en) | 2004-08-10 | 2008-07-01 | Sun Microsystems, Inc. | Hybrid software/hardware transactional memory |
US7836280B1 (en) * | 2004-09-14 | 2010-11-16 | Azul Systems, Inc. | Dynamic 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 | 北京中星微电子有限公司 | 一种中断控制处理装置和方法 |
US8799882B2 (en) * | 2005-12-07 | 2014-08-05 | Microsoft Corporation | Compiler support for optimizing decomposed software transactional memory operations |
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 |
US8065499B2 (en) | 2006-02-22 | 2011-11-22 | Oracle America, Inc. | 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 |
US8180977B2 (en) | 2006-03-30 | 2012-05-15 | Intel Corporation | Transactional memory in out-of-order processors |
US8180967B2 (en) | 2006-03-30 | 2012-05-15 | Intel Corporation | Transactional memory virtualization |
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 |
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 |
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 |
EP1918540B1 (en) | 2006-11-06 | 2009-08-26 | GM Global Technology Operations, Inc. | Operating method for a particulate filter, data processor program product and control apparatus therefore |
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> | オンライントランザクション処理を分割し、分散環境で実行するための方法および装置。 |
US7802136B2 (en) | 2006-12-28 | 2010-09-21 | Intel Corporation | Compiler technique for efficient register checkpointing to support transaction roll-back |
US8086827B2 (en) | 2006-12-28 | 2011-12-27 | Intel Corporation | Mechanism for irrevocable transactions |
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 | 中兴通讯股份有限公司 | 中继状态调节方法和装置 |
US9391789B2 (en) | 2007-12-14 | 2016-07-12 | Qualcomm Incorporated | Method and system for multi-level distribution information cache management 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 |
US8140497B2 (en) | 2007-12-31 | 2012-03-20 | Oracle America, Inc. | System and method for implementing nonblocking zero-indirection transactional memory |
US7966459B2 (en) | 2007-12-31 | 2011-06-21 | Oracle America, Inc. | System and method for supporting phased transactional memory modes |
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 |
US8176280B2 (en) | 2008-02-25 | 2012-05-08 | International Business Machines Corporation | Use of test protection instruction in computing environments that support pageable guests |
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 |
US8161273B2 (en) | 2008-02-26 | 2012-04-17 | Oracle America, Inc. | Method and apparatus for programmatically rewinding a register inside a transaction |
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 |
US7996686B2 (en) | 2008-07-07 | 2011-08-09 | International Business Machines Corporation | Branch trace methodology |
EP2332043B1 (en) | 2008-07-28 | 2018-06-13 | Advanced Micro Devices, Inc. | Virtualizable advanced synchronization facility |
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 |
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 |
US9940138B2 (en) | 2009-04-08 | 2018-04-10 | Intel Corporation | Utilization of register checkpointing mechanism with pointer swapping to resolve multithreading mis-speculations |
CN102460376B (zh) | 2009-06-26 | 2016-05-18 | 英特尔公司 | 无约束事务存储器(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 |
US8489864B2 (en) | 2009-06-26 | 2013-07-16 | Microsoft Corporation | Performing escape actions in transactions |
US8973004B2 (en) | 2009-06-26 | 2015-03-03 | Oracle America, Inc. | Transactional locking with read-write locks in transactional memory systems |
US8229907B2 (en) | 2009-06-30 | 2012-07-24 | Microsoft Corporation | Hardware accelerated transactional memory system with open nested transactions |
US8281185B2 (en) | 2009-06-30 | 2012-10-02 | Oracle America, Inc. | Advice-based feedback for transactional execution |
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 |
US8316194B2 (en) | 2009-12-15 | 2012-11-20 | Intel Corporation | Mechanisms to accelerate transactions using buffered stores |
US8290991B2 (en) | 2009-12-15 | 2012-10-16 | Juniper Networks, Inc. | Atomic deletion of database data categories |
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 |
US9092253B2 (en) | 2009-12-15 | 2015-07-28 | Microsoft Technology Licensing, Llc | Instrumentation of hardware assisted transactional memory system |
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 |
US8438568B2 (en) | 2010-02-24 | 2013-05-07 | International Business Machines Corporation | Speculative thread execution with hardware transactional memory |
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 |
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 |
US8464261B2 (en) | 2010-03-31 | 2013-06-11 | Oracle International Corporation | System and method for executing a transaction using parallel co-transactions |
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 |
US8788794B2 (en) | 2010-12-07 | 2014-07-22 | Advanced Micro Devices, Inc. | Programmable atomic memory using stored atomic procedures |
US9122476B2 (en) | 2010-12-07 | 2015-09-01 | Advanced Micro Devices, Inc. | Programmable atomic memory using hardware validation agent |
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 |
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 |
US9158660B2 (en) * | 2012-03-16 | 2015-10-13 | International Business Machines Corporation | Controlling operation of a run-time instrumentation facility |
US9436477B2 (en) | 2012-06-15 | 2016-09-06 | International Business Machines Corporation | Transaction abort instruction |
US20130339680A1 (en) | 2012-06-15 | 2013-12-19 | International Business Machines Corporation | Nontransactional store instruction |
US8966324B2 (en) * | 2012-06-15 | 2015-02-24 | International Business Machines Corporation | Transactional execution branch indications |
US9367323B2 (en) | 2012-06-15 | 2016-06-14 | International Business Machines Corporation | Processor assist facility |
US9336046B2 (en) | 2012-06-15 | 2016-05-10 | International Business Machines Corporation | Transaction abort processing |
US9348642B2 (en) | 2012-06-15 | 2016-05-24 | International Business Machines Corporation | Transaction begin/end instructions |
US9317460B2 (en) | 2012-06-15 | 2016-04-19 | International Business Machines Corporation | Program event recording within a transactional environment |
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 |
US9384004B2 (en) | 2012-06-15 | 2016-07-05 | International Business Machines Corporation | Randomized testing within transactional execution |
US9361115B2 (en) | 2012-06-15 | 2016-06-07 | International Business Machines Corporation | Saving/restoring selected registers in transactional processing |
US8688661B2 (en) | 2012-06-15 | 2014-04-01 | International Business Machines Corporation | Transactional processing |
US9442737B2 (en) | 2012-06-15 | 2016-09-13 | International Business Machines Corporation | Restricting processing within a processor to facilitate transaction completion |
US8880959B2 (en) | 2012-06-15 | 2014-11-04 | International Business Machines Corporation | Transaction diagnostic block |
US9448796B2 (en) | 2012-06-15 | 2016-09-20 | International Business Machines Corporation | Restricted instructions in transactional execution |
US8682877B2 (en) | 2012-06-15 | 2014-03-25 | International Business Machines Corporation | Constrained transaction execution |
US9772854B2 (en) | 2012-06-15 | 2017-09-26 | International Business Machines Corporation | Selectively controlling instruction execution in transactional processing |
US9740549B2 (en) | 2012-06-15 | 2017-08-22 | International Business Machines Corporation | Facilitating transaction completion subsequent to repeated aborts of the transaction |
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,839 patent/US10437602B2/en active Active
- 2012-11-15 RU RU2012148586/08A patent/RU2568923C2/ru active
- 2012-11-26 MX MX2014015286A patent/MX344923B/es active IP Right Grant
- 2012-11-26 AU AU2012382777A patent/AU2012382777B2/en active Active
- 2012-11-26 BR BR112014031350-4A patent/BR112014031350B1/pt active IP Right Grant
- 2012-11-26 ES ES12878862T patent/ES2719685T3/es active Active
- 2012-11-26 KR KR1020147030098A patent/KR101720402B1/ko active IP Right Grant
- 2012-11-26 DK DK12878862.7T patent/DK2862057T3/en active
- 2012-11-26 CA CA2874178A patent/CA2874178C/en active Active
- 2012-11-26 SI SI201231580T patent/SI2862057T1/sl unknown
- 2012-11-26 LT LTEP12878862.7T patent/LT2862057T/lt unknown
- 2012-11-26 EP EP12878862.7A patent/EP2862057B1/en active Active
- 2012-11-26 PT PT12878862T patent/PT2862057T/pt unknown
- 2012-11-26 CN CN201280073582.5A patent/CN104380246B/zh active Active
- 2012-11-26 PL PL12878862T patent/PL2862057T3/pl unknown
- 2012-11-26 HU HUE12878862A patent/HUE042292T2/hu unknown
- 2012-11-26 SG SG11201407462RA patent/SG11201407462RA/en unknown
- 2012-11-26 JP JP2015516693A patent/JP6143025B2/ja active Active
- 2012-11-26 WO PCT/IB2012/056732 patent/WO2013186602A1/en active Application Filing
-
2013
- 2013-03-08 US US13/789,963 patent/US10430199B2/en active Active
- 2013-05-10 TW TW102116752A patent/TWI554948B/zh active
-
2014
- 2014-11-04 ZA ZA2014/08081A patent/ZA201408081B/en unknown
- 2014-12-14 IL IL236254A patent/IL236254A0/en unknown
-
2015
- 2015-08-20 HK HK15108073.6A patent/HK1207442A1/xx unknown
-
2019
- 2019-04-08 HR HRP20190661TT patent/HRP20190661T1/hr unknown
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10353759B2 (en) | Facilitating transaction completion subsequent to repeated aborts of the transaction | |
US11080087B2 (en) | Transaction begin/end instructions | |
JP6222670B2 (ja) | トランザクション処理 | |
JP6086406B2 (ja) | トランザクション処理における選択されたレジスタの保存/復元 | |
JP6238248B2 (ja) | 制約付きトランザクションの実行 | |
JP6176637B2 (ja) | トランザクション環境内でのプログラム・イベント記録 | |
JP6253065B2 (ja) | トランザクション処理における命令実行の選択的制御 | |
JP6138249B2 (ja) | トランザクション診断ブロック | |
JP6234448B2 (ja) | トランザクション実行分岐表示 | |
JP6218433B2 (ja) | トランザクションの完了を容易にするためのプロセッサ内での処理の制限 | |
JP6143025B2 (ja) | トランザクション実行におけるプログラム割り込みフィルタ処理 | |
JP6206886B2 (ja) | Transaction abort命令 | |
JP6218815B2 (ja) | コンピューティング環境においてトランザクション実行に関連付けられた処理を実行するための方法、システム、およびプログラム(トランザクション実行における制限された命令) | |
JP6091608B2 (ja) | Nontransactional store命令 | |
JP6222669B2 (ja) | プロセッサ支援ファシリティ | |
JP6168537B2 (ja) | トランザクション実行内でのランダム化されたテスト |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20151110 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20161214 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20161220 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170315 |
|
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: 20170404 |
|
RD14 | Notification of resignation of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7434 Effective date: 20170407 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170425 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6143025 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |