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

ベクトル処理装置

Info

Publication number
JPS6123272A
JPS6123272A JP14357584A JP14357584A JPS6123272A JP S6123272 A JPS6123272 A JP S6123272A JP 14357584 A JP14357584 A JP 14357584A JP 14357584 A JP14357584 A JP 14357584A JP S6123272 A JPS6123272 A JP S6123272A
Authority
JP
Japan
Prior art keywords
vector
register
maximum
length
vector length
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
JP14357584A
Other languages
English (en)
Other versions
JPH0319983B2 (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 JP14357584A priority Critical patent/JPS6123272A/ja
Publication of JPS6123272A publication Critical patent/JPS6123272A/ja
Publication of JPH0319983B2 publication Critical patent/JPH0319983B2/ja
Granted legal-status Critical Current

Links

Classifications

    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00—Digital computers in general; Data processing equipment in general
    • G06F15/76—Architectures of general purpose stored program computers
    • G06F15/80—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8053—Vector 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

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、ベクトルレジスタを備えベクトルレジスタ長
の判別を行なうベクトル処理装置に関する。
〔従来の技術〕
従来、GRAY−1に代表されるベクトル処理装置にお
いては、固定長(OR,AY−1では64)のベクトル
レジスタを複数個備え、ベクトルレジスタ中のベクトル
データを対象として、ベクトル演算を実行している。前
記固定長は、一つのベクトルレジスタが保持する最大の
ベクトル長なので。
以下最大ベクトル長(MVL)と呼ぶ。
ベクトル演算にあ゛うては、ベクトル演算を実行する前
に、該演算において、実行すべき演算数(ベクトル要素
数)を保持するベクトル長レジスタと呼ばれる記憶手段
に、予じめ実行すべきベクトル要素数が命令で設定され
たあと、ベクトル演算が実行される。ベクトル演算ユニ
ットはベクトル長レジスタに設定された回数だけの命令
で指定された演算がベクトルレジスタから次々に読み出
したベクトル要素に一対して実行され、演算結果がベク
トルレジスタまたは主記憶装置に順次格納される。
このとき、FORTRAN等で書かれた元々のベクトル
演算を実行するべきループのループ長(N)が前記最大
ベクトル長(MVL)を超えている場合には、このルー
プを複数個に分割して、1回のベクトル演算が最大ベク
トル長を超えないようにして、複数回、該ベクトル演算
が実行される。この結果。
ループ長(N)〉最大ベクトル長(MVL)なるループ
のベクトル化が行われている。すなわち、ループ長(へ
)≦最大ベクトル長(MVL)ならばループ長(へ)が
ベクトル長レジスタにセットされてベクトル演算が実行
される。ループ長(へ)〉最大ベクトル長(MVL)な
らば、ルー フ’e ((N−1)/MVL) 、+ 
1個に分割し、’ (N−1)/MVLの余シに1を加
えた値が、まずベクトル長レジスタにセットされて第1
回目のベクトル演算が実行される。次は最大ベクトル長
(MVL)がベクトル長レジスタにセットされて、残シ
の((N−1)/MVL )回のベクトル演算が実行さ
れる。(〔X〕はXを超えない最大の整数。)このよう
にしてループ長(ホ)〉最大ベクトル長(MVL)なる
ループは、最大ベクトル長を固定長トスるベクトルレジ
スタを持つベクトル処理装置においてもベクトル化でき
る。このときCRAY−1のような従来装置では、ベク
トルレジスタの最大長が固定であるのみならず、定数と
して、オブジェクトプログラム中で設定しておく必要が
ある。このことは、例えば、将来、VLSI技術等で高
速大容量の記憶素子が実現されると、より大容量のペク
ト、ルレジスタを処理装置内に備えることが可能となシ
、このとき必然的に、ベクトルレジスタの最大長も大き
くなる。
〔発明が解決しようとする問題点〕
しかし、従来装置では、最大ベクトル長がオブジェクト
プログラム中に定数として設定されているので、より小
容量のベクトルレジスタ用に作られた従来のプログラム
を再コンノくイルすることなく大容量ベクトルレジスタ
を有効に利用することはできない。また、ベクトル処理
装置を製品化する場合に、性能/価格比を最適に、ユー
ザに、より適した製品とするために、ベクトルレジスタ
の容量によシ複数個のモデルを設定する場合もある。
このときモデル間で、最大ベクトル長が通常は異なるが
、従来装置では前記同様、最大ベクトル長(MVL)が
定数となっているため、モデル間のオブジェクトレベル
の互換性がない、という欠点がある。
本発明の目的は子連の欠点を解決し、ベクトルレジスタ
の容量が異なるモデル間のオブジェクトレベルの互換性
を与えるようにしたベクトル処理装置を提供することに
ある。
〔問題点を解決するための手シ〕
本発明の処理装置は、命令おiびオペランドを記憶する
主記憶装置と、命令でアクセス可能な少なくとも1個以
上のスカラレジスタと、順序づけられた複数個のベクト
ル要素をそれぞれ保持する複数個のベクトルレジスタと
、該ベクトルレジスタの内容を演算する少々くとも一つ
以上の演算ユニットと、該演算ユニットが実行すべき演
算要素数を保持する少なくとも一つ以上のベクトル長−
保持手段とを備えたベクトル処理装置において、前記ベ
クトルレジスタの保持しうる(最大のベクトル長−1)
の値を記憶し、かつ、外部から設定可能な最大ベクトル
長記憶手段と、該最大ベクトル長記憶手段からの読出し
命令検出に応答して、該最大ベクトル長記憶手段の内容
を、前記スカラレジスタまたは工記憶装置に読出す制御
手段とを備えたことを特徴とする。
〔実施例〕
次に本発明について、図面を参照して詳細に説明する。
第1図を参照すると、本発明の一実施例では8個のベク
トルレジスタ1を備え、各ベクトルレジスタ1はO番地
から63番地までの順序付けられた64個のベクトル要
素を保持することができるので、最大ベクトル長(MV
L)は64である。各−ベクトルレジスタ1は加減算器
などの演算ユニット3に接続されている。ベクトル長レ
ジスタO■)2は、各演算ユニット3が実行すべきベク
トル演算要素数を保持するレジスタであシ、演算ユニッ
ト3に接続されている。前記レジスタ2は命令で内容を
設定することができ、本実施例ではスカラレジスタ4を
通して内容が設定される。
本実施例のベクトル処理装置では命令が主記憶装置5か
ら読み出され、命令レジスタ6に設定され、デコーダ1
0で解読される。該命令がベクトル演算命令であると解
読結果が適当な演算ユニット3に送出される。該演算ユ
ニット3では、命令で指定されたベクトルレジスタ1か
らのベクトル要素が順次読み出され、指定された演算が
実行されて、演算結果のベクトル要素が次々とベクトル
レジスタ1に格納される。このとき実行されるベクトル
演算数は予じめベクトル長(VL)レジスタに設定され
ている回数だけ実行される。
スカラ演算やアドレス計算に使用するスカラレジスタ4
は16個あシ、32ビツトの長さを持ち、ベクトルレジ
スタ1同様、演算ユニット3に接続されている。
第1図の最大ベクトル長レジスタ(MVR)7は、前記
ベクトルレジスタ1の(最大ベクトル長−1)の値を保
持するレジスタであり、本実施例では、最大ベクトル長
は64なので、”63”が固定的に設定されている。設
定手段8は第1図に示したようにジャンパ線スイッチで
あってもよく、あるいは保守・診断用のサービスプロセ
ッサ(svp)でもよい。このような設定手段8によシ
、スキャンパスのような特別なパスを通して設定しても
よく、ベクトルレジスタの構成によって、−意に定まる
第1図において、主記憶装置5から命令レジスタ6に命
令が取出され、該命令が最大ベクトル長レジスタ7から
スカ゛ラレジスタ4への読み出し命令であると命令のピ
ッ)8−11で指定されるスカラレジスタ4の内容が選
択回路9によって選択される。そのあとで最大ベクトル
長レジスタ7の内容が信号線lを介して選択されたスカ
ラレジスタ4にロードされる。本実施例では最大ベクト
ル長レジスタ7の内容はスカラレジスタ4に読み出され
るものとしたが、最大ベクトル長レジスタ7の内容を主
記憶装置5に直接転送するよう構成してもよい。
次に、最大ベクトル長レジスタ7の内容を主記憶制御装
置11全通して主記憶装置5に転送するよう構成した第
2の実施例を第2図を参照して詳細に説明する。この場
合、最大ベクトル長しジスRAMのDoルーズのベクト
ル制御部分のソース容を左辺の記憶手段に設定(ロード
)することを示す。
第3B図においてステップ(1)では第3A図に示した
ソースプログラムのループ長NがスカラレジスタS1に
ロードされている。ステップ(2)ではベクトルレジス
タの最大ベクトル長、すなわち最大ベクトル長レジスタ
の自答である163′がスカラレジスタS2にロードさ
れる。ステップ(3)では数・値N−1がレジスタS3
にロードされている。ステップ(4)ではスカラレジス
タS2の内容に1が加えられ、最大ベクトル長(MVL
)が求められる。ステップ(5)ではスカラレジスタS
3およびS2のそれぞれの内容の論理積がとられてスカ
ラレジスタS5にロードされる。ステップ(3)からス
テップ(5)の一連の処理では通常、最大ベクトル長(
MVL)は2のべ1乗であることを利用して(N−1)
/jx4VLの剰余が求められる。ステツプ(6)では
前記剰余に、1が加えられて、加算結果がスカラレジス
タS6にロードされる。次に、ステップ(7)では哀カ
ラレジスタS6の内容が2ビツト左にシフト、すなわち
、4 されている。
これは、ループを分割したときのベクトル要素部の距離
が求められていることに相当する。ステップ(8)では
ステップ(7)と同様最大ベクトル長時のベクトル要素
間の距離が求められる。ステップ(9)では最初のベク
トル要素の相対ベースアドレスがセットされている。こ
こまでが第3A図メ加ルーズの前処理部分である。
ステップ(10)ではスカラレジスタS6のか容がベク
トル長レジスタ2にロードされる。スカラレジスタS6
の内容は前記(N−1)/VLの剰余+1または最大炎
ベクトル長(MVL)のいずれかである。ステップ(1
1)では次のループの繰返しのために、ベクトルの相対
ベースアドレスが求められる。ステップ(12)ではル
ープ間のベクトル要素間距離がスカラレジスタS7に移
送される。ステップ(13)ではスカラレジスタS1の
内容からスカラレジスタS6の内容が差し引かれて演算
すべき残シのベクトル要素数が求められている。ステッ
プ(14)ではスカラレジスタS4の内容、スなわち、
最大ベクトル長MVLがスカラレジスタS6に移送され
ている。ステップ(15)では演算すべき残り“のベク
トル要素があるかどうかが判定され残シがあればLOO
Pへ分岐してさらにループが繰返される。
この実施例においては、第3B図から明らかなように、
ベクトルレジスタの保持しうる最大ベクトル長を定数と
するオブジェクトプログラムとはなっていないので、ベ
クトルレジスタの最大炎が異なるモデルであっても、同
一のオブジェクトプログラムが使用できる。
発明の効果 本発明には外部から設定可能なベクトルレジスタの保持
しうる最大ベクトル長を記憶する手段を設け、該記憶手
段の内容を命令によって、プログラムに見えるレジスタ
もしくは主記憶に読み出すように構成することにより、
ベクトル長が異なるベクトルレジスタを有するベクトル
処理装置間でオブジェクトレベルの互換性をプログラム
に与えるという効果がある。
【図面の簡単な説明】
第1図は本発明の一実施例を示す図、第2図は本発明の
他の実施例を示す図%第3A図はFORTRANのDo
ルーズのループ制御部分のコーディング例を示す図およ
び第3B図は本発明による場合の第3A図のソースプロ
グラムに対応するオブジェクトプログラムの例を示す図
である。 1・・・・・・ベクトルレジスタ、2・旧・・ベクトル
長レジスタ、3・・・・・・演算ユニット、4・・・・
・・スカラレジスタ、5・・・・・・主記憶装置、6・
・・・・・命令レジスタ、7・・・・・・最大ベクトル
長レジスタ、8・・・・・・設定手段、9・・・・・・
選択回路、10・・・・・・デコーダ、11・旧・・主
記憶制御装置。 第 1 図 ベクトルレジスタ(T) 革 2 図 DO7?   l−4,N n  C0NTINl/E 茅3A閃 δ14−/V              −−−−−
(1)δ2 ←  MVメζ            
                 −−−−−(2ン
S3←51−/            −−−−−(
3>S4← :52+f              
  −−−−−(4)S5← 53に32      
      −−−−− (5)S6←SI+1   
         −−−−− <6)37 ← St
<2                 −−−−− 
r71Sg ”  5ll)<2          
    −−−−− (g)59← 4       
        −−−−− (911oop  Vl
 4−5l            −−−−−ttm
Sq ← 59士57              −
−−− ttt+57 Th  SJ        
         −−−−−(12)51← δ/ 
−5t              −−−−−(13
)−5t← 54                 
−−−− (14)θN:i!  5l−Ltyop 
         −−−−−US)算3B図 手続補正書輸発) 1、事件の表示   昭和59年特  許願第1435
