JP2704121B2 - Vector processing equipment - Google Patents

Vector processing equipment

Info

Publication number
JP2704121B2
JP2704121B2 JP6226484A JP22648494A JP2704121B2 JP 2704121 B2 JP2704121 B2 JP 2704121B2 JP 6226484 A JP6226484 A JP 6226484A JP 22648494 A JP22648494 A JP 22648494A JP 2704121 B2 JP2704121 B2 JP 2704121B2
Authority
JP
Japan
Prior art keywords
vector
output
elements
port
registers
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP6226484A
Other languages
Japanese (ja)
Other versions
JPH0895956A (en
Inventor
康宏 井川
Original Assignee
甲府日本電気株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 甲府日本電気株式会社 filed Critical 甲府日本電気株式会社
Priority to JP6226484A priority Critical patent/JP2704121B2/en
Publication of JPH0895956A publication Critical patent/JPH0895956A/en
Application granted granted Critical
Publication of JP2704121B2 publication Critical patent/JP2704121B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

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

【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, in order to process a large amount of data at a high speed between a main memory and a register or an arithmetic unit, a vector processing apparatus continuously transmits a plurality of data to a memory access processing unit at the same timing. To achieve higher speeds.

【0003】従来のこの種のベクトル処理装置は、図6
に示すように、ベクトルリクエストの各要素単位の複数
(例として4要素)の入力ポート、各入力ポート毎に入
力レジスタ31a〜31d、また、ポート競合発生時の
緩衝用に、同一動作するバッファ32a〜32d、バッ
ファ33a〜33d、ポート競合の検出およびバッファ
制御を行うポート競合検出回路37、入力要素のメモリ
アドレスから、出力ポートを生成し、該タイミングで出
力する要素を決定する出力要素検出回路36、出力要素
検出回路36の制御信号により、各出力ポートの、入力
要素を選択するセレクタ34a〜34dおよび出力ポー
ト対応の出力レジスタ35a〜35dを有している。
A conventional vector processing apparatus of this type is shown in FIG.
As shown in the figure, a plurality (for example, four elements) of input ports for each element of a vector request, input registers 31a to 31d for each input port, and a buffer 32a operating the same for buffering when a port conflict occurs. 32d, buffers 33a-33d, port conflict detection circuit 37 for detecting port conflict and buffer control, output element detection circuit 36 for generating an output port from a memory address of an input element and determining an element to be output at the timing And selectors 34a to 34d for selecting an input element of each output port according to a control signal of the output element detection circuit 36, and output registers 35a to 35d corresponding to the output ports.

【0004】この従来のベクトル処理装置は、出力ポー
トが8バイト単位であり、4バイトメモリアクセス命令
も、8バイト単位に行っている。
In this conventional vector processing device, the output port is in units of 8 bytes, and a 4-byte memory access instruction is also executed in units of 8 bytes.

【0005】図2は、従来例および本願発明を説明する
ためのベクトルストア命令時における各ベクトル要素
(以下、要素と記す)のアドレスと、各要素が出力され
る出力ポートを要素ごとに示す。図2において、ベクト
ル命令のベースアドレスを“0”、ディスタンスを
“4”とすると、要素0,1、要素2,3…、と連続2
要素ずつが同一出力ポートとなることがわかる。
FIG. 2 shows an address of each vector element (hereinafter, referred to as an element) at the time of a vector store instruction for explaining the conventional example and the present invention, and an output port to which each element is output for each element. In FIG. 2, when 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 each element has the same output port.

【0006】次に、図2のベクトル命令時における従来
のベクトル処理装置の動作を説明する。先ず、入力レジ
スタ31a〜31dにはそれぞれ要素0から順番に、4
要素毎に連続的に格納される。あるタイミングで読み出
しレジスタ33a〜33dに格納された要素0〜3はポ
ート競合検出回路37によりポート競合の検出が行われ
る。この場合、要素0,1はそれぞれ出力ポート0に、
要素2,3はそれぞれ出力ポート1に向かうので、ポー
ト競合が発生することになる。ポート競合が発生した場
合、競合した要素の優先順位の高い要素(要素番号の最
も小さい要素)が出力要素検出回路36により検出さ
れ、セレクタ34aは読み出しレジスタ33aの要素
0、セレクタ34bでは読み出しレジスタ33cの要素
2がそれぞれ選択され、出力レジスタ35a,35bに
格納される。
Next, the operation of the conventional vector processing device at the time of the vector instruction shown in FIG. 2 will be described. First, the input registers 31a to 31d store 4
It is stored continuously for each element. At a certain timing, port conflicts are detected by the port conflict detection circuit 37 for the elements 0 to 3 stored in the read registers 33a to 33d. In this case, elements 0 and 1 are respectively connected to output port 0,
Since elements 2 and 3 each go to output port 1, a port conflict will occur. When a port conflict occurs, the output element detection circuit 36 detects the element having the highest priority (the element with the smallest element number) of the conflicting element, the selector 34a reads the element 0 of the read register 33a, and the selector 34b reads the register 33c. Are selected and stored in the output registers 35a and 35b.

【0007】このときポート競合検出回路37からは、
競合が発生したのでホールド要求が出され、読み出しレ
ジスタ33a〜33dはホールドし、バッファ32a〜
32dはバッファのリードアドレスをホールドし、ホー
ルド要求が解除されるまでその状態を保つことになる。
つまり、連続的に入力レジスタ31a〜31dに入力し
てくる要素は、バッファ32a〜32dにバッファリン
グされていくことになる。競合に敗れて残った要素1,
3は、次のタイミングに競合検出が行われ、今度はポー
ト競合が発生しないので、出力レジスタ35a,35b
にそれぞれ格納される。また競合が発生しないのでポー
ト競合検出36からのホールド要求は解除され、読み出
しレジスタ33a〜33dには次のタイミングで要素4
〜7の4要素が格納される。以降、同様な処理が全ての
要素の終了まで行われる。
At this time, from the port conflict detection circuit 37,
Since a contention has occurred, a hold request is issued, the read registers 33a to 33d hold, and the buffers 32a to 32d hold.
32d holds the read address of the buffer and keeps that state until the hold request is released.
That is, the elements continuously input to the input registers 31a to 31d are buffered in the buffers 32a to 32d. Elements 1, which survived the competition
No. 3 indicates that the conflict detection is performed at the next timing and no port conflict occurs this time, so that the output registers 35a and 35b
Are stored respectively. Since no conflict occurs, the hold request from the port conflict detection 36 is released, and the read registers 33a to 33d store the element 4 at the next timing.
7 are stored. Thereafter, the same processing is performed until the end of all elements.

【0008】図7は、上記動作を示したタイミング図で
あり、要素0、2が出力レジスタ35a〜35dに到着
するタイミングを1としたときの各要素の出力ポート到
着タイミングを示している。また1つのタイミングにお
ける、ポート競合検出対象要素、および出力ポートレジ
スタ到着要素数も示している。図2のベクトル命令の場
合、ポート競合により、各タイミングに4要素ずつの入
力に対して、出力が2要素ずつであることがわかる。こ
れは、最大スループットの1/2となる。
FIG. 7 is a timing chart showing the above operation, and shows the output port arrival timing of each element when the timing at which elements 0 and 2 arrive at the output registers 35a to 35d is 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 in FIG. 2, it can be seen that, due to port contention, two elements are output for four elements at each timing. This is の of the maximum throughput.

【0009】[0009]

【発明が解決しようとする課題】上述したように従来の
ベクトル処理装置では、4バイトのベクトルロード、ス
トア命令(ディスタンスが4バイトの奇数倍のケース)
において、スループットが最大値の1/2となってしま
い、ベクトルロードおよびストア命令の、主メモリのア
クセス時間に深刻な性能低下を引き起こすという欠点が
ある。
As described above, in the conventional vector processing apparatus, a 4-byte vector load / store instruction (a case where the distance is an odd multiple of 4 bytes)
In this case, the throughput is 1 / of the maximum value, and there is a drawback that the performance of the vector load and store instructions in the main memory is seriously degraded.

【0010】[0010]

【課題を解決するための手段】本発明のベクトル処理装
置は、ベクトル要素ごとにベクトル演算を行う1つ以上
のベクトル演算部と、複数バイトのデータを最小リクエ
スト単位として並列動作が可能な複数のメモリモジュー
ルで構成される主記憶部と、前記ベクトル演算部と前記
主記憶部間で出力ポートを介して前記ベクトル要素ごと
にデータ転送を制御するメモリアクセス制御部を備えた
ベクトル処理装置において、前記メモリアクセス制御部
は、前記ベクトル演算部からパイプライン方式で入力す
るベクトル要素を保持するn個(n≧1)の入力レジス
タと、各組が前記入力レジスタの保持内容をn個のベク
トル要素単位に、かつ要素番号順に格納するm組(m≧
2)のバッファと、前記m組のバッファからクロックに
応答して読み出されたベクトル要素を保持するm×n個
の読み出しレジスタと、前記各読み出しレジスタに保持
されたベクトル要素について、ベクトル要素のビット幅
が前記最小アクセス単位以下であるときに発生する前記
出力ポートの競合を検出するポート競合検出回路と、前
記競合が検出されると競合するベクトル要素のうちで前
記要素番号の最小のものを検出する出力要素検出回路
と、該出力要素の検出に応答して前記読み出しレジスタ
から当該ベクトル要素を選択する前記出力ポートと同数
のセクレタとを設けたことを特徴とする。
According to the present invention, there is provided a vector processing apparatus comprising: at least one vector operation unit for performing a vector operation for each vector element; A vector processing device comprising: a main storage unit configured by a memory module; and a memory access control unit that controls data transfer for each vector element via an output port between the vector calculation unit and the main storage unit. The memory access control unit includes n (n ≧ 1) input registers for holding vector elements input in a pipeline manner from the vector operation unit, and each set stores the content of the input registers in n vector element units. And m sets stored in the order of element numbers (m ≧
2) buffers, m × n read registers for holding vector elements read in response to clocks from the m sets of buffers, and vector elements held in the read registers. A port conflict detection circuit for detecting a conflict between the output ports that occurs when the bit width is equal to or less than the minimum access unit; and An output element detection circuit for detecting, and the same number of secretors as the number of the output ports for selecting the vector element from the read register in response to the detection of the output element are provided.

【0011】[0011]

【実施例】以下、図面を用いて本発明の実施例について
詳述する。
Embodiments of the present invention will be described below in detail with reference to the drawings.

【0012】図1は本発明の第1の実施例を示すブロッ
ク図であり、本ベクトル処理装置は並列に8バイト単位
のデータ転送を行うことが可能である。
FIG. 1 is a block diagram showing a first embodiment of the present invention. The vector processing apparatus can transfer data in units of 8 bytes in parallel.

【0013】図1において、入力レジスタ11a〜11
dは、ベクトルリクエストの各要素単位の複数(例とし
て4要素)の入力受けレジスタ群である。バッファ12
a〜12hはポート競合による待ち合わせが起きたとき
に連続的に発行される入力リクエストの緩衝用のバッフ
ァ群であり、バッファ12a〜12dおよびバッファ1
2e〜12hはそれぞれ入力レジスタ11a〜11dの
各要素に対応しており、バッファ12a〜12dと12
e〜12hに入力レジスタ11a〜11dの要素を交互
に入力する。
In FIG. 1, input registers 11a to 11
d is a plurality (for example, 4 elements) of input receiving registers for each element of the vector request. Buffer 12
Reference numerals a to 12h denote buffer groups for buffering input requests continuously issued when a wait occurs due to a port conflict. The buffers 12a to 12d and the buffer 1
2e to 12h correspond to the elements of the input registers 11a to 11d, respectively, and the buffers 12a to 12d and 12b
Elements of the input registers 11a to 11d are alternately input to e to 12h.

【0014】読み出しレジスタ13a〜13hは、バッ
ファ12a〜12hの読み出し用のレジスタ群であり、
ポート競合検出の対象レジスタである。出力要素検出回
路16は、出力ポート対応のセレクタ14a〜14dの
選択条件を生成している。ポート競合検出回路17は、
読み出しレジスタ13a〜13hの各要素のポート競合
を検出する回路であり、またバッファ12a〜12h、
および読み出しレジスタ13a〜13hの制御を行って
いる。出力レジスタ15a〜15dは、出力ポート(こ
の例では4ポート)対応のレジスタ群であり、セレクタ
14a〜14dで選択された要素を格納する。
The read registers 13a to 13h are registers for reading the buffers 12a to 12h.
This is a register for port conflict detection. The output element detection circuit 16 generates selection conditions for the selectors 14a to 14d corresponding to the output ports. The port conflict detection circuit 17
This is a circuit for detecting a port conflict of each element of the read registers 13a to 13h, and buffers 12a to 12h,
And the read registers 13a to 13h. The output registers 15a to 15d are a group of registers corresponding to output ports (four ports in this example), and store the elements selected by the selectors 14a to 14d.

【0015】図2は、例としてベースアドレスを“0”
ディスタンスを“4”とした、4バイトのベクトルスト
ア命令の各要素のアドレスと各要素が出力される出力ポ
ートの関係を示したものである。4バイトのベクトルス
トア命令では要素番号の連続する2つの要素が、同一出
力ポートへ出力されることがわかる。
FIG. 2 shows an example in which the base address is "0".
It shows the relationship between the address of each element of the 4-byte vector store instruction with the distance being "4" and the output port from which each element is output. It can be seen that in the 4-byte vector store instruction, two elements having consecutive element numbers are output to the same output port.

【0016】次に、図2に示したリクエスト発行時にお
ける第1の実施例の動作を説明する。要素0〜3の4要
素は、入力ポート0〜3より入力して、入力レジスタ1
1a〜11dにそれぞれ格納される。次のタイミングで
は入力ポートには要素4〜7の4要素が送られて来てお
り、以降各タイミング毎に、4要素ずつ連続的に発行さ
れ、連続的に入力レジスタ11a〜11dに格納され
る。
Next, the operation of the first embodiment at the time of issuing the request shown in FIG. 2 will be described. Elements 0 to 3 are input from input ports 0 to 3 and input register 1
1a to 11d. 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 issued and stored in the input registers 11a to 11d continuously. .

【0017】最初の4要素、要素0〜3は、バッファ1
2a〜12dを介して、読み出しレジスタ13a〜13
dに要素番号順に格納される。それまでは、読み出しレ
ジスタ13e〜13hには、有効な要素は格納されてい
なかった。ここで、ポート競合検出回路17により、要
素0〜3を対象にポート競合検出が行われる。図2に示
したとおり、要素0、1はともに出力ポート0、要素
2、3は共に出力ポート1に出力されるので、要素0と
1の間および要素2と3の間でそれぞれポート競合が発
生する。ポート競合が発生した場合、出力ポートには1
つの要素のみが出力可能なので、競合の発生した要素の
中で、要素番号が最も小さい要素を優先させ出力する。
このとき、その他の要素は出力できないので、読み出し
レジスタ13a〜13dにおいて出力を待たされる。つ
まり、要素0、2は出力されて出力レジスタ15a、1
5bに格納され、要素1、3は読み出しレジスタ13
b、13dでホールドする。
The first four elements, elements 0-3, are buffer 1
Readout registers 13a to 13a through 2a to 12d
d is stored in the order of element numbers. Until then, valid elements were not stored in the read registers 13e to 13h. Here, the port conflict detection circuit 17 performs port conflict detection on the elements 0 to 3. As shown in FIG. 2, since elements 0 and 1 are both output to output port 0 and elements 2 and 3 are both output to output port 1, port conflicts occur between elements 0 and 1 and between elements 2 and 3, respectively. Occur. If a port conflict occurs, 1
Since only one element can be output, the element having the smallest element number among the elements in which contention has occurred is output with priority.
At this time, since other elements cannot be output, the output is waited for in the read registers 13a to 13d. That is, elements 0 and 2 are output and output registers 15a, 1
5b, elements 1 and 3 are read register 13
Hold at b and 13d.

【0018】このとき次の4要素である要素4〜7はバ
ッファ12e〜12hを介して、読み出しレジスタ13
e〜13hに格納する。そして前のタイミングで競合に
敗れた要素1,3および要素4〜7が次のポート競合検
出の対象要素となる。図2より各要素の出力ポートをみ
ると、要素4と5、要素6と7がそれぞれポート競合し
ていることがわかる。したがって出力ポートへ向かう要
素は要素1,3,4,6の4要素となり、要素5,7
は、ポート競合検出回路17により、競合が検出され、
読み出しレジスタ13f,13hでホールドされ待たさ
れる。
At this time, elements 4 to 7, which are the next four elements, are read out from the read register 13 via buffers 12e to 12h.
e to 13h. The elements 1 and 3 and the elements 4 to 7 that have lost the contention at the previous timing are the target elements for the next port contention detection. Looking at the output ports of the respective elements from FIG. 2, it can be seen that the elements 4 and 5 and the elements 6 and 7 are in port conflict, respectively. Therefore, the elements going to the output port are the four elements of elements 1, 3, 4, and 6, and the elements 5, 7
Is detected by the port conflict detection circuit 17,
The data is held in the read registers 13f and 13h and is kept waiting.

【0019】次のタイミングでは残りの要素5,7が出
力される。このとき、後続の要素は、最初の8要素を出
力するのに3Tかかっているので、1T分、つまり4要
素がバッファに残っている。したがって4Tめ以降のタ
イミングでは、常に8要素がポート競合検出の対象要素
となり、ポート競合により常に4要素の出力となる。
At the next timing, the remaining elements 5 and 7 are output. At this time, for the subsequent elements, it takes 3T to output the first eight elements, so that 1T, that is, four elements remain in the buffer. Therefore, at the timing after the 4T, eight elements are always target elements for port conflict detection, and four elements are always output due to port conflict.

【0020】図3は、図2で与えられたベクトルストア
命令時における本実施例の動作の様子を示したものであ
り、要素0,2が出力レジスタ15a〜15dに到着し
たタイミングを1としたときの各要素の出力レジスタ1
5a〜15dへの到着タイミングごとに、ポート競合検
出対象要素および出力要素数を示している。図3よりタ
イミング1,2,3は出力要素数が2,4,2となり、
スループットは最大スループットより落ちるが、タイミ
ング4以降の要素8以降は出力要素数は4要素となり、
入力要素数と等しくなり、最大スループットとなること
がわかる。
FIG. 3 shows the operation of this embodiment at the time of the vector store instruction given in FIG. 2. The timing at which the elements 0 and 2 arrive at the output registers 15a to 15d is set to 1. Output register 1 of each element at the time
For each arrival timing at 5a to 15d, the port conflict detection target element and the number of output elements are shown. From FIG. 3, at timings 1, 2, and 3, the number of output elements is 2, 4, 2, and
Although the throughput is lower than the maximum throughput, the number of output elements becomes 4 elements after element 8 after timing 4 and
It can be seen that the number of input elements is equal to the maximum and the maximum throughput is obtained.

【0021】図4は本発明の第2の実施例を示すブロッ
ク図であり、本実施例も第1の実施例と同様に、並列に
8バイト単位のデータ転送を行うことが可能である。本
実施例における入力レジスタ21a〜21d,バッファ
21a〜22h,読み出しレジスタ23a〜23h,セ
レクタ24a〜24d,出力レジスタ25a〜25d,
出力要素検出回路26,ポート競合検出回路27は、そ
れぞれ第1の実施例における入力レジスタ11a〜11
d,バッファ12a〜12h,読み出しレジスタ13a
〜13h,セレクタ14a〜14d,出力レジスタ15
a〜15d,出力要素検出回路16,ポート競合検出回
路17に相当する。
FIG. 4 is a block diagram showing a second embodiment of the present invention. In this embodiment, similarly to the first embodiment, data can be transferred in units of 8 bytes in parallel. In the present embodiment, the input registers 21a to 21d, the buffers 21a to 22h, the read registers 23a to 23h, the selectors 24a to 24d, the output registers 25a to 25d,
The output element detection circuit 26 and the port conflict detection circuit 27 are the input registers 11a to 11 in the first embodiment, respectively.
d, buffers 12a to 12h, read register 13a
To 13h, selectors 14a to 14d, output register 15
a to 15d, the output element detection circuit 16, and the port conflict detection circuit 17.

【0022】本実施例では、そのうえに、ポート競合発
生時、読み出しレジスタ23a〜23hに格納する要素
の並び代えを行う要素アライン回路28が付加されてい
る。ここで、ポート競合の検出において、例として4要
素を1つのブロックとしている。つまり、読み出しレジ
スタ23a〜23dに格納された要素を1ブロック、読
み出しレジスタ23e〜23hに格納された要素を1ブ
ロックとして、各ブロック単位に出力済みか、ポート競
合により出力未かを判断し、ブロック内の全要素が出力
済みとなったことを検出して、要素アライン回路によっ
て、全要素出力済みとなったブロックをシフトして、後
続ブロックを、ポート競合検出対象レジスタに格納する
動作を行う。
In this embodiment, an element alignment circuit 28 for rearranging the elements stored in the read registers 23a to 23h when a port conflict occurs is additionally provided. Here, in the detection of port conflict, four elements are taken as one block as an example. In other words, the elements stored in the read registers 23a to 23d are regarded as one block, and the elements stored in the read registers 23e to 23h are regarded as one block. Detects that all the elements in have been output, shifts the block in which all the elements have been output by the element aligning circuit, and stores the subsequent block in the port conflict detection target register.

【0023】次に、図2に示したリクエスト発行時にお
ける第2の実施例の動作を説明する。
Next, the operation of the second embodiment at the time of issuing the request shown in FIG. 2 will be described.

【0024】本実施例の特徴は、タイミング2におい
て、競合に敗れた要素5,7は、要素アライン回路28
の機能により、読み出しレジスタ23f,23hではな
く23b,23dに格納され、この結果、要素5,7の
出力を待つことなく、後続ブロックの要素8〜11がレ
ジスタ23e〜23hに格納され、次回のポート競合検
出対象要素となることにある。この結果により、次のタ
イミングでは要素5,7および要素8,10が出力され
る。以降同様にブロック単位のシフトが行われ、毎タイ
ミング4要素ずつ出力される。
The feature of this embodiment is that, at timing 2, the elements 5 and 7 that have lost the contention
Is stored in the read registers 23f and 23h instead of the read registers 23f and 23h. As a result, the elements 8 to 11 of the subsequent block are stored in the registers 23e to 23h without waiting for the output of the elements 5 and 7, and It may be a port conflict detection target element. Based on this result, elements 5 and 7 and elements 8 and 10 are output at the next timing. Thereafter, the shift is similarly performed in units of blocks, and four elements are output at each timing.

【0025】以上の動作の様子は、図2で与えられたベ
クトルストア命令に対する本実施例の動作を示す図5を
参照することにより、一層明らかになるであろう。図5
によると、タイミング1では出力要素数が2であるが、
それ以降のタイミングでは、出力要素数は4要素とな
り、入力要素数と等しくなり、最大スループットとなる
ので、第2の実施例は第1の実施例を更に改良したもの
であることがわかる。
The above operation will be more apparent with reference to FIG. 5 showing the operation of the present embodiment for the vector store instruction given in FIG. FIG.
According to the above, at timing 1, the number of output elements is 2,
At subsequent timings, the number of output elements becomes four, which is equal to the number of input elements, and the maximum throughput is obtained. Therefore, it is understood that the second embodiment is a further improvement of the first embodiment.

【0026】以上のように、本発明ではベクトルのメモ
リアクセス命令のスループットが向上する。また、実施
例では入力4ポート、出力4ポートとしたが、いかなる
ポート数でも同様に対応できることは明らかである。さ
らに、拡張を入力4ポートの2倍の8ポートとしてが、
これも任意の入力ポートの倍数にすることが可能であ
る。また実施例ではベクトルストア命令としたが、ロー
ド命令でも同様に実現できる。
As described above, in the present invention, the throughput of a vector memory access instruction is improved. 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. In addition, the expansion is 8 ports, twice the input 4 ports,
This can also be a multiple of any input port. In the embodiment, a vector store instruction is used, but a load instruction can be similarly implemented.

【0027】[0027]

【発明の効果】以上説明したように本発明はベクトル処
理装置において、ベクトルロード、ストア命令のポート
競合発生時に、入力ポートを疑似的に拡張する手段を設
けることにより、ポート競合検出対象要素が増え、これ
によりポート競合が起こっても、出力可能な要素が増
え、スループットが向上するという効果を有する。例え
ば、4バイトのベクトルのメモリアクセス命令の場合、
スループットが約2倍にも向上する。
As described above, according to the present invention, in a vector processing apparatus, when a port conflict of a vector load / store instruction occurs, a means for artificially expanding an input port is provided, thereby increasing the number of port conflict detection target elements. Thus, even if a port conflict occurs, the number of elements that can be output is increased, and the throughput is improved. For example, in the case of a 4-byte vector memory access instruction,
Throughput is improved about twice.

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

【図1】本発明の第1の実施例のベクトル処理装置のブ
ロック図である。
FIG. 1 is a block diagram of a vector processing device according to a first embodiment of the present invention.

【図2】ベクトルストア命令時における各要素のアドレ
スおよび出力ポートを示す図である。
FIG. 2 is a diagram showing an address and an output port of each element at the time of a vector store instruction.

【図3】本発明の第1の実施例の動作を説明するための
タイミング図である。
FIG. 3 is a timing chart for explaining the operation of the first embodiment of the present invention.

【図4】本発明の第2の実施例のベクトル処理装置のブ
ロック図である。
FIG. 4 is a block diagram of a vector processing device according to a second embodiment of the present invention.

【図5】本発明の第2の実施例の動作を説明するための
タイミング図である。
FIG. 5 is a timing chart for explaining the operation of the second exemplary embodiment of the present invention.

【図6】従来例のベクトル処理装置のブロック図であ
る。
FIG. 6 is a block diagram of a conventional vector processing device.

【図7】従来例の動作を説明するためのタイミング図で
ある。
FIG. 7 is a timing chart for explaining the operation of the conventional example.

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

11a〜11d 入力レジスタ 12a〜12h バッファ 13a〜13h 読み出しレジスタ 14a〜14d セレクタ 15a〜15d 出力レジスタ 16 出力要素検出回路 17 ポート競合検出回路 21a〜21d 入力レジスタ 22a〜22d バッファ 23a〜23d 読み出しレジスタ 24a〜24d セレクタ 25a〜25d 出力レジスタ 26 出力要素検出回路 27 ポート競合検出回路 31a〜31d 入力レジスタ 32a〜32h バッファ 33a〜33h 読み出しレジスタ 34a〜34d セレクタ 35a〜35d 出力レジスタ 36 出力要素検出回路 37 ポート競合検出回路 38 要素アライン回路 11a to 11d Input register 12a to 12h Buffer 13a to 13h Read register 14a to 14d Selector 15a to 15d Output register 16 Output element detection circuit 17 Port conflict detection circuit 21a to 21d Input register 22a to 22d Buffer 23a to 23d Read register 24a to 24d Selectors 25a to 25d Output registers 26 Output element detection circuits 27 Port conflict detection circuits 31a to 31d Input registers 32a to 32h Buffers 33a to 33h Read registers 34a to 34d Selectors 35a to 35d Output registers 36 Output element detection circuits 37 Port conflict detection circuits 38 Element alignment circuit

Claims (2)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 ベクトル要素ごとにベクトル演算を行う
1つ以上のベクトル演算部と、複数バイトのデータを最
小リクエスト単位として並列動作が可能な複数のメモリ
モジュールで構成される主記憶部と、前記ベクトル演算
部と前記主記憶部間で出力ポートを介して前記ベクトル
要素ごとにデータ転送を制御するメモリアクセス制御部
を備えたベクトル処理装置において、前記メモリアクセ
ス制御部は、 前記ベクトル演算部からパイプライン方式で入力するベ
クトル要素を保持するn個(n≧1)の入力レジスタ
と、 各組が前記入力レジスタの保持内容をn個のベクトル要
素単位に、かつ要素番号順に格納するm組(m≧2)の
バッファと、 前記m組のバッファからクロックに応答して読み出され
たベクトル要素を保持するm×n個の読み出しレジスタ
と、 前記各読み出しレジスタに保持されたベクトル要素につ
いて、ベクトル要素のビット幅が前記最小アクセス単位
以下であるときに発生する前記出力ポートの競合を検出
するポート競合検出回路と、 前記競合が検出されると競合するベクトル要素のうちで
前記要素番号の最小のものを検出する出力要素検出回路
と、 該出力要素の検出に応答して前記読み出しレジスタから
当該ベクトル要素を選択する前記出力ポートと同数の
レクタとを設けたことを特徴とするベクトル処理装置。
A main storage unit comprising one or more vector operation units for performing a vector operation for each vector element, a plurality of memory modules capable of performing a parallel operation using a plurality of bytes of data as a minimum request unit; In a vector processing device including a memory access control unit that controls data transfer for each vector element via an output port between a vector operation unit and the main storage unit, the memory access control unit includes a pipe from the vector operation unit. N (n ≧ 1) input registers for holding vector elements to be input in the line system, and m sets (m) for storing the contents of the input registers in n vector element units and in the order of element numbers. ≧ 2) buffers, and m × n readouts holding vector elements read out from the m sets of buffers in response to clocks A register, and a port conflict detection circuit for detecting a conflict between the output ports, which occurs when a bit width of the vector element is equal to or smaller than the minimum access unit, for the vector element held in each of the read registers. An output element detecting circuit for detecting the smallest one of the element numbers among the vector elements competing for the output element, and the same number as the number of the output ports for selecting the vector element from the read register in response to the detection of the output element cell of
Vector processing apparatus characterized by comprising a selector.
【請求項2】 前記出力ポートの競合に敗れた残余のベ
クトル要素を、後続入力のベクトル要素に対して格納エ
リアを提供するように、前記組単位でシフトして前記バ
ッファから前記読み出しレジスタに移送する要素アライ
ン回路を付加したことを特徴とする請求項1記載のベク
トル処理装置。
2. The buffer unit shifts the remaining vector elements that have lost the contention of the output port from the buffer to the read register so as to provide a storage area for a vector element of a subsequent input. 2. The vector processing apparatus according to claim 1, further comprising an element aligning circuit for performing the operation.
JP6226484A 1994-09-21 1994-09-21 Vector processing equipment Expired - Fee Related JP2704121B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6226484A JP2704121B2 (en) 1994-09-21 1994-09-21 Vector processing equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6226484A JP2704121B2 (en) 1994-09-21 1994-09-21 Vector processing equipment

