JP2006522399A - クラスタ化されたilpプロセッサを有するデータ処理システム - Google Patents

クラスタ化されたilpプロセッサを有するデータ処理システム Download PDF

Info

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
Application number
JP2006506783A
Other languages
English (en)
Inventor
アンドレイ、テレチコ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Koninklijke Philips NV
Original Assignee
Koninklijke Philips Electronics NV
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Koninklijke Philips Electronics NV filed Critical Koninklijke Philips Electronics NV
Publication of JP2006522399A publication Critical patent/JP2006522399A/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3824Operand accessing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3824Operand accessing
    • G06F9/3826Bypassing or forwarding of data results, e.g. locally between pipeline stages or within a pipeline stage
    • G06F9/3828Bypassing 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • G06F9/3853Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution of compound instructions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units
    • G06F9/3889Concurrent 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/3891Concurrent 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;
2つのクラスタVLIWプロセッサにおける同じ演算は、以下のように実施される。
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;
このスケジューリングは、op2がサイクル3においてのみ実行されることから、op2が次のVLIW命令中に置かれている場合でも有効である点に注目されたい。したがって、様々なサイクルからの演算が1つのVLIW命令中に集約される。以下の表1は、クラスタAおよびクラスタDのための幾つかの命令を示している。この場合、クラスタDはクラスタAから離れている。
Figure 2006522399
このように、命令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(明示的並列命令セットコンピューティング)プロセッサに適用されても良いが、異なる命令セットアーキテクチャを有するスーパスカラプロセッサには適用されない。
第1の実施形態に係るクラスタ化されたVLIWアーキテクチャを示している。 第2の実施形態に係るバスを基本とするクラスタ化されたVLIWアーキテクチャを示している。 第3の実施形態に係る二地点間クラスタ化VLIWアーキテクチャを示している。 第4の実施形態に係るバスを基本とするクラスタ化されたVLIWアーキテクチャを示している。 従来技術に係るパイプラインフローチャートを示している。 本発明に係るパイプラインフローチャートを示している。

Claims (5)

  1. それぞれが少なくとも1つのレジスタファイルと少なくとも1つの機能ユニットとを含む複数のクラスタを備えるクラスタ化された命令レベル並列プロセッサと、
    前記クラスタに対して制御信号を発し、対応する制御接続を介して前記各クラスタに対して接続される命令ユニットと、
    を備え、
    前記制御接続には、前記命令ユニットと前記クラスタとの間の距離に応じて、1または複数の更なるパイプラインレジスタが設けられている、データ処理システム。
  2. 前記クラスタが二地点間接続を介して互いに接続されている、請求項1に記載のデータ処理システム。
  3. 前記クラスタがバス接続を介して互いに接続されている、請求項1に記載のデータ処理システム。
  4. 前記制御接続がバスとして実施される、請求項3に記載のデータ処理システム。
  5. それぞれが少なくとも1つのレジスタファイルと少なくとも1つの機能ユニットとを備える複数のクラスタと、
    前記クラスタに対して制御信号を発する命令ユニットと、
    を備え、
    前記命令ユニットは、対応する制御接続を介して前記各クラスタに対して接続され、
    前記制御接続には、前記命令ユニットと前記クラスタとの間の距離に応じて、1または複数の更なるパイプラインレジスタが設けられている、クラスタ化された命令レベル並列プロセッサ。
JP2006506783A 2003-04-07 2004-03-29 クラスタ化されたilpプロセッサを有するデータ処理システム Withdrawn JP2006522399A (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Cited By (1)

* Cited by examiner, † Cited by third party
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