JPH02271460A - マルチプロセッサシステム内のシステムユニット間でデータトランザクションを行なうモジュール式クロスバー相互接続ネットワーク - Google Patents

マルチプロセッサシステム内のシステムユニット間でデータトランザクションを行なうモジュール式クロスバー相互接続ネットワーク

Info

Publication number
JPH02271460A
JPH02271460A JP2014720A JP1472090A JPH02271460A JP H02271460 A JPH02271460 A JP H02271460A JP 2014720 A JP2014720 A JP 2014720A JP 1472090 A JP1472090 A JP 1472090A JP H02271460 A JPH02271460 A JP H02271460A
Authority
JP
Japan
Prior art keywords
crossbar
source
nodes
node
module
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
Application number
JP2014720A
Other languages
English (en)
Inventor
Michael E Flynn
マイケル イー フリン
Steven Polzin R
アール スチーブン ポルジン
Kumar Chinnaswamy
クマー チナスワミー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Digital Equipment Corp
Original Assignee
Digital Equipment Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Digital Equipment Corp filed Critical Digital Equipment Corp
Publication of JPH02271460A publication Critical patent/JPH02271460A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations 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/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17356Indirect interconnection networks
    • G06F15/17368Indirect interconnection networks non hierarchical topologies
    • G06F15/17375One dimensional, e.g. linear array, ring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 産業上の利用分野 本発明は、これと同時に出願された次のような米国特許
出願に開示されているコンピュータシステムの幾つかの
特徴を有するものである。エバンス氏等の「デジタルコ
ンピュータのシステム制御ユニットとシステム処理ユニ
ットとの間のインター 7 x −i’ ス(AN f
NTERFAcE BETWIEEN A SYSTE
MCONTROL tJNIT AND A SYST
EM PROCESSING UNITOF A DI
GITAL COMPtJTER)J  ;アーノルド
氏等の[マイクロプロセッサシステムのシステム制御ユ
ニットと中央処理ユニットとをインターフェイスする方
法及び装置(METHOD AND APPARATU
S FORINTERFACING A SYSTEM
 C0NTR0L UNIT FORAM[JLTIP
ROCESSORSYSTEM  WITH丁11E 
 C0NTR0I。
PROCESSING UNITS)J  ;ガグリア
ード氏等の「マルチプロセッサシステムのシステム制御
ユニットをシステムのシステムメインメモリとインター
フェイスするための方法及び手段(METIIOD A
NDMEANS FORINTERFACING A 
SYSTEM C0NTR0I、tlNITFORA 
 M[]LTIPROCESSORSYSYTEM W
ITHTIDESYSYTEM MAIN MEMOR
Y)J  ; D、フィツト氏等の[パイプライン式コ
ンピュータシステムにおいて考えられる種々の数のメモ
リアクセス競合を分析する方法と装置(METHOD 
AND APPARATUS FORRESOLVIN
G A VARIABLE NUMBEROF POT
ENTIALMEMORY ACCESS C0NFI
JCTS IN A PIPELINEDCOMPUT
ERSYSYTEM)J  ; D、フィツト氏等の「
可変長さの命令アーキテクチャにおいて多数の指定子を
デコードする方法(DECODING M[JLTIP
LESPECIFIER3IN A VARIABLE
 LENGTII lN5TRUCTIONARCHI
TECTURE)J  ; D、フィツト氏等の[仮想
命令キャッシュリフィルアルゴリズム(VIRTUAL
INSTRUC丁ION  CAC)IE  REFI
LI、 ALGORJTIIM)J   ;  パーマ
ン氏等の「同じ命令内でのレジスタ及びレジスタ変更指
定子のパイプライン処理(P IPEL INEPRO
CESSING OF REGISTERAND RE
GfSTEI? MODI−FYINGT  5PEC
IFIER5WITIIIN  THE  SAME 
 lN5T−RtJCTION)J  ;マーレイ氏等
のデジタルコンピュータ用のデータ依存性分桁を行なう
多命令処理システム(MULTIPLE lN5TRU
CTION PREPROCESSINGSYSTEM
 WITHDATA  DEPENDENCY  RE
SOLUTION  FORDIGITAL CPMP
UTER)J ; D、フィツト氏等の[パイプライン
プロセッサにおいて暗示された指定子を予め処理する方
法(PREPROCESSING IMPLIEDSP
ECIFIER5INA PIPELrNED PRO
CESSER)J  ; D。
フィツト氏等の[ブランチ予想(BRANCHPRE−
DICTION)J  ;フォラサム氏等の[デジタル
コンピュータのパイプライン式フローティングポイント
加算器(PIPEIjNED FLOATING PO
INT ADDERFORDIGITAL COMPU
TER)J  ;グランドマン氏等の「自己計時式レジ
スタファイル(SALF TIMED REGIST[
:RFILE)J  ;ベベン氏等の「パイプライン式
コンピュータシステムにおいてエラーを検出して修正す
る方法及び装置(METI−10D AND APPA
RATUS FORDETECTING AND C0
RRECTING ERROR3IN A PIPE−
LINED COMPtJTERSYSTEM)J  
;フリン氏等の[マルチプロセッサシステムにおいてシ
ステム制御ユニットを用いて通信要求を仲裁する方法及
び装置(METIIOD AND MEANS FOR
ARBITI?ATING COMMUNI−CATI
ON REQUESTS USING A  SYST
EMCONTROL UNITINA MULTI−P
ROCESSORSYSTEM)、1  ; E、フィ
ツト氏等の[マイグロコード化実行ユニットにおいて並
列動作で多機能ユニットを制御する方法(CONTRO
LOF MULTIPLE FUNCTION UIN
TS WITHPARALLELOPERATION 
IN A MICROCODED EXECURFON
 tJINT)J  ;ウェブ二世氏等の[仮想メモリ
システムをベースとするデジタルコンピュータの命令パ
イプライン内において予めフェッチした命令でメモリア
クセス例外を処理する方法(PRO(:ESSING 
OF MEMORYACCESS EXCEPTION
S it’1THPRE−FETCIIED lN5T
−RUCTIONS WITIIIN TIDE lN
5TRUCTION PIPELINE OF^V[R
TUALMEMORY SYSTEM−BASED D
IGITAL COM−PUTER)J  ;ヘザリン
トン氏等の[デジタルコンピュータシステムにおいて仮
想−物理メモリアドレスの変換を制御する方法及び装置
(METHOD ANDAPPARATUS FORC
0NTR0LLING THE C0NVER5ION
 0FVIRTLIAL  TOP)IYSICAL 
 MEMORYA[)Dl?ESSES  IN  A
DIGITAL C0NPjJTERSYSYTEM)
J ;ヘザリントン氏等の[エラー修正機能を有するラ
イトバックバッファ(wnIrEBACK BLIFF
ERml(ERRORC0RRECTINGCAPAB
ILITIES)J  ;フリン氏等の「マルチプロセ
ッサシステムにおいてシステム制御ユニットを用いて通
信要求を仲裁する方法及び手段(METIIODAND
 MEANS FORARBITRATING COM
MUNICAT[0NREQUESTS USTNGA
 SYSTEM C0NTR0LUNIT IN AM
ULTI−PROCESSORSYSTEM)J  ;
ポルジン氏等の「入力/出カニニットとマルチプロセッ
サシステムのシステム制御ユニットとをインターフェイ
スする方法及び装置(METHOD AND APPA
RATUS FORINTERFACING A SY
SYTEM C0NTR0L LINIT FORAM
ULTI−PROCESSORSYSYTEM WIT
HINPUTloUTPLITUNITS)J  ;ガ
グリアード氏等の[マルチプロセッサシステムのシステ
ム制御ユニットとシステムメインメモリとをインターフ
ェイスする手段に用いるメモリ構成(間開ORY C0
NFIG[1RATION FORUSEWITHME
ANS FORINTERFACrNG A 5YST
EN C0NTR0LUNTT  FORA  MUL
丁)−PROCESSORSYSTEM  WITI−
I  TIIESYSTEM MAIN MEMORY
)J  ;そしてガグリアード氏等の[システムモジュ
ール間のDRAM制御信号のエラーチエツクのための方
法及び手段(METHODAND MEANS  FO
RERRORCHECKING OF DRAM−CO
NTROLSrGNAl、S BETWEEN SYS
TEM MODULES) 」 。
本発明は、一般に、多数の中央処理ユニット(CPU)
、入力/出力(I 10)ユニット及びメインメモリユ
ニット(MMU)を含む複数のシステムユニットが並列
形態で作動されるようなマルチプロセッサコンピュータ
システムに係る。より詳細には、本発明は、このような
マルチプロセッサシステムに使用してシステムユニット
間に効率的なデータトランザクションリンケージを形成
する改良された相互接続ネットワークに係る。
従来の技術 高性能のコンピュータは、とりわけ、全てのデータ及び
制御情報を通さねばならないメモリインターフェイスを
1つしか使用しないことによって生じる重大な問題を解
決することにより計算容量の増加を実現するために、通
常は、マルチプロセス及び並列処理に依存している。並
列アーキテクチャは、例えば、通常のアーキテクチャを
単に二重にすることから完全に新しいマシン編成を利用
することまでの種々のやり方でこのような問題を解決す
る。
マルチプロセッサアーキテクチャは、典型的に、ある形
態のマルチ経路通信システムを通して共通の共有メモリ
、共有I10システム及びおそらく互いにも接続された
多数のプロセッサを備えている。高性能システムでは、
複数のプロセッサユニットと入力/出カニニットとの間
に並列経路に沿って大量記憶装置及びその他の装置へと
至る多数の通信路を設けることにより、高い動作速度及
び動作冗長性が達せられる。マルチプロセッサシステム
では、システムメモリユニット、入力/出力装置、及び
コンピュータシステムの他のユニットに関連した複数の
CPUの並列動作が典型的にシステム制御ユニット(S
CU)によって整合され、該ユニットは、そのボートに
結ばれた全てのシステムユニットをリンクし、データ及
び関連制御信号を効率的に交換するためのユニット内通
信を与える。SCUは、全てのシステム要素をアクティ
ブな状態に保つ一方、SCUの種々のボートを経てリン
クされたシステムユニットとシステムメモリとの間の通
信に対するユニット内競合及びサービス要求を回避する
従って、このようなシステムの重要な特徴の1つは、S
CUのボートに結ばれた種々のシステムユニットをリン
クする効率的な相互接続ネットワークを提供することで
ある。マルチプロセッサシステムにおけるシステムユニ
ットは、一般に、2つの相互接続技術の1つ、即ち共有
バス又はデータスイッチのいずれかによってリンクされ
る。
特定のマルチプロセス用途についてはこれら技術の1つ
が多数のファクタによって決まる。共有バスは比較的安
価であるが、その用途が制約される。
というのは、その動作の性質が本来時分割のものであり
、−度に1つの通信トランザクション(例えば、メモリ
のプロセス又は接触)しかできないからである。然し乍
ら、バスは、バスへの相互接続が1つの接続点でしか必
要とされないので、別のプロセッサ、メモリ又は他のシ
ステムユニットを受け入れるように容易に拡張できると
いう効果を奏する。
一方、スイッチ式ネットワークは、関連するトランザク
ションが同じシステムユニットに関係しない限り、多数
のトランザクションを同時に実行することができる。よ
り詳細には、このようなネットワークにおける処理要素
又はシステムユニットは、多数のデータ項目を同時に転
送する能力をもつある種のスイッチングネットワークと
相互接続される。通常は種々のスイッチングネットワー
クがあり、これらは、シャフルネットワーク、アーギュ
メントデータ操作ネットワーク、バタフライスイッチ及
びクロスバ−マトリクススイッチを含む。特に、クロス
バ−スイッチは、各入力を出力へスイッチできるように
入力ノードと出力ノードとの間をマツピングする一般的
な接続ネットワークを実施するように共通に使用される
。然し乍ら、相互接続されたマルチプロセッサシステム
では、同時に多数の通信処理を取り扱う能力から時間的
な効率が得られるが、その一方で、スイツチが複雑にな
り、これに関連してコストが増大する。
発明が解決しようとする課題 スイッチ式の相互接続ネットワークの使用によって生じ
る主な欠点は、所定限界を越えてシステムノードの数を
拡張することが困難なことである。例えば、クロスバ−
スイッチの場合は、 0個のモードについての複雑さが
n゛で与えられ、従って、新たなプロセッサ及びシステ
ムユニットを追加するときには接続の数が著しく増大す
る。
その結果、ノード数が多いときには、複雑な多段スイッ
チングを採用することが必要となる。
クロスバ−スイッチに関連した重大な制約は、追加され
るシステムポートを受け入れるようにクロスバ−を拡張
することが非常に困難なことである。従って、クロスバ
−は特定のシステム構成に対して設計され、特に拡張可
能なモジュール式のモメリ構成を有するシステムに追加
プロセッサ又はメモリポートを含ませるようにシステム
構成を改良する必要がある場合には、クロスバ−ネット
ワークを完全に設計し直すことが必要となる。
マルチプロセッサシステム内の種々のシステムユニット
間のデータトランザクションを効率的に取り扱うために
、システムユニットは、複数の拡張可能なりロスバーモ
ジュールを経てリンクされており、その各々は、入力及
び出力ノードの組の+i、’lに1′mの相互接続部又
は良好に定められたマツピングを与え、各出力は1つの
入力のみについて定められる。入力及び出力部分に設け
られたノードに加えて、各クロスバ−モジュールには別
々の入力及び出力拡張ポートが設けられており、追加ノ
ードを一体化すべきときには上記ポートを通してモジュ
ールを他の同−構成のクロスバ−モジュールにリンクす
ることができる。各々の新たなりロスバーモジュールを
追加することは、基本的なりロスバーモジュール構成の
モジュール機能を二重機能にすることである。
従って、各クロスバ−モジュールに拡張ポートを設ける
ことにより、完全な接続ネットワークが所望されるとき
に多段相互接続ネットワークで完全なりロスバースイッ
チの動作を模擬することができる。各々の基本的なりロ
スバーモジュールに拡張ポートを設けることにより、ク
ロスバ−を設計し直す必要性をなくし、且つ従来の非モ
ジュール式クロスバ−を用いた同様の多段相互接続ネッ
トワークにおいて必要とされた付加的な全容量交換スイ
ッチを用いることなく、ノード取り扱い容量を容易に拡
張できることが重要である。
課題を解決するための手段 本発明の好ましい実施例によれば、その全容量において
、4つのCPUと、一対の独立してアクセスできるメイ
ンメモリユニット(MMU)と、一対の入力/出力(I
/O)ユニットと、コンソール又はサービスプロセッサ
ユニット(SI)U)とを備えたマルチプロセッサシス
テムのユニット間でSCUが同時データトランザクショ
ンを処理できるようにする相互接続ネットワークが提供
される。各クロスバ−モジュールは、5人カノードから
5出力ノードの完全なマツピングを与えるような5×5
のクロスバ−スイッチとして設計される。従って、単一
のクロスバ−モジュールは、−対のCPUと、単一のM
MUと、単一のI10ユニットと、SPUとで構成され
るサブシステム間でデータトランザクションをスイッチ
ングすることができる。各モジュールには、クロスバ−
モジュールを直列にリンクするための拡張ソースノード
及び拡張行き先ノードが設けられ、種々のクロスバ−モ
ジュールにわたって分散されたソースノードと行き先ノ
ードとの間の接続を確立する。
サブシステムをその全容量までグレードアップすべき場
合には、付加的なスイッチング構成を必要とすることな
く、付加的なりロスバーモジュールを設けて、別々のク
ロスバ−モジュールの拡張ポートを直列にリンクするこ
とが必要とされるだけである。直列にリンクされた拡張
ポートは、2段ネットワークの形態の全てのシステムノ
ードの直接マツピングを実現するが、基本的なりロスバ
ー設計が同じまきでありそして追加のデータ転送ノード
を受け入れるようにモジュールを設計し直す必要が回避
される。
各クロスバ−モジュールに拡張ポートを用いたモジュー
ル構成は、対応する数の同じクロスバ−モジュールを追
加することにより、大きなノード容量を受け入れるよう
に便利に拡張することができる。全ての場合に、直列に
拡張されたクロスバ−にわたって存在するノードの直接
マツピングは、所与のクロスバ−内のソースノードと、
その出ツノ拡張ボートとの間、出力拡張ボートと、行き
先ノードを含むクロスバ−モジュールの入力拡張ボート
との間、そして最終的にその入力拡張ボートと、行き先
ノード自体との間に各々リンクを形成する一連のサブマ
ツピングによって実現される。
本発明のモジュール式クロスバ−構成の好ましい実施例
によれば、入ってくるデータトランザクションコマンド
はバッファされそしてデコードされて、ソース及び行き
先ボートが識別される。
サブマツピングの必要性を識別しそしてそれに応答して
特定の直接マツピングを実行するのに必要なサブマツピ
ングを指定するためのデータスイッチ制御器が設けられ
ている。より詳細には、この制御器は、指定されたソー
ス及び行き先ノードのいずれかがデータトランザクショ
ンに参加できないときにそれを確認することによりデー
タトランザクション路の利用性を監視する。より重要な
ことは、制御器は、特定のデータトランザクションに対
して指定された2つのノードが相互接続ネットワークの
初期段を形成するクロスバ−モジュールに向かってボー
トを有していることである。ノードが同じモジュールの
一部分である場合には、ソースノードから行き先ノード
への直接マツピングによってデータ転送が行なわれる。
さもなくば、制御が拡張ボートデコーダへ放棄され、該
デコーダは、指定のノードが定められた相互接続ネット
ワークの次々の段において特定のクロスバ−モジュール
を識別する。
次いで、ソース及び行き先ノードに対するボートを収容
するものとして識別されたクロスバ−モジュールの拡張
ボートを直列にリンクするのに適したサブマツピングが
設けられる。物理的には、このサブマツピングは、要求
を発しているソースノード及び指定された行き先ノード
との間でデータを転送するための順次ではあるが直接的
なリンクを確立する。上記形式のモジュール式クロスバ
−の構成を実施するのに伴う詳細(拡張ポートをアドレ
スするに必要な識別を含む)、ソース及び行き先ノード
を含むモジュールを識別するためのデコードプロセス及
びノードをリンクするためのサブマツピングの発生につ
いては、以下に詳細に述べる。
本発明の他の目的及び効果は、添付図面を参照した以下
の詳細な説明より明らかとなろう。
実施例 本発明は、種々の変更や修正をなし4H)るが、特定の
実施例を一例として図示し、以下に詳細に説明する。然
し乍ら、本発躬はここに開示する特定の形態に限定され
るものではなく、特許請求の範囲によって規定された本
発明の精神及び範囲内に入る全ての変更、等動物及び代
替物を網羅するものとする。
特に第1図には、マルチプロセッサコンピュータシステ
ム10の簡単なブロック図が示されており、このシステ
ムは、複数の中央処理ユニット(CPU)12を用いて
おり、複数の入力/出力(I/O)ユニット14との組
み合わせにおいてこれらシステムユニットがシステムの
共通のメインメモリ16を共有できるようにすることに
よりシステムCPUを同時に動作できるように構成され
ている。I10ユニット14は、一般には処°理システ
ムがそしてより詳細にはCPIJがユニットに組み合わ
された適当なI10インターフェイス(図示せず)を経
て外界と通信できるようにするために用いられる。メイ
ンメモリ16自体は、通常、複数のメモリモジュール即
ちユニット16A及び16Bを(liifえている。シ
ステム制御ユニット(SC:U)18は、CPU l 
2及び■/○ユニット14をメインメモリ14にリンク
すると共に相互接続ネットワーク20を経て互いにリン
クする。
又、SCU l 8は、相互接続ネットワーク20を用
いて、種々のシステムモジュールをサービスプロセッサ
/コンソールユニット(SPU)22にリンクし、該ユ
ニットは、処理システムの全動作のjlI制御及び状態
の判断を含む通常のコンソール機能を実行する。
第1図のマルチプロセッサシステムにおいては、5CU
18及びメインメモリ16を経てリンクされたシステム
ユニット間の効率的な通信、より詳細には、各システム
CPU12及び各システム制御ユニット14と、各メモ
リユニット16A、16Bを構成する個々にアドレス可
能なセグメントとの間の効率的な通信は、専用のインタ
ーフェイス手段24を経て処理される。メインメモリの
特定の構成及びSCUをメモリにインターフェイスする
特定のやり方は本発明にとって重要なものではなく、従
って、ここでは詳細には説明しない。本発明の説明上は
、メインメモリ16の各メモリユニットI6i〜、16
Bには対応するメモリボートがSCUに設けられていて
、各ボートがブロック境界にインターリーブされた別々
の対の個々にアドレス可能なセグメントにリンクされて
いることを述べれば充分であろう。
相互接続ネットワーク20は、種々のシステムユニット
とマルチプロセッサシステムとの間でデータトランザク
ションを行なう経路を形成する手段として機能し、CP
U12とI10ユニット14と5PU22とを互いにリ
ンクしてこれらと複数のメインメモリユニット(MMU
)!6Δ、16Bの各々との間でデータの交換を行なう
。従って、相互接続ネットワーク20は、SCUとメイ
ンメモリとの間に専用のインターフェイス手段24の一
部分を形成するのに加えて、他のシステムユニットをリ
ンクする。
CPU又はI10ユニットのような各システムユニット
は、別々のボートを通してSCU l 8にボートで結
ばれており、メモリとシステムユニットとの間及びユニ
ット自体の間の全ての通信要求は、S CIJの対応す
るボートに保持される。5CUI8は、システムユニッ
トをアクティブな状態に保つ一方、SCUの種々のボー
トに受け入れられるシステムメモリとシステムユニット
との間の通信の要求を取り扱うことによりユニット内競
合を回避するように機能する6種々のCPU及びI10
ユニットはマルチプロセッサシステム内で並列に動作さ
れるので、複数の通信要求がルーティンとしてSCUに
受け入れられる。更に、通常多数のこのような要求が同
じシステムリソースへのアクセスを必要とし、それに関
連したコマンドを実行することによってそれらの要求に
対処する。
システムユニットからSCUボートで受け取られる入っ
てくる要求は、S C[Jにより処理のために仲裁され
、これは、システムリソースを最も効率的に利用するの
に加えて、適度な時間内に要求を処理することによって
各々の到着するシステム要求を公平に処理するように行
なわれる。システムの二重の要求を効率的に達成すると
共にユニットに対して公平さを得るようにシステムユニ
ットからの未処理の要求をSCUが仲裁できる基礎とな
る好ましい技術は1本発明の譲受人が所有する1989
年2月3日に出願された[マルチプロセッサシステムに
おいてシステム制御ユニットを用いて通信要求を仲裁す
る方法及び手段(Metf+odand  Means
  for  Arbitrating  Commu
nicationRequests Using A 
5ysr:em Control  1Jnit  I
n aMulti−Processor System
)J と題する11;12712氏等の米国特許出願第
306,828号に開示されている。
入ってくる通信要求を処理する1噴序を定めるのに用い
る仲裁技術に拘りなく、システムユニット間の多数のデ
ータトランザクションを同時に実行して、複数のシステ
ムCPUの処理能力を最適化することにより効率的なシ
ステムオペレーションを実現することが重要である。
通常の相互接続ネットワークは、典(9的に、多数のデ
ータの同時トランザクションが重要でないようなシステ
ムの共有バスで構成される。多数のデータトランザクシ
ョンを同時に処理しなければならない場合には、和h−
接続ネットワークは、通常、固定数の入力即ちソースノ
ードと出力即ち行き先ノードとの間のマツピングを形成
して選択されたソースノードを指定の行き先ノードにリ
ンクするように一般的な接続ネットワークを実施するグ
ロスバースイッチに基づいている。
このような相互接続ネットワークは、このネットワーク
に使用されたクロスバ−スイッチが指定されるところの
ソー27行き先ノードの最大数をユニット数が越えない
限りシステムユニットを効率的にリンクする。然し乍ら
、ネットワークは、追加のシステムユニットを含ませる
ようにマルチプロセッサシステムを構成し直さればなら
ないときに問題を招く。
例えば、4つのCPUと、2つのI10ユニットと、2
つのM M [Jと、1つのSPUとを含む第1図のマ
ルチプロセッサシステムについて考える。このようなシ
ステムは、その最も基本的な形態において、2つのCI
−) 1.Jのみが1つのI10ユニット及び1つのM
 M Uに関連して動作するように構成することができ
る。全コンピュータシステムは、追加のCPU、Ilo
及びM M Uによってシステムをグレードアップでき
るようにモジュール形態で、設計することができる。典
型的なグレードアップは、例えば、システムCPUによ
り形成された基本的なネットワークを二重にすること、
即ち2つのCP[Jと、1つのI10ユニットと、1つ
のMMUとを追加して、最終的に第1図に示すマルチプ
ロセッサシステムを形成することである。システムユニ
ットをリンクする相互接続ネットワークが基本構成をベ
ースとして設計されるべきである場合、即ち一対のCP
UをI10ユニット及びMMUと組み合わせて動作させ
るようにシステムを構成する場合には、追加システムユ
ニットを含ませるシステムのその後のグレードアップで
は、増加された数のシステムユニットを受け入れること
のできる再設計のモジュールスイッチを使用しなければ
ならなくなる。このような再設計は、非常に時間浪費で
あり、コストがかかり、商業用として実際的でないこと
が容易に明らかである。唯一の変更は、追加システムユ
ニットを受け入れるための追加容量を含ませるように相
互接続ネットワークのクロスバ−スイッチを最初に設計
することであり、このような解決策は、マルチプロセッ
サシステムがあまりグレードアップの必要かないために
追加容量をほとんど使用しない用途では相互接続ネット
ワークを必ずしも複雑にせず且つそのコストをとげるこ
ともない。
L記の問題は、本発明のシステムによれば、モジュール
設計のクロスバ−スイッチをベースとする相互接続ネッ
トワークであって、既存のクロスバ−スイッチに便利に
リンクされる追加のクロスバ−スイッチを使用すること
により全コンピュータシステムに追加のシステムユニッ
トを便利に組み込めるようにした相互接続ネットワーク
を提供することによって解消される。各モジュール式の
クロスバ−スイッチ(ここでは、クロスバ−モジュール
と称する)には、別々の入力及び出力拡張ボートか設け
られ、追加のソー27行き先ノードをシステムに一体化
すべきときにはこれらボートを通してクロスバ−モジュ
ールを他の同様の1′1り成のクロスバ−モジュールと
リンクすることができる。このようにリンクされたクロ
スバ−モジュールは、実際には、基本的なりロスバース
イッチ自体を再設、Irする必要なく、既存のソー27
行き先ノードと追加のソー27行き先ノードとの間をマ
ツピングするよう構成された拡張スイッチングネットワ
ークを形成する。
このようなモジュール構成が第2図に示されており、こ
れは、一対のクロスバーモジューを使用しこれらモジュ
ールが各モジュールに設けられた拡張ボートを通してリ
ンクされた相互接続ネットワーク20の好ましい構成を
示すブロック図である。相互接続ネットワーク20は、
32及び34で各々示された第1及び第2のクロスバ−
モジュールより成り、これらは、各クロスバ−モジュー
ル内に含まれたソースノードと行き先ノードとのunの
直接的なリンクを選択的に与えるように互いにリンクさ
れる。より詳細には、クロスバ−モジュールl (第2
図に参照番号32で示された)は、複数の入力ボート3
6をそれに対応する複数の出力ボート38にマツプする
ように設計するのが好ましい。好ましい実施例によれば
、クロスバ−モジュール32は、CPUIに対するボー
ト(cpu+がソースノードとなる場合のデータトラン
ザクジョン)、CP[J2に対するボート(CPU2が
ソースノードとなる場合のトランザクション)、■/○
lに対するボート(第1のI10ユニットがソースノー
ドとして働く場合のトランザクション)そしてSPUの
ボート(SPUがソースノードとなる場合のトランザク
ション)として各々設計された5つの別々の入力ポート
においてデータコマンドを受け入れるようにされる。
同様に、出力38は本質的に入力のソースノードに対応
し、特に、CPUI、CPU2、MEMl、、I10+
及びS I) Uとして示された5つの行き先ノードを
備えている。クロスバ−モジュールによってソースノー
ドと行き先ノードとの間に設けられた特定の接続即ちリ
ンクは、モジュール(第2図の参照文字CTLを参照)
へ供給される制御信号によって決定される。好ましくは
、制御信号CTLは、制御信号におけるビット位置に対
応する予め指定されたラインを有するマルチラインバス
を経て搬送され、対応するソースノードと行き先ノード
との間に接触部を確立する。
本発明の特徴によれば5人力拡張ポートl及びそれに対
応する出力拡張ボート1の形態の付加的な1組のノード
がクロスバーモジュール1に対して設けられている。ク
ロスバ−モジュール32は、5つの定められたソースノ
ードとそれに対応する行き先ノードとの間に直接的なマ
ツピングをそれ自体で形成することができ、従って、C
I) tJ】及び2、I10ユニット]、MMUI及び
spUより成る基本システム構成内のデータトランザク
ションを実行することができる。このような基本システ
ムにおいて直接マツピングされたデータトランザクショ
ンは、同じクロスバ−モジュール内の指定のソースノー
ドとそれに対応する指定の行き先ノードとの間のリンク
をアクテイバー]・する制御信号を発生することにより
便利に取り扱われる。例えば、CI) IJ IとCP
 U 2との間のデータトランザクションは、CP U
 lとCP t、J 2との間の点線で示されて参照文
字入で指示されたリングをアクティベートすることによ
って実行される。
マルチプロセッサシステムが4つのC)) Uと2つの
I/○ユニットと2つの〜11Uとを含むようにグレー
ドアップされるときには、追加のクロスバ−モジュール
2(参照番号34で示す)がクロスバ−モジュールIに
直列にリンクされる。モジュール2はモジュールlと構
成が同じであり、対応する複数の入力ポート36Δ及び
出カポ−1,38Aについての構成を有している。モジ
ュール2の入力ポート36Aは、グレードアップされた
システムの付加的なシステムユニット、即ちCPU3、
CPU4、M E M 2及びI10ユニット2に各々
対応するものとして示されている。同じSPUモジユー
ルが一般に単一のグレードアップされた構成についての
コンソール機能を取り扱うことができるので、残りの入
力ポート及びそれに対応する出力ボートはモジュール2
において未使用のままとされる。
2つのクロスバ−モジュール間の直列接続は、モジュー
ル1の出力拡張ボートIをモジュール2の入力拡張ボー
ト2ヘリンクすることによって行なわれ、更に、モジュ
ール2の出力拡張ボート2はモジュールlの入力拡張ボ
ートlにリングされる。これらの拡張ボートは、2つの
クロスバーモジュールにまたがって分散されたソースノ
ードと行き先ノードとの間の直接的なリンクを効率的に
与える二次リンクとして働く。より詳細には、CPtJ
lとM M U 2との間でデータトランザクションを
実行すべき場合を考えると、この場合には、ソースノー
ドCPUIと、行き先ノードM F、 M 2との間で
マツピングを行なうことが必要である。
このような直接的なマツピングは、第1のサブマツピン
グと第2のサブマツピングとによって表わされた一連の
サブマツピングによってtテなわれ、第1のサブマツピ
ングは、ソースノードCI)けIから、参照文字Bで示
された点線で1モわされたリンクを経て、出力拡張ボー
トlで表わされた行き先ノードへと行なわれるものであ
り、そして第2のサブマツピングは、モジュール2の入
力拡張ボート2で表わされたソースノードと指定の行き
先ノードM E Mとの間で参照文字Blで示された点
線経路を経て行なわれるものである。
クロスバ−モジュール2のノードMEM2とクロスバ−
モジュールlのノードCPUIとの間でデータトランザ
クションを実行すべき別の例について考える。ソースノ
ードM E M 2と行き先ノードCPUIとの間で必
要とされる直接マツピングは、第1のサブマツピング及
び第2のサブマツピングより成る一連のサブマツピング
によって行なわれ、第1のサブマツピングは、ソースノ
ードMEM2から、参照文字Cで示された点線路を経て
、モジュール2の出力拡張ボート2で表わされた行き先
ノードへと行なわれ、そして第2のサブマツピングは、
モジュール1の入力拡張ボート1で示されたソースノー
ドと最終的な行き先ノードCPU1との間で参照文字C
Iで示された点線路を経て行なわれる。
第2図に示されたクロスバ−モジュールのモジュール設
計を用いると、付加的なシステムユニットを既存のマル
チプロセッサシステムに一体化することにより、追加シ
ステムユニットを受け入れるように必要に応じて多数の
追加クロスバ−モジュールをシステムに簡単に一体化す
ることができる。追加のクロスバ−モジュールの一体化
は、それらの拡張ボートを通してモジュールを直列にリ
ンクすることによって便利に行なわれる。2つ以上のク
ロスバ−モジュールにわたって分散されたソース及び行
き先ノードの直接マツピングは、指定のソース及び行き
先ノードを各々含むクロスバ−モジュール間の対応する
サブマツピングに関して必要な直接マツピングを定める
ことにより、等しく便利に達成される。
第3図は、ソースノードから拡張ボートを経て行き先ノ
ードへ至る直接マツピング及びサブマツピングに使用さ
れるクロスバ−モジュールの好ましいモジュールt1カ
造を示す詳細な回路図である。
図示されたように、クロスバ−モジュール32は、この
モジュールにボートで接続されるべき種々のシステムユ
ニットに対応する複数のデマルチプレクサ(DEMUX
)ユニット4oを備えている。
より詳細には、モジュール32は、CP[JIから発せ
られたデータトランザクションに対応する人力ボート1
としてソースノードを確立するためのDEMUX 1を
備えテイル。コ(7) D E M U X l i;
t、モジュフルに送られた制御信号(CTL)に基づい
て複数の入力経路の選択された1つに入力ポートlを接
続するように構成される。ソースノードを間で切り換え
るところの出力経路の数は、単一のクロスバ−モジュー
ルにボートで接続できるシステムユニットの全数に対応
し、以下で詳細に述べるようにDEMUXIを拡張ボー
トに接続するための付加的な出力路が設けられる。
好ましい実施例によれば、基本的なりロスバーモジュー
ルは、5つまでの個々のシステムユニットに対するデー
タトランザクション路を形成するように設計される。従
って、DEM[JX]は、入力ポート1に接続されたそ
のソースノード、即ちCPU lを6つの出力経路0−
5の間で切り換えるのに用いられ、そのうちの経路0、
l、2.3及び4は、システムユニットがリンクされた
出力ボートを表わす種々の行き先ノードに対応する。
同様に、D E M U X 2は、CPIJ2が接続
された入力ポート2に対応するソースノードを定めるた
?h ニ設Gt ラれており、D [E M U X 
3 ハ、MEMIが接続された入力ポート3をソースノ
ードとして確立するために設けられており、D E M
 U X 4は、l101に対する入力ポート4に対応
するソースノードを確立するために設けられており、そ
してDEMUX5は、5P(Jが接続された入力ポート
5に対応するソースノードを確立するために設けられて
いる。
又、々ロスパー32には、対応する1組のマルチプレク
サ(M U X )が設けられており、その各々は、単
一の出力ボートに対して複数の人力ボートの1つを切り
換え、出力ボートに接続されたシステムユニットが行き
先ノードとしてi%定されるようなデータトランザクシ
ョン経路を確立する。
より詳細には、MUX 1はDEMUXIに対応して設
けられ、参照番号0−5で示された複数の人力経路を有
し、そのうちの経路0.l、2.3及び4は、クロスバ
−モジュールにボートで結ばれた種々のシステムユニッ
トに対するDEMUXユニットの対応する出ツノ路にリ
ンクされる。DEMUXユニットの場合のように、MU
Xユニットにも、以下で述べるようにM U Xユニッ
トを拡張ボートにリンクするための付加的な入力経路が
設けられている。
同様に、M U X 2は、CPU2を出力2における
行き先ノードとして確立し、MEMIを出力ポート3に
おける行き先ノードとして確立し、■10ユニットlを
出力ポート4における行き先ノードとして確立し、そし
てSPUを出力ポート5における行き先ノードとして確
立するために設けられている。各DEMUXユニットに
定められた出力経路の各々は、各MUXユニットの対応
する入力路に接続される。例えば、DIEMtJX 1
の出ツノ路OはMUXIの入力路Oに直接リンクされ、
Dト二MUXIの出力路1はM U X 2の入力路1
にリンクされ、DEMUXの出力路2は〜IUX3の入
力路2にリンクされ、そしてD E M U X 1の
出力路4はMUX4の入力路4にリンクされる。
(一般に、DEMUXn(7)出力mは、MUX (m
+1)の入力(n−1)に接続されるが、説明を明瞭化
するために、これら接続部の全部が第3図に示されてい
ない。)各DEMtJXIに送られる制御信号は、どの
出力経路が入力ポートにリンクされるかを判断する。同
様に、MUXユニットに送られる制御信号は、どの入力
経路がMUXの出力ポートにリンクされるかを決定する
。選択されたDEMUXユニットの入力ポートに定めら
れたソースノードと、別のMLJXユニットの出力ポー
トに定められた行き先ノードとの間のマツピングは、所
望の行き先ノードを含むM[JXユニットに接続された
出力経路を選択するように、所望のソースノードを有す
るDEMUXユニットに制御信号を与えることによって
行なわれる。CPIJIとCPU2との間のデータトラ
ンザクションの場合には、CPUIがボートで接続され
たDEMUXlと、CPU2がボートで接続されたMU
X2との間にデータ経路を確立する必要がある。これを
達成するために、制御信号がDEMUXIに送られ、こ
れは入力ポートl  (CPUIに対する)を出力経路
lにリンクし、そして該経路はMUX 2の人力経路に
リンクされる。それと同時に、MUX2に送られる制御
信号は、入力経路lがM(JX2の出力ポート2に直接
リンクされるように選択される。
本発明の特徴によれば、各クロスバ−モジュールには、
クロスバ−モジュールを互いにリンクしてシステムのソ
ース7行き先ノード・容量を拡張するために付加的なり
EMUX−MUX対が設けられる。より詳細には、各ク
ロスバ−モジュール32には、L) F:Ni U X
 6が設けられ、これはモジュールに使用される他のD
EMtJXユニットと同じであり、DEMUXユニット
に定められた複数の出力路に選択的にリンクされる入力
拡張ボートにおいてソースノードを定める。DEMUX
6に定められた5つの出ノ[0−5のうちの経路O11
,2,3及び4は、マルチプレクサユニットMUXI、
MUX2、MUX3、MUX4及びMUX5に対する入
力拡張路に各々接続される。
同様に、マルチプレクサユニットMUX6は、複数の入
力経路0−5の1つに選択的にリンクできる出力拡張ボ
ートlに行き先ノードを確立するために設けられている
。これらの入力経路のうちの経路O5■、2.3及び4
は、各々、DEMUXI、DEMUX2、DEMtJX
3、D E M U X4及びDEM[JX5に設けら
れた対応する出力拡張経路にリンクされる。DEMUX
6に送られる制御信号は、D E M U X 6の特
定の出力経路を決定し、ひいては、入力拡張ボートにリ
ングされた経路に接続された対応する出力ポートを決定
する。
同様に、MUXユニット6への制御信号は、出力拡張ポ
ートがリンクされる特定の入力経路、ひいては、MLI
X6の出力拡張ポートに接続した選択されたソースノー
ドを含む特定のDEMUXユニットの拡張出力経路を決
定する。
従って、前記の借成は、特定のクロスバ−モジュール内
に定められたソースノードと行き先ノードとの間の直接
的なマツピングを行なえるようにする。クロスバ−モジ
ュールの一部分であるソースノードと、同じクロスバ−
モジュール内にない行き先ノードとの間にデータトラン
ザクションが要求される場合には、適当なり E M 
U Xユニットの出力路がアクティベートされて、対応
するソースノードをクロスバ−モジュール32の出力拡
張ボートにリンクする。その後、出力拡張ボートは、指
定の行き先ノードを含む特定のクロスバ−モジュールの
入力拡張ボートにリンクされる。このようなM U X
ユニットが見つかると、第1グロスバーモジユールの出
力拡張ボートと第2クロスバ−モジュールの入力拡張ポ
ートとの間にリンクが確立される。最終的に、第2のク
ロスバ−モジュールの端において、制御信号がDEMU
X6に送られ、これは、入力拡張ポートを、最終的な行
き先ノードを含むMUXユニットの対応する入ツノ拡張
経路に接続する。例えば、D IE M U X 6の
入力拡張ポートは、この入力拡張ポートと、MUXlの
入力拡張経路5に接続された出力経路■との間にリンク
を確立する制御信号によって、CP[Jlの出力ボート
にリンクすることができる。
追加のクロスバ−モジュールをシステムに一体化すべき
ときには、既存のクロスバーモジュールの出力拡張ボー
トを追加クロスバ−モジュールの入力拡張ポートに接続
しそして追加クロスバ−モジュールの出力拡張ボートを
既存のクロスバ−モジュールの入力拡張ポートに接続す
ることにより、追加のクロスバ−モジュールを既存のシ
ステムに直列にリンクすることが必要とされるだけであ
る。クロスバ−モジュールの基本的な設計j:Q成は同
じであり、必要とされる唯一の変更は、追加めクロスバ
−モジュールに追加の直列接続を施すことである。
第4図は、データスイッチ制御器(DSCI’)50を
用いてクロスバ−モジュールに対する制御信号を発生し
、入ってくるデータトランザクションコマンドにより要
求されるソース7行き先マツピングを確立することを示
すブロック図である。
データスイッチ制御器(DSCT)50は、クロスバ−
モジュールを使用することにより行なうべきデータトラ
ンザクションに関連したソース及び行き先ノードを定め
る制御コマンド信号を受け入れる。制御コマンド52は
、所望のデータトランザクションに対するソース及び行
き先を表わすための指定のビットを有する所定ビット流
の形態であるのが好ましい。好ましい実施例によれば、
入ってくるコマンドに対する制御フィールドは、8つの
データビットより成り、その最上位4ビツトは、ソース
ノードを指定し、一方、次の上位4ビツトはトランザク
ションに対する行き先ノードを表わす。種々のコマンド
及び制御信号に対する好ましいビット数は、各コマンド
及び制御ラインを横切るダブルスラッシュ記号(//)
の隣の数字で第4図に示されている。
第5図は、ソース及び行き先ノードを定めるのに用いる
好ましいビット指定のリストである。
図示されたように、4ビツトの制御フィールドで考えら
れる16の組み合わせのうちの最初の8つは、第2図の
好ましい相互接続ネットワークに示された2つのクロス
バ−モジュールのうちの第1モジユール、即ちモジュー
ル1内のノード指定のためにリザーブされる。これら8
つのビットのうち、10進数O16及び7に対応する制
御ビットは未使用であり、一方、10進数l、2.3.
4及び5に対する制御ビットは、CPLJI、CPtJ
2、MEMI、l101及びSPUに対応するボートを
指定するのに各々用いられる。第2のクロスバ−モジュ
ール、即ちモジュール2のボートを指定するのに用いる
8つの制御ビット指定(10進数の8−15に対応する
)のうち、lO進数の8.13.14及び15に対応す
る制御ビットは未使用であり、10進数9.1O111
及び12に対応する制御ビットは、CPU3、CPIJ
4、MEM2及びl102を表わすボートを指定するの
に各々使用される。
第4図のDSCT50は、データトランザクションに対
するソース及び行き先ノードを定める8ビツトの制御コ
マンドを受け入れ、そしてそれに応答して、制御信号5
4.56を各々発生し、これらは、クロスバ−モジュー
ル1.2の1つ以上に各々存在する所望のソースノード
と行き先ノードとの間のマツピングを確立するのに用い
られる。クロスバ−モジュールを用いた相互接続ネット
ワークの動作と、入ってくる制御コマンドに基づいてD
SCT50により行なわれる制御信号の発生は、一対の
クロスバ−モジュールに関して一例としてここに説明す
る。本発明により構成されたいかなる数のクロスバ−モ
ジュールを用いて、所望数のシステムユニットをマイク
ロプロセッサシステムに受け入れることもできる。例え
ば、DSCT50は、3つ以上のクロスバ−モジュール
に分散されたソースノードと行き先ノードとの間のマツ
ピングを確立する制御信号を発生するために大きな制御
フィールドを有する制御コマンドを受け入れることがで
きる。
第5図に設けられた4ビット制御信号のリストは、2つ
のクロスバ−モジュールに分散されたノード間でボート
指定を区別するためのものであるが、追加のクロスバ−
モジュールを使用するときには追加の制御ビットを含む
ようにリストを便利に拡張することができる。第5図の
制御ビット指定は、別々のクロスバ−モジュールl及び
2に対して指定のノードが定められるかどうかを識別す
るための簡易な手段をj構成するように選択される。よ
り詳細には、第5図に示された制御ビット指定を用いる
ことにより、特定のデータトランザクションに関連した
ソース及び行き先ノードが同じクロスバ−モジュールに
存在するかどうかの判断を、ソース及び行き先ノードの
最上位ビットをテストするだけで便利に行なうことがで
きる。2つのビットが同じであると分かった場合には、
ソースノードと行き先ノードが同じクロスバ−モジュー
ル内にあるという明らかな指示であり、そして2つのビ
ットが異なる場合には、ソースノードと行き先ノードが
2つのクロスバ−モジュールに分散されており、ひいて
は、ノード間のマツピングをするのに2つのモジュール
に拡張ボートを使用しなければならないことが明らかで
ある。同じ構成のクロスバ−モジュールを用いてソース
7行き先マツピングを与えるような上記構成の主たる利
点は、DSCTにリンクされた各クロスバ−モジュール
のための制御信号を発生する入ツノ制御コマンドを処理
する際のDSCT50の動作が相当に簡単化されること
である。より詳細には、種々のクロスバ−モジュールの
マツピング動作を制御するための同じ制御信号を発生す
ることができ、従って、I) S CT 50は、特定
のデータトランザクションを実行するのに必要なソース
及び行き先ノードを定める制御信号を受け入れるべき特
定のクロスバ−モジュールを識別するだけでよい。
好ましい実施例によれば、DSCT50によってクロス
バーモジュールに発生される制御信号は、6ビツトコマ
ンドの形態であり、そのうちの3ビツトの各々は、ソー
ス及び行き先ノードの各々を専用に定める。ソース又は
行き先を識別する特定のビット指定は、クロスバ−モジ
ュールに対する3ビツトのサブ制御値のテーブルである
第6図に示されている。図示されたように、lO進数の
O−5に対応する2進ビツト指定は、各クロスバ−モジ
ュールに定められた5つのボート又はノードを指定する
のに用いられる。これらの値のうちの10進数の1及び
2は、クロスバ−モジュールに配置された第1及び第2
のCPUに対応するボートを定めるのに各々使用される
。lO進数の3.4及び5は、クロスバ−モジュールに
ボートで各々結合されたメモリユニット、I10ユニッ
ト、及びSPUに対応するボートを定めるのに用いられ
るa 10進数の6に対応するビット指定は、モジュー
ルに対する拡張ボートを定める。上記++’l″を成で
は、所与のデータトランザクションに対するサブ制御信
号が一般的に定められ、システム内の全てのクロスバ−
モジュールに定められた各個々のトランザクションノー
ドを識別する個別のビット指定の必要がない。例えば、
2つのクロスバ−モジュールを用いて、4つのCPU 
l−4に対するデータ路をサポートするような第2図の
好ましい実施例では、CPUI及びCPU3に対応する
ボートを識別するビット指定が同じであり、この制御信
号を、所望のノードを含む正しいクロスパーモジュール
に中継することにより所望のデータ路の確立が実行され
る。従って、CPU Iがソースノードとして指定され
るべき場合には、001のビット指定がサブ制御信号と
してクロスバーモジュールlに中継され、一方、CPU
3がソースノードとして指定されるべき場合には、同じ
信号がクロスバ−モジュール2に中継される。
第4図において、DSCT50は、ボート使用不能信号
58を発生し、これは、相互接続ネットワーク内のソー
ス7行き先ノードとして定められた全てのシステムボー
トの瞬時状態を与えるものである。より詳細には、ボー
ト使用不能信号58は、システムボートの数と同数のビ
ットより成り、各ビットは、入ってくるデータトランザ
クション要求によって必要とされるデータ路を確立する
のにその対応ボートが使用できるかどうかを指示する。
所与の時間に1つのデータトランザクションに対するデ
ータ路を確立するのに所与のボートしか使用できないこ
とに注意されたい。従って、データ路を定めるのにボー
トがいったん使用されると、対応するデータトランザク
ションがその経路を経て完了するまで次のトランザクシ
ョン要求に対してそれを使用できないようにしなければ
ならない。このため、上記したようにソースノードと行
き先ノードとの間の直接又は間接的なマツピングによっ
てデータ路がいったん確立されたときにデータ転送の1
1.νlfQ I↑jを定める手段が設けられている。
データトランザクションを完了するのに必要な時間中に
関する情報は、制御コマンド信号52と共にSCUから
受け取られる「サイズ」コマンド60の形態で送られる
。制御コマンド52は、全ての要求されたトランザクシ
ョンに対し、DSCT50により確認できる制御フィー
ルドに対応するように、ソース及び行き先ノードを定め
る。
サイズコマンド60は、各々の必要なデータトランザク
ションと共に与えられ、クロスバーモジュールを用いて
適当なデータ路がいったん確立されたときに実際のデー
タ転送に必要な時間「1」を定める。好ましくは、転送
時間は、指定のトランザクション要求に基づいてデータ
を転送するためのシステムサイクルの所定数に関して定
められる。
本発明の好ましい実施例では、CP[Jユニットからメ
モリユニットへ或いはそれと反対に行なわれる転送は、
常に8個のシステムサイクルを要求するように定められ
、一方、CPU間及びI10ユニット間でCPUからI
10ユニットへ或いはそれと反対に行なわれるデータ転
送は、1つのシステムサイクルしか必要としないように
予め定められる。これらの所定の転送カテゴリの中に入
るデータトランザクションについては、サイズコマンド
が元の制御コマンドを伴う必要がない。然し乍ら、はと
んどのシステムでは、r/○ユニットとメモリユニット
との間の転送は、通常は所定の長さではなく、従って、
データ転送時間も一定ではなく、トランザクションごと
に変化する。サイズコマンドが重要となるのは、このよ
うなトランザクションの場合である。サイズコマンド6
0は、特定のデータトランザクションがその完了にシス
テムサイクルを1つ必要とするか2つ必要とするか4つ
必要とするか8つ必要とするかを指示する2ビット信号
の形態であるのが好ましい。DSCT50は、データト
ランザクションがI10ユニットとメモリユニットとの
1用に要求されたことが決定されたときにのみサイズコ
マンドを使用する。
第7図は、第4図に示されたデータスイッチ制御器50
の好ましいモジュール構造を示すブロック図である。第
7図に示すように、D S CT 50は、SCUから
受け取った付随のサイズコマンドと共に入ってくる元の
制御コマンドを受け入れるコマンドバッファ72を01
8えている。入ってくるコマンドは、コマンドバッファ
からデコードユニット74へラッチアウトされ、デコー
ドユニットは、入ってくるコマンドを更に処理するため
に3つの別々の信号7/IA、7/1B及び7.40に
分割する。信号74Aは、サイズコマンド又はフィール
を表わし、サイズ変換モジュール76に送られる。該モ
ジュールは、2ビツトのサイズコマンドを、時間rlを
定める4つの所定長さコマンドの1つにデコードし、特
定のデータトランザクションに使用されるボートは、更
にデータトランザクションのために使用不能として指定
される。f・n々のシステムボートの使用可能性又は不
能性についての更新された状態を維持するために経路カ
ウンタ78が設けられている。相互接続ネットワーク内
に定められたソース7行き先ノードの各々に対して1つ
のカウンタ(別個に図示せず)が設けられている。
本発明の好ましい実施例においては、2つのcpuと、
1つのMMUと、1つのI10ユニットと、1つのSP
Uと、2つのクロスバ−モジュール各々に設けられた拡
張ポートとに対して各々定められたソース及び行き先ノ
ードに対応する20個のカウンタが設けられる。(拡張
ボートは相互接続ネットワーク内の即時ノードを表わし
、従って、第2図においては、[拡張ポート1の出力J
及び[拡張ポート2の入力Jは同じノードを表わし、1
つの対応するカウンタを有しており、そして[拡張ポー
トlの入力」及び「拡張ポート2の出力」は別の対応カ
ウンタを有する別のノードを表わしている。)カウンタ
78の各々は、単一ビット信号を発生し、この信号は、
サイズ変換モジュール76からの「長さ」信号によりシ
ステムサイクルについて指定された時間[1〕中に「ス
タート」信号に応答してアサートされる。この「スター
ト」信号は、カウント開始手段80によって発生され、
該手段は、ソース及び行き先ビット指定より成るデコー
ダされた信号74Bを受け入れ、これに応答して、その
デコードされた信号により表わされたソース及び行き先
ノードに対応する特定の経路カウンタ78に向けられる
開始信号を発生する。
より詳細には、カウント開始手段80は、複数の4−1
6デコーダを備えており、その各々は、ソース又は行き
先ノードを識別する4ビツトコマンドを受け入れ、トラ
ンザクションに含まれるノードを識別する9つのボート
指定(第5図のリストを参照)の1つにデコードする。
単一ビット信号がそれに対応する経路カウンタに送られ
、ボート使用可能信号の対応ビットが長さ信号により指
定された時間巾に対してアサートされる。
又、デコードユニット74は、指定されたソース及び行
き先ノードに対応するビット指定を表わす15号74C
を出力する。この信号は、拡張デコーダモジュール76
へ送られ、該モジュールは、入ってくる制御コマンドに
よって指定されたソース又は行き先ノードが2つ以上の
クロスバ−モジュールに分散されていて、ソースノード
と行き先ノードとの間のマツピングを与えるのに拡張ポ
ートを使用しなければならないかどうかを判断する。
好ましい実施例では、上記したようにソース及び行き先
ノードに対するビット指定の最上位ビットを比較するこ
とにより判断が便利に行なわれる(第5図のテーブルに
リストされた制御フィールドを参照されたい)。両方の
MSBがどちらもゼロに等しい場合(ソースノード及び
行き先ノードの両方がクロスバ−モジュールl内に含ま
れるときに生じる状態)、拡張デコーダ76は、その後
に発生されるべきサブ制御信号がクロスバ−モジュール
1のみへ中継されるべきであることを指示する。ソース
及び行き先ノードのビット指定が、両方ともlに等しい
MSBをもたねばならないことが分かった場合(ソース
及び行き先ノードの両方がクロスバ−モジュール2内に
存在するという指示である)、デコーダ76は、その後
に発生されるサブ制御信号をクロスバ−モジュール2の
みに中継しなければならない指示を発生する。MS[3
が等しくないことが分かった場合(ソース及び行き先ノ
ードがクロスバーモジュール1及び2の両方に分散され
るという指示)、拡張デコーダ72が信号を発生し、こ
れがカウント開始手段80に中継され、拡張ポートに対
応する経路カウンタ78を作動するベースとして働き、
拡張ポートがデータトランザクションに使用できないと
いう指示を与える。
又、デコーダ74は、ソース及び行き先ノードがクロス
バ−モジュールにわたって分散されるときにサブ制御信
号が両方のクロスバ−モジュールに中継されるべきであ
ることを指示する信号を発生する。入ってくる制御コマ
ンドに基づくサブ制御信号の発生は、デコーダユニット
82により発生される信号を受け入れる制御転送ユニッ
ト84によって実行される。又、制御転送ユニット84
は、デコーダユニット74により発生された信号74C
も受け入れ、これは、ソース及び行き先ノードを指定す
る8ビツトの入力制御コマンドを含む。制御転送ユニッ
ト84の動作は、クロスバ−モジュールl及び2に対す
るソース及び行き先ノード指定がそれらのMSB (第
5図及び6図参照)に対してのみ異なることを考慮すれ
ば、容易に理解されよう。従って、サブ制御信号の発生
は、入ってくる制御コマンドからMSBを剥離すること
を含む。より詳細には、拡張ボートが必要とされないと
きには、制御転送ユニット84が、デコーダ82から受
け取ったソース及び行き先ノードに対するビット指定の
3つのLBSを適当なりロスバーモジュールに中継する
マツピングを与えるために拡張ボートが必要とされると
きには、「サブソース」及び「サブ行き先」に対する指
定を2つのクロスバ−モジュールの各々に中継すること
によりサブ制御信号が発生される。より詳細には、指定
されたソースノードを含むクロスバ−モジュールに対し
、元のソース行き先の3つのLBSを用いて、サブソー
スが定められ、そしてサブ行き先は、クロスバ−モジュ
ールの出力拡張ボートであるように定められる。
同様に、指定された行き先ノードを含むクロスバ−モジ
ュールについては、元のビット指定の3つのLBSがそ
のモジュールに対するサブ行き先ノードを定めるように
保持され、一方、サブソースはそのモジュールの入力拡
張ボートであるように定められる。上記したシステムの
全動作、特に、第6図及び第7図に関連して述べたD 
S CTの動作は、ソースノードがM E M 2であ
るように指定されそして行き先ノードがl101である
ように指定された特定のデータトランザクションを参照
して以下に述べる。第5図を参照すれば、このようなデ
ータトランザクションに対応する元の制御コマンドは、
ソースに対して1011のビット指定を含みそして行き
先に対してoiooのビット指定を含むことが明らかで
ある。拡張デコーダ82においては、ソース及び行き先
のMSBが比較され、それらが異なるので、拡張ボート
が要求されるという指示を与える。同時に、カウント開
始手段80は、ソース及び行き先ビット指定を処理し、
ボートM E M 2及びl101に対応する経路カウ
ンタを使用不能として指定する。
入ってくるコマンドと共に受け取ったサイズフィールド
のデコードは、データトランザクション時間巾が予め定
められたトランザクションカテゴリのもとに入らないト
ランザクションに対して行なえばよい。上記したように
、CPUとメモリユニットとの間の全てのトランザクシ
ョンに対し、データトランザクション時間rjJは、好
ましくは、8つのシステムサイクルとして予め定められ
、方、CPtJとI10ユニットとの間のデータトラン
ザクションの時間中は、好ましくは、1つのシステムサ
イクルとして予め定められる。従って、サイズフィール
ドは、I10ユニットとメモリユニットとの間に生じる
トランザクションに対してデコードされるだけでよい。
第7図のサイズ変換機76は、予め定められたサイズ変
換アルゴリズムを用いて、適当な経路カウンタに中継さ
れるべき長さコマンドを発生し、個の信号は、予め定め
られたデータトランザクション時間1Jの1つを選択す
ることに基づくか又は入ってくるコマンドに付随するサ
イズフィールドをデコードすることに基づく。サイズ変
換アルゴリズムは、特定のトランザクションコマンドが
CPUユニットと、メモリユニット又はI10ユニット
との間のマツピングを必要とするかどうかの判断を含む
。この判1祈が17定であると分かった場合には、予め
定められた適当なトランザクション時間巾を用いて1・
)さコマンドが定められる。サイズフィールドをデコー
ドする必要があるのは、その判断が否定の場合だけであ
る。特に、好ましい実施例によれば、サイズ変換アルゴ
リズムは次の3つのステップを構成する。
(1)第1ステツプにおいては、ソース及び行き先ノー
ドに対するビット指定のビット数3が両方ともlに等し
いかどうかを判断するテストが行なわれる。このテスト
結果が肯定である場合には、データトランザクションが
メインメモリユニット間のマツピングを含み、従って、
予め定められた8サイクルデ一タトランザクシヨン時間
中を用いることができる。
(2)上記ステップ(1)のテスト結果が否定であると
分かった場合には、ビット数3が両方ともlに等しいか
どうかのテストが行なわれる。その判断が肯定であるこ
とは、トランザクションがCPUユニットとI10ユニ
ットとの間のマツピングを必要とし、従って、1システ
ムサイクルの予め定められたデータトランザクション時
間中を使用できることを示す。
(3)ステップ(1)又はステップ(2)の答えが否定
であることが分かり、即ちソース及び行き先ノードに対
応するビット行き先に対するビット数3が互いに等しく
ない場合には、ビット指定が更にテストされ、それらの
どちらかがメモリノードを表わすかどうかを判断する。
より詳細には、これらビット指定が10進数の3を表わ
すか11を表わすか(これらは、各々、M E M 1
及びME〜12に対するボート指定を表わす値である)
を判断するためにチエツクされる(第5図)。これらテ
ストのいずれかに対する答えが肯定であると分かった場
合には、データトランザクションがI10ユニットとメ
モリユニットとの間のマツピングを必要とし、従って、
入ってくるコマンドに付随するサイズフィールドがデコ
ードされて、上記したように[長さJコマンドが発生さ
れることを表わす。このテストの結果が否定である場合
には、トランザクションがI10ユニット間のマツピン
グを必要とし、予め定められた単一サイクルのデータト
ランザクション時間1Jが使用されることを表わす。
上記サイズ変換アルゴリズムを上記の例に適用すること
を考える。CPUIからM E M 2へのデータトラ
ンザクションについては、元のコマンドが、各々、CP
 U l及びM E M 2に対する0OO1及び+0
2(第5図)のビット指定を指示することになる。サイ
ズ変換アルゴリズムのステップlは肯定結果を生じる。
というのは、ソース及び行き先の両ノードに対するビッ
ト数3が実際にゼロに等しいからである。従って、8個
のシステムサイクルの予め定められたデータトランザク
ション時間巾を用いることができ、サイズフィールドを
デコードして長さコマンドを発生する必要はない。
第8図は、クロスバ−モジュールを動作してシステムユ
ニット間の相互接続を与えるのに含まれる全ての手順を
示すフローチャートである。この手順は、競合する通信
要求間に仲裁を行なう第1段階と、優先順位を有する要
求に対する制御コマンドをデコードしてクロスバ−モジ
ュールに制御信号を発生し、コマンドにより指定された
接続を設定する第2段階とを含んでいる。仲裁段階は、
仲R+Q理四回路図示せず)によって行なわれ、その好
ましい形態は、[マルチプロセッサシステムにおいてシ
ステム制御ユニットを用いて通信要求を仲JI見する方
法及び手段(MeLhod and Means fo
rArbitrating Communicat、i
on  RequesLs  Using aSyst
em  Con仁rol  IJnit  jn  a
  Multi−ProcessorSystem)J
と題する1)?i記フリン氏等の米国特許出願に開示さ
れている。コマンドデコード段階は、第4図及び第7図
に示したようにD S CT 50によって行なわれる
第8図において、入ってくる元のコマンドはステップ1
00において受け入れられる。各システムユニットに組
み合わされるのは、例えば、各ユニットから入ってくる
データトランザクションコマンドを受け入れるための各
コマンドバラフチ(図示せず)である。仲裁論理回路(
図示せず)は、その入力として、各コマンドバッファの
内容と、コマンドバッファが現在有効で且つ未実行のコ
マンドを記憶しているかどうかを指示する各フラグと、
ソース、行き先又は拡張ノードが使用できないか又は競
合するコマンドの優先順位が許可されたために実行され
ていないコマンドを含む「待機リスト」もしくは待ち行
列(図示せず)の内容とを受け入れる。ステップ101
においては、コマンドによって指定されたソース及び行
き先ノードをテストして、それらが所要トランザクショ
ンに対するデータ路の確立に使用できるかどうかの判断
がなされる。このようなテストは、経路カウンタ78(
第7図)により出力された経路使用不能信号をテストし
て、入ってくるコマンドに対応するソース及び行き先ノ
ードに対応するビットがアサートされたかどうかを判断
することにより便利に行なわれる。いずれか又は両方の
ノードがコマンドに使用できないことが分かった場合に
は、そのコマンドに対してステップ102がアクセスさ
れ、ノードが使用可能となるまでそのコマンドが[待機
リストJ又は待ち行列に記jQされる。
ステップlotにおいて各ソース及び行き先ノードが使
用可能であると分かったコマンドについては、ステップ
+03において、ソース及び行き先ノードのビット指定
を表わす制御フィールドがテストされ、ソース及び行き
先ノードが同じクロスバ−モジュール内に定められるか
どうかについての判断が成される。別々のクロスバ−モ
ジュールに各ソース及び行き先ノードを有するコマンド
については、ステップ+04において、接続に必要とさ
れる拡張ノードが使用できるかどうかの判断がなされる
。もしできなければ、これらのコマンドを実行するに必
要なリソースが使用できず、それ故、ステップ102に
おいて、これらのコマンドが待機リスト又は待ち行列に
入れられる。さもなくば、ステップ105において、現
在使用できるリソースで実行できるコマンドが1つ以上
ある。このようなコマンドが2つ以上あれば、それらは
、同じソース、行き先又は拡張ノードを要求することが
考えられる。それ故、ステップ+05は、ソース、行き
先及び拡張ノードに対して競合するコマンド間で仲裁を
とることを必要とする。
好ましくは、仲裁は、システムリソースを効率的に用い
るように行なわれ、これについては、1989年2月3
日に出願された[マルチプロセッサシステムにおいてシ
ステム制御ユニットを用いて通信要求を仲裁する方法及
び手段(Mettiod andMeans  for
  Arbitrating  Communicat
ion  RequestsUsing  A  Sy
stem  Control  tJni仁 In  
A  MuJti−Processor System
)J と題する前記プリン氏等の米国特許出願筒3.6
,828号に開示されている。コマンドが仲裁によって
許可されないことがステップ106で決定されると、ス
テップ102において、コマンドが「待機リスト」又は
待ち行列に記憶され、次の機会に更に仲裁される。
ステップ107において、この手順の仲裁段階が完了し
、デコード段階が開始される。優先順位が許可されたコ
マンドの制御フィールドは、指定のソース及び行き先ノ
ードが同じクロスバ−モジュールにあるかどうかを判断
するためにテストされる。もしそうであれば、ステップ
108において、ソース及び行き先の両ノードを含むク
ロスバ−モジュールに制御信号が送られ、それらの間に
直接的なマツピングが確立される。上記したように、入
ってくる元のコマンドから最上位ビットを剥離しそして
残りの3ビツトを制御信号として対応するクロスバ−モ
ジュールに与えることにより制御を発するのが好ましい
ステップ+07の答えが否定であると分かった場合、即
ちソース及び行き先ノードが同じクロスパーモジュール
内にないと分かった場合には、必要な゛マツピングを確
立するためにクロスバ−モジュールの拡張ボートが必要
とされることを指示する。それ故、ステップ109にお
いて、入ってくるコマンドにより指定されたソース及び
行き先ノードを含むクロスバーモジュールが識別される
好ましい実施例において、これは、ソース及び行き先ノ
ードに対するビット指定のMSBをテストすることによ
って行なわれ(好ましくは、第7図の拡張デコーダモジ
ュール82により)、即ちMSBがOに等しいと分かっ
た場合には、ノードがクロスバ−モジュールl内に配置
されていることが明らかであり、そしてMSBが1に等
しいと分かった場合には、そのノードがクロスバ−モジ
ュール2内に含まれることが明らかである。
ステップl 1.0において、拡張ポートを通してサブ
マツピングを確立する制御信号は、ソース及び行き先ノ
ードを含むクロスバ−モジュールに送られる。前記した
ように、直接マツピングは、次の2つのサブマツピング
によって行なわれる。
(1)入ってくるコマンドにより定められたソ−スノー
ドと、ソースノードを含むクロスバ−モジュールに定め
られた拡張ボートとの間のマツピング。
(2)入ってくるコマンドにより定められた行き先ノー
ドを含むクロスバ−モジュールと、定められた行き先ノ
ードとの間のサブマツピング。
例えば、上記の例を考えると、CPUIとMEM2との
間の直接的なマツピングは、クロスバ−モジュールlの
CPUに対するボートからクロスバ−モジュールlの出
力拡張ボートへのサブマツピングと、クロスバ−モジュ
ール2のMEM2に対するボートからMEM2の入力拡
張ボートへの第2のサブマツピングとによって得られる
。モジュールl及び2の拡張ボート間に確立された直列
リンクは、モジュールlからモジュール2への接続路を
与える。
ステップ108及び+10のいずれかが完了すると、ス
テップ111へ進み、これは上記のサイズ変換アルゴリ
ズムの使用によりデータトランザクション時間巾を識別
することを含む。最後に、ステップ112において、最
初に指定されたソースノードと行き先ノードとの間のマ
ツピングを確立するのに必要なソース、行き先及び拡張
ポートは、適当な経路使用不能信号を発生することによ
り、識別されたデータトランザクション時間巾に対して
使用不能とされる。次いで、更に別のコマンドに対して
手順が繰り返される。
【図面の簡単な説明】
第1図は、システム制御ユニット(SCU)に、複数の
プロセッサ及び入力/出力(I/O)ユニットと共有メ
モリとをリンクするための接続ネットワークが設けられ
たマルチプロセッサコンピュータシステムを示す節li
tなブロック図、第2図は、第1図のマルチプロセッサ
システムに使用するための拡張ポートを通して直列にリ
ンクされた一対のクロスバ−モジュールの形態の好まし
い相互接続ネットワークを簡単に示す図、第3図は、ク
ロスバ−モジュールの基本的なモジュール構成を示す詳
細な回路図で、拡張ノードを含む出力ノードに対して入
力ノードをいかにマツピングするかを示す図、 第4図は、データスイッチ制御器により確認されるデー
タトランザクションコマンドと、クロスバ−モジュール
を制御するためにデータスイッチ制御器により発生され
る各制御信号とを示すブロック図。 第5図は、第3図に示したクロスバ−モジュールの2段
構成に対するソース7行き先ポートを定めるための好ま
しい制御入力を示すテーブル、第6図は、通信要求を実
行するためにサブマツピングが必要とされるときにクロ
スバ−モジュールに対するサブソース及びサブ行き先を
定めるための好ましい制御入力を示すテーブル、第7図
は、第4図のデータスイッチ制御器に対する好ましいモ
ジュール構造を示すブロック図、そして 第8図は、クロスバ−モジュールを制御して、システム
ユニット間に要求されたデータトランサ。 クシコン経路を確立するために、通信要求の仲裁と、許
可された要求に対するデータスイッチ制御器の応答とを
示すフローチャートである。 IO・・・コンピュータシステム 12・・・中央処理ユニット(CPtJ)14・・・入
力/出力(I/O)ユニット16・・・メインメモリ 18・・・システム制御ユニット(SCtJ)20・・
・相互接続ネットワーク 22・・・サービスプロセッサ/コンソースユニ・ソ 
ト (SPU) 24・・・専用インターフェイス手段 32・・・クロスバ−モジュール1 34・・・クロスバ−モジュール2

Claims (10)

    【特許請求の範囲】
  1. (1)複数のシステムユニットを並列形態で動作するた
    めのシステム制御ユニット(SCU)を有する種類のマ
    ルチプロセッサシステムにおいて、上記システムユニッ
    トは、複数の中央処理ユニット(CPU)と、少なくと
    も1つの入力/出力(I/O)ユニットと、少なくとも
    1つのメインメモリユニット(MMU)とを含むもので
    あり、更に、通信コマンドによりソース及び行き先ノー
    ドとして指定されたシステムユニット間でデータトラン
    ザクションを行なうための通信路を確立する相互接続手
    段が、 少なくとも2つのクロスバーモジユールを具備し、各モ
    ジュールは、固定数のソースオペランドの1つと、そこ
    に形成された同じ固定数の行き先ノードの1つとの間に
    直接経路又はマッピングを確立するためのものであり、
    上記ソース及び行き先ノードは、上記システムユニット
    の別々のものに対応する1つのクロスバーモジュールに
    設けられるのであって他のクロスバーモジュールに設け
    られるものではなく、そして 更に、各々の上記モジュールは、少なくとも1つの拡張
    ソースノードと、少なくとも1つの対応する拡張行き先
    ノードとを含んでおり、これを通してクロスバーモジュ
    ールを接続して、上記クロスバーモジュールの1つに定
    められたソースノードと上記クロスバーモジュールの別
    のものに定められた行き先ノードとの間にデータ路を確
    立できることを特徴とするマルチプロセッサシステム。
  2. (2)上記相互接続手段は、更に、 データトランザクションを実行するためにソース及び行
    き先ノードを指定する制御コマンドを受け入れるための
    手段と、 指定されたソース及び行き先ノードが単一のクロスバー
    モジュール上に定められるか又は個別のクロスバーモジ
    ュール上に定められるかを決定するための手段と、 上記ノード間の直接マツピングによって所要のデータ路
    を確立するためにソースノード及び行き先ノードの両方
    を含む上記単一のクロスバーモジュールに制御信号を発
    生するための手段と、上記ノード間の間接的なマツピン
    グによって所要のデータ路を確立するためにソース及び
    行き先ノードが別々に定められた上記クロスバーモジュ
    ールの各々に別々の制御信号を発生するための手段とを
    備えており、上記間接的なマツピングは、(i)上記ソ
    ースノードを含むクロスバーモジュールの拡張ノードと
    指定のソースノードとの間の第1のサブマツピングと、
    (ii)上記行き先ノードを含むクロスバーモジュール
    の拡張ノードと指定の行き先ノードとの間の第2のサブ
    マツピングとによって確立される請求項1に記載のマル
    チプロセッサシステム。
  3. (3)上記相互接続手段は、更に、データトランザクシ
    ョン路を確立するために所与の時間に使用されているソ
    ースノード、行き先ノード及び拡張ノードが他のトラン
    ザクション路の確立のために利用できないことを指示す
    るビジー信号を選択された時間周期で発生するための手
    段を備えている請求項2に記載のマルチプロセッサシス
    テム。
  4. (4)上記システムは、4つのCPUと、2つのMMU
    と、2つのI/Oユニットと、1つのサービスプロセッ
    サユニット(SPU)とを備え、上記相互接続手段は、
    2つのクロスバーモジュールを備え、各クロスバーモジ
    ュールは、2つのCPUと、1つのI/Oユニットと、
    1つのMMUと、1つのSPUとに各々対応する5つま
    でのソースノードと行き先ノードとの間に相互接続部を
    形成するように用いられる請求項1に記載のマルチプロ
    セッサシステム。
  5. (5)相互接続手段によって受け入れられた制御コマン
    ドは、所要のトランザクション路を確立する必要のある
    時間周期を定めるサイズコマンドを含み、上記ビジー信
    号を発生するために上記相互接続手段内に設けられた上
    記手段は、ある所定のデータトランザクションについて
    は所定の時間中上記信号を発生しそして他のデータトラ
    ンザクションについては上記サイズコマンドに基づいて
    ビジー信号を発生する請求項3に記載のマルチプロセッ
    サシステム。
  6. (6)複数の中央処理ユニット(CPU)と、少なくと
    も1つの入力/出力(I/O)ユニットと、少なくとも
    1つのメインメモリユニット(MMU)とを含む複数の
    システムユニットと、通信コマンドによりソース及び行
    き先ノードとして指定されたシステムユニット間でデー
    タトランザクションを行なう通信路を確立するための相
    互接続手段とを具備し、この相互接続手段は、少なくと
    も2つのクロスバーモジュールを備え、各モジュールは
    、固定数のソースノードの1つとこれに対して定められ
    た同じ固定数の行き先ノードの1つとの間そして少なく
    とも1つの拡張ソースノードと少なくとも1つの対応す
    る拡張行き先ノードとの間に直接路を確立する手段を備
    えており、1つのクロスバーモジュールの拡張ソース及
    び拡張行き先ノードは、他のモジュールの各々の拡張行
    き先及び拡張ソースノードに接続されて、1つのクロス
    バーモジュールに定められたソースノードと他のクロス
    バーモジュールに定められた行き先ノードとの間にデー
    タ路を形成できるようにし、 更に、データトランザクションを実行するためのソース
    及び行き先ノードを指定する制御コマンドを受け入れる
    手段と、 指定されたソース及び行き先ノードが単一のクロスバー
    モジュールに定められるか又は別々のクロスバーモジュ
    ールに定められるかを判断するための手段と、 上記ノード間の直接マツピングによって所要のデータ路
    を確立するようにソースノード及び行き先ノードの両方
    を含む上記単一のクロスバーモジュールへ制御信号を発
    生する手段と、 上記ノード間の間接的なマツピングによって所要のデー
    タ路を確立するためにソース及び行き先ノードが別々に
    定められた上記クロスバーモジユールの各々に別々の制
    御信号を発生するための手段とを備えており、上記間接
    的なマツピングは、(i)上記ソースノードを含むクロ
    スバーモジュールの拡張ノードと指定のソースノードと
    の間の第1のサブマツピングと、(ii)上記行き先ノ
    ードを含むクロスバーモジュールの拡張ノードと指定の
    行き先ノードとの間の第2のサブマツピングとによって
    確立されることを特徴とするマルチプロセッサコンピュ
    ータシステム。
  7. (7)上記相互接続手段は、更に、データトランザクシ
    ョン路を確立するために所与の時間に使用されているソ
    ースノード、行き先ノード及び拡張ノードが他のトラン
    ザクション路の確立のために利用できないことを指示す
    るビジー信号を選択された時間周期で発生するための手
    段を備えている請求項6に記載のマルチプロセッサシス
    テム。
  8. (8)相互接続手段によって受け入れられた制御コマン
    ドは、所要のトランザクション路を確立する必要のある
    時間周期を定めるサイズコマンドを含み、上記ビジー信
    号を発生するために上記相互接続手段内に設けられた上
    記手段は、ある所定のデータトランザクションについて
    は所定の時間中上記信号を発生しそして他のデータトラ
    ンザクションについては上記サイズコマンドに基づいて
    ビジー信号を発生する請求項7に記載のマルチプロセッ
    サシステム。
  9. (9)上記システムは、4つのCPUと、2つのMMU
    と、2つのI/Oユニットと、1つのサービスプロセッ
    サユニット(SPU)とを備え、各クロスバーモジユー
    ルは、2つのCPUと、1つのI/Oユニットと、1つ
    のMMUと、1つのSPUとに各々接続された5つのソ
    ースノードと行き先ノードとを有している請求項6に記
    載のマルチプロセッサシステム。
  10. (10)4つの中央処理ユニット(CPU)と、2つの
    入力/出力(I/O)ユニットと、2つのメインメモリ
    ユニット(MMU)とを含む複数のシステムユニットと
    、 通信コマンドによりソース及び行き先ノードとして指定
    されたシステムユニット間でデータトランザクションを
    行なう通信路を確立するための相互接続手段とを具備し
    、上記相互接続手段は、少なくとも2つのクロスバーモ
    ジユールを備え、各モジュールは、5つのソースノード
    の1つとそこに定められた5つの行き先ノードの1つと
    の間そして少なくとも1つの拡張ソースノードと少なく
    とも1つの対応する拡張行き先ノードとの間に直接路を
    確立する手段を備え、5つのソース及び行き先ノードは
    、各2つのCPUと、各1つのI/Oユニットと、各1
    つのMMUと、SPUとに接続され、1つのクロスバー
    モジュールの拡張ソース及び拡張行き先ノードは、他の
    モジュールの各々の拡張行き先及び拡張ソースノードに
    接続されて、1つのクロスバーモジュールに定められた
    ソースノードと他のクロスバーノードに定められた行き
    先ノードとの間にデータ路を確立できるようにすること
    を特徴とするマルチプロセッサコンピュータシステム。
JP2014720A 1989-02-03 1990-01-24 マルチプロセッサシステム内のシステムユニット間でデータトランザクションを行なうモジュール式クロスバー相互接続ネットワーク Pending JPH02271460A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/306,336 US4968977A (en) 1989-02-03 1989-02-03 Modular crossbar interconnection metwork for data transactions between system units in a multi-processor system
US306336 1989-02-03

Publications (1)

Publication Number Publication Date
JPH02271460A true JPH02271460A (ja) 1990-11-06

Family

ID=23184841

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014720A Pending JPH02271460A (ja) 1989-02-03 1990-01-24 マルチプロセッサシステム内のシステムユニット間でデータトランザクションを行なうモジュール式クロスバー相互接続ネットワーク

Country Status (7)

Country Link
US (1) US4968977A (ja)
EP (2) EP0380851B1 (ja)
JP (1) JPH02271460A (ja)
AT (2) ATE161983T1 (ja)
AU (1) AU628524B2 (ja)
CA (1) CA1324835C (ja)
DE (2) DE68929317T2 (ja)

Families Citing this family (77)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2567922B2 (ja) * 1988-08-30 1996-12-25 株式会社日立製作所 パス制御方式
US5123011A (en) * 1989-09-27 1992-06-16 General Electric Company Modular multistage switch for a parallel computing system
WO1991005375A1 (en) * 1989-09-29 1991-04-18 Syracuse University Method and apparaus for simulating an interconnection network
US5107489A (en) * 1989-10-30 1992-04-21 Brown Paul J Switch and its protocol for making dynamic connections
US5239654A (en) * 1989-11-17 1993-08-24 Texas Instruments Incorporated Dual mode SIMD/MIMD processor providing reuse of MIMD instruction memories as data memories when operating in SIMD mode
CA2036688C (en) * 1990-02-28 1995-01-03 Lee W. Tower Multiple cluster signal processor
US5261059A (en) * 1990-06-29 1993-11-09 Digital Equipment Corporation Crossbar interface for data communication network
WO1992003792A1 (en) * 1990-08-10 1992-03-05 Syracuse University Method and apparatus for routing and partitioning a multistage interconnection network and for determining network passability
US5276813A (en) * 1990-08-31 1994-01-04 International Business Machines Corp. Acquiring addresses in an input/output system
EP0472829A3 (en) * 1990-08-31 1993-01-07 International Business Machines Corporation Multicomputer complex and distributed shared data memory
US5495474A (en) * 1991-03-29 1996-02-27 International Business Machines Corp. Switch-based microchannel planar apparatus
JP3187525B2 (ja) * 1991-05-17 2001-07-11 ヒュンダイ エレクトロニクス アメリカ バス接続装置
JPH0512117A (ja) * 1991-07-04 1993-01-22 Toshiba Corp キヤツシユ一致化方式
US5410300A (en) * 1991-09-06 1995-04-25 International Business Machines Corporation Distributed crossbar switch architecture
US5237658A (en) * 1991-10-01 1993-08-17 Tandem Computers Incorporated Linear and orthogonal expansion of array storage in multiprocessor computing systems
US5280586A (en) * 1991-10-03 1994-01-18 Compaq Computer Corp. Expandable communication system using data concentration
WO1993009502A1 (en) * 1991-10-30 1993-05-13 I-Cube Design Systems, Inc. Field programmable logic module
US5287461A (en) * 1991-10-31 1994-02-15 Sun Microsystems, Inc. Method and apparatus for remotely accessing a plurality of server consoles
US5251208A (en) * 1991-12-19 1993-10-05 At&T Bell Laboratories Digital signal processor synchronous network
JP3479538B2 (ja) * 1991-12-26 2003-12-15 テキサス インスツルメンツ インコーポレイテツド 半導体集積回路を製作する方法
WO1993020508A1 (en) * 1992-04-07 1993-10-14 Digital Equipment Corporation Entity management system with remote call feature
CA2099033A1 (en) * 1992-09-17 1994-03-18 Howard Thomas Olnowich Switch-based personal computer interconnection apparatus
EP0588030A3 (en) * 1992-09-17 1995-01-25 Ibm Master microchannel device for conversion to switch architecture.
US5388099A (en) * 1992-10-22 1995-02-07 Digital Equipment Corporation Backplane wiring for hub in packet data communications system
US5309426A (en) * 1993-01-26 1994-05-03 International Business Machines Corporation High performance cascadable simplex switch
US5493651A (en) * 1993-02-16 1996-02-20 International Business Machines Corporation Method and system for dequeuing connection requests in a simplex switch
US5398239A (en) * 1993-12-08 1995-03-14 The United States Of America As Represented By The Secretary Of The Navy Crosspoint analog data selector
EP0660239A1 (en) * 1993-12-17 1995-06-28 International Business Machines Corporation Data transfer between computing elements
US5619722A (en) * 1994-01-18 1997-04-08 Teramar Group, Inc. Addressable communication port expander
DE29519211U1 (de) * 1995-12-04 1996-03-28 Siemens Ag Rechner
DE19606629A1 (de) * 1996-02-22 1997-08-28 Siemens Nixdorf Inf Syst Mehrprozessor-Zentraleinheit
US5751710A (en) * 1996-06-11 1998-05-12 Cisco Technology, Inc. Technique for connecting cards of a distributed network switch
US5940367A (en) * 1996-11-06 1999-08-17 Pluris, Inc. Fault-tolerant butterfly switch
US6243838B1 (en) 1997-05-13 2001-06-05 Micron Electronics, Inc. Method for automatically reporting a system failure in a server
US6499073B1 (en) 1997-05-13 2002-12-24 Micron Electronics, Inc. System using programmable processor for selectively enabling or disabling power to adapter in response to respective request signals
US6173346B1 (en) 1997-05-13 2001-01-09 Micron Electronics, Inc. Method for hot swapping a programmable storage adapter using a programmable processor for selectively enabling or disabling power to adapter slot in response to respective request signals
US6272648B1 (en) 1997-05-13 2001-08-07 Micron Electronics, Inc. System for communicating a software-generated pulse waveform between two servers in a network
US6269412B1 (en) 1997-05-13 2001-07-31 Micron Technology, Inc. Apparatus for recording information system events
US6170028B1 (en) 1997-05-13 2001-01-02 Micron Electronics, Inc. Method for hot swapping a programmable network adapter by using a programmable processor to selectively disabling and enabling power thereto upon receiving respective control signals
US6202111B1 (en) 1997-05-13 2001-03-13 Micron Electronics, Inc. Method for the hot add of a network adapter on a system including a statically loaded adapter driver
US6192434B1 (en) 1997-05-13 2001-02-20 Micron Electronics, Inc System for hot swapping a programmable adapter by using a programmable processor to selectively disabling and enabling power thereto upon receiving respective control signals
US6253334B1 (en) 1997-05-13 2001-06-26 Micron Electronics, Inc. Three bus server architecture with a legacy PCI bus and mirrored I/O PCI buses
US6249828B1 (en) 1997-05-13 2001-06-19 Micron Electronics, Inc. Method for the hot swap of a mass storage adapter on a system including a statically loaded adapter driver
US6304929B1 (en) 1997-05-13 2001-10-16 Micron Electronics, Inc. Method for hot swapping a programmable adapter by using a programmable processor to selectively disabling and enabling power thereto upon receiving respective control signals
US5987554A (en) * 1997-05-13 1999-11-16 Micron Electronics, Inc. Method of controlling the transfer of information across an interface between two buses
US6179486B1 (en) 1997-05-13 2001-01-30 Micron Electronics, Inc. Method for hot add of a mass storage adapter on a system including a dynamically loaded adapter driver
US6247080B1 (en) 1997-05-13 2001-06-12 Micron Electronics, Inc. Method for the hot add of devices
JPH11143847A (ja) * 1997-11-10 1999-05-28 Fujitsu Ltd データ処理装置
DE19756591B4 (de) 1997-12-18 2004-03-04 Sp3D Chip Design Gmbh Vorrichtung zum hierarchischen Verbinden einer Mehrzahl von Funktionseinheiten in einem Prozessor
US6038630A (en) * 1998-03-24 2000-03-14 International Business Machines Corporation Shared access control device for integrated system with multiple functional units accessing external structures over multiple data buses
US6421746B1 (en) * 1998-03-26 2002-07-16 Micron Electronics, Inc. Method of data and interrupt posting for computer devices
US6240492B1 (en) * 1998-05-22 2001-05-29 International Business Machines Corporation Memory interface for functional unit of integrated system allowing access to dedicated memory and shared memory, and speculative generation of lookahead fetch requests
US6378029B1 (en) 1999-04-21 2002-04-23 Hewlett-Packard Company Scalable system control unit for distributed shared memory multi-processor systems
US6597692B1 (en) 1999-04-21 2003-07-22 Hewlett-Packard Development, L.P. Scalable, re-configurable crossbar switch architecture for multi-processor system interconnection networks
US6263415B1 (en) 1999-04-21 2001-07-17 Hewlett-Packard Co Backup redundant routing system crossbar switch architecture for multi-processor system interconnection networks
FR2796447B1 (fr) 1999-07-13 2001-08-17 Valeo Vision Projecteur pour vehicule automobile avec un double cache mobile
US6760743B1 (en) * 2000-01-04 2004-07-06 International Business Machines Corporation Instruction memory system for multi-processor environment and disjoint tasks
US7058750B1 (en) * 2000-05-10 2006-06-06 Intel Corporation Scalable distributed memory and I/O multiprocessor system
US6680939B1 (en) 2000-09-14 2004-01-20 Nvision, Inc Expandable router
US6950893B2 (en) * 2001-03-22 2005-09-27 I-Bus Corporation Hybrid switching architecture
US7996592B2 (en) * 2001-05-02 2011-08-09 Nvidia Corporation Cross bar multipath resource controller system and method
US20020172197A1 (en) * 2001-05-18 2002-11-21 Dale Michele Zampetti System interconnect with minimal overhead suitable for real-time applications
US6556345B1 (en) * 2001-06-21 2003-04-29 Onetta, Inc. Optical network equipment with control and data paths
US7124410B2 (en) * 2002-01-09 2006-10-17 International Business Machines Corporation Distributed allocation of system hardware resources for multiprocessor systems
US7158512B1 (en) 2002-04-01 2007-01-02 P-Cube Ltd. System and method for scheduling a cross-bar
JP4421812B2 (ja) 2002-07-08 2010-02-24 日本電気株式会社 診断機能を有するコンピュータシステム
CN1200533C (zh) * 2002-07-08 2005-05-04 华为技术有限公司 一种实现系统设备内部模块间的通信方法
US7024510B2 (en) * 2003-03-17 2006-04-04 Hewlett-Packard Development Company, L.P. Supporting a host-to-input/output (I/O) bridge
US6957415B1 (en) * 2003-06-04 2005-10-18 Sandia Corporation Method for self-organizing software
US7451219B2 (en) 2003-11-05 2008-11-11 International Business Machines Corporation Determining server resources accessible to client nodes using information received at the server via a communications medium
KR100812225B1 (ko) * 2005-12-07 2008-03-13 한국전자통신연구원 멀티프로세서 SoC 플랫폼에 적합한 크로스바 스위치구조
US8156273B2 (en) * 2007-05-10 2012-04-10 Freescale Semiconductor, Inc. Method and system for controlling transmission and execution of commands in an integrated circuit device
US20090063608A1 (en) * 2007-09-04 2009-03-05 Eric Oliver Mejdrich Full Vector Width Cross Product Using Recirculation for Area Optimization
CN102122259A (zh) * 2011-03-03 2011-07-13 浪潮(北京)电子信息产业有限公司 一种高端容错计算机原型验证系统及验证方法
CN102129418B (zh) * 2011-03-07 2013-04-17 浪潮(北京)电子信息产业有限公司 一种高端容错计算机系统及实现方法
US9497519B2 (en) * 2013-03-18 2016-11-15 Oplink Communications, Inc. Twin multicast switch
KR20140126195A (ko) * 2013-04-22 2014-10-30 삼성전자주식회사 배치 쓰레드 처리 기반의 프로세서, 그 프로세서를 이용한 배치 쓰레드 처리 방법 및 배치 쓰레드 처리를 위한 코드 생성 장치

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63172362A (ja) * 1987-01-12 1988-07-16 Fujitsu Ltd プロセツサ間通信方式

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3585309A (en) * 1968-12-09 1971-06-15 Stromberg Carlson Corp Crosspoint network path finding system
US3916380A (en) * 1974-11-06 1975-10-28 Nasa Multi-computer multiple data path hardware exchange system
US4038638A (en) * 1976-06-01 1977-07-26 Bell Telephone Laboratories, Incorporated Efficient rearrangeable multistage switching networks
US4173713A (en) * 1977-02-07 1979-11-06 International Telephone & Telegraph Corporation Continuously expandable switching network
US4396984A (en) * 1981-03-06 1983-08-02 International Business Machines Corporation Peripheral systems employing multipathing, path and access grouping
US4417244A (en) * 1981-09-01 1983-11-22 International Business Machines Corp. Automatic path rearrangement for blocking switching matrix
DE3204900C2 (de) * 1982-02-12 1983-12-15 Siemens AG, 1000 Berlin und 8000 München Koppelanordnung
US4663706A (en) * 1982-10-28 1987-05-05 Tandem Computers Incorporated Multiprocessor multisystem communications network
US4547880A (en) * 1983-05-13 1985-10-15 Able Computer Communication control apparatus for digital devices
US4577308A (en) * 1984-04-06 1986-03-18 At&T Bell Laboratories Multiplexed interconnection of packet switching node packages
US4635250A (en) * 1984-04-13 1987-01-06 International Business Machines Corporation Full-duplex one-sided cross-point switch
US4695999A (en) * 1984-06-27 1987-09-22 International Business Machines Corporation Cross-point switch of multiple autonomous planes
US4706150A (en) * 1984-06-29 1987-11-10 International Business Machines Corporation Switching protocal for multiple autonomous switching planes
US4653085A (en) * 1984-09-27 1987-03-24 At&T Company Telephone switching system adjunct call processing arrangement
JPH0628361B2 (ja) * 1984-11-27 1994-04-13 国際電信電話株式会社 パケツト交換方式
US4752777A (en) * 1985-03-18 1988-06-21 International Business Machines Corporation Delta network of a cross-point switch
US5062076A (en) * 1985-07-12 1991-10-29 Wang Laboratories, Inc. Cascadable, high-bandwidth, multi-channel image transfer controller
US4821034A (en) * 1987-02-06 1989-04-11 Ancor Communications, Inc. Digital exchange switch element and network
US4845722A (en) * 1987-10-16 1989-07-04 Digital Equipment Corporation Computer interconnect coupler employing crossbar switching

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63172362A (ja) * 1987-01-12 1988-07-16 Fujitsu Ltd プロセツサ間通信方式

Also Published As

Publication number Publication date
EP0380851B1 (en) 1998-01-07
AU5393390A (en) 1991-12-19
DE68929317T2 (de) 2002-05-16
CA1324835C (en) 1993-11-30
EP0759594A3 (en) 1997-05-14
EP0759594B1 (en) 2001-07-18
DE68928530T2 (de) 1998-06-10
EP0380851A2 (en) 1990-08-08
DE68928530D1 (de) 1998-02-12
EP0380851A3 (en) 1990-12-27
DE68929317D1 (de) 2001-08-23
AU628524B2 (en) 1992-09-17
ATE203339T1 (de) 2001-08-15
US4968977A (en) 1990-11-06
ATE161983T1 (de) 1998-01-15
EP0759594A2 (en) 1997-02-26

Similar Documents

Publication Publication Date Title
JPH02271460A (ja) マルチプロセッサシステム内のシステムユニット間でデータトランザクションを行なうモジュール式クロスバー相互接続ネットワーク
US6282583B1 (en) Method and apparatus for memory access in a matrix processor computer
US5872987A (en) Massively parallel computer including auxiliary vector processor
EP0085520B1 (en) An array processor architecture utilizing modular elemental processors
Swan et al. The implementation of the Cm* multi-microprocessor
US5418970A (en) Parallel processing system with processor array with processing elements addressing associated memories using host supplied address value and base register content
JPH02242364A (ja) マルチプロセッサシステムにおいてシステム制御ユニットを用いて通信要求を仲裁するための方法及び手段
US5210828A (en) Multiprocessing system with interprocessor communications facility
JPH05197674A (ja) マルチプロセッサシステム用アービトレーション装置および同方法
JPH09172460A (ja) パケット交換コンピュータ・システムにおける高速転送スレーブ要求の方法および装置
US4941086A (en) Program controlled bus arbitration for a distributed array processing system
JPS58501923A (ja) サブシステムコントロ−ラのためのインタ−フェイス回路
WO1984000226A1 (en) Interconnecting plane for modular array processor
JPH11345175A (ja) 代替パス制御システム及び方法
TW380226B (en) Using intelligent bridges with pico-code to improve interrupt response
US6701388B1 (en) Apparatus and method for the exchange of signal groups between a plurality of components in a digital signal processor having a direct memory access controller
EP1035479A2 (en) System for processing vector data
JPS58149555A (ja) 並列処理装置
EP1193607B1 (en) Apparatus and method for the exchange of signal groups between a plurality of components in a digital signal processor having a direct memory access controller
IE901533A1 (en) Modular crossbar interconnection network for data¹transactions between system units in a multi-processor¹system
JP2003196251A (ja) マルチcpuシステム
JP2760808B2 (ja) データ処理装置
Srini et al. Parallel DSP with memory and I/O processors
JPH05508046A (ja) 多重プロセッサシステムのための高速割込み機構
JP3388344B2 (ja) 相互結合網、相互結合網自己診断システム及び相互結合網自己診断方法