JP2008539485A - 再構成可能命令セル・アレイ - Google Patents
再構成可能命令セル・アレイ Download PDFInfo
- Publication number
- JP2008539485A JP2008539485A JP2008508300A JP2008508300A JP2008539485A JP 2008539485 A JP2008539485 A JP 2008539485A JP 2008508300 A JP2008508300 A JP 2008508300A JP 2008508300 A JP2008508300 A JP 2008508300A JP 2008539485 A JP2008539485 A JP 2008539485A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- processor
- cells
- configuration
- cell
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 claims abstract description 69
- 230000001419 dependent effect Effects 0.000 claims abstract description 27
- 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 48
- 238000012545 processing Methods 0.000 claims description 39
- 238000004590 computer program Methods 0.000 claims description 8
- 230000006870 function Effects 0.000 claims description 8
- 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
- 230000000694 effects Effects 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)
Abstract
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 (56)
- 従属および独立の両方のプログラム命令のデータ経路を有するプログラム命令を実行するプロセッサであって、
相互接続ネットワークと、
それぞれが前記相互接続ネットワークに接続される異種の複数の命令セルと、
復号モジュールであって、従属プログラム命令のデータ経路と独立プログラム命令のデータ経路の少なくとも1つから前記命令セルの回路へのマッピングをそれぞれ符号化する構成命令を受け、更に構成命令を復号して前記相互接続ネットワークおよび命令セルの少なくともいくつかを構成し、これにより前記データ経路を前記命令セルの回路にマップしまた前記プログラム命令を実行する、復号モジュールと、
を備えるプロセッサ。 - 前記復号モジュールは前記命令セルの少なくともいくつかを前記相互接続ネットワークを通して直列に接続することにより、前記相互接続ネットワークおよび命令セルの少なくともいくつかを構成する、請求項1記載のプロセッサ。
- 前記復号モジュールは更に、複数のプログラム・スレッドのデータ経路から前記命令セルの対応する複数の独立回路へのマッピングを符号化する構成命令を受け、更に構成命令を復号して前記相互接続ネットワークおよび命令セルの少なくともいくつかを構成し、これにより複数のプログラム・スレッドのデータ経路を前記命令セルの対応する複数の独立回路にマップしまたプログラム・スレッドを互いに独立に同時に実行する、請求項1または2のいずれか記載のプロセッサ。
- 前記プロセッサはクロック・サイクルを有するクロック信号を与えるクロック・モジュールを更に備え、また前記復号モジュールは前記構成命令を復号して前記相互接続ネットワークおよび命令セルの少なくともいくつかをクロック・サイクル毎に構成する、先行請求項のいずれか一項記載のプロセッサ。
- 前記クロック・モジュールは可変クロック・サイクルを与える、請求項4記載のプロセッサ。
- 前記クロック・モジュールはイネーブル信号を与える、請求項4または5のいずれか記載のプロセッサ。
- 前記イネーブル信号は命令セルのイネーブル入力に与えられる、請求項6記載のプロセッサ。
- 前記クロック・モジュールは複数のクロック信号を与える、請求項4から7のいずれか一項記載のプロセッサ。
- 前記複数のクロック信号の少なくともいくつかは複数の命令セルに別々に与えられる、請求項8記載のプロセッサ。
- 前記復号モジュールは更に構成命令を復号してクロック信号を構成する、請求項4から9のいずれか一項記載のプロセッサ。
- 前記復号モジュールは更に構成命令を復号してクロック・サイクルを構成する、請求項10記載のプロセッサ。
- 前記クロック信号の活動時間は構成される、請求項10または11のいずれか記載のプロセッサ。
- 前記クロック信号のデューティ・サイクルは構成される、請求項10から12のいずれか一項記載のプロセッサ。
- 前記プロセッサは更にプログラム・カウンタと構成メモリへのインターフェースとを備え、前記構成メモリは前記構成命令を記憶し、前記構成命令の少なくとも1つは前記プログラム・カウンタおよび前記インターフェースを管理して、クロック・サイクル毎に前記構成命令の1つを前記復号モジュールに与える実行フロー制御命令セルを含む、先行請求項のいずれか一項記載のプロセッサ。
- 前記イネーブル信号は前記実行フロー制御命令セルのイネーブル入力に与えられる、請求項14記載のプロセッサ。
- 前記構成セルの少なくとも1つはその出力をクロック・サイクル毎に変えるレジスタ命令セルを含む、先行請求項のいずれか一項記載のプロセッサ。
- 前記イネーブル信号は前記レジスタ命令セルのイネーブル入力に与えられる、請求項16記載のプロセッサ。
- 前記イネーブル信号は前記実行フロー制御命令セルのイネーブル入力と前記レジスタ命令セルのイネーブル入力の両方に与えられる、請求項16または17のいずれか記載のプロセッサ。
- 前記プロセッサは更に少なくとも1つの入力/出力ポートを備え、また前記命令セルの少なくとも1つは前記少なくとも1つの入力/出力ポートにアクセスする入力/出力レジスタ命令セルを含む、先行請求項のいずれか一項記載のプロセッサ。
- 前記プロセッサは更に少なくとも1つのスタックを備え、また前記命令セルの少なくとも1つは前記少なくとも1つのスタックにアクセスするスタック・レジスタ命令セルを含む、先行請求項のいずれか一項記載のプロセッサ。
- 前記命令セルの少なくとも1つはデータ・メモリ位置にアクセスするメモリ命令セルを含む、先行請求項のいずれか一項記載のプロセッサ。
- 前記データ・メモリ位置はマルチポート・メモリ位置を含む、請求項21記載のプロセッサ。
- メモリ命令セルの1対以上は前記クロック・サイクルの周波数より高い周波数でクロックするデータ・メモリ位置の1対以上に同じクロック・サイクル内にアクセスする、請求項21または22のいずれか記載のプロセッサ。
- 前記復号モジュールは更に構成命令を復号して、その前の構成命令から復号されたクロック信号の構成に依存するクロック信号を構成する、請求項4から23のいずれか一項記載のプロセッサ。
- 前記命令セルの少なくとも1つは命令セルの間のデータの経路を選択する多重命令セルを含む、先行請求項のいずれか一項記載のプロセッサ。
- 前記命令セルの少なくとも1つは組合せ論理命令セルを含む、先行請求項のいずれか一項記載のプロセッサ。
- 命令セルの機能はプログラム命令に対応する、先行請求項のいずれか一項記載のプロセッサ。
- 命令セルの前記回路は1つの実行フロー制御命令セルを含む命令セルの集合を含む、請求項14から27のいずれか一項記載のプロセッサ。
- 先行請求項のいずれか一項記載のプロセッサの構成命令を生成するコンパイラであって、
プログラム命令を受けて前記プログラム命令のデータ経路を識別するフロントエンド・モジュールと、
従属および独立の両方のプログラム命令のデータ経路を前記命令セルの回路としてマップするスケジューリング・モジュールと、
命令セルの回路の前記構成を構成命令として復号しまた前記構成命令を出力するマッピング・モジュールと、
を含むコンパイラ。 - 前記プログラム命令は高水準コンパイラから出力されるアセンブラ・コードを含む、請求項29記載のコンパイラ。
- 前記プログラム命令は高水準言語のソース・コードを含む、請求項29記載のコンパイラ。
- 前記スケジューリング・モジュールは更にその相互依存性に従って前記プログラム命令をスケジュールする、請求項29から31のいずれか一項記載のコンパイラ。
- 前記フロントエンド・モジュールおよびスケジューリング・モジュールの少なくとも1つは更に一時的結果を記憶するためのレジスタへのアクセスを命令セルの間の相互接続にマップする、請求項29から32のいずれか一項記載のコンパイラ。
- 前記スケジューリング・モジュールは更に単一クロック・サイクル内に実行する前記プログラム命令のデータ経路をマップする、請求項29から33のいずれか一項記載のコンパイラ。
- 前記スケジューリング・モジュールは更に複数のプログラム・スレッドのデータ経路を前記命令セルの対応する複数の同時の回路としてマップする、請求項29から34のいずれか一項記載のコンパイラ。
- 前記スケジューリング・モジュールは更に操作連鎖を用いて前記データ経路をマップする、請求項29から35のいずれか一項記載のコンパイラ。
- 前記スケジューリング・モジュールは更に単一クロック・サイクルをスケジュール中は操作連鎖を用いる、請求項29から36のいずれか一項記載のコンパイラ。
- 前記スケジューリング・モジュールは更に複数の実行可能リストの各実行可能リストを処理中は操作連鎖を用いる、請求項29から37のいずれか一項記載のコンパイラ。
- 前記スケジューリング・モジュールは更にレジスタ割当てを用いて前記データ経路をマップする、請求項29から38のいずれか一項記載のコンパイラ。
- 前記スケジューリング・モジュールは更に単一クロック・サイクルをスケジュール中はレジスタ割当てを用いる、請求項39記載のコンパイラ。
- 前記スケジューリング・モジュールは更に複数の実行可能リストの各実行可能リストを処理中はレジスタ割当てを用いる、請求項39か40のいずれか記載のコンパイラ。
- 前記スケジューリング・モジュールは更に複数のスケジューリング・アルゴリズムを用いて前記データ経路をマップする、請求項29から41のいずれか一項記載のコンパイラ。
- 前記スケジューリング・モジュールは更に前記複数のスケジューリング・アルゴリズムの1つから選択した出力を用いて前記データ経路をマップする、請求項42項記載のコンパイラ。
- プログラム命令を実行する方法であって、
従属および独立の両方の命令のデータ経路を有するプログラム命令内のデータ経路を識別するステップと、
相互接続ネットワークおよび異種の複数の命令セルの少なくともいくつかを構成し、前記命令セルの少なくともいくつかを前記相互接続ネットワークを通して直列に接続することにより各命令セルを前記相互接続ネットワークに接続し、これにより従属および独立の両方のプログラム命令のデータ経路をマップしまた前記プログラム命令を実行するステップと、
を含むプログラム命令を実行する方法。 - クロック・サイクルを有するクロック信号を前記命令セルの少なくとも1つに与えるステップを更に含み、前記命令セルを構成するステップはクロック・サイクル毎に行う、請求項44記載のプログラム命令を実行する方法。
- 前記構成するステップはその後のクロック・サイクルを構成するステップを更に含む、請求項44または45のいずれか記載のプログラム命令を実行する方法。
- 前記クロック・サイクルの活動時間は構成される、請求項44から46のいずれか一項記載のプログラム命令を実行する方法。
- 前記クロック信号のデューディ・サイクルは構成される、請求項44から47のいずれか一項記載のプログラム命令を実行する方法。
- 前記相互接続ネットワークおよび命令セルの少なくともいくつかを構成する前記ステップは、
・ 従属および独立の両方のプログラム命令のデータ経路を前記命令セルの回路としてマップするステップと、
・ 命令セルの前記回路の構成を構成命令として符号化するステップと、
・ 前記構成命令を復号して前記相互接続ネットワークおよび命令セルの少なくともいくつかを構成するステップと、
を含む、請求項44から48のいずれか一項記載のプログラム命令を実行する方法。 - マップする前記ステップはその相互依存性に従って前記プログラム命令をスケジュールするステップを含む、請求項49記載のプログラム命令を実行する方法。
- マップする前記ステップは一時的結果を記憶するためのレジスタへのアクセスを命令セルの間の相互接続にマップするステップを含む、請求項49または50いずれか記載のプログラム命令を実行する方法。
- マップする前記ステップは単一クロック・サイクル内に実行するプログラム命令のデータ経路をマップするステップを含む、請求項49から51のいずれか一項記載のプログラム命令を実行する方法。
- コンピュータにロードすると請求項29から43のいずれか一項記載のコンパイラを構成するプログラム命令を含むコンピュータ・プログラム。
- 記憶媒体上で実現され、コンピュータ・メモリ内に記憶され、または電気的または光学的なキャリア信号で運ばれる、請求項53記載のコンピュータ・プログラム。
- 請求項44から52のいずれか一項記載の方法をコンピュータに実行させるプログラム命令を含むコンピュータ・プログラム。
- 記憶媒体上で実現され、コンピュータ・メモリ内に記憶され、または電気的または光学的なキャリア信号で運ばれる、請求項55記載のコンピュータ・プログラム。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB0508589A GB0508589D0 (en) | 2005-04-28 | 2005-04-28 | Reconfigurable instruction cell array |
GB0508589.9 | 2005-04-28 | ||
GB0604428A GB0604428D0 (en) | 2006-03-06 | 2006-03-06 | Reconfigurable instruction cell array |
GB0604428.3 | 2006-03-06 | ||
PCT/GB2006/001556 WO2006114642A1 (en) | 2005-04-28 | 2006-04-28 | Reconfigurable instruction cell array |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008539485A true JP2008539485A (ja) | 2008-11-13 |
JP6059413B2 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) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011125174A1 (ja) * | 2010-04-06 | 2011-10-13 | トヨタ自動車株式会社 | 動的再構成プロセッサ及びその動作方法 |
KR101553655B1 (ko) | 2009-01-19 | 2015-09-17 | 삼성전자 주식회사 | 재구성가능 프로세서에 대한 명령어 스케줄링 장치 및 방법 |
JP2016514421A (ja) * | 2013-03-05 | 2016-05-19 | クゥアルコム・インコーポレイテッドQualcomm Incorporated | 再構成可能命令セルアレイの並列構成 |
JP2016520239A (ja) * | 2013-05-29 | 2016-07-11 | クゥアルコム・インコーポレイテッドQualcomm Incorporated | 条件付きのチャネルルーティングおよびインプレースの機能性を持つ再設定可能な命令セルのアレイ |
JP2016535913A (ja) * | 2013-10-31 | 2016-11-17 | シリコン テーラー リミテッド | パイプライン化構成可能プロセッサ |
JP2018527679A (ja) * | 2015-09-22 | 2018-09-20 | クアルコム,インコーポレイテッド | ブロックベースのデータフロー命令セットアーキテクチャ(isa)におけるデータフロー命令ブロック実行のための粗粒度再構成可能アレイ(cgra)の構成 |
Families Citing this family (63)
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 |
CN101782893B (zh) * | 2009-01-21 | 2014-12-24 | 上海芯豪微电子有限公司 | 可重构数据处理平台 |
US8856791B2 (en) * | 2009-01-23 | 2014-10-07 | 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 |
US8566804B1 (en) * | 2009-08-13 | 2013-10-22 | The Mathworks, Inc. | Scheduling generated code based on target characteristics |
US8990783B1 (en) | 2009-08-13 | 2015-03-24 | 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 |
US8912820B2 (en) * | 2010-04-02 | 2014-12-16 | Tabula, Inc. | System and method for reducing reconfiguration power |
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 | 삼성전자주식회사 | 시스템 온 칩, 이의 동작 방법, 및 이를 포함하는 시스템 |
WO2013177765A1 (en) * | 2012-05-30 | 2013-12-05 | Intel Corporation | Runtime dispatching among heterogeneous group of processors |
US9210486B2 (en) * | 2013-03-01 | 2015-12-08 | Qualcomm Incorporated | Switching fabric for embedded reconfigurable computing |
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 |
US9330040B2 (en) | 2013-09-12 | 2016-05-03 | Qualcomm Incorporated | Serial configuration of a reconfigurable instruction cell array |
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 |
US9769356B2 (en) | 2015-04-23 | 2017-09-19 | Google Inc. | Two dimensional shift array for image processor |
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 |
US10291813B2 (en) | 2015-04-23 | 2019-05-14 | Google Llc | Sheet generator for image processor |
US9772852B2 (en) | 2015-04-23 | 2017-09-26 | Google Inc. | Energy efficient processor core architecture for image processor |
US9756268B2 (en) | 2015-04-23 | 2017-09-05 | Google Inc. | Line buffer unit 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 |
NL2015114B1 (en) * | 2015-07-07 | 2017-02-01 | Univ Delft Tech | Scalable computation architecture in a memristor-based array. |
US9804849B2 (en) | 2015-10-20 | 2017-10-31 | International Business Machines Corporation | Space reduction in processor stressmark generation |
US9830150B2 (en) | 2015-12-04 | 2017-11-28 | Google Llc | Multi-functional execution lane for image processor |
US10313641B2 (en) | 2015-12-04 | 2019-06-04 | Google Llc | Shift register with reduced wiring complexity |
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 |
US20180005059A1 (en) | 2016-07-01 | 2018-01-04 | Google Inc. | Statistics Operations On Two Dimensional 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 |
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 |
US10546211B2 (en) | 2016-07-01 | 2020-01-28 | Google Llc | Convolutional neural network on programmable two dimensional image processor |
US10437946B1 (en) * | 2016-09-01 | 2019-10-08 | Xilinx, Inc. | Using implemented core sources for simulation |
WO2018237361A1 (en) | 2017-06-22 | 2018-12-27 | Icat Llc | HIGH SPEED 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 |
WO2021035187A1 (en) * | 2019-08-22 | 2021-02-25 | Google Llc | Compilation for synchronous processor |
US11900156B2 (en) | 2019-09-24 | 2024-02-13 | Speedata Ltd. | Inter-thread communication in multi-threaded reconfigurable coarse-grain arrays |
CN112905525B (zh) * | 2019-11-19 | 2024-04-05 | 中科寒武纪科技股份有限公司 | 控制运算装置进行计算的方法及设备 |
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 | 中科寒武纪科技股份有限公司 | 指令处理装置、指令执行方法、片上系统和板卡 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS60215248A (ja) * | 1984-03-12 | 1985-10-28 | Nippon Telegr & Teleph Corp <Ntt> | 情報処理方式 |
JPH09181599A (ja) * | 1995-08-18 | 1997-07-11 | Xilinx Inc | 時間多重書込可能論理装置 |
US6105105A (en) * | 1996-07-19 | 2000-08-15 | Xilinx, Inc. | Data processing system using configuration select logic, an instruction store, and sequencing logic during instruction execution |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5933642A (en) * | 1995-04-17 | 1999-08-03 | Ricoh Corporation | Compiling system and method for reconfigurable computing |
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 JP JP2008508300A patent/JP6059413B2/ja not_active Expired - Fee Related
- 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 WO PCT/GB2006/001556 patent/WO2006114642A1/en active Application Filing
- 2006-04-28 EP EP06743871A patent/EP1877927B1/en active Active
- 2006-04-28 US US11/919,270 patent/US20100122105A1/en not_active Abandoned
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS60215248A (ja) * | 1984-03-12 | 1985-10-28 | Nippon Telegr & Teleph Corp <Ntt> | 情報処理方式 |
JPH09181599A (ja) * | 1995-08-18 | 1997-07-11 | Xilinx Inc | 時間多重書込可能論理装置 |
US6105105A (en) * | 1996-07-19 | 2000-08-15 | Xilinx, Inc. | Data processing system using configuration select logic, an instruction store, and sequencing logic during instruction execution |
Non-Patent Citations (5)
Title |
---|
JPN6012012770; Francisco Barat, Murali Jayapala, Tom Vander Aa, Rudy Lauwereins, Geert Deconinck, and Henk Corporaa: '"Low Power Coarse-Grained Reconfigurable Instruction Set Processor"' LNCS, Field-Programmable Logic and Applications Vol.2778, 200309, p.230-239 * |
JPN6012012771; Sami Khawam, Ioannis Nousias, Mark Milward, Ying Yi, Mark Muir, and Tughrul Arslan: '"The Reconfigurable Instruction Cell Array"' IEEE Transactions on Very Large Scale Integration (VLSI) Systems Volume:16, Issue:1, 200806, p.75-85, [online] * |
JPN6012012772; Pascal Benoit, Lionel Torres, Gilles Sassatelli, Michel Robert, Gaston Cambon: '"Automatic task scheduling/loop unrolling using dedicated RTR controllers in coarse grain reconfigu' Proceedings of the 19th IEEE International Parallel and Distributed Proces& * |
JPN6012012773; Francisco Barat, Murali Jayapala, Pieter Op de Beeck and Geert Deconinck: '"Software Pipelining for Coarse-Grained Reconfigurable Instruction Set Processors"' Proceedings of the 15th International Conference on VLSI Design (VLSID'02) , 200201, p.338-344, [online] * |
JPN6012012774; Bhuvan Middha, Varun Raji, Anup Gangwar, Anshul Kumar, M. Balakrishnan: '"A Trimaran Based Framework for Exploring the Design Space of VLIW ASIPs with Coarse Grain Function' Proceedings of the 15th international symposium on System Synthesis (ISSS '02) , 200210, p. * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101553655B1 (ko) | 2009-01-19 | 2015-09-17 | 삼성전자 주식회사 | 재구성가능 프로세서에 대한 명령어 스케줄링 장치 및 방법 |
WO2011125174A1 (ja) * | 2010-04-06 | 2011-10-13 | トヨタ自動車株式会社 | 動的再構成プロセッサ及びその動作方法 |
JPWO2011125174A1 (ja) * | 2010-04-06 | 2013-07-08 | トヨタ自動車株式会社 | 動的再構成プロセッサ及びその動作方法 |
JP2016514421A (ja) * | 2013-03-05 | 2016-05-19 | クゥアルコム・インコーポレイテッドQualcomm Incorporated | 再構成可能命令セルアレイの並列構成 |
JP2016520239A (ja) * | 2013-05-29 | 2016-07-11 | クゥアルコム・インコーポレイテッドQualcomm Incorporated | 条件付きのチャネルルーティングおよびインプレースの機能性を持つ再設定可能な命令セルのアレイ |
JP2016535913A (ja) * | 2013-10-31 | 2016-11-17 | シリコン テーラー リミテッド | パイプライン化構成可能プロセッサ |
US10275390B2 (en) | 2013-10-31 | 2019-04-30 | Silicon Tailor Limited | Pipelined configurable processor |
JP2018527679A (ja) * | 2015-09-22 | 2018-09-20 | クアルコム,インコーポレイテッド | ブロックベースのデータフロー命令セットアーキテクチャ(isa)におけるデータフロー命令ブロック実行のための粗粒度再構成可能アレイ(cgra)の構成 |
Also Published As
Publication number | Publication date |
---|---|
EP1877927A1 (en) | 2008-01-16 |
ATE504043T1 (de) | 2011-04-15 |
US20100122105A1 (en) | 2010-05-13 |
DE602006021001D1 (de) | 2011-05-12 |
WO2006114642A1 (en) | 2006-11-02 |
JP6059413B2 (ja) | 2017-01-11 |
EP1877927B1 (en) | 2011-03-30 |
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 | |
US9158575B2 (en) | Multithreaded processor array with heterogeneous function blocks communicating tokens via self-routing switch fabrics | |
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 | |
EP1766544B1 (en) | Execution of hardware description language (hdl) programs | |
US7200735B2 (en) | High-performance hybrid processor with configurable execution units | |
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 | |
Alle et al. | Redefine: Runtime reconfigurable polymorphic asic | |
Toi et al. | High-level synthesis challenges and solutions for a dynamically reconfigurable processor | |
Toi et al. | Optimizing time and space multiplexed computation in a dynamically reconfigurable processor | |
Yazdanpanah et al. | Analysis of the task superscalar architecture hardware design | |
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 | |
Sykora et al. | Microthreading as a novel method for close coupling of custom hardware accelerators to SVP processors | |
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 | |
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 |