JP5491071B2 - 命令融合演算装置および命令融合演算方法 - Google Patents

命令融合演算装置および命令融合演算方法 Download PDF

Info

Publication number
JP5491071B2
JP5491071B2 JP2009121807A JP2009121807A JP5491071B2 JP 5491071 B2 JP5491071 B2 JP 5491071B2 JP 2009121807 A JP2009121807 A JP 2009121807A JP 2009121807 A JP2009121807 A JP 2009121807A JP 5491071 B2 JP5491071 B2 JP 5491071B2
Authority
JP
Japan
Prior art keywords
instruction
fusion
arithmetic
general
succeeding
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
Application number
JP2009121807A
Other languages
English (en)
Other versions
JP2010271818A (ja
Inventor
貴彦 上杉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Computertechno Ltd
Original Assignee
NEC Computertechno Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by NEC Computertechno Ltd filed Critical NEC Computertechno Ltd
Priority to JP2009121807A priority Critical patent/JP5491071B2/ja
Priority to US12/782,618 priority patent/US8677102B2/en
Publication of JP2010271818A publication Critical patent/JP2010271818A/ja
Application granted granted Critical
Publication of JP5491071B2 publication Critical patent/JP5491071B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/3017Runtime instruction translation, e.g. macros
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30181Instruction operation extension or modification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
    • G06F9/3893Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled in tandem, e.g. multiplier-accumulator

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)
  • Complex Calculations (AREA)

Description

本発明は命令融合演算装置および命令融合演算方法に関し、特に、複雑な処理を必要とせずに処理時間を短縮することが可能な命令融合演算装置および命令融合演算方法に関する。
一般的に、命令演算装置では、
命令1:fmp S3←S1*S2
命令2:fmp S5←S3*S4
命令3:fad S6←S3+S4
命令4:fad S8←S6+S7
(fmp: Floating Multiply 浮動小数点乗算, fad: Floating Add 浮動小数点加算)
の命令列を実行する場合、命令1の結果を命令2および命令3が参照する複数のフロー依存関係となっており、命令1が完了しないと命令2および命令3を実行できない状況にあった。この命令を、複合演算器である積和演算器で実行させるために積和命令を使用する命令列に置き換えてみると、以下のようになる。
命令1:fmp S3←S1*S2
命令2:fmp S5←S3*S4
命令3’:fad S6←S1*S2+S4
命令4:fad S8←S6+S7
命令3が積和命令の命令3’に置換されるだけであって、データ依存関係どおりにデータ処理を行う必要があり、処理時間短縮にはならない。つまり、複数のフロー依存関係がある命令列では、複合命令に置き換えても高速化できない。
特許文献1には、命令シーケンスAを複数回繰り返す命令ループの最終ループと引き続いて行われる命令シーケンスBのイニシャライズ処理との間の命令追い越しを行うため、データの依存関係があるか否かを表すクラスビットを命令の所定のフィールドに設けて追い越し制御を行う技術が開示されている。
特開2000−020310号公報
しかしながら、特許文献1は、予め、データの依存関係があるか否かを表すクラスビットを命令の所定フィールドに設けなければならない。
本発明の目的は、フロー依存にある先行命令および後続命令の処理において、予めクラスビットを所定フィールドに設ける等の複雑な処理を行うことなく、処理時間を短縮することが可能な命令融合演算装置および命令融合演算方法を提供することにある。
本発明の命令融合演算装置は、フロー依存にある先行命令および後続命令の融合が可能か否かを判断する命令融合検出回路と、命令融合検出回路により融合可能と判断された先行命令と後続命令とを1つの命令に融合する命令融合回路と、命令融合回路により融合された命令を実行して演算結果を出力するとともに、先行命令および後続命令の演算結果の少なくとも1つを途中結果として出力する演算器とを備えることを特徴とする。
本発明の命令融合演算方法は、フロー依存にある先行命令および後続命令の融合が可能か否かを判断する命令融合検出回路を備えた命令融合演算装置において、命令融合検出回路により融合可能と判断された先行命令と後続命令とを1つの命令に融合する融合ステップと、融合された命令を実行して演算結果を出力するとともに、先行命令および後続命令の演算結果の少なくとも1つを途中結果として出力する実行ステップとを有することを特徴とする。
本発明は、複雑な処理を必要とせずに処理時間を短縮することができるという効果を有する。
図1は、本発明の命令融合演算装置の第1の実施形態に係る回路構成を示す図である。 一般的に用いられている命令融合演算装置において命令列を実行したときのタイムチャートである。 本発明の第1の実施形態において、命令追い越しのみ行った場合のタイムチャートである。 本発明の第1の実施形態におけるタイムチャートである。 本発明の第2の実施形態におけるタイムチャートである。 本発明の第3の実施形態におけるタイムチャートである。 本発明の第4の実施形態におけるタイムチャートである。 本発明の命令融合演算装置の第2の実施形態に係る回路構成を示す図である。 本発明の命令融合演算装置の第3の実施形態に係る回路構成を示す図である。 本発明の命令融合演算装置の第4の実施形態に係る回路構成を示す図である。 一般的に用いられている命令融合演算装置の回路構成を示す図である。
図1に、本発明の命令融合演算装置の第1の実施形態に係る回路構成を示す。
命令融合演算装置1は、融合命令検出回路3と、命令追い越し回路4と、命令融合回路6と、退避レジスタ8と、書き込みポートを4つ有する汎用レジスタ9と、積和演算器10および11と、レジスタ2、5および7とから構成される。命令追い越し回路4はIR(Instruction Reservation)レジスタ41を備える。図1では、積和演算器をfma(Floating fused Multiply-Add,浮動小数点積和)と示す。
図1を参照して、本実施形態の動作の概要について説明する。
融合命令検出回路3は、IF(Instruction Fetch:命令取出し)ステージで、先行命令と後続命令との融合が可能か否かのチェックを行う。融合可能と判断された場合、命令追い越し回路4の命令追い越し機構は、フロー依存が発生していても命令追い越しを行うように動作する。これにより、命令同士の融合頻度を上げることができる。なお、本実施形態では、フロー依存にある命令が加算命令および乗算命令のとき命令融合可能としているが(フロー依存にある加算命令および乗算命令を融合可能な積和演算器を使用しているため)、これに限定されるものではない。フロー依存にある2つの命令が加算命令の場合、あるいは、フロー依存にある2つの命令が乗算命令の場合であっても、各々の場合に対応可能な複合演算器を用いることにより命令融合が可能である。
命令融合可能と判断された場合、DEC(DECode:命令解読)ステージでは、命令融合回路6が先行命令と後続命令との命令融合を行い、それら2つの命令を1つの融合命令に置き換え、レジスタ7に格納する。
次に、命令融合回路6は、IS(ISsue:命令発行)ステージで、命令発行に必要なリソースをチェックし、発行可能と判断したらレジスタ7に対し融合命令の発行指示を行う。
一方、融合命令の発行を待たされる場合には、命令融合回路6は退避レジスタ8に当該融合命令を格納し、発行可能になるまで待たせる(RS(Reservation:保留)ステージ)。
命令が発行されると、RD(Read Data:データ読出し)ステージで、積和演算器10および11は汎用レジスタ9からレジスタ7内の命令で指定されるデータを読み出す。
次に、積和演算器10および11は、EX1,EX2(EXecution1, EXecution2:命令実行)ステージで、レジスタ7内の命令で指定される演算処理を行い、その後、WD(Write Data:データ書込み)ステージで演算の途中結果および演算最終結果を汎用レジスタに書き込む。本実施形態では、積和演算器は、融合命令の最終結果に加え、途中結果も出力するように設計されている。
次に、図1を参照して、本実施形態の動作について詳細に説明する。
まず、IFステージで、レジスタ2が後続命令のオペコードをフェッチする。
次に、このオペコードに基づいて、融合命令検出回路3が先行命令との依存関係のチェックを行う。先行命令とフロー依存にあっても命令追い越しにより命令融合が可能な場合は、命令融合検出回路3は「融合可能」と判断し、命令追い越し処理を行わせる。すなわち、命令追い越し回路4が先行命令をIRレジスタ41に一旦保持し、後続命令を優先処理する。
命令追い越し回路4を通過したのち、DECステージのレジスタ5は命令情報を保持し、必要な情報を得るためのデコードが行われ、このデコード結果に基づき、融合できる2つの命令が命令融合回路6で1つの融合命令に変換される。
次に、ISステージのレジスタ7は融合命令情報を保持し、融合命令の実行開始に必要なリソースチェックを行い、リソースが確保できる場合には命令発行を行う。
リソースが確保できず、融合命令の発行が待たされる場合は、発行可能になるまで、退避レジスタ8が融合命令情報を保持しておく(RSステージ)。
融合命令が発行されると、汎用レジスタ9から当該命令のオペランドにより指定されるデータが読み出され、バイパスセレクタにより、積和演算器10および11へ供給される(RDステージ)。
その後、積和演算器10および11へ命令実行指示がなされ、EX1ステージ、EX2ステージで演算処理が行われる。積和演算器10での演算結果はリプライパス101とリプライパス102とを介して汎用レジスタ9に書き込まれる(WDステージ)。同様に、積和演算器11での演算結果はリプライパス111とリプライパス112とを介して汎用レジスタ9に書き込まれる。
なお、本実施形態では、積和演算器10および11を用いているが、これに限定されるものではなく、他の複合演算器でも良い。
次に、本実施形態の動作について、以下の具体的な命令列を用いて、一般的に用いられている構成と対比して説明する。
(命令列)
命令1:fmp S3←S1*S2
命令2:fmp S5←S3*S4
命令3:fad S6←S3+S4
命令4:fad S8←S6+S7
図11に、一般的に用いられている命令融合演算装置18の回路構成を示す。命令融合演算装置1は、レジスタ2、5および7と、退避レジスタ8と、汎用レジスタ9と、積和演算器10および11とから構成される。
図2に、本装置で上記命令列を実行した場合のタイムチャートを示す。
タイミング1で、命令1と命令2のフェッチ(IF)が行われる。
タイミング2で、命令1と命令2のデコード(DEC)が行われ、タイミング3で発行(IS)が行われる。命令2は、命令1とフロー依存になっているので、タイミング7で命令1の結果が得られるまでRSステージで発行が待たされる。タイミング8で命令2の実行が再開され、汎用レジスタ9から命令1の演算結果データが読み出され、タイミング11で演算結果が汎用レジスタに書き込まれる。
命令3および命令4は、タイミング2でフェッチ(IF)され、タイミング3でデコード(DEC)され、タイミング4で発行(IS)される。
命令3は命令1のフロー依存であり、命令4は命令3のフロー依存となっている。
命令3は命令1の結果が得られるまでRSステージで発行が待たされ、命令4は命令3の結果が得られるまでRSステージで発行が待たされる。
タイミング8で汎用レジスタから命令1の演算結果データが読み出され、タイミング11で命令3の演算結果データが汎用レジスタに書き戻される。
さらに、タイミング12で汎用レジスタから命令3の演算結果データが読み出され、タイミング15で命令4の演算結果が汎用レジスタに書き戻される。
次に、本実施形態の動作で上記命令列を実行した場合のタイムチャートについて説明する。
図3に、命令追い越しのみを行った場合のタイムチャートを示す。
タイミング1で、命令1と命令2とのフェッチ(IF)を行う。命令2は、命令1とフロー依存関係にありかつ同じ乗算命令なので命令融合できないが、後続命令3は、命令1とフロー依存関係にあるが加算命令なので命令1と命令融合できる。そのため、命令2は、タイミング2でIRレジスタ2に格納される。
この場合、命令1は、後続命令3の追い越しにより命令融合できるので、タイミング3までDECステージにて待たされることになる。図2に示す命令融合されないケースでは、命令1はタイミング2でDECステージに移り、タイミング3では次のステージに移るので、図3の場合には図2の場合に比べ1タイミング遅れる結果となる。それ以降の動作も、全て1タイミング遅れて実行されることとなる。
次に、本実施形態におけるように、命令追い越し処理と命令融合処理との両方を実行した場合のタイムチャートを図4に示す。
図4では、タイミング1で命令1と命令2とのフェッチ(IF)が行われる。
命令2は、命令1とフロー依存関係にあるが同じ乗算命令なので命令融合できない。一方、後続命令3は命令1とフロー依存関係にあるが加算命令なので命令1と命令融合できる。そのため、命令2は、タイミング2でフェッチされ、IRレジスタ41に格納される。
命令1は、後続命令3の追い越しにより命令融合できるので、タイミング3までDECステージにて待たされる。命令3は、タイミング3のDECステージでデコードされた後、待たされていた命令1と命令融合回路6により融合される。
融合された命令はタイミング4で発行(IS)され、タイミング5で汎用レジスタから演算対象データが読み出され(RD)、タイミング6および7でそれらデータが演算器で実行(EX1,EX2)され、タイミング8で演算結果が汎用レジスタに書き込まれる(WD)。
図4から明らかなように、本実施形態では、命令1と命令3の融合命令である命令1’の演算結果の汎用レジスタ書き込みが、図2の命令3による演算結果の書き込みに比べて、3タイミング高速化されている。
一方、命令2は、タイミング4でIRレジスタ41からDECステージに移りデコード処理され、融合命令1’の結果が得られるタイミング8までRSステージで発行が待たされ、タイミング9で演算対象のデータが汎用レジスタから読み出され、タイミング10および11のEXおよび,EX2ステージでそれらデータに対して演算処理が行われ、タイミング12で演算結果が汎用レジスタに書き込まれる。
また、命令4については、タイミング2でフェッチ(IF)処理、タイミング3でデコード(DEC)処理がなされた後、フロー依存関係のある先行命令の結果が得られるタイミング8までRSステージで命令発行が待たされる。その後、タイミング9で汎用レジスタからの演算対象データの読み出し、タイミング10および11のEX1および,EX2ステージでそれらデータに対する演算処理、タイミング12で演算結果の汎用レジスタへの書き込みが行われる。
以上のように、本実施形態には、フロー依存にある先行命令および後続命令の命令融合を行い、さらにフロー依存にある命令間のデータ受け渡しを、汎用レジスタを介した受け渡しでなく積和演算器のような複合演算器内で行うようにしたため、複雑な処理を必要とせずに処理時間を短縮できるという効果がある。また、命令追い越し処理により命令の並びを変えることで、命令融合の範囲を広げることもできる。
次に、第2の実施形態として、命令追い越し処理と命令融合処理とを合わせ、汎用レジスタの書き込みポートを減らし、他の積和演算器のリプライパスを使用した場合ついて説明する。図8に、本実施形態の命令融合演算装置15の回路構成を、図5に本実施形態のタイムチャートをそれぞれ示す。
命令1および命令3の融合命令である命令1’の演算結果の汎用レジスタへの書き込みをタイミング8で実行するまでは、図6と同じである。命令2と命令4については、同一タイミングで実行しようとすると、2つの積和演算器の最終結果と途中結果の4つのリプライパスでの競合が発生するので、命令4の実行指示を1タイミング遅らせ、タイミング12で命令2の結果を、タイミング13で命令4の結果を汎用レジスタにそれぞれ書き込むように処理が行われる。
第2の実施形態では、第1の実施形態と同様の効果に加え、汎用レジスタ9の書き込みポートを増やすことなく書き込み競合を防ぐことができるという効果がある。
次に、第3の実施形態として、命令追い越し処理と命令融合処理とを合わせ、汎用レジスタ書き込みポートを増やさず、リプライパスが空くまで待たせる場合について説明する。
図9に、本実施形態の命令融合演算装置16の回路構成を示す。リプライパス上にバッファ12および13を備える点のみが第2の実施形態(図8)と異なる。
図6に本実施形態のタイミングチャートを示す。
命令1と命令3の融合命令である命令1’の処理については図5と同じである。
命令2および命令4の実行指示を同一タイミングで行うと、4つのリプライパスに対して2ポートしかないため、タイミング12で汎用レジスタの書き込みポートの競合が発生する。
しかし、途中結果パス上に用意されたバッファ12および13にデータを保持できるので、同一タイミングで実行指示を行う。途中結果パス上に用意されたバッファ12および13にデータを保持して、競合が解消するタイミング13で書き込みを行う。
本実施形態では、第2の実施形態と同様の効果がある。
次に、第4の実施形態として、命令追い越し処理と命令融合処理とを合わせ、汎用レジスタ書き込みポートを増やさず、リプライパスが空くまで待たせる処理(第3の実施形態)に、バイパス動作を追加した場合について説明する。
図10に、本実施形態の命令融合演算装置17の回路構成を示す。バイパスパス141〜144を備える点のみが第1の実施形態と異なる。
図7に本実施形態のタイミングチャートを示す。
命令追い越しを行い命令融合させた処理にバイパス動作を行うと、先行命令1’の演算結果がタイミング7で得られる。命令1’とフロー依存にある命令2および命令4の実行指示は、タイミング8で先行演算結果を演算器入力にセットできるように制御する。そうすることで、命令2と命令4の演算結果はタイミング9で得られるが、4つのリプライパスが2ポートしかない汎用レジスタへの書き込みポートで競合が発生する。
しかし、途中結果パス上に用意されたバッファにデータを保持できるので、同一タイミングで実行指示を行う。途中結果パス上に用意されたバッファにデータを保持して、競合が解消するタイミング11で書き込み処理を行う。
本実施形態では、演算結果を積和演算器11、12に直接入力するバイパスパスを設けたことで、第1の実施形態よりもさらに処理時間を短縮することができるという効果がある。
1 命令融合演算装置
2 レジスタ
3 融合命令検出回路
4 命令追い越し回路
41 IRレジスタ
5 レジスタ
6 命令融合回路
7 レジスタ
8 退避レジスタ
9 汎用レジスタ
10 積和演算器
11 積和演算器
12 バッファ
13 バッファ
141〜144 バイパスバス
15〜18 命令融合演算装置

Claims (14)

  1. フロー依存にある先行命令および後続命令の融合が可能か否かを判断する命令融合検出
    回路と、
    前記命令融合検出回路により融合可能と判断された先行命令と後続命令とを1つの命令
    に融合する命令融合回路と、
    前記命令融合回路により融合された命令を実行して演算結果を出力するとともに、前記
    先行命令の演算結果を途中結果として出力する演算器と、
    を備えることを特徴とする命令融合演算装置。
  2. 前記命令融合検出回路は、前記先行命令が乗算命令でありかつ前記後続命令が加算命令
    である場合、または、前記先行命令が加算命令でありかつ前記後続命令が乗算命令である
    場合、または、前記先行命令および前記後続命令が加算命令である場合、または、前記先
    行命令および前記後続命令が乗算命令である場合、前記先行命令と前記後続命令とがフロ
    ー依存の関係にあるとき、前記先行命令と前記後続命令とが融合可能と判断することを特
    徴とする請求項1記載の命令融合演算装置。
  3. 命令列中において融合可能と判断された前記先行命令と前記後続命令との間に他の命令
    が存在するとき、前記後続命令の追い越し処理を行う命令追い越し回路を備えることを特
    徴とする請求項1または2記載の命令融合演算装置。
  4. リプライパスを介して演算器に接続された汎用レジスタを備え、前記リプライパス上に
    バッファを備えることを特徴とする請求項1ないし3のいずれか1項に記載の命令融合演
    算装置。
  5. 前記命令融合演算装置が備える前記リプライパスの数は前記汎用レジスタの書き込みポートの数よりも多く、
    前記演算器から前記汎用レジスタの書き込みポートに至る前記リプライスの経路の途中で前記汎用レジスタの書き込みポートの数に合わせて前記リプライパスは統合されている請求項4記載の命令融合演算装置。
  6. 複数の演算器を備え、前記演算器毎に実行のタイミングを変えることを特徴とする請求
    項1ないし5のいずれか1項に記載の命令融合演算装置。
  7. 前記演算器の入力側と出力側とがバイパスパスで接続され、
    前記バイパスパスを介して演算結果が前記演算器に直接入力されることを特徴とする請
    求項1ないし6のいずれか1項に記載の命令融合演算装置。
  8. フロー依存にある先行命令および後続命令の融合が可能か否かを判断する命令融合検出
    回路を備えた命令融合演算装置において、
    前記命令融合検出回路により融合可能と判断された先行命令と後続命令とを1つの命令
    に融合する融合ステップと、
    演算器により前記融合された命令を実行して演算結果を出力するとともに、当該演算器により先行命令の演算結果を途中結果として出力する実行ステップと、
    を有することを特徴とする命令融合演算方法。
  9. 前記融合ステップにおいて、
    前記先行命令が乗算命令でありかつ前記後続命令が加算命令である場合、または、前記
    先行命令が加算命令でありかつ前記後続命令が乗算命令である場合、または、前記先行命
    令および前記後続命令が加算命令である場合、または、前記先行命令および前記後続命令
    が乗算命令である場合、前記先行命令と前記後続命令とがフロー依存の関係にあるとき、
    前記先行命令と前記後続命令とを融合可能と判断して1つの命令に融合することを特徴と
    する請求項8記載の命令融合演算方法。
  10. 前記命令融合演算装置は命令追い越し回路を備え、
    前記命令融合演算方法は、前記命令追い越し回路により、命令列中において融合可能と判断された前記先行命令と前記後続命令との間に他の命令が存在するとき、前記後続命令の追い越し処理を行う追い越しステップを有することを特徴とする請求項8または9記載の命令融合演算方法。
  11. 前記命令融合演算装置は、リプライパスを介して演算器に接続された汎用レジスタとバッファとを備え、
    前記演算器は、前記融合された命令の実行結果を所定の時間バッファに格納した後、汎
    用レジスタに送り出すことを特徴とする請求項8ないし10のいずれか1項記載の命令融
    合演算方法。
  12. 前記命令融合演算装置が備える前記リプライパスの数は、前記汎用レジスタの書き込みポートの数よりも多く、前記演算器から前記汎用レジスタの書き込みポートに至る前記リプライスの経路の途中で、前記汎用レジスタの書き込みポートの数に合わせて前記リプライパスは統合されていることを特徴とする、請求項11に記載の命令融合演算方法。

  13. 前記命令融合演算装置は複数の演算器を備え、
    前記実行ステップにおいて、前記演算器毎に実行のタイミングが異なることを特徴とする請求項8ないし12のいずれか1項に記載の命令融合演算方法。
  14. 前記演算器の入力側と出力側とがバイパスパスで接続され、
    前記演算器は、前記バイパスパスを介して演算結果を前記演算器に直接入力することを
    特徴とする請求項8ないし13のいずれか1項に記載の命令融合演算方法。
JP2009121807A 2009-05-20 2009-05-20 命令融合演算装置および命令融合演算方法 Active JP5491071B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2009121807A JP5491071B2 (ja) 2009-05-20 2009-05-20 命令融合演算装置および命令融合演算方法
US12/782,618 US8677102B2 (en) 2009-05-20 2010-05-18 Instruction fusion calculation device and method for instruction fusion calculation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009121807A JP5491071B2 (ja) 2009-05-20 2009-05-20 命令融合演算装置および命令融合演算方法

Publications (2)

Publication Number Publication Date
JP2010271818A JP2010271818A (ja) 2010-12-02
JP5491071B2 true JP5491071B2 (ja) 2014-05-14

Family

ID=43125340

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009121807A Active JP5491071B2 (ja) 2009-05-20 2009-05-20 命令融合演算装置および命令融合演算方法

Country Status (2)

Country Link
US (1) US8677102B2 (ja)
JP (1) JP5491071B2 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9477476B2 (en) * 2012-11-27 2016-10-25 Qualcomm Incorporated Fusing immediate value, write-based instructions in instruction processing circuits, and related processor systems, methods, and computer-readable media
US9424045B2 (en) * 2013-01-29 2016-08-23 Arm Limited Data processing apparatus and method for controlling use of an issue queue to represent an instruction suitable for execution by a wide operand execution unit
US9329848B2 (en) * 2013-03-27 2016-05-03 Intel Corporation Mechanism for facilitating dynamic and efficient fusion of computing instructions in software programs
US9798519B2 (en) * 2014-07-02 2017-10-24 Via Alliance Semiconductor Co., Ltd. Standard format intermediate result
CN115100017A (zh) 2015-06-10 2022-09-23 无比视视觉技术有限公司 用于处理图像的图像处理器和方法
US10579389B2 (en) * 2015-11-02 2020-03-03 Arm Limited Fusion of instructions by delaying handling of a partial subset of a fusible group of instructions
US10387147B2 (en) * 2017-08-02 2019-08-20 International Business Machines Corporation Managing an issue queue for fused instructions and paired instructions in a microprocessor
US10459726B2 (en) * 2017-11-27 2019-10-29 Advanced Micro Devices, Inc. System and method for store fusion
US10956167B2 (en) * 2019-06-06 2021-03-23 International Business Machines Corporation Mechanism for instruction fusion using tags
US20230315454A1 (en) * 2022-03-30 2023-10-05 Advanced Micro Devices, Inc. Fusing no-op (nop) instructions

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04112328A (ja) 1990-09-03 1992-04-14 Nec Corp ストア命令の縮退制御方式
JP2683488B2 (ja) * 1992-06-30 1997-11-26 インターナショナル・ビジネス・マシーンズ・コーポレイション 3−1論理演算装置
JPH0756735A (ja) * 1993-08-16 1995-03-03 Nkk Corp 並列演算処理装置
CA2123442A1 (en) * 1993-09-20 1995-03-21 David S. Ray Multiple execution unit dispatch with instruction dependency
JPH07262005A (ja) * 1994-02-22 1995-10-13 At & T Corp 拡張されたオペランドバイパスシステム
SG75756A1 (en) * 1994-02-28 2000-10-24 Intel Corp Method and apparatus for avoiding writeback conflicts between execution units sharing a common writeback path
JPH09311786A (ja) * 1996-03-18 1997-12-02 Hitachi Ltd データ処理装置
JP3291238B2 (ja) 1998-02-19 2002-06-10 富士通株式会社 プロセッサのシミュレータ及びシミュレーション方法
JP2000020310A (ja) 1998-06-26 2000-01-21 Toshiba Microelectronics Corp プロセッサ
US6675376B2 (en) * 2000-12-29 2004-01-06 Intel Corporation System and method for fusing instructions
US8239440B2 (en) * 2008-03-28 2012-08-07 Oracle America, Inc. Processor which implements fused and unfused multiply-add instructions in a pipelined manner
US9690591B2 (en) * 2008-10-30 2017-06-27 Intel Corporation System and method for fusing instructions queued during a time window defined by a delay counter

Also Published As

Publication number Publication date
JP2010271818A (ja) 2010-12-02
US8677102B2 (en) 2014-03-18
US20100299505A1 (en) 2010-11-25

Similar Documents

Publication Publication Date Title
JP5491071B2 (ja) 命令融合演算装置および命令融合演算方法
US8443170B2 (en) Apparatus and method for performing SIMD multiply-accumulate operations
KR101496597B1 (ko) 반도체 칩 상에서 구현되는 벡터 논리 감소 연산
US20020169942A1 (en) VLIW processor
US9355061B2 (en) Data processing apparatus and method for performing scan operations
JP5154119B2 (ja) プロセッサ
JP5607832B2 (ja) 汎用論理演算の方法および装置
JP2018005488A (ja) 演算処理装置及び演算処理装置の制御方法
JP2006313422A (ja) 演算処理装置及びデータ転送処理の実行方法
JP2009508180A (ja) マイクロプロセッサにおける効率的なサブプログラムリターン
US20100211762A1 (en) Mechanism for Efficient Implementation of Software Pipelined Loops in VLIW Processors
US6055628A (en) Microprocessor with a nestable delayed branch instruction without branch related pipeline interlocks
US7437544B2 (en) Data processing apparatus and method for executing a sequence of instructions including a multiple iteration instruction
US20100217961A1 (en) Processor system executing pipeline processing and pipeline processing method
US9213547B2 (en) Processor and method for processing instructions using at least one processing pipeline
JP2008299729A (ja) プロセッサ
JP2021168036A (ja) 演算処理装置
JP2014164659A (ja) プロセッサ
EP3017363B1 (en) System and method for an asynchronous processor with pipelined arithmetic and logic unit
JP5788920B2 (ja) ベクトル処理装置およびベクトル処理方法
JP7487535B2 (ja) 演算処理装置
US20230315446A1 (en) Arithmetic processing apparatus and method for arithmetic processing
JP4502983B2 (ja) ベクトル制御回路、ベクトル処理装置、ベクトル制御方法、および、ベクトル制御プログラム。
JP6314620B2 (ja) 演算処理装置および演算処理装置の制御方法
JP2000181705A (ja) 命令制御装置

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20110712

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120417

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130912

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130924

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131119

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131203

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140120

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: 20140204

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140227

R150 Certificate of patent or registration of utility model

Ref document number: 5491071

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350