JPS60136874A - Vector processor - Google Patents
Vector processorInfo
- Publication number
- JPS60136874A JPS60136874A JP24394583A JP24394583A JPS60136874A JP S60136874 A JPS60136874 A JP S60136874A JP 24394583 A JP24394583 A JP 24394583A JP 24394583 A JP24394583 A JP 24394583A JP S60136874 A JPS60136874 A JP S60136874A
- Authority
- JP
- Japan
- Prior art keywords
- request
- data
- vector
- fetch
- store
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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)
- Advance Control (AREA)
Abstract
Description
【発明の詳細な説明】
〔発明の利用分野〕
本発明はベクトル処理装置に係り、特に主記憶装置(以
下訟と呼ぶ)と複数のベクトルレジスタ(以下VRと呼
ぶ)を言むベクトルレジスフユニット(以下VRUと呼
ぶ)間のデータ転送な高速に実行するに好適なベクトル
処理装置に関する。DETAILED DESCRIPTION OF THE INVENTION [Field of Application of the Invention] The present invention relates to a vector processing device, and in particular to a vector register unit including a main memory (hereinafter referred to as a storage device) and a plurality of vector registers (hereinafter referred to as a VR). The present invention relates to a vector processing device suitable for high-speed data transfer between VRUs (hereinafter referred to as VRUs).
第1図に、ベクトル処@装置の一構成例をボす。本例は
、従来例及び本発明の実施例の読切に共通して用いられ
る。FIG. 1 shows an example of the configuration of a vector processing @ device. This example is commonly used in the one-shot of the conventional example and the embodiment of the present invention.
第1図において、MSlは8個の独立に動作可能な記憶
装置(以下ボートと呼ぶ)から成り、谷ボートは更に4
個の独立に動作可能な記憶装置(以下バンクと呼ぶ)か
らなる。各ボートは記憶制御装置(以下SCと呼ぶ)2
との間に8本の8バイト巾のMSiA出し/書込みパス
7〜14を持つ。8バイトベクトルフエツチ命令か起動
されると、データ転送回路(以下DTCと呼ぶ)3はM
Sl上に配置されたベクトルデータの各要素の■アドレ
スを順次計算し、2本あるフェッチパス15〜16のう
ちの一本、例えば15を用いてSC4にリクエストを送
出する。SC4は、受1’l″取ったリクエストをその
アドレスに従って、MSlの対応するボート(例えばボ
ート0とする)に対し、ボート対応のMSl出し/書込
みノくス(例えはボート0に対応する胱出し/書込み)
くスフとする)を用いて転送する。ボート0は、SC2
から送られたボート内アドレスに従い8ノ(イトデー′
夕をアクセスし、8バイトフエツチに対応するバンクビ
ジータイム(例えば7サイクルとする)後にフェッチデ
ータをMSS出出/書込みパス7を用いてSC,2に転
送する。SC2は受け取ったフェッチデータをフェッチ
パス15を用いてDTC3に転送する。In FIG. 1, the MSl consists of eight independently operable storage devices (hereinafter referred to as boats), and the valley boats further include four
It consists of several independently operable storage devices (hereinafter referred to as banks). Each boat has a storage controller (hereinafter referred to as SC) 2
There are eight 8-byte wide MSiA output/write paths 7 to 14 between the MSiA and the MSiA. When an 8-byte vector fetch instruction is activated, the data transfer circuit (hereinafter referred to as DTC) 3 transfers M
The address of each element of the vector data arranged on Sl is calculated in sequence, and a request is sent to SC4 using one of the two fetch paths 15 to 16, for example 15. The SC4 sends the received request to the corresponding boat (for example, boat 0) to the MSI output/write address (for example, the cell corresponding to boat 0). output/write)
transfer using kusufutosuru). Boat 0 is SC2
According to the address in the boat sent from
After a bank busy time (for example, 7 cycles) corresponding to an 8-byte fetch, the fetched data is transferred to SC,2 using MSS output/write path 7. The SC2 transfers the received fetch data to the DTC3 using the fetch path 15.
DTC5は受け取った8バイトデータをそのまま順次、
ベクトルレジスタ(VR)書込みパス18ヲ用いてVR
U2に転送し、VRU2が受け取った8バイトデータを
命令起動時に指定された査号の■の適当な要素査号に書
き込むことにより、1要素分のフェッチリクエスト処理
が終了する。この様な処理をベクトル要素数(ベクトル
長とも呼、ぶ)回だけ順次繰り返すことにより、1つの
8バイトベクトルフエツチ命令の実行か終了する。DTC5 sequentially receives the 8-byte data as is.
VR using vector register (VR) write path 18
By transferring the 8-byte data received by VRU2 to U2 and writing the 8-byte data received by VRU2 into an appropriate element symbol (■) of the symbol specified at the time of instruction activation, the fetch request processing for one element is completed. By sequentially repeating such processing as many times as the number of vector elements (also called vector length), execution of one 8-byte vector fetch instruction is completed.
フェッチパス16及びVR書き込みパス19を用いても
同様にして8バイトベクトルフエツチ甜令を実行するこ
とが出来る。An 8-byte vector fetch instruction can be executed in the same manner using the fetch path 16 and the VR write path 19.
8バイトベクトルストア命令が起動されると、VRU2
は命令起動時に指定された蕾号のVRから侠素番号順に
8バイトデータを、VR読出しパス20を用いて、DT
C3K送出する。DTC3ハ、V−RU2 カ6順次送
られて来るベクトルデータを格納すべきMSアドレスを
順次計算し、VRU2から受け取ったストアデータと一
緒に、ストアパス17を用いて8バイトストアリクエス
トとしてSC4に転送する。SC4はフェチリクエスト
処理の場合と同様に、受は取ったリクエストをそのアド
レスに従って、MSIの対応するボートに対し、ホード
対応のMS読出し/書き込みパス(例えばボート。When the 8-byte vector store instruction is activated, VRU2
reads the 8-byte data in the order of the master number from the VR of the master number specified at the time of command activation, using the VR read path 20, and reads it to the DT.
Send C3K. DTC3 C, V-RU2 C6 Sequentially calculates the MS address where the sequentially sent vector data should be stored, and transfers it to SC4 as an 8-byte store request using store path 17 along with the store data received from VRU2. do. As in the case of fetish request processing, the SC4 receives the received request according to its address and sends it to the corresponding port of the MSI on the hoard-enabled MS read/write path (e.g., port.
に対応する沁読出し/書き込みパス7とする)を用いて
転送する。ボート0で、SC2から送られたボート内ア
ドレスに従い8バイトデータの書込みを行なうことによ
り、1要素分のストアリクエスト処理が終了する。この
様な処理をベクトル要素数回だけ順次繰り返すことによ
り、1つの8バイトベクトルストア命令の実行が終了す
る。7). At boat 0, 8-byte data is written according to the address within the boat sent from SC2, thereby completing the store request processing for one element. By sequentially repeating such processing for the number of vector elements, execution of one 8-byte vector store instruction is completed.
DTC3ではアドレス計算は1バイトを単位として行な
われ、その下3bitを切りすててSCに送出されるリ
クエストアドレスが生成される。4バイトベクトル7エ
ツチ/ストア命令においては、上記の切りすてられた3
bitのうちの最上位1ビツトが、対応するリクエスト
の上4バイトか上4バイトかを指定する為の付加情報と
して、該リクエストに付加される。4バイトベクトルフ
エツチ命令に8いては、SC4からDTC3に転送され
た8バイト7エツテデータから上記付加1’V Wを用
いて上4バイト又は下4バイトを切り出し、■U2に送
出するので、バンクビジータイムは、8バイトベクトル
フエツチ命令の場合と同様に、7サイクルとなる。In the DTC3, address calculation is performed in units of 1 byte, and the lower 3 bits are cut off to generate a request address to be sent to the SC. In the 4-byte vector 7 etch/store instruction, the above truncated 3
The most significant 1 bit of the bits is added to the request as additional information for specifying whether it is the upper 4 bytes or the upper 4 bytes of the corresponding request. In the 4-byte vector fetch instruction, the upper 4 bytes or lower 4 bytes are extracted from the 8-byte 7-fetch data transferred from SC4 to DTC3 using the above addition 1'VW and sent to U2. The busy time is 7 cycles as in the case of the 8-byte vector fetch instruction.
4バイトベクトルストア命令においては、8バイト単位
に設けられたECCコードを作成する為、先ずリクエス
トアドレスに従い8バイトデータを読出し、VRU2か
らVR耽出しパス20、DTC5、ストアパス417、
SC4及びMs読出し/書込みパス7を経由して送られ
た4バイトストアテータを、前記の付加情報を用いて、
半分置換し、結果の8バイトデータを前記リクエストア
ドレスで指定されるMS l、jl域に書き込む。従っ
て8バイトベオトルストア命令の場合のバンクビジータ
イムが7サイクルであるのに対して、4バイトベクトル
ストア砧令の場合のバンクビジータイムは、約2倍例え
ば15サイクルとなる。In the 4-byte vector store instruction, in order to create an ECC code provided in 8-byte units, 8-byte data is first read out according to the request address, and the data is read from the VRU 2 to the VR indulgence path 20, DTC 5, store path 417,
Using the above additional information, the 4-byte store data sent via SC4 and Ms read/write path 7 is
Half is replaced and the resulting 8-byte data is written into the MS l, jl area specified by the request address. Therefore, while the bank busy time for an 8-byte vector store instruction is 7 cycles, the bank busy time for a 4-byte vector store instruction is about twice as long, for example, 15 cycles.
使来のベクトル処理装置では、マスク付8バイトベクト
ルストア命令を実行する場合、マスク1直がIooの要
素に対応する躯ストアを抑止する為に、DT(jにおい
て、マスク値を付加情報としてリクエストに付加する。In a conventional vector processing device, when executing an 8-byte vector store instruction with a mask, the mask value is requested as additional information in DT(j) in order to suppress the physical store whose mask 1 corresponds to the element of Ioo. Add to.
MSlでは上記付加情報を見て、ストア動作を抑止する
。この方法によると、実行されないストア動作の為に、
7サイクルの間当該バンクがビジーとしてSC4におい
て型埋される。The MSl checks the additional information and suppresses the store operation. According to this method, due to the store operation not being executed,
The bank is busy for 7 cycles and is filled in at SC4.
次に、従来のベクトル処理装置で、アドレス連続の4バ
イトベクトルフエツチ/ストア命令を実行する場合を考
えてみる。一般の4バイトベクトルンエツチ/ストア命
令の実行については既に述べた。DT(jにおいてリク
エストアドレスの計算を行なうが、多くの場合、このア
ドレスはベクトルの先頭アドレス(以下■山と呼ぶ)に
、要素間間隔(以下VLRと呼ぶ)をj@次加算してめ
られる。この■LRが±4の時、MS上に当該ベクトル
の各要素が連続して並ぶことにB、る。Next, consider a case where a conventional vector processing device executes a 4-byte vector fetch/store instruction with consecutive addresses. Execution of a general 4-byte vector fetch/store instruction has already been described. The request address is calculated at DT (j), but in most cases, this address is determined by adding the inter-element interval (hereinafter referred to as VLR) to the start address of the vector (hereinafter referred to as ■mount) by j@. .When LR is ±4, each element of the vector is consecutively arranged on MS.
この様な場合をアドレス連続の4バイトベクトルフエツ
チ/ストア命令と呼ぶ。Such a case is called a 4-byte vector fetch/store instruction with consecutive addresses.
例えは、■飢の下8bitが0であり、V=R” 40
4バイトベクトルA−(A(o) 、 A(1) 、
=・−A(n) ) ”tフェッチする命令
L A
を実行する場合、A(0)とA(1)は、MSIS水上
ト0のバンク008バイトの前半及び恢半に格納されて
いる為に、バンクが競合し、SC4からMSlへのA(
1)のフェッチリクエスト&’;!、A(0)のフェッ
チリクエストの7サイクル後に送出されることになる。For example, the bottom 8 bits of starvation are 0, and V=R” 40
4-byte vector A-(A(o), A(1),
=・-A(n)) "When executing the fetch instruction LA, A(0) and A(1) are stored in the first half and second half of the bank 008 byte of MSIS water table 0. , there is a bank conflict and A( from SC4 to MSl
1) Fetch request &';! , A(0) will be sent 7 cycles after the fetch request.
A(2)の7エツチリクエストはA(1)の7エツチリ
クエストの次のサイクルで送出され、以下同様に、2要
素に1回の割合でバンクの競合が発生し、本命令のリク
エスト処理のスループットは、同時に実行されている他
のフェッチ/ストア命令とのバンク競合を無視しても、
平均2リクエスト/8サイクルとなり、アドレス連続で
ない場合の4バイトベクトルフエツチ命令、8バイトベ
クトルフエツチ命令等の処理スループットに対し、約1
/4となる。この様子を第6図のタイムチャートに示す
。The 7-etch request of A(2) is sent in the next cycle of the 7-etch request of A(1), and similarly, bank conflicts occur once every two elements, and the request processing of this instruction is delayed. Throughput ignores bank conflicts with other concurrently executing fetch/store instructions.
The average is 2 requests/8 cycles, and the processing throughput for 4-byte vector fetch instructions, 8-byte vector fetch instructions, etc. when addresses are not consecutive is approximately 1
/4. This situation is shown in the time chart of FIG.
+1ffJ 4fj K L−C1VAR(7) 下8
bitが101 テアリ、VJ−4の4バイトペクトk
C= (C(o) 、 C(1) 、 ・−−−−−
C(n) )にストアする命令
ST C
を実行する場合は、第4図に示す様に、リクエスト処理
は2リクエスト/16サイクルとなり、スループットは
約1/8となる。+1ffJ 4fj K L-C1VAR (7) Lower 8
Bit is 101 Teari, VJ-4 4-byte pect k
C= (C(o), C(1), ・------
When executing the instruction ST C to store in C(n) ), as shown in FIG. 4, the request processing is 2 requests/16 cycles, and the throughput is approximately 1/8.
第2図は、8バイトベクトルA−(A(0ン、A(1)
・・・−= A(n) ) 、同じく8バイトペクト#
B −(B(ol 、 B(1)・・・・・・B(n
))をそれぞれロードする2つのベクトルロード64と
、同じく8バイトベクトルC−(C(0) 、 C(1
) 、・・・・・・C(n))をストアする1つのベク
トルストア命令とが同時に実行され、最高のスルーブツ
トを実現している場合のタイムチャートを示す。Figure 2 shows the 8-byte vector A-(A(0, A(1)
...-= A(n) ), also an 8-byte pect #
B - (B(ol, B(1)...B(n
)), respectively, and the same 8-byte vectors C-(C(0), C(1
), . . . C(n)) are executed simultaneously to achieve the highest throughput.
本発明の目的は、複数のリクエストの処理をまとめて行
なうことにより、主記憶装置のメモリバンクの競合を避
け、ベクトルフェッチ/ストア命令を高速に実行するこ
とが可能なベクトル処理装置を提供することにある。SUMMARY OF THE INVENTION An object of the present invention is to provide a vector processing device that can execute vector fetch/store instructions at high speed by processing multiple requests at once, avoiding contention in memory banks of a main storage device. It is in.
本発明では、主記憶装置と、ベクトルロータ格納用の複
数個のベクトルレジスタとn!j S己主糺1憶装置と
前記ベクトルレジスタ間のデータ転送を司るデータ転送
回路と、当該データ転送回路からの主記憶アクセス安来
を前記主記憶装置に転送し、フェッチリクエストに対し
ては、#Ij MC主記憶装置から読み出されたフエチ
データをilJ記データ転送回路に転送し、ストアリク
エストに均しては、前記データ転送回路から受け取った
ストアデータを前d己主記憶装置に転送するd己憚制[
+装置とを有するベクトル処理装置において、前記デー
タ転送回路で処理する複数のベクトル要素に対するリク
エストを1つにまとめて前記記憶制御装置に転送し、当
該配置惹制側1裳1直及び前記主記憶装置においては当
該リクエストを単一のリクエストとして処理し、フェッ
チリクエストに対しては、前記データ転送回路において
フェッチデータを複数のリクエスト対応のデータに分割
して順次前記ベクトルレジスタに転送し、ストアリクエ
ストに対しては、前日己ベクトルレジスタから転送され
る複数のストアデータな前記データ転送回路において1
つのリクエストに付加して前記記憶制御装置に転送し、
前記主記憶装置に一度に書き込むことを特徴とする。In the present invention, a main memory device, a plurality of vector registers for storing vector rotors, and n! A data transfer circuit that controls data transfer between the storage device and the vector register, and a main memory access from the data transfer circuit to the main memory device, and in response to a fetch request, # Ij Transfers the fetish data read from the MC main memory to the data transfer circuit, and in response to a store request, transfers the store data received from the data transfer circuit to the main memory. Refrain [
In the vector processing device, requests for a plurality of vector elements to be processed by the data transfer circuit are combined into one and transferred to the storage control device, and The device processes the request as a single request, and in response to a fetch request, the data transfer circuit divides the fetch data into data corresponding to multiple requests and sequentially transfers them to the vector register. In contrast, in the data transfer circuit, a plurality of store data are transferred from the previous vector register.
1 request and transfer it to the storage control device,
It is characterized in that the information is written to the main memory at one time.
以下、本発明の一実施例を、図面を用いて説明する。 An embodiment of the present invention will be described below with reference to the drawings.
従来力の説明で述べた様に、DTC3では、2つのベク
トルフェッチ命令と1つのベクトルストア命令を同時に
処理することが出来る。DTC3の内部構造及びSC4
、VRU2とのバスの詳細を第5図に示す。第5図に示
される様に、DTC3は2つのフェッチ専用データ転送
回路(以下FDTCと叶ぷ) 27.28及びストア専
用データ転送回路(以下5DTCと呼ぶ)29から成る
。B”DTC27とSC4の間のフェッチバス15は、
FDTC27からSC4へのリクエストバス15−1.
フェッチリクエスト(”l’ jJD 1+’r報ハス
15−2、フェッチアドレスバス15−3、SC4から
FDTC27へのアドバンスバス15−4、フェッチリ
クエスト付加情報バス15−5、フェッチデータ15−
6からなる。FDTC27からVRU2へのVR書き込
みバス18はアドバンスバス18−1、ライトイネーブ
ルバス1B−2、データバス18−3からなる。FDT
C2a 、フェッチバス16、’VR丼込みバス19に
ついても同様である。S]、li’c29とSC4との
間のストアバス17は、リクエストパス17−1、スト
アリクエスト付加情報バス17−2、ストアアドレスバ
ス17−3、ストアデータハス17−4から成り、5D
TC29とVR[J2との間のVR耽出しバスはヴアリ
ッドパス20−1とストアデータバス2O−21j・ら
成る。As described in the explanation of conventional capabilities, the DTC3 can simultaneously process two vector fetch instructions and one vector store instruction. Internal structure of DTC3 and SC4
, and VRU2 are shown in detail in FIG. As shown in FIG. 5, the DTC 3 consists of two fetch-only data transfer circuits (hereinafter referred to as FDTC) 27 and 28 and a store-only data transfer circuit (hereinafter referred to as 5DTC) 29. B” The fetch bus 15 between the DTC 27 and the SC 4 is
Request bus 15-1 from FDTC27 to SC4.
Fetch request ("l' jJD 1+'r information bus 15-2, fetch address bus 15-3, advance bus 15-4 from SC4 to FDTC 27, fetch request additional information bus 15-5, fetch data 15-
Consists of 6. The VR write bus 18 from the FDTC 27 to the VRU 2 includes an advance bus 18-1, a write enable bus 1B-2, and a data bus 18-3. FDT
The same applies to C2a, the fetch bus 16, and the VR bowl bus 19. The store bus 17 between the li'c 29 and the SC 4 consists of a request path 17-1, a store request additional information bus 17-2, a store address bus 17-3, and a store data bus 17-4.
The VR entertainment bus between TC29 and VR[J2 consists of valid path 20-1 and store data bus 2O-21j.
第7図はFDTC27の内部構造を2ハす図であり、以
下これを用いてFl)TC27の動作を説明1〜る。FIG. 7 is a 2-square diagram of the internal structure of the FDTC 27, and hereinafter, the operation of the Fl) TC 27 will be explained using this diagram.
ブレリクエスト生成回路27−1の出力は、リクエスト
及び付加情報生成回路27−4に送出されると同時に、
マスク読出し回路27−2及びリクエストアドレス計算
回#627−3に入力される。The output of the blur request generation circuit 27-1 is sent to the request and additional information generation circuit 27-4, and at the same time,
It is input to the mask readout circuit 27-2 and the request address calculation circuit #627-3.
リクエスト及び付加情報生成回路27−4では、マスク
(i[27−9及び8バイト内アドレス27−10を用
いて、リクエスト久ぴ第6図(1)に示すフェッチリク
エスト付加情報を生成し、リクエストはF、F、27−
5を経てリクエストパス15−1に送出される。この7
エツテリクエスト付加情報は、H1M 、Vo 、 V
+ 、Co 、C+ 、Iから成る。1−i−0,1の
時、それぞれ8バイト、4バイ)?令、M −Or 1
の時、それぞれ単一リクエスト、複合リクエスト、vo
は8バイトの前半4バイトが有効、Vlは8バイトの後
半4バイトが有効、C0は■。に対応するマスク値、C
8はvlに対応するマスク値、■はM−1の時VLR−
74であることをそれぞれ示す。このフェッチリクエス
ト付加情報はF、F、 柱27−6を経てフェッチリク
エスト付加情報バス15−2に送出される。これらと同
期して、リクエストアドレス計算回路27−6で生成さ
れたリクエストアドレスは、F、F、#P27−7を経
てアドレスバス15−6に送出される。この間のタイム
チャート例を第8図に示し、その時のMS 0) =h
バンクビジータイムチャートを第9図に示す。第9図は
アドレス連続の4バイトベクトルA= (A(o+ 、
A(1)。The request and additional information generation circuit 27-4 generates the fetch request additional information shown in FIG. is F, F, 27-
5 and is sent to the request path 15-1. This 7
Etsute request additional information is H1M, Vo, V
+, Co, C+, and I. 1-i-0,1, 8 bytes and 4 bytes respectively)? Order, M-Or 1
When , single request, compound request, vo
For Vl, the first 4 bytes of 8 bytes are valid, for Vl, the latter 4 bytes of 8 bytes are valid, and for C0, ■. The mask value corresponding to C
8 is the mask value corresponding to vl, ■ is VLR- when M-1
74 respectively. This fetch request additional information is sent to the fetch request additional information bus 15-2 via F, F and pillars 27-6. In synchronization with these, the request address generated by the request address calculation circuit 27-6 is sent to the address bus 15-6 via F, F, #P27-7. An example of the time chart during this period is shown in Fig. 8, and the MS at that time is 0) = h
A bank busy time chart is shown in FIG. Figure 9 shows a 4-byte vector of consecutive addresses A= (A(o+,
A(1).
・・・・・・Aln) )をロードするベクトルロード
命令の場合を示す。The case of a vector load instruction that loads . . . Aln) ) is shown.
VR4込み匍1側1回路27−14は、フェッチリクエ
スト付加情報を、バス15−5、F、F、群27−12
を経て受け取り、それが2つの4バイトフエツチを複合
したリクエストであった場合、アドバンスバス号を2回
生成し、バス18−1に送出する。VR4 included side 1 circuit 27-14 sends the fetch request additional information to bus 15-5, F, F, group 27-12.
If the request is a combination of two 4-byte fetches, the advance bus number is generated twice and sent to the bus 18-1.
この時それら2回のアドバンスに別名するマスク値をバ
ス18−2に送出する。データバス1b−6、F、F、
群27−13を経て送られたフェッチデータ8バイトは
、セレクト回路27−16で制Yd41侶g27−15
によって4バイトずつ切り出されデータバス −18−
5に送出される。At this time, mask values giving aliases to these two advances are sent to bus 18-2. Data bus 1b-6, F, F,
The 8 bytes of fetch data sent via the group 27-13 are controlled by the select circuit 27-16.
Data bus -18-
Sent on 5th.
第8図の場合に対応して、この間のタイムチヤードを第
10図に示す。第10図を見ると判る様に、第0要素及
び第1要素を複合したリクエストに対するアドバンス2
7−11を受け取ると、その事をフェッチリクエスト付
加情報27−12の内のHピット及びMビットで知り、
VRUへのアドバンス18−1を2発送出する。その時
のライトイネーブル18−2はフェッチリクエスト付加
情報27−12の内のC8+C4ビツトから生成する。Corresponding to the case of FIG. 8, the time chart during this period is shown in FIG. As can be seen from Figure 10, Advance 2 for a request that combines the 0th element and the 1st element
When it receives 7-11, it knows this from the H pit and M bit in the fetch request additional information 27-12,
Send 2 advance 18-1s to VRU. The write enable 18-2 at this time is generated from bits C8+C4 of the fetch request additional information 27-12.
本例においては、VLR−4の場合、すなわち4バイト
データが訟上でアドレス順方向に連続してい・るので、
coが第0要素のライトイネーブルとなり、CIが第1
賛累のライトイネーブルとなる。In this example, in the case of VLR-4, 4-byte data is sequential in the forward address direction, so
co becomes the write enable for the 0th element, and CI becomes the write enable for the 1st element.
It becomes a write enable for the support.
V=R−−4の場合、すなわち4バイトデータが歪上で
アドレス逆方向に連続している場合には、フェッチリク
エスト付加情報27−12の内のIビットが111とな
り、01ビツトが第o要素のライトイネーブルとなり、
coビットが第1要素のライトイネーブルとなる。セレ
クト回路27−16においても同様の事が言える。In the case of V=R--4, that is, when the 4-byte data is consecutive in the opposite address direction on the distortion, the I bit in the fetch request additional information 27-12 becomes 111, and the 01 bit becomes the o-th bit. Enables the element to be written,
The co bit becomes the write enable for the first element. The same can be said of the select circuit 27-16.
本例の様に、4バイトアドレス順連続の場合は、訟から
転送された8バイトフェーツチデータ27−13の上位
4バイトがまず切り出されて、第0要素のデータとして
データバス18−6に送出される。データバス18−3
の下4バイトには10′が入る。次サイクルでは7エツ
チデータ27−13の下位4バイトか切り出され、第1
要素のデータとしてデータバス18−6の上4バイトに
送出され、下4バイトには“01が入る。VLR=−4
の場合は、逆に7エツチテータ27−L5の下4バイト
が第O要素のデータとして切り出され、次サイクルで上
4バイトが第1要素のデータとして切り出される。VR
U2においては、アドバンス18−1によってVRの書
込みホインタの更新を行ない、ライトイネーブル18−
2によってVR書込みデータ18−5の書込み可否を決
める。In the case of consecutive 4-byte address order as in this example, the upper 4 bytes of the 8-byte fetch data 27-13 transferred from the address are first cut out and sent to the data bus 18-6 as the 0th element data. Sent out. Data bus 18-3
10' is entered in the lower 4 bytes. In the next cycle, the lower 4 bytes of 7-etch data 27-13 are cut out, and the first
It is sent to the upper 4 bytes of the data bus 18-6 as element data, and "01" is entered in the lower 4 bytes.VLR=-4
In this case, conversely, the lower 4 bytes of the 7 etcher 27-L5 are cut out as data for the O-th element, and in the next cycle, the upper 4 bytes are cut out as data for the 1st element. VR
In U2, the advance 18-1 updates the VR write pointer, and the write enable 18-
2 determines whether or not the VR write data 18-5 can be written.
倍精度命令においては、フェッチリクエスト付加情報2
7−12の内のH,M、Iの各ビットは常に0°となつ
、騙−v、 、 co−c、となる。また、フェッチデ
ータ8バイト27−15はそのままVR書込みデータ8
バイト18−6としてVRU2に送出される。For double-precision instructions, fetch request additional information 2
Each bit of H, M, and I in 7-12 is always 0°, so that the equations are -v, , co-c. Also, fetch data 8 bytes 27-15 are VR write data 8 as is.
Sent to VRU2 as byte 18-6.
次に、第11図を用いて、5DTC29の動作を説明す
る。ヴアリッドパス20−1を経てVRU2から転送さ
れたヴアリッドは、l;’、1;’、29−1を経て、
リクエスト及び付加情報生成回路に送出されると同時に
、マスク読出し回路29−6及びリクエストアドレス計
算回路29−4に入力される。リクエスト及び付加情報
生成回路29−5では、マスク値29−12及び8バイ
ト内アドレス29−13を用いて、リクエスト及び第6
図(2)に示すストアリクエスト付加情報を生成する。Next, the operation of the 5DTC 29 will be explained using FIG. 11. The variable transferred from the VRU 2 via the variable path 20-1 passes through l;', 1;', 29-1,
At the same time as being sent to the request and additional information generation circuit, it is input to the mask reading circuit 29-6 and the request address calculation circuit 29-4. The request and additional information generation circuit 29-5 uses the mask value 29-12 and the 8-byte address 29-13 to generate the request and the sixth
The store request additional information shown in Figure (2) is generated.
このストアリクエスト付m情報は、Vo = VIより
成る。VOは8バイトの前半4バイトが有効、■1は8
バイトの成牛4バイトが有効であることをそれぞれ示す
。このストアリクエスト付加情報のV。+ V、はそれ
ぞれF、F、29−7及びF、F、群29−8を経てリ
クエストバス17−1及びストアリクエスト付加情報パ
ス17−2に送出される。これらと同期して、リクエス
トアドレス計算回路29−4で生成されたリクエストア
ドレスは、F、F、群29−9を経てアドレスバス17
−3に送出される。又ストアデータバス20−2を経て
F、F、群29−2の上4バイトにセットされたストア
データ4バイトは、2要素分が複合されてF、F、群2
9−10にセットされ、ストアデータバス17−4に送
出される。この間のタイムチャート及び諮の谷パンクビ
ジータイムチャートをそれぞれ第12図、第16図に示
す。第16図は、4バイトベクトルC−(C(0) 、
C(1) −C(n) )をストアするベクトルスト
ア命令の場合を示す。This m information with store request consists of Vo = VI. For VO, the first 4 bytes of 8 bytes are valid, ■1 is 8
Each indicates that 4 adult cow bites are valid. V of this store request additional information. +V is sent to the request bus 17-1 and the store request additional information path 17-2 via the F, F, 29-7 and F, F, groups 29-8, respectively. In synchronization with these, the request address generated by the request address calculation circuit 29-4 is sent to the address bus 17 via F, F, group 29-9.
-3. In addition, the 4 bytes of store data set in the upper 4 bytes of F, F, group 29-2 via the store data bus 20-2 are combined into two elements and are stored in F, F, group 2.
9-10 and sent to the store data bus 17-4. A time chart during this period and a puncture busy time chart of Kouno Valley are shown in FIG. 12 and FIG. 16, respectively. Figure 16 shows the 4-byte vector C-(C(0),
A case of a vector store instruction that stores C(1)-C(n)) is shown.
本発明によれ(工、マスク付きも富めて、ベクトルフェ
ッチ/ストア両会の処*乞複数要素ずつまとめて処理す
ることが可能となり、また、マスク値によって抑止すべ
き要素のストア処理をリクエスト発生時点から抑止する
ことが出来るので、同一ベクトルフェッチ/ストア稲令
処理における要素間のバンク競合を避け、仮数ベクトル
のフェッチ/ストア命令間のバンク競合を軽減すること
が出来、それらの命令処理速度を大巾に向上出来る。According to the present invention, it is possible to process multiple elements at once in both vector fetch/store functions by using a mask, and it is also possible to request store processing of elements that should be suppressed by mask values. Since it can be suppressed from the moment it occurs, it is possible to avoid bank conflicts between elements in the same vector fetch/store instruction processing, reduce bank conflicts between mantissa vector fetch/store instructions, and improve the processing speed of those instructions. can be greatly improved.
第1図は、ベクトル処理装置の構成例を示す図、第2図
は、一般的なベクトルフェッチ/ストア命令処理におけ
るバンクビジータイムの概念図、第5図と第4図は、4
バイトアドレス連続ベクトルフエツチストア命令処理で
のバンクビジータイムチャート、第5図は、本発明の一
実施例におけるデータ転送回路の構成図、第6図(1)
と(2)は、フェッチ及びストアリクエスト付加情報を
説明するだめの図、第7図は、フェッチ用データ転送回
路の内部構造を示す図、第8図と第10図は、フェッチ
用データ転送回路の動作例のタイムチャート、第9図は
、第8図、第10図に対応するMSのバンクビジータイ
ムチャート、第11図は、ストア用データ転送回路の内
部構造を示す図、第12図と第16図は、それぞれスト
ア用データ転送回路の動作例のタイムチャート、訟のバ
ンクビジータイムチャートである。
1・・・MS、 2・・・VRU、 3・・・DTC。
4・・・SC,5,6・・・ALU。
7〜14・・・■読出し/書込みパス、15〜16・・
・フェッチパス、17・・・ストアパス、18〜19・
・・VR誉込みパス、20・・・VR読出しパス、21
〜26・・・ALU用データバス、27〜28・・・フ
ェッチ用データ転送回路、29・・・ストア用データ歓
送回路、
27−1・・・プレリクエスト生成回路、27−2.2
9−3・・・マスク読出し回路、27−5 、29−4
・・・リクエストアドレス計算回路、27−14・・・
VR薔込み制御回路、27−4 、29−5・・・リク
エスト及び付加情報生成回路、27−16 、29−6
・・・セレクト回路。
第 1 図
第3回
!−酊一
第4−回
坑 タ図
ゅ、1 高鍋朋友
冨8図
27I Φ 3 0 ■ デLリクエストlターl 1
2. Φ0 0.O’ノクエスト1デー3 7 リク
エストアi’Lス
2sル 2.ム+825ムや1,25搾2゜筆 9 渕
第70 図
27−// lの 2ρ q■ 6.■ アト・ノく・
二人27−ノ3 @、■ ■、■ ■、 5 6.り
フエ、7チテ゛ニ夕/B−30■ ■ ■ ■ ■ ■
■ vsl>みテ°1夕箭it 品
蕃72 図
/7−1 O! ■ 4 リクエストFIG. 1 is a diagram showing a configuration example of a vector processing device, FIG. 2 is a conceptual diagram of bank busy time in general vector fetch/store instruction processing, and FIGS.
FIG. 5 is a bank busy time chart in byte address continuous vector fetch store command processing, and FIG. 6 is a block diagram of a data transfer circuit in an embodiment of the present invention.
and (2) are diagrams for explaining fetch and store request additional information, Figure 7 is a diagram showing the internal structure of the fetch data transfer circuit, and Figures 8 and 10 are the fetch data transfer circuit. FIG. 9 is a bank busy time chart of the MS corresponding to FIGS. 8 and 10. FIG. 11 is a diagram showing the internal structure of the store data transfer circuit, and FIG. FIG. 16 is a time chart of an example of the operation of the store data transfer circuit and a bank busy time chart of the case, respectively. 1...MS, 2...VRU, 3...DTC. 4...SC, 5,6...ALU. 7-14...■ Read/write path, 15-16...
・Fetch pass, 17...Store pass, 18-19・
...VR honorable pass, 20...VR readout pass, 21
~26... Data bus for ALU, 27-28... Data transfer circuit for fetch, 29... Data forwarding circuit for store, 27-1... Pre-request generation circuit, 27-2.2
9-3...Mask readout circuit, 27-5, 29-4
...Request address calculation circuit, 27-14...
VR control circuit, 27-4, 29-5... request and additional information generation circuit, 27-16, 29-6
...Select circuit. Figure 1 Part 3! -Sakeichi 4th-Kai Tazu, 1 Takanabe Tomomi 8Figure 27I Φ 3 0 ■ DeL request l Tarl 1
2. Φ0 0. O'NoQuest 1 Day 3 7 Request I'L 2s 2. 2ρ q■ 6. ■ Ato Noku
Two people 27-no 3 @, ■ ■, ■ ■, 5 6. the law of nature
Hue, 7th District/B-30 ■ ■ ■ ■ ■ ■
■ vsl>Mite°1 Yushu it 品蕃72 Figure/7-1 O! ■ 4 Request
Claims (1)
のベクトルレジスタと前記主記憶装置と前記ベクトルレ
ジスタ間のデータ転送を司るデータ転送回路と、当該デ
ータ転送回路からの主記憶アクセス要求を前記主記憶装
置に転送し、フェッチリクエストに対しては、前記主記
憶装置から読み出されたフエチデータを前記データ転送
回路に転送し、ストアリクエストに対しては、前記デー
タ転送回路から受け取ったストアデータを前記主記憶装
置に転送する記憶制御装置とを有するベクトル処理装置
において、前記データ転送回路で処理する複数のベクト
ル要素に対するリクエストを一つにまとめて前記記憶制
御装置に転送し、当該記憶制御装置及び前記主記憶装置
においては当該リクエストを単一のリクエストとして処
理し、フェッチリクエストに対しては、前記データ転送
回路においてフェッチデータを複数のリクエスト対応の
データに分割して順次前記ベクトルレジスタに転送し、
ストアリクエストに対しては、前記ベクトルレジスタか
ら転送される複数のストアデータ’l 7?iJ 記デ
ータ転送回路において一つのリクエストに付mして前記
記憶制御装置に転送し、前記主記憶装置に一度に豊さ込
むことを特徴と1−るベクトル処理装置。(1) A main memory device, a plurality of vector registers for storing vector data, a data transfer circuit that controls data transfer between the main memory device and the vector registers, and a main memory access request from the data transfer circuit. In response to a fetch request, the fetish data read from the main memory is transferred to the data transfer circuit, and in response to a store request, the store data received from the data transfer circuit is transferred to the main memory. A vector processing device having a storage control device that transfers data to the main storage device, in which requests for a plurality of vector elements processed by the data transfer circuit are combined into one and transferred to the storage control device; The main storage device processes the request as a single request, and in response to a fetch request, the data transfer circuit divides the fetch data into data corresponding to a plurality of requests and sequentially transfers the data to the vector register,
In response to a store request, multiple store data 'l7?' are transferred from the vector register. 1. A vector processing device characterized in that the data is attached to one request in the data transfer circuit, transferred to the storage control device, and stored in the main storage device all at once.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP24394583A JPS60136874A (en) | 1983-12-26 | 1983-12-26 | Vector processor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP24394583A JPS60136874A (en) | 1983-12-26 | 1983-12-26 | Vector processor |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS60136874A true JPS60136874A (en) | 1985-07-20 |
JPH0414384B2 JPH0414384B2 (en) | 1992-03-12 |
Family
ID=17111369
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP24394583A Granted JPS60136874A (en) | 1983-12-26 | 1983-12-26 | Vector processor |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS60136874A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01231174A (en) * | 1988-03-11 | 1989-09-14 | Nec Corp | Memory access controller |
JP2012198621A (en) * | 2011-03-18 | 2012-10-18 | Nec Corp | Memory access control device, processor, and memory access control method |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5619572A (en) * | 1979-07-23 | 1981-02-24 | Fujitsu Ltd | Buffer memory control system |
JPS5654558A (en) * | 1979-10-09 | 1981-05-14 | Fujitsu Ltd | Write control system for main memory unit |
JPS5854477A (en) * | 1981-09-29 | 1983-03-31 | Fujitsu Ltd | Controlling method of main storage |
-
1983
- 1983-12-26 JP JP24394583A patent/JPS60136874A/en active Granted
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5619572A (en) * | 1979-07-23 | 1981-02-24 | Fujitsu Ltd | Buffer memory control system |
JPS5654558A (en) * | 1979-10-09 | 1981-05-14 | Fujitsu Ltd | Write control system for main memory unit |
JPS5854477A (en) * | 1981-09-29 | 1983-03-31 | Fujitsu Ltd | Controlling method of main storage |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01231174A (en) * | 1988-03-11 | 1989-09-14 | Nec Corp | Memory access controller |
JP2012198621A (en) * | 2011-03-18 | 2012-10-18 | Nec Corp | Memory access control device, processor, and memory access control method |
Also Published As
Publication number | Publication date |
---|---|
JPH0414384B2 (en) | 1992-03-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2637749B2 (en) | Data processing apparatus and processing method | |
US20200073702A1 (en) | Method and system for performing parallel computation | |
CN109726800B (en) | Operation method, device and related product | |
JPH04245324A (en) | Arithmetic unit | |
JPS60136874A (en) | Vector processor | |
JP2000029767A (en) | Write buffer of data processor | |
JPS58208862A (en) | Shared memory controlling system | |
JP2008102599A (en) | Processor | |
TWI843280B (en) | Artificial intelligence accelerator and operating method thereof | |
JP2744152B2 (en) | Data driven data processor | |
JP2749105B2 (en) | Boot method of parallel computer | |
JP2001167084A (en) | Vector operation processor and vector data moving method | |
TW202420085A (en) | Artificial intelligence accelerator and operating method thereof | |
JP2828972B2 (en) | Parallel processor | |
JP2550964B2 (en) | Memory access control method | |
JPS5999522A (en) | Input and output control system | |
JP2000285087A (en) | Method for data communication between nodes | |
JPS5998261A (en) | Information processing device | |
CN116049087A (en) | Many-core intelligent processor communication architecture design method based on network-on-chip | |
JPS6058500B2 (en) | Access control method | |
JPS5943435A (en) | Interprocessor data transfer system | |
JPS58101336A (en) | High-speed information transmission system | |
JPH04207269A (en) | Parallel processing device for moving image | |
JPS6113267B2 (en) | ||
JPS5899869A (en) | Parallel processing system |