JP2005539293A - 部分的にグローバルなコンフィギュレーションバスを用いたプログラマブルパイプラインファブリック - Google Patents

部分的にグローバルなコンフィギュレーションバスを用いたプログラマブルパイプラインファブリック Download PDF

Info

Publication number
JP2005539293A
JP2005539293A JP2004529378A JP2004529378A JP2005539293A JP 2005539293 A JP2005539293 A JP 2005539293A JP 2004529378 A JP2004529378 A JP 2004529378A JP 2004529378 A JP2004529378 A JP 2004529378A JP 2005539293 A JP2005539293 A JP 2005539293A
Authority
JP
Japan
Prior art keywords
stripe
physical
stripes
virtual
output
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.)
Pending
Application number
JP2004529378A
Other languages
English (en)
Other versions
JP2005539293A5 (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.)
Carnegie Mellon University
Original Assignee
Carnegie Mellon University
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 Carnegie Mellon University filed Critical Carnegie Mellon University
Publication of JP2005539293A publication Critical patent/JP2005539293A/ja
Publication of JP2005539293A5 publication Critical patent/JP2005539293A5/ja
Pending legal-status Critical Current

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/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
    • G06F9/3895Concurrent 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/3897Concurrent 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7867Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Logic Circuits (AREA)
  • Storage Device Security (AREA)
  • Advance Control (AREA)
  • Image Processing (AREA)

Abstract

仮想ストライプと物理ストライプをパイプライン又はリング構造に連繋する方法であって、第1の仮想ストライプ群を2以上の物理ストライプと連繋し、第1の仮想ストライプ群とは繋がっていない第2の仮想ストライプ群を2以上の追加の物理ストライプと連繋することを含んでいる。本発明はまた、グローバルよりも少ないが、純粋なローカルではないアソシエーションに基づいて、複数のプロセッシングエレメントをコンフィギュアする方法を対象とする。本発明のコンフィギュレーション方法は、複数のプロセッシングエレメントに配置されたデバイスの中で実行されることができる。本発明の方法は、2以上の物理ストライプのどちらかを、第1の仮想ストライプ群の中の仮想ストライプでコンフィギュアし、2以上の追加の物理ストライプのどちらかを、第1の仮想ストライプ群とは繋がっていない第2の仮想ストライプ群の中の仮想ストライプでコンフィギュアすることを含んでいる。本発明はまた、リコンフィギュラブルデバイスを対象とするもので、該デバイスは、コントローラと、該コントローラに応答可能なメモリデバイスと、複数のストライプに配置された複数のプロセッシングエレメントと、ストライプ内のプロセッシングエレメントを接続するための複数のストライプ内相互接続と、1つのストライプの出力を、1つだけの他のストライプに接続するための複数のローカル・インターストライプ接続と、1以上であるが全部よりは少ない数の物理ストライプをメモリに接続するための複数のグローバル・インターストライプと、各々が1以上の物理ストライプに接続された入力バス及び出力バスと、を具えている。

Description

