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