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

ベクトル処理装置

Info

Publication number
JPS58134365A
JPS58134365A JP1499082A JP1499082A JPS58134365A JP S58134365 A JPS58134365 A JP S58134365A JP 1499082 A JP1499082 A JP 1499082A JP 1499082 A JP1499082 A JP 1499082A JP S58134365 A JPS58134365 A JP S58134365A
Authority
JP
Japan
Prior art keywords
address
circuit
vector
access
execution order
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
JP1499082A
Other languages
English (en)
Inventor
Shunichi Torii
俊一 鳥居
Giichi Tanaka
義一 田中
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 JP1499082A priority Critical patent/JPS58134365A/ja
Publication of JPS58134365A publication Critical patent/JPS58134365A/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/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)

Abstract

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

Description

【発明の詳細な説明】 本発明は、ベントル演算を処理する装置に係シ、ベクト
ル処理の適用範囲を拡大する中能に関する。
従来のベクトル処理装置において、ベクトル化してはi
けない阻書賛因の大きなものの一つとして、データ参照
関係の問題がある。すなわち、べタトル処通し死時と、
ベクトル処理しない時とで同一データへの参照順序が異
なり、実行結果が異なってしまう問題である。この問題
は、以下の文献で詳しく論じられている。
中 梅谷他 「技術計算プログラムの自動ベクトル化技
術」 情報処理 Vot、23,41゜p 29 、 
 (Jan、 11182 )(i)  CRAY−1
ユーザーズガイド、SM −009、CRC,センチユ
リリサーチセンタ株式会社、(1980)、P7−13 (iil  VO32/VO33最a化FORTRAN
77使用の手引、8080−3−258−10. 日立
製作所。
218 以下、各配列要素へのアクセスを、fetch(読出し
)と5tore (書込み)と名付ける。
第1図は、同一データ4(配列X)へ2回の参照が発生
するベクトル演算’ttmしたい処理の盤を、FORT
RAN??言語のDO文を用いて記述したものであり、
大きく4つの聾に分類される。ここで、X、A、Bは一
次元の配列で69、負の添字も許されるものとする。ま
たABSは絶対値を得る演算であろ、 は符号の反転を
行う演算である。
DOの20型は、FORTRAN  のステートメント
上で定義が引用に先行する盤である。ここでは1参照”
の用語は、デ7夕の1引用”と1定義”の両者に対して
用iる。DOの40mは、引用が定義に先行する聾であ
る。DOの60型は2つの定義が存在する置である。D
Oの80ffiは2つの引用が存在する盤である。DO
の90型は、DOの40mの一種と考えることができる
以下、文番号11.1’2,31,32,51゜52.
71.72.81がそれぞれ1個のベクトル命令と対応
する演算(たとえば四則演算、論理演算)であると仮定
する。
以下、DO12)−0I中心よデー、#い関係。
日1 間喝点と本発明による対策について説明を進める。
11:11 DOの20をベクトル処理するとは、文番号110処塩
だけをまとめて実行し、別に文番号120処場だけtま
とめて実行する処理形態である。
M20GHの!ムPでは、jlI2図に示し丸様に、文
□□□−−コー され九ベクトルプロセッサでは、第3図に示し九様に文
番号11と文番号12の処理を実行する2つのベクトル
命令を並列して実行する機能を有している。
第4図は、上記4つのDOループを上記2つのベクトル
処理方式で実行し死時、正しい演算結果が得られるか否
かを示し友ものである。○印は、正しい結果が得られる
ことを示してお9.1ベクトル化可能”と名付けられる
。x印は、ベクトル処理した持玉しい結果が得られない
ことを示しており、1ベクトル化不可”と名付けられる
。Δ印は、本発明の機能を付加しなければ正しく結果が
得られないことを示している。
再び、DOの20mを例に詳しく説明する0図4で示し
た様に、NO値の正負によシベクトル化可能か否かの判
定が異なる。
纂1図のDO2σにおいてメそりへのアクセスの概念的
な実行の順番を考える。まずI=1として、λ(1)を
fetch l、、、X(1+N)tstoreL、X
 (1)をfetchL、B (1)を5toreする