連邦政府の資金援助による研究に関する陳述
この発明は、少なくとも一部分は、契約番号DABT63−96−C−0083のDARPA−ITO/TTOによる資金の援助を通じて開発されたもので、連邦政府は、この発明の権利を有することができる。
本発明は、リコンフィギュラブル・アーキテクチャに関するもので、より具体的には、情報をパイプラインのように処理するのに用いられるリコンフィギュラブル・アーキテクチャに関する。
従来、リコンフィギュラブル演算のための方法として、ユーザに定義されたアプリケーションを実行するために、プログラマブルハードウエアを静的にコンフィギュアすることが行われている。このようなコンフィギュレーションの静的性質は、2つの問題を引き起こす。その1つは、より多くのハードウエアを必要とすることであり、もう1つは、単一のハードウエアデザインでは、将来のプロセス・ジェネレーションで不可避的に利用されるようになるであろう追加のリソースを利用できないことである。パイプライン化されたリコンフィギュレーションと称される技術は、そのハードウエアの迅速なリコンフィギュレーションを通じて、小さなピースのハードウエア上で、大きな論理コンフィギュレーションを実行する(implement)。この技術の場合、コンパイラは、固定ハードウエアの制約を満足させる手段を担うことはできなくなる。また、デザインの性能向上は、そのデザインに割り当てられたハードウエアの量に比例する。
パイプライン化コンフィギュレーションは、単一の静的コンフィギュレーションを、アプリケーションのパイプラインステージに対応する複数のピースに分割することにより、パイプライン化演算を仮想化することを含んでいる。各パイプラインステージは、1サイクル毎に1つずつ、ファブリックの中へロードされる。これは、ファブリックの中にコンフィギュレーションの全体が一時に存在しない場合でも、演算の実行を可能にする。
図1は、仮想プロセスを示すもので、3ステージのファブリックに仮想化された5ステージのパイプラインを示している。図1Aは、5ステージのアプリケーションを示し、6連続サイクルにおける各々の論理(仮想)パイプラインステージの状態を示している。図1Bは、物理ステージ(physical stages)がこのアプリケーションをエグゼキュート(execute)するときのファブリック内の物理ステージの状態を示している。この例では、仮想パイプステージ1は、サイクル1でコンフィギュアされ、次のサイクルでエグゼキュートできる状態にあり、2つのサイクルに対してエグゼキュートする。物理パイプステージ4は無い。それゆえ、サイクル4では、第4番目の仮想パイプステージは物理ステージ1でコンフィギュアされ、第1の仮想ステージを取り替える。一旦パイプラインが一杯になると、5サイクル毎に2連続サイクルに対して2つの結果を生じる。例えば、サイクル2、3、7、8、...は入力を消費し、サイクル6、7、11、12、...は出力を発生する。
図2は、パイプライン化ファブリックのアーキテクチュラルクラスのアブストラクトビューである。複数のプロセッシングエレメント(PEs)の各ロウは、それに関連のある相互接続と共に、ストライプと称される。各々のプロセッシングエレメント(PE)は、典型的には、演算論理ユニット(ALU)とパスレジスタファイルを含んでいる。各々のALUは、ルックアップテーブル(LUTs)と、キャリーチェーン、ゼロ検出等のための追加回路を含んでいる。デザイナーは、一組のNBビット幅ALUsを用いて、組合せ論理を実装する。ALUの動作は静的であり、特定の仮想ストライプは物理ストライプに存在する。デザイナーは、ALUsのキャリーラインについて、カスケード、チェーン又は他の接続を行ない、よりワイドなALUを構築し、相互接続ネットワークを介してPEsどうしをチェーンし、複合的な組合せ機能を構築する。
リコンフィギュラブルファブリックは、プロセスが必要とするよりも物理ストライプが少ないファブリックの中で処理を実行する機会を提供するので、仮想ストライプを物理ストライプに関連づけることが必要である。図3は、どんな仮想ストライプでも任意の物理ストライプにロードされることができるグローバル・アソシエーションを示している。グローバル・アソシエーションは、メモリオーバヘッドにセーブするストレージが統合される(consolidated)利点をもたらす。しかしながら、その構造はスケーラブルでないという不都合がある。物理ストライプの数が増えるにつれて、グローバルバスラインは長くなり、負荷が高くなる。このように、グローバル・アソシエーションは物理ストライプの数が少ないファブリックでは、うまく機能するが、ハードウエアが改善され、物理ストライプの数が増すにつれて、各々の物理ストライプを任意の仮想ストライプへ関連づけることが少なくなり、また好ましくない。
図4を参照すると、純粋なローカル・アソシエーションを示している。図4に示されるように、物理ストライプ1は、仮想ストライプ0と4でコンフィギュアされることができる。物理ストライプ2は、仮想ストライプ1又は5でコンフィギュアされることができる。物理ストライプ3は仮想ストライプ2又は6でコンフィギュアされることができる。また、物理ストライプ4は仮想ストライプ3又は7と結合されることができる。図3のように、4つの物理ストライプと8つの仮想ストライプがある。図4に示されるローカル・アソシエーションは、コンフィギュアバスが短く、低負荷であるため、スケーラブルであるという点において、図3のグローバル・アソシエーションの不都合を解消するものである。図4に示すローカル・アソシエーションはまた、メモリが少なく、これらメモリへのアクセスをインタリーブする能力を有するので、グローバル・アソシエーションよりも高速であり、メモリはファブリックよりもゆっくりとサイクルを実行することができる。しかしながら、図4のローカル・アソシエーションは、ストレージの分散が大きい。このため、分散されたストレージを動作させるのに必要なオーバヘッドのために、効率が悪いという欠点がある。
オペレーショナルデバイスに対しては、追加のバスを設けねばならない。例えば、入力バスと出力バスを設けなければならない。典型的には、そのような入力と出力は、物理ストライプの各々を使用する点において、グローバルである。しかしながら、入力バスと出力バスがグローバルよりも少ない場合、入力バスに接続されていない物理ストライプは最初の物理ステージである必要はなく、出力バスに接続されていない物理ストライプは最後の物理ストライプである必要はないことを、設計段階で保証する必要がある。最後に、物理ストライプによって作成された幾つかの値は、当該物理ストライプの次の実施に用いられることが必要になるかもしれない。その場合、その値は、メモリの中に格納された物理ストライプから取得され、そのストライプが次に実施されるとき、そのストライプ又は別のストライプに入力(リストア)されなければならない。もし、この機能を提供するバスがグローバルよりも少ない場合、設計段階で、リストアバス(restore bus)に接続されていない物理ストライプは、そのような値を供給又は受信する必要がないことを、保証する必要がある。
このように、スケーラブルであると同時に、グローバル・アソシエーションの利点を維持し、必要に応じて、ストライプへ状態情報を提供することができ、出力ストライプが出力バスに接続されていないときにも情報を出力することができるアソシエーションオプションが要請されている。
<発明の要旨>
本発明は、仮想ストライプがパイプライン又はリング構造に接続される方式のデバイスにおいて、仮想ストライプと物理ストライプを連繋する(associating)方法を対象とするものである。本発明の方法は、第1の仮想ストライプ群を2以上の物理ストライプの任意の1つに連繋し、第1の仮想ストライプ群とは異なる第2の仮想ストライプ群を、2以上の追加の物理ストライプの任意の1つに連繋することを含んでいる。本発明はまた、グローバルより少ないが純粋なローカルではないアソシエーションに基づいて、複数のプロセッシングエレメントをコンフィギュアする方法を対象とするものである。本発明のコンフィギュレーション方法は、複数のプロセッシングエレメントの複数のストライプに配置されたデバイスの中で実施され、リング又はパイプライン式に相互連結されることができる。本発明の方法は、第1の仮想ストライプ群からのストライプで2以上の物理ストライプのどちらかをコンフィギュアし、第1の仮想ストライプ群とは繋がっていない(disjoint)第2の仮想ストライプ群からのストライプで2以上の追加の物理ストライプのどちらかをコンフィギュアすることを含んでいる。
本発明の方法を実施するデバイスでは、出力バスは物理ストライプの全てを相互接続しないようにすることが可能である。もしそうであるならば、そして、最終出力が出力バスからのサービスを受けた物理ストライプで利用可能でない場合、1又は2以上の物理ストライプを、ヌルコンフィギュレーション(null configuration)でコンフィギュアすることが必要である。ヌルコンフィギュレーションにより、最終出力は、変化のない状態で、物理ストライプを通って伝播することができる。必要とされる数多くの物理ストライプはヌルコンフィギュレーションでコンフィギュアされることができ、最終出力は、出力バスからサービスを受けた物理ストライプで利用可能となる。
本発明はまた、コントローラと、該コントローラに応答可能なメモリデバイスと、ストライプに配置された複数のプロセッシングエレメントと、複数のストライプ内のプロセッシングエレメントを接続するための複数のイントラストライプ相互接続と、1つのストライプの出力を、1つだけの他のストライプに接続するための複数のローカル・インターストライプ接続と、1以上であるが全部よりは少ない数の物理ストライプをメモリに接続するための複数のグローバル・インターストライプと、各々が1以上の物理ストライプに接続された入力バス及び出力バスと、を具えている。
本発明の方法及び装置は、負荷が軽く、部分的にグローバルなバスで、メモリの効率的な使用を提供するものであり、仮想ストライプを物理ストライプに連繋するだけでなく、入力バス、出力バス及びリストアバスを用いて効率を向上させることのできるスケーラブルなアーキテクチャを提供するものである。これら及びその他の利点及び利益については、以下に記載する発明の詳細な説明から明らかであろう。
<発明の詳細な説明>
図5は、本発明の実施例に係るハイブリッド・アソシエーションのオプションを示している。図5において、仮想ストライプ0、1、4、5は、物理ストライプ(10)(12)の中でコンフィギュアされることを示している。より具体的には、仮想ストライプ0と4は、物理ストライプ(10)の中でコンフィギュアされ、一方、仮想ストライプ1と5は、物理ストライプ(12)の中でコンフィギュアされる。部分的にグローバルなバス(13)を用いて、仮想ストライプで物理ストライプをコンフィギュアするのに必要な情報が送信される。
同じように、部分的にグローバルなバス(17)を通じて、物理ストライプ(14)は、仮想ストライプ2と6でコンフィギュアされ、一方、物理ストライプ(16)は、仮想ストライプ3と7でコンフィギュアされる。図5に示されるように、本発明の方法は、第1の仮想ストライプ群0、1、4、5が2以上の物理ストライプ(10)(12)に連繋され、第2の仮想ストライプ群2、3、6、7が2以上の追加の物理ストライプ(14)(16)に連繋される。
図5に示されるように、パスレジスタライン(19)が、物理ストライプ(10)と(12)の間で、ローカルなインターストライプ接続として供され、パスレジスタライン(21)が、物理ストライプ(14)と(16)の間で、ローカルなインターストライプ接続として供される。パスレジスタライン(23)は、物理ストライプ(12)と(14)の間で、ローカルなインターストライプ接続として供され、パスレジスタライン(25)は、物理ストライプ(16)と(10)の間で、ローカルなインターストライプ接続として供される。本発明のアソシエーション方法では、4つの物理ストライプと、8つの仮想ストライプが示されているが、当該分野の専門家であれば、本発明の方法は、部分的にグローバルなバスを用いるという概念を包含する、もっと大きなシステムにも適用できることは理解し得るであろう。
図6は、図5に示されたアソシエーション法に基づいて相互接続された4つの物理ストライプ(10)(12)(14)(16)を有するリコンフィギュラブルファブリック又はデバイスの概要を示している。コンフィギュレーションストア(メモリデバイス)(28)は、仮想ストライプ0、1、4、5を格納し、部分的にグローバルなバス(13)を通じて物理ストライプ(10)(12)をコンフィギュアするために供される。仮想ストライプが、パスレジスタファイルの中のレジスタに格納され、ファブリックの中にコンフィギュアされた最後の仮想ストライプからリストアされた幾つかの状態値を有しなければならないかもしれないことは、演算又はアプリケーションによっては可能性がある。その場合、ROストア(メモリデバイス)(30)は、最後のインスタンスから必要な値を格納し、その値を、バス(31)を通じて、物理ストライプの次のインスタンスへ供給するために提供される。同じように、コンフィギュレーションストア(32)は、部分的にグローバルなバス(17)を通じて、仮想ストライプ2、3、6、7で、物理ストライプ(14)(16)をコンフィギュアする。ROストア(34)は、所望により、ROバス(35)を通じて、物理ストライプ(14)(16)へ前記値を供給する。
コンフィギュレーションストア(28)、ROストア(30)、コンフィギュレーションストア(32)及びROストア(31)は、コントローラ(38)に反応する。コントローラ(38)は、コンフィギュレーションの管理とデータの管理という2つの主要な機能を具えている。当該分野の専門家であれば、コントローラ(38)の機能は複数のコントローラによってもたらされることを認識するであろう。コンフィギュレーション管理とデータ管理の詳細については、文献[Schmit, et al, "Managing Pipeline-ReconfigurableFPGAs"published in ACM 6th International Symposium on FPGAs, February 1998]に記載されており、この文献の全体はその引用を以て本願への記載加入とする。コントローラ(38)によって実行されるタスクのより詳細な内容については、前記文献を参照することができる。
図6の説明により、物理ストライプ(10)は、第1仮想ストライプ0でコンフィギュアされることができる唯一の物理ストライプであることがわかる。結果として、物理ストライプ(10)だけが入力バス(40)に接続される。出力バス(42)は物理ストライプ(14)(16)に繋がっている。例えば、4つの仮想ストライプを有するプロセスのように、8より少ない数の仮想ストライプを有する方法を実行するのに、図6の4つのストライプファブリックを用いることは可能である。その場合、物理ストライプ(12)でコンフィギュアされる第5の仮想ストライプは、プロセスの最後の出力を有する。しかしながら、物理ストライプ(12)は、出力バス(42)とは繋がっていない。それゆえ、物理ストライプ(14)を、ヌルコンフィギュレーションでコンフィギュアする必要がある。ヌルコンフィギュレーションの目的は、物理ストライプ(12)(仮想ストライプ5)で作成された最後の出力を、最後の出力信号の状態を一切変えることなく、物理ストライプ(14)を通じて出力バス(42)へ伝播させることである。出力が、出力バスに繋がった物理ストライプへ伝播されるように、2以上の物理ストライプがヌルコンフィギュレーションでコンフィギュアされねばならないこともあり得る。ヌルコンフィギュレーションは、例えば、単一クロックサイクルで物理ストライプに書き込まれたコンフィギュレーションワードを通じて、他のどんなコンフィギュレーションのような物理ストライプに書き込まれることができる。
図7は、図6に示されたリコンフィギュラブルファブリックと共に用いられることができるプロセッシングエレメント(44)の実施例のブロック図である。より具体的には、図7に示されるPE(44)は、物理ストライプ(14)(16)の1つの中で実行されることができる。同様なPEは、物理ストライプ(10)(12)で用いられることはできるが、そのようなPEsは出力バス(42)とは繋がっておらず、物理ストライプ(10)のPEsは、入力バス(40)と繋がっている。
ローカルなインターストライプ接続を通じて、PEsは先のストライプの登録された出力からオペランドへアクセスすることができる。ストライプ内の接続を通じて、同じストライプ内の他のPEsの登録された出力又は未登録の出力へアクセスすることができる。パスレジスタファイル(46)は、パスレジスタファイル(46)は、効率的で、ローカルなインターストライプ接続を実現し易くする。プログラムは、ALUの出力を、パスレジスタファイル(46)の中の任意のレジスタに書き込むことができる。ALUが特定のレジスタに書き込みをしない場合、そのレジスタの値は、先のストライプの対応するパスレジスタ値からもたらされるであろう。このように、データ値は、ストライプ内の接続(48)を通じて、ストライプ内を側方に(laterally)移動する。さらに、各PEにおけるシフター(50)は、その入力B−1ビットを左側にシフトさせる。このように、ファブリックは、文字ベースの算術に必要なデータアラインメント(data alignments)を取り扱うことができる。PEsの構造及び動作のさらなる詳細については、文献[Schmit, et al,"PipeRench : a virtualized programmable data path in 0.18 Micron Technology", in Proceedings of the IEEE Custom Integrated Circuits Conference (CICC), 2002]を参照することができ、その全体について、引用を以て本願への記載加入とする。
図8は、8つのストライプを必要とするプロセスを実行するために、図6の4つのストライプファブリックの使用例を示している。図8は、各々の物理ステージが12サイクルを実行するときにコンフィギュアされる方法を示している。このようなリコンフィギュラブルファブリックの動作のさらなる詳細については、文献[Schmit, "PipeRench : a reconfigurable, architectural and compiler", IEEE Computer, pages 70-76 (April 2000)]を参照することができ、その全体について、引用を以て本願への記載加入とする。
本発明を、その望ましい実施例に関して説明したが、当該分野の専門家であれば、多くの変形及び変更を行なうことはできるであろう。例えば、5以上の物理ストライプを有し、9以上の仮想ストライプを実行し、ビット幅がより小さいか又はより大きく、異なるオペレータでALUsを使用し、パイプライン又はリングコンフィギュレーションに接続されたリコンフィギュラブルデバイスも、本発明に包含される。図面に示され、前述したアーキテクチャ及びPEは、本発明の例示を目的として提供されるものであり、前記アーキテクチャ及びPEが本発明を実施するための唯一の実施例を意味するものではない。本発明は、前記の記載ではなく、特許請求の範囲の記載によって規定される。
3段階リコンフィギュラブルファブリック上で5段階パイプラインを仮想化するプロセスを示す図である。 3段階リコンフィギュラブルファブリック上で5段階パイプラインを仮想化するプロセスを示す図である。 リコンフィギュラブルファブリックのストライプを示す図である。 グローバルなマッピングを示す図である。 ローカル・アソシエーションのオプションを示す図である。 本発明に係るハイブリッド・アソシエーションのオプションを示す図である。 図5に示されたアソシエーションに基づいて相互接続された4つのストライプを有するリコンフィギュラブルファブリックの概要を示す図である。 図6に示されたリコンフィギュラブルファブリックと共に用いられるプロセッシングエレメント(processing element; PE)の一実施例のブロック図である。 8つのストライプを必要とするプロセスを実施するために、図6の4つのストライプファブリックを用いた例を示す図である。

