JP2826490B2 - Vector data processing device - Google Patents

Vector data processing device

Info

Publication number
JP2826490B2
JP2826490B2 JP24988795A JP24988795A JP2826490B2 JP 2826490 B2 JP2826490 B2 JP 2826490B2 JP 24988795 A JP24988795 A JP 24988795A JP 24988795 A JP24988795 A JP 24988795A JP 2826490 B2 JP2826490 B2 JP 2826490B2
Authority
JP
Japan
Prior art keywords
mask
instruction
vector
data
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 - Fee Related
Application number
JP24988795A
Other languages
Japanese (ja)
Other versions
JPH0991272A (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.)
NEC Computertechno Ltd
Original Assignee
NEC Computertechno 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 Computertechno Ltd filed Critical NEC Computertechno Ltd
Priority to JP24988795A priority Critical patent/JP2826490B2/en
Publication of JPH0991272A publication Critical patent/JPH0991272A/en
Application granted granted Critical
Publication of JP2826490B2 publication Critical patent/JP2826490B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明はベクトルデータ処理
装置に関し、特にベクトルデータ処理の有効/無効をベ
クトルデータ各々に付随するマスクデータによって識別
するベクトルデータ処理装置に関する。
[0001] 1. Field of the Invention [0002] The present invention relates to a vector data processing apparatus, and more particularly to a vector data processing apparatus for determining whether vector data processing is valid or invalid by mask data associated with each vector data.

【0002】[0002]

【従来の技術】従来のこの種のベクトルデータ処理装置
として、特開昭60−008942の“条件文のベクト
ル処理方式”を挙げることができる。この例には、ベク
トルマスク生成命令実行の際に、生成されるマスクの真
あるいは偽の個数をカウントし、この個数を参考に、最
適なマスク付きベクトル命令の実行方法を選択するベク
トル処理方式について開示されている。
2. Description of the Related Art As a conventional vector data processing apparatus of this type, there is a "vector processing method for conditional statements" disclosed in Japanese Patent Laid-Open No. 60-008942. This example describes a vector processing method that counts the number of true or false masks to be generated when executing a vector mask generation instruction, and selects the optimal execution method of a vector instruction with a mask by referring to this number. It has been disclosed.

【0003】しかし、マスクデータは、マスク付きベク
トル命令で使用される時のようにベクトルデータの各要
素に付随して動作する他、主記憶やスカラデータ処理部
とマスクメモリ間でのデータの転送、或いはマスクメモ
リやマスクレジスタ間の演算/転送など、ベクトルデー
タとは無関係に動作することもある。
[0003] However, the mask data operates in association with each element of the vector data as when used in a vector instruction with a mask, and also transfers data between a main memory or a scalar data processing unit and the mask memory. Alternatively, the operation may be performed independently of vector data, such as operation / transfer between a mask memory and a mask register.

【0004】従来、上述した各動作に対応する命令にお
いて、マスクデータの更新/送出動作は各命令毎にそれ
ぞれ1サイクル当たりの処理要素数は一定値が規定され
ている。例えば、上述のベクトルマスク生成命令と、マ
スク付きベクトル命令では、1サイクルでの処理要素数
は、ベクトルレジスタから供給されるベクトルデータ1
サイクル当たりの処理要素数に付随して一意に決定され
ることが多い。一方、スカラレジスタからのマスクデー
タロード命令や、マスクレジスタ−マスクメモリ間のデ
ータ転送命令で、既に転送元のマスクデータの全要素が
揃っているとき、これらの命令単独でみれば、1サイク
ル当たりのマスクレジスタあるいはマスクメモリへのラ
イト要素数を大きく設定した方が処理は高速になるが、
例えばこの命令の発行順序が2つのマスク付きベクトル
命令の間となった場合に、先行するマスク付きベクトル
命令でリード対象となるマスクデータを、次命令によっ
て書き消さないことが保証されなければ命令の発行は出
来ない。従ってマスクロード命令や、マスクレジスタ−
マスクメモリ間データ転送命令の1サイクル当たりの処
理要素数が大きくなればなるほど、これらの命令の発行
は後送りされ、その分後続のマスク付きベクトル命令の
発行も遅れることとなる。
Conventionally, in the instructions corresponding to the above-described operations, in the mask data updating / sending operation, a constant value is defined for the number of processing elements per cycle for each instruction. For example, in the above-described vector mask generation instruction and the vector instruction with mask, the number of processing elements in one cycle is determined by the vector data 1 supplied from the vector register.
It is often determined uniquely in association with the number of processing elements per cycle. On the other hand, when a mask data load instruction from a scalar register or a data transfer instruction between a mask register and a mask memory already has all the elements of the mask data at the transfer source, if these instructions alone are used, it is considered that each instruction alone requires one cycle. The processing speed is faster if the number of write elements to the mask register or mask memory is set larger,
For example, when this instruction is issued between two vector instructions with mask, if it is not guaranteed that the mask data to be read by the preceding vector instruction with mask is not overwritten by the next instruction, the instruction It cannot be issued. Therefore, a mask load instruction or a mask register
As the number of processing elements per cycle of the data transfer instruction between mask memories increases, the issuance of these instructions is postponed, and the issuance of subsequent masked vector instructions is delayed accordingly.

【0005】このような場合の一例として、ベクトルパ
イプ数1本、該ベクトルパイプ内において一命令で処理
可能な最大ベクトル長32である従来のベクトルデータ
処理装置の動作について説明する。簡易的に、該ベクト
ルデータ処理装置内で取り扱うデータは32ビットであ
ると仮定し、ベクトル命令は1サイクル当たり1要素を
処理するものとする。またマスク制御部には、32ビッ
トのマスクレジスタと32ビット×8ワード、リードポ
ート数1のRAMで構成されるマスクメモリが存在する
ものとし、マスクメモリからのマスクレジスタへのマス
クデータ転送命令において1サイクル当たり32要素
(32ビット)のマスク更新処理がなされるとする。
As an example of such a case, the operation of a conventional vector data processing apparatus having one vector pipe and a maximum vector length of 32 that can be processed by one instruction in the vector pipe will be described. For simplicity, it is assumed that the data handled in the vector data processing device is 32 bits, and the vector instruction processes one element per cycle. It is also assumed that the mask control unit has a mask memory composed of a 32-bit mask register and a RAM of 32 bits × 8 words and 1 read port. In the mask data transfer instruction from the mask memory to the mask register, It is assumed that a mask update process of 32 elements (32 bits) is performed per cycle.

【0006】図4のタイムチャートを参照して、処理ベ
クトル長32で、マスク付きベクトル命令(VMA)、
マスクメモリからマスクレジスタへのデータ転送命令
(MVMC)、マスク付きベクトル命令(VMB)の順
で命令発行される場合の動作を説明する。先行するマス
ク付きベクトル演算命令(VMA)により、マスクレジ
スタからは1サイクル当たり1要素のマスクデータが送
出される。マスクメモリからのマスクレジスタへのマス
クデータ転送命令(MVMC)が発行されると、1サイ
クルで32要素(32ビット)のマスクデータが書き換
えられる事になるため、MVMC命令の発行は最低でも
29サイクル待たなければならない。続いて、後続のマ
スク付きベクトル命令(VMB)が先行MVMC命令に
よるマスクレジスタへの書き込みを待って2サイクル後
に発行されたとしても、先行のマスク付きベクトル命令
VMA発行から後続のマスク付きベクトル命令VMBの
マスク送出が終了するまで、トータル66サイクルが必
要となる。
Referring to the time chart of FIG. 4, a processing vector length 32, a vector instruction with mask (VMA),
An operation in which a data transfer instruction (MVMC) from a mask memory to a mask register and a vector instruction with mask (VMB) are issued in this order will be described. By the preceding vector operation instruction with mask (VMA), one element of mask data is sent out per cycle from the mask register. When a mask data transfer instruction (MVMC) from the mask memory to the mask register is issued, the mask data of 32 elements (32 bits) is rewritten in one cycle, so that the MVMC instruction is issued at least 29 cycles. have to wait. Subsequently, even if a subsequent masked vector instruction (VMB) is issued two cycles after waiting for writing to the mask register by the preceding MVMC instruction, even if the preceding masked vector instruction VMA is issued and the subsequent masked vector instruction VMB is issued. A total of 66 cycles are required until the mask transmission is completed.

【0007】トータルのサイクル数はマスクデータロー
ド命令での1サイクル当たりの要素数をより小さく設定
することで、減らすことが可能である。例えば、1サイ
クル当たりの処理要素数を8とすれば、トータル63サ
イクル、4とすればトータル59サイクル、1とすれば
図5のタイムチャートに示す様にトータル37サイクル
で処理が終了することがわかる。しかし、マスクデータ
ロード命令自体の処理サイクル数は逆に増すこととなる
ため、マスクデータの多要素を一度に処理可能な命令が
連続した場合、1サイクル当たりの処理要素数が多い時
に比べ、トータルサイクル数は増大する。
[0007] The total number of cycles can be reduced by setting the number of elements per cycle in the mask data load instruction smaller. For example, if the number of processing elements per cycle is 8, the total is 63 cycles, if it is 4, the total is 59 cycles, and if it is 1, the processing is completed in a total of 37 cycles as shown in the time chart of FIG. Recognize. However, the number of processing cycles of the mask data load instruction itself increases in the opposite direction. Therefore, when instructions capable of processing multiple elements of the mask data at a time are consecutive, the total number of processing elements per cycle is larger than that when the number of processing elements per cycle is large. The number of cycles increases.

【0008】実際、1サイクル1要素処理動作でMVM
Cが上述したVMA−MVMC−VMB命令の前に発行
されていたとすると、図6に示すように、2度めのMV
MCの発行は最初のMVMCから32サイクルは待たね
ばならない。上述の従来例では、マスクメモリのリード
指示部で32サイクル間メモリからのデータリードを指
示することでマスクレジスタへの書き込み動作(1サイ
クル1要素)にタイミングを合わせている。マスクメモ
リリード部でこのような操作をせずに下段に32サイク
ルデータを保持するレジスタ等を設けることも可能だ
が、結局そのレジスタ部への書き込みビジーにより、同
じ程度の発行待ちが必要となる。また、この書き込みビ
ジー回避の為、データを32段のバッファとして保有す
ることも可能だが、そのためには相当量のハードウェア
の増加が見込まれる。
[0008] Actually, MVM in one cycle one element processing operation
Assuming that C has been issued before the VMA-MVMC-VMB instruction described above, as shown in FIG.
Issue of MC must wait 32 cycles from the first MVMC. In the above-described conventional example, the timing is set to the write operation (one element per cycle) to the mask register by instructing data read from the memory for 32 cycles by the read instruction section of the mask memory. It is also possible to provide a register or the like for holding 32 cycle data in the lower stage without performing such an operation in the mask memory read unit, but in the end, it is necessary to wait for the same degree of issuance due to busy writing to the register unit. In order to avoid this write busy, data can be held in a buffer of 32 stages, but a considerable increase in hardware is expected.

【0009】[0009]

【発明が解決しようとする課題】この従来のベクトルデ
ータ処理装置では、ベクトルデータと無関係に動作可能
なマスク更新/送出命令に対し、命令それぞれに一定値
のサイクル当たりの処理要素数が規定されており、1サ
イクル当たりの処理要素数が小さい場合も大きい場合も
前後に発行される命令の組み合わせによって、それぞれ
に処理が低速化してしまうパターンが存在していたた
め、いずれかの命令列パターンでの処理低速化を黙認す
るか、あるいは間の値をとって、ある処理での低速化を
免れるのと引換えに高速処理をあきらめるといった選択
を行っているので、マスク関連命令の高速化は、その程
度に限定されるという問題点がある。
In this conventional vector data processing apparatus, a predetermined value of the number of processing elements per cycle is specified for each mask update / transmission instruction operable independently of vector data. Also, there is a pattern in which the processing speed is reduced depending on the combination of instructions issued before and after when the number of processing elements per cycle is small or large. The choice is made to either accept the slowdown or take a value in between and give up the high-speed processing in exchange for avoiding the slowdown in a certain processing. There is a problem that it is limited.

【0010】本発明はこの点に着目し、改善することに
よって、マスク更新/送出命令を含む命令列の処理高速
化を図るものである。
The present invention focuses on this point and improves the processing speed of an instruction sequence including a mask update / transmission instruction.

【0011】[0011]

【課題を解決するための手段】本発明の装置は、ベクト
ルデータに付随し、該ベクトルデータ処理の有効/無効
の識別に使用するマスクデータを保持し、該マスクデー
タの更新や送出を制御するマスク制御部を有するベクト
ルデータ処理装置において、1サイクルで更新/送出処
理する前記マスクデータの要素数を決定するサイクル要
素数決定手段と、該サイクル要素数決定手段からの指示
に従って、マスク更新/送出命令での動作を切り替える
マスク命令動作切り替え手段を設けたことを特徴とす
る。
An apparatus according to the present invention holds mask data attached to vector data and used for discriminating validity / invalidity of the vector data processing, and controls updating and transmission of the mask data. In a vector data processing device having a mask control unit, a cycle element number determining means for determining the number of elements of the mask data to be updated / transmitted in one cycle, and a mask update / transmission according to an instruction from the cycle element number determining means A mask instruction operation switching means for switching an operation by an instruction is provided.

【0012】[0012]

【発明の実施の形態】図1は本発明のベクトルデータ処
理装置の第一の実施例を示すブロク図であり、命令発行
部1,マスク制御部2およびベクトルデータ処理部3か
ら成る。本ベクトルデータ処理装置では、簡易的に32
ビットのデータを取り扱うものとし、ベクトルデータ処
理部3で処理可能な最大ベクトル長は32とする。
FIG. 1 is a block diagram showing a first embodiment of a vector data processing device according to the present invention, which comprises an instruction issuing unit 1, a mask control unit 2, and a vector data processing unit 3. In this vector data processing device, 32
It is assumed that bit data is handled, and the maximum vector length that can be processed by the vector data processing unit 3 is 32.

【0013】図1を参照すると、命令発行制御部1内に
は、命令スタック10と、サイクル要素数決定手段12
を含む命令発行タイミング制御部11が存在する。命令
スタック10からは各命令コードが発行順に順次読み出
される。命令発行タイミング制御部11は、命令スタッ
ク10から次命令のコードを受け取り、マスク制御部
2、ベクトルデータ処理部3、または図示されない他ブ
ロックでのパスビジーや、命令実行処理時間等を参考
に、命令間の発行間隔を適切に管理して、各部に命令の
起動信号を送出する。
Referring to FIG. 1, an instruction stack 10 and a cycle element number determining means 12
There is an instruction issue timing control unit 11 including The instruction codes are sequentially read from the instruction stack 10 in the order of issue. The instruction issuance timing control unit 11 receives the code of the next instruction from the instruction stack 10 and refers to the mask control unit 2, the vector data processing unit 3 or other blocks (not shown) that are busy or the instruction execution processing time. An issue start signal is transmitted to each unit by appropriately managing the inter-issue interval.

【0014】サイクル要素数決定手段12は、現在実行
中のマスク更新/送出命令及びその命令における1サイ
クル当たりの処理要素数を管理して、命令スタック10
から受け取った次命令のコードがマスク更新/送出命令
を示していれば、前命令と次命令との発行間隔が最短と
なるような次命令での1サイクル当たりのマスクの処理
要素数を決定する。
The cycle element number determination means 12 manages the currently executed mask update / transmission instruction and the number of processing elements per cycle in the instruction, and stores the instruction stack 10
If the code of the next instruction received from the CPU indicates a mask update / transmission instruction, the number of mask processing elements per cycle in the next instruction is determined so as to minimize the issue interval between the previous instruction and the next instruction. .