1次にI−2として−A(aをfetchL、、X(2
+N)を@tore L、X(2)をfetch L、
B(a)を5toreする0次にl=3として、A(3
)をfetchL、、X(3+N)t−atoreし、
X(3ンtfetchLB(3)を5toreする。上
記、A(1)、X(X+N)。
・・・のアクセスの順番を実行順序と名付ける。すべて
のアクセスは、順番に実行されるので、各アクセスに実
行の順序を示す実行順序番号を付けることができる。簡
単な実行順序番号の付は方として、DOのインデックを
上位とし、下位をDoルーズのステートメント中での参
照の願書とする番号がある。DO20の例では、人(1
)のfetchは11%X(1+N)の5toreは1
2、X(1)のfetchは13、B(1)の5tor
eFi14、A(2)のfetchは21.X(2十N
)の5toreはzs、x(lのfetchは23、B
(g)の1tHeはan;A(a)のf@tchは31
と付番することができる。実行順序番号は、アクセス間
での順序関係を規定するものであるから、異なるアクセ
スに同一実行順序番号を付けてはいけないが、欠番があ
ってもかまわない。
最終的な演算結果が正しいければ、上記アクセスの実行
順序は保証しなくても良い、ベクトル処理を行うと、ア
クセス順序は上記実行順序のアクセス順とは異なる可能
性がある。問題となるのは同一データへ2回以上のアク
セスが存在する時、該当データへのアクセスの順番が保
証されない場合である。DO20において、配列AとB
は各配列要素に着目すると1回しかアクセスされない。
配列Xは、2回のアクセスが各配列要素に実行される可
能性がある。シ九がって以下、アクセスの順番に注目し
なければいけないのは配列Xだけである。
第5図は、N=3 (正)におけるDO2GO処理を配
列XへのアクセスをΦ心に示し友ものである。以下、i
lは図2および図3のDollでのループインデックス
、Ii’ばDO12でのループインデックスである。
ここでX(4)のアクセスに着目すると正しい演算結果
を得るためにはI=1での5toreを先に実行L、1
fI−4で0fetchk実行しなければならない。
第2図に示し九ベクトル命令t1@番に行う方式では、
11=1としてX(4)tstotel、、次に11=
2としてX(5)lstorel、てい〈、以下この順
に5torel続け、11=Mとし−[X (M+3 
)Os(ore後、l2=1としてX(1)のfetc
h、次にl2=2としてX (2)のfetcht続け
て行く、こむでXG4)のアクセスに着目するとl1e
lでの5toret−先に実行し、後でl2=4でのf
etchを実行しているので、正しいアクセス順序が守
られてiる。X(S)以降のデータも同様に正しいアク
セス順序が保証されておシ、正しい演算結果が常に得ら
れる。
#Ia図に示し九複数のベクトル命令を並列に実行する
方式では、亮、−号11Oatoreはl1=1゜2・
・・Mと順番に実行遮れ、文番号12のfetchも1
2−=11.2・・・Mと順番に実行される。
X(4)に関するアクセスに注目すると、l2=4での
fetchが%l1−1でostoreよシ先に実行す
る可能性があり、正しい演算結果を得られない危険性を
有している。従って、第3図の方式では本発明が提供す
る機能金有していなければ、文番号11のベクトル処理
と文番号12のベクトル処理を並列実行を抑止し、2つ
のベクトル処理を爾2図の方式と同様に順番に実行しな
ければならず、性能が低下する。
次に、Nが負の場合(N=−3)のDO2Gの処理につ
いて第6図を用いて説明する。正しくアクセス順序はI
=1とし−t”X(−2)の1tore。
X(υのfetch、 l = 2としてX(−1)の
5tore。
X(2)のfetchと行われる。X (1)のデータ
につ勝て考えると、I = 1 Ofetchを先に実
行し、I=4での5toreを後に実行せねばならない
O第2図に示したベクトル方式では、5toret−I
 1 = 1 、2 ・MC)Iljに実行後、fet
chをl2=1.2・・・の順に実行する。したがって
X (1)のデータに関しては5torey先に実行し
てしまい、正しい演算結果を保証することがで亀ない、
この様に、ベクトル処理では、同一データに対する(e
tchより後に実行すべき5toreが、fetchよ
り先に実行するデータ参照関係を前述の文献(il)で
は5toreがデータの古い内容を破壊する意味で、破
壊型依存関係と名付け1いる。この様に第2図の方式で
は、DOの20fiはNが負の時ベクトル処理してはい
けない。
第3図に示し九方式では、正しいアクセス順序が守られ
ない危険性がある。つまり、X(1)のデーpに関L−
C111e4の5toreがl2=1のfetchよp
先に実行される可能性がある。X(2)以降についても
アクセス順序が守られない危険性がある。Nが負の場合
には、文番号11のベクトル処理と文番号12のベクト
ル処理を順番に実行しても、第2図の方式の場合と同様
に正しい演算結果が得られない。
以上は、第1図でのDoの20Mについて説明したが、
DOの40盤、DOO60減についても同様に、第2図
の方式ではNが負の場合にはベクトル処理してしまうと
正しい演算結果が得られないのでベクトル化不可と考え
られる。DOO40臘でNが負の時でのデータ参照関係
を1ベクトル処理では後に実行すべきfetchが5t
oreより先に実行されてしまい、占いデータの1直t
−fetchすることから未完型依存関係と前述の文献
(11)では名付けている。DOの6(lでNが負での
データJ[関係も、後で実行すべき5toreが先に実
行されてしまうことから、破壊製依存関係の一種と考え
ることができる。DOの80型では、fetch同士の
順序の入替えが演算結果に影響を与えないことから、N
の正負にかかわらず第2図の方式でも第3図の方式でも
正しい演算結果を保証できる。
本発明の目的は、ベクトル処理すると正しい演算結果が
得られなかったデータ参照関係においても正しい演算結
果を保証し、ベクトル処理の適用範囲を拡大し、ベクト
ルプロセッサの実効的性能向上をはかることにある一 本発明では、複数のベクトル命令を並列會実行するベク
トルプロセッサに、アクセスに用いるアドレスの一致回
路によシ同一データに対する2個以上のアクセスの存在
上検出し、アクセスの属するDoループのインデックス
のもつとも小さいアクセスを優先する機能によル、正し
い演算結果を保証する。インデックスが同じ時には、D
Oループ中のステートメント中での参照順序の先の方を
優先する。
DOの20fiを例として前述の機能を第5図および第
6図を用いて説明する。115図ONが正の1f(N=
3)には、II”1での5toreと12=4でのfe
tchが同じX(4)のデータへのアクセスであること
を検出し%11<I2よ12側のfetchtI l側
の5tor@の完了まで待つ機能t−提供する。Xt5
>以降についてもfetchf:5toreの完了まで
待つ機能を提供する。
#I6図ONが負の時(N=−3)には、11=4で0
storeとl2=1でのfetchが同じX(l)へ
アクセスでゐること音検出し、Il>I2より1・jo
・ 1111のstogvJI2側のf e t chの完
了まで待つ機能を提供する。X@以降につ−ても同様に
5tor@tfetchの完了まで待つam11!を提
供する。
DOの2011だけでなくDoの40Wi、DOの60
型についても、第4凶の右手分でΔ印の後に、1必*’
として明記した機能を提供する。
DOの20.40.60臘およびNO正負會問わず次の
機能に!していればベクトル処理しても正しい演算結果
が得られる。
〔機能A〕
各ベクトルのアクセス要求は、自分の次のアクセスの実
行順序番号より小さなアクセス実行順序番号を持ったア
クセスでまだメモリ処理が完了していないものの中に、
アドレスの一致するものが存在した時、アドレスの一致
するアクセス要求の完了を待つ。ここで実行順番号は1
つのDOループ中のすべてのメモリアクセスの概念上の
実行順序を示す(小さいものt先に実行する)番号であ
り、たとえば上位t−Doルーズのインデックス、下位
tDOループ内での参照の順序番号(小さいものがFO
RTRANのステートメントとして先に記述されている
)から構成される。
本機能は、同一データへのアクセスは実行順序番号の小
さいアクセスを優先する機能を実現している。を九、f
ctchliij士は順序性を保証しなくても正しい演
算結果を保証でき、る。
以下、本発明O実施例t#E7図により説明する。
第7図は、2つのベクトル命令を並列して実行すること
が可能なベクトルプロセッサでおり、第3図に示し丸刃
式を本発明により改良したものである1本実施例では、
1つのベクトル命令は1本のベクトルのfetchと1
本のベクトルの5toreから成立してiることを仮定
している0本ベクトルプロセッサは、ベクトル命令およ
びベクトルデータを格納する記憶制御装置401 (以
下SCUと略す)、命令制御装置10G、aCU中のベ
クトルのアドレスを作成するFetchアドレス作成回
路31Gと330及び5toreアトVX作成回路35
0と370.2つのベクトル命令の演算を実行する演算
器(以下ALUと略す)600,640.8CUと演算
器の間に介在するベクトルレジスタ(以下VBと略す)
群s00、および本発明の中心部分である順序性保証回
路200よp構成される。
次に、各回路の動作例を第1図のDO20’i用いて説
明する。j&初にSCUからデータ線401を経由して
ベクトル命令を受取つ九命令制御装置は、データ線10
1’t”経由してFetchアドレス作成回路0−31
0にベクトルアドレスの情報(ベクトルのスタートアド
レスと増分値、DOループ中におけるベクトル命令の1
誤序番号)を送出する。
petchアドレス作成回路0は、文番号11でfet
chする各ベクトル要素(A(I))のアドレスおよび
実行順序番号のすべてま九は一部をデータ線311を経
由して順序性保証回路200に送出する。p6tchア
ドレス作成回路0の詳細な実施例については第8図を用
いて後述する。I@序性保証回路200は、petcb
アドレス作成回路0が次にSCUに要求するアクセスと
同じアドレスを持ちかつ実行順序番号が小さく逅づ8C
Uへ要求が受付けられていないアクセスが他のアドレス
作成回w133G、350,370に存在していること
を検出した時、信号線210t−経由してpetchア
ドレス作成回路Oからの次0fetch要求を抑止する
ことを指示する。DO200例では、A(I)は他で参
照されないので抑止信号が発行されることは無い、順序
性保証回路の詳細な実施例については、第9図管用いて
後述する。
petckアドレス作成回路0は、順序性保証回路から
要求抑止の指示が無ければ、データ線311を経由して
次のベクトル要素アドレスt−scυに送出し、信号線
312’を経由してf e t chの指示をSCUに
発行する。8CUは要求を受付けると、受付け*こと全
信号線41Gを経由してF’etchアドレス作成回路
Oに応答する。petchアドレス回jl!oは、要求
が受付けられると次のベクトル12木のアドレスを作成
する。
SCUは、fetchアドレスに基づいて各ベクトル要
素(ム(!目ゾ出し、データ線420會経由してva評
soo中JDVR5104C送出する。
VR51Gは各ベクトル要素上格納するとともK。
ALUO−600にデータ[610を経由して送出する
。ALUO−600は、命令制御装置からの指示O基に
ABSの演算を各ベクトル要素(A(I))に施し演算
結果をデータ線420會経由してVR511に送出する
命令制御装置は、データ線101を経由して、第1図の
文番号11の定義と対応する各ベクトルi素IX(I+
N))のアドレス情報を5tore7ドレス作成回路0
−350に送出するa 5toreアドレス作成回路0
はpetchアドレス作成回路0と同様に、データ線3
51を経由して文番号11で5toreする各ベクトル
要素(X(I+N))のアドレスと実行順序番号のすべ
てまたは一部を順序性保証回路200に送出する。3t
oreアドレス作成回路は前述のpetchアドレス作
成回路と同一の機能を有している。順序性保証回路20
0はs 8toreアドレス作成回wrlが次にSCU
に要求するアクセスと同じアドレスを持ちかつ実行順序
番号が小さくかつSCUへの要求が受付けられていない
アクセスが他のアドレス作成回路310,330゜37
0に存在してバることを検出した時、信号線250を経
由してBtoreアドレス作成回路350に次の5to
reのSCUへの要求を抑止することを指示する。DO
20の例では、Nが負の値でかつ(11+N)>(I2
)の状態が発生した時に、本抑止信号が発行される可能
性がある。ここでIIとI2はそれぞれ次に要求すぺ龜
ベクトル要素のアクセスのインデックス値である(第6
図参照)。
9tor・アドレス発生回路lは、抑止の指示が無けれ
ば5toreアドレスをデータ線351を経由してsc
uKm出し、信号線352を経由してatoret−8
CUK要求する。同時にVR,511は、演算結果IA
B3(A(I)))をデータ@440にして8CUに送
出する。8CUが5toreil求を受付は九ことを示
す応答は信号線450を経由して9i0reアドレス作
成回路350に送出される。
以上の動作説明は、文番号11と対応するベクトル命令
の処理であるが、文番号12と対応するベクトル命令の
処理も並行して同時に実行される。
−j−ナワち、各ベクトル12木(X(I) )のfe
tchにはpetchアドレス作成回路1−330が使
用され、アドレスと実行順序番号の全部ま九は一部をデ
ータ?IM331を経由して順序性保証回路200に送
出する。順序性保証回路は、Fetchアドレス作成回
路1が次にS CUK要求するアクセスと同じアドレス
を持ちかつ実行順序番号が小さくかつSCUへの要求が
受付けられていないアク゛セスが他のアドレス作成回路
310,350,370に存在していることを検出した
時、petchアドレス作成回Ml−330からの次の
SCUへの要求を抑止することを指示する信号を信号線
230を経由して指示する。D020の例では、Nが正
で(11+N)≦(I2)の時、本抑止信号が発行され
る可能性がある。ここでIIとI2はそれぞれ、次に要
求すべきベクトル要素のアクセスのインデックス値であ
る(第5図参照)。
以下簡単に文番号12と対応するベクトル命令の処理動
作を説明する。ベクトル要素(X(I)lのアドレスは
データ線35’ 1 、要求信号は信号線、ば・、 352をそれぞれ経由してSCUに送出される。
受付信号は信号fi450を経由する。SCUから続出
されたベクトル要素(X(I))は、データ線460、
VR512、デーfi−650ヲ経由LテALUO(6
20)に送出される。ALUOでの符号反転の演算結果
はデータ線660、V几513、データ@480を経由
して8CUに送出される。格納先のベクトル要素(B(
I))のアドレスは、8toreアドレス作成回路1 
(370)が行う。データ[371は、5toreアド
レスおよび実行順序番号を順序性保証回路とSCUに送
出する丸めに使用される。信号[270は、5tore
アドレス作成回路lからの次のアクセス要求の抑止信号
を伝えるために使用されるが、DO20の例では本抑止
信号は発行されない。SCUへの要求信号およびSCU
の受付は信号はそれぞれ信号線372と470を経由す
る。
SCUは、同時に4個までのアクセス要求を受付ける能
力があや、同一アドレス作成回路からのアクセス要求を
受、付は丸顔に実行するだけでなく、・′1:。
異なるアドレス作成回路からのアクセス要求も、受付は
良順序を守って実行する機能を有している。
第8図および第9図を用いて、アドレス作成回路と順序
性保証回路の実施例の詳細な説明を始める前に、前述し
た〔機能人〕は次の条件が成立する時にはよシ簡単な〔
機能B〕で代用して良いことを示す。
(条件) データ参照関係を考えるべき配列(すなわちDOループ
内で2回以上参照が指定されている配列)の参照におけ
る添字がDOルーズのインデックスに対して線型であり
、かつ増分値(または減少値)がすべての参照を通じて
共通でおる。
第1図で示したDOの型はすべて上記条件を満している
。すなわち、配列Xの添字は■又は■十Nの形式で6り
、NはDOループ実行中に不変なので、ループのインデ
ックスに対して線微かつ共通の増分値11”を有して−
る。
〔機iヒB〕
各ベクトルの次のアクセス要求は、他のベクトルの次の
アクセス要求の中に、自分の次のアクセスの実行順序番
号より小さくかつアドレスが自分のアクセスと一致した
ものが存在した時、一致し九個のベクトルの次のアクセ
ス要求の完了まで待つ。
次に、再びDO20MMを例に、第5図と第6図を用い
て上記〔機能B〕によシ正しい演算結果が保証できるこ
とを示す。まず、第5図を用いてNが正(N=3)の時
について説明する。
例として、文番号11の定義は次に11=3の5tor
eを次に要求しようとしておシ、文番号12の引用はl
2=5のfetchを次に要求しようとして−る状態に
ついて説明する。II<I2であるからII側すなわち
文番号ll側の次の5tored抑止する必要がなI6
なぜならば、実行順序番号が自分より小さい要求はすべ
てI2側すなわち文番号12側のfetchとして完了
しているからである。l1=2およびI2−4までアク
セス要求が受付けられているから、Ii”3のアクセス
要求とl2=3及び4のアクセス要求のアドレスは一致
していないはずである。一致していればl2=3及び4
のアクセス要求が受付けられていないはずである。l2
=5のアクセスは、〔機能人〕を実現するためには、1
1=3.4.5のアクセスとアドレスの比較を必要とす
る。しかし上記条件(添字の41型と増分値の共通性ン
が満足されているので、11=3のアクセス要求とl2
=4のアクセス要求のアドレスが一致していないことか
ら、11=4のアクセス要求とl2=5のアクセス要求
もアドレスが一致しない。また、l1=3のアクセス要
求とl2=3のアクセス要求とのアドレスが不一致であ
ることから、11”5のアクセス要求とl2=5のアク
セス要求もアドレスが一致しない、したがって、l2=
sのアクセス要求は、I l=3のアクセス要求とのみ
アドレス一致の検fをすれば良い。これはすなわち、〔
機能B〕にほかならない。      ・、′ 次に第6図を用いて、Nが員・、の場合(N=−3)に
ついて、文番号11の定義側が次に11=6の5tor
eを要求しようとしておシ、文番号12の引用側が次に
12=3のfetchを要求しようとしている場合を例
に説明する。11=15までの5lore要求とl2=
2までのfetch要求が受付けられていることから、
ll−4および5のアクセス要求とl2=3のアクセス
要求とはアドレスが一致していないことが保証される。
l2=3のfetchtf11=50storeまで完
了しているので抑止する必要が無い、11=6の5to
reについては、〔機能人〕からl2=3.4.5のア
クセス要求についてアドレスの一致を調べる必要がるる
。しかし、11=5とl2=3のアクセス要求間でアド
レスが一致しないことから、11=6と工2=4につい
てはアドレスは必らず一致しない。また、■l=4とl
2=3のアクセス要求間でアドレスが一致しないことか
ら、l1=5と12=5のアクセス要求間でアドレスは
必らず一致しない、したがって%11=6のアクセス要
求は、l2−sのアク七へ要求とのみア門〜の一致を検
査すれば良いこととなシ、前述の〔機能B〕で、アクセ
スの順序性が保証されていることがわかる。
以上はDoの20型において〔機能B〕にょシアクセス
の順序性すなわち正しい演算結果が保証できることの説
明であったが、DOの40.60についても同様に〔機
能B〕により正しい演算結果を保証することができる。
第8図は、第7図のアドレス作成回路310゜330.
350,370の一実施例をpetchアドレス作成回
路310を例として示したものである。
命令制御装置よりデータMA101を経由して送られる
、ベクトルのスタートアドレス、増分値、ベクトル命令
の1麿序番号をそれぞれ318,317゜320に格納
する。ベクトル命令の順序番号とは、DOループ中のス
テートメントの参照の順番を示すもので、S9、たとえ
ば上位をベクトル命令アドレス、下位をベクトル命令中
の参照の順序番号として構成する。ベクトル命令では各
要素の演算は概念上はfetch後5toreするので
、fetchに対しては5toreよりも小さい順序番
号を与える。九とえは、D020では、(A(I) )
のfetchに対するベクトル命令の順序番号は111
、(X(I+N))の5toreに対するベクトル命令
の順序番号は@2”、(x(I))のfetchに対す
るベクトル命令の順序番号は@3”、(B(I))の5
toreに対するベクトル命令の順序番号は@″4”と
する。
レジスタ318,317,320への格納と同時に、イ
ンデックスを格納するレジスタ319も、セレクタ32
2を制御して″l”に初期値設定する。アドレスレジス
タ318は、次に要求するアクセスのアドレスを格納し
ており、その出力はデータ線325を経由して8CUお
よび順序性保証回路に送られる。インデックス用レジス
タ319と命令順序番号用のレジスタ320は、次に要
求するアクセスの実行順序番号を格納しておシ、その出
力線326と327はまとめてデータ線327となシ、
順序性保証回路に次のアクセスの実行順序番号として送
られる。第7図でのデータ線311は、上記データ線3
25と328 (326と327)よシ構成されている
アドレス作成・制御回路329は、信号線210を経由
した順序性保証回路からの抑止信号が存在しない時、信
号線312を経由してSCUにアクセスを要求する。信
号線410を経由して、SCUよりアクセス要求が受付
けられたことが報告されるとアドレス作成制御回路32
9は、加算器315とセレクタ321を制御してアドレ
スレジスタ318の内容を、増分値レジスタ317の値
だけ増加させる。同時に、加算器336とセレクタ32
2を制御してインデックス用レジスタ319の内容をl
だけ増加させる。以上の動作によシ、一つ先のベクトル
要素に対するアクセスのアドレスと実行順序番号が作成
されたことになる。
第9図は、前述の〔機能B〕を実現する順序性保証回路
200の実施例である。petchアドレス作成回路0
からは、データ9325と328(第7図ではまとめて
データ線311として示し九)を経由して次のアクセス
、竺求のアドレスと実行)l序番号をそれぞれ受取シ、
信号$210を経由し内 て次のアクセス要求の抑□・正信号を応答する。
當゛ Fetchアドレス作成回:路lからは、データ@34
5と348(第7図ではまとめてデータ線311として
示し九)を経由して次のアクセス要求のアドレスと実行
順序番号をそれぞれ受取り、信号線230を経由して次
のアクセス要求の抑止1d号を応答する。 Btore
アドレス作成回路0からは、データ@36F*と368
(g7図ではまとめてデータII!351として示し九
)を経由して次のアクセス要求のアドレスと実行順序番
号をそれぞれ受取シ、信号線250を経由して次のアク
セス要求の抑止信号を応答するa 5toreアドレス
作成回路lからは、データ線285と288(第7図で
はまとめてデータ@371として示した)を経由して次
のアクセス要求のアドレスと実行順序番号をそれぞれ受
取り、信゛号線270を経由して次のアクセス要求の抑
止信号を応答する。
一致検出回路・201は、4つのアドレスをデータ線3
25,3.45,366.385から受取り、相互の内
容の御飯を報告する。具体的には、petchアドレス
□、作成回路0とBtor@アドレス作成−、、、。
回路Oからのアドレスが一致し死時、信号9204はl
#となり、不一致のQ“0”となる。
petchアドレス作成回路0と31oreアドレス作
成回路1からのアドレスが一致し死時、信号1lli!
205はl#となり、不一致の時10”となる。
petchアドレス作成回Mlと3toreアドレス作
成回路0からのアドレスが一致した時、信号9206は
@l”となり、不一致の時″″O”となる。
Fetchアドレス作成回路lと5toreアドレス作
成回路lからのアドレスが一致した時、信号線207は
“l”となり、不一致の時10#となる。
3toreアドレス作成回路0と1からのアドレスが一
致した時、信号線208は″l”となシネ一致の時10
”となる。
大小比I!!回路202は、4つの実行順序番号をデー
タ#1328,348,368.3188を受取9、和
尚の大小関係を信号9294〜2.98に出力する。p
ei(hアドレス作成回路Oの実行順序番号がストアア
ドレス作成回路0の実行順序番号よシ大きい時、信号線
294は@l”となシ小さい時信号線294は10”と
なる。
Fetchアドレス作成回路0からの実行順序番号が、
5toreアドレス作成回路lからの実行順序番号より
大きい時、信号線295は″1”となシ、小さい時10
”となる。
Fetchアドレ作成回路lからの実行順序番号が、5
tOreアドレス作成回路Oからの実行順序、番号よ)
大きい時、信号?mZ9aはl#となシ、小さい時10
#となる。
petcbアドレス作成回路lからの実行順序番号が、
5toreアドレス作成回路lからの実行順序番号よシ
大きい時、信号@297は″l#となシ、小さ4時10
″となる。
5toreアドレス作成回路0からの実行順序番号が、
5toreアドレス作成回路lからの実行順序番号よシ
大きい時、信号?5298は@1mとな夛、小さい時1
0#となる。
信号$204がl#の時には、信号線294の値によっ
てpetchアドレス作成回路0または9ioreアド
レス作成回路lの実行順序番号の大きi何次07クセス
要求を抑止しなければいけない。
すなわち、信号@294が@l”の時には、ANDグー
)211とORゲート214によ)信号線21(1”l
’とe6゜信号@294が″0”の時には、ANDゲー
ト251とORゲート254により信号縁250が@l
”となる。ANDゲート251の入力のO印は人力の反
転を示す。すなわちANDゲート251は、信号@20
4が@l”で信号縁294が10″の時のみ出力t−”
l”とする。
以下、同様に信号II!!20Bが″11の場合、信号
線295が@1”ならばANDゲート212とORゲー
ト214によシ信号線21Gが“l”とな9、信号線2
95が10#ならば、ANDゲート271とORゲート
274によシ信号線27Gが″”1”となる。
信号[206が′″l#の場合、信号線296が11#
ならばANDゲート231とORゲート234によ多信
号@230りに@l”となシ、信号線296が@0”な
らば1.邊NDゲー) 252.とORグ−1254に
jj)信号9250−1)E”O”となる。
信号fi207が1′l”の場合、信号線297が“l
″ならばANDゲート232とORゲート234によ多
信号m230が11#となシ、信号9297が11#な
らば、ANDゲート272とORゲート274によシ信
号線270が11”となる。
信号9208が11”の場合、信号線298が@l”な
らばANDゲート253とORゲート254によシ信号
線25Gが″l”となシ、信号@29Bが10#ならば
ANDゲート273とORグー)274によシ信号線2
70が11”となる。
fetch同十のアクセスの順序性は保証しなくて良い
ので、一致検出回路や大小比較回路においてもfetc
h同士の比較は行わなくて良い。
4つのアドレス、瀘すべて一致する時、信号線204〜
208は、すべて@l”となるが、実行順序番号がもつ
とも・小さ−アドレス作成回路には抑1□ 正信号が発行されな′いので、デッドロック状態となる
ことはなio 一般にpetchアドレス作成回路がm@、 5tor
eアドレス作成回路がn個存在する時、petchアド
レス作成回路作成回路上信号の発行条件は以下の論理式
となる。
Σ1(Fl・EQ−8I)n(FJ−GT−8量))a
l また、5toreアドレス作成回路jへの抑止信号の発
行条件は以下の論理式となる。
(X  ((8J −EQ−Ft  )  n  (8
1・ GT−Fz  )))−1 −1 ここで、Fh−EQ’8j  はpetchアドレス作
成回路にと3toreアドレス作成回路tのアドレスが
一致したことを示す変数で、5L−EQ−Fkも同値。
5k−EQ−3Lは3tOreアドレス作成回路にとt
のアドレスが一致したことを示す変数で、sL”EQ−
shも同値。
Fk−GT−8Lはpetchアドレス作成回路kから
の実行順序番号が5toreアドレス作成回路tからの
実行順序番号より°大きいことを示す変数でsb、実行
順序番号を同一値のものが発生しないので、5L−GT
−Fk=Fk−G・T−8tが成立する。
5k−GT−8Lは、9tora7ドレス作成回路kか
らの実行順序番号が9tOfeアドレス作成回路からの
実行順序番号よ如大きいことを示す変数であり、5L−
GT−8k=Sk−GT−3tが成立する。
第7図では、2つのベクトル命令を並列FC実行する方
式のベクトルプロセッサに本発明を実施した例を示した
が、第1図のD O9OK、示し九−個のベクタ命令だ
けからなるベクトル処理にも本発明には適用が可能であ
る。この時、第7図においてALUI−610は不要で
ある。第8図を用いて前述したごとく、アドレス作成回
路は、同一ベクトル命令から発生するfetchと5t
oreについて、インデックスが同一の時fetch側
のアクセスに5tore側より小さな実行順序番号を付
けるので、1量9図を用いて前述した順序保証回路は同
一ベクトル命令から発生する同一配列要素に対するアク
セスについても順序性を保証する。
本発明によ〕、従来はベクトル処理が適用できなかつ九
部分についてもベクトル化が可能となシ性能の同上が期
待できる。M2O0HIAPでは、ベクトル化によシ3
倍程度の性能向上が可能でめり、第4図においてNが負
の時ベクトル化不可とされたDOループにおいてもベク
トル化により3倍の性能向上が期待できる。さらに、第
2図に示した様なベクトル命令を順番に実行する方式に
比較して、ベクトル命令を並列に実行することの効果も
期待できる。第3図に示した様なベクトル命令を並列に
実行する方式と比較すると、第4図に示し九様に本発明
によりNの正負にかかわらずベクトル化が不可能であっ
たDoルーズのすべてをベクトル化可能とすることがで
きる。
【図面の簡単な説明】
第1図は、同一データ・(配列X)へ2回の参照が発生
するベクトル処理メ聾を、FORTRAN77言飴のD
o文を用いて記憶した図。 、1:。 第2図は、ベクトル命令を順番に実行するベクトルプロ
セッサの方式を説明した図。□第3図は、ベクトル命令
を並列に実行するベクトルプロセッサの方式を説明した
図。 第4図は、第1図に示した4つのDOO型について第2
図と第3図に示したベクトルプロセッサの方式において
ベクトル化が可能か否かを示した図。 s5図は、第1図で示したDO20型においてNが正の
場合の配列Xへのアクセス順序を示した図。 第6図は、第1図で示したDO20型においてNが負の
場合の配列Xへのアクセス順序を示した図。 第7図は、本発明を適用したベクトルプロセッサの実施
例を示し次回。 第8図は、第7図におけるアドレス作成回路の実施例を
詳細に示し次回。 第9図は、第7図における順序性保証回路の実施例を詳
細に示5た図。 ) 310と3,30と350と370はそれぞれアドレス
作成回路、200は順序性保証回路、40Gは記憶制御
装置、1ooは命令制御装置、600と640は演算器
、318,317,319゜320はベクトルのアドレ
ス、増分II[、インデックス、ベクトル命令の順序着
号をそれぞれ格納するレジスタ、315,316は刃口
算器−201はアドレスの一致検出l!!l路、202
は実行III序番号第 1 図 Y′I Z 日 :t13 図 エラ・して爽デ1 第 5 口 拳          暴 1       1     1 (り02θ型、A/=3) 第 6 目 1 1        1      1 文4’5   /l  /)staret#l    
       文fr4  /2  Q  fd&ノi
イI’1(eρ2ρ型、N=−3) ■ 7 図 Y 8 図 01 JtlCl k 1−&J  ぎ で ((〈 1;   楠

Claims (1)

  1. 【特許請求の範囲】 1、ベクトル演算を行う演算器と、 ベクトル命令とベクトルのデータを記憶する記憶制御装
    −と、 ベクトルの各要素のアドレスとベクトル処理での概念上
    の実行順序番号を作成する複数個のアドレス作成回路と
    、□ 上記複数のアドレス作成回路からのベクトル04に要素
    のアドレスの一致を検出し、一致した時上記実行順序番
    号の大小を比較し、概念上後に実行すべき側のアドレス
    作成1路に対して、記憶制御装置へのアクセス要求の抑
    止を報告する順序性保証回路からなるベクトル処理装置
    。 2、該アドレス生成回路は、ベクトルの要素アドレスと
    増分値を格納する2つのレジスタと加算器を有し、鋏記
    憶制御装置へのアクセスが受付けられる毎に更新される
    力゛ラント回路を有し、各配列!!素に対するアクセス
    を順次咳記憶制御装置に要求する手段を有し、該実行)
    tA序番号〇一部に該カウント回路の出力を使用する前
    記第111LOベクトル処理装置。 3、誼アドレス生成回路は、次に咳記鍮制御装置にアク
    セスする配列要素のアドレスと実行順序番号を鋏順序性
    保証回路に送出する手段を有し、該順序性保証回路は各
    アドレス生成回路からのアドレスの相互の一1kt検出
    する一致回路と、実行順序番号の大小比較する比較回路
    を有し、上記一致回路が一致を報告し走時、上記比較回
    路の出力によシ選択する一致するアドレスを発生し九上
    記アドレス作成回路への抑止信号を作成する手段を有す
    る前記第2項のベクトル処理。 装置。
JP1499082A 1982-02-03 1982-02-03 ベクトル処理装置 Pending JPS58134365A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1499082A JPS58134365A (ja) 1982-02-03 1982-02-03 ベクトル処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1499082A JPS58134365A (ja) 1982-02-03 1982-02-03 ベクトル処理装置

Publications (1)

Publication Number Publication Date
JPS58134365A true JPS58134365A (ja) 1983-08-10

Family

ID=11876378

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1499082A Pending JPS58134365A (ja) 1982-02-03 1982-02-03 ベクトル処理装置

Country Status (1)

Country Link
JP (1) JPS58134365A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0232827A2 (en) * 1986-02-04 1987-08-19 Hitachi, Ltd. Vector processor
JPS63127369A (ja) * 1986-11-18 1988-05-31 Nec Corp 情報処理装置
JPS63197273A (ja) * 1987-02-12 1988-08-16 Nec Corp 情報処理装置
KR20140071425A (ko) * 2011-09-28 2014-06-11 에이알엠 리미티드 벡터 액세스 명령어에 응답하여 발행된 데이터 액세스의 인터리빙

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0232827A2 (en) * 1986-02-04 1987-08-19 Hitachi, Ltd. Vector processor
EP0232827A3 (en) * 1986-02-04 1989-11-29 Hitachi, Ltd. Vector processor
JPS63127369A (ja) * 1986-11-18 1988-05-31 Nec Corp 情報処理装置
JPS63197273A (ja) * 1987-02-12 1988-08-16 Nec Corp 情報処理装置
KR20140071425A (ko) * 2011-09-28 2014-06-11 에이알엠 리미티드 벡터 액세스 명령어에 응답하여 발행된 데이터 액세스의 인터리빙
JP2014532221A (ja) * 2011-09-28 2014-12-04 エイアールエム リミテッド 乳幼児のためのインタラクションサービスを提供する装置及び方法、これを利用したシステム

Similar Documents

Publication Publication Date Title
Bookstein Fuzzy requests: an approach to weighted Boolean searches
US5524175A (en) Neuro-computer system for executing a plurality of controlling algorithms
JPH0463430B2 (ja)
JPS61276032A (ja) 情報処理装置
JPS5911943B2 (ja) デ−タ処理装置の為のトラツプ機構
GB2038049A (en) Floating point processor having concurrent exponent/mantissa operation
CN112070202B (zh) 一种融合图的生成方法、生成装置和计算机可读存储介质
JPH02140831A (ja) データ処理装置
US20210166156A1 (en) Data processing system and data processing method
US4956800A (en) Arithmetic operation processing apparatus of the parallel processing type and compiler which is used in this apparatus
JPS58134365A (ja) ベクトル処理装置
JPH03135627A (ja) ファジイ演算装置
JPH02240768A (ja) 算術要素制御装置
CA1119307A (en) Microcomputer having separate bit and word accumulators and separate bit and word instruction sets
JPH02500692A (ja) マルチプロセッサコンピュータにおける演算要素の統合
TW448361B (en) Data switching system and method using bandwidth management unit to reduce data traffic
JPS5931733B2 (ja) 可変長さの命令を実行する中央処理装置
JPH07110769A (ja) Vliw型計算機
JPS59177655A (ja) 演算バイパス制御方式
JPH0812600B2 (ja) 並列データ処理制御方法
JPH0554059A (ja) ベクトル処理装置
CN117348930A (zh) 指令处理装置、指令执行方法、片上系统和板卡
CN117667211A (zh) 指令同步控制方法、同步控制器、处理器、芯片和板卡
JPS61259339A (ja) シ−ケンス制御装置
JPH0646412B2 (ja) デ−タフロ−プロセツサ