JP5382635B2 - 二重データ経路処理のための装置および方法 - Google Patents
二重データ経路処理のための装置および方法 Download PDFInfo
- Publication number
- JP5382635B2 JP5382635B2 JP2007505615A JP2007505615A JP5382635B2 JP 5382635 B2 JP5382635 B2 JP 5382635B2 JP 2007505615 A JP2007505615 A JP 2007505615A JP 2007505615 A JP2007505615 A JP 2007505615A JP 5382635 B2 JP5382635 B2 JP 5382635B2
- Authority
- JP
- Japan
- Prior art keywords
- control
- data processing
- data
- configurable
- instructions
- 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
- 238000012545 processing Methods 0.000 title claims description 202
- 238000000034 method Methods 0.000 title claims description 14
- 230000009977 dual effect Effects 0.000 title description 8
- 230000006870 function Effects 0.000 claims description 61
- 230000007246 mechanism Effects 0.000 claims description 6
- 230000008569 process Effects 0.000 claims description 5
- 238000004364 calculation method Methods 0.000 claims description 4
- 230000004044 response Effects 0.000 claims description 4
- 238000013507 mapping Methods 0.000 claims description 2
- 239000013598 vector Substances 0.000 description 12
- 238000004422 calculation algorithm Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000001627 detrimental effect Effects 0.000 description 1
- 235000019800 disodium phosphate Nutrition 0.000 description 1
- 238000007620 mathematical function Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000012552 review 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/22—Microcontrol or microprogram arrangements
- G06F9/28—Enhancement of operational speed, e.g. by using several microcontrol devices operating in parallel
-
- 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
-
- 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/30036—Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
-
- 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
- G06F9/3012—Organisation of register space, e.g. banked or distributed register file
- G06F9/3013—Organisation of register space, e.g. banked or distributed register file according to data content, e.g. floating-point registers, address 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
-
- 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/3853—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution of compound instructions
-
- 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/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
-
- 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/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
- G06F9/3889—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled by multiple instructions, e.g. MIMD, decoupled access or execute
- G06F9/3891—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled by multiple instructions, e.g. MIMD, decoupled access or execute organised in groups of units sharing resources, e.g. clusters
-
- 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/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
- G06F9/3893—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled in tandem, e.g. multiplier-accumulator
- G06F9/3895—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled in tandem, e.g. multiplier-accumulator for complex operations, e.g. multidimensional or interleaved address generators, macros
- G06F9/3897—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled in tandem, e.g. multiplier-accumulator for complex operations, e.g. multidimensional or interleaved address generators, macros with adaptable data path
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Executing Machine-Instructions (AREA)
- Advance Control (AREA)
- Devices For Executing Special Programs (AREA)
- Hardware Redundancy (AREA)
Description
102 制御実行経路
103 データ実行経路
104 制御レジスタファイル
105 データレジスタファイル
106 分岐ユニット
107 実行ユニット
108 ロードストアユニット
109 SIMD固定実行ユニット
110 設定可変の深い実行ユニット
Claims (20)
- 制御およびデータ処理能力を有するハードウェアコンピュータプロセッサにおいて、
命令を復号して、制御命令をデータ処理命令から切り離すことが可能であり、これにより、全ての制御命令を専用のハードウェア制御処理装置に供給し、データ処理命令は専用のハードウェア制御処理装置に供給しないハードウェア復号ユニットと、
前記制御命令のみを処理するために使用される制御実行経路を備える専用のハードウェア制御処理装置とを備えていて、前記制御実行経路は、第1のビット幅の処理幅を有する制御命令を扱うための第1のビット幅の自身の制御レジスタファイルと、分岐ユニット、ハードウェア実行ユニットおよびロード/ストアユニットを含む機能ユニットとを有していて、前記制御命令は、制御流れ機能を取り扱い、制御実行経路に対してこれらの機能ユニットを使用して前記ハードウェアコンピュータプロセッサの状態レジスタを管理するよう指示するものであり、
更に、前記データ処理命令の処理のために使用される専用のハードウェアデータ処理装置を備えていて、前記専用のデータ処理装置は、前記専用の制御処理装置とは別であり、前記制御レジスタファイルとは別の自身のデータレジスタファイルを有していて、前記データレジスタファイルは、第2のビット幅の処理幅を有するデータ処理命令を扱うために第2のビット幅を有していて、前記第2のビット幅は、第1のビット幅より広く、前記専用のデータ処理装置は、固定的なオペレータ群を具備する第1データ実行経路と、少なくとも構成可能なオペレータ群およびコントローラを具備する第2データ実行経路とを備えていて、前記第1および第2データ実行経路は、前記制御実行経路とは別であり、かつ相互に別であり、前記構成可能なオペレータ群は、複数の配線接続によるオペレータクラスの中に予め構成されていて、
前記復号ユニットは、前記制御命令のうちの1つを前記機能ユニットのうちの1つに供給可能であり、かつ前記データ処理命令のうちの1つが、固定的なデータ処理命令あるいは構成可能なデータ処理命令のいずれを定義するかを検出可能であり、前記構成可能なデータ処理命令は、少なくとも1つの処理されるべきオペランドを示していて、少なくとも1つのオペランド上で実行されるべき機能を定義するオペコード部分を含んでいて、前記復号ユニットは、コンピュータプロセッサに、前記固定的なデータ処理命令が検出されたときには処理のための前記第1データ実行経路に対して、前記構成可能なデータ処理命令が検出されたときには処理のための前記第2データ実行経路に対して、前記データ処理命令のうちの1つを提供させ、
前記コントローラは、前記構成可能なデータ処理命令のオペコード部分の中で提供される構成情報に従って、前記構成可能なオペレータ群の接続性を構成可能であり、前記構成可能なオペレータ群は、前記少なくとも1つのオペランドを受信するように配置される
ことを特徴とするハードウェアコンピュータプロセッサ。 - 上記復号ユニットは、それぞれのパケットが複数の命令を備える、メモリからの命令パケットの流れを復号可能とすることを特徴とする上記請求項1に記載のコンピュータプロセッサ。
- 上記復号ユニットは、命令パケットがデータ処理命令を具備するかどうかを検出可能とすることを特徴とする上記請求項1に記載のコンピュータプロセッサ。
- 上記構成可能なオペレータ群は、マルチビット値のレベルで構成可能であることを特徴とする上記請求項1に記載のコンピュータプロセッサ。
- 上記構成可能なオペレータ群は、ワードのレベルで構成可能であることを特徴とする上記請求項4に記載のコンピュータシステム。
- 上記第1データ実行経路の複数の固定的なオペレータ群は、単一命令複数データ原則に従い独立した通路で複数の固定機能を実施するために設けられることを特徴とする上記請求項1に記載のコンピュータプロセッサ。
- 上記第2データ実行経路の複数の構成可能なオペレータ群は、単一命令複数データ原則に従い異なる通路で複数の機能を実行するために設けられることを特徴とする上記請求項1に記載のコンピュータプロセッサ。
- 上記第2データ実行経路の構成可能なオペレータ群は、実行される機能の性質を決定する構成情報を受信するために設けられることを特徴とする上記請求項1に記載のコンピュータプロセッサ。
- 上記第2データ実行経路の構成可能なオペレータ群は、構成可能なデータ処理命令の前記オペコード部分から実行される機能の性質を決定する構成情報を受信するために設けられることを特徴とする上記請求項8に記載のコンピュータプロセッサ。
- 第2データ実行経路の2以上の上記構成可能なオペレータ群の間での相互接続性が、構成情報によって制御されることを特徴とする上記請求項1に記載のコンピュータプロセッサ。
- 上記第2データ実行経路の少なくとも1つの構成可能なオペレータ群が、結果記憶装置に結果を戻す前の2計算より大きな実行深さでデータ処理命令を実行することを可能とすることを特徴とする上記請求項1に記載のコンピュータプロセッサ。
- 1以上の上記構成可能なオペレータ群による結果を受信し、1以上の結果記憶装置と帰還ループへの提供のために結果を切り替えるスイッチ機構を備えることを特徴とする上記請求項1に記載のコンピュータプロセッサ。
- 上記第2データ実行経路の構成可能なオペレータ群への提供のために、構成可能なデータ処理命令から受信された構成ビットを構成情報へマッピングする複数の制御マップを備えることを特徴とする上記請求項1に記載のコンピュータプロセッサ。
- 制御マップから構成情報を受信し、それを上記第2データ実行経路の構成可能なオペレータ群への提供のために切り替えるスイッチ機構を備えることを特徴とする上記請求項1に記載のコンピュータプロセッサ。
- 乗累算オペレータ、算術オペレータ、状態オペレータ、及び交差通路交換機のうちの1以上から選択される構成可能なオペレータ群を備えることを特徴とする上記請求項1に記載のコンピュータプロセッサ。
- 高速フーリエ変換、逆高速フーリエ変換、ビタビ符号化/復号化、ターボ符号化/復号化、及び有限インパルス応答計算、及びその他の相互関係あるいは畳み込みから選択される1以上の機能を実施可能とする命令セットのオペレータを備えることを特徴とする上記請求項1に記載のコンピュータプロセッサ。
- 制御およびデータ処理能力を有するコンピュータプロセッサを動作させる方法において、前記コンピュータプロセッサは、命令を復号する復号ユニットと、制御命令のみを処理するために使用される制御実行経路を備える専用の制御処理装置とを備えていて、前記制御実行経路は、第1のビット幅の処理幅を有する制御命令を扱うための第1のビット幅の自身の制御レジスタファイルと、分岐ユニット、実行ユニットおよびロード/ストアユニットを含む機能ユニットとを有していて、前記制御命令は、制御流れ機能を取り扱い、制御実行経路に対してこれらの機能ユニットを使用して前記ハードウェアコンピュータプロセッサの状態レジスタを管理するよう指示するものであり、更に、データ処理命令の処理のために使用される専用のデータ処理装置を備えていて、前記専用のデータ処理装置は、前記専用の制御処理装置とは別であり、前記制御レジスタファイルとは別の自身のデータレジスタファイルを有していて、前記データレジスタファイルは、第2のビット幅の処理幅を有するデータ処理命令を扱うために第2のビット幅を有していて、前記第2のビット幅は、第1のビット幅より広く、前記専用のデータ処理装置は、固定的なオペレータ群を具備する第1データ実行経路と、少なくとも構成可能なオペレータ群およびコントローラを具備する第2データ実行経路とを備えていて、前記第1および第2データ実行経路は、前記制御実行経路とは別であり、かつ相互に別であり、前記構成可能なオペレータ群は、複数の配線接続によるオペレータクラスの中に予め構成されていて、この方法は、
前記復号ユニットによって制御命令をデータ処理命令から切り離し、これにより、全ての制御命令を専用の制御処理装置に供給し、データ処理命令は専用の制御処理装置に供給せず、
前記復号ユニットによって、前記制御命令のうちの1つを前記機能ユニットのうちの1つに供給し、
前記複数の命令のうちの少なくとも1つの前記データ処理命令が、固定的なデータ処理命令あるいは構成可能なデータ処理命令のいずれを定義するかを検出するために、複数の命令を復号し、前記構成可能なデータ処理命令は、少なくとも1つの処理されるべきオペランドを示していて、少なくとも1つのオペランド上で実行されるべき機能を定義するオペコード部分を含んでいて、
コンピュータプロセッサに、前記固定的なデータ処理命令が検出されたときには処理のための前記第1データ実行経路に対して、前記構成可能なデータ処理命令が検出されたときには処理のための前記第2データ実行経路に対して、前記データ処理命令のうちの少なくとも1つを提供させ、
前記構成可能なデータ処理命令の前記オペコード部分の中で提供される構成情報に従って、前記構成可能なオペレータ群の接続性を構成し、前記構成可能なオペレータ群は、前記少なくとも1つのオペランドを受信するように配置され、
固定的なデータ処理命令が検出されたときには前記第1データ実行経路によって生成された結果を出力し、構成可能なデータ処理命令が検出されたときには前記第2データ実行経路によって生成された結果を出力する
ことを特徴とする方法。 - 制御およびデータ処理能力を有するハードウェアコンピュータプロセッサにおいて、
命令を復号して、制御命令をデータ処理命令から切り離すことが可能であり、これにより、全ての制御命令を専用のハードウェア制御処理装置に供給し、データ処理命令は専用のハードウェア制御処理装置に供給しないハードウェア復号ユニットと、
前記制御命令のみを処理するために使用される制御実行経路を備える専用のハードウェア制御処理装置とを備えていて、前記制御実行経路は、第1のビット幅の処理幅を有する制御命令を扱うための第1のビット幅の自身の制御レジスタファイルと、分岐ユニット、ハードウェア実行ユニットおよびロード/ストアユニットを含む機能ユニットとを有していて、前記制御命令は、制御流れ機能を取り扱い、制御実行経路に対してこれらの機能ユニットを使用して前記ハードウェアコンピュータプロセッサの状態レジスタを管理するよう指示するものであり、
更に、前記データ処理命令の処理のために使用される専用のハードウェアデータ処理装置を備えていて、前記専用のデータ処理装置は、前記専用の制御処理装置とは別であり、前記制御レジスタファイルとは別の自身のデータレジスタファイルを有していて、前記データレジスタファイルは、第2のビット幅の処理幅を有するデータ処理命令を扱うために第2のビット幅を有していて、前記第2のビット幅は、第1のビット幅より広く、前記専用のデータ処理装置は、固定的なオペレータ群を具備する第1データ実行経路と、少なくとも構成可能なオペレータ群およびコントローラを具備する第2データ実行経路とを備えていて、前記第1および第2データ実行経路は、前記制御実行経路とは別であり、かつ相互に別であり、前記構成可能なオペレータ群は、複数の配線接続によるオペレータクラスの中に予め構成されていて、
更に、構成可能なデータ処理命令からデータ処理オペランドを受信し、1以上の前記構成可能なオペレータ群への提供のためにそれらを切り替えるスイッチ機構を備えていて、
前記復号ユニットは、前記制御命令のうちの1つを前記機能ユニットのうちの1つに供給可能であり、かつ前記データ処理命令のうちの1つが、固定的なデータ処理命令あるいは前記構成可能なデータ処理命令のいずれを定義するかを検出可能であり、前記構成可能なデータ処理命令は、少なくとも1つの処理されるべきオペランドを示していて、少なくとも1つのオペランド上で実行されるべき機能を定義するオペコード部分を含んでいて、前記復号ユニットは、コンピュータプロセッサに、前記固定的なデータ処理命令が検出されたときには処理のための前記第1データ実行経路に対して、前記構成可能なデータ処理命令が検出されたときには処理のための前記第2データ実行経路に対して、前記データ処理命令のうちの1つを提供させ、
前記コントローラは、前記構成可能なデータ処理命令のオペコード部分の中で提供される構成情報に従って、前記構成可能なオペレータ群の接続性を構成可能であり、前記構成可能なオペレータ群は、前記少なくとも1つのオペランドを受信するように配置される
ことを特徴とするハードウェアコンピュータプロセッサ。 - 制御およびデータ処理能力を有するハードウェアコンピュータプロセッサにおいて、
命令を復号して、制御命令をデータ処理命令から切り離すことが可能であり、これにより、全ての制御命令を専用のハードウェア制御処理装置に供給し、データ処理命令は専用のハードウェア制御処理装置に供給しないハードウェア復号ユニットと、
前記制御命令のみを処理するために使用される制御実行経路を備える専用のハードウェア制御処理装置とを備えていて、前記制御実行経路は、第1のビット幅の処理幅を有する制御命令を扱うための第1のビット幅の自身の制御レジスタファイルと、分岐ユニット、ハードウェア実行ユニットおよびロード/ストアユニットを含む機能ユニットとを有していて、前記制御命令は、制御流れ機能を取り扱い、制御実行経路に対してこれらの機能ユニットを使用して前記ハードウェアコンピュータプロセッサの状態レジスタを管理するよう指示するものであり、
更に、前記データ処理命令の処理のために使用される専用のハードウェアデータ処理装置を備えていて、前記専用のデータ処理装置は、前記専用の制御処理装置とは別であり、前記制御レジスタファイルとは別の自身のデータレジスタファイルを有していて、前記データレジスタファイルは、第2のビット幅の処理幅を有するデータ処理命令を扱うために第2のビット幅を有していて、前記第2のビット幅は、第1のビット幅より広く、前記専用のデータ処理装置は、固定的なオペレータ群を具備する第1データ実行経路と、少なくとも構成可能なオペレータ群およびコントローラを具備する第2データ実行経路とを備えていて、前記第1および第2データ実行経路は、前記制御実行経路とは別であり、かつ相互に別であり、前記構成可能なオペレータ群は、複数の配線接続によるオペレータクラスの中に予め構成されていて、前記構成可能なオペレータ群は、4ビット以上のビットから成るマルチビット値のレベルで構成可能であり、
前記復号ユニットは、前記制御命令のうちの1つを前記機能ユニットのうちの1つに供給可能であり、かつ前記データ処理命令のうちの1つが、固定的なデータ処理命令あるいは構成可能なデータ処理命令のいずれを定義するかを検出可能であり、前記構成可能なデータ処理命令は、少なくとも1つの処理されるべきオペランドを示していて、少なくとも1つのオペランド上で実行されるべき機能を定義するオペコード部分を含んでいて、前記復号ユニットは、コンピュータプロセッサに、前記固定的なデータ処理命令が検出されたときには処理のための前記第1データ実行経路に対して、前記構成可能なデータ処理命令が検出されたときには処理のための前記第2データ実行経路に対して、前記データ処理命令のうちの1つを提供させ、
前記コントローラは、前記構成可能なデータ処理命令のオペコード部分の中で提供される構成情報に従って、前記構成可能なオペレータ群の接続性を構成可能であり、前記構成可能なオペレータ群は、前記少なくとも1つのオペランドを受信するように配置される
ことを特徴とするハードウェアコンピュータプロセッサ。 - 制御およびデータ処理能力を有するハードウェアコンピュータプロセッサにおいて、
命令を復号して、制御命令をデータ処理命令から切り離すことが可能であり、これにより、全ての制御命令を専用のハードウェア制御処理装置に供給し、データ処理命令は専用のハードウェア制御処理装置に供給しないハードウェア復号ユニットと、
前記制御命令のみを処理するために使用される制御実行経路を備える専用のハードウェア制御処理装置とを備えていて、前記制御実行経路は、第1のビット幅の処理幅を有する制御命令を扱うための第1のビット幅の自身の制御レジスタファイルと、分岐ユニット、ハードウェア実行ユニットおよびロード/ストアユニットを含む機能ユニットとを有していて、前記制御命令は、制御流れ機能を取り扱い、制御実行経路に対してこれらの機能ユニットを使用して前記ハードウェアコンピュータプロセッサの状態レジスタを管理するよう指示するものであり、
更に、前記データ処理命令の処理のために使用される専用のハードウェアデータ処理装置を備えていて、前記専用のデータ処理装置は、前記専用の制御処理装置とは別であり、前記制御レジスタファイルとは別の自身のデータレジスタファイルを有していて、前記データレジスタファイルは、第2のビット幅の処理幅を有するデータ処理命令を扱うために第2のビット幅を有していて、前記第2のビット幅は、第1のビット幅より広く、前記専用のデータ処理装置は、固定的なオペレータ群を具備する第1データ実行経路と、少なくとも構成可能なオペレータ群およびコントローラを具備する第2データ実行経路とを備えていて、前記第1および第2データ実行経路は、前記制御実行経路とは別であり、かつ相互に別であり、前記構成可能なオペレータ群は、複数の配線接続によるオペレータクラスの中に予め構成されていて、実行される機能の性質を決定する構成情報を受信するために設けられ、
更に、第2データ実行経路の前記構成可能なオペレータ群と関連する制御マップを備えていて、前記制御マップは、構成可能なデータ処理命令から少なくとも1つの構成ビットを受信可能とし、かつ構成情報をそれに応答する構成可能なオペレータ群に提供可能とし、
前記復号ユニットは、前記制御命令のうちの1つを前記機能ユニットのうちの1つに供給可能であり、かつ前記データ処理命令のうちの1つが、固定的なデータ処理命令あるいは前記構成可能なデータ処理命令のいずれを定義するかを検出可能であり、前記構成可能なデータ処理命令は、少なくとも1つの処理されるべきオペランドを示していて、少なくとも1つのオペランド上で実行されるべき機能を定義するオペコード部分を含んでいて、前記復号ユニットは、コンピュータプロセッサに、前記固定的なデータ処理命令が検出されたときには処理のための前記第1データ実行経路に対して、前記構成可能なデータ処理命令が検出されたときには処理のための前記第2データ実行経路に対して、前記データ処理命令のうちの1つを提供させ、
前記コントローラは、前記構成可能なデータ処理命令のオペコード部分の中で提供される前記構成情報に従って、前記構成可能なオペレータ群の接続性を構成可能であり、前記構成可能なオペレータ群は、前記少なくとも1つのオペランドを受信するように配置される
ことを特徴とするハードウェアコンピュータプロセッサ。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/813,433 | 2004-03-31 | ||
US10/813,433 US8484441B2 (en) | 2004-03-31 | 2004-03-31 | Apparatus and method for separate asymmetric control processing and data path processing in a configurable dual path processor that supports instructions having different bit widths |
PCT/GB2005/001073 WO2005096142A2 (en) | 2004-03-31 | 2005-03-22 | Apparatus and method for dual data path processing |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007531135A JP2007531135A (ja) | 2007-11-01 |
JP5382635B2 true JP5382635B2 (ja) | 2014-01-08 |
Family
ID=34962960
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007505615A Active JP5382635B2 (ja) | 2004-03-31 | 2005-03-22 | 二重データ経路処理のための装置および方法 |
Country Status (8)
Country | Link |
---|---|
US (1) | US8484441B2 (ja) |
EP (1) | EP1735699B1 (ja) |
JP (1) | JP5382635B2 (ja) |
KR (1) | KR20070037568A (ja) |
CN (2) | CN1989485B (ja) |
CA (1) | CA2560093A1 (ja) |
TW (1) | TWI362617B (ja) |
WO (1) | WO2005096142A2 (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9047094B2 (en) | 2004-03-31 | 2015-06-02 | Icera Inc. | Apparatus and method for separate asymmetric control processing and data path processing in a dual path processor |
US7676646B2 (en) * | 2005-03-02 | 2010-03-09 | Cisco Technology, Inc. | Packet processor with wide register set architecture |
US7529909B2 (en) * | 2006-12-28 | 2009-05-05 | Microsoft Corporation | Security verified reconfiguration of execution datapath in extensible microcomputer |
US8755515B1 (en) | 2008-09-29 | 2014-06-17 | Wai Wu | Parallel signal processing system and method |
KR101893796B1 (ko) | 2012-08-16 | 2018-10-04 | 삼성전자주식회사 | 동적 데이터 구성을 위한 방법 및 장치 |
CN111158756B (zh) * | 2019-12-31 | 2021-06-29 | 百度在线网络技术(北京)有限公司 | 用于处理信息的方法和装置 |
Family Cites Families (50)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4228498A (en) * | 1977-10-12 | 1980-10-14 | Dialog Systems, Inc. | Multibus processor for increasing execution speed using a pipeline effect |
US5136697A (en) * | 1989-06-06 | 1992-08-04 | Advanced Micro Devices, Inc. | System for reducing delay for execution subsequent to correctly predicted branch instruction using fetch information stored with each block of instructions in cache |
DE69031257T2 (de) * | 1989-09-21 | 1998-02-12 | Texas Instruments Inc | Integrierte Schaltung mit einem eingebetteten digitalen Signalprozessor |
JPH05324430A (ja) | 1992-05-26 | 1993-12-07 | Toshiba Corp | データ処理装置 |
US5423051A (en) | 1992-09-24 | 1995-06-06 | International Business Machines Corporation | Execution unit with an integrated vector operation capability |
US5600801A (en) | 1993-07-15 | 1997-02-04 | Dell Usa, L.P. | Multiple function interface device for option card |
US5600810A (en) | 1994-12-09 | 1997-02-04 | Mitsubishi Electric Information Technology Center America, Inc. | Scaleable very long instruction word processor with parallelism matching |
US6052773A (en) * | 1995-02-10 | 2000-04-18 | Massachusetts Institute Of Technology | DPGA-coupled microprocessors |
US5737631A (en) * | 1995-04-05 | 1998-04-07 | Xilinx Inc | Reprogrammable instruction set accelerator |
JP2931890B2 (ja) | 1995-07-12 | 1999-08-09 | 三菱電機株式会社 | データ処理装置 |
JP3658072B2 (ja) | 1996-02-07 | 2005-06-08 | 株式会社ルネサステクノロジ | データ処理装置およびデータ処理方法 |
JPH09265397A (ja) | 1996-03-29 | 1997-10-07 | Hitachi Ltd | Vliw命令用プロセッサ |
GB2311882B (en) | 1996-04-04 | 2000-08-09 | Videologic Ltd | A data processing management system |
US5956518A (en) | 1996-04-11 | 1999-09-21 | Massachusetts Institute Of Technology | Intermediate-grain reconfigurable processing device |
DE19634031A1 (de) | 1996-08-23 | 1998-02-26 | Siemens Ag | Prozessor mit Pipelining-Aufbau |
US6006321A (en) | 1997-06-13 | 1999-12-21 | Malleable Technologies, Inc. | Programmable logic datapath that may be used in a field programmable device |
US5922065A (en) * | 1997-10-13 | 1999-07-13 | Institute For The Development Of Emerging Architectures, L.L.C. | Processor utilizing a template field for encoding instruction sequences in a wide-word format |
JP3451921B2 (ja) | 1998-03-30 | 2003-09-29 | 松下電器産業株式会社 | プロセッサ |
EP0953898A3 (en) | 1998-04-28 | 2003-03-26 | Matsushita Electric Industrial Co., Ltd. | A processor for executing Instructions from memory according to a program counter, and a compiler, an assembler, a linker and a debugger for such a processor |
US6226735B1 (en) | 1998-05-08 | 2001-05-01 | Broadcom | Method and apparatus for configuring arbitrary sized data paths comprising multiple context processing elements |
US6292845B1 (en) | 1998-08-26 | 2001-09-18 | Infineon Technologies North America Corp. | Processing unit having independent execution units for parallel execution of instructions of different category with instructions having specific bits indicating instruction size and category respectively |
DE19843640A1 (de) | 1998-09-23 | 2000-03-30 | Siemens Ag | Verfahren zum Konfigurieren eines konfigurierbaren Hardware-Blocks |
US6553414B1 (en) | 1998-10-02 | 2003-04-22 | Canon Kabushiki Kaisha | System used in plural information processing devices for commonly using peripheral device in network |
WO2000049496A1 (en) | 1999-02-15 | 2000-08-24 | Koninklijke Philips Electronics N.V. | Data processor with a configurable functional unit and method using such a data processor |
EP1050810A1 (en) | 1999-05-03 | 2000-11-08 | STMicroelectronics SA | A computer system comprising multiple functional units |
GB2352066B (en) | 1999-07-14 | 2003-11-05 | Element 14 Ltd | An instruction set for a computer |
US6526430B1 (en) | 1999-10-04 | 2003-02-25 | Texas Instruments Incorporated | Reconfigurable SIMD coprocessor architecture for sum of absolute differences and symmetric filtering (scalable MAC engine for image processing) |
US7039790B1 (en) | 1999-11-15 | 2006-05-02 | Texas Instruments Incorporated | Very long instruction word microprocessor with execution packet spanning two or more fetch packets with pre-dispatch instruction selection from two latches according to instruction bit |
EP1102163A3 (en) | 1999-11-15 | 2005-06-29 | Texas Instruments Incorporated | Microprocessor with improved instruction set architecture |
US6255849B1 (en) | 2000-02-04 | 2001-07-03 | Xilinx, Inc. | On-chip self-modification for PLDs |
TW516320B (en) | 2000-02-22 | 2003-01-01 | Intervideo Inc | Implementation of quantization for SIMD architecture |
JP2001306321A (ja) | 2000-04-19 | 2001-11-02 | Matsushita Electric Ind Co Ltd | プロセッサ |
US7120781B1 (en) | 2000-06-30 | 2006-10-10 | Intel Corporation | General purpose register file architecture for aligned simd |
EP1417590A2 (en) * | 2000-10-02 | 2004-05-12 | Altera Corporation (a Delaware Corporation) | Programmable logic integrated circuit devices including dedicated processor components |
US20020174266A1 (en) * | 2001-05-18 | 2002-11-21 | Krishna Palem | Parameterized application programming interface for reconfigurable computing systems |
JP2003005958A (ja) | 2001-06-25 | 2003-01-10 | Pacific Design Kk | データ処理装置およびその制御方法 |
JP2003099397A (ja) | 2001-09-21 | 2003-04-04 | Pacific Design Kk | データ処理システム |
US6798239B2 (en) * | 2001-09-28 | 2004-09-28 | Xilinx, Inc. | Programmable gate array having interconnecting logic to support embedded fixed logic circuitry |
JP3785343B2 (ja) | 2001-10-02 | 2006-06-14 | 日本電信電話株式会社 | クライアントサーバシステム及びクライアントサーバシステムにおけるデータ通信方法 |
JP3779602B2 (ja) | 2001-11-28 | 2006-05-31 | 松下電器産業株式会社 | Simd演算方法およびsimd演算装置 |
KR100464406B1 (ko) | 2002-02-08 | 2005-01-03 | 삼성전자주식회사 | 가변길이 vliw 명령어를 위한 디스패치 장치 및 방법 |
US7159099B2 (en) | 2002-06-28 | 2007-01-02 | Motorola, Inc. | Streaming vector processor with reconfigurable interconnection switch |
JP3982353B2 (ja) | 2002-07-12 | 2007-09-26 | 日本電気株式会社 | フォルトトレラントコンピュータ装置、その再同期化方法及び再同期化プログラム |
US7024543B2 (en) | 2002-09-13 | 2006-04-04 | Arm Limited | Synchronising pipelines in a data processing apparatus |
TW569138B (en) | 2002-09-19 | 2004-01-01 | Faraday Tech Corp | A method for improving instruction selection efficiency in a DSP/RISC compiler |
US7464254B2 (en) | 2003-01-09 | 2008-12-09 | Cisco Technology, Inc. | Programmable processor apparatus integrating dedicated search registers and dedicated state machine registers with associated execution hardware to support rapid application of rulesets to data |
JP2004309570A (ja) | 2003-04-02 | 2004-11-04 | Seiko Epson Corp | 光通信モジュール、光通信装置、及びその製造方法 |
US7496776B2 (en) | 2003-08-21 | 2009-02-24 | International Business Machines Corporation | Power throttling method and apparatus |
US7176713B2 (en) * | 2004-01-05 | 2007-02-13 | Viciciv Technology | Integrated circuits with RAM and ROM fabrication options |
US7949856B2 (en) | 2004-03-31 | 2011-05-24 | Icera Inc. | Method and apparatus for separate control processing and data path processing in a dual path processor with a shared load/store unit |
-
2004
- 2004-03-31 US US10/813,433 patent/US8484441B2/en active Active
-
2005
- 2005-03-22 JP JP2007505615A patent/JP5382635B2/ja active Active
- 2005-03-22 CN CN200580010665XA patent/CN1989485B/zh active Active
- 2005-03-22 WO PCT/GB2005/001073 patent/WO2005096142A2/en not_active Application Discontinuation
- 2005-03-22 CN CN201010276291.9A patent/CN101963897B/zh active Active
- 2005-03-22 KR KR1020067020243A patent/KR20070037568A/ko not_active Application Discontinuation
- 2005-03-22 EP EP05729261.7A patent/EP1735699B1/en active Active
- 2005-03-22 CA CA002560093A patent/CA2560093A1/en not_active Abandoned
- 2005-03-24 TW TW094109120A patent/TWI362617B/zh active
Also Published As
Publication number | Publication date |
---|---|
US8484441B2 (en) | 2013-07-09 |
WO2005096142A3 (en) | 2006-06-08 |
TWI362617B (en) | 2012-04-21 |
CN1989485A (zh) | 2007-06-27 |
TW200540713A (en) | 2005-12-16 |
CA2560093A1 (en) | 2005-10-13 |
CN101963897A (zh) | 2011-02-02 |
CN1989485B (zh) | 2011-08-03 |
JP2007531135A (ja) | 2007-11-01 |
EP1735699A2 (en) | 2006-12-27 |
EP1735699B1 (en) | 2017-11-22 |
US20050223197A1 (en) | 2005-10-06 |
CN101963897B (zh) | 2014-03-12 |
KR20070037568A (ko) | 2007-04-05 |
WO2005096142A2 (en) | 2005-10-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5744370B2 (ja) | 非対称二重経路処理のための装置および方法 | |
JP5198847B2 (ja) | 二重経路プロセッサの処理制御のための装置および方法 | |
JP2008535115A (ja) | データアクセス及び置換ユニット | |
JP5382635B2 (ja) | 二重データ経路処理のための装置および方法 | |
JP5209609B2 (ja) | ハードウェアエンドループ情報の命令へのコード化 | |
US20230325189A1 (en) | Forming Constant Extensions in the Same Execute Packet in a VLIW Processor | |
US7236106B2 (en) | Methods and systems for data manipulation | |
US20230221955A1 (en) | Vector bit transpose | |
US9104426B2 (en) | Processor architecture for processing variable length instruction words | |
US20200371793A1 (en) | Vector store using bit-reversed order | |
KR20070022239A (ko) | 비대칭 듀얼 경로 프로세싱용 장치 및 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20071204 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110222 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20110523 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20110530 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110622 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120327 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20120627 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20120704 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120725 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130108 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130408 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20130502 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20130507 |
|
AA92 | Notification that decision to refuse application was cancelled |
Free format text: JAPANESE INTERMEDIATE CODE: A971092 Effective date: 20130521 |
|
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: 20130827 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130924 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 5382635 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 |
|
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 |