【0015】マスク制御部2内には、マスクメモリ21
と、マスクレジスタ22と、マスク命令動作切り替え手
段20と、リードレジスタ23と、2つのリードマスク
レジスタ24,25が存在する。マスクメモリ21は3
2ビット×8ワードのRAMで構成されるものとし、マ
スクレジスタ22は32ビットのレジスタであるとす
る。マスク命令動作切り替え手段20は、命令発行制御
部1より、マスク更新/送出命令の起動指示と同命令に
おける1サイクル当たりのマスク処理要素数の指示を受
け、マスクメモリ21とマスクレジスタ22のリードあ
るいはライト動作の切り替えを行う。またマスクレジス
タ22は、ベクトルデータ処理部3内の2つの演算器4
0,41それぞれに対応してリードマスクレジスタ2
4,25を備えたことにより、独立にマスクデータのリ
ーダが可能である。
The mask control unit 2 includes a mask memory 21
, A mask register 22, a mask instruction operation switching means 20, a read register 23, and two read mask registers 24 and 25. The mask memory 21 is 3
It is assumed that the mask register 22 is a 2-bit × 8-word RAM, and the mask register 22 is a 32-bit register. The mask instruction operation switching means 20 receives, from the instruction issuance control unit 1, a start instruction of a mask update / transmission instruction and an instruction of the number of mask processing elements per cycle in the instruction, and reads the mask memory 21 and the mask register 22 or Switches the write operation. Further, the mask register 22 stores the two arithmetic units 4 in the vector data processing unit 3.
Read mask registers 2 corresponding to 0 and 41 respectively
The provision of 4, 25 enables independent reading of mask data.

【0016】次に、本実施例を、より具体的に説明する
ために、ベクトルデータ処理装置3において、1サイク
ル当たりのマスクデータの処理要素数は1と32の2つ
の内から選択可能とし、以下のような順序で命令が発行
される場合の各部の動作を記述する。 1.マスクメモリ(ワード0)からマスクレジスタへの
データ移送:MVMC 2.マスク付きベクトル演算A:VMA 3.マスクメモリ(ワード1)からマスクレジスタへの
データ移送:MVMC 4.マスク付きベクトル演算B:VMB 命令発行制御部1では、命令スタック10より、命令コ
ードが順次読み出されている。サイクル要素数決定手段
12は、命令スタック10より、まずMVMC命令のコ
ードを入力すると、命令発行タイミング制御部11内に
保持された先行命令の実行状況を参考に、実行中のマス
ク更新/送出命令がないことを確認し、MVMC命令の
1サイクル当たりの要素数を32と決定する。
Next, in order to explain this embodiment more specifically, in the vector data processing device 3, the number of mask data processing elements per cycle can be selected from two, 1 and 32. The operation of each unit when an instruction is issued in the following order will be described. 1. 1. Data transfer from mask memory (word 0) to mask register: MVMC 2. Vector operation with mask A: VMA 3. Data transfer from mask memory (word 1) to mask register: MVMC Masked Vector Operation B: VMB In the instruction issuance control unit 1, instruction codes are sequentially read from the instruction stack 10. When the code of the MVMC instruction is input from the instruction stack 10 first, the cycle element number determination means 12 refers to the execution status of the preceding instruction held in the instruction Is confirmed, and the number of elements per cycle of the MVMC instruction is determined to be 32.

【0017】命令発行タイミング制御手段11は、本M
VMC命令で使用する回路が、これ以前の命令によって
使用中か否か、ソースとなるマスクメモリ21内のデー
タは揃っているか等を考慮してMVMC命令の起動信
号、マスクメモリ21のリードアドレス等命令実行に必
要な付随情報、及びサイクル要素数決定手段12で決定
されたサイクル要素数(32)をマスク制御部2に通知
する。
The instruction issuance timing control means 11
A start signal of the MVM instruction, a read address of the mask memory 21, etc., considering whether the circuit used in the VMC instruction is in use by an earlier instruction, whether the data in the mask memory 21 as a source is ready, etc. The accompanying information necessary for the instruction execution and the number of cycle elements (32) determined by the cycle element number determination means 12 are notified to the mask control unit 2.

【0018】マスク制御部2では、命令発行制御部1よ
り上述の信号をうけ、マスク命令動作切り替え手段20
内に取り込む。サイクル要素数決定手段12より通知さ
れた1サイクル当たりの処理要素数は32であるから、
マスク命令動作切り替え手段20はマスクメモリ21の
リードイネーブル、リードアドレス(0)を1サイクル
間保持する。マスクメモリ21のワード0に保持されて
いたマスクデータは該リードイネーブル、リードアドレ
ス(0)によりリードされ、リードレジスタ23にセッ
トされる。
The mask control unit 2 receives the above-mentioned signal from the instruction issuance control unit 1 and performs a mask instruction operation switching unit 20.
Take in. Since the number of processing elements per cycle notified from the cycle element number determining means 12 is 32,
The mask instruction operation switching means 20 holds the read enable and read address (0) of the mask memory 21 for one cycle. The mask data held in word 0 of the mask memory 21 is read by the read enable and read address (0), and is set in the read register 23.

【0019】また、マスク命令動作切り替え手段20は
マスクメモリ21のリードタイミングより2サイクル遅
れて、マスクレジスタ22の全ビットに対し1サイクル
間リードレジスタ23からのマスクデータ取り込みを指
示し、マスクレジスタ22はリードレジスタ23のマス
クデータの32ビットをそれぞれ該当するビット位置に
一挙にライトする。
The mask instruction operation switching means 20 instructs all the bits of the mask register 22 to take in the mask data from the read register 23 for one cycle with two cycles delay from the read timing of the mask memory 21. Writes all 32 bits of the mask data of the read register 23 at a corresponding bit position at a time.

【0020】次に、命令発行タイミング制御部12は、
命令スタック10よりVMA命令のコードを入力し、先
行するMVMC命令のマスクレジスタ22へのライトタ
イミングを考慮して、VMA命令の起動信号、及びそれ
に付随する情報をマスク制御部2及びベクトルデータ処
理部3に通知する。VMA命令はベクトルレジスタ30
〜35からリードされ順次処理されるベクトルデータの
1サイクル当たりの処理要素数(ここでは1サイクル当
たり1要素とする。)によって、マスクデータのサイク
ル処理要素数も一意に1サイクル1要素と規定される。
Next, the instruction issuance timing control unit 12
A VMA instruction code is input from the instruction stack 10, and in consideration of a write timing of a preceding MVM instruction to the mask register 22, a start signal of the VMA instruction and information accompanying the VMA instruction are transmitted to the mask control unit 2 and the vector data processing unit. Notify 3. The VMA instruction uses the vector register 30
According to the number of processing elements per cycle of vector data read from .about.35 and sequentially processed (here, one element per cycle), the number of cycle processing elements of mask data is also uniquely defined as one element per cycle. You.

【0021】マスク制御部2では、命令発行制御部1よ
りVMA命令起動信号、及びそれに付随する情報を受け
取ると既に32ビット全てのライトが完了したマスクレ
ジスタ22より、マスクデータをビット0から1サイク
ル1ビットずつをリードし、リードマスクレジスタ24
にセットした後、ベクトルデータ処理部3に送出する。
When the mask control unit 2 receives the VMA instruction start signal and the accompanying information from the instruction issuance control unit 1, the mask data is written from the bit 0 to the first cycle by the mask register 22 in which all the 32 bits have been written. Read one bit at a time, read mask register 24
And then sends it to the vector data processing unit 3.

【0022】ベクトルデータ処理部3では、命令発行制
御部1からVMA命令の起動信号、及びそれに付随する
信号を受け取ると、ベクトルレジスタ30及び31から
ベクトルデータを1サイクル1要素ずつリードし、それ
ぞれリードデータレジスタ36と37にセットしたの
ち、演算器40に送り込む。演算器40は2つのベクト
ルデータとともに、マスク制御部2のリードマスクレジ
スタ24から1ビットずつ送られてくるマスクデータを
入力して、順次演算処理を施すとともに、演算結果デー
タをベクトルレジスタ32に送出し、ベクトルレジスタ
32では、この演算結果データをワード0より、順次ラ
イトする。
When the vector data processing unit 3 receives the start signal of the VMA instruction and the accompanying signal from the instruction issuance control unit 1, it reads the vector data from the vector registers 30 and 31 one element at a time in one cycle. After being set in the data registers 36 and 37, the data is sent to the arithmetic unit 40. The arithmetic unit 40 inputs the mask data sent one bit at a time from the read mask register 24 of the mask control unit 2 together with the two vector data, sequentially performs the arithmetic processing, and sends the operation result data to the vector register 32. Then, in the vector register 32, the operation result data is sequentially written from word 0.

【0023】命令発行制御部1の命令発行タイミング制
御部11には、VMA命令が1サイクル当たり1要素ず
つの処理を続行中であるという情報が保持されている。
この情報を基に、命令スタック10から次のMVMC命
令コードが転送されると、サイクル要素数有決定手段1
2中で、本MVMC命令の1サイクル当たりの要素数は
1と決定される。
The instruction issuance timing control unit 11 of the instruction issuance control unit 1 holds information that the VMA instruction is continuing the processing of one element per cycle.
When the next MVMC instruction code is transferred from the instruction stack 10 based on this information, the cycle element number determining means 1
2, the number of elements per cycle of this MVMC instruction is determined to be one.

【0024】マスク制御部2では、命令発行制御部1よ
りMVMC命令の起動信号及び命令付随情報を獲得し、
1サイクル当たりの処理要素数指示が1であることか
ら、マスク命令動作切り替え手段20はマスクメモリ2
1のリードイネーブル、リードアドレス(0)を32サ
イクル間保持する。マスクメモリ21のワード0に保持
されていたマスクデータは該リードイネーブル、リード
アドレス(0)によりリードされ、リードレジスタ23
にセットされる。即ち、リードレジスタ23には、32
サイクル間同じマスクデータが保持されることになる。
The mask control unit 2 obtains a start signal of the MVMC instruction and instruction accompanying information from the instruction issuance control unit 1,
Since the instruction for the number of processing elements per cycle is 1, the mask instruction operation switching means 20 sets the mask memory 2
A read enable of 1 and a read address (0) are held for 32 cycles. The mask data held in word 0 of the mask memory 21 is read by the read enable and the read address (0), and the read register 23
Is set to That is, in the read register 23, 32
The same mask data is held during the cycle.

【0025】また、マスク命令動作切り替え手段20は
マスクメモリ21のリードタイミングより2サイクル遅
れて、マスクレジスタ22のビット0に対しリードレジ
スタ23のビット0からのマスクデータ取り込みを指示
し、続いてマスクレジスタ22のビット1に対し、リー
ドレジスタ23のビット1からのマスクデータ取り込み
指示を、次にビット1に、というように1サイクル1ビ
ットずつのマスクレジスタ更新を指示する。こうしてマ
スクレジスタ22はリードレジスタ23のマスクデータ
の32ビットをそれぞれ該当するビット位置に32サイ
クルをかけてライトする。
The mask instruction operation switching means 20 instructs bit 0 of the mask register 22 to take in mask data from bit 0 of the read register 23 two cycles later than the read timing of the mask memory 21. For the bit 1 of the register 22, an instruction to take in the mask data from the bit 1 of the read register 23 is issued, and then for the bit 1, an instruction is made to update the mask register one bit at a time per cycle. Thus, the mask register 22 writes 32 bits of the mask data of the read register 23 to the corresponding bit position over 32 cycles.

【0026】命令発行制御部1の命令発行タイミング制
御部11では、MVMC命令が1サイクル当たり1要素
ずつの処理を続行中であるという情報が保持されてい
る。従って、命令スタック10から次のVMB命令コー
ドが転送されてくると、MVMCによってマスクレジス
タ22のビット0のライトが終了するタイミングを考慮
して、VMB命令の起動信号、及び命令付随情報をマス
ク制御部2とベクトルデータ処理部3に対し通知する。
VMB命令も、VMA命令同様に、ベクトルレジスタか
らリードされ順次処理されるベクトルデータの1サイク
ル当たりの処理要素数(ここでは1サイクル当たり1要
素とする。)によって、マスクデータのサイクル処理要
素数も一意に1サイクル1要素と規定される。
The instruction issuance timing control unit 11 of the instruction issuance control unit 1 holds information that the MVMC instruction is continuing the processing of one element per cycle. Therefore, when the next VMB instruction code is transferred from the instruction stack 10, the VMM instruction start signal and the instruction accompanying information are mask-controlled by taking into account the timing at which the writing of bit 0 of the mask register 22 is completed by the MVMC. Notify to the section 2 and the vector data processing section 3.
Similarly to the VMA instruction, the number of processing elements per cycle of the vector data read from the vector register and sequentially processed (here, one element per cycle) is also used for the VMB instruction. It is uniquely defined as one element per cycle.

【0027】マスク制御部2では、命令発行制御部1よ
りVMB命令起動信号、及びそれに付随する情報を受け
取ると、既に32ビット全てライトが完了したマスクレ
ジスタ22より、マスクデータをビット0から1サイク
ル1ビットずつをリードし、リードマスクレジスタ25
にセットした後、ベクトルデータ処理部3に送出する。
When the mask control unit 2 receives the VMB instruction activation signal and the accompanying information from the instruction issuance control unit 1, the mask data is transferred from the bit 0 to the mask register 22 for one cycle from the mask register 22 in which all the 32 bits have already been written. Read one bit at a time and read mask register 25
And then sends it to the vector data processing unit 3.

【0028】ベクトルデータ処理部3では、命令発行制
御部1からVMB命令の起動信号、及びそれに付随する
信号を受け取ると、ベクトルレジスタ33及び34から
ベクトルデータを1サイクル1要素ずつリードし、それ
ぞれリードデータレジスタ38、39にセットした後、
演算器41に送り込む。演算器41は2つのベクトルデ
ータとともに、マスク制御部2のリードマスクレジスタ
25から1ビットずつ送られてくるマスクデータを入力
して、順次演算処理を施すとともに、演算結果データを
ベクトルレジスタ35に送出し、ベクトルレジスタ35
では該演算結果データをワード0より順次ライトする。
When the vector data processing unit 3 receives the start signal of the VMB instruction and the accompanying signal from the instruction issuance control unit 1, it reads the vector data from the vector registers 33 and 34 one element at a time in one cycle, and reads each vector data. After setting in data registers 38 and 39,
It is sent to the arithmetic unit 41. The arithmetic unit 41 inputs the mask data sent one bit at a time from the read mask register 25 of the mask control unit 2 together with the two vector data, sequentially performs the arithmetic processing, and sends the operation result data to the vector register 35. And the vector register 35
Then, the operation result data is sequentially written from word 0.

【0029】以上に説明した動作のタイムチャートを図
2に示す。図2から判るように、本実施例では、MVM
C−VMA−MVMC−VMBという一連の命令処理の
先頭のMVMC発行からVMBのマスクデータ送出まで
を39サイクルで実現する。
FIG. 2 shows a time chart of the operation described above. As can be seen from FIG. 2, in this embodiment, the MVM
The process from issuing the first MVMC to transmitting the mask data of the VMB in a series of instruction processing of C-VMA-MVMC-VMB is realized in 39 cycles.

【0030】上記の実施例では、マスクメモリ21はリ
ードポート数1、メモリ容量32ビット×8ワードのR
AM1個で構成され、マスクメモリ21からマスクレジ
スタ22に1サイクル1ビットずつマスクデータを供給
するためには、リードアドレスの保持という方法をとっ
ている。従って、32ビットをマスクレジスタ22に供
給するために、32サイクル間のリードアドレス保持が
必要となり、この後マスクメモリ21からのリード命令
を起動するには、このリード動作の解除を待たなければ
ならない。こうした問題の回避には、マスクリード後の
マスクデータ保持レジスタの増設、或いはマスクメモリ
21の構成変更等の方法が考えられる。マスクメモリ2
1の構成は、リードポート数の増設や、メモリのビット
数を減らして個数を増やす等の変更が可能である。
In the above embodiment, the mask memory 21 has a read port number of 1 and a memory capacity of 32 bits × 8 words.
In order to supply the mask data from the mask memory 21 to the mask register 22 one bit at a time in one cycle, the read address is held. Therefore, it is necessary to hold a read address for 32 cycles in order to supply 32 bits to the mask register 22, and after that, in order to activate a read instruction from the mask memory 21, the read operation must be canceled. . In order to avoid such a problem, it is conceivable to add a mask data holding register after the mask read or change the configuration of the mask memory 21. Mask memory 2
The configuration 1 can be changed, for example, by increasing the number of read ports or decreasing the number of bits in the memory to increase the number.

【0031】例えば、図3は、リードポート数1、メモ
リ容量8ビット×8ワードのRAM4個でマスクメモリ
を構成し、RAM4個はそれぞれに独立にリード動作可
能とした場合のタイムチャートである。このような実施
例においては、マスク命令動作切り替え手段は、1つめ
のメモリのリードアドレスを8サイクル間保持したの
ち、2つめのメモリのリードアドレスを8サイクル間保
持、続いて3つめ、4つめと切り替えることで、1サイ
クル1ビットのマスクレジスタへのデータ送出を実現で
き、且つ1つめのリードアドレスの保持は8サイクルで
終了するので、この後のマスクメモリからのリード命令
は、8サイクル分待てば発行が可能である。
For example, FIG. 3 is a time chart when a mask memory is composed of four RAMs each having one read port and a memory capacity of 8 bits × 8 words, and each of the four RAMs can be independently read. In such an embodiment, the mask instruction operation switching means holds the read address of the first memory for eight cycles, then holds the read address of the second memory for eight cycles, and then holds the third and fourth memories. Data can be transmitted to the 1-bit mask register in one cycle, and the holding of the first read address is completed in eight cycles. Therefore, the subsequent read instruction from the mask memory is equivalent to eight cycles. Issuing is possible if you wait.

【0032】[0032]

【発明の効果】以上説明したように本発明においては、
1サイクルに更新/送出処理するマスクデータの要素数
を決定するサイクル要素数決定手段と、サイクル要素数
決定手段からの指示に従って、マスク更新/送出命令で
の動作を切り替えるマスク命令動作切り替え手段を設け
た事により、従来一定であったマスク更新/送出命令の
1サイクル当たりの処理マスク要素数を可変にした。こ
れにより、従来1サイクル当たりの処理マスク要素数が
一定であるがために生じていた命令間の命令発行待ち合
わせ時間が短縮され、マスク処理命令を含むベクトル命
令列の処理時間が大幅に高速化された。
As described above, in the present invention,
There are provided a cycle element number determining means for determining the number of mask data elements to be updated / transmitted in one cycle, and a mask instruction operation switching means for switching an operation by a mask update / transmission instruction in accordance with an instruction from the cycle element number determining means. As a result, the number of mask elements to be processed per cycle of the mask update / transmission instruction, which was conventionally constant, is made variable. As a result, the waiting time for instruction issuance between instructions, which has occurred because the number of processing mask elements per cycle is constant in the past, is reduced, and the processing time of a vector instruction sequence including a mask processing instruction is greatly shortened. Was.

【0033】MVMC−VMA−MVMC−VMBのよ
うな命令列の処理においては、本発明の実施例の図2の
タイムチャートと、従来例の図6のタイムチャートとを
対比すれば、29サイクルの高速化がなされたことがわ
かる。
In the processing of an instruction sequence such as MVMC-VMA-MVMC-VMB, comparing the time chart of FIG. 2 of the embodiment of the present invention with the time chart of FIG. It can be seen that the speed has been increased.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明の一実施例を示すブロック図である。FIG. 1 is a block diagram showing one embodiment of the present invention.

【図2】図1のベクトルデータ処理装置の動作例を示す
タイムチャートである。
FIG. 2 is a time chart illustrating an operation example of the vector data processing device of FIG. 1;

【図3】本発明の他の実施例の動作例を示すタイムチャ
ートである。
FIG. 3 is a time chart showing an operation example of another embodiment of the present invention.

【図4】従来のベクトルデータ処理装置において、MV
MC命令で1サイクル32要素のマスクレジスタ更新動
作を行う場合のタイムチャートである。
FIG. 4 shows a conventional vector data processing device,
It is a time chart at the time of performing a mask register update operation of 32 elements per cycle by MC instruction.

【図5】従来のベクトルデータ処理装置において、MV
MC命令で1サイクル1要素のマスクレジスタ更新動作
を行う場合のタイムチャートである。
FIG. 5 shows a conventional vector data processing device,
9 is a time chart in the case of performing a one-cycle / one-element mask register update operation by an MC instruction.

【図6】従来のベクトルデータ処理装置において、他の
命令列下において、MVMC命令で1サイクル1要素の
マスクレジスタ更新動作を行う場合のタイムチャートで
ある。
FIG. 6 is a time chart in the case of performing a one-cycle / one-element mask register update operation with an MVMC instruction under another instruction sequence in the conventional vector data processing apparatus.

