JPH0319984B2 - - Google Patents
Info
- Publication number
- JPH0319984B2 JPH0319984B2 JP14357684A JP14357684A JPH0319984B2 JP H0319984 B2 JPH0319984 B2 JP H0319984B2 JP 14357684 A JP14357684 A JP 14357684A JP 14357684 A JP14357684 A JP 14357684A JP H0319984 B2 JPH0319984 B2 JP H0319984B2
- 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
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)
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は、ベクトルレジスタを備えベクトルレ
ジスタ長の判別を行なうベクトル処理装置に関す
る。DETAILED DESCRIPTION OF THE INVENTION [Field of Industrial Application] The present invention relates to a vector processing device that includes a vector register and determines the length of the vector register.
従来、CRAY−1に代表されるベクトル処理
装置においては、固定長(CRAY−1では64)
のベクトルレジスタを複数個備え、ベクトルレジ
スタ中のベクトルデータを対象として、ベクトル
演算を実行している。前記固定長は、一つのベク
トルレジスタが保持する最大のベクトル長なの
で、以下最大ベクトル長(MVL)と呼ぶ。
Conventionally, in vector processing devices such as CRAY-1, a fixed length (64 in CRAY-1) is used.
It is equipped with a plurality of vector registers, and performs vector operations on vector data in the vector registers. Since the fixed length is the maximum vector length held by one vector register, it is hereinafter referred to as maximum vector length (MVL).
ベクトル演算にあつては、ベクトル演算を実行
する前に該演算において、実行すべき演算数(ベ
クトル要素数)を保持するベクトル長レジスタと
呼ばれる記憶手段に、予じめ実行すべきベクトル
要素数が命令で設定されたあと、ベクトル演算が
実行される。ベクトル演算ユニツトではベクトル
長レジスタに設定された回数だけの命令で指定さ
れた演算がベクトルレジスタから次々と読み出し
たベクトル要素に対して実行され、演算結果がベ
クトルレジスタまたは主記憶装置に順次格納され
る。このとき、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
技術等で高速大容量の記憶素子が実現されると、
より大容量のベクトルレジスタを処理装置内に備
えることが可能となり、このとき必然的に、ベク
トルレジスタの最大長も大きくなる。 In the case of a vector operation, before the vector operation is executed, the number of vector elements to be executed is stored in advance in a storage means called a vector length register that holds the number of operations to be executed (number of vector elements). After being set by an instruction, vector operations are performed. In the vector arithmetic unit, operations specified by instructions are executed for the number of times set in the vector length register on vector elements read one after another from the vector register, and the operation results are sequentially stored in the vector register or main memory. . At this time, if the loop length (N) of the loop in which the original vector operation written in FORTRAN etc. is to be executed exceeds the maximum vector length (MVL), this loop is divided into multiple pieces and The vector operation is executed multiple times so that the vector operation does not exceed the maximum vector length.
As a result, vectorization of the loop where loop length (N)>maximum vector length (MVL) is performed. That is, if loop length (N)≦maximum vector length (MVL), loop length (N) is set in the vector length register and vector operation is executed.
If loop length (N) > maximum vector length (MVL), divide the loop into [(N-1)/MVL]+1 pieces, and add 1 to the remainder of (N-1)/MVL to obtain the vector length. It is set in a register and the first vector operation is executed. Next, the maximum vector length (MVL) is set in the vector length register and the remaining [(N-1)/MVL] vector operations are executed. ([x] is the largest integer not exceeding x.)
In this way, a loop where loop length (N)>maximum vector length (MVL) can be vectorized even in a vector processing device having a vector register with a fixed maximum vector length. At this time,
In conventional devices such as CRAY-1, the maximum length of the vector register is not only fixed, but also needs to be set as a constant in the object program. This means that, for example, in the future, VLSI
When technology realizes high-speed, large-capacity storage elements,
It becomes possible to provide a vector register with a larger capacity in the processing device, and in this case, the maximum length of the vector register also becomes larger.
しかし、従来装置では、最大ベクトル長がオブ
ジエクトプログラム中に定数として設定されてい
るので、より小容量のベクトルレジスタ用に作ら
れた従来のプログラムを再コンパルすることなく
大容量ベクトルレジスタを有効に利用することは
できない。また、ベクトル処理装置を製品化する
場合に、性能/価格比を最適に、ユーザにより適
した製品とするために、ベクトルレジスタの容量
により複数個のモデルを設定する場合もある。こ
のとき、モデル間で、最大ベクトル長が通常は異
なるが、従来装置では前記同様、最大ベクトル長
(MVL)が定数となつているため、モデム間のオ
ブジエクトレベルの互換性がない、という欠点が
ある。
However, in conventional devices, the maximum vector length is set as a constant in the object program, so it is possible to enable large-capacity vector registers without recompiling conventional programs created for smaller-capacity vector registers. It cannot be used. Further, when commercializing a vector processing device, a plurality of models may be set depending on the capacity of the vector register in order to optimize the performance/price ratio and make the product more suitable for the user. At this time, the maximum vector length usually differs between models, but in conventional equipment, the maximum vector length (MVL) is a constant as described above, so there is no object-level compatibility between modems. There is.
本発明の目的は上述の欠点を解決し、ベクトル
レジスタの容量が異なるモデル間において、オブ
ジエクトレベルの互換性を与えるようにしたベク
トル処理装置を提供することにある。 SUMMARY OF THE INVENTION An object of the present invention is to provide a vector processing device that solves the above-mentioned drawbacks and provides object-level compatibility between models having different vector register capacities.
本発明の処理装置は、命令およびオペランドを
記憶する主記憶装置と命令でアクセス可能な少な
くとも1個以上のスカラレジスタと、順序づけら
れた複数個のベクトル要素をそれぞれ保持する複
数個のベクトルレジスタと、該ベクトルレジスタ
の内容を演算する少なくとも一つ以上の演算ユニ
ツトと、該演算ユニツトが実行すべき演算要素数
を保持する少なくとも一つ以上のベクトル長保持
手段とを備えたベクトル処理装置において、前記
ベクトルレジスタの保持しうる最大ベクトル長は
2のべき乗の長さであり、該最大ベクトル長に対
応する符号化された符号化最大ベクトル長を記憶
し、かつ、外部から設定可能な最大ベクトル長記
憶手段に接続され、前記符号化最大ベクトル長の
値を(最大ベクトル長−1)の値に変換するベク
トル長変換手段と、該最大ベクトル長記憶手段か
らの読み出し命令検出に応答して該最大ベクトル
長記憶手段中の符号化最大ベクトル長を、前記ベ
クトル長変換手段を通して(最大ベクトル長−
1)の値に変換し、前記スカラレジスタまたは主
記憶装置に読出す制御手段とを備えたことを特徴
とする。
The processing device of the present invention includes a main memory storing instructions and operands, at least one scalar register accessible by the instructions, and a plurality of vector registers each holding a plurality of ordered vector elements. A vector processing device comprising at least one arithmetic unit for calculating the contents of the vector register, and at least one vector length holding means for holding the number of arithmetic elements to be executed by the arithmetic unit. The maximum vector length that the register can hold is a power of 2, and the maximum vector length storage means stores an encoded maximum vector length corresponding to the maximum vector length and can be set from the outside. vector length converting means connected to the encoded maximum vector length to convert the value of the encoded maximum vector length into a value of (maximum vector length - 1); The encoded maximum vector length in the storage means is converted through the vector length conversion means (maximum vector length -
1) and a control means for converting the value into the value of 1) and reading it into the scalar register or the main storage device.
次に本発明について、図面を参照して詳細に説
明する。
Next, the present invention will be explained in detail with reference to the drawings.
第1図を参照すると、本発明の一実施例では8
個のベクトルレジスタ1を備え、各ベクトルレジ
スタ1は0番地から63番地までの順序付けられた
64個のベクトル要素を保持することができるの
で、最大ベクトル長(MVL)は64である。各ベ
クトルレジスタ1は加減算器などの演算ユニツト
3に接続されている。ベクトル長レジスタ(VL)
2は、各演算ユニツト3が実行すべきベクトル演
算要素数を保持するレジスタであり、演算ユニツ
ト3に接続されている。前記レジスタ2は命令で
内容を設定することができ、本実施例ではスカラ
レジスタ4を通して内容が設定される。 Referring to FIG. 1, in one embodiment of the present invention, 8
vector registers 1, each vector register 1 is ordered from address 0 to address 63.
The maximum vector length (MVL) is 64 since it can hold 64 vector elements. Each vector register 1 is connected to an arithmetic unit 3 such as an adder/subtractor. Vector length register (VL)
Reference numeral 2 denotes a register which holds the number of vector calculation elements to be executed by each calculation unit 3, and is connected to the calculation unit 3. The contents of the register 2 can be set by a command, and in this embodiment, the contents are set through the scalar register 4.
本実施例のベクトル処理装置では、命令が主記
憶装置5から読み出され、命令レジスタ6に設定
され、デコーダ10で解読される。該命令がベク
トル演算命令であると解読結果が適当な演算ユニ
ツト3に送出される。該演算ユニツト3では、命
令で指定されたベクトルレジスタ1からのベクト
ル要素が順次読み出され、指定された演算が実行
されて、演算結果のベクトル要素が次々とベクト
ルレジスタ1に格納される。このとき実行される
ベクトル演算数は予じめベクトル長(VL)レジ
スタ2に設定されている回数だけ実行される。 In the vector processing device of this embodiment, an instruction is read from the main memory 5, set in the instruction register 6, and decoded by the decoder 10. If the instruction is a vector operation instruction, the decoding result is sent to the appropriate operation unit 3. In the arithmetic unit 3, the vector elements from the vector register 1 specified by the instruction are sequentially read out, the specified operation is executed, and the vector elements resulting from the operation are stored in the vector register 1 one after another. The number of vector operations executed at this time is executed the number of times set in the vector length (VL) register 2 in advance.
スカラ演算やアドレス計算に使用するスカラレ
ジスタ4は16個あり、32ビツトの長さを持ち、ベ
クトルレジスタ1同様、演算ユニツト3に接続さ
れている。 There are 16 scalar registers 4 used for scalar operations and address calculations, each having a length of 32 bits, and like the vector register 1, they are connected to the arithmetic unit 3.
第1図の最大ベクトル長レジスタ(MVR)7
は、前記ベクトルレジスタ1の最大ベクトル長を
符号化して保持するレジスタである。符号化して
保持することにより、少ないビツト数で済ませる
ことができる。本実施例では、ベクトルレジスタ
1の最大ベクトル長(MVL)は64であるが、将
来、128から256まで拡張できることを想定して、
最大ベクトル長レジスタ(MVR)7としては2
ビツトの長さとする。最大ベクトル長(MVL)=
64のときは“00”、最大ベクトル長(MVL)=128
のときは“01”、最大ベクトル長(MVL)=256の
ときは“11”を最大ベクトル長レジスタ
(MVR)7に設定するものとする。すなわち、
本実施例では最大ベクトル長レジスタ(MVR)
7には“00”が設定されている。設定手段8は第
1図に示したように、ジヤンパ線やオイツチであ
つてもよく、あるいは保守・診断用のサービスプ
ロセツサ(SVP)でもよい。このような設定手
段8以外に、スキヤンパスのような特別なパスを
通して設定してもよく、ベクトルレジスタの構成
によつて、一意に定まる値が設定される。 Maximum vector length register (MVR) 7 in Figure 1
is a register that encodes and holds the maximum vector length of the vector register 1. By encoding and retaining the data, a small number of bits can be used. In this example, the maximum vector length (MVL) of vector register 1 is 64, but assuming that it can be expanded from 128 to 256 in the future,
Maximum vector length register (MVR) 7 is 2.
The length shall be in bits. Maximum vector length (MVL) =
64 is “00”, maximum vector length (MVL) = 128
When the maximum vector length (MVL) = 256, "11" shall be set in the maximum vector length register (MVR) 7. That is,
In this example, the maximum vector length register (MVR)
7 is set to “00”. The setting means 8 may be a jumper wire or a switch, as shown in FIG. 1, or may be a service processor (SVP) for maintenance and diagnosis. In addition to such setting means 8, setting may be performed through a special path such as a scan path, and a value uniquely determined depending on the configuration of the vector register is set.
次に、第1図の変換回路12は最大ベクトル長
レジスタ7の内容をベクトルレジスタ1の最大ベ
クトル長に復号する変換手段であり、本実施例で
は最大ベクトル長レジスタ7の内容のうしろに6
ビツトの1を付加し、定数“63”を発生する回路
である。 Next, the conversion circuit 12 in FIG. 1 is a conversion means for decoding the contents of the maximum vector length register 7 into the maximum vector length of the vector register 1.
This is a circuit that adds 1 to the bit and generates the constant "63".
第1図において、主記憶装置5から命令レジス
タ6に命令が取出され、該命令がベクトルレジス
タ1の最大長を読み出す命令であると、命令のビ
ツト8−11で指定されるスカラレジスタ4が選択
回路9により選択される。次に、最大ベクトル長
レジスタ7の内容が変換回路12を通して(最大
ベクトル長−1)の値に変換され、選択されたス
カラレジスタ4にロードされる。本実施例では、
最大ベクトル長はスカラレジスタ4に読み出され
るものとしたが最大ベクトル長を、主記憶装置5
に直接転送するように構成してもよい。なお、最
大ベクトル長−1の値が読み出されるようにした
のは、2のべき乗の除算の余りの計算が便利なた
めである。 In FIG. 1, an instruction is fetched from main memory 5 to instruction register 6, and if the instruction is an instruction to read the maximum length of vector register 1, scalar register 4 specified by bits 8-11 of the instruction is selected. Selected by circuit 9. Next, the contents of the maximum vector length register 7 are converted to a value of (maximum vector length - 1) through the conversion circuit 12, and loaded into the selected scalar register 4. In this example,
The maximum vector length is assumed to be read out to the scalar register 4, but the maximum vector length is read out to the main memory 5.
It may also be configured to transfer directly to Note that the reason why the value of the maximum vector length minus 1 is read out is that it is convenient to calculate the remainder of division by a power of 2.
第2図は、最大ベクトル長−1を主記憶制御装
置11を通して主記憶装置5に転送するよう構成
した第2の実施例である。この場合、最大ベクト
ル長−1を転送するよう指示した命令のビツト12
−31では、主記憶装置5のアドレスを指定する。 FIG. 2 shows a second embodiment in which the maximum vector length -1 is transferred to the main storage device 5 through the main storage control device 11. In this case, bit 12 of the instruction to transfer the maximum vector length - 1
-31 specifies the address of the main storage device 5.
第3A図は第1図に示した実施例による
FORT−RANのDOループのベクトル制御部分の
ソースプログラムを示し、第3B図はそのオブジ
エクトプログラムを示す。第3B図において←は
右辺の内容を左辺の記憶手段に設定(ロード)す
ることを示す。 Figure 3A is based on the embodiment shown in Figure 1.
The source program for the vector control portion of the FORT-RAN DO loop is shown, and FIG. 3B shows its object program. In FIG. 3B, ← indicates that the contents on the right side are set (loaded) in the storage means on the left side.
第3B図においてステツプ(10)では第3A図に示
したソースプログラムのループ長Nがスカラレジ
スタS1にロードされている。ステツプ(2)ではベ
クトルレジスタの(最大ベクトル長−1)すなわ
ち、最大ベクトル長レジスタの内容を復号して、
“63”がスカラレジスタS2にロードされる。ス
テツプ(3)では数値N−1がレジスタS3にロード
されている。ステツプ(4)ではスカラレジスタS2
の内容に1が加えられ、最大ベクトル長(MVL)
が求められる。ステツプ(5)ではスカラレジスタS
3およびS2のそれぞれの内容の論理積がとられ
てスカラレジスタS5にロードされる。ステツプ
(3)からステツプ(5)の一連の処理では通常、最大ベ
クトル長(MVL)は2のべき乗であることを利
用して、(N−1)/MVLの剰余が求められる。
ステツプ(6)では前記剰余して、1が加えられて、
加算結果がスカラレジスタS6にロードされる。
本実施例では、アドレス情報はバイトを単位とし
ており、かつ、一つのベクトルデータは4バイト
長である。従つて、ステツプ(7)では、スカラレジ
スタS6の内容が2ビツト左にシフト、すなわ
ち、4倍されている。これはループを分割したと
きのベクトル要素間の距離が求められていること
に相当する。ステツプ(8)ではステツプ(7)と同様最
大ベクトル長時のベクトル要素間の距離が求めら
れる。ステツプ(9)では最初のベクトル要素の相対
ベースアドレスがセツトされている。ここまでが
第3A図のDOループの前処理部分である。 In FIG. 3B, at step (10), the loop length N of the source program shown in FIG. 3A is loaded into the scalar register S1. In step (2), the contents of the vector register (maximum vector length - 1), that is, the maximum vector length register, are decoded and
"63" is loaded into the scalar register S2. In step (3), the numerical value N-1 is loaded into the register S3. In step (4), scalar register S2
1 is added to the contents of and the maximum vector length (MVL)
is required. In step (5), the scalar register S
3 and S2 are ANDed and loaded into scalar register S5. step
In the series of processes from step (3) to step (5), the remainder of (N-1)/MVL is usually found by utilizing the fact that the maximum vector length (MVL) is a power of two.
In step (6), 1 is added to the remainder,
The addition result is loaded into scalar register S6.
In this embodiment, the address information is in units of bytes, and one vector data is 4 bytes long. Therefore, in step (7), the contents of the scalar register S6 are shifted to the left by 2 bits, that is, multiplied by 4. This corresponds to finding the distance between vector elements when the loop is divided. In step (8), as in step (7), the distance between vector elements at the maximum vector length is determined. In step (9), the relative base address of the first vector element is set. The steps up to this point are the preprocessing portion of the DO loop in FIG. 3A.
ステツプ(10)ではスカラレジスタS6の内容がベ
クトル長レジスタ2にロードされる。スカラレジ
スタS6の内容は前記(N−1)/MVLの剰余
+1または最大ベクトル長(MVL)のいずれか
である。ステツプ(11)では次のループの繰返し
のために、ベクトルの相対ベースアドレスが求め
られる。ステツプ(12)ではループ間のベクトル
要素間距離がスカラレジスタS7に移送される。
ステツプ(13)ではスカラレジスタS1の内容か
らスカラレジスタS6の内容が差し引かれて演算
すべき残りのベクトル要素数が求められている。
ステツプ(14)ではスカラレジスタS4の内容、
すなわち、最大ベクトル長MVLがスカラレジス
タS6に移送されている。ステツプ(15)では演
算すべき残りのベクトル要素があるかどうかが判
定され残りがあればLOOPへ分岐してさらにルー
プが繰返される。 In step (10), the contents of the scalar register S6 are loaded into the vector length register 2. The content of the scalar register S6 is either the remainder of (N-1)/MVL+1 or the maximum vector length (MVL). In step (11), the relative base address of the vector is determined for the next iteration of the loop. In step (12), the distance between vector elements between loops is transferred to the scalar register S7.
In step (13), the contents of the scalar register S6 are subtracted from the contents of the scalar register S1 to determine the number of remaining vector elements to be calculated.
In step (14), the contents of scalar register S4,
That is, the maximum vector length MVL is transferred to the scalar register S6. In step (15), it is determined whether there are any remaining vector elements to be calculated, and if there are any remaining vector elements, the process branches to LOOP and the loop is further repeated.
この実施例においては、第3B図から明らかな
ように、ベクトルレジスタの保持しうる最大ベク
トル長を定数とするオブジエクトプログラムとは
なつていないので、ベクトルレジスタの最大長が
異なるモデルであつても、同一のオブジエクトプ
ログラムが使用できる。 As is clear from FIG. 3B, this embodiment is not an object program in which the maximum vector length that the vector register can hold is a constant, so even if the model has a different maximum vector register length, , the same object program can be used.
発明の効果
本発明には外部から設定可能なベクトルレジス
タの保持しうる最大ベクトル長に相当する値を記
憶する手段を設け、該最大ベクトル長を命令によ
つて、プログラムに見えるレジスタもしくは主記
憶に読み出すように構成することにより、ベクト
ル長が異なるベクトルレジスタを有するベクトル
処理装置間でオブジエクトレベルの互換性をプロ
グラムに与えるという効果がある。Effects of the Invention The present invention is provided with means for storing a value corresponding to the maximum vector length that can be held in a vector register that can be set externally, and the maximum vector length is stored in a register visible to the program or in main memory by an instruction. The read configuration has the effect of providing object-level compatibility to programs between vector processing devices having vector registers with different vector lengths.
第1図は本発明の一実施例を示す図、第2図は
本発明の他の実施例を示す図、第3A図は
FORT−RANのDOループ制御部分のコーデイン
グ例を示す図および第3B図は本発明による場合
の第3A図のソースプログラムに対応するオブジ
エクトプログラムの例を示す図である。
1……ベクトルレジスタ、2……ベクトル長レ
ジスタ、3……演算ユニツト、4……スカラレジ
スタ、5……主記憶装置、6……命令レジスタ、
7……最大ベクトル長レジスタ、8……設定手
段、9……選択回路、10……デコーダ、11…
…主記憶制御装置、12……変換回路。
Fig. 1 is a diagram showing one embodiment of the present invention, Fig. 2 is a diagram showing another embodiment of the invention, and Fig. 3A is a diagram showing an embodiment of the present invention.
A diagram showing a coding example of a FORT-RAN DO loop control portion and FIG. 3B are diagrams showing an example of an object program corresponding to the source program of FIG. 3A according to the present invention. 1...Vector register, 2...Vector length register, 3...Arithmetic unit, 4...Scalar register, 5...Main storage device, 6...Instruction register,
7... Maximum vector length register, 8... Setting means, 9... Selection circuit, 10... Decoder, 11...
...Main memory control device, 12...Conversion circuit.
Claims (1)
と、命令でアクセス可能な少なくとも1個以上の
スカラレジスタと、順序づけられた複数個のベク
トル要素を保持する複数個のベクトルレジスタ
と、これらベクトルレジスタの内容を演算する少
なくとも一つ以上の演算ユニツトと、該演算ユニ
ツトが実行すべき演算要素数を保持する少なくと
も一つ以上のベクトル長保持手段とを備えたベク
トル処理装置において、 前記ベクトルレジスタの保持しうる最大ベクト
ル長は2のべき乗であり、該最大ベクトル長に対
応する符号化された符号化最大ベクトル長を記憶
し、かつ、外部から設定可能な最大ベクトル長記
憶手段と、該最大ベクトル長記憶手段に接続さ
れ、前記符号化最大ベクトル長の値を(最大ベク
トル長−1)の値に復号するベクトル長変換手段
と、 前記最大ベクトル長記憶手段からの読出し命令
検出に応答して、前記最大ベクトル長記憶手段の
符号化最大ベクトル長をベクトル長変換手段を通
して、(最大ベクトル長−1)の値に変換し、前
記スカラレジスタに読出す制御手段とを備えたこ
とを特徴とするベクトル処理装置。 2 特許請求の範囲第1項記載のベクトル処理装
置において、前記最大ベクトル長記憶手段からの
読出し命令検出に応答して、前記最大ベクトル長
記憶手段中の符号化最大ベクトル長を前記ベクト
ル長変換手段を介して、(最大ベクトル長−1)
の値に変換し、該(最大ベクトル長−1)の値を
前記主記憶装置に読出す制御手段とを備えたこと
を特徴とするベクトル処理装置。[Scope of Claims] 1. A main memory that stores instructions and operands, at least one scalar register accessible by the instructions, and a plurality of vector registers that hold a plurality of ordered vector elements; A vector processing device comprising at least one arithmetic unit for calculating the contents of these vector registers, and at least one vector length holding means for holding the number of arithmetic elements to be executed by the arithmetic unit, wherein the vector The maximum vector length that the register can hold is a power of 2, and a maximum vector length storage means that stores an encoded maximum vector length corresponding to the maximum vector length and can be set from the outside; vector length converting means connected to the maximum vector length storage means for decoding the value of the encoded maximum vector length into a value of (maximum vector length - 1); and control means for converting the encoded maximum vector length of the maximum vector length storage means into a value of (maximum vector length - 1) through vector length conversion means and reading it into the scalar register. vector processing device. 2. In the vector processing device according to claim 1, in response to detection of a read command from the maximum vector length storage means, the encoded maximum vector length in the maximum vector length storage means is converted to the encoded maximum vector length by the vector length conversion means. via (maximum vector length - 1)
A vector processing device comprising control means for converting the maximum vector length into a value of (maximum vector length - 1) and reading the value of (maximum vector length - 1) to the main storage device.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP14357684A JPS6123273A (en) | 1984-07-11 | 1984-07-11 | Vector processor |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP14357684A JPS6123273A (en) | 1984-07-11 | 1984-07-11 | Vector processor |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS6123273A JPS6123273A (en) | 1986-01-31 |
| JPH0319984B2 true JPH0319984B2 (en) | 1991-03-18 |
Family
ID=15341950
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP14357684A Granted JPS6123273A (en) | 1984-07-11 | 1984-07-11 | Vector processor |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS6123273A (en) |
-
1984
- 1984-07-11 JP JP14357684A patent/JPS6123273A/en active Granted
Also Published As
| Publication number | Publication date |
|---|---|
| JPS6123273A (en) | 1986-01-31 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US20200371799A1 (en) | Method and Apparatus for Permuting Streamed Data Elements | |
| US6915413B2 (en) | Micro-controller for reading out compressed instruction code and program memory for compressing instruction code and storing therein | |
| JPH0371337A (en) | Microprocessor circuit | |
| JPS6058490B2 (en) | Instruction branch mechanism | |
| JPH1091443A (en) | Information processing circuit, microcomputer and electronic equipment | |
| JPH0319986B2 (en) | ||
| US6647484B1 (en) | Transpose address mode in general purpose DSP processor | |
| JPH0410108B2 (en) | ||
| JPH0319985B2 (en) | ||
| JPH0319984B2 (en) | ||
| AU2020425196A1 (en) | Secure computation apparatus, secure computation method, and program | |
| JPH0319983B2 (en) | ||
| JP2002215606A (en) | Data processing device | |
| US4723258A (en) | Counter circuit | |
| JPS5826584B2 (en) | data processing equipment | |
| JP2605792B2 (en) | Arithmetic processing unit | |
| JP2624738B2 (en) | Rounding method | |
| JP3193830B2 (en) | Arithmetic circuit | |
| JP2000148477A (en) | Method and mechanism for address calculation | |
| JP2895892B2 (en) | Data processing device | |
| JPS62154172A (en) | Processor for vector instruction | |
| JPH11143710A (en) | Processing target value input device and program conversion device | |
| Tewfik et al. | Novel coding approach to high throughput rate FIR filter implementation | |
| JPS61296599A (en) | Memory integrated circuit | |
| JPH0991135A (en) | Arithmetic processing device and instruction conversion device |