JP2000506645A - マルチプロセッサ中央処理ユニット - Google Patents
マルチプロセッサ中央処理ユニットInfo
- Publication number
- JP2000506645A JP2000506645A JP9529699A JP52969997A JP2000506645A JP 2000506645 A JP2000506645 A JP 2000506645A JP 9529699 A JP9529699 A JP 9529699A JP 52969997 A JP52969997 A JP 52969997A JP 2000506645 A JP2000506645 A JP 2000506645A
- Authority
- JP
- Japan
- Prior art keywords
- central processing
- processing unit
- memory
- coupler
- address
- 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.)
- Pending
Links
- 238000012545 processing Methods 0.000 title claims abstract description 118
- 230000015654 memory Effects 0.000 claims abstract description 160
- 238000000034 method Methods 0.000 claims description 19
- 239000000872 buffer Substances 0.000 claims description 8
- 238000012546 transfer Methods 0.000 claims description 7
- 238000009940 knitting Methods 0.000 claims 1
- 230000009977 dual effect Effects 0.000 description 8
- 230000008569 process Effects 0.000 description 6
- 238000011084 recovery Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 241000238557 Decapoda Species 0.000 description 1
- 101000854862 Homo sapiens Vacuolar protein sorting-associated protein 35 Proteins 0.000 description 1
- 102100020822 Vacuolar protein sorting-associated protein 35 Human genes 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 230000001427 coherent effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 239000006185 dispersion Substances 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000003292 glue Substances 0.000 description 1
- 230000001771 impaired effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000004886 process control Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004576 sand Substances 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
- G06F15/17337—Direct connection machines, e.g. completely connected computers, point to point communication networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/0284—Multiple user address space allocation, e.g. using different base addresses
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0813—Multiuser, multiprocessor or multiprocessing cache systems with a network or matrix configuration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0607—Interleaved addressing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0815—Cache consistency protocols
- G06F12/0817—Cache consistency protocols using directory methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Multi Processors (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
(57)【要約】
それぞれ1のプロセッサ、それぞれ1つのメモリ及びそれぞれ1つのカプラの2つ又はそれより多くのグループを有する中央処理ユニットにおいて、プロセッサ及びメモリは厳密に1つのカプラに接続されており、さらにカプラは相互に接続されており、アドレス空間に亘って均等に分散されたメモリ領域は各々のグループにアドレスインターリービングによってバラバラに割り当てられており、各カプラ自体はそのグループに割り当てられるメモリ領域にアクセスを実施し、さらに関連するカプラへのコネクションを介して他のアクセスを実施する。中央処理ユニットは多重システムを構成するためのインターフェースを有する。
Description
【発明の詳細な説明】
マルチプロセッサ中央処理ユニット
技術分野
この方法はモジュラーマルチプロセッサシステムに関する。
従来技術
高性能コンピュータシステムはしばしばマルチプロセッサシステムとして構成
される。ちようどブッキングシステム及びリザベーションシステム(reservatio
n system)のようなトランザクションシステムに対して、均一のレスポンスタイ
ム特性を達成するためには多数のプロセッサが利用される。有利にはこの場合共
有バックプレーンを介して相互に接続されるモジュールが使用される。以後中央
処理ユニットと呼ばれる各モジュールは1つ又は複数のプロセッサを含み、これ
らのプロセッサはバスシステムを介してバックプレーンに結合されている。
これらプロセッサにとってアクセス可能なメモリは一方では独立したメモリモ
ジュールとしてバックプレーンに接続される。しかし、これによってバスシステ
ムの帯域幅がシステム全体の性能を限定してしまう。
よって、メモリを中央処理ユニットに分散し、これ
により各中央処理ユニットにメモリを配置し、これらのメモリに直接プロセッサ
から到達でき、さらにこれらのメモリに他のプロセッサからもバスシステムを介
して到達できるようにすることが提案された。各メモリはアドレス変換によって
全プロセッサの共有アドレス空間にマップされる。ローカルメモリに存在するプ
ログラム又はデータにもとりわけ迅速に効率的にアクセスができる。従って、こ
のメモリは単一の連続ブロックとしてアドレス空間に組み込まれる。
それにもかかわらず、バスシステムは多数のプロセッサを有する非常に高性能
なコンピュータにおいてボトルネックのままである。ローカルメモリの外部での
各アクセスはバスシステムを介して処理される。静的に構成可能なプロセスコン
トロールシステム又はトランザクションシステム以外では、ローカルメモリへの
メモリアクセスの大部分を行うことはめったに実現できない。例えば4つのプロ
セッサのコンピュータにおいてローカルメモリへのアクセスの半分を行う場合で
さえも、バスシステムの帯域幅は1つのプロセッサの帯域幅の2倍である必要が
ある。従って、バスシステムの帯域幅を大きくしない場合には、8個又は16個
のプロセッサに移行してもこれに比例した性能の向上は全く望めない。
さらに、高速なバスシステムは任意に長くはできないので問題が生じる。現在
使用されている周波数及び
技術では、信号遅延時間及び信号インピーダンスのせいでバスの長さはほぼ30
cmに制限されている。従って、中央処理ユニットの幅は実質的には3cmより
小さくはできないので、これによって中央処理ユニットは最大10個のモジュー
ル、すなわち10個のプロセッサを有することができる。
しかし、高性能トランザクション処理システムにはさらに多数のプロセッサが
必要とされる。モジュールの数を制限することは、各中央処理ユニット・モジュ
ールが共有メモリ及び多数のプロセッサを有することに一致する。しかし、各中
央処理ユニットはバックプレーンのバスを介して他の中央処理ユニットのメモリ
に接続されるので、バスが性能を制限する構成要素となってしまうほどにこのバ
スシステムに対する負荷も増大してしまう。
バスシステムによって結合されるマルチコンピュータシステムの代替案はIEEE
“Standard for scalable Coherent Interface”(SCI),IEEE STD 1596−1992(IS
BN 1‐55937‐222‐2)に従って接続されるプロセッサを有するマルチコンピュ
ータシステムである。これは1つのプロセッサから次のプロセッサまでのポイン
トツーポイントコネクシヨンに関連する。各プロセッサがそれぞれ他のプロセッ
サのメモリにアクセスできるように、SCIは伝送プロトコルを定義する。この
伝送プロトコルでは、各プロセッサは自分宛と指定され
ていないパケットを自分の隣のプロセッサに転送する。このため、SCI文書の
1.3.4章に記載されているように各プロセッサが少なくとも1つのデータパケ
ットをバッファできるリング構造が必要とされる。これによって、なるほど任意
の数のプロセッサが使用できるのだが、これらプロセッサの性能を損なうような
遅延が発生する。またこの場合、たとえバスシステムと比べて大きい帯域幅が得
られるにしても、帯域幅制限が生じる。従って、なかんずく1.3.5章では2次
元格子構造を構築することが提案されている。この2次元格子構造では各プロセ
ッサは同一のライン又はカラムにある他のプロセッサにしか到達できない。他の
コネクシヨンは1.4.6章で「エージェンツ(agents)」と呼ばれている中継装
置を介して処理される。しかし、このSCIプロトコルはかなり高いコストを必
要とする。
それゆえ、本発明の課題は、上述の不利な点を回避するようなマルチコンピュ
ータシステムのための中央処理ユニットを提供することである。
本発明の記述
本発明はダイレクトコネクションをバスシステムに組み合わせ、これによりバ
スシステムの数を増大化し、結果的に相応に増大化された帯域幅の単一バスシス
テムと同様の効果を得ることができる。
有利な解決法は、それぞれ2つのプロセッサ及び2つの別個のメモリを有する
モジュールを使用することである。各プロセッサは、2つのうちの1つのメモリ
が直接接続されているカプラを介してメインメモリにアクセスする。各カプラは
モジュール上の他のカプラに直接接続され、さらにバスシステムへのポートも有
している。この結果、直接接続されるメモリによっても直接接続されるカプラに
つながるメモリによっても実施されないメモリアクセスがバスシステムを介して
実施される。従って、この解決法は、2つのバスシステムを使用することによっ
て、簡単なやり方でモジュール相互間のコネクションの帯域幅を2倍化すること
ができる。
本発明の改善実施形態では、各カプラは他のカプラへのダイレクトコネクショ
ンを有し、このダイレクトコネクションはモジュールの付加的なポートに接続さ
れる。これにより、それぞれ2つのモジュールが接続されて1つの中央処理ユニ
ットスライスになり、この中央処理ユニットスライスでは4つのカプラがリング
状に接続される。この場合、対角線上に対向配置されるカプラへの間接コネクシ
ヨンも許すカプラ間のダイレクトコネクションが選択される。
この結果、バスシステムを必要とするメモリアクセスは、必要とされるメモリ
に直接接続されるカプラに接続されるバスシステムのみを利用する。他のデータ
パスは各中央処理ユニット上に存在するコネクションを介して処理される。同時
にバスシステムの使用によって、フレキシブルな拡張及び周辺装置の接続が周知
のやり方で可能である。
この場合、とりわけ有利な解決法がアドレスインターリービングにより可能で
ある。この目的のために、アドレスの下位ビットがメモリアクセスを行うカプラ
を決定する。従って、中央処理ユニットごとに2つのプロセッサが設けられバッ
ファメモリ(キャッシュ)のブロックサイズが32バイトである場合には、第6
番目(又は第7番目又は第8番目等々)のビットがカプラの選択に使用される。
この改善実施形態は、2のべき乗個のカプラを前提とする。バスシステムにおけ
るアドレス解決(address resolution)は、周知のやり方で、アドレスをバス上
に置き、このアドレスに割り当てられているメモリを有するカプラがバスサイク
ルを完了することによって達成される。よって、この関連するメモリを有する中
央処理ユニットをアドレス指定することは必要ない。従って、バスシステムで通
常行われるような他の中央処理ユニットを付加する際のバスシステムによるアド
レス指定の変更が必要ない。というのも、カプラへの分散は同じままだからであ
る。
一見すると、この解決法はあまり有利には見えない。というのも、プロセッサ
で実行される小さいサイズ
のプログラムでさえこのプロセッサのカプラに直接接続されたメモリだけでなく
他の1つ又は複数のカプラに接続されたメモリも利用するからである。しかし、
バッファメモリ(キャッシュ)が存在しかつカプラ間の接続がポイントツーポイ
ントコネクションとしてとりわけ高速に構成されることにより、この不利な点は
この容易な拡張可能性によって相殺される。
従って、それぞれ1つのプロセッサ、1つのメモリ及び1つのカプラの2つ又
はそれ以上の多数のグループを有する中央処理ユニットがあり、プロセッサ及び
メモリが厳密に1つのカプラに接続され、カプラが相互に接続されており、アド
レスインターリービングによってアドレス空間に亘って均一に分散されたメモリ
領域が各グループにバラバラに割り当てられており、各カプラ自体はそのグルー
プに割り当てられたメモリ領域へのアクセスを実施し、他のアクセスは関連する
カプラへのコネクシヨンを介して実施する。中央処理ユニットには多重システム
を構築するためのインターフェースが設けられている。
図面の簡単な説明
図1は、2つのプロセッサ、2つのメモリ及び2つのカプラ、2つのダイレク
トコネクション及び2つのバスポートを有する本発明の有利な実施形態の中央処
理ユニットを示している。
図2は、比較的大きなマルチプロセッサシステムの部分として使用される、4
つのバスシステムを有する仮想的な4プロセッサ中央処理ユニットを2つの中央
処理ユニットを組み合わせて作ることを示している。
図3は、2つのバスシステムによって接続される8重マルチプロセッサシステ
ムを4つのデュアルプロセッサ中央処理ユニットを組み合わせて作ることを示し
ている。
図4は、8つのバスシステムによって他の8重プロセッサスライスに接続でき
る、8重プロセッサスライスを4つのデュアルプロセッサ中央処理ユニットを組
み合わせて作ることを示している。
本発明の詳細な説明
図1には、2つのプロセッサ11、21、2つのメモリ12、22及び2つの
カプラ13、23を有する中央処理ユニット10が概略的に図示されている。上
位グループはプロセッサ11、メモリ12及びカプラ13から構成され、下位グ
ループは他のプロセッサ21、メモリ22及びカプラ23から構成される。2つ
のプロセッサは同一のアドレス空間を使用し、それぞれ他方のプロセッサのメモ
リを利用することもできる。この目的のために、プロセッサはアクセス要求をこ
のプロセッサに接続されたカプラに伝達する。このカプラは直接接続されたメモ
リを使用するか又はコネク
ション18を介してアクセス要求を他方のカプラに転送する。この結果、このア
クセス要求がこの他方のカプラに接続されたメモリよって実現される。
ポイントツーポイントコネクションによりカプラ相互間を接続するために様々
な技術が使用され得る。前述のIEEE STD 1596−1992によるSCI接続は1つの
手段である。しかし、通常は単一方向又は双方向で動作されるデータ及びアドレ
ス線路を介したより簡単な接続ならびに一般的に周知のストローブ信号及び確認
(acknowledgement)信号で充分である。間接的到達可能性が必要とされる場合
には、信号がどのカプラに指定されているかを示す1つ又は2つの付加的なアド
レス線路が使用される。この場合、信号は記憶されずに、可能なかぎり次のカプ
ラに通じるコネクションに直接転送される。このような回路の構成は当業者には
一般的になじみのあるものであり、以後周知のものとみなして説明を続ける。
この場合、アドレス空間のどの領域が第1のカプラ13及びこの第1のカプラ
13に接続されるメモリ12に所属するのか、及びアドレス空間のどの領域が第
2のカプラ23及びメモリ22に所属するのかが指定されなくてはならない。通
常はプロセッサのアドレス空間全体の中から連続したメモリ領域がそれぞれメモ
リ12及びメモリ22に割り当てられ、アドレスコンパレータにより決定される
。この場合、(図1には図
示されていないが)中央処理ユニットが共有バスシステムに対するインターフェ
ースを有し、さらに、ローカルメモリが該当するのか又はバスに、即ち他の中央
処理ユニットのメモリ領域にアクセスしなければならないのかを決定するメモリ
管理部が付け加えられることによって、デュアルプロセッサ中央処理ユニットを
組み合わせてマルチプロセッサシステムを形成することができる。呼び出される
メモリ領域が直接接続されたメモリにも他のカップリングユニットに接続された
メモリにも存在しないならば、メモリアクセスはバスを介して処理される。とり
わけ中央処理ユニットの2つのメモリ領域が相互にきっちりとフィットし合って
おり各中央処理ユニットのメモリが同じサイズである場合には、どのコネクショ
ンを介してカプラがアクセスを実施するのかを決定するために簡単なテーブルア
クセスが使用される。
しかし、本発明の有利な実施形態では、メモリの別の分割法が使用される。こ
の場合、アドレス領域がインターリーブされ、物理メモリが小さい単位に分けら
れてアドレス空間に亘って分散される。1つ又は複数のプロセッサが、等しいア
クセス権限で、すなわち全てのプロセッサが等しい有効性によってアクセスする
ことができるメモリモジュールにアクセスする場合、このアドレス指定はインタ
ーリービングとして周知である。勿論このようなメモリモジュールはアクセスの
後でリカバリタイムを必要とする。これは例えば’’Digital Systems:Har
dwareOrganization and Design’’,F.J.HillandG.R.Peterson,New York
1973という本の第14.3章にキーワード「インターリービング」の下に記述されて
いる。例えば偶数番号アドレスを1つのメモリバンクに、奇数番号アドレスを第
2のメモリバンクに配置することによって、2つの連続するメモリアクセスがあ
る場合には第1のメモリのリカバリタイムの間に既に第2のメモリへのアクセス
が行われる。よって、インターリービングはこれまで2つ又はそれ以上の多数の
メモリバンクのリカバリタイムを補償するために利用されれきた。
インターリービングに類似する本発明で使用される技術は、以下においてアド
レスインターリービングと呼ばれる。この場合、アドレス空間は多数の同じ大き
さのブロックに分割される。以下の説明ではこのブロックをラインと呼ぶことに
する。各ラインはプロセッサ乃至はメモリ及びカプラの間で伝送されるデータ量
と少なくとも同じ大きさでなくてはならない。とりわけバッファメモリ(キャッ
シュ)を使用する場合には、この情報単位を「キャッシュ‐ライン」と呼ぶ。大
抵の場合、1つのラインは使用されるプロセッサのワード幅の数倍である。しか
し、多分実際に常にバッファメモリを使用する場合にはプロセッサの命令のワー
ド幅は重要ではない。従って、より理解しやすくする
ために、以下ではプロセッサ乃至はメモリ及びカプラの間で分割されずに伝送さ
れるデータ量をメモリワードと呼ぶことにする。よって、アドレスインターリー
ビングは1メモリワード又はこの1メモリワードの数倍に基づいて行われる。い
ずれにせよ、2重インターリービングの場合には、メモリバンクを決定するため
にはバイナリアドレスの1ビットがあれば充分である。通常は2のべき乗個のメ
モリバンクが使用され、この結果メモリバンクは1ビットフィールドの抽出によ
って決定される。測定によって最終アドレスビットによるインターリービングの
方が有利なのか、又はより大きい単位でのインターリビングの方が有利なのかが
求められる。例えば1メモリワードの16倍でのインターリビングはアドレス線
路をリワイヤ(rewire)することによって問題なく達成される。よって、以下で
は簡単明瞭にするために、最下位ビット又は最下位ビッツ(bits)でのアドレス
インターリービングから出発しよう。勿論本発明はこれに限定されるわけではな
い。反対に、インターリービングは常にできるだけ大きい分散を利用する。すな
わち常に最下位アドレスビッツを利用する。
しかし、本発明ではアドレスインターリービングはメモリのリカバリタイムを
ブリッジするために[ ]ではない。むしろアドレスインターリービングは、各
メモリユニットにプロセッサが所属することに結びつい
て、簡単なやり方でかつ僅少な性能の損失でマルチプロセッサシステムを構築す
ることができる中央処理ユニットを提供するために使用される。この場合、中央
処理ユニット上にある2つのメモリを相互に隣接させるのではなくインターリー
ブすることは一見不利であるように見える。2つのメモリを相互に隣接させれば
、実質的にはプロセッサにとってローカルなメモリの領域に限定されるプロセス
がとりわけ効率的に実行される。しかし、メモリがインターリーブされる場合に
は、実際に各プロセスは非ローカルなメモリを2つのカプラのコネクションを介
して間接的に利用できるのである。今日重要なオペレーティングシステムに関す
る詳細な研究が示しているように、実際にはどんなプロセスも所定のメモリ領域
にほとんど限定できなくなっているので、互いにきっちりと隣接したメモリ領域
の上記の利点は全く実現できないのである。よって、メモリのインターリービン
グは実際には不利を意味しない。むしろ、オペレーティングソフトウェアが共通
メモリ領域をとりわけオペレーティングシステムのために利用する限り、メモリ
のインターリービングは有利であると見なされる。従来の装置では、これらの領
域をローカルメモリ内に持たないプロセッサは不利だとされた。すなわち、一方
のプロセッサでのプロセスの実行時間は他方のプロセッサでのプロセスの実行時
間よりも遅かった。このことが本発明によってシステ
ムの性能全体を損なうことなしに回避される。
これまで説明してきたデユアルプロセッサ中央処理ユニットは、簡単であると
同時に効率的な様々なやり方によって結合されマルチコンピュータシステムを形
成する。この目的のためにはカプラのポイントツーポイントコネクションのため
のダイレクトインターフェース14、24及びバスインターフェース15、25
を使用するのが適当である。
図1からわかるように、カプラ毎に1つのダイレクトコネクションインターフ
ェース14乃至は24が設けられている。これによって、図2に示されているよ
うに、2つの中央処理ユニットを結合して4つのプロセッサ及び4重インターリ
ービングを有する1つの中央処理ユニットが形成できる。第2の同型の中央処理
ユニットはカプラX3及びX4、プロセッサCPU3及びCPU4、そしてメモ
リMEM3及びMEM4を有する。カプラX1,X2,X3及びX4は相互にリ
ング状に接続されている。メモリは今や4重にインターリーブされる。これは、
簡単なやり方で、例えばこの中央処理ユニットのジャンパ(jumper)を用いるイ
ンストレーションの間にさらに別のアドレスビットを付加することによって行わ
れる。この結果、単一の形式の中央処理ユニットをデュアルプロセッサとしても
4重プロセッサとしても利用できる。2つのアドレスビットから各カプラは、直
接接続されたメモリへのア
クセスを行うべきか、隣接するカプラのメモリへのアクセスを行うべきか又は対
向配置されたカプラのメモリへのアクセスを行うべきかを求める。このためにコ
ンパレータは必要ない。というのも、カプラの番号を示すこれら2つのビットに
関するアドレスのうちの2ビットのみを相応のデータパスを制御するための4ビ
ットに変換しさえすればよいからである。これは、ゲート、マルチプレクサ及び
デコーダのような中程度の密度のインテグレーションによって簡単に達成できる
。とりわけ、もし必要とあれば、メモリが直接的には利用できない場合に同一の
中央処理ユニットのカプラをアドレス指定しなければならないのか、又はインタ
ーフェース14、24を介して別の中央処理ユニットのカプラをアドレス指定し
なければならないのかを決定するために、アドレスの1ビットを排他的論理和に
よって反転させて使用する。図4に図示されているように、この原理は、4つの
デュアルプロセッサ中央処理ユニットをそれぞれ2つのダイレクトインターフェ
ースにリング状に結合することによって、8重スライスを形成するためにも使用
される。このリング構造に起因する相対的な性能損失は、ダイレクトコネクショ
ンによってバスシステムよりも高速度が可能であり、このため8重スライスはバ
スシステムによって接続される8つの中央処理ユニットよりも相対的に良好な性
能を示すことによって相殺される。
このために必要とされるポイントツーポイントコネクションは当業者には周知
である。これに必要とされる接続線路は当該アドレスの関連する部分及びデータ
を伝達する。オープンコレクタを有する両端部で終端された線路を利用してもよ
い。バスシステムに存在するような中間地点接合(mid-point junctions)も調
停(arbitration)も必要ないので、このようなポイントツーポイントコネクシ
ョンは簡単な構造でありながらも高い動作速度を達成する。3つより多くのカプ
ラがリング状に接続されている場合には、1つのカプラが隣接するカプラを介し
て他のカプラに到達する手段が存在しなくてはならない。このためには、同様に
ポイントツーポイントコネクションとして構成されるグループアドレス線路及び
確認線路を設ける。カプラが、グループアドレス線路はこのカプラのグループ番
号を示していないような要求を受信する場合には、グループアドレスも他の全て
の線路も別のポイントツーポイントコネクションに接続される。確認信号も周知
のやり方で伝送される。というのも、アドレス指定されたカプラがポイントツー
ポイントコネクションを介して到着する要求をすぐには処理できないからである
。これはこのカプラ自身のプロセッサがまだ処理の済んでいないメモリ要求を行
っているからである。
バスインターフェース15、25を使用することにより、可変個の中央処理ユ
ニットから組み立てられる
マルチプロセッサシステムが形成される。図3には4つのデュアルプロセッサ中
央処理ユニットを有するこのような装置が図示されている。この装置では有利に
は、プロセッサのメモリアクセスが2つのカプラのコネクションを介して処理さ
れるのか、又はカプラがこのアクセスをローカルに実施するのか乃至はこのカプ
ラに接続されたバス15、25を介してこのアクセスを実施するのかを決定する
ために、プロセッサ又はキャッシュワード幅又はこのキャッシュワード幅の数倍
を基礎にして2重インターリービングが使用される。図3に示されているように
、それぞれ中央処理ユニットを相互に接続する2つのバスシステムが利用されて
いる。このようにバスによって接続されるカプラはそれぞれインターリービング
に関して同一のメモリクラスへのアクセスを惹起する。インターリービングに基
づいて直接的に(又はリング状に間接的に)接続されたカプラを介してアクセス
が行われていないことが確定した後で、カプラは、アドレスがローカルメモリに
導くのか、又はアドレスがバスシステムを介して要求するべきなのかを決定する
ための別の手段としてメモリマネージャを利用する。このために、メモリアドレ
スのための、又はさらに別の調整可能なアドレスインターリービングのためのコ
ンパレータが使用される。このために必要とされるこれらアドレスマネージャは
バスシステムを有するマルチプロセッサコンピュータ
の製造から周知である。
いずれにせよ、中央処理ユニット相互間のメモリ要求を処理するための多重バ
スシステムが存在する。この結果、バスシステムの制御のための大幅な付加的コ
ストを必要とすることなしに、これまでのマルチコンピュータシステムの重要な
ボトルネックを除去することができる。上の記述及び図2乃至は図4に示されて
いるように、有利な形式の2つ又は4つの中央処理ユニットを組み合わせて4重
スライス又は8重スライスを形成すると、マルチプロセッサシステムの中央処理
ユニット間のデータトラフィックを処理するために4つの乃至は8つのバスシス
テムが存在する。従って、例えばバスシステムが中央処理ユニットに対して10
個までのプラグイン位置を許す場合には、同一個数のデュアルプロセッサ中央処
理ユニットモジュールによって80の2倍の個数のプロセッサからなるコンピュ
ータシステムが構成される。この場合、計算能力はプロセッサの数とともにほぼ
線形に上昇し、単一バスシステムがボトルネックとなることもない。
図2及び4に図示された有利な実施形態のデュアルプロセッサ中央処理ユニッ
トによって、暗黙のうちに既に前提としていることだが、個々のバスシステムが
最小限の長さを有し相互に交差しないように中央処理ユニットを配置する手段が
得られる。このためには、20、40及び80個のプロセッサの最大コンフィギ
ュレーションレベル毎に異なる中央処理ユニットモジュール用レセプタクル(re
ceptacle)が必要とされるが、中央処理ユニットは同一のままである。
さらに図3の装置では、隣接する中央処理ユニットのダイレクトコネクション
がそれぞれ対となって接続されることによって、直線状の配置により接続用バッ
クプレーンを相応に構成するだけで8つまでの4重スライスの組み合わせが実現
される。この場合、一方では図3に図示されているように2つのバスシステムに
よって動作され、4重スライスのそれぞれ2つのカプラが同一のバスを利用する
。この接続タイプでは、プロセッサの数は4、8、12又は16個に制限される
だけである。この場合、バックプレーンは最初からこのタイプのプラグ及びコネ
クションを有する。中央処理ユニットのファームウェアコンフィギュレーション
は、他のモジュールにダイレクトコネクションが使用されるかどうかを決定する
。よって、顧客は最初は個々の中央処理ユニットによって、すなわちプロセッサ
に関しては2段階ずつ自分のシステムを拡張することができる。偶数個のプロセ
ッサが存在する場合には、これらはそれぞれ2つのプロセッサの4重スライスに
再構成される。
図5に概略的に図示されているように、中央処理ユニットの各バスポートを次
の次の中央処理ユニットに接続するバックプレーンの改善によって、4つのバス
システムが構成される。これによって、4重スライスによる最高性能が達成され
る。バスシステムは一方の端部でターミネーション51、52によって終端され
る。クランパ(clamper)53、54は閉状態で4つのバスセグメントを接続し
て2つのバスシステムを形成する。開状態では、バスシステムは(ここには図示
されていない)他のターミネーションに接続され、4つのバスシステムが形成さ
れる。従って、顧客側で簡単なやり方でバスシステムの数を増加することができ
、これによりシステムの性能はインストールされる中央処理ユニットの個数にほ
ぼ比例して上昇する。
このバックプレーンによって中央処理ユニットの簡単な変形実施形態が可能で
ある。この変形実施形態はこれまで記述してきたデュアルプロセッサ中央処理ユ
ニットを2つのモジュールに分割することによって得られる。これらのシングル
プロセッサ中央処理ユニットの各々は1つのプロセッサ、1つのメモリ、1つの
カプラ、そして1つのバスポート及び1つのダイレクトポートを有する。しかし
、接続バックプレーンとして使用されるのは図5の上側部分に示されている装置
であり、ジャンパの代わりに固定ターミネーションが設けられており、この結果
物理的に2つの別個のバスシステムとして使用される単一の列(single row)が
存在する。ダイレクトインターフェースは相互に対になって接続される。今や2
つのプロセッサそれぞれがダ
イレクトインターフェースによって接続されており、2つのバスシステムが存在
するので、周知のバスシステムの転送能力の2倍より大きな転送能力が達成され
る。カプラがダイレクトインターフェースを使用せず特別なバックプレーンによ
ってコンピュータを形成するようにカプラを構成することによって、同一のシン
グルプロセッサ中央処理ユニットが単一バスシステムを有する従来のバックプレ
ーンに対して使用される。この特別なバックプレーンによって形成されるコンピ
ュータは、それぞれ2つのシングルプロセッサ中央処理ユニットによって拡張で
き、それにもかかわらずバスシステムの最大帯域幅によってこれまでよりもはる
かに限定されない大きな帯域幅を達成する。
高性能コンピュータには通常は中央処理ユニットの良好な処理能力を得るため
にバッファメモリ(キャッシュ)を設けなければならない。これらキャッシュメ
モリも主にローカルデータアクセスのために使用されるので、アドレスインター
リービングはいよいよ有利である。とりわけ、これによって1キャッシュライン
当たりの粒度(granularity)が向上する。キャッシュメモリは各プロセッサに
所属し、(図示されていないが)概念的にはプロセッサ自体とカプラとの間に接
続されている。キャッシュ制御部はしばしばプロセッサチップ上に一緒に設けら
れるので、プロセッサはキャッシュメモリへのダイレクトコネクションを有し、
カプラに接続されるキャッシュもプロセッサによって使用される。
共有アドレス空間において全てのプロセッサが全てのメモリ内容を仮想的に同
時的に使用できるために、すなわち全てのプロセッサに対して均一メモリ(unif
orm memory)を実現するために利用される2つの方法があり、これら2つの方法
はキャッシュシステムに対して有利である。これらに関しては例えば論文“A Cl
ass of Compatible Cache Consistency Protocols and their Support by the I
EEE Futurebus”by P.Sweazey and A.J.Smith,Proc.13th Int.Symp.on Compute
r Archtecture,IEEE 1986.を参照のこと。
これらの方法のうちの1つは「スヌーピング(snooping)」と呼ばれる。この
方法では、少なくともキャッシュのステータスを変化させる全てのバスシステム
上でのオペレーションのアドレスを同時に全てのキャッシュユニットに転送し、
この結果これらのキャッシュユニットが新たなステータスを記録することができ
る。この方法は本発明の中央処理ユニットでも可能である。というのも、各カプ
ラはアドレスに基づいてアドレスがダイレクトコネクションを介して他のカプラ
に送信されるのか、又はバスシステムに供給されるのかを決定することができる
からである。この場合、本発明の変形実施形態も可能である。この変形実施形態
では2つのバスシステム15及び25が別個のアドレ
ス線路を有するが、共有データ線路を利用する。バスサイクルの大部分はキャッ
シュラインアップ(cacheline-up)のためのただのアドレスサイクルであるので
、2つのバスはデータ線路を共有することができる。さらにアドレスバスは主に
32ビット幅であるが、データバスは少なくとも64ビット幅、大抵は128又
は256ビット幅であるので、性能の著しい劣化をきたすことなしに極めて多数
のポートを節約できる。あるいは、アドレスインターリービングを有する本発明
のデュアル中央処理ユニットは、バックプレーンへの32個の追加ポートだけで
キャッシュラインアップの速度を2倍化することができる。
しかし、本発明で使用されるキャッシュラインアップのための有利な方法は「
タグド(tagged)」又は「ディレクトリベースド(directory based)」と呼ばれ
る。この方法では、各メモリ自体が付加的なインジケータを有する。プロセッサ
がメモリワードを変更するためにこのメモリワードを要求し受信すると、要求す
る側のキャッシュを参照することによってこのインジケータがセットされる。第
2のプロセッサが同一のメモリワード(キャッシュライン)にアクセスすると、
このアクセスは第1のプロセッサのキャッシュメモリへ転送されるか又は第1の
キャッシュメモリのキャッシュエントリが無効にされてメインメモリにバックト
ランスポートされるまで延期される。この延期はアク
セスの試みの打ち切り及び繰り返しによって実施される。また「ディレクトリベ
ースド」キャッシュコンシステンシ法でも大量のデータ伝送が処理できる。本発
明では簡単なやり方で複数のバスシステムに亘って均一にこのデータ伝送を分散
することができる。「ディレクトリベースド」キャッシュコンシステンシ法の使
用に対する参考文献としては、例えば論文“Torus with slotted rings archite
cture for a cache-coherent multiprocessor”,Proc.1994 Int.Conf.on Para
llel and Distributed Systems,pp76-81,IEEE Comp.Soc.Press 1994.を参照の
こと。
2つのプロセッサ、2つのメモリ、2つのカプラ、2つのカプラインターフェ
ース及び2つのバスインターフェースを有するとりわけ有利な変形実施形態によ
れば、特に長いバスシステムを必要とすることなしに、又はプロセッサの性能が
単一バスシステムによって制限されることなしに、シングルタイプの中央処理ユ
ニットを使用して2〜80個のプロセッサを有するシステムを構築することがで
きる。
これまで記述してきた本発明の有利な実施形態は、2のべき乗による分割、す
なわちプロセッサスライス毎に2、4又は8個のプロセッサを使用する。しかし
、3つ(又はそれ以上)のプロセッサを使用することもできる。この場合2つの
変形実施形態が可能である。第1の変形実施形態は2つのカプラを有する実施形
態に相応し、ダイレクトインターフェース及びバスインターエースを有する第3
のカプラが設けられている。もう1つの変形実施形態は、中央カプラに対してダ
イレクトインターフェース及びバスインターフェースを断念する。全ての非ロー
カルメモリアクセスが隣接するカプラのうちの1つに転送される。
メモリバンクの総数が2のべき乗でない場合には、メモリバンクのサイズはイ
ンターリービングに対して相対的に大きく選択され、この結果比較的少ない個数
のブロックが作られる。この選択はプログラマブルリードオンリーメモリ(PR
OM)によって行われる。このプログラマブルリードオンリーメモリ(PROM
)のアドレス線路には上位アドレスビット(most significant adress bits)が
供給され、このプログラマブルリードオンリーメモリ(PROM)のデータバイ
トはインターリーブされるメモリバンクの番号を示す。3グループ及び5アドレ
スビットの場合、プログラマブルリードオンリーメモリの内容は32個の値0、
1、2、0、1、2等々から成る。すなわち、モジュロ3によるアドレスから成
る。16アドレス線路を有するプログラマブルリードオンリーメモリは必要とさ
れる速度で使用可能であり、この結果3重アドレスインターリビングによって各
グループは65536個のラインに分割される。このような中央処理ユニットの
うちの2つが相互に接続される場合、最下位ビットが
中央処理ユニットの選択に使用され、従って6グループによるアドレスインター
リービングが簡単なやり方で実現される。
【手続補正書】特許法第184条の8第1項
【提出日】1997年9月4日(1997.9.4)
【補正内容】
請求の範囲
1. それぞれ1つのプロセッサ(11、21)、1つのカプラ(13、23)
、1つのメモリ(12、22)及び1つのバスインターフェース(15、25)
の少なくとも2つのグループを有する中央処理ユニット(10)において、
前記プロセッサ(11、21)の命令は共有アドレス空間を使用し、該共有ア
ドレス空間に前記メモリ(12、22)は含まれており、
各カプラ(13、23)は、そのグループの前記プロセッサ(11、21)、
前記メモリ(12、22)及び前記バスインターフェース(15、25)ならび
に他のグループの少なくとも1つのカプラに直接接続され、さらに各々他のカプ
ラに少なくとも間接的に接続されており、
前記カプラは、直接接続されたプロセッサのメモリアクセスを、前記プロセッ
サから伝送されるアドレスに基づくアドレス割り当てを用いて、
* 直接接続された前記メモリ(12、22)に
よって実施し、
* そこでアクセス可能なメモリ(12、22)
にアクセスするためにこのメモリアクセスを他の
カプラ(13、23)に転送し、
* 又はこのメモリアクセスを前記バスインター
フェース(15、25)を介して実行する、中央処理ユニット(10)。
2. 少なくとも1つのカプラは直接的に他の2つのカプラに接続され、これら
複数のカプラはライン又はリングを形成し、1つのカプラは直接的には接続され
てはいないカプラを直接接続されたカプラを用いてアドレス指定し、さらに前記
1つのカプラは前記直接接続されたカプラと同様に前記直接的には接続されては
いないカプラがメモリアクセスを実施できるようにさせる、3つ又はそれより多
くのグループを有する請求項1記載の中央処理ユニット。
3. 中央処理ユニットは付加的に2つのダイレクトインターフェースを有し、
該2つのダイレクトインターフェースはそれぞれ1つのカプラに接続されており
、
さらに、2つの同一の中央処理ユニットのダイレクトインターフェースが対に
なって接続されているならば、少なくとも4つのグループ、リング状に接続され
るカプラ及び4つのバスインターフェースを有する仮想中央処理ユニットが成立
するように前記カプラが構成される、請求項1又は2記載の中央処理ユニット。
4. 1つのプロセッサ(11)、1つのカプラ(13)、1つのメモリ(12
)、1つのバスインターフェース(15)及び1つのダイレクトインターフェー
ス(14)を有する中央処理ユニット(10)におい
て、
前記プロセッサ(11)の命令はアドレス空間を使用し、該アドレス空間にメ
モリ(12、22)は含まれており、
前記カプラ(13)は前記プロセッサ(11)、前記メモリ(12)、前記バ
スインターフェース(14)及び前記ダイレクトインターフェース(14)に接
続されており、
該ダイレクトインターフェース(14)は第2の同型の中央処理ユニットの厳
密に1つのダイレクトインターフェースに接続可能であり、
前記カプラは、前記プロセッサによって伝送されるアドレスに基づくアドレス
割り当てによって、前記プロセッサのメモリアクセスを、
* メモリ(12、22)によって実施し、
* そこでアクセス可能なメモリにアクセスする
ためにこのメモリアクセスをダイレクトインター
フェース(14、24)を介して同型の中央処理
ユニットのカプラに転送し、
* 又はこのメモリアクセスをバスインターフェ
ース(15、25)を介して実行する、中央処理ユニット(10)。
5. アドレス割り当ては各メモリを連続するブロックとして共有アドレス空間
にマップする、請求項1〜4までのうちの1項記載の中央処理ユニット。
Claims (1)
- 【特許請求の範囲】 1. それぞれ1つのプロセッサ(11、21)、1つのカプラ(13、23) 、1つのメモリ(12、22)及び1つのバスインターフェース(15、25) の少なくとも2つのグループを有する中央処理ユニット(10)において、 各カプラ(13、23)は、そのグループの前記プロセッサ(11、21)、 前記メモリ(12、22)及び前記バスインターフェース(15、25)ならび に他のグループの少なくとも1つのカプラに直接接続され、さらに各々他のカプ ラに少なくとも間接的に接続されており、 前記プロセッサ(11、21)は共有アドレス空間を有し、前記カプラは、直 接接続されたプロセッサのメモリアクセスを、前記プロセッサから伝送されるア ドレスに基づくアドレス割り当てを用いて、 * 直接接続された前記メモリ(12、22)に よって実施し、 * そこでアクセス可能なメモリ(12、22) にアクセスするためにこのメモリアクセスを他の カプラ(13、23)に転送し、 * 又はこのメモリアクセスを前記バスインター フェース(15、25)を介して実行する、中央処理ユニット(10)。 2. 少なくとも1つのカプラは直接的に他の2つのカプラに接続され、これら 複数のカプラはライン又はリングを形成し、1つのカプラは直接的には接続され てはいないカプラを直接接続されたカプラを用いてアドレス指定し、さらに前記 1つのカプラは前記直接接続されたカプラと同様に前記直接的には接続されては いないカプラがメモリアクセスを実施できるようにさせる、3つ又はそれより多 くのグループを有する請求項1記載の中央処理ユニット。 3. 中央処理ユニットは付加的に2つのダイレクトインターフェースを有し、 該2つのダイレクトインターフェースはそれぞれ1つのカプラに接続されており 、 さらに、2つの同一の中央処理ユニットのダイレクトインターフェースが対に なって接続されているならば、少なくとも4つのグループ、リング状に接続され るカプラ及び4つのバスインターフェースを有する仮想中央処理ユニットが成立 するように前記カプラが構成される、請求項1又は2記載の中央処理ユニット。 4. 1つのプロセッサ(11)、1つのカプラ(13)、1つのメモリ(12 )、1つのバスインターフェース(15)及び1つのダイレクトインターフェー ス(14)を有する中央処理ユニット(10)において、 前記カプラ(13)は前記プロセッサ(11)、前 記メモリ(12)、前記バスインターフェース(14)及び前記ダイレクトイン ターフェース(14)に接続されており、 該ダイレクトインターフェース(14)は第2の同型の中央処理ユニットの厳 密に1つのダイレクトインターフェースに接続可能であり、 前記カプラは、前記プロセッサによって伝送されるアドレスに基づくアドレス 割り当てによって、前記プロセッサのメモリアクセスを、 * メモリ(12、22)によって実施し、 * そこでアクセス可能なメモリにアクセスする ためにこのメモリアクセスをダイレクトインター フェース(14、24)を介して同型の中央処理 ユニットのカプラに転送し、 * 又はこのメモリアクセスをバスインターフェ ース(15、25)を介して実行する、中央処理ユニット(10)。 5. アドレス割り当ては各メモリを連続するブロックとして共有アドレス空間 にマップする、請求項1〜4までのうちの1項記載の中央処理ユニット。 6. 各メモリがアドレス空間の相互に隣接しない少なくとも2つの部分に分散 されることによって、アドレス割り当てはアドレスインターリービングによって 行われる、請求項1〜4までのうちの1項記載の中央処理ユニット。 7. カプラに対するアドレス割り当てはアドレスインターリービングによって 行われ、こうしてアドレス指定されたカプラは、アドレスが直接接続されたメモ リに所属するのかどうかを決定し、さもなければバスシステムによって予め設定 されるアドレス解決を介してメモリアクセスを行う、請求項1〜5までのうちの 1項記載の中央処理ユニット。 8. アドレスインターリービングは2進数で表示されるアドレスのビットフィ ールドを抽出することによって行われる、請求項6又は7記載の中央処理ユニッ ト。 9. 割り当ては、該割り当てを有するメモリをアドレス指定する最上位アドレ スビット(most significant sddress bits)を介してアドレスインターリービ ングによって行われる、請求項8記載の中央処理ユニット。 10.それぞれ2つのバスシステムは別個のアドレス及び制御線路を使用するが 同時に共有データ線路を使用し、該共有データ線路は必要な場合にジャンパ及び アクセス制御部を介して各バスによって利用される、請求項1〜9までのうちの 1項記載の中央処理ユニット。 11.ダイレクトインターフェース(14)は動作可能ではないが、このために 設けられた箇所に構成要素を付け加えることによって動作可能に成り得る、請求 項1〜10までのうちの1項記載の中央処理ユニット。 12.異なる中央処理ユニットのダイレクトインターフェースは対になって相互 に接続される、請求項3〜11までのうちの1項記載の少なくとも2つの同一の 中央処理ユニットの装置。 13.少なくとも2つの別個のバスシステムは中央処理ユニットのバスインター フェースを接続する、請求項1〜12までのうちの1項記載の同一の中央処理ユ ニットの装置。 14.中央処理ユニットは列状に配置されており、中央処理ユニットのバスイン ターフェースはそれぞれ次の次の中央処理ユニットのバスインターフェースに接 続される、請求項13記載の同一の中央処理ユニットの装置。 15.ジャンパが設けられており、該ジャンパによって2つのバスシステムが単 一のバスシステムに結合される、請求項14記載の装置。 16.ジャンパはターミネーションの代わりにバスシステムの隣接する端部を接 続する、請求項15記載の装置。 17.中央処理ユニットの各インターフェースが1つのバスシステムに接続され 、どのバスシステムも同一の中央処理ユニットの2つのバスインターフェースを 接続しないほどの多数のバスシステムが使用される、 請求項13〜16までのうちの1項記載の装置。 18.請求項12〜17記載の装置において複数の中央処理ユニットを接続する ためのバックプレーン。 19.中央処理ユニットはバッファメモリ(キャッシュ)を有し、該バッファメ モリ(キャッシュ)のコンシステンシはスヌーピングによって達成され、この際 、各カプラは直接接続されたメモリに対して前記カプラによって実施されるメモ リアクセスを前記カプラに直接接続されたバスに報告し、さらに前記カプラの側 では前記バス上に現れるアドレスをアドレス割り当てに従って直接接続されたプ ロセッサに転送するか、又はダイレクトコネクションを介して他のカプラに転送 する、請求項1〜11までのうちの1項記載の中央処理ユニットのための動作方 法。 20.中央処理ユニットはバッファメモリ(キャッシュ)を有し、該バッファメ モリ(キャッシュ)のコンシステンシはデイレクトリによって達成される、請求 項1〜11記載の中央処理ユニットのための動作方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19606629.8 | 1996-02-22 | ||
DE19606629A DE19606629A1 (de) | 1996-02-22 | 1996-02-22 | Mehrprozessor-Zentraleinheit |
PCT/DE1997/000216 WO1997031318A1 (de) | 1996-02-22 | 1997-02-04 | Mehrprozessor-zentraleinheit |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2000506645A true JP2000506645A (ja) | 2000-05-30 |
Family
ID=7786124
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP9529699A Pending JP2000506645A (ja) | 1996-02-22 | 1997-02-04 | マルチプロセッサ中央処理ユニット |
Country Status (6)
Country | Link |
---|---|
US (1) | US6092136A (ja) |
EP (1) | EP0882267B1 (ja) |
JP (1) | JP2000506645A (ja) |
KR (1) | KR19990087119A (ja) |
DE (2) | DE19606629A1 (ja) |
WO (1) | WO1997031318A1 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008041027A (ja) * | 2006-08-10 | 2008-02-21 | Sony Computer Entertainment Inc | プロセッサノードシステムおよびプロセッサノードクラスタシステム |
JP2014016773A (ja) * | 2012-07-09 | 2014-01-30 | Elamina Co Ltd | レジスタレスアーキテクチャによるキャッシュレスマルチプロセッサ |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8027194B2 (en) | 1988-06-13 | 2011-09-27 | Samsung Electronics Co., Ltd. | Memory system and method of accessing a semiconductor memory device |
CA2241909A1 (en) * | 1997-07-10 | 1999-01-10 | Howard Thomas Olnowich | Cache coherent network, network adapter and message protocol for scalable shared memory processing systems |
US6826619B1 (en) | 2000-08-21 | 2004-11-30 | Intel Corporation | Method and apparatus for preventing starvation in a multi-node architecture |
US6487643B1 (en) | 2000-09-29 | 2002-11-26 | Intel Corporation | Method and apparatus for preventing starvation in a multi-node architecture |
US6772298B2 (en) | 2000-12-20 | 2004-08-03 | Intel Corporation | Method and apparatus for invalidating a cache line without data return in a multi-node architecture |
US6791412B2 (en) * | 2000-12-28 | 2004-09-14 | Intel Corporation | Differential amplifier output stage |
US7234029B2 (en) * | 2000-12-28 | 2007-06-19 | Intel Corporation | Method and apparatus for reducing memory latency in a cache coherent multi-node architecture |
US6721918B2 (en) | 2000-12-29 | 2004-04-13 | Intel Corporation | Method and apparatus for encoding a bus to minimize simultaneous switching outputs effect |
US20020087775A1 (en) * | 2000-12-29 | 2002-07-04 | Looi Lily P. | Apparatus and method for interrupt delivery |
US20020087766A1 (en) * | 2000-12-29 | 2002-07-04 | Akhilesh Kumar | Method and apparatus to implement a locked-bus transaction |
US6925512B2 (en) * | 2001-10-15 | 2005-08-02 | Intel Corporation | Communication between two embedded processors |
US7437759B1 (en) * | 2004-02-17 | 2008-10-14 | Symantec Corporation | Kernel mode overflow attack prevention system and method |
US9094317B2 (en) * | 2009-06-18 | 2015-07-28 | Hewlett-Packard Development Company, L.P. | Processor topology switches |
US9984023B2 (en) * | 2015-08-12 | 2018-05-29 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Multi-server system interconnect |
US12093214B2 (en) * | 2022-11-10 | 2024-09-17 | Azurengine Technologies, Inc. | On-chip memory system for a reconfigurable parallel processor |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA1221464A (en) * | 1983-12-26 | 1987-05-05 | Hidehiko Nishida | Data processor system having improved data throughput of multiprocessor system |
FR2627878A1 (fr) * | 1988-02-29 | 1989-09-01 | Commissariat Energie Atomique | Dispositif de traitement numerique de signaux |
KR920006617B1 (ko) * | 1988-06-07 | 1992-08-10 | 가부시기가이샤 히다찌세이사꾸쇼 | 멀티프로세서시스템 |
US4968977A (en) * | 1989-02-03 | 1990-11-06 | Digital Equipment Corporation | Modular crossbar interconnection metwork for data transactions between system units in a multi-processor system |
US5197130A (en) * | 1989-12-29 | 1993-03-23 | Supercomputer Systems Limited Partnership | Cluster architecture for a highly parallel scalar/vector multiprocessor system |
US5428803A (en) * | 1992-07-10 | 1995-06-27 | Cray Research, Inc. | Method and apparatus for a unified parallel processing architecture |
-
1996
- 1996-02-22 DE DE19606629A patent/DE19606629A1/de not_active Ceased
-
1997
- 1997-02-04 KR KR1019980706509A patent/KR19990087119A/ko not_active Application Discontinuation
- 1997-02-04 JP JP9529699A patent/JP2000506645A/ja active Pending
- 1997-02-04 DE DE59701512T patent/DE59701512D1/de not_active Expired - Lifetime
- 1997-02-04 EP EP97915275A patent/EP0882267B1/de not_active Expired - Lifetime
- 1997-02-04 US US09/125,572 patent/US6092136A/en not_active Expired - Fee Related
- 1997-02-04 WO PCT/DE1997/000216 patent/WO1997031318A1/de not_active Application Discontinuation
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008041027A (ja) * | 2006-08-10 | 2008-02-21 | Sony Computer Entertainment Inc | プロセッサノードシステムおよびプロセッサノードクラスタシステム |
JP2014016773A (ja) * | 2012-07-09 | 2014-01-30 | Elamina Co Ltd | レジスタレスアーキテクチャによるキャッシュレスマルチプロセッサ |
Also Published As
Publication number | Publication date |
---|---|
DE59701512D1 (de) | 2000-05-31 |
DE19606629A1 (de) | 1997-08-28 |
EP0882267B1 (de) | 2000-04-26 |
WO1997031318A1 (de) | 1997-08-28 |
US6092136A (en) | 2000-07-18 |
KR19990087119A (ko) | 1999-12-15 |
EP0882267A1 (de) | 1998-12-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2576846B2 (ja) | クラスタ制御装置及びクラスタ接続多重多重プロセッシング・システム | |
JP2000506645A (ja) | マルチプロセッサ中央処理ユニット | |
US8291094B2 (en) | Method and apparatus for implementing high-performance, scaleable data processing and storage systems | |
TW544589B (en) | Loosely coupled-multi processor server | |
KR100324975B1 (ko) | 잠재적인 제3 노드 트랜잭션을 버퍼에 기록하여 통신 대기시간을 감소시키는 비균일 메모리 액세스(numa) 데이터 프로세싱 시스템 | |
US5577204A (en) | Parallel processing computer system interconnections utilizing unidirectional communication links with separate request and response lines for direct communication or using a crossbar switching device | |
US6789173B1 (en) | Node controller for performing cache coherence control and memory-shared multiprocessor system | |
CN1116643C (zh) | 具有共享干预支持的非均匀存储器访问数据处理系统及方法 | |
US5560027A (en) | Scalable parallel processing systems wherein each hypernode has plural processing modules interconnected by crossbar and each processing module has SCI circuitry for forming multi-dimensional network with other hypernodes | |
JPH0776942B2 (ja) | マルチプロセッサ・システムおよびそのデータ伝送装置 | |
JP2003178039A (ja) | 分散共有仮想メモリーとその構成方法 | |
JP2002510079A (ja) | メモリ・インタフェース間で読み書きの順序付けられた実行を強制する方法と装置 | |
JP2002519785A (ja) | マルチプロセッサコンピュータシステムのための分割ディレクトリベースのキャッシュコヒーレンシ技術 | |
KR20060046226A (ko) | 양방향 링 상호접속을 구비한 멀티프로세서 칩 | |
US20210075745A1 (en) | Methods and apparatus for improved polling efficiency in network interface fabrics | |
KR100543731B1 (ko) | 다중 프로세서 시스템에서 마이크로프로세서 통신을 위한방법, 프로세싱 장치 및 데이터 프로세싱 시스템 | |
US6597692B1 (en) | Scalable, re-configurable crossbar switch architecture for multi-processor system interconnection networks | |
KR100348956B1 (ko) | 재실행 요구를 촉진하여 대기시간을 감소시키는 비균일 메모리액세스 데이터 프로세싱 시스템 | |
JPH10187631A (ja) | 拡張された対称マルチプロセッサ・アーキテクチャ | |
KR20240007533A (ko) | 메모리 분산 방법, 이를 구현한 컴퓨팅 시스템 | |
JPH09506731A (ja) | マルチプロセッサ・システム用バス構造 | |
US7069362B2 (en) | Topology for shared memory computer system | |
JP2934382B2 (ja) | プロセッサ・ノード | |
CN111045974A (zh) | 一种基于交换结构的多处理器数据交互方法 | |
JP3691134B2 (ja) | マルチプロセッサシステム |