【符号の説明】[Explanation of symbols]

1 命令発行制御部 2 マスク制御部 3 ベクトルデータ処理部 10 命令スタック 11 命令発行タイミング 12 サイクル要素数決定手段 20 マスク命令動作切り替え手段 21 マスクメモリ 22 マスクレジスタ 23 リードレジスタ 24、25 リードマスクレジスタ 30、31、32、33、34、35 ベクトルレジ
スタ 36、37、38、39 リードデータレジスタ 40、41 演算器
DESCRIPTION OF SYMBOLS 1 Instruction issue control part 2 Mask control part 3 Vector data processing part 10 Instruction stack 11 Instruction issue timing 12 Cycle element number determination means 20 Mask instruction operation switching means 21 Mask memory 22 Mask register 23 Read register 24, 25 Read mask register 30, 31, 32, 33, 34, 35 Vector register 36, 37, 38, 39 Read data register 40, 41 Arithmetic unit

Claims (2)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】ベクトルデータに付随し、該ベクトルデー
タ処理の有効/無効の識別に使用するマスクデータを保
持し、該マスクデータの更新や送出を制御するマスク制
御部を有するベクトルデータ処理装置において、 1サイクルで更新/送出処理する前記マスクデータの要
素数を決定するサイクル要素数決定手段と、該サイクル
要素数決定手段からの指示に従って、マスク更新/送出
命令での動作を切り替えるマスク命令動作切り替え手段
を設けたことを特徴とするベクトルデータ処理装置。
1. A vector data processing apparatus having mask data attached to vector data and used for discriminating validity / invalidity of the vector data processing, and having a mask control unit for controlling update and transmission of the mask data. A cycle element number determining means for determining the number of elements of the mask data to be updated / transmitted in one cycle; and a mask instruction operation switching for switching an operation by a mask update / transmission instruction in accordance with an instruction from the cycle element number determining means. A vector data processing device comprising means.
【請求項2】前記マスク制御部内に、nビット×mワー
ドの容量のメモリk個から構成されるマスクメモリを設
けて前記マスクデータを保持し、前記マスク命令動作切
り替え手段は、該マスクメモリのライトアドレス/リー
ドアドレスの保持サイクル数を前記サイクル要素数決定
手段からの指示によって切り替え、処理可能な最大ベク
トル長がn×kの値になるようにしたことを特徴とする
請求項1記載のベクトルデータ処理装置。
2. A mask control unit comprising: a mask memory comprising k memories having a capacity of n bits.times.m words and holding the mask data, wherein said mask instruction operation switching means includes: 2. The vector according to claim 1, wherein the number of write address / read address holding cycles is switched by an instruction from said cycle element number determining means so that the maximum vector length that can be processed has a value of n × k. Data processing device.
JP24988795A 1995-09-27 1995-09-27 Vector data processing device Expired - Fee Related JP2826490B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP24988795A JP2826490B2 (en) 1995-09-27 1995-09-27 Vector data processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP24988795A JP2826490B2 (en) 1995-09-27 1995-09-27 Vector data processing device

Publications (2)

Publication Number Publication Date
JPH0991272A JPH0991272A (en) 1997-04-04
JP2826490B2 true JP2826490B2 (en) 1998-11-18

Family

ID=17199692

Family Applications (1)

Application Number Title Priority Date Filing Date
JP24988795A Expired - Fee Related JP2826490B2 (en) 1995-09-27 1995-09-27 Vector data processing device

Country Status (1)

Country Link
JP (1) JP2826490B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2470782B (en) * 2009-06-05 2014-10-22 Advanced Risc Mach Ltd A data processing apparatus and method for handling vector instructions
JP5881163B2 (en) * 2012-03-30 2016-03-09 Necプラットフォームズ株式会社 Vector processing apparatus and method for controlling vector arithmetic processing apparatus

Also Published As

Publication number Publication date
JPH0991272A (en) 1997-04-04

Similar Documents

Publication Publication Date Title
US5297242A (en) DMA controller performing data transfer by 2-bus cycle transfer manner
JPS6131502B2 (en)
JP2826490B2 (en) Vector data processing device
JP3505728B2 (en) Storage controller
US6134642A (en) Direct memory access (DMA) data transfer requiring no processor DMA support
JP2577023B2 (en) Address extension control method for information processing equipment
JP2000099452A (en) Dma control device
JP2689914B2 (en) Information processing device
JP3151832B2 (en) DMA controller
JP3256442B2 (en) Data transfer control circuit
JP2622026B2 (en) Register writing control method in central processing unit
JP2806690B2 (en) Microprocessor
JP3704367B2 (en) Switch circuit
JPH10111798A (en) Information processor
JPH0283779A (en) Instruction execution control system for vector processor
JPH02293944A (en) Storage access controller
JPH06161945A (en) Memory data transfer device
JPH05334223A (en) Channel device and frame transmitting and receiving method for the same
JPH01195563A (en) Bus controller
JPH03260728A (en) Register data writing system
JPH05210617A (en) Bus extending device
JPH0548490B2 (en)
JPH07120309B2 (en) Page data transfer control method between storage devices
JPS62168246A (en) Memory writing control system
JPH08297583A (en) Processor and method for interruption processing

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 19980818

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees