JP3005456B2 - Vector processing equipment - Google Patents
Vector processing equipmentInfo
- Publication number
- JP3005456B2 JP3005456B2 JP7150213A JP15021395A JP3005456B2 JP 3005456 B2 JP3005456 B2 JP 3005456B2 JP 7150213 A JP7150213 A JP 7150213A JP 15021395 A JP15021395 A JP 15021395A JP 3005456 B2 JP3005456 B2 JP 3005456B2
- Authority
- JP
- Japan
- Prior art keywords
- port
- vector
- output
- odd
- input
- 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
Links
Landscapes
- Advance Control (AREA)
- Multi Processors (AREA)
- Complex Calculations (AREA)
Description
【0001】[0001]
【産業上の利用分野】本発明はベクトル処理装置に関す
る。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a vector processing device.
【0002】[0002]
【従来の技術】一般に、ベクトル処理装置は、主記憶装
置とレジスタあるいは演算器との間で大量のデータを高
速に処理するために、ベクトル演算部から同一タイミン
グにおいて複数のデータを同時にメモリアクセス制御部
に連続的に供給して、高速化を実現している。2. Description of the Related Art In general, a vector processing device simultaneously controls a plurality of data from a vector operation unit at the same timing in order to process a large amount of data between a main storage device and a register or an arithmetic unit at a high speed. It is supplied continuously to the unit to achieve high speed.
【0003】従来この種のベクトル処理装置は、図2に
示すように、図示省略したベクトル演算部からの、各ベ
クトル要素リクエスト単位の4つの入力ポート、各入力
ポート毎の入力レジスタ21a〜21d、また、ポート
競合発生時の緩衝用に、同一動作するバッファ22a〜
22d、バッファの読み出しレジスタ23a〜23d、
ポート競合の検出、バッファ制御及びクロスバ制御を行
うアービタ26、アービタ26の制御信号により、各出
力ポートの入力要素を選択するクロスバ24及び出力ポ
ート対応の出力レジスタ25a〜25dを有している。Conventionally, as shown in FIG. 2, this type of vector processing apparatus has four input ports for each vector element request, input registers 21a to 21d for each input port, Buffers 22a to 22a operating in the same manner for buffering when a port conflict occurs.
22d, buffer read registers 23a to 23d,
An arbiter 26 for detecting port conflicts, performing buffer control and crossbar control, a crossbar 24 for selecting an input element of each output port according to a control signal of the arbiter 26, and output registers 25a to 25d corresponding to the output ports.
【0004】この従来のベクトル処理装置は、主記憶装
置が8バイトを1ポートとしてインタリーブされてお
り、最小アクセス単位は8バイトのアクセスであり、4
バイトメモリアクセス命令も、8バイト単位に行ってい
る。In this conventional vector processing device, the main storage device is interleaved with 8 bytes as one port, the minimum access unit is 8-byte access, and
The byte memory access instruction is also performed in units of 8 bytes.
【0005】図3(A)は従来例及び本願発明を説明す
るためのベクトルロード/ストア命令時における各ベク
トル要素(以下、要素と記す)のアドレスと、各要素が
出力されるポートを要素毎に示す。図3(A)におい
て、ベクトル命令のベースアドレスを”0”、ディスタ
ンスを”4”とすると、要素0,1、要素2,3、・・
・、と連続2要素ずつが出力ポートとなることがわか
る。FIG. 3A shows an address of each vector element (hereinafter referred to as an element) at the time of a vector load / store instruction for explaining the conventional example and the present invention, and a port to which each element is output for each element. Shown in In FIG. 3A, assuming that the base address of the vector instruction is “0” and the distance is “4”, elements 0, 1, element 2, 3,.
It can be seen that two consecutive elements become output ports.
【0006】次に、図3(A)のベクトル命令時におけ
る従来のベクトル処理装置(図2)の動作を説明する。
先ず、入力レジスタ21a〜21dにはそれぞれ要素0
から順番に、4要素ごとに連続的に格納される。あるタ
イミングで読み出しレジスタ23a〜23dに格納され
た要素0〜3に対して、アービタ26によりポート競合
の検出が行われる。この場合、要素0,1はそれぞれ出
力ポート0に、要素2、3はそれぞれ出力ポート1に向
かうので、ポート競合が発生することになる。ポート競
合が発生した場合、競合した要素の優先順位の高い要素
(要素番号の最も小さい要素)がアービタ26により検
出され、クロスバ24の出力ポート0用セレクタは読み
出しレジスタ23aの要素0、クロスバ24の出力ポー
ト1用セレクタでは読み出しレジスタ23cの要素2が
それぞれ選択され、出力レジスタ25a,25に格納さ
れる。Next, the operation of the conventional vector processing apparatus (FIG. 2) at the time of the vector instruction of FIG. 3A will be described.
First, each of the input registers 21a to 21d has an element 0
, And sequentially stored for every four elements. At a certain timing, the arbiter 26 detects a port conflict with respect to the elements 0 to 3 stored in the read registers 23a to 23d. In this case, the elements 0 and 1 are directed to the output port 0, and the elements 2 and 3 are directed to the output port 1, so that port conflict occurs. When a port conflict occurs, the arbiter 26 detects the element having the highest priority (element having the smallest element number) of the conflicting element, and the selector for the output port 0 of the crossbar 24 selects the element 0 of the read register 23a and the element of the crossbar 24. In the selector for the output port 1, the element 2 of the read register 23c is selected and stored in the output registers 25a and 25.
【0007】この時アービタ26からは、競合が発生し
たことによるホールド要求が出され、読み出しレジスタ
23a〜23dはホールドし、バッファ22a〜22d
はバッファのリードアドレスをホールドし、ホールド要
求が解除されるまでその状態を保つことになる。つま
り、連続液に入力レジスタ21a〜21dに入力してく
る要素は、バッファ22a〜22dに、同一タイミング
のリクエストは各バッファの同一ワードにバッファリン
グされていくことになる。これは同一命令内の各要素
間、あるいは命令間において、同一アドレスへメモリア
クセスする順序を守るために行われる処理である。At this time, the arbiter 26 issues a hold request due to the occurrence of the conflict, and the read registers 23a to 23d hold and the buffers 22a to 22d
Holds the read address of the buffer and maintains that state until the hold request is released. That is, the elements input to the input registers 21a to 21d in the continuous liquid are buffered in the buffers 22a to 22d, and requests at the same timing are buffered in the same word in each buffer. This is a process performed to maintain the order of memory access to the same address between elements in the same instruction or between instructions.
【0008】競合に敗れて残った要素1,3に対して
は、次のタイミングで競合検出が行われ、今度は、ポー
ト競合は発生しないのでアービタ26からのホールド要
求は解除され、読み出しレジスタ23a〜23dは次の
タイミングで要素4〜7の4要素が格納される。以降、
同様な処理が全ての要素の終了まで行われる。For the elements 1 and 3 remaining due to the contention, the contention is detected at the next timing. Since no port contention occurs, the hold request from the arbiter 26 is released and the read register 23a 23d stores four elements of elements 4 to 7 at the next timing. Or later,
Similar processing is performed until the end of all elements.
【0009】図5(A)は上記動作を示したタイミング
図であり、要素0,2が出力ポート25a〜25dに到
着するタイミングを1とした時の各要素の出力ポート到
着タイミングを示している。また1つのタイミングにお
ける、ポート競合検出対象要素、および出力ポートレジ
スタ到着要素数も示している。図3(A)のベクトル命
令の場合、ポート競合により、各タイミングに4要素ず
つの入力に対して、出力2が要素ずつであることがわか
る。これは最大スループット1/2となる。FIG. 5A is a timing chart showing the above operation, and shows the output port arrival timing of each element when the timing when the elements 0 and 2 arrive at the output ports 25a to 25d is set to 1. . Also, the port conflict detection target element and the number of output port register arriving elements at one timing are shown. In the case of the vector instruction shown in FIG. 3A, it can be seen that output 2 is an element for each input of four elements at each timing due to port conflict. This results in a maximum throughput of 1 /.
【0010】図3(B)は、従来例および本願発明を説
明するために、図3(A)の場合に対してディスタンス
のみを12とした場合の、ベクトルロード/ストア命令
時における各ベクトル要素のアドレスと、各要素が出力
される出力ポートを要素毎に示す。FIG. 3B is a diagram for explaining the conventional example and the present invention, in which each vector element at the time of a vector load / store instruction when only the distance is 12 with respect to the case of FIG. And the output port to which each element is output for each element.
【0011】図3(B)の場合における図2の従来例の
タイミング図は図5(B)のようになる。FIG. 5B is a timing chart of the conventional example of FIG. 2 in the case of FIG. 3B.
【0012】[0012]
【発明が解決しようとする課題】上述した従来のベクト
ル処理装置では、4バイトのベクトルロード、ストア命
令(ディスタンスが4バイトの奇数倍のケース)におい
て、スループットが最大値の1/2となってしまい、ベ
クトルロードおよびストア命令の、主メモリのアクセス
時間に深刻な性能低下を引き起こすという欠点がある。In the above-described conventional vector processing apparatus, the throughput becomes 1/2 of the maximum value in a 4-byte vector load / store instruction (in the case where the distance is an odd multiple of 4 bytes). As a result, there is a disadvantage in that the performance of the main memory access time of the vector load and store instructions is seriously degraded.
【0013】[0013]
【課題を解決するための手段】本発明のベクトル処理装
置は、ベクトル要素ごとにベクトル演算を行う複数のベ
クトル演算部と、複数のバンクを有し、独立にアクセス
可能な複数のポートを有するメモリモジュールで構成さ
れる複数の主記憶部と、前記ベクトル演算部と前記主記
憶部間で複数のデータ転送が前記主記憶部における各ポ
ートのバイト幅単位に独立に行えるメモリアクセス制御
部を備えるベクトル処理装置に於いて、前記メモリアク
セス制御部に、前記ベクトル演算部から、パイプライン
方式で入力するベクトル要素単位、かつ要素番号順のベ
クトル要素リクエストを保持するn個(n≧2)の入力
レジスタと、前記入力レジスタに対応して保持内容を格
納するn個の入力バッファと、前記入力バッファから読
み出したベクトル要素単位のリクエストを格納するn個
の読み出しレジスタと、前記読み出しレジスタに保持さ
れたn個のベクトル要素リクエストについて、要素番号
の競合調停を行う偶数アービタ、奇数アービタと、前記
偶数アービタ、奇数アービタにより競合調停された各ベ
クトル要素リクエストデータを、アドレスによるベクト
ル要素リクエスト指定の出力ポートへ送る偶数クロス
バ、奇数クロスバと、前記偶数クロスバ、奇数クロスバ
から最大2つのベクトル要素リクエストデータにつき、
偶数クロスバデータを、出力する順番が先になるように
優先して、同時に格納することが可能な、前記出力ポー
トに対応の出力バッファを設けたことを特徴とするベク
トル処理装置。A vector processing apparatus according to the present invention has a plurality of vector operation units for performing a vector operation for each vector element, a memory having a plurality of banks and a plurality of ports which can be accessed independently. A vector comprising: a plurality of main storage units configured as modules; and a memory access control unit that can independently perform a plurality of data transfers between the vector operation unit and the main storage unit in byte width units of each port in the main storage unit. In the processing device, n (n ≧ 2) input registers for holding vector element requests in the order of element numbers in vector element units input in a pipeline manner from the vector operation section to the memory access control section. And n input buffers for storing held contents corresponding to the input registers, and vectors read from the input buffers N read registers for storing requests in elementary units, and even number arbiters, odd number arbiters, and even number arbiters for competing and arbitrating element numbers for the n vector element requests held in the read registers. Each of the contention arbitrated vector element request data is sent to an output port designated by the address of the vector element request by an even crossbar, an odd crossbar, and up to two vector element request data from the even crossbar and the odd crossbar.
A vector processing device, wherein an output buffer corresponding to the output port is provided, which is capable of storing even-numbered crossbar data at the same time, so that the output order is first.
【0014】[0014]
【実施例】以下、図面を用いて本発明の実施例について
詳述する。Embodiments of the present invention will be described below in detail with reference to the drawings.
【0015】図1は本発明の一実施例を示すブロック図
であり、本ベクトル処理装置は8バイト単位に並列にデ
ータ転送が可能である。FIG. 1 is a block diagram showing an embodiment of the present invention. This vector processing apparatus can transfer data in parallel in units of 8 bytes.
【0016】図1において、4つの入力レジスタ11a
〜11dは図示省略したベクトル演算部からのベクトル
ロード/ストアリクエスト受けるレジスタであり、各要
素単位の複数(例として4要素)のリクエストが要素番
号順に入力ポート0〜3に転送される。In FIG. 1, four input registers 11a are provided.
Reference numerals 11d denote registers for receiving vector load / store requests from a vector operation unit (not shown). A plurality of (for example, four elements) requests for each element are transferred to the input ports 0 to 3 in the order of element numbers.
【0017】4つのバッファ12a〜12dは、出力ポ
ート競合による待ち合わせが起きたときに連続的にベク
トル演算部から発行されるリクエストの緩衝用のバッフ
ァであり、全てのバッファはリードアドレスおよびライ
トアドレスが共通で、同一動作をする。The four buffers 12a to 12d are buffers for continuously buffering requests issued from the vector operation unit when queuing due to output port contention occurs, and all buffers have read addresses and write addresses. Common and perform the same operation.
【0018】4つの読み出しレジスタ13a〜13d
は、バッファ12a〜12dの読み出し用のレジスタで
あり、出力ポート競合検出の対象となる。Four read registers 13a to 13d
Is a register for reading out the buffers 12a to 12d, and is a target of output port conflict detection.
【0019】偶数ポートアービタ16aは入力ポートが
偶数(ポート0,2…読み出しレジスタ13a,13
c)の要素のみを対象とした出力ポート競合調停回路で
であり、奇数ポートアービタ16bは、入力ポートが奇
数(ポート1,3…読み出しレジスタ13b,13d)
の要素のみを対象とした出力ポート競合調停回路であ
り、それぞれのアービタは独立に動作する。これは、例
えば入力ポート0のベクトル要素リクエストと、入力ポ
ート1のベクトル要素がリクエストが同一出力ポートへ
向かったとしても、アービタが異なるので強豪は発生し
ていないようにみえ、出力ポート競合は検出せず、両方
のリクエストが出力可能となることを意味する。The input port of the even-numbered port arbiter 16a is an even number (ports 0, 2,..., Readout registers 13a, 13a).
This is an output port conflict arbitration circuit for only the element c), and the odd-numbered port arbiter 16b has an odd-numbered input port (ports 1, 3,... read-out registers 13b, 13d).
And an arbiter that operates independently. This is because even if the request of the vector element of input port 0 and the request of the vector element of input port 1 are directed to the same output port, the arbiter is different, so that it seems that no strong man has occurred, and output port conflict is detected. No, it means that both requests can be output.
【0020】また、偶数ポートアービタ16a,奇数ポ
ートアービタ16bにおいて、どちらかのアービタで出
力ポート競合が検出された場合は、読み出しレジスタ1
3a〜13bおよびバッファ12a〜12dのリードア
ドレスを、全ての出力ポート競合がなくなるまでホール
ドとして、後続リクエストのアービタ参加を抑止する。
これは命令内の各要素間、あるいは命令間の要素間にお
いて、同一アドレスへのアクセスする順序を守るための
処理である。If the output port conflict is detected in either of the even port arbiter 16a and the odd port arbiter 16b, the read register 1
The read addresses of the buffers 3a to 13b and the buffers 12a to 12d are held until all output port conflicts are eliminated, and the arbiter participation of subsequent requests is suppressed.
This is a process for maintaining the order of accessing the same address between elements in an instruction or between elements between instructions.
【0021】偶数ポートクロスバ14aは、偶数ポート
アービタ16aによって制御され、出力ポート競合調停
結果により偶数入力ポートのベクトル要素リクエストの
みを出力ポート(例では4ポート)へ転送している。奇
数クロスバ14bは、同様に、奇数ポートアービタ16
bによって制御され、奇数入力ポートのベクトル要素リ
クエストのみを出力ポートへ転送している。The even port crossbar 14a is controlled by the even port arbiter 16a, and transfers only the vector element request of the even input port to the output port (four ports in the example) according to the output port contention arbitration result. The odd-numbered crossbar 14b is similarly connected to the odd-numbered port arbiter 16
b, and transfers only the vector element request of the odd input port to the output port.
【0022】出力バッファ15a〜15dは、それぞれ
出力ポートに対応して設けられ、1つの出力バッファ
は、偶数ポートクロスバ14aと、奇数ポートクロスバ
14bのそれぞれから送られる、最大2つのベクトル要
素リクエストを同時に格納可能なバッファであり、常
に、偶数ポートクロスバからのベクトル要素リクエスト
を、出力する順番が先になるように優先して格納してい
る。Output buffers 15a to 15d are provided corresponding to the respective output ports, and one output buffer simultaneously receives a maximum of two vector element requests sent from each of the even port crossbar 14a and the odd port crossbar 14b. The buffer is a storable buffer and always stores a vector element request from an even-numbered port crossbar with priority so that the output order is first.
【0023】本実施例の動作を説明するために、再び図
3を使用する。FIG. 3 is used again to explain the operation of this embodiment.
【0024】図4(A)は図3(A)に示したベクトル
ロード/ストア命令時における各べクトル要素のアドレ
スと、各要素が出力される出力ポートの関係下における
本発明でのベクトル要素リクエストの出力状況を示して
いる。この動作を図1を参照して詳細に説明する。FIG. 4A shows a vector element according to the present invention under the relationship between the address of each vector element at the time of the vector load / store instruction shown in FIG. 3A and the output port from which each element is output. Indicates the output status of the request. This operation will be described in detail with reference to FIG.
【0025】要素0〜3の4要素は、入力ポート0〜3
より入力して、入力レジスタ11a〜11dに要素番号
順にそれぞれ格納される。次のタイミングでは入力ポー
トには要素4〜7の4要素が送られてきており、以降各
タイミング毎に、4要素ずつ連続的にパイプラン方式で
送られ、入力レジスタ11a〜11dに順次格納され
る。Elements 0 to 3 are input ports 0 to 3
And stored in the input registers 11a to 11d in the order of element numbers. At the next timing, four elements of elements 4 to 7 are sent to the input port. Thereafter, at each timing, four elements are continuously sent by the pipe run method and sequentially stored in the input registers 11a to 11d. .
【0026】最初の4要素、要素0〜3は、バッファ1
2a〜12dを介して読み出しレジスタ13a〜13d
に要素番号順に格納される。それまでは読み出しレジス
タ13a〜13dには、有効な要素は格納されていなか
った。ここで、奇数ポートアービタ16aと偶数ポート
アービタ16bで出力ポート競合がそれぞれチェックさ
れる。偶数ポートアービタ16aは、読み出しレジスタ
の偶数ポート(ポート0,2・・・13a,13c)に
格納した要素0,2のそれぞれの出力ポートをチェック
する。この場合、図3(A)より要素0は出力ポート
0、要素2は出力ポート1なので出力ポート競合は発生
しないので要素0,2それぞれの要素をクロスバ14a
により要素0はポート0、要素2は出力ポート1へ送る
制御を行う。一方、奇数ポートアービタ16bは、読み
出しレジスタの奇数ポート(ポート1,3・・・13
b,13d)に格納した要素1,3のそれぞれの出力ポ
ートをチェックする。The first four elements, elements 0-3, are buffer 1
Readout registers 13a to 13d via 2a to 12d
Are stored in the order of element numbers. Until that time, valid elements were not stored in the read registers 13a to 13d. Here, output port conflicts are checked by the odd port arbiter 16a and the even port arbiter 16b. The even port arbiter 16a checks the output ports of the elements 0 and 2 stored in the even ports (ports 0, 2,... 13a, 13c) of the read register. In this case, since the element 0 is the output port 0 and the element 2 is the output port 1 from FIG. 3 (A), no output port conflict occurs.
Element 0 controls port 0 and element 2 controls output port 1. On the other hand, the odd port arbiter 16b is an odd port (ports 1, 3...
The output ports of the elements 1 and 3 stored in (b, 13d) are checked.
【0027】この場合、図3(A)より要素1は出力ポ
ート0、要素3は出力ポート1なので出力ポート競合は
発生しないため、要素1,3それぞれの要素をクロスバ
14bにより要素1は出力ポート0、要素3は出力ポー
ト1へ送る制御を行う。ここで、偶数ポートアービタ1
6aと、奇数ポートアービタ16bはそれぞれ出力ポー
ト競合を検出しなかったので、ホールドは発生せず、読
み出しレジスタ13a〜13dには、次のタイミングに
後続要素の要素4〜7を格納することになる。In this case, since the element 1 is the output port 0 and the element 3 is the output port 1 from FIG. 3 (A), no output port contention occurs. Therefore, the elements 1 and 3 are each connected to the output port by the crossbar 14b. 0, element 3 controls sending to output port 1. Here, even port arbiter 1
6a and the odd-numbered port arbiter 16b do not detect an output port conflict, respectively. Therefore, no hold occurs, and the subsequent elements 4 to 7 are stored in the read registers 13a to 13d at the next timing. .
【0028】一方、出力ポート0に対応する出力バッフ
ァ15aには、偶数クロスバ14aから要素0、奇数ク
ロスバから要素1が送られる。ここで出力バッファ14
aは、偶数ポートクロスバからの要素0を、出力する順
番が先になるようにして格納し、奇数ポートクロスバか
らの要素1を、要素0の次の順番で出力するように格納
する。同様に、出力ポート1に対応する出力バッファ1
5bには、偶数クロスバ14aから要素2、奇数クロス
バから要素3が送られる。ここで出力バッファ14b
は、偶数ポートクロスバからの要素2を、出力する順番
が先になるようにして格納し、奇数ポートクロスバから
の要素3を、要素0の次の順番で出力するように格納す
る。そして次のタイミングに出力ポート0から要素0、
出力ポート1から要素2が出力し、要素1、要素3は次
のタイミングで出力するようになる。On the other hand, the element 0 is sent from the even-numbered crossbar 14a and the element 1 is sent from the odd-numbered crossbar to the output buffer 15a corresponding to the output port 0. Here, the output buffer 14
“a” stores the element 0 from the even-numbered port crossbar in the order of output, and stores the element 1 from the odd-numbered port crossbar in the order following the element 0. Similarly, output buffer 1 corresponding to output port 1
The element 2 is sent from the even crossbar 14a and the element 3 is sent from the odd crossbar to 5b. Here, the output buffer 14b
Stores the element 2 from the even-numbered port crossbar in the output order first, and stores the element 3 from the odd-numbered port crossbar in the order following the element 0. Then, at the next timing, element 0 from output port 0,
The element 2 outputs from the output port 1, and the elements 1 and 3 output at the next timing.
【0029】また、同様に後続の要素4〜7は、偶数ポ
ートアービタで競合調停されるが、出力ポート競合は検
出されない。以降の要素も図3(A)の各要素の出力ポ
ートからもわかるように、出力ポート競合は検出されず
に、毎タイミングに4要素ずつが読み出しレジスタ13
a〜13dに格納されて、処理されていく。この様子は
図3(C)に示したが、要素0,2が出力されるタイミ
ングを1とすると、タイミング2において出力バッフア
15a、15bに残った要素1,3が出力し、同時に後
続の要素4,6が出力しており、最初の2要素の出力以
降は、毎タイミング4要素が出力することになり、24
要素全てが出力するのがタイミング7となる。これは従
来構成の場合と比較して大幅なスループットの向上とな
り、要素が大きくなればなるほど、最大スループット
(1タイミングに4要素出力)に近づくことがわかる。Similarly, the following elements 4 to 7 are arbitrated by the even port arbiter, but no output port conflict is detected. As can be seen from the output ports of the respective elements in FIG. 3A, the output elements are not detected, and four elements are read out by the read register 13 at each timing.
a to 13d, and are processed. This state is shown in FIG. 3 (C). If the timing at which the elements 0 and 2 are output is 1, the elements 1 and 3 remaining in the output buffers 15a and 15b are output at the timing 2 and at the same time, the subsequent elements 4 and 6 are output. After the output of the first two elements, four elements are output at each timing.
Timing 7 is when all the elements are output. This is a significant improvement in throughput as compared with the conventional configuration, and it can be seen that the larger the element, the closer to the maximum throughput (four element output per timing).
【0030】図4(B)は図3(B)の場合における本
実施例のタイミング図であり、図5(B)と対比するこ
とにより、本発明は従来の構成に比べ、大幅なスループ
ットの向上があることがわかる以上のように、本発明で
はベクトルのメモリアクセス命令のスループットが向上
する。また、実施例では入力4ポート、出力4ポートと
したが、いかなるポート数でも同様に対応できることは
明らかである。さらに、ディスタンスを図3(A)では
4バイト(4バイト×1)、図3(B)では12(4バ
イト×3)バイトとしたが、4バイトメモリアクセス命
令のディスタンスが(4バイト×奇数)では同様に、従
来技術よりもスループットが向上する。FIG. 4B is a timing chart of the present embodiment in the case of FIG. 3B. By comparing with FIG. 5B, the present invention has a much higher throughput than the conventional configuration. As can be seen, the present invention improves the throughput of vector memory access instructions. In the embodiment, four input ports and four output ports are used. However, it is apparent that any number of ports can be used in the same manner. Further, the distance is 4 bytes (4 bytes × 1) in FIG. 3A and 12 (4 bytes × 3) bytes in FIG. 3B, but the distance of the 4-byte memory access instruction is (4 bytes × odd number). ) Also improves the throughput over the prior art.
【0031】[0031]
【発明の効果】以上説明したように本発明のベクトル処
理装置によれば、ベクトルロード、ストア命令の出力ポ
ート競合の発生を抑えるように、競合調停を偶数ポート
対象の競合調停回路と、奇数ポート対象の競合調停回路
に分割したため、競合調停でのスープットの低下を抑止
し、これによりスループットが向上するという効果を有
する。例えば、4バイトのベクトルのメモリアクセスの
命令の場合、スループットが約2倍にも向上する。As described above, according to the vector processing apparatus of the present invention, the contention arbitration is performed on the even-numbered port arbitration circuit and the odd-numbered port arbitration circuit so as to suppress the occurrence of the output port contention of the vector load and store instructions. The division into the target contention arbitration circuit suppresses a drop in the contention in the contention arbitration, thereby improving the throughput. For example, in the case of a 4-byte vector memory access instruction, the throughput is improved about twice.
【図1】本発明の一実施例のベクトル処理装置を示すブ
ロック図である。FIG. 1 is a block diagram illustrating a vector processing device according to an embodiment of the present invention.
【図2】従来のベクトル処理装置の一例を示すブロック
図である。FIG. 2 is a block diagram illustrating an example of a conventional vector processing device.
【図3】本発明の動作を説明するためのタイミング図で
ある。FIG. 3 is a timing chart for explaining the operation of the present invention.
【図4】本発明の実施例の動作を説明するためのタイミ
ング図である。FIG. 4 is a timing chart for explaining the operation of the embodiment of the present invention.
【図5】従来例の動作を説明するためのタイミング図で
ある。FIG. 5 is a timing chart for explaining the operation of the conventional example.
11a〜11d 入力レジスタ 12a〜12d 入力バッファ 13a〜13d 読み出しレジスタ 14a 偶数ポートクロスバ 14b 奇数ポートクロスバ 15a〜15d 出力バッファ 16a 偶数ポートアービタ 16b 奇数ポートアービタ 21a〜21d 入力レジスタ 22a〜22d 入力バッファ 23a〜23d 読み出しレジスタ 24 クロスバ 25a〜25d 出力レジスタ 26 アービタ 11a to 11d Input register 12a to 12d Input buffer 13a to 13d Read register 14a Even port crossbar 14b Odd port crossbar 15a to 15d Output buffer 16a Even port arbiter 16b Odd port arbiter 21a to 21d Input register 22a to 22d Input buffer 23a to 23d Read Register 24 Crossbar 25a-25d Output register 26 Arbiter
フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G06F 17/16 G06F 12/06 Continuation of the front page (58) Field surveyed (Int.Cl. 7 , DB name) G06F 17/16 G06F 12/06
Claims (1)
複数のベクトル演算部と、複数のバンクを有し、独立に
アクセス可能な複数のポートを有するメモリモジュール
で構成される複数の主記憶部と、前記ベクトル演算部と
前記主記憶部間で複数のデータ転送が前記主記憶部にお
ける各ポートのバイト幅単位に独立に行えるメモリアク
セス制御部とを備えるベクトル処理装置に於いて、前記
メモリアクセス制御部は、 前記ベクトル演算部からのベクトル要素リクエストを要
素番号順に格納するn個(n≧2)の入力レジスタと、これらn個の 入力レジスタからの前記ベクトル要素リク
エストをそれぞれ格納するn個の入力バッファと、これらn個の 入力バッファからの前記ベクトル要素リク
エストをそれぞれ格納するn個の読み出しレジスタと、 前記読み出しレジスタに保持されたn個の前記ベクトル
要素リクエストのうち入力ポートが偶数の要素のみ競合
調停を行う偶数ポートアービタと、 前記読み出しレジスタに保持されたn個の前記ベクトル
要素リクエストのうち入力ポートが奇数の要素のみ競合
調停を行う奇数ポートアービタと、 前記偶数アービタにより競合調停された各ベクトル要素
リクエストを、アドレスにより所定の出力ポートに転送
する偶数ポートクロスバと、 前記奇数アービタにより競合調停された各ベクトル要素
リクエストを、アドレスにより所定の出力ポートに転送
する奇数ポートクロスバと、 前記偶数ポートクロスバと前記奇数ポートクロスバとか
ら転送された最大2つのベクトル要素リクエストのう
ち、前記偶数ポートクロスバから転送されたベクトル要
素リクエストが先に出力されるように前記2つのベクト
ル要素リクエストの格納を行う 出力バッファとを含むこ
とを特徴とするベクトル処理装置。1. Perform a vector operation for each vector element
It has multiple vector operation units and multiple banks,
Memory module having a plurality of accessible ports
A plurality of main storage units, and the vector operation unit
A plurality of data transfers between the main storage units are stored in the main storage unit.
Memory access that can be performed independently for each port
Access controlWhenIn a vector processing device comprising:
The memory access control unit includes:Requires vector element request
In prime orderN (n ≧ 2) input registers to be stored;These n Input registerThe vector element like from
EstToRespectivelyN input buffers to store;These n Input bufferThe vector element fromRiku
EstRespectivelyN read registers to be stored, and n read registers held in the read registersSaidvector
Element requestConflicts only with elements whose input ports are even
An even port arbiter for arbitration, N vectors stored in the read register
Conflicts only with elements with odd input ports in element requests
An odd port arbiter for arbitration, The even arbiterEach vector element that has been arbitrated by
Request is forwarded to the specified output port by address
An even port crossbar to Each vector element contention arbitrated by the odd arbiter
Request is forwarded to the specified output port by address
An odd port crossbar to The even port crossbar and the odd port crossbar
Of up to two vector element requests transferred from
The vector transferred from the even port crossbar.
The two vectors so that the elementary request is output first
Stores element requests Output buffer
And a vector processing device.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP7150213A JP3005456B2 (en) | 1995-06-16 | 1995-06-16 | Vector processing equipment |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP7150213A JP3005456B2 (en) | 1995-06-16 | 1995-06-16 | Vector processing equipment |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH096759A JPH096759A (en) | 1997-01-10 |
JP3005456B2 true JP3005456B2 (en) | 2000-01-31 |
Family
ID=15492012
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP7150213A Expired - Fee Related JP3005456B2 (en) | 1995-06-16 | 1995-06-16 | Vector processing equipment |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3005456B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011033862A1 (en) * | 2009-09-15 | 2011-03-24 | 日本電気株式会社 | Information processing device and data transfer method |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060026371A1 (en) * | 2004-07-30 | 2006-02-02 | Chrysos George Z | Method and apparatus for implementing memory order models with order vectors |
KR101388134B1 (en) | 2007-10-01 | 2014-04-23 | 삼성전자주식회사 | Apparatus and method for avoiding bank conflicts in a Single-Port Multi-Bank Memory System |
JP5549179B2 (en) * | 2009-10-26 | 2014-07-16 | 日本電気株式会社 | Data access device, data access control method, and data access control program |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2768800B2 (en) * | 1990-04-13 | 1998-06-25 | 株式会社日立製作所 | Computer system |
-
1995
- 1995-06-16 JP JP7150213A patent/JP3005456B2/en not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011033862A1 (en) * | 2009-09-15 | 2011-03-24 | 日本電気株式会社 | Information processing device and data transfer method |
Also Published As
Publication number | Publication date |
---|---|
JPH096759A (en) | 1997-01-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8510480B2 (en) | Memory system and method having uni-directional data buses | |
JPH0550018B2 (en) | ||
JP2561261B2 (en) | Buffer storage access method | |
EP0223607B1 (en) | Vector processing system | |
JP3005456B2 (en) | Vector processing equipment | |
US5099416A (en) | An operand storage compare (osc) detecting device using column and row signals in a buffer storage | |
EP0372231B1 (en) | Vector processor | |
JP2731761B2 (en) | Network control device | |
JP3245488B2 (en) | List vector processing device | |
JPH0449145B2 (en) | ||
US5822766A (en) | Main memory interface for high speed data transfer | |
JPS6024976B2 (en) | Memory access control method | |
JPH07319829A (en) | Method for transferring data | |
JP2704121B2 (en) | Vector processing equipment | |
JP3063501B2 (en) | Memory access control method | |
JP4306997B2 (en) | Data control device and ATM control device | |
JP3068427B2 (en) | Message control unit | |
JP2531207B2 (en) | Channel device | |
JP2803616B2 (en) | I / O bus interface control method | |
JPS616746A (en) | Partial writing control system | |
JPH0434629A (en) | Busy check system for memory access control device | |
JPH1185605A (en) | Memory control unit | |
JPH0944459A (en) | Network device | |
JPH0660007A (en) | Semiconductor storage device | |
JPH0368045A (en) | Main memory control system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20071119 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081119 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081119 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091119 Year of fee payment: 10 |
|
LAPS | Cancellation because of no payment of annual fees |