JP2005528792A - 再構成可能な集積回路 - Google Patents
再構成可能な集積回路 Download PDFInfo
- Publication number
- JP2005528792A JP2005528792A JP2004510004A JP2004510004A JP2005528792A JP 2005528792 A JP2005528792 A JP 2005528792A JP 2004510004 A JP2004510004 A JP 2004510004A JP 2004510004 A JP2004510004 A JP 2004510004A JP 2005528792 A JP2005528792 A JP 2005528792A
- Authority
- JP
- Japan
- Prior art keywords
- processing elements
- processing
- processing element
- integrated circuit
- elements
- 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.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/80—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
- G06F15/8007—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors single instruction multiple data [SIMD] multiprocessors
- G06F15/8023—Two dimensional arrays, e.g. mesh, torus
Abstract
本発明は、規則的なグリッドで構成される複数の同一又は少なくともほぼ同じ処理要素(120)から構成されるプロセッサを有する集積回路(100)を開示する。各々の処理要素(120)はプロセッサの所望の機能を実行し得る。処理要素(120)は構成可能な相互接続ネットワーク(140)によって相互接続され、処理要素(120)を通じて命令フローにおける例外を処理し得るプログラムシーケンス発行デバイス(160)によって制御される。従って集積回路(100)は容易に再設計されることが可能であり、それ故にこのようなアーキテクチャに対する設計労力及び市場投入期間が低減される。
Description
本発明は、複数の命令(インストラクション(instruction))の少なくとも一つのサブセットをほぼ並列に実行するための複数の処理要素(processing element)と、複数の処理要素に対してプログラムカウンタドリブン命令フロー(program−counter−driven instruction flow)を発行する(出す)ことによって複数の処理要素を構成するための発行手段(issuing means)と、複数の処理要素からの各々の処理要素を前記複数の処理要素からの他の処理要素の少なくとも一つのサブセットに接続するための構成可能な相互接続手段(configurable interconnection means)とを有する集積回路に関する。
進行する半導体ディメンションのダウンスケーリング(縮小化(downscaling))により、半導体デバイス、例えば集積回路の使用可能な(空き)領域に組み込まれているビルディングブロック(building block)数の増大がもたらされてきたと共になおももたらされている。従ってこのようなデバイスの用途はより広がり、このようなデバイスに対する動作性能の要求がそれに応じて増大している。このことは特に、専用タスク、例えばリアルタイムディジタルオーディオのビデオ信号処理を行うように設計されていると共にいわゆる特定用途命令セットプロセッサ(ASIP(application−specific instruction set processor))を含んでおり、冒頭の段落において規定されているようなアーキテクチャを含んでいてもよいような回路の場合が該当する。
技術的なダウンスケーリングと結合されるASIPに対する、絶えず増大する動作性能要求は通常、次世代ASIPの場合、前世代処理要素の動作性能が新たなASIPに対する要求を満たすのにもはや十分でないため、より多くの処理要素が設計に組み込まれるだけでなく、ICアーキテクチャは始めから再設計されることを示唆する。
しかしながらこの傾向は、将来の集積回路技術に対してますます克服するのが困難なハードルとなる問題に関連している。当該集積回路における処理要素の増加、及び将来の世代のICにおける当該処理要素の前述の限定された再利用性(reusability)は、当該ICの設計者の設計労力の進行する増大を示唆する。更に当該処理要素の間の必要な相互接続がますます複雑になるため、IC設計に含まれるべき処理要素の増大する数は設計複雑化(design complication)を招く。このことは既に困難なルーティング(配線引き回し(routing))の問題をもたらし始めており、二つの処理要素の間の相互接続ラインはあまりに長くなるので、ライン上の伝送遅延(transmission delay)が問題になるか、又は前記遅延が動作性能要求は満たされることを回避さえする。ICに対する所要の市場投入期間(time−to−market)はますます短くなるため、このことは非常に深刻な問題となり、明らかなことにこのことは前述の増大する設計複雑化と衝突する。
本発明の目的は、比較的小さな設計労力でアップグレードされ得る冒頭の段落に記載の種類の集積回路を提供することにある。
本発明は独立請求項によって規定される。有利な実施例は従属請求項において規定される。
本発明によれば、処理アーキテクチャのための所要のリソースが、各々の処理要素において結合されると共に、規則的な(規則正しい)グリッド(regular grid)、例えば2次元繰り返しレイアウト(two−dimensional repetitive layout)で使用可能なシリコンの番地(silicon real estate)に渡って分散(分布)させられる。従来技術のASICと異なり、全て又は少なくともほとんどの処理要素は、あるクロックサイクルの間使用され得ないビルディングブロックを有するため、それは明らかなことにある領域のオーバヘッド(overhead)を生成するが、進行する半導体ディメンションダウンスケーリングによりますます多くの機能が集積回路に組み込まれ得るため、このことが欠点とならないことは強調される。更に重要なことに、ほとんど同質の処理要素と規則的なグリッドとの組み合わせにより、処理アーキテクチャの高速且つ安価な再設計が可能になる。従来技術の集積回路と異なり、二つのアプリケーションドメイン(application domain)に対する二つのアーキテクチャは通常両方とも始めから再設計されなければならないが、本発明の集積回路は、処理要素の間に相互接続構造体を再規定することによって、又は一つのプロセッサ要素のみを再設計することによって一つの設計を単純に再利用することが可能であり、その結果第二(2番目)のICの市場投入期間は大幅に短縮される。更に、第一(最初)のリソグラフィックマスクセット(lithographic mask set)は、相互接続部を規定するマスク、例えばVIAマスクを除いて完全に再利用され得るため、第二のICはより少ない費用でも製造されるであろう。更に第一の設計に組み込まれるリソースの数がICの動作性能要求をもはや十分に満たさないとき、ICは、処理要素の更なる行又は列をグリッドに追加することによって単純に拡張(extend)され得る。このことはより少ない設計労力しか含んでいない。
集積回路が超長命令語(VLIW(very long instruction word))プロセッサアーキテクチャを有すると共に、複数の命令のサブセットが超長命令語を有する場合、特に有利となる。ますます多くの処理要素がVLIWプロセッサに組み込まれており、これにより様々な処理要素の間に深刻なルーティングの問題がもたらされる。本発明の教示によるVLIWプロセッサを実現することによって、全ての処理要素が所要のリソースに常に近付いているため当該ルーティング問題は回避されるプロセッサアーキテクチャがもたらされる。
構成可能な相互接続手段が各々の処理要素を、グリッドにおいて各々の最も近い隣接処理要素(neighboring processing element)に接続する場合、更に有利となる。従ってこれにより、完全なコネクティビティ(接続性(connectivity))を備える規則的なグリッドがもたらされる。これにより集積回路の使用において増大された柔軟性(フレキシビリティ(flexibility))がもたらされる。例えば処理要素のグリッドは、データフローマシン(data flow machine)として使用されることが可能であり、ここでデータがグリッドの一方の側からグリッドの他方の側にリップル(ripple)される場合、各々の処理要素は、発行手段によって構成されると共にいくつかのクロックサイクルの間、その構成で保持される。このことは、グリッドのディメンションがループ本体(loop body)のディメンションにチューニングされ得るため、ループ実行(loop execution)に対して特に有利となる。これにより、ループ全体又はループのほとんどのデータ自律(data−autonomous)部分はグリッド上にマッピングされ得る。従って、データを伴う処理要素及び/又は発行手段と命令メモリとの低速の通信が非常に低減されるため、ループ実行の動作性能は大幅に向上させられるであろう。明らかなことに、たとえ完全なコネクティビティを備えるグリッド、例えば各々の処理要素が全ての自身の最も近い隣接部に接続されるグリッドと比較して低減された柔軟性を備えていても、このようなデータフローアプリケーションは、完全な(フルの(full))コネクティビティを欠いているグリッド上でも実行され得る。
他方で処理要素は、サイクル毎に命令レベルの並列処理(instruction−level parallelism)を利用する従来VLIWの態様でも動作させられ得る。それ故に、動作中、ICの構成がデータフローモードから従来VLIWモードにスイッチされ得るため、ICは再構成可能なデバイスとして理解され得る。
この点で、フィールドプログラマブルゲートアレイ(FPGA(field programmable gate array))のような知られている再構成可能なデバイスと本発明による規則的な構造のIC(regularly structured IC)との間に重大且つ基本的な差が存在することは強調される。知られている再構成可能なデバイスは通常、デバイスの構成中にアクセスされなければならない多数の再構成可能なポイントのために非常に低速であるばかりでなく、知られている再構成可能なデバイスは、分岐命令(branch instruction)のような条件式(conditional expression)又はジャンプ命令の実行に後続するプロセッサアーキテクチャの構成状況(configuration context)、すなわち超長命令語のスイッチングのように例外処理(exception handling)をし得ない。それ故に高性能ICを設計する当業者は、当該アーキテクチャが必要な動作性能をもたらすわけでもなく、所要の機能をもたらすわけでもないため、FPGAに関連するドメインには注目しないであろう。
構成可能な相互接続手段が、複数の処理要素から一つの処理要素をバイパスするためのバイパス手段(bypassing means)を有する場合他の利点となる。二つの通信処理要素の間の処理要素がバイパスされる場合、隣接していない処理要素は互いに直接接続され得るため、処理要素内、又は処理要素の周辺におけるバイパス手段、例えばマルチプレクサ(multiplexer)又は他のスイッチング要素の使用により、ICの動作性能は更に改善される。更に一つよりも多くの接続パス(connection path)が二つの異なる処理要素の間で使用可能となり、マルチプレクサのような構成可能なルーティング手段はどの接続パスが使用されるべきであるかを選択するために使用可能となる。更により長い距離の接続パスがもたらされ、最も近い隣接部ではない処理要素が接続され得る。ここでも構成可能なルーティング手段が、適切な接続パスを選択するために使用され得る。
複数の処理要素からの一つの処理要素が、データ記憶ユニット、機能ユニット、及び機能ユニットをデータ記憶ユニットに結合する内部相互通信ネットワーク(internal intercommunication network)を有する場合更なる他の利点となる。各々の処理要素に機能ユニット及びデータ記憶要素、例えば小さなメモリ又は分散レジスタファイル(distributed register file)をもたらすことによって、機能ユニットと中央メモリ及び/又はレジスタファイルとの間の低速通信は回避され得るか、又は少なくとも低減されることが可能であり、IC動作性能は向上させられる。データ記憶要素が構成可能な相互接続手段にも結合される場合、当該データ記憶要素はそのとき他の処理要素における機能ユニットに対するデータ供給部(data supplier)としての役割も果たし得るため、このことはなおさらである。
本発明の実施例において処理要素は、少なくとも一つの更なるユニット、すなわち機能ユニットを有し、更なるユニット及びデータ記憶ユニットは超長命令語(VLIW)プロセッサデータパスとして構成される。これにより、設計の柔軟性を向上させる階層VLIWアーキテクチャが具現化される。更なるユニットは機能ユニットか、又はデータ記憶ユニットの何れかとなり得る。
有利なことに、発行手段は本実施例において処理要素に渡って分散させられる。例えば各々のVLIW処理要素は、VLIW処理要素の、例えば機能ユニットとデータ記憶要素との間のルーティング及び機能ユニットの機能のような、データ及び制御パスを構成する制御語(control word)を保持する自身のオペレーションレジスタ(operation register)を備えている。それ故にここでも動作性能の点で有利となる非局在化発行アーキテクチャ(delocalized issuing architecture)がもたらされる。
本発明の更なる態様によれば、請求項8に記載の電子デバイスがもたらされる。本発明によるICを電子デバイスに組み込むことにより、より低い費用だけでなく増大された機能的柔軟性を備える電子デバイスがもたらされる。これにより、このようなデバイスの市場性がかなり改善される。
本発明のなおも更なる態様によれば、請求項9に記載の集積回路を設計するための方法がもたらされる。当該方法の適用は、例えばコンピュータ援用設計(CAD(computer aided design))ツールによって、請求項1に記載の全ての有利な特徴を有する集積回路設計をもたらすであろう。
複数の処理要素からの各々の処理要素を複数の処理要素からの他の処理要素の少なくとも一つのサブセットに接続するステップが、各々の処理要素をグリッドで各々の最も近い隣接処理要素に接続するステップを含む場合有利となる。処理要素を全ての自身の最も近い隣接部に接続することによって、完全な相互接続部を有するグリッドによるIC設計はもたらされることが可能であり、請求項3に記載のICの有利な特徴を有するIC設計がもたらされる。
本発明は、添付図面を参照して限定することのない例によって、より詳細に記載される。
図1において、集積回路100が、規則的なグリッドで構成される複数の処理要素120を有するプロセッサを有している。互いに全てほぼ同様(類似)、例えばほぼ同じ機能を有する処理要素120が、再構成可能な相互接続ネットワーク140、例えばアドレス可能なデータ通信バス(addressable data communication bus)又は配線による(ハードワイヤ)マルチプレクサネットワーク(hardwired multiplexer network)によって相互接続されている。相互接続ネットワーク140は、全ての処理要素120が自身の最も近い隣接部に接続されるか、又は不完全なネットワークを実現し得るという意味において完成され得る。後者の場合、破線によって図1において示されているように、処理要素120の間のいくつかの相互接続部は存在しなくなる。更に複数の接続パスが二つの処理要素の間にもたらされてもよく、又は最も近い隣接部ではない処理要素を接続する、より長い距離のラインがもたらされてもよい。ただの明瞭化のためにこれらの代案は図1に示されていない。
処理要素120は、処理要素120を囲う破線ボックスによって表されているように発行デバイス160に結合される。発行デバイス160は、グローバル通信(global communication)、例えば命令を中央メモリ180から複数の処理要素120にもたらす役割を担っている。更に発行デバイスは、処理要素120のグリッドにおいて、例外及び他の構成状況スイッチ、すなわちVLIW変化(VLIW change)を処理する役割を担っている。要するに発行デバイス160は、処理要素120に対するプログラムシーケンス及び処理要素120の制御に対して責任を負っている。
例えば発行デバイス160は、自身のプログラムカウンタの値に基づいて中央メモリ180からVLIW命令のような命令の束(instruction bundle)をフェッチし、前記束を分割すると共に別個の命令を適切な処理要素120にもたらすであろう。次のステップにおいて発行デバイスのプログラムカウンタは定期的に変更(例えばインクリメントによって増加又は減少)され、次の命令の束がフェッチされるであろう。しかしながら処理要素120のうちの一つが、例えばジャンプ命令が行われるか、若しくは分岐条件が満たされるような例外の検出を信号送出する場合、又は割込み(中断(interrupt))が信号送出されている等の場合、発行デバイス160は、例外による自身のプログラムカウンタをリセットし、必要ならばプログラムカウンタのリセット値に基づいて新たな命令を処理要素120に発行する前に処理要素120から冗長データをフラッシュ(flush)するであろう。これが、命令レベル並列処理を実現する処理アーキテクチャを制御する、よく知られている方法であることは当業者によって認識されるであろう。
しかしながら、規則的なグリッドにおける処理要素120の構成(organization)を備えるプロセッサの全ての処理要素120への集積回路100の所望のプロセッサ機能のマッピングを、処理要素120の間の少なくとも部分的な相互接続部と結合することにより、従来の命令レベル並列処理プロセッサアーキテクチャに渡って重要な利点がもたらされる。本発明による集積回路100において、何れかの処理要素120と、隣接処理要素との間の直接データ通信は全グリッドを通じて同じレイテンシを有する。それ故に当然のことながら、タイミング制約(timing constraint)が何れかの処理要素120と、接続された隣接処理要素との間で満足される場合、これは処理要素120の全ての(接続された)最も近い隣接部に対して保持される。このことは、プロセッサアーキテクチャの設計がより単純化されることを示唆するばかりでなく、通常命令レベル並列処理と関連していないデータフロードリブン処理モードももたらす。
データフローモードにおいて、1セットの命令が集積回路100の処理要素120にマッピングされ、相互接続ネットワーク140が、処理要素120を自身の適切な隣接部に接続するように構成される。この場合、例えば複数のクロックサイクルの期間の間に、当該構成が停止され(frozen)、データは従来のデータフロー態様でグリッドを通じてリップルされ得る。グリッドが、完全なループ本体をマッピングするのに十分に大きい場合、このことは特に有用となり、それからループ実行が非常に効果的な態様且つ並列態様で実現され得ることを意味する。更にループがあまりに大きいので全体的にグリッドにマッピングされ得ない場合、データフロー概念(concept)は、ループをより小さなループに分割(break up)することによってなお使用されることが可能であり、全体的にグリッドにマッピングされ得るデータ依存性が許容される。代わりにループ本体はあまりに小さいので、グリッドにおけるほとんどの処理要素をビジー(使用中(busy))状態に保持することができない場合、ソフトウエアパイプライン(software pipelining)が適用され得る。このことは、中間結果(intermediate result)がローカル記憶ユニット(local storage unit)に記憶され得ると共に必要なときに隣接処理要素に転送され得るため、処理要素120がランダムアクセスメモリ(random access memory)又は分散レジスタファイルの一部のようなデータ記憶ユニットを有する場合、特に効果的となり得る。これにより高速分散通信が可能になる。このことは通常、集積回路100のプロセッサアーキテクチャにおいて、あっても非常に少ない通信競合(communication conflict)しか発生しないことを意味する。グリッドがデータフローモードで保持される期間は、単純なクロックサイクルカウンタによってモニタされ得る。同期又は非同期データフローモードでモニタするデータ又は制御出力のような他の制御方式も実現可能であるが、当該カウンタは発行デバイス160に結合されると共に発行デバイス160に組み込まれ得る。なお更に柔軟性を増大させるために、相互通信ネットワーク140は、例えば処理要素120を通じて、若しくは処理要素120の周辺で直接ルーティングをもたらすマルチプレクサによって、又は配線によるバイパス部によってグリッドにおいて個々の処理要素120をバイパスさせるためのハードウエアを含み得る。
この場合後続する図が、図1及びその詳細な記載を参照して直して記載されるであろう。対応する参照番号は、他に明らかに記載されていない限り同じものを意味するであろう。図2において、処理要素120の実施例が示されている。処理要素120は、例えばメモリ又は分散レジスタファイルの一部のようなデータ記憶ユニット122と、算術論理ユニット(ALU(arithmetic logic unit))、アドレス演算ユニット(ACU(address computation unit))、乗算器(マルチプライヤ(multiplier))、及び乗算累積演算ユニット(MAC(multiply−accumulate unit))等になり得る機能ユニット124とを有している。データ記憶ユニット122は、外部相互通信ネットワーク140aに直接結合されるか、又は制御ユニット142を通じて外部相互通信ネットワーク140aに結合される内部相互通信ネットワーク140bを通じて制御ユニット142に結合される。制御ユニット142は、例えば発行デバイス160に応答するマルチプレクサのネットワーク又は分散バスコントローラ(distributed bus controller)になり得る。相互通信ネットワーク140を共に形成する内部通信ネットワーク140bと外部通信ネットワーク140aとの両方は、ポイントトゥポイントハードワイヤネットワーク(point−to−point hard−wired network)、データ通信バス、又はそれらの結合(組み合わせ)として実現され得る。
図2及びその詳細な記載を参照して記載されている図3において、処理要素120の他の実施例がもたらされる。マルチプレクサ220a−b、220c−d、及び220e−fは機能ユニット224、更なるユニット226、及びデータ記憶ユニット228にバッファ、例えばレジスタファイル222a−fを通じてそれぞれ結合される。更なるユニット226は更なる機能ユニット又は更なるデータ記憶ユニットであってもよい。このことは限定的でない例のみによるものであって、他の構成、例えばいくつかのユニットはバッファを共有する構成が、本発明の範囲から逸脱することなく想到され得る。図3の実施例において、機能ユニット224は、バッファ222a及び222bにそれぞれ結合される自身のデータ入力部を備える2入力ALUとなり得る。更なるユニット226は、バッファ222c及び222dにそれぞれ結合される自身のデータ入力部を備える2入力MACとなり得ると共に、データ記憶ユニット228は、バッファ222eに結合されるアドレス入力部とバッファ222fに結合されるデータ入力部とを備えるランダムアクセスメモリになり得る。しかしながら当然なことに多くの他の構成が可能である。
マルチプレクサ220a−fの入力部は外部相互接続ネットワーク140a及び内部相互接続ネットワーク140bに結合される。外部相互接続ネットワーク140aは、データ入力部側でデータ入力ポート152a−cを通じて、及びデータ出力部側で出力装置260を通じて処理要素120に結合される。データ入力ポートの数は、処理要素120が接続される隣接部の数によって規定される。出力装置250はマルチプレクサ252、オプションのバッファ254、及び処理要素120を自身の隣接処理要素に結合させるための出力ポート256を有する。これにより、関連したデータだけしか、出力ポート256を通じて、接続された隣接処理要素に送信(ブロードキャスト(broadcast))されないことが保証される。出力装置250が処理要素120のためのバイパスとしての役割も果たし得ること、すなわち入力ポート152a−cを通じて受信されるデータ入力が、マルチプレクサ252の適切な構成を通じて他の処理要素に直接転送され得ることは注目される。図3において、内部相互接続ネットワーク140bは完全に接続される。例えばユニット224、226、及び228の各々の出力部はマルチプレクサ220a−fとマルチプレクサ252とに結合される。このことは限定されない例のみによるものであり、部分的に接続された相互接続ネットワーク140bが本発明の範囲を逸脱することなく代わりに使用され得ることは強調される。
発行デバイス160は処理要素120に渡って分散され得る。図3においてローカル発行デバイス(local issuing device)260は、マルチプレクサ220a−fの構成を制御し、機能ユニットにオペレーションコード(opcode)を発行し、データ記憶ユニットにアドレスを発行し、随意的にマルチプレクサ252の構成を制御することによって処理要素120のデータパスを制御する役割を担っている。ローカル発行デバイス260は自身のローカルオペレーションレジスタ(local operation register)を有し得るので、グローバルVLIW命令が、全てのローカルオペレーションレジスタをリンク(link)させることによって簡単に形成され得る。随意的にプロセッサ命令メモリ自体は複数のメモリブロックに分割されることが可能であり、各々のメモリブロックは処理要素120に対してローカル(局所的)となり、各々のメモリブロックは、自身の対応する処理要素に関連する超長命令語の部分を含んでいる。更なる実施例において、自身のローカル命令メモリブロック及びローカルオペレーションレジスタを有する各々のローカル発行デバイス260は、自身のローカルプログラムシーケンス部(localprogram sequencing)及び制御論理部と自身のプログラムカウンタ(PC(program counter))とに関連付けられ得る。このことは、各々の処理要素120がVLIWプロセッサ自体として動作し得ることを意味する。
この点で、本発明による集積回路100の多大な柔軟性により、自身のアーキテクチャにおける非常に大規模な並列処理の組み込み(integration)が可能になることは強調される。これにより集積回路100は、現在不可能ではないにしても、知られているアーキテクチャで達成するのに困難となる、非常に要求の厳しい演算、例えば広帯域ディジタル信号処理の動作性能に適したものとなる。それ故に本発明による集積回路100の、このような要求の厳しい演算を必要とする電子デバイス、例えば次世代モバイル通信デバイスへの組み込みは、当該次世代技術の実現を可能にするばかりでなく、集積回路100の限定された設計費用のために当該技術を手頃なものにするであろう。
図4において、フローチャート400は本発明による処理アーキテクチャを備える集積回路を設計するための重要なステップを示している。
第一のステップ420において、複数の処理要素からの処理要素が、互いにほぼ同様になるように設計され、複数の処理要素からの各々の処理要素は、複数の命令からの各々の命令を実行し得るように設計される。明らかなことにこのことは、グリッドにおける全ての他の処理要素はこの単一の処理要素120とほとんど同様になるべきであるため、単一の処理要素120に対してのみなされればよい。この手法は、命令レベル並列処理を用いるこのような大規模集積回路に対する設計労力を大幅に低減する。
第二のステップ440において、複数の処理要素は、複数の処理要素からの処理要素と、第一の方向で複数の処理要素からの最も近い隣接処理要素との間の距離が、処理要素と、第二の方向で複数の処理要素からの最も近い隣接処理要素との間の距離とほぼ同じである規則的なグリッドでレイアウトされる。規則的なグリッドでの処理要素の構成により、前述の集積回路100の再構成可能な動作(behavier)、例えばデータフローモードと命令レベル並列処理モードとの間でスイッチする機能が可能になるばかりでなく、別の相互通信構造体が必要とされるとき、他の用途に対して論理レイアウトを再利用する可能性ももたらされる。
このことは、複数の機能ユニットからの各々の処理要素120が、複数の機能ユニットからの他の処理要素の少なくとも一つのサブセットに接続される第三のステップ460で実現される。随意的に各々の処理要素120は、各々の処理要素120が各々の最も近い隣接部に接続されるという意味において完全に接続された2次元グリッドをもたらすグリッドにおいて各々の最も近い隣接処理要素に接続され得る。処理要素120のグリッドに対する異なる相互接続ネットワーク140の規定により、同じ全論理レイアウトに基づいて他の用途に対する処理要素120のグリッドの再利用が可能になる。この場合、相互接続部だけしか再規定(redefine)されなくてもよい。このことは、小さな設計労力しか必要とされず、一つ又はほんの数枚の相互接続部マスク(例えばVIAマスク、又は上部メタル層マスク(upper metal layer mask))しか再開発(展開)(redevelop)されなくてもよいことを意味する。両方の当該利点により、後続するIC設計の展開においてかなりの費用低減が達成される。
本発明の保護範囲は上述の実施例に限定されるものではなく、当業者が特許請求の範囲からはずれることなく多くの代わりの実施例を設計することができることは注意されるべきである。請求項において、括弧の間に置かれる参照番号は、いずれも当該請求項の保護範囲を限定するものではない。単語“有する”は、請求項に記述される構成要素以外に構成要素又はステップの存在を排除するものではない。構成要素に先行する冠詞“a”又は“an”は、複数の構成要素を排除するものではない。本発明は、いくつかの独特な構成要素を有するハードウエアによって、及び適切にプログラミングされたコンピュータによって実現可能である。いくつかの手段を列挙する装置の請求項において、いくつかのこれらの手段は、ハードウエアの一つ及び同じ構成要素によって具現化されることが可能である。ある手段が相互に異なる従属請求項において再び引用されるという事実は、これらの手段の組み合わせが効果的に使われ得ないことを示すものではないということに過ぎない。
Claims (10)
- 複数の命令の少なくとも一つのサブセットをほぼ並列に実行するための複数の処理要素と、
前記複数の処理要素に対してプログラムカウンタドリブン命令フローを発行することによって前記複数の処理要素を構成するための発行手段と、
前記複数の処理要素からの各々の処理要素を前記複数の処理要素からの他の処理要素の少なくとも一つのサブセットに接続するための構成可能な相互接続手段と
を有する集積回路において、
前記複数の処理要素からの前記処理要素が互いにほぼ同様になり、前記複数の処理要素からの各々の処理要素は前記複数の命令からの各々の命令を実行することが可能であり、
前記複数の処理要素は、処理要素と、第一の方向における前記複数の処理要素からの隣接処理要素との間の距離が、前記処理要素と、前記第一の方向と異なる第二の方向における前記複数の処理要素からの隣接処理要素との間の距離とほぼ同じである規則的なグリッドでレイアウトされる
ことを特徴とする集積回路。 - 前記集積回路が超長命令語プロセッサアーキテクチャを有すると共に、前記複数の命令の前記サブセットが超長命令語を有する請求項1に記載の集積回路。
- 前記構成可能な相互接続手段が、各々の処理要素を、前記グリッドにおいて各々の最も近い隣接処理要素に接続する請求項1に記載の集積回路。
- 前記構成可能な相互接続手段が、前記複数の処理要素からの一つの処理要素をバイパスするためのバイパス手段を有する請求項1又は3に記載の集積回路。
- 前記複数の処理要素からの一つの処理要素が、データ記憶ユニット、機能ユニット、及び前記機能ユニットを前記データ記憶ユニットに結合する内部相互通信ネットワークを有する請求項1又は3に記載の集積回路。
- 前記処理要素は、少なくとも一つの更なるユニット、すなわち前記機能ユニットを有し、前記更なるユニット及び前記データ記憶ユニットは超長命令語プロセッサデータパスとして構成される請求項5に記載の集積回路。
- 前記発行手段が前記処理要素に渡って分散される請求項6に記載の集積回路。
- ディジタルデータストリームを受信するための入力部を有すると共に、前記ディジタルデータストリームからもたらされる、人間が認知可能なデータ結果を送信するための出力部を有するデータ処理デバイスにおいて、前記入力部が請求項1乃至7の何れか一項に記載の集積回路を介して前記出力部に結合され、前記集積回路は前記ディジタルデータストリームから前記データ結果を抽出するためにもたらされることを特徴とするデータ処理デバイス。
- 複数の命令の少なくとも一つのサブセットをほぼ並列に実行するための複数の処理要素と、
前記複数の処理要素に対してプログラムカウンタドリブン命令フローを発行することによって前記複数の処理要素を構成するための発行手段と、
前記複数の処理要素からの各々の処理要素を前記複数の処理要素からの他の処理要素の少なくとも一つのサブセットに接続するための構成可能な相互接続手段と
を有する集積回路を設計するための方法において、
前記複数の処理要素からの前記処理要素が互いにほぼ同様になり、前記複数の処理要素からの各々の処理要素は前記複数の命令からの各々の命令を実行することが可能になるように設計するステップと、
処理要素と、第一の方向における前記複数の処理要素からの隣接処理要素との間の距離が、前記処理要素と、第二の方向における前記複数の処理要素からの隣接処理要素との間の距離とほぼ同じである規則的なグリッドで前記複数の処理要素をレイアウトするステップと、
前記複数の処理要素からの各々の処理要素を前記複数の処理要素からの他の処理要素の少なくとも一つのサブセットに接続するステップと
を有することを特徴とする方法。 - 前記複数の処理要素からの各々の処理要素を前記複数の処理要素からの他の処理要素の少なくとも一つのサブセットに接続する前記ステップが、各々の処理要素を、前記グリッドにおいて各々の最も近い隣接処理要素に接続するステップを含む請求項9に記載の方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP02077168 | 2002-06-03 | ||
PCT/IB2003/002198 WO2003103015A2 (en) | 2002-06-03 | 2003-05-21 | Reconfigurable integrated circuit |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005528792A true JP2005528792A (ja) | 2005-09-22 |
Family
ID=29595034
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004510004A Withdrawn JP2005528792A (ja) | 2002-06-03 | 2003-05-21 | 再構成可能な集積回路 |
Country Status (7)
Country | Link |
---|---|
US (1) | US20050235173A1 (ja) |
EP (1) | EP1514198A2 (ja) |
JP (1) | JP2005528792A (ja) |
CN (1) | CN1659540A (ja) |
AU (1) | AU2003228062A1 (ja) |
TW (1) | TW200405546A (ja) |
WO (1) | WO2003103015A2 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
SE0300742D0 (sv) * | 2003-03-17 | 2003-03-17 | Flow Computing Ab | Data Flow Machine |
KR101528415B1 (ko) * | 2007-11-01 | 2015-06-11 | 실리콘 하이브 비.브이. | 애플리케이션 프로파일 기반의 asip 설계 |
US20110271078A1 (en) * | 2008-09-28 | 2011-11-03 | Peking University Shenzhen Graduate School | Processor structure of integrated circuit |
KR101978409B1 (ko) * | 2012-02-28 | 2019-05-14 | 삼성전자 주식회사 | 재구성가능 프로세서, 이를 위한 코드 변환 장치 및 방법 |
CN109523019A (zh) * | 2018-12-29 | 2019-03-26 | 百度在线网络技术(北京)有限公司 | 加速器、基于fpga的加速系统及控制方法、cnn网络系统 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09505921A (ja) * | 1994-09-13 | 1997-06-10 | ロッキード・マーチン・コーポレーション | 並列データ処理プロセッサ |
US5956518A (en) * | 1996-04-11 | 1999-09-21 | Massachusetts Institute Of Technology | Intermediate-grain reconfigurable processing device |
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 |
US6094726A (en) * | 1998-02-05 | 2000-07-25 | George S. Sheng | Digital signal processor using a reconfigurable array of macrocells |
US6839728B2 (en) * | 1998-10-09 | 2005-01-04 | Pts Corporation | Efficient complex multiplication and fast fourier transform (FFT) implementation on the manarray architecture |
US6041400A (en) * | 1998-10-26 | 2000-03-21 | Sony Corporation | Distributed extensible processing architecture for digital signal processing applications |
-
2003
- 2003-05-21 CN CN03812744.XA patent/CN1659540A/zh active Pending
- 2003-05-21 US US10/516,626 patent/US20050235173A1/en not_active Abandoned
- 2003-05-21 EP EP03725531A patent/EP1514198A2/en not_active Withdrawn
- 2003-05-21 JP JP2004510004A patent/JP2005528792A/ja not_active Withdrawn
- 2003-05-21 WO PCT/IB2003/002198 patent/WO2003103015A2/en not_active Application Discontinuation
- 2003-05-21 AU AU2003228062A patent/AU2003228062A1/en not_active Abandoned
- 2003-05-30 TW TW092114757A patent/TW200405546A/zh unknown
Also Published As
Publication number | Publication date |
---|---|
AU2003228062A1 (en) | 2003-12-19 |
AU2003228062A8 (en) | 2003-12-19 |
US20050235173A1 (en) | 2005-10-20 |
EP1514198A2 (en) | 2005-03-16 |
WO2003103015A2 (en) | 2003-12-11 |
CN1659540A (zh) | 2005-08-24 |
WO2003103015A3 (en) | 2004-12-29 |
TW200405546A (en) | 2004-04-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6298472B1 (en) | Behavioral silicon construct architecture and mapping | |
US7895416B2 (en) | Reconfigurable integrated circuit | |
JP3147432B2 (ja) | パイプライン処理装置 | |
US9158575B2 (en) | Multithreaded processor array with heterogeneous function blocks communicating tokens via self-routing switch fabrics | |
US9135387B2 (en) | Data processing apparatus including reconfiguarable logic circuit | |
US20040123258A1 (en) | Logic multiprocessor for FPGA implementation | |
US20180012637A1 (en) | Programmable logic accelerator in system on chip | |
JP2008539485A (ja) | 再構成可能命令セル・アレイ | |
EP3356966B1 (en) | Interactive multi-step physical synthesis | |
US20160042099A1 (en) | Behavioral synthesis apparatus, behavioral synthesis method, data processing system including behavioral synthesis apparatus, and non-transitory computer readable medium storing behavioral synthesis program | |
US7716528B2 (en) | Method and system for configurable trigger logic for hardware bug workaround in integrated circuits | |
US20010025363A1 (en) | Designer configurable multi-processor system | |
JP2005528792A (ja) | 再構成可能な集積回路 | |
Jain et al. | Coarse Grained FPGA Overlay for Rapid Just-In-Time Accelerator Compilation | |
US9805152B1 (en) | Compilation of system designs | |
US7225321B2 (en) | Reprogrammable microprogram based reconfigurable multi-cell logic concurrently processing configuration and data signals | |
US20050272197A1 (en) | Semiconductor device | |
US9081901B2 (en) | Means of control for reconfigurable computers | |
US20230052788A1 (en) | Software-Defined Synthesizable Testbench | |
Toi et al. | High-level synthesis challenges for mapping a complete program on a dynamically reconfigurable processor | |
Ram et al. | Design and implementation of run time digital system using field programmable gate array–improved dynamic partial reconfiguration for efficient power consumption | |
Chauhan et al. | Reconfiguration of fpga for domain specific applications using embedded system approach | |
Puah et al. | Rapid prototyping asynchronous processor | |
CN115952759A (zh) | Fpga布局方法、装置、电子设备和存储介质 | |
Meisner | Design of a shared hardware library for multi-core environments in FPGA fabrics |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060519 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20071024 |
|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20080128 |