JP5154119B2 - プロセッサ - Google Patents
プロセッサ Download PDFInfo
- Publication number
- JP5154119B2 JP5154119B2 JP2007080000A JP2007080000A JP5154119B2 JP 5154119 B2 JP5154119 B2 JP 5154119B2 JP 2007080000 A JP2007080000 A JP 2007080000A JP 2007080000 A JP2007080000 A JP 2007080000A JP 5154119 B2 JP5154119 B2 JP 5154119B2
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- arithmetic unit
- processor
- type
- operand
- 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
- 239000000872 buffer Substances 0.000 claims description 11
- 230000004044 response Effects 0.000 claims description 2
- 238000006243 chemical reaction Methods 0.000 description 13
- 238000000034 method Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 6
- 230000008569 process Effects 0.000 description 5
- 238000003491 array Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 238000002360 preparation method Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 239000004065 semiconductor Substances 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/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3824—Operand accessing
- G06F9/383—Operand prefetching
-
- 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
-
- 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)
- Advance Control (AREA)
- Executing Machine-Instructions (AREA)
Description
(2)レジスタ又はメモリからソースオペランドをフェッチ
(3)演算を実行
(4)演算結果をレジスタ又はメモリに書き込む
(2)パイプラインレイテンシ(遅延)によって引き起こされる、依存関係のあるデータ(例えばソースオペランド、アドレス、又はフラグ)の準備未完了
<基本的な概念>
図1のC言語で記述されたプログラムを参照して、第1の実施形態の基本的な概念を説明する。
Z[1]=X[1]*Y[1]
Z[2]=X[2]*Y[2]
Z[3]=X[3]*Y[3]
・・・
・・・
・・・
Z[999]=X[999]*Y[999]
add r3, #1
を、レジスタr3を使用するオブジェクティブ命令
fmov fr0, @(r0+4*r3)
fmov fr1, @(r1+4*r3)
fmov @(r2+4*r3), fr0
よりも先に実行することができない。仮に、先に実行してしまったとすると、配列X、Y、及びZのインデックスの値は非オブジェクティブ命令の実行に依存して変化し、正しいメモリアドレスを指し示すことができない。
図3は、第1の実施形態に係るプロセッサ300の構成例を示すブロック図である。また、図4はプロセッサ300の命令セットの一例を示す図、図5はプロセッサ300が備えるレジスタの一例を示す図、図6は本実施形態におけるオペランドの表記法を説明する図である。本実施形態では、図4の整数命令が非オブジェクティブ命令であり、浮動小数命令がオブジェクティブ命令であるものとする。従って、整数データが非オブジェクティブデータであり、浮動小数データがオブジェクティブデータである。しかし、オブジェクティブ命令(及びデータ)、及び非オブジェクティブ命令(及びデータ)の定義は「基本的な概念」のセクションで説明した通りであり、これに限られるものではない。また、制御命令は、非オブジェクティブ命令であるが、後述する命令デコーダ305内で処理される。制御命令が図4に示すjleのようにフラグレジスタccを分岐で使用する場合は、図3に示すように、フラグレジスタの値が整数レジスタファイル311あるいは浮動小数レジスタファイル313から命令デコーダ305に供給される。ここでフラグレジスタccはソフトウエアから見た論理フラグレジスタであり、直前のフラグ生成を行う命令が整数演算であるか浮動小数演算であるかに応じて、整数レジスタファイル311あるいは浮動小数レジスタファイル313内の物理フラグレジスタ値(iccあるいはfcc)のいずれかが選択される。整数部306と浮動小数部307がそれぞれ物理フラグレジスタを持つのは、整数部306と浮動小数部307における演算が並行して実行されるためである。仮に物理フラグレジスタが1つしかなく整数と浮動小数で共有されている場合、FIFO308(バッファ)によるキューイングのため遅れて実行されたオブジェクティブ命令が生成するフラグ値が、非オブジェクティブ命令により生成されたフラグ値を破壊するという問題が発生する。
オペランド処理回路309は、オペランドのアドレスの演算を行う。例えば、オペランドが@(r0+4*r3)であり、レジスタr0の値が0x1000、レジスタr3の値が0x100の場合、オペランド処理回路309は、r0+4*r3を計算することにより、アドレス0x1400を求める。
fmov fr0, @(r0+4*r3)
という命令は、
fmov fr0, @(0x1400)
という命令に変換される(厳密には、命令は命令デコーダ305によって浮動小数部307の制御信号の形式にデコードされている)。即ち、オペランド処理回路309は、オブジェクティブ命令のオペランドに含まれる、変数としての整数部306に係るレジスタ(例えば、r0やr3など)の値を定数値に置換する。更に、置換後の定数値間の演算(例えば、加算や乗算)も実行してもよい。
命令がオブジェクティブ命令の場合、fmov以外の命令は、浮動小数のオペランドのみが使用可能である。このため、浮動小数部307と整数部306との間の依存関係の解消は必要ない。
fmov r3, fr0 (浮動小数を整数に変換)
データやリソースの依存関係の例としては、アドレス生成によるもの(AGI(Address Generation Interlock)ストール)、データ或いはフラグの依存関係によるもの、メモリアクセス待ちによるもの、演算リソース待ちによるものなどがある。
例えば図2のアセンブリコードに示される、
mov r3, #0 …(1)
fmov fr0, @(r0+4*r3) …(2)
という連続する2つの命令において、レジスタr3の依存関係があり、オペランド処理回路309が命令(2)のオペランドを処理する前にレジスタr3の値が確定しなければならない(即ち、命令(1)の実行結果が整数レジスタファイル311に書き戻されなければならない)。しかしながら、整数部306のパイプラインレイテンシのためにレジスタr3の値が確定できない場合は、処理待ちを行わなければならない。このため、AGIストール制御回路901は、オペランド処理回路309の前になければならない。AGIストールが必要かどうかは、整数レジスタの番号(r3の3という番号)には依存するが、レジスタr3の内容には依存しない。
連続する2つの命令、例えば、
fmov @(r0), fr1 …(3)
fmov fr0,@(r2+4*r3) …(4)
において、オペランド「@(r0)」と「@(r2+4*r3)」が同じアドレスを指すかどうかは、オペランドのアドレスが確定したあとでなければ検出できない。データ生成の依存関係のストール制御回路はオペランド処理回路309の後になければならない(整数データ依存ストール制御回路902に対応)。
プロセッサ300は、図7及び図8に示すようにパイプライン及びバイパス回路(BP)を備えることができる。図7及び図8において、図3の構成要素と同一の構成要素には同一の符号を付し、説明を省略する。
例えば図2のアセンブリコードに示される、
fmov fr0, @(r0+4*r3) …(A)
fmov fr1, @(r1+4*r3) …(B)
fmul fr0, fr0, fr1 …(C)
という連続する3つの命令において、命令(B)の実行結果は1命令後の命令(C)で使用され、命令(A)の実行結果は2命令後の命令(C)で使用される。ここで、命令(A)と命令(B)の実行結果はそれぞれ、メモリI/F302を通して浮動小数ALU312へ同じサイクル数(レイテンシ)でFZ−バスに供給されるものとする。命令(C)が浮動小数レジスタファイル313のレジスタfr0及びfr1の内容を選択する時点で、命令(A)及び命令(B)の実行結果の浮動小数レジスタファイル313への格納は完了していない。そこで、命令(A)の実行結果は、バイパス回路803を通してレジスタfr0の値の代わりに供給され、命令(B)の実行結果はバイパス回路802を通してEX(Execution)ステージに直接供給することで、実行結果が浮動小数レジスタファイル313に書き戻されるのを待つことなく、命令(C)の実行が可能となる。バイパス条件としては、データの行き先とデータの由来元の比較を行い、一致すればバイパス回路よりデータが供給される。
例えば図2のアセンブリコードに示される、
mov r3, #0 …(D)
fmov fr0, @(r0+4*r3) …(A)
という連続する2つの命令において、命令(D)の実行結果は命令(A)のオペランドのアドレスの計算で使用される。命令(A)の実行結果が整数レジスタファイル311に書き戻されるためには、命令(A)は2サイクル待たなければならない。そこで、命令(D)の実行結果をバイパス回路706を通して整数レジスタファイル311からの値の代わりに供給することで、命令(A)の待ち時間が1サイクルに短縮される。
2つの連続する命令、例えば、
fmov @(r0), fr1 …(E)
fmov fr2, @(r2+4*r3) …(F)
で、オペランド「@(r0)」と「@(r2+4*r3)」とが同じアドレスを指し示す場合は、命令(E)と命令(F)との間に依存関係が存在するが、異なるアドレスである場合は依存関係が存在しない。このため、オペランドの処理結果に応じてパイパスをさせるか、ストール制御をすることが必要である。この場合のバイパス回路は、図7及び図8に示すバイパス回路と同様にメモリインタフェース302内部に実装可能である。
フラグレジスタ(icc又はfcc)の値も、データの場合と同様に、バイパス回路707又はバイパス回路805を設けることで、フラグを使用する命令の待ち時間を短縮あるいはゼロにすることができる。
2つの連続する命令、例えば、
mov r3, #0 …(G)
mov r2, r0+4*r3 …(H)
で、命令(G)の実行結果は命令(H)のオペランドの計算で使用される。この場合、命令(H)のオペランド「r0+4*r3」内に、命令(G)の実行結果を収めるレジスタr3が入るが、バイパス回路701を経由して、命令(G)の結果を命令(H)に供給してはいけない。(仮にパイパス回路701を使用すると、命令(H)のオペランド「r0+4*r3」が、r3の値に置き換えられてしまう。)この場合、命令(H)の実行開始を1サイクル遅らせて、整数レジスタファイル311内のバイパス回路706を使用して命令(G)の実行結果をオペランド処理回路309に供給するのが、最も待ち時間が少ない。
fmov fr3, #0x1000 …(I)
のように定数値をロードする命令の場合、この前の命令が何であっても依存関係が存在しない。
プロセッサ300は、投機実行機能を備えることができる。投機実行を利用すると、プロセッサ300は、分岐条件の計算の完了を待つことなく、分岐予測(計算結果の予測)に基づいて処理を分岐し、分岐後の命令を実行することができる。分岐予測の正誤は、分岐条件の計算の完了により確定する。分岐予測が誤っていた場合は、投機実行により実行された命令を取り消す必要がある。
フラグ(フラグレジスタの値)は、整数ALU310あるいは浮動小数ALU312による演算によって生成され、条件分岐命令jle、整数或いは浮動小数の条件付選択命令sel,fselなど(図4参照)で使用される。前述のように、オブジェクティブ命令と非オブジェクティブ命令とは並行して実行されるため、フラグを生成する命令と、フラグを使用する命令との間で、フラグに起因する依存関係が発生する場合がある。
例えば、最も直前の整数フラグレジスタiccの値を生成する命令が、
cmp r3,#0x10 …(J)
であり、レジスタiccに基づきレジスタfr1かレジスタfr2のいずれかを選択してレジスタfr0に代入する命令が、
fsel fr0,fr1,fr2 …(K)
であるとする。命令(K)は、以下のように関数fを用いてオペランド2個の命令として表すことができる。
fmov fr0,fr1 …(M)
あるいは、
fmov fr0,fr2 …(N)
という命令に変換される(厳密には、命令は命令デコーダ305によって浮動小数部307の制御信号の形式にデコードされている)。これにより、レジスタiccとの依存関係が解消される。
オブジェクティブ命令で生成されるフラグを、非オブジェクティブ命令或いは制御命令へ伝播させるためには、浮動小数部307の処理待ちをする必要がある。この場合、命令デコーダ305は、非オブジェクティブ命令のデコードを停止(或いは、制御命令のデコードを停止)することで、同期処理を行う。
fcmp fr3,#0x10 …(O)
であり、そのレジスタfccに基づきr1かr2のいずれかを選択してr0に代入する命令が、
sel r0,r1,r2 …(P)
であるとき、浮動小数部307でのフラグの生成を待たずに、例えば前回の演算結果などに基づいて投機的にr1あるいはr2を選択してr0に代入することができる。この場合、FIFO308が整数部306のパイプライン長よりも深い場合、浮動小数部307おける命令(O)の開始前に、命令(P)の投機実行の結果がレジスタr0に格納されてしまうという問題が発生する。この場合の投機実行をキャンセルするためには、投機実行前のレジスタr0の内容を保存しておかなければならない。そこで、図10に示した投機実行フラグを用いて、投機実行前のレジスタr0の保存等の制御を行うことができる。
<浮動小数と整数との間の変換>
浮動小数と整数の変換を行う場合は、フラグの依存性と同様の処理が必要である。整数を浮動小数に変換する場合は、対応関係を保ったまま伝播させる必要がある。逆に、浮動小数を整数に変換する場合は、浮動小数演算の処理待ちをする必要がある。
非オブジェクティブ命令からオブジェクティブ命令へのフラグの伝播と同様に、オペランド処理回路309で整数レジスタのオペランドを浮動小数レジスタのオペランドへ変換することができる。
浮動小数から整数への変換結果を整数部306が直ちに使用する場合は、オブジェクティブ命令から条件分岐命令あるいは非オブジェクティブ命令へのフラグの伝播と同様に、浮動小数部307の処理待ちをする必要がある。この場合はハードウェアにより同期処理を行い、浮動小数部307と整数部306を直結する変換回路314で浮動小数部307から整数部306へ変換結果が転送されるのが好ましい。変換結果を直ちに使用しない場合は、浮動小数部307が変換結果をメモリへ格納して、必要になった段階で整数部306が読み出して使用することもできる。
第2の実施形態では、演算リソース(具体的には浮動小数ALU)を複数のプロセッサで共有することにより、回路構成の複雑化を抑制しつつ、複数の命令を並列に実行可能に構成されたプロセッサを説明する。
Claims (5)
- 演算対象のデータの性質に基づいて分類された、第1タイプの命令及び第2タイプの命令を含むプログラムから命令を順次取得してデコードするデコーダと、
前記第1タイプの命令を前記デコーダから順次受信して実行する第1演算ユニットと、
前記第2タイプの命令のオペランドに含まれる、前記第1演算ユニットに関連するレジスタにセットされる変数値を定数値に置換するオペランド処理回路と、
前記デコーダによってデコードされ、前記オペランド処理回路によってオペランドが置換された前記第2タイプの命令をキューイングするバッファと、
前記第2タイプの命令を前記バッファから順次取得して実行する第2演算ユニットと、
を備え、
前記第2タイプの命令は、前記プログラムの目的の入出力データ、又は前記入出力データの演算途中のデータを演算対象として扱う命令であり、
前記第1タイプの命令は、前記入出力データ又は前記演算途中のデータ以外のデータを演算対象として扱う命令である
ことを特徴とするプロセッサ。 - 前記第1演算ユニットは論理演算装置を含み、
前記第2演算ユニットは浮動小数演算装置を含む
ことを特徴とする請求項1に記載のプロセッサ。 - 前記デコーダは、分岐予測に基づいて投機実行を制御する投機実行制御回路を備え、
前記投機実行制御回路は、
投機実行されたことを示す投機実行情報を、投機実行される命令にセットし、
前記分岐予測が正しいと判明した場合に、前記投機実行情報がセットされた命令から当該投機実行情報をクリアするように前記第1演算ユニット、前記第2演算ユニット、及び前記バッファを制御し、
前記分岐予測が誤っていると判明した場合に、前記投機実行情報がセットされた命令を取り消すように前記第1演算ユニット、前記第2演算ユニット、及び前記バッファを制御する
ことを特徴とする請求項1又は2に記載のプロセッサ。 - 前記第2演算ユニットから供給される、前記第2演算ユニットが前記第2タイプの命令を実行中であることを示す信号に応答して、前記第2演算ユニットによる次の前記第2タイプの命令の受信を停止させるストール制御回路を更に備えることを特徴とする請求項1乃至3のいずれか1項に記載のプロセッサ。
- 演算対象のデータの性質に基づいて分類された、第1タイプの命令及び第2タイプの命令を含むプログラムから命令を順次取得してデコードするデコーダと、
前記第1タイプの命令を前記デコーダから順次受信して実行する第1演算ユニットと、
前記第2タイプの命令のオペランドに含まれる、前記第1演算ユニットに関連するレジスタにセットされる変数値を定数値に置換するオペランド処理回路と、
前記デコーダによってデコードされ、前記オペランド処理回路によってオペランドが置換された前記第2タイプの命令をキューイングするバッファと、
前記第2タイプの命令に係るレジスタの値を記憶するレジスタファイルと、
を備えるサブプロセッサを複数備え、
更に、
前記第2タイプの命令に係る演算を実行する複数の演算器と、
前記複数のサブプロセッサそれぞれの前記バッファから並行して前記第2タイプの命令を順次取得し、取得した命令により実行される演算の種類に基づいて前記複数の演算器から選択した演算器に前記取得した命令を供給する制御回路と、
を備えることを特徴とするプロセッサ。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007080000A JP5154119B2 (ja) | 2007-03-26 | 2007-03-26 | プロセッサ |
US12/529,184 US20100095091A1 (en) | 2007-03-26 | 2008-03-20 | Processor, Method and Computer Program |
EP08718099A EP2140348A2 (en) | 2007-03-26 | 2008-03-20 | Processor, method and computer program |
PCT/EP2008/053384 WO2008116830A2 (en) | 2007-03-26 | 2008-03-20 | Processor, method and computer program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007080000A JP5154119B2 (ja) | 2007-03-26 | 2007-03-26 | プロセッサ |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008242647A JP2008242647A (ja) | 2008-10-09 |
JP5154119B2 true JP5154119B2 (ja) | 2013-02-27 |
Family
ID=39616560
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007080000A Expired - Fee Related JP5154119B2 (ja) | 2007-03-26 | 2007-03-26 | プロセッサ |
Country Status (4)
Country | Link |
---|---|
US (1) | US20100095091A1 (ja) |
EP (1) | EP2140348A2 (ja) |
JP (1) | JP5154119B2 (ja) |
WO (1) | WO2008116830A2 (ja) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012095984A1 (ja) * | 2011-01-13 | 2012-07-19 | 富士通株式会社 | スケジューリング方法及びスケジューリングシステム |
US10303525B2 (en) | 2014-12-24 | 2019-05-28 | Intel Corporation | Systems, apparatuses, and methods for data speculation execution |
US10387158B2 (en) | 2014-12-24 | 2019-08-20 | Intel Corporation | Systems, apparatuses, and methods for data speculation execution |
US10061583B2 (en) | 2014-12-24 | 2018-08-28 | Intel Corporation | Systems, apparatuses, and methods for data speculation execution |
US10942744B2 (en) | 2014-12-24 | 2021-03-09 | Intel Corporation | Systems, apparatuses, and methods for data speculation execution |
US10387156B2 (en) | 2014-12-24 | 2019-08-20 | Intel Corporation | Systems, apparatuses, and methods for data speculation execution |
US10061589B2 (en) * | 2014-12-24 | 2018-08-28 | Intel Corporation | Systems, apparatuses, and methods for data speculation execution |
US9785442B2 (en) | 2014-12-24 | 2017-10-10 | Intel Corporation | Systems, apparatuses, and methods for data speculation execution |
US10229470B2 (en) * | 2016-08-05 | 2019-03-12 | Intel IP Corporation | Mechanism to accelerate graphics workloads in a multi-core computing architecture |
GB2564144B (en) | 2017-07-05 | 2020-01-08 | Advanced Risc Mach Ltd | Context data management |
JP7014965B2 (ja) * | 2018-06-06 | 2022-02-02 | 富士通株式会社 | 演算処理装置及び演算処理装置の制御方法 |
CN115222015A (zh) * | 2021-04-21 | 2022-10-21 | 阿里巴巴新加坡控股有限公司 | 指令处理装置、加速单元和服务器 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
JPH052484A (ja) * | 1991-06-24 | 1993-01-08 | Mitsubishi Electric Corp | スーパースカラプロセツサ |
IL100598A0 (en) * | 1992-01-06 | 1992-09-06 | Univ Bar Ilan | Dataflow computer |
US5799179A (en) * | 1995-01-24 | 1998-08-25 | International Business Machines Corporation | Handling of exceptions in speculative instructions |
US5634103A (en) * | 1995-11-09 | 1997-05-27 | International Business Machines Corporation | Method and system for minimizing branch misprediction penalties within a processor |
US5813045A (en) * | 1996-07-24 | 1998-09-22 | Advanced Micro Devices, Inc. | Conditional early data address generation mechanism for a microprocessor |
US5974538A (en) * | 1997-02-21 | 1999-10-26 | Wilmot, Ii; Richard Byron | Method and apparatus for annotating operands in a computer system with source instruction identifiers |
GB2325535A (en) * | 1997-05-23 | 1998-11-25 | Aspex Microsystems Ltd | Data processor controller with accelerated instruction generation |
US6516405B1 (en) * | 1999-12-30 | 2003-02-04 | Intel Corporation | Method and system for safe data dependency collapsing based on control-flow speculation |
US6615340B1 (en) * | 2000-03-22 | 2003-09-02 | Wilmot, Ii Richard Byron | Extended operand management indicator structure and method |
US7085310B2 (en) * | 2001-01-29 | 2006-08-01 | Qualcomm, Incorporated | Method and apparatus for managing finger resources in a communication system |
JP3895228B2 (ja) * | 2002-05-07 | 2007-03-22 | 松下電器産業株式会社 | 無線通信装置および到来方向推定方法 |
US7580447B2 (en) * | 2003-05-21 | 2009-08-25 | Nec Corporation | Reception device and radio communication system using the same |
US20060203894A1 (en) * | 2005-03-10 | 2006-09-14 | Nokia Corporation | Method and device for impulse response measurement |
JP4841861B2 (ja) * | 2005-05-06 | 2011-12-21 | ルネサスエレクトロニクス株式会社 | 演算処理装置及びデータ転送処理の実行方法 |
JP2007026392A (ja) * | 2005-07-21 | 2007-02-01 | Toshiba Corp | マイクロプロセッサ |
-
2007
- 2007-03-26 JP JP2007080000A patent/JP5154119B2/ja not_active Expired - Fee Related
-
2008
- 2008-03-20 US US12/529,184 patent/US20100095091A1/en not_active Abandoned
- 2008-03-20 EP EP08718099A patent/EP2140348A2/en not_active Withdrawn
- 2008-03-20 WO PCT/EP2008/053384 patent/WO2008116830A2/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
EP2140348A2 (en) | 2010-01-06 |
WO2008116830A2 (en) | 2008-10-02 |
WO2008116830A3 (en) | 2009-02-26 |
JP2008242647A (ja) | 2008-10-09 |
US20100095091A1 (en) | 2010-04-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5154119B2 (ja) | プロセッサ | |
US11061672B2 (en) | Chained split execution of fused compound arithmetic operations | |
KR101515311B1 (ko) | 승산-승산-누산 명령 수행 | |
US8069340B2 (en) | Microprocessor with microarchitecture for efficiently executing read/modify/write memory operand instructions | |
US8074060B2 (en) | Out-of-order execution microprocessor that selectively initiates instruction retirement early | |
JP5491071B2 (ja) | 命令融合演算装置および命令融合演算方法 | |
US8516223B2 (en) | Dispatching instruction from reservation station to vacant instruction queue of alternate arithmetic unit | |
CN115934168A (zh) | 处理器和内存访问方法 | |
JP7495030B2 (ja) | プロセッサ、処理方法、および関連デバイス | |
US11080063B2 (en) | Processing device and method of controlling processing device | |
JP2004038753A (ja) | プロセッサ及び命令制御方法 | |
US7437544B2 (en) | Data processing apparatus and method for executing a sequence of instructions including a multiple iteration instruction | |
JP4444305B2 (ja) | 半導体装置 | |
JP7409208B2 (ja) | 演算処理装置 | |
KR20080008683A (ko) | 멀티스레딩/비순차 병합 기법에 따라 처리하는 방법 및장치 | |
US20190384608A1 (en) | Arithmetic processor and control method of arithmetic processor | |
JP2006520957A (ja) | マルチプロセッサシステムのタイプ変換ユニット | |
US11314505B2 (en) | Arithmetic processing device | |
JP5786719B2 (ja) | ベクトルプロセッサ | |
JP2001142694A (ja) | データフィールドのエンコード方法、情報フィールドの拡張方法、及び、コンピュータシステム | |
US20140089645A1 (en) | Processor with execution unit interoperation | |
JP6314620B2 (ja) | 演算処理装置および演算処理装置の制御方法 | |
JP6307975B2 (ja) | 演算処理装置及び演算処理装置の制御方法 | |
WO2017031975A1 (en) | System and method for multi-branch switching | |
JP2002318689A (ja) | 資源使用サイクルの遅延指定付き命令を実行するvliwプロセッサおよび遅延指定命令の生成方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100225 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120824 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20121113 |
|
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: 20121126 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20121205 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20151214 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5154119 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 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 |
|
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 |