JP2006512655A - クラスタ化ilpプロセッサおよびクラスタ化ilpプロセッサにおけるバスにアクセスする方法 - Google Patents
クラスタ化ilpプロセッサおよびクラスタ化ilpプロセッサにおけるバスにアクセスする方法 Download PDFInfo
- Publication number
- JP2006512655A JP2006512655A JP2004563420A JP2004563420A JP2006512655A JP 2006512655 A JP2006512655 A JP 2006512655A JP 2004563420 A JP2004563420 A JP 2004563420A JP 2004563420 A JP2004563420 A JP 2004563420A JP 2006512655 A JP2006512655 A JP 2006512655A
- Authority
- JP
- Japan
- Prior art keywords
- bus
- clusters
- switching means
- cluster
- processor
- 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
- 238000000034 method Methods 0.000 title claims abstract description 20
- 238000012546 transfer Methods 0.000 claims abstract description 13
- 230000005540 biological transmission Effects 0.000 claims description 19
- 238000012545 processing Methods 0.000 claims description 2
- 238000004891 communication Methods 0.000 description 20
- 230000011218 segmentation Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000008520 organization 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
-
- 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
- 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
- G06F13/40—Bus structure
-
- 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/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
- 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つのレジスタ・ファイル(RF)および少なくとも1つの機能単位(FU)をそれぞれ有する複数のクラスタ(C1〜C6)と、前記クラスタ(C1〜C6)を接続するバス手段(100)とを有し、前記バス(100)は、複数のバス・セグメント(100a、100b、100c)と、隣接するバス・セグメント(100a、100b、100c)間に配置されたスイッチング手段(200)とを有する。前記スイッチング手段(200)は、隣接するバス・セグメント(100a、100b、100c)を接続または切断するのに使用される。さらに、クラスタ化命令レベル並列処理プロセッサ中のバス(100)にアクセスする方法が示される。前記バス(100)は、前記バス(100)に沿った少なくとも1つのスイッチング手段(200)を有する。クラスタは、ソース・レジスタおよび転送ワードに基づく送信オペレーション、または指定ソース・レジスタおよび転送ワードに基づく受信オペレーションを実施することができる。次いで前記スイッチング手段が、前記転送ワードに従って開かれる/閉じられる。
Description
本発明は、クラスタ化された命令レベル並列処理プロセッサと、クラスタ化命令レベル並列処理プロセッサにおけるバスにアクセスする方法とに関する。
命令レベル並列処理(ILP)プロセッサの領域での1つの主な問題は、レジスタ・ファイル資源のスケーラビリティである。過去には、現在実行中のすべての並列演算の結果を維持する多数のレジスタの必要性をカバーするために、集中型資源(centralised resources)の周辺にILPアーキテクチャが設計された。集中型レジスタ・ファイルの使用により、機能単位間のデータ共有が容易となり、レジスタ割振りおよびスケジューリングが単純化される。しかし、多数のポートを有する巨大なモノリシック・レジスタ・ファイルは構築するのが難しく、プロセッサのサイクル・タイムを制限するので、このような単一の集中型レジスタのスケーラビリティは限られている。
VLSI技術およびコンピュータ・アーキテクチャの領域での最近の発展により、ある分野では非集中型の編成が好ましい場合があることが提唱されている。将来のプロセッサの性能は計算上の制約よりも通信上の制約によって制限されることが予見される。この問題に対する一解決策は、資源を分割し、こうした資源をプロセッサの上に物理的に分散させ、通信速度ならびに待ち時間に対して悪影響を有する長いワイヤを回避することである。これはクラスタ化によって達成することができる。クラスタ化プロセッサのいくつかの資源では、同様の機能単位およびレジスタ・ファイルが別々のクラスタにわたって分散されている。具体的にはクラスタ化ILPアーキテクチャでは、各クラスタが1組の機能単位およびローカル・レジスタを備えている。クラスタ化プロセッサの背後にある主なアイデアは、頻繁に対話する計算の部分を同一クラスタ上に割り振り、一方で、まれにしか通信しない部分または重要でない通信を異なるクラスタ上に割り振られるというものである。しかし問題は、クラスタ間通信ICCをどのようにハードウェア・レベル(ワイヤおよびロジック)ならびにソフトウェア・レベル(変数をレジスタに割り振ること、およびスケジューリング)で処理するかである。
最も広く用いられているICC方式は、完全なポイントツーポイント接続性トポロジを有する。すなわち、それぞれの2つのクラスタがデータの交換を可能にする専用配線を有する。一方では、完全な接続性を有するポイントツーポイントICCは命令スケジューリングを単純化するが、他方では、必要な配線量N(N−1)のためにスケーラビリティが制限される。ここでNはクラスタ数である。したがって、配線の2次的増大により、スケーラビリティが2〜10クラスタに制限される。
さらに、ポイントツーポイントICCに関して部分接続ネットワークを使用することも可能である。ここで、クラスタは他のすべてのクラスタとは接続(完全接続)されておらず、例えば単に隣接するクラスタと接続されるだけである。配線の複雑さは低減されるが、プロセッサをプログラミングする問題が増大し、その問題は、既存の自動スケジューリングおよび割振りツールでは満足に解決されない。
さらに別のICC方式はグローバル・バス接続性である。完全なポイントツーポイント接続性トポロジを有する上記ICC方式と比較して必要なハードウェア資源はずっと少ないが、クラスタがバスを介して互いに完全に接続される。さらに、この方式は値マルチキャストを可能にする。すなわち、同じ値をいくつかのクラスタに同時に送ることができ、または言い換えれば、いくつかのクラスタがバスを同時に読み取ることによって同じ値を取得することができる。この方式はさらに、静的スケジューリングに基づく。したがって、アービタも、どんな制御信号も不要である。バスは共有資源を構成するので、1サイクル当たり実施することが可能な転送は1つだけであり、通信帯域幅が非常に低い状態に制限される。さらに、バスの伝播遅延によりICCの待ち時間が増大する。クラスタ数の増加と共に待ち時間はさらに増大し、そのようなICC方式のプロセッサのスケーラビリティが制限される。
通信帯域幅が制限されることに伴う問題は、マルチバスを使用することによって部分的に克服することができる。マルチバスでは、ICCに対して1つのバスではなく、2つのバスが使用される。これにより通信帯域幅が向上するが、バスの待ち時間を低減することなくハードウェア・オーバヘッドも増大する。
別のICC通信方式では、ローカル・バスが使用される。このICC方式は、部分接続通信方式である。したがって、ローカル・バスは、単に一定量のクラスタを接続するだけで、すべてを一度に接続するわけではない。この方式の欠点は、例えば異なるローカル・バスに接続されたクラスタ間で値を送るべき場合、1サイクル内で直接送ることができず、少なくとも2サイクルが必要であるので、プログラムが難しいことである。
したがって、既知のICC方式の利点および欠点は以下のように要約することができる。ポイントツーポイント・トポロジは高い帯域幅を有するが、配線の複雑さがクラスタ数の2乗に従って増大する。マルチキャスト、すなわちいくつかの他のクラスタに値を送ることが不可能である。一方、バス・トポロジは、複雑さがクラスタ数に比例して増大するので複雑さが少なく、マルチキャストを可能にするが、帯域幅が低い。ICC方式を完全に接続することができ、または部分的に接続することができる。完全に接続する方式は高い帯域幅を有し、ソフトウェアの複雑さが少ないが、配線の複雑さが増大し、あまりスケーラブルではない。部分的に接続する方式は、良好なスケーラビリティとハードウェアの複雑さが少ないことを結びつけるが、帯域幅が低く、ソフトウェアが複雑である。
したがって、本発明の目的は、クラスタ化ILPプロセッサのためのICC方式内でバスの帯域幅を改善すると共に、基礎となるプログラミング・システムの複雑さを過度に増すことなく上記バスの待ち時間を低減することである。
この問題は、請求項1に記載のILPプロセッサと、請求項5に記載のクラスタ化命令レベル並列処理プロセッサ内のバスにアクセスする方法とによって解決される。
本発明の基本概念は、スイッチを開/閉によってバスをより小さい独立セグメントに分割するために、バスに沿って上記スイッチを追加することである。
本発明によれば、クラスタ化命令レベル並列処理プロセッサが、複数のクラスタC1〜C4と、複数のバス・セグメント100a、100b、100cを有するバス手段100と、隣接するバス・セグメント100a、100b、100cの間に配置されたスイッチング手段200a、200bとを備える。上記バス手段100は、上記クラスタC1〜C4を接続するために使用され、上記クラスタC1〜C4は、それぞれ少なくとも1つのレジスタ・ファイルRFおよび少なくとも1つの機能単位FUを備える。上記スイッチング手段200は、隣接するバス・セグメント100a、100b、100cを接続または切断するために使用される。
バス100を異なるセグメントに分割することにより、1つのバス・セグメント内のバスの待ち時間が改善される。それでも、バス全体、すなわち閉じたすべてのスイッチの全待ち時間がクラスタ数に比例して増大するが、ローカル・クラスタまたは隣接するクラスタ間のデータ移動の待ち時間を、異なるバス・セグメント、すなわち異なるスイッチを介する移動よりも短くすることができる。バスICCのグローバル相互接続要件による、ローカル通信、すなわち隣接するクラスタ間の通信のスローダウンは、スイッチを開くことによって回避することができ、その結果、待ち時間のより少ない、より短いバス、すなわちバス・セグメントを達成することができる。さらに、スイッチを取り込むことは、実施するのが安価かつ容易であると共に、完全接続ICCを断念することなく、バスの利用可能な帯域幅が向上し、長いバスによって引き起こされる待ち時間問題が低減される。
本発明の一態様によれば、上記バス手段100は、少なくとも2つのバスを含むマルチバスであり、それにより通信帯域幅が改善される。
本発明はまた、クラスタ化命令レベル並列処理プロセッサ中のバス100にアクセスする方法に関する。上記バス100は、上記バス100に沿った少なくとも1つのスイッチング手段200を備える。クラスタC1〜C4は、ソース・レジスタおよび転送ワードに基づく送信オペレーション、並びに、指定ソース・レジスタおよび転送ワードに基づく受信オペレーションのいずれをも実施することができる。次いで上記スイッチング手段200は、上記転送ワードに従って開く/閉じる。
ソフトウェアの観点からは、分割バスまたはセグメント化バスのスケジューリングは、グローバル・バスICCよりもあまり複雑ではなく、スイッチを制御するために必要なのは、ほんの少数の論理ゲートだけである。
本発明の別の態様によれば、上記転送ワードは、送信オペレーションについての送信方向と受信オペレーションについての受信方向とを表し、データ移動方向に従ったスイッチの制御が可能となる。
次に、図面を参照しながら本発明をより詳細に説明する。
最も広く用いられているICC方式は、完全なポイントツーポイント接続性トポロジである。すなわち、それぞれの2つのクラスタがデータの交換を可能にする専用配線を有する。4つのクラスタを有する代表的なILPプロセッサを図1に示す。
図2に、グローバル・バス接続性を有する別のICC方式を示す。図1に示すICC方式と比べて必要なハードウェア資源がずっと少ないが、クラスタが、バスを介して互いに完全に接続される。さらに、この方式は値マルチキャストを可能にする。すなわち、同じ値をいくつかのクラスタに同時に送ることができ、即ち、言い換えれば、いくつかのクラスタがバスを同時に読み取ることによって同じ値を取得することができる。
通信帯域幅が制限されることに伴う問題は、図3に示すマルチバスを使用することによって部分的に克服することができる。図3に示すマルチバスでは、ICCに対して1つのバスではなく、2つのバスが使用される。これにより通信帯域幅が向上するが、バスの待ち時間を低減することなくハードウェア・オーバヘッドも増大する。
図4に、ローカル・バスを使用する別のICC通信方式を示す。ICC方式は部分接続通信方式である。したがって、ローカル・バスは、単に一定量のクラスタを接続するだけで、すべてを一度に接続するわけではない。例えば、クラスタ1から3が第1ローカル・バスに接続され、クラスタ2から4が第2ローカル・バスに接続される。この方式の欠点は、例えばクラスタ1からクラスタ4に値を送るべき場合、1サイクル内で直接送ることができず、少なくとも2サイクルが必要であるので、プログラムすることが難しいことである。
図5に、第1実施形態によるセグメント化バスを介するクラスタ間通信ICC方式を示す。上記ICC方式をVLIWプロセッサに組み込んでもよい。この方式は、バス100を介して互いに接続された4つのクラスタC1〜C4と、バスをセグメント化する1つのスイッチ200とを備える。スイッチ200が開いているとき、クラスタ1 C1とクラスタ2 C2との間の或るデータ移動、および/またはクラスタ3 C3とクラスタ4 C4との間の別のデータ移動を1サイクル内で実施することができる。一方、スイッチ200が閉じるとき、クラスタ1 C1またはクラスタ2 C2からクラスタ3 C3またはクラスタ4 C4に1サイクル内でデータを移動させることができる。
この方式では、クラスタ数およびスイッチ数のようなハードウェア資源のスケーラビリティが、図2に示す既知のICCの場合と同様に線形である。
第1実施形態によるICC方式は単一のバス100だけを示すが、本発明の原理は、図3に示すマルチバスICC方式と、図4に示すローカル・バスを使用するICC方式とに容易に適用することができる。分割バスまたはセグメント化バスを達成するためには、単にいくつかのスイッチ200をマルチバスまたはローカル・バスに組み込む必要があるだけである。
図6に、第2実施形態によるセグメント化バスを介するクラスタ間通信ICC方式を示す。ここでは、クラスタC1〜C4ならびにスイッチ制御がより詳細に示されている。各クラスタC1〜C4は、レジスタ・ファイルRFおよび少なくとも1つの機能単位FUを備え、ビット当たりわずか3つのORゲートGから構成されるインターフェースを介して1ビット・バス100に接続される。代替的に、AND、NAND、またはNORゲートGをインタフェースとして使用することもできる。しかし、各クラスタC1〜C4は、明らかに1つより多数のレジスタ・ファイルRFおよび1つより多数の機能単位FUを有することができる。これらの機能単位FUは、何らかのバス・オペレーション専用の特別な機能単位FUでよい。さらに、バスに書込みをするいくつかの機能単位が存在してよい。
レジスタ・ファイルのバイパス論理の表現は、本発明による分割バスまたはセグメント化バスを理解する上で重要ではないので省略してある。1ビットのバス・ワードだけを示しているが、バスが所望のワード・サイズを有することができることは明らかである。さらに、第2実施形態によるバスは、ビット当たり2本のワイヤで実装される。一方のワイヤは、バスのleft to right値を搬送し、他方のワイヤは、right to left値を搬送する。しかし、他のバスの実装も可能である。
バス線ごとにわずか数個のMOSトランジスタM1、M2を用いてバス分割スイッチを実装することができる。
バスのアクセス制御は、クラスタC1〜C4により、local_movまたはglobal_movオペレーションを発することによって実施することができる。こうしたオペレーションの引数(arguments)は、ソース・レジスタとターゲット・レジスタである。local_movオペレーションは、バス分割スイッチを開くことによって単にバスのセグメントを使用するだけであるが、global_movは、バス分割スイッチ200を閉じることによってバス100の全体を使用する。
代替的に、マルチキャストを可能にするために、データを移動するオペレーションは、異なるクラスタC1〜C4に属する複数のターゲット・レジスタ、すなわちターゲット・レジスタのリストを受け取ってもよい。これもまた、1ビット・ベクトル中のレジスタ/クラスタ・マスクにより実施することができる。
図7に、本発明の第3実施形態によるセグメント化バスを介するクラスタ間通信ICC方式を示す。図7は、6個のクラスタC1〜C6と、3つのセグメント100a、100b、100cを備えたバス100と、2つのスイッチ200a、200bとを示す。すなわち、2つのクラスタが各バス・セグメントに関連付けられる。明らかに、クラスタ、スイッチ、バス・セグメントの数はこの例から変わってもよい。クラスタC1〜C6、クラスタとバス100のインタフェース、ならびにスイッチ200は、図6を参照しながら第2実施形態で説明したのと同様に実施することができる。第3実施形態では、スイッチがデフォルトで閉じているとみなされる。
クラスタC1〜C6により、送信オペレーションまたは受信オペレーションによってバス・アクセスを実施することができる。クラスタがデータを送信する必要がある場合、すなわちバスを介して他のクラスタへのデータ移動を実施する必要がある場合、上記クラスタは送信オペレーションを実施し、上記送信オペレーションは2つの引数、すなわちソース・レジスタと、送信方向すなわちデータを送信すべき方向とを有する。送信方向は「left」または「right」でよく、マルチキャストを実現するために、「all」、すなわち「left」および「right」でもよい。
例えば、クラスタ3 C3がデータをクラスタ1 C1に移動する必要がある場合、クラスタ3 C3は、ソース・レジスタ、すなわち移動すべきデータが格納されているクラスタ3 C3のレジスタの1つと、データを移動すべき方向を示す送信方向とを引数として送信オペレーションを発する。ここでは送信方向は左である。したがって、クラスタ5および6 C5、C6を備えたバス・セグメント200bはこのデータ移動について不要であるので、クラスタ4 C4とクラスタ5 C5との間のスイッチ200bが開く。あるいは、他のより一般的な言葉では、クラスタが送信オペレーションを発したとき、送信方向の反対側の最も近くに配置されるスイッチが開き、それによってバスの使用が、データ移動を実施するのに実際に必要なセグメント、すなわち送信側クラスタと受信側クラスタの間のセグメントだけに限定される。
クラスタ3 C3が同一のデータをクラスタ1および6 C1、C6に送信する必要がある場合、すなわちマルチキャストをする必要がある場合、送信方向は「all」となる。したがって、クラスタ3とクラスタ1の間のすべてのスイッチ200a、ならびにクラスタ3および6の間のすべてのスイッチ200bが閉じたままとなる。
別の例によれば、クラスタ3 C3がクラスタ1 C1からデータを受信する必要がある場合、クラスタ3 C3は、宛先レジスタ、すなわち受信したデータを格納すべきクラスタ3 C3のレジスタの1つと、データを受信すべき方向を示す受信方向とを引数として受信オペレーションを発する。ここでは受信方向は左である。したがってクラスタ5および6 C5、C6を有するバス・セグメント100cはこのデータ移動について不要であるので、クラスタ4とクラスタ5 C4、C5の間のスイッチ200bが開く。あるいは、他のより一般的な言葉では、クラスタが受信オペレーションを発したとき、受信方向の反対側の最も近くに配置されるスイッチが開き、それによってバスの使用が、データ移動を実施するのに実際に必要なセグメント、すなわち送信側クラスタと受信側クラスタの間のセグメントだけに限定される。
マルチキャストを実現するために、受信方向は未指定でもよい。したがって、すべてのスイッチが閉じられたままとなる。
第3実施形態に基づく第4実施形態によれば、スイッチはデフォルト状態を有さない。さらに、スイッチ200をプログラミングするためにスイッチ構成ワードが提供される。上記スイッチ構成ワードは、どのスイッチ200が開き、どのスイッチ200が閉じるかを決定する。スイッチ構成ワードは、送信/受信オペレーションのような通常のオペレーションの場合のように、各サイクルで発することができる。したがって、第3実施形態による前述の送信/受信方向を引数とする送信/受信オペレーションによるバス・アクセスとは対照的に、バス・アクセスが、送信/受信オペレーションおよびスイッチ構成ワードによって実施される。
Claims (11)
- 少なくとも1つのレジスタ・ファイルおよび少なくとも1つの機能単位をそれぞれ含む複数のクラスタと、
前記クラスタを接続するバス手段であって、複数のバス・セグメントを含むバス手段と、
隣接するバス・セグメント間に配置され、隣接するバス・セグメントを接続または切断するスイッチング手段とを備えたクラスタ化命令レベル並列処理プロセッサ。 - 前記クラスタの各々が少なくとも1つの前記バス・セグメントに結合される請求項1に記載のプロセッサ。
- 2つ以上のクラスタが同じバス・セグメントに結合される請求項1または請求項2に記載のプロセッサ。
- 前記バス手段が、少なくとも2つのバスを含むマルチバスである請求項1から請求項3のいずれかに記載のプロセッサ。
- クラスタ化命令レベル並列処理プロセッサ内のバスにアクセスする方法において、前記バスは、前記バスに沿った少なくとも1つのスイッチング手段を備え、
当該方法は、
ソース・レジスタおよび転送ワードに基づく送信オペレーションを実施するステップ、および/または、
指定ソース・レジスタおよび転送ワードに基づく受信オペレーションを実施するステップと、
前記転送ワードに従って前記スイッチング手段を開く/閉じるステップとを含む方法。 - 前記転送ワードは、前記送信オペレーションについての送信方向と前記受信オペレーションについての受信方向を表す請求項5に記載の方法。
- 前記スイッチング手段のデフォルト状態は閉じた状態である請求項6に記載の方法。
- 前記送信方向または前記受信方向と反対の方向に前記送信オペレーションまたは前記受信オペレーションを実施するクラスタに最も近い前記スイッチング手段のうちの1つが開かれる請求項7に記載の方法。
- 前記送信方向または前記受信方向が、左(left)、右(right)、または全て(all)である請求項6に記載の方法。
- 前記送信方向または受信方向が全て(all)である場合、スイッチング手段は開かれない請求項9に記載の方法。
- 前記転送ワードはスイッチ構成ワードを表し、前記スイッチング手段は、前記構成ワードに従って開かれる/閉じられる請求項5に記載の方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP02080588 | 2002-12-30 | ||
PCT/IB2003/005584 WO2004059467A2 (en) | 2002-12-30 | 2003-11-28 | A method for accessing a bus in a clustered instruction level parallelism processor |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006512655A true JP2006512655A (ja) | 2006-04-13 |
Family
ID=32668861
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004563420A Withdrawn JP2006512655A (ja) | 2002-12-30 | 2003-11-28 | クラスタ化ilpプロセッサおよびクラスタ化ilpプロセッサにおけるバスにアクセスする方法 |
Country Status (8)
Country | Link |
---|---|
US (1) | US20060095710A1 (ja) |
EP (1) | EP1581862A2 (ja) |
JP (1) | JP2006512655A (ja) |
KR (1) | KR20050089084A (ja) |
CN (1) | CN1732436A (ja) |
AU (1) | AU2003283672A1 (ja) |
TW (1) | TW200506722A (ja) |
WO (1) | WO2004059467A2 (ja) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7475176B2 (en) * | 2006-01-31 | 2009-01-06 | Broadcom Corporation | High bandwidth split bus |
US7751329B2 (en) * | 2007-10-03 | 2010-07-06 | Avaya Inc. | Providing an abstraction layer in a cluster switch that includes plural switches |
US9781062B2 (en) * | 2014-01-08 | 2017-10-03 | Oracle International Corporation | Using annotations to extract parameters from messages |
US9672043B2 (en) | 2014-05-12 | 2017-06-06 | International Business Machines Corporation | Processing of multiple instruction streams in a parallel slice processor |
US9720696B2 (en) | 2014-09-30 | 2017-08-01 | International Business Machines Corporation | Independent mapping of threads |
US9977678B2 (en) | 2015-01-12 | 2018-05-22 | International Business Machines Corporation | Reconfigurable parallel execution and load-store slice processor |
US10133581B2 (en) | 2015-01-13 | 2018-11-20 | International Business Machines Corporation | Linkable issue queue parallel execution slice for a processor |
US10133576B2 (en) | 2015-01-13 | 2018-11-20 | International Business Machines Corporation | Parallel slice processor having a recirculating load-store queue for fast deallocation of issue queue entries |
EP3144820A1 (en) | 2015-09-18 | 2017-03-22 | Stichting IMEC Nederland | Inter-cluster data communication network for a dynamic shared communication platform |
US9983875B2 (en) | 2016-03-04 | 2018-05-29 | International Business Machines Corporation | Operation of a multi-slice processor preventing early dependent instruction wakeup |
US10037211B2 (en) | 2016-03-22 | 2018-07-31 | International Business Machines Corporation | Operation of a multi-slice processor with an expanded merge fetching queue |
US10346174B2 (en) | 2016-03-24 | 2019-07-09 | International Business Machines Corporation | Operation of a multi-slice processor with dynamic canceling of partial loads |
US10761854B2 (en) | 2016-04-19 | 2020-09-01 | International Business Machines Corporation | Preventing hazard flushes in an instruction sequencing unit of a multi-slice processor |
US10037229B2 (en) | 2016-05-11 | 2018-07-31 | International Business Machines Corporation | Operation of a multi-slice processor implementing a load/store unit maintaining rejected instructions |
US9934033B2 (en) | 2016-06-13 | 2018-04-03 | International Business Machines Corporation | Operation of a multi-slice processor implementing simultaneous two-target loads and stores |
US10042647B2 (en) | 2016-06-27 | 2018-08-07 | International Business Machines Corporation | Managing a divided load reorder queue |
US10318419B2 (en) | 2016-08-08 | 2019-06-11 | International Business Machines Corporation | Flush avoidance in a load store unit |
CN111061510B (zh) * | 2019-12-12 | 2021-01-05 | 湖南毂梁微电子有限公司 | 一种可扩展的asip结构平台及指令处理方法 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0494056A3 (en) * | 1990-12-31 | 1994-08-10 | Ibm | Dynamically partitionable and allocable bus structure |
US5862359A (en) * | 1995-12-04 | 1999-01-19 | Kabushiki Kaisha Toshiba | Data transfer bus including divisional buses connectable by bus switch circuit |
US5887138A (en) * | 1996-07-01 | 1999-03-23 | Sun Microsystems, Inc. | Multiprocessing computer system employing local and global address spaces and COMA and NUMA access modes |
US6219776B1 (en) * | 1998-03-10 | 2001-04-17 | Billions Of Operations Per Second | Merged array controller and processing element |
WO2000028430A1 (fr) * | 1998-11-10 | 2000-05-18 | Fujitsu Limited | Systeme de processeur parallele |
US6334177B1 (en) * | 1998-12-18 | 2001-12-25 | International Business Machines Corporation | Method and system for supporting software partitions and dynamic reconfiguration within a non-uniform memory access system |
US6662260B1 (en) * | 2000-03-28 | 2003-12-09 | Analog Devices, Inc. | Electronic circuits with dynamic bus partitioning |
US6978459B1 (en) * | 2001-04-13 | 2005-12-20 | The United States Of America As Represented By The Secretary Of The Navy | System and method for processing overlapping tasks in a programmable network processor environment |
US6957318B2 (en) * | 2001-08-17 | 2005-10-18 | Sun Microsystems, Inc. | Method and apparatus for controlling a massively parallel processing environment |
-
2003
- 2003-11-28 EP EP03775653A patent/EP1581862A2/en active Pending
- 2003-11-28 JP JP2004563420A patent/JP2006512655A/ja not_active Withdrawn
- 2003-11-28 CN CNA2003801079415A patent/CN1732436A/zh active Pending
- 2003-11-28 KR KR1020057012338A patent/KR20050089084A/ko not_active Application Discontinuation
- 2003-11-28 WO PCT/IB2003/005584 patent/WO2004059467A2/en active Application Filing
- 2003-11-28 AU AU2003283672A patent/AU2003283672A1/en not_active Abandoned
- 2003-11-28 US US10/540,409 patent/US20060095710A1/en not_active Abandoned
- 2003-12-26 TW TW092137144A patent/TW200506722A/zh unknown
Also Published As
Publication number | Publication date |
---|---|
CN1732436A (zh) | 2006-02-08 |
KR20050089084A (ko) | 2005-09-07 |
WO2004059467A2 (en) | 2004-07-15 |
TW200506722A (en) | 2005-02-16 |
AU2003283672A8 (en) | 2004-07-22 |
EP1581862A2 (en) | 2005-10-05 |
US20060095710A1 (en) | 2006-05-04 |
WO2004059467A3 (en) | 2004-12-29 |
AU2003283672A1 (en) | 2004-07-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2006512655A (ja) | クラスタ化ilpプロセッサおよびクラスタ化ilpプロセッサにおけるバスにアクセスする方法 | |
US10282338B1 (en) | Configuring routing in mesh networks | |
US8737392B1 (en) | Configuring routing in mesh networks | |
US8151088B1 (en) | Configuring routing in mesh networks | |
KR100986006B1 (ko) | 마이크로프로세서 서브시스템 | |
Borkar et al. | Supporting systolic and memory communication in iWarp | |
CN105247817A (zh) | 用于源同步电路交换片上网络(NoC)的方法、装置和系统 | |
EP0271492A1 (en) | A data processing device | |
WO2005045692A9 (en) | Data processing device and method | |
WO2005045692A2 (en) | Data processing device and method | |
Sivaram et al. | HIPIQS: A high-performance switch architecture using input queuing | |
US7978693B2 (en) | Integrated circuit and method for packet switching control | |
US20110268137A1 (en) | Communication within an integrated circuit including an array of interconnected programmable logic elements | |
US7702717B2 (en) | Method and apparatus for controlling management agents in a computer system on a packet-switched input/output network | |
US6567909B2 (en) | Parallel processor system | |
Qian et al. | Fsnoc: A flit-level speedup scheme for network on-chips using self-reconfigurable bidirectional channels | |
CN110096475B (zh) | 一种基于混合互连架构的众核处理器 | |
JP2006512659A (ja) | クラスタ化されたilpプロセッサ | |
CN100373329C (zh) | 带有集群式ilp处理器的数据处理系统 | |
CN210038775U (zh) | 片上系统 | |
Yu et al. | A low-area interconnect architecture for chip multiprocessors | |
Shermi et al. | A novel architecture of bidirectional NoC router using flexible buffer | |
JPH09138783A (ja) | マルチプロセッサシステム | |
SHERMI et al. | A Novel Architecture of Bidirectional NoC Router with Flexible Buffer | |
Campobello et al. | Hardware for multiconnected networks: the design flow |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20061127 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20070510 |
|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20071217 |