JP6059413B2 - 再構成可能命令セル・アレイ - Google Patents
再構成可能命令セル・アレイ Download PDFInfo
- Publication number
- JP6059413B2 JP6059413B2 JP2008508300A JP2008508300A JP6059413B2 JP 6059413 B2 JP6059413 B2 JP 6059413B2 JP 2008508300 A JP2008508300 A JP 2008508300A JP 2008508300 A JP2008508300 A JP 2008508300A JP 6059413 B2 JP6059413 B2 JP 6059413B2
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- processor
- cell
- configuration
- cells
- 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
- 238000000034 method Methods 0.000 claims abstract description 69
- 230000001419 dependent effect Effects 0.000 claims abstract description 28
- 238000013507 mapping Methods 0.000 claims abstract description 26
- 238000004422 calculation algorithm Methods 0.000 claims description 67
- 230000015654 memory Effects 0.000 claims description 50
- 238000012545 processing Methods 0.000 claims description 41
- 238000004590 computer program Methods 0.000 claims description 10
- 230000006870 function Effects 0.000 claims description 8
- 230000000694 effects Effects 0.000 claims description 7
- 230000003287 optical effect Effects 0.000 claims description 4
- 238000003860 storage Methods 0.000 claims description 4
- 238000013461 design Methods 0.000 abstract description 23
- 238000010586 diagram Methods 0.000 description 22
- 230000008569 process Effects 0.000 description 12
- 230000001934 delay Effects 0.000 description 7
- 238000007792 addition Methods 0.000 description 6
- 238000005457 optimization Methods 0.000 description 6
- 238000004088 simulation Methods 0.000 description 6
- 238000004458 analytical method Methods 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 5
- 238000003491 array Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 230000002123 temporal effect Effects 0.000 description 4
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- RUQBGIMJQUWXPP-CYDGBPFRSA-N Ala-Leu-Ala-Pro Chemical compound C[C@H](N)C(=O)N[C@@H](CC(C)C)C(=O)N[C@@H](C)C(=O)N1CCC[C@H]1C(O)=O RUQBGIMJQUWXPP-CYDGBPFRSA-N 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 238000005265 energy consumption Methods 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 229910052710 silicon Inorganic materials 0.000 description 2
- 239000010703 silicon Substances 0.000 description 2
- 238000003786 synthesis reaction Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 241000122205 Chamaeleonidae Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000003542 behavioural effect Effects 0.000 description 1
- 230000003915 cell function Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004040 coloring Methods 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000012938 design process Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 208000023368 generalized pustular psoriasis Diseases 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000013470 microfluidic resistive pulse sensing Methods 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 230000008672 reprogramming Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000008685 targeting Effects 0.000 description 1
- 230000001550 time effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/34—Circuit design for reconfigurable circuits, e.g. field programmable gate arrays [FPGA] or programmable logic devices [PLD]
- G06F30/347—Physical level, e.g. placement or routing
-
- 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/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7867—Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
- G06F30/3308—Design verification, e.g. functional simulation or model checking using simulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/34—Circuit design for reconfigurable circuits, e.g. field programmable gate arrays [FPGA] or programmable logic devices [PLD]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2117/00—Details relating to the type or aim of the circuit design
- G06F2117/04—Clock gating
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- Devices For Executing Special Programs (AREA)
- Executing Machine-Instructions (AREA)
- Logic Circuits (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Description
1. フロー制御機構
2. 構造状態。
1) 従属命令の並列処理を扱わない、
2) スケジューリング・アルゴリズムの中でレジスタ割当てを考慮しない、
3) 再構成可能な機能ユニットの時間効果および経路選択相互接続遅れを考慮に入れないので、再構成可能デバイス内のデータ経路遅れを変える可能性がある、
からである。
・ 相互接続ネットワークと、
・ それぞれが相互接続ネットワークに接続される異質の複数の命令セルと、
・ 復号モジュールであって、従属プログラム命令のデータ経路と独立プログラム命令のデータ経路の少なくとも1つから命令セルの回路へのマッピングをそれぞれ符号化する構成命令を受け、更に構成命令を復号して相互接続ネットワークおよび命令セルの少なくともいくつかを構成し、これによりデータ経路を命令セルの回路にマップしまたプログラム命令を実行する、復号モジュールと、
を備える。
好ましくは、クロック・モジュールは可変クロック・サイクルを与える。
好ましくは、クロック・モジュールはイネーブル信号を与える。
好ましくは、イネーブル信号は命令セルのイネーブル入力に与えられる。
好ましくは、クロック・モジュールは複数のクロック信号を与える。
好ましくは、復号モジュールは更に構成命令を復号してクロック信号を構成する。
好ましくは、復号モジュールは更に構成命令を復号してクロック・サイクルを構成する。
好ましくは、クロック信号の活動期間は構成される。
好ましくは、クロック信号のデューティ・サイクルは構成される。
好ましくは、イネーブル信号は実行フロー制御命令セルのイネーブル入力に与えられる。
好ましくは、命令セルの少なくとも1つはその出力をクロック・サイクル毎に変えるレジスタ命令セルを含む。
好ましくは、イネーブル信号はレジスタ命令セルのイネーブル入力に与えられる。
好ましくは、イネーブル信号は実行フロー制御命令セルのイネーブル入力とレジスタ命令セルのイネーブル入力の両方に与えられる。
好ましくは、プロセッサは更に少なくとも1つのスタックを備え、また命令セルの少なくとも1つは少なくとも1つのスタックにアクセスするスタック・レジスタ命令セルを含む。
好ましくは、命令セルの少なくとも1つはデータ・メモリ位置にアクセスするためのメモリ命令セルを含む。
好ましくは、データ・メモリ位置はマルチポート・メモリ位置を含む。
好ましくは、復号モジュールは更に構成命令を復号して、その前の構成命令から復号されたクロック信号の構成に依存するクロック信号を構成する。
好ましくは、命令セルの少なくとも1つは命令セルの間のデータの経路を選択する多重命令セルを含む。
一般に命令セルの少なくとも1つは組合せ論理命令セルを含む。
好ましくは、命令セルの機能はプログラム命令に対応する。
好ましくは、命令セルの回路は1つの実行フロー制御命令セルを含む命令セルの集合を含む。
・ プログラム命令を受けてプログラム命令のデータ経路を識別するフロントエンド・モジュールと、
・ 従属および独立の両方のプログラム命令のデータ経路を命令セルの回路としてマップするスケジューリング・モジュールと、
・ 命令セルの回路の構成を構成命令として符号化しまた構成命令を出力するマッピング・モジュールと、
を含む。
または、プログラム命令は高水準言語のソース・コードを含む。
好ましくは、スケジューリング・モジュールは更にその相互依存性に従ってプログラム命令をスケジュールする。
好ましくは、フロントエンド・モジュールおよびスケジューリング・モジュールの少なくとも1つは更に一時的結果を記憶するためのレジスタへのアクセスを命令セルの間の相互接続にマップする。
好ましくは、スケジューリング・モジュールは更に単一クロック・サイクル内に実行するプログラム命令のデータ経路をマップする。
好ましくは、スケジューリング・モジュールは更に操作連鎖を用いてデータ経路をマップする。
好ましくは、スケジューリング・モジュールは更に単一クロック・サイクルをスケジュール中は操作連鎖を用いる。
好ましくは、スケジューリング・モジュールは更に複数の実行可能リストの各実行可能リストを処理中は操作連鎖を用いる。
好ましくは、スケジューリング・モジュールは更に単一クロック・サイクルをスケジュール中はレジスタ割当てを用いる。
好ましくは、スケジューリング・モジュールは更に複数の実行可能リストの各実行可能リストを処理中はレジスタ割当てを用いる。
好ましくは、スケジューリング・モジュールは更に複数のスケジューリング・アルゴリズムを用いてデータ経路をマップする。
好ましくは、スケジューリング・モジュールは更に複数のスケジューリング・アルゴリズムの1つから選択した出力を用いてデータ経路をマップする。
・ 従属および独立の両方の命令のデータ経路を有するプログラム命令内のデータ経路を識別するステップと、
・ 相互接続ネットワークおよび異種の複数の命令セルの少なくともいくつかを構成し、命令セルの少なくともいくつかを相互接続ネットワークを通して直列に接続することにより各命令セルを相互接続ネットワークに接続し、これにより従属および独立の両方の命令のデータ経路をマップしまたプログラム命令を実行するステップと、
を含む。
好ましくは、構成するステップはその後のクロック・サイクルを構成するステップを更に含む。
好ましくは、クロック・サイクルの活動期間は構成される。
好ましくは、クロック・サイクルのデューティ・サイクルは構成される。
・ 従属および独立の両方のプログラム命令のデータ経路を命令セルの回路としてマップするステップと、
・ 命令セルの回路の構成を構成命令として符号化するステップと、
・ 構成命令を復号して相互接続ネットワークおよび命令セルの少なくともいくつかを構成するステップと、
を含む。
好ましくは、マップするステップは一時的結果を記憶するためのレジスタへのアクセスを命令セルの間の相互接続にマップするステップを含む。
好ましくは、マップするステップは単一クロック・サイクル内に実行するプログラム命令のデータ経路をマップするステップを含む。
好ましくは、第4の態様のコンピュータ・プログラムは、記憶媒体上で実現され、コンピュータ・メモリ内に記憶され、または電気的または光学的なキャリア信号で運ばれる。
本発明の第5の態様では、第3の態様をコンピュータに実行させるプログラム命令を含むコンピュータ・プログラムを提供する。
好ましくは、第5の態様のコンピュータ・プログラムは、記憶媒体上で実現され、コンピュータ・メモリ内に記憶され、または電気的または光学的なキャリア信号で運ばれる。
図1を参照すると、RICA構造のコア要素1は、プログラマブル・スイッチのネットワーク4を通して命令セル(IC)2を相互接続してデータ経路を作る。CPU構造と同様に、この実施の形態では、IC2および相互接続4の構成はサイクル毎に変更して命令の異なるブロックを実行することができる。図1に示すように、RICAはハーバード構造CPUと同じであって、プログラム(構成)メモリ6とデータ・メモリ8とは別個である。
ADD 加算、減算
MUL 乗算(符号付きまたは符号なし)
DIV 割り算(符号付きまたは符号なし)
REG レジスタ
I/O REG 外部入出力ポートにアクセスするためのレジスタ
MEM データ・メモリからの読取り/書込み
SHIFT シフト操作
LOGIC 論理演算(XOR、AND、ORなど)
COMP データ比較
JUMP 分岐(およびシーケンサ機能)
などである。
・ 製作前−−選択された数のハードウエア資源について高水準C/C++コードをコンパイルする。RTLシミュレーションによりまたはRICAシミュレータを通して決定された必要な性能が満たされない場合は、高水準コードを修正しまたはセル資源の混合を変えてよい。ハードウエア資源を調整すると用いる特定の領域に合うように構造を調整することができるので、電力および資源を節約することができる。この段階は柔軟性の最高のレベルを有する。
1 Load r1,x
2 Load r2,y
3 Mult r3,r2,r1
4 Load r4,A
5 Mult r2,r4,r1
6 Add r5,r2,r4
7 Mult r1,r2,r5
8 Load r3,B
9 Add r7,r1,r3
ステップ1:
1 Load wire1,X
2 Load wire2,Y
3 Mult r1,wire1,wire2
4 Load wire3,A
5 Mult wire4_r2,wire1,wire3
6 Add r3,wire4,wire3
ステップ2:
7 Mult wire5,r2,r3
8 Load wire6,B
9 Add r4,wire5,wire6
図8を参照すると、高度の再構成レート・コントローラ(RRC)802はプログラム・カウンタ804、メモリ806,808、およびレジスタ810に送る別個のイネーブル信号を適当な時刻に生成して複数のクロック信号を生成する。構造の他の部分に送るイネーブル信号を生成する前にRRCが待つクロック・サイクル812の量は、アレイの構成命令814の一部としてプログラム可能である。
レジスタを制御する組合せセル・クリティカル・パス・タグは図1に関して上に説明したのと同様に動作する。すなわち、タグはレジスタ・セルをいつクロックするかを決定する。
図10を参照すると、Rmemタグの最初の部分は、ステップの開始から、インターフェース・メモリ読取り命令セル102,112の入力(例えば、アドレス104,114およびオフセット106,116)をメモリ108,118に送るべきときまでの遅れ時間を定義するのに用いる。
図10に示す例では、両方のRmemセル・カスケード・ビットはローにセットされているので、両者はその遅れ時間を同時に開始する。しかし図11に示す例では、Rmem[1]112のカスケード・ビットはハイにセットされているので、Rmem[0]102がその遅れを終了した後にはじめてRmem[1]112の遅れを開始する。更に、Rmem[0]102の出力はRmem[1]112の入力への配線に直接マップされる。
本発明のこの実施の形態はRICA再構成可能型計算枠組構造内のSMTを提供する。
同時マルチスレッディングが単一の再構成可能格子に与える効果を示す1つの例として、ここでは二次元マルチホップ直接ネットワークを介して接続される計算ユニットの集合を用いる。相互接続方式の他の例としてクロスババーまたは区分された共用バスがある。
1) 従属命令の並列処理を行うには効率的な操作連鎖が必要であり、
2) スケジューリング・アルゴリズムにおいてレジスタ割当てを考慮する必要があり、
3) スケジューリング・アルゴリズムは再構成可能機能ユニットおよび経路選択相互接続遅れの影響も考慮に入れなければないが、これは再構成可能デバイス内のデータ経路遅れを変える可能性がある、
からである。
スケジューラは実行可能リストを生成し1502、スケジューリングのためにこのリストから操作を選択する1504。優先順位割当て機構を処理するのに3つのスケジューリング法を用いる。すなわち、IPRS1506、CPRS1508、およびMPRS1602である。MPRSの場合は、アルゴリズムのこのステップ1510でIPRSを用い、レジスタ割当ての後のステップ1530でCPRSと組み合わせる。
1522で、この構成ステップ(またはクロック・サイクル)でレジスタが十分ない場合は、ステップ1506から1510にループバックして操作の除去を行い、例えば、フラグをセットしてレジスタ除去を行うことを決定テスト1512で示す。
スケジューリングの3つの方法を用いることにより、最適な方法を用いてコードの全部または一部をスケジュールして、目標のRICA構造の構成ビットを生成することができる。最適スケジューラ出力を選択した1532後で、スケジューラは次の構成ステップに進む1534。
方法: CRSスケジューリング
入力: アセンブリ・コードであって、
空間機械記述(資源、クロック・サイクル)
VPRアルゴリズムにより生成される経路選択遅れ
をスケジュールする操作を表すもの
出力: 高速で並列のネットリスト
Begin
ステップ1: 制御フロー・グラフ(CFG)を構築する
ステップ2: データ・フロー・グラフ(DFG)を構築する
ステップ3: 名前を変えて逆依存/出力依存をなくす
ステップ4: セルの柔軟性に基づいて命令に優先順位を割り付ける
ステップ5: 命令の選択とスケジューリングを繰り返す
Ready[Cycle]=DFGのルート;
Ready[Cycle+1]=φ;
Scheduled[Cycle]=φ;
@Available_Register[Cycle]={出力レジスタである
が基本ブロックの入力レジスタとしては用いない}
lists
{
If(Ready[Cycle]=φ)then
{
@ 利用可能なハードウエア資源を初期化する;
Cycle=Cycle+1;
}
While(Ready[Cycle]≠φ){
@ Readyから操作を優先順に除き、直列低パワー最適化法を用いて操
作を選択する
If(∃サイクル上のtype(x)のフリー・イシュー・ユニット
@ &&操作を同じサイクル内で連鎖してよい){
S(op)=サイクル;
F(op)=FinishTime(op);
Scheduled[Cycle]=Scheduled[Cycle]
∪{op};
For(DFG内の次の操作s){
If(sが実行可能)then
Ready[Cycle]=Ready[Cycle]∪s;
}
}
else
Ready[Cycle+1]=Ready[Cycle+1]∪{op}
}
を用いる)
@then{//release register
操作の出力を保存するレジスタを除去して利用可能なレジスタ・リスト内に
入れる}
@N=このクロック・サイクルで必要なレジスタの数
@A=このクロック・サイクルで利用可能なレジスタの数
@if(N<A)
@ レジスタを割り付けて操作の出力を保存する
@else{
@
になるまでいくつかのスケジュールされた操作を優先順に除去す
る;
@ レジスタを割り付けて操作の出力を保存する;}
け用いる)
@最も長いクリティカル・パスおよび可変クロック・サイクルを計算する
}
@資源の結合−−ハミング距離を用いる。
End Method
第1の方法はクリティカル・パス再構成可能スケジューリング(CPRS)と呼ばれるものである。この文脈では、DFGの或るノードから出力ノードまでの最も長い経路をそのクリティカル・パスと呼ぶ。全てのクリティカル・パスの中で最も長いものは、スケジュールの残りの部分を実行するのに必要な全時間の下限値を与える。優先順位の高い操作の方が移動度が小さい。移動度はスケジュール間隔の長さと定義される。(移動度=最も遅い(ALAP)−最も速い(ASAP)である)。したがって、CPRSスケジューリングでは、最も長いクリティカル・パスを持つノードをサイクルtでスケジュールするものとして選択する。
ここに述べた本発明の範囲から逸れない範囲で、他の変更および改善を加えてよい。
Claims (55)
- 従属および独立の両方のプログラム命令の第一のデータ経路を有するプログラム命令を実行するプロセッサであって、
相互接続ネットワークと、
それぞれが前記相互接続ネットワークに接続される異種の複数の命令セルであって、該命令セルの各々は少なくとも加算、減算、乗算、除算あるいはシフトの処理を行う該複数の命令セルと、
構成メモリへのインターフェースであって、前記構成メモリは、前記従属プログラム命令及び独立プログラム命令の前記第一のデータ経路の少なくとも1つから、前記命令セルの回路へのマッピングがそれぞれ符号化された構成命令を記憶するものである前記インターフェースと、
復号モジュールであって、受けた構成命令を復号して前記相互接続ネットワークおよび命令セルの少なくともいくつかの第二のデータ経路を構成し、これにより前記第一のデータ経路を前記命令セルの回路にマップしまた前記プログラム命令を実行する、復号モジュールと、を備え、
前記命令セルの少なくとも一つは、実行フロー制御命令セルを含み、前記実行フロー制御命令セルはプログラム・カウンタ及び前記インターフェースを管理して、クロック・サイクル毎に前記構成命令の一つを前記復号モジュールに与えるように構成されている、
プロセッサ。 - 前記復号モジュールは前記命令セルの少なくともいくつかを前記相互接続ネットワークを通して直列に接続することにより、前記相互接続ネットワークおよび命令セルの少なくともいくつかのデータ経路を構成する、請求項1記載のプロセッサ。
- 前記復号モジュールは更に、複数のプログラム・スレッドのデータ経路から前記命令セルの対応する複数の独立回路へのマッピングを符号化する構成命令を受け、更に構成命令を復号して前記相互接続ネットワークおよび命令セルの少なくともいくつかのデータ経路を構成し、これにより複数のプログラム・スレッドのデータ経路を前記命令セルの対応する複数の独立回路にマップしまたプログラム・スレッドを互いに独立に同時に実行する、請求項1または2のいずれか記載のプロセッサ。
- 前記プロセッサはクロック・サイクルを有するクロック信号を与えるクロック・モジュールを更に備え、また前記復号モジュールは前記構成命令を復号して前記相互接続ネットワークおよび命令セルの少なくともいくつかのデータ経路をクロック・サイクル毎に構成する、請求項1から3のいずれか一項記載のプロセッサ。
- 前記クロック・モジュールは可変クロック・サイクルを与える、請求項4記載のプロセッサ。
- 前記クロック・モジュールはイネーブル信号を与える、請求項4または5のいずれか記載のプロセッサ。
- 前記イネーブル信号は命令セルのイネーブル入力に与えられる、請求項6記載のプロセッサ。
- 前記クロック・モジュールは複数のクロック信号を与える、請求項4から7のいずれか一項記載のプロセッサ。
- 前記複数のクロック信号の少なくともいくつかは複数の命令セルに別々に与えられる、請求項8記載のプロセッサ。
- 前記復号モジュールは更に構成命令を復号してクロック信号を構成する、請求項4から9のいずれか一項記載のプロセッサ。
- 前記復号モジュールは更に構成命令を復号してクロック・サイクルを構成する、請求項10記載のプロセッサ。
- 前記クロック信号の活動時間は構成される、請求項10または11のいずれか記載のプロセッサ。
- 前記クロック信号のデューティ・サイクルは構成される、請求項10から12のいずれか一項記載のプロセッサ。
- 前記イネーブル信号は前記実行フロー制御命令セルのイネーブル入力に与えられる、請求項6記載のプロセッサ。
- 前記構成セルの少なくとも1つはその出力をクロック・サイクル毎に変えるレジスタ命令セルを含む、請求項14に記載のプロセッサ。
- 前記イネーブル信号は前記レジスタ命令セルのイネーブル入力に与えられる、請求項15記載のプロセッサ。
- 前記イネーブル信号は前記実行フロー制御命令セルのイネーブル入力と前記レジスタ命令セルのイネーブル入力の両方に与えられる、請求項15または請求項16のいずれか記載のプロセッサ。
- 前記プロセッサは更に少なくとも1つの入力/出力ポートを備え、また前記命令セルの少なくとも1つは前記少なくとも1つの入力/出力ポートにアクセスする入力/出力レジスタ命令セルを含む、請求項1から請求項17のいずれか一項記載のプロセッサ。
- 前記プロセッサは更に少なくとも1つのスタックを備え、また前記命令セルの少なくとも1つは前記少なくとも1つのスタックにアクセスするスタック・レジスタ命令セルを含む、請求項1から請求項18のいずれか一項記載のプロセッサ。
- 前記命令セルの少なくとも1つはデータ・メモリ位置にアクセスするメモリ命令セルを含む、請求項1から請求項19のいずれか一項記載のプロセッサ。
- 前記データ・メモリ位置はマルチポート・メモリ位置を含む、請求項20記載のプロセッサ。
- メモリ命令セルの1対以上は前記クロック・サイクルの周波数より高い周波数でクロックするデータ・メモリ位置の1対以上に同じクロック・サイクル内にアクセスする、請求項20または請求項21のいずれか記載のプロセッサ。
- 前記復号モジュールは更に構成命令を復号して、その前の構成命令から復号されたクロック信号の構成に依存するクロック信号を構成する、請求項4から請求項22のいずれか一項記載のプロセッサ。
- 前記命令セルの少なくとも1つは命令セルの間のデータの経路を選択するマルチプレクサ命令セルを含む、請求項1から請求項23のいずれか一項記載のプロセッサ。
- 前記命令セルの少なくとも1つは組合せ論理命令セルを含む、請求項1から請求項24のいずれか一項記載のプロセッサ。
- 命令セルの機能はプログラム命令に対応する、請求項1から請求項25のいずれか一項記載のプロセッサ。
- 命令セルの前記回路は1つの実行フロー制御命令セルを含む命令セルの集合を含む、請求項1から請求項26のいずれか一項記載のプロセッサ。
- 請求項1から請求項27のいずれか一項記載のプロセッサの構成命令を生成するコンパイラであって、
プログラム命令を受けて前記プログラム命令のデータ経路を識別するフロントエンド・モジュールと、
従属および独立の両方のプログラム命令のデータ経路を前記命令セルの回路としてマップするスケジューリング・モジュールと、
命令セルの回路の前記構成を構成命令として符号化しまた前記構成命令を出力するマッピング・モジュールと、
を含むコンパイラ。 - 前記プログラム命令は高水準コンパイラから出力されるアセンブラ・コードを含む、請求項28記載のコンパイラ。
- 前記プログラム命令は高水準言語のソース・コードを含む、請求項28記載のコンパイラ。
- 前記スケジューリング・モジュールは更にその相互依存性に従って前記プログラム命令をスケジュールする、請求項28から請求項30のいずれか一項記載のコンパイラ。
- 前記フロントエンド・モジュールおよびスケジューリング・モジュールの少なくとも1つは更に一時的結果を記憶するためのレジスタへのアクセスを命令セルの間の相互接続にマップする、請求項28から請求項31のいずれか一項記載のコンパイラ。
- 前記スケジューリング・モジュールは更に単一クロック・サイクル内に実行する前記プログラム命令のデータ経路をマップする、請求項28から請求項32のいずれか一項記載のコンパイラ。
- 前記スケジューリング・モジュールは更に複数のプログラム・スレッドのデータ経路を前記命令セルの対応する複数の同時の回路としてマップする、請求項28から請求項33のいずれか一項記載のコンパイラ。
- 前記スケジューリング・モジュールは更に操作連鎖を用いて前記データ経路をマップする、請求項28から請求項34のいずれか一項記載のコンパイラ。
- 前記スケジューリング・モジュールは更に単一クロック・サイクルをスケジュール中は操作連鎖を用いる、請求項28から請求項35のいずれか一項記載のコンパイラ。
- 前記スケジューリング・モジュールは更に複数の実行可能リストの各実行可能リストを処理中は操作連鎖を用いる、請求項28から請求項36のいずれか一項記載のコンパイラ。
- 前記スケジューリング・モジュールは更にレジスタ割当てを用いて前記データ経路をマップする、請求項28から請求項37のいずれか一項記載のコンパイラ。
- 前記スケジューリング・モジュールは更に単一クロック・サイクルをスケジュール中はレジスタ割当てを用いる、請求項38記載のコンパイラ。
- 前記スケジューリング・モジュールは更に複数の実行可能リストの各実行可能リストを処理中はレジスタ割当てを用いる、請求項38か請求項39に記載のコンパイラ。
- 前記スケジューリング・モジュールは更に複数のスケジューリング・アルゴリズムを用いて前記データ経路をマップする、請求項28から請求項40のいずれか一項記載のコンパイラ。
- 前記スケジューリング・モジュールは更に前記複数のスケジューリング・アルゴリズムの1つから選択した出力を用いて前記データ経路をマップする、請求項41項記載のコンパイラ。
- コンピュータのプログラム命令をプロセッサにより実行する方法であって、
従属命令及び独立命令のデータ経路を有するプログラム命令内のデータ経路をコンパイラ中のモジュールにより識別するステップと、
プログラム・カウンタと構成命令を格納する構成メモリとを管理して、各クロック・サイクル毎に前記構成命令の一つを実行するステップであって、前記構成命令は、従属命令のデータ経路と独立命令のデータ経路から複数の異種の命令セルの一つ以上の回路へのマッピングが符号化された、前記実行するステップと、
前記構成命令に基づいて、相互接続ネットワーク及び異種の複数の命令セルの少なくともいくつかを接続するステップと、
該命令セルの各々は少なくとも加算、減算、乗算、除算あるいはシフトの処理を行い、前記命令セルの少なくともいくつかを前記相互接続ネットワークを通して直列に接続することにより各命令セルを前記相互接続ネットワークに接続し、これにより従属命令および独立命令のデータ経路をマッピングするステップと、
を含むプログラム命令を実行する方法。 - クロック・サイクルを有するクロック信号を前記命令セルの少なくとも1つに与えるステップを更に含み、前記相互接続ネットワークおよび異種の複数の命令セルの少なくともいくつかを構成する際はクロック・サイクル毎に行う、請求項43記載のプログラム命令を実行する方法。
- 前記相互接続ネットワークおよび異種の複数の命令セルの少なくともいくつかを構成する際はその後のクロック・サイクルを構成するステップを更に含む、請求項43または請求項44に記載のプログラム命令を実行する方法。
- 前記相互接続ネットワークおよび異種の複数の命令セルの少なくともいくつかを構成する際は、前記クロック・サイクルの活動時間が構成される、請求項44または請求項45に記載のプログラム命令を実行する方法。
- 前記相互接続ネットワークおよび異種の複数の命令セルの少なくともいくつかを構成する際は、前記クロック信号のデューディ・サイクルが構成される、請求項44から請求項46に記載のプログラム命令を実行する方法。
- 前記相互接続ネットワークおよび命令セルの少なくともいくつかを構成する前記ステップは、
・ 従属および独立の両方のプログラム命令のデータ経路を前記命令セルの回路としてマップするステップと、
・ 命令セルの前記回路の構成を構成命令として符号化するステップと、
・ 前記構成命令を復号して前記相互接続ネットワークおよび命令セルの少なくともいくつかを構成するステップと、
を含む、請求項43から請求項47のいずれか一項記載のプログラム命令を実行する方法。 - マップする前記ステップはその相互依存性に従って前記プログラム命令をスケジュールするステップを含む、請求項48記載のプログラム命令を実行する方法。
- マップする前記ステップは一時的結果を記憶するためのレジスタへのアクセスを命令セルの間の相互接続にマップするステップを含む、請求項48または請求項49に記載のプログラム命令を実行する方法。
- マップする前記ステップは単一クロック・サイクル内に実行するプログラム命令のデータ経路をマップするステップを含む、請求項48から請求項50のいずれか一項記載のプログラム命令を実行する方法。
- コンピュータにロードすると請求項28から請求項42のいずれか一項記載のコンパイラを構成するプログラム命令を含むコンピュータ・プログラム。
- 記憶媒体上で実現され、コンピュータ・メモリ内に記憶され、または電気的または光学的なキャリア信号で運ばれる、請求項52記載のコンピュータ・プログラム。
- 請求項43から請求項51のいずれか一項記載の方法をコンピュータに実行させるプログラム命令を含むコンピュータ・プログラム。
- 前記コンピュータ・プログラムは、前記コンピュータに結合された記憶媒体上で実現されるか、前記コンピュータの内部メモリ内に記憶されるか、あるいは電気的または光学的なキャリア信号で伝送可能である請求項54記載のコンピュータ・プログラム。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB0508589.9 | 2005-04-28 | ||
GB0508589A GB0508589D0 (en) | 2005-04-28 | 2005-04-28 | Reconfigurable instruction cell array |
GB0604428A GB0604428D0 (en) | 2006-03-06 | 2006-03-06 | Reconfigurable instruction cell array |
PCT/GB2006/001556 WO2006114642A1 (en) | 2005-04-28 | 2006-04-28 | Reconfigurable instruction cell array |
GB0604428.3 | 2006-06-06 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008539485A JP2008539485A (ja) | 2008-11-13 |
JP6059413B2 true JP6059413B2 (ja) | 2017-01-11 |
Family
ID=36685859
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008508300A Expired - Fee Related JP6059413B2 (ja) | 2005-04-28 | 2006-04-28 | 再構成可能命令セル・アレイ |
Country Status (6)
Country | Link |
---|---|
US (1) | US20100122105A1 (ja) |
EP (1) | EP1877927B1 (ja) |
JP (1) | JP6059413B2 (ja) |
AT (1) | ATE504043T1 (ja) |
DE (1) | DE602006021001D1 (ja) |
WO (1) | WO2006114642A1 (ja) |
Families Citing this family (69)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7330050B2 (en) | 2004-11-08 | 2008-02-12 | Tabula, Inc. | Storage elements for a configurable IC and method and apparatus for accessing data stored in the storage elements |
US7679401B1 (en) | 2005-12-01 | 2010-03-16 | Tabula, Inc. | User registers implemented with routing circuits in a configurable IC |
US8365111B2 (en) * | 2008-02-29 | 2013-01-29 | Et International, Inc. | Data driven logic simulation |
KR101553655B1 (ko) * | 2009-01-19 | 2015-09-17 | 삼성전자 주식회사 | 재구성가능 프로세서에 대한 명령어 스케줄링 장치 및 방법 |
CN101782893B (zh) * | 2009-01-21 | 2014-12-24 | 上海芯豪微电子有限公司 | 可重构数据处理平台 |
EP2219112A3 (en) * | 2009-01-23 | 2012-08-15 | Imec | Method and system for operating in hard real time |
KR101515568B1 (ko) * | 2009-02-03 | 2015-04-28 | 삼성전자 주식회사 | 재구성 가능 어레이의 스케줄러, 스케줄링 방법 및 이를 이용한 컴퓨팅 장치 |
KR101553652B1 (ko) * | 2009-02-18 | 2015-09-16 | 삼성전자 주식회사 | 이종 프로세서에 대한 명령어 컴파일링 장치 및 방법 |
GB2471067B (en) * | 2009-06-12 | 2011-11-30 | Graeme Roy Smith | Shared resource multi-thread array processor |
US8990783B1 (en) | 2009-08-13 | 2015-03-24 | The Mathworks, Inc. | Scheduling generated code based on target characteristics |
US8566804B1 (en) * | 2009-08-13 | 2013-10-22 | The Mathworks, Inc. | Scheduling generated code based on target characteristics |
US8281274B1 (en) | 2010-01-08 | 2012-10-02 | Altera Corporation | Method and apparatus for performing efficient incremental compilation |
WO2011123151A1 (en) * | 2010-04-02 | 2011-10-06 | Tabula Inc. | System and method for reducing reconfiguration power usage |
DE112010005459T5 (de) * | 2010-04-06 | 2013-01-31 | Toyota Jidosha Kabushiki Kaisha | Dynamisch rekonfigurierbarer prozessor und verfahren zum betreiben desselben |
US8941409B2 (en) | 2011-07-01 | 2015-01-27 | Tabula, Inc. | Configurable storage elements |
US9148151B2 (en) | 2011-07-13 | 2015-09-29 | Altera Corporation | Configurable storage elements |
US10983947B2 (en) * | 2011-11-21 | 2021-04-20 | Robert Keith Mykland | Method and dynamically reconfigurable processor adapted for management of persistence of information across multiple instruction cycles |
US9058860B2 (en) * | 2012-03-29 | 2015-06-16 | Memoir Systems, Inc. | Methods and apparatus for synthesizing multi-port memory circuits |
KR20130125036A (ko) * | 2012-05-08 | 2013-11-18 | 삼성전자주식회사 | 시스템 온 칩, 이의 동작 방법, 및 이를 포함하는 시스템 |
EP2856315A4 (en) * | 2012-05-30 | 2016-02-17 | Intel Corp | TERMINATION REQUEST BETWEEN A HETEROGEN GROUP OF PROCESSORS |
US9210486B2 (en) | 2013-03-01 | 2015-12-08 | Qualcomm Incorporated | Switching fabric for embedded reconfigurable computing |
US8860457B2 (en) * | 2013-03-05 | 2014-10-14 | Qualcomm Incorporated | Parallel configuration of a reconfigurable instruction cell array |
KR101962250B1 (ko) * | 2013-03-05 | 2019-03-26 | 삼성전자주식회사 | 재구성가능 아키텍처를 위한 스케줄러 및 스케줄링 방법 |
GB2514392B (en) | 2013-05-22 | 2015-06-17 | Khodor Ahmad Fawaz | Methods for operating and configuring a reconfigurable processor |
US9465758B2 (en) | 2013-05-29 | 2016-10-11 | Qualcomm Incorporated | Reconfigurable instruction cell array with conditional channel routing and in-place functionality |
US9330040B2 (en) | 2013-09-12 | 2016-05-03 | Qualcomm Incorporated | Serial configuration of a reconfigurable instruction cell array |
GB2526018B (en) * | 2013-10-31 | 2018-11-14 | Silicon Tailor Ltd | Multistage switch |
US20150268963A1 (en) * | 2014-03-23 | 2015-09-24 | Technion Research & Development Foundation Ltd. | Execution of data-parallel programs on coarse-grained reconfigurable architecture hardware |
US9503093B2 (en) * | 2014-04-24 | 2016-11-22 | Xilinx, Inc. | Virtualization of programmable integrated circuits |
US20160004617A1 (en) * | 2014-07-03 | 2016-01-07 | Qualcomm Incorporated | Automatic test pattern generation for a reconfigurable instruction cell array |
GB2529170B (en) | 2014-08-11 | 2021-06-16 | Ahmad Fawaz Khodor | Circuit design generator |
US9749548B2 (en) | 2015-01-22 | 2017-08-29 | Google Inc. | Virtual linebuffers for image signal processors |
US10291813B2 (en) | 2015-04-23 | 2019-05-14 | Google Llc | Sheet generator for image processor |
US9756268B2 (en) | 2015-04-23 | 2017-09-05 | Google Inc. | Line buffer unit for image processor |
US9772852B2 (en) | 2015-04-23 | 2017-09-26 | Google Inc. | Energy efficient processor core architecture for image processor |
US9785423B2 (en) | 2015-04-23 | 2017-10-10 | Google Inc. | Compiler for translating between a virtual image processor instruction set architecture (ISA) and target hardware having a two-dimensional shift array structure |
US10095479B2 (en) | 2015-04-23 | 2018-10-09 | Google Llc | Virtual image processor instruction set architecture (ISA) and memory model and exemplary target hardware having a two-dimensional shift array structure |
US9965824B2 (en) | 2015-04-23 | 2018-05-08 | Google Llc | Architecture for high performance, power efficient, programmable image processing |
US9769356B2 (en) | 2015-04-23 | 2017-09-19 | Google Inc. | Two dimensional shift array for image processor |
NL2015114B1 (en) * | 2015-07-07 | 2017-02-01 | Univ Delft Tech | Scalable computation architecture in a memristor-based array. |
US20170083313A1 (en) * | 2015-09-22 | 2017-03-23 | Qualcomm Incorporated | CONFIGURING COARSE-GRAINED RECONFIGURABLE ARRAYS (CGRAs) FOR DATAFLOW INSTRUCTION BLOCK EXECUTION IN BLOCK-BASED DATAFLOW INSTRUCTION SET ARCHITECTURES (ISAs) |
US9804849B2 (en) | 2015-10-20 | 2017-10-31 | International Business Machines Corporation | Space reduction in processor stressmark generation |
US10313641B2 (en) | 2015-12-04 | 2019-06-04 | Google Llc | Shift register with reduced wiring complexity |
US9830150B2 (en) | 2015-12-04 | 2017-11-28 | Google Llc | Multi-functional execution lane for image processor |
US20170177542A1 (en) * | 2015-12-16 | 2017-06-22 | Cognitive Systems Corp. | Operating a VLIW Processor in a Wireless Sensor Device |
US10387988B2 (en) | 2016-02-26 | 2019-08-20 | Google Llc | Compiler techniques for mapping program code to a high performance, power efficient, programmable image processing hardware platform |
US10204396B2 (en) | 2016-02-26 | 2019-02-12 | Google Llc | Compiler managed memory for image processor |
US10380969B2 (en) | 2016-02-28 | 2019-08-13 | Google Llc | Macro I/O unit for image processor |
US20180007302A1 (en) | 2016-07-01 | 2018-01-04 | Google Inc. | Block Operations For An Image Processor Having A Two-Dimensional Execution Lane Array and A Two-Dimensional Shift Register |
US20180005059A1 (en) | 2016-07-01 | 2018-01-04 | Google Inc. | Statistics Operations On Two Dimensional Image Processor |
US10546211B2 (en) | 2016-07-01 | 2020-01-28 | Google Llc | Convolutional neural network on programmable two dimensional image processor |
US20180005346A1 (en) | 2016-07-01 | 2018-01-04 | Google Inc. | Core Processes For Block Operations On An Image Processor Having A Two-Dimensional Execution Lane Array and A Two-Dimensional Shift Register |
US10437946B1 (en) * | 2016-09-01 | 2019-10-08 | Xilinx, Inc. | Using implemented core sources for simulation |
AU2018289605B2 (en) * | 2017-06-22 | 2023-04-27 | Icat Llc | High throughput processors |
CN109725904B (zh) * | 2017-10-31 | 2021-10-22 | 中国科学院微电子研究所 | 一种低功耗程序指令编译方法及系统 |
US11003429B1 (en) * | 2019-02-04 | 2021-05-11 | Amazon Technologies, Inc. | Compile-time scheduling |
US10839121B1 (en) * | 2019-04-30 | 2020-11-17 | Xilinx, Inc. | Data processing engine (DPE) array detailed mapping |
US10853541B1 (en) * | 2019-04-30 | 2020-12-01 | Xilinx, Inc. | Data processing engine (DPE) array global mapping |
TWI767304B (zh) * | 2019-08-22 | 2022-06-11 | 美商谷歌有限責任公司 | 用於編譯針對同步處理器之程式之方法及系統 |
US11900156B2 (en) | 2019-09-24 | 2024-02-13 | Speedata Ltd. | Inter-thread communication in multi-threaded reconfigurable coarse-grain arrays |
CN110941584B (zh) * | 2019-11-19 | 2021-01-22 | 中科寒武纪科技股份有限公司 | 运算引擎和数据运算方法 |
US11354157B2 (en) | 2020-04-28 | 2022-06-07 | Speedata Ltd. | Handling multiple graphs, contexts and programs in a coarse-grain reconfigurable array processor |
US11175922B1 (en) | 2020-04-28 | 2021-11-16 | Speedata Ltd. | Coarse-grain reconfigurable array processor with concurrent handling of multiple graphs on a single grid |
EP4244726A4 (en) * | 2020-11-16 | 2024-08-21 | Ascenium Inc | HIGHLY PARALLEL PROCESSING ARCHITECTURE WITH COMPILER |
EP4315045A1 (en) * | 2021-03-26 | 2024-02-07 | Ascenium, Inc. | Parallel processing architecture using speculative encoding |
US12038867B2 (en) * | 2022-02-10 | 2024-07-16 | SambaNova Systems, Inc. | Two-level arbitration in a reconfigurable processor |
US11815935B2 (en) | 2022-03-25 | 2023-11-14 | Micron Technology, Inc. | Programming a coarse grained reconfigurable array through description of data flow graphs |
US12039335B2 (en) * | 2022-03-25 | 2024-07-16 | Micron Technology, Inc. | Schedule instructions of a program of data flows for execution in tiles of a coarse grained reconfigurable array |
CN117348930A (zh) * | 2022-06-29 | 2024-01-05 | 中科寒武纪科技股份有限公司 | 指令处理装置、指令执行方法、片上系统和板卡 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS60215248A (ja) * | 1984-03-12 | 1985-10-28 | Nippon Telegr & Teleph Corp <Ntt> | 情報処理方式 |
US5933642A (en) * | 1995-04-17 | 1999-08-03 | Ricoh Corporation | Compiling system and method for reconfigurable computing |
US5646545A (en) * | 1995-08-18 | 1997-07-08 | Xilinx, Inc. | Time multiplexed programmable logic device |
US6023564A (en) * | 1996-07-19 | 2000-02-08 | Xilinx, Inc. | Data processing system using a flash reconfigurable logic device as a dynamic execution unit for a sequence of instructions |
US7444531B2 (en) * | 2001-03-05 | 2008-10-28 | Pact Xpp Technologies Ag | Methods and devices for treating and processing data |
US7155708B2 (en) * | 2002-10-31 | 2006-12-26 | Src Computers, Inc. | Debugging and performance profiling using control-dataflow graph representations with reconfigurable hardware emulation |
-
2006
- 2006-04-28 AT AT06743871T patent/ATE504043T1/de not_active IP Right Cessation
- 2006-04-28 DE DE602006021001T patent/DE602006021001D1/de active Active
- 2006-04-28 US US11/919,270 patent/US20100122105A1/en not_active Abandoned
- 2006-04-28 EP EP06743871A patent/EP1877927B1/en active Active
- 2006-04-28 JP JP2008508300A patent/JP6059413B2/ja not_active Expired - Fee Related
- 2006-04-28 WO PCT/GB2006/001556 patent/WO2006114642A1/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
EP1877927B1 (en) | 2011-03-30 |
JP2008539485A (ja) | 2008-11-13 |
WO2006114642A1 (en) | 2006-11-02 |
ATE504043T1 (de) | 2011-04-15 |
DE602006021001D1 (de) | 2011-05-12 |
EP1877927A1 (en) | 2008-01-16 |
US20100122105A1 (en) | 2010-05-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6059413B2 (ja) | 再構成可能命令セル・アレイ | |
Sutter et al. | Coarse-grained reconfigurable array architectures | |
Mei et al. | Exploiting loop-level parallelism on coarse-grained reconfigurable architectures using modulo scheduling | |
Mei et al. | ADRES: An architecture with tightly coupled VLIW processor and coarse-grained reconfigurable matrix | |
Coussy et al. | GAUT: A High-Level Synthesis Tool for DSP Applications: From C Algorithm to RTL Architecture | |
US9158575B2 (en) | Multithreaded processor array with heterogeneous function blocks communicating tokens via self-routing switch fabrics | |
US7200735B2 (en) | High-performance hybrid processor with configurable execution units | |
Barat et al. | Reconfigurable instruction set processors from a hardware/software perspective | |
Khawam et al. | The reconfigurable instruction cell array | |
Pelkonen et al. | System-level modeling of dynamically reconfigurable hardware with SystemC | |
Silva et al. | Ready: A fine-grained multithreading overlay framework for modern cpu-fpga dataflow applications | |
Cardoso | Dynamic loop pipelining in data-driven architectures | |
Fl et al. | Dynamic Reconfigurable Architectures and Transparent Optimization Techniques: Automatic Acceleration of Software Execution | |
Wijtvliet et al. | Blocks, towards energy-efficient, coarse-grained reconfigurable architectures | |
Chattopadhyay et al. | Language-driven exploration and implementation of partially re-configurable ASIPs | |
Prabhakar et al. | Coarse-grained reconfigurable architectures | |
WO2003071418A2 (en) | Method and device for partitioning large computer programs | |
Jozwiak et al. | Hardware synthesis for reconfigurable heterogeneous pipelined accelerators | |
Fawaz et al. | A dynamically reconfigurable asynchronous processor for low power applications | |
Prasad | Integrated Programmable-Array accelerator to design heterogeneous ultra-low power manycore architectures | |
Toi et al. | High-level synthesis challenges for mapping a complete program on a dynamically reconfigurable processor | |
Jeong et al. | Evaluator-executor transformation for efficient pipelining of loops with conditionals | |
Wei et al. | Software Defined Chips | |
Wijtvliet et al. | Concept of the Blocks Architecture | |
Mei et al. | A tightly coupled vliw/reconfigurable matrix and its modulo scheduling technique |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090428 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100416 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120309 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20120403 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20120403 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20120611 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20120618 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20120709 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20120717 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20120809 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20120816 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120910 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20130122 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20160630 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20160801 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20160829 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160930 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20161209 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6059413 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |