JP6807383B2 - 転送プレフィックス命令 - Google Patents
転送プレフィックス命令 Download PDFInfo
- Publication number
- JP6807383B2 JP6807383B2 JP2018517732A JP2018517732A JP6807383B2 JP 6807383 B2 JP6807383 B2 JP 6807383B2 JP 2018517732 A JP2018517732 A JP 2018517732A JP 2018517732 A JP2018517732 A JP 2018517732A JP 6807383 B2 JP6807383 B2 JP 6807383B2
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- transfer
- register
- prefix
- processing
- 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
- 238000012546 transfer Methods 0.000 title claims description 417
- 238000012545 processing Methods 0.000 claims description 201
- 230000010354 integration Effects 0.000 claims description 87
- 239000013598 vector Substances 0.000 claims description 37
- 230000001066 destructive effect Effects 0.000 claims description 33
- 230000004044 response Effects 0.000 claims description 13
- 230000001960 triggered effect Effects 0.000 claims description 6
- 238000003672 processing method Methods 0.000 claims description 4
- 238000004590 computer program Methods 0.000 claims description 2
- 238000000034 method Methods 0.000 description 17
- 238000007667 floating Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 6
- 238000013459 approach Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 238000013507 mapping Methods 0.000 description 4
- 230000006399 behavior Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 102100026693 FAS-associated death domain protein Human genes 0.000 description 2
- 101000911074 Homo sapiens FAS-associated death domain protein Proteins 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000002547 anomalous effect Effects 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 238000005206 flow analysis Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000000155 melt Substances 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 230000003068 static effect Effects 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/30181—Instruction operation extension or modification
- G06F9/30185—Instruction operation extension or modification according to one or more bits in the instruction, e.g. prefix, sub-opcode
-
- 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/3853—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution of compound 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/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30032—Movement instructions, e.g. MOVE, SHIFT, ROTATE, SHUFFLE
-
- 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/30072—Arrangements for executing specific machine instructions to perform conditional operations, e.g. using predicates or guards
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
- G06F9/3012—Organisation of register space, e.g. banked or distributed register file
- G06F9/30123—Organisation of register space, e.g. banked or distributed register file according to context, e.g. thread buffers
-
- 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/30145—Instruction analysis, e.g. decoding, instruction word fields
- G06F9/3016—Decoding the operand specifier, e.g. specifier format
-
- 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/3017—Runtime instruction translation, e.g. macros
-
- 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/30181—Instruction operation extension or modification
-
- 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
-
- 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)
Description
命令に応答してデータ処理を実行する処理回路と、
転送プレフィックス命令と、データストアからフェッチされる直後の命令とを統合して、処理回路によって処理される統合データ処理命令を生成する命令統合回路とを備える装置であって、
転送プレフィックス命令は、転送先レジスタと、転送先レジスタに少なくとも部分的にコピーされるべきデータ値を指定する転送元レジスタとを特定し、
上記転送プレフィックス命令を検出することに応答して、命令統合回路は、転送プレフィックス命令の転送先レジスタが、上記直後の命令によって指定される任意のレジスタと同じレジスタであるか否かとは無関係に、上記転送プレフィックス命令および上記直後の命令を統合するべきか否かを決定するように構成されている、装置を提供する。
データ処理方法であって、
処理回路によって処理するための、データストアからフェッチされる命令の中から、転送先レジスタと、転送先レジスタに少なくとも部分的にコピーされるべきデータ値を指定する転送元レジスタとを特定する転送プレフィックス命令を検出するステップと、
処理回路によって処理されるべき統合データ処理命令を生成するために、転送プレフィックス命令を直後の命令と統合すべきか否かを決定するステップとを含み、
転送プレフィックス命令が検出されるとき、決定するステップは、転送プレフィックス命令の転送先レジスタが、上記直後の命令によって指定される任意のレジスタと同じレジスタであるか否かとは無関係に、上記転送プレフィックス命令および上記直後の命令を統合するべきか否かを決定することを含む、データ処理方法を提供する。
命令に応答してデータ処理を実行するための手段と、
転送プレフィックス命令と、データストアからフェッチされる直後の命令とを統合して、処理回路によって処理される統合データ処理命令を生成するための手段とを備える装置であって、
転送プレフィックス命令は、転送先レジスタと、転送先レジスタに少なくとも部分的にコピーされるべきデータ値を指定する転送元レジスタとを特定し、
上記転送プレフィックス命令を検出することに応答して、統合するための手段は、転送プレフィックス命令の転送先レジスタが、上記直後の命令によって指定される任意のレジスタと同じレジスタであるか否かとは無関係に、上記転送プレフィックス命令および上記直後の命令を統合するべきか否かを決定するように構成されている、装置を提供する。
本技術のさらなる態様、特徴および利点は、添付の図面と併せて読まれるべき以下の実施例の説明から明らかになるであろう。
(1)rd=pg?rs1+rs2:0; //ADD Zd.S,Pg/Z,Zs1.S,Zs2.Sに対応する。
ここで、rdは転送先レジスタ、rs1およびrs2は転送元レジスタ、pgはベクトルレジスタのどの要素がアクティブ要素か非アクティブ要素かを識別する述語値であり、アクティブ要素は転送元レジスタにおいて対応する要素の合計rs1+rs2に設定され、rdの非アクティブ要素は0に設定される。
(2)rd=pg?rs1:0; //MOV Zd.S,Pg/Z,Zs1.Sに対応する
rd=pg?rd’+rs2:rd; //ADD Zd.S,Pg/M,Zs2.Sに対応する
(上記のベクトル命令構文では、述語の接尾辞/Zまたは/Mは、ゼロ化予測が使用されるか、または、マージ予測が使用されるかを示す。ゼロ化叙述の場合、結果の非アクティブ要素はゼロに設定され、一方でマージ叙述の場合、非アクティブ要素は転送先レジスタZd.Sの対応する要素に以前に格納されたものと同じ値を保持する)。
・直後の命令がデータ処理命令である(ロード、ストアまたは分岐など何らかの他の命令ではない)
・転送プレフィックス命令および直後の命令が同じ転送先レジスタを指定する(R1=R3)。
・直後の命令が、さらなる転送元オペランドとしてプレフィックス転送先レジスタ(R1)を使用しない。
・転送プレフィックス命令および直後の命令が同じ述語レジスタを指定する(P1=P2)。
・直後の命令が、転送元と転送先の両方として同じレジスタを指定する破壊的命令である。
・後続の命令が、転送先レジスタを転送元オペランドとして使用する破壊的データ処理命令ではない、
・後続の命令が、転送プレフィックス命令と同じ転送先レジスタを指定していない、
・後続の命令は、プレフィックス転送先レジスタをさらなる転送元オペランドとして使用する、または
・後続の命令が、転送プレフィックス命令と同じ述語レジスタを指定しない(転送プレフィックス命令が述語命令である場合)。
Claims (30)
- 命令に応答してデータ処理を実行する処理回路と、
転送プレフィックス命令と、データストアからフェッチされる直後の命令とを統合して、前記処理回路によって処理される統合データ処理命令を生成する命令統合回路と
を備える装置であって、
前記転送プレフィックス命令は、転送先レジスタと、前記転送先レジスタに少なくとも部分的にコピーされるべきデータ値を指定する転送元レジスタとを特定し、
前記転送プレフィックス命令を検出することに応答して、前記命令統合回路は、前記転送プレフィックス命令の前記転送先レジスタが、前記直後の命令によって指定される任意のレジスタと同じレジスタであるか否かとは無関係に、前記転送プレフィックス命令および前記直後の命令を統合するべきか否かを決定するように構成されている、装置。 - 前記転送プレフィックス命令は、前記直後の命令が、所定の処理動作を少なくとも2つの転送元レジスタによって指定される少なくとも2つの転送元値に適用した結果に対応する結果値に転送先レジスタを設定されるべきであり、前記転送先レジスタおよび前記少なくとも2つの転送元レジスタのうちの1つが前記転送プレフィックス命令の前記転送先レジスタと同じである破壊的データ処理命令であると予測されることを示す、請求項1に記載の装置。
- 前記破壊的データ処理命令は、前記転送先レジスタと前記少なくとも2つの転送元レジスタのうちの1つの両方を識別する単一のレジスタ指定子を含む命令符号化を有する、請求項2に記載の装置。
- 前記統合データ処理命令は、前記少なくとも2つのオペランドレジスタによって指定される値に処理動作を適用した結果に対応する結果値に設定されるべき、少なくとも2つのオペランドレジスタおよび結果レジスタを別個に識別する建設的データ処理命令を含む、請求項1〜3のいずれか一項に記載の装置。
- 前記命令統合回路は、前記建設的データ処理命令を生成するように構成され、
前記結果レジスタは、前記転送プレフィックス命令の前記転送先レジスタおよび前記直後の命令の転送先レジスタの一方に対応し、
前記少なくとも2つのオペランドレジスタは、前記転送プレフィックス命令の前記転送元レジスタおよび前記直後の命令の少なくとも1つの転送元レジスタに対応する、請求項4に記載の装置。 - 前記転送プレフィックス命令は、第1のレジスタから第2のレジスタへデータ値をコピーするように前記処理回路を制御するための少なくとも1つの他のタイプの命令とは異なる命令符号化を有する、請求項1〜5のいずれか一項に記載の装置。
- 前記命令統合回路は、前記直後のデータ処理命令が、実行されるべき異なるタイプの処理動作に対応するデータ処理命令のクラスのいずれかである場合に、前記転送プレフィックス命令と前記直後のデータ処理命令とを統合させるように構成されている、請求項1〜6のいずれか一項に記載の装置。
- 前記転送プレフィックス命令を検出したことに応答して、前記命令統合回路は、前記転送プレフィックス命令の前記転送先レジスタが、前記直後のデータ処理命令によって指定される任意のレジスタと同じレジスタであるか否か以外の少なくとも1つの基準に応じて、前記転送プレフィックス命令と前記直後の命令とを統合するべきか否かを決定するように構成されている、請求項1〜7のいずれか一項に記載の装置。
- 前記少なくとも1つの基準は、
前記直後の命令が、少なくとも2つの転送元値に対して所与の処理動作を実行するように前記処理回路を制御するデータ処理命令である場合、どのタイプの処理動作が前記直後の命令に対する前記所与の処理動作であるか、
前記転送プレフィックス命令と前記直後の命令とが異なるキャッシュラインに保持されているか否か、および
前記転送プレフィックス命令と前記直後の命令とがアドレス空間の異なるページに対応するか否か
のうちの少なくとも1つを含む、請求項8に記載の装置。 - 前記転送プレフィックス命令および前記直後の命令は、単一のデータ要素を含むスカラデータ値を処理するためのスカラ命令を含む、請求項1〜9のいずれか一項に記載の装置。
- 前記転送プレフィックス命令および前記直後の命令は、複数のデータ要素を含むベクトルデータ値を処理するためのベクトル命令を含む、請求項1〜10のいずれか一項に記載の装置。
- 前記直後の命令が、結果値を生成するために少なくとも2つの転送元値に対して所与の処理操作を実行するように前記処理回路を制御するデータ処理命令である場合、前記直後の命令は、前記結果値のいずれのデータ要素が、前記少なくとも2つの転送元値の対応するデータ要素に依存する値に設定されるべきアクティブ要素、または、前記少なくとも2つの転送元値に依存しない値に設定されるべき非アクティブ要素であるかを示す述語値を識別する、請求項11に記載の装置。
- 前記命令統合回路は、前記転送プレフィックス命令が前記直後のデータ処理命令と同じ述語値を識別するか否かとは無関係に、前記転送プレフィックス命令と前記直後の命令とを統合させるべきか否かを判定するように構成されている、請求項12に記載の装置。
- 前記転送プレフィックス命令は、複数のタイプの転送プレフィックス命令のうちの1つを含み、
前記命令統合回路が前記転送プレフィックス命令を前記直後の命令に統合するとき、前記命令統合回路は、どのタイプの転送プレフィックス命令が前記直後の命令と統合されたかに応じて選択される非アクティブレーン処理モードに従って、前記結果値の前記非アクティブ要素を決定するように前記処理回路を制御するための前記統合データ処理命令を生成するように構成されている、請求項12および13のいずれか一項に記載の装置。 - 前記命令統合回路は、前記直後のコードの符号化とは無関係に選択される前記非アクティブレーン処理モードによって前記結果値の前記非アクティブ要素を決定するように前記処理回路を制御するための前記統合データ処理命令を生成するように構成されている、請求項14に記載の装置。
- 前記転送プレフィックス命令が叙述されていないタイプの転送プレフィックス命令である場合、前記命令統合回路は、前記転送元レジスタの対応する要素の値を有する前記結果値の前記非アクティブ要素を決定するように前記処理回路を制御するための前記統合データ処理命令を生成するように構成されている、請求項14および15のいずれか一項に記載の装置。
- 前記転送プレフィックス命令が叙述されていないタイプの転送プレフィックス命令であり、前記命令統合回路が前記転送プレフィックス命令を前記直後の命令と統合させないと判断した場合、前記処理回路は、前記転送元レジスタからのデータ全体を、前記転送先レジスタにコピーする役割を担う、請求項16に記載の装置。
- 前記転送プレフィックス命令がマージタイプの転送プレフィックス命令である場合、前記命令統合回路は、前記転送先レジスタの対応する要素の以前の値に依存する値を有する前記結果値の前記非アクティブ要素を決定するように前記処理回路を制御するための前記統合データ処理命令を生成するように構成されている、請求項14〜17のいずれか一項に記載の装置。
- 前記マージタイプの転送プレフィックス命令は、前記転送先レジスタのどの要素がアクティブ要素または非アクティブ要素かを識別する転送述語値を指定し、
前記転送プレフィックス命令が前記マージタイプの転送プレフィックス命令であり、前記命令統合回路が前記転送プレフィックス命令を前記直後の命令と統合させないと決定した場合、前記処理回路は、前記転送プレフィックス命令に応答して、前記転送先レジスタのアクティブ要素を、前記転送元レジスタの対応する要素の値に設定し、前記転送先レジスタの非アクティブ要素の以前の値を保持する役割を担う、請求項18に記載の装置。 - 前記転送プレフィックス命令がクリアタイプの転送プレフィックス命令である場合、前記命令統合回路は、所定の値にクリアされる値を有する前記結果値の前記非アクティブ要素を決定するように前記処理回路を制御するための前記統合データ処理命令を生成するように構成されている、請求項14〜19のいずれか一項に記載の装置。
- 前記クリアタイプの転送プレフィックス命令は、前記転送先レジスタのどの要素がアクティブ要素または非アクティブ要素かを識別する転送述語値を指定し、
前記転送プレフィックス命令が前記クリアタイプの転送プレフィックス命令であり、前記命令統合回路が前記転送プレフィックス命令を前記直後の命令と統合させないと決定した場合、前記処理回路は、前記転送プレフィックス命令に応答して、前記転送先レジスタのアクティブ要素を、前記転送元レジスタの対応する要素の値に設定し、前記転送先レジスタの非アクティブ要素を前記所定の値にクリアする役割を担う、請求項20に記載の装置。 - 前記処理回路は、統合されていないデータ処理命令の、転送先レジスタおよび転送元レジスタの両方について同じレジスタを識別して、前記同じレジスタの対応する要素の以前の値に応じた値に設定される非アクティブ要素を有する結果値を生成する役割を担う、請求項12〜21のいずれか一項に記載の装置。
- 前記直後の命令または前記統合データ処理命令によってトリガされる停止イベントに応答して、前記処理回路が、前記停止イベントの解決後に処理を再開するための復帰アドレスとして、前記転送プレフィックス命令のアドレスを記録するように構成されている、請求項1〜22のいずれか一項に記載の装置。
- 前記直後の命令または前記統合データ処理命令によってトリガされる停止イベントに応答して、前記処理回路が、前記停止イベントの解決後に処理を再開するための復帰アドレスとして、前記直後の命令のアドレスを記録し、前記転送先レジスタのデータが前記転送プレフィックス命令の実行結果と等価であることを保証するように構成されている、請求項1〜22のいずれか一項に記載の装置。
- 前記直後の命令または前記統合データ処理命令によってトリガされる停止イベントに応答して、前記処理回路が、前記命令統合回路が前記転送プレフィックス命令および前記直後の命令を統合したか否かに応じて、前記停止イベントの解決後に処理を再開するための復帰アドレスとして、前記転送プレフィックス命令のアドレスまたは前記直後の命令のアドレスを記録すべきか否かを選択するように構成されている、請求項1〜22のいずれか一項に記載の装置。
- 前記命令統合回路が前記転送プレフィックス命令と前記直後の命令とを統合したとき、前記処理回路は、前記転送プレフィックス命令の前記アドレスを前記復帰アドレスとして記録するように構成され、前記命令統合回路が前記転送プレフィックス命令と前記直後の命令とを統合させなかったとき、前記処理回路は前記直後の命令の前記アドレスを前記復帰アドレスとして記録するように構成される、請求項25に記載の装置。
- 前記停止事象は、例外事象、
割り込み、および
ブレークポイント
のうちの1つを含む、請求項23〜26のいずれか一項に記載の装置。 - データ処理方法であって、
処理回路によって処理するための、データストアからフェッチされる命令の中から、転送先レジスタと、前記転送先レジスタに少なくとも部分的にコピーされるべきデータ値を指定する転送元レジスタとを特定する転送プレフィックス命令を検出するステップと、
前記処理回路によって処理されるべき統合データ処理命令を生成するために、転送プレフィックス命令を直後の命令と統合すべきか否かを決定するステップとを含み、
前記転送プレフィックス命令が検出されるとき、前記決定するステップは、前記転送プレフィックス命令の前記転送先レジスタが、前記直後の命令によって指定される任意のレジスタと同じレジスタであるか否かとは無関係に、前記転送プレフィックス命令および前記直後の命令を統合するべきか否かを決定する、データ処理方法。 - 命令に応答してデータ処理を実行するための手段と、
転送プレフィックス命令と、データストアからフェッチされる直後の命令とを統合して、処理回路によって処理される統合データ処理命令を生成するための手段と
を備える装置であって、
前記転送プレフィックス命令は、転送先レジスタと、前記転送先レジスタに少なくとも部分的にコピーされるべきデータ値を指定する転送元レジスタとを特定し、
前記転送プレフィックス命令を検出することに応答して、前記統合するための手段は、前記転送プレフィックス命令の前記転送先レジスタが、前記直後の命令によって指定される任意のレジスタと同じレジスタであるか否かとは無関係に、前記転送プレフィックス命令および前記直後の命令を統合するべきか否かを決定するように構成されている、装置。 - データ処理装置によって実行されると、請求項1〜27のいずれか一項に記載の装置に対応する命令実行環境を提供する仮想マシンを提供する、コンピュータ可読記憶媒体に格納されたコンピュータプログラム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB1518156.3 | 2015-10-14 | ||
GB1518156.3A GB2543304B (en) | 2015-10-14 | 2015-10-14 | Move prefix instruction |
PCT/GB2016/052838 WO2017064456A1 (en) | 2015-10-14 | 2016-09-14 | Move prefix instruction |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2018534671A JP2018534671A (ja) | 2018-11-22 |
JP6807383B2 true JP6807383B2 (ja) | 2021-01-06 |
Family
ID=55131012
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018517732A Active JP6807383B2 (ja) | 2015-10-14 | 2016-09-14 | 転送プレフィックス命令 |
Country Status (9)
Country | Link |
---|---|
US (1) | US10795675B2 (ja) |
EP (1) | EP3362889B1 (ja) |
JP (1) | JP6807383B2 (ja) |
KR (1) | KR102629722B1 (ja) |
CN (1) | CN108139908B (ja) |
GB (1) | GB2543304B (ja) |
IL (1) | IL258035B (ja) |
TW (1) | TWI740844B (ja) |
WO (1) | WO2017064456A1 (ja) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10061580B2 (en) | 2016-02-25 | 2018-08-28 | International Business Machines Corporation | Implementing a received add program counter immediate shift (ADDPCIS) instruction using a micro-coded or cracked sequence |
US10684856B2 (en) * | 2017-07-11 | 2020-06-16 | International Business Machines Corporation | Converting multiple instructions into a single combined instruction with an extension opcode |
US11150908B2 (en) * | 2017-08-18 | 2021-10-19 | International Business Machines Corporation | Dynamic fusion of derived value creation and prediction of derived values in a subroutine branch sequence |
US10719328B2 (en) | 2017-08-18 | 2020-07-21 | International Business Machines Corporation | Determining and predicting derived values used in register-indirect branching |
US10908911B2 (en) | 2017-08-18 | 2021-02-02 | International Business Machines Corporation | Predicting and storing a predicted target address in a plurality of selected locations |
US10534609B2 (en) | 2017-08-18 | 2020-01-14 | International Business Machines Corporation | Code-specific affiliated register prediction |
US10884745B2 (en) | 2017-08-18 | 2021-01-05 | International Business Machines Corporation | Providing a predicted target address to multiple locations based on detecting an affiliated relationship |
US10884747B2 (en) | 2017-08-18 | 2021-01-05 | International Business Machines Corporation | Prediction of an affiliated register |
US11150904B2 (en) | 2017-08-18 | 2021-10-19 | International Business Machines Corporation | Concurrent prediction of branch addresses and update of register contents |
US10884746B2 (en) | 2017-08-18 | 2021-01-05 | International Business Machines Corporation | Determining and predicting affiliated registers based on dynamic runtime control flow analysis |
JP7183657B2 (ja) * | 2018-09-21 | 2022-12-06 | 日本電気株式会社 | プロセッサ、情報処理方法、プログラム |
US11036510B2 (en) * | 2018-10-11 | 2021-06-15 | Arm Limited | Processing merging predicated instruction with timing permitting previous value of destination register to be unavailable when the merging predicated instruction is at a given pipeline stage at which a processing result is determined |
CN111414199B (zh) * | 2020-04-03 | 2022-11-08 | 中国人民解放军国防科技大学 | 一种指令融合的实现方法及装置 |
US11119777B1 (en) | 2020-04-22 | 2021-09-14 | International Business Machines Corporation | Extended prefix including routing bit for extended instruction format |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5303358A (en) * | 1990-01-26 | 1994-04-12 | Apple Computer, Inc. | Prefix instruction for modification of a subsequent instruction |
TW334546B (en) * | 1996-03-18 | 1998-06-21 | Hitachi Ltd | Data processor |
US20050138330A1 (en) * | 2003-12-23 | 2005-06-23 | Maxim Integrated Products, Inc. | MAXQ microcontroller |
EP1622009A1 (en) * | 2004-07-27 | 2006-02-01 | Texas Instruments Incorporated | JSM architecture and systems |
US7958181B2 (en) * | 2006-09-21 | 2011-06-07 | Intel Corporation | Method and apparatus for performing logical compare operations |
US8850164B2 (en) * | 2010-04-27 | 2014-09-30 | Via Technologies, Inc. | Microprocessor that fuses MOV/ALU/JCC instructions |
CN101957743B (zh) * | 2010-10-12 | 2012-08-29 | 中国电子科技集团公司第三十八研究所 | 并行数字信号处理器 |
EP2508980B1 (en) * | 2011-04-07 | 2018-02-28 | VIA Technologies, Inc. | Conditional ALU instruction pre-shift-generated carry flag propagation between microinstructions in read-port limited register file microprocessor |
US9128701B2 (en) * | 2011-04-07 | 2015-09-08 | Via Technologies, Inc. | Generating constant for microinstructions from modified immediate field during instruction translation |
US9329869B2 (en) * | 2011-10-03 | 2016-05-03 | International Business Machines Corporation | Prefix computer instruction for compatibily extending instruction functionality |
US9195466B2 (en) | 2012-05-16 | 2015-11-24 | Qualcomm Incorporated | Fusing conditional write instructions having opposite conditions in instruction processing circuits, and related processor systems, methods, and computer-readable media |
US9477476B2 (en) * | 2012-11-27 | 2016-10-25 | Qualcomm Incorporated | Fusing immediate value, write-based instructions in instruction processing circuits, and related processor systems, methods, and computer-readable media |
US9268572B2 (en) * | 2012-12-11 | 2016-02-23 | International Business Machines Corporation | Modify and execute next sequential instruction facility and instructions therefor |
CN107562444B (zh) * | 2012-12-26 | 2020-12-18 | 英特尔公司 | 合并相邻的聚集/分散操作 |
US9672037B2 (en) * | 2013-01-23 | 2017-06-06 | Apple Inc. | Arithmetic branch fusion |
US9886277B2 (en) * | 2013-03-15 | 2018-02-06 | Intel Corporation | Methods and apparatus for fusing instructions to provide OR-test and AND-test functionality on multiple test sources |
GB2521019B (en) * | 2014-05-27 | 2016-05-25 | Imagination Tech Ltd | Decoding instructions that are modified by one or more other instructions |
US10394568B2 (en) * | 2015-09-30 | 2019-08-27 | International Business Machines Corporation | Exception handling for applications with prefix instructions |
US20170090922A1 (en) * | 2015-09-30 | 2017-03-30 | Futurewei Technologies, Inc. | Efficient Instruction Pair for Central Processing Unit (CPU) Instruction Design |
-
2015
- 2015-10-14 GB GB1518156.3A patent/GB2543304B/en active Active
-
2016
- 2016-09-14 US US15/761,476 patent/US10795675B2/en active Active
- 2016-09-14 CN CN201680058692.2A patent/CN108139908B/zh active Active
- 2016-09-14 JP JP2018517732A patent/JP6807383B2/ja active Active
- 2016-09-14 WO PCT/GB2016/052838 patent/WO2017064456A1/en active Application Filing
- 2016-09-14 EP EP16770308.1A patent/EP3362889B1/en active Active
- 2016-09-14 KR KR1020187012813A patent/KR102629722B1/ko active IP Right Grant
- 2016-09-29 TW TW105131203A patent/TWI740844B/zh active
-
2018
- 2018-03-12 IL IL258035A patent/IL258035B/en active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
KR102629722B1 (ko) | 2024-01-26 |
US20180267798A1 (en) | 2018-09-20 |
GB2543304B (en) | 2020-10-28 |
GB201518156D0 (en) | 2015-11-25 |
CN108139908B (zh) | 2022-07-12 |
GB2543304A (en) | 2017-04-19 |
IL258035A (en) | 2018-05-31 |
EP3362889B1 (en) | 2021-04-21 |
TW201723809A (zh) | 2017-07-01 |
WO2017064456A1 (en) | 2017-04-20 |
CN108139908A (zh) | 2018-06-08 |
US10795675B2 (en) | 2020-10-06 |
IL258035B (en) | 2021-05-31 |
KR20180067583A (ko) | 2018-06-20 |
JP2018534671A (ja) | 2018-11-22 |
EP3362889A1 (en) | 2018-08-22 |
TWI740844B (zh) | 2021-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6807383B2 (ja) | 転送プレフィックス命令 | |
US8386754B2 (en) | Renaming wide register source operand with plural short register source operands for select instructions to detect dependency fast with existing mechanism | |
JP5808348B2 (ja) | マシン状態に基づいた命令の分割 | |
US9081564B2 (en) | Converting scalar operation to specific type of vector operation using modifier instruction | |
US9804851B2 (en) | Operand size control | |
US6230259B1 (en) | Transparent extended state save | |
US20160055004A1 (en) | Method and apparatus for non-speculative fetch and execution of control-dependent blocks | |
TW201741867A (zh) | 記憶體複製指令、處理器、方法及系統 | |
EP3329361B1 (en) | Vector operand bitsize control | |
KR100308512B1 (ko) | 편집 기능을 위한 전문 밀리코드 지시 | |
KR19990082747A (ko) | 압축기억된십진수나눗셈에대한전문밀리코드명령 | |
KR19990082748A (ko) | 번역및테스트를위한전문밀리코드명령 | |
JP6882320B2 (ja) | ベクトル命令の処理 | |
US11086626B2 (en) | Circuitry and methods | |
US20030084272A1 (en) | Handling problematic events in a data processing apparatus | |
JP7377208B2 (ja) | データ処理 | |
US20140365751A1 (en) | Operand generation in at least one processing pipeline | |
JPH1049373A (ja) | パイプライン・デジタル・プロセッサにおいて多重で高精度の事象を操作する方法と装置 | |
KR19990082750A (ko) | 전문업데이트및브랜치명령을이용하는밀리코드플래그 | |
JPH04287231A (ja) | マイクロプロセッサ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190906 |
|
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: 20201112 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20201207 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6807383 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |