JP2001147914A - Vector operating device - Google Patents

Vector operating device

Info

Publication number
JP2001147914A
JP2001147914A JP32874699A JP32874699A JP2001147914A JP 2001147914 A JP2001147914 A JP 2001147914A JP 32874699 A JP32874699 A JP 32874699A JP 32874699 A JP32874699 A JP 32874699A JP 2001147914 A JP2001147914 A JP 2001147914A
Authority
JP
Japan
Prior art keywords
data
vector
adder
operation device
processing
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
Application number
JP32874699A
Other languages
Japanese (ja)
Other versions
JP3776652B2 (en
Inventor
Yoko Isobe
洋子 磯部
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Computertechno Ltd
Original Assignee
NEC Computertechno Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Computertechno Ltd filed Critical NEC Computertechno Ltd
Priority to JP32874699A priority Critical patent/JP3776652B2/en
Publication of JP2001147914A publication Critical patent/JP2001147914A/en
Application granted granted Critical
Publication of JP3776652B2 publication Critical patent/JP3776652B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Complex Calculations (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a vector processor, with which high-accuracy arithmetic processing is performed by reducing an error caused by exponent matching in the case of adding different exponents. SOLUTION: Concerning the vector processor provided with at least one vector register and an adder for applying total sum operating processing to vector data in the relevant vector register, this device is provided with a data relocating means for relocating vector data in the vector register, and total sum operating processing is performed by successively inputting the data relocated by the relevant data relocating means to the adder and adding the data in order from the element of a smallest key value.

Description

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

【0001】[0001]

【発明の属する技術分野】本発明は、ベクトル演算装置
に関し、特に、ベクトル総和演算を行う際に指数合わせ
による誤差を小さくして高精度な演算処理を行いうるよ
うにしたベクトル演算装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a vector operation device, and more particularly, to a vector operation device capable of performing high-precision arithmetic processing by reducing an error caused by index matching when performing a vector sum operation.

【0002】[0002]

【従来の技術】ベクトル総和演算を行う従来のベクトル
演算装置を図5に示す。図5に示すとおり、従来のベク
トル演算装置は、ベクトルデータを格納するベクトルレ
ジスタ111と、総和演算処理を行う加算器121と、
演算結果を格納するベクトルレジスタ112とを具え
る。図5において、命令制御部(図示せず)から総和命
令、すなわち命令語300が発行されると、命令語30
0中の読み出しレジスタを指定するRRフィールド30
2によって指定されたベクトルレジスタ111からベク
トルデータが読み出され、加算器121に入力する。加
算器121は、入力データの総和演算処理を行い、命令
語300中の書き込みレジスタを指定するWRフィール
ド303によって指定されたベクトルレジスタ112に
最終結果を格納する。加算器121における総和演算処
理方法は以下の通りである。
2. Description of the Related Art FIG. 5 shows a conventional vector operation device for performing a vector sum operation. As shown in FIG. 5, a conventional vector operation device includes a vector register 111 for storing vector data, an adder 121 for performing a sum operation,
A vector register 112 for storing the operation result. In FIG. 5, when a sum command, that is, a command word 300 is issued from a command control unit (not shown), a command word 30 is issued.
RR field 30 specifying the read register in 0
The vector data is read from the vector register 111 specified by 2 and input to the adder 121. The adder 121 performs a summation operation on the input data, and stores the final result in the vector register 112 specified by the WR field 303 that specifies the write register in the instruction word 300. The sum operation processing method in the adder 121 is as follows.

【0003】まず、ベクトルデータを格納しているベク
トルレジスタ111から、1クロック毎に1つのベクト
ルデータが読み出され、加算器121に順次入力され
る。加算器121は、最終結果以外の加算結果が再び加
算器121に入力され、ベクトルレジスタから読み出さ
れたベクトルデータと加算されるように構成されてい
る。
First, one vector data is read out from the vector register 111 storing the vector data every clock, and is sequentially input to the adder 121. The adder 121 is configured such that the addition result other than the final result is input to the adder 121 again and added to the vector data read from the vector register.

【0004】図6は、図5に示すベクトル演算装置の加
算器121内の処理を示す模式図である。例えば加算器
121内の処理時間を4クロックとすると、ベクトルレ
ジスタ111から読み出された要素は、4クロック後に
再び加算器21に入力され加算される。
FIG. 6 is a schematic diagram showing the processing in the adder 121 of the vector operation device shown in FIG. For example, if the processing time in the adder 121 is four clocks, the elements read from the vector register 111 are input to the adder 21 again after four clocks and added.

【0005】ここで、ベクトルデータをa1、a2、a
3、a4、a5、a7、a6、a7、a8...とす
る。データa1は、1クロック目でベクトルレジスタ1
11から読み出されて、2クロック目で加算器121内
の加算処理1に入力され、即値”0”との加算が行われ
る。加算器内処理2、3が順次行われ、5クロック目に
は加算器内処理4によってa1+0の結果が求められ
る。そして次クロック(6クロック目)で、この結果a
1+0は再度加算器内処理1に入力される。
Here, the vector data is represented by a1, a2, a
3, a4, a5, a7, a6, a7, a8. . . And Data a1 is stored in the vector register 1 at the first clock.
11 and is input to the addition processing 1 in the adder 121 at the second clock, where addition with the immediate value “0” is performed. The processes 2 and 3 in the adder are sequentially performed, and the result of a1 + 0 is obtained by the process 4 in the adder at the fifth clock. Then, at the next clock (6th clock), the result a
1 + 0 is input to the adder processing 1 again.

【0006】一方で、5クロック目にはベクトルレジス
タ111からデータa5が読み出されており、6クロッ
ク目でこのデータa5が加算器内処理1に入力され、再
度入力されたa1+0と加算されて、a1+a5の処理
が行われる。データa2、a3、a4についてもa1の
場合と同様に、加算器内処理で即値0との加算が行われ
(a2+0、a3+0、a4+0)、その結果が7、
8、9クロック目に再度加算器内処理1に入力され、a
2+a6、a3+a7、a4+a8の結果が求められ
る。
On the other hand, at the fifth clock, data a5 is read from the vector register 111. At the sixth clock, this data a5 is input to the adder processing 1, and added to the input a1 + 0 again. , A1 + a5 are performed. Similarly to the case of a1, the addition of the data a2, a3, and a4 to the immediate value 0 is performed in the adder processing (a2 + 0, a3 + 0, a4 + 0), and the result is 7,
At the eighth and ninth clocks, it is again input to the processing 1 in the adder, and a
The results of 2 + a6, a3 + a7, a4 + a8 are obtained.

【0007】ここで、a1+a5、a2+a6、a3+
a7、a4+a8の加算結果をそれぞれS1、S2、S
3、S4とすると、加算器内処理1には、10クロック
目にS1とa9、11クロック目にS2とa10、12
クロック目にS3とa11、13クロック目にS4とa
12が入力され、S1+a9、S2+a10、S3+a
11、S4+a12の結果が得られる。
Here, a1 + a5, a2 + a6, a3 +
The addition results of a7, a4 + a8 are S1, S2, S
3, S4, S1 and a9 at the 10th clock and S2 and a10, 12 at the 11th clock.
S3 and a11 at the clock, S4 and a at the 13th clock
12, S1 + a9, S2 + a10, S3 + a
11, the result of S4 + a12 is obtained.

【0008】最終結果の算出方法は様々であるが、ここ
では図7に示す方法で求めるものとする。図7では、ベ
クトル処理要素数が8の時の最終結果の算出方法を示
す。S1、S2、S3、S4は上述した方法により算出
される。S3が加算器内処理1に入力するタイミング
で、S1が加算器内処理1に入力されるように演算器内
で制御され、S1+S3=S5が計算されるものとす
る。同様に、S4が加算器内処理1に入力されるタイミ
ングで、S2が加算器内処理1に入力されるように演算
器内で制御され、S2+S4=S6が計算されるものと
する。また、S6が加算器内処理1に入力されるタイミ
ングでS5が加算器内処理1に入力されるように演算器
内で制御され、S5+S6=総和が計算されるものとす
る。
Although there are various methods for calculating the final result, it is assumed here that the final result is obtained by the method shown in FIG. FIG. 7 shows a method of calculating the final result when the number of vector processing elements is eight. S1, S2, S3, and S4 are calculated by the method described above. At the timing when S3 is input to the in-adder processing 1, the arithmetic unit is controlled so that S1 is input to the in-adder processing 1, and S1 + S3 = S5 is calculated. Similarly, it is assumed that at the timing when S4 is input to the in-adder processing 1, the arithmetic unit is controlled so that S2 is input to the in-adder processing 1, and S2 + S4 = S6 is calculated. It is also assumed that the arithmetic unit is controlled so that S5 is input to the in-adder processing 1 at the timing when S6 is input to the in-adder processing 1, and the sum S5 + S6 is calculated.

【0009】このように、最終的に1つの総和結果が得
られ、その結果はベクトルレジスタ12に格納される。
一般的に、ベクトル演算装置における総和処理は上述の
ように加算器内でデータを回帰させることによって処理
の高速化を図るようにしている。スカラ処理を行う場合
は、通常a1から要素順に加算されるが、ベクトル演算
装置で処理する場合は、要素順には加算されないので、
スカラ処理時とは加算順序が異なる。ところが、加算処
理は公知のように加算処理前に以下のような指数合わせ
を行う必要がある。
As described above, one sum result is finally obtained, and the result is stored in the vector register 12.
Generally, the summation processing in the vector operation device is designed to speed up the processing by regressing the data in the adder as described above. When performing scalar processing, elements are usually added in element order from a1, but when processing is performed by a vector operation device, they are not added in element order.
The order of addition differs from that in scalar processing. However, it is necessary for the addition processing to perform the following index matching before the addition processing as is known.

【0010】計算機上で扱われる浮動小数点データは通
常16進数で表され、指数部と仮数部で示すことができ
る。加算処理において、一般には指数合わせは指数の大
きい方へ指数の小さい方を合わせる。加算する2つのデ
ータの指数部の差分だけ指数の小さい方の仮数部を右に
シフトするので、シフトアウトしたビットは切捨てられ
る。このように、加算処理においては指数合わせを行う
必要があるので、加算する2つのデータの指数差が大き
い場合には、シフトアウトされるビット数が多くなり、
加算結果が誤差を含むことになる。
[0010] Floating point data handled on a computer is usually represented by a hexadecimal number, and can be represented by an exponent part and a mantissa part. In addition processing, in general, in the exponent matching, the smaller exponent is adjusted to the larger exponent. Since the mantissa having the smaller exponent is shifted right by the difference between the exponents of the two data to be added, the shifted out bits are discarded. As described above, since it is necessary to perform exponent matching in the addition processing, when the exponent difference between two data to be added is large, the number of bits to be shifted out increases,
The addition result will include an error.

【0011】この誤差について、計算機上で扱われるデ
ータを10進数で表して以下に簡単に説明する。加算器
の有効桁数は小数点以下5桁であると仮定し、ベクトル
処理要素数が8の場合の具体的な動作について説明す
る。a1〜a8の各データを、a1=1.00000E
+00、a2=2.00000E+00、a3=3.0
0000E+00、a4=4.00000E+00、a
5=5.00000E+00、a6=1.00000E
+00、a7=2.00000E+00、a8=1.0
0000E+06とすると、途中加算結果であるS1〜
S6と最終結果(総和)は以下のようになる。 S1=a1+a5=1.00000E+00+5.00000E+00=6.00000E+00 S2=a2+a6=2.00000E+00+1.00000E+00=3.00000E+00 S3=a3+a7=3.00000E+00+2.00000E+00=5.00000E+00 S4=a4+a8=4.00000E+00+1.00000E+06=0.00000E+06+1.000
00E+06=1.00000E+06 S5=S1+S3=6.00000E+00+5.00000E+00=1.1000E+01 S6=S2+S4=3.00000E+00+1.00000E+06=0.00000E+06+1.000
00E+06=1.00000E+06 総和=S5+S6=1.10000E+01+1.00000E+06=0.00001E+06+1.0
0000E+06=1.00001E+06 総和処理の最終結果は、1.00001E+06になる。
This error will be briefly described below by representing data handled on a computer by a decimal number. It is assumed that the number of significant digits of the adder is five digits after the decimal point, and a specific operation when the number of vector processing elements is eight will be described. a1 = 1.0000E
+00, a2 = 2.00000E + 00, a3 = 3.0
0000E + 00, a4 = 4.000000E + 00, a
5 = 500000E + 00, a6 = 1.0000E
+00, a7 = 2.00000E + 00, a8 = 1.0
Assuming that 0000E + 06, S1 to S5 which are intermediate addition results
S6 and the final result (sum) are as follows. S1 = a1 + a5 = 1.00000E + 00 + 5.00000E + 00 = 6.00000E + 00 S2 = a2 + a6 = 2.00000E + 00 + 1.00000E + 00 = 3.00000E + 00 S3 = a3 + a7 = 3.00000E + 00 + 2.00000E + 00 = 5.00000E + 00 S4 = a4 + a8 = 4.00000E + 00 + 1.00000E + 06 = 0.00000E + 06 + 1.000
00E + 06 = 1.00000E + 06 S5 = S1 + S3 = 6.00000E + 00 + 5.00000E + 00 = 1.1000E + 01 S6 = S2 + S4 = 3.00000E + 00 + 1.00000E + 06 = 0.00000E + 06 + 1.000
00E + 06 = 1.00000E + 06 Total = S5 + S6 = 1.10000E + 01 + 1.00000E + 06 = 0.00001E + 06 + 1.0
0000E + 06 = 1.00001E + 06 The final result of the summation processing is 1.00001E + 06.

【0012】同様の計算をスカラで処理した場合は、a
1からa8まで要素順に加算するので、最終結果(総
和)は以下のようになる。 a1+a2=1.00000E+00+2.00000E+00=3.00000E+00…S1 S1+a3=3.00000E+00+3.00000E+00=6.00000E+00…S2 S2+a4=6.00000E+00+4.00000E+00=1.00000E+01…S3 S3+a5=3.00000E+01+5.00000E+00=1.50000E+01…S4 S4+a6=3.00000E+01+1.00000E+00=1.60000E+01…S5 S5+a7=1.60000E+01+2.00000E+00=1.80000E+01…S6 S6+a8=1.80000E+01+1.00000E+06=1.00002E+06…総和 このように、入力データに依存するものの、最終総和結
果は加算順序によってベクトル処理とスカラ処理とで変
わる可能性がある。
When a similar calculation is processed by a scalar, a
Since the elements are added in order from 1 to a8 in element order, the final result (sum) is as follows. a1 + a2 = 1.00000E + 00 + 2.00000E + 00 = 3.00000E + 00 ... S1 S1 + a3 = 3.00000E + 00 + 3.00000E + 00 = 6.00000E + 00 ... S2 S2 + a4 = 6.00000E + 00 + 4.00000 E + 00 = 1.00000E + 01 ... S3 S3 + a5 = 3.00000E + 01 + 5.00000E + 00 = 1.50000E + 01 ... S4 S4 + a6 = 3.00000E + 01 + 1.00000E + 00 = 1.60000E + 01 ... S5 S5 + a7 = 1.60000E + 01 + 2.00000E + 00 = 1.80000E + 01 ... S6 S6 + a8 = 1.80000E + 01 + 1.00000E + 06 = 1.00002E + 06 ... summation Although it depends on the input data, The final sum result may change between vector processing and scalar processing depending on the addition order.

【0013】[0013]

【発明が解決しようとする課題】しかしながら、スカラ
処理時とベクトル処理時とで総和処理結果が異なる場合
は、ほとんどの場合スカラ処理時の結果が正しいとされ
ている。これは、プログラム上は要素順に加算するよう
に書かれているので、スカラ処理時における指数合わせ
によって発生する誤差は避けられないものであるからで
ある。このように総和処理結果が異なる場合は、プログ
ラムソース中の総和処理が発生する箇所のみスカラ処理
を行うことが可能である。しかし、この場合は、ベクト
ル演算で処理できる箇所をあえてスカラで処理するた
め、処理時間が遅くなるという問題がある。
However, when the sum processing result differs between the scalar processing and the vector processing, the result of the scalar processing is considered to be correct in most cases. This is because, in the program, the addition is performed in the order of the elements, so that an error generated by exponent matching at the time of scalar processing is inevitable. As described above, when the sum processing results are different, it is possible to perform the scalar processing only in the portion of the program source where the sum processing occurs. However, in this case, there is a problem in that the processing time is slow because a portion that can be processed by the vector operation is dared to be processed by the scalar.

【0014】また、スカラ処理時以上に高精度の演算結
果が必要な場合は、処理対象要素を昇順に並べ換えた
後、スカラで処理を行うことによって指数合わせなどに
よる誤差を小さくすることが可能になる。しかし、この
場合は、処理要素を並べ換えるためのプログラムソース
が必要となり、人手がかかる上に、処理時間も遅くなっ
てしまう。
Further, when a higher precision operation result is required than at the time of scalar processing, the elements to be processed are rearranged in ascending order, and then the processing is performed by scalar, thereby making it possible to reduce errors due to index matching and the like. Become. However, in this case, a program source for rearranging the processing elements is required, which requires labor and reduces processing time.

【0015】上述したように、ベクトル演算処理では、
総和演算処理の高速化を図っているために総和処理時の
加算順序がスカラ処理時と異なることになるが、従来の
ベクトル演算装置では、ベクトル総和処理時に加算順序
を変更することができないため、処理するデータによっ
てはスカラ処理による総和結果と比べて、ベクトル処理
の総和結果の精度が劣るという問題がある。更に、入力
データを並べ換える手段がないため、スカラ処理で行う
以上の高精度の演算結果は期待できない。
As described above, in the vector operation processing,
The order of addition at the time of summation processing is different from that at the time of scalar processing because the speed of the summation processing is increased.However, with a conventional vector operation device, the addition order cannot be changed at the time of vector summation processing. Depending on the data to be processed, there is a problem that the accuracy of the sum result of the vector processing is inferior to the sum result of the scalar processing. Further, since there is no means for rearranging the input data, a calculation result with higher precision than that performed by the scalar processing cannot be expected.

【0016】本発明は上記課題を解決すべくなされたも
のであり、ベクトル総和処理時に入力データを昇順に並
べ換え、更に要素順に加算を行うことによって、高精度
の総和処理結果を得ることができるベクトル演算装置を
提供することを目的とする。
The present invention has been made in order to solve the above-mentioned problem. A vector which can obtain a high-accuracy summation processing result by rearranging input data in ascending order during vector summation processing and further performing addition in element order. It is an object to provide an arithmetic device.

【0017】[0017]

【課題を解決するための手段】上記課題を解決するた
め、本発明のベクトル演算装置は、少なくとも1つのベ
クトルレジスタと、当該ベクトルレジスタ内のベクトル
データを総和演算処理する加算器とを具えるベクトル処
理装置において、前記ベクトルレジスタ内のベクトルデ
ータを並べ換えるデータ並べ替え手段と、当該データ並
べ換え手段で並べ換えたデータを前記加算器に順次入力
して、前記データをキー値が小さい要素順に加算して総
和演算処理を行うようにしたことを特徴とする。
In order to solve the above-mentioned problems, a vector operation device according to the present invention comprises a vector having at least one vector register and an adder for performing a sum operation on vector data in the vector register. In the processing device, data rearranging means for rearranging vector data in the vector register, and the data rearranged by the data rearranging means are sequentially input to the adder, and the data is added in the order of the element having the smallest key value. It is characterized in that the summation processing is performed.

【0018】このように構成することによって、小さい
データから順に加算処理を行うことができるので、指数
合わせにより発生する誤差を抑えることが可能となる。
このため、高精度な総和処理結果を得ることができる。
With this configuration, the addition process can be performed in the order of small data, so that an error generated by index matching can be suppressed.
Therefore, a highly accurate summation processing result can be obtained.

【0019】又、本発明のベクトル演算装置は、前記デ
ータ並べ換え手段が、前記ベクトルデータを並べ換える
データソート手段と、当該データソート手段により並べ
換えたデータを格納するデータ格納手段と、当該データ
格納手段に格納したベクトルデータを所定のタイミング
で読み出して前記加算器に送出するデータ読み出しタイ
ミング指示手段を具えることを特徴とする。
Further, in the vector operation device according to the present invention, the data rearranging unit may rearrange the vector data, a data storing unit storing the data rearranged by the data sorting unit, and the data storing unit. And a data read timing instructing means for reading out the vector data stored in the adder at a predetermined timing and sending the read out data to the adder.

【0020】更に本発明のベクトル演算装置は、前記加
算器が最終加算結果以外の途中加算結果が再度当該加算
器に入力されるように構成されており、前記データ読み
出しタイミング指示手段が、先行要素の加算結果が前記
加算器に再度入力されるのと同時に次要素を前記データ
格納手段から読み出して前記加算器に入力するように指
示することを特徴とする。
Further, in the vector operation device according to the present invention, the adder is configured such that an intermediate addition result other than the final addition result is input to the adder again, and the data read timing instructing means includes: Is input to the adder again, and at the same time, the next element is read from the data storage means and instructed to be input to the adder.

【0021】このように構成することにより、ベクトル
データを並べ換え、その後に所定のタイミング、特に加
算器における動作タイミングに同期してデータを読み出
して加算器に送出することができるので、高精度で高速
な総和演算処理を実行することができる。
With this configuration, the vector data can be rearranged, and thereafter, the data can be read out and sent to the adder in synchronization with a predetermined timing, particularly, the operation timing of the adder. It is possible to execute a simple summation processing.

【0022】又、本発明のベクトル演算装置は、前記ベ
クトルレジスタ内のベクトルデータを直接前記加算器に
送り込む第1のデータラインと、前記ベクトルデータを
前記データ並べ換え手段を介して前記加算器に送り込む
第2のデータラインとを具え、前記加算器へのベクトル
データの供給ラインを前記第1のデータラインと第2の
データラインとの間で切り換えるデータ供給切り換え手
段を具えることを特徴とする。
Further, the vector operation device of the present invention sends the vector data in the vector register directly to the adder, and sends the vector data to the adder via the data rearranging means. A second data line; and a data supply switching unit for switching a vector data supply line to the adder between the first data line and the second data line.

【0023】このように、ベクトルデータを並べ替える
必要のない時は、データをそのままの順で加算処理する
ことが可能となるので、その場合に応じた適切な加算処
理を行うことができる。
As described above, when it is not necessary to rearrange the vector data, the data can be added in the same order, so that an appropriate adding process according to the case can be performed.

【0024】又、本発明のベクトル演算装置は、前記ベ
クトルデータの並べ換えが昇順で行われることを特徴と
する。
Further, the vector operation device according to the present invention is characterized in that the rearrangement of the vector data is performed in ascending order.

【0025】このように、ベクトルデータを昇順に並べ
換えることによって、小さいデータから順に加算処理を
行うことができるので、指数合わせによって発生する誤
差を小さくすることが可能となる。
As described above, by rearranging the vector data in ascending order, the addition process can be performed in ascending order of data, so that an error generated by index matching can be reduced.

【0026】又、本発明のベクトル演算装置は、コンパ
イラが作成した命令語内に、前記ベクトルデータの並べ
換え処理を行うか否かの指示信号が設定されていること
を特徴とする。
Further, the vector operation device according to the present invention is characterized in that an instruction signal as to whether or not to perform the rearrangement processing of the vector data is set in an instruction word created by a compiler.

【0027】又、本発明のベクトル演算装置は、プロセ
ス状態語内に前記ベクトルデータの並べ換え処理を行う
か否かの指示信号が設定されていることを特徴とする。
Further, the vector operation device according to the present invention is characterized in that an instruction signal as to whether or not the rearrangement processing of the vector data is performed is set in a process state word.

【0028】このように構成することによって、プログ
ラム実行者は任意の箇所の総和処理のみデータを昇順に
並べ換えて行うことができるので、全体のプログラムの
実行時間を極端に遅くすることなく高精度な結果を得る
ことができる
With this configuration, the program executor can rearrange the data in ascending order only at an arbitrary position in the ascending order, so that the execution time of the entire program can be highly accurate without extremely slowing down. Can get results

【0029】又、本発明のベクトル演算装置は、当該演
算装置内で行われる総和演算のうちの一部を指定して、
当該指定した部分について前記並べ替え手段を介してベ
クトル総和演算処理を行うようにしたことを特徴とす
る。
Further, the vector operation device of the present invention specifies a part of the summation operation performed in the operation device,
A vector summation process is performed on the designated portion via the rearranging means.

【0030】このように構成することによって、全体の
プログラムの実行時間を極端に遅くすることなく高精度
な総和演算処理を実行することができる。
With this configuration, it is possible to execute a high-accuracy summation processing without extremely delaying the execution time of the entire program.

【0031】[0031]

【発明の実施の形態】本発明のベクトル処理装置を添付
の図面を参照して詳細に説明する。図1は、本発明の第
1の実施形態の構成を示すブロック図である。本発明の
ベクトル処理装置は、ベクトルデータを格納するベクト
ルレジスタ11と、総和演算を処理する加算器21と、
ベクトルデータの並べ替えを行うか否かの切り替えをす
る入力切り替え手段30と、ベクトルデータを昇順に並
べ換えるデータ並べ換え手段40と、演算結果を保存す
るベクトルレジスタ12とを具える。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS A vector processing apparatus according to the present invention will be described in detail with reference to the accompanying drawings. FIG. 1 is a block diagram showing a configuration of the first exemplary embodiment of the present invention. The vector processing device of the present invention includes a vector register 11 for storing vector data, an adder 21 for processing a summation operation,
The apparatus includes an input switching unit 30 for switching whether or not to rearrange vector data, a data rearranging unit 40 for rearranging vector data in ascending order, and a vector register 12 for storing an operation result.

【0032】入力切り替え手段30は、データソート指
示信号50にしたがってベクトルレジスタ11から読み
出したベクトルデータを加算器21に直接入力するか、
あるいはデータ並べ換え手段40を介して加算器21に
供給するかを切り替える。データ並べ換え手段40は、
データソート手段41と、データ格納手段42と、読み
出しタイミング制御手段43とを具える。データソート
手段41は、入力切り替え手段30を介して送出されて
きた複数要素のベクトルデータを昇順に並べ換え、その
結果をデータ格納手段42に格納する。データ格納手段
42内のベクトルデータは、読み出しタイミング指示手
段43によって読み出され、その後加算器21に供給さ
れる。読み出しタイミング指示手段43は、各ベクトル
データをデータ格納手段42から読み出すタイミングを
指示するが、このタイミングは加算器21内の処理時間
によって決定し、先行要素の加算結果が加算器21へ入
力されるのと同時に次要素をデータ格納手段42から読
み出して加算器21へ入力されるように指示する。尚、
加算器21は、最終演算結果以外の途中結果は再度加算
器21に入力され、最終結果のみをベクトルレジスタ1
2に格納するように構成されている。
The input switching means 30 directly inputs the vector data read from the vector register 11 to the adder 21 in accordance with the data sort instruction signal 50,
Alternatively, whether to supply the data to the adder 21 via the data rearranging means 40 is switched. The data rearranging means 40
It comprises a data sorting means 41, a data storage means 42, and a read timing control means 43. The data sorting unit 41 rearranges the vector data of a plurality of elements transmitted through the input switching unit 30 in ascending order, and stores the result in the data storage unit 42. The vector data in the data storage means 42 is read by the read timing instructing means 43 and then supplied to the adder 21. The read timing instructing means 43 instructs the timing of reading each vector data from the data storage means 42. The timing is determined by the processing time in the adder 21, and the result of addition of the preceding element is input to the adder 21. At the same time, the next element is read out from the data storage means 42 and instructed to be input to the adder 21. still,
The adder 21 inputs the intermediate result other than the final operation result to the adder 21 again, and stores only the final result in the vector register 1.
2 is stored.

【0033】図2は、本発明のベクトル処理装置におけ
る命令語を示す図である。命令語100において、OP
フィールド101は命令を示すオペレーションコードを
示し、RRフィールド103はデータを読み出すベクト
ルレジスタを指定し、WRフィールドは104は演算結
果を書き込むベクトルレジスタを指定する。また、ソー
ト指示ビット102は、入力データを昇順に並べ換える
べきか並べ換えずに通常の総和処理を行うかを指定する
ビットである。
FIG. 2 is a diagram showing instruction words in the vector processing device of the present invention. In instruction 100, OP
A field 101 indicates an operation code indicating an instruction, an RR field 103 specifies a vector register from which data is read, and a WR field 104 specifies a vector register into which an operation result is written. The sort instruction bit 102 is a bit for specifying whether input data should be rearranged in ascending order or normal summation processing should be performed without rearrangement.

【0034】データの並べ替えを行わずに通常通りの総
和処理を行う場合はソース指示ビット102を”0”
に、入力データを並べ換える場合は”1”に指定するよ
うにする。このビットは、コンパイラが命令語を生成す
る際に”0”か”1”かを指定する。尚、プログラム中
の一部にコンパイラ指示行が書かれている場合は、指定
された部分のみの総和演算命令を対象にして、並べ替え
を行うようにする。一方、コンパイルオプションなどで
指定する場合は、プログラム中のすべての総和演算命令
を対象にして、並べ替えを行うことができる。このソー
ト指示ビット102が”0”の場合は、図1に示すデー
タソート指示信号50は”0”となり、通常の総和演算
処理が行われ、ソート指示ビット102が”1”の場合
は、ソート指示信号は”1”となって、データの並べ替
えを行って演算処理が実行される。
When performing the normal summation processing without rearranging the data, the source instruction bit 102 is set to "0".
In order to rearrange the input data, "1" is specified. This bit designates “0” or “1” when the compiler generates an instruction word. If a compiler instruction line is written in a part of the program, the rearrangement is performed only for the sum operation instruction in only the specified part. On the other hand, in the case of specifying by a compile option or the like, the rearrangement can be performed for all the sum operation instructions in the program. When the sort instruction bit 102 is "0", the data sort instruction signal 50 shown in FIG. 1 becomes "0", and normal summation processing is performed. When the sort instruction bit 102 is "1", the sort The instruction signal becomes "1", the data is rearranged, and the arithmetic processing is executed.

【0035】又、上述の実施形態では、ソート指示信号
50は命令語100中のソート指示ビットによって決定
しているが、例えば図3に示すようなプロセス状態語2
00内にソート指示信号を設け、HWの初期設定値とし
て設定し前総和演算命令を対象とするようにしてもよ
い。
In the above-described embodiment, the sort instruction signal 50 is determined by the sort instruction bit in the instruction word 100. However, for example, the process state word 2 shown in FIG.
A sort instruction signal may be provided in 00, set as an initial setting value of HW, and targeted for the previous sum operation instruction.

【0036】次に、本発明に係るベクトル処理装置の動
作の流れについて図1及び図2を参照しながら説明す
る。図1において、命令制御部(図示せず)から総和演
算命令が発行されると、命令語100(図2参照)中の
RRフィールド103によってベクトルレジスタ11が
指定され、このレジスタからベクトルデータが読み出さ
れる。次いで、データ切り替え手段30は、データソー
ト指示信号50が”0”の場合は、ベクトルレジスタ1
1から読み出したベクトルデータを、加算器21に直接
入力するようにデータレートの切り替えを行う。一方、
データソート指示信号50が”1”の場合は、データ並
べ換え手段40にルートを切り替えて、ベクトルデータ
をデータ並べ換え手段40入力させる。
Next, the flow of the operation of the vector processing apparatus according to the present invention will be described with reference to FIGS. In FIG. 1, when a sum operation instruction is issued from an instruction control unit (not shown), a vector register 11 is specified by an RR field 103 in an instruction word 100 (see FIG. 2), and vector data is read from this register. It is. Next, when the data sort instruction signal 50 is “0”, the data switching means 30
The data rate is switched so that the vector data read from 1 is directly input to the adder 21. on the other hand,
When the data sort instruction signal 50 is "1", the route is switched to the data rearrangement means 40, and the vector data is input to the data rearrangement means 40.

【0037】データソート信号50が”1”の場合は、
ベクトルレジスタ11からのベクトルデータはデータ並
べ換え手段40に送出され、データソート手段41に
て、複数要素のデータを昇順に並べ換える。この結果は
データ格納手段42に格納される。読み出しタイミング
指示手段43にタイミング信号に応じてデータ格納手段
42から読み出されて、加算器21に入力される。読み
出しタイミング手段43がベクトルデータを読み出すタ
イミングは、加算器21内の処理時間によって決定し、
先行要素の加算結果が加算器21に入力されるのと同時
に次要素がデータ格納手段42から読み出され、加算器
21へ入力される。加算器21での最終結果以外の途中
結果は再度加算器21に入力され、最終結果のみ命令語
100中のWRフィールド104で指定されたベクトル
レジスタ、この場合ベクトルレジスタ12に送出され、
格納される。
When the data sort signal 50 is "1",
The vector data from the vector register 11 is sent to the data sorting means 40, and the data sorting means 41 sorts the data of a plurality of elements in ascending order. This result is stored in the data storage means 42. The data is read from the data storage means 42 according to the timing signal to the read timing instructing means 43, and is input to the adder 21. The timing at which the read timing means 43 reads the vector data is determined by the processing time in the adder 21,
At the same time as the result of addition of the preceding element is input to the adder 21, the next element is read from the data storage means 42 and input to the adder 21. Intermediate results other than the final result in the adder 21 are input to the adder 21 again, and only the final result is sent to the vector register designated by the WR field 104 in the instruction word 100, in this case, the vector register 12,
Is stored.

【0038】データソート信号50が”0”の場合、す
なわちベクトルレジスタ11から読み出したベクトルデ
ータを加算器21に直接入力する場合は、従来の総和処
理と同様であるので、ここでの説明は省略する。又、加
算器21における浮動小数点加算における加算方法は、
公知であるのでここでの説明は省略する。
When the data sort signal 50 is "0", that is, when the vector data read from the vector register 11 is directly input to the adder 21, it is the same as the conventional summation processing, and the description is omitted here. I do. The addition method in the floating point addition in the adder 21 is as follows.
Since it is publicly known, description thereof is omitted here.

【0039】次に、図4を参照してソート指示信号50
が”1”の場合の本発明の加算器21内の処理動作を詳
細に説明する。ここで、加算器21内の処理時間を4ク
ロックと仮定し、データ並べ換え手段40によって昇順
に並べ換えられたデータを、A1、A2、A3、A
4...とする。
Next, referring to FIG.
The processing operation in the adder 21 according to the present invention when “1” is “1” will be described in detail. Here, assuming that the processing time in the adder 21 is 4 clocks, the data rearranged by the data rearranging means 40 in the ascending order is A1, A2, A3, A
4. . . And

【0040】図4に示すとおり、クロック1においてデ
ータ格納手段42から第1要素(A1)が読み出され、
次のクロック2で加算器内処理1へ入力される。この
時、加算器21ではA1を即値”0”と加算する。次い
で加算器内処理2、3を経て、5クロック目には加算器
内処理4においてA1+0の結果が求められる。この結
果は次のクロック(6クロック目)で再度加算器内処理
1に入力される。A1+0の結果が6クロック目に加算
器内処理1に入力されることは予め予測することが可能
であるので、読み出しタイミング指示手段43は、5ク
ロック目にデータ格納手段42からA2を読み出して、
6クロック目に次要素(A2)が加算器内処理1に入力
するようにする。すなわち、読み出しタイミング指示手
段43は、4クロック毎にデータ格納手段42からデー
タを読み出すようにする。
As shown in FIG. 4, at the clock 1, the first element (A1) is read from the data storage means 42,
At the next clock 2, it is input to the in-adder processing 1. At this time, the adder 21 adds A1 to the immediate value “0”. Next, after the processes 2 and 3 in the adder, the result of A1 + 0 is obtained in the process 4 in the adder at the fifth clock. This result is input to the in-adder processing 1 again at the next clock (the sixth clock). Since it is possible to predict in advance that the result of A1 + 0 is input to the in-adder processing 1 at the sixth clock, the read timing instructing means 43 reads A2 from the data storage means 42 at the fifth clock,
At the sixth clock, the next element (A2) is input to the processing 1 in the adder. That is, the read timing instruction means 43 reads data from the data storage means 42 every four clocks.

【0041】図4に示すように、6クロック目には、加
算器内処理1においてA1+A2(=S1)が求められ
る。以後同様に、9クロック目にデータ格納手段42か
ら第3要素(A3)が読み出され、10クロック目には
S1とA3が加算器内処理1に入力され、加算器内処理
2、3を経て13クロック目にはS1+A3(=S2)
が算出される。このようにして、データソート手段41
によって昇順に並べ換えられたベクトルデータをデータ
の小さい順に加算することによって総和演算処理を行
い、最終的に求められた総和をベクトルレジスタ12に
格納する。
As shown in FIG. 4, at the sixth clock, A1 + A2 (= S1) is obtained in the processing 1 in the adder. Similarly, at the ninth clock, the third element (A3) is read from the data storage means 42, and at the tenth clock, S1 and A3 are input to the in-adder processing 1, and the in-adder processing 2, 3 are performed. After the 13th clock, S1 + A3 (= S2)
Is calculated. Thus, the data sorting means 41
The summation process is performed by adding the vector data rearranged in ascending order in ascending order of the data, and the finally calculated sum is stored in the vector register 12.

【0042】[0042]

【発明の効果】上述したように、本発明のベクトル処理
装置によれば、総和処理を行うベクトルデータを昇順に
並べ換えた後、小さいデータから順に加算処理を行うこ
とができるので、指数合わせによって発生する誤差を抑
えることができる。このため、高精度な演算結果を得る
ことができる。
As described above, according to the vector processing apparatus of the present invention, after the vector data to be subjected to the summation processing are rearranged in ascending order, the addition processing can be performed in ascending order of the data. Error can be suppressed. Therefore, a highly accurate calculation result can be obtained.

【0043】又、プログラム実行者が任意の箇所の総和
演算処理のみについてデータを並べ換えて演算処理を行
うようにすることができるので、全体のプログラムの実
行時間を極端に遅くすることなく高精度な結果を得るこ
とができる。
Further, since the program executor can rearrange the data and perform the arithmetic processing only for the summation processing at an arbitrary position, a high-precision processing can be performed without extremely delaying the execution time of the entire program. The result can be obtained.

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

【図1】 図1は、本発明のベクトル演算装置の構成を
示すブロック図である。
FIG. 1 is a block diagram showing a configuration of a vector operation device according to the present invention.

【図2】 図2は、本発明のベクトル演算装置における
命令語を示す図である。
FIG. 2 is a diagram showing an instruction word in the vector operation device of the present invention.

【図3】 図3は、本発明のベクトル演算装置における
プロセス状態語を示す図である。
FIG. 3 is a diagram showing a process state word in the vector operation device of the present invention.

【図4】 図4は、本発明のベクトル演算装置の加算器
内の処理動作を示す図である。
FIG. 4 is a diagram showing a processing operation in an adder of the vector operation device according to the present invention.

【図5】 図5は、従来のベクトル演算装置の構成を示
すブロック図である。
FIG. 5 is a block diagram showing a configuration of a conventional vector operation device.

【図6】 図6は、従来のベクトル演算装置の加算器内
の処理動作を示す図である。
FIG. 6 is a diagram showing a processing operation in an adder of a conventional vector operation device.

【図7】 図7は、従来のベクトル演算装置の加算器内
のもう一つの処理動作を示す図である。
FIG. 7 is a diagram showing another processing operation in the adder of the conventional vector operation device.

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

11、12、111、112 ベクトルレジスタ 21、121 加算器 30 入力切り替え手段 40 データ並べ換え手段 41 データソート手段 42 データ格納手段 43 読み出しタイミング指示手段 50 データソート信号 100 命令語 101、301 OPフィールド 102 ソート指示ビット 103、303 RRフィールド 104、304 WRフィールド 200 プロセス状態語 201 ソート指示ビット 300 命令語 11, 12, 111, 112 Vector register 21, 121 Adder 30 Input switching means 40 Data rearranging means 41 Data sorting means 42 Data storage means 43 Read timing instructing means 50 Data sort signal 100 Command word 101, 301 OP field 102 Sort instruction Bit 103, 303 RR field 104, 304 WR field 200 Process status word 201 Sort instruction bit 300 Command word

Claims (8)

【特許請求の範囲】[Claims] 【請求項1】 少なくとも1つのベクトルレジスタと、
当該ベクトルレジスタ内のベクトルデータを総和演算処
理する加算器とを具えるベクトル処理装置において、前
記ベクトルレジスタ内のベクトルデータを並べ換えるデ
ータ並べ替え手段と、当該データ並べ換え手段で並べ換
えたデータを前記加算器に順次入力して、前記データを
キー値が小さい要素順に加算して総和演算処理を行うよ
うにしたことを特徴とするベクトル演算装置。
1. At least one vector register,
In a vector processing device comprising an adder for performing a sum operation on the vector data in the vector register, a data rearranging unit for rearranging the vector data in the vector register, and adding the data rearranged by the data rearranging unit to the adder. A vector operation device for sequentially inputting the data to the elements and adding the data in the order of the element having the smallest key value to perform the summation processing.
【請求項2】 請求項1に記載のベクトル演算装置にお
いて、前記データ並べ換え手段が、前記ベクトルデータ
を並べ換えるデータソート手段と、当該データソート手
段により並べ換えたデータを格納するデータ格納手段
と、当該データ格納手段に格納したベクトルデータを所
定のタイミングで読み出して前記加算器に送出するデー
タ読み出しタイミング指示手段を具えることを特徴とす
るベクトル演算装置。
2. The vector operation device according to claim 1, wherein the data rearranging unit is a data sorting unit that rearranges the vector data, a data storage unit that stores the data rearranged by the data sorting unit, A vector operation device comprising: a data read timing instructing unit that reads out vector data stored in a data storage unit at a predetermined timing and sends the data to the adder.
【請求項3】 請求項1又は2に記載のベクトル演算装
置において、前記加算器が最終加算結果以外の途中加算
結果が再度当該加算器に入力されるように構成されてお
り、前記データ読み出しタイミング指示手段が、先行要
素の加算結果が前記加算器に再度入力されるのと同時に
次要素を前記データ格納手段から読み出して前記加算器
に入力するように指示することを特徴とするベクトル演
算装置。
3. The vector operation device according to claim 1, wherein the adder is configured such that an intermediate addition result other than the final addition result is input to the adder again, and the data read timing is set. A vector operation device, wherein an instruction means instructs to read out the next element from the data storage means and to input the next element to the adder at the same time that the addition result of the preceding element is input to the adder again.
【請求項4】 請求項1乃至3のいずれかに記載のベク
トル演算装置において、前記ベクトルレジスタ内のベク
トルデータを直接前記加算器に送り込む第1のデータラ
インと、前記ベクトルデータを前記データ並べ換え手段
を介して前記加算器に送り込む第2のデータラインとを
具え、前記加算器へのベクトルデータの供給ラインを前
記第1のデータラインと第2のデータラインとの間で切
り換えるデータ供給切り換え手段を具えることを特徴と
するベクトル演算装置。
4. The vector operation device according to claim 1, wherein a first data line for directly sending vector data in the vector register to the adder, and the vector rearrangement means for reordering the vector data. And a second data line for sending the vector data to the adder through the data supply switching means for switching a supply line of vector data to the adder between the first data line and the second data line. A vector operation device, comprising:
【請求項5】 請求項1乃至4のいずれかに記載のベク
トル演算装置において、前記ベクトルデータの並べ換え
が昇順で行われることを特徴とするベクトル演算装置。
5. The vector operation device according to claim 1, wherein the rearrangement of the vector data is performed in ascending order.
【請求項6】 請求項1乃至5のいずれかに記載のベク
トル演算装置において、コンパイラが作成した命令語内
に、前記ベクトルデータの並べ換え処理を行うか否かの
指示信号が設定されていることを特徴とするベクトル演
算装置。
6. The vector operation device according to claim 1, wherein an instruction signal as to whether or not the vector data is rearranged is set in an instruction word created by a compiler. A vector operation device characterized by the above-mentioned.
【請求項7】 請求項1乃至5のいずれかに記載のベク
トル演算装置において、プロセス状態語内に前記ベクト
ルデータの並べ換え処理を行うか否かの指示信号が設定
されていることを特徴とするベクトル演算装置。
7. The vector operation device according to claim 1, wherein an instruction signal indicating whether or not to perform the rearrangement processing of the vector data is set in a process state word. Vector arithmetic unit.
【請求項8】 請求項1乃至5のいずれかに記載のベク
トル演算装置において、当該演算装置内で行われる総和
演算のうちの一部を指定して、当該指定した部分につい
て前記並べ替え手段を介してベクトル総和演算処理を行
うようにしたことを特徴とするベクトル演算装置。
8. The vector operation device according to claim 1, wherein a part of a summation operation performed in the operation device is specified, and the rearrangement unit performs processing on the specified portion. A vector operation device, wherein a vector sum operation process is performed via a computer.
JP32874699A 1999-11-18 1999-11-18 Vector arithmetic unit Expired - Lifetime JP3776652B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP32874699A JP3776652B2 (en) 1999-11-18 1999-11-18 Vector arithmetic unit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP32874699A JP3776652B2 (en) 1999-11-18 1999-11-18 Vector arithmetic unit

Publications (2)

Publication Number Publication Date
JP2001147914A true JP2001147914A (en) 2001-05-29
JP3776652B2 JP3776652B2 (en) 2006-05-17

Family

ID=18213720

Family Applications (1)

Application Number Title Priority Date Filing Date
JP32874699A Expired - Lifetime JP3776652B2 (en) 1999-11-18 1999-11-18 Vector arithmetic unit

Country Status (1)

Country Link
JP (1) JP3776652B2 (en)

Also Published As

Publication number Publication date
JP3776652B2 (en) 2006-05-17

Similar Documents

Publication Publication Date Title
US4016545A (en) Plural memory controller apparatus
US3983539A (en) Polymorphic programmable units employing plural levels of sub-instruction sets
EP0149213B1 (en) Vector processor
US4558411A (en) Polymorphic programmable units employing plural levels of sub-instruction sets
US4539635A (en) Pipelined digital processor arranged for conditional operation
US4541045A (en) Microprocessor architecture employing efficient operand and instruction addressing
JPS61836A (en) Multiplier/divider
JPH02140831A (en) Data processor
JPS61107431A (en) Arithmetic unit
JP2653037B2 (en) Data processing system
JPH03286332A (en) Digital data processor
US3001708A (en) Central control circuit for computers
JPH034936B2 (en)
JPS62226231A (en) Processor
JP3776652B2 (en) Vector arithmetic unit
US6240540B1 (en) Cyclic redundancy check in a computer system
JP2553200B2 (en) Information processing device
SE456051B (en) DIGITAL PROCESSOR DEVICE PROVIDED FOR PIPELINE DATA PROCESSING OPERATIONS
JPS6236575B2 (en)
JP2008003663A (en) Data processor and processing method
JPS5995646A (en) Arithmetic control system
JP2583614B2 (en) Vector arithmetic unit
JPH0588887A (en) Data processor
JP3693873B2 (en) Mask bit number arithmetic unit, vector processing unit, information processing unit
JPH06162067A (en) Device and method for controlling vector instruction

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040727

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040927

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050614

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050811

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20060207

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060223

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20100303

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100303

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20110303

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20120303

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20130303

Year of fee payment: 7