JP2022522113A - 複数のマシン世代にわたる複合体の機能の互換性の維持 - Google Patents
複数のマシン世代にわたる複合体の機能の互換性の維持 Download PDFInfo
- Publication number
- JP2022522113A JP2022522113A JP2021547172A JP2021547172A JP2022522113A JP 2022522113 A JP2022522113 A JP 2022522113A JP 2021547172 A JP2021547172 A JP 2021547172A JP 2021547172 A JP2021547172 A JP 2021547172A JP 2022522113 A JP2022522113 A JP 2022522113A
- Authority
- JP
- Japan
- Prior art keywords
- machine
- operand
- machines
- instruction
- parameter block
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000006243 chemical reaction Methods 0.000 claims description 80
- 238000000034 method Methods 0.000 claims description 49
- 238000004590 computer program Methods 0.000 claims description 17
- 230000000644 propagated effect Effects 0.000 claims description 7
- 230000001902 propagating effect Effects 0.000 claims description 7
- 230000006870 function Effects 0.000 description 199
- 239000000872 buffer Substances 0.000 description 115
- 238000012545 processing Methods 0.000 description 75
- 238000007906 compression Methods 0.000 description 49
- 230000006835 compression Effects 0.000 description 49
- 230000008859 change Effects 0.000 description 47
- 230000008569 process Effects 0.000 description 21
- 230000006837 decompression Effects 0.000 description 17
- 238000004422 calculation algorithm Methods 0.000 description 15
- 230000001419 dependent effect Effects 0.000 description 15
- 230000009471 action Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 13
- 230000015572 biosynthetic process Effects 0.000 description 11
- 230000036961 partial effect Effects 0.000 description 11
- 238000010200 validation analysis Methods 0.000 description 9
- 230000008901 benefit Effects 0.000 description 8
- 238000005192 partition Methods 0.000 description 8
- 230000000295 complement effect Effects 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 6
- 239000013598 vector Substances 0.000 description 6
- 238000013144 data compression Methods 0.000 description 5
- 238000013461 design Methods 0.000 description 5
- 238000001514 detection method Methods 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 239000000203 mixture Substances 0.000 description 4
- 238000003491 array Methods 0.000 description 3
- 230000006399 behavior Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 238000013508 migration Methods 0.000 description 3
- 230000005012 migration Effects 0.000 description 3
- 230000002829 reductive effect Effects 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000007726 management method Methods 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
- 230000000284 resting effect Effects 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 229910052799 carbon Inorganic materials 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000000153 supplemental effect Effects 0.000 description 1
- 238000013509 system migration Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- ACWBQPMHZXGDFX-QFIPXVFZSA-N valsartan Chemical compound C1=CC(CN(C(=O)CCCC)[C@@H](C(C)C)C(O)=O)=CC=C1C1=CC=CC=C1C1=NN=NN1 ACWBQPMHZXGDFX-QFIPXVFZSA-N 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45554—Instruction set architectures of guest OS and hypervisor or native processor differ, e.g. Bochs or VirtualPC on PowerPC MacOS
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- 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/3877—Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
-
- 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
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
- G06F9/45516—Runtime code conversion or optimisation
-
- 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
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45541—Bare-metal, i.e. hypervisor runs directly on hardware
-
- 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
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- 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
-
- 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/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/485—Task life-cycle, e.g. stopping, restarting, resuming execution
- G06F9/4856—Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
-
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- 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
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/4557—Distribution of virtual machine instances; Migration and load balancing
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Executing Machine-Instructions (AREA)
- Advance Control (AREA)
Abstract
Description
・圧縮データ・セットが一連のブロックを含む。3種類のブロックが存在する。1つの種類は、3ビットのヘッダーならびにその後に続く長さの情報および圧縮されていないデータを含み、ブロックの2つの種類は、3ビットのヘッダーおよびその後に続く圧縮データ要素を含む。
・圧縮データ要素は、動的ハフマン・テーブルの圧縮表現、圧縮データ・シンボル、およびブロック終結(EOB:end-of-block)シンボルを含んでよい。
・圧縮データ要素は、さまざまなビット長を有する。
・圧縮データ要素は、ストレージ内のバイト境界間で開始または終了してよい。
・圧縮データ要素は、例えば右端のビット位置から左端のビット位置まで、順番にバイトに読み込まれる。
・汎用レジスタ1、R1、R2、およびR3のビット位置40~63の内容は、パラメータ・ブロック、第1のオペランド、第2のオペランド、および円形履歴バッファのアドレスをそれぞれ構成し、ビット位置0~39の内容が無視される。
・更新された第1のオペランド・アドレスおよび第2のオペランド・アドレスのビット40~63は、汎用レジスタR1およびR2内の対応するビットをそれぞれ置き換える。更新されたアドレスのビット位置40からの繰り上げが無視され、汎用レジスタR1およびR2のビット位置32~39の内容が0に設定される。汎用レジスタR1およびR2のビット位置0~31の内容は変化しない。命令が部分的完了または正常完了の状態で終了し、更新されたオペランド・アドレスが命令の実行の開始時のオペランド・アドレスに等しい場合、対応する汎用レジスタのビット位置32~39が0に設定される。
・汎用レジスタR1+1およびR2+1のビット位置32~63の内容は、第1および第2のオペランド内のバイト数をそれぞれ指定する、例えば32ビットの符号なし2進整数を形成する。汎用レジスタR1+1およびR2+1のビット位置0~31の内容は無視される。
・更新された第1のオペランドおよび第2のオペランドの長さのビット32~63は、汎用レジスタR1+1およびR2+1内の対応するビットをそれぞれ置き換える。汎用レジスタR1+1およびR2+1のビット位置0~31の内容は変化しない。
・汎用レジスタ1、R1、R2、およびR3のビット位置33~63の内容は、パラメータ・ブロック、第1のオペランド、第2のオペランド、および円形履歴バッファのアドレスをそれぞれ構成し、ビット位置0~32の内容が無視される。
・更新された第1のオペランド・アドレスおよび第2のオペランド・アドレスのビット33~63は、汎用レジスタR1およびR2内の対応するビットをそれぞれ置き換える。更新されたアドレスのビット位置33からの繰り上げが無視され、汎用レジスタR1およびR2のビット位置32の内容が0に設定される。汎用レジスタR1およびR2のビット位置0~31の内容は変化しない。命令が部分的完了または正常完了の状態で終了し、更新されたオペランド・アドレスが命令の実行の開始時のオペランド・アドレスに等しい場合、対応する汎用レジスタのビット位置32が0に設定される。
・汎用レジスタR1+1およびR2+1のビット位置32~63の内容は、第1および第2のオペランド内のバイト数をそれぞれ指定する、32ビットの符号なし2進整数を形成する。汎用レジスタR1+1およびR2+1のビット位置0~31の内容は無視される。
・更新された第1のオペランドおよび第2のオペランドの長さのビット32~63は、汎用レジスタR1+1およびR2+1内の対応するビットをそれぞれ置き換える。汎用レジスタR1+1およびR2+1のビット位置0~31の内容は変化しない。
・汎用レジスタ1、R1、R2、およびR3のビット位置0~63の内容は、パラメータ・ブロック、第1のオペランド、第2のオペランド、および円形履歴バッファのアドレスをそれぞれ構成する。
・更新された第1のオペランド・アドレスおよび第2のオペランド・アドレスのビット0~63は、汎用レジスタR1およびR2内の対応するビットをそれぞれ置き換える。更新されたアドレスのビット位置0からの繰り上げは無視される。
・汎用レジスタR1+1およびR2+1のビット位置0~63の内容は、第1および第2のオペランド内のバイト数をそれぞれ指定する、64ビットの符号なし2進整数を形成する。
・更新された第1のオペランドおよび第2のオペランドの長さのビット0~63は、汎用レジスタR1+1およびR2+1内の対応するビットをそれぞれ置き換える。
DHTGC 意味
0 0に等しいリテラル・バイト、重複列の長さ、およびポインタ距離の数を、1に等しいとして扱う(汎用DHT(universal DHT)を生成する)。
1 0に等しい重複列の長さおよびポインタ距離の数を、1に等しいとして扱う。
OESC(16進数) 意味
00 追加情報が提供されない。
01 パラメータ・ブロック・バージョン番号362によって指定されたパラメータ・ブロックの形式が、モデルによってサポートされない。
02 DFLTCC-CMPR機能またはDFLTCC-XPND機能が指定され、履歴長フィールド385(図3L)が例えば32,768より大きく、新しいタスク・フィールド374(図3L)が0である。
11 BTYPE(ブロック・タイプ)が2進数11に等しい圧縮データ・ブロックが発生する。
12 BTYPEが2進数00に等しい圧縮データ・ブロック、およびLEN(長さ)の1の補数に等しくないNLENが発生する。
21 CDHTLフィールド366(図3L)が適用され、例えば、42より小さいか、または2283より大きい。
22 動作中に使用される圧縮されたDHTのHLIT部分要素が、例えば29より大きい(無効なDHT)。
23 動作中に使用される圧縮されたDHTのHDIST部分要素が、例えば29より大きい(無効なDHT)。
24 動作中に使用される圧縮されたDHTが、圧縮されたDHTに対して定義された可能な(例えば、19個の)コード長のビット長を指定するコードのシーケンス内にある、機能するハフマン・ツリーを指定するためにハフマン・アルゴリズムによって必要とされる長さより小さいコードを指定する(無効なDHT)。
26 動作中に使用される圧縮されたDHTが、リテラル・バイト、EOBシンボル、および重複列の長さで構成されている要素のセットの第1のコード長としてコード長16(前のコード長のコピー)を指定する(無効なDHT)。
27 動作中に使用される圧縮されたDHTが、リテラル・バイトのコード長を指定するコードのシーケンス内にあるコードを指定し、このコードが、圧縮されたDHT内で前に指定された、参照されるコード長のセットを表すために決定されたコードのいずれにも一致しない(無効なDHT)。
28 動作中に使用される圧縮されたDHTが、コード長0(CL0)をEOBシンボルに割り当てるコードを指定する。この場合、対応するDHTが、EOBシンボルを表すためのハフマン・コードを指定しない(無効なDHT)。
29 動作中に使用される圧縮されたDHTが、重複列の長さおよびポインタ距離のコード長を指定するコードのシーケンス内にあるコードを指定し、このコードが、圧縮されたDHT内で前に指定された、参照されるコード長のセットを表すために決定されたコードのいずれにも一致しない(無効なDHT)。
2A 動作中に使用される圧縮されたDHTが、HLITフィールド、HDISTフィールド、および例えば258の値の和によって指定された、DHT内のハフマン・コードの数より大きいコード長の数を指定する。これは、例えば、コード長16、17、および18の不適切な使用を伴っている可能性がある(無効なDHT)。
2B 動作中に使用される圧縮されたDHTが、リテラル・バイト、EOBシンボル、および重複列の長さのセットに対して、機能するハフマン・ツリーを指定するためにハフマン・アルゴリズムによって必要とされる長さより小さいコード長を指定する(無効なDHT)。
2D 動作中に使用される圧縮されたDHTが、重複列のポインタ距離のセットに対して、機能するハフマン・ツリーを指定するためにハフマン・アルゴリズムによって必要とされる長さより小さいコード長を指定する(無効なDHT)。
2F CDHTLフィールド366(図3L)が適用され、動作中に使用されるCDHTフィールド367(図3L)内の圧縮されたDHTの長さに等しくない。
31 動作中に使用される圧縮されたDHTが、動作中に処理されるリテラル・バイトまたは重複列の長さに対応するハフマン・コードを指定しないか(不完全な非汎用DHT)、またはDFLTCC-XPND機能が指定され、BTYPEが2進数01に等しい圧縮データ・ブロック内で発生する圧縮データ・シンボルが、重複列の長さに対して無効なコード(2進数11000110または11000111)を指定する。
32 動作中に使用される圧縮されたDHTが、動作中に処理される重複列のポインタ距離に対応するハフマン・コードを指定しないか(不完全な非汎用DHT)、またはDFLTCC-XPND機能が指定され、BTYPEが2進数01に等しい圧縮データ・ブロック内で発生する圧縮データ・シンボルが、重複列のポインタ距離に対して無効なコード(2進数11110または11111)を指定する。
40 重複列のポインタであり、シンボルを処理する時点で使用可能な履歴の長さより大きい距離を指定する圧縮データ・シンボルが発生する。
・リテラル・バイト、EOBシンボル、および重複列の長さを表すハフマン・コードの数を指定するためのHLITフィールド。
・重複列のポインタ距離を表すハフマン・コードの数を指定するためのHDISTフィールド。
・コード長を表すハフマン・コードの数を指定するためのHCLEN(ハフマン・コード長)フィールド。
・圧縮されたDHTに対して定義された例えば19個のコード長の各々に対してビット長を指定するコードのシーケンス。
・リテラル・バイト、EOBシンボル、および重複列の長さで構成されるセットの要素の各々に対してコード長を指定するコードのシーケンス。
・重複列のポインタ距離で構成されるセットの要素の各々に対してコード長を指定するコードのシーケンス。
・第2のオペランドの最初の32Kバイトのみが、DHTを生成するために使用される。
・第2のオペランドの最初の32Kバイトを超える位置に対して、アクセス例外が認識されない。
IFS(2進数) 意味
0000 BFINALが1に等しいブロックの最後の要素をデコードした後に、動作が終了した。
1000 BTYPEが2進数00に等しく、BFINALが0に等しいブロックの最後の要素以外の要素をデコードした後に、動作が終了した。
1001 BTYPEが2進数00に等しく、BFINALが1に等しいブロックの最後の要素以外の要素をデコードした後に、動作が終了した。
1010 BTYPEが2進数01に等しく、BFINALが0に等しいブロックの最後の要素以外の要素をデコードした後に、動作が終了した。
1011 BTYPEが2進数01に等しく、BFINALが1に等しいブロックの最後の要素以外の要素をデコードした後に、動作が終了した。
1100 BTYPEが2進数10に等しく、BFINALが0に等しいブロックの最後の要素以外の要素をデコードした後に、動作が終了した。
1101 BTYPEが2進数10に等しく、BFINALが1に等しいブロックの最後の要素以外の要素をデコードした後に、動作が終了した。
1110 動作がブロック境界で終了しており、BFINALが1に等しいブロックの最後の要素がデコードされておらず、その後のブロックのブロック・ヘッダーの最初の要素がまだ処理されていない。
・NTビットが1である場合、1の値が4バイトのベース入力に使用される。
・Adler-32チェック値生成において定義された和を65,521で割った余りが計算される。
・その結果が、ビッグエンディアン・バイト・オーダーでチェック値フィールドに格納される。すなわち、チェック値の最上位バイトがバイト48に位置し、チェック値の最下位バイトがバイト51に位置する。
・NTビットが1である場合、0の値が4バイトのベース入力に使用される。
・CRC-32チェック値の生成において除数として使用される多項式は、x32+x26+x23+x22+x16+x12+x11+x10+x8+x7+x5+x4+x2+x1+x0であり、16進数104C11DB7として表される。この表現では、左端のビットが最上位ビットに対応する。
・チェック値を生成する最初の段階では、ベース入力の1の補数を計算し、最後の段階では、結果を格納する前に、結果の1の補数を計算する。
・その結果が、リトルエンディアン・バイト・オーダーでチェック値フィールドに格納される。すなわち、チェック値の最下位バイトがバイト48に位置し、チェック値の最上位バイトがバイト51に位置する。
・モデルに依存する値が、パラメータ・ブロックのモデル・バージョン番号(MVN)フィールド363に格納される。
・パラメータ・ブロックの継続フラグ(CF)フィールド373が0に設定される。
・パラメータ・ブロックのサブバイト境界(SBB)フィールド381が更新される。
・パラメータ・ブロックのブロック終結の長さ(EOBL)389フィールドおよびブロック終結シンボル(EOBS)388フィールドが更新される。
・パラメータ・ブロックの履歴長(HL)フィールド385が更新される。
・適用可能な場合、パラメータ・ブロックの履歴オフセット(HO)フィールド386が更新される。
・パラメータ・ブロックの動作終了補助コード(OESC)フィールド365が0に設定される。
・パラメータ・ブロックのチェック値フィールド387が更新される。
・汎用レジスタR1内のアドレスが、ビット0の処理を含んでいる第1のオペランドの処理されたバイト数だけインクリメントされ、汎用レジスタR1+1内の長さが同じ数だけデクリメントされる。ビット0の処理を含んでいる第1のオペランドの処理されたバイト数は、整数除算から得られた整数化した商であり、被除数は、処理された出力ビット数およびSBBの元の値の和であり、除数は8の値である。
・汎用レジスタR2内のアドレスが、処理されたソース・バイト数だけインクリメントされ、汎用レジスタR2+1内の長さが同じ数だけデクリメントされる。
・条件コード0が設定される。
・パラメータ・ブロック内の継続フラグ(CF)ビット373が1に設定される。
・パラメータ・ブロック内の継続状態バッファ(CSB)フィールド392が更新される。
・パラメータ・ブロックのサブバイト境界(SBB)フィールド381が更新される。
・パラメータ・ブロックの履歴長(HL)フィールド385が更新される。
・適用可能な場合、パラメータ・ブロックの履歴オフセット(HO)フィールド386が更新される。
・パラメータ・ブロックのチェック値フィールド387が更新される。
・モデルに依存する値が、パラメータ・ブロックのモデル・バージョン番号(MVN)フィールド363に格納される。
・パラメータ・ブロックのブロック終結の長さ(EOBL)389フィールドおよびブロック終結シンボル(EOBS)388フィールドが更新される。
・パラメータ・ブロックの動作終了補助コード(OESC)フィールド365が0に設定される。
・汎用レジスタR1内のアドレスが、ビット0の処理を含んでいる第1のオペランドの処理されたバイト数だけインクリメントされ、汎用レジスタR1+1内の長さが同じ数だけデクリメントされる。ビット0の処理を含んでいる第1のオペランドの処理されたバイト数は、整数除算から得られた整数化した商であり、被除数は、処理された出力ビット数およびSBBの元の値の和であり、除数は8の値である。
・汎用レジスタR2内のアドレスが、処理されたソース・バイト数だけインクリメントされ、汎用レジスタR2+1内の長さが同じ数だけデクリメントされる。
・条件コード3が設定される。
・汎用レジスタR1+1の内容によって指定された第1のオペランドの長さが、命令の実行の開始時に0である。
・命令の実行中に第1のオペランドの長さが0に等しくなり、正常完了が発生しない。
・パラメータ・ブロック内の継続フラグ(CF)ビット373が1に設定される。
・パラメータ・ブロック内の継続状態バッファ(CSB)フィールド392が更新される。
・パラメータ・ブロックのサブバイト境界(SBB)フィールド381が更新される。
・パラメータ・ブロックの履歴長(HL)フィールド385が更新される。
・適用可能な場合、パラメータ・ブロックの履歴オフセット(HO)フィールド386が更新される。
・パラメータ・ブロックのチェック値フィールド387が更新される。
・モデルに依存する値が、パラメータ・ブロックのモデル・バージョン番号(MVN)フィールド363に格納される。
・パラメータ・ブロックのブロック終結の長さ(EOBL)389フィールドおよびブロック終結シンボル(EOBS)388フィールドが更新される。
・パラメータ・ブロックの動作終了補助コード(OESC)フィールド365が0に設定される。
・汎用レジスタR1内のアドレスが、ビット0の処理を含んでいる第1のオペランドの処理されたバイト数だけインクリメントされ、汎用レジスタR1+1内の長さが同じ数だけデクリメントされる。ビット0の処理を含んでいる第1のオペランドの処理されたバイト数は、整数除算から得られた整数化した商であり、被除数は、処理された出力ビット数およびSBBの元の値の和であり、除数は8の値である。
・汎用レジスタR2内のアドレスが、処理されたソース・バイト数だけインクリメントされ、汎用レジスタR2+1内の長さが同じ数だけデクリメントされる。
・条件コード1が設定される。
・条件コード1が設定される。
・下で説明されているように、パラメータ・ブロックに格納する。
・第1のオペランドの位置に格納する。
・第3のオペランドの位置に格納し、この格納が、例えば履歴バッファ・タイプ(HBT)が1(円形)である場合に発生する。
・パラメータ・ブロックに関して、適用可能な場合、PERストレージ変更イベントが認識される。
・格納されたパラメータ・ブロックの一部に関して、適用可能な場合、PERストレージ変更イベントが認識される。
・モデルに依存する値が、パラメータ・ブロックのモデル・バージョン番号(MVN)フィールド363に格納される。
・パラメータ・ブロックの継続フラグ(CF)フィールド373が0に設定される。
・パラメータ・ブロックのサブバイト境界(SBB)フィールド381が更新される。
・パラメータ・ブロックの履歴長(HL)フィールド385が更新される。
・適用可能な場合、パラメータ・ブロックの履歴オフセット(HO)フィールド386が更新される。
・パラメータ・ブロックの圧縮された動的ハフマン・テーブル(CDHT)フィールド367および圧縮された動的ハフマン・テーブルの長さ(CDHTL)フィールド366が0に設定される。
・パラメータ・ブロックの動作終了補助コード(OESC)フィールド365が0に設定される。
・パラメータ・ブロックのチェック値フィールド387が更新される。
・汎用レジスタR1内のアドレスが、第1のオペランドの位置に格納されたバイト数だけインクリメントされ、汎用レジスタR1+1内の長さが同じ数だけデクリメントされる。
・汎用レジスタR2内のアドレスが、ビット0の処理を含んでいる第2のオペランドの処理されたバイト数だけインクリメントされ、汎用レジスタR2+1内の長さが同じ数だけデクリメントされる。ビット0の処理を含んでいる第2のオペランドの処理されたバイト数は、整数除算から得られた整数化した商であり、被除数は、処理された入力ビット数およびSBBの元の値の和であり、除数は8の値である。
・条件コード0が設定される。
・パラメータ・ブロック内の継続フラグ(CF)ビット373が1に設定される。
・パラメータ・ブロック内の継続状態バッファ(CSB)フィールド392が更新される。
・パラメータ・ブロックのサブバイト境界(SBB)フィールド381が更新される。
・パラメータ・ブロックの圧縮された動的ハフマン・テーブル(CDHT)フィールド367および圧縮された動的ハフマン・テーブルの長さ(CDHTL)フィールド366が更新される。BTYPE値が2進数10であるブロックを処理しているときに部分的完了が発生した場合、テーブルを表すために必要とされないCDHTフィールドのバイトが0として格納される。BTYPE値が2進数00または01であるブロックを処理しているときに部分的完了が発生した場合、CDHTフィールドおよびCDHTLフィールドに0が格納される。
・パラメータ・ブロックの履歴長(HL)フィールド385が更新される。
・適用可能な場合、パラメータ・ブロックの履歴オフセット(HO)フィールド386が更新される。
・パラメータ・ブロックのチェック値フィールド387が更新される。
・モデルに依存する値が、パラメータ・ブロックのモデル・バージョン番号(MVN)フィールド363に格納される。
・パラメータ・ブロックの動作終了補助コード(OESC)フィールド365が0に設定される。
・パラメータ・ブロックの不完全な機能の状態(IFS)フィールド383が更新される。
・適用可能な場合、パラメータ・ブロックの不完全な機能の長さ(IFL)フィールド384が更新される。
・汎用レジスタR1内のアドレスが、第1のオペランドの位置に格納されたバイト数だけインクリメントされ、汎用レジスタR1+1内の長さが同じ数だけデクリメントされる。
・汎用レジスタR2内のアドレスが、ビット0の処理を含んでいる第2のオペランドの処理されたバイト数だけインクリメントされ、汎用レジスタR2+1内の長さが同じ数だけデクリメントされる。ビット0の処理を含んでいる第2のオペランドの処理されたバイト数は、整数除算から得られた整数化した商であり、被除数は、処理された入力ビット数およびSBBの元の値の和であり、除数は8の値である。
・条件コード3が設定される。
・動作中に、BFINALが1に等しい圧縮データ・ブロックの最後の要素がデコードされておらず、第2のオペランドの長さおよびSBBによって指定された第2のオペランドのビット数が、次にデコードする要素のビット数よりも少なく、第2のオペランドの位置からのデータのデコーディングのすべての結果が第1のオペランドの位置に配置されている。
・パラメータ・ブロック内の継続フラグ(CF)ビット373が1に設定される。
・パラメータ・ブロック内の継続状態バッファ(CSB)フィールド392が更新される。
・パラメータ・ブロックのサブバイト境界(SBB)フィールド381が更新される。
・パラメータ・ブロックの圧縮された動的ハフマン・テーブル(CDHT)フィールド367および圧縮された動的ハフマン・テーブルの長さ(CDHTL)フィールド366が更新される。BTYPE値が2進数10であるブロックを処理しているときに部分的完了が発生した場合、テーブルを表すために必要とされないCDHTフィールドのバイトが0として格納される。BTYPE値が2進数00または01であるブロックを処理しているときに部分的完了が発生した場合、CDHTフィールドおよびCDHTLフィールドに0が格納される。
・パラメータ・ブロックの履歴長(HL)フィールド385が更新される。
・適用可能な場合、パラメータ・ブロックの履歴オフセット(HO)フィールド386が更新される。
・パラメータ・ブロックのチェック値フィールド387が更新される。
・モデルに依存する値が、パラメータ・ブロックのモデル・バージョン番号(MVN)フィールド363に格納される。
・パラメータ・ブロックの動作終了補助コード(OESC)フィールド365が0に設定される。
・パラメータ・ブロックの不完全な機能の状態(IFS)フィールド383が更新される。
・適用可能な場合、パラメータ・ブロックの不完全な機能の長さ(IFL)フィールド384が更新される。
・汎用レジスタR1内のアドレスが、第1のオペランドの位置に格納されたバイト数だけインクリメントされ、汎用レジスタR1+1内の長さが同じ数だけデクリメントされる。
・汎用レジスタR2内のアドレスが、ビット0の処理を含んでいる第2のオペランドの処理されたバイト数だけインクリメントされ、汎用レジスタR2+1内の長さが同じ数だけデクリメントされる。ビット0の処理を含んでいる第2のオペランドの処理されたバイト数は、整数除算から得られた整数化した商であり、被除数は、処理された入力ビット数およびSBBの元の値の和であり、除数は8の値である。
・条件コード2が設定される。
・第1のオペランドの長さが0に等しいため、第2のオペランドの位置からのデータのデコーディングの結果を第1のオペランドの位置に配置することができない。
・パラメータ・ブロック内の継続フラグ(CF)ビット373が1に設定される。
・パラメータ・ブロック内の継続状態バッファ(CSB)フィールド392が更新される。
・パラメータ・ブロックのサブバイト境界(SBB)フィールド381が更新される。
・パラメータ・ブロックの圧縮された動的ハフマン・テーブル(CDHT)フィールド367および圧縮された動的ハフマン・テーブルの長さ(CDHTL)フィールド366が更新される。BTYPE値が2進数10であるブロックを処理しているときに部分的完了が発生した場合、テーブルを表すために必要とされないCDHTフィールドのバイトが0として格納される。BTYPE値が2進数00または01であるブロックを処理しているときに部分的完了が発生した場合、CDHTフィールドおよびCDHTLフィールドに0が格納される。
・パラメータ・ブロックの履歴長(HL)フィールド385が更新される。
・適用可能な場合、パラメータ・ブロックの履歴オフセット(HO)フィールド386が更新される。
・パラメータ・ブロックのチェック値フィールド387が更新される。
・モデルに依存する値が、パラメータ・ブロックのモデル・バージョン番号(MVN)フィールド363に格納される。
・パラメータ・ブロックの動作終了補助コード(OESC)フィールド365が0に設定される。
・パラメータ・ブロックの不完全な機能の状態(IFS)フィールド383が更新される。
・適用可能な場合、パラメータ・ブロックの不完全な機能の長さ(IFL)フィールド384が更新される。
・汎用レジスタR1内のアドレスが、第1のオペランドの位置に格納されたバイト数だけインクリメントされ、汎用レジスタR1+1内の長さが同じ数だけデクリメントされる。
・汎用レジスタR2内のアドレスが、ビット0の処理を含んでいる第2のオペランドの処理されたバイト数だけインクリメントされ、汎用レジスタR2+1内の長さが同じ数だけデクリメントされる。ビット0の処理を含んでいる第2のオペランドの処理されたバイト数は、整数除算から得られた整数化した商であり、被除数は、処理された入力ビット数およびSBBの元の値の和であり、除数は8の値である。
・条件コード1が設定される。
・本明細書において説明されているように、パラメータ・ブロックに格納する。
・第1のオペランドの位置に格納する。
・第3のオペランドの位置に格納し、この格納が、例えば履歴バッファ・タイプ(HBT)が1(円形)である場合に発生する。
・パラメータ・ブロックに関して、適用可能な場合、PERストレージ変更イベントが認識される。
・格納されたパラメータ・ブロックの一部に関して、適用可能な場合、PERストレージ変更イベントが認識される。
・圧縮データ・ブロック600が、b0として識別されるバイト0のビット4から開始し、b60として識別されるバイト7のビット0で終了するビット・ストリーム602で構成される。
・ビット・ストリームに出現する最初の要素が、バイト0のビット4におけるBFINAL(ブロック・ヘッダーの最後のビット)である。
・ビット・ストリームに出現する2番目の要素が、バイト0のビット2~3におけるBTYPE(ブロック・タイプ)である。この例では、BTYPEは2進数00である。
・BTYPEが2進数00である場合、BTYPEの左にあるビット(この例では、バイト0のビット0~1)およびバイト境界の右にあるビットが無視される。
・ビット・ストリームに出現する3番目の要素が、LENフィールドの最下位バイト(LSB:least significant byte)であり、その後にLENフィールドの最上位バイト(MSB:most significant byte)が続く。LENフィールドは、リテラル・データを含むブロック内のバイト数を指定する。リテラル・データは、例えば圧縮されていないデータである。リテラル・データを含むバイトは、ビット・ストリーム内のNLENフィールドの後に続く。NLENは、LENの1の補数である。1つの例では、バイト1~2が、リトルエンディアン・バイト・オーダーでLENフィールドを含む。
・LENフィールドの後に続いてビット・ストリームに出現する要素が、NLENフィールドの最下位バイトであり、その後にNLENフィールドの最上位バイトが続く。バイト3~4が、リトルエンディアン・バイト・オーダーでNLENフィールドを含む。NLENフィールドは、LENフィールドの1の補数である。
・NLENフィールドの後に続いてビット・ストリームに出現する要素が、リテラル・バイトとして識別される圧縮されていないデータである。バイト5~7は、このブロックを生成するために使用されるソース・データから変更されない、圧縮されていないデータを含む。
・このブロックに含まれているどの要素も、ハフマン・コードではない。このブロック内のすべての要素は、デフレート規格によって規定されているように、要素の最下位ビットから最上位ビットへの順序で、ビット・ストリームに格納される。LEN、NLEN、およびリテラルの各要素が、バイト境界上でアライメントされた整数個のバイトであるため、これらの要素は、バイト単位で処理されてよく、必ずしもビット単位で処理されなくてよい。
・圧縮データ・ブロック700が、b0として識別されるバイト0のビット4から開始し、b89として識別されるバイト11のビット3で終了するビット・ストリーム702で構成される。
・ビット・ストリームに出現する最初の要素が、バイト0のビット4におけるBFINALである。
・ビット・ストリームに出現する2番目の要素が、バイト0のビット2~3におけるBTYPEである。この例では、BTYPEは2進数01である。
・固定ハフマン・テーブル(FHT)が、ブロックの構成要素ではない。
・ビット・ストリームに出現する第3の要素が、バイト0のビット1で開始する最初の圧縮データ・シンボルである。圧縮データ・シンボルは、1つの例では、示されている順序でビット・ストリームに出現する以下の部分要素で構成される。
1.変数の長さのハフマン・コード。このコードの最上位ビットは、コードの長さを指定する。このコードは、コードの最上位ビットから開始してビット・ストリームに出現し、コードの最下位ビットで終了する。このコードがリテラル値またはブロック終結シンボルを表す場合、このコードは、圧縮データ・シンボルの単なる部分要素である。このコードが履歴バッファへのポインタの長さを表す場合、このコードの後に、圧縮データ・シンボルのその後の部分要素が続く。
2.適用可能な場合、デフレート規格によって規定されているように、ポインタの長さを表すハフマン・コードの後に、追加の長さビットが続いてよい。追加の長さビットは、追加の長さビットの最下位ビットから開始してビット・ストリームに出現し、追加の長さビットの最上位ビットで終了する。
3.次にビット・ストリームに出現する部分要素は、履歴バッファへのポインタの5ビットの距離コードである。この距離コードは、例えばコードの最上位ビットから開始してビット・ストリームに出現し、距離コードの最下位ビットで終了する。
4.適用可能な場合、デフレート規格によって規定されているように、距離コードの後に、追加の距離ビットが続いてよい。追加の距離ビットは、追加の距離ビットの最下位ビットから開始してビット・ストリームに出現し、追加の距離ビットの最上位ビットで終了する。
・一例として、バイト0のビット0~1、バイト1~9のすべてのビット、およびバイト10のビット2~7が、圧縮データ・シンボルのビットを含む。
・ビット・ストリームに出現する最後の要素が、単一の部分要素を含んでいる圧縮データ・シンボルであり、この部分要素は、ブロック終結(EOB)シンボルを表すハフマン・コードである。BTYPEが2進数01であるブロックのEOBシンボルは、2進数0000000である。この例では、バイト10のビット1が、EOBシンボルの最上位ビットを含み、バイト11のビット3が、EOBシンボルの最下位ビットを含む。
・バイト11のビット3が、圧縮データ・ブロックの最後のビットである、ビット・ストリームの最後のビットを含む。
・圧縮データ・ブロック800が、b0として識別されるバイト0のビット4から開始し、b89として識別されるバイト11のビット3で終了するビット・ストリーム802で構成される。
・ビット・ストリームに出現する最初の要素が、バイト0のビット4におけるBFINALである。
・ビット・ストリームに出現する2番目の要素が、バイト0のビット2~3におけるBTYPEである。この例では、BTYPEは2進数10である。
・ビット・ストリームに出現する第3の要素が、バイト0のビット1で開始する動的ハフマン・テーブル(DHT)の圧縮表現である。DHTの圧縮表現は、1つの例では、示されている順序でビット・ストリームに出現する以下の部分要素で構成される。
1.HLIT:5ビットのHLIT部分要素および257の和が、リテラル・バイト、EOBシンボル、および重複列の長さを表すハフマン・コードの数を指定する。HLITの有効な値の範囲は、例えば0~29である。HLITビットは、HLIT部分要素の最下位ビットから開始してビット・ストリームに出現し、HLIT部分要素の最上位ビットで終了する。この例では、b3として識別されるバイト0のビット1が、HLIT部分要素の最下位ビットである。
2.HDIST:5ビットのHDIST部分要素および1の和が、重複列のポインタ距離を表すハフマン・コードの数を指定する。HDISTの有効な値の範囲は、例えば0~29である。HDISTビットは、HDIST部分要素の最下位ビットから開始してビット・ストリームに出現し、HDIST部分要素の最上位ビットで終了する。
3.HCLEN:4ビットのHCLEN部分要素および4の和が、コード長を表すハフマン・コードの数を指定する。HCLENの有効な値の範囲は、例えば0~15である。HCLENビットは、HCLEN部分要素の最下位ビットから開始してビット・ストリームに出現し、HCLEN部分要素の最上位ビットで終了する。
4.圧縮されたDHTに対して定義されたコード長の各々に対してビット長を指定するコードのシーケンス。コードの数は、HCLENおよび4の和に等しい。各コードは3ビットである。
5.リテラル・バイト、EOBシンボル、および重複列の長さで構成されるセットの要素の各々に対してコード長を指定するコードのシーケンス。指定されるコード長の数は、HLITおよび257の和に等しい。
6.重複列のポインタ距離で構成されるセットの要素の各々に対してコード長を指定するコードのシーケンス。指定されるコード長の数は、HDISTおよび1の和に等しい。
・ビット・ストリームに出現する第4の要素が、最初の圧縮データ・シンボルである。圧縮データ・シンボルは、1つの実施形態では、示されている順序でビット・ストリームに出現する以下の部分要素で構成される。
1.変数の長さのハフマン・コード。このコードの最上位ビットは、コードの長さを指定する。このコードは、コードの最上位ビットから開始してビット・ストリームに出現し、コードの最下位ビットで終了する。このコードがリテラル値またはブロック終結シンボルを表す場合、このコードは、圧縮データ・シンボルの単なる部分要素である。このコードが履歴バッファへのポインタの長さを表す場合、このコードの後に、圧縮データ・シンボルのその後の部分要素が続く。
2.適用可能な場合、デフレート規格によって規定されているように、ポインタの長さを表すハフマン・コードの後に、追加の長さビットが続いてよい。追加の長さビットは、例えば追加の長さビットの最下位ビットから開始してビット・ストリームに出現し、追加の長さビットの最上位ビットで終了する。
3.次にビット・ストリームに出現する部分要素は、履歴バッファへのポインタの5ビットの距離コードである。この距離コードは、例えばコードの最上位ビットから開始してビット・ストリームに出現し、距離コードの最下位ビットで終了する。
4.適用可能な場合、デフレート規格によって規定されているように、距離コードの後に、追加の距離ビットが続いてよい。追加の距離ビットは、例えば追加の距離ビットの最下位ビットから開始してビット・ストリームに出現し、追加の距離ビットの最上位ビットで終了する。
・ビット・ストリームに出現する、例えばバイト10のビット5までの、ビット5を含んでいるその後のビットは、圧縮データ・シンボルのビットを含む。
・ビット・ストリームに出現する最後の要素が、単一の部分要素を含んでいる圧縮データ・シンボルであり、この部分要素は、ブロック終結(EOB)シンボルを表すハフマン・コードである。この例では、バイト10のビット4が、EOBシンボルの最上位ビットを含み、バイト11のビット3が、EOBシンボルの最下位ビットを含む。
・バイト11のビット3が、圧縮データ・ブロックの最後のビットである、ビット・ストリームの最後のビットを含む。
・単一のパラメータ・ブロックが定義され、圧縮データ・セット全体を処理するために、デフレート変換呼び出し命令の複数の使用によって参照されてよい。パラメータ・ブロックのチェック値フィールド387およびチェック値タイプ・フィールド375が、圧縮データ・セット内の圧縮データ・ブロック(例えば、すべてのブロック)に適用されるべきである。パラメータ・ブロックのサブバイト境界・フィールド381が、個別のブロック間の移行に適用されるべきである。履歴長385および履歴オフセット386が複数のブロックに適用されてよい。パラメータ・ブロックの残りのフィールドは、1つの例では、デフレート変換呼び出し命令の特定の実行によって処理されている個別の圧縮データ・ブロックのみに適用される。
・個別のチェック値が、例えば、圧縮データ・セットによって表された圧縮されていないデータのすべてに適用される。
・ブロック1には、第1の圧縮データ・シンボルに関して参照する履歴が存在しない。ブロック1内のその後のシンボルは、以前にブロック1に出現したシンボルに対応する履歴を参照してよい。ブロック2内のシンボルは、以前にブロック2および1に出現したシンボルに対応する履歴を参照してよい。ブロック3内のシンボルは、以前にブロック3、2、および1に出現したシンボルに対応する履歴を参照してよい。
1.最後のブロックの指示(BFINAL)。
2.ブロック・タイプ(BTYPE)。
3.適用可能な場合、動的ハフマン・テーブルの圧縮形式。
4.圧縮データ・シンボル。
5.ブロック終結(EOB)シンボル。
・動作を再開するために命令が再実行されており(命令の実行の開始時にパラメータ・ブロックのCFフィールド373が1であり)、第2のオペランドを参照せずに、パラメータ・ブロックのCSBフィールド392を参照して、動作を完了させることができる。
・空の圧縮データ・ブロックを生成する。空の圧縮データ・ブロックは、例えばブロック・ヘッダー、適用可能な場合、圧縮形式のDHT、およびEOBシンボルで構成される。
・開いている圧縮データ・ブロックを閉じる。すなわち、単にEOBシンボルを圧縮データ・ブロックの末尾に格納する。
・新しいタスク(NT)374が1である場合、参照できる初期履歴が存在しない。
・NTが0であり、汎用レジスタ0のビット56(HBT)が0(直列)である場合、参照できる初期履歴が、第2のオペランドの左端のバイトの左に隣接して存在し、初期履歴の長さが、パラメータ・ブロックの履歴長(HL)フィールド385によって指定される。
・NTが0であり、汎用レジスタ0のビット56(HBT)が1(円形)である場合、参照できる初期履歴が、パラメータ・ブロックの履歴オフセット(HO)386フィールドおよび履歴長(HL)385フィールドによって指定された第3のオペランドの位置に存在する。
・HBTが直列である場合、履歴が更新されるときに、第2のオペランドの位置に対するストレージの更新が不要である。更新された第2のオペランド・アドレスおよび更新されたHLは、得られた履歴の更新された位置および更新された長さを指定する。
・HBTが円形である場合、履歴が更新されるときに、第3のオペランドの位置に対するストレージの更新が実行される。第3のオペランド・アドレス、更新されたHO、および更新されたHLは、得られた履歴の更新された位置および更新された長さを指定する。
・第3のオペランドの位置のバイトの範囲への格納が行われる。このバイトの範囲は、例えば次式によって指定された位置から開始し、この位置を含む。
ここで、
ここで、
・ストレージ位置の内容を変更しない、必要ではない格納が、前述した範囲に含まれない第3のオペランドの位置のバイトに対して行われてよい。そのような位置への格納も、格納タイプ・アクセス例外、PERストレージ変更イベント、および設定変更ビットの対象になる。
・モデルに依存する値が、パラメータ・ブロックのモデル・バージョン番号(MVN)フィールド363に格納される。
・パラメータ・ブロックのサブバイト境界(SBB)フィールド381が更新される。
・パラメータ・ブロックのブロック終結の長さ(EOBL)389フィールドおよびブロック終結シンボル(EOBS)388フィールドが更新される。
・汎用レジスタR1内のアドレスが、ビット0の処理を含んでいる第1のオペランドの処理されたバイト数だけインクリメントされ、汎用レジスタR1+1内の長さが同じ数だけデクリメントされる。ビット0の処理を含んでいる第1のオペランドの処理されたバイト数は、整数除算から得られた整数化した商であり、被除数は、処理された出力ビット数およびSBBの元の値の和であり、除数は8の値である。
・汎用レジスタR2内のアドレスが、処理されたソース・バイト数だけインクリメントされ、汎用レジスタR2+1内の長さが同じ数だけデクリメントされる。
・新しいタスク(NT)374が1である場合、参照できる初期履歴が存在しない。
・NTが0であり、汎用レジスタ0のビット56(HBT)が0(直列)である場合、参照できる初期履歴が、第1のオペランドの左端のバイトの左に隣接して存在し、初期履歴の長さが、パラメータ・ブロックの履歴長(HL)フィールド385によって指定される。
・NTが0であり、汎用レジスタ0のビット56(HBT)が1(円形)である場合、参照できる初期履歴が、パラメータ・ブロックの履歴オフセット(HO)386フィールドおよび履歴長(HL)385フィールドによって指定された第3のオペランドの位置に存在する。
・HBTが直列である場合、第1のオペランドの位置に対するストレージの更新が、得られた履歴に対する更新も構成する。更新された第1のオペランド・アドレスおよび更新されたHLは、得られた履歴の更新された位置および更新された長さを指定する。
・HBTが円形である場合、履歴が更新されるときに、第3のオペランドの位置に対するストレージの更新が実行される。第3のオペランド・アドレス、更新されたHO、および更新されたHLは、得られた履歴の更新された位置および更新された長さを指定する。
・第3のオペランドの位置のバイトの範囲への格納が行われる。このバイトの範囲は、次式によって指定された位置から開始し、この位置を含む。
ここで、
ここで、
・ストレージ位置の内容を変更しない、必要ではない格納が、前述した範囲に含まれない第3のオペランドの位置のバイトに対して行われてよい。そのような位置への格納も、格納タイプ・アクセス例外、PERストレージ変更イベント、および設定変更ビットの対象になる。
・モデルに依存する値が、パラメータ・ブロックのモデル・バージョン番号(MVN)フィールド363に格納される。
・パラメータ・ブロックのサブバイト境界(SBB)フィールド381が更新される。
・汎用レジスタR1内のアドレスが、第1のオペランドの位置に格納されたバイト数だけインクリメントされ、汎用レジスタR1+1内の長さが同じ数だけデクリメントされる。
・汎用レジスタR2内のアドレスが、ビット0の処理を含んでいる第2のオペランドの処理されたバイト数だけインクリメントされ、汎用レジスタR2+1内の長さが同じ数だけデクリメントされる。ビット0の処理を含んでいる第2のオペランドの処理されたバイト数は、整数除算から得られた整数化した商であり、被除数は、処理された入力ビット数およびSBBの元の値の和であり、除数は8の値である。
・命令が再実行されており(例えば、命令の実行の開始時にパラメータ・ブロックのCFフィールド373が1であり)、命令が前に実行されたときに、第2のオペランド全体が処理された。
・ブロック・ヘッダー。
・ブロック・タイプが2進数00であるブロックのLENフィールド。
・ブロック・タイプが2進数00であるブロックのNLENフィールド。
・動的ハフマン・テーブルの圧縮形式。
・ブロック終結(EOB)シンボル。
・パラメータ・ブロック・バージョン番号362によって指定されたパラメータ・ブロックの形式が、モデルによってサポートされない。
・パラメータ・ブロック・バージョン番号362によって指定されたパラメータ・ブロックの形式が、モデルによってサポートされない。
・NT374が0であり、HL385が例えば32,768より大きい。
・HTT376が1であり、CDHTL366が、例えば42未満であるか、または例えば2283より大きい。
・HTT376が1であり、CDHTL366が、CDHTフィールド367で指定された圧縮形式のDHTの長さに等しくない。
・HTT376が1であり、圧縮形式のDHTのHLIT部分要素が例えば29より大きい(無効なDHT)。
・HTT376が1であり、圧縮形式のDHTのHDIST部分要素が例えば29より大きい(無効なDHT)。
・HTT376が1であり、DHT(CDHTフィールド367の内容)の圧縮形式が、圧縮されたDHTに対して定義された可能な例えば19個のコード長のビット長を指定するコードのシーケンス内にある、機能するハフマン・ツリーを指定するためにハフマン・アルゴリズムによって必要とされる長さより小さいコードを指定する(無効なDHT)。
・HTT376が1であり、DHT(CDHTフィールド367の内容)の圧縮形式が、リテラル・バイト、EOBシンボル、および重複列の長さで構成されている要素のセットの第1のコード長として例えばコード長16(前のコード長のコピー)を指定する(無効なDHT)。
・HTT376が1であり、DHT(CDHTフィールド367の内容)の圧縮形式が、リテラル・バイトのコード長を指定するコードのシーケンス内にあるコードを指定し、このコードが、圧縮されたDHT内で前に指定された、参照されるコード長のセットを表すために決定されたコードのいずれにも一致しない(無効なDHT)。
・HTT376が1であり、DHT(CDHTフィールド367の内容)の圧縮形式が、コード長0(CL0)をEOBシンボルに割り当てるコードを指定する。この場合、対応するDHTが、EOBシンボルを表すためのハフマン・コードを指定しない(無効なDHT)。
・HTT376が1であり、DHT(CDHTフィールド367の内容)の圧縮形式が、重複列の長さおよびポインタ距離のコード長を指定するコードのシーケンス内にあるコードを指定し、このコードが、圧縮されたDHT内で前に指定された、参照されるコード長のセットを表すために決定されたコードのいずれにも一致しない(無効なDHT)。
・HTT376が1であり、DHT(CDHTフィールド367の内容)の圧縮形式が、HLITフィールド、HDISTフィールド、および例えば258の値の和によって指定された、DHT内のハフマン・コードの数より大きいコード長の数を指定する。これは、例えば、コード長16、17、および18の不適切な使用を伴っている可能性がある(無効なDHT)。
・HTT376が1であり、DHT(CDHTフィールド367の内容)の圧縮形式が、リテラル・バイト、EOBシンボル、および重複列の長さのセットに対して、機能するハフマン・ツリーを指定するためにハフマン・アルゴリズムによって必要とされる長さより小さいコード長を指定する(無効なDHT)。
・HTT376が1であり、DHT(CDHTフィールド367の内容)の圧縮形式が、重複列のポインタ距離のセットに対して、機能するハフマン・ツリーを指定するためにハフマン・アルゴリズムによって必要とされる長さより小さいコード長を指定する(無効なDHT)。
・CPUが、第2のオペランド内のリテラル・バイトを表すために圧縮データ・シンボルを生成しようとし、CDHTフィールドの内容から導出されたDHTが非汎用であり、そのリテラル・バイトに対応するハフマン・コードを指定しない。
・CPUが、第2のオペランド内の重複列を表すために圧縮データ・シンボルを生成しようとし、CDHTフィールドの内容から導出されたDHTが非汎用であり、その重複列の長さまたはポインタ距離に対応するハフマン・コードを指定しない。
・パラメータ・ブロック・バージョン番号362によって指定されたパラメータ・ブロックの形式が、モデルによってサポートされない。
・NT374が0であり、HL385が例えば32,768より大きい。
・BTYPEが2進数11に等しい圧縮データ・ブロックが発生する。
・BTYPEが2進数00に等しい圧縮データ・ブロック、およびLENの1の補数に等しくないNLENが発生する。
・圧縮形式のDHT(BTYPEが2進数10に等しい圧縮データ・ブロックの内容)が発生し、圧縮されたDHTのHLIT部分要素が例えば29より大きい(無効なDHT)。
・圧縮形式のDHT(BTYPEが2進数10に等しい圧縮データ・ブロックの内容)が発生し、圧縮されたDHTのHDIST部分要素が例えば29より大きい(無効なDHT)。
・圧縮形式のDHT(BTYPEが2進数10に等しい圧縮データ・ブロックの内容)が発生し、このDHTが、圧縮されたDHTに対して定義された可能な例えば19個のコード長のビット長を指定するコードのシーケンス内にある、機能するハフマン・ツリーを指定するためにハフマン・アルゴリズムによって必要とされる長さより小さいコードを指定する(無効なDHT)。
・圧縮形式のDHT(BTYPEが2進数10に等しい圧縮データ・ブロックの内容)が発生し、このDHTが、リテラル・バイト、EOBシンボル、および重複列の長さで構成されている要素のセットの第1のコード長として例えばコード長16(前のコード長のコピー)を指定する(無効なDHT)。
・圧縮形式のDHT(BTYPEが2進数10に等しい圧縮データ・ブロックの内容)が発生し、このDHTが、リテラル・バイトのコード長を指定するコードのシーケンス内にあるコードを指定し、このコードが、圧縮されたDHT内で前に指定された、参照されるコード長のセットを表すために決定されたコードのいずれにも一致しない(無効なDHT)。
・圧縮形式のDHT(BTYPEが2進数10に等しい圧縮データ・ブロックの内容)が発生し、このDHTが、コード長0(CL0)をEOBシンボルに割り当てるコードを指定する。この場合、対応するDHTが、EOBシンボルを表すためのハフマン・コードを指定しない(無効なDHT)。
・圧縮形式のDHT(BTYPEが2進数10に等しい圧縮データ・ブロックの内容)が発生し、このDHTが、重複列の長さおよびポインタ距離のコード長を指定するコードのシーケンス内にあるコードを指定し、このコードが、圧縮されたDHT内で前に指定された、参照されるコード長のセットを表すために決定されたコードのいずれにも一致しない(無効なDHT)。
・圧縮形式のDHT(BTYPEが2進数10に等しい圧縮データ・ブロックの内容)が発生し、このDHTが、HLITフィールド、HDISTフィールド、および例えば258の値の和によって指定された、DHT内のハフマン・コードの数より大きいコード長の数を指定する。これは、例えば、コード長16、17、および18の不適切な使用を伴っている可能性がある(無効なDHT)。
・圧縮形式のDHT(BTYPEが2進数10に等しい圧縮データ・ブロックの内容)が発生し、このDHTが、リテラル・バイト、EOBシンボル、および重複列の長さのセットに対して、機能するハフマン・ツリーを指定するためにハフマン・アルゴリズムによって必要とされる長さより小さいコード長を指定する(無効なDHT)。
・圧縮形式のDHT(BTYPEが2進数10に等しい圧縮データ・ブロックの内容)が発生し、このDHTが、重複列のポインタ距離のセットに対して、機能するハフマン・ツリーを指定するためにハフマン・アルゴリズムによって必要とされる長さより小さいコード長を指定する(無効なDHT)。
・BTYPEが2進数10に等しい圧縮データ・ブロックに出現する圧縮データ・シンボルが、同じブロック内の圧縮形式のDHTから導出された非汎用DHTによって定義されていないハフマン・コードを指定する。この場合、一般オペランド・データ例外を認識する目的で処理するために使用できる第2のオペランドのビット数は、モデルに依存する。より詳細には、定義されていないコードをデコードしようとするモデルは、より少ないビットを処理した後に例外を決定できたとしても、例外を認識する前に、例えば15ビットを処理してよい。
・重複列のポインタであり、シンボルを処理する時点で使用可能な履歴の長さより大きい距離を指定する圧縮データ・シンボルが発生する。
・BTYPEが2進数01に等しい圧縮データ・ブロックに出現する圧縮データ・シンボルが、無効なコード(例えば、重複列の長さの場合は2進数11000110または11000111のコード、あるいは重複列のポインタ距離の場合は2進数11110または11111のコード)を指定する。この場合、一般オペランド・データ例外を認識する目的で処理するために使用できる第2のオペランドのビット数は、モデルに依存する。より詳細には、無効なコードをデコードしようとするモデルは、より少ないビットを処理した後に例外を決定できたとしても、例外を認識する前に、例えば、重複列の長さの場合は8ビット、または重複列のポインタ距離の場合は5ビットを処理してよい。
・パラメータ・ブロックが第1のまたは第2のオペランドと重なる。
・第1のオペランドが第2のオペランドと重なる。
・指定された履歴バッファ・タイプ(HBT)が円形であり、第3のオペランドが、第1のオペランド、第2のオペランド、またはパラメータ・ブロックと重なる。
・指定された履歴バッファ・タイプ(HBT)が直列であり、DFLTCC-CMPR機能が指定され、履歴が、第1のオペランドまたはパラメータ・ブロックと重なる。
・指定された履歴バッファ・タイプ(HBT)が直列であり、DFLTCC-XPND機能が指定され、履歴が、第2のオペランドまたはパラメータ・ブロックと重なる。
・アクセス(フェッチ、オペランド2、直列履歴、フェッチおよび格納、パラメータ・ブロック、オペランド1、オペランド3)
・DXC0を含むデータ、一般オペランド
・演算(デフレート変換機能がインストールされていない場合)
・指定
・トランザクション制約
1.データを圧縮または復元するときに、デフレート変換呼び出し命令が実行される回数を最小限に抑えて動作が実行された場合に、全体的な効率が高くなることがある。言い換えると、大きいオペランドを使用してDFLTCCを実行することは、小さいオペランドを使用して複数回DFLTCCを実行することよりも効率的であることがある。
2.圧縮動作および復元動作で、条件コード3が設定された場合、プログラムが命令に分岐して戻り、動作を続行できるように、命令によって使用される汎用レジスタおよびパラメータ・ブロックが更新されている。
3.1つの実施形態では、命令のパラメータによって指定された処理の、CPUによって決定された下位部分を実行した後に、デフレート変換呼び出し命令が完了してよい。指定されたすべての処理の代わりに、CPUによって決定された量の処理のみを実行した後に命令が完了した場合、命令が条件コード3を設定する。そのような完了時に、命令に分岐して戻り、命令を再実行することによって命令の処理を再開できるように、PSW(program status word:プログラム状態ワード)内の命令アドレスが次の順次命令を指定し、命令のオペランド・パラメータが調整されている。命令は、指定されたすべての処理を実行したときに、3以外の条件コードを設定する。
4.DFLTCC-CMPR機能が指定され、パラメータ・ブロックのサブバイト境界(SBB)フィールド内の0以外の値と共に動作が終了した場合、動作は、得られた第1のオペランド・アドレスによって指定されたバイトに格納することを含んでいた。DFLTCC-XPND機能が指定され、SBB内の0以外の値と共に動作が終了した場合、動作は、得られた第2のオペランド・アドレスによって指定されたバイトをフェッチすることを含んでいた。
5.0以外の条件コードが設定されて動作が終了した場合、パラメータ・ブロックのCSBフィールド392が、部分的に処理されたデータを含んでよく、プログラムが命令を再実行して動作を再開することが期待される。
6.0以外の条件コードが設定されて動作が終了した後に、動作を再開する目的で命令を再実行する前に、プログラムはパラメータ・ブロックのどのフィールドも変更するべきではなく、そうでない場合、結果が予測不可能になる。
7.DFLTCC-GDHT機能が指定された場合、生成されたDHTの圧縮表現が、ハフマン・アルゴリズムに従って、3つの正しい完全なハフマン・コード・ツリーを表す。すなわち、不完全なハフマン・コード・ツリーは表されない。不完全なハフマン・コード・ツリーは、適切な機能するハフマン・ツリーを指定するためにハフマン・アルゴリズムによって必要とされる長さより大きい要素のコード長を指定するDHTの圧縮表現から導出される。
8.条件コード1が設定されてDFLTCC-CMPR機能が終了した場合、パラメータ・ブロックのサブバイト境界(SBB)フィールド381に格納された結果は、2進数000である。このシナリオを認識することは、デフレート変換呼び出し命令で使用するための出力バッファを割り当てるプログラムに関連することがある。
Claims (25)
- 第1の世代のマシンおよび第2の世代のマシンを含んでいる複数のマシンを備えているシステムであって、前記複数のマシンの各々がマシン・バージョンを含んでおり、前記第1の世代のマシンが第1の仮想マシンおよび仮想アーキテクチャ・レベルを実行し、前記第2の世代のマシンが第2の仮想マシンおよび前記仮想アーキテクチャ・レベルを実行し、
前記仮想アーキテクチャ・レベルが、複合体の割り込み可能命令の互換性レベルを前記第1および第2の仮想マシンに提供し、前記互換性レベルが、前記複数のマシン全体の最小公分母のマシン・バージョンのために設計されており、前記互換性レベルが、前記最小公分母のマシン・バージョンを識別する最小公分母インジケータを含んでいる、システム。 - 前記互換性レベルが、前記複数のマシンごとの、前記複合体の割り込み可能命令のためのローカルなパラメータ・ブロック形式を含み、前記ローカルなパラメータ・ブロック形式が、前記複数のマシンの各々のローカルな前記マシン・バージョンのために設計される、請求項1に記載のシステム。
- 前記最小公分母インジケータが、前記複合体の割り込み可能命令を最初に実行するために、前記複数のマシンのうちの1つのマシンによって生成される、請求項1または2に記載のシステム。
- 前記最小公分母インジケータが、前記複合体の割り込み可能命令を最初に実行するための前記複数のマシンのうちの1つのマシンから、前記複数のマシンのうちの残りの複数のマシンに伝搬される、請求項1または2に記載のシステム。
- 前記互換性レベル内の前記最小公分母インジケータが、特定の仮想マシンにおいてどの機能が使用可能であるかを識別する一連の機能ビットによって制御される、請求項1に記載のシステム。
- 前記複合体の割り込み可能命令がデフレート変換呼び出し命令を含む、請求項1ないし5のいずれかに記載のシステム。
- 前記複合体の割り込み可能命令が、アクセラレータ上で実行されている複合体の命令セットの命令を含む、請求項1に記載のシステム。
- 複数のマシンのうちの第1の世代のマシンによって第1の仮想マシンおよび仮想アーキテクチャ・レベルを実行することであって、前記複数のマシンが前記第1の世代のマシンおよび第2の世代のマシンを含み、前記複数のマシンの各々がマシン・バージョンを含む、前記実行することと、
前記第2の世代のマシンによって第2の仮想マシンおよび前記仮想アーキテクチャ・レベルを実行することと、
前記仮想アーキテクチャ・レベルによって、複合体の割り込み可能命令の互換性レベルを前記第1および第2の仮想マシンに提供することとを含んでいる方法であって、前記互換性レベルが、前記複数のマシン全体の最小公分母のマシン・バージョンのために設計されており、前記互換性レベルが、前記最小公分母のマシン・バージョンを識別する最小公分母インジケータを含んでいる、方法。 - 前記互換性レベルが、前記複数のマシンごとの、前記複合体の割り込み可能命令のためのローカルなパラメータ・ブロック形式を含み、前記ローカルなパラメータ・ブロック形式が、前記複数のマシンの各々のローカルな前記マシン・バージョンのために設計される、請求項8に記載の方法。
- 前記最小公分母インジケータが、前記複合体の割り込み可能命令を最初に実行するために、前記複数のマシンのうちの1つのマシンによって生成される、請求項8に記載の方法。
- 前記最小公分母インジケータが、前記複合体の割り込み可能命令を最初に実行するための前記複数のマシンのうちの1つのマシンから、前記複数のマシンのうちの残りの複数のマシンに伝搬される、請求項8に記載の方法。
- 前記互換性レベル内の前記最小公分母インジケータが、特定の仮想マシンにおいてどの機能が使用可能であるかを識別する一連の機能ビットによって制御される、請求項8に記載の方法。
- 前記複合体の割り込み可能命令がデフレート変換呼び出し命令を含む、請求項8に記載の方法。
- 前記複合体の割り込み可能命令が、アクセラレータ上で実行されている複合体の命令セットの命令を含む、請求項8に記載の方法。
- プログラム命令が具現化されているコンピュータ可読ストレージ媒体を備えているコンピュータ・プログラム製品であって、前記プログラム命令が、
複数のマシンのうちの第1の世代のマシンによって第1の仮想マシンおよび仮想アーキテクチャ・レベルを実行することであって、前記複数のマシンが第1の世代のマシンおよび第2の世代のマシンを含み、前記複数のマシンの各々がマシン・バージョンを含む、前記実行することと、
前記第2の世代のマシンによって第2の仮想マシンおよび前記仮想アーキテクチャ・レベルを実行することと、
前記仮想アーキテクチャ・レベルによって、複合体の割り込み可能命令の互換性レベルを前記第1および第2の仮想マシンに提供することとを含んでいる動作を引き起こすように実行可能であり、前記互換性レベルが、前記複数のマシン全体の最小公分母のマシン・バージョンのために設計されており、前記互換性レベルが、前記最小公分母のマシン・バージョンを識別する最小公分母インジケータを含んでいる、コンピュータ・プログラム製品。 - 前記互換性レベルが、前記複数のマシンごとの、前記複合体の割り込み可能命令のためのローカルなパラメータ・ブロック形式を含み、前記ローカルなパラメータ・ブロック形式が、前記複数のマシンの各々のローカルな前記マシン・バージョンのために設計される、請求項15に記載のコンピュータ・プログラム製品。
- 前記最小公分母インジケータが、前記複合体の割り込み可能命令を最初に実行するために、前記複数のマシンのうちの1つのマシンによって生成される、請求項15に記載のコンピュータ・プログラム製品。
- 前記最小公分母インジケータが、前記複合体の割り込み可能命令を最初に実行するための前記複数のマシンのうちの1つのマシンから、前記複数のマシンのうちの残りの複数のマシンに伝搬される、請求項15に記載のコンピュータ・プログラム製品。
- 前記互換性レベル内の前記最小公分母インジケータが、特定の仮想マシンにおいてどの機能が使用可能であるかを識別する一連の機能ビットによって制御される、請求項15に記載のコンピュータ・プログラム製品。
- 前記複合体の割り込み可能命令がデフレート変換呼び出し命令を含む、請求項15に記載のコンピュータ・プログラム製品。
- 前記複合体の割り込み可能命令が、アクセラレータ上で実行されている複合体の命令セットの命令を含む、請求項15に記載のコンピュータ・プログラム製品。
- 第1のマシンによって複合体の割り込み可能命令を実装することと、
仮想アーキテクチャ・レベルにおいて、前記第1のマシンのパラメータ・ブロックが前記複合体の割り込み可能命令のためにサポートされるということを示すことと、
前記第1のマシンの前記パラメータ・ブロックを、複合体内で実行されている各仮想マシンに伝搬することとを含む、方法。 - 新しいマシンがオンラインであることを検出することと、
前記第1のマシンの前記パラメータ・ブロックを前記複合体のマシン・バージョン全体の最小公分母として識別することと、
前記第1のマシンの前記パラメータ・ブロックを前記新しいマシンに伝搬することとをさらに含む、請求項22に記載の方法。 - プログラム命令が具現化されているコンピュータ可読ストレージ媒体を備えているコンピュータ・プログラム製品であって、前記プログラム命令が、
第1のマシンによって複合体の割り込み可能命令を実装することと、
仮想アーキテクチャ・レベルにおいて、前記第1のマシンのパラメータ・ブロックが前記複合体の割り込み可能命令のためにサポートされるということを示すことと、
前記第1のマシンの前記パラメータ・ブロックを、複合体内で実行されている各仮想マシンに伝搬することとを含んでいる動作を引き起こすように実行可能である、コンピュータ・プログラム製品。 - 前記プログラム命令が、
新しいマシンがオンラインであることを検出することと、
前記第1のマシンの前記パラメータ・ブロックを前記複合体のマシン・バージョン全体の最小公分母として識別することと、
前記第1のマシンの前記パラメータ・ブロックを前記新しいマシンに伝搬することとを含んでいる動作を引き起こすようにさらに実行可能である、請求項24に記載のコンピュータ・プログラム製品。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/286,990 US11226839B2 (en) | 2019-02-27 | 2019-02-27 | Maintaining compatibility for complex functions over multiple machine generations |
US16/286,990 | 2019-02-27 | ||
PCT/EP2020/054518 WO2020173808A1 (en) | 2019-02-27 | 2020-02-20 | Maintaining compatibility for complex functions over multiple machine generations |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2022522113A true JP2022522113A (ja) | 2022-04-14 |
JPWO2020173808A5 JPWO2020173808A5 (ja) | 2022-06-07 |
JP7430195B2 JP7430195B2 (ja) | 2024-02-09 |
Family
ID=69701172
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021547172A Active JP7430195B2 (ja) | 2019-02-27 | 2020-02-20 | 複数のマシン世代にわたる複合体の機能の互換性の維持 |
Country Status (10)
Country | Link |
---|---|
US (1) | US11226839B2 (ja) |
EP (1) | EP3931693B1 (ja) |
JP (1) | JP7430195B2 (ja) |
KR (1) | KR20210118094A (ja) |
CN (1) | CN113454593A (ja) |
ES (1) | ES2963352T3 (ja) |
HU (1) | HUE063682T2 (ja) |
PL (1) | PL3931693T3 (ja) |
SG (1) | SG11202105494SA (ja) |
WO (1) | WO2020173808A1 (ja) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08509830A (ja) * | 1993-05-05 | 1996-10-15 | アップル コンピューター インコーポレーテッド | コンピュータシステム中にある複数のモジュラーコンポーネント間に互換性如何を確認する方法ならびに装置 |
JP2013534668A (ja) * | 2010-06-24 | 2013-09-05 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 多機能命令のうちの選択されたインストール済み機能を隠蔽するためのコンピュータで実装される方法、コンピュータ・システム、およびコンピュータ・プログラム |
JP2014182810A (ja) * | 2013-03-15 | 2014-09-29 | Intel Corp | デフレート圧縮のために高速で高圧縮のlz77トークン化及びハフマンエンコーディングを行う並列装置 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5701442A (en) | 1995-09-19 | 1997-12-23 | Intel Corporation | Method of modifying an instruction set architecture of a computer processor to maintain backward compatibility |
US7882121B2 (en) * | 2006-01-27 | 2011-02-01 | Microsoft Corporation | Generating queries using cardinality constraints |
US7802252B2 (en) | 2007-01-09 | 2010-09-21 | International Business Machines Corporation | Method and apparatus for selecting the architecture level to which a processor appears to conform |
US8127296B2 (en) | 2007-09-06 | 2012-02-28 | Dell Products L.P. | Virtual machine migration between processors having VM migration registers controlled by firmware to modify the reporting of common processor feature sets to support the migration |
US10521231B2 (en) | 2010-06-24 | 2019-12-31 | International Business Machines Corporation | Function virtualization facility for blocking instruction function of a multi-function instruction of a virtual processor |
US8701109B1 (en) | 2012-02-06 | 2014-04-15 | Amazon Technologies, Inc. | Immortal instance type |
US10083027B2 (en) * | 2013-03-14 | 2018-09-25 | Solano Labs, Inc. | Systems and methods for managing software development environments |
US9374106B2 (en) | 2013-08-28 | 2016-06-21 | International Business Machines Corporation | Efficient context save/restore during hardware decompression of DEFLATE encoded data |
US9916185B2 (en) * | 2014-03-18 | 2018-03-13 | International Business Machines Corporation | Managing processing associated with selected architectural facilities |
US10560520B2 (en) | 2016-05-20 | 2020-02-11 | Sap Se | Compatibility framework for cloud and on-premise application integration |
US10630312B1 (en) * | 2019-01-31 | 2020-04-21 | International Business Machines Corporation | General-purpose processor instruction to perform compression/decompression operations |
-
2019
- 2019-02-27 US US16/286,990 patent/US11226839B2/en active Active
-
2020
- 2020-02-20 WO PCT/EP2020/054518 patent/WO2020173808A1/en unknown
- 2020-02-20 JP JP2021547172A patent/JP7430195B2/ja active Active
- 2020-02-20 SG SG11202105494SA patent/SG11202105494SA/en unknown
- 2020-02-20 KR KR1020217024766A patent/KR20210118094A/ko not_active Application Discontinuation
- 2020-02-20 PL PL20707213.3T patent/PL3931693T3/pl unknown
- 2020-02-20 HU HUE20707213A patent/HUE063682T2/hu unknown
- 2020-02-20 EP EP20707213.3A patent/EP3931693B1/en active Active
- 2020-02-20 CN CN202080015707.3A patent/CN113454593A/zh active Pending
- 2020-02-20 ES ES20707213T patent/ES2963352T3/es active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08509830A (ja) * | 1993-05-05 | 1996-10-15 | アップル コンピューター インコーポレーテッド | コンピュータシステム中にある複数のモジュラーコンポーネント間に互換性如何を確認する方法ならびに装置 |
JP2013534668A (ja) * | 2010-06-24 | 2013-09-05 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 多機能命令のうちの選択されたインストール済み機能を隠蔽するためのコンピュータで実装される方法、コンピュータ・システム、およびコンピュータ・プログラム |
JP2014182810A (ja) * | 2013-03-15 | 2014-09-29 | Intel Corp | デフレート圧縮のために高速で高圧縮のlz77トークン化及びハフマンエンコーディングを行う並列装置 |
Also Published As
Publication number | Publication date |
---|---|
PL3931693T3 (pl) | 2024-02-12 |
EP3931693B1 (en) | 2023-10-11 |
WO2020173808A1 (en) | 2020-09-03 |
CN113454593A (zh) | 2021-09-28 |
EP3931693C0 (en) | 2023-10-11 |
HUE063682T2 (hu) | 2024-01-28 |
US11226839B2 (en) | 2022-01-18 |
US20200272491A1 (en) | 2020-08-27 |
JP7430195B2 (ja) | 2024-02-09 |
KR20210118094A (ko) | 2021-09-29 |
EP3931693A1 (en) | 2022-01-05 |
ES2963352T3 (es) | 2024-03-26 |
SG11202105494SA (en) | 2021-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7442529B2 (ja) | データの圧縮/解凍で使用する履歴バッファを指定する圧縮/解凍命令 | |
JP7442526B2 (ja) | 圧縮/解凍オペレーションを実行するための汎用プロセッサ命令 | |
US10698854B1 (en) | Secure and efficient application data processing | |
JP7481073B2 (ja) | メモリ境界の収容のためのオーバーフロー管理方法、システム、プログラム | |
US11119928B2 (en) | Instant quiescing of an accelerator | |
US11487547B2 (en) | Extended asynchronous data mover functions compatibility indication | |
US11449367B2 (en) | Functional completion when retrying a non-interruptible instruction in a bi-modal execution environment | |
JP7430195B2 (ja) | 複数のマシン世代にわたる複合体の機能の互換性の維持 | |
US11093133B2 (en) | Compression measurement for computer servers |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20220512 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220527 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220725 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20230428 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230509 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230803 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20231010 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20240109 |
|
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: 20240116 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20240130 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7430195 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |