JP2001117893A - 階層構造をもつ並列計算機 - Google Patents
階層構造をもつ並列計算機Info
- Publication number
- JP2001117893A JP2001117893A JP29743999A JP29743999A JP2001117893A JP 2001117893 A JP2001117893 A JP 2001117893A JP 29743999 A JP29743999 A JP 29743999A JP 29743999 A JP29743999 A JP 29743999A JP 2001117893 A JP2001117893 A JP 2001117893A
- Authority
- JP
- Japan
- Prior art keywords
- processing unit
- processor
- memory
- task
- shared bus
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- 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/14—Handling requests for interconnection or transfer
- G06F13/36—Handling requests for interconnection or transfer for access to common bus or bus system
-
- 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5066—Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/80—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
- G06F15/8007—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors single instruction multiple data [SIMD] multiprocessors
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)
- Software Systems (AREA)
- Computing Systems (AREA)
- Multi Processors (AREA)
Abstract
の個数並列に動作させることが可能な共有バス型並列計
算機を提供する。 【解決手段】 階層型共有バスマルチプロセッサシステ
ムの中間階層の処理ユニットは、通常のプロセッサと同
等のプログラマブル能力を持つプロセッサと、命令メモ
リと、データメモリを備えている。そこでは、下位プロ
セッサからのstatus信号を受け、大容量の転送デ
ータ用メモリを持つDMAコントローラによって、転送
データの圧縮・展開、プログラマブルな負荷分散、下位
のプロセッサの稼働状況に応じた負荷分散が行われる。
Description
有バス型並列計算機に関し、特に、膨大な計算量が求め
られる画像処理や、コンピュータ・エンタテインメント
や、科学技術計算の実行に適した共有バス型並列計算機
に関するものである。
半導体を用いて、基板上の一つのバスに複数のプロセッ
サを配置していた。そこでは、バスのトラフィックを軽
減するためにバスを階層化した場合には、各階層にキャ
ッシュメモリを置いてさらにトラフィックを減らすとい
う方法を用いている。
タ・システムはコンピューティング・タスクを実行する
2つ又はそれ以上のプロセッサを含んでいる。そこで
は、特定のコンピューティング・タスクが1つのプロセ
ッサ上で実行されている間に、他のプロセッサが無関係
のコンピューティング・タスクを実行する。また、特定
のコンピューティング・タスクの複数の構成要素をマル
チプロセッサに分配して全体としてコンピューティング
・タスクの実行時間を短縮する。一般にプロセッサは1
つ以上のオペランドについて演算し、結果を生成するよ
うに構成された装置であり、演算はプロセッサによって
実行される命令に応答して行われる。
・システムにおける一般的構造は、対称型マルチ・プロ
セッサ(SMP)構造である。典型的には、SMPコン
ピュータ・システムはキャッシュ階層を介して共用バス
に結合された複数のプロセッサを有する。更にこのバス
にはシステム内のプロセッサ間で共用されるメモリが結
合される。メモリ内の特定のメモリ位置に対するアクセ
スは、他のメモリ位置に対するアクセスと同様の時間で
行われる。メモリ内の各位置は均一にアクセスされるた
め、この構造は均一メモリ構造(UMA)と呼ばれる。
に構成される。SMPコンピュータ・システムでは、一
般に1つ以上のキャッシュがプロセッサと共用バスとの
間にキャッシュ階層型に構成される。特定のメイン・メ
モリ・アドレスに存在するデータの複数のコピーがこれ
らキャッシュにストアされる。どの時点においても特定
のアドレスが正確に1つのデータ値をストアしていると
いう共用メモリ・モデルを維持するために、共用バスの
コンピュータ・システムはキャッシュ・コヒーレンシー
を採用している。
されているデータに対する演算の効果がキャッシュ階層
内のデータの各コピーに反映されていれば、演算はコヒ
ーレントである。例えば、特定のメモリ・アドレスにス
トアされているデータが更新されたとき、その更新は、
前のデータのコピーをストアしているキャッシュに供給
される。あるいは、前のデータのコピーはキャッシュ内
で無効化され、その特定のメモリ・アドレスに対する次
のアクセスでは更新されたコピーがメイン・メモリから
転送されるようにする。共用バス・システムでは、スヌ
ープ・バス・プロトコルが一般に用いられる。共用バス
上で実行される各コヒーレント・トランザクションは、
キャッシュ内のデータと対照して検査(スヌープ)され
る。影響を受けたデータのコピーが見つかると、そのデ
ータをストアしているキャッシュ・ラインの状態はその
コヒーレント・トランザクションに応答して更新され
る。
は、マルチプロセシング・コンピュータ・システムにお
いてその有効性を制約するいくつかの欠点を有する。即
ち、バスには、利用することができるピーク帯域幅(バ
ス上で転送される1秒当たりのバイト数)が存在する
が、バスに対して追加のプロセッサが接続されると、そ
のプロセッサにデータ及び命令を供給するのに要する帯
域幅はこのピーク帯域幅を超えてしまう。必要とされる
プロセッサの帯域幅が利用可能なバス帯域幅を超える
と、いくつかのプロセッサは帯域幅が利用可能になるの
を待たされることになり、コンピュータ・システムの性
能は低下される。一般に、一つのバス上に接続可能なプ
ロセッサ数は32個くらいが限度である。
すると、バスの容量負荷が増大し、バスの物理的長さも
増大する。容量負荷が増大し、バスの長さが増大する
と、バス上の信号伝搬遅延が増大する。伝搬遅延の増大
によってトランザクションの実行時間は長くなる。従っ
て、多くのプロセッサを追加するとバスのピーク帯域幅
は減少する。
数及びプロセッサの性能向上によって更に増大される。
高周波化及びより進歩したプロセッサのマイクロ・アー
キテクチャによって、同一のプロセッサ数に対しても、
前のプロセッサ世代よりも高い帯域幅が要求されること
になる。従って、マルチプロセシング・コンピュータ・
システムに対して以前十分な帯域幅を提供していたバス
は、高性能のプロセッサを用いた同様のコンピュータ・
システムに対しては不十分となる。
システムでは、プログラミングモデルやデバッグが難し
くなるという問題点がある。
回路が高性能化しても、また、接続するプロセッサの必
要数が増加しても、破綻をきたさない、これまでにない
新しいマルチプロセッサ・システムのアーキテクチャー
である。
プロセッサを、所望の個数並列に動作させることが可能
な共有バス型並列計算機を提供することである。
るため、本発明(請求項1)は、並列処理の可能な並列
処理タスクを実行する上位処理ユニットと、第1の共有
バスを介して前記上位処理ユニットに接続する複数の中
間処理ユニットと、前記複数の中間処理ユニットの夫々
に、第2の共有バスを介して接続する複数の下位処理ユ
ニットとを備え、前記上位処理ユニットは前記タスクを
分割して前記中間処理ユニットに割り当てると共に、前
記分割タスクの実行に必要なデータを夫々前記中間処理
ユニットに転送し、前記中間処理ユニットは前記分割タ
スクを分割して前記下位処理ユニットに割り当てると共
に、前記分割タスクの実行に必要なデータを夫々前記下
位処理ユニットに転送し、前記下位処理ユニットは、割
り当てられた前記分割タスクを実行し、実行が完了する
とその実行の完了を前記中間処理ユニットに通知し、前
記中間処理ユニットは、割り当てられた前記分割タスク
がすべて完了するとその実行の完了を前記上位処理ユニ
ットに通知し、すべての前記中間処理ユニットがその割
り当てられた前記分割タスクの完了を前記上位処理ユニ
ットに通知すると、前記並列処理タスクの処理が完了す
る共有バス型並列計算機を提供する。
いて、前記第2の共有バスに接続されたユニット群は、
前記第1の共有パスに接続されたユニット群よりも物理
的に狭い領域に局在し、それぞれのユニットを接続する
信号線は小さい配線容量を持っており、前記第1の共有
パスに接続されたユニット群を同期させるための周波数
よりも、前記第2の共有バスに接続されたユニット群を
同期させるための周波数の方が高いことを特徴とする請
求項1に記載の階層構造を持つ共有バス型並列計算機を
提供する。
いて、前記上位処理ユニット、前記中間処理ユニット及
び前記下位処理ユニットは、夫々プロセッサ及び前記プ
ロセッサに接続されたメモリを備えていることを特徴と
する階層構造をもつ共有バス型並列計算機を提供する。
いて、前記分割タスクの実行完了は、前記中間処理ユニ
ット又は前記上位処理ユニットに、status入力信
号線を介して通知されることを特徴とする階層構造をも
つ共有バス型並列計算機を提供する。
いて、前記中間処理ユニットは、夫々プロセッサ及び前
記プロセッサに接続されたメモリ及びDMAコントロー
ラを備えていることを特徴とする階層構造をもつ共有バ
ス型並列計算機を提供する。
いて、前記プロセッサと前記DMAコントローラは、コ
プロセッサ接続されていることを特徴とする階層構造を
もつ共有バス型並列計算機を提供する。
いて、前記上位処理ユニットは、前記分割タスクの実行
に必要なデータを圧縮して、夫々前記中間処理ユニット
に転送することを特徴とする階層構造をもつ共有バス型
並列計算機を提供する。
いて、前記中間処理ユニットは、前記分割タスクの実行
に必要なデータを圧縮して、夫々前記下位処理ユニット
に転送することを特徴とする階層構造をもつ共有バス型
並列計算機を提供する。
いて、前記中間処理ユニットは、DMA転送処理ユニッ
トであることを特徴とする階層構造をもつ共有バス型並
列計算機を提供する。
おいて、前記DMA転送処理ユニットは、プログラマブ
ルであることを特徴とする階層構造をもつ共有バス型並
列計算機を提供する。
チプロセッサシステムの中間階層の処理ユニットは、通
常のプロセッサと同等のプログラマブル能力を持つプロ
セッサと、命令メモリと、データメモリを備えている。
そこでは、下位プロセッサからのstatus信号を受
け、大容量の転送データ用メモリを持つDMAコントロ
ーラによって、転送データの圧縮・展開、プログラマブ
ルな負荷分散、下位のプロセッサの稼働状況に応じた負
荷分散が行われる。
による階層バス型マルチプロセッサシステムの全体像を
示すブロックダイアグラムである。この階層バス型マル
チプロセッサシステムは、1GバイトのGHQ用メイン
メモリ111と、GHQプロセッサ113と、後述する
ように夫々複数のプロセッサを備えた4つのSQUAD
処理ユニット120とからなっている。このSQUAD
処理ユニット120は、マルチチップモジュールに実装
されている。これらGHQプロセッサ113と4つのS
QUAD処理ユニット120及びGHQ用メインメモリ
111は、第1レベルバスで接続されている。
メインメモリ111を形成するメモリモジュールと、G
HQプロセッサ113及び4つのマルチチップモジュー
ルは、前記第1レベルバスが形成されているプリント配
線板101上で相互に接続される。
0は、マルチチップモジュールとして実装される。マル
チチップモジュール(MCM)は、通常の単一チップパ
ッケージのサブシステム内に組み込まれる複数のパッケ
ージされていない集積回路からなる。ある型のマルチチ
ップモジュールは、基板と、薄膜相互接続構造体と、こ
の薄膜相互接続構造体上に取り付けられ且つエポキシパ
ッシベーション材料にて包囲された複数の集積回路とを
含んでいる。
スルーホールおよびサーフェイスマウント技法によるプ
リント配線板よりも、より高い周波数性能を実現する、
すなわち、基板上にマルチチップを密集させてパッケー
ジングすることにより、配線容量と共に伝播距離が減少
させられ、このため、一般的に、性能の向上が可能とな
る。
モジュール(MCM)を示す。MCMは、多数の層10
2A〜102Eから構成される共通基板上に取り付けら
れたICチップ101a〜101f間で信号を結合する
ために高ワイヤ密度を必要とする。なお、所与の設計に
より必要とされる特定の製造技術及び配線密度に適応さ
せるよう任意の数の層を用いることが可能である。
ップ101dは1チップのDMAメモリモジュール及び
SQUADプロセッサであり、ICチップ101a、I
Cチップ101b、ICチップ101e、ICチップ1
01fは、夫々FLIGHT処理ユニット130のチッ
プである。多数の層102A〜102Eに、共有バスが
形成されている。
036に記載されているような従来のマルチレベルセラ
ミック基板技術が用いられるが、それと同等の任意の技
術を用いることも可能である。図1の場合、層102A
〜102Jは、それぞれ、パターン化メタライゼーショ
ン層が形成された絶縁セラミック材料から構成される。
層102A〜102Dは、それぞれ、一部が除去され
て、多層キャビティを形成しており、各層102B〜1
02Eにおけるパターン化メタライゼーション層の一部
が該キャビティの周辺で露出している。層102Eの露
出部分は、チップ取付面を形成しており、導電性エポキ
シ、ハンダ、または同様のチップ取付技術によってIC
チップ101a〜101fが取り付けられるメタライゼ
ーション接地面によってほぼ被覆されている。
チップ101a〜101fからMCM入出力(I/O)
ピンまたは端子(図示せず)にデジタルデータ信号を伝
送する信号配線を有している。層102Aは、下方に位
置する層に対する化学的、機械的、及び電気的な保護を
行うと共にパッケージキャップのための取付面として働
く正面である。利用可能なMCM技術を用いて、層10
2B〜102Dにプリント配線、I/Oピン及び端子を
形成し、これにより、MCM100を外部回路要素と結
合させることが可能となる。ワイヤボンドは、各ICチ
ップ101a〜101fのエッジの1つに形成されたボ
ンドパッドを、層102B〜102Dの選択された導体
またはボンドパッドに結合させる。
ベルバスのバンド幅を、上位のプリント配線板に比較し
て格段に広くすることが可能となる。同様に、FLIG
HT処理ユニット130内部には、複数のFIGHTE
R処理ユニット140が実装されているが、そこではM
CM構造よりも更に高速化に有利な単一シリコン基板上
の接続となっているために、更に広いバンド幅が達成さ
れる。このように、本発明では、下の階層程、処理ユニ
ットの実装の局在化がすすみ、動作周波数がより高周波
となるという特徴がある。
上位のGHQ処理ユニット110であり、ここでは1チ
ップのGHQプロセッサ113及びGHQ用メインメモ
リ111を含んでいる。この図では階層は4段、すなわ
ち、GHQ処理ユニット110,SQUAD処理ユニッ
ト120、FLIGHT処理ユニット130,FIGH
TER処理ユニット140となっている。そして、GH
Q処理ユニット110の直下には、FLIGHT処理ユ
ニット130及びFIGHTER処理ユニット140を
実装する4つのSQUAD処理ユニット120が接続さ
れている。このGHQ処理ユニット110と、SQUA
D処理ユニット120及びGHQ用メインメモリ111
は、32ビット幅の第1レベルバスで接続されており、
全体のバンド幅は256Mbyte/sec(周波数6
6MHz)となっている。
ット内部の処理全体の統括を行なっているのがSQUA
D Commanderプロセッサ123であり、SQ
UAD用命令メモリ125及びSQUAD用データメモ
リ127と共に、SQUAD用DMAメモリ121が接
続している。このSQUAD処理ユニット120も1チ
ップに集積されている。また、SQUAD Comma
nderプロセッサ123の直下には、16個のFIG
HTER処理ユニット140を統括する4個のFLIG
HT処理ユニット130が接続されている。このSQU
AD Commanderプロセッサ123は、FLI
GHT処理ユニット130と、64ビット幅の第2レベ
ルバスで接続されており、全体のバンド幅は800Mb
yte/sec(周波数100MHz)となっている。
ニット内部の処理全体の統括を行なっているのがFLI
GHT Commanderプロセッサ133であり、
FLIGHT用命令メモリ135及びFLIGHT用デ
ータメモリ137と共に、FLIGHT用DMAメモリ
131が接続している。このFLIGHT処理ユニット
130は、SQUAD処理ユニット120のチップに集
積されている。また、FLIGHT Commande
rプロセッサ133の直下には、夫々64KbyteのFI
GHTER用メモリ141を備えた16個のFIGHT
ERプロセッサ143が接続されている。このFLIG
HT処理ユニット130とFIGHTERプロセッサ1
43は、128ビット幅のバスで接続されており、全体
のバンド幅は2128Mbyte/sec(周波数13
3MHz)となっている。また、FIGHTERプロセ
ッサ143の動作周波数は、533MHzである。
を各SQUAD処理ユニット120に割り当てるために
タスクに分割する。GHQ処理ユニット110はタスク
を分割すると、その内容を圧縮してSQUAD処理ユニ
ット120に転送する。圧縮アルゴリズムとしては、ラ
ンレングス法やハフマン符号法等、データの性質に適し
たものを利用する。圧縮が効果的でないか不要の場合に
は、生のタスクデータを転送する。本発明では、タスク
を分割し、下位にいくほど転送するタスクデータは減少
するので、動作周波数が高くなっても、要求されるバン
ド幅の増加は抑えられる。
理ユニット110からタスク(必要により圧縮されたタ
スクデータ)を受け取ると、そのSQUAD処理ユニッ
ト120のstatusがbusyであることをGHQ
処理ユニット110に通知する。それから、圧縮されて
いるう場合にはそのデータを展開する。
えられたタスクを、各FLIGHT処理ユニット130
に割り当てるためにタスクに分割する。SQUAD処理
ユニット120はタスクを分割すると、その内容を圧縮
してFLIGHT処理ユニット130に転送する。圧縮
が効果的でない場合や不要な場合には、生のタスクデー
タを転送する。FLIGHT処理ユニット130はSQ
UAD処理ユニット120からタスク(必要により圧縮
されたタスクデータ)を受け取ると、そのFLIGHT
処理ユニット130のstatusをbusyにするよ
うにSQUAD処理ユニット120に依頼する。それか
ら、圧縮されている場合にはそのデータを展開する。
タスクをFIGHTER処理ユニット140に割り当て
るために更に細かく分割し、各FIGHTER処理ユニ
ット140にその分割後のタスクデータを転送する。
尚、ここでタスクデータとは、処理の内容と、それに必
要なデータを意味する。
理ユニット120及びFLIGHT処理ユニット130
の主な役割はスケジューリングとデータ転送であり、実
際に問題を解くのは最下層に位置するFIGHTER処
理ユニット140となる。FIGHTER処理ユニット
140がタスクを受け取ると、上位のFLIGHT処理
ユニット130へ、そのFIGHTER処理ユニット1
40のstatusをbusyにするように依頼してか
ら、そのタスクを処理する。与えられたタスクの処理が
終了すると、結果をFLIGHT処理ユニット130に
報告し、statusがidleに戻される。
ット140を発見すると、FLIGHT処理ユニット1
30は、分割されてまだ未処理のタスクを、そのFIG
HTER処理ユニット140に割り当てる。
分割された全てのタスクがFIGHTER処理ユニット
140によって処理されると、FLIGHT処理ユニッ
ト130はSQUAD処理ユニット120に結果を転送
し、そのstatusがidleに戻される。SQUA
D処理ユニット120はFLIGHT処理ユニット13
0の処理と同様、idleのFLIGHT処理ユニット
130を発見すると未処理タスクをそのFLIGHT処
理ユニット130に割り当てる。
は、その下位に属する全てのFLIGHT処理ユニット
130から、処理結果が転送されると、GHQ処理ユニ
ット110に結果を転送し、そのSQUAD処理ユニッ
ト120のstatusがidleに戻される。
IGHT処理ユニット130の処理と同様、idleの
SQUAD処理ユニット120を発見すると未処理タス
クがあれば、そのタスクをSQUAD処理ユニット12
0に割り当てる。
てのタスクの処理がSQUAD処理ユニット120で完
了すると、与えられた問題全体の処理が完了することに
なる。
ト140と、その上位のFLIGHT処理ユニット13
0、SQUAD処理ユニット120及び最上位のGHQ
処理ユニット110とは、処理内容が異なる。FIGH
TER処理ユニット140は、実際の処理計算のみを行
うので、複雑な判断や込み入ったルーチンを実行する能
力は必要が無いが、計算能力は高いことが要求される。
従って、FIGHTERプロセッサ143は、整数ユニ
ットと浮動小数点ユニットを複数有することが望まし
い。ここでは、演算ユニットとして、整数ユニット1つ
と浮動小数点ユニットを2つ持つものとする。また、高
速化を助ける目的で、ハザード処理や割り込み処理に要
する回路を省略している。従って、動作周波数が533
MHzとすると、1.066GFLOPSの処理が可能
となる。
LIGHT処理ユニット130は、ブローカーであり、
基本的に上位の階層及び下位の階層とのデータの送受信
の制御を行う。従って、SQUAD Commande
rプロセッサ123やFLIGHT Commande
rプロセッサ133が実装すべき演算ユニットは最も小
規模のものでも十分である。ここでは、整数ユニットを
1つ持つものとする。
ンのプログラムを実行するものであり、GHQComm
anderプロセッサとしては汎用性のあるプロセッサ
が用いられる。従って、一般的な高性能マイクロプロセ
ッサを利用することができる。
技術的な思想が実装されている。先ず、GHQ用メイン
メモリ111を形成するメモリモジュールと、GHQプ
ロセッサ113及び4つのマルチチップモジュールの5
つの構成要素は、66MHzのクロックで同期が取られ
る。ここでは、比較的広い領域にわたって、同期を取る
必要があり為、同期クロックは比較的低く抑えられてい
る。
夫々、GHQ処理ユニット110から66MHzの同期
クロックを受け、これをPLL等で1.5倍にして10
0MHzとし、これをユニット内の同期クロックとす
る。ここでは、4つのFLIGHT処理ユニット13
0、SQUAD Commanderプロセッサ12
3、SQUAD用命令メモリ125、SQUAD用デー
タメモリ127及びSQUAD用DMAメモリ121
が、この100MHzの同期クロックに同期して動作す
る。SQUAD処理ユニット120の1つの領域は、G
HQ処理ユニット全体の領域の一部のみに局在化してお
り、信号の伝播距離やスキューもその分小さくなり、高
周波数での動作が可能となっている。
は、夫々、SQUAD処理ユニット120から100M
Hzの同期クロックを受け、これをPLL等で1.5倍
にして133MHzとし、これをユニット内の同期クロ
ックとする。ここでは、16個のFIGHTER処理ユ
ニット140、FLIGHT Commanderプロ
セッサ133、FLIGHT用命令メモリ125及びF
LIGHT用データメモリ137及びFLIGHT用D
MAメモリ131が、この133MHzの同期クロック
に同期して動作する。FLIGHT処理ユニット130
の1つの領域は、SQUAD処理ユニット120全体の
領域の一部のみに局在化しており、更に高周波数での動
作が可能となっている。
は、夫々、FLIGHT処理ユニット130から133
MHzの同期クロックを受け、これをPLL等で2倍に
して266MHzとし、これをユニット内の同期クロッ
クとする。これをPLL等で2倍にして533MHzと
し、これをFLIGHT Commanderプロセッ
サ133の動作クロックとする。ここでは、FLIGH
T Commanderプロセッサ133とFIGHT
ER用メモリ141が、この266MHzの同期クロッ
クに同期して動作する。FIGHTER処理ユニット1
40は非常に小さな領域に集積されており、信号の伝播
距離やスキューも小さく、高周波数で動作が可能となっ
ている。
間階層の構成、すなわちSQUAD処理ユニット120
及びFLIGHT処理ユニット130の構成を説明す
る。図5は、この中間階層の1つのユニットの構成を示
すブロックダイアグラムである。この中間階層ユニット
は、Commanderプロセッサとしての汎用プロセ
ッサに、10chのDMAコントローラが接続されてい
る。このDMAコントローラは、汎用プロセッサとコプ
ロセッサ接続をしており、既存のDMAコントローラを
利用することもできる。
ており、そのバスには、DMA転送用の大容量メモリ、
上位階層バスへの接続線、下位階層バスへの接続線が接
続されている。それぞれの接続線とバスの間にはFIF
Oが設けられている。またプロセッサコアには下位プロ
セッサからのstatus情報を収集する信号線を有す
る。SQUAD処理ユニット120を例とすれば、下位
の4個のFLIGHT処理ユニット130から4つのs
tatus信号線が来ている。それぞれの信号線は1b
it以上であり、対応する下位階層のプロセッサがbu
syかどうかを示している。
メモリと命令メモリが設けられており、ここにこのCo
mmanderプロセッサが実行すべきプログラムと必
要なデータが格納されている。ここで実行されるプログ
ラムは、上位階層からのデータを必要に応じて展開し、
コマンドを解釈し、必要な処理を行った上で、タスクの
割り振り及びスケジューリングを行い、処理対象データ
を下位階層へ転送する。具体的には、自陣の処理ユニッ
トに割り振られた処理データは、DMAコントローラに
よって高速にDMA転送用メモリに転送され、適宜利用
可能な下位階層の処理ユニットへDMA転送される。こ
のアルゴリズムはデータメモリに格納されるプログラム
で実装される。言い換えれば、この中間階層ユニット
は、全体としてインテリジェントDMAシステムという
べきものを構成する。
ム、例えば汎用性を必要としないようなグラフィックシ
ミュレータ等では、HQCommanderプロセッサ
以外のプロセッサは、DMAコントローラを含み、ハー
ドウエアで実装された非ノイマン型DMAプロセッサと
することも可能である。
する。1つの最も容易な実装は、すべての構成プロセッ
サに対して、ローカルなメモリ空間が付随するというも
のである。すべてローカルなので、スヌープ・バス・プ
ロトコルやコヒーレント・トランザクションを特に準備
する必要は無い。
リ空間は、GHQ用メインメモリ111にのみマッピン
グされる。また、SQUAD Commanderプロ
セッサ123のメモリ空間は、SQUAD用命令メモリ
125及びSQUAD用データメモリ127と共に、S
QUAD用DMAメモリ121にマッピングされる。G
HQプロセッサ113のメモリ空間とSQUAD Co
mmanderプロセッサ123のメモリ空間は、独立
である。更に、異なるSQUAD Commander
プロセッサ123のメモリ空間同士も独立である。
rプロセッサ133のメモリ空間は、FLIGHT用命
令メモリ135及びFLIGHT用データメモリ137
と共に、そのFLIGHT用DMAメモリ131にマッ
ピングされる。ここでも、FLIGHT Comman
derプロセッサ133のメモリ空間は、GHQプロセ
ッサ113のメモリ空間やSQUAD Command
erプロセッサ123のメモリ空間とは独立である。更
に、異なるFLIGHT Commanderプロセッ
サ133のメモリ空間同士も独立である。
のメモリ空間は、夫々64KbyteのFIGHTER用メ
モリ141にマッピングされる。やはり、FIGHTE
Rプロセッサ143のメモリ空間は、FLIGHT C
ommanderプロセッサ133、GHQプロセッサ
113のメモリ空間、SQUAD Commander
プロセッサ123のメモリ空間とは独立である。更に、
異なるFIGHTERプロセッサ143のメモリ空間同
士も独立である。
間を、すべてのプロセッサのメモリ空間に分割して、マ
ッピングしても良い。この場合、形式上、上位の階層と
下位の階層間のデータの送受信は、メモリの移動命令と
いうことになる。このメモリの移動命令は、上位の階層
と下位の階層間のDMAコマンドとして実装される。
メモリと下位の階層の実メモリとの関係の設定方法とし
ては、例えば、SQUAD処理ユニット120の実メモ
リが、GHQ処理ユニット110の実メモリと同一アド
レスを共有する方法がある。しかし、GHQプロセッサ
113の実行しているプログラムが、処理ユニットのプ
ログラムの実行内容を完全にコントロールしているの
で、スヌープ・バス・プロトコルやコヒーレント・トラ
ンザクションを特に準備する必要は無い。同様に、FL
IGHT処理ユニット130の実メモリは、SQUAD
処理ユニット120の実メモリと同一アドレスを共有さ
れ、FIGHTER処理ユニット140の実メモリは、
FLIGHT処理ユニット130の実メモリと同一アド
レスを共有される。
層バス型マルチプロセッサシステムの全体像を示すブロ
ックダイアグラムである。この階層バス型マルチプロセ
ッサシステムは、1Gバイトの1チップのGHQ用メイ
ンメモリ211と、1チップのGHQプロセッサ213
と、後述するように夫々複数のプロセッサを備えた4つ
のSQUAD処理ユニット220とからなっている。こ
のSQUAD処理ユニット220も1チップに集積され
ている。これらGHQプロセッサ213と4つのSQU
AD処理ユニット220及びGHQ用メインメモリ21
1は、第1レベルバスで接続されている。
チップモジュールとして実装される。
常の単一チップパッケージのサブシステム内に組み込ま
れる複数のパッケージされていない集積回路からなる。
ある型のマルチチップモジュールは、基板と、薄膜相互
接続構造体と、この薄膜相互接続構造体上に取り付けら
れ且つエポキシパッシベーション材料にて包囲された複
数の集積回路とを含んでいる。
スルーホールおよびサーフェイスマウント技法によるプ
リント配線板よりも、より高い周波数性能を実現する、
すなわち、基板上にマルチチップを密集させてパッケー
ジングすることにより、配線容量と共に伝播距離が減少
させられ、このため、一般的に、性能が増大させられ
る。
モジュール(MCM)を示す。MCMは、多数の層20
2A〜202Eから構成される共通基板上に取り付けら
れたICチップ201a〜201f間で信号を結合する
ために高ワイヤ密度を必要とする。なお、所与の設計に
より必要とされる特定の製造技術及び配線密度に適応さ
せるよう任意の数の層を用いることが可能である。
ップ201dはGHQ用メインメモリ211及びGHQ
プロセッサ213であり、ICチップ201a、ICチ
ップ201b、ICチップ201e、ICチップ201
fは、夫々SQUAD処理ユニット220のチップであ
る。多数の層202A〜202Eに、10本のラムバス
を含む第1レベルバスの配線が設けられている。
036に記載されているような従来のマルチレベルセラ
ミック基板技術が用いられるが、それと同等の任意の技
術を用いることも可能である。図1の場合、層202A
〜202Jは、それぞれ、パターン化メタライゼーショ
ン層が形成された絶縁セラミック材料から構成される。
層202A〜202Dは、それぞれ、一部が除去され
て、多層キャビティを形成しており、各層202B〜2
02Eにおけるパターン化メタライゼーション層の一部
が該キャビティの周辺で露出している。層202Eの露
出部分は、チップ取付面を形成しており、導電性エポキ
シ、ハンダ、または同様のチップ取付技術によってIC
チップ201a〜201fが取り付けられるメタライゼ
ーション接地面によってほぼ被覆されている。
チップ201a〜201fからMCM入出力(I/O)
ピンまたは端子(図示せず)にデジタルデータ信号を伝
送する信号配線を有している。層202Aは、下方に位
置する層に対する化学的、機械的、及び電気的な保護を
行うと共にパッケージキャップのための取付面として働
く正面である。利用可能なMCM技術を用いて、層20
2B〜202Dにプリント配線、I/Oピン及び端子を
形成し、これにより、MCM100を外部回路要素と結
合させることが可能となる。ワイヤボンドは、各ICチ
ップ201a〜201fのエッジの1つに形成されたボ
ンドパッドを、層202B〜202Dの選択された導体
またはボンドパッドに結合させる。
ベルバスのバンド幅を、通常のプリント配線板に比較し
て格段に広くすることが可能となる。同様に、SQUA
D処理ユニット220内部には、複数のFLIGHT処
理ユニット230が実装されているが、そこではMCM
構造よりも更に高速化に有利な単一シリコン基板上の接
続となっているために、更に広いバンド幅が達成され
る。このように、本発明では、下の階層程、処理ユニッ
トの実装の局在化がすすみ、動作周波数がより高周波と
なるという特徴がある。
上位のGHQ処理ユニット210であり、ここでは1チ
ップのGHQプロセッサ213及びGHQ用メインメモ
リ211を含んでいる。この図では階層は4段、すなわ
ち、GHQ処理ユニット210,SQUAD処理ユニッ
ト220、FLIGHT処理ユニット230,FIGH
TER処理ユニット240となっている。そして、GH
Q処理ユニット210の直下には、FLIGHT処理ユ
ニット230及びFIGHTER処理ユニット240を
実装する4つのSQUAD処理ユニット220が接続さ
れている。このGHQ処理ユニット210と、SQUA
D処理ユニット220及びGHQ用メインメモリ211
は、10本のラムバスで接続されており、全体のバンド
幅は16Gbyte/sec(周波数400MHz x
2)となっている。GHQ用メインメモリ211を形
成するメモリモジュールと、GHQプロセッサ213及
び4つのマルチチップモジュールの5つの構成要素は、
187.5MHzのクロックで同期が取られている。従
って、SQUAD処理ユニット220は、夫々、GHQ
処理ユニット210から187.5MHzの同期クロッ
クを入力している。
ット内部の処理全体の統括を行なっているのがSQUA
D Commanderプロセッサ223であり、SQ
UAD用命令メモリ225及びSQUAD用データメモ
リ227と共に、SQUAD用DMAメモリ221が接
続している。このSQUAD処理ユニット220も1チ
ップに集積されている。また、SQUAD Comma
nderプロセッサ223の直下には、16個のFIG
HTER処理ユニット240を統括する4個のFLIG
HT処理ユニット230が接続されている。このSQU
AD Commanderプロセッサ223は、FLI
GHT処理ユニット230と、6144ビット幅のバス
で接続されており、全体のバンド幅は388Gbyte
/sec(周波数375MHz)となっている。4つの
FLIGHT処理ユニット230、SQUAD Com
manderプロセッサ223、SQUAD用命令メモ
リ225、SQUAD用データメモリ227及びSQU
AD用DMAメモリ221が、この375MHzの同期
が取られている。従って、FLIGHT処理ユニット2
30は、夫々、SQUAD処理ユニット220から37
5MHzの同期クロックを入力している。
ニット内部の処理全体の統括を行なっているのがFLI
GHT Commanderプロセッサ233であり、
FLIGHT用命令メモリ225及びFLIGHT用デ
ータメモリ237と共に、FLIGHT用DMAメモリ
231が接続している。このFLIGHT処理ユニット
230は、SQUAD処理ユニット220のチップに集
積されている。また、FLIGHT Commande
rプロセッサ233の直下には、夫々64KbyteのFI
GHTER用メモリ241とFIGHTERプロセッサ
243からなる16個のFIGHTER処理ユニット2
40が接続されている。16個のFIGHTERプロセ
ッサ243、FLIGHT Commanderプロセ
ッサ233、FLIGHT用命令メモリ225及びFL
IGHT用データメモリ237、FLIGHT用DMA
メモリ231は、750MHzのクロックで同期が取ら
れている。従って、FIGHTER処理ユニット240
は、夫々、FLIGHT処理ユニット230から750
MHzの同期クロックを入力している。
IGHTERプロセッサ243は、1024ビット幅の
バスで接続されており、全体のバンド幅は99Gbyt
e/sec(周波数750MHz)となっている。ま
た、FIGHTERプロセッサ243の動作周波数は、
1.5GHzである。
を各SQUAD処理ユニット220に割り当てるために
タスクに分割する。GHQ処理ユニット210はタスク
を分割すると、その内容を圧縮してSQUAD処理ユニ
ット220に転送する。圧縮アルゴリズムとしては、ラ
ンレングス法やハフマン符号法等、データの性質に適し
たものを利用する。圧縮が効果的でないか不要の場合に
は、生のタスクデータを転送する。本発明では、タスク
を分割するので、下位にいくほど転送するタスクデータ
は減少するので、動作周波数が高くなっても、要求され
るバンド幅の増加は抑えられる。
理ユニット210からタスク(必要により圧縮されたタ
スクデータ)を受け取ると、そのSQUAD処理ユニッ
ト220のstatusがbusyであることをGHQ
処理ユニット210に通知する。それから、圧縮されて
いるう場合にはそのデータを展開する。
えられたタスクを、各FLIGHT処理ユニット230
に割り当てるためにタスクに分割する。SQUAD処理
ユニット220はタスクを分割すると、その内容を圧縮
してFLIGHT処理ユニット230に転送する。圧縮
が効果的でない場合や不要な場合には、生のタスクデー
タを転送する。FLIGHT処理ユニット230はSQ
UAD処理ユニット220からタスク(必要により圧縮
されたタスクデータ)を受け取ると、そのFLIGHT
処理ユニット230のstatusをbusyにするよ
うにSQUAD処理ユニット220に依頼する。それか
ら、圧縮されている場合にはそのデータを展開する。
タスクをFIGHTER処理ユニット240に割り当て
るために更に細かく分割し、各FIGHTER処理ユニ
ット240にその分割後のタスクデータを転送する。
尚、ここでタスクデータとは、処理の内容と、それに必
要なデータを意味する。
理ユニット220及びFLIGHT処理ユニット230
の主な役割はスケジューリングとデータ転送であり、実
際に問題を解くのは最下層に位置するFIGHTER処
理ユニット240となる。FIGHTER処理ユニット
240がタスクを受け取ると、上位のFLIGHT処理
ユニット230へ、そのFIGHTER処理ユニット2
40のstatusをbusyにするように依頼してか
ら、そのタスクを処理する。与えられたタスクの処理が
終了すると、結果をFLIGHT処理ユニット230に
報告し、statusがidleに戻される。
ット240を発見すると、FLIGHT処理ユニット2
30は、分割されてまだ未処理のタスクを、そのFIG
HTER処理ユニット240に割り当てる。
分割された全てのタスクがFIGHTER処理ユニット
240によって処理されると、FLIGHT処理ユニッ
ト230はSQUAD処理ユニット220に結果を転送
し、そのstatusがidleに戻される。SQUA
D処理ユニット220はFLIGHT処理ユニット23
0の処理と同様、idleのFLIGHT処理ユニット
230を発見すると未処理タスクをそのFLIGHT処
理ユニット230に割り当てる。
は、その下位に属する全てのFLIGHT処理ユニット
230から、処理結果が転送されると、GHQ処理ユニ
ット210に結果を転送し、そのSQUAD処理ユニッ
ト220のstatusがidleに戻される。
IGHT処理ユニット230の処理と同様、idleの
SQUAD処理ユニット220を発見すると未処理タス
クがあれば、そのタスクをSQUAD処理ユニット22
0に割り当てる。
てのタスクの処理がSQUAD処理ユニット220で完
了すると、与えられた問題全体の処理が完了することに
なる。
ト240と、その上位のFLIGHT処理ユニット23
0、SQUAD処理ユニット220及び最上位のGHQ
処理ユニット210とは、処理内容が異なる。FIGH
TER処理ユニット240は、実際の処理計算のみを行
うので、複雑な判断や込み入ったルーチンを実行する能
力は必要が無いが、計算能力は高いことが要求される。
従って、FIGHTERプロセッサ243は、整数ユニ
ットと浮動小数点ユニットを複数有することが望まし
い。ここでは、演算ユニットとして、整数ユニット1つ
と浮動小数点ユニットを2つ持つものとする。また、高
速化を助ける目的で、ハザード処理や割り込み処理に要
する回路を省略している。従って、動作周波数が1.5
GHzとし、全体で24GFLOPSの処理が可能とな
る。
LIGHT処理ユニット230は、ブローカーであり、
基本的に上位の階層及び下位の階層とのデータの送受信
の制御を行う。従って、SQUAD Commande
rプロセッサ223やFLIGHT Commande
rプロセッサ233が実装すべき演算ユニットは最も小
規模のものでも十分である。ここでは、整数ユニットを
1つ持つものとする。
ンのプログラムを実行するものであり、GHQComm
anderプロセッサとしては汎用性のあるプロセッサ
が用いられる。従って、一般的な高性能マイクロプロセ
ッサを利用することができる。
技術的な思想が実装されている。先ず、GHQ用メイン
メモリ211を形成するメモリモジュールと、GHQプ
ロセッサ213及び4つのマルチチップモジュールの5
つの構成要素は、187.5MHzのクロックで同期が
取られる。ここでは、比較的広い領域にわたって、同期
を取る必要があり為、同期クロックは比較的低く抑えら
れている。尚、GHQ用メインメモリ211は、400
MHzのクロックで動くが、これは非同期でデータの転
送を行うものであり、同期を取るクロックではない。
夫々、GHQ処理ユニット210から187.5MHz
の同期クロックを受け、これを2倍にして375MHz
とし、これをユニット内の同期クロックとする。ここで
は、4つのFLIGHT処理ユニット230、SQUA
D Commanderプロセッサ223、SQUAD
用命令メモリ225、SQUAD用データメモリ227
及びSQUAD用DMAメモリ221が、この375M
Hzの同期クロックに同期して動作する。SQUAD処
理ユニット220の1つの領域は、GHQ処理ユニット
全体の領域の一部のみに局在化しており、信号の伝播距
離やスキューもその分小さくなり、高周波数での動作が
可能となっている。
は、夫々、SQUAD処理ユニット220から375M
Hzの同期クロックを受け、これを2倍にして750M
Hzとし、これをユニット内の同期クロックとする。こ
こでは、16個のFIGHTER処理ユニット240、
FLIGHT Commanderプロセッサ233、
FLIGHT用命令メモリ225及びFLIGHT用デ
ータメモリ237及びFLIGHT用DMAメモリ23
1が、この750MHzの同期クロックに同期して動作
する。FLIGHT処理ユニット230の1つの領域
は、SQUAD処理ユニット220全体の領域の一部の
みに局在化しており、更に高周波数での動作が可能とな
っている。
は、夫々、FLIGHT処理ユニット230から750
MHzの同期クロックを受け、これを2倍にして1.5
GHzとし、これをユニット内の同期クロックとする。
ここでは、FLIGHT Commanderプロセッ
サ233とFIGHTER用メモリ241が、この1.
5GHzの同期クロックに同期して動作する。FIGH
TER処理ユニット240は非常に小さな領域に集積さ
れており、信号の伝播距離やスキューも小さく、高周波
数で動作が可能となっている。
230内部の処理は、750MHzで動作しているが、
GHQ処理ユニット210全体としてみれば、750M
Hzでの同期は無理なので、異なるFLIGHT処理ユ
ニットの内部処理の間では同期が取れていない。しか
し、その上の階層、すなわちSQUAD処理ユニット2
20で、375MHzでの同期が取れていれば、問題が
無い。
間階層の構成、すなわちSQUAD処理ユニット220
及びFLIGHT処理ユニット230の構成を説明す
る。図5は、この中間階層の1つのユニットの構成を示
すブロックダイアグラムである。この中間階層ユニット
は、Commanderプロセッサとしての汎用プロセ
ッサに、10chのDMAコントローラが接続されてい
る。このDMAコントローラは、汎用プロセッサとコプ
ロセッサ接続をしており、既存のDMAコントローラを
利用することもできる。
ており、そのバスには、DMA転送用の大容量メモリ、
上位階層バスへの接続線、下位階層バスへの接続線が接
続されている。それぞれの接続線とバスの間にはFIF
Oが設けられている。またプロセッサコアには下位プロ
セッサからのstatus情報を収集する信号線を有す
る。SQUAD処理ユニット220を例とすれば、下位
の4個のFLIGHT処理ユニット230から4つのs
tatus信号線が来ている。それぞれの信号線は1b
it以上であり、対応する下位階層のプロセッサがbu
syかどうかを示している。
メモリと命令メモリが設けられており、ここにこのCo
mmanderプロセッサが実行すべきプログラムと必
要なデータが格納されている。ここで実行されるプログ
ラムは、上位階層からのデータを必要に応じて展開し、
コマンドを解釈し、必要な処理を行った上で、タスクの
割り振り及びスケジューリングを行い、処理対象データ
を下位階層へ転送する。具体的には、自陣の処理ユニッ
トに割り振られた処理データは、DMAコントローラに
よって高速にDMA転送用メモリに転送され、適宜利用
可能な下位階層の処理ユニットへDMA転送される。こ
のアルゴリズムはデータメモリに格納されるプログラム
で実装される。言い換えれば、この中間階層ユニット
は、全体としてインテリジェントDMAシステムという
べきものを構成する。
ム、例えば汎用性を必要としないようなグラフィックシ
ミュレータ等では、HQCommanderプロセッサ
以外のプロセッサは、DMAコントローラを含み、ハー
ドウエアで実装された非ノイマン型DMAプロセッサと
することも可能である。
する。1つの最も容易な実装は、すべての構成プロセッ
サに対して、ローカルなメモリ空間が付随するというも
のである。すべてローカルなので、スヌープ・バス・プ
ロトコルやコヒーレント・トランザクションを特に準備
する必要は無い。
リ空間は、GHQ用メインメモリ211にマッピングさ
れる。また、SQUAD Commanderプロセッ
サ223のメモリ空間は、SQUAD用命令メモリ22
5及びSQUAD用データメモリ227と共に、SQU
AD用DMAメモリ221にマッピングされる。GHQ
プロセッサ213のメモリ空間とSQUAD Comm
anderプロセッサ223のメモリ空間は、独立であ
る。更に、異なるSQUAD Commanderプロ
セッサ223のメモリ空間同士も独立である。
rプロセッサ233のメモリ空間は、FLIGHT用命
令メモリ225及びFLIGHT用データメモリ237
と共に、そのFLIGHT用DMAメモリ231にマッ
ピングされる。ここでも、FLIGHT Comman
derプロセッサ233のメモリ空間は、GHQプロセ
ッサ213のメモリ空間やSQUAD Command
erプロセッサ223のメモリ空間とは独立である。更
に、異なるFLIGHT Commanderプロセッ
サ233のメモリ空間同士も独立である。
のメモリ空間は、夫々64Kbyteのメモリにマッピング
される。やはり、FIGHTERプロセッサ243のメ
モリ空間は、FLIGHT Commanderプロセ
ッサ233、GHQプロセッサ213のメモリ空間、S
QUAD Commanderプロセッサ223のメモ
リ空間とは独立である。更に、異なるFIGHTERプ
ロセッサ243のメモリ空間同士も独立である。
間を、すべてのプロセッサのメモリ空間に分割して、マ
ッピングしても良い。この場合、形式上、上位の階層と
下位の階層間のデータの送受信は、メモリの移動命令と
いうことになる。このメモリの移動命令は、上位の階層
と下位の階層間のDMAコマンドとして実装される。
メモリと下位の階層の実メモリとの関係の設定方法とし
ては、例えば、SQUAD処理ユニット220の実メモ
リが、GHQ処理ユニット210の実メモリと同一アド
レスを共有する方法がある。しかし、GHQプロセッサ
213の実行しているプログラムが、処理ユニットのプ
ログラムの実行内容を完全にコントロールしているの
で、スヌープ・バス・プロトコルやコヒーレント・トラ
ンザクションを特に準備する必要は無い。同様に、FL
IGHT処理ユニット230の実メモリは、SQUAD
処理ユニット220の実メモリと同一アドレスを共有さ
れ、FIGHTER処理ユニット240の実メモリは、
FLIGHT処理ユニット230の実メモリと同一アド
レスを共有される。
システムと、本発明による階層バス型マルチプロセッサ
システムとの比較を行う。
システムで、各階層にはキャッシュのみがあるとして、
衝突判定アプリケーションにおける、データ転送量を見
積もると下記の通りである。
衝突判定を行う場合を考える。各オブジェクトは、bo
unding shapeと呼ばれる領域に分割され、
個々のbounding shape同士の衝突判定を
すべての組み合わせで行う。bounding sha
peの形状を球状とすれば、1つのboundings
hapeと別のtのbounding shapeの衝
突判定は、以下の計算式で示される。
z2)2 < (r1- r2)2 その計算量は、以下のとおりである。
r1,x2,y2,z2,r2×4 bytes=32bytes 2)6個の加減算 3)4個の乗算 4)1個の比較 従って、全体で8load,11FPの計算量である。
p×1.5GHz=3GFLOPSのシステムでは、F
IGHTER一つあたり、 3GFLOPS/11FP=275MHz回/sec の衝突判定能力があり、それには 3GFLOPS/11FP×32Byte=8.75G
Byte/sec のデータを消費する。全体128プロセッサ×2Fop
×1.5GHz=384GFLOPSで考えると384
GFLOPS/11FP=34.9G回/secの衝突
判定能力となる。1/60秒では 384GFLOPS/11FP/60=580M回/fr
ame の衝突判定能力、となり、これは √(2×580M)=34.134Mz 1/60秒間に3万個を超えるbounding sh
apa同士の衝突判定ができる能力を意味する。
=70GByte/sec SQUADbus:70GByte/sec×4=28
0GByte/secとなる。
タの展開と、各プロセッサへの均等負荷分散を行った場
合の例をあげる。
t両側方をサブグループに分割し、(例えば10分
割)、m×mの単位でプロセッサに処理させる。DMA
で空いているプロセッサに投入する。
して、負荷分散しながら放り込む。そのためあるプロセ
ッサが衝突を検出して処理時間が長くなっても全体で負
荷分散ができる。
apeの衝突判定を行わなければならないとする。4個
あるSQUAD Commanderには、それぞれ全
衝突判定の1/4に相当する分のデータを持たせる。
QUAD1は1〜n/2までのbounding sh
apeを持ち、SQUAD2は1〜n/4とn/2+1
〜nまで、SQUAD3はn/4+1〜n/2とn/2
+1〜nまでSQUAD4はn/2+1〜nまでのbo
unding shapeの情報を持つ。この負荷分散
とDMA転送はGHQ Processorが担当す
る。
D1は1〜n/2までのbounding shape
を持ち、SQUAD2はn/2+1〜3n/4と1〜n
/2まで、SQUAD3は3n/4+1〜nと1〜n/
2までSQUAD4はn/2+1〜nまでのbound
ing shapeの情報を持つようにしても等価であ
る。
HTに同様の戦略で処理を分散する。この負荷分散とD
MA転送はSQUAD Commanderが担当す
る。例えば、SQUAD2は、図に示したように、配下
のFLIGHT1乃至FLIGHT4に負荷を分散す
る。この場合も、図に示したような方法でも、分散効率
に差異は無い。
があるので、等分に分割されて各FLIGHTには全体
の1/16の衝突判定計算が割り当てられることにな
る。またもっとも多いところでもFLIGHTが保持し
ていなければならないデータ量は全体の1/4+1/8
=3/8程度で済む。
rは上記のサブグループ方式により、さらに小さい領域
に分割する。どの程度分割する必要があるかはデータ量
の節で述べる。分割された衝突判定のグループをFIG
HTER Processorに投入し、衝突判定を実
行させる。各FIGHTERの中ではフラットな衝突判
定を行う。
から見積もると、GHQbusは4個SQUADに1.
6MByteのデータ全体を配り、1/60秒で更新す
るとすれば、データ転送速度は、 1.6MByte×4SQUAD÷(1/60秒)=3
84MByte/sec である。SQUADbusでは4個のFLIGHTに約
580KByte(578904Byte)のデータを
配るので 580KByte×4FLIGHT÷(1/60秒)=
139.2MByte/sec のデータバスバンド幅しか要求されない。一方、FLI
GHTbusの必要データバスバンド幅は 1110個/(1/60sec)×16KB=1,06
5,260KByte/sec=約1GByte/se
c となり、上記の140GByte/secと比べて1/
140になっている。以上の結果をまとめて、図9に示
す。
たが、当業者にとっては、本発明が本願中に説明した実
施例に限定されるものではないということは明らかであ
る。本発明の装置は、特許請求の範囲の記載により定ま
る本発明の趣旨及び範囲を逸脱することなく修正及び変
更態様として実施することができる。従って、本願の記
載は、例示説明を目的とするものであり、本発明に対し
て何ら制限的な意味を有するものではない。
プロセッサシステムでは、階層化によりクロックスキュ
ーをおさえることができ、最先端の技術による高速プロ
セッサを、所望の個数並列に動作させることが可能とな
る。
チプロセッサシステムの全体像を示すブロックダイアグ
ラムである。
ップモジュール(MCM)を示す。
チプロセッサシステムの全体像を示すブロックダイアグ
ラムである。
ップモジュール(MCM)を示す。
ダイアグラムである。
判定を行う場合を説明する図。
判定を行う場合を説明する図。
判定を行う場合を説明する図。
と、本発明による階層バス型マルチプロセッサシステム
との比較を示す図。
6)
に、本発明の階層構造をもつ並列計算機は、並列処理の
可能な並列処理タスクを実行する上位処理ユニットと、
接続線を介して前記上位処理ユニットに接続する複数の
下位処理ユニットとを備え、前記上位処理ユニットは、
前記タスクを分割して前記下位処理ユニットに割り当て
ると共に、前記分割タスクの実行に必要なデータを夫々
前記下位処理ユニットに転送し、前記下位処理ユニット
は、割り当てられた前記分割タスクを実行し、実行が完
了するとその実行の完了を前記上位処理ユニットに通知
し、前記上位処理ユニットは、すべての前記下位処理ユ
ニットからその割り当てられた前記分割タスクの完了の
通知を受け取ると、前記並列処理タスクの処理を完了す
ることを特徴とするものである。
は、並列処理の可能な並列処理タスクを実行する上位処
理ユニットと、第1の接続線を介して前記上位処理ユニ
ットに接続する複数の中間処理ユニットと、前記複数の
中間処理ユニットの夫々に、第2の接続線を介して接続
する複数の下位処理ユニットとを備え、前記上位処理ユ
ニットは、前記タスクを複数の第1の分割タスクへ分割
して前記中間処理ユニットに割り当てると共に、前記第
1の分割タスクの実行に必要なデータを夫々前記中間処
理ユニットに転送し、前記中間処理ユニットは、前記第
1の分割タスクを複数の第2の分割タスクへ分割して前
記下位処理ユニットに割り当てると共に、前記第2の分
割タスクの実行に必要なデータを夫々前記下位処理ユニ
ットに転送し、前記下位処理ユニットは、割り当てられ
た前記第2の分割タスクを実行し、実行が完了するとそ
の実行の完了を前記中間処理ユニットに通知し、前記中
間処理ユニットは、割り当てられた前記第1の分割タス
クがすべて完了するとその実行の完了を前記上位処理ユ
ニットに通知し、前記上位処理ユニットは、すべての前
記中間処理ユニットからその割り当てられた前記第1の
分割タスクの完了の通知を受け取ると、前記並列処理タ
スクの処理を完了することを特徴とするものである。
ユニット群が、前記上位処理ユニットより物理的に狭い
領域に局在し、それぞれのユニットを接続する信号線は
小さい配線容量を持っており、前記上位処理ユニット群
を同期させるための周波数よりも、前記下位処理ユニッ
ト群を同期させるための周波数の方が高いことを特徴と
するものである。
び前記下位処理ユニットが、夫々プロセッサ及び前記プ
ロセッサに接続されたメモリを備えていることを特徴と
するものである。
が、前記下位処理ユニットから通知された前記分割タス
クの実行完了を、status入力信号線を介して受け
取ることを特徴とするものである。
が、夫々プロセッサ及び前記プロセッサに接続されたメ
モリ及びDMAコントローラを備えていることを特徴と
するものである。
MAコントローラが、コプロセッサ接続されていること
を特徴とするものである。
が、前記分割タスクの実行に必要なデータを圧縮して、
夫々前記下位処理ユニットに転送することを特徴とする
ものである。
が、DMA転送処理ユニットであることを特徴とするも
のである。
前記下位処理ユニットのそれぞれが、独立した半導体チ
ップ上に形成され、前記半導体チップが、全体として1
つのマルチチップモジュールとして実装されていること
を特徴とするものである。
Claims (10)
- 【請求項1】 並列処理の可能な並列処理タスクを実行
する上位処理ユニットと、第1の共有バスを介して前記
上位処理ユニットに接続する複数の中間処理ユニット
と、前記複数の中間処理ユニットの夫々に、第2の共有
バスを介して接続する複数の下位処理ユニットとを備
え、前記上位処理ユニットは前記タスクを分割して前記
中間処理ユニットに割り当てると共に、前記分割タスク
の実行に必要なデータを夫々前記中間処理ユニットに転
送し、前記中間処理ユニットは前記分割タスクを分割し
て前記下位処理ユニットに割り当てると共に、前記分割
タスクの実行に必要なデータを夫々前記下位処理ユニッ
トに転送し、前記下位処理ユニットは、割り当てられた
前記分割タスクを実行し、実行が完了するとその実行の
完了を前記中間処理ユニットに通知し、前記中間処理ユ
ニットは、割り当てられた前記分割タスクがすべて完了
するとその実行の完了を前記上位処理ユニットに通知
し、すべての前記中間処理ユニットがその割り当てられ
た前記分割タスクの完了を前記上位処理ユニットに通知
すると、前記並列処理タスクの処理が完了する共有バス
型並列計算機 - 【請求項2】 前記第2の共有バスに接続されたユニッ
ト群は、前記第1の共有バスに接続されたユニット群よ
りも物理的に狭い領域に局在し、それぞれのユニットを
接続する信号線は小さい配線容量を持っており、前記第
1の共有バスに接続されたユニット群を同期させるため
の周波数よりも、前記第2の共有バスに接続されたユニ
ット群を同期させるための周波数の方が高いことを特徴
とする請求項1に記載の階層構造を持つ共有バス型並列
計算機。 - 【請求項3】 前記上位処理ユニット、前記中間処理ユ
ニット及び前記下位処理ユニットは、夫々プロセッサ及
び前記プロセッサに接続されたメモリを備えていること
を特徴とする請求項2に記載の階層構造をもつ共有バス
型並列計算機。 - 【請求項4】 前記分割タスクの実行完了は、前記中間
処理ユニット又は前記上位処理ユニットに、statu
s入力信号線を介して通知されることを特徴とする請求
項2に記載の階層構造をもつ共有バス型並列計算機。 - 【請求項5】前記中間処理ユニットは、夫々プロセッサ
及び前記プロセッサに接続されたメモリ及びDMAコン
トローラを備えていることを特徴とする請求項2に記載
の階層構造をもつ共有バス型並列計算機。 - 【請求項6】前記プロセッサと前記DMAコントローラ
は、コプロセッサ接続されていることを特徴とする請求
項2に記載の階層構造をもつ共有バス型並列計算機。 - 【請求項7】 前記上位処理ユニットは、前記分割タス
クの実行に必要なデータを圧縮して、夫々前記中間処理
ユニットに転送することを特徴とする請求項2に記載の
階層構造をもつ共有バス型並列計算機。 - 【請求項8】 前記中間処理ユニットは、前記分割タス
クの実行に必要なデータを圧縮して、夫々前記下位処理
ユニットに転送することを特徴とする請求項2に記載の
階層構造をもつ共有バス型並列計算機。 - 【請求項9】 前記中間処理ユニットは、DMA転送処
理ユニットであることを特徴とする請求項2に記載の階
層構造をもつ共有バス型並列計算機。 - 【請求項10】 前記DMA転送処理ユニットは、プロ
グラマブルであることを特徴とする請求項9に記載の階
層構造をもつ共有バス型並列計算機。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP29743999A JP3946393B2 (ja) | 1999-10-19 | 1999-10-19 | 階層構造をもつ並列計算機 |
EP00122268A EP1096378A2 (en) | 1999-10-19 | 2000-10-19 | Parallel computer having a hierarchy structure |
KR1020000061521A KR100354467B1 (ko) | 1999-10-19 | 2000-10-19 | 계층 구조를 갖는 공유 버스형 병렬 계산기 |
US11/234,265 US20060020771A1 (en) | 1999-10-19 | 2005-09-26 | Parallel computer having a hierarchy structure |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP29743999A JP3946393B2 (ja) | 1999-10-19 | 1999-10-19 | 階層構造をもつ並列計算機 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001117893A true JP2001117893A (ja) | 2001-04-27 |
JP3946393B2 JP3946393B2 (ja) | 2007-07-18 |
Family
ID=17846546
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP29743999A Expired - Fee Related JP3946393B2 (ja) | 1999-10-19 | 1999-10-19 | 階層構造をもつ並列計算機 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20060020771A1 (ja) |
EP (1) | EP1096378A2 (ja) |
JP (1) | JP3946393B2 (ja) |
KR (1) | KR100354467B1 (ja) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006012173A (ja) * | 2004-06-25 | 2006-01-12 | Internatl Business Mach Corp <Ibm> | データ抽象化モデルにおける関係管理 |
US7035982B2 (en) | 2001-09-27 | 2006-04-25 | Kabushiki Kaisha Toshiba | Data processor with a built-in memory |
JP2007206987A (ja) * | 2006-02-01 | 2007-08-16 | Nomura Research Institute Ltd | 格子型コンピュータシステム、タスク割り当てプログラム |
JP2008165746A (ja) * | 2006-12-06 | 2008-07-17 | Toshiba Corp | アクセラレータ、情報処理装置及び情報処理方法 |
JP2008243216A (ja) * | 2002-01-10 | 2008-10-09 | Massively Parallel Technologies Inc | 並列処理システム及び方法 |
US9418044B2 (en) | 2002-12-16 | 2016-08-16 | Sony Interactive Entertainment Inc. | Configuring selected component-processors operating environment and input/output connections based on demand |
US11972132B2 (en) | 2018-04-03 | 2024-04-30 | Xilinx, Inc. | Data processing engine arrangement in a device |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7418470B2 (en) | 2000-06-26 | 2008-08-26 | Massively Parallel Technologies, Inc. | Parallel processing systems and method |
US8325761B2 (en) | 2000-06-26 | 2012-12-04 | Massivley Parallel Technologies, Inc. | System and method for establishing sufficient virtual channel performance in a parallel computing network |
EP1233346A1 (de) * | 2001-02-14 | 2002-08-21 | Micronas GmbH | Netzwerk-Co-Prozessor für Kraftfahrzeuge |
US7162620B2 (en) | 2002-03-13 | 2007-01-09 | Sony Computer Entertainment Inc. | Methods and apparatus for multi-processing execution of computer instructions |
US8108512B2 (en) | 2006-09-01 | 2012-01-31 | Massively Parallel Technologies, Inc. | System and method for accessing and using a supercomputer |
TWI368873B (en) * | 2008-08-15 | 2012-07-21 | King Yuan Electronics Co Ltd | Distributed programming system and programming device |
US7958194B2 (en) | 2008-08-25 | 2011-06-07 | Massively Parallel Technologies, Inc. | System and method for parallel processing using a Type I Howard Cascade |
US10216692B2 (en) | 2009-06-17 | 2019-02-26 | Massively Parallel Technologies, Inc. | Multi-core parallel processing system |
GB2481819B (en) * | 2010-07-07 | 2018-03-07 | Advanced Risc Mach Ltd | Switching between dedicated function hardware and use of a software routine to generate result data |
US9251116B2 (en) * | 2011-11-30 | 2016-02-02 | International Business Machines Corporation | Direct interthread communication dataport pack/unpack and load/save |
US9128779B1 (en) | 2014-07-31 | 2015-09-08 | Splunk Inc. | Distributed tasks for retrieving supplemental job information |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5021991A (en) * | 1983-04-18 | 1991-06-04 | Motorola, Inc. | Coprocessor instruction format |
DE3316492A1 (de) * | 1983-05-05 | 1984-11-08 | Siemens AG, 1000 Berlin und 8000 München | Schaltungsanordnung fuer den teilnehmeranschluss in einem diensteintegrierenden digitalnetz (isdn) |
DE3777522D1 (de) * | 1986-10-17 | 1992-04-23 | Hitachi Ltd | Verfahren zum herstellen einer gemischten struktur fuer halbleiteranordnung. |
JPH0469763A (ja) * | 1990-07-10 | 1992-03-04 | Fujitsu Ltd | 階層型バス接続の並列計算機 |
CA2078315A1 (en) * | 1991-09-20 | 1993-03-21 | Christopher L. Reeve | Parallel processing apparatus and method for utilizing tiling |
US5408605A (en) * | 1993-06-04 | 1995-04-18 | Sun Microsystems, Inc. | Command preprocessor for a high performance three dimensional graphics accelerator |
JPH08171504A (ja) * | 1994-12-19 | 1996-07-02 | Mitsubishi Denki Semiconductor Software Kk | エミュレ−ション装置 |
US5619399A (en) * | 1995-02-16 | 1997-04-08 | Micromodule Systems, Inc. | Multiple chip module mounting assembly and computer using same |
US5644756A (en) * | 1995-04-07 | 1997-07-01 | Motorola, Inc. | Integrated circuit data processor with selectable routing of data accesses |
US5815793A (en) * | 1995-10-05 | 1998-09-29 | Microsoft Corporation | Parallel computer |
KR0170500B1 (ko) * | 1995-11-18 | 1999-03-30 | 양승택 | 멀티프로세서 시스템 |
US5761516A (en) * | 1996-05-03 | 1998-06-02 | Lsi Logic Corporation | Single chip multiprocessor architecture with internal task switching synchronization bus |
US5897656A (en) * | 1996-09-16 | 1999-04-27 | Corollary, Inc. | System and method for maintaining memory coherency in a computer system having multiple system buses |
US6493800B1 (en) * | 1999-03-31 | 2002-12-10 | International Business Machines Corporation | Method and system for dynamically partitioning a shared cache |
KR100344065B1 (ko) * | 2000-02-15 | 2002-07-24 | 전주식 | 다단계 캐시 구조의 공유 메모리 다중 프로세서 장치 |
-
1999
- 1999-10-19 JP JP29743999A patent/JP3946393B2/ja not_active Expired - Fee Related
-
2000
- 2000-10-19 KR KR1020000061521A patent/KR100354467B1/ko not_active IP Right Cessation
- 2000-10-19 EP EP00122268A patent/EP1096378A2/en not_active Withdrawn
-
2005
- 2005-09-26 US US11/234,265 patent/US20060020771A1/en not_active Abandoned
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7035982B2 (en) | 2001-09-27 | 2006-04-25 | Kabushiki Kaisha Toshiba | Data processor with a built-in memory |
US7237072B2 (en) | 2001-09-27 | 2007-06-26 | Kabushiki Kaisha Toshiba | Data processor with a built-in memory |
US7546425B2 (en) | 2001-09-27 | 2009-06-09 | Kabushiki Kaisha Toshiba | Data processor with a built-in memory |
JP2008243216A (ja) * | 2002-01-10 | 2008-10-09 | Massively Parallel Technologies Inc | 並列処理システム及び方法 |
JP4698700B2 (ja) * | 2002-01-10 | 2011-06-08 | マッシブリー パラレル テクノロジーズ, インコーポレイテッド | 並列処理システム及び方法 |
US9418044B2 (en) | 2002-12-16 | 2016-08-16 | Sony Interactive Entertainment Inc. | Configuring selected component-processors operating environment and input/output connections based on demand |
JP2006012173A (ja) * | 2004-06-25 | 2006-01-12 | Internatl Business Mach Corp <Ibm> | データ抽象化モデルにおける関係管理 |
JP2007206987A (ja) * | 2006-02-01 | 2007-08-16 | Nomura Research Institute Ltd | 格子型コンピュータシステム、タスク割り当てプログラム |
JP2008165746A (ja) * | 2006-12-06 | 2008-07-17 | Toshiba Corp | アクセラレータ、情報処理装置及び情報処理方法 |
US11972132B2 (en) | 2018-04-03 | 2024-04-30 | Xilinx, Inc. | Data processing engine arrangement in a device |
Also Published As
Publication number | Publication date |
---|---|
KR100354467B1 (ko) | 2002-09-30 |
KR20010051125A (ko) | 2001-06-25 |
JP3946393B2 (ja) | 2007-07-18 |
US20060020771A1 (en) | 2006-01-26 |
EP1096378A2 (en) | 2001-05-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3946393B2 (ja) | 階層構造をもつ並列計算機 | |
JP4386373B2 (ja) | ロジカルパーティショニングされた処理環境におけるリソース管理のための方法および装置 | |
EP1805627B1 (en) | Methods and apparatus for supporting multiple configurations in a multi-processor system | |
EP0820016B1 (en) | Apparatus including an enhanced blocking mechanism for read-to-share-transactions in a NUMA mode and method therefor | |
Hellwagner et al. | SCI: Scalable Coherent Interface: architecture and software for high-performance compute clusters | |
WO2023028042A1 (en) | Scalable system on a chip | |
US20020019898A1 (en) | Microprocessor, semiconductor module and data processing system | |
WO2018203754A1 (en) | Cache coherent node controller for scale-up shared memory systems | |
JPH10187631A (ja) | 拡張された対称マルチプロセッサ・アーキテクチャ | |
JP2004192619A (ja) | マルチプロセッサ・システムでのマイクロプロセッサ通信の方法、処理ユニット、およびデータ処理システム | |
Harris | Hardware trends: Challenges and opportunities in distributed computing | |
JPH10301850A (ja) | データ処理システム内のキャッシュ・コヒーレンシを維持するためにセクタ化キャッシュ・メモリに疑似精密包含方式を設ける方法及びシステム | |
US20030229721A1 (en) | Address virtualization of a multi-partitionable machine | |
US20200050379A1 (en) | Systems and methods for providing a back pressure free interconnect | |
Arden et al. | A multi-microprocessor computer system architecture | |
JP3015428B2 (ja) | 並列計算機 | |
US20230244461A1 (en) | Configurable Access to a Reconfigurable Processor by a Virtual Function | |
JP2019219931A (ja) | 半導体集積回路、cpuの割り当て方法、およびプログラム | |
US20220214972A1 (en) | Integrated Circuit with 3D Partitioning | |
US12001343B1 (en) | Selective distribution of translation entry invalidation requests in a multithreaded data processing system | |
JP2002358331A (ja) | プリント基板用多層データのデータ編集処理を分散処理するプリント基板データ編集システム及び分散処理方法 | |
JP2000215189A (ja) | 多数のオペレーティングシステムインスタンス及びソフトウェア制御式リソース割り当てを伴うマルチプロセッサコンピュータアーキテクチャ | |
JP2687987B2 (ja) | ダイレクトメモリアクセス制御方式 | |
Steele et al. | A bus-efficient low-latency network interface for the PDSS multicomputer | |
Yoshinaga et al. | Delegation-based MPI communications for a hybrid parallel computer with many-core architecture |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060529 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060606 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060807 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20070403 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070411 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100420 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110420 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130420 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140420 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |