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

ベクトル処理装置

Info

Publication number
JPS6123275A
JPS6123275A JP59143578A JP14357884A JPS6123275A JP S6123275 A JPS6123275 A JP S6123275A JP 59143578 A JP59143578 A JP 59143578A JP 14357884 A JP14357884 A JP 14357884A JP S6123275 A JPS6123275 A JP S6123275A
Authority
JP
Japan
Prior art keywords
vector
register
maximum
length
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.)
Granted
Application number
JP59143578A
Other languages
English (en)
Other versions
JPH0319986B2 (ja
Inventor
Sada Watanabe
渡邊 貞
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.)
NEC Corp
Original Assignee
NEC Corp
Nippon Electric 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 NEC Corp, Nippon Electric Co Ltd filed Critical NEC Corp
Priority to JP59143578A priority Critical patent/JPS6123275A/ja
Priority to EP85108617A priority patent/EP0173040B1/en
Priority to NO852772A priority patent/NO169989C/no
Priority to FI852738A priority patent/FI90149C/fi
Priority to DE8585108617T priority patent/DE3583264D1/de
Priority to US06/753,943 priority patent/US4710867A/en
Priority to AU44796/85A priority patent/AU578874B2/en
Publication of JPS6123275A publication Critical patent/JPS6123275A/ja
Publication of JPH0319986B2 publication Critical patent/JPH0319986B2/ja
Granted 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/8076Details on data register access
    • G06F15/8084Special arrangements thereof, e.g. mask or switch

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)
  • Image Analysis (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はベクトルレジスタを備えベクトルレジスタ長の
判別を行なうベクトル処理装置に関する。
〔従来の技術〕
従来、CRAY−1に代表されるベクトル処理装置にお
いては、固定長(CRAY−1では64)のベクトルレ
ジスタを複数個備え、ベクトルレジスタ中のベクトルデ
ータを対象として、ベクトル潰滅を実行している。前記
固定長は、一つのベクトルレジスタが保持する最大のベ
クトル長なので以下最大ベクトル長(MVL)と呼ぶ。
ベクトル演算にあたっては、ベクトル演算を実行する前
に該演算に?いて、実行すべき演算数(ベクトル要素数
)を保持するベクトル長レジスタと呼ばれる記憶手段に
、予じめ実行すべきベクトル要素数が命令で設定された
あとベクトル演算が実行される。ベクトル演算ユニット
ではベクトル長レジスタに設定された回数だけの命令で
指定された演算がベクトルレジスタから次々に読み出し
たベクトル要素に対して実行され、演算結果がベクトル
レジスタまたは主記憶装置に順次格納される。このとき
、FORTRAN  等で書かれた元々のベクトル演算
を実行すべきループのループ長(へ)が前記最大ベクト
ル長(MVL)を超えている場合にはこのループを複数
個に分割して、1回のベクトル演算が最大ベクトル長を
超えないようにして、複数回、該ベクトル演算が実行さ
れる。この結果、ループ長(へ)〉最大ベクトル長(M
VL)なるループのベクトル化が行われている。すなわ
ちループ長(5)≦最大ベクトル長(MVL)ならばル
ープ長Nがベクトル長レジスタにセットされてベクトル
演算が実行される。この結果、ループ長(へ)〉最大ベ
ク)A4(MyL) ならif、ルー 7t−[: (
N−1)/MVL〕+1 個に分割しくN−1)/MV
Lの余シにit加えた値が、まずベクトル長レジスタに
セットされて第1回目のベクトル演算が実行される。次
は最大ベクトル長(MVL)をかベクトル長レジスタに
セットされて、残シの((N−1)/MVL) 回のベ
クトル演算が実行される。(〔X〕はXを超えない最大
の整数。)このようにしてループ長(5)〉最大ベクト
ル長(MVL)なるループは、最大ベクトル長を固定長
とするのベクトルレジスタを持つベクトル処理装置にお
いてもベクトル化できる。このときCRAY−1のよう
な従来装置では、ベクトルレジスタの最大炎が固定であ
るのみならず、定数として、オブジェクトプログラム中
で設定しておく必要がある。このことは、例えば、将来
、VLSI技術等で高速大容量の記憶素子が実現される
とよυ大容量のベクトルレジスタを処理装置内に備える
ことが可能となシ、このとき必然的に、ベクトルレジス
タの最大炎も大きくなる。
〔発明が解決しようとする問題点〕
しかし、従来装置では、最大ベクトル長がオブジェクト
プログラム中に定数として設定されているので、より小
容量のベクトルレジスフ用に作られた従来のプログラム
を再コンノくイルすることなく大容量ベクトルレジスタ
を有効に利用することはできない。また、ベクトル処理
装置を製品化する場合に、性能/価格比を最適に、ユー
ザによシ適した製品とするために、ベクトルレジスタの
容量により、複数個のモデルを設定する場合もある。
このとき、モデル間で、最大ベクトル長が通常は異なる
が、従来装置では前記目標、最大ベクトル長(MVL)
が定数となっているため、モデル間のオブジェクトレベ
ルの互換性がない、という欠点がある。
本発明の目的は上述の欠点を解決し、ベクトルレジスタ
の容量が異なるモデル間のオブジェクトレベルの互換性
を与えるようにしたベクトル処理装置を提供することに
ある。
〔問題点を解決するだめの手段〕
本発明の処理装置は命令およびオペランドを記憶する主
記憶装置と、命令でアクセス可能な少なくとも1個以上
のスカラレジスタと、順序づけられた複数個のベクトル
要素をそれぞれ保持する複数個のベクトルレジスタと、
該ベクトルレジスタの内容を演算する少なくとも一つ以
上の演算ユニットと、該演算ユニットが実行すべき演算
要素数を保持する少なくとも一つ以上のベクトル長f保
・持手段とを備えたベクトル処理装置において、前記ベ
クトルレジスタの保持しうる最大のベクトル長を記憶し
、かつ、外部から設定可能な最大ベクトル長記憶手段と
、該最大ベクトル長記憶手段からの読出し命令検出に応
答して該最大ベクトル長記憶手段の内容を、前記スカラ
レジスタもしくは主記憶装置に読出する制御手段とを備
えたことを特徴とする。
〔実施例〕
次に本発明について、図面を参照して詳細に説明する。
第1図を参、照すると、本発明の一実施例では8個のベ
クトルレジスタ1を備え、各ベクトルレジスタ1はθ番
地から63番地までの順序付けられた64個のベクトル
要素を保持することができるので最大ベクトル長(MV
L)は64である。各ベクトルレジスタ1は加減算器な
どの演算ユニット3に接続されている。ベクトル長レジ
スタ(VL)2は、各演算ユニット3が実行すべきベク
トル演算要素数を保持するレジスタであシ、演算ユニッ
ト3に接続されている。前記レジスタ2は命令で内容を
設定することができ、本実施例ではスカラレジスタ4を
通して内容が設定される。
本実施例のベクトル処理装置では命令が主記憶装置5か
ら読み出され、命令レジスタ6に設定され、デコーダ1
0で解読される。該命令がベクトル演算命令であると解
読結果が適当な演算ユニット3に送出される。該演算ユ
ニット3では、命令で指定されたベクトルレジスタ1か
らのベクトル要素が順次読み出され、指定された演算が
実行されて、演算結果のベクトル要素が次々とベクトル
レジスタに格納される。このとき実行されるベクトル演
算数は予じめベクトル長(VL)レジスタ2に設定され
ている回数だけ実行される。
スカラ演算やアドレス計算に使用するスカラレジスタ4
は16個あシ、32ビツトの長さを持ち、ベクトルレジ
スタ1同様、演算ユニット3に接続されている。
第1図の最大ベクトル長レジスタ(MVR)7は、前記
ベクトルレジスタ1の最大ベクトル長を保持するレジス
タであシ、本実施例では、最大ベクトル長は64なので
、′64″が固定的に設定されている。設定手段8は第
1図に示したようにジャンパ線、スイッチであってもよ
く、あるいは保守・診il+?用のサービスプロセッサ
(8VP)でもよい。
このような設定手段8によシ、スキャンパスのような特
別なパスを通して設定してもよく、ベクトルレジスタの
構成によって、−意に定まる値が設定される。
第1図において、主記憶装置5から命令レジスタ6に命
令が収用され、該命令が最大ベクトル長レジスタ7から
スカラレジスタ4への読み出し命令であると命令のビッ
ト8−11で指定されるスカラレジスタ4の内容が選択
回9によって選択される。そのあとで最大ベクトル長レ
ジスタ7の内容が信号線lを介して選択されたスカラレ
ジ、スタ4にロードされる。本実施例では最大ベクトル
長レジスタ7の内容は、。スカラレジスタ4に読み出さ
れるものとしたが、最大ベクトル長レジスタ7の内容を
主記憶装置5に直接転送するよう構成占もよい。
次に、最大ベクトル長レジスタ7の内容を主記憶制御装
置11を通して主記憶装置5に転送するよう構成した第
2の実施例を第2図を参照して詳RAN のDOループ
のベクトル制御部分のソースプログラムを示し、i3B
図はそのオブジェクト容を左辺の記憶手段に設定(ロー
ド)することを示す。
第3B図においてステップ(1)では第3A図に示した
ソースプログラムのループ長NがスカラレジスタS1に
ロードされている。ステップ(2)ではベクトルレジス
タの最大ベクトル長、すなわち最大ベクトル長レジスタ
の内容である。w 64 ’がスカラレジスタS・2に
ロードされる。ステップ(3)では数値N−1がレジス
タS3にロードされている。
ステップ(4)ではスカラレジスタS2の内容から1が
差し引かれている、つまシ、最大ベクトル長(MVL)
−1が求められる。ステップ(5)ではスカラレジスタ
S3およびS4の論理積をとってスカラレジスタS5に
ロードされる。ステップ(3)からステップ(5)の一
連の処理では通常、最大ベクトル長(MVL)は2のべ
き乗であることを利用して、(N−1)/MVLの剰余
が求められている。
ステップ(6)では前記剰余に1が加えられて、加算結
果がスカラレジスタS6にロードされる。次にステップ
(7)ではスカラレジスタS6の内容が2ビツト左にシ
フト、すなわち、4倍されている。
これはループを分割したときのベクトル要素間の距離が
求められていることに相当する。ステップ(8)ではス
テップ(7)と同様最大ベクトル長時のベクトル要素間
の距離が求められている。ステップ(9)では最初のベ
クトル要素の相対ベースアドレスがセットされている。
ここまでが第3A図のDOループの前処理部分である。
ステップ(10)ではスカラレジスタS6の内容がベク
トル長レジスタ2にロードされる。スカラレジスタS6
の内容は前記(N−1)/VLの剰余+1または最大炎
ベクトル長(MVL)のいずれかである。ステップ(1
1)では次のループの繰返しのために、ベクトルの相対
ベースアドレスが求められる。ステップ(12)ではル
ープ間のベクトル要素間距離がスカラレジスタS7に移
送される。ステップ(13)ではスカラレジスタS1の
内容からスカラレジスタS6の内容が差し引かれて演算
すべき残シのベクトル要素数が求められている。ステッ
プ(14)ではスカラレジスタ82.すなわち、最大ベ
クトル長MVLがスカラレジスタS6に移送されている
ステップ(15)では演算すべき残ルのベクトル要素が
あるかどうかが判定され、残シがあればLOOPへ分岐
してさらにループが繰返されるgこの実施例においては
、第3B図から明らかなように、ベクトルレジスタの保
持しうる最大ベクトル長を定数とするオブジェクトプロ
グラムとはなっていないので、ベクトルレジスタの最大
炎が異なるモデルであっても、同一のオブジェクトプロ
グラムが使用できる。
発明の効果 本発明には外部から設定可能なベクトルレジスタの保持
しうる最大ベクトル長を記憶する手段を設け、該記憶手
段の内容を命令によって、プログラムに見えるレジスタ
もしくは主記憶に読み出すように構成することにより、
ベクトル長が異なるベクトルレジスタを有するベクトル
処理装置間でオブジェクトレベルの互換性をプログラム
に与えるという効果がある。
【図面の簡単な説明】
第1図は本発明の一実施例を示す図、第2図は本発明の
他の実施例を示す図、第3A図はFORTRANのDO
ループのループ制御部分のコーディング例を示す図およ
び第3B図は本発明による場合のgaA図に対応するオ
ブジェクトプログラムの例を示す図である。 1・・・・・・ベクトルレジスタ、2・川・・ベクトル
長レジスタ、3・山・・演算ユニット、4・旧・・スカ
ラレジスタ、5・・・・・・主記憶装置、6・・・・・
・命令レジスタ、7・・・・・・最大ベクトル長レジス
タ、8・旧・・設定手段、9・・・・・・選択回路、1
0・・・・・・デコーダ、11・・・・・・主茅1図 ベクトルレジスタ(n 第 21¥1 一7?  C0NTINI/E 茅3A図 、   δ、←N、 ’            −−
−= (1)52  ”  Mνtζ        
            −−−−−(2ンS3°S/
−1=−(3) 54  ”  52−1              
     −−−  (aンSs ” 53kS4− 
        −−−−−  rs)sx  −ss
+t                 −−−−−、
、ンSγ −=  St<2            
     −=  (7ン511−”−510<2  
        −−−− (Ifλsq←4    
       −− (9)lθθβ  VL←sg 
         +++ Ul))39  ” 5q
+Sv            −−−−−(Hλ57
  + 58  、           −−  (
12)31  ← St  −5t、        
              −−(13ン56  +
52           −−−−− <14)BN
!  S 7. Laθp’       −−−−−
”華313図 手続補正書輸発) 60、10.−2 昭和  年  月  日 1、事件の表示   昭和59年 特許 願第1435
78号2)発明の名称   ベクトル処理装置3、補正
をする者 事件との関係       出 願 人東京都港区芝五
丁目33番1号 (423)   日本電気株式会社 代表者 関本忠弘 4、代理人 〒108  東京都港区芝五丁目37番8号 住友三田
ビル5、補正の対象 (5)明細書の「発明の詳細な説明」の欄(B)図面 6、補正の内容 (5)(1)第4頁第6行目の記載「をがベクトル」を
「がベクトル」と訂正します。 (2)第4頁第11行目の記載「とするの」を「とする
」と訂正します。 (3)第5頁第12行目の記載「目標」を「同様」と訂
正します。 (4)第6頁第15行目の記載「読出する」を1読出す
」と訂正します。 (5)第8頁第14行目の記載「設定手段8により」を
「設定手段8以外に」と訂正します。 (6)第9頁第2行目の記載1回9」を「回路9」と訂
正します。 (ロ)願書に添付した図面の第2図および第3B図をそ
れぞれ添付図面の第2図および第3B図と差鳴えます。 ベ°7)ルレジスゲ(y) 茅 2I!I sl 4−N−−−−−(1) 52°H7g          =−(Z)S3−5
1−1         −= (3)S4←52−1
        −− (4)s5←S3 & S4 
     −− (5)34°S5+1       
 −−−−− tA >S7←51<2       
 −−−−− (7)訂←、S2<2        
  −−−−−c&)sq ←s9+S7      
−、−−−一(// )31 ←SFI       
   −= C1n37 +s1−56       
−−−” (/3)56←52−−−−− (/4) BNzS f、 Laop       −−−−−C
15)募3B目

Claims (2)

    【特許請求の範囲】
  1. (1)命令およびオペランドを記憶する主記憶装置と、
    命令でアクセス可能な少なくとも1個以上のスカラレジ
    スタと、順序づけられた複数個のベクトル要素を保持す
    る複数個のベクトルレジスタと、これらベクトルレジス
    タの内容を演算する少なくとも一つ以上の演算ユニット
    と、該演算ユニットが実行すべき演算要素数を保持する
    少なくとも一つ以上のベクトル長保持手段とを備えたベ
    クトル処理装置において、 前記ベクトルレジスタの保持しうる最大ベクトル長の値
    を記憶し、かつ、外部から設定可能な最大ベクトル長記
    憶手段と、該最大ベクトル長記憶手段からの読出し命令
    検出に応答して該最大ベクトル長記憶手段の内容を前記
    スカラレジスタに読出す制御手段とを備えたことを特徴
    とするベクトル処理装置。
  2. (2)特許請求の範囲第(1)項記載のベクトル処理装
    置において、前記最大ベクトル長記憶手段からの読出し
    命令検出に応答して、該最大ベクトル長記憶手段の内容
    を前記主記憶装置に読出す制御手段を備えたことを特徴
    とするベクトル処理装置。
JP59143578A 1984-07-11 1984-07-11 ベクトル処理装置 Granted JPS6123275A (ja)

Priority Applications (7)

Application Number Priority Date Filing Date Title
JP59143578A JPS6123275A (ja) 1984-07-11 1984-07-11 ベクトル処理装置
EP85108617A EP0173040B1 (en) 1984-07-11 1985-07-10 Vector processing system
NO852772A NO169989C (no) 1984-07-11 1985-07-10 Vektorbehandlingssystem
FI852738A FI90149C (fi) 1984-07-11 1985-07-10 Vektorbehandlingssystem
DE8585108617T DE3583264D1 (de) 1984-07-11 1985-07-10 Vektorverarbeitungssystem.
US06/753,943 US4710867A (en) 1984-07-11 1985-07-11 Vector processing system
AU44796/85A AU578874B2 (en) 1984-07-11 1985-07-11 Vector processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP59143578A JPS6123275A (ja) 1984-07-11 1984-07-11 ベクトル処理装置

Publications (2)

Publication Number Publication Date
JPS6123275A true JPS6123275A (ja) 1986-01-31
JPH0319986B2 JPH0319986B2 (ja) 1991-03-18

Family

ID=15341996

Family Applications (1)

Application Number Title Priority Date Filing Date
JP59143578A Granted JPS6123275A (ja) 1984-07-11 1984-07-11 ベクトル処理装置

Country Status (7)

Country Link
US (1) US4710867A (ja)
EP (1) EP0173040B1 (ja)
JP (1) JPS6123275A (ja)
AU (1) AU578874B2 (ja)
DE (1) DE3583264D1 (ja)
FI (1) FI90149C (ja)
NO (1) NO169989C (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0814817B2 (ja) * 1986-10-09 1996-02-14 株式会社日立製作所 自動ベクトル化方法
JPH03150636A (ja) * 1989-11-08 1991-06-27 Matsushita Electric Ind Co Ltd コンパイル方法
US5742842A (en) * 1992-01-28 1998-04-21 Fujitsu Limited Data processing apparatus for executing a vector operation under control of a master processor
US6665790B1 (en) 2000-02-29 2003-12-16 International Business Machines Corporation Vector register file with arbitrary vector addressing
US7308559B2 (en) * 2000-02-29 2007-12-11 International Business Machines Corporation Digital signal processor with cascaded SIMD organization
JP4203979B2 (ja) * 2000-08-02 2009-01-07 富士通株式会社 パケット処理装置
US6941548B2 (en) * 2001-10-16 2005-09-06 Tensilica, Inc. Automatic instruction set architecture generation
US6961888B2 (en) * 2002-08-20 2005-11-01 Flarion Technologies, Inc. Methods and apparatus for encoding LDPC codes
JP2004152049A (ja) * 2002-10-31 2004-05-27 Renesas Technology Corp データ処理装置
US7543119B2 (en) * 2005-02-10 2009-06-02 Richard Edward Hessel Vector processor
US8209525B2 (en) * 2008-08-15 2012-06-26 Apple Inc. Method and apparatus for executing program code
US8933954B2 (en) * 2011-03-23 2015-01-13 Qualcomm Incorporated Register allocation for graphics processing
CN102968379B (zh) * 2012-10-24 2015-05-06 无锡江南计算技术研究所 一种寄存器分配方法、系统及处理器
US11544214B2 (en) * 2015-02-02 2023-01-03 Optimum Semiconductor Technologies, Inc. Monolithic vector processor configured to operate on variable length vectors using a vector length register

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4128880A (en) * 1976-06-30 1978-12-05 Cray Research, Inc. Computer vector register processing
JPS6055864B2 (ja) * 1980-07-21 1985-12-06 株式会社日立製作所 ベクトルプロセツサ
JPS59112364A (ja) * 1982-12-20 1984-06-28 Fujitsu Ltd ベクトル演算処理方式
JPS6069746A (ja) * 1983-09-26 1985-04-20 Fujitsu Ltd ベクトル・デ−タ処理装置の制御方式

Also Published As

Publication number Publication date
JPH0319986B2 (ja) 1991-03-18
FI90149C (fi) 1993-12-27
NO169989C (no) 1992-08-26
US4710867A (en) 1987-12-01
FI852738L (fi) 1986-01-12
EP0173040B1 (en) 1991-06-19
FI852738A0 (fi) 1985-07-10
EP0173040A3 (en) 1988-01-07
NO169989B (no) 1992-05-18
NO852772L (no) 1986-01-13
AU578874B2 (en) 1988-11-03
EP0173040A2 (en) 1986-03-05
AU4479685A (en) 1986-01-16
DE3583264D1 (de) 1991-07-25
FI90149B (fi) 1993-09-15

Similar Documents

Publication Publication Date Title
JPS6123275A (ja) ベクトル処理装置
EP0314809B1 (en) Vector processor for processing recurrent equations at a high speed
JPH0374434B2 (ja)
JPH0562387B2 (ja)
US4621324A (en) Processor for carrying out vector operation wherein the same vector element is used repeatedly in succession
US3754218A (en) Data handling system with relocation capability comprising operand registers adapted therefor
JPS6049340B2 (ja) 分岐命令先取り方式
JPS5826584B2 (ja) デ−タ処理装置
JPS59114677A (ja) ベクトル処理装置
JPH0319985B2 (ja)
JPS6123272A (ja) ベクトル処理装置
JPS6123273A (ja) ベクトル処理装置
JPH0821009B2 (ja) チャネル制御装置のイニシャライズ方法及びそのイニシャライズのためのシステム
JP3771682B2 (ja) ベクトル処理装置
JPH07110769A (ja) Vliw型計算機
JPS5853786B2 (ja) ベクトル・レジスタ
JPH0434191B2 (ja)
JPH01147723A (ja) 情報処理装置のパイプライン処理方式
JP2624738B2 (ja) 丸め処理方式
JPH04316127A (ja) 情報処理装置
JP3155056B2 (ja) 情報処理装置
JPS59188900A (ja) デ−タ処理装置
JPH0542034B2 (ja)
JPS63276126A (ja) 命令デコ−ド回路
JPS60254258A (ja) 読み出し専用メモリデ−タの破壊検知方法

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees