JP7065860B2 - 保護ストレージ・イベント処理のランタイム・インストルメンテーション - Google Patents
保護ストレージ・イベント処理のランタイム・インストルメンテーション Download PDFInfo
- Publication number
- JP7065860B2 JP7065860B2 JP2019537353A JP2019537353A JP7065860B2 JP 7065860 B2 JP7065860 B2 JP 7065860B2 JP 2019537353 A JP2019537353 A JP 2019537353A JP 2019537353 A JP2019537353 A JP 2019537353A JP 7065860 B2 JP7065860 B2 JP 7065860B2
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- protected storage
- storage event
- instructions
- protected
- 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 55
- 230000006870 function Effects 0.000 claims description 56
- 238000000034 method Methods 0.000 claims description 45
- 238000005070 sampling Methods 0.000 claims description 20
- 238000004590 computer program Methods 0.000 claims description 16
- 238000006073 displacement reaction Methods 0.000 description 28
- 238000010586 diagram Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 10
- 238000001514 detection method Methods 0.000 description 9
- 230000000694 effects Effects 0.000 description 7
- 230000003287 optical effect Effects 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 238000006243 chemical reaction Methods 0.000 description 5
- 238000013519 translation Methods 0.000 description 5
- 230000001960 triggered effect Effects 0.000 description 5
- 230000009471 action Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 4
- 230000006835 compression Effects 0.000 description 4
- 238000007906 compression Methods 0.000 description 4
- 238000003491 array Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000001629 suppression Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 238000007667 floating Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000001902 propagating effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 206010000210 abortion Diseases 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 238000013467 fragmentation Methods 0.000 description 1
- 238000006062 fragmentation reaction Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 210000003813 thumb Anatomy 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
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0253—Garbage collection, i.e. reclamation of unreferenced memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0637—Permissions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
- G06F11/0721—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment within a central processing unit [CPU]
- G06F11/0724—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment within a central processing unit [CPU] in a multiprocessor or a multi-core unit
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0766—Error or fault reporting or storing
- G06F11/0775—Content or structure details of the error report, e.g. specific table structure, specific error fields
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3024—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a central processing unit [CPU]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3055—Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3604—Software analysis for verifying properties of programs
- G06F11/3612—Software analysis for verifying properties of programs by runtime analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3636—Software debugging by tracing the execution of the program
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0844—Multiple simultaneous or quasi-simultaneous cache accessing
- G06F12/0855—Overlapped cache accessing, e.g. pipeline
- G06F12/0857—Overlapped cache accessing, e.g. pipeline by multiple requestors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1416—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
- G06F12/1425—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
- G06F12/1441—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block for a range
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/062—Securing storage systems
- G06F3/0622—Securing storage systems in relation to access
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3824—Operand accessing
- G06F9/3834—Maintaining memory consistency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3842—Speculative instruction execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/466—Transaction processing
- G06F9/467—Transactional memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1052—Security improvement
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Computing Systems (AREA)
- Human Computer Interaction (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Mathematical Physics (AREA)
- Executing Machine-Instructions (AREA)
- Storage Device Security (AREA)
Description
* 保護ストレージ原点(GSO:Guarded Storage Origin)302:このフィールドは、保護ストレージの防護が適用されてよいストレージのブロックのアドレスを指定する。保護ストレージ領域の位置は、GSDレジスタの左端のビットによって指定される。一実施形態では、左端のビットの数は、このレジスタのビット58~63内の保護ストレージ特性(GSC:guarded storage characteristic)の値によって決定される。保護ストレージ指定レジスタのビット位置0~(63-GSC)は、その右側のビット位置(64-GSC)~63に2進ゼロが埋め込まれて、保護ストレージ領域の左端のバイトの64ビット論理アドレスを形成する。他の実施形態では、保護ストレージ領域の原点を指定する異なるメカニズムを使用してよい。
* 保護読み込みシフト(GLS:Guarded Load Shift)304:一実施形態では、保護ストレージ指定レジスタのビット53~55は、読み込み論理およびシフト保護命令の中間結果の形成において使用される3ビット符号なし2進整数を含む。一実施形態では、有効なGLSの値は0~4であり、値5~7は予備であり、予測不可能なシフト量をもたらすことがある。
* 保護ストレージ特性(GSC:Guarded Storage Characteristic)306:一実施形態では、保護ストレージ指定レジスタのビット位置58~63は、2のべき乗として扱われる6ビット符号なし2進整数を含む。有効なGSCの値は、例えば25~56であり、値0~24および57~63は予備であり、予測不可能な保護ストレージ・イベント検出をもたらすことがある。1つの例では、GSCは次を指定する。
・ 保護ストレージ原点のアライメント。25のGSCの値は32Mバイトのアライメントを示し、26の値は64Mバイトのアライメントを示す、などとなる。
・ 保護ストレージ・セクションのサイズ。25のGSCの値は512Kバイトのセクションを示し、26の値は1Mバイトのセクションを示す、などとなる。他の実施形態では、保護ストレージ原点および保護ストレージ・セクションのサイズの指定に対応して変化する、GSCを指定する異なるメカニズムを許容してよい。
予備:GSEPLのバイト0および4~7は予備であり、1つの例では、保護ストレージ・イベントが認識されたときに、0に設定される。
予備:GSEAMのビット0~5は予備であり、0が格納される。
トランザクション実行モード指示(TX)622:GSECIのビット0が0である場合、保護ストレージ・イベントが認識されたときに、CPUはトランザクション実行モードではなかった。GSECIのビット0が1である場合、保護ストレージ・イベントが認識されたときに、CPUはトランザクション実行モードだった。
予備:GSEAIのビット0は予備であり、1つの例では、保護ストレージ・イベントが認識されたときに、0に設定される。
DATモード(T)632:GSEAIのビット1は、現在の動的アドレス変換(DAT:dynamic address translation)モードを示す(すなわち、TビットはPSWのビット5のコピーである)。
アドレス空間指示(AS)634:GSEAIのビット2~3は、現在のアドレス空間制御を示す(すなわち、ASフィールドはPSWのビット16~17のコピーである)。ASフィールドは、DATが有効化されている(すなわち、Tビットが1である)場合に意味を持ち、そうでない場合、ASフィールドは予測不可能である。
アクセス・レジスタ数(AR)636:CPUがアクセス・レジスタ・モードである場合、GSEAIのビット4~7は、イベントを引き起こすLGG命令またはLLGFSG命令によって使用されるアクセス・レジスタ数を示す(すなわち、ARフィールドは、LGG命令またはLLGFSG命令のB2フィールドのコピーである)。CPUがアクセス・レジスタ・モードでない場合、ARフィールドは予測不可能である。
例えば、24ビット・アドレス指定モードにおいて、中間結果は、40個の2進ゼロと第2のオペランドのビット40~63との連結から形成される。31ビット・アドレス指定モードにおいて、中間結果は、33個の2進ゼロと第2のオペランドのビット33~63との連結から形成される。64ビット・アドレス指定モードにおいて、中間結果は、第2のオペランド全体から形成される。
保護ストレージ機能が(例えば、制御レジスタ2のビット59を用いて)有効化されている場合、保護読み込みシフト値(保護ストレージ指定レジスタのビット53~55内のGLS)を使用して中間結果が形成される。保護ストレージ機能が有効化されていない場合、GLS値は0であると仮定される。
1.~7. 一般的なケースに関する、プログラム割り込み条件の優先度と同じ優先度を持つ例外。
8. ストレージ内の第2のオペランドに関するアクセス例外。
9. 保護ストレージ・イベントが認識されない状態での完了。
10. 保護ストレージ・イベント・パラメータ・リストに関する、副作用アクセス例外。
11. 保護ストレージ・イベントが認識された状態での完了。
* 保護ストレージ機能がインストールされていない場合、または保護ストレージ機能がインストールされているが、LCフィールドが0である場合、マシン・チェック拡張保存領域のサイズは、1,024バイトであると仮定され、これによって、保護ストレージ機能を認識しない古いソフトウェアの互換性のある動作を保証する。
* 保護ストレージ機能がインストールされていて、LCフィールドが例えば1~9のいずれかの値である場合、エラーであると仮定され、MCESAO全体が0を含んでいる(すなわち、MCESAは格納されない)かのように扱われる。
* 保護ストレージ機能がインストールされていて、LCフィールドが例えば10以上の値を含んでいる場合、MCESAのサイズおよびアライメントは2LCバイトである。その場合、MCESADのビット0~63-LCがマシン・チェック拡張保存領域原点(MCESAO)を形成する。MCESAOは、LC個の0ビットが右に追加されて、マシン・チェック拡張保存領域の64ビット・アドレスを形成する。
1. トランザクションが、例えばアボート・コード19を伴って、アボートされる。トランザクション診断ブロック(TDB)アドレスが有効でない場合、またはTDBアドレスが有効でアクセス可能である場合、トランザクション・アボートPSW内で、一例として、条件コード2が設定される。TDBアドレスが有効であるが、TDBがアクセス可能でない場合、トランザクション・アボートPSW内で、一例として、条件コード1が設定される。
2. モデルに応じて、読み込み保護命令または読み込み論理およびシフト保護命令の第2のオペランドが再フェッチされて、保護ストレージ・イベント条件がまだ存在するかどうかを判定してよい。
・ 第2のオペランドが再フェッチされ、保護ストレージ・イベント条件が存在しなくなった場合、トランザクション・アボートPSWの読み込みによって、正常なトランザクション・アボート処理が完了する。この場合、保護ストレージ・イベント処理は発生しない。
・ 第2のオペランドが再フェッチされない場合、または第2のオペランドが再フェッチされ、保護ストレージ・イベント条件が持続している場合、本明細書に記載されているように、(トランザクション・アボートPSWを読み込む代わりに)保護ストレージ・イベント処理が発生する。(すなわち、保護ストレージ機能なしで、トランザクション実行がアボートされた場合、制御が、トランザクション・アボートPSWによって指定された命令に渡される。制約なしトランザクションの場合、この命令は、トランザクション実行を開始した最も外側のTBEGIN命令に続く命令である。通常、この命令は制御をトランザクション・アボート・ハンドラに移動し、このトランザクション・アボート・ハンドラは、プログラム条件を変更し、トランザクション実行でのその後の試みを成功させることができる可能性がある。制約付きトランザクションの場合、トランザクション・アボートPSWは、TBEGINC命令を指定する。したがって、トランザクションは、アボート・ハンドラからの介入なしで再実行される。)トランザクション実行中にGSEが認識された場合、トランザクションがアボートされる。GSEを解決しないでトランザクションを再実行することは、生産的ではない。したがって、トランザクション・アボートの後に、制御がGSEハンドラに渡され、本明細書に記載されているように、GSEハンドラがイベントを管理する。
・ プログラム割り込みが発生する。
・ CPUがトランザクション実行モードでない場合、プログラムの旧PSW内の命令アドレスが次のように設定される。
- 例外条件が無効化をもたらす場合、命令アドレスは、保護ストレージ・イベントを引き起こす命令を指す(すなわち、例えば、LGGまたはLLGFSGのアドレス、あるいはターゲットがLGGまたはLLGFSGである実行タイプ命令のアドレス)。
- 例外条件が抑制または終了をもたらす場合、命令アドレスは、保護ストレージ・イベントを引き起こした命令に続く次の順次命令を指す。
・ アドレス指定を除くすべてのアクセス例外条件の場合、副作用アクセスの指示(例えば、実位置168~175での変換例外識別情報(TEID:translation exception identification)のビット54)が、1に設定される(アドレス指定例外の場合、TEIDは格納されない)。
・ GSEPLがアクセス可能でない場合、後述される残りの保護ストレージ・イベント処理は発生しない。
・ GSEPLのバイト0および4~7が0に設定される。
・ アドレス指定モードの指示が、次のように保護ストレージ・イベント・アドレス指定モード(GSEAM、GSEPLのバイト1)に配置される。
- GSEAMのビット0~5が0に設定される。
- 保護ストレージ・イベントが認識された時点で、GSEAMのビット6および7が、PSWのビット31および32に設定される。
・ イベントの原因の指示が、次のように保護ストレージ・イベント原因指示フィールド(GSECI、GSEPLのバイト2)に配置される。
- 保護ストレージ・イベントが認識されたときに、CPUがトランザクション実行モードだった場合、GSECIのビット0が1に設定され、そうでない場合、バイト2のビット0が0に設定される。
- 保護ストレージ・イベントが認識されたときに、CPUが制約付きトランザクション実行モードだった場合、GSECIのビット1が1に設定され、そうでない場合、GSECIのビット1が0に設定される。
- GSECIのビット2~6が0に設定される。
- GSECIのビット7が、保護ストレージ・イベントを引き起こした命令を指定するように設定される。例えば、0の値は、イベントがLGG命令によって引き起こされたことを意味し、1の値は、イベントがLLGFSG命令によって引き起こされたことを意味する。
・ PSW DAT、アドレス指定モード、およびアドレス空間制御の指示が、次のように保護ストレージ・イベント・アクセス指示フィールド(GSEAI、GSEPLのバイト3)に配置される。
- GSEAIのビット0は予備であり、0に設定される。
- 現在の変換モード(PSWのビット5)が、GSEAIのビット1に配置される。
- DATがオンである場合、PSWのビット16~17が、GSEAIのビット2~3に配置される。DATがオフである場合、GSEAIのビット2~3は予測不可能である。
- CPUがアクセス・レジスタ・モードである場合、イベントを引き起こすLGG命令またはLLGFSG命令のB2フィールドに対応するアクセス・レジスタ数が、GSEAIのビット4~7に配置される。CPUがARモードでない場合、GSEAIのビット4~7は予測不可能である。
・ PSW内の命令アドレスが、保護ストレージ・イベント・ハンドラ・アドレス・フィールド(GSEHA、GSEPLのバイト8~15)の内容に置き換えられる。GSEHAフィールドは、分岐アドレスであると見なされる。現在のアドレス指定モードは変更されない。
・ 保護ストレージ・イベントを引き起こす命令のアドレスが、保護ストレージ・イベント命令アドレス・フィールド(GSEIA、GSEPLのバイト16~23)に配置される。GSEIAに配置されるアドレスは、例えば、LGG命令またはLLGFSG命令のアドレス、あるいはターゲットがLGGまたはLLGFSGである実行タイプ命令のアドレスである。GSEIAは、停止イベント・アドレス・レジスタにも配置される。
・ LGG命令またはLLGFSG命令の第2のオペランド・アドレスが、保護ストレージ・イベント・オペランド・アドレス(GSEOA、GSEPLのバイト24~31)に配置される。保護ストレージ・イベントの認識に起因してトランザクション実行がアボートされた場合、GSEOAフィールドは、トランザクション実行中に形成されたオペランド・アドレスを含む。
・ LGG命令またはLLGFSG命令の中間結果が、保護ストレージ・イベント中間結果フィールド(GSEIR、GSEPLのバイト32~39)に配置される。保護ストレージ・イベントの認識に起因してトランザクション実行がアボートされた場合、GSEIRフィールドは、保護ストレージ・オペランド・アドレス(GSEOA)フィールドを使用して形成される。しかし、トランザクション実行中に保護ストレージ・イベントが認識された場合、GSEIRが、トランザクションにおいてフェッチされた値を含むのか、それともトランザクションがアボートされた後にフェッチされた値を含むのかは、モデルに依存する。
・ トランザクションがアボートされた後に、GSE中間アドレス(GSE intermediate address)(すなわち、LGGまたはLLGFSGによって読み込まれたポインタ)が形成される。一実施形態では、トランザクション中に、LGG/LLGFSGのオペランドがトランザクションにおいて変更された場合、GSEIAはそれらの変更を示さない。
・ 保護ストレージ・イベントが認識されたときに、CPUがトランザクション実行モードだった場合、トランザクション・アボートPSWの命令アドレスが、保護ストレージ・イベント復帰アドレス・フィールド(GSERA、GSEPLのバイト40~47)に配置される。CPUが制約付きトランザクション実行モードだった場合、GSERAは、TBEGINC(制約付きトランザクション開始)命令を指定する。CPUが制約なしトランザクション実行モードだった場合、GSERAは、TBEGIN(トランザクション開始)命令に続く命令を指定する。GSE処理の後に、ハンドラは、このアドレスに分岐してトランザクションを再試行することができる。
・ 例外が無効化をもたらした場合、命令アドレスは、例えば、GSEを引き起こしたLGG命令またはLLGFSG命令(または、LGGまたはLLGFSGであるオペランドを持つ実行タイプ命令)を指す。
・ 例外が抑制または終了をもたらした場合、命令アドレスは、抑制する例外または終了する例外のGSEを引き起こした命令に続く次の順次命令を指す。
タイプ1402:バイト0は、レコードのタイプを含む。1つの例では、16進数の15のタイプは、保護ストレージ・イベント・レコードを示す。
命令アドレス・コード(C)1404:ビット位置8~10は、例えば3ビット符号なし整数を含み、この値は、現在のPSWの命令アドレスのビット位置がレコード内でどのように表現されるかを表すコードである。
C 意味
0 現在のPSWの命令アドレス(IA:instruction address)のビット位置22~62が、レコードのビット位置22~62に配置される。IAのビット位置0~21は0である。
1 現在のPSWの命令アドレス(IA)のビット位置22~62が、レコードのビット位置22~62に配置される。IAのビット位置0~21の一部は、0でない。レコードが報告グループの一部として格納される場合、ランタイム・インストルメンテーション制御の最大アドレス超過ビットが、1に設定される。
2~7 予備
M モード定義
O サイクル・カウント
カウントは、現在の間隔の間のカウントを提供するために使用される制御(スケーリング係数制御またはサンプル間隔カウント維持制御(remaining sample interval count control)など)において指定される。その他の制御が使用されてもよい。
a. 割り込み可能命令の場合、動作のすべての単位が、部分的な完了によって、1つのカウントされる単位を表し、この1つの単位に対してカウントがデクリメントされる。
b. 割り込み可能命令の場合、動作のすべての単位が、最新の部分的な完了の後の最終的な完了によって、1つのカウントされる単位を表し、この1つの単位に対してカウントがデクリメントされる。
c. 命令のパラメータによって指定された処理のCPUによって決定される下位部分の実行後に完了する命令の場合、この完了が1つのカウントされる単位を表し、この1つの単位に対してカウントがデクリメントされる。
d 動作の複数の単位の実行後に完了するが、上のカテゴリa~cに含まれない命令の場合、動作の最後の単位の完了が1つのカウントされる単位を表し、この1つの単位に対してカウントがデクリメントされる。
例えば、ランタイム・インストルメンテーション制御のNビットが例えば1であり、ランタイム・インストルメンテーション・ネクスト命令(次の命令がサンプル命令であることを示すために使用される命令)が正常に実行されたときに、指示されたサンプリングが発生する。下で示されている場合を除き、サンプル命令は、ランタイム・インストルメンテーション・ネクスト命令の後の次の順次命令(NSI:next sequential instruction)である。次の順次命令が実行タイプ命令である場合、サンプル命令は、この実行タイプ命令のターゲット命令である。次の順次命令が保護ストレージ・イベントの認識を引き起こしたときに、サンプリングされた命令が、そのイベントを引き起こすLGG命令またはLLGFSG命令であるのか、それとも保護ストレージ・イベント・ハンドラの第1の命令であるのかは、モデルに依存する。
サイクル・カウント・モードまたは命令カウント・モードであるときに、指示されたサンプリングが発生してよい。カウント・サンプリングは、指示されたサンプリングおよびその結果生じる動作のいずれかと同時に継続し、次のことを除くその他の点では、影響を受けない。カウント・サンプリングから決定されたサンプル命令が、指示されたサンプリングによって決定された命令と同じである場合、2つの報告グループは格納されない。
1. プログラム割り込み
2. 緊急のマシン・チェック割り込み
3. 再起動割り込み
4. スーパーバイザ呼び出し割り込み
タイプ1502:ビット位置0~7は、保護ストレージ命令レコードを示す。
命令アドレス・コード(C)1504:ビット位置8~10は、例えば3ビット符号なし整数を含み、この値は、現在のPSWの命令アドレスのビット位置がレコード内でどのように表現されるかを表すコードである。
C 意味
0 現在のPSWの命令アドレス(IA)のビット位置22~62が、レコードのビット位置22~62に配置される。IAのビット位置0~21は0である。
1 現在のPSWの命令アドレス(IA)のビット位置22~62が、レコードのビット位置22~62に配置される。IAのビット位置0~21の一部は、0でない。レコードが報告グループの一部として格納される場合、ランタイム・インストルメンテーション制御の最大アドレス超過ビットが、1に設定される。
2~7 予備
1.(a)例えばランタイム・インストルメンテーション・ネクスト命令の実行に起因して開始された場合、命令レコードは次のことを表す。次の順次命令がサンプル命令である。この命令が実行タイプ命令である場合、この実行タイプ命令、およびこの実行タイプ命令のターゲットは、サンプル命令として有効にマージされているか、またはマージされていないことがある。
1.(b)サンプル命令の識別に起因して開始された場合、命令レコードはサンプル命令を表す。この命令が実行タイプ命令である場合、この実行タイプ命令、およびこの実行タイプ命令のターゲットは、サンプル命令として有効にマージされているか、またはマージされていないことがある。
2. サンプル命令の実行に関するデータが収集される。この収集は、通常、命令データ・バッファの内容を取得することによって実現される。
3. サンプル命令の実行の完了時に、報告グループが格納される。報告グループのサイズに応じて、収集バッファからのレコードも報告される。
Claims (18)
- コンピューティング環境内の処理を容易にするためのコンピュータ実装方法であって、前記方法が、
保護ストレージ・イベントの認識をもたらす命令を実行することと、
前記保護ストレージ・イベントの認識をもたらす前記命令を実行することに基づいて保護ストレージ・イベント・レコードを作成することであって、前記保護ストレージ・イベント・レコードが、前記保護ストレージ・イベントの認識をもたらす前記命令の指示を含んでいる、前記作成することと
を含み、
前記命令が、読み込み保護命令または読み込み論理およびシフト保護命令であり、前記読み込み保護命令または前記読み込み論理およびシフト保護命令が、前記保護ストレージ・イベントが存在するかどうかを判定するために使用される、
コンピュータ実装方法。 - 前記保護ストレージ・イベント・レコードが、前記保護ストレージ・イベントを管理するために使用される保護ストレージ・イベント・ハンドラの保護ストレージ・イベント・ハンドラ命令の位置をさらに含んでいる、請求項1に記載の方法。
- 前記保護ストレージ・イベント・レコードが、前記命令の前記指示が前記保護ストレージ・イベント・レコードに格納される方法を示すためのコードをさらに含んでいる、請求項1または2に記載の方法。
- 前記方法が、前記保護ストレージ・イベント・レコードを収集バッファに配置することをさらに含んでおり、前記収集バッファが、プログラムの実行中にプロセッサの1つまたは複数のイベントを報告するレコードのセットを取得するために使用される、請求項1ないし3のいずれかに記載の方法。
- 前記方法が、サンプリングされた命令を識別し、保護ストレージ機能が有効化されているかどうかを示す命令レコードを作成することをさらに含んでいる、請求項1ないし4のいずれかに記載の方法。
- 前記命令レコードの前記作成が、前記保護ストレージ・イベント・レコードの作成に先行する、請求項5に記載の方法。
- 前記方法が、前記サンプリングされた命令を決定するために、前記コンピューティング環境内で実行される命令のサンプリングを実行することをさらに含んでおり、前記サンプリングされた命令を決定することに基づいて、前記命令レコードが作成される、請求項5に記載の方法。
- 前記サンプリングされた命令が、メモリの保護領域を識別するように規定された読み込み動作を実行するために使用される読み込み命令である、請求項7に記載の方法。
- コンピューティング環境内の処理を容易にするためのコンピュータ・システムであって、前記コンピュータ・システムが、
メモリと、
前記メモリと通信するプロセッサと
を備えており、前記コンピュータ・システムが方法を実行するように構成されており、前記方法が、
保護ストレージ・イベントの認識をもたらす命令を実行することと、
前記保護ストレージ・イベントの認識をもたらす前記命令を実行することに基づいて保護ストレージ・イベント・レコードを作成することであって、前記保護ストレージ・イベント・レコードが、前記保護ストレージ・イベントの認識をもたらす前記命令の指示を含んでいる、前記作成することと
を含み、
前記命令が、読み込み保護命令または読み込み論理およびシフト保護命令であり、前記読み込み保護命令または前記読み込み論理およびシフト保護命令が、前記保護ストレージ・イベントが存在するかどうかを判定するために使用される、
コンピュータ・システム。 - 前記保護ストレージ・イベント・レコードが、前記保護ストレージ・イベントを管理するために使用される保護ストレージ・イベント・ハンドラの保護ストレージ・イベント・ハンドラ命令の位置をさらに含んでいる、請求項9に記載のコンピュータ・システム。
- 前記保護ストレージ・イベント・レコードが、前記命令の前記指示が前記保護ストレージ・イベント・レコードに格納される方法を示すためのコードをさらに含んでいる、請求項9または10のいずれかに記載のコンピュータ・システム。
- 前記方法が、前記保護ストレージ・イベント・レコードを収集バッファに配置することをさらに含んでおり、前記収集バッファが、プログラムの実行中にプロセッサの1つまたは複数のイベントを報告するレコードのセットを取得するために使用される、請求項9ないし11のいずれかに記載のコンピュータ・システム。
- 前記方法が、サンプリングされた命令を識別し、保護ストレージ機能が有効化されているかどうかを示す命令レコードを作成することをさらに含んでいる、請求項9ないし12のいずれかに記載のコンピュータ・システム。
- 前記命令レコードの前記作成が、前記保護ストレージ・イベント・レコードの作成に先行する、請求項13に記載のコンピュータ・システム。
- 前記方法が、前記サンプリングされた命令を決定するために、前記コンピューティング環境内で実行される命令のサンプリングを実行することをさらに含んでおり、前記サンプリングされた命令を決定することに基づいて、前記命令レコードが作成される、請求項13に記載のコンピュータ・システム。
- コンピューティング環境内の処理を容易にするためのコンピュータ・プログラム製品であって、処理回路によって読み取り可能な、請求項1ないし8のいずれかに記載の方法を実行するために前記処理回路によって実行される命令を格納している、コンピュータ可読記憶媒体を備えている、コンピュータ・プログラム製品。
- コンピュータ可読媒体に格納された、デジタル・コンピュータの内部メモリに読み込み可能なコンピュータ・プログラムであって、前記プログラムがコンピュータ上で実行された場合に請求項1ないし8のいずれかに記載の前記方法を実行するためのソフトウェア・コード部分を含んでいる、コンピュータ・プログラム。
- コンピュータ可読媒体に格納されて、請求項9ないし15のいずれかに記載の前記システムの内部メモリに読み込まれるコンピュータ・プログラムであって、前記プログラムが前記システムで実行された場合に請求項1ないし8のいずれかに記載の前記方法を実行するためのソフトウェア・コード部分を含んでいる、コンピュータ・プログラム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/409,657 US10496311B2 (en) | 2017-01-19 | 2017-01-19 | Run-time instrumentation of guarded storage event processing |
US15/409,657 | 2017-01-19 | ||
PCT/EP2018/050753 WO2018134133A1 (en) | 2017-01-19 | 2018-01-12 | Run-time instrumentation of guarded storage event processing |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2020507151A JP2020507151A (ja) | 2020-03-05 |
JP7065860B2 true JP7065860B2 (ja) | 2022-05-12 |
Family
ID=60957325
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019537353A Active JP7065860B2 (ja) | 2017-01-19 | 2018-01-12 | 保護ストレージ・イベント処理のランタイム・インストルメンテーション |
Country Status (9)
Country | Link |
---|---|
US (1) | US10496311B2 (ja) |
EP (1) | EP3566142B1 (ja) |
JP (1) | JP7065860B2 (ja) |
CN (1) | CN110192187B (ja) |
AU (1) | AU2018209079B2 (ja) |
CA (1) | CA3037266A1 (ja) |
IL (1) | IL265559B (ja) |
TW (1) | TWI653534B (ja) |
WO (1) | WO2018134133A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101852187B1 (ko) | 2015-12-24 | 2018-06-11 | 김선조 | 복수기의 운전을 위한 냉각수 유량제어 방법 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10732858B2 (en) | 2017-01-19 | 2020-08-04 | International Business Machines Corporation | Loading and storing controls regulating the operation of a guarded storage facility |
US10452288B2 (en) | 2017-01-19 | 2019-10-22 | International Business Machines Corporation | Identifying processor attributes based on detecting a guarded storage event |
US10496292B2 (en) | 2017-01-19 | 2019-12-03 | International Business Machines Corporation | Saving/restoring guarded storage controls in a virtualized environment |
US10725685B2 (en) | 2017-01-19 | 2020-07-28 | International Business Machines Corporation | Load logical and shift guarded instruction |
US10579377B2 (en) | 2017-01-19 | 2020-03-03 | International Business Machines Corporation | Guarded storage event handling during transactional execution |
US10534553B2 (en) * | 2017-08-30 | 2020-01-14 | Micron Technology, Inc. | Memory array accessibility |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120102284A1 (en) | 2010-10-20 | 2012-04-26 | International Business Machines Corporation | Method for detecting access to object, and computer and computer program product for the same |
US20130247012A1 (en) | 2012-03-16 | 2013-09-19 | International Business Machines Corporation | Transformation of a program-event-recording event into a run-time instrumentation event |
JP2015515652A (ja) | 2012-03-16 | 2015-05-28 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | ランタイム・インスツルメンテーションを使用してプロセッサのプロセッサ特性情報をモニターするためのコンピュータ・プログラム・プロダクト、方法、およびシステム(プロセッサ特性のランタイム・インスツルメンテーション・モニタリング) |
JP2015526788A (ja) | 2012-06-15 | 2015-09-10 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | トランザクション診断ブロック |
Family Cites Families (77)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
NL134954C (ja) | 1964-10-07 | |||
US7447069B1 (en) | 1989-04-13 | 2008-11-04 | Sandisk Corporation | Flash EEprom system |
US5574936A (en) | 1992-01-02 | 1996-11-12 | Amdahl Corporation | Access control mechanism controlling access to and logical purging of access register translation lookaside buffer (ALB) in a computer system |
US5644752A (en) | 1994-06-29 | 1997-07-01 | Exponential Technology, Inc. | Combined store queue for a master-slave cache system |
JPH08190485A (ja) * | 1994-11-07 | 1996-07-23 | Seiko Epson Corp | エミュレーション装置 |
US6317872B1 (en) | 1997-07-11 | 2001-11-13 | Rockwell Collins, Inc. | Real time processor optimized for executing JAVA programs |
DE19836347C2 (de) | 1998-08-11 | 2001-11-15 | Ericsson Telefon Ab L M | Fehlertolerantes Computersystem |
US20040158695A1 (en) | 1999-05-03 | 2004-08-12 | Laurent Ugen | Method and apparatus for handling transfer of guarded instructions in a computer system |
US7197585B2 (en) | 2002-09-30 | 2007-03-27 | International Business Machines Corporation | Method and apparatus for managing the execution of a broadcast instruction on a guest processor |
US7043505B1 (en) | 2003-01-28 | 2006-05-09 | Unisys Corporation | Method variation for collecting stability data from proprietary systems |
US7330981B2 (en) | 2004-04-23 | 2008-02-12 | Microsoft Corporation | File locker and mechanisms for providing and using same |
US7240176B2 (en) * | 2004-05-01 | 2007-07-03 | Intel Corporation | Apparatus and methods for placing a managed heap |
US7212440B2 (en) | 2004-12-30 | 2007-05-01 | Sandisk Corporation | On-chip data grouping and alignment |
US8452938B1 (en) | 2004-12-30 | 2013-05-28 | Azul Systems, Inc. | Garbage collection with memory quick release |
US7555506B2 (en) | 2005-04-05 | 2009-06-30 | Microsoft Corporation | Partial deserialization of complex type objects |
US20070005935A1 (en) | 2005-06-30 | 2007-01-04 | Khosravi Hormuzd M | Method and apparatus for securing and validating paged memory system |
US20070011441A1 (en) | 2005-07-08 | 2007-01-11 | International Business Machines Corporation | Method and system for data-driven runtime alignment operation |
US7395407B2 (en) | 2005-10-14 | 2008-07-01 | International Business Machines Corporation | Mechanisms and methods for using data access patterns |
US8099726B2 (en) | 2005-12-07 | 2012-01-17 | Microsoft Corporation | Implementing strong atomicity in software transactional memory |
TW200805065A (en) * | 2006-01-17 | 2008-01-16 | Nxp Bv | Region protection unit, instruction set and method for protecting a memory region |
KR101490327B1 (ko) | 2006-12-06 | 2015-02-05 | 퓨전-아이오, 인크. | 뱅크 인터리브를 이용한 솔리드-스테이트 스토리지의 명령 관리 장치, 시스템 및 방법 |
EP2115593B1 (en) | 2007-01-26 | 2018-10-24 | Intel Corporation | Hierarchical immutable content-addressable memory processor |
US8364910B2 (en) | 2007-03-08 | 2013-01-29 | Daniel Shawcross Wilkerson | Hard object: hardware protection for software objects |
US9095802B2 (en) | 2007-05-10 | 2015-08-04 | The Baker Company | Biosafety cabinets with air filters accessible through the work chamber |
US8078827B2 (en) | 2007-07-05 | 2011-12-13 | International Business Machines Corporation | Method and apparatus for caching of page translations for virtual machines |
US8327084B2 (en) | 2007-08-30 | 2012-12-04 | International Business Machines Corporation | Method and apparatus to trigger synchronization and validation actions upon memory access |
US20090113111A1 (en) | 2007-10-30 | 2009-04-30 | Vmware, Inc. | Secure identification of execution contexts |
KR20100101586A (ko) | 2007-12-05 | 2010-09-17 | 샌드브리지 테크놀로지스, 인코포레이티드 | 데이터 처리에 있어서 레지스터 시프트 및 회전을 포함하는 방법 및 명령어 세트 |
US8041923B2 (en) | 2008-01-11 | 2011-10-18 | International Business Machines Corporation | Load page table entry address instruction execution based on an address translation format control field |
US8176279B2 (en) | 2008-02-25 | 2012-05-08 | International Business Machines Corporation | Managing use of storage by multiple pageable guests of a computing environment |
US8086811B2 (en) | 2008-02-25 | 2011-12-27 | International Business Machines Corporation | Optimizations of a perform frame management function issued by pageable guests |
US8407455B2 (en) | 2008-07-28 | 2013-03-26 | Advanced Micro Devices, Inc. | Coexistence of advanced hardware synchronization and global locks |
US8578483B2 (en) | 2008-07-31 | 2013-11-05 | Carnegie Mellon University | Systems and methods for preventing unauthorized modification of an operating system |
US8250331B2 (en) | 2009-06-26 | 2012-08-21 | Microsoft Corporation | Operating system virtual memory management for hardware transactional memory |
US8402218B2 (en) | 2009-12-15 | 2013-03-19 | Microsoft Corporation | Efficient garbage collection and exception handling in a hardware accelerated transactional memory system |
KR101639672B1 (ko) | 2010-01-05 | 2016-07-15 | 삼성전자주식회사 | 무한 트랜잭션 메모리 시스템 및 그 동작 방법 |
KR20110102734A (ko) | 2010-03-11 | 2011-09-19 | 삼성전자주식회사 | 오티피 록 비트 레지스터를 구비한 불휘발성 반도체 메모리 장치 |
TWI519955B (zh) | 2010-03-29 | 2016-02-01 | 威盛電子股份有限公司 | 預取單元、資料預取方法以及電腦程式產品 |
US20120036308A1 (en) * | 2010-08-06 | 2012-02-09 | Swanson Robert C | Supporting a secure readable memory region for pre-boot and secure mode operations |
GB2482710A (en) | 2010-08-12 | 2012-02-15 | Advanced Risc Mach Ltd | Enabling stack access alignment checking independently of other memory access alignment checking |
KR101724590B1 (ko) | 2011-01-31 | 2017-04-11 | 삼성전자주식회사 | 멀티 프로세서 시스템에서의 메모리 보호 장치 및 방법 |
JP2013033412A (ja) | 2011-08-03 | 2013-02-14 | Internatl Business Mach Corp <Ibm> | メモリ管理方法、プログラム及びシステム |
WO2013095575A1 (en) | 2011-12-22 | 2013-06-27 | Intel Corporation | Broadcast operation on mask register |
US20130326519A1 (en) | 2011-12-30 | 2013-12-05 | Andrew V. Anderson | Virtual machine control structure shadowing |
US9483268B2 (en) | 2012-03-16 | 2016-11-01 | International Business Machines Corporation | Hardware based run-time instrumentation facility for managed run-times |
US9280447B2 (en) | 2012-03-16 | 2016-03-08 | International Business Machines Corporation | Modifying run-time-instrumentation controls from a lesser-privileged state |
US8583920B1 (en) | 2012-04-25 | 2013-11-12 | Citrix Systems, Inc. | Secure administration of virtual machines |
US9448796B2 (en) * | 2012-06-15 | 2016-09-20 | International Business Machines Corporation | Restricted instructions in transactional execution |
US9336046B2 (en) | 2012-06-15 | 2016-05-10 | International Business Machines Corporation | Transaction abort processing |
US9311101B2 (en) | 2012-06-15 | 2016-04-12 | International Business Machines Corporation | Intra-instructional transaction abort handling |
US9262320B2 (en) | 2012-06-15 | 2016-02-16 | International Business Machines Corporation | Tracking transactional execution footprint |
US20130339656A1 (en) | 2012-06-15 | 2013-12-19 | International Business Machines Corporation | Compare and Replace DAT Table Entry |
US9424896B2 (en) | 2012-06-22 | 2016-08-23 | Nxp B.V. | Method and system for fast initialization of a memory unit |
TWI609263B (zh) | 2013-08-16 | 2017-12-21 | 司固科技公司 | 可變大小快閃轉變層 |
CN104468150A (zh) | 2013-09-12 | 2015-03-25 | 阿里巴巴集团控股有限公司 | 一种虚拟主机实现故障迁移的方法及虚拟主机业务装置 |
US9329890B2 (en) | 2013-09-26 | 2016-05-03 | Globalfoundries Inc. | Managing high-coherence-miss cache lines in multi-processor computing environments |
US20150113240A1 (en) | 2013-10-17 | 2015-04-23 | International Business Machines Corporation | Restricting access to sensitive data in system memory dumps |
US9384148B2 (en) | 2013-12-17 | 2016-07-05 | Intel Corporation | Detection of unauthorized memory modification and access using transactional memory |
US20150178078A1 (en) | 2013-12-21 | 2015-06-25 | H. Peter Anvin | Instructions and logic to provide base register swap status verification functionality |
US9582295B2 (en) | 2014-03-18 | 2017-02-28 | International Business Machines Corporation | Architectural mode configuration |
US9772867B2 (en) | 2014-03-27 | 2017-09-26 | International Business Machines Corporation | Control area for managing multiple threads in a computer |
US20150278123A1 (en) | 2014-03-28 | 2015-10-01 | Alex Nayshtut | Low-overhead detection of unauthorized memory modification using transactional memory |
US9483295B2 (en) | 2014-03-31 | 2016-11-01 | International Business Machines Corporation | Transparent dynamic code optimization |
CN105993005B (zh) | 2014-07-21 | 2019-06-04 | 上海兆芯集成电路有限公司 | 具有地址转译快取的处理器及其操作方法 |
US20160034404A1 (en) * | 2014-07-31 | 2016-02-04 | International Business Machines Corporation | Managing access to storage |
US9749448B2 (en) | 2014-11-25 | 2017-08-29 | Intel Corporation | Header parity error handling |
US20160299712A1 (en) | 2015-04-07 | 2016-10-13 | Microsoft Technology Licensing, Llc | Virtual Machines Backed by Host Virtual Memory |
US9665373B2 (en) * | 2015-06-26 | 2017-05-30 | Intel Corporation | Protecting confidential data with transactional processing in execute-only memory |
US9734052B2 (en) | 2015-06-30 | 2017-08-15 | International Business Machines Corporation | Multi-section garbage collection |
US9734053B2 (en) | 2015-06-30 | 2017-08-15 | International Business Machines Corporation | Garbage collection handler to update object pointers |
US10176093B2 (en) | 2015-06-30 | 2019-01-08 | International Business Machines Corporation | Pauseless location and object handle based garbage collection |
EP3123904A1 (en) | 2015-07-31 | 2017-02-01 | Samsung Electronics Co., Ltd. | Showcase |
US10496292B2 (en) | 2017-01-19 | 2019-12-03 | International Business Machines Corporation | Saving/restoring guarded storage controls in a virtualized environment |
US10579377B2 (en) | 2017-01-19 | 2020-03-03 | International Business Machines Corporation | Guarded storage event handling during transactional execution |
US10452288B2 (en) | 2017-01-19 | 2019-10-22 | International Business Machines Corporation | Identifying processor attributes based on detecting a guarded storage event |
US10732858B2 (en) | 2017-01-19 | 2020-08-04 | International Business Machines Corporation | Loading and storing controls regulating the operation of a guarded storage facility |
US10725685B2 (en) | 2017-01-19 | 2020-07-28 | International Business Machines Corporation | Load logical and shift guarded instruction |
-
2017
- 2017-01-19 US US15/409,657 patent/US10496311B2/en active Active
-
2018
- 2018-01-09 TW TW107100723A patent/TWI653534B/zh active
- 2018-01-12 EP EP18700344.7A patent/EP3566142B1/en active Active
- 2018-01-12 WO PCT/EP2018/050753 patent/WO2018134133A1/en unknown
- 2018-01-12 CN CN201880007557.4A patent/CN110192187B/zh active Active
- 2018-01-12 CA CA3037266A patent/CA3037266A1/en active Pending
- 2018-01-12 JP JP2019537353A patent/JP7065860B2/ja active Active
- 2018-01-12 AU AU2018209079A patent/AU2018209079B2/en active Active
-
2019
- 2019-03-22 IL IL265559A patent/IL265559B/en active IP Right Grant
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120102284A1 (en) | 2010-10-20 | 2012-04-26 | International Business Machines Corporation | Method for detecting access to object, and computer and computer program product for the same |
US20130247012A1 (en) | 2012-03-16 | 2013-09-19 | International Business Machines Corporation | Transformation of a program-event-recording event into a run-time instrumentation event |
JP2015515652A (ja) | 2012-03-16 | 2015-05-28 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | ランタイム・インスツルメンテーションを使用してプロセッサのプロセッサ特性情報をモニターするためのコンピュータ・プログラム・プロダクト、方法、およびシステム(プロセッサ特性のランタイム・インスツルメンテーション・モニタリング) |
JP2015526788A (ja) | 2012-06-15 | 2015-09-10 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | トランザクション診断ブロック |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101852187B1 (ko) | 2015-12-24 | 2018-06-11 | 김선조 | 복수기의 운전을 위한 냉각수 유량제어 방법 |
Also Published As
Publication number | Publication date |
---|---|
TW201830257A (zh) | 2018-08-16 |
EP3566142A1 (en) | 2019-11-13 |
JP2020507151A (ja) | 2020-03-05 |
AU2018209079B2 (en) | 2020-10-15 |
AU2018209079A1 (en) | 2019-06-13 |
TWI653534B (zh) | 2019-03-11 |
CN110192187B (zh) | 2023-05-26 |
CA3037266A1 (en) | 2018-07-26 |
EP3566142B1 (en) | 2020-05-27 |
US10496311B2 (en) | 2019-12-03 |
US20180203633A1 (en) | 2018-07-19 |
WO2018134133A1 (en) | 2018-07-26 |
IL265559B (en) | 2021-02-28 |
IL265559A (en) | 2019-05-30 |
CN110192187A (zh) | 2019-08-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7065860B2 (ja) | 保護ストレージ・イベント処理のランタイム・インストルメンテーション | |
JP6995124B2 (ja) | トランザクション実行中の保護ストレージ・イベント処理 | |
JP6909298B2 (ja) | 読み込み論理およびシフト保護命令 | |
JP7042277B2 (ja) | 保護ストレージ機能の動作を調整する制御の読み込みおよび格納 | |
US11010066B2 (en) | Identifying processor attributes based on detecting a guarded storage event | |
JP7018950B2 (ja) | 仮想環境内の保護ストレージ制御の保存/復元 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200722 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20210729 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210824 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20211115 |
|
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: 20220419 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220426 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7065860 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |