JPH06162227A - ベクトル並列計算機 - Google Patents

ベクトル並列計算機

Info

Publication number
JPH06162227A
JPH06162227A JP4333656A JP33365692A JPH06162227A JP H06162227 A JPH06162227 A JP H06162227A JP 4333656 A JP4333656 A JP 4333656A JP 33365692 A JP33365692 A JP 33365692A JP H06162227 A JPH06162227 A JP H06162227A
Authority
JP
Japan
Prior art keywords
vector
latch
main memory
access
data
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
Application number
JP4333656A
Other languages
English (en)
Other versions
JPH0792790B2 (ja
Inventor
Tatsuo Nogi
野木達夫
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.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to JP4333656A priority Critical patent/JPH0792790B2/ja
Priority to US08/141,786 priority patent/US5408677A/en
Publication of JPH06162227A publication Critical patent/JPH06162227A/ja
Publication of JPH0792790B2 publication Critical patent/JPH0792790B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related 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/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8053Vector processors
    • G06F15/8092Array of vector units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Complex Calculations (AREA)
  • Multi Processors (AREA)

Abstract

(57)【要約】 (修正有) 【目的】 並列計算機を構成するのに、メモリバンクの
立方配列に対する効率的なデータアクセス回路を確保
し、計算に現れるデータ編集を容易にする。 【構成】 N3 個のメモリバンクの立方配列が、各枚ご
とに共通バスをN行N列の平面格子状に配列したN枚の
主記憶ボードBで、N2 個ずつのメモリバンクが支持さ
れ、バス格子点に接続された各N2 個のアクセスラッチ
2を介して行及び列の双方向からアクセスでき、N個の
ベクトルラッチ9と主記憶ボードBとの間では、各N個
の要素ラッチが、同一番号のアクセスラッチ行に接続さ
れ、各ベクトルラッチには第1と第2の直列ポートが設
けられ、全N個からなる第1の直列ポートはアクセスラ
ッチ行、またはアクセスラッチ列に接続され、ベクトル
プロセッサユニットVU1,…VUNの各々は、対応す
る各ベクトルラッチ9と接続されたことにより、これに
一時記憶されるベクトルデータをベクトルレジスタ17
に積み上げて演算処理する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、超高速科学技術計算用
の超高性能並列計算機に関するものであり、連続系と粒
子系を含めた広範囲な高度なシミュレーション計算やC
ADに利用できる。具体的な応用分野は構造解析、流体
力学、気象や地球環境、核融合プラズマ、分子材料設
計、半導体デバイスなどにまたがる。
【0002】
【従来の技術】従来から、科学技術計算、特に各種シミ
ュレーション計算では大容量かつ高速の計算が要求さ
れ、それに応えるためにベクトル計算機やマルチプロセ
ッサ並列計算機などが開発されてきた。その結果、ベク
トル計算機単体としてはほとんど頂点を究めるまでのと
ころに達し、現在のスーパーコンピュータの主流を成し
ている。そこで、次世代スーパーコンピュータとして、
複数のベクトルプロセッサを用いたシステムやマルチプ
ロセッサ方式並列計算機がしのぎを削っているところで
ある。前者(本発明も主にこれに関するものであり、一
般にベクトル並列計算機と呼べる)では、共有メモリと
してのメモリバンクを備え、従来のベクトル化技術の延
長上にあって大きなベクトル長を確保し、それを複数の
ベクトルで分割して並列処理するという形を考えるが、
現段階ではせいぜい4台〜16台のプロセッサを使うも
のが限度である。また、マルチプロセッサ並列計算機で
は、分散メモリを基本にし、データ交換用のネットワー
クの設計によって多様なシステムを開発してきたが、そ
れらは主に格子状、ハイパーキューブ及びハイパークロ
スネットに分かれる。一番古くから採用されてきたのが
格子状のものであるが、転送能力に限りがあり、将来性
は乏しい。現在米国を中心に展開されているハイパーキ
ューブ方式では、大幅に転送能力が増す反面、通常の配
列データとプロセッサ配列の間のマッピングにおいて、
部分配列の相互交換などの手続きがシステム全体として
一様でなく、効率の低下及びプログラミングの困難さを
引き起こすという問題がある。その点、配列データとシ
ステム間のマッピングが最も自然な形で行なえ、そのた
め部分配列の相互交換などの操作がシステム全体の中で
一様に行なえるのがハイパークロスネット方式であり、
発明者が先に昭和55年特許願第68044号「並列計
算機」(特許第1404753号)において提案したも
のである。しかし、ハイパーキューブにしろ、ハイパー
クロスネットにしろネットワークを通じたデータ転送に
はそのためのオーバーヘッドはさけられなくて、どうし
ても一定の効率低下を招いてしまう。
【0003】
【発明が解決しようとする課題】本発明は、ベクトルプ
ロセッサ(あるいはベクトル要素並列処理プロセッサア
レイ)を多数用いて高度なシステムを作ることを意図す
るが、そのためにはメモリバンクとそれへのアクセス経
路の多様化をはかり、並列度が100%近く保たれるよ
うなシステム設計が必要である。そして、広範な応用問
題にふさわしいデータ配列処理が効率よく行なえるよう
に、アクセス経路そのものが素朴なデータ編集機能をも
つことが望まれる。その際、ハイパークロスネット方式
で考えたデータ編集機能が大変有効である。また、ハイ
パークロスネット方式で採用したバッフアメモリをメモ
リバンク配列で置き換え、限定されたアクセスを許す共
有メモリ方式とし、転送オーバヘッドをなくす方針をと
るものとする。事実その方針で、ハイパークロスネット
方式で用いたプロセッサの2次元配列をベクトルプロセ
ッサの1次元配列で置き換えたものが、先に昭和63年
特許願第278765号(特開平2−123481号
「並列ベクトル計算機」)として提案したものである。
ところが、この場合でもなおアクセス経路が不十分であ
って、ハイパークロスネットの場合と同様にデータを編
集し直すたびに新しいデータとしてメモリ領域を確保し
なければならず、同種のデータを2重3重にもつことも
多くなり、メモリの有効活用という点で問題を残してい
た。
【0004】本発明は、アクセス経路をさらに充実化し
てメモリ領域確保の無駄を排除することを目的とする。
この場合、アクセス経路を増やすことはデータバスの本
数を増やすものであるため、可能な限りバスの共有化を
はかり、なおかつ処理効率の劣化を引き起こさないシス
テム設計と実装形態となるように考慮する。
【0005】
【課題を解決するための手段】本発明は、上記の目的を
達するため、N3 個のメモリバンクの立方配列{MB
(i,j,k),但し、i,j,k=1,2…,N}か
らなる主記憶部と、制御用プロセッサユニットCU及び
N台の並列計算用ベクトルプロセッサユニットVU1,
VU2,…,VUNからなるプロセッサ部、並びに前記
主記憶部と各ベクトルプロセッサユニットとの間にあっ
てそれぞれベクトルデータを一時的に記憶するためのN
個のベクトルラッチからなるベクトルラッチ部を備えた
バックエンド用計算機システムであって、 (a)前記制御用プロセッサユニットCUは、前記N台
のベクトルプロセッサユニット、前記N個のベクトルラ
ッチ及び主記憶部に制御信号を発信して並列同期動作を
指示するものであり、 (b)前記主記憶部のN3 個のメモリバンク配列は、各
枚毎に共通バスをN行N列の平面格子状に配列したN枚
の主記憶ボードにおいて、それぞれN2 個ずつ支持さ
れ、各ボードにおけるN2 個のメモリバンクは同ボード
のN2 個の行列バス格子点に分配接続されたN2 個のア
クセスラッチにそれぞれ接続されたことにより、対応す
る行バス及び列バスの双方からアクセスできるようにな
っており、 (c)前記N個のベクトルラッチの各々は、それぞれN
個の要素ラッチを有し、これらN個の要素ラッチには対
応する前記N枚の主記憶ボードとの間でデータを入出力
するために1個ずつの並列ポートを設けるとともに全ベ
クトルラッチを通じて同一要素番号のポート毎に共通に
バス接続し、これらN組のバスは要素ラッチ番号に対応
する主記憶ボードの列選択回路を介して選択された同一
番号をもつアクセスラッチ列に接続されるとともに、N
個のベクトルラッチ毎にはN個の要素ラッチを共通接続
する内部バスの両端に第1及び第2の直列ポートを設
け、それら全N個の第1の直列ポートはボード分配回路
とベクトルラッチ番号に対応した主記憶ボードの行選択
回路を介して選択された同一番号をもつアクセスラッチ
行に接続される、または同直列ポートはボード選択回路
を介して、選ばれた主記憶ボード上の、ベクトルラッチ
番号に対応したアクセスラッチ列に接続され、これによ
って前記N個のベクトルラッチと主記憶部との間に、 前記第1の直列ポートに対応する主記憶ボード各枚
の、選択された同一番号の行方向バスを通じ、メモリバ
ンクの立方配列内にN組の行ベクトルデータを送受信す
る第1のアクセス経路、 前記N個の並列ポートにそれぞれ対応する主記憶ボー
ド各枚の、選択された同一番号の列方向バスを通じ、メ
モリバンクの立法配列内のN組の垂直ベクトルデータを
送受信する第2のアクセス経路、及び 選択された1枚の主記憶ボード中で、前記第1の直列
ポートの各々に対応する各列方向バスを通じ、メモリバ
ンクの立法配列内のN組の列ベクトルデータを送受信す
る第3のアクセス経路、のいずれか一つを確立するもの
であり、 (d)前記N個のベクトルプロセッサユニットVU1,
VU2,…,VUNの各々はベクトル演算装置を有する
ことにより、ベクトルデータに対する演算を行なうもの
であって、前記第2の直列ポートを通じて対応する各ベ
クトルラッチと接続されたことにより、前記各アクセス
経路において同ベクトルラッチ内に一時配置されるベク
トルデータを演算処理するものである、ことを特徴とす
るベクトルプロセッサの1次元配列とメモリバンクの3
次元配列を有するベクトル並列計算機、を構成したもの
である。
【0006】
【作用】上記の構成によれば、ベクトル計算を行なうベ
クトルユニット(「ベクトルプロセッサユニット」の
略、以下同じ。)の1次元配列と3次元格子状に配置し
たメモリバンクのシステムにおいて、基本的には3種の
処理状態とそれに応じたメモリアクセス経路を許す。す
なわち、要素データからなる3次元配列データを、その
1次元部分配列である「行ベクトル」の組、または「垂
直ベクトル」の組、あるいは「列ベクトル」の組とみる
見方を許し、それぞれに対応した前記第1〜第3のアク
セス経路を通じてベクトルユニット内のベクトルレジス
タにもってきて処理し、そこから結果を運び出す。いま
記述を明確にするため、3次元配列データを生じさせる
もとになるx,y.z座標系を考え、「行ベクトル」と
は任意に指定したz値とx値に対してy座標をアーギュ
メント(引き数:独立変数)にしてきまる1次元部分配
列であり(図1)、「垂直ベクトル」とは任意に指定し
たx値とy値に対してz座標をアーギュメントにしてき
まる1次元部分配列であり(図2)、そして「列ベクト
ル」とは任意に指定したy値とz値に対してx座標をア
ーギュメントにしてきまる1次元部分配列である(図
3)ものとする。
【0007】そこで、第1のアクセス経路を用いた第1
の処理状態とは、3次元配列データについて、任意に指
定したx値に対してできる断面となる行ベクトルの組
(図1のハッチング部分)に対してベクトルユニットの
組がy座標に沿ってはベクトル処理、z座標に亘っては
並列に処理する状態を指し、通常はx値を順次変更しな
がら逐次処理をすることになる。
【0008】また、第2のアクセス経路を用いた第2の
処理状態とは、同じく任意に指定したy値に対してでき
る断面となる垂直ベクトルの組(図2のハッチング部
分)に対して、上と同じベクトルユニットの組がz座標
に沿ってはベクトル処理、x座標に亘っては並列に処理
する状態を指し、やはり通常はy値を順次変更しながら
逐次処理をする。
【0009】そして、第3のアクセス経路を用いた第3
の処理状態とは、同じく任意に指定したz値に対してで
きる断面となる列ベクトルの組(図3のハッチング部
分)に対して、上と同じベクトルユニットの組がx座標
に沿ってはベクトル処理、y座標に亘っては並列に処理
する状態を指し、やはり通常はz値を順次変更しながら
逐次処理をする。
【0010】結局、本発明では3次元配列データに対
し、3つの次元方向にベクトル処理、並列処理、逐次処
理を割り振って計算することを基本にするもので、それ
に3種の方向属性による処理状態を与えるものである。
3種の処理状態を区別するのに、逐次処理する方向によ
って呼称するものとし、第1、第2、第3の処理状態を
それぞれx方向、y方向、z方向の処理ということにす
る。
【0011】2次元配列データの処理では、第4のアク
セス経路を用いることにより、3次元にもう1次元メモ
リバンク自体の構造に関するもの(「深さ」次元とい
う、図4参照)を加えた4次元配列にマッピングして処
理することができる。この第4のアクセス経路は、前記
第1の直列ポートに対応する主記憶ボード各枚の、選択
された同一番号の行内で、補助的列アドレス指定により
選択された同一番号のバンク内のN語を対応するアクセ
スラッチに順次出し入れし、かつ対応する行方向バスを
通じて送受信するものであり、それは任意に指定したx
値とy値に対して「深さ」方向に沿ってはベクトル演
算、z座標に亘っては並列に処理することを単位とし
て、x値とy値を順次に変更しながら逐次処理するもの
である。この処理は、「深さ」処理又は補助的なX方向
処理と言うことにする。
【0012】
【実施例】
アーキテクチャの構成例 本発明の主眼は、上記3種(及び補助的なもの1種)の
処理状態を基本にするシステムであることと、それらの
処理を可能にするために主記憶装置たるメモリバンク配
列への3種(及び補助的なもの1種)のアクセス経路の
確保にある。その経路確保について具体的な図示構造に
基づいて説明する。図で説明する上で、簡略化のために
ベクトルユニットの個数Nを4とした場合をとりあげ、
それを図5に示す。但し、実用のためにはN=16以上
が望ましいと考えるが、その場合にもここでの説明はそ
のまま通用する。図5では実装上のことも配慮し、3つ
の部分に分けて描かれている。すなわち、プロセッサ部
21、主記憶部22、及びそれらを結ぶベクトルラッチ
部23である。
【0013】主記憶部22はN=4に対応して4枚のボ
ードB1,…,B4上に分けてそれぞれ、バンクメモリ
1の2次元部分配列(4×4)を配置する。いまそれら
のボードは3次元配列インデックスのz値を指定すれば
一つ選択されるということにしておく。最もボード
(板)といってもNが大きい場合、その上に乗る素子の
量も増え、実際には何枚かのボードに分けなければなら
なくなるが、ここで使う「ボード」、特定すれば「主記
憶ボート」という用語はそのような場合も含めて概念的
に使っている。
【0014】各バンクメモリ1毎に一つのアクセスラッ
チ(例えばN語などの一定語長容量)2を設け、それら
のラッチを、各ボード上で縦横に(ここではx方向を列
3とし、y方向を行4として)張り巡らしたデータバス
の交点(ノード)に位置するところにおく。そして、各
列、あるいは各行毎のバスを共通バスとしてそれにつな
がるラッチ2がアクセスできるものとする。したがっ
て、それらのラッチの内容を要素とする長さNの列ベク
トルあるいは行ベクトルがインターリーブ方式でアクセ
スされる単位となる。さて、各ボードに共通して、行4
に関するx方向処理のときは、x値を指定することでい
ずれかの行をセレクタ7により選択し、それを主記憶ボ
ードに対応した一つの列バスであるx値選択列バス8を
通じてベクトルラッチ部23のそれに対応したベクトル
ラッチにつながるようにする(図6参照)。ラッチにつ
ながるすべての列バス3はy方向処理とz方向処理の場
合に利用され、y方向処理のときは、y値を指定するこ
とでいずれかの列バスをセレクタ5により選択し、y値
選択バス6を介して、その先をベクトルラッチ部23の
主記憶ボードに対応した並列ポートにつながるようにす
る。(図7参照)。また、z方向処理のときは、それら
の列バス3をそのまま延長したものを通じてベクトルラ
ッチ部の対応するベクトルラッチにつながするようにす
る(図8参照)。
【0015】ベクトルラッチ部23は主記憶部22とプ
ロセッサ部21の間にあって(図5参照)、主記憶部に
データを書いたり、そこから読んだりするときにN語長
のベクトルのN個分を一時記憶するためのものである。
このラッチ部23はやはり2次元格子状(N×N)に要
素ラッチ(1語長)を配置し、それぞれ列方向に並んだ
N個のラッチを一組にしたものをベクトルラッチ9と
し、それらのラッチにベクトルを出し入れするための
「直列バス」は主記憶部に延びるバス部分10とプロセ
ッサ部へ延びるバス部分14を有する。x方向処理のと
きは主記憶部に向かう直列バス部分10は、ラッチ9毎
に、分岐接続されたx値選択列バス11を介してそれぞ
れ対応する主記憶ボードに接続される。すなわち、x値
選択列バス11はボード分配回路を構成する。また、z
方向処理のときは同じく主記憶部に向かう直列バス10
は、セレクタ12により一つだけ選択された主記憶ボー
ド(z値選択ボード)からのすべての列バス8にそれぞ
れつながる。これは、ボード選択回路に外ならない。こ
れらx方向とz方向処理の場合には、いずれも主記憶部
でのベクトル(列あるいは行ベクトル)がそのままベク
トルラッチ内のベクトルに対応するようなデータ転送に
なる。そうでないのがy方向処理のときである。そのと
きのために、同じベクトルラッチの組に対してベクトル
の成分番号毎にできるセクションにデータを出し入れす
るための「並列バス」13がN組設けられ、それは主記
憶部との間で対応するボードからの列選択回路を構成す
るy値選択バス6につながる。y値選択バスの一つ一つ
から読み出され、ベクトルラッチに配置されるものは前
記ベクトルに該当するものではなく、並列バスを通じて
一時記憶し、直列方向に見れば望みのベクトルとして、
主記憶部での垂直ベクトルが得られたことになる。逆に
主記憶部に書き入れるときもベクトルデータの組をセク
ションデータの組にして並列バスとy値選択バスを通じ
て書き込むことになる。一方、ベクトルラッチの組から
プロセッサ部の方には前記直列バス14の組のみが出て
おり、それらがそれぞれ対応するベクトルユニットに直
結する。
【0016】プロセッサ部21には、主に1個のコント
ロールユニット15とN個のベクトルユニット16が置
かれる。すべてのベクトルユニットは同一形状であっ
て、複数のベクトルレジスタと複数のパイプライン17
をもつ。それらの長さは一般にはNの何倍かとしベクト
ル計算処理の効率をあげるようにする。また、スカラ計
算のために各ベクトルユニットにスカラ演算装置18や
スカラ用データメモリ19をもつのが望ましい。さら
に、ベクトルレジスタの一つを外部との入出力用レジス
タとし、各ベクトルユニットからデータの入出力が可能
となるチャネル20を設置するのが望ましい。また、コ
ントロールユニットはすべてのベクトルユニットに同一
の演算処理のコマンド列を発すること、主記憶部にアド
レスを発すること、及びベクトルラッチ部と主記憶部に
処理方向信号などの制御信号を発することを司る。当然
コントロールユニットには命令語用のメモリとそれの解
読装置が内蔵されている。
【0017】主記憶データを用いて演算を進める標準的
な処理であって、x方向処理の場合を想定する。コント
ロールユニットが「読み出し」という命令語に従ってx
方向処理信号とxアドレスとバンク内アドレスを主記憶
部におくる。そのときすべてのボードにつきxアドレス
できまる行のアクセスラッチに一つずつデータが一時記
憶される。続いて、それぞれのx値選択行バスと直列バ
スを通じてベクトルラッチ部に移され、さらにベクトル
レジスタにまで運ばれる。そこで、バンク内アドレスだ
けをかえて同じ経路を経て、先のベクトルレジスタにア
ペンドすれば、倍長の列ベクトルがレジスタに確保され
る。同じことを何回か繰り返せば、レジスタ長にマッチ
したデータができあがる。別の被演算データも同じよう
にして別のベクトルレジスタに確保できると、そこでベ
クトルパイプラインに移して(あるいはベクトル要素並
列処理プロセッサアレイによって)ベクトル演算を行な
わせる。なお、上記繰り返しや、続く別のデータのアク
セスを効率良くやるために、アクセスラッチ‐ベクトル
ラッチ‐ベクトルレジスタ間のデータの流れをパイプラ
イン的にすきまなく連続して行なうことが肝要である。
すなわち、一つの部分データを先に送ればただちに次の
部分データを持つようにする。結果を主記憶に書き入れ
る場合x方向処理信号をそのまにして、適当なxアドレ
スとバンク内アドレスを与えれば、上記経路を逆向きに
辿ることで蓄えられる。y方向処理やz方向処理の場合
も同様である。補助的なx方向処理の場合だけ、少し違
っていて、すべてのボードにつき(すなわちzアドレス
に亘って)同一のxアドレスとyアドレスを指定してき
まるバンク内で一定間隔で配置されるべきデータからな
るベクトル(「深さ」方向ベクトル)の要素を複数容量
をもつアクセスラッチ内に一時記憶させることを順次繰
り返し、x方向処理と同じ経路によってベクトルレジス
タにつなぐようにする(図9参照)。
【0018】x方向処理では、xアドレスだけが異なる
行ベクトル同志の演算は直ちにZ方向に亘りベクトル並
列演算ができるが、yアドレスだけが異なる垂直ベクト
ル同志の演算ではy方向処理を行い、zアドレスだけが
異なる列ベクトル同志の演算ではz方向処理を行なう。
もちろん、計算対象になる3次元データは、どの方向処
理でも同一のものであり、どの方向のベクトルとして処
理するかに違いがあるだけである。
【0019】また、「深さ」次元の加わった4次元デー
タに対する補助的なx方向処理では、xアドレスかyア
ドレスが異なる(両者が同じなら、変数名の異なる)深
さベクトル同志の演算は深さ方向に沿ってベクトル計算
し、z方向に亘り並列演算ができる。
【0020】結局、本発明においては、同一3次元デー
タを3つの方向からみる手段と、4次元データを補助的
x方向とz方向の2つの方向からみる手段を与え、基本
的には前記3つの方向処理あるいは2つの方向処理を適
宜組み合わせて順治処理を行なうことができる。
【0021】本ベクトル並列計算機は、科学技術計算で
扱う3次元シミュレーションや2次元シミュレーション
あるいは行列計算にきわめて都合よくなるように設計さ
れている。特に、3次元配列データを扱う場合にも最も
都合がよい。それを原形として、2次元配列の問題や行
列計算にも拡張利用することになる。このシステムを使
う場合、3次元問題なのか、2次元問題なのかを予め指
定しておくことを前提としている。
【0022】さて、原形になる3次元問題の扱いをまず
説明する。その際、3次元配列データを主記憶に置く仕
方に際立った特徴がある。たとえば、配列{u(i,j,k),
i=1,N, j=1, N, k =1,N}の場合、その
各配列要素u(i,j,k) はインデックス(i,j,k) をもつメ
モリバンク内におかれることになる。このようにする
と、メモリバンク自体では、バンク内アドレスを指定す
ることで、すべてのメモリバンクから1個ずつで合計N
3 個のデータを一度にアクセスできることになってい
る。しかし、本計算機では、それだけの大量データを一
度に主記憶部から出し入れするためのデータバスを設け
ることはせず、i,j,k のうちいずれか一つを任意に特定
してきまる2次元部分配列のN2 個のデータが一度に出
し入れできるようになっている。
【0023】次に、特徴的なことは、同じく3次元配列
データに対するアクセスに3様の状態があって任意に選
択できることである。この3つのアクセス状態を区別す
るためにインデックス表現にスラッシュを用いた次の表
現を導入する。 (1)u(i,/j,k/) (2)u(i/,j,/k) (3)u(/i,j/,
k) ここで第1のものは、i値を指定して、残りのj,kを
アーギュメントとする2次元部分配列をアクセスする状
態を指す。同様に第2のものは、j値を指定して、k,
iをアーギュメントとする2次元分配部分配列をアクセ
スする状態、第3のものは、k値を指定してi,jをア
ーギュメントとする2次元分配配列をアクセスする状態
を表す。なおこられの表記はアクセス状態の違いを表す
だけでデータとしては同一のものを指す。そして、
(1)〜(3)はそれぞれ上述のx方向処理、y方向処
理とz方向処理に対応するものである。もしベクトル並
列処理を明確に表すなら、3様の処理状態は (1)u(i,/j,/k//) (2)u(/i//,j,/k) (3)u(/
i,/j//,k) と表せよう。すなわち、(1)ではiについて逐次処
理、j,kについては並列に処理することになるが、j
についてはベクトル処理、2重スラッシュに囲まれたk
については純粋に並列に処理する。同じく(2)ではj
について逐次処理、kについてはベクトル処理、iにつ
いては純粋な並列処理を行い、(3)ではkについて逐
次処理、iについてベクトル処理、jについて純粋に並
列処理を行なう。但し、通常はベクトル処理も、純粋に
並列処理も概念としては並列処理にみとめてしまい、ユ
ーザーにはその区分を強いないプログラミング言語の提
供が望まれる。たとえば、普通なら do 10 k=1,16 do 10 j=1,16 do 10 i=2,15 10 v(i,j,k)=u(i+1,j,k)+u(i-1,j,k) と書くものは pdo j=1,16, k=1,16 do 10 i=2,15 10 v(i,/j,k/)=u(i+1,/j,k/)+u(i-1,/j,k/) pend などと表現する。ここでpdo 文によって指定されるイン
デックスにつき(pend文までを)並列処理することを表
す。2重スラッシュを避けたのはベクトル処理と純粋な
並列処理を区別する必要がないとしたからであり、簡単
化のためにもこの方が望ましい。
【0024】上記表現で典型的にみられることだが、一
つのpdo-pend構文にあっては、スラッシュ内インデック
スは、pdo 文に現われたインデックスのみを許し、他の
変数や式は不可としておくのが望ましい。実は、上例で
は本来2重スラッシュに入るべきインデックkは、純粋
に並列処理を行なうベクトルユニット番号に対応するも
ので、ここに式などを許すことは、ベクトルユニット間
のデータ移動をも伴う内容となり、簡明な並列処理の表
現と実現を建前とする立場から逸脱してしまう。一方、
インデックスjについてはベクトルデータの要素番号に
あたるべきものであり、j+1やj−1などの式を許し
てもベクトルレジスタ内のシフト処理で済むほどに容易
であるが、もっと一般の式も可能のような印象を与えて
はまずいので、1重スラッシュ内のインデックスについ
てもpdo 文のインデックスそのものに限定しておくのが
望ましい。jやkの部分に式を用いたいときには処理方
向を変えればよい。そのために3様の処理方向を許した
のである。
【0025】次に、2次元問題の実現に移ろう。これが
スムーズに行なえることも大変に重要である。2次元配
列を扱うシミュレーションも頻繁に登場し、また行列計
算のためにも2次元的処理が自然だからである。ここで
重要なのは2次元配列、例えば{u(i,j),i=1,N2 ,
j =1,N2 }をどのように3次元的格子状のメモリ
バンク配列に写像するかということである。この場合に
も (1)u(i,/j/) (2)u(/i/,j) の2方向の処理状態を与えるのがよい。(1)の方はi
について逐次処理、jについて並列処理する状態(x方
向処理)、(2)の方はiについて並列処理、jについ
て逐次処理する(y方向処理)状態を表す。しかもどち
らの状態であっても、同一のデータをアクセスするよう
になっていなければならない。いまインデックスiとj
に、それぞれインデックス対(r,q)と(t,s)を
対応させる。それらの間には関係式 i=(q−1)N+r, j=(s−1)N+t が成り立つものとする。そごて、上式(1)、(2)に
対し、 (3)u(r,/q,/t//)(s) (4)u(/r,/q//,t)(s) なる4次元配列を対応させ、r,q,tは3次元メモリ
バンク配列のインデックスにあたり、sはさらにメモリ
バンク内での区分のためのインデックスとみる。ここ
に、(3)は3次元処理の場合のx方向処理のものであ
り、(4)は同じくz方向処理のものである。他の対応
付けも可能だが、今は一組だけ選びそれをいつの場合に
も用いると決めておけばよい。なおここで、(4)の方
はもとのインデックス/i/ がそのままスラッシュつきの
/r,/q// に置き代わったもので、jすなわち(t,s)
が指定されれば、rとqについて並列アクセスされる。
ところが(3)の方では、iが指定されると、rとスラ
ッシュ内のqが与えられたことになり、並列アクセス用
のインデックスqが指定されてしまい、当然一度にN2
ではなくN個のデータをアクセスするだけになり、ベク
トルユニットが生きた演算をするためにはデータ不足で
ある。すなわち、tについての並列処理だけになる。N
2 のものをアクセスし並列処理するにはインデックスs
についてN個の連続するデータをもってくればよいが、
これはいずれも同一バンク内のデータをN個ずつ取り出
す(書き込む)ことになる。この場合、バンク内を複数
個のサブバンクに分けてtが共通でsが異なるものをイ
ンタリーブ方式で取り出せるようにするか、メモリバン
クにおいてアクセスラッチまでのバースト転送が可能と
なる工夫をしておく。そうすると、sについてN語長の
ベクトルがx値選択行バスと直列バスを通じてベクトル
レジスタに出し入れできることになる。これが補助的x
方向処理である。このことを正確に表現するなら、実際
には上の(3)の代わりに、 (5) u(r,q,//t//)(/s/) を用いることにあたっている。但し、これは3次元問題
では登場しなかったものである。これについてはシステ
ムソフトウエアが知っておけばよいことで、ユーザーは
あくまでu(i,/j/)とu(/i/,j)の2様の処理形態があるこ
とだけを認識できればよい。
【0026】2つの行列{a(/i/,j),i,j=1,2,...,
256}と{b(/i/,j),i,j=1,2,...,256}の和
を求めるなら pdo i=1,256 do 10 j=1,256 10 a(/i/,j)=a(/i/,j)+b(/i/,j) pend の様に表す。これに対してシステムソフトウエアは次の
様な展開を行なう。 pdo r,q =1,16 do 10 t=1,16 do 10 s=1,16 10 a(/r,/q//,t)(s) =a(/r,/q//,t)(s) +b
(/r,/q//,t)(s) pend 一方、行列{a(i,/j/),i,j=1,2,...,256}と
{b(i,/j/),i,j=1,2,...,256}の和を求める pdo j=1,256 do 20 i=1,256 20 a(i,/j/)=a(i,/j/)+b(i,/j/) pend に対しては、次の様な展開になる。 pdo t,s =1,16 do 20r=1,16 do 20q=1,16 20 a(r,q,//t//)(/s/)=a(r,q,//t//)(/s/) +
b(r,q,//t//)(/s/) pend
【0027】システム設計例 ここでは現時点で提供可能なベクトルチップを用いたコ
ンパクト設計による、コストパフォーマンスの高いスー
パーコンピュータの実施例を挙げる。N=16とする。
主記憶部を16枚ボードで実装する。プロセッサ部には
ベクトルユニット用の16枚のボードとコントロールユ
ニット用の1枚のボードを用意する。これらのボードの
各エッジを1枚のマザーボードに差込む形をとる。この
マザーボード上にはベクトルラッチも搭載する。
【0028】さて、各主記憶ボード上には16×16の
メモリバンクを配置する。各バンクには4Mビット(1
M×4)DRAM(50ns)を16個配置し、倍精度
長で1MW分をもたせる。そうすると、ボードあたり2
56MW(2048MB)、主記憶全体で4096MW
(32GB)の大きさが確保できる。各ボード上のメモ
リチップの総数は4096個であり、各バンクに64ビ
ット長ラッチを外付けし、アドレス値選択回路を置いた
としても十分におさまる。なお、64ビットデータバス
の16組を1セットにして、それが縦横に2セット走る
ことになる。
【0029】このような実装では、ボードのエッジに出
てくるデータバスの本数は、主要部分だけについては
(パリティ用などを除いて)行バス分に64×16=1
024本、列バス分に64本の合計1088本である。
アドレスバスは次に述べるように、32ビット分があれ
ばよく、その他には4つの処理方向を決める制御線2本
やクロックなどである。
【0030】4096MW分のアドレス指定には32ビ
ットアドレスが必要であるが、それを次のように割り振
る。3次元問題のときには各座標方向に8ビットを与
え、そのうち4ビットを物理的バンクアドレス、残りの
4ビットを仮想的バンクアドレス分に使う。これにより
一方向に256個の論理的バンクアドレスが確保でき
る。3方向に24ビット分を用いたとして、残りの8ビ
ットが変数の同定に使われる。なお、仮想的バンクアド
レス分で利用されなかったものも変数同定にまわしてよ
い。要するに、最大処理可能な問題として256×25
6×256の格子点上で256個の変数をもつものまで
を許す。2次元問題では、2次元配列を4次元配列に写
像して用いるが、そのうち3方向にそれぞれ6ビットず
つを与え、そのうち4ビットを物理的バンクアドレス指
定に、残りの2ビットを仮想バンクアドレス指定分に用
いる。さらに、バンク内指定に残る14ビットの内6ビ
ットを第4次元のためのものとし、残り8ビットが変数
同定に使われる。このようにすれば4096×4096
の格子点上で256個の変数を持つ問題までが可能にな
る。
【0031】ベクトルラッチ部には16語長のベクトル
ラッチが16個設けられ、それぞれ直列バス、並列バス
につながる。
【0032】ベクトルラッチ部を通じた主記憶部のアク
セスはインターリーブ方式により、サイクル時間が48
ns/16Wとなるようにする。これにはラッチやセレ
クタ回路遅延も含めてある。
【0033】プロセッサ部では100MHzで動作可能
なCMOSベクトルチップを16個用いる。各チップ内
にはベクトルレジスタ(倍精度語で256語分)が16
本、ベクトルパイプラインが4本備えられる。その他コ
マンドバッファやチップ内コントロールユニットやバス
ユニットが内蔵され、さらに、スカラーユニット及びス
カラーレジスタが含まれる。このチップにはスカラーデ
ータ用のメモリが外付けされる(各4096語)。ま
た、コントロールユニットにも100MHzで動作可能
なプロセッサと命令語格納メモリ(1M語)を持つ。実
効速度は2本のパイプラインが連続運転される場合を想
定し、3.2GFLOPSと見積れる。ピーク性能は
6.4GFLOPSである。これはメモリスループット
として約1.7W/FLOPを実現している。
【0034】
【発明の効果】本発明は、従来のスーパーコンピュータ
を土台にして、次に発展すべき方向を指し示すものであ
り、次世代の高性能マシンとして最も可能性の高い方途
を与えている。それは、既に実証済みのハイパークロス
ネット方式並列計算機(特許第1404753号に係る
もの)の優れた点を継承し、なおかつ築き上げられたベ
クトル計算機技術と結合するものである。ハイパークロ
スネット方式は優れて科学技術計算応用問題向きであ
り、ユーザーに簡明であり、しかもこれまでのどの並列
計算機よりも柔軟性に富んだアーキテクチャとなってい
る。ネットワークを介したデータ転送方式はハードウエ
ア負荷の軽減にはなっているが、データ転送によるオー
バーヘッドを避けがたく実効性能を低下させてしまう。
ハイパークロスネットではデータ転送を配列の分有方法
を変えるデータ編集ととらえたことが大きな成功の鍵に
なったが、そのデータ編集をネットワークによるのでな
く、主記憶メモリバンクの一定様式の組織化とアクセス
方途の多様化によって実現したのが本発明ベクトル並列
計算機である。これによって転送オーバーヘッドの問題
はなくなり、しかも分有方法が異なる度にデータを確保
しなければならない無駄をなくすことができた。結果と
して、共有メモリ方式と分散メモリ方式の丁度中間的な
位置づけのできるシステムが生まれ、両者の利点をあわ
せもつことが可能になった。すなわち、利用の仕方から
みてほぼ十分な自由度を持つアクセス可能性と組織的バ
ンク化により競合を排するとともに高速アクセスを許す
ものである。その結果、実効性能についていえば、従来
のベクトル計算機ではバンクへのアクセス競合で効果が
でなかったり、ハイパークロスネットでデータ編集に時
間の損失をみていたことが解消され、ほぼピーク性能に
近い高性能を実現することができるようになった。
【0035】次世代のスーパーコンピュータは多数のベ
クトルユニットとメモリユニットをうまくシステム化し
てできるだけ効率よく並列処理できるようにしたものと
なることが予想できるが、その解答として最も期待がも
てるのが本発明ベクトル並列計算機である。
【図面の簡単な説明】
【図1】本発明で処理する行ベクトルデータの組(束)
を示す模型図である。
【図2】本発明で処理する垂直ベクトルデータの組
(束)を示す模型図である。
【図3】本発明で処理する列ベクトルデータの組(束)
を示す模型図である。
【図4】本発明で処理する深さベクトルデータの組
(束)を示す模型図である。
【図5】本発明のシステム構成例を示すブロック線図で
ある。
【図6】図5のシステムにおいてx方向処理回路を抽出
した図である。
【図7】図5のシステムにおいてy方向処理回路を抽出
した図である。
【図8】図5のシステムにおいてz方向処理回路を抽出
した図である。
【図9】図5のシステムにおいて深さ方向処理回路を抽
出した図である。
【符号の説明】
1 メモリバンク 2 アクセスラッチ 9 ベクトルラッチ
─────────────────────────────────────────────────────
【手続補正書】
【提出日】平成5年10月4日
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】特許請求の範囲
【補正方法】変更
【補正内容】
【特許請求の範囲】
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0005
【補正方法】変更
【補正内容】
【0005】
【課題を解決するための手段】本発明は、上記の目的を
達するため、N個のメモリバンクの立方配列{MB
(i,j,k),但し、i,j,k:1,2…,N}か
らなる主記憶部と、制御用プロセッサユニットCU及び
N台の並列計算用ベクトルプロセッサユニットVU1,
VU2,…,VUNからなるプロセッサ部、並ひに前記
主記憶部と各ベクトルプロセッサユニットとの間にあっ
てそれぞれベクトルデータを一時的に記憶するためのN
個のベクトルラッチからなるベクトルラッチ部を備えた
バックエンド用計算機システムであって、(a)前記制
御用プロセッサユニットCUは、前記N台のベクトルプ
ロセッサユニット、前記N個のベクトルラッチ及び主記
憶部に制御信号を発信して並列同期動作を指示するもの
であり、(b)前記主記憶部のN個のメモリバンク配
列は、各枚毎に共通バスをN行N列の行列の形に配列し
たN枚の主記憶ボードにおいて、それぞれN個ずつ支
持され、各ボードにおけるN個のメモリバンクは同ボ
ードのN個の行列バス格子点に分配接続されたN
のアクセスラッチにそれぞれ接続されたことにより、対
応する行バス及び列バスの双方からアクセスできるよう
になっており、(c)前記N個のベクトルラッチの各々
は、それぞれN個の要素ラッチを有し、これらN個の要
素ラッチには対応する前記N枚の主記憶ボードとの間で
データを入出力するために1個ずつの並列ポートを設け
るとともに全ベクトルラッチを通じて同一要素番号のポ
ート毎に共通に外部バス接続し、これらN組のバスは要
素ラッチ番号に対応する主記憶ボードの列選択回路を介
して選択された同一番号をもつアクセスラッチ列に接続
されるとともに、N個のベクトルラッチ毎にはN個の要
素ラッチを共通接続する内部バスの両端に第1及び第2
の直列ポートを設け、それら全N個の第1の直列ポート
はボード分配回路とベクトルラッチ番号に対応した主記
憶ボードの行選択回路を介して選択された同一番号をも
つアクセスラッチ行に接続される、または同直列ポート
はボード選択回路を介して、選ばれた主記憶ボード上
の、ベクトルラッチ番号に対応したアクセスラッチ列に
接続され、これによって前記N個のベクトルラッチと主
記憶部との間に、 前記第1の直列ポートに対応する主記憶ボード各枚
の、選択された同一番号の行方向バスを通じ、メモリバ
ンクの立方配列内にN組の行ベクトルデータを送受信す
る第1のアクセス経路、 前記N個の並列ポートにそれぞれ対応する主記憶ボー
ド各枚の、選択された同一番号の列方向バスを通じ、メ
モリバンクの立法配列内のN組の垂直ベクトルデータを
送受信する第2のアクセス経路、 選択された1枚の主記憶ボード中で、前記第1の直列
ポートの各々に対応する各列方向バスを通じ、メモリバ
ンクの立法配列内のN組の列ベクトルデータを送受信す
る第3のアクセス経路、及び 前記第1の直列ポートに対応する主記憶ボード各枚
の、選択された同一番号の行内で、補助的列アドレス指
定により選択された同一番号のバンク内のN語を対応す
るアクセスラッチに順次出し入れし、かつ対応する行方
向バスを通じて送受信する第4のアクセス経路、 のいずれか一つを確立するものであり、(d)前記N個
のベクトルプロセッサユニットVU1,VU2,…,V
UNの各々はベクトル演算装置を有することにより、ベ
クトルデータに対する演算を行なうものであって、前記
第2の直列ポートを通じて対応する各ベクトルラッチと
接続されたことにより、前記各アクセス経路において同
ベクトルラッチ内に一時配置されるベクトルデータを演
算処理するものである、ことを特徴とするベクトルプロ
セッサの1次元配列とメモリバンクの3次元配列を有す
るベクトル並列計算機、を構成したものである。
【手続補正3】
【補正対象書類名】明細書
【補正対象項目名】0006
【補正方法】変更
【補正内容】
【0006】
【作用】上記の構成によれば、ベクトル計算を行なうベ
クトルユニット(「ベクトルプロセッサユニット」の
略、以下同じ。)の1次元配列と3次元格子状に配置し
たメモリバンクのシステムにおいて、基本的には3種の
処理状態及び一種の補助的処理状態とそれに応じたメモ
リアクセス経路を許す。すなわち、要素データからなる
3次元配列データを、その1次元部分配列である「行ベ
クトル」の組、または「垂直ベクトル」の組、あるいは
「列ベクトル」の組とみる見方を許し、それぞれに対応
した前記第1〜第3のアクセス経路を通じてベクトルユ
ニット内のベクトルレジスタにもってきて処理し、そこ
から結果を運び出す。いま記述を明確にするため、3次
元配列データを生じさせるもとになるx,y.z座標系
を考え、「行ベクトル」とは任意に指定したz値とx値
に対してy座標をアーギュメント(引き数:独立変数)
にしてきまる1次元部分配列であり(図1)、「垂直ベ
クトル」とは任意に指定したx値とy値に対してz座標
をアーギュメントにしてきまる1次元部分配列であり
(図2)、そして「列ベクトル」とは任意に指定したy
値とz値に対してx座標をアーギュメントにしてきまる
1次元部分配列である(図3)ものとする。
【手続補正4】
【補正対象書類名】明細書
【補正対象項目名】0011
【補正方法】変更
【補正内容】
【0011】2次元配列データの処理では、第4のアク
セス経路を用いることにより、3次元にもう1次元メモ
リバンク自体の構造に関するもの(「深さ」次元とい
う、図4参照)を加えた4次元配列にマッピングして処
理することができる。この第4のアクセス経路は、任意
に指定したx値とy値に対して「深さ」方向に沿っては
ベクトル演算、Z座標に亘っては並列に処理することを
単位として、x値とy値を順次に変更しながら逐次処理
するものである。この処理は、「深さ」処理又は補助的
なX方向処理と言うことにする。
【手続補正5】
【補正対象書類名】明細書
【補正対象項目名】0014
【補正方法】変更
【補正内容】
【0014】各バンクメモリ1毎に一つのアクセスラッ
チ(例えばN語などの一定語長容量)2を設け、それら
のラッチを、各ボード上で縦横に(ここではx方向を列
3とし、y方向を行4として)張り巡らしたデータバス
の交点(ノード)に位置するところにおく。そして、各
列、あるいは各行毎のバスを共通バスとしてそれにつな
がるラッチ2がアクセスできるものとする。したがっ
て、それらのラッチの内容を要素とする長さNの列ベク
トルあるいは行ベクトルがインターリーブ方式でアクセ
スされる単位となる。さて、各ボードに共通して、行4
に関するx方向処理のときは、x値を指定することでい
ずれかの行をセレクタ7により選択し、それを主記憶ボ
ードに対応した共通エッジバス8を通じてベクトルラッ
チ部23のそれに対応したベクトルラッチにつながるよ
うにする(図6参照)。ラッチにつながるすべての列バ
ス3はy方向処理とz方向処理の場合に利用され、y方
向処理のときは、y値を指定することでいずれかの列バ
スをセレクタ5により選択し、y値選択バス6を介し
て、その先をベクトルラッチ部23の主記憶ボードに対
応した並列ポートにつながるようにする。(図7参
照)。また、z方向処理のときは、それらの列バス3を
そのまま延長したものを通じてベクトルラッチ部の対応
するベクトルラッチにつながするようにする(図8参
照)。
【手続補正6】
【補正対象書類名】明細書
【補正対象項目名】0015
【補正方法】変更
【補正内容】
【0015】ベクトルラッチ部23は主記憶部22とプ
ロセッサ部21の間にあって(図5参照)、主記憶部に
データを書いたり、そこから読んだりするときにN語長
のベクトルのN個分を一時記憶するためのものである。
このラッチ部23はやはり2次元格子状(N×N)に要
素ラッチ(1語長)を配置し、それぞれ列方向に並んだ
N個のラッチを一組にしたものをベクトルラッチ9と
し、それらのラッチにベクトルを出し入れするための
内部バス」は主記憶部に延びる第1の直列ポート10
とプロセッサ部へ延びる第2の直列ポート14を有す
る。x方向処理のときは第1の直列ポート10は、ラッ
チ9毎に、分岐接続されたz値選択バス11を介してそ
れぞれ対応する主記憶ボードに接続される。また、z方
向処理のときは同じく第1の直列ポート10は、セレク
タ12により一つだけ選択された主記憶ボード(z値選
択ボード)からのすべての共通エッジバス8にそれぞれ
つながる。これは、ボード選択回路に外ならない。これ
らx方向とz方向処理の場合には、いずれも主記憶部で
のベクトル(列あるいは行ベクトル)がそのままベクト
ルラッチ内のベクトルに対応するようなデータ転送にな
る。そうでないのがy方向処理のときである。そのとき
のために、同じベクトルラッチの組に対してベクトルの
成分番号毎にできるセクションにデータを出し入れする
ための並列ポートと外部バス」13がN組設けられ、
それは主記憶部との間で対応するボードからの列選択回
路を構成するy値選択バス6につながる。y値選択バス
の一つ一つから読み出され、ベクトルラッチに配置され
るものは前記ベクトルに該当するものではなく、外部
スを通じて一時記憶し、直列方向に見れば望みのベクト
ルとして、主記憶部での垂直ベクトルが得られたことに
なる。逆に主記憶部に書き入れるときもベクトルデータ
の組をセクションデータの組にして外部バスとy値選択
バスを通じて書き込むことになる。一方、ベクトルラッ
チの組からプロセッサ部の方には前記直列ポート14の
組のみが出ており、それらがそれぞれ対応するべクトル
ユニットに直結する。
【手続補正7】
【補正対象書類名】明細書
【補正対象項目名】0017
【補正方法】変更
【補正内容】
【0017】主記憶データを用いて演算を進める標準的
な処理であって、x方向処理の場合を想定する。コント
ロールユニットが「読み出し」という命令語に従ってx
方向処理信号とxアドレスとバンク内アドレスを主記憶
部におくる。そのときすべてのボードにつきxアドレス
できまる行のアクセスラッチに一つずつデータが一時記
憶される。続いて、それぞれのx値選択行バスと直列
ートを通じてベクトルラッチ部に移され、さらにベクト
ルレジスタにまで運ばれる。そこで、バンク内アドレス
だけをかえて同じ経路を経て、先のベクトルレジスタに
アペンドすれば、倍長の列ベクトルがレジスタに確保さ
れる。同じことを何回か繰り返せば、レジスタ長にマッ
チしたデータができあがる。別の被演算データも同じよ
うにして別のベクトルレジスタに確保できると、そこで
ベクトルパイプラインに移して(あるいはベクトル要素
並列処理プロセッサアレイによって)ベクトル演算を行
なわせる。なお、上記繰り返しや、続く別のデータのア
クセスを効率良くやるために、アクセスラッチ−ベクト
ルラッチ−ベクトルレジスタ間のデータの流れをパイプ
ライン的にすきまなく連続して行なうことが肝要であ
る。すなわち、一つの部分データを先に送ればただちに
次の部分データを持つようにする。結果を主記憶に書き
入れる場合x方向処理信号をそのまにして、適当なxア
ドレスとバンク内アドレスを与えれば、上記経路を逆向
きに辿ることで蓄えられる。y方向処理やz方向処理の
場合も同様である。補助的なx方向処理の場合だけ、少
し違っていて、すべてのボードにつき(すなわちzアド
レスに亘って)同一のxアドレスとyアドレスを指定し
てきまるバンク内で一定間隔で配置されるべきデータか
らなるベクトル(「深さ」方向ベクトル)の要素を複数
容量をもつアクセスラッチ内に一時記憶させることを順
次繰り返し、x方向処理と同じ経路によってベクトルレ
ジスタにつなぐようにする(図9参照)。 ─────────────────────────────────────────────────────
【手続補正書】
【提出日】平成5年10月12日
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】請求項2
【補正方法】変更
【補正内容】

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 N3 個のメモリバンクの立方配列{MB
    (i,j,k),但し、i,j,k=1,2…,N}か
    らなる主記憶部と、制御用プロセッサユニットCU及び
    N台の並列計算用ベクトルプロセッサユニットVU1,
    VU2,…,VUNからなるプロセッサ部、並びに前記
    主記憶部と各ベクトルプロセッサユニットとの間にあっ
    てそれぞれベクトルデータを一時的に記憶するためのN
    個のベクトルラッチからなるベクトルラッチ部を備えた
    バックエンド用計算機システムであって、 (a)前記制御用プロセッサユニットCUは、前記N台
    のベクトルプロセッサユニット、前記N個のベクトルラ
    ッチ及び主記憶部に制御信号を発信して並列同期動作を
    指示するものであり、 (b)前記主記憶部のN3 個のメモリバンク配列は、各
    枚毎に共通バスをN行N列の平面格子状に配列したN枚
    の主記憶ボードにおいて、それぞれN2 個ずつ支持さ
    れ、各ボードにおけるN2 個のメモリバンクは同ボード
    のN2 個の行列バス格子点に分配接続されたN2 個のア
    クセスラッチにそれぞれ接続されたことにより、対応す
    る行バス及び列バスの双方からアクセスできるようにな
    っており、 (c)前記N個のベクトルラッチの各々は、それぞれN
    個の要素ラッチを有し、これらN個の要素ラッチには対
    応する前記N枚の主記憶ボードとの間でデータを入出力
    するために1個ずつの並列ポートを設けるとともに全ベ
    クトルラッチを通じて同一要素番号のポート毎に共通に
    バス接続し、これらN組のバスは要素ラッチ番号に対応
    する主記憶ボードの列選択回路を介して選択された同一
    番号をもつアクセスラッチ列に接続されるとともに、N
    個のベクトルラッチ毎にはN個の要素ラッチを共通接続
    する内部バスの両端に第1及び第2の直列ポートを設
    け、それら全N個の第1の直列ポートはボード分配回路
    とベクトルラッチ番号に対応した主記憶ボードの行選択
    回路を介して選択された同一番号をもつアクセスラッチ
    行に接続される、または同直列ポートはボード選択回路
    を介して、選ばれた主記憶ボード上の、ベクトルラッチ
    番号に対応したアクセスラッチ列に接続され、これによ
    って前記N個のベクトルラッチと主記憶部との間に、 前記第1の直列ポートに対応する主記憶ボード各枚
    の、選択された同一番号の行方向バスを通じ、メモリバ
    ンクの立方配列内のN組の行ベクトルデータを送受信す
    る第1のアクセス経路、 前記N個の並列ポートにそれぞれ対応する主記憶ボー
    ド各枚の、選択された同一番号の列方向バスを通じ、メ
    モリバンクの立法配列内のN組の垂直ベクトルデータを
    送受信する第2のアクセス経路、及び 選択された1枚の主記憶ボード中で、前記第1の直列
    ポートの各々に対応する各列方向バスを通じ、メモリバ
    ンクの立法配列内N組の列ベクトルデータを送受信する
    第3のアクセス経路、のいずれか一つを確立するもので
    あり、 (d)前記N個のベクトルプロセッサユニットVU1,
    VU2,…,VUNの各々はベクトル演算装置を有する
    ことにより、ベクトルデータに対する演算を行なうもの
    であって、前記第2の直列ポートを通じて対応する各ベ
    クトルラッチと接続されたことにより、前記各アクセス
    経路において同ベクトルラッチ内に一時配置されるベク
    トルデータを演算処理するものである、 ことを特徴とするベクトルプロセッサの1次元配列とメ
    モリバンクの3次元配列を有するベクトル並列計算機。
  2. 【請求項2】 前記N個のベクトルラッチと主記憶部と
    の間に、前記第1、第2及び第3のアクセス経路に加え
    て、前記第1の直列ポートに対応する主記憶ボード各
    枚の、選択された同一番号の行内で、補助的列アドレス
    指定により選択された同一番号のバンク内のN語を対応
    するアクセスラッチに順次出し入れし、かつ対応する行
    方向バスを通じて送受信する第4のアクセス経路をも、
    択一的に確立できるようにしたことを特徴とする請求項
    1記載の計算機。
JP4333656A 1992-11-18 1992-11-18 ベクトル並列計算機 Expired - Fee Related JPH0792790B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP4333656A JPH0792790B2 (ja) 1992-11-18 1992-11-18 ベクトル並列計算機
US08/141,786 US5408677A (en) 1992-11-18 1993-10-22 Vector parallel computer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4333656A JPH0792790B2 (ja) 1992-11-18 1992-11-18 ベクトル並列計算機

Publications (2)

Publication Number Publication Date
JPH06162227A true JPH06162227A (ja) 1994-06-10
JPH0792790B2 JPH0792790B2 (ja) 1995-10-09

Family

ID=18268502

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4333656A Expired - Fee Related JPH0792790B2 (ja) 1992-11-18 1992-11-18 ベクトル並列計算機

Country Status (2)

Country Link
US (1) US5408677A (ja)
JP (1) JPH0792790B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100527324B1 (ko) * 1997-08-22 2006-01-27 소니 컴퓨터 엔터테인먼트 인코포레이티드 정보처리장치
CN111415617A (zh) * 2020-04-02 2020-07-14 广东晟合技术有限公司 增加锁存器提高oled面板伽马电压稳定时间的方法

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2938711B2 (ja) * 1993-05-10 1999-08-25 松下電器産業株式会社 並列計算機
US5671392A (en) * 1995-04-11 1997-09-23 United Memories, Inc. Memory device circuit and method for concurrently addressing columns of multiple banks of multi-bank memory array
US6275891B1 (en) * 1999-02-25 2001-08-14 Lsi Logic Corporation Modular and scalable system for signal and multimedia processing
US7386703B2 (en) * 2003-11-18 2008-06-10 International Business Machines Corporation Two dimensional addressing of a matrix-vector register array
JP3998691B2 (ja) * 2005-05-26 2007-10-31 沖電気工業株式会社 データ転送ネットワーク
US20090063608A1 (en) * 2007-09-04 2009-03-05 Eric Oliver Mejdrich Full Vector Width Cross Product Using Recirculation for Area Optimization
JP4497184B2 (ja) * 2007-09-13 2010-07-07 ソニー株式会社 集積装置およびそのレイアウト方法、並びにプログラム
US8826252B2 (en) * 2009-06-12 2014-09-02 Cray Inc. Using vector atomic memory operation to handle data of different lengths
US8458685B2 (en) * 2009-06-12 2013-06-04 Cray Inc. Vector atomic memory operation vector update system and method
US8583898B2 (en) * 2009-06-12 2013-11-12 Cray Inc. System and method for managing processor-in-memory (PIM) operations
US8799230B2 (en) * 2012-03-29 2014-08-05 Cisco Technology, Inc. Method and system for centralized issue tracking
US9984026B2 (en) * 2015-05-11 2018-05-29 Nakaikegami Koubou Co., Ltd. Circuit, parallel computing device, computer system and computer readable storage medium

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58134357A (ja) * 1982-02-03 1983-08-10 Hitachi Ltd ベクトルプロセッサ
US4983958A (en) * 1988-01-29 1991-01-08 Intel Corporation Vector selectable coordinate-addressable DRAM array

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100527324B1 (ko) * 1997-08-22 2006-01-27 소니 컴퓨터 엔터테인먼트 인코포레이티드 정보처리장치
CN111415617A (zh) * 2020-04-02 2020-07-14 广东晟合技术有限公司 增加锁存器提高oled面板伽马电压稳定时间的方法

Also Published As

Publication number Publication date
JPH0792790B2 (ja) 1995-10-09
US5408677A (en) 1995-04-18

Similar Documents

Publication Publication Date Title
US9639458B2 (en) Reducing memory accesses for enhanced in-memory parallel operations
US4090174A (en) Method and apparatus for accessing horizontal sequences, vertical sequences and rectangular subarrays from an array stored in a modified word organized random access memory system
US7979672B2 (en) Multi-core processors for 3D array transposition by logically retrieving in-place physically transposed sub-array data
US7386689B2 (en) Method and apparatus for connecting a massively parallel processor array to a memory array in a bit serial manner
JPH06103599B2 (ja) 半導体集積回路装置
JPH06162227A (ja) ベクトル並列計算機
EP1733300B1 (en) Improvements relating to orthogonal data memory
US20050024983A1 (en) Providing a register file memory with local addressing in a SIMD parallel processor
US7409529B2 (en) Method and apparatus for a shift register based interconnection for a massively parallel processor array
JPH0254383A (ja) アレイプロセッサ
US5710932A (en) Parallel computer comprised of processor elements having a local memory and an enhanced data transfer mechanism
JPS63201851A (ja) バッファ記憶アクセス方法
JPH06274528A (ja) ベクトル演算処理装置
EP0166192A2 (en) High-speed buffer store arrangement for fast transfer of data
JP3333779B2 (ja) 行列演算装置
CA1183275A (en) Byte addressable memory for variable length instructions and data
US5928350A (en) Wide memory architecture vector processor using nxP bits wide memory bus for transferring P n-bit vector operands in one cycle
EP0326164A2 (en) Parallel computer comprised of processor elements having a local memory and an enhanced data transfer mechanism
JP2655243B2 (ja) 複合化ベクトル並列計算機
Tanimoto Memory systems for highly parallel computers
Aude et al. Arco: a cost-effective and flexible hardware maze router
Wijshoff et al. Data Communication and Data Organization in Parallel Computations: Classification and Overview
Alleyne et al. A bit-parallel, word-parallel, massively parallel associative processor for scientific computing
Swarztrauber The Communication Machine
JPS626373A (ja) ベクトル制御方式

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees