JPH0319985B2 - - Google Patents

Info

Publication number
JPH0319985B2
JPH0319985B2 JP14357784A JP14357784A JPH0319985B2 JP H0319985 B2 JPH0319985 B2 JP H0319985B2 JP 14357784 A JP14357784 A JP 14357784A JP 14357784 A JP14357784 A JP 14357784A JP H0319985 B2 JPH0319985 B2 JP H0319985B2
Authority
JP
Japan
Prior art keywords
vector
vector length
maximum
length
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.)
Expired
Application number
JP14357784A
Other languages
English (en)
Other versions
JPS6123274A (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
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 Nippon Electric Co Ltd filed Critical Nippon Electric Co Ltd
Priority to JP14357784A priority Critical patent/JPS6123274A/ja
Publication of JPS6123274A publication Critical patent/JPS6123274A/ja
Publication of JPH0319985B2 publication Critical patent/JPH0319985B2/ja
Granted 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)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はベクトルレジスタを備えベクトルレジ
スタ長の判別を行なうベクトル処理装置に関す
る。
〔従来の技術〕
従来、CRAY−1に代表されるベクトル処理
装置においては、固定長(CRAY−1では64)
のベクトルレジスタを複数個備え、ベクトルレジ
スタ中のベクトルデータを対象として、ベクトル
演算を実行している。前記固定長は、一つのベク
トルレジスタが保持する最大のベクトル長なの
で、以下最大ベクトル長(MVL)と呼ぶ。
ベクトル演算にあたつては、ベクトル演算を実
行する前に、該演算において、実行すべき演算数
(ベクトル要素数)を保持するベクトル長レジス
タ(VL)と呼ばれる記憶手段に、予じめ実行す
べきベクトル要素数が命令で設定されたあと、ベ
クトル演算が実行される。ベクトル演算ユニツト
ではベクトル長レジスタに設定された回数だけの
命令で指定された演算をベクトルレジスタから
次々と読み出したベクトル要素に対して実行さ
れ、演算結果がベクトルレジスタまたは主記憶装
置に順次格納される。このとき、FORTRAN等
で書かれた元々のベクトル演算を実行すべきルー
プのループ長(N)が前記最大ベクトル長
(MVL)を超えている場合にはこのループを複数
個に分割して、1回のベクトル演算が最大ベクト
ル長を超えないようにして、複数回、該ベクトル
演算が実行される。この結果、ループ長(N)>
最大ベクトル長(MVL)なるループのベクトル
化が行われている。すなわち、ループ長(N)≦
最大ベクトル長(MVL)ならばループ長(N)
がベクトル長レジスタにセツトされてベクトル演
算が実行される。ループ長(N)>最大ベクトル
長(MVL)ならば、ループを〔(N−1)/
MVL〕+1個に分割し、(N−1)/MVLの余り
に1を加えた値が、まずベクトル長レジスタにセ
ツトされて、第1回目のベクトル演算が実行され
る。次は最大ベクトル長(MVL)がベクトル長
レジスタにセツトされて、残りの〔(N−1)/
MVL〕回のベクトル演算が実行される。(〔x〕
はxを超えない最大の整数。)このようにしてル
ープ長(N)>最大ベクトル長(MVL)なるルー
プは、最大ベクトル長を固定長とするベクトルレ
ジスタを持つベクトル処理装置においてもベクト
ル化できる。このとき、CRAY−1のような従
来装置では、ベクトルレジスタの最大長が固定で
あるのみならず、定数として、オブジエクトプロ
グラム中で設定しておく必要がある。このとき、
例えば、将来、VLSI技術等で高速大容量の記憶
素子が実現されると、より大容量のベクトルレジ
スタを処理装置内に備えることが可能となり、こ
のとき、必然的に、ベクトルレジスタの最大長も
大きくなる。
〔発明が解決しようとする問題点〕
しかし、従来装置では、最大ベクトル長がオブ
ジエクトプログラム中に定数として設定されてい
るので、より小容量のベクトルレジスタ用に作ら
れた従来のプログラムを再コンパイルすることな
く大容量ベクトルレジスタを有効に利用すること
はできない。また、ベクトル処理装置を製品化す
る場合に、性能/価格比を最適に、ユーザに、よ
り適した製品とするために、ベクトルレジスタの
容量により、複数個のモデルを設定する場合もあ
る。このとき、モデル間で、最大ベクトル長が通
常は異なるが、従来装置では前記同様、最大ベク
トル長(MVL)が定数となつているため、モデ
ル間のオブジエクトレベルの互換性がない、とい
う欠点がある。
本発明の目的は上述の欠点を解決し、ベクトル
レジスタの容量が異なるモデル間において、オブ
ジエクトレベルの互換性を与えるようにしたベク
トル処理装置を提供することにある。
〔問題点を解決するための手段〕
本発明の処理装置は、命令およびオペランドを
記憶する主記憶装置と、命令でアクセス可能な少
なくとも1個以上のスカラレジスタと、順序づけ
られた複数個のベクトル要素をそれぞれ保持する
複数個のベクトルレジスタと、該ベクトルレジス
タの内容を演算する少なくとも一つ以上の演算ユ
ニツトと、該演算ユニツトが実行すべき演算要素
数を保持する少なくとも一つ以上のベクトル長保
持手段とを備えたベクトル処理装置において、前
記ベクトルレジスタの保持しうる最大ベクトル長
に対応する符号化された符号化最大ベクトル長を
記憶し、かつ、外部から設定可能な最大ベクトル
長記憶手段と、該最大ベクトル長記憶手段に接続
され、前記符号化最大ベクトル長を最大ベクトル
長の値に変換するベクトル長変換手段とを備え、
該最大ベクトル長記憶手段からの読み出し命令検
出に応答して該最大ベクトル長記憶手段中の符号
化最大ベクトル長をベクトル長変換手段を通し
て、最大ベクトル長に変換し、前記スカラレジス
タまたは主記憶装置に読出す制御手段とを備えた
ことを特徴とする。
〔実施例〕
次に本発明について、図面を参照して詳細に説
明する。
第1図を参照すると、本発明の一実施例では8
個のベクトルレジスタ1を備え、各ベクトルレジ
スタ1は0番地から63番地までの順序付けられた
64個のベクトル要素を保持することができるので
最大ベクトル長(MVL)は64である。各ベクト
ルレジスタ1は加減算器などの演算ユニツト3に
接続されている。ベクトル長レジスタ(VL)2
は、各演算ユニツト3が実行すべきベクトル演算
要素数を保持するレジスタであり、演算ユニツト
3に接続されている。前記レジスタ2は命令で内
容を設定することができ、本実施例ではスカラレ
ジスタ4を通して内容が設定される。
本実施例のベクトル処理装置では命令が主記憶
装置5から読み出され、命令レジスタ6に設定さ
れ、デコーダ10で解読される。該命令がベクト
ル演算命令であると解読結果が適当な演算ユニツ
ト3に送出される。該演算ユニツト3では、命令
で指定されたベクトルレジスタ1からのベクトル
要素が次々に読み出され、指定された演算が実行
されて、演算結果のベクトル要素が次々とベクト
ルレジスタ1に格納される。このとき実行される
ベクトル演算数は予じめベクトル長(VL)レジ
スタ2に設定されている回数だけ実行される。
スカラ演算やアドレス計算に使用するスカラレ
ジスタ4は16個あり、32ビツトの長さを持ち、ベ
クトルレジスタ1同様、演算ユニツト3に接続さ
れている。
第1図の最大ベクトル長レジスタ(MVR)7
は前記ベクトルレジスタ1の最大ベクトル長を符
号化して保持するレジスタである。符号化して保
持することにより、少ないビツト数で済ませるこ
とができる。本実施例では、ベクトルレジスタ1
の最大ベクトル長(MVL)は64であるが、将来、
128から256まで拡張できることを想定して、最大
ベクトル長レジスタ(MVR)7としては3ビツ
トの長さとする。最大ベクトル長(MVL)=64の
ときは“001”、最大ベクトル長(MVL)=128の
ときは“010”、最大ベクトル長(MVL)=256の
ときは“100”を最大ベクトル長レジスタ7に設
定するものとする。すなわち、本実施例では最大
ベクトル長レジスタ(MVR)7には“001”が
設定されている。設定手段8は第1図に示したよ
うに、ジヤンパ線やスイツチであつてもよく、あ
るいは保守・診断用のサービスプロセツサ
(SVP)でもよい。このような設定手段8以外
に、スキヤンパスのような特別なパスを通して設
定してもよく、ベクトルレジスタの構成によつ
て、一意に定まる値が設定される。
次に、第1図の変換回路12は最大ベクトル長
レジスタ7の内容をベクトルレジスタ1の最大ベ
クトル長に復号する変換手段であり、本実施例で
は最大ベクトル長レジスタ7の内容のうしろに6
ビツトの0を付加し、定数“64”を発生する回路
である。
さて、第1図において、主記憶装置5から命令
レジスタ6に命令が取出され、該命令がベクトル
レジスタ1の最大長を読み出す命令であると、命
令のビツト8−11で指定されるスカラレジスタ4
が選択回路9により選択される。次に、最大ベク
トル長レジスタ7の内容が変換回路12を通し
て、最大ベクトル長の値に変換され選択されたス
カラレジスタ4にロードされる。本実施例では、
最大ベクトル長はスカラレジスタ4に読み出され
るものとしたが最大ベクトル長を主記憶装置5に
直接転送するように構成してもよい。
第2図は、最大ベクトル長を主記憶制御装置1
1を通して主記憶装置5に転送するよう構成した
第2の実施例である。この場合、最大ベクトル長
−1を転送するよう指示した命令のビツト12−31
では、主記憶装置5のアドレスを指定する。
第3A図は第1図に示した実施例による
FORT−RANのDOループのベクトル制御部分の
ソースプログラムであり、第3B図はそのオブジ
エクトプログラムを示す。第3B図において←は
右辺の内容を左辺の記憶手段に設定(ロード)す
ることを示す。
第3B図においてステツプ(1)では第3A図に示
したソースプログラムのループ長Nがスカラレジ
スタS1にロードされている。ステツプ(2)ではベ
クトルレジスタの最大ベクトル長の値、すなわ
ち、最大ベクトル長レジスタの内容を復号して
“64”がスカラレジスタS2にロードされる。ス
テツプ(3)では数値N−1がレジスタS3にロード
されている。ステツプ(4)ではスカラレジスタS2
の内容から1を引いている、つまり、最大ベクト
ル長MVL−1の値が求められる。ステツプ(5)で
はスカラレジスタS3およびS2のそれぞれの内
容の論理積がとられてスカラレジスタS5にロー
ドされる。ステツプ(3)からステツプ(5)の一連の処
理では通常、最大ベクトル長(MVL)は2のべ
き乗であることを利用して、(N−1)/MVLの
剰余が求められる。ステツプ(6)では前記剰余に1
が加えられて、加算結果がスカラレジスタS6に
ロードされる。本実施例では、アドレス情報はバ
イトを単位としており、かつ、一つのベクトルデ
ータは4バイト長である。従つて、ステツプ(7)で
はスカラレジスタS6の内容が2ビツト左にシフ
ト、すなわち、4倍されている。これは、ループ
を分割したときのベクトル要素間の距離が求めら
れていることに相当する。ステツプ(8)ではステツ
プ(7)と同様最大ベクトル長時のベクトル要素間の
距離が求められる。ステツプ(9)では最初のベクト
ル要素の相対ベースアドレスがセツトされてい
る。ここまでが第3A図のDOループの前処理部
分である。
ステツプ(10)ではスカラレジスタS6の内容がベ
クトル長レジスタ2にロードされる。スカラレジ
スタS6の内容は前記(N−1)/MVLの剰余
+1または最大ベクトル長(MVL)のいずれか
である。ステツプ(11)では次のループの繰返し
のために、ベクトルの相対ベースアドレスが求め
られる。ステツプ(12)ではループ間のベクトル
要素間距離がスカラレジスタS7に移送される。
ステツプ(13)ではスカラレジスタS1の内容か
らスカラレジスタS6の内容が差し引かれて演算
すべき残りのベクトル要素数が求められている。
ステツプ(14)ではスカラレジスタS2の内容、
すなわち、最大ベクトル長MVLがスカラレジス
タS6に移送されている。ステツプ(15)では演
算すべき残りのベクトル要素があるかどうかが判
定され、残りがあればLOOPへ分岐してさらにル
ープが繰返される。
この実施例においては、第3B図から明らかな
ように、ベクトルレジスタの保持しうる最大ベク
トル長を定数とするオブジエクトプログラムとは
なつていないので、ベクトルレジスタの最大長が
異なるモデルであつても、同一のオブジエクトプ
ログラムが使用できる。
発明の効果 本発明には外部から設定可能なベクトルレジス
タの保持しうる最大ベクトル長に相当する値を記
憶する手段を設け、該最大ベクトル長を命令によ
つて、プログラムに見えるレジスタもしくは主記
憶に読み出すように構成することにより、ベクト
ル長が異なるベクトルレジスタを有するベクトル
処理装置間でオブジエクトレベルの互換性をプロ
グラムに与えるという効果がある。
【図面の簡単な説明】
第1図は本発明の一実施例を示す図、第2図は
本発明の他の実施例を示す図、第3A図は
FORT−RANのDOループのループ制御部分のコ
ーデイング例を示す図および第3B図は本発明に
よる場合の第3A図のソースプログラムに対応す
るオブジエクトプログラムの例を示す図である。 1……ベクトルレジスタ、2……ベクトル長レ
ジスタ、3……演算ユニツト、4……スカラレジ
スタ、5……主記憶装置、6……命令レジスタ、
7……最大ベクトル長レジスタ、8……設定手
段、9……選択回路、10……デコーダ、11…
…主記憶制御装置、12……変換回路。

Claims (1)

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

Priority Applications (1)

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

Applications Claiming Priority (1)

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

Publications (2)

Publication Number Publication Date
JPS6123274A JPS6123274A (ja) 1986-01-31
JPH0319985B2 true JPH0319985B2 (ja) 1991-03-18

Family

ID=15341973

Family Applications (1)

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

Country Status (1)

Country Link
JP (1) JPS6123274A (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4857687B2 (ja) * 2005-09-29 2012-01-18 ダイキン工業株式会社 圧縮機の試験用通電プラグ治具
US7374460B1 (en) 2007-04-17 2008-05-20 Traxxas Lp Electrical connector assembly

Also Published As

Publication number Publication date
JPS6123274A (ja) 1986-01-31

Similar Documents

Publication Publication Date Title
KR102252137B1 (ko) 계산 장치 및 방법
US4616313A (en) High speed address calculation circuit for a pipeline-control-system data-processor
TW299421B (ja)
JPH0371337A (ja) マイクロプロセツサ回路
US6915413B2 (en) Micro-controller for reading out compressed instruction code and program memory for compressing instruction code and storing therein
JPH0319986B2 (ja)
JPH0410108B2 (ja)
US4598358A (en) Pipelined digital signal processor using a common data and control bus
JPH0319985B2 (ja)
JPH0319984B2 (ja)
JPH0319983B2 (ja)
JPS5826584B2 (ja) デ−タ処理装置
JPH02126321A (ja) 命令コードのデコード装置
JP2743947B2 (ja) マイクロプログラム制御方式
JPS60129853A (ja) アドレス発生装置
JP2624738B2 (ja) 丸め処理方式
JP2000148477A (ja) アドレス計算方法およびその機構
JPH04227589A (ja) データフロープログラムの割付け装置および割付け方法
JPS62154172A (ja) ベクトル命令処理装置
JPH083812B2 (ja) 関数演算制御方法
JPH03256130A (ja) 割込要因検索方式
JPS61259339A (ja) シ−ケンス制御装置
JPS62295138A (ja) アドレス生成方式
JPH0511328B2 (ja)
JPH0137774B2 (ja)