JP4991299B2 - オペランド依存関係によるストールを低減する方法ならびにそのためのデータプロセッサ - Google Patents
オペランド依存関係によるストールを低減する方法ならびにそのためのデータプロセッサ Download PDFInfo
- Publication number
- JP4991299B2 JP4991299B2 JP2006533521A JP2006533521A JP4991299B2 JP 4991299 B2 JP4991299 B2 JP 4991299B2 JP 2006533521 A JP2006533521 A JP 2006533521A JP 2006533521 A JP2006533521 A JP 2006533521A JP 4991299 B2 JP4991299 B2 JP 4991299B2
- Authority
- JP
- Japan
- Prior art keywords
- register
- instruction
- operand
- data processor
- redirect
- 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 - Lifetime
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3824—Operand accessing
- G06F9/3826—Bypassing or forwarding of data results, e.g. locally between pipeline stages or within a pipeline stage
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3824—Operand accessing
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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/3867—Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
- G06F9/3875—Pipelining a single stage, e.g. superpipelining
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)
- Executing Machine-Instructions (AREA)
Description
ADD R2, R0, R1
ADD R3, R1, R2
上記シーケンスでは、第1のレジスタが結果のデスティネーションであり、第2のレジスタと第3のレジスタが入力オペランドを記憶している。R2は第1のADD命令のデスティネーションレジスタであるため、第2のADD命令の実行は、第1のADD命令の結果に依存しており、第1のADD命令の結果がわかるまで行うことができない。
MOV R0, (R1)
ADD R3, R0, R2
このシーケンスでは、1番目の命令は、レジスタR1に記憶されているアドレスが指すメモリの内容を、レジスタR0にロードする。ADD命令が正しく実行されるかどうかは、レジスタR0の新しい値が利用可能かどうかに依存することが明らかである。
MOV R1, R0
ADD R3, R2, R1
上記において、第1の命令はレジスタR0の内容をレジスタR1に移動する転送オペレーションであり、第2の命令は、R1の内容をR2の内容に加算して、この合計をレジスタR3に格納する加算オペレーションである。公知のシステムでは、このシーケンスにより、レジスタファイル、バイパス回路140のいずれかでMOV命令の結果が利用可能になるまで、ADD命令の発行が阻止される依存関係が発生する。実行ユニット200は、第2のオペランドに0の値を使用する同等の加算オペレーションを実行することによって、加算ユニット120を使用してMOV命令を実際に実行する。このため、通常であれば、正規化ステージ126がバイパス回路140に結果を供給するまで、第2の命令を待機させる必要がある。しかし、実行ユニット200では、リダイレクト論理回路210により、ADD命令のR1の内容がR0の内容で置換され、R0の内容が第2のオペランドとしてR0の内容を使用して、ADD命令が直ちに発行される。このようにして、ADD命令が正しく実行される。
ADD R2, R1, R0
ADD R4, R3, R2
第1のADD命令は、R0の内容をR1の内容に加算して、この合計をレジスタR2に格納する加算オペレーションであり、第2の命令は、R2の内容をR3の内容に加算して、この合計をレジスタR4に格納する加算オペレーションである。公知のシステムでは、このシーケンスにより、第1のADD命令の結果が利用可能になるまで、第2のADD命令の発行が阻止される依存関係が発生する。しかし、実行ユニット200では、R1(R0)=0の場合、リダイレクト論理回路210により、第2のADD命令のR2の内容がR0(R1)の内容で置換され、R0(R1)の内容を第2のオペランドとして使用して、第2のADD命令が直ちに発行される。
MUL R2, R1, R0
ADD R4, R3, R2
第1の命令は、レジスタR0の内容にレジスタR1の内容を掛けて、この積をレジスタR2に記憶する乗算オペレーションであり、第2の命令は、R2の内容をR3の内容に加算して、この合計をレジスタR4に格納する加算オペレーションである。公知のシステムでは、このシーケンスにより、MUL命令の結果が利用可能になるまで、ADD命令の発行が阻止される依存関係が発生する。しかし、実行ユニット200では、R1(R0)=1の場合、リダイレクト論理回路210により、ADD命令のR2の内容がR0(R1)の内容で置換され、R0(R1)の内容を第2のオペランドとして使用して、ADD命令が直ちに発行される。
ADD R2, R1, R0
ADD R4, R3, R2
第2のオペランドにR1を使用し、負の数を示すように結果の符号ビットを1に設定することによって発行できる。
Claims (10)
- パイプライン実行ユニット(120)を備えたデータプロセッサ(200)に使用する方法であって、
前記データプロセッサが、第1の命令が、オペランドレジスタに格納された第1オペランドと値がゼロの第2オペランドとの間の加算命令であって、その実行の結果がデスティネーションレジスタに記憶されることになる加算命令と、前記オペランドレジスタに格納された第1オペランドと値が1の第2オペランドとの間の乗算命令であって、その実行の結果がデスティネーションレジスタに記憶されることになる乗算命令とから構成される命令のクラスのうちの1つであるかどうかを判定するステップと、
前記データプロセッサが、前記第1の命令の実行が完了する前に、前記デスティネーションレジスタを参照する第2の命令を受け取るステップと、
前記データプロセッサが、前記第1の命令が前記命令のクラスの1つであることを判定することに応じて、前記オペランドレジスタの内容を使用して前記第2の命令を実行するステップとを有する方法。 - 前記オペランドレジスタを、前記実行するステップの前に、前記データプロセッサが、以前に前記デスティネーションレジスタと関連付けられていた前記第2の命令のオペランド識別子フィールドと関連付けるステップを更に有する請求項1に記載の方法。
- 前記関連付けるステップは、
前記データプロセッサが、前記デスティネーションレジスタのレジスタ識別子を、リダイレクトレジスタ(310)の照合フィールドに記憶するステップと、
前記データプロセッサが、前記オペランドレジスタのレジスタ識別子を、前記リダイレクトレジスタ(310)の置換フィールドに記憶するステップとを更に有する請求項2に記載の方法。 - 前記実行するステップは、
前記データプロセッサが、前記第2の命令のオペランドレジスタ識別子と前記照合フィールドの内容を比較して、照合信号を供給するステップと、
前記データプロセッサが、前記照合フィールドの前記内容に応じて、前記オペランドレジスタ識別子または前記オペランドレジスタを前記置換フィールドの内容で置換して、新しいレジスタ識別子を供給するステップと、
前記データプロセッサが、前記新しいレジスタ識別子を使用して前記第2の命令を実行するステップとを更に有する請求項3に記載の方法。 - パイプライン実行ユニット(120)を備えたデータプロセッサ(200)に使用する方法であって、
前記データプロセッサが、第1の命令が、オペランドレジスタに格納された第1オペランドと値がゼロの第2オペランドとの間の加算命令であって、その実行の結果がデスティネーションレジスタに記憶されることになる加算命令と、前記オペランドレジスタに格納された第1オペランドと値が1の第2オペランドとの間の乗算命令であって、その実行の結果がデスティネーションレジスタに記憶されることになる乗算命令とから構成される命令のクラスのうちの1つであるかどうかを判定するステップと、
前記第1の命令が前記命令のクラスのうちの1つである場合に、前記データプロセッサが、前記デスティネーションレジスタと関連付けられているデスティネーションレジスタ識別子をリダイレクトレジスタの照合フィールドに、オペランドと関連付けられているオペランドレジスタ識別子を前記リダイレクトレジスタの置換フィールドに、および有効ビットを前記リダイレクトレジスタの有効フィールドに記憶するステップと、
前記データプロセッサが、前記第1の命令の実行が完了する前に第2の命令を受け取るステップと、
前記有効ビットが所定の論理状態にある場合に、前記データプロセッサが、前記第2の命令の第1のオペランドレジスタ識別子と前記照合フィールドの内容を比較するステップと、
前記第1のオペランドレジスタ識別子が前記照合フィールドの前記内容と一致する場合、前記データプロセッサが、前記パイプライン実行ユニット(120)内で前記第2の命令をストールさせることなく、前記置換フィールドが示すレジスタの内容を使用して前記第2の命令を実行するステップとを有する方法。 - 前記第1の命令が前記命令のクラスのうちの1つである場合に、前記データプロセッサが、前記第1の命令によって示された符号ビットを前記リダイレクトレジスタの符号フィールドに更に記憶するステップと、
前記データプロセッサが、前記リダイレクトレジスタの前記符号ビットに応じて、参照の結果の符号ビットを選択的に変更するステップとを更に有する請求項5に記載の方法。 - 前記有効ビットが前記所定の論理状態にある場合に、前記データプロセッサが、前記第2の命令の第2のオペランドレジスタ識別子と前記照合フィールドの前記内容を比較するステップと、
前記第1のオペランドレジスタ識別子または前記第2のオペランドレジスタ識別子のいずれかが前記照合フィールドの前記内容と一致する場合、前記データプロセッサが、前記パイプライン実行ユニット(120)内で前記第2の命令をストールさせることなく、前記置換フィールドが示す前記レジスタの前記内容を使用して前記第2の命令を実行するステップとを更に有する請求項5に記載の方法。 - それぞれがオペコード、第1のオペランドのための第1のオペランドレジスタ識別子、およびデスティネーションレジスタのためのデスティネーションレジスタ識別子を少なくとも含む第1の命令と第2の命令とを順番に供給するための出力を備えた発行論理回路(110)と、
読出しアドレス入力および読出しデータ出力を備えた読出しポート、および書込みポートを備えたレジスタファイル(150)と、
前記発行論理回路(110)の前記出力と結合された第1の入力、前記レジスタファイル(150)の前記読出しデータ出力に結合された第2の入力、および前記レジスタファイル(150)の前記書込みポートに結合された出力を備えたパイプライン実行ユニット(120)とを備えたデータプロセッサ(200)であって、
前記データプロセッサは、
その実行の結果、オペランドレジスタの内容がデスティネーションレジスタに記憶されることになる第1の命令が、命令の特定のクラスのうちの1つの命令であるかどうかを判定するために、前記第1の命令をデコードし、前記第1の命令に用いられている少なくとも一つのオペランドの値を検出することに応じて、前記第2の命令の前記第1のオペランドレジスタ識別子を前記第1の命令の前記第1のオペランドレジスタ識別子で置換するため、前記発行論理回路(110)の前記出力に結合された第1の入力と、前記レジスタファイル(150)の前記読出しデータ出力に結合された第2の入力と、前記レジスタファイル(150)の前記読出しアドレス入力に結合された出力とを備えたリダイレクト論理回路(210)を備えるデータプロセッサ(200)。 - 前記第1の命令の実行の結果、前記第1の命令の前記デスティネーションレジスタが、前記第1の命令の前記第1のオペランドレジスタの前記内容を格納するようになると判定された場合に、前記リダイレクト論理回路(210)は、前記第2の命令の前記第1のオペランドレジスタ識別子を前記第1の命令の前記第1のオペランドレジスタ識別子で置換する請求項8に記載のデータプロセッサ(200)。
- 前記リダイレクト論理回路(210)は、
出力端子を有するリダイレクト検出論理回路(300)と、
前記発行論理回路(110)の前記出力に結合され、かつ前記パイプライン実行ユニット(120)のステージと関連付けられており、前記リダイレクト検出論理回路(300)の前記出力端子に結合された有効フィールド、前記デスティネーションレジスタ識別子を受け取るための照合フィールド、ならびに前記第1のオペランドレジスタ識別子および第2のオペランドレジスタ識別子のうちの選択されたほうを受け取るための置換フィールドを少なくとも有する第1のリダイレクトレジスタ(310)と、
前記第2の命令の前記第1のオペランドレジスタ識別子を受け取るための第1の入力端子、前記第1のリダイレクトレジスタ(310)の前記照合フィールドに結合された第2の入力端子、前記第1のリダイレクトレジスタ(310)の前記有効フィールドに結合された制御入力端子、および出力端子を備えた第1の比較器(334)と、
前記第1のオペランドレジスタ識別子を受け取るための第1の入力端子、前記第1のリダイレクトレジスタ(310)の前記置換フィールドに結合された第2の入力端子、前記第1の比較器(334)の前記出力端子に結合された制御入力端子、および前記第2の命令の前記第1のオペランドに対して新しいレジスタ識別子を供給する出力端子を備えた第1のマルチプレクサ(342)とを備える請求項9に記載のデータプロセッサ(200)。
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US10/461,129 US7290121B2 (en) | 2003-06-12 | 2003-06-12 | Method and data processor with reduced stalling due to operand dependencies |
| US10/461,129 | 2003-06-12 | ||
| PCT/US2004/017092 WO2004111838A2 (en) | 2003-06-12 | 2004-06-02 | Method and data processor for reduced pipeline stalling |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2007500406A JP2007500406A (ja) | 2007-01-11 |
| JP4991299B2 true JP4991299B2 (ja) | 2012-08-01 |
Family
ID=33511189
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2006533521A Expired - Lifetime JP4991299B2 (ja) | 2003-06-12 | 2004-06-02 | オペランド依存関係によるストールを低減する方法ならびにそのためのデータプロセッサ |
Country Status (8)
| Country | Link |
|---|---|
| US (1) | US7290121B2 (ja) |
| JP (1) | JP4991299B2 (ja) |
| KR (1) | KR101183270B1 (ja) |
| CN (1) | CN100380317C (ja) |
| DE (1) | DE112004001040B4 (ja) |
| GB (1) | GB2418508B (ja) |
| TW (1) | TWI343543B (ja) |
| WO (1) | WO2004111838A2 (ja) |
Families Citing this family (19)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7328429B2 (en) * | 2003-11-13 | 2008-02-05 | Intel Corporation | Instruction operand tracing for software debug |
| US7272751B2 (en) * | 2004-01-15 | 2007-09-18 | International Business Machines Corporation | Error detection during processor idle cycles |
| US20060095732A1 (en) * | 2004-08-30 | 2006-05-04 | Tran Thang M | Processes, circuits, devices, and systems for scoreboard and other processor improvements |
| US7774582B2 (en) * | 2005-05-26 | 2010-08-10 | Arm Limited | Result bypassing to override a data hazard within a superscalar processor |
| WO2008006400A1 (en) * | 2006-07-11 | 2008-01-17 | Freescale Semiconductor, Inc. | Microprocessor and method for register addressing therein |
| US7565513B2 (en) * | 2007-02-28 | 2009-07-21 | Advanced Micro Devices, Inc. | Processor with power saving reconfigurable floating point unit decoding an instruction to single full bit operation or multiple reduced bit operations |
| DE102008045767A1 (de) | 2008-09-04 | 2010-03-11 | Continental Teves Ag & Co. Ohg | Mikroprozessor mit Pipelineblasen-Erfassungseinrichtung |
| US8977837B2 (en) * | 2009-05-27 | 2015-03-10 | Arm Limited | Apparatus and method for early issue and recovery for a conditional load instruction having multiple outcomes |
| US8464030B2 (en) * | 2010-04-09 | 2013-06-11 | International Business Machines Corporation | Instruction cracking and issue shortening based on instruction base fields, index fields, operand fields, and various other instruction text bits |
| US9354881B2 (en) | 2011-12-27 | 2016-05-31 | Intel Corporation | Systems, apparatuses, and methods for generating a dependency vector based on two source writemask registers |
| US9519944B2 (en) | 2014-09-02 | 2016-12-13 | Apple Inc. | Pipeline dependency resolution |
| US9875107B2 (en) | 2015-01-19 | 2018-01-23 | International Business Machines Corporation | Accelerated execution of execute instruction target |
| CN104915183B (zh) * | 2015-06-23 | 2018-10-16 | 北京玉华骢科技股份有限公司 | 一种多发射流水线的前馈探测电路 |
| US11243774B2 (en) | 2019-03-20 | 2022-02-08 | International Business Machines Corporation | Dynamic selection of OSC hazard avoidance mechanism |
| US10929142B2 (en) | 2019-03-20 | 2021-02-23 | International Business Machines Corporation | Making precise operand-store-compare predictions to avoid false dependencies |
| US20210096877A1 (en) * | 2019-09-26 | 2021-04-01 | Advanced Micro Devices, Inc. | Collapsing bubbles in a processing unit pipeline |
| CN111124500B (zh) * | 2019-12-12 | 2022-03-08 | 浪潮(北京)电子信息产业有限公司 | 一种指令执行方法、装置、设备及存储介质 |
| US11714652B2 (en) * | 2021-07-23 | 2023-08-01 | Advanced Micro Devices, Inc. | Zero operand instruction conversion for accelerating sparse computations in a central processing unit pipeline |
| US20250208874A1 (en) * | 2023-12-26 | 2025-06-26 | Arm Limited | Apparatus, system, chip-containing product and non-transitory computer-readable medium |
Family Cites Families (14)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4594655A (en) * | 1983-03-14 | 1986-06-10 | International Business Machines Corporation | (k)-Instructions-at-a-time pipelined processor for parallel execution of inherently sequential instructions |
| US4734852A (en) * | 1985-08-30 | 1988-03-29 | Advanced Micro Devices, Inc. | Mechanism for performing data references to storage in parallel with instruction execution on a reduced instruction-set processor |
| US5128890A (en) * | 1991-05-06 | 1992-07-07 | Motorola, Inc. | Apparatus for performing multiplications with reduced power and a method therefor |
| US5488729A (en) * | 1991-05-15 | 1996-01-30 | Ross Technology, Inc. | Central processing unit architecture with symmetric instruction scheduling to achieve multiple instruction launch and execution |
| GB9112754D0 (en) | 1991-06-13 | 1991-07-31 | Int Computers Ltd | Data processing apparatus |
| JPH06156382A (ja) * | 1992-11-28 | 1994-06-03 | Sanshin Ind Co Ltd | 船舶推進機の前後進切換装置 |
| US5887160A (en) * | 1996-12-10 | 1999-03-23 | Fujitsu Limited | Method and apparatus for communicating integer and floating point data over a shared data path in a single instruction pipeline processor |
| US5838941A (en) * | 1996-12-30 | 1998-11-17 | Intel Corporation | Out-of-order superscalar microprocessor with a renaming device that maps instructions from memory to registers |
| US5893928A (en) | 1997-01-21 | 1999-04-13 | Ford Motor Company | Data movement apparatus and method |
| JP3449186B2 (ja) * | 1997-08-19 | 2003-09-22 | 富士通株式会社 | パイプラインバイパス機能を有するデータ処理装置 |
| US5872986A (en) * | 1997-09-30 | 1999-02-16 | Intel Corporation | Pre-arbitrated bypassing in a speculative execution microprocessor |
| US6112293A (en) * | 1997-11-17 | 2000-08-29 | Advanced Micro Devices, Inc. | Processor configured to generate lookahead results from operand collapse unit and for inhibiting receipt/execution of the first instruction based on the lookahead result |
| US6094716A (en) * | 1998-07-14 | 2000-07-25 | Advanced Micro Devices, Inc. | Register renaming in which moves are accomplished by swapping rename tags |
| US6857060B2 (en) * | 2001-03-30 | 2005-02-15 | Intel Corporation | System, apparatus and method for prioritizing instructions and eliminating useless instructions |
-
2003
- 2003-06-12 US US10/461,129 patent/US7290121B2/en not_active Expired - Lifetime
-
2004
- 2004-06-02 GB GB0526204A patent/GB2418508B/en not_active Expired - Lifetime
- 2004-06-02 CN CNB200480016227XA patent/CN100380317C/zh not_active Expired - Lifetime
- 2004-06-02 KR KR1020057023922A patent/KR101183270B1/ko not_active Expired - Lifetime
- 2004-06-02 WO PCT/US2004/017092 patent/WO2004111838A2/en not_active Ceased
- 2004-06-02 JP JP2006533521A patent/JP4991299B2/ja not_active Expired - Lifetime
- 2004-06-02 DE DE112004001040T patent/DE112004001040B4/de not_active Expired - Lifetime
- 2004-06-04 TW TW093116095A patent/TWI343543B/zh not_active IP Right Cessation
Also Published As
| Publication number | Publication date |
|---|---|
| US20040255099A1 (en) | 2004-12-16 |
| GB0526204D0 (en) | 2006-02-01 |
| GB2418508B (en) | 2007-03-14 |
| TW200508967A (en) | 2005-03-01 |
| KR101183270B1 (ko) | 2012-09-14 |
| TWI343543B (en) | 2011-06-11 |
| WO2004111838A2 (en) | 2004-12-23 |
| CN1806227A (zh) | 2006-07-19 |
| DE112004001040B4 (de) | 2012-05-31 |
| KR20060029614A (ko) | 2006-04-06 |
| CN100380317C (zh) | 2008-04-09 |
| WO2004111838A3 (en) | 2005-10-27 |
| JP2007500406A (ja) | 2007-01-11 |
| DE112004001040T5 (de) | 2006-06-08 |
| US7290121B2 (en) | 2007-10-30 |
| GB2418508A (en) | 2006-03-29 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP4991299B2 (ja) | オペランド依存関係によるストールを低減する方法ならびにそのためのデータプロセッサ | |
| US6862677B1 (en) | System and method for eliminating write back to register using dead field indicator | |
| US5134693A (en) | System for handling occurrence of exceptions during execution of microinstructions while running floating point and non-floating point instructions in parallel | |
| US6085312A (en) | Method and apparatus for handling imprecise exceptions | |
| US8762444B2 (en) | Fast condition code generation for arithmetic logic unit | |
| US7228403B2 (en) | Method for handling 32 bit results for an out-of-order processor with a 64 bit architecture | |
| US20230315446A1 (en) | Arithmetic processing apparatus and method for arithmetic processing | |
| US20030005261A1 (en) | Method and apparatus for attaching accelerator hardware containing internal state to a processing core | |
| US20100250904A1 (en) | Methods and processor-related media to perform rapid returns from subroutines in microprocessors and microcontrollers | |
| US7010676B2 (en) | Last iteration loop branch prediction upon counter threshold and resolution upon counter one | |
| GB2375855A (en) | Locking source registers in a pipelined data processing apparatus | |
| US6055628A (en) | Microprocessor with a nestable delayed branch instruction without branch related pipeline interlocks | |
| JP2001243071A (ja) | 1サイクルのパイプライン・ストールを生成するパイプライン・プロセッサのシステム及び方法 | |
| US6990569B2 (en) | Handling problematic events in a data processing apparatus | |
| US6851044B1 (en) | System and method for eliminating write backs with buffer for exception processing | |
| US20060179286A1 (en) | System and method for processing limited out-of-order execution of floating point loads | |
| EP1050800A1 (en) | A pipelined execution unit | |
| US7991816B2 (en) | Inverting data on result bus to prepare for instruction in the next cycle for high frequency execution units | |
| US20250390304A1 (en) | Systems and methods for executing an instruction by an arithmetic logic unit pipeline | |
| US8285765B2 (en) | System and method for implementing simplified arithmetic logic unit processing of value-based control dependence sequences | |
| HK1024960A (en) | Method and apparatus for handling imprecise exceptions | |
| HK1116888A (en) | Efficient subprogram return in microprocessors |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070529 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090811 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100202 |
|
| A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20100430 |
|
| RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20100430 |
|
| A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20100513 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100602 |
|
| RD05 | Notification of revocation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7425 Effective date: 20100902 |
|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20110316 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110719 |
|
| A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20110913 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20111214 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120312 |
|
| 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: 20120411 |
|
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120507 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 4991299 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150511 Year of fee payment: 3 |
|
| 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 |
|
| 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 |
|
| 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 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| EXPY | Cancellation because of completion of term |