JP6491655B2 - 即値ハンドリング及びフラグハンドリングのためのプロセッサ及び方法 - Google Patents
即値ハンドリング及びフラグハンドリングのためのプロセッサ及び方法 Download PDFInfo
- Publication number
- JP6491655B2 JP6491655B2 JP2016525922A JP2016525922A JP6491655B2 JP 6491655 B2 JP6491655 B2 JP 6491655B2 JP 2016525922 A JP2016525922 A JP 2016525922A JP 2016525922 A JP2016525922 A JP 2016525922A JP 6491655 B2 JP6491655 B2 JP 6491655B2
- Authority
- JP
- Japan
- Prior art keywords
- flag
- order
- mapping table
- bit
- instruction
- 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
- 238000000034 method Methods 0.000 title claims description 39
- 238000013507 mapping Methods 0.000 claims description 66
- 239000002574 poison Substances 0.000 claims description 31
- 231100000614 poison Toxicity 0.000 claims description 31
- 238000004519 manufacturing process Methods 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 16
- 230000006870 function Effects 0.000 description 11
- 238000012545 processing Methods 0.000 description 8
- 230000009249 intrinsic sympathomimetic activity Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 210000003813 thumb Anatomy 0.000 description 4
- 241001627144 Iris versicolor Species 0.000 description 3
- 230000006399 behavior Effects 0.000 description 3
- 238000012937 correction Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000011010 flushing procedure Methods 0.000 description 1
- 231100000572 poisoning Toxicity 0.000 description 1
- 230000000607 poisoning effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000009738 saturating Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012358 sourcing Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30094—Condition code generation, e.g. Carry, Zero flag
-
- 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/3838—Dependency mechanisms, e.g. register scoreboarding
- G06F9/384—Register renaming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30145—Instruction analysis, e.g. decoding, instruction word fields
- G06F9/3016—Decoding the operand specifier, e.g. specifier format
- G06F9/30167—Decoding the operand specifier, e.g. specifier format of immediate specifier, e.g. constants
-
- 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/3838—Dependency mechanisms, e.g. register scoreboarding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3861—Recovery, e.g. branch miss-prediction, exception handling
- G06F9/3863—Recovery, e.g. branch miss-prediction, exception handling using multiple copies of the architectural state, e.g. shadow registers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3861—Recovery, e.g. branch miss-prediction, exception handling
- G06F9/3865—Recovery, e.g. branch miss-prediction, exception handling using deferred exception handling, e.g. exception flags
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Advance Control (AREA)
Description
本願は、2013年10月25日に出願された米国仮特許出願第61/895,715号の利益を主張し、その内容は、引用により本明細書に組み込まれる。
(実施形態1)
ディスパッチされた命令から少なくとも1つのデスティネーションフラグを判定することを備える、フラグハンドリング方法。
前記少なくとも1つのデスティネーションフラグに対応する少なくとも1つのフラググループに関連するフリーフラグレジスタ番号を割り当てることによって、前記少なくとも1つのデスティネーションフラグをリネームすることであって、フラググループは独立したフラグに対応する、こと、をさらに備える、実施形態1の方法。
リネームされたフラグの各々をアウトオブオーダフラグマッピングテーブルに書き込むことであって、前記少なくとも1つのデスティネーションフラグに対応しないフラググループは影響を受けない、こと、をさらに備える、上記実施形態の何れかの方法。
データ依存性に基づきアウトオブオーダの前記ディスパッチされた命令を実行することをさらに備える、上記実施形態の何れかの方法。
廃棄サイクルの間にインオーダフラグマッピングテーブルへ前記アウトオブオーダ実行に起因するフラグを書き込むことであって、前記インオーダテーブルは、廃棄された、ディスパッチされた命令へのフラグのマッピングを追跡する、こと、をさらに備える、上記実施形態の何れかの方法。
前記インオーダフラグマッピングテーブルは、特定のフラググループが有効であるか否かを維持する、上記実施形態の何れかの方法。
前記アウトオブオーダフラグマッピングテーブルは、ソースフラググループによりインデックス化される、上記実施形態の何れかの方法。
前記インオーダフラグマッピングテーブルは、フラッシュされたアウトオブオーダテーブルを復元する、上記実施形態の何れかの方法。
前記インオーダフラグマッピングテーブルは、ゼロによるシフト条件のためのポイズンビットを維持する、上記実施形態の何れかの方法。
ゼロによるシフトが発生する条件でポイズンビットを設定することをさらに備える、上記実施形態の何れかの方法。
ゼロによる第2シフトが発生する条件で前記ポイズンビットを消費することをさらに備える、上記実施形態の何れかの方法。
前記ポイズンビットが消費される条件で前記アウトオブオーダフラグマッピングテーブルをフラッシュすることをさらに備える、上記実施形態の何れかの方法。
前記ポイズンビットの前記消費をもたらす命令を再度ディスパッチして再度実行することをさらに備える、上記実施形態の何れかの方法。
ディスパッチされた命令から少なくとも1つのデスティネーションフラグを判定するように構成された実行ユニットを備える、プロセッサ。
前記少なくとも1つのデスティネーションフラグに対応する少なくとも1つのフラググループに関連するフリーフラグレジスタ番号を割り当てることによって、前記少なくとも1つのデスティネーションフラグをリネームするように構成されたリネーム回路をさらに備え、フラググループは独立したフラグに対応する、実施形態14のプロセッサ。
アウトオブオーダフラグマッピングテーブルをさらに備え、前記実行ユニットは、リネームされたフラグの各々を前記アウトオブオーダフラグマッピング・テーブルに書き込むようにさらに構成されており、前記少なくとも1つのデスティネーションフラグに対応しないフラググループは、影響を受けない、実施形態14又は15のプロセッサ。
前記実行部は、データ依存性に基づきアウトオブオーダの前記ディスパッチされた命令を実行するようにさらに構成されている、実施形態14〜16の何れかのプロセッサ。
インオーダフラグマッピングテーブルをさらに備え、前記実行ユニットは、廃棄サイクルの間に前記インオーダフラグマッピングテーブルへ前記アウトオブオーダ実行に起因するフラグを書き込むようにさらに構成されており、前記インオーダフラグマッピングテーブルは、廃棄された、ディスパッチされた命令へのフラグのマッピングを追跡する、実施形態14〜17の何れかのプロセッサ。
前記インオーダフラグマッピングテーブルは、特定のフラググループが有効であるか否かを維持する、実施形態14〜18の何れかのプロセッサ。
前記アウトオブオーダフラグマッピングテーブルは、ソースフラググループによりインデックス化される、実施形態14〜19の何れかのプロセッサ。
前記インオーダフラグマッピングテーブルは、フラッシュされたアウトオブオーダテーブルを復元する、実施形態14〜20の何れかのプロセッサ。
前記インオーダフラグマッピングテーブルは、ゼロによるシフト条件のためにポイズンビットを維持する、実施形態14〜21の何れかのプロセッサ。
前記実行ユニットは、ゼロによるシフトが発生する条件でポイズンビットを設定するように構成されている、実施形態14〜22の何れかのプロセッサ。
前記実行ユニットは、ゼロによる第2シフトが発生する条件で前記ポイズンビットを消費するように構成されている、実施形態14〜23の何れかのプロセッサ。
前記実行ユニットは、前記ポイズンビットが消費される条件で前記アウトオブオーダフラグマッピングテーブルをフラッシュするように構成されている、実施形態14〜24の何れかのプロセッサ。
前記実行ユニットは、前記ポイズンビットの前記消費をもたらすディスパッチされた命令を再度ディスパッチして再度実行するように構成されている、実施形態14〜25の何れかのプロセッサ。
デコードユニットをさらに備える、実施形態14〜26の何れかのプロセッサ。
前記デコードユニット及び前記実行ユニット間をインタフェースで接続するように構成された16ビット即値バスをさらに備える、実施形態14〜27の何れかのプロセッサ。
前記デコードユニット及び前記実行ユニット間をインタフェースで接続するように構成された4ビット制御バスをさらに備える、実施形態14〜28の何れかのプロセッサ。
前記16ビット即値バスは、前記即値定数を搬送するように構成されており、前記16ビット即値バス及び前記4ビット制御バスの組み合わせは、即値定数を含む命令用の符号化情報を搬送するように構成されており、前記16ビット即値バスは、非16ビット即値定数の場合に前記符号化情報のいくつかのオーバーロードを搬送する、実施形態14〜29の何れかのプロセッサ。
プロセッサがフラグハンドリングを実行するために、汎用コンピュータによって実行される1セットの命令を記憶する非一時的なコンピュータ可読記憶媒体であって、ディスパッチされた命令から少なくとも1つのデスティネーションフラグを判定するための判定コードセグメントを備える、コンピュータ可読記憶媒体。
前記少なくとも1つのデスティネーションフラグに対応する少なくとも1つのフラググループに関連するフリーフラグレジスタ番号を割り当てることによって、前記少なくとも1つのデスティネーションフラグをリネームするためのリネームコードセグメントをさらに備え、フラググループは、独立したフラグに対応する、実施形態31のコンピュータ可読記憶媒体。
前記命令は、デバイスの製造に使用されるハードウェア記述言語(HDL)命令である、実施形態31又は32のコンピュータ可読記憶媒体。
デコードユニットを含むプロセッサ。
前記デコードユニット及び実行ユニット間をインタフェースで接続するように構成された16ビット即値バスをさらに備える、実施形態34のプロセッサ。
前記デコードユニット及び前記実行ユニット間をインタフェースで接続するように構成された4ビット制御バスをさらに備える、実施形態34又は35のプロセッサ。
前記16ビット即値バス及び前記4ビット制御バスの組み合わせは、即値定数を含む命令用の符号化情報を搬送するように構成されており、前記16ビット即値バスは、前記即値定数を搬送するように構成されている、実施形態34〜36の何れかのプロセッサ。
即値定数を含む命令用の前記符号化情報は、マルチプレクサを使用して前記16ビット即値バス及び前記4ビット制御バスの前記組み合わせ内に圧縮される、実施形態34〜37の何れかのプロセッサ。
前記16ビット即値バスの前記上位4ビットは、特定の命令用の前記符号化情報を搬送するために使用され得る、実施形態34〜38の何れかのプロセッサ。
前記符号化情報は、Thumb拡張、シフト、ゼロ拡張、符号拡張、デコードビットマスク、ローテーション及びバイトコピー操作/拡張のうち少なくとも1つが実行されることを判定する、実施形態34〜39の何れかのプロセッサ。
前記操作/拡張及び前記符号化情報の前記出力は、前記命令による可用性のために即値ストレージに多重送信されて格納される、実施形態34〜40の何れかのプロセッサ。
操作/拡張中に生成されたキャリーフラグは、フラグレジスタファイルに転送される、実施形態34〜41の何れかのプロセッサ。
Claims (15)
- フラグハンドリングの方法であって、
ディスパッチされた命令から少なくとも1つのデスティネーションフラグを判定することと、
前記少なくとも1つのデスティネーションフラグに対応する少なくとも1つのフラググループに関連するフリーフラグレジスタ番号を割り当てることによって、前記少なくとも1つのデスティネーションフラグをリネームすることであって、前記フラググループが独立したフラグに対応する、ことと、
リネームされたフラグの各々をアウトオブオーダフラグマッピングテーブルに書き込むことと、
書き込みフラグをインオーダフラグマッピングテーブルに書き込むことであって、前記書き込みフラグは、前記ディスパッチされた命令のアウトオブオーダ実行によって生成される、ことと、
前記書き込みフラグに基づいてフラッシュ操作を選択的に実行することであって、前記フラッシュ操作は、前記インオーダフラグマッピングテーブルに基づいて前記アウトオブオーダフラグマッピングテーブルを復元する、ことと、を備える、
方法。 - 前記少なくとも1つのデスティネーションフラグに対応しないフラググループは、前記リネームされたフラグの各々を書き込むことにおいて影響を受けない、請求項1の方法。
- 前記ディスパッチされた命令のアウトオブオーダ実行は、データ依存性に基づいている、請求項2の方法。
- 前記書き込みフラグは、廃棄サイクルの間に前記インオーダフラグマッピングテーブルに書き込まれる、請求項3の方法。
- 前記アウトオブオーダフラグマッピングテーブルは、ソースフラググループによりインデックス化される、請求項1の方法。
- ゼロシフトの発生という条件に応じてポイズンビットを設定することと、
ゼロシフトの2回目の発生という条件に応じて前記ポイズンビットをクリアすることと、
前記ポイズンビットがクリアされることをもたらす命令を再度ディスパッチして再度実行することと、をさらに備え、
前記フラッシュ操作は、前記ポイズンビットがクリアされるときに実行される、請求項4の方法。 - アウトオブオーダフラグマッピングテーブルと、
インオーダフラグマッピングテーブルと、
前記アウトオブオーダフラグマッピングテーブル及び前記インオーダフラグマッピングテーブルと通信可能に接続された実行ユニットと、
少なくとも1つのデスティネーションフラグに対応する少なくとも1つのフラググループに関連するフリーフラグレジスタ番号を割り当てることによって、前記少なくとも1つのデスティネーションフラグをリネームするように構成されたリネーム回路と、を備え、
前記フラググループが独立したフラグに対応しており、
前記実行ユニットは、
ディスパッチされた命令から少なくとも1つのデスティネーションフラグを判定し、
リネームされたフラグの各々を前記アウトオブオーダフラグマッピングテーブルに書き込み、
前記ディスパッチされた命令のアウトオブオーダ実行によって生成された書き込みフラグを前記インオーダフラグマッピングテーブルに書き込み、
前記インオーダフラグマッピングテーブルに基づいて前記アウトオブオーダフラグマッピングテーブルを復元するフラッシュ操作を、前記書き込みフラグに基づいて選択的に実行する、
プロセッサ。 - 前記少なくとも1つのデスティネーションフラグに対応しないフラググループは、リネームされたフラグの各々を前記実行ユニットが書き込むときに影響を受けない、請求項7のプロセッサ。
- 前記ディスパッチされた命令のアウトオブオーダ実行は、データ依存性に基づいている、請求項7のプロセッサ。
- 前記実行ユニットは、前記書き込みフラグを、廃棄サイクルの間に前記インオーダフラグマッピングテーブルに書き込む、請求項8のプロセッサ。
- 前記アウトオブオーダフラグマッピングテーブルは、ソースフラググループによりインデックス化される、請求項7のプロセッサ。
- 前記実行ユニットは、
ゼロシフトの発生という条件に応じてポイズンビットを設定し、
ゼロシフトの2回目の発生という条件に応じて前記ポイズンビットをクリアし、
前記ポイズンビットがクリアされることをもたらす命令を再度ディスパッチして再度実行し、
前記フラッシュ操作は、前記ポイズンビットがクリアされるときに実行される、請求項10のプロセッサ。 - デコードユニットと、
前記デコードユニットと前記実行ユニットとの間をインタフェースで接続するように構成された16ビット即値バスと、
前記デコードユニットと前記実行ユニットとの間をインタフェースで接続するように構成された4ビット制御バスと、をさらに備え、
前記16ビット即値バスは、即値定数を搬送するように構成されており、前記16ビット即値バス及び前記4ビット制御バスの組み合わせは、即値定数を含む命令用の符号化情報を搬送するように構成されており、前記16ビット即値バスは、非16ビット即値定数の場合に前記符号化情報のいくつかのオーバーロードを搬送する、請求項7のプロセッサ。 - プロセッサがフラグハンドリングを実行するために、汎用コンピュータによって実行される1セットの命令を記憶するコンピュータ可読記憶媒体であって、
ディスパッチされた命令から少なくとも1つのデスティネーションフラグを判定するための判定コードセグメントと、
前記少なくとも1つのデスティネーションフラグに対応する少なくとも1つのフラググループに関連するフリーフラグレジスタ番号を割り当てることによって、前記少なくとも1つのデスティネーションフラグをリネームするためのリネームコードセグメントと、
リネームされたフラグの各々をアウトオブオーダフラグマッピングテーブルに書き込み、前記ディスパッチされた命令のアウトオブオーダ実行によって生成された書き込みフラグをインオーダフラグマッピングテーブルに書き込むための書き込みコードセグメントと、
前記書き込みフラグに基づいてフラッシュ操作が要求されていると判定したときに、前記インオーダフラグマッピングテーブルに基づいて前記アウトオブオーダフラグマッピングテーブルを復元するためのフラッシュコードセグメントと、を備え、
前記フラググループが独立したフラグに対応する、
コンピュータ可読記憶媒体。 - 前記命令は、デバイスの製造に使用されるハードウェア記述言語(HDL)命令である、請求項14のコンピュータ可読記憶媒体。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201361895715P | 2013-10-25 | 2013-10-25 | |
US61/895,715 | 2013-10-25 | ||
PCT/US2014/062180 WO2015061687A1 (en) | 2013-10-25 | 2014-10-24 | Processor and methods for immediate handling and flag handling |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2016534430A JP2016534430A (ja) | 2016-11-04 |
JP2016534430A5 JP2016534430A5 (ja) | 2017-11-30 |
JP6491655B2 true JP6491655B2 (ja) | 2019-03-27 |
Family
ID=52993620
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016525922A Active JP6491655B2 (ja) | 2013-10-25 | 2014-10-24 | 即値ハンドリング及びフラグハンドリングのためのプロセッサ及び方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20150121041A1 (ja) |
EP (1) | EP3060979B1 (ja) |
JP (1) | JP6491655B2 (ja) |
KR (1) | KR102161682B1 (ja) |
CN (1) | CN105765522B (ja) |
WO (1) | WO2015061687A1 (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9798593B1 (en) | 2016-07-06 | 2017-10-24 | Workday, Inc. | Synchronization of code execution |
US10761849B2 (en) * | 2016-09-22 | 2020-09-01 | Intel Corporation | Processors, methods, systems, and instruction conversion modules for instructions with compact instruction encodings due to use of context of a prior instruction |
US10713213B2 (en) * | 2016-12-21 | 2020-07-14 | Intel Corporation | Systems and methods for multi-architecture computing |
US11275709B2 (en) | 2017-05-02 | 2022-03-15 | Intel Corporation | Systems and methods for multi-architecture computing |
US10481910B2 (en) * | 2017-09-29 | 2019-11-19 | Intel Corporation | Apparatus and method for shifting quadwords and extracting packed words |
CN112114874B (zh) * | 2020-08-20 | 2021-10-15 | 北京百度网讯科技有限公司 | 数据处理方法、装置、电子设备和存储介质 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6047369A (en) * | 1994-02-28 | 2000-04-04 | Intel Corporation | Flag renaming and flag masks within register alias table |
US5649225A (en) * | 1994-06-01 | 1997-07-15 | Advanced Micro Devices, Inc. | Resynchronization of a superscalar processor |
US5632023A (en) * | 1994-06-01 | 1997-05-20 | Advanced Micro Devices, Inc. | Superscalar microprocessor including flag operand renaming and forwarding apparatus |
US5933618A (en) * | 1995-10-30 | 1999-08-03 | Advanced Micro Devices, Inc. | Speculative register storage for storing speculative results corresponding to register updated by a plurality of concurrently recorded instruction |
US6338132B1 (en) * | 1998-12-30 | 2002-01-08 | Intel Corporation | System and method for storing immediate data |
US20050071518A1 (en) * | 2003-09-30 | 2005-03-31 | Intel Corporation | Flag value renaming |
US7568088B1 (en) * | 2005-10-26 | 2009-07-28 | Sun Microsystems, Inc. | Flag management in processors enabled for speculative execution of micro-operation traces |
US7421529B2 (en) * | 2005-10-20 | 2008-09-02 | Qualcomm Incorporated | Method and apparatus to clear semaphore reservation for exclusive access to shared memory |
US7822948B2 (en) * | 2008-01-03 | 2010-10-26 | International Business Machines Corporation | Apparatus, system, and method for discontiguous multiple issue of instructions |
US8250346B2 (en) * | 2009-06-04 | 2012-08-21 | Arm Limited | Register renaming of a partially updated data granule |
US9088594B2 (en) * | 2011-02-07 | 2015-07-21 | International Business Machines Corporation | Providing to a parser and processors in a network processor access to an external coprocessor |
US8924695B2 (en) * | 2011-04-07 | 2014-12-30 | Via Technologies, Inc. | Conditional ALU instruction condition satisfaction propagation between microinstructions in read-port limited register file microprocessor |
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 |
US8972701B2 (en) * | 2011-12-06 | 2015-03-03 | Arm Limited | Setting zero bits in architectural register for storing destination operand of smaller size based on corresponding zero flag attached to renamed physical register |
US9189236B2 (en) * | 2012-12-21 | 2015-11-17 | Intel Corporation | Speculative non-faulting loads and gathers |
-
2014
- 2014-10-24 KR KR1020167013469A patent/KR102161682B1/ko active IP Right Grant
- 2014-10-24 WO PCT/US2014/062180 patent/WO2015061687A1/en active Application Filing
- 2014-10-24 US US14/523,718 patent/US20150121041A1/en not_active Abandoned
- 2014-10-24 JP JP2016525922A patent/JP6491655B2/ja active Active
- 2014-10-24 EP EP14855674.9A patent/EP3060979B1/en active Active
- 2014-10-24 CN CN201480064146.0A patent/CN105765522B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
KR20160075639A (ko) | 2016-06-29 |
EP3060979B1 (en) | 2020-08-05 |
WO2015061687A1 (en) | 2015-04-30 |
US20150121041A1 (en) | 2015-04-30 |
CN105765522A (zh) | 2016-07-13 |
KR102161682B1 (ko) | 2020-10-05 |
CN105765522B (zh) | 2020-05-19 |
EP3060979A4 (en) | 2017-07-05 |
EP3060979A1 (en) | 2016-08-31 |
JP2016534430A (ja) | 2016-11-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6491655B2 (ja) | 即値ハンドリング及びフラグハンドリングのためのプロセッサ及び方法 | |
JP6761565B2 (ja) | アウトオブオーダーハードウェアソフトウェア協調設計プロセッサにおいてスタック同期命令を用いてプレディケート値のスタックを実装し維持する方法および装置 | |
US9092215B2 (en) | Mapping between registers used by multiple instruction sets | |
US9934031B2 (en) | Read and write masks update instruction for vectorization of recursive computations over independent data | |
JP6849274B2 (ja) | 融合された単一のサイクルのインクリメント−比較−ジャンプを実施するための命令及びロジック | |
JP6143872B2 (ja) | 装置、方法、およびシステム | |
EP3555742B1 (en) | Floating point instruction format with embedded rounding rule | |
CN106648843B (zh) | 用于改善连续的事务性存储器区的吞吐量的系统、方法和装置 | |
US20160055004A1 (en) | Method and apparatus for non-speculative fetch and execution of control-dependent blocks | |
KR101851439B1 (ko) | 충돌 검출을 수행하고, 레지스터의 콘텐츠를 다른 레지스터의 데이터 구성요소 위치들로 브로드캐스트하기 위한 시스템들, 장치들 및 방법들 | |
US20170090922A1 (en) | Efficient Instruction Pair for Central Processing Unit (CPU) Instruction Design | |
US20150121047A1 (en) | Reading a register pair by writing a wide register | |
JP2021504788A (ja) | ストアフュージョンのためのシステム及び方法 | |
JP2017534114A (ja) | Z順序曲線において次のポイントの座標を計算するためのベクトル命令 | |
JP6835436B2 (ja) | マスクをマスク値のベクトルに拡張するための方法および装置 | |
JP2021174513A (ja) | データ依存脆弱分岐の機会主義的再誘導のための命令セットアーキテクチャベース自動負荷追跡 | |
US20150106600A1 (en) | Execution of condition-based instructions | |
KR20170001578A (ko) | 상태 의존 계산들의 성능을 개선하기 위한 시스템들, 방법들, 및 장치들 | |
JP2017538215A (ja) | 逆分離演算を実行するための命令及びロジック | |
US9710389B2 (en) | Method and apparatus for memory aliasing detection in an out-of-order instruction execution platform | |
KR101635856B1 (ko) | 데이터 요소에 있는 비트들의 제로화를 위한 시스템, 장치, 및 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160816 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20171018 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20171018 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20180928 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20181016 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190111 |
|
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: 20190205 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20190301 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6491655 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |