JPS6165336A - 高速演算方式 - Google Patents

高速演算方式

Info

Publication number
JPS6165336A
JPS6165336A JP59186316A JP18631684A JPS6165336A JP S6165336 A JPS6165336 A JP S6165336A JP 59186316 A JP59186316 A JP 59186316A JP 18631684 A JP18631684 A JP 18631684A JP S6165336 A JPS6165336 A JP S6165336A
Authority
JP
Japan
Prior art keywords
data
arithmetic
nodes
calculation method
instruction
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
JP59186316A
Other languages
English (en)
Inventor
Shinichiro Miyaoka
宮岡 伸一郎
Akira Muramatsu
晃 村松
Seiju Funabashi
舩橋 誠寿
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP59186316A priority Critical patent/JPS6165336A/ja
Priority to US06/769,306 priority patent/US4757466A/en
Publication of JPS6165336A publication Critical patent/JPS6165336A/ja
Pending legal-status Critical Current

Links

Classifications

    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; 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/44—Arrangements for executing specific programs
    • G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4494—Execution paradigms, e.g. implementations of programming paradigms data driven

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)
  • Complex Calculations (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔発明の利用分野〕 本発明は実システムの数値シミュレーションに係り、特
に電子回路、論理回路、構造解析、潮流〔発明の背景〕 数値計算を高速に実行する計算機として、スーパーコン
ピュータやアレイプロセッサがあるが、これらには以下
のような問題点がある。
(1)利用分野で述べたようなスパース、不規則な系の
計算では、ベクトル長が短かくなるため著しく効率が悪
化する。
(2)さらに並列度を高め高速化することが困難である
。
データフローマシンで実用化されたもの(溝目、外:画
像処理プロセッサTIP−1,信学技法EC8l−59
)もあるが、データ読み出し部が直列であるため高速化
に限界がある。
〔発明の目的〕
本発明の目的は、スーパーコンピュータ等のベクトル計
算に不適な、すなわち、不規則な構造のためアドレス計
算が複雑となる、あるいはスパースな構造のためベクト
ル長を長くとることが困難な問題に対し、問題に内′在
する並列計算可能性を最大限まで引き出して高速に計算
することを可能とする演算装置を提供することにある6
〔発明の概要〕 数値計算における処理はデータフローグラフで表現でき
る。データフローグラフとは、演算命令をノード(節点
)で、データの流れをアーク(枝)で表現したグラフで
ある。たとえば線形方程式を解くための(a ) L 
U分解、(b)三角方程式の求解はそれぞれ第1図(a
)、(b)のようなデータフローグラフで書かれる。あ
るノードに入力するアークのデータが全てそろえばその
ノードの演算は実行可能ということが分るため、スーパ
ーコンピュータなどで用いているベクトル化の方法に比
べ計算に内在する並列性を自然に表現できる方式といえ
る。
数値計算のデータフローグラフの特徴として以下の3点
が挙げられる。
(i)  ノードの種類は、加減乗除の四則演算だけで
ある。
(it)  グラフとして見たとき、ループが存在しな
い。
(tit)  入力端(第1図、(a)のa11+ a
3□、・・・など)の値が変更されることはない。
このことから、本発明では以下に述べるようなアークに
蓄積機能を持たない簡単なネットワーク型演算(ノード
間の接続関係をたどって行く型の演算)で、並列に計算
を実行することが可能となることを利用して計算の高速
化をはかる点に特徴がある。
(i)  入力データがそろっている、すなわち演算実
行可能なノードを判別する。
(it)  当該ノードの演算(四則演算のみ)を実行
する。
(iii )  当該ノードの出力先ノードを検索し、
当該ノードの演算結果を出力先ノードの入力データとし
て設定する。
一般には、入力データのそろっているノードは同時に多
数個存在し、これらは並列に実行可能である。
〔発明の実施例〕
以下、本発明の実施例を第2図により説明する。
本実施例では、演算装置全体を3重のループによって構
成している。第1 (または第2.第3)のループは、
ノードの入力データをそろえ演算ユニットに送るファイ
ンプロセッサ1 (2,3)、四則演算を行う演算ユニ
ット7 (8,9)、Fi F O(Fjrgt In
 First 0ut)の機能を持つデータバッファ1
.0 (1,1,12) 、出力先のノードを検出する
ファンアウトプロセッサ13(14゜15)、および交
換ネツ1〜ワーク19から構成される。ファインプロセ
ッサ1〜3にはそれぞれ、命令メモリ4〜6が、ファン
アウトプロセッサ13〜15にはそれぞれ、接続構造メ
モリ16〜18が接続されている。
ところで、データフローグラフは2人力多出力ノードで
表現され(このようにグラフを構成することは一般的に
可能)、またループの多重度に等しい数のサブグラフに
分割されているものとする。
命令の種類や接続構造に関するデータは、サブグラフに
対応して分割されてメモリに格納される。
本実施例の場合、サブグラフの数は3であり、命令の種
類などは命令メモリ4〜6に分散して格納され、接続構
造に関するデータはメモリ16〜18に分散して格納さ
れている。
次に命令メモリ4〜6と、接続構造メモリ16〜18の
構成について詳細に述べる。命令メモリ4には、第3図
(、)に示すように、ノード番号AIをアドレスとして
TA、G、OP、D、、Pの4つのデータを格納してい
る。TAGは、ノードの2つの入力のうち一方の値が確
定したときに1の値をとり、2人力とも確定していない
か演算が既に終了しているときにOの値をとるものとす
る。
opは演算の種類(加減乗除)を示す演算コードである
。D2は、入力の一方の値が確定している場合にその値
を示している。Pは当該ノードの出力先のノード番号(
一般には多数個ある)が格納されている接続構造メモリ
16の先頭アドレスを示すポインタである。接続構造メ
モリ16には、ノードごとに、複数個ある出力先ノード
番号を連続して格納してあり、その先頭アドレスは命令
メモリ4に格納されているポインタPで指示し、最終ア
ドレスであることは格納データがENDフラグであるこ
とにより判定する。
交換ネタ1〜ワーク19は、その入力データ髪指定され
たアドレスに従って分配する機能を持ち、多段スイツチ
ネツ1〜ワーク、またはクロスバスイッチなどで構成す
るものとする。
第2図、第3図に従い、第1のループを例にとって動作
説明を行う。第3図(a)に示すように、ファインプロ
セッサ1は、交換ネットワーク19からノード番号A、
と入力データD、の組20を受けとり、命令メモリ4の
アドレスA、からTAGを読み出す。TAGがOであれ
ばDl を命令メモリ4の当該アドレスにD2として書
き込み、TAGを1に変更する。TAGが1の場合は、
2つの入力データがそろっているのでD2 を読み出し
くOP、D、、D、、P)の組21を演算ユニット7に
送出し、TAGを0に戻す。
演算ユニット7は、Dl、D、に演算OPを施し、その
演算結果りとポインタPの組(PJ )をデータバッフ
ァ10に送出する。
第3図(b)に示すように、ファンアウトプロセッサ1
3は、データバッファ10から先着順に(PJ 、 D
)の組23を取り出し、p、、を接続構造メモリ16の
アドレスとして出力先のノード番号AJを読み出す。さ
らに、出力先のノード番号AJ と演算結果データD(
出力先ノードの入力データとなる)の組24を交換ネッ
トワーク19に入力する。出力先のノードは通常複数個
あるので、ファンアウトプロセッサ13はアドレスを】
、っずつ増加させながらENDフラグに至るまで」二連
の処理を続ける。
交換ネットワーク19はノード番号Aj をデコードし
て、(Aj、D)の組をファインプロセッサ1〜3のい
ずれかに送る。すなわち、A、に関する情報を格納した
メモリに接続されているファンインプロセッサに向けて
当該データを送るものとする。
以上の処理はループに沿ってパイプライン的に実行され
る。すなわち、ファンインプロセッサ、演算ユニット、
ファンアウトプロセッサ、交換ネットワークのそれぞれ
は、同時に異なったノードに対し処理を行っている。
以上、第1のループに着目して動作を説明してきたが、
第2.第3のループの動作も全く同様である。これらの
ループは、交換ネットワークを介してデータ交換を行い
ながら並列に計算を進める。
さらに並列度を高めたければ、ループ数を増やすことに
より構成上の具体的な変更を行うことなしに拡張を図る
ことが可能である。
第2図には記載していないが、演算ユニット7(8,9
)はホストコンピュータ(でイクロプロセッサレベルの
もので可)に接続され、メモリへのデータのロードと演
算結果の読み出しは、ホストコンピュータが行うものと
する。演算の終了は、ラアインプロセッサへの入力がな
くなった時点とする。
〔発明の効果〕
本発明によれば、問題に内在する並列性を最大限に引き
出すことができるので、スーパーコンピュータなどのベ
クトル計算機が不得意とするスパース、不規則な問題に
対しても高速に計算を行うことが可能である。たとえば
、最大性能800MFLOPSのスーパーコンピュータ
でも、スパースがつ不規則な行列のLU全分解は、10
〜3゜MFLOPSと最大性能の数十分の−の性能しか
出すことができない。これに対し、本発明でループ数を
8とすれば40 MFLOPS、16とすれば808F
LOPSとスーパーコンピュータをしのぐ性能を出すこ
とが可能である。ただし、演算ユニットには1゜MFL
OPSの浮動小数点プロセッサを用い、マシンサイクル
は100n sと仮定している。
さらに本発明の効果として、目的を限定しているのでハ
ードウェア量が少なくて済むこと、拡張性に富み並列度
をさらに向」二させることが容易であることが挙げられ
る。
【図面の簡単な説明】
第1図はデータフローグラフの一例を示す図、第2図は
演算装置の全体構成図、第3図はメモリ7〜9・・・演
算ユニット、10〜12・・・データバッファ、13〜
15・・・ファンアウトプロセッサ、16〜18・・・
接続構造メモリ、19・・・交換ネット9in− (し) を2目 ′          7 77シイン 7’Ot  Q 命令メ[11 7アシ4シ アロセラr                   ユ
ニ、トメ モリ 7γン4ン 4ン今メモ、ワ ts         r2 、tQ 竿3目 (せ)

Claims (1)

  1. 【特許請求の範囲】 1、演算命令をノードで表現し、被演算データをアーク
    で表現したデータフローグラフにもとづいて演算処理を
    おこなう数値計算装置において、被演算データがそろい
    演算の実行が可能となった演算命令を判別する第1のス
    テップと、判別された演算命令を実行する第2のステッ
    プと、実行された演算命令の出力先ノードに対応する演
    算命令を探索し、第2のステップで得られた演算結果を
    探索された演算命令の被演算データとして設定する第3
    のステップとからなることを特徴とする高速演算方式。 2、上記被演算データは複数のブロックに分割されてお
    り、各ブロックにたいして上記第1〜3のステップを並
    列に実行することを特徴とする第1項の高速演算方式。
JP59186316A 1984-09-07 1984-09-07 高速演算方式 Pending JPS6165336A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP59186316A JPS6165336A (ja) 1984-09-07 1984-09-07 高速演算方式
US06/769,306 US4757466A (en) 1984-09-07 1985-08-26 High speed data processing system and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP59186316A JPS6165336A (ja) 1984-09-07 1984-09-07 高速演算方式

Publications (1)

Publication Number Publication Date
JPS6165336A true JPS6165336A (ja) 1986-04-03

Family

ID=16186197

Family Applications (1)

Application Number Title Priority Date Filing Date
JP59186316A Pending JPS6165336A (ja) 1984-09-07 1984-09-07 高速演算方式

Country Status (2)

Country Link
US (1) US4757466A (ja)
JP (1) JPS6165336A (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5204965A (en) * 1985-08-20 1993-04-20 Schlumberger Technology Corporation Data processing system using stream stores
US4893234A (en) * 1987-01-15 1990-01-09 United States Department Of Energy Multi-processor including data flow accelerator module
US4969085A (en) * 1988-08-03 1990-11-06 Intellignet Computer Engineering Memory module for a memory-managed computer system
US5999961A (en) * 1997-09-15 1999-12-07 California Institute Of Technology Parallel prefix operations in asynchronous processors
US9104510B1 (en) * 2009-07-21 2015-08-11 Audience, Inc. Multi-function floating point unit
CN102122246A (zh) * 2011-03-07 2011-07-13 中国农业银行股份有限公司 一种具有输出分支的流程图生成方法及装置
JP6004818B2 (ja) * 2012-08-07 2016-10-12 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 並列化方法、システム、及びプログラム

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3343135A (en) * 1964-08-13 1967-09-19 Ibm Compiling circuitry for a highly-parallel computing system
US4486850A (en) * 1974-11-11 1984-12-04 Hyatt Gilbert P Incremental digital filter
US3936806A (en) * 1972-07-12 1976-02-03 Goodyear Aerospace Corporation Solid state associative processor organization
US4149240A (en) * 1974-03-29 1979-04-10 Massachusetts Institute Of Technology Data processing apparatus for highly parallel execution of data structure operations
US4153932A (en) * 1974-03-29 1979-05-08 Massachusetts Institute Of Technology Data processing apparatus for highly parallel execution of stored programs
US3962706A (en) * 1974-03-29 1976-06-08 Massachusetts Institute Of Technology Data processing apparatus for highly parallel execution of stored programs
US4065808A (en) * 1975-01-25 1977-12-27 U.S. Philips Corporation Network computer system
US4310879A (en) * 1979-03-08 1982-01-12 Pandeya Arun K Parallel processor having central processor memory extension
US4306286A (en) * 1979-06-29 1981-12-15 International Business Machines Corporation Logic simulation machine
US4587626A (en) * 1981-10-13 1986-05-06 Trw Inc. Sum and difference conjugate discrete Fourier transform
US4656580A (en) * 1982-06-11 1987-04-07 International Business Machines Corporation Logic simulation machine

Also Published As

Publication number Publication date
US4757466A (en) 1988-07-12

Similar Documents

Publication Publication Date Title
US5226171A (en) Parallel vector processing system for individual and broadcast distribution of operands and control information
CN109522254B (zh) 运算装置及方法
US5081573A (en) Parallel processing system
Watson et al. A prototype data flow computer with token labelling
US7383421B2 (en) Cellular engine for a data processing system
CN110705703B (zh) 基于脉动阵列的稀疏神经网络处理器
JPH0731669B2 (ja) ベクトル・プロセツサ
Lin et al. Reconfigurable buses with shift switching: Concepts and applications
CN114780236A (zh) 数据处理集成电路
US4021779A (en) Microprogram control units
Johnsson Data permutations and basic linear algebra computations on ensemble architectures
Vassiliadis et al. Block based compression storage expected performance
US20030172248A1 (en) Synergetic computing system
US4757466A (en) High speed data processing system and method
RU2179333C1 (ru) Синергическая вычислительная система
Dally A universal parallel computer architecture
RU2198422C2 (ru) Асинхронная синергическая вычислительная система
CN121029233B (zh) 一种拆微操作模块与处理器及电子设备
Hiraki et al. Efficient vector processing on dataflow supercomputer SIGMA-1
JP2655243B2 (ja) 複合化ベクトル並列計算機
Schwartz et al. The optimal synchronous cyclo-static array: a multiprocessor supercomputer for digital signal processing
EP4689886A1 (en) Technique for efficient multiplication of vectors of complex numbers
WO2024195694A1 (ja) プロセッサ装置および演算方法
CN119166321A (zh) 向量算力分配的方法、处理器和设备
Cheng et al. Analysis and design of a cost-effective associative processor for weather computations