JPH083812B2 - Function operation control method - Google Patents
Function operation control methodInfo
- Publication number
- JPH083812B2 JPH083812B2 JP12318485A JP12318485A JPH083812B2 JP H083812 B2 JPH083812 B2 JP H083812B2 JP 12318485 A JP12318485 A JP 12318485A JP 12318485 A JP12318485 A JP 12318485A JP H083812 B2 JPH083812 B2 JP H083812B2
- Authority
- JP
- Japan
- Prior art keywords
- index
- vector
- value
- data
- argument
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/80—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
- G06F15/8053—Vector processors
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Complex Calculations (AREA)
Description
【発明の詳細な説明】 〔概要〕 ベクトルデータ等の関数演算の制御方法である。関数
計算に使用する、例えば近似多項式の係数等にすべき常
数が複数組あり、引数の値によって、その1組を決定し
て演算に使用する場合に、該常数に索引ケーブルを複数
個重複して記憶し、索引順序の連続するテーブル索引
は、異なるテーブルにアクセスするようにして、同一の
項の読出し競合による、処理の遅延を生じ難くする。DETAILED DESCRIPTION OF THE INVENTION [Outline] This is a method of controlling a function operation of vector data and the like. When there are multiple sets of constants to be used for function calculation, for example, coefficients of approximate polynomials, and one set is determined by the value of the argument and used for calculation, multiple index cables are duplicated in the constants. Table indexes that are stored in memory and have a continuous index order allow different tables to be accessed so that processing delay is less likely to occur due to read contention of the same term.
本発明は、計算機システムにおける、ベクトルデータ
等の関数演算の制御方法に関する。The present invention relates to a method of controlling a function operation of vector data or the like in a computer system.
近似多項式を使用する、関数の近似値計算において、
所望の近似精度を得る等のために、引数の値の範囲によ
って、例えば異なる係数値を使用する方式が一般に使用
されている。In the approximation calculation of the function using the approximation polynomial,
In order to obtain a desired approximation accuracy, for example, a method of using different coefficient values depending on the range of argument values is generally used.
この場合に、係数値はテーブルに構成され、関数演算
に際し、引数から所定の方法で定まるインデクスによ
り、該テーブルを索引することによって、1組の係数を
得る。In this case, the coefficient values are arranged in a table, and in the function operation, a set of coefficients is obtained by indexing the table with an index determined by a predetermined method from the argument.
従って、関数演算の高速化のためには、該テーブル索
引も高速に実行するようにすることが必要である。Therefore, in order to speed up the function calculation, it is necessary to execute the table index at high speed.
第2図はベクトル処理装置を有する計算機システムの
構成を示すブロック図である。FIG. 2 is a block diagram showing the configuration of a computer system having a vector processing device.
図において、1はベクトル処理装置、2は主記憶装置
であり、ベクトル処理装置1では、実行制御部3の制御
の下に、主記憶アクセス制御部4が、ベクトルレジスタ
5と主記憶装置2との間のデータ転送を制御し、演算制
御部6はベクトルレジスタ5のデータを読み出して処理
し、処理結果をベクトルレジスタ5に格納する。In the figure, 1 is a vector processing device, 2 is a main storage device, and in the vector processing device 1, under the control of the execution control unit 3, the main storage access control unit 4 connects the vector register 5 and the main storage device 2 to each other. Controlling the data transfer between them, the arithmetic control unit 6 reads the data of the vector register 5 and processes it, and stores the processing result in the vector register 5.
関数演算においては、前記のように、関数の近似値計
算式の例えば係数の値を、引数(該計算式の変数に代入
すべき数)の値によって異なる値をとるようにすること
により、所要の計算精度を維持する方式がとられるもの
とする。In the function calculation, as described above, the value of, for example, the coefficient of the approximate value calculation formula of the function is set to be different depending on the value of the argument (the number to be substituted into the variable of the calculation formula). A method that maintains the calculation accuracy of is assumed.
一例として、関数が平方根の場合の一演算方式におい
ては、先ず引数xを、範囲が1/16≦x′<1になるよう
なx′に変換して、x′について平方根を求め、結果を
逆変換によってxに対応する平方根に戻す方法により、
所定の最大値までの正数xの平方根計算を行う。As an example, in one operation method in which the function is a square root, the argument x is first converted into x ′ such that the range is 1/16 ≦ x ′ <1, the square root is obtained for x ′, and the result is By the method of returning to the square root corresponding to x by the inverse transformation,
The square root of a positive number x up to a predetermined maximum value is calculated.
こゝで、該変換は、公知の16の冪乗形式の浮動小数点
数の場合には、原理的には、いわゆる正規化された形式
のxの指数部を0にする操作で、x′が得られ、逆変換
はx′から得られる結果の指数部にxの指数部の1/2を
加える操作となる。Here, in the case of a well-known floating-point number in 16 power form, the conversion is, in principle, an operation of setting the exponent part of x in a so-called normalized form to 0, and x ′ is The obtained inverse transformation is an operation of adding 1/2 of the exponent part of x to the exponent part of the result obtained from x '.
x′の平方根の近似値計算は、x′の関数であるy′
を初期値として、公知のいわゆるニュートンの反復法に
よるが、この初期値y′は、下記のように、x′の範囲
を例えば4領域に分けて、各領域ごとに異なる係数ai、
biを持つ計算式によって求めることにより、x′の全範
囲について、一定の反復回数によって、所要の近似精度
がえられるようにする。An approximate value calculation of the square root of x'is a function of x'y '
According to the known so-called Newton's iterative method, the initial value y ′ is divided into, for example, the range of x ′ into, for example, four regions, and the coefficient a i which is different for each region,
The required approximation accuracy can be obtained by a constant number of iterations for the entire range of x ′ by obtaining the calculation expression having b i .
1/16≦x′<1/8のとき y′=a0x′+b0 1/8 ≦x′<1/4のとき y′=a1x′+b1 1/4 ≦x′<1/2のとき y′=a2x′+b2 1/2 ≦x′<1 のとき y′=a3x′+b3 このような関数の近似値計算を、ベクトルデータにつ
いて実行する場合には、例えばまず主記憶アクセス制御
部4によって、主記憶装置2上のベクトルデータxを、
ベクトルレジスタ5に読み込み、演算部6がこれを変換
してx′のデータベクトル10(第3図)を生成する。When 1/16 ≦ x ′ <1/8 y ′ = a 0 x ′ + b 0 1/8 ≦ x ′ <1/4 y ′ = a 1 x ′ + b 1 1/4 ≦ x ′ <1 When / 2 y ′ = a 2 x ′ + b 2 1/2 ≦ x ′ <1 y ′ = a 3 x ′ + b 3 When performing approximation of such a function on vector data, For example, first, the main memory access control unit 4 sets the vector data x on the main memory 2 to
The data is read into the vector register 5, and the arithmetic unit 6 converts this to generate a data vector 10 of x '(FIG. 3).
次に、演算部6は、このデータベクトル10の各要素デ
ータから、前記係数を保持する常数テーブルを索引する
ためのインデクスとなるビット列を抽出して、インデク
スベクトル11(第3図)をベクトルレジスタ5に作成す
る。Next, the arithmetic unit 6 extracts a bit string serving as an index for indexing the constant table holding the coefficient from each element data of the data vector 10 and outputs the index vector 11 (Fig. 3) as a vector register. Create in 5.
このインデクスは、例えば前記形式で正規化された浮
動小数点数x′の、仮数部の上位3ビットをそのまゝ使
用する。This index uses, for example, the upper 3 bits of the mantissa part of the floating point number x'normalized in the above format.
主記憶アクセス制御部4は、主記憶装置2に格納され
ている常数テーブル12(第3図)の先頭アドレスとイン
デクスベクトル11を使って、常数テーブル12から常数を
読み出し、ベクトルレジスタ5に格納する。The main memory access control unit 4 reads the constants from the constant table 12 using the start address of the constant table 12 (FIG. 3) and the index vector 11 stored in the main memory 2 and stores them in the vector register 5. .
こゝで常数テーブル12は係数aiとbiの対の値を各項に
保持するテーブルとし、前記のようにして定まるインデ
クスによって索引するために、例えば、一部に同一係数
を重複して含む、8項からなる構成のテーブルとする。Here, the constant table 12 is a table holding the paired values of the coefficients a i and b i in each term, and for indexing by the index determined as described above, for example, the same coefficient is partially duplicated. The table is composed of 8 items.
演算部6は、主記憶アクセス制御部4の制御と並行し
て、ベクトルレジスタ5のデータベクトル10のデータを
引数とする近似計算を、前記の逐次読み出される常数を
使用して、例えばパイプライン方式の演算回路によって
実行する。In parallel with the control of the main memory access control unit 4, the arithmetic unit 6 performs an approximate calculation using the data of the data vector 10 of the vector register 5 as an argument by using the above-mentioned sequentially read constant, for example, a pipeline method. It is executed by the arithmetic circuit of.
第3図に例示するデータベクトル10の場合の、第2、
第3、第4の要素データ14、15、16等のように、同一の
値の範囲のデータは、当然常数テーブル12上の同一項を
読み出すことになるので、この場合のように、そのよう
な関係のデータが連続すると、主記憶装置2に対して、
同一アドレスのアクセス要求が続くことになり、後続の
アクセス要求が、前の要求によるアクセスの実行完了ま
で、待たされることが生じ得る。In the case of the data vector 10 illustrated in FIG. 3, the second,
Data of the same value range, such as the third and fourth element data 14, 15, 16 and the like, will naturally read the same term on the constant table 12, so that in this case, When the data of various relations are continuous, to the main storage device 2,
It is possible that access requests of the same address will continue, and subsequent access requests will be kept waiting until the execution of the access by the previous request is completed.
即ち、比較的大型の計算機システムにおける、主記憶
装置では、公知のように、いわゆるインタリーブ等の方
法によって、近接する記憶領域の異なるアドレスのアク
セスは、並行して実行できるような構成がとられるの
で、一般に高いスループットでデータを読み出すことが
可能である。That is, in a main storage device in a relatively large-scale computer system, as is well known, by a method such as so-called interleaving, access to different addresses in adjacent storage areas can be executed in parallel. Generally, it is possible to read data with high throughput.
しかし、そのような場合でも前記のような同一のアド
レスへのアクセスは、直列に処理するほかなく、その結
果、ベクトル処理装置5においては、演算部6に対する
データ供給の流れが遅滞して、処理性能の低下を生じる
という問題がある。However, even in such a case, access to the same address as described above has to be processed serially, and as a result, in the vector processing device 5, the flow of data supply to the arithmetic unit 6 is delayed and the processing is performed. There is a problem that performance is degraded.
第1図は、本発明の構成を示すブロック図である。 FIG. 1 is a block diagram showing the configuration of the present invention.
図において、20−0、20−1、……は、それぞれ主記
憶装置2に設けられる同一の内容の常数テーブル、21は
ベクトルレジスタ5に生成されるインデクスベクトルを
示す。In the figure, 20-0, 20-1, ... Are constant tables of the same contents provided in the main storage device 2, respectively, and 21 is an index vector generated in the vector register 5.
近似計算式の係数等を決定するための常数テーブル
を、従来と同様の内容で、但し20−0、20−1、20−2
等で示すように、主記憶装置2に重複して、複数個設け
る。The constant table for determining the coefficient of the approximate calculation formula is the same as the conventional one except that 20-0, 20-1, 20-2
Etc., a plurality of them are provided so as to overlap the main storage device 2.
演算部6は、常数ケーブル索引のためのインデクス生
成において、先ず従来と同様に、ベクトルデータ10から
抽出するビット列で第1次のインデクスベクトル11を作
るが、その各インデクスの上位に、順次異なる常数テー
ブル20−0、20−1、……を指定するためのビット列を
付加することにより、索引順序(ベクトル上の配列順
序)の上で連続するインデクスは、異なる常数テーブル
を指示するようにして、インデクスベクトル21を生成す
る。In the index generation for the constant number cable index, the calculation unit 6 first creates the primary index vector 11 with the bit string extracted from the vector data 10 as in the conventional case. By adding bit strings for designating the tables 20-0, 20-1, ..., So that consecutive indexes on the index order (array order on the vector) point to different constant tables, Generate the index vector 21.
記憶アクセス制御部4は、インデクスベクトル21を使
って、主記憶装置2の常数テーブル20−0、20−1、…
…にアクセスする。The storage access control unit 4 uses the index vector 21 to store the constant tables 20-0, 20-1, ... Of the main storage device 2.
Access ...
この構成により、例えば常数テーブルを4個重複して
設ければ、同一項へのアクセスが4個まで連続しても、
主記憶装置2のアクセスの待合せは生じないようになる
ので、係数等の取得の遅滞発生を大幅に減少することが
できる。With this configuration, for example, if four constant tables are provided in duplicate, even if the same term is accessed up to four times,
Since the waiting for the access of the main storage device 2 does not occur, the delay in the acquisition of the coefficient and the like can be significantly reduced.
第1図は、前記従来例の説明の場合と同じデータの近
似計算を行うものとして、本発明の実施例構成を示す。FIG. 1 shows the configuration of an embodiment of the present invention for performing the approximate calculation of the same data as in the case of the description of the conventional example.
近似計算式の係数等を決定するための常数テーブルの
内容は、従来と同様でよい。そのような常数テーブルを
20−0、20−1、20−2、20−3で示すように、主記憶
装置2に複数個(本例は4個)重複して設ける。The contents of the constant table for determining the coefficients of the approximate calculation formula may be the same as the conventional one. Such constant table
As shown by 20-0, 20-1, 20-2, and 20-3, a plurality (four in this example) of the main storage device 2 are provided in duplicate.
主記憶装置2における、各常数テーブル20−0〜20−
3の記憶領域は、必ずしも連続する必要は無いが、一般
に連続領域の方が制御が簡単であり、以下には、連続領
域として説明する。Each constant table 20-0 to 20- in the main memory 2
The storage areas of No. 3 do not necessarily need to be continuous, but in general, the continuous area is easier to control, and will be described below as a continuous area.
演算部6は、常数テーブル索引のためのインデクス生
成において、先ず従来と同様に、ベクトルデータ10から
抽出するビット列で第1次のインデクスベクトル11を作
り、その各インデクスの上位に0、1、2、3を表すビ
ット列を順次付加して、インデクスベクトル21を生成す
る。In the index generation for the constant table index, the arithmetic unit 6 first creates the primary index vector 11 with the bit string extracted from the vector data 10 as in the conventional case, and places 0, 1, 2 in the upper order of each index. The bit vector representing 3 is sequentially added to generate the index vector 21.
これにより、記憶アクセス制御部4が、従来のよう
に、常数テーブル20−0の先頭アドレスをベースアドレ
スとして、インデクスベクトル21を使って、主記憶装置
2にアクセスすると、インデクスベクトル21の、隣接す
る各インデクスは、順次異なる常数テーブル20−0〜20
−3を指定するようになる。As a result, when the storage access control unit 4 accesses the main storage device 2 by using the index vector 21 with the head address of the constant table 20-0 as a base address as in the conventional case, the index vector 21 is adjacent to the index vector 21. Each index has a different constant table 20-0 to 20
-3 will be specified.
以上の説明から明らかなように、本発明によれば、計
算機システムにおいて、ベクトルデータ等の関数演算の
処理性能を改善するという著しい工業的効果がある。As is clear from the above description, according to the present invention, there is a remarkable industrial effect of improving the processing performance of the functional calculation of vector data and the like in the computer system.
第1図は本発明の実施例構成ブロック図、 第2図は計算機システムの構成例ブロック図、 第3図は従来の一構成例ブロック図である。 図において、 1はベクトル処理装置、2は主記憶装置、3は実行制御
部、5はベクトルレジスタ、4は主記憶アクセス制御
部、6は演算部、10はデータベクトル、11、21はインデ
クスベクトル、12、20−0〜20−3は常数テーブルを示
す。FIG. 1 is a block diagram of a configuration example of an embodiment of the present invention, FIG. 2 is a block diagram of a configuration example of a computer system, and FIG. 3 is a block diagram of a conventional configuration example. In the figure, 1 is a vector processing device, 2 is a main storage device, 3 is an execution control unit, 5 is a vector register, 4 is a main storage access control unit, 6 is a calculation unit, 10 is a data vector, 11 and 21 are index vectors. , 12, 20-0 to 20-3 are constant tables.
───────────────────────────────────────────────────── フロントページの続き (72)発明者 秋田 典伸 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内 (56)参考文献 特開 昭50−26439(JP,A) 実開 昭57−50756(JP,U) ─────────────────────────────────────────────────── ─── Continuation of the front page (72) Inventor Nobunobu Akita 1015 Kamiodanaka, Nakahara-ku, Kawasaki-shi, Kanagawa Fujitsu Limited (56) References Japanese Patent Laid-Open No. 50-26439 (JP, A) 50756 (JP, U)
Claims (1)
に使用する常数を、該引数の値に基づいてテーブルを索
引して決定するに際し、 該テーブルを複数個重複してテーブル記憶手段に記憶
し、 各該引数の値に基づいて該テーブルの各所要の該常数を
保持する項を指示する値であって、所定の索引順序の上
で互いに連続する該引数に対応する場合には、該テーブ
ル記憶手段上で互いに異なる位置にある該テーブルの該
項を指示する値としたインデクスを生成して、インデク
ス記憶手段に保持し、 該索引順序に従って、該インデクス記憶手段の保持する
該インデクスにより該テーブル記憶手段の該テーブルを
索引して、各該引数のための該常数を決定するように構
成されていることを特徴とする関数演算制御方法。1. When determining a constant used for approximating a value of a function for an argument by indexing a table based on the value of the argument, a plurality of the tables are stored in the table storage means. Then, if the value is a value that indicates a term that holds each of the required constants of the table based on the value of each argument and corresponds to the arguments that are consecutive with each other in a predetermined index order, An index having a value indicating the item of the table at a different position on the table storage means is generated and held in the index storage means, and the index is held by the index storage means according to the index order. A function operation control method, characterized in that the table of the table storage means is indexed to determine the constant for each argument.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP12318485A JPH083812B2 (en) | 1985-06-06 | 1985-06-06 | Function operation control method |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP12318485A JPH083812B2 (en) | 1985-06-06 | 1985-06-06 | Function operation control method |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS61281366A JPS61281366A (en) | 1986-12-11 |
| JPH083812B2 true JPH083812B2 (en) | 1996-01-17 |
Family
ID=14854267
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP12318485A Expired - Fee Related JPH083812B2 (en) | 1985-06-06 | 1985-06-06 | Function operation control method |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH083812B2 (en) |
-
1985
- 1985-06-06 JP JP12318485A patent/JPH083812B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JPS61281366A (en) | 1986-12-11 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5226171A (en) | Parallel vector processing system for individual and broadcast distribution of operands and control information | |
| JPH0371337A (en) | Microprocessor circuit | |
| JPS6132437Y2 (en) | ||
| JPH05165715A (en) | Information processor | |
| JPH0319986B2 (en) | ||
| JPH036546B2 (en) | ||
| EP0253956B1 (en) | An addressing technique for providing simultaneous read modify and write operations with serpentine configured rams | |
| US3973243A (en) | Digital image processor | |
| JPH083812B2 (en) | Function operation control method | |
| JPH0766372B2 (en) | Floating point processor | |
| CN115098058B (en) | Trajectory polynomial generator | |
| Delcaro et al. | A method for transposing externally stored matrices | |
| JP2895892B2 (en) | Data processing device | |
| JPH0319985B2 (en) | ||
| JPH03256130A (en) | Interruption factor retrieving system | |
| JPH045218B2 (en) | ||
| JPH0137774B2 (en) | ||
| JPS6362012B2 (en) | ||
| JPH0547856B2 (en) | ||
| JPH0319988B2 (en) | ||
| JPS6027047A (en) | Data processor | |
| JPH04174071A (en) | Hash processor | |
| Frumkin | A fast parallel algorithm for eigenvalue problem of jacobi matrices | |
| JPH0248941B2 (en) | TAJIGENRISANGATAFUURIEHENKANKEISANHOSHIKI | |
| JPS61173357A (en) | Address converting system |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| LAPS | Cancellation because of no payment of annual fees |