JPH021086A - クロスバースイッチ - Google Patents
クロスバースイッチInfo
- Publication number
- JPH021086A JPH021086A JP28114588A JP28114588A JPH021086A JP H021086 A JPH021086 A JP H021086A JP 28114588 A JP28114588 A JP 28114588A JP 28114588 A JP28114588 A JP 28114588A JP H021086 A JPH021086 A JP H021086A
- Authority
- JP
- Japan
- Prior art keywords
- crossbar switch
- memory
- crossbar
- cycle
- delay
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000015654 memory Effects 0.000 claims abstract description 72
- 239000013598 vector Substances 0.000 claims description 34
- 238000012546 transfer Methods 0.000 claims description 8
- 230000002457 bidirectional effect Effects 0.000 claims description 5
- 238000012545 processing Methods 0.000 abstract description 15
- 238000013461 design Methods 0.000 abstract description 4
- 238000004519 manufacturing process Methods 0.000 abstract description 2
- 206010065954 Stubbornness Diseases 0.000 abstract 1
- 239000011449 brick Substances 0.000 abstract 1
- 239000011159 matrix material Substances 0.000 description 17
- 238000010586 diagram Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 8
- 235000019161 pantothenic acid Nutrition 0.000 description 8
- GHOKWGTUZJEAQD-ZETCQYMHSA-N (D)-(+)-Pantothenic acid Chemical compound OCC(C)(C)[C@@H](O)C(=O)NCCC(O)=O GHOKWGTUZJEAQD-ZETCQYMHSA-N 0.000 description 6
- 238000013507 mapping Methods 0.000 description 5
- 238000007792 addition Methods 0.000 description 3
- 230000001934 delay Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000000034 method Methods 0.000 description 2
- 240000007594 Oryza sativa Species 0.000 description 1
- 235000007164 Oryza sativa Nutrition 0.000 description 1
- 240000007320 Pinus strobus Species 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 238000001816 cooling Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 235000009566 rice Nutrition 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 230000007847 structural defect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
- G06F15/17356—Indirect interconnection networks
- G06F15/17368—Indirect interconnection networks non hierarchical topologies
- G06F15/17375—One dimensional, e.g. linear array, ring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Multi Processors (AREA)
- Advance Control (AREA)
- Complex Calculations (AREA)
- Use Of Switch Circuits For Exchanges And Methods Of Control Of Multiplex Exchanges (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
産業上の利用分野
本発明はスーパーコンピュータに関し、詳述すれば、高
度な並行処理(highly paralle1)アー
キテクチャを用いた高々速高情報(large gra
in)コンピュータ・ノード・システム用クロスバ−ス
イッチに関する。
度な並行処理(highly paralle1)アー
キテクチャを用いた高々速高情報(large gra
in)コンピュータ・ノード・システム用クロスバ−ス
イッチに関する。
従来の技術
一般ニ、スーパーコンピュータとは、1秒間に1億の浮
動少数点演算(MPLOPS)を実行しうるコンピュー
タをさしている。例えばクレイ型スーパーコンピュータ
のようなものは、■サイクル約4ns程度の非常に速い
クロックを用い、この驚異的な性能を達成している。と
ころが、高速クロックを用いると、相当量の発熱を伴う
ので、スーパーコンピュータは水没させて冷却する必要
がある。
動少数点演算(MPLOPS)を実行しうるコンピュー
タをさしている。例えばクレイ型スーパーコンピュータ
のようなものは、■サイクル約4ns程度の非常に速い
クロックを用い、この驚異的な性能を達成している。と
ころが、高速クロックを用いると、相当量の発熱を伴う
ので、スーパーコンピュータは水没させて冷却する必要
がある。
また、従来のスーパーコンピュータは、設計上、夫々の
小部屋にハードウェアを収納させておき、その小部屋を
累計するだけでも、本体の物理的寸法か大きくならざる
をえない。従って、このようなスーパーコンピュータは
、どうしても研究所用にと、用途が限られている。
小部屋にハードウェアを収納させておき、その小部屋を
累計するだけでも、本体の物理的寸法か大きくならざる
をえない。従って、このようなスーパーコンピュータは
、どうしても研究所用にと、用途が限られている。
発明の目的
本発明は、複数のプロセッサ・ノードからなり、各プロ
セッサ・ノードにおける複数の浮動少数点演算ユニット
のいずれかが複数ある並行メモリ・モジュールのいずれ
かと通信できるようにする新規なりロスバースイッチを
備えている高度な並行処理アーキテクチャを提供するこ
とにより、前述の諸問題点を解消することを目的とする
ものである。クロスバ−スイッチの構成、即ち、各浮動
少数点演算ユニットと各並行メモリ・モジュールとの間
の接続関係は、実行しているアルゴリズムに従ってサイ
クル毎に動的に変えることができる。
セッサ・ノードにおける複数の浮動少数点演算ユニット
のいずれかが複数ある並行メモリ・モジュールのいずれ
かと通信できるようにする新規なりロスバースイッチを
備えている高度な並行処理アーキテクチャを提供するこ
とにより、前述の諸問題点を解消することを目的とする
ものである。クロスバ−スイッチの構成、即ち、各浮動
少数点演算ユニットと各並行メモリ・モジュールとの間
の接続関係は、実行しているアルゴリズムに従ってサイ
クル毎に動的に変えることができる。
クロスバ−を用いるにあたって、従わなければならない
ルールがあるけれども、特定のアルゴリズムにつき、浮
動少数点演算ユニットが高並行処理でデータにアクセス
したり、それに基いて作用することでスーパーコンピュ
ータとしての性能を完遂するようにデータがメモリに振
り分けられる。
ルールがあるけれども、特定のアルゴリズムにつき、浮
動少数点演算ユニットが高並行処理でデータにアクセス
したり、それに基いて作用することでスーパーコンピュ
ータとしての性能を完遂するようにデータがメモリに振
り分けられる。
高並行処理操作ができろクロスバ−スイッチは、基本的
には2つの部分、即ち、マルチプレクサと制御部とて構
成されている。マルチプレクサは信号路の実際の切換え
、即ち、各浮動少数点演算ユニットを各クロックサイク
ルごとに特定の並行メモリに接続する働きをする。これ
に対して、制御部は、実行しているアルゴリズムに従っ
て各クロックサイクル毎になすべき接続関係を決定する
働きをする。制御部の回路における選択自在なパイプラ
イン方式による遅延により、平行な双方向データバスを
用い、メモリの読み取り書き込みを交互に行なう方式を
用いた広範囲のアレー・プロセシングアルゴリズムにお
いてプロセッサとメモリ・モジュール間でのデータ伝送
作用を最適化しうる。
には2つの部分、即ち、マルチプレクサと制御部とて構
成されている。マルチプレクサは信号路の実際の切換え
、即ち、各浮動少数点演算ユニットを各クロックサイク
ルごとに特定の並行メモリに接続する働きをする。これ
に対して、制御部は、実行しているアルゴリズムに従っ
て各クロックサイクル毎になすべき接続関係を決定する
働きをする。制御部の回路における選択自在なパイプラ
イン方式による遅延により、平行な双方向データバスを
用い、メモリの読み取り書き込みを交互に行なう方式を
用いた広範囲のアレー・プロセシングアルゴリズムにお
いてプロセッサとメモリ・モジュール間でのデータ伝送
作用を最適化しうる。
本発明の高並行処理アーキテクチャによれば、従来のP
Cクロック速度程度のサイクル1oansで稼動するク
ロックを用いて、本当のスーパーコンピュータの性能を
実現することができる。従って、本発明によるスーパー
コンピュータでは、嫁励時の発熱量は過大なものではな
く、空冷でこと足りるものである。
Cクロック速度程度のサイクル1oansで稼動するク
ロックを用いて、本当のスーパーコンピュータの性能を
実現することができる。従って、本発明によるスーパー
コンピュータでは、嫁励時の発熱量は過大なものではな
く、空冷でこと足りるものである。
本発明のアーキテクチャには、既製品か使われており、
それら従来のスーパーコンピュータのl/3程度の嵩の
スタンドアーロン機にまとめられている。これにより、
また、空冷できることも相まって、本発明のスーパーコ
ンピュータを、従来、演算能力からして不可能であった
研究所以外での用途に使うことができる。また、本発明
の高並行処理構成では、クロスバ−スイッチを介してプ
ロセシング・ノードを再構築(reconf igur
ing)することにより、大抵の構造欠陥をバイパスさ
せろことができるから、動作している構成部分のみが使
われ、欠陥検出は休止セクションに対して行なわれるこ
とになる。
それら従来のスーパーコンピュータのl/3程度の嵩の
スタンドアーロン機にまとめられている。これにより、
また、空冷できることも相まって、本発明のスーパーコ
ンピュータを、従来、演算能力からして不可能であった
研究所以外での用途に使うことができる。また、本発明
の高並行処理構成では、クロスバ−スイッチを介してプ
ロセシング・ノードを再構築(reconf igur
ing)することにより、大抵の構造欠陥をバイパスさ
せろことができるから、動作している構成部分のみが使
われ、欠陥検出は休止セクションに対して行なわれるこ
とになる。
実施例
以後、添付図面を参照しながら、本発明の一実施例を説
明する。
明する。
I 序:アーキテクチャと作用原理
第1図に、プロセッサ・ノードlのシステム全体のアー
キテクチャを示す。複数の浮動少数点演算ユニット(F
PAU)2は、複数の並行メモリ(PMEM)6とクロ
スバ−スイッチ(XBAR)4を介して接続されている
。後述する本発明のクロスバ−スイッチ4は、FPAU
2のどれもがPMEM6のどれにも接続されるようにな
っている。
キテクチャを示す。複数の浮動少数点演算ユニット(F
PAU)2は、複数の並行メモリ(PMEM)6とクロ
スバ−スイッチ(XBAR)4を介して接続されている
。後述する本発明のクロスバ−スイッチ4は、FPAU
2のどれもがPMEM6のどれにも接続されるようにな
っている。
好ましい実施例では、本発明のプロセッサ・ノードは、
+ 60MELOPシステム構成からなる。
+ 60MELOPシステム構成からなる。
第2図に示すように、プロセッサ・ノードlは、あるノ
ードをそのすぐ隣のノードと共通の入出カプロセッサ8
に接続するなりにネートワーク化してもよい。第2図で
はノードが8個あるものとして示したが、好ましい実施
例では64個のプロセッサ・ノード1をネートワーク化
してシステムの性能をI O,000MFLOPSとす
ることができるから、集中演算および高帯域入出力を伴
う用途でリアルタイム稼動を実現することができる。本
発明は、空冷でき、従って、船とか飛行機とかのうねり
やすい移動台に設置することもできるという点で、斯る
性能を有する最初のもの(system)である。
ードをそのすぐ隣のノードと共通の入出カプロセッサ8
に接続するなりにネートワーク化してもよい。第2図で
はノードが8個あるものとして示したが、好ましい実施
例では64個のプロセッサ・ノード1をネートワーク化
してシステムの性能をI O,000MFLOPSとす
ることができるから、集中演算および高帯域入出力を伴
う用途でリアルタイム稼動を実現することができる。本
発明は、空冷でき、従って、船とか飛行機とかのうねり
やすい移動台に設置することもできるという点で、斯る
性能を有する最初のもの(system)である。
第1図に戻って、ホストプロセッサIOは、全てのプロ
セッサ・ノードlに共通のものであって、各ノード!に
おけるマイクロ・コントローラ・エグゼクティブ(mi
cro controller executive)
12と情報を交したり、ダウンロードすることにより
、ノードの構成とフィードを制御する。ホストプロセッ
サ10は、システムと人間との間のインターフェースを
なすフロー・グラフ(flow graph)エディタ
ーとフローコンパイラ−(図示せず)を稼動させる。内
部ノードアーキテクチャには、FPAU2゜XBAR4
,PMEM6の他に、マイクロ・コントローラ・エグゼ
クティブ12が含まれていて、各ノード内でのタスクを
モニターしたりスケジューリングするとともに各ノード
とその隣のノードとの間での入出力をコーデイネートす
る。
セッサ・ノードlに共通のものであって、各ノード!に
おけるマイクロ・コントローラ・エグゼクティブ(mi
cro controller executive)
12と情報を交したり、ダウンロードすることにより
、ノードの構成とフィードを制御する。ホストプロセッ
サ10は、システムと人間との間のインターフェースを
なすフロー・グラフ(flow graph)エディタ
ーとフローコンパイラ−(図示せず)を稼動させる。内
部ノードアーキテクチャには、FPAU2゜XBAR4
,PMEM6の他に、マイクロ・コントローラ・エグゼ
クティブ12が含まれていて、各ノード内でのタスクを
モニターしたりスケジューリングするとともに各ノード
とその隣のノードとの間での入出力をコーデイネートす
る。
各プロセッサ・ノードは“数値クランチング(numb
er crunching)”の増加調整機能が発揮
できるようにモジュール化されて構成されている。従っ
て、各ノードは、20〜160MFLOPSの演算能力
を発揮できるのである。また、本発明のアーキテクチャ
では、各ノード毎に下記の性能を発揮できる。
er crunching)”の増加調整機能が発揮
できるようにモジュール化されて構成されている。従っ
て、各ノードは、20〜160MFLOPSの演算能力
を発揮できるのである。また、本発明のアーキテクチャ
では、各ノード毎に下記の性能を発揮できる。
□8個全てのFPAUが8個のPMEMメモリに対して
連続的に読み書き動作を行っていると、秒当り8千万ワ
ードのバスのバンド幅を達成できる。クロスバ−の切換
えを制御するアルゴリズムは、システムハードウェアを
最大限利用するようにできているので、大部分のアルゴ
リズムでは、そのアルゴリズムの実行時に達成できるバ
スの全バンド幅の割合は、100%に近い。
連続的に読み書き動作を行っていると、秒当り8千万ワ
ードのバスのバンド幅を達成できる。クロスバ−の切換
えを制御するアルゴリズムは、システムハードウェアを
最大限利用するようにできているので、大部分のアルゴ
リズムでは、そのアルゴリズムの実行時に達成できるバ
スの全バンド幅の割合は、100%に近い。
□夫々が秒当り1000万の命令を連続実行する、8個
の完全同期、同時稼動するF’PAUを用いることによ
り、秒当り8000万の命令をシステムが実行できる。
の完全同期、同時稼動するF’PAUを用いることによ
り、秒当り8000万の命令をシステムが実行できる。
一各FPAUは、1回の命令サイクル時に2回の浮動少
数点演算(乗算、加算、両者)と、1回の固定点論理演
算(one fixed pointarithmet
ic/logic operation)を行うことが
できる。全てのFPAUが最大速度(their pe
ak rate)で同時に浮動少数点演算を行う場合、
システム全体の性能は160MELOPにもなる。とこ
ろが、実際は、行うべき浮動少数点演算の数は実行され
ているアルゴリズムによっては変るものである。例えば
、秒当り8000万ワードの最大速度でメモリに対して
データを読み書きするラディクス(radix)−2F
F’Tアルゴリズムの場合、必要な演算性能は120M
ELOPである。また、約100%のバスの全バンド幅
でデータをメモリに対して読み書きするコンポルージョ
ン(convolut 1on)アルゴリズムでは、最
大約100%ピークMl”LOPの割合で演算を行うこ
とができる。
数点演算(乗算、加算、両者)と、1回の固定点論理演
算(one fixed pointarithmet
ic/logic operation)を行うことが
できる。全てのFPAUが最大速度(their pe
ak rate)で同時に浮動少数点演算を行う場合、
システム全体の性能は160MELOPにもなる。とこ
ろが、実際は、行うべき浮動少数点演算の数は実行され
ているアルゴリズムによっては変るものである。例えば
、秒当り8000万ワードの最大速度でメモリに対して
データを読み書きするラディクス(radix)−2F
F’Tアルゴリズムの場合、必要な演算性能は120M
ELOPである。また、約100%のバスの全バンド幅
でデータをメモリに対して読み書きするコンポルージョ
ン(convolut 1on)アルゴリズムでは、最
大約100%ピークMl”LOPの割合で演算を行うこ
とができる。
本発明のプロセッサは、新規なりロスバースイッチ(X
BAR)4を用いることにより、広範囲の信号処理用ア
ルゴリズムにわたって高性能を発揮できるものである。
BAR)4を用いることにより、広範囲の信号処理用ア
ルゴリズムにわたって高性能を発揮できるものである。
XBARは8個までのFPAUをして、それまた8個ま
での異ったメモリ・モジュール(PMEM)、アドレス
、データ、読み書き制御バスを延長することができる。
での異ったメモリ・モジュール(PMEM)、アドレス
、データ、読み書き制御バスを延長することができる。
即ち、各FPAUにより選択されたメモリは、サイクル
毎に動的に変えられ、複数のFPAUが同一バス伝送サ
イクル時に同一メモリに書き込みを行うことはない。
毎に動的に変えられ、複数のFPAUが同一バス伝送サ
イクル時に同一メモリに書き込みを行うことはない。
しかし、全てのFPAUが、“放送読みサイクル(br
oadcast read cycle)”と呼称
されているサイクル時に、単一のメモリの同一アドレス
から読み出しを行うことはありうる。このバスのクラッ
シュをさけるには、信号処理用アルゴリズムを、このよ
うなルールがこわされないようにしておかねばならない
。
oadcast read cycle)”と呼称
されているサイクル時に、単一のメモリの同一アドレス
から読み出しを行うことはありうる。このバスのクラッ
シュをさけるには、信号処理用アルゴリズムを、このよ
うなルールがこわされないようにしておかねばならない
。
プロセッサは、高速フーリエ変換(F F T)、逆行
列、特異値分解などの標亭ベクトルタイプの呼出し可能
な高級言語を用いたサブルーチンにより稼動される。大
部分のチャンネルのデータは、適応フィルタとイメージ
強調の如きのアルゴリズムを用いて処理される。システ
ム供給源はホスト10から割当てられるので、最大性能
が達成されて供給源の遊びを減少さけることができる。
列、特異値分解などの標亭ベクトルタイプの呼出し可能
な高級言語を用いたサブルーチンにより稼動される。大
部分のチャンネルのデータは、適応フィルタとイメージ
強調の如きのアルゴリズムを用いて処理される。システ
ム供給源はホスト10から割当てられるので、最大性能
が達成されて供給源の遊びを減少さけることができる。
ホスト10をオペレータインターフェースとして使うつ
もりがないのなら、切り離すことらできる。この場合、
ホストIOからの出力は、ソナーやレーダーの如くの専
用(embedded)用途に適したエグゼクティブ・
コントローラに設けたFROMに処理(burn)され
る。
もりがないのなら、切り離すことらできる。この場合、
ホストIOからの出力は、ソナーやレーダーの如くの専
用(embedded)用途に適したエグゼクティブ・
コントローラに設けたFROMに処理(burn)され
る。
例えばFFTとかの単一アルゴリズムを開発するに当っ
ては、FPAUはアルゴリズムの割当てられた部分を行
うようにプログラミングしておく。
ては、FPAUはアルゴリズムの割当てられた部分を行
うようにプログラミングしておく。
アルゴリズムが−たんできれば、クロスバ−の用法を別
途計画する必要なく、あらゆる用途に使うことができる
。換言すれば、信号処理用アルゴリズムを開発すれば、
XBAR4は、このアルゴリズムを用いる用途に対して
は障害がな((trans−parent)、8個のF
PAUはユーザーにとっては、個々のFPAUの性能の
8倍有する1つのプロセッサと見えるようになる。
途計画する必要なく、あらゆる用途に使うことができる
。換言すれば、信号処理用アルゴリズムを開発すれば、
XBAR4は、このアルゴリズムを用いる用途に対して
は障害がな((trans−parent)、8個のF
PAUはユーザーにとっては、個々のFPAUの性能の
8倍有する1つのプロセッサと見えるようになる。
P M E Mにおけるメモリ選択は、各FPAUのア
ドレス出力の最下位3桁ビットをデコードすることによ
り達成しうる。8個のFPAUが同時にメモリアクセス
(前述の放送読取以外)を行っているのであれば、それ
ぞれの出力アドレスの最下位3桁ビットは、クロスバ−
使用ルールに従うために、全て統一されている。
ドレス出力の最下位3桁ビットをデコードすることによ
り達成しうる。8個のFPAUが同時にメモリアクセス
(前述の放送読取以外)を行っているのであれば、それ
ぞれの出力アドレスの最下位3桁ビットは、クロスバ−
使用ルールに従うために、全て統一されている。
第3図にメモリアドレスマツピング図を示す。
同図において、各行は、夫々異った物理的メモリを示し
ており、各行における各セルに記入した数値は、メモリ
のそのセルにアクセスするのに必要なアドレスを示す。
ており、各行における各セルに記入した数値は、メモリ
のそのセルにアクセスするのに必要なアドレスを示す。
メモリへのデータベクトルとマトリックスのマツピング
パターンは、第4図と第5図とに夫々示しである。尚、
ベクトルとマトリックスを示した行は全てのメモリにわ
たっている。他方、各マトリックス列は、8gIのメモ
リのどれか1つに完全に含まれている。以後、このよう
な型式のデータについて、クロスバ−・ルールを説明す
る。
パターンは、第4図と第5図とに夫々示しである。尚、
ベクトルとマトリックスを示した行は全てのメモリにわ
たっている。他方、各マトリックス列は、8gIのメモ
リのどれか1つに完全に含まれている。以後、このよう
な型式のデータについて、クロスバ−・ルールを説明す
る。
一次元データアレー(ベクトル)の場合、複数のFPA
Uが同一ベクトルエレメントに同時にアクセスすること
はできないし、また、8つの位置の整数倍だけ互いに置
き換っているベクトルエレメントにアクセスすることも
できない。
Uが同一ベクトルエレメントに同時にアクセスすること
はできないし、また、8つの位置の整数倍だけ互いに置
き換っているベクトルエレメントにアクセスすることも
できない。
二次元データアレー(マトリックス)の場合、複数のF
PAUは同一列ベクトルないし、8列の整数倍だけ置き
換っている列ベクトルからどれかのエレメントに同時に
アクセスすることはできない。
PAUは同一列ベクトルないし、8列の整数倍だけ置き
換っている列ベクトルからどれかのエレメントに同時に
アクセスすることはできない。
但し、ベクトルとマトリックスとにアクセスするに当っ
てのこのルールには例外があって、放送読取サイクル時
がこれにあてはまり、その場合、ベクトルないしマトリ
ックスの各エレメントが全てのFPAUにより同時にア
クセスされる。
てのこのルールには例外があって、放送読取サイクル時
がこれにあてはまり、その場合、ベクトルないしマトリ
ックスの各エレメントが全てのFPAUにより同時にア
クセスされる。
−見したところこのようなルールは非常に厳しいものの
ように見えるが、下記の例からすれば、クロスバ−アー
キテクチャには汎用性があって、しかも簡素なものであ
ることがわかるであろう。
ように見えるが、下記の例からすれば、クロスバ−アー
キテクチャには汎用性があって、しかも簡素なものであ
ることがわかるであろう。
■ 例:マトリックス−マトリックス乗算2つのマトリ
ックス“八”と“B”とを乗算すれば、積マトリックス
“C”ができる。このアルゴリズムの真髄は、マトリッ
クス“A“の列ベクトルとマトリックス“B”の行ベク
トルの全ゆる組合せのベクトル内積(積の和゛)を繰返
して算出するところにある。このアルゴリズムのデータ
の流れを第6図に示す。
ックス“八”と“B”とを乗算すれば、積マトリックス
“C”ができる。このアルゴリズムの真髄は、マトリッ
クス“A“の列ベクトルとマトリックス“B”の行ベク
トルの全ゆる組合せのベクトル内積(積の和゛)を繰返
して算出するところにある。このアルゴリズムのデータ
の流れを第6図に示す。
データの流れのシーケンスの第1段は、PMEMメモリ
からマトリックス“B“の最初の8列ベクトルを、EP
AU内の係数メモリに転送する。各FPAUは8列ベク
トルのうちの1つを読出す(夫々、別々のPMEMに位
置されている)が、これらのベクトルはどれも8位置の
整数倍になっていないから、全ての8FPAUは、バス
・クラッシュ(bus clash)を伴うことなく対
応するベクトルを同時に読み出す。
からマトリックス“B“の最初の8列ベクトルを、EP
AU内の係数メモリに転送する。各FPAUは8列ベク
トルのうちの1つを読出す(夫々、別々のPMEMに位
置されている)が、これらのベクトルはどれも8位置の
整数倍になっていないから、全ての8FPAUは、バス
・クラッシュ(bus clash)を伴うことなく対
応するベクトルを同時に読み出す。
その後、マトリックス“A”の最初の列ベクトルを8F
PAUに放送読み出しを行なって、ベクトルエレメント
の積の和を算出する。各FPAUは、各命令サイクル時
に乗算と加算とを行うから、ベクトル内積が“A”ベク
トルエレメントがメモリからFPAUへ転送されるや否
や算出されろ。データ転送サイクルが終りになる頃、8
FPAUの夫々が積マトリックス(product m
atrix)の1つのエレメントを算出する。これらの
エレメントが“c″マトリツクス最初の行の最初の8個
のエレメントを構成しており、しかも、連続したカラム
に含まれていることから、同時にPMEMに書き込まれ
る。
PAUに放送読み出しを行なって、ベクトルエレメント
の積の和を算出する。各FPAUは、各命令サイクル時
に乗算と加算とを行うから、ベクトル内積が“A”ベク
トルエレメントがメモリからFPAUへ転送されるや否
や算出されろ。データ転送サイクルが終りになる頃、8
FPAUの夫々が積マトリックス(product m
atrix)の1つのエレメントを算出する。これらの
エレメントが“c″マトリツクス最初の行の最初の8個
のエレメントを構成しており、しかも、連続したカラム
に含まれていることから、同時にPMEMに書き込まれ
る。
“A”マトリックスの全ての行について曲性の第2段を
くり返すことにより、積マトリックス“C“の最初の8
列が生ずるのである。その後、マトリックス“B”に含
まれている別の8列について、曲性のプロセスを順次繰
返せば、積マトリックスに対応する列が生ずる。
くり返すことにより、積マトリックス“C“の最初の8
列が生ずるのである。その後、マトリックス“B”に含
まれている別の8列について、曲性のプロセスを順次繰
返せば、積マトリックスに対応する列が生ずる。
このような処理シーケンスを行っている間、クロスバ−
スイッチ4は最大効率で利用することができるとともに
、第1処理段階の折々発生(occasional o
ccurrence)を除けばF’PAUも最大演算能
力のらとで稼動する。
スイッチ4は最大効率で利用することができるとともに
、第1処理段階の折々発生(occasional o
ccurrence)を除けばF’PAUも最大演算能
力のらとで稼動する。
■、クロスバースイッチアーキテクチャクロスバ−スイ
ッチは相互接続ネットワーク(interconnec
tion network)型である。純粋な形では、
全ての装置が同時に通信できるようにしている。このス
イッチは、マルチプレクサ−と制御部との2つの部分で
構成されている。
ッチは相互接続ネットワーク(interconnec
tion network)型である。純粋な形では、
全ての装置が同時に通信できるようにしている。このス
イッチは、マルチプレクサ−と制御部との2つの部分で
構成されている。
マルチプレクサー部は、信号路の実際の切換えを行う。
一般に、各装置(即ち、PMEMとFPAU)からスイ
ッチへの信号路があって、スイッチの構成がどの対の装
置を接続すべきかを決定する。本当のクロスバ−にあっ
ては、全ての接続が可能である。
ッチへの信号路があって、スイッチの構成がどの対の装
置を接続すべきかを決定する。本当のクロスバ−にあっ
ては、全ての接続が可能である。
スイッチの制御部は、成る時点でどの接続を行うべきか
を決定する。各FPAUは、各メモリアクセスサイクル
時にクロスバースイッヂに対して制御フィールドのFP
AUが受は持つ部分を供給する。FPAtJの制御フィ
ールドのセットが、あるメモリアクセスサイクル時にス
イッチの構成を決定する。従って、クロスバ−スイッチ
の構成は、FPAUマイクロ・コードアルゴリズムが開
発された時点ですでにきまっている。こうすることによ
り、稼動時にPMEMにアクセスするに当って任意性が
必要なくなり、それにより、クロスバ−スイッチをして
約100%の効率で稼動せしめることができる。
を決定する。各FPAUは、各メモリアクセスサイクル
時にクロスバースイッヂに対して制御フィールドのFP
AUが受は持つ部分を供給する。FPAtJの制御フィ
ールドのセットが、あるメモリアクセスサイクル時にス
イッチの構成を決定する。従って、クロスバ−スイッチ
の構成は、FPAUマイクロ・コードアルゴリズムが開
発された時点ですでにきまっている。こうすることによ
り、稼動時にPMEMにアクセスするに当って任意性が
必要なくなり、それにより、クロスバ−スイッチをして
約100%の効率で稼動せしめることができる。
XBARのアーキテクチャは、下記の性能特性を達成す
る。
る。
1、速度: 各バスに1つのデータをセットして通過さ
せるのに、lクロックサイクル以下要するのみである。
せるのに、lクロックサイクル以下要するのみである。
2 フレキシビリティ; 各クロックサイクル毎にオン
にすることができる。
にすることができる。
3、簡潔(Fall−through)デザイン: ア
ーキテクチャにパイプラインステージを付加するような
ことはしない。
ーキテクチャにパイプラインステージを付加するような
ことはしない。
4、拡張性: 種々のプロセッサ(FPAU)とメモリ
(PMEM)を扱うことができる。
(PMEM)を扱うことができる。
5、組立て性(Modularity) : 容易に
接続できる通常の積木状構造(building bl
ock)でできている。
接続できる通常の積木状構造(building bl
ock)でできている。
6、頑強性: 軍需ハードウェア仕様に合格しうる。
7、費用効果: 小型で、しかも、製造容易。
好ましい実施例においては、XBAR4は、既製部品で
構成されており、しかも、印刷回路板を2枚用いている
のみである。1枚の印刷回路板は、基本板(backp
lane (mother board))であり、も
う1枚の印刷回路板は付属板(daughter bo
ard)である。本明細書では、3つの大きさのXBA
Rにっいて説明するが、設計上の基本概念は、説明され
ているものよりはらっと普遍的なものである。
構成されており、しかも、印刷回路板を2枚用いている
のみである。1枚の印刷回路板は、基本板(backp
lane (mother board))であり、も
う1枚の印刷回路板は付属板(daughter bo
ard)である。本明細書では、3つの大きさのXBA
Rにっいて説明するが、設計上の基本概念は、説明され
ているものよりはらっと普遍的なものである。
クロスバ−の大きさを3つの数字で示す。1つはシステ
ムにおけるF’PAUの数、もう1つはPMEMの数、
残る1つは各バスにおいて転送されるビット数である。
ムにおけるF’PAUの数、もう1つはPMEMの数、
残る1つは各バスにおいて転送されるビット数である。
後述の好ましい実施例では、XBAR4は、8個のFP
AUから8個のPMEMへ64個の信号を供給する8×
8×64クロスバ−である。
AUから8個のPMEMへ64個の信号を供給する8×
8×64クロスバ−である。
付属板は、クロスバ一部それ自体のミニチュア版からな
る。特徴を述べれば、4ビットからなる8本のPMEM
バスに4ビットからなる8本のFPAUバスを接続する
8x8x4ビットクロスバ−である(第7図参照)。こ
のカードのマルチプレクサー部に人出する信号は、合計
64信号である。
る。特徴を述べれば、4ビットからなる8本のPMEM
バスに4ビットからなる8本のFPAUバスを接続する
8x8x4ビットクロスバ−である(第7図参照)。こ
のカードのマルチプレクサー部に人出する信号は、合計
64信号である。
(全ての信号はECL 10に差分式(differe
ntia1)なので、各信号に2線必要。この点につい
ては後述する。)付属板には、40制御信号が供給され
るようになっている。8本のバスの夫々につき、5ビッ
トの制御がある(3ビットはPMEMセレクト、1ビッ
トはイネーブル・ランドで、方向制御ビット)。このよ
うなカードを16枚並列積層(“stacking”)
することにより、64ビットのワイド・メモリが1.4
または8ビットワイド・メモリ装置で構成されるのと同
様に、8x8x4ビットクロスバ−ができる。この8×
8×4付属板カードは、4×4クロスバ−にしては充分
すぎるものである。8本あるFPAU接続線のうちの4
本と、8本あるPMEM接続線のうちの4本のみ利用す
る。残りの接続線は放置する(第9図参照)。
ntia1)なので、各信号に2線必要。この点につい
ては後述する。)付属板には、40制御信号が供給され
るようになっている。8本のバスの夫々につき、5ビッ
トの制御がある(3ビットはPMEMセレクト、1ビッ
トはイネーブル・ランドで、方向制御ビット)。このよ
うなカードを16枚並列積層(“stacking”)
することにより、64ビットのワイド・メモリが1.4
または8ビットワイド・メモリ装置で構成されるのと同
様に、8x8x4ビットクロスバ−ができる。この8×
8×4付属板カードは、4×4クロスバ−にしては充分
すぎるものである。8本あるFPAU接続線のうちの4
本と、8本あるPMEM接続線のうちの4本のみ利用す
る。残りの接続線は放置する(第9図参照)。
このように、これらのカードのうちの16枚か4X4X
64クロスバ−を構成することになる。しかし、残りの
接続線は、放置する必要はない。8×8マルチプレクサ
ー部の上半分は、4×4マルチプレクサ−として利用す
る。下半分については、これもまた4×4マルチプレク
サ−として利用できる。よって、8×8×4カードは、
2枚の4×4×4“カード”として機能することもでき
る。4本のFPAUバスと、4本のPMEMバス、各バ
スに8ビット(第9図)あることから、4X4X8カー
ドと想定することもできる。
64クロスバ−を構成することになる。しかし、残りの
接続線は、放置する必要はない。8×8マルチプレクサ
ー部の上半分は、4×4マルチプレクサ−として利用す
る。下半分については、これもまた4×4マルチプレク
サ−として利用できる。よって、8×8×4カードは、
2枚の4×4×4“カード”として機能することもでき
る。4本のFPAUバスと、4本のPMEMバス、各バ
スに8ビット(第9図)あることから、4X4X8カー
ドと想定することもできる。
同様に、8×8×4カードをして、2×2×16カード
(第1O図)として機能せしめることもできる。事実、
8×8×4カードは、これを適切に設計しておけば、1
6x16x2カード、もしくは32X32xlカードと
して機能しうる。かくて、大規模スイッチができるので
ある。但し、物理的限定事項として、カードの大きさ、
所要論理装置の数、I10接続ピンの数がある。バスの
本数が増えれば、所要制御ラインの数も増えるが、信号
ラインの本数は一定である。
(第1O図)として機能せしめることもできる。事実、
8×8×4カードは、これを適切に設計しておけば、1
6x16x2カード、もしくは32X32xlカードと
して機能しうる。かくて、大規模スイッチができるので
ある。但し、物理的限定事項として、カードの大きさ、
所要論理装置の数、I10接続ピンの数がある。バスの
本数が増えれば、所要制御ラインの数も増えるが、信号
ラインの本数は一定である。
最大所要
信号ライス 制御ライン数
2×2×16 64 64×
4×8 64 168x
8x4 64 4016x1
6x2 64 9632x32x
l 64 22464x64xl
128 512XBAR4のマルチ
プレクサー部を通る64ビット情報には、データが32
ビット、バイト方向データパリティが4ビット、垂直ア
ドレスが24ビット、バイト方向アドレスパリティが3
ビット、パイプライン制御が1ビット含まれている。こ
の64ビットがECL I OK差分信号として供給さ
れるのである。この64ビット情報は、各FPAU2か
らXBAR4へと8本の20ねじり導線対リボンケーブ
ルを介して供給され、また、同数のケーブルを通してX
BAR4からPMEMへと供給される。データとパリテ
ィの36ビットは双方向性であるので、各FPAUが選
択されたPMEM6に対して読み書きできるようになっ
ている。また、垂直アドレスの27ビットは一方向性で
あって、FPAU2からPMEM6へと行くのみである
。
4×8 64 168x
8x4 64 4016x1
6x2 64 9632x32x
l 64 22464x64xl
128 512XBAR4のマルチ
プレクサー部を通る64ビット情報には、データが32
ビット、バイト方向データパリティが4ビット、垂直ア
ドレスが24ビット、バイト方向アドレスパリティが3
ビット、パイプライン制御が1ビット含まれている。こ
の64ビットがECL I OK差分信号として供給さ
れるのである。この64ビット情報は、各FPAU2か
らXBAR4へと8本の20ねじり導線対リボンケーブ
ルを介して供給され、また、同数のケーブルを通してX
BAR4からPMEMへと供給される。データとパリテ
ィの36ビットは双方向性であるので、各FPAUが選
択されたPMEM6に対して読み書きできるようになっ
ている。また、垂直アドレスの27ビットは一方向性で
あって、FPAU2からPMEM6へと行くのみである
。
アドレスビットを担うXBARカードは、他のカードと
共に同じものではあるが、方向制御が行なわれることが
ない点で他のカードとは異っている。
共に同じものではあるが、方向制御が行なわれることが
ない点で他のカードとは異っている。
各FPAU2からXBAR4には複数の制御信号が送ら
れるようになっているが、これには、FPAUがアクセ
スするPMEM(ステアリングベクトル)を選択する水
平アドレスビット、l書き込みストローブ、放送読み取
りモードで使うtpMEMイネーブルビットがある。(
このモードのもとでは、全てのFPAU2が同−PME
M6における同一アトレスを同時に読み出すことがで
きる。) これらの信号は、読出しを行うべきか、書込みを行うべ
きかに応じて、異った動作か行なわれる。
れるようになっているが、これには、FPAUがアクセ
スするPMEM(ステアリングベクトル)を選択する水
平アドレスビット、l書き込みストローブ、放送読み取
りモードで使うtpMEMイネーブルビットがある。(
このモードのもとでは、全てのFPAU2が同−PME
M6における同一アトレスを同時に読み出すことがで
きる。) これらの信号は、読出しを行うべきか、書込みを行うべ
きかに応じて、異った動作か行なわれる。
FPAU2がPMEM6にデータ、アドレス、制御情報
を書き込んでいるのであれば、全てXBAR4を介して
各クロックサイクル時に同時、かつ同一方向に流れる。
を書き込んでいるのであれば、全てXBAR4を介して
各クロックサイクル時に同時、かつ同一方向に流れる。
またFPAU2がP M E M 6から読出しを行っ
ているのであれば、アドレスと制御信号は各クロックサ
イクル時にPMEM6の方へと流れる。数クロックサイ
クル後には、データはPMEM6から逆戻りする。かく
て、アルゴリズムとしては、データが逆戻りしていると
、XBAR4がデータを適当なFPAU2へ送るように
適切に構成されるようにしておくへきである。
ているのであれば、アドレスと制御信号は各クロックサ
イクル時にPMEM6の方へと流れる。数クロックサイ
クル後には、データはPMEM6から逆戻りする。かく
て、アルゴリズムとしては、データが逆戻りしていると
、XBAR4がデータを適当なFPAU2へ送るように
適切に構成されるようにしておくへきである。
XBAR4には、各FPAU2ごとに制御回路が設けら
れている。従って、読出し時に、この回路が36ビット
データとパリティを扱っているカードのみへのメモリー
セレクト信号を遅らせている。この遅延は、PMEM部
の読出しアクセス遅延と一致している。P M E M
6からのデータがXBAR4に入ると、制御回路が適
当なFPAUへの通路をセットする。従って、読出し時
には、XBAR4内の“データ”カードか“アドレス”
カードとは独立して機能する。それ故、2組の制御信号
が発生するのである。
れている。従って、読出し時に、この回路が36ビット
データとパリティを扱っているカードのみへのメモリー
セレクト信号を遅らせている。この遅延は、PMEM部
の読出しアクセス遅延と一致している。P M E M
6からのデータがXBAR4に入ると、制御回路が適
当なFPAUへの通路をセットする。従って、読出し時
には、XBAR4内の“データ”カードか“アドレス”
カードとは独立して機能する。それ故、2組の制御信号
が発生するのである。
第11図において、ユニットFPAUが選択したP M
E Mからデータを読み出すと、4又は6の指示すイ
クルでプログラムできる選択可能な遅延が、クロスバ−
アドレスバスを介してのPMEMへのメモリアドレスの
転送と、その後のクロスバ−アドレスバスを介してのF
PAUへのPMEM出力データの転送との間に割込んで
米る。メモリアドレス(およびパリティ)と共にFPA
Uから供給されるクロスバ−ステアリングベクトル(ア
ドレスの3LSB)が、一方向性クロスバ−スイッチ1
10を介して先ず送られ、それにより適当なPMEMモ
ジュールが選択される。読み出し操作時には、ステアリ
ングベクトルは、プログラム可能な長さのシフトレジス
ター112に記憶され、その後、シフトレジスター11
2から、選択された数の指示すイクル・遅延(4又は6
サイクル遅延)が経過した後、要求FPAUへのメモリ
出力データのステアリングに備えて可変パイプライン遅
延が行なわれる。6サイクル遅延を選択したのであれば
、メモリから復帰しているデータがプログラム可能な長
さソフトレジスター114により、別途2遅延サイクル
だけ遅延されることになる(・1遅延は固有。この点に
ついては第12図に示しであるとともに、後述する。)
メモリに書き込まれたデータと、読み出されたデータと
は、双方向バス116を介して転送されるとともに、双
方向クロスバ−スイッチ+18に送られる。
E Mからデータを読み出すと、4又は6の指示すイ
クルでプログラムできる選択可能な遅延が、クロスバ−
アドレスバスを介してのPMEMへのメモリアドレスの
転送と、その後のクロスバ−アドレスバスを介してのF
PAUへのPMEM出力データの転送との間に割込んで
米る。メモリアドレス(およびパリティ)と共にFPA
Uから供給されるクロスバ−ステアリングベクトル(ア
ドレスの3LSB)が、一方向性クロスバ−スイッチ1
10を介して先ず送られ、それにより適当なPMEMモ
ジュールが選択される。読み出し操作時には、ステアリ
ングベクトルは、プログラム可能な長さのシフトレジス
ター112に記憶され、その後、シフトレジスター11
2から、選択された数の指示すイクル・遅延(4又は6
サイクル遅延)が経過した後、要求FPAUへのメモリ
出力データのステアリングに備えて可変パイプライン遅
延が行なわれる。6サイクル遅延を選択したのであれば
、メモリから復帰しているデータがプログラム可能な長
さソフトレジスター114により、別途2遅延サイクル
だけ遅延されることになる(・1遅延は固有。この点に
ついては第12図に示しであるとともに、後述する。)
メモリに書き込まれたデータと、読み出されたデータと
は、双方向バス116を介して転送されるとともに、双
方向クロスバ−スイッチ+18に送られる。
メモリからデータサンプルを読み出すことは、1サイク
ルごとにクロスバ−アドレスバスをM用するとともに、
4サイクル後、または、6サイクル後にクロスバ−デー
タバスを利用することになるから、ブロック読取りが1
回の命令サイクルにつき1回読み出しの割合で行なわれ
ることになる。
ルごとにクロスバ−アドレスバスをM用するとともに、
4サイクル後、または、6サイクル後にクロスバ−デー
タバスを利用することになるから、ブロック読取りが1
回の命令サイクルにつき1回読み出しの割合で行なわれ
ることになる。
4サイクル遅延を伴う5サンプルのメモリからの読み出
しシーケンスに対するクロスバ−アドレスバスとデータ
バスの動作状態を示したタイミングチャートを第12図
に示す。
しシーケンスに対するクロスバ−アドレスバスとデータ
バスの動作状態を示したタイミングチャートを第12図
に示す。
メモリ読出し書込みの交互実行パターンは、メモリの読
み出しが始めて行なわれてから4サイクル後にプロセッ
サがメモリへの書き込みを行なわない限り達成される。
み出しが始めて行なわれてから4サイクル後にプロセッ
サがメモリへの書き込みを行なわない限り達成される。
こうすれば、プロセッサは、同一命令実行サイクル時に
クロスバ−データバスのデータを受は取ると同時に、転
送することができないから、データバスクラッシュか起
りかねない。同様に、6サイクル遅延を選択したとして
も、メモリ読み出しが始めて行なわれてから6サイクル
後にメモリ書き込みサイクルが行なわれろようなことは
ない。
クロスバ−データバスのデータを受は取ると同時に、転
送することができないから、データバスクラッシュか起
りかねない。同様に、6サイクル遅延を選択したとして
も、メモリ読み出しが始めて行なわれてから6サイクル
後にメモリ書き込みサイクルが行なわれろようなことは
ない。
プロセッサが実行する大部分のベクトル処理アルゴリズ
ムのパラメータは、メモリに対する読み書きの繰返しパ
ターンにすぎない。例えば、ベクトルを定数で乗算する
には、ベクトルエレメントごとに2メモリアクセスサイ
クルと、次の入力ベクトルエレメントのメモリからの読
み出しと、次の出力ベクトルエレメントのメモリへの書
き込みとが必要である。全ベクトル処理シーケンスでメ
モリに対する読み書きが交互に行なわれるから、4サイ
クル遅延と6サイクル遅延のいずれでも選択できる。メ
モリ書き込みは、メモリ読み出しサイクルに対して奇数
番目の遅延サイクル時に必ず行なわれる。
ムのパラメータは、メモリに対する読み書きの繰返しパ
ターンにすぎない。例えば、ベクトルを定数で乗算する
には、ベクトルエレメントごとに2メモリアクセスサイ
クルと、次の入力ベクトルエレメントのメモリからの読
み出しと、次の出力ベクトルエレメントのメモリへの書
き込みとが必要である。全ベクトル処理シーケンスでメ
モリに対する読み書きが交互に行なわれるから、4サイ
クル遅延と6サイクル遅延のいずれでも選択できる。メ
モリ書き込みは、メモリ読み出しサイクルに対して奇数
番目の遅延サイクル時に必ず行なわれる。
第2例としては、メモリへのアクセスシーケンスが、2
つのベクトルに加えて、2メモリ読出しサイクルとメモ
リ書込みサイクルとの繰返しパターンで構成されている
。この3サイクルメモリアクセスパターンは、各ベクト
ルエレメントごとに繰返される。4サイクル遅延を伴う
このメモリアクセスパターンでのクロスパーパスの動作
状態ヲ示したタイミングチャートを第13図に示すが、
同図におけるiとjは、i回目の読出しサイクル時とj
回目の書込みサイクル時でのクロスバ−スイッチを介す
るデータの流れを表わす。第13図に示すように、4サ
イクル遅延の場合、バスクラッシュをさけるには、余分
の命令実行サイクルが必要である。しかし、6サイクル
遅延を選択した場合では、第14図に示すように、この
アルゴリズムの実行時間は25%短縮できる。
つのベクトルに加えて、2メモリ読出しサイクルとメモ
リ書込みサイクルとの繰返しパターンで構成されている
。この3サイクルメモリアクセスパターンは、各ベクト
ルエレメントごとに繰返される。4サイクル遅延を伴う
このメモリアクセスパターンでのクロスパーパスの動作
状態ヲ示したタイミングチャートを第13図に示すが、
同図におけるiとjは、i回目の読出しサイクル時とj
回目の書込みサイクル時でのクロスバ−スイッチを介す
るデータの流れを表わす。第13図に示すように、4サ
イクル遅延の場合、バスクラッシュをさけるには、余分
の命令実行サイクルが必要である。しかし、6サイクル
遅延を選択した場合では、第14図に示すように、この
アルゴリズムの実行時間は25%短縮できる。
尚、本発明に好ましい実施例について詳述したが、当業
者には種々の変形が考えられるのは言うまでもない。
者には種々の変形が考えられるのは言うまでもない。
第1図は、プロセッサノードの全体のシステムアーキテ
クチャを示す図、第2図は、8ノード・構成の例を示す
図、第3図はメモリアドレスマツピングを示す図、第4
図は、メモリへのデータベクトルのマツピングを示す図
、第5図は、メモリへのマトリックスのマツピングを示
す図、第6図A、B、Cは各々、マトリックス−マトリ
ックス乗算ダイアダラムのデータの流れを示す概略図、
第7図は、本発明の8×8×4クロスバ−スイッチを示
す図、第8図は、第7図の8×8×4カードの半分を用
いて4X4X4カードにしているところを示す図、第9
図は、4×4×8カードを形成するための第8図の4X
4X4カードの組合せを示す図、第10図は、第7図の
8×8×4カードが如何にして2×2×16カードとし
て機能するかを示した説明図、第11図は、クロスバ−
スイッチの制御回路のパイプライン接続ハードウェアを
示す図、第12図は、4サイクル遅延の場合でのクロス
バ−アドレスバスとデータバスの動作状態を示すタイミ
ングチャート、第13図は、4サイクル遅延を伴う2メ
モリ読出しサイクルとメモリ書込みサイクルの繰返しパ
ターンを示すタイミングチャート、第14図は、2メモ
リ続出しサイクルとメモリ書込み6サイクル遅延の繰返
しパターンを示すもので、6サイクル遅延を用いると実
行時間が減少することを示すタイミングチャートである
。 ■・・・プロセッサ・ノード、 2・・・浮動少数点演算ユニット、 4・・・クロスバ−スイッチ、 6・・・並行メモリ、 lO・・ホスト。
クチャを示す図、第2図は、8ノード・構成の例を示す
図、第3図はメモリアドレスマツピングを示す図、第4
図は、メモリへのデータベクトルのマツピングを示す図
、第5図は、メモリへのマトリックスのマツピングを示
す図、第6図A、B、Cは各々、マトリックス−マトリ
ックス乗算ダイアダラムのデータの流れを示す概略図、
第7図は、本発明の8×8×4クロスバ−スイッチを示
す図、第8図は、第7図の8×8×4カードの半分を用
いて4X4X4カードにしているところを示す図、第9
図は、4×4×8カードを形成するための第8図の4X
4X4カードの組合せを示す図、第10図は、第7図の
8×8×4カードが如何にして2×2×16カードとし
て機能するかを示した説明図、第11図は、クロスバ−
スイッチの制御回路のパイプライン接続ハードウェアを
示す図、第12図は、4サイクル遅延の場合でのクロス
バ−アドレスバスとデータバスの動作状態を示すタイミ
ングチャート、第13図は、4サイクル遅延を伴う2メ
モリ読出しサイクルとメモリ書込みサイクルの繰返しパ
ターンを示すタイミングチャート、第14図は、2メモ
リ続出しサイクルとメモリ書込み6サイクル遅延の繰返
しパターンを示すもので、6サイクル遅延を用いると実
行時間が減少することを示すタイミングチャートである
。 ■・・・プロセッサ・ノード、 2・・・浮動少数点演算ユニット、 4・・・クロスバ−スイッチ、 6・・・並行メモリ、 lO・・ホスト。
Claims (1)
- 【特許請求の範囲】 1)複数の演算ユニットのいずれかを複数のメモリのい
ずれかに接続するコンピュータシステムにおけるクロス
バースイッチであって、 前記演算ユニットと前記メモリとの間の信号路の切換え
を行うマルチプレクサー部と、 実行するアルゴリズムに従って選択した信号路を割当て
るべく、前記信号路の切換えを制御するものにして、読
み出すべきメモリを特定するステアリングベクトルのパ
イプライン遅延と、メモリから戻るデータのパイプライ
ン遅延とをかもし出す制御回路からなる制御部とで構成
されていることを特徴とするクロスバースイッチ。 2)請求の範囲第(1)項に記載のものであって、前記
パイプライン遅延のサイクル数が選択自在であることを
特徴とするクロスバースイッチ。 3)請求の範囲第(2)項に記載のものであって、前記
パイプライン遅延が、4サイクル遅延と6サイクル遅延
とのいずれかに選択できるものであることを特徴とする
クロスバースイッチ。 4)請求の範囲第(3)項に記載のものであって、前記
演算ユニットと前記メモリとの間でのデータ転送に、双
方向性データバスが使われていることを特徴とするクロ
スバースイッチ。 5)請求の範囲第(4)項に記載のものであって、メモ
リ読出しとメモリ書込みとがリアルタイムで交互に実行
されることを特徴とするクロスバースイッチ。 6)請求の範囲第(1)項に記載のものであって、前記
信号路が、前記コンピュータシステムのクロックのサイ
クルごとに切換えられることを特徴とするクロスバース
イッチ。 7)請求の範囲第(1)項に記載のものであって、前記
制御部が離れて配置されていることを特徴とするクロス
バースイッチ。 8)請求の範囲第(1)項に記載のものであって、8個
の演算ユニットと8個のメモリとの間で64信号をやり
とりする8×8×64クロスバースイッチを備えてなる
ことを特徴とするクロスバースイッチ。 9)請求の範囲第(8)項に記載のものであって、前記
クロスバーは、24ビットのアドレス、3ビットのアド
レスパリテイ、1ビットの遅延セレクト、32ビットの
データ、4ビットのデータパリテイからなる64信号を
受信するものであることを特徴とするクロスバースイッ
チ。 10)請求の範囲第(8)項に記載のものであって、前
記8×8×64クロスバースイッチが8×8×4カード
16枚で構成されていることを特徴とするクロスバース
イッチ。 11)請求の範囲第(1)項に記載のものであって、4
×4×8カード8枚で構成した4×4×64クロスバー
スイッチからなることを特徴とするクロスバースイッチ
。 12)請求の範囲第(1)項に記載のものであって、2
×2×6カード4枚で構成した2×2×64クロスバー
スイッチからなることを特徴とするクロスバースイッチ
。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11756487A | 1987-11-06 | 1987-11-06 | |
US117,564 | 1987-11-06 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH021086A true JPH021086A (ja) | 1990-01-05 |
Family
ID=22373592
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP28114588A Pending JPH021086A (ja) | 1987-11-06 | 1988-11-07 | クロスバースイッチ |
Country Status (2)
Country | Link |
---|---|
EP (1) | EP0315550A3 (ja) |
JP (1) | JPH021086A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005525737A (ja) * | 2002-05-13 | 2005-08-25 | フェアチャイルド セミコンダクター コーポレイション | シリアライザ及びデシリアライザ機能を有するクロスポイントスイッチ |
US9495223B2 (en) | 2011-11-15 | 2016-11-15 | Global Supercomputing Corporation | Method and system for converting a single-threaded software program into an application-specific supercomputer |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5692139A (en) * | 1988-01-11 | 1997-11-25 | North American Philips Corporation, Signetics Div. | VLIW processing device including improved memory for avoiding collisions without an excessive number of ports |
US5410300A (en) * | 1991-09-06 | 1995-04-25 | International Business Machines Corporation | Distributed crossbar switch architecture |
EP0602916A3 (en) * | 1992-12-14 | 1994-08-10 | Hewlett Packard Co | Cross-bar interconnect apparatus. |
DE69323861T2 (de) * | 1993-01-25 | 1999-10-07 | Bull Hn Information Syst | Multiprozessorsystem mit gemeinsamem Speicher |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS54140438A (en) * | 1978-04-24 | 1979-10-31 | Toshiba Corp | Information processor |
JPS559217A (en) * | 1978-06-30 | 1980-01-23 | Fujitsu Ltd | Connection system for multiprocessor |
JPS57209569A (en) * | 1981-06-19 | 1982-12-22 | Fujitsu Ltd | Memory access device in vector processor system |
JPS58154059A (ja) * | 1982-03-08 | 1983-09-13 | Omron Tateisi Electronics Co | 並列処理システムのメモリアクセス方式 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3997896A (en) * | 1975-06-30 | 1976-12-14 | Honeywell Information Systems, Inc. | Data processing system providing split bus cycle operation |
FR2474199B1 (fr) * | 1980-01-21 | 1986-05-16 | Bull Sa | Dispositif pour superposer les phases successives du transfert des informations entre plusieurs unites d'un systeme de traitement de l'information |
JPS618785A (ja) * | 1984-06-21 | 1986-01-16 | Fujitsu Ltd | 記憶装置アクセス制御方式 |
-
1988
- 1988-11-04 EP EP88402787A patent/EP0315550A3/en not_active Ceased
- 1988-11-07 JP JP28114588A patent/JPH021086A/ja active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS54140438A (en) * | 1978-04-24 | 1979-10-31 | Toshiba Corp | Information processor |
JPS559217A (en) * | 1978-06-30 | 1980-01-23 | Fujitsu Ltd | Connection system for multiprocessor |
JPS57209569A (en) * | 1981-06-19 | 1982-12-22 | Fujitsu Ltd | Memory access device in vector processor system |
JPS58154059A (ja) * | 1982-03-08 | 1983-09-13 | Omron Tateisi Electronics Co | 並列処理システムのメモリアクセス方式 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005525737A (ja) * | 2002-05-13 | 2005-08-25 | フェアチャイルド セミコンダクター コーポレイション | シリアライザ及びデシリアライザ機能を有するクロスポイントスイッチ |
US9495223B2 (en) | 2011-11-15 | 2016-11-15 | Global Supercomputing Corporation | Method and system for converting a single-threaded software program into an application-specific supercomputer |
US10146516B2 (en) | 2011-11-15 | 2018-12-04 | Global Supercomputing Corporation | Method and system for converting a single-threaded software program into an application-specific supercomputer |
US10642588B2 (en) | 2011-11-15 | 2020-05-05 | Global Supercomputing Corporation | Method and system for converting a single-threaded software program into an application-specific supercomputer |
US11132186B2 (en) | 2011-11-15 | 2021-09-28 | Global Supercomputing Corporation | Method and system for converting a single-threaded software program into an application-specific supercomputer |
US11579854B2 (en) | 2011-11-15 | 2023-02-14 | Global Supercomputing Corporation | Method and system for converting a single-threaded software program into an application-specific supercomputer |
Also Published As
Publication number | Publication date |
---|---|
EP0315550A2 (en) | 1989-05-10 |
EP0315550A3 (en) | 1989-10-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5175862A (en) | Method and apparatus for a special purpose arithmetic boolean unit | |
US5428803A (en) | Method and apparatus for a unified parallel processing architecture | |
EP0268435B1 (en) | Multinode reconfigurable pipeline computer | |
US5081575A (en) | Highly parallel computer architecture employing crossbar switch with selectable pipeline delay | |
US5815723A (en) | Picket autonomy on a SIMD machine | |
US5809292A (en) | Floating point for simid array machine | |
US4891751A (en) | Massively parallel vector processing computer | |
US5218709A (en) | Special purpose parallel computer architecture for real-time control and simulation in robotic applications | |
US5805915A (en) | SIMIMD array processing system | |
US20110161625A1 (en) | Interconnection network connecting operation-configurable nodes according to one or more levels of adjacency in multiple dimensions of communication in a multi-processor and a neural processor | |
US5179714A (en) | Parallel bit serial data processor | |
US7673118B2 (en) | System and method for vector-parallel multiprocessor communication | |
JPH0922404A (ja) | 同報通信プロセッサ命令を備えたアレイ・プロセッサ通信アーキテクチャ | |
JPH03211689A (ja) | プロセッサ配列システム | |
JPH03500585A (ja) | トロイダル接続された分布記憶装置型並列計算機のための増強された入出力アーキテクチャ | |
US20040054870A1 (en) | Control of processing elements in parallel processors | |
JP7264897B2 (ja) | メモリ装置及びそれを制御するための方法 | |
US7409529B2 (en) | Method and apparatus for a shift register based interconnection for a massively parallel processor array | |
EP0532700A4 (en) | Multi-dimensional processor system and processor array with massively parallel input/output | |
JPH0314063A (ja) | マルチプロセッサシステム | |
US5276902A (en) | Memory access system for vector data processed or to be processed by a vector processor | |
JPH021086A (ja) | クロスバースイッチ | |
KR20010006787A (ko) | 데이터 처리 프로세서 및 시스템 | |
JPH0799515B2 (ja) | 命令フロ−コンピュ−タ | |
US5101371A (en) | Apparatus for performing a bit serial orthogonal transformation instruction |