75号2、発明の名称   ベクトル処理装置3、補正
をする者 事件との関係       出 願 人東京都港区芝五
丁目33番1号 (423)   日本電気株式会社 代表者 関本忠弘 4、代理人 5、補正の対象 図面 6、補正の内容 願書に添付した図面の第3B図を添付図面と差し替えま
す。 SI+N 52− MVE δ3←、S/−/ S4←S2+I S5←:S3ν52 sb←S5→l Sγ←Sb<2 33 ° 、S4<2 5q ← 4 1oop   VL −s−5A S9←S9 +57 S7← δ2 S / 4−!;:l −54 S、6 +34 F、NZ  Sl、/θθβ 茅38回 −−−−−(f > −−−−”<3> −−−−−(5+ −−−−−(乙ン 一−−−−+7フ ーーーー(、!1rJ −−−−−(qノ −−−−(iθノ −−−−(12ン ー−−−r/4)

Claims (2)

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

Priority Applications (1)

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

Applications Claiming Priority (1)

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

Publications (2)

Publication Number Publication Date
JPS6123272A true JPS6123272A (ja) 1986-01-31
JPH0319983B2 JPH0319983B2 (ja) 1991-03-18

Family

ID=15341925

Family Applications (1)

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

Country Status (1)

Country Link
JP (1) JPS6123272A (ja)

Also Published As

Publication number Publication date
JPH0319983B2 (ja) 1991-03-18

Similar Documents

Publication Publication Date Title
EP0314809B1 (en) Vector processor for processing recurrent equations at a high speed
JPS6028015B2 (ja) 情報処理装置
JPS6123275A (ja) ベクトル処理装置
JPS59114677A (ja) ベクトル処理装置
JPH0319985B2 (ja)
JP3771682B2 (ja) ベクトル処理装置
JPH0528431B2 (ja)
JP2842930B2 (ja) 半導体集積回路試験装置のテストプロセッサに用いられる命令読み出し回路
JPH0319983B2 (ja)
JPH0319984B2 (ja)
JPH01147723A (ja) 情報処理装置のパイプライン処理方式
JPH02288975A (ja) ベクトル演算装置
JPS63276126A (ja) 命令デコ−ド回路
JPS60144876A (ja) ベクトル要素間演算装置
JPH0222417B2 (ja)
JPS6028014B2 (ja) マイクロプロセツサ
JPS62194543A (ja) マイクロプログラム制御装置
JPH02181821A (ja) 演算装置
JPS6379172A (ja) 演算装置
JPS6079468A (ja) デ−タ処理装置
JPH0812599B2 (ja) データ処理装置
JPH0421129A (ja) 命令キャッシュ装置
JPS5896346A (ja) 階層型演算方式
JPH052481A (ja) 演算制御回路
JPS6146857B2 (ja)