JPS60136876A - ベクトル処理装置 - Google Patents

ベクトル処理装置

Info

Publication number
JPS60136876A
JPS60136876A JP58244043A JP24404383A JPS60136876A JP S60136876 A JPS60136876 A JP S60136876A JP 58244043 A JP58244043 A JP 58244043A JP 24404383 A JP24404383 A JP 24404383A JP S60136876 A JPS60136876 A JP S60136876A
Authority
JP
Japan
Prior art keywords
random number
vector
bus
instruction
register
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
JP58244043A
Other languages
English (en)
Inventor
Tomoo Aoyama
青山 智夫
Koichi Ishii
石井 幸一
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
Hitachi Computer Engineering Co Ltd
Original Assignee
Hitachi Ltd
Hitachi Computer Engineering Co 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, Hitachi Computer Engineering Co Ltd filed Critical Hitachi Ltd
Priority to JP58244043A priority Critical patent/JPS60136876A/ja
Publication of JPS60136876A publication Critical patent/JPS60136876A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Complex Calculations (AREA)
  • Advance Control (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔発明の利用分野〕 本発明は乱数発生器を具備したベクトル処理装置に係υ
、特に高渚に乱数列を発生する必要のあるモンテカルロ
シミュレーション実M に好適なベクトル処理装置に関
する。
〔発明の背景〕
従来のベクトル処理装置によって、乱数列を用いたベク
トル演算処理(たとえばモンテカルロ・シミュレーショ
ンなど)を実施する場合、ベクトル演算処理の基になる
乱数列は主記憶装置内をこ保存し、これをメモリリクエ
スタによってベクトルレジスタにロードするか、1次1
teration命◆によって合同法によってベクトル
レジスタ上に乱数列を生成する方法が採用されて来た。
しかし前者の方法では、主記憶装置内ら乱数列をローデ
ィングするために、複数メモリリクエスタ間の競合によ
るデータ転送速度の低下、および主記憶上の制約からも
たらされる不十分な乱数個数等の欠点を有していた。一
方後者の方法では、1次1teration命◆即ち、
x;、+1=x;、 + a;、 −1−4g、 ’*
型の計算の逐次性から来るベクトル演算速度の低下(最
近のベークトル計算機では上記の逐次型計算シ他の一般
のベクトル計算に比べ約AOa度の処理速度が限度であ
る。)によって、乱数列生成に多くの計算機時間を費す
欠点があった。
〔発明の目的〕
本発明の目的は、ベクトル処理装置内に、複数個の乱数
発生器を備え、当該発生器によって任意の乱数列を並列
的に発生せしめ、かつ当該乱数列をベクトル命令によっ
て複数個のベクトルレジスタに移行せしめ、該ベクトル
レジスタ上の乱数列を用いて任意のベクトル処理を行う
ことを可能としたベクトル処理装置を提供することにあ
る。
〔発明の概要〕
ベクトル処理装置において、乱数列を生成する場合、そ
の乱数列が満足すべき条件は、1)再現性がある、 2)乱数発生速度がマシンサイクルピッチに近い高速度
で、かつ乱数列がスカラー(逐次)計算機と同様であシ
、かつ並列的に複数個の乱数発生器から乱数列を得るこ
とができ、3)任意の乱数列を容易ζこ指定できる必要
がある0 以上の3条件を満足するアルゴリズムの一つとして、「
合同法」による乱数発生法がある。
しかし、この方法は次のような逐次計算を行うので、 xj、+、= mod (x↓妊α、θ) ・・・曲■
ベクトル処理装置のベクトル演算器に適合しない。ここ
でθは任意の正数(通常231にとられる)、αは正の
奇数、modは剰余をとることを意味する。α、θの値
については、 ’ Seminumerical Algorithm
s 、 Random Numbers 。
the art of Computer Progr
aming Volume II (2nded 、 
) ’、 D 、E 、Knuth 、 19EN 、
 Addison −Wesleyに説明されている。
■式を次のように変形すると、 x、+2二mtrcL (mod (x4 餐a 、θ
)簀α、θ)= mod (mad (αζθ)+xB
、θ )・・旧■合同法の漸化式はXお+2とxLの関
係を示すものになシ、2インデツクス離れた式となる。
このことはX。、”1なる2個の初期値(x、はX。か
ら逐次処理でめられる)から出発して、”O→x2→X
→・・・・・・、X、→X、→xs→・・・・・・ と
計算を進めていくことによシ、2並列に乱数列を発生で
きることを示す。
同様にしてルインデクス離れた式、 x4+、Z= mocL (mod (an 、θ)*
JA、θ) −=・・・■と”ON ”j 、・・・・
・・xnなる初期値よシ、ル並列に乱数列を発生できる
この性質を利用しn−1ステ一ジ段数のパイプライン乗
算器に連続的に(”Ol”j、・・・・・・xn) 列
を入力することによシ、第1図に示すように、マシンサ
イクルピッチに乱数列をめることができる。この方式は
逐次的な合同法による乱数発生方式をベクトル演算器の
ステージ段数個+1の独立な演算方式に変換したことを
意味している。従ってこの方式をさらに拡張し、m個の
複数ベクトル乗算器群から成る乱数発生速度こ適用する
場合、ベクトル乗算器のステージ段数をn−1とすると
、m+nの独立演算式を作れば良いことになる。このm
餐ル独立式は、前述の0式の61項をαm”ルとすれば
よい。即ち、第1図の処理を実現する論理構成のベクト
ル乗算器を複数個並列に設置し、乗数mad (αル、
θ)をmod(α7L+ m 、θ)と置換するだけで
、合同法による乱数列を4マシンサイクルピツチiこベ
クトルレジスタ上に得ることが出来る。この並列乱数発
生器を具備したベクトル処理装置によシ、乱数列を用い
るベクトル演算処理を従来処理装置では不可能であった
ような超高速で実施できる。
〔発明の実施例〕
以下、本発明の一実施例を第2.3図を用いて説明する
第2図は本発明を適用したベクトル処理装置の一例であ
る。第2図において、1は主記憶装置−12は制御回路
、3はメモリリクエスタ、4はベクトルレジスタ、5は
ベクトル演算器、6は乱数発生器、7および8はベクト
ルレジスタの出力とベクトル演算器、メモリリクエスタ
(以後両者を総称してリソースと呼ぶ)間のデータバス
を動的に生成するスイッチング回路である。
メモリリクエスタ3、ベクトルレジスタ4、ベクトル演
算器5および乱数発生器6の右下に表示されている×ル
は当該回路が複数個存在することを示し、nに意味はな
い。
第2図に示されたベクトル処理装置が起動されると、制
御回路2はバス10を用いてベクトル命令を主記憶装置
1から読出し、次いで解読する。ベクトル命令列に主記
憶からのロード又はストアが指定されている場合でかつ
処理を行っていないメモリリクエスタ6が存在する場合
、制御回路2はバス11を用いてメモIJ IJクエス
タ3に起動を指示する。同時にロード命令の場合ζバス
12を介してスイッチング回路8に作用し、ベクトル命
令で指定されたベクトルレジスタtと起動対象となった
メモリリクエスタの出力バス16との結合を行い、主記
憶装置1のベクトル命令で指定されたアドレスからデー
タを読出し、・指定されたベクトルレジスタ4に格納す
る。ストア命令の場合、制御回路2はバス16を介して
スイッチング回路7に作用し、ベクトルレジスタ4とバ
ス17、メモリリクエスタ60間のデータバスを生成す
る。
ベクトル命令が演算命令の場合で当該演算器が使用可能
状態の場合、制御回路2はバス13を介してベクトル命
令のオペランドに指定されているベクトルレジスタ4と
ベクトル演算器50入力パス間の結合を行う。同時にバ
ス14を介してベクトル演算器5を起動し、かつバス1
2を介゛して演算結果を書込むベクトルレジスタ4との
間のデータバスの結合を行う。
ベクトル命令で乱数発生と発生乱数の書込先ベクトルレ
ジスタ4が指定されると、制御回路2はバス15を介し
て乱数発生器6を起動し、かつバス12を用いてスイッ
チング回路8を動作させ、結果をバス18を用いてベク
トルレジスタ4に書込むように指示を与える。
以上の基本的処理を組合せて、ユーザの目的とする乱数
列を用いるベクトル演算処理、たとえばシミュレーショ
ン等をベクトル処理装置によって行うことが出来る。
第5図は第2面の乱数発生器6の概略を示したものであ
る。当該発生器に起動指示が制御回路2によって行われ
るよシ以前、乱数発生器内に存在するベクトル長保持レ
ジスタ20、および乗数即ちmod (αル、θ)を保
持するレジスタ21に、適切な値が乱数発生指示ベクト
ル命令とは異なるセットアツプ命令によって、制御回路
2およびバス15の2種類のオーダ情報信号線15aお
よ。
び15bを用いてセットされる。レジスタ20.21に
セットされた値が乱数列の性質を決定するので、ユーザ
はこの値をプログラムによって可変とし、任意の性質を
持った乱数列を生成するこ゛とができる。
バス15ヲ介してのセットアツプが終了した後4・当該
乱数−発生器に起動がかけられると、セレクタ22.2
3.25.26およびスイッチング回路24がイニシャ
ライズされ、特定の入力(以下詳細に説明する)と出力
バスの結合を行う。
次に乱数発生器内のメモリリクエスタ28はバス50を
介して主記憶装置1に乱数初期値(、ro、”1 、”
2 、・・・・・・、21−ユ;ここでルは乗算器のス
テージL数から1を加算した値である)を読出すようデ
求する。当該読出し要求に対して、主記憶装置1はメモ
リサイクルタイム後、読出データが有効であることを示
すための信号である読出しバリッドとデータ〜をバス5
1上に送出する。メモリリクエスタ28は当該データを
バリッドとデータに分離し、それぞれバス52.53 
杏こ送出する。この時セレクタ22はセットアツプ処理
により、バリッドカウンタ29とバス52を結合してい
る。
主記憶装置1からの乱数初期値読出しバリッドはル個存
在する。このバリッドをカウンタ29によって積算し、
カウントアツプ値をバス54上に送出する。一方リクエ
スタ28によって分離されたデータ信号は、ラッチ30
に保持され、必要なバリッドカウンタ29の演算が完了
するまでの間のタイミングディレィをかけられて後、セ
レクタ26を介してRAM31にストアされる。ここで
はバリッドカウンタ29の処理を1クロツクとした。当
該処理がルクロックの場合、ラッチ回路30はル段必要
となる。バリッドカウンタ29のパス54上の出力値は
RAM 31の書込アドレスを示す。以上で乱数初期値
(”01”1、・・・・、Jcn)がRAM31上にセ
ットされる。
バリッドカウンタ29の値は毎クロツク比較回路32に
よって比較される。乱数発生器6が起動゛された際、セ
レクタ23は、乗算器のステージ段数+1の定数を保持
するROM55の出力を比較回路62へ送出するようデ
ータバス接続を行っているため、主記憶装置1から送出
されるバリッドの数がル個になると、パス55上の比較
回路32の出力は′1′となる。スイッチング回路24
は乱数発生器6が起動される際、パス55と56を結合
するようリセットがかけられているので、主記憶装置1
からのバリッド積算数がル個となった時、当該検出情報
はパス56を介して、メモリリクエスタ28の動作を停
止させ、セレクタ22に作用し、タイミングジェネレー
タ64のクロックパルスをバリッドカウンタ290入力
とし、バリッドカウンタ29をリセット(0クリア)シ
、カッカラ/り35に作用しカウント値を+1する。こ
こでカウンタ35はその値が0→1→2→0→・・とな
るサイクルカウンタである。またセレクタ37に作用し
、カウンタ29のバリッド信号とアドレスをパス18a
上に送出できるようパス54と18aの結合を行う。−
以後、本発明のベクトル処理装置ではパス18a、bを
通じてベクトルレジスタ4上に乱数をローディングでき
る。
次にタイミングジェネレータ34の出力に同期して、カ
ウンタ29が0→1→2・・・・・とカウントアツプさ
れる。この値はパス54を通してRAM31の読出アド
レスと読出されたデータはそれぞれパス18a、 18
bを通って第2図のベクトルレジスタ4に書込まれると
同時に、セレクタ25を介してベクトル乗算器36へ送
られる。ベクトル乗算器36はレジスタ21に保持され
ている乗数との乗算を行い、演算時のオーバーフローに
よるキャリーを無視しく即ち、乗算器のデータ巾の剰余
をとることを意味する)、結果をパス57上に送出する
。この時の結果は:cn+1 、”fL+2 −1−と
いう乱数列である。レジスタ21上の乗数がmotl 
(αル+1.θ)ならば出力される乱数列はxrLやア
。1%L+m+2、・・・・・となる。
一方、カウンタ29の出力が乗算器のステージ段数+1
になると、比較回路32の出力は再び′1′となる。こ
の時スイッチング回路24はパス55と58を接続して
いるので、パス58を介してセレクタ26はRAM 5
1と乗算器出力パス57との結合を行う。またパス58
上の信号によって、セレクタ25はパス57と乗算器入
力バスとの結合を行い、セレクタ23はベクトル長レジ
スタ20と比較回路32との結合を行う。同時にパス5
8上の信号によってサイクルカウンタ35はカウントア
ツプされる。この時点までの乱数発生器の動作と発生し
た乱数の要素番号を第4図に示した( time −2
の時点)。tll’5図において、カウンタ29カ(ル
+1)を示す時、セレクタ26上のパス57上のデータ
は第4図で示すと乱数列f、n+4(又はxn+□、)
である。従ってRAMglには乱数列”yl+ 1Xユ
+2、・・・・・・が1クロツクピツチに書込まれてい
く。
カウンタ29の値がベクトル長に等しくなると、比較回
路32の出力は11′となり、パス15cを介して乗算
器36の動作を停止させる。同時にパス15(このパス
は双方向である)を介して制御回路2に乱数発生処理が
終了したことが報告される0 第2図において、ここで説明した乱数発生器の出力、即
ち乱数列はパス18を用いて、第4図のtime−1以
降、マシンサイクルピッチに読出し可能である。もみ当
該乱数発生器内のRAM 31が複数バンク構成からな
ル、それらを制御する制御回路を具備し、1マシンサイ
クルにRAMに対して読出し、書込みを行うことのでき
る機能 ゛を有する場合、第4図time−1以降の任
意のタイミングで乱数列をベクトルレジスタ4に読出し
乱数列を用いるベクトル演算処理に用いることができる
。また乱数発生が終了した後でも、第3図の乱数発生器
内のRAM31内に発生乱数列が保持されているので、
当該数列が必要となる任意のタイミングで数列をベクト
ルレジスタ4に移動させ、ベクトル演算処理を行うこと
ができる0 目的の乱数列を一度ベクトル長だけ発生させ、さらにも
う一度、前の結果を用いて、即ち連続する乱数列を発生
させる場合、前回の結果を主記憶装置1に書込み、次の
回の乱数発生時に当該結果の後半部分を第6図のRAM
31にイニシャルセットすれば良い。この処理をブ胃グ
ラムで連続的に行うよう指定することによシ、任意の長
さの乱数列を、主記憶とベクトルレジスタとのデータ転
送を行うことなく、ベクトル処理装置内に発生すること
ができる。
〔発明の効果〕
本発明によれば複数個の乱数発生器を用いて、任意の乱
数列を並列的に発生でき、これをベクトルレジスタに格
納できるので、ベクトルレジスタのチェイニング機能等
によって種々のベクトル演算器に供給し、乱数列を用い
る任意のベクトル演算処理を高速に行うことができる。
本発明の方式を用いた2並列モンテカルロシミュレーシ
ョンの概念図を第5図に示す。
第5図において、101は本発明の乱数発生器、102
はベクトルレジスタ、106はベクトル演算器である。
シミュレーション時、乱数発生器101はマシンサイク
ルピッチにベクトルレジスタ102の各番号がつけられ
たレジスタの要素に乱数列(−A)を書込む。同時にベ
クトルレジスタ102のチェイニング動作によシ、当該
レジスタに書込まれつつある乱数列を用いて、書込みと
同時に乱数列を読出し、ベクトル演算器103はシミュ
レーション演算を並列的に行い、結果をベクトルレジス
タ102に書込む。
以上のようにして2並列のモンテカルロシミュレーショ
ンがベクトル処理装置によって実現できる。2並列処理
をm並列処理に拡張することによ)、ユーザプログラム
から見た処理速度はマシンサイクルピッチから予想され
るそれのm倍となり、ベクトル処理装置の性能向上を期
待できる。
第5図の乱数発生は偶奇を分離しているが、シミュレー
ションの対象の現象によっては、(:to。
・・・・・−)と(:r:ユや1.・・・・・・−T2
rL)列を分離したシ、独立の乱数列(3:o、 、T
、 、・・・・・・翫)と(ya 、2+ 、・・・・
h)を2種連続的に発生した方がよく問題に適合する場
合がある。このような場合も、本発明のベクトル処理装
置に内蔵されている乱数発生器を用いることによυ、そ
のセットアツプ条件、即ち初期乱数列と乗数の剰余を目
的とする乱数列に合致させて乱数発生器に与えることに
よシ、何らハードウェアの変更を行うことなく目的乱数
列を高速に発生できる利点を有する。
【図面の簡単な説明】
第1図は、乱数発生器内の乗算器の入力データ、演算処
理、および出力を概念的に示した図、第2図は本発明に
基づくベクトル処理装置の概略ブロック図、第6図は第
2図のベクトル処理装置内の乱数発生器の概略ブロック
図、第4図は第3図の乱数発生器の時間関係を示した図
、第5図は本発明に基づく乱数発生器を複数用いた並列
演算方式の概念図である。 1・・・主記憶装置、 2・・・制御回路、3・・・メ
モリリクエスタ、4・・・ベクトルレジスタ、5・・・
ベクトル演算器、6・・・乱数発生器、7.8・・スイ
ッチング回路、 28・・・内蔵メモリリクエスタ、 29・・・バリッドカウンタ、31・・・RAM 16
2・・・比較回路、 33・・・ROM 。 34・・、タイミングジェネレータ、 65・・・サイクルカウンタ、36・・・パイプライン
乗算器、50 、20 、21・・・レジスタ、第 1
 図 を更 第2図 第 3 図 第 + 何 11+e−1ttma−Z

Claims (1)

    【特許請求の範囲】
  1. 複数のベクトル・レジスタ、演算器およびメモリ・リク
    エスタを備え、ベクトル命令を実行するベクトル処理装
    置において、複数個の時分割パイプライン乱数発生器と
    、当該乱数発生器で発生させられる乱数の初期値と当該
    初期値を修飾する乗数値とを保持する記憶手段であって
    前記初期値と乗数値がプログラムで設定されるものとを
    設け、当該記憶手段に保持された前記初期値と乗数値と
    に基づいてベクトル命令によシ算術乱数列を並列的に発
    生せしめて複数個のベクトルレジスタに移行せしめ、当
    該ベクトルレジスタ上の乱数列を用いて任意のベクトル
    処理を行うことを特徴とするベクトル処理装置。
JP58244043A 1983-12-26 1983-12-26 ベクトル処理装置 Pending JPS60136876A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP58244043A JPS60136876A (ja) 1983-12-26 1983-12-26 ベクトル処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP58244043A JPS60136876A (ja) 1983-12-26 1983-12-26 ベクトル処理装置

Publications (1)

Publication Number Publication Date
JPS60136876A true JPS60136876A (ja) 1985-07-20

Family

ID=17112864

Family Applications (1)

Application Number Title Priority Date Filing Date
JP58244043A Pending JPS60136876A (ja) 1983-12-26 1983-12-26 ベクトル処理装置

Country Status (1)

Country Link
JP (1) JPS60136876A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6744012B2 (en) 2000-12-07 2004-06-01 Honda Giken Kogyo Kabushiki Kaisha Control method of arc welding and arc welder

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6744012B2 (en) 2000-12-07 2004-06-01 Honda Giken Kogyo Kabushiki Kaisha Control method of arc welding and arc welder

Similar Documents

Publication Publication Date Title
JP2501711B2 (ja) ワンチップディジタル信号プロセッサ
WO1994003860A1 (en) Massively parallel computer including auxiliary vector processor
JPH0128409B2 (ja)
JPS6125188B2 (ja)
JPH10187661A (ja) コンピュータにおけるスカラ値をベクトルに記入する方法
CN111183418A (zh) 可配置硬件加速器
JPS60136876A (ja) ベクトル処理装置
JPS63147255A (ja) 複数の直列接続段を有する計算用プロセッサおよびこのプロセッサを応用したコンピュータならびに計算方法
JPH0650512B2 (ja) デ−タ処理装置
JPS6048785B2 (ja) 主記憶制御方式
JP2001167084A (ja) ベクトル演算処理装置及びベクトルデータ移送方法
JPH01273132A (ja) マイクロプロセッサ
JPS595941B2 (ja) デ−タアレイエンザンシヨリソウチ
JP3693873B2 (ja) マスクビット数演算装置、ベクトル処理装置、情報処理装置
JP2865483B2 (ja) データ処理システムおよび主記憶制御装置
TW202139002A (zh) 多核心處理器電路
JPS63198144A (ja) マルチポ−トメモリにおけるダイレクトメモリアクセス制御方式
JPS63204322A (ja) 情報処理装置
JPS60140455A (ja) 複数の処理ブロツクの制御装置
JPH05165875A (ja) ベクトル演算処理装置
JPS588336A (ja) デ−タ転送方法
JPS60205647A (ja) デ−タ処理装置
JPS59165140A (ja) 2次元演算回路
JPS584477A (ja) 複数演算器のポインタによる制御方式
JPS6074080A (ja) ベクトル・デ−タ処理装置