Publications (2)

Publication Number Publication Date
JPH0895956A JPH0895956A (en) 1996-04-12
JP2704121B2 true JP2704121B2 (en) 1998-01-26

Family

ID=16845829

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6226484A Expired - Fee Related JP2704121B2 (en) 1994-09-21 1994-09-21 Vector processing equipment

Country Status (1)

Country Link
JP (1) JP2704121B2 (en)

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63175970A (en) * 1987-01-16 1988-07-20 Hitachi Ltd Memory control system

Also Published As

Publication number Publication date
JPH0895956A (en) 1996-04-12

Similar Documents

Publication Publication Date Title
EP1345125B1 (en) Dynamic random access memory system with bank conflict avoidance feature
EP0198010B1 (en) Packet switched multiport memory nxm switch node and processing method
US5675736A (en) Multi-node network with internode switching performed within processor nodes, each node separately processing data and control messages
JPS61214694A (en) Switching unit for data transmission
JP2731742B2 (en) Parallel computer with cluster configuration
CA2117506C (en) Return address adding mechanism for use in parallel processing system
JP2644185B2 (en) Data processing device
JP2704121B2 (en) Vector processing equipment
US5251309A (en) System for measuring the efficiency of accessing vector elements using interelement distance of vector data or bank conflicts
JP3005456B2 (en) Vector processing equipment
KR20010006787A (en) Processer and system for data processing
EP0700005B1 (en) Vector data bypass mechanism for vector computer
JP2853652B2 (en) Packet transmitting method and apparatus in inter-processor communication
JP2976700B2 (en) Synchronous control method between processors
US6055607A (en) Interface queue with bypassing capability for main storage unit
JP3609908B2 (en) Computer connection device
JP2731738B2 (en) Multiprocessor system
JPS6024976B2 (en) Memory access control method
JP2972568B2 (en) Bus extender
JP3245488B2 (en) List vector processing device
JP3704367B2 (en) Switch circuit
JP3063501B2 (en) Memory access control method
SU1501080A1 (en) Arrangement for shaping message route in uniform computer system
JP2878160B2 (en) Competitive mediation device
JPH1091589A (en) Inter-processor synchronization controller

Legal Events

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 19970909

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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: 20081003

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091003

Year of fee payment: 12

LAPS Cancellation because of no payment of annual fees