Claims (14)

  1. 複数のストライプの中に配置された複数のプロセッシングエレメントをコンフィギュアする方法であって、
    第1の仮想ストライプ群からの仮想ストライプで、2以上の物理ストライプのどちらかをコンフィギュアし、
    第1の仮想ストライプ群とは繋がっていない第2の仮想ストライプ群からの仮想ストライプで、2以上の追加の物理ストライプのどちらかをコンフィギュアすることを含んでいる、方法。
  2. 2以上の物理ストライプのどちらかをコンフィギュアするステップと2以上の追加の物理ストライプのどちらかをコンフィギュアするステップは、コンフィギュレーションメモリから前記物理ストライプの各々にコンフィギュレーションワードを書き込むことを含んでいる請求項1の方法。
  3. 物理ストライプにコンフィギュレーションワードを書き込むステップは、1クロックサイクルで行われる請求項2の方法。
  4. 各々の物理ストライプにコンフィギュアされる次の仮想ストライプのテーブルを維持するステップをさらに含んでいる請求項1の方法。
  5. 物理ストライプの1つは、前の物理ストライプの出力が、出力の状態を変えることなく、ヌルコンフィギュアされた物理ストライプを通過できるように、ヌルコンフィギュレーションでコンフィギュアされる請求項1の方法。
  6. 前の物理ストライプの出力が、出力の状態を変えることなく、ヌルコンフィギュアされた物理ストライプを通過できるように、物理ストライプをヌルコンフィギュレーションでコンフィギュアすることを含んでいる方法。
  7. ヌルコンフィギュレーションで物理ストライプをコンフィギュアするステップは、コンフィギュレーションメモリから、ヌルコンフィギュレーションワードを物理ストライプに書き込むことを含んでいる請求項6の方法。
  8. ヌルコンフィギュレーションワードの物理ストライプへの書込みは、1回のクロックサイクルで行われる請求項7の方法。
  9. ヌルコンフィギュレーションがコンフィギュアされるべき各物理ストライプを決定することをさらに含んでいる請求項6の方法。
  10. 複数のプロセッシングエレメントが複数のストライプの中に配置されるタイプのデバイスにおいて、仮想ストライプを物理ストライプに連繋する方法であって、
    第1の仮想ストライプ群を、2以上の物理ストライプに連繋し、
    第1の仮想ストライプ群とは繋がっていない第2の仮想ストライプ群を、2以上の追加の物理ストライプと連繋することを含んでいる、方法。
  11. コントローラと、
    該コントローラに応答可能なメモリデバイスと、
    複数のストライプに配置された複数のプロセッシングエレメントと、
    ストライプ内のプロセッシングエレメントを接続するための複数のイントラストライプ接続と、
    1つのストライプの出力を、他のストライプに接続するための複数のローカル・インターストライプ接続と、
    複数の物理ストライプのうち1以上であるが全部よりは少ない数の物理ストライプをメモリに接続するための複数のグローバル・インターストライプと、
    各々が1以上の物理ストライプに接続された入力バス及び出力バスと、
    を具えているリコンフィギュラブルデバイス。
  12. 出力バスは、全てが単一のグローバル・インターストライプ接続によって相互接続された複数の物理ストライプに接続される請求項11のデバイス。
  13. 前記ストライプの少なくとも一部をメモリに接続するためのリストアバスをさらに含んでいる請求項11のデバイス。
  14. リストアメモリをさらに含んでおり、前記リストアバスは、前記ストライプの少なくとも一部を前記リストアメモリに接続する請求項13のデバイス。
JP2004529378A 2002-08-16 2003-08-14 部分的にグローバルなコンフィギュレーションバスを用いたプログラマブルパイプラインファブリック Pending JP2005539293A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/222,645 US7263602B2 (en) 2002-08-16 2002-08-16 Programmable pipeline fabric utilizing partially global configuration buses
PCT/US2003/025391 WO2004017223A2 (en) 2002-08-16 2003-08-14 Programmable pipeline fabric utilizing partially global configuration buses

Publications (2)

Publication Number Publication Date
JP2005539293A true JP2005539293A (ja) 2005-12-22
JP2005539293A5 JP2005539293A5 (ja) 2008-12-11

Family

ID=31715027

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004529378A Pending JP2005539293A (ja) 2002-08-16 2003-08-14 部分的にグローバルなコンフィギュレーションバスを用いたプログラマブルパイプラインファブリック

Country Status (8)

Country Link
US (1) US7263602B2 (ja)
EP (1) EP1535189B1 (ja)
JP (1) JP2005539293A (ja)
CN (1) CN100392635C (ja)
AT (1) ATE409916T1 (ja)
AU (1) AU2003262645A1 (ja)
DE (1) DE60323847D1 (ja)
WO (1) WO2004017223A2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010044242A1 (ja) * 2008-10-14 2010-04-22 国立大学法人奈良先端科学技術大学院大学 データ処理装置
JP2011198085A (ja) * 2010-03-19 2011-10-06 Fuji Xerox Co Ltd 画像処理装置、画像形成システム及び画像処理プログラム

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4546775B2 (ja) * 2004-06-30 2010-09-15 富士通株式会社 時分割多重処理可能なリコンフィギュラブル回路
JP4547198B2 (ja) * 2004-06-30 2010-09-22 富士通株式会社 演算装置、演算装置の制御方法、プログラム及びコンピュータ読取り可能記録媒体
KR100662873B1 (ko) * 2006-01-03 2007-01-02 삼성전자주식회사 루프가속기 및 이를 포함하는 데이터 처리 시스템
GB2535547B (en) * 2015-04-21 2017-01-11 Adaptive Array Systems Ltd Data processor
WO2019089816A2 (en) 2017-10-31 2019-05-09 Micron Technology, Inc. System having a hybrid threading processor, a hybrid threading fabric having configurable computing elements, and a hybrid interconnection network
WO2019191744A1 (en) 2018-03-31 2019-10-03 Micron Technology, Inc. Loop execution control for a multi-threaded, self-scheduling reconfigurable computing fabric using a reenter queue
US11003451B2 (en) 2018-03-31 2021-05-11 Micron Technology, Inc. Execution control of a multi-threaded, self-scheduling reconfigurable computing fabric
EP3776243A1 (en) 2018-03-31 2021-02-17 Micron Technology, Inc. Backpressure control using a stop signal for a multi-threaded, self-scheduling reconfigurable computing fabric
CN112055853B (zh) 2018-03-31 2024-04-09 美光科技公司 用于多线程自调度可重新配置计算架构的电路及系统
US11119768B2 (en) 2018-03-31 2021-09-14 Micron Technology, Inc. Conditional branching control for a multi-threaded, self-scheduling reconfigurable computing fabric
CN111919205B (zh) 2018-03-31 2024-04-12 美光科技公司 多线程自调度可重新配置计算架构的循环线程顺序执行控制
CN111919207A (zh) 2018-03-31 2020-11-10 美光科技公司 多线程自调度可重新配置计算架构
KR102454405B1 (ko) 2018-03-31 2022-10-17 마이크론 테크놀로지, 인크. 멀티 스레드, 자체 스케줄링 재구성 가능한 컴퓨팅 패브릭에 대한 효율적인 루프 실행
US11573834B2 (en) 2019-08-22 2023-02-07 Micron Technology, Inc. Computational partition for a multi-threaded, self-scheduling reconfigurable computing fabric
US11150900B2 (en) 2019-08-28 2021-10-19 Micron Technology, Inc. Execution or write mask generation for data selection in a multi-threaded, self-scheduling reconfigurable computing fabric
US11494331B2 (en) 2019-09-10 2022-11-08 Cornami, Inc. Reconfigurable processor circuit architecture
CN116521134A (zh) * 2023-03-13 2023-08-01 广州嘉为科技有限公司 在ci流水线执行过程中修改其参数的方法、装置及介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11259436A (ja) * 1998-03-10 1999-09-24 Toppan Printing Co Ltd データ並列処理方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5684980A (en) * 1992-07-29 1997-11-04 Virtual Computer Corporation FPGA virtual computer for executing a sequence of program instructions by successively reconfiguring a group of FPGA in response to those instructions
JP3308770B2 (ja) * 1994-07-22 2002-07-29 三菱電機株式会社 情報処理装置および情報処理装置における計算方法
US5794062A (en) * 1995-04-17 1998-08-11 Ricoh Company Ltd. System and method for dynamically reconfigurable computing using a processing unit having changeable internal hardware organization
JPH09106389A (ja) * 1995-10-12 1997-04-22 Sony Corp 信号処理装置
FI971718A (fi) * 1997-04-22 1998-10-23 Nokia Telecommunications Oy Korttipaikkojen lisääminen suurikapasiteettiseen väylään
US6167502A (en) * 1997-10-10 2000-12-26 Billions Of Operations Per Second, Inc. Method and apparatus for manifold array processing
US6119215A (en) * 1998-06-29 2000-09-12 Cisco Technology, Inc. Synchronization and control system for an arrayed processing engine
US6442732B1 (en) * 1999-04-21 2002-08-27 Lucent Technologies, Inc. Virtual logic system for solving satisfiability problems using reconfigurable hardware
US6959378B2 (en) * 2000-11-06 2005-10-25 Broadcom Corporation Reconfigurable processing system and method
CN1156760C (zh) * 2000-12-12 2004-07-07 智原科技股份有限公司 适用于处理器的存储器数据存取装置及其存取方法
US6526559B2 (en) * 2001-04-13 2003-02-25 Interface & Control Systems, Inc. Method for creating circuit redundancy in programmable logic devices

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11259436A (ja) * 1998-03-10 1999-09-24 Toppan Printing Co Ltd データ並列処理方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010044242A1 (ja) * 2008-10-14 2010-04-22 国立大学法人奈良先端科学技術大学院大学 データ処理装置
JP5279046B2 (ja) * 2008-10-14 2013-09-04 国立大学法人 奈良先端科学技術大学院大学 データ処理装置
JP2011198085A (ja) * 2010-03-19 2011-10-06 Fuji Xerox Co Ltd 画像処理装置、画像形成システム及び画像処理プログラム
US8773713B2 (en) 2010-03-19 2014-07-08 Fuji Xerox Co., Ltd. Image processing apparatus, image forming system and non-transitory computer readable medium

