JP2006522399A - クラスタ化されたilpプロセッサを有するデータ処理システム - Google Patents
クラスタ化されたilpプロセッサを有するデータ処理システム Download PDFInfo
- Publication number
- JP2006522399A JP2006522399A JP2006506783A JP2006506783A JP2006522399A JP 2006522399 A JP2006522399 A JP 2006522399A JP 2006506783 A JP2006506783 A JP 2006506783A JP 2006506783 A JP2006506783 A JP 2006506783A JP 2006522399 A JP2006522399 A JP 2006522399A
- Authority
- JP
- Japan
- Prior art keywords
- clusters
- cluster
- instruction
- clustered
- data processing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
- 238000012545 processing Methods 0.000 title claims abstract description 11
- 238000004891 communication Methods 0.000 description 6
- 238000000034 method Methods 0.000 description 4
- 230000001629 suppression Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 210000002370 ICC Anatomy 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 230000003466 anti-cipated effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000010988 intraclass correlation coefficient Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000034655 secondary growth Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline, look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline, look ahead
- G06F9/3824—Operand accessing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline, look ahead
- G06F9/3824—Operand accessing
- G06F9/3826—Bypassing or forwarding of data results, e.g. locally between pipeline stages or within a pipeline stage
- G06F9/3828—Bypassing or forwarding of data results, e.g. locally between pipeline stages or within a pipeline stage with global bypass, e.g. between pipelines, between clusters
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline, look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3853—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution of compound instructions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline, look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units
- G06F9/3889—Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units controlled by multiple instructions, e.g. MIMD, decoupled access or execute
- G06F9/3891—Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units controlled by multiple instructions, e.g. MIMD, decoupled access or execute organised in groups of units sharing resources, e.g. clusters
Abstract
本発明は、異なる複数のサイクルからの動作を1つの命令で特定し、その結果、離れたクラスタに対する制御接続をパイプライン化するという考えに基づいている。したがって、データ処理システムが提供される。上記システムは、それぞれが少なくとも1つのレジスタファイルと少なくとも1つの機能ユニットとを備える複数のクラスタを有するクラスタ化されたILPプロセッサと、上記プロセッサのクラスタに対して制御信号を発する命令ユニットとを備えている。命令ユニットは、対応する制御接続を介して上記各クラスタに対して接続されている。また、上記制御接続には、上記命令ユニットと上記クラスタとの間の距離にしたがって、1または複数の更なるパイプラインレジスタを配置することができる。
Description
本発明は、クラスタ化されたILPプロセッサを有するデータ処理システム、および、クラスタ化された命令レベル並列プロセッサに関する。
命令レベル並列(ILP)プロセッサの分野における1つの主要な問題は、レジスタファイルリソースのスケーラビリティ(拡張性)である。従来、ILPアーキテクチャは、現在実行されている全ての並列処理の結果を維持するための多数のレジスタの必要性をカバーするように集中型リソースの周囲で設計されてきた。集中型レジスタファイルの使用により、機能ユニット間でのデータの共有が容易になるとともに、レジスタ割り付けおよびスケジューリングが簡略化される。しかしながら、多数のポートを有する巨大なモノリシックレジスタファイルを形成してプロセッサのサイクル時間を制限することは難しいため、そのような1つの集中型レジスタファイルのスケーラビリティは制限される。特に、加算機能ユニットは、相互接続を長くするとともに、余分なレジスタファイルポートに起因してレジスタファイルの面積および遅延を急激に増大させる。したがって、この手法のスケーラビリティは限られる。
VLSI技術およびコンピュータアーキテクチャの分野における最近の発達は、分散的機構が特定の領域において好ましい場合があることを示唆している。今後のプロセッサの性能は、演算処理の抑制によってではなく、通信の抑制によって制限されるであろうことが予想される。この問題に対する1つの解決策は、リソースを分割することであり、また、これらのリソースをプロセッサにわたって物理的に分配することにより、通信速度および待ち時間に悪影響を及ぼす長い配線を回避することである。これは、クラスタリング(クラスタ化)によって達成することができる。多くの現代のマイクロプロセッサは、超長命令語(VLIW)概念の形態を成す命令レベル並列(ILP)を利用する。クラスタ化されたVLIW概念は、HP/STM Lx,TI TMS320C6xxx,Sun MAJC,Equator MAP−CA,BOPS ManArrayなど、多くの業務用プロセッサにおいて実現された。クラスタ化されたプロセッサにおいて、機能ユニットやレジスタファイル等のリソースは、別個のクラスタにわたって分配される。特に、クラスタ化されたILPアーキテクチャの場合、各クラスタは、機能ユニットとローカルレジスタファイルとから成る組を備えている。クラスタは、1つのプログラムカウンタの下、ロックステップで動作する。クラスタ化されたプロセッサの背後にある主な考え方は、頻繁にやりとりする演算部分を同じクラスタ上で割り当て、一方、滅多に通信しない或いは通信が重大ではない演算部分を異なる複数のクラスタにわたって広げることである。しかしながら、問題は、クラスタ間通信(ICC)をハードウェアレベル(配線および論理)およびソフトウェアレベル(レジスタに対する変数の割り当ておよびスケジューリング)でどのように扱うかである。
既知のVLIWアーキテクチャは、完全二地点間接続(フルポイントツーポイント接続)トポロジを有している。すなわち、2つの各クラスタは、データのやりとりを可能にする専用の配線を有している。一方で、完全な接続性を有する二地点間ICCは、命令スケジューリングを簡略化するが、他方で、必要な配線の量N(N−1)(Nはクラスタの数)に起因してスケーラビリティが制限される。したがって、配線の二次成長は、スケーラビリティを2〜10個のクラスタに制限する。そのようなアーキテクチャは、4つのクラスタ、すなわち、互いに完全に接続されるクラスタA,B,C,Dを含んでいても良い。したがって、任意の2つのクラスタ同士の間には、専用の直接的な接続が常に存在している。データのクラスタ間転送の待ち時間は、チップ上のクラスタ間の実際の距離とは無関係に、全てのクラスタ間接続において常に同じである。クラスタA,C間およびクラスタB,D間のチップ上における実際の距離は、クラスタA,D間、クラスタA,B間、クラスタB,C間、クラスタC,D間の距離よりも長いと考えられる。また、2つの各クラスタ間にパイプラインレジスタが配置されても良い。
前述したVLIWアーキテクチャにおいては、制御信号におけるワイヤ遅延の問題が依然として存在する。制御信号は、各クラスタの機能ユニットおよびレジスタファイルに対して動作(演算)情報を分配するために使用される。ここで、VLIW命令は同じサイクルで実行される。したがって、各クラスタに対する全ての制御信号は、同じサイクル内のこれらのクラスタに到達しなければならない。これにより、全てのクラスタに対して制御信号を発する命令フェッチ/ディスパッチ(dispatch)ユニットから遠く離れたVLIWプロセッサのフロアプラン上にこれらのクラスタの一部が配置されても良い場合には、1つの問題が生じる。前述の場合において、クラスタD,CがクラスタA,Bおよび命令ユニットから遠く離れていると、プロセッサのサイクル時間は、命令フェッチ/ディスパッチユニットからの制御信号が最も離れたクラスタに到達するまでに必要な時間によって決まってしまう。
他のICC方式は、汎用バス接続性である。クラスタはバスを介して互いに完全に接続されるが、ハードウェアリソースは、完全二地点間接続(フルポイントツーポイント接続)トポロジを有する前述したICCほど多く必要としない。このバス接続により、マルチキャストを簡単に実施することができる。また、この方式は静的スケジューリングに基づいている。すなわち、バスのためのアービタも制御信号も全く不要である。バスを追加することによりICC帯域幅を容易に大きくすることができる。また、バスの伝播遅延によりICCの待ち時間が増大する。待ち時間は、クラスタの数を増やしてそのようなICC方式を用いたプロセッサのスケーラビリティを制限することにより更に増大する。その結果、クラスタA,D等の離れたクラスタ同士を中央汎用バスを介して接続することにより、クロック周波数が制限される場合がある。
したがって、本発明の目的は、クラスタ化されたILPプロセッサにおけるICC方式での命令および制御信号の待ち時間の不具合を改善することである。
この目的は、請求項1に係るデータ処理システムおよび請求項5に係るクラスタ化された命令レベル並列プロセッサによって解決される。
本発明は、異なる複数のサイクルからの動作を1つのVLIW命令で特定し、その結果、離れたクラスタに対する制御接続をパイプライン化するという考えに基づいている。
したがって、データ処理システムが提供される。上記システムは、それぞれが少なくとも1つのレジスタファイルと少なくとも1つの機能ユニットとを備える複数のクラスタを有するクラスタ化されたILPプロセッサと、上記プロセッサのクラスタに対して制御信号を発する命令ユニットとを備えている。命令ユニットは、対応する制御接続を介して上記各クラスタに対して接続されている。また、上記制御接続には、上記命令ユニットとクラスタとの間の距離にしたがって、1または複数のパイプラインレジスタを配置することができる。
この命令セットアーキテクチャにおいては、更に高いクロック周波数を得ることができる。これは、命令ユニットと最も離れたクラスタとの間の最長距離に起因する制御信号の最も長い遅延によりクロック周期が制限されるからである。すなわち、離れたクラスタに対する制御配線における長い遅延を採用することができる。
本発明の更なる態様において、クラスタは、二地点間接続を介して互いに接続される。この二地点クラスタ間通信方式により、命令スケジューリングが簡略化される。
本発明の更なる態様において、クラスタは、バス接続を介して互いに接続される。そのようなICC方式は、ハードウェアリソースをほとんど必要としないため有益である。
本発明の他の態様においては、制御接続がバスとして実施される。
また、本発明は、それぞれが少なくとも1つのレジスタファイルと少なくとも1つの機能ユニットとを備える複数のクラスタと、上記クラスタに対して制御信号を発する命令ユニットとを備えるクラスタ化されたILPプロセッサに関する。上記命令ユニットは、対応する制御接続を介して上記各クラスタに対して接続されている。上記制御接続には、上記命令ユニットと上記クラスタとの間の距離に応じて、1または複数の更なるパイプラインレジスタを設けることができる。
ここで、添付図面を参照しながら、本発明について更に詳細に説明する。
図面の全体にわたって、破線は制御配線を示し、一方、実線はデータ信号接続を示している。
図1には、完全二地点間接続(フルポイントツーポイント接続)トポロジを有する第1の実施形態に係るクラスタ化されたVLIWアーキテクチャが示されている。このアーキテクチャは、4つのクラスタ、すなわち、互いに完全に接続されたクラスタA,B,C,Dと、制御接続経路CA〜CDを介して各クラスタA〜Dに接続されたフェッチ/ディスパッチユニットIFDとを有している。したがって、任意の2つのクラスタ同士の間には、これらの間にパイプラインレジスタPが配置された状態で、専用の直接的なデータ信号接続が常に存在している。データのクラスタ間転送の待ち時間は、チップ上のクラスタ間の実際の距離とは無関係に、全てのクラスタ間接続において常に同じである。クラスタA,C間およびクラスタB,D間のチップ上における実際の距離は、クラスタA,D間、クラスタA,B間、クラスタB,C間、クラスタC,D間の距離よりも長いと考えられる。したがって、離れているクラスタ(リモートクラスタ)C,Dに対して制御信号をパイプラインで送るために、パイプラインレジスタPが制御接続経路CC,CD内に配置される。
2つの発行スロットを有する従来技術のシングルクラスタVLIWプロセッサのための命令は、以下のように実施することができる。
op1 r1,r2→r3 nop;
nop op2 r3,r10→11;
op1 r1,r2→r3 nop;
nop op2 r3,r10→11;
2つのクラスタVLIWプロセッサにおける同じ演算は、以下のように実施される。
op1 r1,r2→r3 nop;
copy r3→r3[B] nop; //r3をクラスタAからクラスタBのr3へコピー
nop op2 r3,r10→11;
op1 r1,r2→r3 nop;
copy r3→r3[B] nop; //r3をクラスタAからクラスタBのr3へコピー
nop op2 r3,r10→11;
第1の実施形態にしたがって同じコードが実施される。すなわち、クラスタDは、離れており、したがって、以下のように演算配信のために1つの余計なサイクルを必要とする。
op1 r1,r2→r3 nop;
copy r3→r3[D] op2 r3,r10→11;
op1 r1,r2→r3 nop;
copy r3→r3[D] op2 r3,r10→11;
このスケジューリングは、op2がサイクル3においてのみ実行されることから、op2が次のVLIW命令中に置かれている場合でも有効である点に注目されたい。したがって、様々なサイクルからの演算が1つのVLIW命令中に集約される。以下の表1は、クラスタAおよびクラスタDのための幾つかの命令を示している。この場合、クラスタDはクラスタAから離れている。
このように、命令1は、サイクル1,2でそれぞれ実行されるop1およびop3を含んでいる。命令2は、サイクル2,3でそれぞれ実行されるop2およびop4を含んでいる。命令3は、サイクル3,4でそれぞれ実行されるop4およびnopを含んでいる。遠隔にあるリモートクラスタDにおける演算の実行は、近接するクラスタAにおける演算に隠れた1つのサイクルである。すなわち、同じサイクルで実行される演算は、幾分偏ったVLIW命令である。
この命令セットアーキテクチャISAは、リモートクラスタD,Cに対して制御接続をパイプラインで繋ぐことにより実施される。そのようなISAは、3つを上回るクラスタを有するクラスタ化されたILPプロセッサにおいて特に有利である。
上記ISAの実施により、離れたクラスタに対する制御分配の余計な待ち時間に起因して、サイクルカウントが増加されても良い。また、図1にしたがってVLIW命令の演算を適切に処理するために、コンパイラの一部である命令スケジュールにおける僅かな変更が必要とされても良い。通常、ICCは、クラスタ間コピー演算によって実施される。コンパイラの命令スケジューラは、2つの演算間のコピーをスケジュールすることができるかどうかを決定する。好ましくは、パイプライン型の制御分配を伴うプロセッサにおけるコンパイラは、VLIW命令ではなく消費者演算が実行されるサイクルを考慮しなければならない。
図2に示されるように、第2の実施形態に係る他のICC方式は、汎用バス接続性である。クラスタA,B,C,Dはバス100を介して互いに完全に接続されているが、図1に示されるICC方式と比べて必要なハードウェアリソースが少ない。また、この方式は、制御相互接続110を介して全てのクラスタA〜Dに接続される命令フェッチ/ディスパッチユニットIFDを備えている。パイプラインレジスタPは、クラスタB,C間の制御相互接続110中に配置されている。この場合、クラスタC,Dは、クラスタA,Bからの任意のためのものである。このパイプラインレジスタPは、実プロセッサの複数の制御信号の実際の実施において複数のインスタンスを必要としても良い。したがって、第1の実施形態において、ISAは、制御相互接続110をリモートクラスタに対してパイプライン接続することにより実現される。
図3は、第3の実施形態に係る二地点間(ポイントツーポイント)クラスタ化VLIWアーキテクチャを示している。このアーキテクチャは、図1に係るクラスタ化されたVLIWアーキテクチャの構造とかなり類似している。このアーキテクチャは、直接的な二地点間接続により互いに完全に接続された同期作動する4つのクラスタA,B,C,Dを有している。したがって、任意の2つのクラスタ間には、専用の直接接続が常に存在し、それにより、デッドロックが無いICCが行なわれる。
また、このアーキテクチャは、制御接続経路CA〜CDのそれぞれを介して各クラスタA〜Dに接続される命令フェッチ/ディスパッチユニットIFDを備えている。クラスタA,C間およびクラスタB,D間のチップ上における実際の距離は、クラスタA,D間、クラスタA,B間、クラスタB,C間、クラスタC,D間の距離よりも長いと考えられる。クラスタA,B間、クラスタB,C間、クラスタC,D間、クラスタD,A間には1つのパイプラインレジスタPが配置され、一方、離れているクラスタA,C間および離れているクラスタB,D間には2つのパイプラインレジスタPが配置されている。したがって、クラスタ間のパイプラインレジスタPの数は、各クラスタ間の距離に比例し或いは当該距離によって決まり得る。また、制御経路CC,CDには1または複数のパイプラインレジスタPが設けられている。あるいは、リモートクラスタC,Dに対して制御信号をパイプラインで送るため、1または複数のパイプラインレジスタPが各制御経路CC,CDに設けられる。
このアーキテクチャは、完全に接続された待ち時間が不均一なクラスタ間ネットワークを有するクラスタ化されたVLIWアーキテクチャである。特に、ICC接続の待ち時間は均一ではない。これは、この待ち時間が、チップの最終的なレイアウトにおける各クラスタ間の実際の距離によって決まるからである。この態様に関して、本発明のアーキテクチャは、図1に係るクラスタ化されたVLIWアーキテクチャの構造と異なる。これは、離れているクラスタ同士の間のクラスタ間接続をディープパイプライン(deep pipelining)処理することによりワイヤ遅延の不具合が減少するという利点を有している。第1の実施形態に係るクラスタ化されたVLIWアーキテクチャを超える第3の実施形態に係るVLIWアーキテクチャの利点は、不均一な待ち時間を与えることによりワイヤ遅延の不具合が改善されるという点である。しかし、その一方で、スケジューリングは、クラスタ化されたVLIWアーキテクチャにおける場合よりも複雑になる。なぜなら、コンパイラは、不均一な待ち時間をもってネットワークのICCをスケジュールしなければならないからである。しかしながら、ISAは、表1に関して第1の実施形態で前述したように実施される。
図4は、本発明の第4の実施形態に係るバスを基本とするクラスタ化されたVLIWアーキテクチャを示している。この第4の実施形態のアーキテクチャは、図2に係るバスを基本とするクラスタ化されたVLIWアーキテクチャの構造と類似している。クラスタA,D等の離れたクラスタは、中央バスまたは汎用バス100を介して互いに接続される。しかしながら、これにより、クロック周波数が制限される。この欠点は、第1の実施形態に係る前述したVLIWアーキテクチャを設けることによって解消することができる。特に、バス100がパイプライン化され、クラスタ間通信の待ち時間は、不均一にされるとともに、クラスタ間の距離に依存する。例えば、クラスタAがデータをクラスタBに送る場合には、1つのサイクルが必要となり、一方、クラスタAとリモートクラスタDとの間でデータが移動する場合には、データがクラスタB,D間に設けられた更なるパイプラインレジスタPを通らなければならないため、2つのサイクルが必要となる。
また、制御相互接続110を介して各クラスタA〜Dに接続される命令フェッチ/ディスパッチユニットIFDが設けられている。特に、クラスタB,C間、すなわち、近くにあるクラスタA,Bと離れたクラスタC,Dとの間には、パイプラインレジスタPが配置されている。しかしながら、このバスを基本とするクラスタ化されたVLIWアーキテクチャの命令スケジューリングは、第1の実施形態に係る二地点間(ポイントツーポイント)を基本とするクラスタ化されたVLIWアーキテクチャのスケジューリングに対応している。
図5は、全てのクラスタにおいて同一の既知のパイプラインフローチャートを示している。ステップS1では、命令フェッチ動作が行なわれ、ステップS2では、命令デコード動作が行なわれる。ステップS3では、レジスタが読み取られ、また、各動作がステップS4で実行される。最後に、ステップS5において、ライトバックが行なわれる。
図6は、本発明の原理にしたがったパイプラインフローチャートを示している。本発明は、パイプラインアーキテクチャが近くにあるクラスタと離れたクラスタとにおいて異なるという考えに基づいている。したがって、命令フェッチ/ディスパッチユニットIFDに近いクラスタにおいては、図6の左側にあるステップS1〜S5によって実施されるパイプラインが、従来技術に係るパイプラインすなわち図5に示されるパイプラインと同一である。しかしながら、離れたクラスタにおけるパイプライン(図6の右側)は、IFDからクラスタへ制御信号を転送するための更なるパイプラインステージすなわちステップS2aを組み込んでいる。なお、しかしながら、命令フェッチステージおよび命令デコードステージであるステップS1,S2を含むパイプライン初期段階は、近くにあるクラスタおよび離れたクラスタにおいて共有されている。また、パイプラインが近くにあるクラスタと離れたクラスタとにおいて異なるという考えを変えることなく、図示の各パイプラインステージが幾つかのサブステージを含んでいても良い。
なお、本発明の原理は、VLIWプロセッサおよびEPIC(明示的並列命令セットコンピューティング)プロセッサに適用されても良いが、異なる命令セットアーキテクチャを有するスーパスカラプロセッサには適用されない。
Claims (5)
- それぞれが少なくとも1つのレジスタファイルと少なくとも1つの機能ユニットとを含む複数のクラスタを備えるクラスタ化された命令レベル並列プロセッサと、
前記クラスタに対して制御信号を発し、対応する制御接続を介して前記各クラスタに対して接続される命令ユニットと、
を備え、
前記制御接続には、前記命令ユニットと前記クラスタとの間の距離に応じて、1または複数の更なるパイプラインレジスタが設けられている、データ処理システム。 - 前記クラスタが二地点間接続を介して互いに接続されている、請求項1に記載のデータ処理システム。
- 前記クラスタがバス接続を介して互いに接続されている、請求項1に記載のデータ処理システム。
- 前記制御接続がバスとして実施される、請求項3に記載のデータ処理システム。
- それぞれが少なくとも1つのレジスタファイルと少なくとも1つの機能ユニットとを備える複数のクラスタと、
前記クラスタに対して制御信号を発する命令ユニットと、
を備え、
前記命令ユニットは、対応する制御接続を介して前記各クラスタに対して接続され、
前記制御接続には、前記命令ユニットと前記クラスタとの間の距離に応じて、1または複数の更なるパイプラインレジスタが設けられている、クラスタ化された命令レベル並列プロセッサ。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP03100923 | 2003-04-07 | ||
PCT/IB2004/050351 WO2004090716A1 (en) | 2003-04-07 | 2004-03-29 | Data processing system with clustered ilp processor |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006522399A true JP2006522399A (ja) | 2006-09-28 |
Family
ID=33155212
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006506783A Withdrawn JP2006522399A (ja) | 2003-04-07 | 2004-03-29 | クラスタ化されたilpプロセッサを有するデータ処理システム |
Country Status (6)
Country | Link |
---|---|
US (1) | US20060200646A1 (ja) |
EP (1) | EP1614030B1 (ja) |
JP (1) | JP2006522399A (ja) |
KR (1) | KR101132341B1 (ja) |
CN (1) | CN100373329C (ja) |
WO (1) | WO2004090716A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8001506B2 (en) | 2008-01-22 | 2011-08-16 | Ricoh Company, Ltd. | SIMD image forming apparatus for minimizing wiring distance between registers and processing devices |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI334990B (en) * | 2006-12-28 | 2010-12-21 | Ind Tech Res Inst | Virtual cluster architecture and method |
GB0809192D0 (en) * | 2008-05-20 | 2008-06-25 | Aspex Semiconductor Ltd | Improvements to data compression engines |
SE537552C2 (sv) * | 2011-12-21 | 2015-06-09 | Mediatek Sweden Ab | Digital signalprocessor |
CN104408086B (zh) * | 2014-11-07 | 2018-02-06 | 北京奇虎科技有限公司 | 数据全局处理系统和方法 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5280474A (en) * | 1990-01-05 | 1994-01-18 | Maspar Computer Corporation | Scalable processor to processor and processor-to-I/O interconnection network and method for parallel processing arrays |
JPH0830577A (ja) * | 1994-07-15 | 1996-02-02 | Mitsubishi Electric Corp | Simdプロセッサ |
US5659785A (en) * | 1995-02-10 | 1997-08-19 | International Business Machines Corporation | Array processor communication architecture with broadcast processor instructions |
DE69837791T2 (de) * | 1997-11-07 | 2007-10-18 | Altera Corp., San Jose | VERFAHREN UND GERÄT FÜR EFFIZIENTE, SYNCHRONE MIMD-OPERATIONEN MIT iVLIW PE-ZU-PE KOMMUNIKATIONEN |
US6279100B1 (en) * | 1998-12-03 | 2001-08-21 | Sun Microsystems, Inc. | Local stall control method and structure in a microprocessor |
US6269437B1 (en) * | 1999-03-22 | 2001-07-31 | Agere Systems Guardian Corp. | Duplicator interconnection methods and apparatus for reducing port pressure in a clustered processor |
US6993641B2 (en) * | 2000-11-08 | 2006-01-31 | Pts Corporation | Stall control |
EP1581864A2 (en) * | 2002-12-30 | 2005-10-05 | Koninklijke Philips Electronics N.V. | Clustered instruction level parallelism processor |
GB2397668B (en) * | 2003-01-27 | 2005-12-07 | Picochip Designs Ltd | Processor array |
-
2004
- 2004-03-29 KR KR1020057018983A patent/KR101132341B1/ko active IP Right Grant
- 2004-03-29 JP JP2006506783A patent/JP2006522399A/ja not_active Withdrawn
- 2004-03-29 WO PCT/IB2004/050351 patent/WO2004090716A1/en active Application Filing
- 2004-03-29 US US10/552,076 patent/US20060200646A1/en not_active Abandoned
- 2004-03-29 EP EP04724090.8A patent/EP1614030B1/en not_active Expired - Lifetime
- 2004-03-29 CN CNB2004800093195A patent/CN100373329C/zh not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8001506B2 (en) | 2008-01-22 | 2011-08-16 | Ricoh Company, Ltd. | SIMD image forming apparatus for minimizing wiring distance between registers and processing devices |
Also Published As
Publication number | Publication date |
---|---|
US20060200646A1 (en) | 2006-09-07 |
EP1614030B1 (en) | 2015-11-04 |
KR20060004929A (ko) | 2006-01-16 |
WO2004090716A1 (en) | 2004-10-21 |
CN100373329C (zh) | 2008-03-05 |
CN1771477A (zh) | 2006-05-10 |
KR101132341B1 (ko) | 2012-04-05 |
EP1614030A1 (en) | 2006-01-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8949806B1 (en) | Compiling code for parallel processing architectures based on control flow | |
US9158575B2 (en) | Multithreaded processor array with heterogeneous function blocks communicating tokens via self-routing switch fabrics | |
EP1148414B1 (en) | Method and apparatus for allocating functional units in a multithreaded VLIW processor | |
US20080282007A1 (en) | METHOD AND SYSTEM FOR CONTROLLING TRANSMISSION and EXECUTION OF COMMANDS IN AN INTEGRATED CIRCUIT DEVICE | |
US7007111B2 (en) | DMA port sharing bandwidth balancing logic | |
Karim et al. | A multilevel computing architecture for embedded multimedia applications | |
JP2006522399A (ja) | クラスタ化されたilpプロセッサを有するデータ処理システム | |
CN112379928B (zh) | 指令调度方法以及包括指令调度单元的处理器 | |
US9003168B1 (en) | Control system for resource selection between or among conjoined-cores | |
JP2934003B2 (ja) | データ処理装置 | |
US7698535B2 (en) | Asynchronous multiple-order issue system architecture | |
Aggarwal et al. | Hierarchical interconnects for on-chip clustering | |
JP2006512659A (ja) | クラスタ化されたilpプロセッサ | |
Mereu | Conception, Analysis, Design and Realization of a Multi-socket Network-on-Chip Architecture and of the Binary Translation support for VLIW core targeted to Systems-on-Chip | |
Gajski et al. | Comparison of five multiprocessor systems | |
Hußmann et al. | Compiler-driven reconfiguration of multiprocessors | |
Cohen et al. | Dynamic barrier architecture for multi-mode fine-grain parallelism using conventional processors Part I: Barrier Architecture | |
Purnaprajna et al. | Runtime Reconfiguration of Multiprocessors Based on Compile-Time Analysis | |
Chang et al. | The effects of explicitly parallel mechanisms on the Multi-ALU processor cluster pipeline | |
Gupta | Design Decisions for Tiled Architecture Memory Systems | |
Zhong | Architectural and Complier Mechanisms for Accelerating Single Thread Applications on Mulitcore Processors. | |
Haagens | A bus structure for multi-microprocessing. | |
Lee | Software orchestration of instruction level parallelism on tiled processor architectures | |
Nuzman | Memory subsystem design for explicit multithreading architectures | |
Robatmili et al. | Register bank assignment for spatially partitioned processors |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070327 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20070518 |
|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20080221 |