JP5089776B2 - 浮動小数点演算のための再構成アレイプロセッサ - Google Patents
浮動小数点演算のための再構成アレイプロセッサ Download PDFInfo
- Publication number
- JP5089776B2 JP5089776B2 JP2010524767A JP2010524767A JP5089776B2 JP 5089776 B2 JP5089776 B2 JP 5089776B2 JP 2010524767 A JP2010524767 A JP 2010524767A JP 2010524767 A JP2010524767 A JP 2010524767A JP 5089776 B2 JP5089776 B2 JP 5089776B2
- Authority
- JP
- Japan
- Prior art keywords
- array
- processing elements
- processing element
- processor
- processing
- 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
- 238000007667 floating Methods 0.000 title claims description 108
- 238000012545 processing Methods 0.000 claims description 387
- 238000000034 method Methods 0.000 claims description 31
- 238000004364 calculation method Methods 0.000 claims description 22
- 230000008569 process Effects 0.000 claims description 19
- 238000013507 mapping Methods 0.000 claims description 17
- 230000010365 information processing Effects 0.000 claims description 16
- 230000002123 temporal effect Effects 0.000 claims description 15
- 230000006870 function Effects 0.000 claims description 12
- 238000004891 communication Methods 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 22
- 230000008901 benefit Effects 0.000 description 10
- 238000004590 computer program Methods 0.000 description 9
- 230000001133 acceleration Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000000644 propagated effect Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 108010076504 Protein Sorting Signals Proteins 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/483—Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/57—Arithmetic logic units [ALU], i.e. arrangements or devices for performing two or more of the operations covered by groups G06F7/483 – G06F7/556 or for performing logical 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/38—Indexing scheme relating to groups G06F7/38 - G06F7/575
- G06F2207/3804—Details
- G06F2207/3808—Details concerning the type of numbers or the way they are handled
- G06F2207/3812—Devices capable of handling different types of numbers
- G06F2207/3824—Accepting both fixed-point and floating-point numbers
Landscapes
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computational Mathematics (AREA)
- Software Systems (AREA)
- Nonlinear Science (AREA)
- Advance Control (AREA)
Description
プリケーションに適合するデジタル情報プロセッシング及び装置に関する。
タ交換のために、メッシュ(mesh)構造に互いに連結されうる。また、前記アレイは、それぞれのプロセッシング要素を利用した整数演算遂行、及び互いに連結された2つ以上のプロセッシング要素のグループを利用した浮動小数点演算遂行のうち、少なくとも一つを行うように選択的に構成されうる。前記アレイの1行または1列内の少なくとも2個のプロセッシング要素が、浮動小数点演算のための2つ以上のグループを形成するために、共に連結されうる。前記アレイは、前記整数演算時には、8×5配列構造で動作し、前記浮動小数点演算時には、前記アレイの各行内の2個のプロセッシング要素が連結され、4×5配列構造で動作するように選択的に構成されうる。さらに、前記アレイの行または列内のプロセッシング要素によって行われる整数演算及び浮動小数点演算のうちの少なくとも1つの演算を制御するコンテクスト(context)を保存するための構成キャッシュが、前記アレイに連結されうる。前記構成キャッシュはまた、前記プロセッシング要素間のデータ交換を制御できる。前記プロセッシング要素は、前記コンテクストに基づいて、行または列単位で構成されてパイプライン(pipeline)を形成し、前記コンテクストが指示する方向に、前記パイプライン動作の結果をフォワーディングすることができる。
なるグループの前記2つ以上の各グループは、マルチサイクル演算を行うための制御信号をコンテクストから受け付けるように構成されうる。2つ以上のプロセッシング要素の前記2つ以上のグループは、浮動小数点に係わる四則演算及び超越関数演算を行うことができるように構成されうる。さらに、前記2つ以上のプロセッシング要素からなるグループの前記2つ以上の各グループは、前記四則演算遂行のために連結された2個のプロセッシング要素を含むことができる。各グループ内の2個の連結されたプロセッシング要素は、2個のオペランド(operand)の符号及び仮数(mantissa)が入力される仮数部プロセッシング要素、及び前記2個のオペランドの指数が入力される指数部プロセッシング要素を含むことができる。前記仮数部プロセッシング要素は、2つのオペランドの仮数を乗じたり割ったりするように、乗算器及び除算器のうち、少なくとも一つに連結される。前記指数部プロセッシング要素は、2つのオペランドの指数を加えたり差し引いたりするように構成されうる。さらに、前記各プロセッシング要素は、前記演算装置に連結され、前記演算装置に少なくとも2個の入力値を提供する2個のマルチプレクサ(multiplexer)を含むことができる。前記各プロセッシング要素はまた、前記演算装置に連結され、前記演算装置から受けた結果値にシフト演算を行うシフタ(shifter)を含むことができる。また、臨時レジスタが前記演算装置の中間結果値及びシフタの中間結果値を保存するために、前記演算装置及びシフタに連結されうる。さらに、出力レジスタが前記演算装置の最終結果値及びシフタの最終結果値を保存するために、前記演算装置及びシフタに連結されうる。前記各マルチプレクサは、データバス、他のプロセッシング要素及び自らのレジスタファイルから受けたデータの中から、データを選択できるように構成できる。選択されたデータは、前記演算装置の入力値として提供される。前記出力レジスタに保存された最終結果値は、データバスを介して、他のプロセッシング要素に入力されうる。代案として、最終値は、データバスを介して出力値として提供されうる。
表現は、固定小数点表現より多くの広い範囲の値を支援できる。例えば、8個の十進数字
及び2桁小数点の位置を有する固定小数点の表現は、123456.78、1234.5
6、123.45のような数が代表されうる。これに比べて、8個の十進数字を有する浮
動小数点表現は、前述の固定小数点によって表現された数だけではなく、固定小数点によ
って表現されえない数にも表現できる。このような8個の十進数字を有する浮動小数点表
現の例は、1.2345678、1234567.8、0.000012345678、
12345678000000などである。浮動小数点表現はコンピューティング業界の
科学的記数法として見なされることができる。
は、基数(base or radix)を選択し、選択された基数内に保存された数字の個数によっ
て定義されうる。浮動小数点表現はまた、指数と呼ばれる値を含む。指数は、対象とする実数に数字のウインドウの位置またはオフセットを記録/確認するために使われる。指数はまた、指標またはスケールとして言及されもする。数字のウインドウは、実数でほとんどは仮数の数字を保存するために使われ、その仮数の数字は、十進数では、最初は0でない数字、またはバイナリでは、0でないビットである。仮数は、ベースのパワーとして代表される指数によって乗算される。
路またはパスが、(1)、(2)及び(3)で表示されている。
として、または任意の適切な補助組み合わせとして具現されうる。さらに、特徴が一定の組み合わせに作用するものとして前記で記述され、さらにそのように初期に請求されうるが、ある場合には、請求された組み合わせから、1以上の特徴がその組み合わせから削除されることがあり、請求された組み合わせが一部の組み合わせ、または一部の組み合わせの変形になることもある。
明細書で記述されて例示されたところに基づいて作られうる。
、高い動作効率を可能にする。
Claims (30)
- 浮動小数点演算を行うことができるように構成されたプロセッシング要素アレイを含み
、
前記各プロセッシング要素は、2つの入力値を受け、前記入力値に対する整数演算を行う演算装置を含み、前記アレイ内の前記プロセッシング要素は、浮動小数点演算のために、2つ以上の前記プロセッシング要素からなるグループに共に連結されるとともに、連結されたプロセッシング要素間で、データ交換のために、メッシュ構造に互いに連結されており、
前記アレイの行または列内のプロセッシング要素によって行われる整数演算及び浮動小数点演算のうちの少なくとも1つの演算と、プロセッシング要素間のデータ通信と、を制御するコンテクストを保存するための、前記アレイに連結された構成キャッシュをさらに含み、
前記プロセッシング要素は、前記コンテクストに基づいて、行または列単位で構成されてパイプラインを形成し、前記コンテクストが指示する方向に、前記パイプライン動作の結果をフォワーディングするように構成され、
時間的マッピングを介して前記2つ以上のプロセッシング要素からなるグループの2つ以上の各グループは、前記整数演算または浮動小数点演算を行うように構成され、マルチサイクル演算を行うための制御信号のコンテクストを受け、サイクルごとに最終的な値が得られた後、前記コンテクストの制御信号を受けるように構成された、
ことを特徴とするプロセッサ。 - 前記演算装置は、16ビット演算装置を含むことを特徴とする請求項1に記載のプロセッサ。
- 前記アレイの1行または1列内の少なくとも2個のプロセッシング要素が、浮動小数点演算のための2つ以上のグループを形成するために共に連結されることを特徴とする請求項1に記載のプロセッサ。
- 前記アレイは、前記整数演算時には、8×5配列構造で動作し、前記浮動小数点演算時には、前記アレイの各行内の2個のプロセッシング要素が連結され、4×5配列構造で動作するように選択的に構成されることを特徴とする請求項1に記載のプロセッサ。
- 前記2つ以上のプロセッシング要素からなるグループの前記2つ以上のグループは、浮動小数点に係わる四則演算及び超越関数計算を行うことができるように構成されることを特徴とする請求項1に記載のプロセッサ。
- 前記2つ以上のプロセッシング要素からなるグループの前記2つ以上の各グループは、前記四則演算遂行のために連結された2個のプロセッシング要素を含み、
各グループ内の2個の連結されたプロセッシング要素は、2個のオペランドの符号及び仮数が入力される仮数部プロセッシング要素、及び前記2個のオペランドの指数が入力される指数部プロセッシング要素を含むことを特徴とする請求項5に記載のプロセッサ。 - 前記仮数部プロセッシング要素は、前記2つのオペランドの仮数を乗じたり割ったりするために、乗算器及び除算器のうち、少なくとも一つに連結されており、
前記指数部プロセッシング要素は、前記2つのオペランドの指数を加えたり差し引いたりするために構成されたことを特徴とする請求項6に記載のプロセッサ。 - 前記各プロセッシング要素は、
前記演算装置に連結され、前記演算装置に少なくとも2個の入力値を提供する2個のマルチプレクサと、
前記演算装置に連結され、前記演算装置から受けた結果値にシフト演算を行うシフタと、
前記演算装置及びシフタに連結され、前記演算装置の中間結果値及びシフタの中間結果値を保存する臨時レジスタと、
前記演算装置及びシフタに連結され、前記演算装置の最終結果値及びシフタの最終結果値を保存する出力レジスタと、
を含み、
前記各マルチプレクサは、データバス、他のプロセッシング要素及び自らのレジスタファイルから受けたデータの中からデータを選択し、前記演算装置に、選択した前記データを入力し、前記出力レジスタに保存された最終結果値は、データバスを介して、他のプロセッシング要素または出力値に入力することを特徴とする請求項1に記載のプロセッサ。 - 一つ以上の浮動小数点演算を行うように構成されたプロセッシング要素アレイであって、前記各プロセッシング要素は、2つの入力値を受け、前記入力値を処理する演算装置を含み、前記アレイ内のプロセッシング要素は、2つ以上のプロセッシング要素からなるグループに共に連結されるとともに、前記プロセッシング要素間で、データ交換のために、メッシュ構造に互いに連結され、前記アレイは、前記各プロセッシング要素を利用して整数演算を遂行し、または、共に連結された2つ以上のプロセッシング要素からなるグループの2つ以上の各グループを利用し、一つ以上の浮動小数点演算を行うように、選択的に構成された、プロセッシング要素アレイと、
前記アレイに連結され、前記アレイの行または列内でプロセッシング要素によって行われる一つ以上の演算遂行を制御し、前記プロセッシング要素間のデータ交換を可能にするように構成されたコンテクストを保存する構成キャッシュと、
前記アレイに連結され、前記アレイによって行われた一つ以上の演算遂行の臨時結果値を保存するフレームバッファと、
を含み、
前記プロセッシング要素は、パイプラインを形成するために、前記コンテクストに基づいて、行または列単位で構成され、前記パイプライン動作の結果は、前記コンテクストによって指示する方向にフォワーディングされるように構成され、
2つ以上のプロセッシング要素からなるグループの前記2つ以上の各グループは、時間的マッピングを介して、前記整数演算遂行または前記一つ以上の浮動小数点演算を行うように構成され、マルチサイクル演算を行うための制御信号のコンテクストを受け、サイクルごとに最終値が得られた後、前記コンテクストの制御信号を受けるように構成された、
ことを特徴とする再構成アレイプロセッサ。 - 2つ以上のプロセッシング要素からなるグループの前記2つ以上の各グループは、前記一つ以上の浮動小数点演算を行うように連結された前記アレイの列または行内の少なくとも2個のプロセッシング要素を含むことを特徴とする請求項9に記載の再構成アレイプロセッサ。
- 前記アレイは、前記整数演算時には、8×5配列構造で遂行され、前記浮動小数点演算時には、各行内の2個のプロセッシング要素が連結され、4×5配列構造で遂行されるように選択的に構成されることを特徴とする請求項10に記載の再構成アレイプロセッサ。
- 2つ以上のプロセッシング要素からなるグループの前記2つ以上のグループは、浮動小数点に係わる四則演算及び超越関数計算を行うことができるように構成されたことを特徴とする請求項9に記載の再構成アレイプロセッサ。
- 2つ以上のプロセッシング要素からなるグループの前記2つ以上の各グループは、前記四則演算遂行のために連結された2個のプロセッシング要素を含み、
前記各グループ内の2個の連結されたプロセッシング要素は、2個のオペランドの符号及び仮数が入力される仮数部プロセッシング要素、及び前記2個のオペランドの指数が入力される指数部プロセッシング要素を含むことを特徴とする請求項12に記載の再構成アレイプロセッサ。 - 前記仮数部プロセッシング要素は、前記2つのオペランドの仮数を乗じたり割ったりするために、乗算器及び除算器のうち、少なくとも一つに連結されており、
前記指数部プロセッシング要素は、前記2つのオペランドの指数を加えたり差し引いたりするために構成されたことを特徴とする請求項13に記載の再構成アレイプロセッサ。 - 前記フレームバッファは、24ビット浮動小数点フォーマットを有することを特徴とする請求項14に記載の再構成アレイプロセッサ。
- 前記24ビット浮動小数点フォーマットは、1ビットの符号ビット、8ビットの指数ビット及び15ビットの仮数ビットを含むことを特徴とする請求項15に記載の再構成アレ
イプロセッサ。 - 前記仮数部プロセッシング要素は、入力された2つのオペランドの符号及び仮数を、前記フレームバッファの1符号ビット及び15仮数ビットに変換し、変換された前記1符号ビット及び15仮数ビットを、前記フレームバッファに保存し、
前記指数部プロセッシング要素は、入力された2つのオペランドの指数をフレームバッファの8指数ビットに変換し、変換された前記8指数ビットを、前記フレームビットに保存するように構成されたことを特徴とする請求項16に記載の再構成アレイプロセッサ。 - 前記各プロセッシング要素、
前記演算装置に連結され、前記演算装置に少なくとも2個の入力値を提供する2個のマルチプレクサと、
前記演算装置に連結され、前記演算装置から受けた結果値にシフト演算を行うシフタと、
前記演算装置及びシフタに連結され、前記演算装置の中間結果値及びシフタの中間結果値を保存する臨時レジスタと、
前記演算装置及びシフタに連結され、前記演算装置の最終結果値及びシフタの最終結果値を保存する出力レジスタと、
を含み、
前記各マルチプレクサ、データバス、他のプロセッシング要素及び自らのレジスタファイルから受けたデータの中からデータを選択し、前記演算装置に選択された前記データを入力し、前記出力レジスタに保存された最終結果値は、データバスを介して、他のプロセッシング要素または出力値に入力されるようにすることを特徴とする請求項9に記載の再構成アレイプロセッサ。 - 前記アレイは、粗粒度再構成アレイ(CGRA)を含むことを特徴とする請求項9に記載の再構成アレイプロセッサ。
- 前記アレイに連結され、前記アレイ、構成キャッシュ及びフレームバッファの動作を制御する再構成アレイ制御部を含むことを特徴とする請求項19に記載の再構成アレイプロセッサ。
- 複数の構成要素を含み、前記各プロセッシング要素を利用した整数演算の遂行、または、共に連結された2つ以上のプロセッシング要素からなるグループの2つ以上の各グループを利用した一つ以上の浮動小数点演算の遂行、を行うように構成されたプロセッシング要素アレイであって、前記各プロセッシング要素は、2つの入力値を受け、前記入力値を処理する演算装置を含み、前記アレイの前記プロセッシング要素は、前記プロセッシング要素間で、データ交換のために、メッシュ構造に互いに連結されているプロセッシング要素アレイと、
前記アレイに連結され、前記アレイの行または列内でプロセッシング要素によって行わ
れる一つ以上の演算遂行を制御し、前記プロセッシング要素間のデータ交換を可能にする
ように構成されたコンテクストを保存する構成キャッシュと、
前記アレイに連結され、前記アレイによって行われた一つ以上の演算遂行の臨時結果値を保存するフレームバッファと、を含み、
前記プロセッシング要素は、パイプラインを形成するために、前記コンテクストに基づいて、行または列単位で構成され、前記パイプライン動作の結果は、前記コンテクストによって指示する方向にフォワーディングされるように構成された、再構成アレイプロセッ
サと、
前記再構成アレイプロセッサに連結されたシステムバスと、
前記システムバスを介して、前記再構成アレイプロセッサに連結され、前記再構成アレイプロセッサを制御してデータを保存する制御及びメモリ部と、
を含み、
前記2つ以上のプロセッシング要素からなるグループの各グループは、時間的マッピングを介して、前記整数演算遂行または前記一つ以上の浮動小数点演算を行うように構成され、
マルチサイクル演算を行うための制御信号のコンテクストを受け、サイクルごとに最終値が得られた後、前記コンテクストの制御信号を受けるように構成された、
ことを特徴とするデジタル情報プロセッシング装置。 - 前記制御及びメモリ部は、
データの処理及び制御を行う組み込みコアと、データ保存を行う外部メモリと、データ
移動を行うディレクト・メモリアクセス(DMA)コントローラと、を含むことを特徴とする請求項21に記載のデジタル情報プロセッシング装置。 - 前記組み込みコアは、縮小命令セットコンピュータ(RISC)プロセッサ、または、前記縮小命令セットコンピュータ・プロセッサ及び複雑命令セットコンピュータ(CISC)プロセッサの特徴が混合された形態のプロセッサ、を含むことを特徴とする請求項22に記載のデジタル情報プロセッシング装置。
- 前記マルチメディア・プラットホームは、
前記再構成アレイプロセッサの各構成要素が1つの前記システムバスを介して、前記制御及びメモリ部の各構成要素に連結されるようにSoC構造で具現されたことを特徴とする請求項23に記載のデジタル情報プロセッシング装置。 - 前記2つ以上のプロセッシング要素からなるグループの前記2つ以上のグループは、浮動小数点に係わる四則演算及び超越関数計算を行うことができるように構成されることを特徴とする請求項23に記載のデジタル情報プロセッシング装置。
- 前記2つ以上のプロセッシング要素からなるグループの前記2つ以上の各グループは、前記四則演算遂行のために連結された2個のプロセッシング要素を含み、
各グループ内の2個の連結されたプロセッシング要素は、2個のオペランドの符号及び仮数が入力される仮数部プロセッシング要素、及び前記2個のオペランドの指数が入力される指数部プロセッシング要素を含むことを特徴とする請求項25に記載のデジタル情報プロセッシング装置。 - 前記仮数部プロセッシング要素は、前記2つのオペランドの仮数を乗じたり割ったりするために、乗算器及び除算器のうち、少なくとも一つに連結されており、
前記指数部プロセッシング要素は、前記2つのオペランドの指数を加えたり差し引いたりするために構成されたことを特徴とする請求項26に記載のデジタル情報プロセッシング装置。 - 前記フレームバッファは、1符号ビット、8指数ビット及び15仮数ビットを含んだ24ビット浮動小数点フォーマットを有することを特徴とする請求項25に記載のデジタル情報プロセッシング装置。
- 前記各プロセッシング要素は、
前記演算装置に連結され、前記演算装置に少なくとも2個の入力値を提供する2個のマルチプレクサと、
前記演算装置に連結され、前記演算装置から受けた結果値にシフト演算を行うシフタと、
前記演算装置及びシフタに連結され、前記演算装置の中間結果値及びシフタの中間結果値を保存する臨時レジスタと、
前記演算装置及びシフタに連結され、前記演算装置の最終結果値及びシフタの最終結果値を保存する出力レジスタと、
を含み、
前記各マルチプレクサは、データバス、他のプロセッシング要素及び自らのレジスタファイルから受けたデータの中からデータを選択し、前記演算装置に選択された前記データを入力し、前記出力レジスタに保存された最終結果値は、データバスを介して、他のプロセッシング要素または出力値に入力することを特徴とする請求項21に記載のデジタル情報プロセッシング装置。 - 前記再構成アレイプロセッサは、粗粒度再構成アレイ(CGRA)を含み、
前記再構成アレイプロセッサは、前記再構成アレイプロセッサの構成要素を制御するための、前記アレイに連結された再構成アレイ制御部を含むことを特徴とする請求項21に記載のデジタル情報プロセッシング装置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2007-0092139 | 2007-09-11 | ||
KR20070092139 | 2007-09-11 | ||
PCT/KR2007/006005 WO2009035185A1 (en) | 2007-09-11 | 2007-11-26 | Reconfigurable array processor for floating-point operations |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010539582A JP2010539582A (ja) | 2010-12-16 |
JP5089776B2 true JP5089776B2 (ja) | 2012-12-05 |
Family
ID=40452170
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010524767A Expired - Fee Related JP5089776B2 (ja) | 2007-09-11 | 2007-11-26 | 浮動小数点演算のための再構成アレイプロセッサ |
Country Status (5)
Country | Link |
---|---|
US (1) | US8078835B2 (ja) |
JP (1) | JP5089776B2 (ja) |
KR (1) | KR100948512B1 (ja) |
DE (1) | DE212007000102U1 (ja) |
WO (1) | WO2009035185A1 (ja) |
Families Citing this family (73)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7474488B2 (en) * | 2005-08-30 | 2009-01-06 | International Business Machines Corporation | Magnetic head, tape drive system, and method |
JP4232838B2 (ja) * | 2007-03-29 | 2009-03-04 | 日本電気株式会社 | 再構成可能なsimd型プロセッサ |
US8327126B2 (en) * | 2008-08-25 | 2012-12-04 | International Business Machines Corporation | Multicore processor and method of use that adapts core functions based on workload execution |
CN101782893B (zh) * | 2009-01-21 | 2014-12-24 | 上海芯豪微电子有限公司 | 可重构数据处理平台 |
KR101699910B1 (ko) * | 2010-03-04 | 2017-01-26 | 삼성전자주식회사 | 재구성 가능 프로세서 및 그 제어 방법 |
KR101687995B1 (ko) | 2010-09-27 | 2016-12-20 | 삼성전자주식회사 | 프로세서 및 그 동작 방법 |
US9450585B2 (en) | 2011-04-20 | 2016-09-20 | Microchip Technology Incorporated | Selecting four signals from sixteen inputs |
US20120271968A1 (en) * | 2011-04-21 | 2012-10-25 | Microchip Technology Incorporated | Logic device for combining various interrupt sources into a single interrupt source and various signal sources to control drive strength |
KR101869749B1 (ko) * | 2011-10-05 | 2018-06-22 | 삼성전자 주식회사 | 정적 라우터 기반의 코어스 그레인 재구성가능 어레이 |
US9721319B2 (en) | 2011-10-14 | 2017-08-01 | Mastercard International Incorporated | Tap and wireless payment methods and devices |
WO2013100783A1 (en) | 2011-12-29 | 2013-07-04 | Intel Corporation | Method and system for control signalling in a data path module |
JP2014016894A (ja) | 2012-07-10 | 2014-01-30 | Renesas Electronics Corp | 並列演算装置、並列演算装置を備えたデータ処理システム、及び、データ処理プログラム |
WO2014209252A1 (en) * | 2013-06-24 | 2014-12-31 | Intel Corporation | Page management approach to fully utilize hardware caches for tiled rendering |
DE102013212840B4 (de) | 2013-07-02 | 2022-07-07 | Robert Bosch Gmbh | Modellberechnungseinheit und Steuergerät zur Berechnung eines datenbasierten Funktionsmodells mit Daten in verschiedenen Zahlenformaten |
US10331583B2 (en) | 2013-09-26 | 2019-06-25 | Intel Corporation | Executing distributed memory operations using processing elements connected by distributed channels |
US9727460B2 (en) | 2013-11-01 | 2017-08-08 | Samsung Electronics Co., Ltd. | Selecting a memory mapping scheme by determining a number of functional units activated in each cycle of a loop based on analyzing parallelism of a loop |
CN103761075B (zh) * | 2014-02-10 | 2017-01-25 | 东南大学 | 一种粗粒度动态可重构数据规整控制单元结构 |
JP6786955B2 (ja) * | 2016-08-25 | 2020-11-18 | 富士ゼロックス株式会社 | 再構成可能論理回路 |
US10528321B2 (en) * | 2016-12-07 | 2020-01-07 | Microsoft Technology Licensing, Llc | Block floating point for neural network implementations |
US10474375B2 (en) | 2016-12-30 | 2019-11-12 | Intel Corporation | Runtime address disambiguation in acceleration hardware |
US10114795B2 (en) | 2016-12-30 | 2018-10-30 | Western Digital Technologies, Inc. | Processor in non-volatile storage memory |
US10572376B2 (en) | 2016-12-30 | 2020-02-25 | Intel Corporation | Memory ordering in acceleration hardware |
US10558575B2 (en) | 2016-12-30 | 2020-02-11 | Intel Corporation | Processors, methods, and systems with a configurable spatial accelerator |
US10416999B2 (en) | 2016-12-30 | 2019-09-17 | Intel Corporation | Processors, methods, and systems with a configurable spatial accelerator |
US10885985B2 (en) | 2016-12-30 | 2021-01-05 | Western Digital Technologies, Inc. | Processor in non-volatile storage memory |
US10445451B2 (en) | 2017-07-01 | 2019-10-15 | Intel Corporation | Processors, methods, and systems for a configurable spatial accelerator with performance, correctness, and power reduction features |
US10387319B2 (en) | 2017-07-01 | 2019-08-20 | Intel Corporation | Processors, methods, and systems for a configurable spatial accelerator with memory system performance, power reduction, and atomics support features |
US10515049B1 (en) | 2017-07-01 | 2019-12-24 | Intel Corporation | Memory circuits and methods for distributed memory hazard detection and error recovery |
US10515046B2 (en) | 2017-07-01 | 2019-12-24 | Intel Corporation | Processors, methods, and systems with a configurable spatial accelerator |
US10445234B2 (en) | 2017-07-01 | 2019-10-15 | Intel Corporation | Processors, methods, and systems for a configurable spatial accelerator with transactional and replay features |
US10467183B2 (en) | 2017-07-01 | 2019-11-05 | Intel Corporation | Processors and methods for pipelined runtime services in a spatial array |
US10469397B2 (en) | 2017-07-01 | 2019-11-05 | Intel Corporation | Processors and methods with configurable network-based dataflow operator circuits |
US10496574B2 (en) | 2017-09-28 | 2019-12-03 | Intel Corporation | Processors, methods, and systems for a memory fence in a configurable spatial accelerator |
US11086816B2 (en) | 2017-09-28 | 2021-08-10 | Intel Corporation | Processors, methods, and systems for debugging a configurable spatial accelerator |
US10445098B2 (en) | 2017-09-30 | 2019-10-15 | Intel Corporation | Processors and methods for privileged configuration in a spatial array |
US10565134B2 (en) | 2017-12-30 | 2020-02-18 | Intel Corporation | Apparatus, methods, and systems for multicast in a configurable spatial accelerator |
US10417175B2 (en) | 2017-12-30 | 2019-09-17 | Intel Corporation | Apparatus, methods, and systems for memory consistency in a configurable spatial accelerator |
US10445250B2 (en) | 2017-12-30 | 2019-10-15 | Intel Corporation | Apparatus, methods, and systems with a configurable spatial accelerator |
US20190303297A1 (en) * | 2018-04-02 | 2019-10-03 | Intel Corporation | Apparatus, methods, and systems for remote memory access in a configurable spatial accelerator |
US11307873B2 (en) | 2018-04-03 | 2022-04-19 | Intel Corporation | Apparatus, methods, and systems for unstructured data flow in a configurable spatial accelerator with predicate propagation and merging |
US10564980B2 (en) | 2018-04-03 | 2020-02-18 | Intel Corporation | Apparatus, methods, and systems for conditional queues in a configurable spatial accelerator |
US10459866B1 (en) | 2018-06-30 | 2019-10-29 | Intel Corporation | Apparatuses, methods, and systems for integrated control and data processing in a configurable spatial accelerator |
US10853073B2 (en) | 2018-06-30 | 2020-12-01 | Intel Corporation | Apparatuses, methods, and systems for conditional operations in a configurable spatial accelerator |
US10891240B2 (en) | 2018-06-30 | 2021-01-12 | Intel Corporation | Apparatus, methods, and systems for low latency communication in a configurable spatial accelerator |
US11200186B2 (en) | 2018-06-30 | 2021-12-14 | Intel Corporation | Apparatuses, methods, and systems for operations in a configurable spatial accelerator |
US10831507B2 (en) | 2018-11-21 | 2020-11-10 | SambaNova Systems, Inc. | Configuration load of a reconfigurable data processor |
US11188497B2 (en) | 2018-11-21 | 2021-11-30 | SambaNova Systems, Inc. | Configuration unload of a reconfigurable data processor |
US10678724B1 (en) | 2018-12-29 | 2020-06-09 | Intel Corporation | Apparatuses, methods, and systems for in-network storage in a configurable spatial accelerator |
CN109523019B (zh) * | 2018-12-29 | 2024-05-21 | 百度在线网络技术(北京)有限公司 | 加速器、基于fpga的加速系统及控制方法、cnn网络系统 |
US10698853B1 (en) | 2019-01-03 | 2020-06-30 | SambaNova Systems, Inc. | Virtualization of a reconfigurable data processor |
US10768899B2 (en) | 2019-01-29 | 2020-09-08 | SambaNova Systems, Inc. | Matrix normal/transpose read and a reconfigurable data processor including same |
US10915471B2 (en) | 2019-03-30 | 2021-02-09 | Intel Corporation | Apparatuses, methods, and systems for memory interface circuit allocation in a configurable spatial accelerator |
US10817291B2 (en) | 2019-03-30 | 2020-10-27 | Intel Corporation | Apparatuses, methods, and systems for swizzle operations in a configurable spatial accelerator |
US10965536B2 (en) | 2019-03-30 | 2021-03-30 | Intel Corporation | Methods and apparatus to insert buffers in a dataflow graph |
US11029927B2 (en) | 2019-03-30 | 2021-06-08 | Intel Corporation | Methods and apparatus to detect and annotate backedges in a dataflow graph |
US11386038B2 (en) | 2019-05-09 | 2022-07-12 | SambaNova Systems, Inc. | Control flow barrier and reconfigurable data processor |
US11037050B2 (en) | 2019-06-29 | 2021-06-15 | Intel Corporation | Apparatuses, methods, and systems for memory interface circuit arbitration in a configurable spatial accelerator |
US11055141B2 (en) | 2019-07-08 | 2021-07-06 | SambaNova Systems, Inc. | Quiesce reconfigurable data processor |
KR20210030653A (ko) * | 2019-09-10 | 2021-03-18 | 주식회사 모빌린트 | 복수 개의 코어를 갖는 연산 장치 |
US11269635B1 (en) * | 2019-10-21 | 2022-03-08 | Accenture Global Solutions Limited | Hardware efficient statistical moment computation |
US11907713B2 (en) | 2019-12-28 | 2024-02-20 | Intel Corporation | Apparatuses, methods, and systems for fused operations using sign modification in a processing element of a configurable spatial accelerator |
US11308027B1 (en) * | 2020-06-29 | 2022-04-19 | Amazon Technologies, Inc. | Multiple accumulate busses in a systolic array |
US11809908B2 (en) | 2020-07-07 | 2023-11-07 | SambaNova Systems, Inc. | Runtime virtualization of reconfigurable data flow resources |
US11782729B2 (en) | 2020-08-18 | 2023-10-10 | SambaNova Systems, Inc. | Runtime patching of configuration files |
US12086080B2 (en) | 2020-09-26 | 2024-09-10 | Intel Corporation | Apparatuses, methods, and systems for a configurable accelerator having dataflow execution circuits |
US11893392B2 (en) * | 2020-12-01 | 2024-02-06 | Electronics And Telecommunications Research Institute | Multi-processor system and method for processing floating point operation thereof |
KR102639136B1 (ko) * | 2020-12-01 | 2024-02-21 | 한국전자통신연구원 | 멀티 프로세서 시스템 및 그의 부동 소수점 연산 처리 방법 |
CN112286864B (zh) * | 2020-12-24 | 2021-06-04 | 北京清微智能科技有限公司 | 加速可重构处理器运行的稀疏化数据处理方法及系统 |
US11556494B1 (en) | 2021-07-16 | 2023-01-17 | SambaNova Systems, Inc. | Defect repair for a reconfigurable data processor for homogeneous subarrays |
US11409540B1 (en) | 2021-07-16 | 2022-08-09 | SambaNova Systems, Inc. | Routing circuits for defect repair for a reconfigurable data processor |
US11327771B1 (en) | 2021-07-16 | 2022-05-10 | SambaNova Systems, Inc. | Defect repair circuits for a reconfigurable data processor |
CN113504893B (zh) * | 2021-07-23 | 2022-08-26 | 河南亿秒电子科技有限公司 | 一种智能芯片架构和高效处理数据的方法 |
US11487694B1 (en) | 2021-12-17 | 2022-11-01 | SambaNova Systems, Inc. | Hot-plug events in a pool of reconfigurable data flow resources |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5966528A (en) * | 1990-11-13 | 1999-10-12 | International Business Machines Corporation | SIMD/MIMD array processor with vector processing |
US5915123A (en) * | 1997-10-31 | 1999-06-22 | Silicon Spice | Method and apparatus for controlling configuration memory contexts of processing elements in a network of multiple context processing elements |
US8065504B2 (en) * | 1999-01-28 | 2011-11-22 | Ati International Srl | Using on-chip and off-chip look-up tables indexed by instruction address to control instruction execution in a processor |
US6912626B1 (en) * | 2000-08-31 | 2005-06-28 | Micron Technology, Inc. | Method and apparatus for connecting a massively parallel processor array to a memory array in a bit serial manner |
US20070067380A2 (en) * | 2001-12-06 | 2007-03-22 | The University Of Georgia Research Foundation | Floating Point Intensive Reconfigurable Computing System for Iterative Applications |
JP3719509B2 (ja) * | 2002-04-01 | 2005-11-24 | 株式会社ソニー・コンピュータエンタテインメント | シリアル演算パイプライン、演算装置、算術論理演算回路およびシリアル演算パイプラインによる演算方法 |
US7082451B2 (en) * | 2002-09-09 | 2006-07-25 | Freescale Semiconductor, Inc. | Reconfigurable vector-FFT/IFFT, vector-multiplier/divider |
GB0224023D0 (en) * | 2002-10-16 | 2002-11-27 | Roysmith Graeme | Reconfigurable integrated circuit |
US6971083B1 (en) * | 2002-11-13 | 2005-11-29 | Altera Corporation | Method for programming programmable logic device with blocks that perform multiplication and other arithmetic functions |
US7242216B1 (en) * | 2004-11-08 | 2007-07-10 | Herman Schmit | Embedding memory between tile arrangement of a configurable IC |
KR100834412B1 (ko) | 2007-05-23 | 2008-06-04 | 한국전자통신연구원 | 모바일 멀티미디어 연산의 효율적인 처리를 위한 병렬 프로세서 |
-
2007
- 2007-11-26 DE DE212007000102U patent/DE212007000102U1/de not_active Expired - Lifetime
- 2007-11-26 JP JP2010524767A patent/JP5089776B2/ja not_active Expired - Fee Related
- 2007-11-26 WO PCT/KR2007/006005 patent/WO2009035185A1/en active Application Filing
-
2008
- 2008-05-23 US US12/126,825 patent/US8078835B2/en active Active
- 2008-09-11 KR KR1020080090012A patent/KR100948512B1/ko not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
US20090113169A1 (en) | 2009-04-30 |
DE212007000102U1 (de) | 2010-03-18 |
JP2010539582A (ja) | 2010-12-16 |
WO2009035185A1 (en) | 2009-03-19 |
KR100948512B1 (ko) | 2010-03-25 |
US8078835B2 (en) | 2011-12-13 |
KR20090027184A (ko) | 2009-03-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5089776B2 (ja) | 浮動小数点演算のための再構成アレイプロセッサ | |
US10817587B2 (en) | Reconfigurable matrix multiplier system and method | |
EP3779669B1 (en) | Block floating point for neural network implementations | |
KR101098758B1 (ko) | Fp-ra를 구성하는 pe 구조 및 그 fp-ra제어하는 fp-ra 제어 회로 | |
US9104510B1 (en) | Multi-function floating point unit | |
US5631859A (en) | Floating point arithmetic unit having logic for quad precision arithmetic | |
US8341204B2 (en) | Vector SIMD processor | |
US6711602B1 (en) | Data processor with flexible multiply unit | |
US20210326111A1 (en) | FPGA Processing Block for Machine Learning or Digital Signal Processing Operations | |
KR100919236B1 (ko) | 병렬 프로세서를 이용한 3차원 그래픽 기하 변환 방법 | |
CN108139886B (zh) | 用于图像处理器的多功能执行通道 | |
US7769981B2 (en) | Row of floating point accumulators coupled to respective PEs in uppermost row of PE array for performing addition operation | |
Kuang et al. | Energy-efficient multiple-precision floating-point multiplier for embedded applications | |
Anido et al. | Interactive ray tracing using a SIMD reconfigurable architecture | |
Savadi et al. | A survey on design of digital signal processor | |
Hsiao et al. | Design of a low-cost floating-point programmable vertex processor for mobile graphics applications based on hybrid number system | |
Moon et al. | An area-efficient standard-cell floating-point unit design for a processing-in-memory system | |
Hanuman et al. | Implementation of High-Performance Floating Point Divider Using Pipeline Architecture on FPGA | |
Damaj et al. | Performance analysis of linear algebraic functions using reconfigurable computing | |
Sunitha et al. | Design and Comparison of Risc Processors Using Different Alu Architectures | |
Liu et al. | Design of a dynamic reconfigurable coprocessor for flexible precision matrix algorithms in media processing and industrial control applications | |
Mhaidat | Prototyping a scalable Montgomery multiplier using field programmable gate arrays (FPGAs) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20101126 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20101207 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20111111 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120203 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120622 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120718 |
|
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: 20120817 |
|
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: 20120911 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150921 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5089776 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
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 |
|
LAPS | Cancellation because of no payment of annual fees |