JP5356531B2 - シーケンス検出又は命令に関連付けられた情報に基づいた命令の最適化性能 - Google Patents
シーケンス検出又は命令に関連付けられた情報に基づいた命令の最適化性能 Download PDFInfo
- Publication number
- JP5356531B2 JP5356531B2 JP2011534805A JP2011534805A JP5356531B2 JP 5356531 B2 JP5356531 B2 JP 5356531B2 JP 2011534805 A JP2011534805 A JP 2011534805A JP 2011534805 A JP2011534805 A JP 2011534805A JP 5356531 B2 JP5356531 B2 JP 5356531B2
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- copy
- code
- input
- logic
- 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.)
- Expired - Fee Related
Links
- 238000001514 detection method Methods 0.000 title description 11
- 238000005457 optimization Methods 0.000 title description 11
- 230000004044 response Effects 0.000 claims description 7
- 230000015654 memory Effects 0.000 description 23
- 238000000034 method Methods 0.000 description 17
- 238000003860 storage Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 8
- 239000000872 buffer Substances 0.000 description 5
- 230000006399 behavior Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000010408 sweeping Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012549 training 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
-
- 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
-
- 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
-
- 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/3004—Arrangements for executing specific machine instructions to perform operations on memory
- G06F9/30043—LOAD or STORE instructions; Clear instruction
-
- 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/32—Address formation of the next instruction, e.g. by incrementing the instruction counter
- G06F9/322—Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address
- G06F9/325—Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address for loops, e.g. loop detection or loop counter
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3854—Instruction completion, e.g. retiring, committing or graduating
- G06F9/3856—Reordering of instructions, e.g. using queues or age tags
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3854—Instruction completion, e.g. retiring, committing or graduating
- G06F9/3858—Result writeback, i.e. updating the architectural state or memory
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)
- Devices For Executing Special Programs (AREA)
- Advance Control (AREA)
Description
[項目1]
命令コードによって示されるオペレーションを実行する実行ユニットと、
入力される命令を受信する命令デコーダと、
を備え、
命令デコーダは、第1入力命令を受信し、経路選択信号をフィードバック経路から受信する第1ロジックを含み、
フィードバック経路は、命令デコーダと連結されており、命令デコーダと連結され経路選択信号を生成するシーケンス検出器を含み、
経路選択信号は、第1入力命令の閾値距離内で命令デコーダによって受信された異なる入力命令の検出に対応しており、
第1ロジックは、第1入力命令を、経路選択信号に応答して、第1命令コード又は第2命令コードへとデコードする、装置。
[項目2]
命令デコーダから命令コードを、シーケンス検出器から予測コードを受信し、命令コードと予測コードとが一致する場合には、一致信号を生成する比較器を更に備える項目1に記載の装置。
[項目3]
シーケンス検出器は、一致信号が生成されていない場合に、第1ロジックに第1入力命令を第1命令コードにデコードさせる第1状態の経路選択信号を生成し、第1命令コードは、第1データ長に対して最適化されたコピーオペレーションに対応している項目2に記載の装置。
[項目4]
シーケンス検出器は、一致信号に応答して、第1ロジックに第1入力命令を第2命令コードにデコードさせる第2状態の経路選択信号を生成し、第2命令コードは、第1データ長とは異なる第2データ長について最適化されたコピーオペレーションに対応している項目3に記載の装置。
[項目5]
第2命令コードは、実行ユニットに、有限の長さのコピーオペレーションを実行させる項目4に記載の装置。
[項目6]
第1入力命令からの閾値距離に対応する第1の個数の命令内において、異なる入力命令が命令デコーダによって受信された場合に、シーケンス検出器は、第2状態の経路選択信号を生成する項目4に記載の装置。
[項目7]
閾値距離は、サイクル数及びデコードストール情報によって近似される項目6に記載の装置。
[項目8]
シーケンス検出器は、状態機械を有し、異なる入力命令が、第1の個数の命令内で受信されなかった場合には、状態機械はリセットされる項目6に記載の装置。
[項目9]
反復コピー命令が、反復コピー命令と関連付けられた情報に少なくとも一部基づいて最適化可能であるかを判断する段階と、
可能であると判断された場合に、2のツリーのべき乗のコピーを使用して、第1の量以下のデータを、第1の数以下の個数の塊で、第1コピー元ロケーションから第1コピー先ロケーションへとコピーする条件付きコピーオペレーションの第1シーケンスによって、反復コピー命令の第1部分を実行する段階と、
コピーすべきデータの残りの部分が第1閾値よりも大きい場合には、コピーオペレーションの高速ループを使用して、第2の量のデータを第2コピー元ロケーションから第2コピー先ロケーションへとコピーすることにより、反復コピー命令の第2部分を実行する段階と、
その後にコピーすべきデータが残っている場合には、第3の量以下のデータを、第3の数以下の個数の塊で、第3コピー元ロケーションから第3コピー先ロケーションへとコピーする条件付きコピーオペレーションの第2シーケンスによって、反復コピー命令の第3部分を実行する段階と、
を備える方法。
[項目10]
条件付きコピーオペレーションの第1シーケンスを実行する前に、高速ループ及び条件付きコピーオペレーションの第2シーケンスに対するセットアップ情報を取得する段階を更に備える項目9に記載の方法。
[項目11]
第2の量のデータが、第2閾値よりも大きいか否かを判断し、大きい場合には、キャッシュに格納することなく、キャッシングヒントを使用して第2の量のデータを直接メモリにコピーする段階をさらに備える項目9に記載の方法。
[項目12]
条件付きコピーオペレーションの第1シーケンスの第1番目は、Nバイトのデータ塊をコピーし、条件付きコピーオペレーションの第1シーケンスと関連付けられた第1ポインタ及び第2ポインタをインクリメントし、コピーすべき残りのデータと関連付けられたカウンタを更新する項目9に記載の方法。
[項目13]
2のツリーのべき乗は、プロセッサの最大読み込み長又は最大格納長に対応する、2のべき乗の一番目の長さで始まり、1バイトに対応する2のべき乗の最後の長さで終了する項目9に記載の方法。
[項目14]
反復コピー命令と関連付けられた第1ポインタと第2ポインタとの差分が、第3閾値と第4閾値の間であるかを判断する段階を更に備え、
判断の結果が真である場合には、高速ループの1イタレーションよりも短い幅を有するコピーオペレーションを使用して、第2の量のデータをコピーする項目9に記載の方法。
[項目15]
デコーダを含むフロントエンドを有するプロセッサと、
プロセッサに連結されたダイナミックランダムアクセスメモリ(DRAM)とを備えるシステムであって、
デコーダは第1デコードロジックを含み、
入力コピー命令及び少なくとも1つの別のコピー命令を含むデコーダに、命令のシーケンスが受信されたことが示唆された場合に、第1デコードロジックは、入力コピー命令を受信し、デコーダと連結されたフィードバック経路で選択信号を第2ロジックから受信し、選択信号に応答して、入力コピー命令を第1命令コード又は第2命令コードへとデコードし、
プロセッサは、第1命令コード又は第2命令コードを受信し、受信した命令コードに応答して、第1コピーオペレーション又は第2コピーオペレーションをそれぞれ実行する実行ユニットを更に有する、システム。
[項目16]
第2ロジックは、シーケンス検出器を含み、
少なくとも1つの別のコピー命令に対応する第2入力コピー命令の後に、第1の個数の命令内で入力コピー命令が受信される場合には、デコードロジックに第2命令を生成させ、その他の場合には、デコードロジックに第1命令を生成させる選択信号が、シーケンス検出器によって生成される項目15に記載のシステム。
[項目17]
入力コピー命令が、第1の個数の命令内で受信されない場合には、シーケンス検出器は、第2入力コピー命令を探索する第1状態へとリセットされる項目16に記載のシステム。
[項目18]
シーケンス検出器は、第2入力コピー命令が検出された後に、第1状態から、入力コピー命令を探索する第2状態へと進む項目17に記載のシステム。
[項目19]
デコーダから命令コードを、シーケンス検出器から予測コードを受信し、命令コードと予測コードとが一致する場合には一致信号を生成する比較器を更に備える項目16に記載のシステム。
[項目20]
第1コピーオペレーションは、第1データ長に対して最適化され、第2コピーオペレーションは、第1データ長とは異なる第2データ長に対して最適化されている項目15に記載のシステム。
Claims (14)
- 命令コードによって示されるオペレーションを実行する実行ユニットと、
入力される命令を受信する命令デコーダと、
前記命令デコーダと連結され経路選択信号を生成するシーケンス検出器と
を備え、
前記命令デコーダは、命令を受信し、前記経路選択信号を前記シーケンス検出器から受信する第1ロジックを含み、
前記経路選択信号は、第2の種類のコピー命令である所定の入力命令が前記第1ロジックに受信されてから閾値距離の範囲内であるか否かを示すものであり、
前記第1ロジックは、第1の種類のコピー命令である第1入力命令を受信した際に、前記経路選択信号に基づいて、前記第1入力命令を、第1命令コードまたは第2命令コードへとデコードするものである、装置。 - 前記命令デコーダから命令コードを、前記シーケンス検出器から予測コードを受信し、前記命令コードと前記予測コードとが一致する場合には、一致信号を生成する比較器であって、前記予測コードは、前記第2の種類のコピー命令に対応する命令コードである、前記比較器を更に備える請求項1に記載の装置。
- 前記シーケンス検出器は、前記一致信号が生成されていない場合か、または、前記一致信号が生成されてから前記閾値距離を超えた場合に、前記第1ロジックに前記第1入力命令を前記第1命令コードにデコードさせる第1状態の前記経路選択信号を生成するものであり、
前記第1命令コードは、第1データ長に対して最適化されたコピーオペレーションに対応している、請求項2に記載の装置。 - 前記シーケンス検出器は、前記一致信号が生成されてから前記閾値距離の範囲内であることに応答して、前記第1ロジックに前記第1入力命令を前記第2命令コードにデコードさせる第2状態の前記経路選択信号を生成するものであり、
前記第2命令コードは、前記第1データ長とは異なる第2データ長について最適化されたコピーオペレーションに対応している、請求項3に記載の装置。 - 前記第2命令コードは、前記実行ユニットに、有限の長さのコピーオペレーションを実行させるものである、請求項4に記載の装置。
- 前記シーケンス検出器は、前記所定の入力命令が前記第1ロジックによって受信されてから前記閾値距離に対応する第1の個数の命令内であるときに、前記第2状態の前記経路選択信号を生成するものである、請求項4に記載の装置。
- 前記閾値距離と比較されるべき、先行する前記所定の入力命令と後続の前記第1入力命令の距離は、サイクル数及びデコードストール情報によって求められるものである、請求項6に記載の装置。
- 前記シーケンス検出器は、状態機械を有し、
前記所定の入力命令が前記第1ロジックによって受信されてから前記第1の個数の命令内において、前記第1入力命令が前記第1ロジックによって受信されなかった場合には、前記状態機械はリセットされるものである、請求項6に記載の装置。 - デコーダを含むフロントエンドを有するプロセッサと、
前記プロセッサに連結されたダイナミックランダムアクセスメモリ(DRAM)とを備えるシステムであって、
前記プロセッサは前記デコーダと連結され選択信号を生成する第2ロジックを含み、
前記デコーダは、命令を受信し、前記選択信号を前記第2ロジックから受信する第1デコードロジックを含み、
前記選択信号は、第2の種類のコピー命令である所定のコピー命令が前記第1デコードロジックに受信されたことに応じて、前記所定のコピー命令に後続して受信される命令が、第1の種類のコピー命令である入力コピー命令ならば、前記所定のコピー命令と前記入力コピー命令を含む命令のシーケンスが前記第1デコードロジックに受信されたことになることを示唆するものであり、
前記第1デコードロジックは、予め定められた前記第1の種類のコピー命令である前記入力コピー命令を受信した際に、前記選択信号に基づいて、前記入力コピー命令を、第1命令コードまたは第2命令コードへとデコードするものであり、
前記プロセッサは、前記第1命令コードまたは前記第2命令コードを受信し、受信した命令コードに応答して、第1コピーオペレーションまたは第2コピーオペレーションをそれぞれ実行する実行ユニットを更に有する、システム。 - 前記第2ロジックは、シーケンス検出器を含み、
前記シーケンス検出器が前記選択信号を生成するものであり、
前記選択信号は、前記所定のコピー命令に対応する第2入力コピー命令の後に、第1の個数の命令内で前記入力コピー命令が受信される場合には、前記第1デコードロジックに前記第2命令コードを生成させ、その他の場合には、前記第1デコードロジックに前記第1命令コードを生成させるものである、請求項9に記載のシステム。 - 前記入力コピー命令が、前記第1の個数の命令内で受信されない場合には、前記シーケンス検出器は、前記第2入力コピー命令を探索する第1状態へとリセットされる、請求項10に記載のシステム。
- 前記シーケンス検出器は、前記第2入力コピー命令が検出された後に、前記第1状態から、前記入力コピー命令を探索する第2状態へと進む、請求項11に記載のシステム。
- 前記デコーダから命令コードを、前記シーケンス検出器から予測コードを受信し、前記命令コードと前記予測コードとが一致する場合には一致信号を生成する比較器であって、前記予測コードは、前記第2の種類のコピー命令に対応する命令コードである、前記比較器を更に備える、請求項10に記載のシステム。
- 前記第1コピーオペレーションは、第1データ長に対して最適化され、前記第2コピーオペレーションは、前記第1データ長とは異なる第2データ長に対して最適化されている請求項9に記載のシステム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/290,962 | 2008-11-05 | ||
US12/290,962 US8543796B2 (en) | 2008-11-05 | 2008-11-05 | Optimizing performance of instructions based on sequence detection or information associated with the instructions |
PCT/US2009/062736 WO2010053837A2 (en) | 2008-11-05 | 2009-10-30 | Optimizing performance of instructions based on sequence detection or information associated with the instructions |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012507805A JP2012507805A (ja) | 2012-03-29 |
JP5356531B2 true JP5356531B2 (ja) | 2013-12-04 |
Family
ID=42132911
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011534805A Expired - Fee Related JP5356531B2 (ja) | 2008-11-05 | 2009-10-30 | シーケンス検出又は命令に関連付けられた情報に基づいた命令の最適化性能 |
Country Status (7)
Country | Link |
---|---|
US (2) | US8543796B2 (ja) |
JP (1) | JP5356531B2 (ja) |
KR (1) | KR101267911B1 (ja) |
CN (1) | CN101788903B (ja) |
BR (1) | BRPI0920790A2 (ja) |
TW (1) | TWI434213B (ja) |
WO (1) | WO2010053837A2 (ja) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9009689B2 (en) * | 2010-11-09 | 2015-04-14 | Intel Corporation | Speculative compilation to generate advice messages |
JP5916355B2 (ja) * | 2011-11-21 | 2016-05-11 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | プログラムの命令を実行する装置および命令をキャッシュするシステム |
CN109086073B (zh) * | 2011-12-22 | 2023-08-22 | 英特尔公司 | 浮点舍入处理器、方法、系统和指令 |
US9971603B2 (en) | 2011-12-29 | 2018-05-15 | Intel Corporation | Causing an interrupt based on event count |
US9575766B2 (en) * | 2011-12-29 | 2017-02-21 | Intel Corporation | Causing an interrupt based on event count |
US9330014B2 (en) | 2012-12-31 | 2016-05-03 | Sunedison Semiconductor Limited (Uen201334164H) | Method and system for full resolution real-time data logging |
US9519324B2 (en) * | 2014-03-26 | 2016-12-13 | Intel Corporation | Local power gate (LPG) interfaces for power-aware operations |
US9916164B2 (en) * | 2015-06-11 | 2018-03-13 | Intel Corporation | Methods and apparatus to optimize instructions for execution by a processor |
US11169925B2 (en) * | 2015-08-25 | 2021-11-09 | Samsung Electronics Co., Ltd. | Capturing temporal store streams into CPU caches by dynamically varying store streaming thresholds |
US10261790B2 (en) * | 2016-03-31 | 2019-04-16 | Intel Corporation | Memory copy instructions, processors, methods, and systems |
GB2552153B (en) * | 2016-07-08 | 2019-07-24 | Advanced Risc Mach Ltd | An apparatus and method for performing a rearrangement operation |
US9984004B1 (en) * | 2016-07-19 | 2018-05-29 | Nutanix, Inc. | Dynamic cache balancing |
US10394559B2 (en) * | 2016-12-13 | 2019-08-27 | International Business Machines Corporation | Branch predictor search qualification using stream length prediction |
US10379827B2 (en) * | 2016-12-29 | 2019-08-13 | Intel Corporation | Automatic identification and generation of non-temporal store and load operations in a dynamic optimization environment |
CN109032665B (zh) * | 2017-06-09 | 2021-01-26 | 龙芯中科技术股份有限公司 | 微处理器中指令输出处理方法及装置 |
US11029953B2 (en) * | 2019-06-26 | 2021-06-08 | Intel Corporation | Branch prediction unit in service of short microcode flows |
US11263014B2 (en) * | 2019-08-05 | 2022-03-01 | Arm Limited | Sharing instruction encoding space between a coprocessor and auxiliary execution circuitry |
GB2593513B (en) | 2020-03-25 | 2022-09-21 | Nordic Semiconductor Asa | Method and system for optimizing data transfer from one memory to another memory |
GB2593514B (en) * | 2020-03-25 | 2022-04-27 | Nordic Semiconductor Asa | Method and system for optimizing data transfer from one memory to another memory |
Family Cites Families (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS57153341A (en) * | 1981-03-19 | 1982-09-21 | Mitsubishi Electric Corp | Microprogram processing system |
JP2513884B2 (ja) * | 1989-01-17 | 1996-07-03 | 富士通株式会社 | マイクロプロセッサ |
US5185694A (en) * | 1989-06-26 | 1993-02-09 | Motorola, Inc. | Data processing system utilizes block move instruction for burst transferring blocks of data entries where width of data blocks varies |
JP2677719B2 (ja) * | 1991-05-08 | 1997-11-17 | 富士通株式会社 | 情報処理装置 |
JPH0721034A (ja) * | 1993-06-28 | 1995-01-24 | Fujitsu Ltd | 文字列複写処理方法 |
US5781750A (en) * | 1994-01-11 | 1998-07-14 | Exponential Technology, Inc. | Dual-instruction-set architecture CPU with hidden software emulation mode |
US5542059A (en) * | 1994-01-11 | 1996-07-30 | Exponential Technology, Inc. | Dual instruction set processor having a pipeline with a pipestage functional unit that is relocatable in time and sequence order |
US5481684A (en) * | 1994-01-11 | 1996-01-02 | Exponential Technology, Inc. | Emulating operating system calls in an alternate instruction set using a modified code segment descriptor |
US5761472A (en) * | 1994-03-09 | 1998-06-02 | Sun Microsystems, Inc. | Interleaving block operations employing an instruction set capable of delaying block-store instructions related to outstanding block-load instructions in a computer system |
JPH1091430A (ja) | 1996-09-13 | 1998-04-10 | Matsushita Electric Ind Co Ltd | 命令解読装置 |
US5966734A (en) * | 1996-10-18 | 1999-10-12 | Samsung Electronics Co., Ltd. | Resizable and relocatable memory scratch pad as a cache slice |
KR19980079634A (ko) | 1997-03-13 | 1998-11-25 | 포맨 제프리 엘 | 비 순서적인 프로세싱 시스템에서의 효율적인 인스트럭션 송출방법 및 장치 |
US5923872A (en) * | 1997-11-26 | 1999-07-13 | Digital Equipment Corporation | Apparatus for sampling instruction operand or result values in a processor pipeline |
US6173393B1 (en) * | 1998-03-31 | 2001-01-09 | Intel Corporation | System for writing select non-contiguous bytes of data with single instruction having operand identifying byte mask corresponding to respective blocks of packed data |
US6269440B1 (en) * | 1999-02-05 | 2001-07-31 | Agere Systems Guardian Corp. | Accelerating vector processing using plural sequencers to process multiple loop iterations simultaneously |
EP1050804A1 (en) * | 1999-05-03 | 2000-11-08 | STMicroelectronics SA | Execution of instruction loops |
US6609193B1 (en) | 1999-12-30 | 2003-08-19 | Intel Corporation | Method and apparatus for multi-thread pipelined instruction decoder |
US6810502B2 (en) * | 2000-01-28 | 2004-10-26 | Conexant Systems, Inc. | Iteractive decoder employing multiple external code error checks to lower the error floor |
US7506328B2 (en) | 2002-02-11 | 2009-03-17 | Xerox Corporation | Method and system for optimizing performance of an apparatus |
US7346716B2 (en) | 2003-11-25 | 2008-03-18 | Intel Corporation | Tracking progress of data streamer |
US7577947B2 (en) | 2003-12-19 | 2009-08-18 | Intel Corporation | Methods and apparatus to dynamically insert prefetch instructions based on garbage collector analysis and layout of objects |
US7496908B2 (en) | 2004-01-14 | 2009-02-24 | International Business Machines Corporation | Method and apparatus for optimizing code execution using annotated trace information having performance indicator and counter information |
TWI266238B (en) | 2004-04-12 | 2006-11-11 | Univ Nat Chiao Tung | Hierarchical instruction coding suitable for very long instruction word and decoder thereof |
US7698354B2 (en) * | 2004-04-16 | 2010-04-13 | Analog Devices, Inc. | Programmable engine core for executing digital signal processing functions |
US20070150705A1 (en) | 2005-12-28 | 2007-06-28 | Intel Corporation | Efficient counting for iterative instructions |
US20080243840A1 (en) * | 2007-03-29 | 2008-10-02 | Microsoft Corporation | Comparing data sets through identification of matching blocks |
US20080244224A1 (en) * | 2007-03-29 | 2008-10-02 | Peter Sassone | Scheduling a direct dependent instruction |
US8082233B2 (en) * | 2007-03-29 | 2011-12-20 | Microsoft Corporation | Comparing data sets through identification of matching blocks |
CN100549938C (zh) * | 2007-11-28 | 2009-10-14 | 北京中星微电子有限公司 | Fifo控制电路及控制方法 |
-
2008
- 2008-11-05 US US12/290,962 patent/US8543796B2/en not_active Expired - Fee Related
-
2009
- 2009-10-30 BR BRPI0920790-2A patent/BRPI0920790A2/pt not_active IP Right Cessation
- 2009-10-30 JP JP2011534805A patent/JP5356531B2/ja not_active Expired - Fee Related
- 2009-10-30 KR KR1020117007717A patent/KR101267911B1/ko not_active IP Right Cessation
- 2009-10-30 WO PCT/US2009/062736 patent/WO2010053837A2/en active Application Filing
- 2009-11-03 TW TW098137276A patent/TWI434213B/zh not_active IP Right Cessation
- 2009-11-05 CN CN200911000152.7A patent/CN101788903B/zh not_active Expired - Fee Related
-
2013
- 2013-08-28 US US14/012,344 patent/US8935514B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US20130346728A1 (en) | 2013-12-26 |
CN101788903B (zh) | 2014-10-29 |
KR101267911B1 (ko) | 2013-05-31 |
KR20110050722A (ko) | 2011-05-16 |
US20100115240A1 (en) | 2010-05-06 |
WO2010053837A2 (en) | 2010-05-14 |
CN101788903A (zh) | 2010-07-28 |
JP2012507805A (ja) | 2012-03-29 |
WO2010053837A3 (en) | 2010-07-29 |
TW201030606A (en) | 2010-08-16 |
US8935514B2 (en) | 2015-01-13 |
TWI434213B (zh) | 2014-04-11 |
US8543796B2 (en) | 2013-09-24 |
BRPI0920790A2 (pt) | 2020-08-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5356531B2 (ja) | シーケンス検出又は命令に関連付けられた情報に基づいた命令の最適化性能 | |
JP5512803B2 (ja) | ベクトル命令を取り扱うためのデータ処理装置および方法 | |
KR101511837B1 (ko) | 벡터 분할 루프들의 성능 향상 | |
US6697932B1 (en) | System and method for early resolution of low confidence branches and safe data cache accesses | |
KR101225075B1 (ko) | 실행되는 명령의 결과를 선택적으로 커밋하는 시스템 및 방법 | |
KR101417597B1 (ko) | 제로 프레디케이트 브랜치 예측실패에 대한 브랜치 예측실패 거동 억제 | |
JP6331865B2 (ja) | プログラム最適化方法,プログラム最適化プログラム及びプログラム最適化装置 | |
JP2009540412A (ja) | ローカル及びグローバル分岐予測情報の格納 | |
US8499293B1 (en) | Symbolic renaming optimization of a trace | |
US10338923B2 (en) | Branch prediction path wrong guess instruction | |
US8250344B2 (en) | Methods and apparatus for dynamic prediction by software | |
CN112241288A (zh) | 在硬件中检测条件分支的动态控制流重汇聚点 | |
US10185561B2 (en) | Processor with efficient memory access | |
JP7046087B2 (ja) | キャッシュ・ミス・スレッド・バランシング | |
CN111324948B (zh) | 模拟方法及模拟系统 | |
JP4137735B2 (ja) | 動的遅延演算情報を使用して制御投機ロードの即時遅延を制御する方法およびシステム | |
US20160011889A1 (en) | Simulation method and storage medium | |
US20060015706A1 (en) | TLB correlated branch predictor and method for use thereof | |
CN113918225A (zh) | 指令预测方法、指令数据处理装置、处理器以及存储介质 | |
Shah et al. | SPSIM: SuperScalar Processor SIMulater CS305 Project Report | |
US20240111541A1 (en) | Reducing Overhead In Processor Array Searching | |
US20060259752A1 (en) | Stateless Branch Prediction Scheme for VLIW Processor | |
CN118012509A (zh) | 清空流水线的方法、处理器、芯片及电子设备 | |
US20150127318A1 (en) | Apparatus and method for simulating an operation of an out-of-order processor | |
JP2008501166A (ja) | Tlb相関型分岐予測器及びその使用方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130327 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130402 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130618 |
|
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: 20130702 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20130731 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20130806 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130828 |
|
R150 | Certificate of patent or registration of utility model |
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 |
|
LAPS | Cancellation because of no payment of annual fees |