JPS5853786B2 - ベクトル・レジスタ - Google Patents

ベクトル・レジスタ

Info

Publication number
JPS5853786B2
JPS5853786B2 JP15844177A JP15844177A JPS5853786B2 JP S5853786 B2 JPS5853786 B2 JP S5853786B2 JP 15844177 A JP15844177 A JP 15844177A JP 15844177 A JP15844177 A JP 15844177A JP S5853786 B2 JPS5853786 B2 JP S5853786B2
Authority
JP
Japan
Prior art keywords
vector
register
registers
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.)
Expired
Application number
JP15844177A
Other languages
English (en)
Other versions
JPS5493342A (en
Inventor
啓一郎 内田
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP15844177A priority Critical patent/JPS5853786B2/ja
Publication of JPS5493342A publication Critical patent/JPS5493342A/ja
Publication of JPS5853786B2 publication Critical patent/JPS5853786B2/ja
Expired legal-status Critical Current

Links

Landscapes

  • Complex Calculations (AREA)

Description

【発明の詳細な説明】 本発明は、ベクトル・プロセッサにおけるベクトル・レ
ジスタ、特にレジスタを複数個に分割し、ベクトル長を
分割したワード数以下に指定して、種々の長さで使用で
きるベクトル・レジスタに関するものである。
科学計算の分野では、ベクトルやマトリクス等のアレイ
・データおよびストリング・データの演算を超高速度で
行うことが必要であり、演算されるべきエレメント・デ
ータを記憶装置から読出して順番に演算処理部に導くこ
とが要求される。
第1図において、ベクトル・プロセッサ2が記憶装置1
からベクトル・データをプロセッサ内部に取込み、これ
に対する演算を施すことによりメモリ・アクセスを減少
させ、データ・アクセス時間を減少させるためには、ベ
クトル・レジスタ3を設けることが有効である。
勿論、ベクトル・レジスタ3の容量は、一般に記憶装置
1の容量に比べて、はるかに小さい。
ベクトル・プロセッサ2は、ベクトル・データを演算す
るもので、いま、次のように表わされるベクトル・デー
タがあると、 ベクトル加算の命令が出されたとき、 を行う。
次の演算 すなわち、ベクトル演算は、何らかの手段によってベク
トル長を定め、この長さで示される回数単位だけ演算を
繰返す。
上記(1■)式のLがベクトル長である。
ベクトル命令でベクトル・レジスタ3を指定し、この上
でベクトル演算を実行する場合、ベクトル長りがもしベ
クトル・レジスタ3の容量■Vを超えるときには、制御
がきわめて複雑となる。
本発明の目的は、このような問題を解決するため、ベク
トル長にしたがって任意のワード数を指定でき、かつワ
ード数を常にベクトル長より犬にして、有効に利用でき
るベクトル・レジスタを提供することにある。
以下、図面より、本発明の詳細な説明する。
本発明は、■■の容量を持つベクトル・レジスタを複数
個に分割して使用するものである。
例えば、第2図に示すような256ワードのベクトル・
レジスタを4分割した場合には、1つのレジスタはVW
/4=64ワードとなる。
この場合、ベクトル長がVW/4より長いと、別のレジ
スタの容量まで侵蝕することになり、不都合が生じるの
で、命令により分割したワード以内にベクトルの長さを
指定する。
例えば、第2図の場合は、ベクトル長VL −64に指
定して、4個のベクトル・レジスタとして使用する。
また、ベクトル長レジスタVLRを設け、このレジスタ
VLRの内容が演算回数より1だけ少い数を示すように
する。
先ス、ベクトルの命令で、ベクトル・レジスタを指定す
る。
第3図は、その命令形式を示すもので、OPは命令コー
ド、R1は第1オペランド番号で、第1人力データと、
結果データを格納するレジスタ番号、R2は第2オペラ
ンド番号で、第2人力データを格納するレジスタ番号で
ある。
いま、命令コードOPを加算とし、R1=O,R2=1
とすると、次のような演算となる。
なお、ベクトル長レジスタVLRの内容により、2個の
サブ・ベクトル・レジスタが指定されたものとする。
すなわち、第4図に示すように、ベクトル・レジスタR
のアドレス(番号)がO〜(VW−1)であるとき、ベ
クトル・レジスタ番号Oの全体VR(0、*)とベクト
ル・レジスタ番号1の全体(1、*)は、次のように割
当てられる。
したがって、 演算は次のようになる。
ここで〔VL〕は、ベクトル長レジスタVLRの内容を
示すもので、上記(vii )式はベクトル・レジスタ
番号0と1についてO〜[VL 〕の各要素をそれぞれ
加算し、それらの結果をベクトル・レジスタ番号0に格
納することを示している。
この場合は、2アドレス指定のため、1つの入力オペラ
ンドは結果格納用として共通に使用されるので、最初の
内容は破壊される。
ベクトル長レジスタVLRの指定を、次のように制限す
ると、ベクトル命令でn個のレジスタを指定できる。
例えば、ベクトル・レジスタの容量■Vが256の場合
、 とすると、 上記(Viii )式より、 nが計算される。
すなわち、第5図aに示すように、8個のレジスタを指
定することができる。
また〔VL)=30の場合でも、32ワードのうちの3
1ワードを使用する。
次に、 とすると、上記(Viii ’)式より すなわち、5図すに示すように、4個のレジスタを指定
することができる。
また、[VL ] −60では、64ワードのうちの6
1ワードを使う。
このように、〔VL、l]+1≦■〃の範囲において、
ベクトル長レジスタVLRの内容CVL 、)とレジス
タ指定個数nとは、ある制限を持つ。
いま、VW = 256 ”場合、(:VL)とnとは
、第6図に示すような関係となる。
すなわち、指定個数n1のときには〔VL〕=255ま
で指定でき、n−2のときには(VL)=127、n=
3のときには(VL)=63までそれぞれ指定できるか
ら〔VL〕+1とnの限度数は互に逆比例の関係にある
ここで、n=2mとすると(m−整数)、レジスタ指定
と(VL)との制限条件のチェックが簡単となる。
つまり、RL R2パートを4ビツトとしたとき、RL
R,2パートとnの関係を下記の第1表のようにして
おく。
なお、×は任意の値であり、nが16個のときには、R
1、R2パートは任意の4ビツト、nが8個のときには
、R1パートの下位1ビツトがO(偶数のみ)、nが4
個のときには、R1パートの下位2ビツトがOというよ
うに、レジスタ指定制限個数nとベクトル長(VL、)
との相関を規定しておく。
そして、ベクトル長〔vL〕が与えられたとき、第6図
に示される関係でレジスタ指定個数nが定まり、このと
きベクトル命令のR1、R2パートが第1表のパターン
に合致しないと指定例外条件を発生するようにしておく
ぶこの原理を第7図により説明す
る。
いま、VLRを8ビツトとして第7図に示すように2°
〜27の重みづげを行なう。
(VL)=0〜15の指定であれば、VLの上位4ビツ
トのビット・パターンはooooであり、第7図によっ
て16個までのレジスタ指定であることがわかる。
これによって、第1表に従って、R1、R2の指定は任
意でよいことが示される。
(VL)=16〜31のときは、VLの上位4ビツトは
0001であり、第7図からレジスタ指定個数は8個ま
であることがわかる。
第1表に従ってR1,R2パートは×××0でなげれば
ならない。
(VL、)−32〜63のときはVLの上位4ビツトは
0OIX(Xは任意でOまたは1)であり、第7図によ
ってレジスタは4個まで指定できることがわかる。
第1表により、R1、R2パートはxxooでなげれば
ならない。
同じように、(VL)−64〜127、(VL)128
〜255のときには、R1、R2パートは、それぞれ×
000.0000でなげればならない。
このように、(VL、lの数値によりレジスタ指定個数
nが決定されると、R1パートのパターンは第7図に示
すように限定されるので、この限定から外れるものを前
記の方法によりチェックすれば、許されたものであるか
否かを判定でき、簡単に指定例外を検出することができ
る。
第8図は、本発明による利用方法の一例を示すフロック
図である。
いま、メモリにアレイ・データA、B、C,Dが格納さ
れており、これら相互間で次の演算を施すものとする。
大−ろ×C+6・・・・・・・・・・・・・・・・・・
・・・(XHi)上記の式(xiii)は次のような命
令で実行できる。
すなわち、ベクトルデータB(*)、C(*)をベクト
ル・レジスタVR(0、*)、vR(1,*)に移し、
ベクトル・レジスタVR(0、*)とVR(1、*)を
乗算してVR(0、*)に入れる。
さらにベクトル・データDをベクトル・レジスタVR(
2、*)に移し、これにVR(0、*)を加算してVR
(0、*)に入れる。
この結果をベクトル・データA(*)に移す。
ここで*はVLによって指定される演算要素全体を示し
ている。
なおVLDはベクトル・ロード命令、VMTはベクトル
−マルチプライ命令、VADはベクトル・アット命令、
VSTはベクトル・ストア命令である。
以上説明したように、本発明によれば、ベクトル命令の
レジスタ指定で、分割されたサブ・ベクトル・レジスタ
を示し、サブ・ベクトル・レジスタの個数とベクトル・
レジスタ上の相対位置をベクトル長により決定できるよ
うにしたから、1個のベクトル・レジスタで複数個のベ
クトル・レジスタとして使用することができ、ベクトル
長にしたがって種々の使用法が可能となる。
また、サブ・レジスタ指定個数n−2mとすることによ
り、ベクトル命令のオペランドR1,R2の指定間のチ
ェックカ簡単にできるので、ベクトル・レジスタ内で重
複してサブ・レジスタを割当てることなく、有効にベク
トル・レジスタを利用することができる。
【図面の簡単な説明】
第1図はベクトル・プロセッサの概略構成図、第2図は
本発明の原理説明図、第3図はベクトル・レジスタ指定
の命令形式図、第4図はベクトル・レジスタのアドレス
と2分割したときの割当て説明図、第5図a、bはレジ
スタ指定数とワード数の説明図、第6図は容量256ワ
ードのときのレジスタ個数とベクトル長の関係図、第7
図はレジスタ指定とベクトル長との制限条件のチェック
の説明図、第8図は本発明による利用方法の一例を示す
ブロック図である。 A 、B 、Ct D :メモリ内のアレイ・データ、
VA−VD:サブ・ベクトル・レジスタ、ALU :
演算回路、vR:ベクトル・レジスタ、OP : 命令
コード、R1,R2:第1、第2オペランド番号、ME
M:記憶装置、■V:ベクトル・レジスタの容量、VL
R:ベクトル長レジスタ。

Claims (1)

    【特許請求の範囲】
  1. 1 ベクトル長を指示するベクトル長レジスタを有し、
    記憶装置からベクトル・データを一旦ベクトル・レジス
    タに取込み、該ベクトル・レジスタ上でベクトル演算を
    行うベクトル・プロセッサにおいて、1個のベクトル・
    レジスタを複数個のサブ・ベクトル・レジスタに分割し
    て使用する場合、該分割数を上記ベクトル長レジスタの
    値によって決定し、かつベクトル命令中のベクトル・レ
    ジスタ指定部の値が、上記分割数1に応じた所定の範囲
    内にあるか否かをチェックするようにしたことを特徴と
    するベクトル・レジスタ。
JP15844177A 1977-12-30 1977-12-30 ベクトル・レジスタ Expired JPS5853786B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP15844177A JPS5853786B2 (ja) 1977-12-30 1977-12-30 ベクトル・レジスタ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP15844177A JPS5853786B2 (ja) 1977-12-30 1977-12-30 ベクトル・レジスタ

Publications (2)

Publication Number Publication Date
JPS5493342A JPS5493342A (en) 1979-07-24
JPS5853786B2 true JPS5853786B2 (ja) 1983-12-01

Family

ID=15671829

Family Applications (1)

Application Number Title Priority Date Filing Date
JP15844177A Expired JPS5853786B2 (ja) 1977-12-30 1977-12-30 ベクトル・レジスタ

Country Status (1)

Country Link
JP (1) JPS5853786B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS573172A (en) * 1980-06-06 1982-01-08 Hitachi Ltd Vector register control system
JPH06103462B2 (ja) * 1982-02-27 1994-12-14 富士通株式会社 ベクトル・レングス制御範囲分割処理方式
JPS5965378A (ja) * 1982-10-06 1984-04-13 Fujitsu Ltd ベクトル処理装置のレジスタ連結処理方式
JPS61170271U (ja) * 1985-04-11 1986-10-22

Also Published As

Publication number Publication date
JPS5493342A (en) 1979-07-24

Similar Documents

Publication Publication Date Title
US20240004655A1 (en) Computing Machine Using a Matrix Space And Matrix Pointer Registers For Matrix and Array Processing
US4449184A (en) Extended address, single and multiple bit microprocessor
US4021655A (en) Oversized data detection hardware for data processors which store data at variable length destinations
JPH0470662B2 (ja)
JPH0248931B2 (ja)
FR3091937A1 (fr) Instruction de double chargement
JP2970821B2 (ja) データ処理装置
EP0113398B1 (en) Indexed-indirect addressing method using prefix codes in a data processor
US4837738A (en) Address boundary detector
EP1614027B1 (en) Efficient multiplication sequence for large integer operands wider than the multiplier hardware
CN109298886A (zh) Simd指令执行方法、装置及处理器
JPH0319986B2 (ja)
JPS5853786B2 (ja) ベクトル・レジスタ
RU2003117362A (ru) Обработка данных с помощью сопроцессора
JPS62134763A (ja) 3アドレス・コ−ドの指標づけ装置
JPH034936B2 (ja)
Vassiliadis et al. Block based compression storage expected performance
JP2000039995A (ja) 高性能マイクロプロセッサで使用するためのフレキシブル累算レジスタファイル
US4947364A (en) Method in a computing system for performing a multiplication
WO1997035256A1 (en) Array indexing
JP7140201B2 (ja) 演算処理装置及び演算処理装置の制御方法
JP3435744B2 (ja) 乗算回路
US10503691B2 (en) Associative computer providing semi-parallel architecture
US3624375A (en) Binary coded decimal to binary conversion apparatus
JPWO2020084694A1 (ja) 演算処理装置及び演算処理装置の制御方法