JPH01155471A - vector processing device - Google Patents
vector processing deviceInfo
- Publication number
- JPH01155471A JPH01155471A JP31405887A JP31405887A JPH01155471A JP H01155471 A JPH01155471 A JP H01155471A JP 31405887 A JP31405887 A JP 31405887A JP 31405887 A JP31405887 A JP 31405887A JP H01155471 A JPH01155471 A JP H01155471A
- Authority
- JP
- Japan
- Prior art keywords
- vector
- data
- main memory
- circuit
- access
- 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.)
- Pending
Links
Landscapes
- Complex Calculations (AREA)
Abstract
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は科学技術計算に現れる行列計算などを高速処理
するベクトル処理装置に係シ、特に主記憶装置上の同一
アドレスに連続に複数回アクセスする場合、効率良くア
クセスするのに好適なベクトル処理装置に関する。[Detailed Description of the Invention] [Field of Industrial Application] The present invention relates to a vector processing device that performs high-speed processing of matrix calculations that appear in scientific and technical calculations, and particularly relates to a vector processing device that processes the same address on a main memory multiple times in succession. The present invention relates to a vector processing device suitable for efficient access.
ベクトル処理装置は、主記憶(MS)と演算器との間に
MSから読み出された一連のベクトル・データや演算の
中間結果であるベクトル・データを保持するベクトル・
レジスタ(VR)を有している。VR上のベクトル−デ
ータに対しては、1要素毎に有効・無効を示すマスク・
ビットが設けられ、ベクトル・マスク・レジスタ(VM
R)に保持されている。該マスク・ビットはベクトル・
データの比較等によって生成されVMRに保持されてい
て、VRの読み出し、書き込み時に並行して参照され、
ベクトル・データの演算、ロード、ストア等の処理を要
素対応に有効化もしくは無効化する制御に用いられる。A vector processing device has a vector processor that stores a series of vector data read from the MS and vector data that is an intermediate result of operations between a main memory (MS) and an arithmetic unit.
It has a register (VR). For vector data on VR, there is a mask that indicates whether each element is valid or invalid.
A vector mask register (VM
R) is held. The mask bits are vector
It is generated by data comparison, etc. and is held in the VMR, and is referenced in parallel when reading and writing to the VR.
It is used to enable or disable processing such as vector data calculation, load, and store for each element.
従来のベクトル処理装置においては、特開昭61−12
8571号に記載のように、MS上の同一アドレスに連
続して複数回アクセスする場合、ロードの場合には最初
のアクセスによるデータを保持しておき、後続のアクセ
スに対しては、ベクトル・アドレスの一部を修飾するこ
とによってバンク競合を回避しつつアクセスを行い、読
み出されたデータを無効化するという手段によってアク
セスを高速化している。In the conventional vector processing device,
As described in No. 8571, when accessing the same address on the MS multiple times in succession, the data from the first access is retained in the case of a load, and the vector address is used for subsequent accesses. Access is performed while avoiding bank conflicts by modifying a part of the data, and access is speeded up by invalidating the read data.
ところがマスクによって制御されるロードもしくはスト
アの場合には、最初の有効な要素もしくは最後の有効な
要素を認識する手段がない丸めに同一アドレスへの連続
するアクセスはバンク競合によるスループット低下を避
けられなかった。However, in the case of a load or store controlled by a mask, there is no way to recognize the first valid element or the last valid element, and consecutive accesses to the same address inevitably reduce throughput due to bank contention. Ta.
上記従来技術はマスクによって制御される同一アドレス
への連続するアクセスについては配慮されておらず、マ
スクによってスカシ・データを拡張してベクトル・デー
タとしてロードする処理やマスクによってベクトル・デ
ータを縮退させてストアする処理の場合にスループット
の低下が発生するという問題があった。The above conventional technology does not take into consideration continuous access to the same address controlled by a mask, and does not take into account continuous access to the same address controlled by a mask. There was a problem in that throughput decreased during storage processing.
本発明の目的は、マスクによって制御されるロード・ス
トア処理について、MS上の同一アドレスに対する連続
する複数回のアクセスを一回のアクセスとすることによ
ってMSのバンク競合を回避し、効率の良いアクセスを
可能とするベクトル処理装置を実現することにある。An object of the present invention is to avoid bank conflicts on the MS by converting multiple consecutive accesses to the same address on the MS into one access in load/store processing controlled by a mask, and to achieve efficient access. The object of this invention is to realize a vector processing device that enables the following.
上記目的は、ベクトル・データを要素対応に有効化もし
くは無効化するマスク・ビットから、最初の有効な要素
もしくは最後の有効な要素を認識し、該要素に関するM
8アクセスのみを実行するようにロード・ストア・パイ
プを構成することによって達成される。The above purpose is to recognize the first valid element or the last valid element from mask bits that enable or disable vector data element-wise, and
This is accomplished by configuring the load-store pipe to perform only 8 accesses.
このため、(1)ベクトル・ロード・ストア命令のアド
レッシング指定及びベクトル・アドレス・レジスタの内
容に基づきアクセスがMS上の同一アドレスに対するも
のであることを認識する回路と、(2)マスク生成時に
最初の有効な要素もしくは最後の有効な要素の要素番号
を保持する回路と、(3)マスク参照時に保持された要
素番号以外のデータを無効化するように付加情報を変換
する回路と、(4)ロード処理において、最初の有効な
データを保持しておき、全ての要素に対して保持されて
いた同一のデータをVRに対して送出する回路と、(5
)ストア処理において、VRから転送されてきた全ての
有効なデータの内、最後の有効なデータを選択してMS
に書き込む回路とを設ける。Therefore, (1) a circuit that recognizes that the access is to the same address on the MS based on the addressing specification of the vector load/store instruction and the contents of the vector address register, and (2) (3) a circuit that converts additional information so as to invalidate data other than the element number held when referencing the mask; (4) a circuit that holds the element number of the valid element or the last valid element; In the load process, a circuit holds the first valid data and sends the same data held for all elements to VR;
) In the store process, select the last valid data among all the valid data transferred from VR and store it in the MS.
A writing circuit is provided.
ベクトル・ロード・ストア命令には、ベクトルアドレス
・レジスタ(VR几)とベクトルφインクリメント・レ
ジスタ(VI R)との内容によって、MSを線形にア
クセスする単純a−ド・ストア命令と、VR凡とインデ
ックス・レジスタ(任意のVR)とによってMSを非線
形にアクセスするインデックス付ロード・ストア命令と
がめる。Vector load/store instructions include a simple a-do store instruction that linearly accesses the MS depending on the contents of the vector address register (VR) and vector φ increment register (VIR), and the VR general instruction. An indexed load/store instruction that non-linearly accesses the MS by means of an index register (arbitrary VR) is executed.
アクセス種別を認識する回路は、線形アクセスの場合に
はVI几−101、すなわち要素間隔値lo1の場合に
アクセスがMS上の同一アドレスであることを2識する
。またインデックス付ロード・ストア命令の場合にはイ
ンデックスがスカシ、っまル、スカシ・レジスタ(SR
)、ま九はリテラル(LIT)であることによってアク
セスがMS上の同一アドレスであることを認識する。The circuit that recognizes the access type recognizes that the access is to the same address on the MS when the VI is -101 in the case of linear access, that is, the element interval value lo1. In addition, in the case of indexed load/store instructions, the index is empty, empty, empty register (SR).
), M9 recognizes that the access is to the same address on the MS by being a literal (LIT).
マスク生成回路にはカウンタが設けられ、マスり・ビッ
トが1ビツト生成される毎にカウント・アップされる。The mask generation circuit is provided with a counter, which is counted up every time one mask bit is generated.
マスク・ビットが最初に111となった時、該カウンタ
の値は先頭有効要素番号レジスタ(FVERと称す。)
に取少込まれ、マスク参照時まで保持される。一方マス
ク・ビットがIllとなる毎に該カウンタの値は最終有
効要素番号レジスタ(LVERと称する。)に取プ込ま
れ、マスク生成が終了した時点で最後の有効な要素の番
号が残される。When the mask bit first reaches 111, the value of the counter is the first valid element number register (referred to as FVER).
is captured and retained until the mask is referenced. On the other hand, each time the mask bit becomes Ill, the value of the counter is taken into the last valid element number register (referred to as LVER), and the number of the last valid element is left when mask generation is completed.
マスク参照回路にはアクセス種別をgRする回路からコ
ードが転送されてきて、Ma上の同一アドレスを連続し
てアクセスする場合には、MSに対して、FVERもし
くはLVER,の示す要素のみを読み出したシ、書き込
むように制御がなされる。a−ド処理の場合にはpvg
aの示す要素のみMSのアクセスを有効化する付加情報
が付加されて主記憶制御ユニット(SCU)に送出され
る。A code is transferred to the mask reference circuit from the circuit that sets the access type to gR, and when accessing the same address on Ma continuously, only the element indicated by FVER or LVER is read to the MS. Control is performed to write. pvg in case of a-do processing
Only the element indicated by a is sent to the main storage control unit (SCU) with additional information that enables MS access added thereto.
SOUでは該付加情報の付いた要素についてのみMSか
らデータを読み出し、レジスタに保持してお(。該デー
タはマスク・ビットと伴にVRに転送され、有効な要素
についてのみデータが書き込まれる。ストア処理の場合
にはLVgRの示す要素のみMSのアクセスを有効化す
る付加情報が付加されてSCUに送出される。SCUで
は該付加情報の付いた要素についてのみMSへデータを
書き込む。該データはマスク・ビットと伴KvfLから
送られてきたデータの内、有効な要素についてのみレジ
スタにセットされ、最後に残されたデータである。In the SOU, data is read from the MS only for the elements with the additional information and held in the register (.The data is transferred to the VR along with the mask bit, and data is written only for the valid elements. Store In the case of processing, only the element indicated by LVgR is added with additional information that enables MS access and sent to the SCU.The SCU writes data to the MS only for the element with the additional information.The data is masked.・Of the data sent from the bit and KvfL, only valid elements are set in the register, and this is the last remaining data.
a−ド・ストア・パイプにはロード処理の先頭有効要素
に対応するデータを保持するレジスタがメ)、上記ロー
ド処理においてマスク・ビット・11′の要素に対して
は該データをVRに対して送出する。The a-do store pipe has a register that holds the data corresponding to the first valid element of the load process), and in the above load process, for the element of mask bit 11', the data is sent to the VR. Send.
また、ロード・ストア・バイブにはストア処理の最終有
効要素に対応するデータを保持するレジスタがあり、■
几から読み出されたデータに付随するマスク・ビットが
t1+の場合、VRからの読み出しデータがセットされ
る。そして全ての要素についてVRgt、み出しが終了
した時点で最終有効要素に対応するデータが残されるの
で、該データをSCUに対して送出する。In addition, the load/store vibe has a register that holds data corresponding to the final valid element of the store process.
If the mask bit associated with the data read from the box is t1+, the data read from the VR is set. Then, when VRgt and protrusion are completed for all elements, data corresponding to the last effective element remains, so this data is sent to the SCU.
第1図は本発明の適用されるベクトル処理装置のVR,
周辺の構成を示す図である。第1図におい−(18はV
R,19はVM几、25は8CU、24はMSでるる。FIG. 1 shows a VR vector processing device to which the present invention is applied.
FIG. 3 is a diagram showing a peripheral configuration. In Figure 1 - (18 is V
R, 19 is VM, 25 is 8CU, 24 is MS.
本実施例では要素並列制御方式のベクトル処理装置につ
いて述べる。従って、VR18、VMRI 9はいずれ
も並列要素数4に対応して4分割されている。VR18
,VMRI 9の分割された各単位は各々64要素から
構成され全体で256要素を1括して処理可能である。In this embodiment, a vector processing device using an element parallel control method will be described. Therefore, both VR18 and VMRI9 are divided into four parts corresponding to the number of parallel elements of four. VR18
, VMRI 9, each divided unit is composed of 64 elements, and a total of 256 elements can be processed at once.
通常のベクトル・a−ド命令処理の場合、リクエスト制
御回路10は64個のメモリ・リクエストを5CU25
に対して発行する。1個のメモリ・リクエストに対して
4個のマスク・ビットが7MR19から読み出され、付
加情報変換回路20を通って8CU23に対してメモリ
・リクエスト付加情報として送出される。その際、マス
ク拳ビットfolの要素についてはメモリ・リクエスト
を無効化するオーダが付加される。8CU25は1メモ
リ・リクエスト毎に4個のマスク・ビットの内111に
対応する要素についてのみ読み出し要求t−Ms 24
に送出する。Maから読み出されたデータ(最大4個)
は5CU23を通シ、レジスタ25にセットされる。1
メモリ・リクエストに対応するデータが全てそろった時
点でレジスタ23に保持していたデータは送出され、セ
レクタ17を通#)VR18に書き込まれる。データの
書き込み位置は要素数カウンタ(E几)2によって示さ
れる。gR2は初期値101から始めて1メモリeリク
エストごとにカウンタ3によって1ずつカウント・アッ
プされ、次のメモリ・リクエストで読み出したデータを
書き込むべきVR18上のエントリを示している。以上
の動作が64回繰り返されて256要素のロード処理が
完了する。In the case of normal vector/a-word instruction processing, the request control circuit 10 handles 64 memory requests in 5CU25.
Issued to. Four mask bits are read out from the 7MR 19 for one memory request, passed through the additional information conversion circuit 20, and sent to the 8CU 23 as memory request additional information. At this time, an order to invalidate the memory request is added to the element of the mask bit fol. 8CU25 makes a read request t-Ms only for the element corresponding to 111 of the 4 mask bits for each memory request t-Ms 24
Send to. Data read from Ma (up to 4 pieces)
is passed through the 5CU 23 and set in the register 25. 1
When all the data corresponding to the memory request is collected, the data held in the register 23 is sent out and written to the VR 18 through the selector 17. The data writing position is indicated by an element number counter (E) 2. gR2 starts from the initial value 101 and is counted up by 1 by the counter 3 for each memory e request, and indicates the entry on the VR 18 to which the data read in the next memory request is to be written. The above operation is repeated 64 times to complete the loading process of 256 elements.
通常のベクトル・ストア命令処理の場合、同様にリクエ
スト制御回路10は64個のメモリ・リクエストを5C
U25に対して発行する。1個のメモリ自リクエストに
対して4個のマスク・ビツトがVMRI9から読み出さ
れ、付加情報変換回路20を通って8CU23に送出さ
れる。その際、マスク・ビットIglの要素については
メモリ・リクエストを無効化するオーダが付加される。Similarly, in the case of normal vector store instruction processing, the request control circuit 10 handles 64 memory requests in 5C
Issued to U25. Four mask bits are read from the VMRI 9 for one memory request, and sent to the 8CU 23 through the additional information conversion circuit 20. At this time, an order to invalidate the memory request is added to the element of mask bit Igl.
一方ER,2の内容をデコーダ8によシブコードして得
られるVRI a上のエントリからデータが読み出され
、レジスタ21にセットされる。その後データはメモリ
・リクエストと同期して8CU25に対して送出される
。5CU23はメモリ・リクエストに基づき受は取った
データをMS24に書き込む。以上の動作が64回繰シ
返されて256要素のストア処理が完了する。On the other hand, data is read from the entry on VRI a obtained by subcoding the contents of ER,2 by the decoder 8, and is set in the register 21. The data is then sent to the 8CU 25 in synchronization with the memory request. The 5CU 23 writes the received data to the MS 24 based on the memory request. The above operation is repeated 64 times to complete the storage process for 256 elements.
検出回路9はベクトル・ロード・ストア命令がM8上の
同一アクセスする場合を検出する。単純a−ド・ストア
命令の場合、オペ2ンド・データのアドレスは、先頭要
素アドレスを示すVA几と要素間隔値を示すVI几との
和によって決定される。したがってV I R−’o’
という条件によつてM8上の同一アドレスをアクセスす
るものと認識する。インデックス付ロード拳ストアの場
合、オペランド・アドレスは先頭要素アドレスを示すV
ARと先頭要素からのオフセットを指すインデックスと
の和によって決定される。したがってインデックスとし
てSR1たはり、ITt−指定しているという条件によ
ってMS上の同一アドレスをアクセスするものと認識す
る。The detection circuit 9 detects when a vector load/store instruction makes the same access on M8. In the case of a simple a-do store instruction, the address of the operand data is determined by the sum of the VA value indicating the first element address and the VI value indicating the element interval value. Therefore V I R-'o'
Under this condition, it is recognized that the same address on M8 is to be accessed. In the case of an indexed load store, the operand address is V indicating the first element address.
It is determined by the sum of AR and an index indicating an offset from the first element. Therefore, it is recognized that the same address on the MS is to be accessed under the condition that SR1 or ITt- is specified as the index.
リクエスト制御回路10は5CU25に対して送出する
メモリ・リクエストの個数を検出回路9からの指示によ
フ変える。つまシ、MS上の同一アドレスをアクセスす
る場合には、64個のリクエストを連続して送出するの
でなく、ただ1個のリクエストを送出するのでるる。ベ
クトル・ロード命令の場合には、VMRI9から送出さ
れてくるマスク拳ビット中に11“が存在した場合に、
初めてメモリ・リクエストを5CU23jC対して送出
する。先頭有効要1gに対応するメモリ・リクエストが
発行された後は、有効要素があってもメモリ・リクエス
トは送出しない。これに対してVRI8の誉き込み信号
14は要素並列毎に64回送出される。実際の曹さ込み
はVMRI9の制御を受け、有効要素についてのみデー
タが書き込まれる。ベクトル・ストア命令の場合には、
VMRI9から送出されてくるマスク・ビットの内最後
の+1+に対応してメモリーリクエストを5CU23に
対して送出する。したがって64回のVMR,読み出し
く対してメモリ・リクエストが送出されるのは最終有効
要素並列の1回のみである。一方V几18の読み出しは
要素並列毎に64回行われる。ベクトル−ロード、ベク
トル・ストアいずれの場合に4V318上のアクセスす
るエントリを示すE′BI2は要素並列毎に1ずつカウ
ント・アクプされる。The request control circuit 10 changes the number of memory requests sent to the 5CU 25 according to instructions from the detection circuit 9. However, when accessing the same address on the MS, only one request is sent instead of 64 consecutive requests. In the case of a vector load instruction, if 11" exists in the mask bit sent from VMRI9,
A memory request is sent to the 5CU 23jC for the first time. After the memory request corresponding to the first valid element 1g is issued, no memory request is sent even if there is a valid element. On the other hand, the compliment signal 14 of the VRI 8 is sent out 64 times for each parallel element. Actual writing is controlled by the VMRI 9, and data is written only for valid elements. For vector store instructions,
A memory request is sent to the 5CU 23 in response to the last +1+ of the mask bits sent from the VMRI 9. Therefore, for 64 VMR reads, a memory request is sent only once for the final valid element parallel. On the other hand, reading of the V-box 18 is performed 64 times for each parallel element. In either vector load or vector store, E'BI2 indicating the entry to be accessed on the 4V 318 is counted and accepted by 1 for each parallel element.
すなわちVR18は全要素に対応してアクセスされるよ
うに制御信号26がリクエスト制御回路10から送出さ
れる。That is, the control signal 26 is sent from the request control circuit 10 so that the VR 18 is accessed corresponding to all elements.
付加情報変換回路20は、通常のベクトル・ロード・ス
トア命令処理の場合には、マスク・ピッ) 1o1の要
素に対してMSアクセスを無効化するオーダを付加する
。M8アクセスが同一アドレスに対するものである場合
には、この動作に加えて、a−ド処理では先頭有効要素
よ)後の有効要素に対してもMSアクセスするオーダを
付加する動作を行い、ストア処理では最終有効要素よシ
前の有効要素に対してもMSアクセスを無効化するオー
ダを付加する動作を行う。In the case of normal vector load/store instruction processing, the additional information conversion circuit 20 adds an order for disabling MS access to the mask p1o1 element. If the M8 access is to the same address, in addition to this operation, an operation is performed to add an MS access order to the subsequent valid elements (from the first valid element in the a-card processing), and store processing is performed. Then, an operation is performed to add an order for invalidating MS access to the valid element before the last valid element.
マスク生成回路1は比較命令等のマスク生成命令実行時
に動作し、実行結果に基づいて得られたマスク・ビット
をVMRI 9に格納する。該動作の際、先頭有効要素
と最終有効要素とを検出することが可能であるので先頭
有効要素番号t−FVER5K、最終有効要素番号をL
VER6にそれぞれ格納する。つまシ、最初にマスクφ
ビットが111となった時点で処理中の要素番号を示す
ER2の値をFVE几5に転送し、保持する。−坦FV
ER5がセットされた後は後続のマスク・ビット11曹
に対してはセットを抑止する。マスク・ビットが111
となる毎にER12の値をLvER16に転送し、保持
する。すべての要素についてマスク生成処理が終了した
時点でI、VER6には最終有効要素の要素番号が残さ
れる。The mask generation circuit 1 operates when a mask generation instruction such as a comparison instruction is executed, and stores mask bits obtained based on the execution result in the VMRI 9. During this operation, it is possible to detect the first valid element and the last valid element, so the first valid element number t-FVER5K and the last valid element number are set to L.
Each is stored in VER6. Tsumashi, first mask φ
When the bit reaches 111, the value of ER2 indicating the element number being processed is transferred to the FVE box 5 and held there. - flat FV
After ER5 is set, subsequent mask bits 11 are inhibited from being set. mask bit is 111
Each time the value of ER12 is reached, the value of ER12 is transferred to LvER16 and held. When the mask generation process is completed for all elements, the element number of the final valid element is left in I, VER6.
以下、ベクトル・ロード・ストア命令がMS上の同一ア
ドレスを複数回アクセスする場合の処理について説明す
る。The following describes processing when a vector load/store instruction accesses the same address on the MS multiple times.
ベクトル・ロード・ストア命令に先行してマスク生成命
令が実行され、後続のロード・ストアにて使用するマス
クを生成すると伴に先頭有効要素番号をFVffR5に
、最終有効要素番号をLYER6に格納する。A mask generation instruction is executed prior to the vector load/store instruction to generate a mask to be used in the subsequent load/store and store the first valid element number in FVffR5 and the last valid element number in LYER6.
ベクトル・a−ド命令ではFVER5を便用する。FV
ER5の値がセレクタ7を通ってデコーダ8に与えられ
先頭有効要素を含む1要素差列分のマスク4ビツトがV
MR19から読み出され、付加情報変換回路20に転送
される。付加情報変換回路20では、先頭有効要素以外
の要素に対してMSアクセスを無効化するオーダを付加
する。FVER5 is conveniently used for vector a-do instructions. FV
The value of ER5 is given to the decoder 8 through the selector 7, and the mask 4 bits for one element difference sequence including the first valid element are set to V.
The data is read from the MR 19 and transferred to the additional information conversion circuit 20. The additional information conversion circuit 20 adds an order for disabling MS access to elements other than the first valid element.
例えば第2図のようにマスク・ビットが’01101で
FVER5の値が11嘗の場合、付加すべきオーダは’
1011’となる。リクエスト制御回路10は該要素並
列に対応して1回だけメ七り・リクエストを5CU25
に対して発行する。8CU25はオーダを参照し、無効
指示の付加されていない要素についてのみMS24をア
クセスし、先頭有効要素に対応するデータを読み出す。For example, as shown in Figure 2, if the mask bit is '01101 and the value of FVER5 is 11 years, the order to be added is '
1011'. The request control circuit 10 sends the menu/request only once in response to the element parallelism by 5CU25.
Issued to. The 8CU 25 refers to the order, accesses the MS 24 only for elements to which no invalidity instruction has been added, and reads data corresponding to the first valid element.
読み出されたデータは5CU23を通シレジスタ25に
セットされる。その際データは要素並列の4要素に拡張
される。レジスタ25はセット信号2Bによって該デー
タをセットされた後は該データを保持し続ける。この間
VB制御回路11はセット信号26によってE凡2を更
新し、書き込み信号14によってVRのすべて有効な要
素に対して同一データをレジスタ25よシ書き込む。書
き込みの際にはVM几19の値が反映され、マスク・ビ
ット111の要素についてのみM8上のアクセス・アド
レスにあるのと同一のデータが書き込まれる。The read data is set in the register 25 through the 5CU 23. At that time, the data is expanded into four elements arranged in parallel. The register 25 continues to hold the data after it is set by the set signal 2B. During this time, the VB control circuit 11 updates E2 by the set signal 26, and writes the same data to the register 25 for all valid elements of VR by the write signal 14. When writing, the value of VM box 19 is reflected, and the same data as that at the access address on M8 is written only for the element of mask bit 111.
ベクトル・ストア命令ではLVER6を使用する。LV
ER6の直がセレクタ7を通ってデコーダ8に与えられ
最終有効要素を含む1要素差列分のマスク4ビツトがV
MR19から読み出され、付加情報変換回路20に転送
される。付加情報変換回路20では、最終有効要素以外
の要素に対してM8アクセスを無効化するオーダを付加
する。Vector store instructions use LVER6. LV
The direct signal of ER6 is given to the decoder 8 through the selector 7, and the mask 4 bits for one element difference sequence including the final effective element are set to V.
The data is read from the MR 19 and transferred to the additional information conversion circuit 20. The additional information conversion circuit 20 adds an order to disable M8 access to elements other than the final valid element.
例えば第3図のようにマスク・ビットが’0110’の
場合、付加すべきオーダは’1101’となる。For example, when the mask bit is '0110' as shown in FIG. 3, the order to be added is '1101'.
リクエスト制御10は該要素並列に対応して1回だけメ
モリ・リクエストを5CU25に対して発行する。8C
U23はオーダを参照し、無効指示の付加されていない
要素についてのみMS24をアクセスし、最終有効要素
に対応するデータを書き込む。該データはVMR19の
読み出しと同期してVRI 8から読み出されレジスタ
21にセットされた4個のデータの内、LVER6の示
すデータである。以上により、MS上のアクセス・アド
レスにはすべての有効要素を書き込んだ場合と同一の結
果が残されることになる。The request control 10 issues a memory request to the 5CU 25 only once in response to the element parallelism. 8C
U23 refers to the order, accesses MS24 only for elements to which no invalidity instruction has been added, and writes data corresponding to the final valid element. This data is the data indicated by LVER6 among the four data read from VRI 8 and set in register 21 in synchronization with reading from VMR 19. As a result, the same result as when all valid elements are written is left at the access address on the MS.
本実施例によれば、(!素番号0から要素番号255ま
でのM8上の同一アドレスへのマスク付の連続的なアク
セスをただ1回のアクセスとして処理することによって
マスク付のベクトル・ロード・ストア命令のスループッ
トの低下を回避可能である。According to this embodiment, by processing continuous accesses with a mask to the same address on M8 from prime number 0 to element number 255 as a single access, It is possible to avoid a decrease in the throughput of store instructions.
本発明によれば、マスク付のベクトル・ロード中ストア
命令の処理において、MS上の同一アドレスを連続して
複数回アクセスする場合、M8へのアクセスを一回とす
ることによって処理時間を短縮することが可能となシ、
命令処理性能が向上する。According to the present invention, when the same address on an MS is accessed multiple times in succession in processing a masked vector load-during-store instruction, processing time is shortened by accessing M8 only once. It is possible that
Instruction processing performance is improved.
第1図は本発明の一実施例の構成図、第2図および第5
図はマスク・ビットの一例を示す説明図である。
1・−マスク生成回路、2・−要素数レジスタ、5−先
頭有効要素レジスタ、6・・・最終有効要素レジスタ、
9・・・検出回路、10−リクエスト制御回路。
11・VR制御回路、19 ・・・ベクトル・マスク・
レジスタ、20・−付加情報変換回路。
第 1 図
9 検本可落
第 2 図 箒 3 図
手続補正書(自発)
事件の表示
昭和 62 年特許願第 314058 号発明の名
称
ベクトル処理装置
補正をする者
餠と1係 特許出願人
名 称 Cs+o+株式会社 日 立 製 作所(化
1石)
代 理 人
補正の対象 図面(全図)
補正の内容 別紙のとおシ
見1目
9−0.検伝目発
殆2図
原綿7平素
易50
!
tviyrp7TfT*素FIG. 1 is a block diagram of an embodiment of the present invention, FIG. 2 and FIG.
The figure is an explanatory diagram showing an example of mask bits. 1 - mask generation circuit, 2 - element number register, 5 - first valid element register, 6 - last valid element register,
9...Detection circuit, 10-Request control circuit. 11・VR control circuit, 19...Vector mask・
Register, 20--additional information conversion circuit. Fig. 1 Fig. 9 Failed specimen Fig. 2 Broom 3 Document of drawing procedure amendment (spontaneous) Indication of the case 1988 Patent Application No. 314058 Name of the invention Vector processing device Person who makes the correction Person and Section 1 Patent applicant name Name Cs+o+stock Company Hitachi, Ltd. (Fossil 1 stone) Target of agent amendment Drawing (all drawings) Contents of amendment Attachment page 1 9-0. Kenden Meku almost 2 drawings raw cotton 7 plain simple 50! tviyrp7TfT* element
Claims (1)
器と、演算の中間結果を保持する複数のベクトル・レジ
スタと、ベクトル・データの主記憶からの読み出し、並
びに主記憶への書き込みを行う複数のロード・ストア・
パイプラインと、演算および主記憶アクセスの有効、無
効を指定する複数のマスク・レジスタと及びその生成・
参照制御回路から構成されるベクトル処理装置において
、ベクトル・ロード・ストア命令のアドレッシグ指定及
びベクトル・アドレス・レジスタの内容に基づきアクセ
スするデータが同一アドレスであることを検出する回路
と、マスク生成時に最初の有効なデータ、もしくは最後
の有効なデータを認識してその要素番号を保持する回路
と、マスク参照時に保持された要素番号以外のデータに
対して該データを無効化するように付加情報を変換する
回路と、主記憶から読み出された最初の有効なデータを
保持しておき、全ての要素に対して同一のデータをベク
トル・レジスタに対して送出する回路と、ベクトル・レ
ジスタから転送されてきた全ての要素の中から最後の有
効なデータを選択して主記憶に書き込む回路とによつて
構成され、マスク付のベクトル・ロード・ストア命令処
理における同一アドレスに対する連続した複数回の主記
憶読み出し、もしくは書き込みを一回にすることにより
ベクトル・ロード・ストア処理を高速化することを特徴
とするベクトル処理装置。1. A main memory that stores vector data, multiple arithmetic units, multiple vector registers that hold intermediate results of operations, and reads and writes vector data from and to the main memory. Multiple load stores
A pipeline, multiple mask registers that specify whether operations and main memory access are enabled, and their generation and
In a vector processing device consisting of a reference control circuit, a circuit detects that data to be accessed has the same address based on the addressing specification of the vector load/store instruction and the contents of the vector address register, and A circuit that recognizes the first valid data or the last valid data and holds that element number, and additional information that invalidates data other than the element number held when referencing the mask. A circuit that performs the conversion, a circuit that holds the first valid data read from main memory and sends the same data for all elements to the vector register, and a circuit that holds the first valid data read from main memory and sends the same data for all elements to the vector register. It is configured by a circuit that selects the last valid data from among all the elements that have been sent and writes it to the main memory, and it is a main memory that selects the last valid data from among all the elements that have been received and writes it to the main memory multiple times consecutively to the same address in masked vector load/store instruction processing. A vector processing device characterized by speeding up vector load/store processing by reading or writing only once.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP31405887A JPH01155471A (en) | 1987-12-14 | 1987-12-14 | vector processing device |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP31405887A JPH01155471A (en) | 1987-12-14 | 1987-12-14 | vector processing device |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH01155471A true JPH01155471A (en) | 1989-06-19 |
Family
ID=18048715
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP31405887A Pending JPH01155471A (en) | 1987-12-14 | 1987-12-14 | vector processing device |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH01155471A (en) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20170052382A (en) * | 2015-11-04 | 2017-05-12 | 삼성전자주식회사 | Method and apparatus for parallel processing data |
-
1987
- 1987-12-14 JP JP31405887A patent/JPH01155471A/en active Pending
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20170052382A (en) * | 2015-11-04 | 2017-05-12 | 삼성전자주식회사 | Method and apparatus for parallel processing data |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5204953A (en) | One clock address pipelining in segmentation unit | |
| EP0029517A2 (en) | Store-in-cache mode data processing apparatus | |
| JPH03108042A (en) | Multiple virtual space address control method and computer system | |
| US6381686B1 (en) | Parallel processor comprising multiple sub-banks to which access requests are bypassed from a request queue when corresponding page faults are generated | |
| JPS6341100B2 (en) | ||
| US5226132A (en) | Multiple virtual addressing using/comparing translation pairs of addresses comprising a space address and an origin address (sto) while using space registers as storage devices for a data processing system | |
| US4924425A (en) | Method for immediately writing an operand to a selected word location within a block of a buffer memory | |
| CA1279407C (en) | Buffer storage control system | |
| US5414821A (en) | Method of and apparatus for rapidly loading addressing environment by checking and loading multiple registers using a specialized instruction | |
| CA1264200A (en) | System memory for a reduction processor evaluating programs stored as binary directed graphs employing variable-free applicative language codes | |
| JPH01155471A (en) | vector processing device | |
| US5506980A (en) | Method and apparatus for parallel processing of a large data array utilizing a shared auxiliary memory | |
| EP0196970B1 (en) | Buffer memory control system | |
| US5276853A (en) | Cache system | |
| US4561071A (en) | Storage system having buffer storage | |
| US4598361A (en) | Allocator for a reduction processor evaluating programs stored as binary directed graphs employing variable-free applicative language codes | |
| US5426749A (en) | Buffer control system using synonymic line address to retrieve second tag portion for fetch and store accesses while first tag portion is invalidated | |
| JP2783285B2 (en) | Information processing device | |
| JPS601655B2 (en) | Data prefetch method | |
| JPH05257807A (en) | Cache memory controller | |
| JPS6161143B2 (en) | ||
| JPH03141444A (en) | data processing equipment | |
| JPS6410858B2 (en) | ||
| WO1996006394A1 (en) | Method and system for identifying common data element in data blocks for storage | |
| JPH03109656A (en) | Multiplex virtual space address system and data processor |