Also Published As

Publication number Publication date
EP1535189A2 (en) 2005-06-01
DE60323847D1 (de) 2008-11-13
AU2003262645A1 (en) 2004-03-03
WO2004017223A3 (en) 2004-04-08
CN1688991A (zh) 2005-10-26
AU2003262645A8 (en) 2004-03-03
WO2004017223A2 (en) 2004-02-26
CN100392635C (zh) 2008-06-04
US20040034761A1 (en) 2004-02-19
ATE409916T1 (de) 2008-10-15
EP1535189B1 (en) 2008-10-01
US7263602B2 (en) 2007-08-28

Similar Documents

Publication Publication Date Title
US7263602B2 (en) Programmable pipeline fabric utilizing partially global configuration buses
US11995027B2 (en) Neural processing accelerator
JP6708552B2 (ja) パイプライン化構成可能プロセッサ
US6023742A (en) Reconfigurable computing architecture for providing pipelined data paths
US20070234089A1 (en) Programmable pipeline fabric having mechanism to terminate signal propagation
US20020083308A1 (en) Data processing device with a configurable functional unit
US20210042259A1 (en) Compiler Flow Logic for Reconfigurable Architectures
US20180060034A1 (en) Communication between dataflow processing units and memories
US10817309B2 (en) Runtime optimization of configurable hardware
KR100922411B1 (ko) 집적 회로 및 시스템 개발 방법
JP4255475B2 (ja) データ駆動型情報処理装置
JP2006011825A (ja) 再構成可能演算装置および半導体装置
Li et al. FPGA overlays: hardware-based computing for the masses
Ferreira et al. A Dynamic Reconfigurable Super-VLIW Architecture for a Fault Tolerant Nanoscale Design
Dimitrakopoulos et al. Sorter based permutation units for media-enhanced microprocessors
Hoare et al. An 88-way multiprocessor within an FPGA with customizable instructions
US9081901B2 (en) Means of control for reconfigurable computers
CN220569161U (zh) 可调适存储器内运算电路
Odendahl et al. A next generation digital signal processor for European space missions
Ferreira et al. Reducing interconnection cost in coarse-grained dynamic computing through multistage network
Paul et al. A survey of computing architectures
KR20220139304A (ko) 구성 가능한 병렬 계산을 위한 프로세서
Bindal et al. Special Topics
US20020087831A1 (en) Instruction packetization based on rename capacity
WO2021014017A1 (en) A reconfigurable architecture, for example a coarse-grained reconfigurable architecture as well as a corresponding method of operating such a reconfigurable architecture

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060731

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080328

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080422

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20080717

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20080725

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20080820

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20080827

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20080919

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20080929

A524 Written submission of copy of amendment under article 19 pct

Free format text: JAPANESE INTERMEDIATE CODE: A524

Effective date: 20081021

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091110

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100427