JP2002304288A - Data processing device and program - Google Patents

Data processing device and program

Info

Publication number
JP2002304288A
JP2002304288A JP2001107900A JP2001107900A JP2002304288A JP 2002304288 A JP2002304288 A JP 2002304288A JP 2001107900 A JP2001107900 A JP 2001107900A JP 2001107900 A JP2001107900 A JP 2001107900A JP 2002304288 A JP2002304288 A JP 2002304288A
Authority
JP
Japan
Prior art keywords
data
scale factor
group
block
scaling
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
JP2001107900A
Other languages
Japanese (ja)
Other versions
JP3613466B2 (en
Inventor
Shiro Kobayashi
士朗 小林
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.)
Asahi Kasei Corp
Original Assignee
Asahi Kasei Corp
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 Asahi Kasei Corp filed Critical Asahi Kasei Corp
Priority to JP2001107900A priority Critical patent/JP3613466B2/en
Publication of JP2002304288A publication Critical patent/JP2002304288A/en
Application granted granted Critical
Publication of JP3613466B2 publication Critical patent/JP3613466B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Complex Calculations (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a data processing device capable of enhancing, using a simple arrangement, the computational accuracy of data rounding-off that is based on block floating method. SOLUTION: Computations are made for each data of a data group, a minimal scale factor representative of these computation data is detected as a group scale factor(GSF), and scaling is carried out for each computation data based on the GSF detected. These processes are carried out for each data group of a data block, and the smallest of the GSFs detected is detected as a block scale factor (BSF). When computations are to be made again for the computation data, scaling is carried out for each computation data of the data group by a second shifter 18 according to the GSF and the BSF of the data group prior to the computations, and these computation data scaled are rounded off.

Description

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

【0001】[0001]

【発明の属する技術分野】本発明は、1または複数のデ
ータを含んでデータグループを構成し、さらに複数のデ
ータグループを含んでデータブロックを構成し、データ
ブロック単位でデータを処理する装置に係り、特に、ブ
ロックフローティング方式で固定小数点演算を行うブロ
ックフローティング型のデジタル・シグナル・プロセッ
サ(以下、単にDSPという。)に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an apparatus for forming a data group including one or a plurality of data, forming a data block including a plurality of data groups, and processing the data in data block units. More particularly, the present invention relates to a block-floating digital signal processor (hereinafter, simply referred to as DSP) that performs fixed-point arithmetic in a block-floating method.

【0002】[0002]

【従来の技術】デジタル信号処理における数値表現方法
として、固定小数点表現方法および浮動小数点表現方法
がある。浮動小数点表現方法では、各データが指数部と
仮数部をもち、これにより、高い精度と広いダイナミッ
クレンジが確保可能という利点がある反面、複雑で大規
模なハードウェアが必要となるという問題がある。一
方、固定小数点表現方法では、ハードウェアが簡単で回
路規模も小さくてすむが、演算精度の低下が問題とな
る。そこで、これらの問題への対策法として提案された
のがブロックフローティングという方式である。この方
式では、所定数(例えば、m個)のデータを一つのデー
タブロックとし、データブロックに対し1個のブロック
スケールファクタをもたせ、データブロックのm個のデ
ータに対し共通のスケーリング(以下、ブロック正規化
という。)を行うことにより、限られたダイナミックレ
ンジを有効に用いて精度の劣化を抑える。
2. Description of the Related Art As a numerical expression method in digital signal processing, there are a fixed-point expression method and a floating-point expression method. In the floating point representation method, each data has an exponent part and a mantissa part, which has an advantage that high accuracy and a wide dynamic range can be secured, but has a problem that complicated and large-scale hardware is required. . On the other hand, in the fixed-point representation method, the hardware is simple and the circuit scale is small, but there is a problem in that the calculation accuracy is reduced. Therefore, a method called block floating has been proposed as a countermeasure for these problems. In this method, a predetermined number (for example, m) of data is regarded as one data block, a data block is provided with one block scale factor, and a common scaling (hereinafter, referred to as block) is applied to m data of the data block. (Referred to as normalization)) to effectively use a limited dynamic range and suppress deterioration in accuracy.

【0003】ブロックフローティングを効率良く実現す
るために、例えば、特許協力条約に基づいて公開された
国際出願(国際公開番号WO99/66423)には、図8に示す
ようなデータ演算処理装置が提案されている。図8は、
従来のデータ演算処理装置の構成を示すブロック図であ
る。このデータ演算処理装置は、図8に示すように、デ
ータブロック単位でデータを記憶するためのデータメモ
リ100と、データメモリ100のデータに対して積和
演算を行う演算部200と、ブロックフローティングに
必要な正規化を行うための制御部300と、これらの制
御を行う制御ロジック400と、アドレス生成器500
とで構成されている。データメモリ100、演算部20
0、制御部300および制御ロジック400は、データ
バス110で相互にかつデータ授受可能に接続されてお
り、データメモリ100、制御部300およびアドレス
生成器500は、データアドレスバス120で相互にか
つデータ授受可能に接続されている。
In order to efficiently realize block floating, for example, in an international application (International Publication No. WO99 / 66423) published based on the Patent Cooperation Treaty, a data operation processing device as shown in FIG. 8 is proposed. ing. FIG.
FIG. 10 is a block diagram illustrating a configuration of a conventional data processing device. As shown in FIG. 8, the data arithmetic processing device includes a data memory 100 for storing data in data block units, an arithmetic unit 200 for performing a multiply-accumulate operation on data in the data memory 100, and a block floating unit. A control unit 300 for performing necessary normalization, a control logic 400 for performing these controls, and an address generator 500
It is composed of Data memory 100, arithmetic unit 20
0, the control unit 300 and the control logic 400 are connected to each other via the data bus 110 so as to be able to exchange data. They are connected so that they can be exchanged.

【0004】データメモリ100は、図示しない外部か
らデータを入力し、図9に示すように、演算部200の
演算対象となるデータとして、入力したデータをデータ
ブロック単位で格納するようになっている。図9は、デ
ータメモリ100における演算単位となるデータのデー
タ構造を示す図である。データメモリ100では、図9
に示すように、データが計算ユニットの数に相当する個
数(この場合、k個)組合わさってデータグループとし
て格納され、さらに、データグループが複数組合わさっ
てデータブロックとして格納される。すなわち、データ
ブロックは、複数のデータグループを含んで構成され、
データグループは、計算ユニットの数に相当する個数の
データを含んで構成されている。
The data memory 100 receives data from outside (not shown), and stores the input data in data block units as data to be operated by the operation unit 200 as shown in FIG. . FIG. 9 is a diagram illustrating a data structure of data serving as an operation unit in the data memory 100. In the data memory 100, FIG.
As shown in (1), data is stored as a data group in combination with a number (in this case, k) corresponding to the number of calculation units, and a plurality of data groups are stored as a data block in combination. That is, the data block is configured to include a plurality of data groups,
The data group is configured to include data of a number corresponding to the number of calculation units.

【0005】演算部200は、同一機能を有するk個の
計算ユニットP0〜Pk-1で構成されている。各計算ユニ
ットP0〜Pk-1には、一つのデータグループのデータが
それぞれ振り分けられ、各計算ユニットP0〜Pk-1は、
データグループ単位でデータを並列処理する。各計算ユ
ニットP0〜Pk-1は、与えられたスケールファクタに基
づいてデータに対してスケーリングを行う第2シフタ1
0と、第2シフタ10からのデータに対して積和演算を
行う積和演算器12と、積和演算器12からの演算デー
タのスケールファクタを算出するユニットスケールファ
クタ検出器14と、与えられたスケールファクタに基づ
いて積和演算器12からの演算データに対してスケーリ
ングを行う第1シフタ16とで構成されている。
[0005] calculation unit 200 is constituted by the k calculation units P 0 to P k-1 having the same function. Each compute unit P 0 ~P k-1, the data of one data group is allocated respectively, each computing unit P 0 ~P k-1 is
Process data in parallel in data group units. Each of the calculation units P 0 to P k−1 is a second shifter 1 that scales data based on a given scale factor.
0, a product-sum operation unit 12 that performs a product-sum operation on the data from the second shifter 10, and a unit scale factor detector 14 that calculates the scale factor of the operation data from the product-sum operation unit 12. And a first shifter 16 for scaling the operation data from the product-sum operation unit 12 based on the scale factor.

【0006】ユニットスケールファクタ検出器14は、
積和演算器12からの演算データの冗長なビット数を算
出し、これをスケールファクタとして算出するようにな
っている。ここで、スケールファクタは、データをビッ
トシフトするときのシフト量であり、シフトするビット
数を示す。以下、グループスケールファクタおよびブロ
ックスケールファクタについても同様である。
The unit scale factor detector 14 is
The number of redundant bits of the operation data from the product-sum operation unit 12 is calculated, and this is calculated as a scale factor. Here, the scale factor is a shift amount when data is bit-shifted, and indicates the number of bits to be shifted. Hereinafter, the same applies to the group scale factor and the block scale factor.

【0007】第2シフタ10は、与えられたスケールフ
ァクタに相当するシフト量で、与えられたデータに対し
て下位ビットの方向へビットシフト(以下、単に右シフ
トという。)を行うようになっている。第1シフタ16
は、与えられたスケールファクタに相当するシフト量
で、積和演算器12からの演算データに対して上位ビッ
トの方向へビットシフト(以下、単に左シフトとい
う。)を行うようになっている。また、第1シフタ16
からの演算データは、さらに次のブロック処理に備える
ため、データメモリ100に格納されるが、データメモ
リ100のデータのビット数は、第1シフタ16からの
演算データのそれよりも少ないため、第1シフタ16
は、左シフトした演算データのうち最上位ビットを基準
としてデータメモリ100のデータのビット数分を取
り、それよりも下位のビットを切り捨て、データメモリ
100のデータのビット数の演算データとして丸め処理
を行うようになっている。
The second shifter 10 performs a bit shift (hereinafter simply referred to as right shift) on given data in the direction of lower bits with a shift amount corresponding to a given scale factor. I have. First shifter 16
Is a bit shift (hereinafter simply referred to as left shift) in the direction of the higher-order bits on the operation data from the product-sum operation unit 12 with a shift amount corresponding to a given scale factor. Also, the first shifter 16
Is stored in the data memory 100 in order to prepare for the next block processing. Since the number of bits of the data in the data memory 100 is smaller than that of the calculation data from the first shifter 16, the 1 shifter 16
Takes the number of bits of the data in the data memory 100 based on the most significant bit of the left-shifted operation data, truncates the lower bits, and rounds the result as the operation data of the number of bits of the data in the data memory 100. It is supposed to do.

【0008】制御部300は、ユニットスケールファク
タ検出器14で算出したスケールファクタからグループ
スケールファクタを検出するグループスケールファクタ
検出器50と、グループスケールファクタを格納するグ
ループスケールファクタレジスタファイル52と、グル
ープスケールファクタからブロックスケールファクタを
検出するブロックスケールファクタ検出器54と、ブロ
ックスケールファクタを格納するブロックスケールファ
クタレジスタ56と、グループスケールファクタとブロ
ックスケールファクタの差分を計算する桁合わせ用加算
器60とで構成されている。
The control unit 300 includes a group scale factor detector 50 for detecting a group scale factor from the scale factor calculated by the unit scale factor detector 14, a group scale factor register file 52 for storing the group scale factor, It comprises a block scale factor detector 54 for detecting a block scale factor from a factor, a block scale factor register 56 for storing a block scale factor, and a digit adder 60 for calculating a difference between a group scale factor and a block scale factor. Have been.

【0009】グループスケールファクタ検出器50は、
各計算ユニットP0〜Pk-1のユニットスケールファクタ
検出器14で算出したスケールファクタうち最小のもの
をグループスケールファクタとして検出し、制御ロジッ
ク400の制御により、検出したグループスケールファ
クタをグループスケールファクタレジスタファイル52
および各計算ユニットP0〜Pk-1の第1シフタ16に出
力するようになっている。例えば、各計算ユニットP0
〜Pk-1(例えば、k=3)のユニットスケールファク
タ検出器14からスケールファクタとして「1」、
「2」、「3」を入力した場合、そのうちの最小値であ
る「1」をそのグループスケールファクタとして検出す
る。
The group scale factor detector 50 includes:
Among the scale factors calculated by the unit scale factor detectors 14 of the calculation units P 0 to P k−1 , the smallest one is detected as the group scale factor, and the detected group scale factor is controlled by the control logic 400. Register file 52
And it is adapted to output to the first shifter 16 for each computing unit P 0 ~P k-1. For example, each calculation unit P 0
PP k -1 (for example, k = 3) from the unit scale factor detector 14, "1" as a scale factor,
When “2” and “3” are input, the minimum value “1” is detected as the group scale factor.

【0010】グループスケールファクタレジスタファイ
ル52は、グループスケールファクタ検出器50で検出
したグループスケールファクタをそれぞれ一時的に格納
し、制御ロジック400の制御により、データメモリ1
00または桁合わせ用加算器60にグループスケールフ
ァクタを出力するようになっている。ブロックスケール
ファクタ検出器54は、グループスケールファクタ検出
器50で検出したグループスケールファクタのうち最小
のものをブロックスケールファクタとして検出するよう
になっている。例えば、あるデータブロックのグループ
スケールファクタが「3」、「4」、「5」として検出
された場合、そのうちの最小値である「3」をそのブロ
ックスケールファクタとして検出する。
The group scale factor register file 52 temporarily stores the group scale factors detected by the group scale factor detector 50, and the data memory 1 is controlled by the control logic 400.
The group scale factor is output to 00 or the digit adder 60. The block scale factor detector 54 detects the smallest one of the group scale factors detected by the group scale factor detector 50 as a block scale factor. For example, when the group scale factor of a certain data block is detected as “3”, “4”, or “5”, the minimum value “3” is detected as the block scale factor.

【0011】ブロックスケールファクタレジスタ56
は、ブロックスケールファクタ検出器54で検出したブ
ロックスケールファクタを一時的に格納し、制御ロジッ
ク400の制御により、データメモリ100または桁合
わせ用加算器60にグループスケールファクタを出力す
るようになっている。桁合わせ用加算器60は、グルー
プスケールファクタレジスタファイル52から出力され
たグループスケールファクタと、ブロックスケールファ
クタレジスタ56から出力されたブロックスケールファ
クタとを入力し、グループスケールファクタからブロッ
クスケールファクタを減算してその差分を計算し、制御
ロジック400の制御により、その差分からなるスケー
ルファクタを各計算ユニットP 0〜Pk-1の第2シフタ1
0に出力するようになっている。
Block scale factor register 56
Is the block detected by the block scale factor detector 54.
The lock scale factor is temporarily stored and the control logic
Control of the data memory 100 or the digit
Output the group scale factor to the adder 60
It has become so. The digit matching adder 60 includes a glue.
Output from the scale factor register file 52.
Group scale factor and block scale factor
Block scale file output from the
And the block size from the group scale factor.
Calculate the difference by subtracting the scale factor and control
Under the control of the logic 400, the scale
Is calculated for each calculation unit P 0~ Pk-1Second shifter 1
0 is output.

【0012】制御ロジック400は、データメモリ10
0のデータに対して初めて演算を行うときは、次の制御
処理を実行するようになっている。まず、データブロッ
ク単位でデータをデータメモリ100から読み出し、デ
ータブロックの各データグループごとに、データグルー
プのデータをそれぞれデータバス110経由で各計算ユ
ニットP0〜Pk-1の第2シフタ10に振り分ける。
The control logic 400 includes the data memory 10
When an operation is performed on data of 0 for the first time, the following control processing is executed. First, data is read from the data memory 100 in data block units, and for each data group of the data block, the data of the data group is transferred to the second shifter 10 of each of the calculation units P 0 to P k−1 via the data bus 110. Distribute.

【0013】そして、グループスケールファクタ検出器
50で検出したグループスケールファクタを各計算ユニ
ットP0〜Pk-1の第1シフタ16に与え、各計算ユニッ
トP 0〜Pk-1の第1シフタ16からの演算データをデー
タバス110経由でデータメモリ100に格納する。ま
た、制御ロジック400は、データメモリ100のデー
タに対して再度演算を行うときは、次の制御処理を実行
するようになっている。
And a group scale factor detector.
The group scale factor detected in step 50 is calculated for each calculation unit.
P0~ Pk-1Of each calculation unit.
To P 0~ Pk-1Calculation data from the first shifter 16
The data is stored in the data memory 100 via the tabus 110. Ma
In addition, the control logic 400 stores data in the data memory 100.
When the calculation is performed again on the data, the following control processing is executed.
It is supposed to.

【0014】まず、データブロック単位で演算データを
データメモリ100から読み出し、データブロックの各
データグループごとに、データグループの演算データを
それぞれデータバス110経由で各計算ユニットP0
k-1の第2シフタ10に与える。これと同時に、各計
算ユニットP0〜Pk-1の第2シフタ10に与えたデータ
のグループスケールファクタおよびブロックスケールフ
ァクタがグループスケールファクタレジスタファイル5
2およびブロックスケールファクタレジスタ56に格納
されているときは、ブロックスケールファクタレジスタ
56からブロックスケールファクタを読み出して桁合わ
せ用加算器60に与え、グループスケールファクタレジ
スタファイル52からグループスケールファクタを順次
読み出して桁合わせ用加算器60に与え、桁合わせ用加
算器60により各グループスケールファクタとブロック
スケールファクタとの差分を計算し、その差分からなる
スケールファクタを各計算ユニットP0〜Pk-1の第2シ
フタ10に与える。
[0014] First, read the operation data in a data block from the data memory 100, for each data group of data blocks, each computing units P 0 ~ operation data of the data group through the data bus 110, respectively
P k−1 is given to the second shifter 10. At the same time, the group scale factor and the block scale factor of the data supplied to the second shifters 10 of the respective calculation units P 0 to P k−1 are stored in the group scale factor register file 5.
2 and stored in the block scale factor register 56, the block scale factor is read out from the block scale factor register 56 and supplied to the adder 60 for digit alignment, and the group scale factor is sequentially read out from the group scale factor register file 52. given the digit alignment adder 60, the difference between the group scale factor and the block scale factor calculated by alignment shift adder 60, a scale factor consisting of the difference of each calculation unit P 0 ~P k-1 2 to the shifter 10.

【0015】そして、グループスケールファクタ検出器
50で検出したグループスケールファクタを各計算ユニ
ットP0〜Pk-1の第1シフタ16に与え、各計算ユニッ
トP 0〜Pk-1の第1シフタ16からの演算データをデー
タバス110経由でデータメモリ100に格納する。
And a group scale factor detector.
The group scale factor detected in step 50 is calculated for each calculation unit.
P0~ Pk-1Of each calculation unit.
To P 0~ Pk-1Calculation data from the first shifter 16
The data is stored in the data memory 100 via the tabus 110.

【0016】[0016]

【発明が解決しようとする課題】このように、ブロック
フローティング方式においてデータの丸め処理を適用す
るには、データの丸め処理が演算結果に対して行うもの
であることから、上記従来のデータ演算処理装置のよう
に、第1シフタ16でシフトした演算データに対してデ
ータの丸め処理を行う構成が考えられる。
As described above, in order to apply the data rounding process in the block floating method, since the data rounding process is performed on the calculation result, the conventional data calculation process described above is performed. As in the case of a device, a configuration in which data rounding processing is performed on operation data shifted by the first shifter 16 is conceivable.

【0017】しかしながら、上記従来のデータ演算処理
装置にあっては、第1シフタ16でシフトした演算デー
タに対してデータの丸め処理を行う構成となっているた
め、それぞれの演算データは、その小数点位置を基準と
して異なる桁位置でデータの丸め処理が行われることに
なる。例えば、小数点位置が上位2ビットと3ビットと
の間にある16ビットの演算データが第1シフタ16で
3ビット左シフトされた場合と、2ビットシフトされた
場合とでは、データの丸め処理を行う桁位置が小数点位
置を基準として1桁ずれることになる。したがって、デ
ータの丸め処理による演算精度の向上を十分に図ること
ができなかった。
However, in the above-mentioned conventional data processing device, since the data rounding process is performed on the calculation data shifted by the first shifter 16, each calculation data has its decimal point. Data rounding processing is performed at different digit positions based on the position. For example, when the 16-bit operation data whose decimal point position is between the upper 2 bits and the 3 bits is shifted left by 3 bits by the first shifter 16, and when shifted by 2 bits, the data rounding process is performed. The digit position to be shifted is shifted by one digit with respect to the decimal point position. Therefore, it has not been possible to sufficiently improve the calculation accuracy by rounding the data.

【0018】一方、第1シフタ16でシフトする前にデ
ータの丸め処理を行う構成も考えられるが、その場合、
データの丸め処理を行う桁位置がグループスケールファ
クタの値によって変動し一定ではないため、これを実現
しようとすると複雑な構成となってしまう。そこで、本
発明は、このような従来の技術の有する未解決の課題に
着目してなされたものであって、ブロックフローティン
グ方式において、簡易な構成により、データの丸め処理
による演算精度の向上を図ることができるデータ演算処
理装置およびデータ演算処理プログラムを提供すること
を目的としている。
On the other hand, a configuration in which the data is rounded before shifting by the first shifter 16 is also conceivable.
Since the digit position at which the data is rounded varies depending on the value of the group scale factor and is not constant, a complicated configuration is required to realize this. Therefore, the present invention has been made by focusing on such unresolved problems of the conventional technology, and aims to improve calculation accuracy by rounding data with a simple configuration in a block floating system. It is an object of the present invention to provide a data operation processing device and a data operation processing program which can perform the operation.

【0019】[0019]

【課題を解決するための手段】上記目的を達成するため
に、本発明に係る請求項1記載のデータ演算処理装置
は、1または複数のデータを含んでデータグループを構
成し、さらに複数のデータグループを含んでデータブロ
ックを構成し、前記データブロック単位でデータを処理
する装置であって、前記データグループの各データに対
して演算を行い、それら演算データのうち絶対値が最大
となるもののスケールファクタをグループスケールファ
クタとして検出し、検出したグループスケールファクタ
に基づいて前記各演算データに対してスケーリングを行
うこれら一連の処理を、前記データブロックの各データ
グループごとに行い、さらに、検出したグループスケー
ルファクタのうち絶対値が最大となる演算データに対応
するものをブロックスケールファクタとして検出し、前
記スケーリングした演算データに対して再度演算を行う
ときは、その演算の前に、前記データグループの各演算
データに対して当該データグループのグループスケール
ファクタおよび前記ブロックスケールファクタに基づい
てスケーリングを行い、スケーリングしたそれら演算デ
ータに対してデータの丸め処理を行うようになってい
る。
According to a first aspect of the present invention, there is provided a data processing apparatus comprising: a data group including one or a plurality of data; A data processing apparatus comprising a data block including a group and processing the data in units of the data block, performing an operation on each data of the data group, and a scale of the operation data having a maximum absolute value. Performing a series of these processes of detecting the factor as a group scale factor and performing scaling on each of the operation data based on the detected group scale factor for each data group of the data block; Block the factor corresponding to the operation data with the largest absolute value When the data is detected as a scale factor and the calculation is performed again on the scaled calculation data, before the calculation, each calculation data of the data group is subjected to the group scale factor of the data group and the block scale factor. The scaling is performed on the basis of the calculated data, and the scaled data is rounded.

【0020】このような構成であれば、データグループ
の各データに対して演算が行われ、それら演算データの
うち絶対値が最大となるもののスケールファクタがグル
ープスケールファクタとして検出され、検出されたグル
ープスケールファクタに基づいて、各演算データに対し
てスケーリングが行われる。こうした一連の処理が、デ
ータブロックの各データグループごとに行われる。そし
て、一つのデータブロックについて処理が終了すると、
各データグループごとに検出されたグループスケールフ
ァクタのうち絶対値が最大となる演算データに対応する
ものがブロックスケールファクタとして検出される。
With such a configuration, the arithmetic operation is performed on each data of the data group, and the scale factor of the arithmetic data having the maximum absolute value is detected as the group scale factor, and the detected group is determined. Each operation data is scaled based on the scale factor. Such a series of processing is performed for each data group of the data block. Then, when the processing is completed for one data block,
Among the group scale factors detected for each data group, the one corresponding to the operation data having the maximum absolute value is detected as the block scale factor.

【0021】次に、スケーリングされた演算データに対
して再度演算を行うときは、データグループの各演算デ
ータに対して、そのデータグループのグループスケール
ファクタおよびブロックスケールファクタに基づいてス
ケーリングが行われ、スケーリングされたそれら演算デ
ータに対してデータの丸め処理が行われる。このデータ
の丸め処理では、同一のデータグループに属する演算デ
ータについては、そのグループスケールファクタおよび
ブロックスケールファクタが同一であるため、それらに
基づくスケーリングにより、データの丸め処理を行う桁
位置が同一となる。
Next, when the operation is performed again on the scaled operation data, each operation data of the data group is scaled based on the group scale factor and the block scale factor of the data group. Data rounding processing is performed on the scaled operation data. In this data rounding process, the operation data belonging to the same data group has the same group scale factor and block scale factor, and therefore, the digit position for performing the data rounding process is the same by scaling based on them. .

【0022】ここで、スケールファクタとしては、例え
ば、データをビットシフトするときのシフト量を挙げる
ことができる。この場合、スケールファクタに相当する
シフト量で、データに対してビットシフトを行うことに
よりスケーリングを行う。以下、請求項6記載のデータ
演算処理装置において同じである。また、グループスケ
ールファクタを検出する構成としては、例えば、データ
グループの各データに対して演算を行った後、それら演
算データのスケールファクタを算出し、算出したスケー
ルファクタのうち最小のものをグループスケールファク
タとして検出するようになっていてもよいし、それら演
算データのスケールファクタを算出せず、それら演算デ
ータから直接グループスケールファクタを検出するよう
になっていてもよい。
Here, as the scale factor, for example, a shift amount when bit-shifting data can be cited. In this case, scaling is performed by performing a bit shift on the data with a shift amount corresponding to the scale factor. Hereinafter, the same applies to the data arithmetic processing device according to claim 6. As a configuration for detecting the group scale factor, for example, after calculating each data of the data group, the scale factor of the calculated data is calculated, and the smallest one of the calculated scale factors is used as the group scale factor. The detection may be performed as a factor, or the scale factor of the operation data may not be calculated, and the group scale factor may be directly detected from the operation data.

【0023】さらに、本発明に係る請求項2記載のデー
タ演算処理装置は、請求項1記載のデータ演算処理装置
において、前記演算は、所定ビット数のデータに対して
行うようになっており、前記グループスケールファクタ
および前記ブロックスケールファクタに基づいてスケー
リングした各演算データごとに、当該演算データから、
その最上位ビットを基準として前記所定ビット数よりも
多いビット数のデータを抽出し、抽出したデータのうち
その最上位ビットを基準として前記所定ビット数のデー
タ以外のものの値に基づいて前記データの丸め処理を行
うようになっている。
Furthermore, a data operation processing device according to a second aspect of the present invention is the data operation processing device according to the first aspect, wherein the operation is performed on data having a predetermined number of bits. For each operation data scaled based on the group scale factor and the block scale factor, from the operation data,
Extracting data having a bit number larger than the predetermined number of bits based on the most significant bit, and extracting the data based on values of data other than the predetermined number of bits based on the most significant bit of the extracted data. Rounding processing is performed.

【0024】このような構成であれば、スケーリングさ
れた演算データに対して再度演算を行うときは、データ
グループの各演算データに対して、そのデータグループ
のグループスケールファクタおよびブロックスケールフ
ァクタに基づいてスケーリングが行われる。そして、ス
ケーリングされたそれら演算データごとに、その演算デ
ータから、その最上位ビットを基準として所定ビット数
よりも多いビット数のデータが抽出され、抽出されたデ
ータのうちその最上位ビットを基準として所定ビット数
のデータ以外のものの値に基づいてデータの丸め処理が
行われる。
With this configuration, when the operation is performed again on the scaled operation data, each operation data of the data group is calculated based on the group scale factor and the block scale factor of the data group. Scaling is performed. Then, for each of the scaled operation data, data having a bit number greater than a predetermined number of bits is extracted from the operation data with reference to the most significant bit, and based on the most significant bit of the extracted data. Data rounding processing is performed based on values other than data having a predetermined number of bits.

【0025】さらに、本発明に係る請求項3記載のデー
タ演算処理装置は、請求項2記載のデータ演算処理装置
において、前記グループスケールファクタおよび前記ブ
ロックスケールファクタに基づいてスケーリングした各
演算データごとに、当該演算データから、その最上位ビ
ットを基準として前記所定ビット数よりも1ビット多い
ビット数のデータを抽出し、抽出したデータのうちその
最上位ビットを基準として前記所定ビット数のデータ以
外のものの値に基づいて前記データの丸め処理を行うよ
うになっている。
Further, according to a third aspect of the present invention, in the data operation processing device according to the second aspect, for each operation data scaled based on the group scale factor and the block scale factor. Extracting, from the operation data, data having a bit number that is one bit larger than the predetermined bit number based on the most significant bit, and extracting data other than the predetermined bit number data based on the most significant bit from the extracted data. The data is rounded based on the value of the object.

【0026】このような構成であれば、スケーリングさ
れた演算データに対して再度演算を行うときは、データ
グループの各演算データに対して、そのデータグループ
のグループスケールファクタおよびブロックスケールフ
ァクタに基づいてスケーリングが行われる。そして、ス
ケーリングされたそれら演算データごとに、その演算デ
ータから、その最上位ビットを基準として所定ビット数
よりも1ビット多いビット数のデータが抽出され、抽出
されたデータのうちその最上位ビットを基準として所定
ビット数のデータ以外のものの値に基づいてデータの丸
め処理が行われる。
With this configuration, when the operation is performed again on the scaled operation data, each operation data of the data group is calculated based on the group scale factor and the block scale factor of the data group. Scaling is performed. Then, for each of the scaled operation data, data having a bit number that is one bit larger than a predetermined bit number is extracted from the operation data with reference to the most significant bit, and the most significant bit of the extracted data is extracted. Data rounding is performed based on values other than data having a predetermined number of bits as a reference.

【0027】さらに、本発明に係る請求項4記載のデー
タ演算処理装置は、請求項3記載のデータ演算処理装置
において、前記データの丸め処理は、前記抽出したデー
タのうちその最上位ビットを基準として前記所定ビット
数のデータ以外のものの値に1ビットを加算し、その加
算結果のうちその最上位ビットを基準として前記所定ビ
ット数のデータを演算対象として出力するようになって
いる。
Further, according to a fourth aspect of the present invention, in the data arithmetic processing apparatus according to the third aspect, the rounding of the data is performed based on the most significant bit of the extracted data. , One bit is added to the value of data other than the data of the predetermined number of bits, and the data of the predetermined number of bits is output as an operation target based on the most significant bit of the addition result.

【0028】このような構成であれば、データの丸め処
理では、抽出されたデータのうちその最上位ビットを基
準として所定ビット数のデータ以外のものの値に1ビッ
トが加算され、その加算結果のうちその最上位ビットを
基準として所定ビット数のデータが演算対象として出力
される。さらに、本発明に係る請求項5記載のデータ演
算処理装置は、請求項1ないし4のいずれかに記載のデ
ータ演算処理装置において、前記スケーリングした演算
データに対して再度演算を行うときは、その演算の前
に、前記データグループの各演算データに対して当該デ
ータグループのグループスケールファクタと前記ブロッ
クスケールファクタとの差分に基づいてスケーリングを
行うようになっている。
With such a configuration, in the data rounding process, one bit is added to the value of data other than data having a predetermined number of bits based on the most significant bit of the extracted data, and the result of the addition is obtained. Among them, data of a predetermined number of bits is output as a calculation target based on the most significant bit. Further, in the data processing device according to claim 5 of the present invention, in the data processing device according to any one of claims 1 to 4, when performing the calculation again on the scaled calculation data, Prior to the operation, scaling is performed on each operation data of the data group based on a difference between a group scale factor of the data group and the block scale factor.

【0029】このような構成であれば、スケーリングさ
れた演算データに対して再度演算を行うときは、データ
グループの各演算データに対して、そのデータグループ
のグループスケールファクタとブロックスケールファク
タとの差分に基づいてスケーリングが行われる。さら
に、本発明に係る請求項6記載のデータ演算処理装置
は、複数の計算ユニットを備え、1または複数のデータ
を含んでデータグループを構成し、さらに複数のデータ
グループを含んでデータブロックを構成し、前記データ
ブロック単位でデータを処理する装置であって、前記各
計算ユニットは、与えられたスケールファクタに基づい
てデータに対してスケーリングを行う第1スケーリング
手段と、前記第1スケーリング手段からのデータに対し
て演算を行う演算手段と、前記演算手段からの演算デー
タのスケールファクタを算出するスケールファクタ算出
手段と、与えられた他のスケールファクタに基づいて前
記演算手段からの演算データに対してスケーリングを行
う第2スケーリング手段とを有し、さらに、データを記
憶するための記憶手段と、前記各計算ユニットのスケー
ルファクタ算出手段で算出したスケールファクタのうち
絶対値が最大となる演算データに対応するものをグルー
プスケールファクタとして検出するグループスケールフ
ァクタ検出手段と、前記グループスケールファクタ検出
手段で検出したグループスケールファクタのうち絶対値
が最大となる演算データに対応するものをブロックスケ
ールファクタとして検出するブロックスケールファクタ
検出手段と、データ処理のための制御を行う制御手段と
を備え、前記制御手段は、前記データブロック単位でデ
ータを前記記憶手段から読み出し、前記データブロック
の各データグループごとに、前記データグループのデー
タをそれぞれ前記各計算ユニットの第1スケーリング手
段に振り分け、前記グループスケールファクタ検出手段
で検出したグループスケールファクタを前記各計算ユニ
ットの第2スケーリング手段に与え、前記各計算ユニッ
トの第2スケーリング手段からの演算データを前記記憶
手段に格納し、前記記憶手段の演算データに対して再度
演算を行うときは、前記データブロックの各データグル
ープごとに、前記データグループの演算データをそれぞ
れ前記各計算ユニットの第1スケーリング手段に振り分
けるとともに、前記データグループのグループスケール
ファクタと前記ブロックスケールファクタとの差分から
なるスケールファクタを前記各計算ユニットの第1スケ
ーリング手段に与え、前記第1スケーリング手段は、与
えられたスケールファクタに基づいてデータに対してス
ケーリングを行い、スケーリングしたデータに対してデ
ータの丸め処理を行うようになっている。
With this configuration, when the operation is performed again on the scaled operation data, the difference between the group scale factor of the data group and the block scale factor is calculated for each operation data of the data group. The scaling is performed based on Furthermore, a data processing device according to claim 6 of the present invention includes a plurality of calculation units, configures a data group including one or a plurality of data, and configures a data block including a plurality of data groups. And an apparatus for processing data on a data block basis, wherein each of the calculation units performs scaling on data based on a given scale factor; and Calculating means for performing an operation on the data, scale factor calculating means for calculating a scale factor of the calculated data from the calculating means, and calculating data from the calculating means based on another given scale factor. Second scaling means for performing scaling, and further comprising a memory for storing data. Means, a group scale factor detecting means for detecting, as a group scale factor, a scale factor calculated by the scale factor calculating means of each of the calculation units, the one corresponding to the operation data having the largest absolute value, and the group scale factor detecting means A block scale factor detecting means for detecting, as a block scale factor, the one corresponding to the operation data having the absolute value of the group scale factor detected by the means, and a control means for performing control for data processing, The control means reads data from the storage means in units of the data block, distributes the data of the data group to the first scaling means of each of the calculation units for each data group of the data block, and The group scale factor detected by the factor detection means is given to the second scaling means of each of the calculation units, the operation data from the second scaling means of each of the calculation units is stored in the storage means, and the operation data of the storage means is stored in the storage means. When the calculation is performed again, for each data group of the data block, the calculation data of the data group is distributed to the first scaling means of each of the calculation units, and the group scale factor of the data group and the block A scale factor consisting of a difference from a scale factor is provided to first scaling means of each of the calculation units, and the first scaling means performs scaling on the data based on the given scale factor. hand The data is rounded.

【0030】このような構成であれば、制御手段によ
り、データブロック単位でデータが記憶手段から読み出
され、データブロックの各データグループごとに、デー
タグループのデータがそれぞれ各計算ユニットの第1ス
ケーリング手段に振り分けられる。各計算ユニットで
は、初期状態では第1スケーリング手段にスケールファ
クタが与えられないので、第1スケーリング手段による
スケーリングが行われず、そのまま演算手段に入力され
る。そして、演算手段により、第1スケーリング手段か
らのデータに対して演算が行われ、スケールファクタ算
出手段により、演算手段からの演算データのスケールフ
ァクタが算出される。
With such a configuration, the control means reads data from the storage means in data block units, and for each data group of the data block, the data of the data group is firstly scaled by each calculation unit. Allocated to means. In each of the calculation units, the scaling factor is not given to the first scaling means in the initial state, so that the scaling is not performed by the first scaling means and is directly input to the calculation means. Then, the operation unit performs an operation on the data from the first scaling unit, and the scale factor calculation unit calculates the scale factor of the operation data from the operation unit.

【0031】各計算ユニットでスケールファクタが算出
されると、グループスケールファクタ検出手段により、
各計算ユニットのスケールファクタ算出手段で算出され
たスケールファクタのうち絶対値が最大となる演算デー
タに対応するものがグループスケールファクタとして検
出され、制御手段により、算出されたグループスケール
ファクタが各計算ユニットの第2スケーリング手段に与
えられる。
When the scale factor is calculated by each calculation unit, the group scale factor detecting means
Of the scale factors calculated by the scale factor calculation means of each calculation unit, the one corresponding to the operation data having the maximum absolute value is detected as a group scale factor, and the control means converts the calculated group scale factor into each calculation unit. To the second scaling means.

【0032】これにより、各計算ユニットでは、第2ス
ケーリング手段により、与えられたグループスケールフ
ァクタに基づいて、演算手段からの演算データに対して
スケーリングが行われる。このように各計算ユニットで
演算データに対してスケーリングが行われると、制御手
段により、各計算ユニットの第2スケーリング手段から
の演算データが記憶手段に格納されるとともに、ブロッ
クスケールファクタ検出手段により、グループスケール
ファクタ検出手段で検出されたグループスケールファク
タのうち絶対値が最大となる演算データに対応するもの
がブロックスケールファクタとして検出される。
Thus, in each calculation unit, the second scaling means scales the operation data from the operation means based on the given group scale factor. As described above, when scaling is performed on the operation data in each calculation unit, the control unit stores the operation data from the second scaling unit of each calculation unit in the storage unit, and the block scale factor detection unit Among the group scale factors detected by the group scale factor detection means, the one corresponding to the operation data having the maximum absolute value is detected as the block scale factor.

【0033】次に、記憶手段の演算データに対して再度
演算を行うときは、制御手段により、データブロック単
位で演算データが記憶手段から読み出され、データブロ
ックの各データグループごとに、データグループの演算
データがそれぞれ各計算ユニットの第1スケーリング手
段に振り分けられるとともに、そのデータグループのグ
ループスケールファクタとブロックスケールファクタと
の差分からなるスケールファクタが各計算ユニットの第
1スケーリング手段に与えられる。
Next, when the arithmetic operation is performed again on the arithmetic data in the storage means, the arithmetic means reads out the arithmetic data from the storage means in data block units by the control means. Is distributed to the first scaling means of each calculation unit, and a scale factor comprising a difference between the group scale factor of the data group and the block scale factor is given to the first scaling means of each calculation unit.

【0034】各計算ユニットでは、第1スケーリング手
段により、前回の処理において検出されたグループスケ
ールファクタとブロックスケールファクタとの差分から
なるスケールファクタに基づいて、与えられた演算デー
タに対してスケーリングが行われ、スケーリングされた
演算データに対してデータの丸め処理が行われる。この
データの丸め処理では、同一のデータグループに属する
演算データについては、そのグループスケールファクタ
およびブロックスケールファクタが同一であるため、そ
れらに基づくスケーリングにより、データの丸め処理を
行う桁位置が同一となる。
In each calculation unit, the given operation data is scaled by the first scaling means on the basis of the scale factor comprising the difference between the group scale factor and the block scale factor detected in the previous processing. Then, data rounding processing is performed on the scaled operation data. In this data rounding process, the operation data belonging to the same data group has the same group scale factor and block scale factor, and therefore, the digit position for performing the data rounding process is the same by scaling based on them. .

【0035】ここで、記憶手段は、データをあらゆる手
段でかつあらゆる時期に記憶するものであり、データを
あらかじめ記憶してあるものであってもよいし、データ
をあらかじめ記憶することなく、本装置の動作時に外部
からの入力等によってデータを記憶するようになってい
てもよい。さらに、本発明に係る請求項7記載のデータ
演算処理装置は、請求項6記載のデータ演算処理装置に
おいて、前記演算手段は、所定ビット数のデータに対し
て演算を行い、前記第1スケーリング手段は、前記スケ
ーリングしたデータから、その最上位ビットを基準とし
て前記所定ビット数よりも多いビット数のデータを抽出
し、抽出したデータのうちその最上位ビットを基準とし
て前記所定ビット数のデータ以外のものの値に基づいて
前記データの丸め処理を行うようになっている。
Here, the storage means stores data by all means and at all times, and may store data in advance, or may store the data without storing the data in advance. During the operation, data may be stored by an external input or the like. The data processing unit according to claim 7 of the present invention is the data processing unit according to claim 6, wherein the operation means performs an operation on data of a predetermined number of bits, and the first scaling means Extracts, from the scaled data, data having a larger number of bits than the predetermined number of bits on the basis of the most significant bit, and among the extracted data, data other than the data of the predetermined number of bits on the basis of the most significant bit. The data is rounded based on the value of the object.

【0036】このような構成であれば、記憶手段の演算
データに対して再度演算を行うときは、制御手段によ
り、データブロック単位で演算データが記憶手段から読
み出され、データブロックの各データグループごとに、
データグループの演算データがそれぞれ各計算ユニット
の第1スケーリング手段に振り分けられるとともに、そ
のデータグループのグループスケールファクタとブロッ
クスケールファクタとの差分からなるスケールファクタ
が各計算ユニットの第1スケーリング手段に与えられ
る。
With such a configuration, when the arithmetic operation is performed again on the arithmetic data in the storage means, the arithmetic means reads out the arithmetic data in units of data blocks from the storage means by the control means, and the data groups of the data blocks are read out. Every
The operation data of the data group is respectively distributed to the first scaling means of each calculation unit, and a scale factor comprising a difference between the group scale factor and the block scale factor of the data group is provided to the first scaling means of each calculation unit. .

【0037】各計算ユニットでは、第1スケーリング手
段により、前回の処理において検出されたグループスケ
ールファクタとブロックスケールファクタとの差分から
なるスケールファクタに基づいて、与えられた演算デー
タに対してスケーリングが行われる。そして、スケーリ
ングされた演算データから、その最上位ビットを基準と
して所定ビット数よりも多いビット数のデータが抽出さ
れ、抽出されたデータのうちその最上位ビットを基準と
して所定ビット数のデータ以外のものの値に基づいてデ
ータの丸め処理が行われる。
In each calculation unit, the given operation data is scaled by the first scaling means on the basis of the scale factor consisting of the difference between the group scale factor and the block scale factor detected in the previous processing. Is Then, from the scaled operation data, data having a larger number of bits than the predetermined number of bits is extracted based on the most significant bit, and other than the predetermined number of bits of data of the extracted data based on the most significant bit. Data rounding is performed based on the value of the object.

【0038】さらに、本発明に係る請求項8記載のデー
タ演算処理装置は、請求項7記載のデータ演算処理装置
において、前記第1スケーリング手段は、前記スケーリ
ングしたデータから、その最上位ビットを基準として前
記所定ビット数よりも1ビット多いビット数のデータを
抽出し、抽出したデータのうちその最上位ビットを基準
として前記所定ビット数のデータ以外のものの値に基づ
いて前記データの丸め処理を行うようになっている。
Further, in the data processing apparatus according to claim 8 of the present invention, in the data processing apparatus according to claim 7, the first scaling means uses the most significant bit as a reference from the scaled data. Extracting data having a bit number one bit larger than the predetermined number of bits, and performing a rounding process of the data based on a value of data other than the predetermined number of bits based on the most significant bit of the extracted data. It has become.

【0039】このような構成であれば、記憶手段の演算
データに対して再度演算を行うときは、制御手段によ
り、データブロック単位で演算データが記憶手段から読
み出され、データブロックの各データグループごとに、
データグループの演算データがそれぞれ各計算ユニット
の第1スケーリング手段に振り分けられるとともに、そ
のデータグループのグループスケールファクタとブロッ
クスケールファクタとの差分からなるスケールファクタ
が各計算ユニットの第1スケーリング手段に与えられ
る。
With this configuration, when the operation is performed again on the operation data in the storage unit, the operation unit reads out the operation data in units of data blocks from the storage unit, and reads each data group of the data block. Every
The operation data of the data group is respectively distributed to the first scaling means of each calculation unit, and a scale factor comprising a difference between the group scale factor and the block scale factor of the data group is provided to the first scaling means of each calculation unit. .

【0040】各計算ユニットでは、第1スケーリング手
段により、前回の処理において検出されたグループスケ
ールファクタとブロックスケールファクタとの差分から
なるスケールファクタに基づいて、与えられた演算デー
タに対してスケーリングが行われる。そして、スケーリ
ングされた演算データから、その最上位ビットを基準と
して所定ビット数よりも1ビット多いビット数のデータ
が抽出され、抽出されたデータのうちその最上位ビット
を基準として所定ビット数のデータ以外のものの値に基
づいてデータの丸め処理が行われる。
In each of the calculation units, the given operation data is scaled by the first scaling means on the basis of the scale factor comprising the difference between the group scale factor and the block scale factor detected in the previous processing. Is Then, from the scaled operation data, data having a bit number one bit larger than the predetermined bit number is extracted based on the most significant bit, and the extracted data having a predetermined bit number based on the most significant bit is extracted. Data rounding is performed based on values other than the above.

【0041】さらに、本発明に係る請求項9記載のデー
タ演算処理装置は、請求項8記載のデータ演算処理装置
において、前記データの丸め処理は、前記抽出したデー
タのうちその最上位ビットを基準として前記所定ビット
数のデータ以外のものの値に1ビットを加算し、その加
算結果のうちその最上位ビットを基準として前記所定ビ
ット数のデータを演算対象として出力するようになって
いる。
Further, according to a ninth aspect of the present invention, in the data arithmetic processing apparatus according to the eighth aspect, the rounding of the data is performed based on the most significant bit of the extracted data. , One bit is added to the value of data other than the data of the predetermined number of bits, and the data of the predetermined number of bits is output as an operation target based on the most significant bit of the addition result.

【0042】このような構成であれば、データの丸め処
理では、抽出されたデータのうちその最上位ビットを基
準として所定ビット数のデータ以外のものの値に1ビッ
トが加算され、その加算結果のうちその最上位ビットを
基準として所定ビット数のデータが演算対象として出力
される。さらに、本発明に係る請求項10記載のデータ
演算処理装置は、請求項6ないし9のいずれかに記載の
データ演算処理装置において、前記グループスケールフ
ァクタおよび前記ブロックスケールファクタを記憶する
ための第2記憶手段を備え、前記制御手段は、前記グル
ープスケールファクタおよび前記ブロックスケールファ
クタを演算データと対応付けて前記第2記憶手段に記憶
し、前記記憶手段の演算データに対して再度演算を行う
ときは、対応するグループスケールファクタおよびブロ
ックスケールファクタを前記第2記憶手段から読み出
し、前記データブロックの各データグループごとに、前
記データグループの演算データをそれぞれ前記各計算ユ
ニットの第1スケーリング手段に振り分け、前記データ
グループのグループスケールファクタと前記ブロックス
ケールファクタとの差分からなるスケールファクタを前
記各計算ユニットの第1スケーリング手段に与えるよう
になっている。
With such a configuration, in the data rounding process, one bit is added to the value of data other than data having a predetermined number of bits based on the most significant bit of the extracted data, and the result of the addition is obtained. Among them, data of a predetermined number of bits is output as a calculation target based on the most significant bit. Further, according to a tenth aspect of the present invention, in the data operation processing device according to any one of the sixth to ninth aspects, a second data processing device for storing the group scale factor and the block scale factor. A storage unit, wherein the control unit stores the group scale factor and the block scale factor in the second storage unit in association with operation data, and performs the operation again on the operation data in the storage unit. Reading the corresponding group scale factor and block scale factor from the second storage means, and for each data group of the data block, allocating the operation data of the data group to the first scaling means of each of the calculation units, Group scale of data group The scale factor consisting of the difference between said block scale factor Akuta adapted to provide the first scaling means of each calculation unit.

【0043】このような構成であれば、制御手段によ
り、グループスケールファクタ検出手段で検出されたグ
ループスケールファクタおよびブロックスケールファク
タ検出手段で検出されたブロックスケールファクタが、
各計算ユニットの第2スケーリング手段からの演算デー
タと対応付けられて第2記憶手段に格納される。そし
て、記憶手段の演算データに対して再度演算を行うとき
は、制御手段により、対応するグループスケールファク
タおよびブロックスケールファクタが第2記憶手段から
読み出され、データブロックの各データグループごと
に、データグループの演算データがそれぞれ各計算ユニ
ットの第1スケーリング手段に振り分けられるととも
に、そのデータグループのグループスケールファクタと
ブロックスケールファクタとの差分からなるスケールフ
ァクタが各計算ユニットの第1スケーリング手段に与え
られる。
With such a configuration, the control means converts the group scale factor detected by the group scale factor detection means and the block scale factor detected by the block scale factor detection means into:
The data is stored in the second storage unit in association with the operation data from the second scaling unit of each calculation unit. When the calculation is again performed on the calculation data in the storage means, the corresponding group scale factor and block scale factor are read from the second storage means by the control means, and the data is stored in each data group of the data block. The operation data of the group is respectively distributed to the first scaling means of each calculation unit, and a scale factor comprising a difference between the group scale factor and the block scale factor of the data group is provided to the first scaling means of each calculation unit.

【0044】これにより、各計算ユニットでは、第1ス
ケーリング手段により、前回の処理において検出された
グループスケールファクタとブロックスケールファクタ
との差分からなるスケールファクタに基づいて、与えら
れた演算データに対してスケーリングが行われる。ここ
で、第2記憶手段は、グループスケールファクタおよび
ブロックスケールファクタをあらゆる手段でかつあらゆ
る時期に記憶するものであり、グループスケールファク
タおよびブロックスケールファクタをあらかじめ記憶し
てあるものであってもよいし、グループスケールファク
タおよびブロックスケールファクタをあらかじめ記憶す
ることなく、本装置の動作時に外部からの入力等によっ
てグループスケールファクタおよびブロックスケールフ
ァクタを記憶するようになっていてもよい。
Thus, in each of the calculation units, the first scaling means performs processing on the given operation data based on the scale factor comprising the difference between the group scale factor and the block scale factor detected in the previous processing. Scaling is performed. Here, the second storage means stores the group scale factor and the block scale factor by any means and at any time, and may store the group scale factor and the block scale factor in advance. Instead of storing the group scale factor and the block scale factor in advance, the group scale factor and the block scale factor may be stored by an external input or the like during the operation of the present apparatus.

【0045】さらに、本発明に係る請求項11記載のデ
ータ演算処理装置は、請求項6ないし10のいずれかに
記載のデータ演算処理装置において、前記スケールファ
クタ算出手段は、前記演算手段からの演算データの冗長
なビット数を算出し、これをスケールファクタとして算
出するようになっている。このような構成であれば、ス
ケールファクタ算出手段により、演算手段からの演算デ
ータの冗長なビット数が算出され、これがスケールファ
クタとして算出される。
Further, according to the present invention, there is provided a data processing apparatus according to any one of claims 6 to 10, wherein the scale factor calculating means is configured to perform a calculation from the calculating means. The number of redundant bits of data is calculated, and this is calculated as a scale factor. With such a configuration, the scale factor calculation means calculates the number of redundant bits of the operation data from the operation means, and this is calculated as the scale factor.

【0046】さらに、本発明に係る請求項12記載のデ
ータ演算処理装置は、請求項11記載のデータ演算処理
装置において、前記演算手段は、固定小数点演算器であ
り、前記第1スケーリング手段は、与えられたスケール
ファクタに相当するシフト量で、データに対してビット
シフトを行い、前記第2スケーリング手段は、与えられ
た他のスケールファクタに相当するシフト量で、前記演
算手段からの演算データに対してビットシフトを行うよ
うになっている。
Further, according to a twelfth aspect of the present invention, in the data arithmetic processing device according to the eleventh aspect, the arithmetic means is a fixed-point arithmetic unit, and the first scaling means is A bit shift is performed on the data by a shift amount corresponding to a given scale factor, and the second scaling means converts the data from the arithmetic means into a shift data corresponding to another given scale factor. A bit shift is performed for this.

【0047】このような構成であれば、各計算ユニット
では、第1スケーリング手段により、与えられたスケー
ルファクタに相当するシフト量で、与えられたデータに
対してビットシフトが行われ、演算手段により、第1ス
ケーリング手段からのデータに対して固定小数点演算が
行われる。そして、第2スケーリング手段により、与え
られたスケールファクタに相当するシフト量で、演算手
段からの演算データに対してビットシフトが行われる。
With such a configuration, in each of the calculation units, the first scaling means performs a bit shift on the given data with a shift amount corresponding to the given scale factor, and , Fixed-point arithmetic is performed on the data from the first scaling means. Then, the second scaling means performs a bit shift on the operation data from the operation means by a shift amount corresponding to the given scale factor.

【0048】ここで、第1スケーリング手段は、例え
ば、データに対して右シフトを行うようになっている。
また、第2スケーリング手段は、例えば、データに対し
て左シフトまたは右シフトを行うようになっている。さ
らに、本発明に係る請求項13記載のデータ演算処理装
置は、請求項6ないし12のいずれかに記載のデータ演
算処理装置において、前記演算手段は、前記第1スケー
リング手段からのデータと所定の係数との積和を演算す
る積和演算器である。
Here, the first scaling means shifts the data to the right, for example.
Further, the second scaling means performs, for example, a left shift or a right shift on the data. According to a thirteenth aspect of the present invention, in the data arithmetic processing device according to any one of the sixth to twelfth aspects, the arithmetic means includes: This is a product-sum calculator for calculating the product sum with a coefficient.

【0049】このような構成であれば、演算手段によ
り、第1スケーリング手段からのデータと所定の係数と
の積和が演算され、積和されたデータが演算データとし
て出力される。一方、上記目的を達成するために、本発
明に係る請求項14記載のデータ演算処理プログラム
は、1または複数のデータを含んでデータグループを構
成し、さらに複数のデータグループを含んでデータブロ
ックを構成し、前記データブロック単位でデータを処理
するコンピュータ実行可能なプログラムであって、前記
データグループの各データに対して演算を行い、それら
演算データのうち絶対値が最大となるもののスケールフ
ァクタをグループスケールファクタとして検出し、検出
したグループスケールファクタに基づいて前記各演算デ
ータに対してスケーリングを行うこれら一連の処理を、
前記データブロックの各データグループごとに行い、さ
らに、検出したグループスケールファクタのうち絶対値
が最大となる演算データに対応するものをブロックスケ
ールファクタとして検出し、前記スケーリングした演算
データに対して再度演算を行うときは、その演算の前
に、前記データグループの各演算データに対して当該デ
ータグループのグループスケールファクタおよび前記ブ
ロックスケールファクタに基づいてスケーリングを行
い、スケーリングしたそれら演算データに対してデータ
の丸め処理を行うようになっている。
With such a configuration, the calculating means calculates the product sum of the data from the first scaling means and the predetermined coefficient, and outputs the product sum data as the calculated data. On the other hand, to achieve the above object, a data operation processing program according to claim 14 of the present invention forms a data group including one or a plurality of data, and further forms a data block including a plurality of data groups. A computer-executable program configured to process data in units of the data blocks, performing an operation on each data of the data group, and determining a scale factor of an operation data having a maximum absolute value in the group. A series of these processes for detecting as a scale factor and performing scaling on the respective calculation data based on the detected group scale factor,
Performed for each data group of the data block, and further detects, as the block scale factor, the detected group scale factor corresponding to the calculated data having the largest absolute value, and performs the calculation again on the scaled calculated data. Before performing the calculation, scaling is performed on each calculation data of the data group based on the group scale factor and the block scale factor of the data group, and data of the scaled calculation data is Rounding processing is performed.

【0050】このような構成であれば、コンピュータに
よってプログラムが読み取られ、読み取られたプログラ
ムに従ってコンピュータが処理を実行すると、請求項1
記載のデータ演算処理装置と同等の作用が得られる。さ
らに、本発明に係る請求項15記載のデータ演算処理プ
ログラムは、データを記憶するための記憶手段を有する
コンピュータに対して、1または複数のデータを含んで
データグループを構成し、さらに複数のデータグループ
を含んでデータブロックを構成し、前記データブロック
単位でデータを処理させるプログラムであって、与えら
れたスケールファクタに基づいてデータに対してスケー
リングを行う第1スケーリング手段、前記第1スケーリ
ング手段からのデータに対して演算を行う演算手段、前
記演算手段からの演算データのスケールファクタを算出
するスケールファクタ算出手段、および与えられた他の
スケールファクタに基づいて前記演算手段からの演算デ
ータに対してスケーリングを行う第2スケーリング手段
として実現される処理を前記各データグループごとに実
行させるためのプログラムと、前記各データグループに
対応するスケールファクタ算出手段で算出したスケール
ファクタのうち絶対値が最大となる演算データに対応す
るものをグループスケールファクタとして検出するグル
ープスケールファクタ検出手段、前記グループスケール
ファクタ検出手段で検出したグループスケールファクタ
のうち絶対値が最大となる演算データに対応するものを
ブロックスケールファクタとして検出するブロックスケ
ールファクタ検出手段、およびデータ処理のための制御
を行う制御手段として実現される処理を実行させるため
のプログラムとを備え、前記制御手段は、前記データブ
ロック単位でデータを前記記憶手段から読み出し、前記
データブロックの各データグループごとに、前記データ
グループのデータをそれぞれ前記各データグループに対
応する第1スケーリング手段に振り分け、前記グループ
スケールファクタ検出手段で検出したグループスケール
ファクタを前記各データグループに対応する第2スケー
リング手段に与え、前記各データグループに対応する第
2スケーリング手段からの演算データを前記記憶手段に
格納し、前記記憶手段の演算データに対して再度演算を
行うときは、前記データブロックの各データグループご
とに、前記データグループの演算データをそれぞれ前記
各データグループに対応する第1スケーリング手段に振
り分けるとともに、前記データグループのグループスケ
ールファクタと前記ブロックスケールファクタとの差分
からなるスケールファクタを前記各データグループに対
応する第1スケーリング手段に与え、前記第1スケーリ
ング手段は、与えられたスケールファクタに基づいてデ
ータに対してスケーリングを行い、スケーリングしたデ
ータに対してデータの丸め処理を行うようになってい
る。
With such a configuration, when the program is read by the computer and the computer executes processing in accordance with the read program,
An operation equivalent to that of the described data processing device can be obtained. Further, a data operation processing program according to claim 15 of the present invention provides a computer having storage means for storing data to form a data group including one or a plurality of data, A first scaling unit configured to form a data block including a group and to process data in units of the data block, wherein the first scaling unit performs scaling on the data based on a given scale factor; Calculating means for calculating the scale factor of the calculation data from the calculation means, and calculation data from the calculation means based on another given scale factor. Implemented as a second scaling means for performing scaling A program for executing the processing for each of the data groups, and a scale factor calculated by the scale factor calculating means corresponding to each of the data groups, the one corresponding to the operation data having the largest absolute value is defined as a group scale factor. Group scale factor detecting means for detecting, block scale factor detecting means for detecting, as a block scale factor, a group scale factor detected by the group scale factor detecting means corresponding to the operation data having the maximum absolute value, and data processing And a program for executing processing realized as control means for performing control for the data block. The control means reads data from the storage means in units of the data block, and reads each data group of the data block. Each time, the data of the data group is distributed to the first scaling means corresponding to each data group, and the group scale factor detected by the group scale factor detection means is given to the second scaling means corresponding to each data group. When the calculation data from the second scaling means corresponding to each data group is stored in the storage means, and the calculation is again performed on the calculation data in the storage means, for each data group of the data block, The operation data of the data group is distributed to the first scaling means corresponding to each data group, and a scale factor including a difference between a group scale factor of the data group and the block scale factor is assigned to each data group. The data is provided to a corresponding first scaling means, and the first scaling means performs scaling on the data based on the given scale factor, and performs a rounding process on the scaled data.

【0051】このような構成であれば、コンピュータに
よってプログラムが読み取られ、読み取られたプログラ
ムに従ってコンピュータが処理を実行すると、請求項6
記載のデータ演算処理装置と同等の作用が得られる。本
発明の概要は、例えば、図1に示す通りである。本発明
では、データグループごとに一つのスケールファクタを
計算してこれをグループスケールファクタとし、各積和
演算器12から出力されたデータをグループスケールフ
ァクタで正規化(以下、グループ正規化という。)し、
グループスケールファクタを、グループ正規化されたデ
ータグループと関連付けてレジスタファイル52に格納
する。こうした一連の処理は、データブロックに含まれ
る他のデータグループに対しても、繰り返し適用され
る。一つのデータブロックの処理を行った後、複数のグ
ループスケールファクタうち最小のスケールファクタを
検出してこれをブロックスケールファクタとし、データ
ブロックと関連付けてレジスタファイル56に格納す
る。その後、このデータブロックをブロック処理する場
合、ブロックスケールファクタとグループスケールファ
クタとが異なり、データグループ間で桁位置が合ってい
ない可能性があるため、グループスケールファクタとブ
ロックスケールファクタとの差分に基づいて、各データ
グループのデータを正規化(以下、ブロック正規化とい
う。)して桁合わせをし、桁合わせをした各データに対
してデータの丸め処理を行った後、積和演算器12に入
力する。
With such a configuration, when the program is read by the computer, and the computer executes the processing in accordance with the read program, the present invention can be applied to any of the above embodiments.
An operation equivalent to that of the described data processing device can be obtained. The outline of the present invention is, for example, as shown in FIG. In the present invention, one scale factor is calculated for each data group, and this is used as a group scale factor, and the data output from each of the product-sum calculators 12 is normalized by the group scale factor (hereinafter, referred to as group normalization). And
The group scale factor is stored in the register file 52 in association with the group-normalized data group. Such a series of processing is repeatedly applied to other data groups included in the data block. After processing one data block, the smallest scale factor among the plurality of group scale factors is detected and used as a block scale factor, which is stored in the register file 56 in association with the data block. Thereafter, when performing block processing on this data block, since the block scale factor and the group scale factor are different and the digit positions may not be aligned between the data groups, the difference between the group scale factor and the block scale factor is used. Then, the data of each data group is normalized (hereinafter, referred to as block normalization) to perform digit matching, and after performing the data rounding process for each of the data subjected to the digit matching, the product-sum calculator 12 input.

【0052】これにより、積和演算終了後のデータは、
データグループ単位で一旦グループ正規化を行ってデー
タメモリ100に格納され、次のブロック処理で使用す
る際に、ブロック正規化されるため、ブロック正規化後
のデータの下位ビットに意味のない情報が含まれること
がなく、ブロックフローティング方式で固定小数点演算
を行うときの演算誤差が小さくなる。さらには、データ
の丸め処理による演算精度の向上を図ることもできる。
As a result, the data after the end of the product-sum operation is
Since the data is once group-normalized in units of data groups and stored in the data memory 100, and used in the next block processing, the data is subjected to block normalization. It is not included, and the calculation error when performing the fixed-point calculation by the block floating method is reduced. Further, it is possible to improve the calculation accuracy by rounding the data.

【0053】[0053]

【発明の実施の形態】以下、本発明の実施の形態を図面
を参照しながら説明する。図1ないし図5は、本発明に
係るデータ演算処理装置の実施の形態を示す図である。
本実施の形態は、本発明に係るデータ演算処理装置およ
びデータ演算処理プログラムを、図1に示すように、ブ
ロックフローティング方式で固定小数点演算を行う場合
について適用したものであり、上記従来のデータ演算処
理装置と異なるのは、第1シフタ16ではなく、第2シ
フタ18でデータの丸め処理を行う点にある。
Embodiments of the present invention will be described below with reference to the drawings. FIG. 1 to FIG. 5 are views showing an embodiment of a data operation processing device according to the present invention.
In this embodiment, a data operation processing device and a data operation processing program according to the present invention are applied to a case where a fixed-point operation is performed by a block floating method as shown in FIG. The difference from the processing device is that data is rounded by the second shifter 18 instead of the first shifter 16.

【0054】まず、本発明に係るデータ演算処理装置の
構成を図1を参照しながら説明する。図1は、本発明に
係るデータ演算処理装置の構成を示すブロック図であ
る。本発明に係るデータ演算処理装置は、図1に示すよ
うに、データブロック単位でデータを記憶するためのデ
ータメモリ100と、データメモリ100のデータに対
して積和演算を行う演算部200と、ブロックフローテ
ィングに必要な正規化を行うための制御部300と、こ
れらの制御を行う制御ロジック400と、アドレス生成
器500とで構成されている。データメモリ100、演
算部200、制御部300および制御ロジック400
は、データバス110で相互にかつデータ授受可能に接
続されており、データメモリ100、制御部300およ
びアドレス生成器500は、データアドレスバス120
で相互にかつデータ授受可能に接続されている。
First, the configuration of the data processing unit according to the present invention will be described with reference to FIG. FIG. 1 is a block diagram showing the configuration of the data processing device according to the present invention. As shown in FIG. 1, the data arithmetic processing device according to the present invention includes a data memory 100 for storing data in data block units, an arithmetic unit 200 for performing a product-sum operation on data in the data memory 100, The control unit 300 includes a control unit 300 for performing normalization required for block floating, a control logic 400 for performing these controls, and an address generator 500. Data memory 100, arithmetic unit 200, control unit 300, and control logic 400
Are connected to each other via a data bus 110 so that data can be exchanged. The data memory 100, the control unit 300, and the address generator 500
And are connected so as to be able to exchange data.

【0055】データメモリ100は、図示しない外部か
らデータを入力し、図9に示すように、演算部200の
演算対象となるデータとして、入力したデータをデータ
ブロック単位で格納するようになっている。データメモ
リ100では、図9に示すように、データが計算ユニッ
トの数に相当する個数(この場合、k個)組合わさって
データグループとして格納され、さらに、データグルー
プが複数組合わさってデータブロックとして格納され
る。すなわち、データブロックは、複数のデータグルー
プを含んで構成され、データグループは、計算ユニット
の数に相当する個数のデータを含んで構成されている。
The data memory 100 receives data from the outside (not shown) and stores the input data in data block units as data to be operated by the operation unit 200 as shown in FIG. . In the data memory 100, as shown in FIG. 9, data is stored as a data group by combining a number (in this case, k) corresponding to the number of calculation units, and a plurality of data groups are combined to form a data block. Is stored. That is, the data block is configured to include a plurality of data groups, and the data group is configured to include data of a number corresponding to the number of calculation units.

【0056】演算部200は、同一機能を有するk個の
計算ユニットP0〜Pk-1で構成されている。各計算ユニ
ットP0〜Pk-1には、一つのデータグループのデータが
それぞれ振り分けられ、各計算ユニットP0〜Pk-1は、
データグループ単位でデータを並列処理する。各計算ユ
ニットP0〜Pk-1は、与えられたスケールファクタに基
づいてデータに対してスケーリングを行う第2シフタ1
8と、第2シフタ18からのデータに対して積和演算を
行う積和演算器12と、積和演算器12からの演算デー
タのスケールファクタを算出するユニットスケールファ
クタ検出器14と、与えられたスケールファクタに基づ
いて積和演算器12からの演算データに対してスケーリ
ングを行う第1シフタ16とで構成されている。
The operation unit 200 is composed of k calculation units P 0 to P k−1 having the same function. Each compute unit P 0 ~P k-1, the data of one data group is allocated respectively, each computing unit P 0 ~P k-1 is
Process data in parallel in data group units. Each of the calculation units P 0 to P k−1 is a second shifter 1 that scales data based on a given scale factor.
8, a product-sum operation unit 12 for performing a product-sum operation on data from the second shifter 18, and a unit scale factor detector 14 for calculating a scale factor of the operation data from the product-sum operation unit 12. And a first shifter 16 for scaling the operation data from the product-sum operation unit 12 based on the scale factor.

【0057】ユニットスケールファクタ検出器14は、
積和演算器12からの演算データの冗長なビット数を算
出し、これをスケールファクタとして算出するようにな
っている。ここで、スケールファクタは、データをビッ
トシフトするときのシフト量であり、シフトするビット
数を示す。以下、グループスケールファクタおよびブロ
ックスケールファクタについても同様である。
The unit scale factor detector 14
The number of redundant bits of the operation data from the product-sum operation unit 12 is calculated, and this is calculated as a scale factor. Here, the scale factor is a shift amount when data is bit-shifted, and indicates the number of bits to be shifted. Hereinafter, the same applies to the group scale factor and the block scale factor.

【0058】第2シフタ18は、与えられたスケールフ
ァクタに相当するシフト量で、与えられたデータに対し
て右シフトを行うようになっている。第1シフタ16
は、与えられたスケールファクタに相当するシフト量
で、積和演算器12からの演算データに対して左シフト
を行うようになっている。また、第1シフタ16からの
演算データは、さらに次のブロック処理に備えるため、
データメモリ100に格納されるが、データメモリ10
0のデータのビット数は、第1シフタ16からの演算デ
ータのそれよりも少ないため、第1シフタ16は、左シ
フトした演算データのうち最上位ビットを基準としてデ
ータメモリ100のデータのビット数分を取り、それよ
りも下位のビットを単純に切り捨て、データメモリ10
0のデータのビット数の演算データを出力するようにな
っている。
The second shifter 18 shifts the given data to the right by a shift amount corresponding to the given scale factor. First shifter 16
Is a shift amount corresponding to a given scale factor, and shifts the operation data from the product-sum operation unit 12 to the left. Further, the operation data from the first shifter 16 is used in preparation for the next block processing.
Although stored in the data memory 100, the data memory 10
Since the number of bits of 0 data is smaller than that of the operation data from the first shifter 16, the first shifter 16 determines the number of bits of the data in the data memory 100 based on the most significant bit of the left-shifted operation data. Minutes, the lower bits are simply truncated, and the data memory 10
Operation data of the number of bits of 0 data is output.

【0059】制御部300は、ユニットスケールファク
タ検出器14で算出したスケールファクタからグループ
スケールファクタを検出するグループスケールファクタ
検出器50と、グループスケールファクタを格納するグ
ループスケールファクタレジスタファイル52と、グル
ープスケールファクタからブロックスケールファクタを
検出するブロックスケールファクタ検出器54と、ブロ
ックスケールファクタを格納するブロックスケールファ
クタレジスタ56と、グループスケールファクタとブロ
ックスケールファクタの差分を計算する桁合わせ用加算
器60とで構成されている。
The control unit 300 includes a unit scale factor.
From the scale factor calculated by the detector 14
Group scale factor to detect scale factor
A detector 50 and a group for storing a group scale factor.
Loop scale factor register file 52 and group
From block scale factor to block scale factor
A block scale factor detector 54 for detecting
Block scale factor that stores the
Register register 56, group scale factor and
Addition for digit alignment to calculate the difference of the clock scale factor
And a vessel 60.

【0060】グループスケールファクタ検出器50は、
各計算ユニットP0〜Pk-1のユニットスケールファクタ
検出器14で算出したスケールファクタうち最小のもの
をグループスケールファクタとして検出し、制御ロジッ
ク400の制御により、検出したグループスケールファ
クタをグループスケールファクタレジスタファイル52
および各計算ユニットP0〜Pk-1の第1シフタ16に出
力するようになっている。例えば、各計算ユニットP0
〜Pk-1(例えば、k=3)のユニットスケールファク
タ検出器14からスケールファクタとして「1」、
「2」、「3」を入力した場合、そのうちの最小値であ
る「1」をそのグループスケールファクタとして検出す
る。
The group scale factor detector 50 is
Among the scale factors calculated by the unit scale factor detectors 14 of the calculation units P 0 to P k−1 , the smallest one is detected as the group scale factor, and the detected group scale factor is controlled by the control logic 400. Register file 52
And it is adapted to output to the first shifter 16 for each computing unit P 0 ~P k-1. For example, each calculation unit P 0
PP k -1 (for example, k = 3) from the unit scale factor detector 14, "1" as a scale factor,
When “2” and “3” are input, the minimum value “1” is detected as the group scale factor.

【0061】グループスケールファクタレジスタファイ
ル52は、グループスケールファクタ検出器50で検出
したグループスケールファクタをそれぞれ一時的に格納
し、制御ロジック400の制御により、データメモリ1
00または桁合わせ用加算器60にグループスケールフ
ァクタを出力するようになっている。ブロックスケール
ファクタ検出器54は、グループスケールファクタ検出
器50で検出したグループスケールファクタのうち最小
のものをブロックスケールファクタとして検出するよう
になっている。例えば、あるデータブロックのグループ
スケールファクタが「3」、「4」、「5」として検出
された場合、そのうちの最小値である「3」をそのブロ
ックスケールファクタとして検出する。
The group scale factor register file 52 temporarily stores the group scale factors detected by the group scale factor detector 50, and the data memory 1 is controlled by the control logic 400.
The group scale factor is output to 00 or the digit adder 60. The block scale factor detector 54 detects the smallest one of the group scale factors detected by the group scale factor detector 50 as a block scale factor. For example, when the group scale factor of a certain data block is detected as “3”, “4”, or “5”, the minimum value “3” is detected as the block scale factor.

【0062】ブロックスケールファクタレジスタ56
は、ブロックスケールファクタ検出器54で検出したブ
ロックスケールファクタを一時的に格納し、制御ロジッ
ク400の制御により、データメモリ100または桁合
わせ用加算器60にグループスケールファクタを出力す
るようになっている。桁合わせ用加算器60は、グルー
プスケールファクタレジスタファイル52から出力され
たグループスケールファクタと、ブロックスケールファ
クタレジスタ56から出力されたブロックスケールファ
クタとを入力し、グループスケールファクタからブロッ
クスケールファクタを減算してその差分を計算し、制御
ロジック400の制御により、その差分からなるスケー
ルファクタを各計算ユニットP 0〜Pk-1の第2シフタ1
8に出力するようになっている。
Block scale factor register 56
Is the block detected by the block scale factor detector 54.
The lock scale factor is temporarily stored and the control logic
Control of the data memory 100 or the digit
Output the group scale factor to the adder 60
It has become so. The digit matching adder 60 includes a glue.
Output from the scale factor register file 52.
Group scale factor and block scale factor
Block scale file output from the
And the block size from the group scale factor.
Calculate the difference by subtracting the scale factor and control
Under the control of the logic 400, the scale
Is calculated for each calculation unit P 0~ Pk-1Second shifter 1
8 is output.

【0063】制御ロジック400は、データメモリ10
0のデータに対して初めて演算を行うときは、次の制御
処理を実行するようになっている。まず、データブロッ
ク単位でデータをデータメモリ100から読み出し、デ
ータブロックの各データグループごとに、データグルー
プのデータをそれぞれデータバス110経由で各計算ユ
ニットP0〜Pk-1の第2シフタ18に振り分ける。
The control logic 400 includes the data memory 10
When an operation is performed on data of 0 for the first time, the following control processing is executed. First, data is read from the data memory 100 in data block units, and for each data group of the data block, the data of the data group is transferred to the second shifter 18 of each of the calculation units P 0 to P k−1 via the data bus 110. Distribute.

【0064】そして、グループスケールファクタ検出器
50で検出したグループスケールファクタを各計算ユニ
ットP0〜Pk-1の第1シフタ16に与え、各計算ユニッ
トP 0〜Pk-1の第1シフタ16からの演算データをデー
タバス110経由でデータメモリ100に格納する。ま
た、制御ロジック400は、データメモリ100のデー
タに対して再度演算を行うときは、次の制御処理を実行
するようになっている。
Then, a group scale factor detector
The group scale factor detected in step 50 is calculated for each calculation unit.
P0~ Pk-1Of each calculation unit.
To P 0~ Pk-1Calculation data from the first shifter 16
The data is stored in the data memory 100 via the tabus 110. Ma
In addition, the control logic 400 stores data in the data memory 100.
When the calculation is performed again on the data, the following control processing is executed.
It is supposed to.

【0065】まず、データブロック単位で演算データを
データメモリ100から読み出し、データブロックの各
データグループごとに、データグループの演算データを
それぞれデータバス110経由で各計算ユニットP0
k-1の第2シフタ18に与える。これと同時に、各計
算ユニットP0〜Pk-1の第2シフタ18に与えたデータ
のグループスケールファクタおよびブロックスケールフ
ァクタがグループスケールファクタレジスタファイル5
2およびブロックスケールファクタレジスタ56に格納
されているときは、ブロックスケールファクタレジスタ
56からブロックスケールファクタを読み出して桁合わ
せ用加算器60に与え、グループスケールファクタレジ
スタファイル52からグループスケールファクタを順次
読み出して桁合わせ用加算器60に与え、桁合わせ用加
算器60により各グループスケールファクタとブロック
スケールファクタとの差分を計算し、その差分からなる
スケールファクタを各計算ユニットP0〜Pk-1の第2シ
フタ18に与える。
[0065] First, read the operation data in a data block from the data memory 100, for each data group of data blocks, each computing units P 0 ~ operation data of the data group through the data bus 110, respectively
P k−1 is given to the second shifter 18. At the same time, the group scale factor and the block scale factor of the data supplied to the second shifters 18 of the calculation units P 0 to P k−1 are stored in the group scale factor register file 5.
2 and stored in the block scale factor register 56, the block scale factor is read out from the block scale factor register 56 and supplied to the digitizing adder 60, and the group scale factor is sequentially read out from the group scale factor register file 52. given the digit alignment adder 60, the difference between the group scale factor and the block scale factor calculated by alignment shift adder 60, a scale factor consisting of the difference of each calculation unit P 0 ~P k-1 2 shifter 18.

【0066】そして、グループスケールファクタ検出器
50で検出したグループスケールファクタを各計算ユニ
ットP0〜Pk-1の第1シフタ16に与え、各計算ユニッ
トP 0〜Pk-1の第1シフタ16からの演算データをデー
タバス110経由でデータメモリ100に格納する。な
お、各計算ユニットP0〜Pk-1の第2シフタ18に与え
たデータのグループスケールファクタおよびブロックス
ケールファクタがグループスケールファクタレジスタフ
ァイル52およびブロックスケールファクタレジスタ5
6に格納されていないときは、各計算ユニットP0〜P
k-1の第2シフタ18に与えたデータに対応するグルー
プスケールファクタおよびブロックスケールファクタを
データメモリ100から読み出し、これらをデータバス
110経由でグループスケールファクタレジスタファイ
ル52およびブロックスケールファクタレジスタ56に
格納してから、上記処理を実行する。
Then, the group scale factor detector
The group scale factor detected in step 50 is calculated for each calculation unit.
P0~ Pk-1Of each calculation unit.
To P 0~ Pk-1Calculation data from the first shifter 16
The data is stored in the data memory 100 via the tabus 110. What
Contact, each calculation unit P0~ Pk-1To the second shifter 18
Group scale factor and block
Kale factor is the group scale factor register
File 52 and block scale factor register 5
6 is not stored in each calculation unit P0~ P
k-1Glue corresponding to the data given to the second shifter 18 of FIG.
Scale factor and block scale factor
Read from the data memory 100 and read them from the data bus
Group scale factor register file via 110
To block 52 and block scale factor register 56
After storing, the above processing is executed.

【0067】次に、第2シフタ18の構成を図2を参照
しながら詳細に説明する。図2は、第2シフタ18の構
成を示すブロック図である。第2シフタ18は、図2に
示すように、与えられたスケールファクタに相当するシ
フト量でデータに対して右シフトを行う右シフタ18a
と、右シフタ18aからのデータに対してデータの丸め
処理を行うデータ丸め処理部18bとで構成されてい
る。
Next, the configuration of the second shifter 18 will be described in detail with reference to FIG. FIG. 2 is a block diagram showing a configuration of the second shifter 18. As shown in FIG. As shown in FIG. 2, the second shifter 18 shifts data right by a shift amount corresponding to a given scale factor.
And a data rounding section 18b for rounding the data from the right shifter 18a.

【0068】右シフタ18aは、データメモリ100か
らnビットのデータを入力し、桁合わせ用加算器60か
らのスケールファクタに相当するシフト量で、入力した
データに対して右シフトを行い、シフトしたデータか
ら、その最上位ビットを基準としてn+1ビットのデー
タを抽出してデータ丸め処理部18bに出力するように
なっている。例えば、8ビットのデータを3ビット右シ
フトした場合は、11ビットのデータとなるので、デー
タ丸め処理部18bには、11ビットのデータのうち上
位9ビットのデータが出力されることになる。
The right shifter 18a receives n-bit data from the data memory 100, shifts the input data to the right by a shift amount corresponding to the scale factor from the digit matching adder 60, and shifts the data. From the data, n + 1-bit data is extracted based on the most significant bit and output to the data rounding processing unit 18b. For example, when 8-bit data is shifted right by 3 bits, the data becomes 11-bit data, so that the upper 9 bits of the 11-bit data are output to the data rounding processing unit 18b.

【0069】データ丸め処理部18bは、右シフタ18
aからn+1ビットのデータを入力し、入力したn+1
ビットのデータに、n+1ビットのデータのうち最下位
ビットのみを「1」にしたデータ丸め処理用加算データ
を加算し、その加算結果から、その最上位ビットを基準
としてnビットのデータを抽出して積和演算器12に出
力するようになっている。例えば、「01010101
1」の9ビットのデータを入力した場合は、データ丸め
処理用加算データ「000000001」を入力データ
に加算し、積和演算器12には、その加算結果である
「010101100」のうち上位8ビットのデータ
「01010110」が出力されることになる。
The data rounding section 18b is provided with the right shifter 18
Input n + 1 bit data from a, and input n + 1
Addition data for data rounding processing in which only the least significant bit of the n + 1-bit data is set to "1" is added to the bit data, and n-bit data is extracted from the addition result based on the most significant bit. Output to the product-sum operation unit 12. For example, "01010101
When 9-bit data of "1" is input, the addition data "000000001" for data rounding processing is added to the input data, and the product-sum operation unit 12 outputs the upper 8 bits of "010101100" as the addition result. Will be output.

【0070】次に、上記実施の形態の動作を図3ないし
図5を参照しながら説明する。本例では、積和演算器1
2は、初回の演算を、下式(1)により行い、下式
(1)により演算した結果に対する2回目以降の演算
を、下式(2)により行うものとする。下式(1)にお
いて、A(k)は、係数データであり、X(n−k)
は、第2シフタ18からのデータである。下式(2)に
おいて、B(l)は、係数データであり、Y(m−l)
は、下式(1)により演算した結果であって第2シフタ
18からのデータである。
Next, the operation of the above embodiment will be described with reference to FIGS. In this example, the product-sum operation unit 1
In the case of No. 2, the first calculation is performed by the following equation (1), and the second and subsequent calculations on the result calculated by the following equation (1) are performed by the following equation (2). In the following equation (1), A (k) is coefficient data, and X (nk)
Is data from the second shifter 18. In the following equation (2), B (l) is coefficient data, and Y (m−1)
Is a result calculated by the following equation (1) and is data from the second shifter 18.

【0071】[0071]

【数1】 (Equation 1)

【0072】[0072]

【数2】 (Equation 2)

【0073】また、データメモリ100からのデータを
8ビット、積和演算器12の出力を16ビットとする。
さらに、演算部200が4つの計算ユニットから構成さ
れるものとし、データブロックは、2つのデータグルー
プを含んで構成され、データグループは、計算ユニット
の数に相当する4つのデータを含んで構成されているも
のとする。また、あらかじめ定められた係数データA
(0)〜A(3)、B(0),B(1)は、必要な時に
はいつでも利用可能であると仮定する。これらの係数デ
ータをどのように供給するかは、本発明の本質とは直接
的ではないので特に説明しないが、例えば、必要に応じ
てデータメモリ100から読み出すなどして各積和演算
器12に与えることができる。
The data from the data memory 100 is 8 bits, and the output of the product-sum operation unit 12 is 16 bits.
Further, it is assumed that the arithmetic unit 200 is configured with four calculation units, the data block is configured to include two data groups, and the data group is configured to include four data corresponding to the number of calculation units. It is assumed that In addition, predetermined coefficient data A
Assume that (0) -A (3), B (0), B (1) are available whenever needed. How to supply these coefficient data is not directly described because it is not directly the essence of the present invention. Can be given.

【0074】まず、本発明に係るデータ演算処理装置に
おいて、下式(1)によりデータを並列処理する手順を
図3を参照しながら説明する。図3は、各積和演算器1
2で行われる積和演算手順を示す図である。上式(1)
によりデータメモリ100のデータに対して演算を行う
ときは、図3に示すように、まず、サイクル1で、デー
タX(0)〜X(3)を含む1番目のデータグループが
データメモリ100から読み出され、データX(0)〜
X(3)がそれぞれデータバス110経由で各計算ユニ
ットP0〜P3の第2シフタ18に振り分けられる。初期
状態では、データX(0)〜X(3)に対応するスケー
ルファクタは存在しないので、制御ロジック400によ
り、データX(0)〜X(3)がシフトされないように
第2シフタ18が制御される。
First, a procedure for parallel processing of data by the following equation (1) in the data processing device according to the present invention will be described with reference to FIG. FIG. 3 shows each product-sum operation unit 1
FIG. 3 is a diagram showing a product-sum operation procedure performed in Step 2. Equation (1) above
When the operation is performed on the data in the data memory 100, as shown in FIG. 3, first, in a cycle 1, the first data group including the data X (0) to X (3) is Read, and data X (0)-
X (3) are distributed in the second shifter 18 of each calculation unit P 0 to P 3 through the data bus 110, respectively. In the initial state, since there is no scale factor corresponding to the data X (0) to X (3), the control logic 400 controls the second shifter 18 so that the data X (0) to X (3) is not shifted. Is done.

【0075】各積和演算器12では、図3の手順に従っ
て、係数データA(0)〜A(3)とデータX(0)〜
X(3)との積和演算が行われ、サイクル2からサイク
ル5までを経て、最初の積和演算結果である演算データ
Y(0)〜Y(3)が得られる。これらの演算過程で
は、データX(0)〜X(3)は、各計算ユニットP0
〜P3間をハードウェア手段を通じて転送されるものと
する。
In each product-sum operation unit 12, coefficient data A (0) to A (3) and data X (0) to
The product-sum operation with X (3) is performed, and through cycle 2 to cycle 5, operation data Y (0) to Y (3), which are the first product-sum operation results, are obtained. In these arithmetic processes, the data X (0) to X (3) are stored in each calculation unit P 0
Between to P 3 shall be transmitted through hardware means.

【0076】演算データY(0)〜Y(3)は、その
後、各ユニットスケールファクタ検出器14に入力され
る。各ユニットスケールファクタ検出器14では、積和
演算器12からの演算データの冗長なビット数が算出さ
れ、これがスケールファクタとして算出される。例え
ば、データ「00001100」は、最上位ビットから
「0」が4つ連続するため、冗長なビット数が「4」と
なり、スケールファクタは「4」となる。
The operation data Y (0) to Y (3) are thereafter input to each unit scale factor detector 14. In each unit scale factor detector 14, the number of redundant bits of the operation data from the product-sum operation unit 12 is calculated, and this is calculated as a scale factor. For example, in data “000001100”, since four “0” s continue from the most significant bit, the number of redundant bits is “4” and the scale factor is “4”.

【0077】各ユニットスケールファクタ検出器14で
算出された複数のスケールファクタは、次に、グループ
スケールファクタ検出器50に入力され、ここで複数の
スケールファクタのうち最小のものがグループスケール
ファクタとして検出される。このグループスケールファ
クタは、さらに各計算ユニットP0〜P3の第1シフタ1
6に入力される。これと同時に、各積和演算器12から
の演算データY(0)〜Y(3)も第1シフタ16に入
力される。グループスケールファクタに従って、第1シ
フタ16により、16ビットの演算データY(0)〜Y
(3)に対してグループ正規化が行われる。図4に、実
際の数値を用いた演算結果の一例を示す。
The plurality of scale factors calculated by each unit scale factor detector 14 are then input to a group scale factor detector 50, where the smallest one of the plurality of scale factors is detected as a group scale factor. Is done. This group scale factor is further determined by the first shifter 1 of each of the calculation units P 0 to P 3 .
6 is input. At the same time, the operation data Y (0) to Y (3) from each product-sum operation unit 12 are also input to the first shifter 16. According to the group scale factor, 16-bit operation data Y (0) to Y by the first shifter 16
Group normalization is performed on (3). FIG. 4 shows an example of a calculation result using actual numerical values.

【0078】これらのグループ正規化された演算データ
は、さらに次のブロック処理に備えるため、データメモ
リ100に格納される。データメモリ100のデータの
ビット数は演算データよりも少ないため、各演算データ
は、下位の8ビットが単純に切り捨てられる。第1シフ
タ16からの演算データY(0)〜Y(3)は、図4の
中でデータメモリ100の入力欄に示されている。ま
た、演算データY(0)〜Y(3)をデータメモリ10
0に格納する間に、グループスケールファクタもグルー
プスケールファクタレジスタファイル52に入力され
る。このグループスケールファクタは、グループスケー
ルファクタレジスタファイル52内に、対応するデータ
グループと関連付けられて格納される。例えば、データ
グループは、データメモリ100に格納する場合、ある
一つのメモリアドレスを取り、そのデータグループのす
べてのデータは、一つのメモリアドレスで同時にアクセ
スされるとして、演算データをデータメモリ100に格
納するのに用いられるのと同じアドレスで特定されるレ
ジスタに格納する。あるいは、図5に示すように、デー
タグループが格納されているデータメモリ100のアド
レスと、グループスケールファクタが格納されているグ
ループスケールファクタレジスタファイル52のアドレ
スとの対応表を、データメモリ100の一部に作成して
これらのアドレスを管理してもよい。
These group-normalized operation data are stored in the data memory 100 in preparation for the next block processing. Since the number of bits of the data in the data memory 100 is smaller than that of the operation data, the lower 8 bits of each operation data are simply truncated. The operation data Y (0) to Y (3) from the first shifter 16 are shown in the input column of the data memory 100 in FIG. The operation data Y (0) to Y (3) are stored in the data memory 10
The group scale factor is also input to the group scale factor register file 52 during the storage to zero. This group scale factor is stored in the group scale factor register file 52 in association with the corresponding data group. For example, when a data group is stored in the data memory 100, a certain memory address is taken, and all data of the data group are simultaneously accessed by one memory address, and the operation data is stored in the data memory 100. In the register specified by the same address used to perform the operation. Alternatively, as shown in FIG. 5, a correspondence table between the address of the data memory 100 storing the data group and the address of the group scale factor register file 52 storing the group scale factor is stored in the data memory 100. It is also possible to create these sections and manage these addresses.

【0079】グループスケールファクタは、また、ブロ
ックスケールファクタ検出器54にも入力され、そこ
で、複数のグループスケールファクタのうち最小のもの
がブロックスケールファクタとして検出される。あるデ
ータブロックの最初のデータグループの演算が終わった
時点では、今演算されたばかりのグループスケールファ
クタ、すなわち、図4の例では「2」が初期値として、
ブロックスケールファクタ検出器54内のレジスタ(図
1には示されていない)に格納される。
The group scale factor is also input to a block scale factor detector 54, where the smallest one of the plurality of group scale factors is detected as a block scale factor. When the calculation of the first data group of a certain data block is completed, the group scale factor just calculated, that is, “2” in the example of FIG.
It is stored in a register (not shown in FIG. 1) in the block scale factor detector 54.

【0080】次に、サイクル6で、データX(4)〜X
(7)を含む2番目のデータグループがデータメモリ1
00から読み出され、データX(4)〜X(7)がそれ
ぞれデータバス110経由で各計算ユニットP0〜P3
第2シフタ18に振り分けられる。データX(0)〜X
(3)を含む1番目のデータグループに対するのと同様
の演算処理が、このデータグループに対しても行われ
る。唯一異なるのは、演算データY(4)〜Y(7)に
対して計算されるグループスケールファクタは、今回は
ブロックスケールファクタ検出器54内のレジスタに保
持されている内容と比較され、小さい方の値がブロック
スケールファクタとして選択されるという点である。図
4の例では、演算データY(4)〜Y(7)からグルー
プスケールファクタ「1」が検出される。この場合、ブ
ロックスケールファクタ検出器54内のレジスタに保持
されている「2」よりも「1」の方が小さいので、ブロ
ックスケールファクタ検出器54内のレジスタの内容は
更新される。
Next, in cycle 6, data X (4) -X
The second data group including (7) is the data memory 1
Read from 00 is distributed to the second shifter 18 of each calculation unit P 0 to P 3 data X (4) ~X (7) is via the data bus 110, respectively. Data X (0) to X
The same operation as that for the first data group including (3) is performed for this data group. The only difference is that the group scale factor calculated for the operation data Y (4) to Y (7) is compared with the content held in the register in the block scale factor detector 54 this time, and Is selected as the block scale factor. In the example of FIG. 4, the group scale factor “1” is detected from the operation data Y (4) to Y (7). In this case, since “1” is smaller than “2” held in the register in the block scale factor detector 54, the contents of the register in the block scale factor detector 54 are updated.

【0081】この例においては、この時点で、一つのデ
ータブロックのすべてのデータに関する演算が完了した
ため、ブロックスケールファクタは、ブロックスケール
ファクタ検出器54内のレジスタの現在の値、すなわち
「1」に確定される。本例から容易に類推されるよう
に、例えこの後に演算を行うべき複数のデータグループ
があったとしても、2番目のデータグループに適用され
た上述の処理を繰り返すことが可能である。
In this example, since the operation on all the data of one data block has been completed at this point, the block scale factor is changed to the current value of the register in the block scale factor detector 54, that is, “1”. Is determined. As can be easily inferred from the present example, even if there are a plurality of data groups to be operated after this, the above-described processing applied to the second data group can be repeated.

【0082】次に、本発明に係るデータ演算処理装置に
おいて、上式(1)により演算した演算データを、下式
(2)により再度並列処理する手順を説明する。演算を
始める前に、ブロックスケールファクタ検出器54内の
レジスタの内容をブロックスケールファクタレジスタ5
6に転送しておく。上式(2)によりデータメモリ10
0の演算データに対して再度演算を行うときは、演算デ
ータY(0)〜Y(3)を含む1番目のデータグループ
がデータメモリ100から読み出され、演算データY
(0)〜Y(3)がそれぞれデータバス110経由で各
計算ユニットP0〜P3の第2シフタ18に振り分けられ
る。これと同時に、対応するグループスケールファク
タ、すなわち、本例においては「2」が、アドレスバス
120経由で与えられたアドレス情報により選択され、
グループスケールファクタレジスタファイル52から読
み出される。各第2シフタ18における右シフト量は、
現在のグループスケールファクタとブロックスケールフ
ァクタの差分、すなわち、本例においては、2−1=1
として与えられる。
Next, a procedure for parallel processing of the operation data calculated by the above equation (1) again by the following equation (2) in the data processing apparatus according to the present invention will be described. Before starting the operation, the contents of the registers in the block scale factor detector 54 are stored in the block scale factor register 5.
6 According to the above equation (2), the data memory 10
When the operation is performed again on the operation data 0, the first data group including the operation data Y (0) to Y (3) is read from the data memory 100, and the operation data Y
(0) to Y (3) are distributed to the second shifters 18 of the calculation units P 0 to P 3 via the data bus 110, respectively. At the same time, the corresponding group scale factor, ie, “2” in this example, is selected by the address information provided via the address bus 120,
It is read from the group scale factor register file 52. The right shift amount in each second shifter 18 is
The difference between the current group scale factor and the block scale factor, ie, in this example, 2-1 = 1
Given as

【0083】第2シフタ18での動作は、各第2シフタ
18でいずれも同様なので、計算ユニットP0の第2シ
フタ18を例にとって説明すると、計算ユニットP0
第2シフタ18では、スケールファクタとして「1」が
与えられると、右シフタ18aにより、入力された演算
データY(0)に対して1ビット右シフトが行われ、シ
フトされた演算データY(0)のうち上位9ビットのデ
ータ(この場合、全ビットのデータ)がデータ丸め処理
部18bに出力される。そして、データ丸め処理部18
bにより、入力された9ビットの演算データY(0)
に、データ丸め処理用加算データ「00000000
1」が加算され、その加算結果のうち上位8ビットのデ
ータが積和演算器12に出力される。これにより、演算
データY(0)に対してデータの丸め処理が行われる。
なお、演算データY(0)〜Y(3)に対して、この後
適用される演算処理は、上式(1)について説明した演
算処理とまったく同様である。
[0083] Operation of the second shifter 18 is the same both in the second shifter 18, when the second shifter 18 of computing unit P 0 will be described as an example, the second shifter 18 of computing unit P 0, the scale When "1" is given as a factor, the input arithmetic data Y (0) is shifted right by one bit by the right shifter 18a, and the upper 9 bits of the shifted arithmetic data Y (0) are shifted. Data (in this case, data of all bits) is output to the data rounding processing unit 18b. Then, the data rounding processing unit 18
b, the input 9-bit operation data Y (0)
, Add data "00000000"
"1" is added, and the upper 8 bits of the addition result are output to the product-sum operation unit 12. As a result, data rounding processing is performed on the operation data Y (0).
The arithmetic processing applied thereafter to the arithmetic data Y (0) to Y (3) is exactly the same as the arithmetic processing described for the above equation (1).

【0084】次に、演算データY(4)〜Y(7)を含
む2番目のデータグループがデータメモリ100から読
み出され、演算データY(4)〜Y(7)がそれぞれデ
ータバス110経由で各計算ユニットP0〜P3の第2シ
フタ18に振り分けられる。このデータグループに対す
るグループスケールファクタは、図4に示すように、
「1」である。結果として、このデータグループのすべ
ての演算データは、1−1=0、すなわち第2シフタ1
8でシフトされずに出力される。
Next, the second data group including the operation data Y (4) to Y (7) is read out from the data memory 100, and the operation data Y (4) to Y (7) are transferred via the data bus 110, respectively. in is distributed to the second shifter 18 of each calculation unit P 0 to P 3. The group scale factor for this data group, as shown in FIG.
It is "1". As a result, all the operation data of this data group is 1-1 = 0, that is, the second shifter 1
8 without being shifted.

【0085】この段階で、すべての演算データY(0)
〜Y(7)が、データブロックの最大値の小数点位置に
桁合わせされ、その結果、後続の積和演算において、固
定小数点演算を行うことが可能となる。このようにし
て、本実施の形態では、データグループの各データに対
して演算を行い、それら演算データを代表する最小のス
ケールファクタをグループスケールファクタとして検出
し、検出したグループスケールファクタに基づいて各演
算データに対してスケーリングを行うこれら一連の処理
を、データブロックの各データグループごとに行い、さ
らに、検出したグループスケールファクタのうち最小の
ものをブロックスケールファクタとして検出し、スケー
リングした演算データに対して再度演算を行うときは、
その演算の前に、第2シフタ18により、データグルー
プの各演算データに対して当該データグループのグルー
プスケールファクタおよびブロックスケールファクタに
基づいてスケーリングを行い、スケーリングしたそれら
演算データに対してデータの丸め処理を行うようになっ
ている。
At this stage, all operation data Y (0)
YY (7) is digit-aligned to the decimal point position of the maximum value of the data block. As a result, in the subsequent product-sum operation, fixed-point arithmetic can be performed. In this manner, in the present embodiment, the operation is performed on each data of the data group, the minimum scale factor representing the operation data is detected as the group scale factor, and each of the data is calculated based on the detected group scale factor. This series of processing for scaling the operation data is performed for each data group of the data block, and the smallest of the detected group scale factors is detected as a block scale factor. To perform the calculation again,
Before the operation, the second shifter 18 performs scaling on each operation data of the data group based on the group scale factor and the block scale factor of the data group, and rounds the scaled operation data. Processing is performed.

【0086】これにより、同一のデータグループに属す
る演算データについては、同一の桁位置でデータの丸め
処理を行うことができる。また、一定の桁位置でデータ
の丸め処理を行うことができるので、構成がさほど複雑
になることもない。したがって、従来に比して、ブロッ
クフローティング方式において、比較的簡易な構成によ
り、データの丸め処理による演算精度の向上を図ること
ができる。
As a result, for the operation data belonging to the same data group, the data can be rounded at the same digit position. In addition, since the data can be rounded at a fixed digit position, the configuration is not so complicated. Therefore, compared to the related art, in the block floating method, it is possible to improve the calculation accuracy by rounding data with a relatively simple configuration.

【0087】上記実施の形態において、データメモリ1
00は、請求項6または10記載の記憶手段に対応し、
グループスケールファクタレジスタファイル52および
ブロックスケールファクタレジスタ56は、請求項10
記載の第2記憶手段に対応し、第2シフタ18は、請求
項6ないし8、10、12または13記載の第1スケー
リング手段に対応している。また、積和演算器12は、
請求項6、7、11ないし13記載の演算手段に対応
し、ユニットスケールファクタ検出器14は、請求項6
または11記載のスケールファクタ算出手段に対応し、
第1シフタ16は、請求項6または12記載の第2スケ
ーリング手段に対応している。
In the above embodiment, the data memory 1
00 corresponds to the storage means according to claim 6 or 10,
The group scale factor register file 52 and the block scale factor register 56 are
The second shifter 18 corresponds to the first scaling means according to claims 6 to 8, 10, 12, or 13. In addition, the product-sum operation unit 12
The unit scale factor detector 14 corresponds to the calculating means according to claims 6, 7, 11 to 13.
Or corresponding to the scale factor calculation means described in 11,
The first shifter 16 corresponds to the second scaling means according to claim 6 or 12.

【0088】また、上記実施の形態において、グループ
スケールファクタ検出器50は、請求項6記載のグルー
プスケールファクタ検出手段に対応し、ブロックスケー
ルファクタ検出器54は、請求項6記載のブロックスケ
ールファクタ検出手段に対応し、制御ロジック400
は、請求項6または10記載の制御手段に対応してい
る。
In the above embodiment, the group scale factor detector 50 corresponds to the group scale factor detecting means according to claim 6, and the block scale factor detector 54 corresponds to the block scale factor detector according to claim 6. Control logic 400 corresponding to the means;
Corresponds to the control means according to claim 6 or 10.

【0089】なお、上記実施の形態においては、各計算
ユニットP0〜Pk-1の第2シフタ18と積和演算器12
との相互間で、ハードウェア手段を通じてデータを転送
することについて説明したが、具体的には、図6に示す
構成を採用することができる。図6は、各計算ユニット
0〜Pk-1の第2シフタ18と積和演算器12との相互
間でデータを転送するための詳細な構成を示すブロック
図である。
In the above embodiment, the second shifter 18 of each of the calculation units P 0 to P k -1 and the product-sum operation unit 12
Although the description has been made on the transfer of data between hardware and hardware through hardware means, the configuration shown in FIG. 6 can be specifically adopted. FIG. 6 is a block diagram showing a detailed configuration for transferring data between the second shifter 18 of each of the calculation units P 0 to P k−1 and the product-sum operation unit 12.

【0090】図6において、計算ユニットP0は、第2
シフタ18からのデータを保持するレジスタ11aを備
えている。計算ユニットP1,P2は、前段の計算ユニッ
トP 0,P1のレジスタ11aからのデータを保持するレ
ジスタ11aと、前段の計算ユニットP0,P1のレジス
タ11aからのデータおよび第2シフタ18からのデー
タのいずれかを選択して積和演算器12に出力するセレ
クタ11bとを備えている。計算ユニットP3は、前段
の計算ユニットP2のレジスタ11aからのデータおよ
び第2シフタ18からのデータのいずれかを選択して積
和演算器12に出力するセレクタ11bを備えている。
In FIG. 6, the calculation unit P0Is the second
A register 11a for holding data from the shifter 18 is provided.
I have. Calculation unit P1, PTwoIs the calculation unit
To P 0, P1Register holding data from the register 11a
The register 11a and the preceding calculation unit P0, P1Regis of
Data from the data 11a and data from the second shifter 18.
Selector that selects one of the
And a blade 11b. Calculation unit PThreeIs the first
Calculation unit PTwoData from register 11a
And any of the data from the second shifter 18
The selector 11 b that outputs the result to the sum calculator 12 is provided.

【0091】また、上記実施の形態においては、ユニッ
トスケールファクタ検出器14と、グループスケールフ
ァクタ検出器50とで構成したが、これに限らず、例え
ば、図7に示す構成を採用することができる。図7は、
ユニットスケールファクタ検出器14およびグループス
ケールファクタ検出器50の他の構成を示すブロック図
である。
Further, in the above-described embodiment, the unit scale factor detector 14 and the group scale factor detector 50 are used. . FIG.
FIG. 14 is a block diagram showing another configuration of the unit scale factor detector 14 and the group scale factor detector 50.

【0092】図7において、各計算ユニットP0〜P
4は、ユニットスケールファクタ検出器14に代えて、
XORアレイ15aからなる局所ブロックフローティン
グユニット15で構成されている。そして、プライオリ
ティエンコーダ21からなるグループスケールファクタ
検出器51と、各計算ユニットP0〜P4の局所ブロック
フローティングユニット15とグループスケールファク
タ検出器51とを接続するワイヤードORバスとを備え
て構成されている。
In FIG. 7, each of the calculation units P 0 to P
4 is the unit scale factor detector 14,
It comprises a local block floating unit 15 composed of an XOR array 15a. And, it is configured to include a group scale factor detector 51 composed of the priority encoder 21 and a wired OR bus connecting the local block floating unit 15 of each of the calculation units P 0 to P 4 and the group scale factor detector 51. I have.

【0093】局所ブロックフローティングユニット15
は、積和演算器12からの演算データを入力し、その演
算データの隣り合うビットに対して排他的論理和演算を
行って出力するようになっている。例えば、4ビットの
演算データを入力した場合、最上位の4番目のビットお
よび3番目のビットに対して排他的論理和演算を行った
ものを出力データの3番目のビットとし、同じ要領で、
3番目および2番目の演算結果を出力データの2番目の
ビットとし、2番目および1番目の演算結果を出力デー
タの1番目のビットとし、そして、最上位のビットを出
力データの最上位のビットとして出力する。
Local block floating unit 15
Is configured to input operation data from the product-sum operation unit 12, perform an exclusive OR operation on adjacent bits of the operation data, and output the result. For example, when 4-bit operation data is input, the result of performing an exclusive OR operation on the fourth and third bits at the most significant position is defined as the third bit of the output data, and in the same manner,
The third and second operation results are the second bit of the output data, the second and first operation results are the first bit of the output data, and the most significant bit is the most significant bit of the output data. Output as

【0094】これにより、各計算ユニットP0〜P4の積
和演算器12からの演算データのスケールファクタを算
出し、それらスケールファクタからグループスケールフ
ァクタを算出しなくても、各計算ユニットP0〜P4の積
和演算器12からの演算データから直接グループスケー
ルファクタを検出することもできる。また、上記実施の
形態においては、発明の理解を容易にするために、デー
タグループは、計算ユニットP0〜Pk-1の数に相当する
個数のデータを含んで構成したが、計算ユニットP0
k-1の数にかかわらず、これよりも少ない個数のデー
タを含んで構成してもよいし、これよりも多い個数のデ
ータを含んで構成してもよい。
[0094] Thus, to calculate the scale factor of the calculated data from the multiply-add unit 12 of the computing unit P 0 to P 4, even without calculating the group scale factor from their scale factor, each computing unit P 0 It can be detected directly group scale factor from calculated data from the multiply-add unit 12 of the to P 4. Further, in the above embodiment, in order to facilitate understanding of the invention, the data group is configured to include data of the number corresponding to the number of the calculation units P 0 to P k−1. 0 to
Regardless of the number of P k−1 , it may be configured to include a smaller number of data, or may be configured to include a larger number of data.

【0095】また、上記実施の形態においては、制御ロ
ジック400を、内部のロジックに従って各部の制御を
行うように構成したが、これに限らず、制御ロジック4
00に代えて、CPU、RAMおよびROMをバス接続
してデータ演算処理部を構成し、データ演算処理部は、
CPUにより、上記の制御手順を示したプログラムをR
OMから読み出して実行するように構成してもよい。こ
の場合、上記の制御手順を示したプログラムは、ROM
に格納されているが、これに限らず、上記の制御手順を
示したプログラムが記憶された記憶媒体から、そのプロ
グラムをRAMに読み込んで実行するようにしてもよ
い。
In the above embodiment, the control logic 400 is configured to control each unit according to the internal logic. However, the present invention is not limited to this.
Instead of 00, a data operation processing unit is configured by connecting a CPU, a RAM, and a ROM via a bus,
The program showing the above control procedure is executed by the CPU by R
You may comprise so that it may read from OM and execute. In this case, the program showing the above control procedure is stored in the ROM
However, the present invention is not limited to this, and the program may be read into a RAM from a storage medium storing a program indicating the above control procedure and executed.

【0096】また、上記実施の形態においては、本発明
に係るデータ演算処理装置を、データメモリ100と、
演算部200と、制御部300と、制御ロジック400
と、アドレス生成器500とを備えたハードウェアで構
成したが、これに限らず、例えば、CPU、RAMおよ
びROMをバス接続して構成し、CPUにより、各部の
機能を実現するための制御プログラムをROMから読み
出して実行するように、一部または全部をソフトウェア
で構成してもよい。この場合も、制御プログラムは、R
OMに格納されているが、これに限らず、制御プログラ
ムが記憶された記憶媒体から、その制御プログラムをR
AMに読み込んで実行するようにしてもよい。
Further, in the above embodiment, the data processing device according to the present invention is
Operation unit 200, control unit 300, control logic 400
And a hardware including an address generator 500. However, the present invention is not limited to this. For example, a control program for realizing the functions of the respective units by connecting a CPU, a RAM, and a ROM via a bus and using the CPU Some or all may be configured by software so that is read from the ROM and executed. Also in this case, the control program
The control program is stored in the OM, but is not limited thereto.
The program may be read into the AM and executed.

【0097】ここで、記憶媒体とは、RAM、ROM等
の半導体記憶媒体、FD、HD等の磁気記憶型記憶媒
体、CD、CDV、LD、DVD等の光学的読取方式記
憶媒体、MO等の磁気記憶型/光学的読取方式記憶媒体
であって、電子的、磁気的、光学的等の読み取り方法の
いかんにかかわらず、コンピュータで読み取り可能な記
憶媒体であれば、あらゆる記憶媒体を含むものである。
Here, the storage medium is a semiconductor storage medium such as a RAM or a ROM, a magnetic storage type storage medium such as an FD or HD, an optical read type storage medium such as a CD, CDV, LD, DVD, or the like. It is a magnetic storage type / optical read type storage medium, and includes any storage medium that can be read by a computer regardless of an electronic, magnetic, optical or other read method.

【0098】また、上記実施の形態においては、本発明
に係るデータ演算処理装置およびデータ演算処理プログ
ラムを、図1に示すように、ブロックフローティング方
式で固定小数点演算を行う場合について適用したが、こ
れに限らず、本発明の主旨を逸脱しない範囲で他の場合
にも適用可能である。
Further, in the above embodiment, the data arithmetic processing device and the data arithmetic processing program according to the present invention are applied to the case where the fixed-point arithmetic is performed by the block floating method as shown in FIG. The present invention is not limited to this, and can be applied to other cases without departing from the gist of the present invention.

【0099】[0099]

【発明の効果】以上説明したように、本発明に係る請求
項1ないし5記載のデータ演算処理装置によれば、同一
のデータグループに属する演算データについては、同一
の桁位置でデータの丸め処理を行うことができる。ま
た、一定の桁位置でデータの丸め処理を行うことができ
るので、構成がさほど複雑になることもない。したがっ
て、従来に比して、ブロックフローティング方式におい
て、比較的簡易な構成により、データの丸め処理による
演算精度の向上を図ることができるという効果が得られ
る。
As described above, according to the data arithmetic processing apparatus according to the first to fifth aspects of the present invention, for the arithmetic data belonging to the same data group, the data is rounded at the same digit position. It can be performed. In addition, since the data can be rounded at a fixed digit position, the configuration is not so complicated. Therefore, in comparison with the related art, in the block floating method, it is possible to obtain an effect of improving the calculation accuracy by rounding data with a relatively simple configuration.

【0100】さらに、本発明に係る請求項6ないし13
記載のデータ演算処理装置によれば、同一のデータグル
ープに属する演算データについては、同一の桁位置でデ
ータの丸め処理を行うことができる。また、第1スケー
リング手段では、一定の桁位置でデータの丸め処理を行
うことができるので、構成がさほど複雑になることもな
い。したがって、従来に比して、ブロックフローティン
グ方式において、比較的簡易な構成により、データの丸
め処理による演算精度の向上を図ることができるという
効果が得られる。
Further, claims 6 to 13 according to the present invention.
According to the described data operation processing device, for operation data belonging to the same data group, the data can be rounded at the same digit position. Further, since the first scaling means can perform data rounding processing at a fixed digit position, the configuration does not become so complicated. Therefore, in comparison with the related art, in the block floating method, it is possible to obtain an effect of improving the calculation accuracy by rounding data with a relatively simple configuration.

【0101】一方、本発明に係る請求項14記載のデー
タ演算処理プログラムによれば、請求項1記載のデータ
演算処理装置と同等の効果が得られる。さらに、本発明
に係る請求項15記載のデータ演算処理プログラムによ
れば、請求項6記載のデータ演算処理装置と同等の効果
が得られる。
On the other hand, according to the data operation processing program of the present invention, the same effects as those of the data operation processing apparatus of the first aspect can be obtained. Further, according to the data operation processing program of the present invention, the same effect as the data operation processing device of the sixth aspect can be obtained.

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

【図1】本発明に係るデータ演算処理装置の構成を示す
ブロック図である。
FIG. 1 is a block diagram showing a configuration of a data operation processing device according to the present invention.

【図2】第2シフタ18の構成を示すブロック図であ
る。
FIG. 2 is a block diagram showing a configuration of a second shifter 18.

【図3】各積和演算器12で行われる積和演算手順を示
す図である。
FIG. 3 is a diagram showing a product-sum operation procedure performed by each product-sum calculator 12.

【図4】本発明を数値例に適用した場合の演算過程を説
明するための図である。
FIG. 4 is a diagram for explaining a calculation process when the present invention is applied to a numerical example.

【図5】データグループとグループスケールファクタを
関連付けて格納する方法の一例である。
FIG. 5 is an example of a method of storing a data group and a group scale factor in association with each other.

【図6】各計算ユニットP0〜Pk-1の第2シフタ18と
積和演算器12との相互間でデータを転送するための詳
細な構成を示すブロック図である。
FIG. 6 is a block diagram showing a detailed configuration for transferring data between the second shifter 18 of each of the calculation units P 0 to P k−1 and the product-sum operation unit 12;

【図7】ユニットスケールファクタ検出器14およびグ
ループスケールファクタ検出器50の他の構成を示すブ
ロック図である。
FIG. 7 is a block diagram showing another configuration of the unit scale factor detector 14 and the group scale factor detector 50.

【図8】従来のデータ演算処理装置の構成を示すブロッ
ク図である。
FIG. 8 is a block diagram showing a configuration of a conventional data processing unit.

【図9】データメモリ100における演算単位となるデ
ータのデータ構造を示す図である。
FIG. 9 is a diagram showing a data structure of data serving as an operation unit in the data memory 100;

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

10,18 第2シフタ 12 積和演算器 14 ユニットスケールファクタ
検出器 16 第1シフタ 50,51 グループスケールファクタ
検出器 52 グループスケールファクタ
レジスタファイル 54 ブロックスケールファクタ
検出器 56 ブロックスケールファクタ
レジスタ 60 桁合わせ用加算器 100 データメモリ100 110 データバス 120 アドレスバス 200 演算部 300 制御部 400 制御ロジック 500 アドレス生成器 110 データバス 120 データアドレスバス 11a レジスタ 11b セレクタ 15a XORアレイ 15 局所ブロックフローティン
グユニット 21 プライオリティエンコーダ
10, 18 Second shifter 12 Multiply-accumulate unit 14 Unit scale factor detector 16 First shifter 50, 51 Group scale factor detector 52 Group scale factor register file 54 Block scale factor detector 56 Block scale factor register 60 For digit alignment Adder 100 data memory 100 110 data bus 120 address bus 200 operation unit 300 control unit 400 control logic 500 address generator 110 data bus 120 data address bus 11a register 11b selector 15a XOR array 15 local block floating unit 21 priority encoder

Claims (15)

【特許請求の範囲】[Claims] 【請求項1】 1又は複数のデータを含んでデータグル
ープを構成し、さらに複数のデータグループを含んでデ
ータブロックを構成し、前記データブロック単位でデー
タを処理する装置であって、 前記データグループの各データに対して演算を行い、そ
れら演算データのうち絶対値が最大となるもののスケー
ルファクタをグループスケールファクタとして検出し、
検出したグループスケールファクタに基づいて前記各演
算データに対してスケーリングを行うこれら一連の処理
を、前記データブロックの各データグループごとに行
い、さらに、検出したグループスケールファクタのうち
絶対値が最大となる演算データに対応するものをブロッ
クスケールファクタとして検出し、前記スケーリングし
た演算データに対して再度演算を行うときは、その演算
の前に、前記データグループの各演算データに対して当
該データグループのグループスケールファクタ及び前記
ブロックスケールファクタに基づいてスケーリングを行
い、スケーリングしたそれら演算データに対してデータ
の丸め処理を行うようになっていることを特徴とするデ
ータ演算処理装置。
1. An apparatus for forming a data group including one or a plurality of data, further forming a data block including a plurality of data groups, and processing data in units of the data block, Calculate the scale factor of the data with the largest absolute value among the calculated data as the group scale factor.
These series of processes for scaling each of the operation data based on the detected group scale factor are performed for each data group of the data block, and further, the absolute value of the detected group scale factor is maximized. When the data corresponding to the operation data is detected as a block scale factor and the operation is performed again on the scaled operation data, before the operation, each operation data of the data group is subjected to the group of the data group. A data operation processing device, wherein scaling is performed based on a scale factor and the block scale factor, and data rounding is performed on the scaled operation data.
【請求項2】 請求項1において、 前記演算は、所定ビット数のデータに対して行うように
なっており、 前記グループスケールファクタ及び前記ブロックスケー
ルファクタに基づいてスケーリングした各演算データご
とに、当該演算データから、その最上位ビットを基準と
して前記所定ビット数よりも多いビット数のデータを抽
出し、抽出したデータのうちその最上位ビットを基準と
して前記所定ビット数のデータ以外のものの値に基づい
て前記データの丸め処理を行うようになっていることを
特徴とするデータ演算処理装置。
2. The method according to claim 1, wherein the operation is performed on data having a predetermined number of bits. For each operation data scaled based on the group scale factor and the block scale factor, From the operation data, data having a larger number of bits than the predetermined number of bits is extracted based on the most significant bit, and based on the value of the extracted data other than the data having the predetermined number of bits based on the most significant bit. A data arithmetic processing device for rounding the data.
【請求項3】 請求項2において、 前記グループスケールファクタ及び前記ブロックスケー
ルファクタに基づいてスケーリングした各演算データご
とに、当該演算データから、その最上位ビットを基準と
して前記所定ビット数よりも1ビット多いビット数のデ
ータを抽出し、抽出したデータのうちその最上位ビット
を基準として前記所定ビット数のデータ以外のものの値
に基づいて前記データの丸め処理を行うようになってい
ることを特徴とするデータ演算処理装置。
3. The method according to claim 2, wherein, for each operation data scaled based on the group scale factor and the block scale factor, one bit of the operation data is smaller than the predetermined number of bits based on the most significant bit. It is characterized in that data of a large number of bits is extracted, and the data is rounded based on the value of data other than the data of the predetermined number of bits based on the most significant bit of the extracted data. Data processing unit.
【請求項4】 請求項3において、 前記データの丸め処理は、前記抽出したデータのうちそ
の最上位ビットを基準として前記所定ビット数のデータ
以外のものの値に1ビットを加算し、その加算結果のう
ちその最上位ビットを基準として前記所定ビット数のデ
ータを演算対象として出力するようになっていることを
特徴とするデータ演算処理装置。
4. The data rounding process according to claim 3, wherein in the data rounding process, one bit is added to a value of the extracted data other than the data having the predetermined number of bits based on the most significant bit, and the addition result is obtained. Wherein the data having the predetermined number of bits is output as an operation target based on the most significant bit of the data.
【請求項5】 請求項1乃至4のいずれかにおいて、 前記スケーリングした演算データに対して再度演算を行
うときは、その演算の前に、前記データグループの各演
算データに対して当該データグループのグループスケー
ルファクタと前記ブロックスケールファクタとの差分に
基づいてスケーリングを行うようになっていることを特
徴とするデータ演算処理装置。
5. The method according to claim 1, wherein when performing the operation again on the scaled operation data, each operation data of the data group is processed before the operation. A data processing device, wherein scaling is performed based on a difference between a group scale factor and the block scale factor.
【請求項6】 複数の計算ユニットを備え、1又は複数
のデータを含んでデータグループを構成し、さらに複数
のデータグループを含んでデータブロックを構成し、前
記データブロック単位でデータを処理する装置であっ
て、 前記各計算ユニットは、与えられたスケールファクタに
基づいてデータに対してスケーリングを行う第1スケー
リング手段と、前記第1スケーリング手段からのデータ
に対して演算を行う演算手段と、前記演算手段からの演
算データのスケールファクタを算出するスケールファク
タ算出手段と、与えられた他のスケールファクタに基づ
いて前記演算手段からの演算データに対してスケーリン
グを行う第2スケーリング手段とを有し、 さらに、データを記憶するための記憶手段と、前記各計
算ユニットのスケールファクタ算出手段で算出したスケ
ールファクタのうち絶対値が最大となる演算データに対
応するものをグループスケールファクタとして検出する
グループスケールファクタ検出手段と、前記グループス
ケールファクタ検出手段で検出したグループスケールフ
ァクタのうち絶対値が最大となる演算データに対応する
ものをブロックスケールファクタとして検出するブロッ
クスケールファクタ検出手段と、データ処理のための制
御を行う制御手段とを備え、 前記制御手段は、前記データブロック単位でデータを前
記記憶手段から読み出し、前記データブロックの各デー
タグループごとに、前記データグループのデータをそれ
ぞれ前記各計算ユニットの第1スケーリング手段に振り
分け、前記グループスケールファクタ検出手段で検出し
たグループスケールファクタを前記各計算ユニットの第
2スケーリング手段に与え、前記各計算ユニットの第2
スケーリング手段からの演算データを前記記憶手段に格
納し、 前記記憶手段の演算データに対して再度演算を行うとき
は、前記データブロックの各データグループごとに、前
記データグループの演算データをそれぞれ前記各計算ユ
ニットの第1スケーリング手段に振り分けるとともに、
前記データグループのグループスケールファクタと前記
ブロックスケールファクタとの差分からなるスケールフ
ァクタを前記各計算ユニットの第1スケーリング手段に
与え、 前記第1スケーリング手段は、与えられたスケールファ
クタに基づいてデータに対してスケーリングを行い、ス
ケーリングしたデータに対してデータの丸め処理を行う
ようになっていることを特徴とするデータ演算処理装
置。
6. An apparatus comprising a plurality of calculation units, forming a data group including one or a plurality of data, further forming a data block including a plurality of data groups, and processing data in units of the data blocks Wherein each of the calculation units is a first scaling unit that performs scaling on data based on a given scale factor; an operation unit that performs an operation on data from the first scaling unit; A scale factor calculating unit that calculates a scale factor of the operation data from the operation unit; and a second scaling unit that performs scaling on the operation data from the operation unit based on another given scale factor, Further, storage means for storing data, and a scale factor for each of the calculation units A group scale factor detecting means for detecting, as the group scale factor, a scale factor corresponding to the operation data having the largest absolute value among the scale factors calculated by the calculating means; A block scale factor detecting means for detecting a value corresponding to the operation data having the maximum value as a block scale factor, and a control means for performing control for data processing, the control means comprising: Is read from the storage means, and for each data group of the data block, the data of the data group is distributed to the first scaling means of each of the calculation units, and the group scale detected by the group scale factor detecting means is read out. Given factor to the second scaling means of each calculation unit, the second of each calculation unit
When the operation data from the scaling unit is stored in the storage unit, and the operation is performed again on the operation data in the storage unit, the operation data of the data group is stored in each of the data groups of the data block. While allocating to the first scaling means of the calculation unit,
A scale factor comprising a difference between the group scale factor of the data group and the block scale factor is provided to first scaling means of each of the calculation units. And a data rounding process for the scaled data.
【請求項7】 請求項6において、 前記演算手段は、所定ビット数のデータに対して演算を
行い、 前記第1スケーリング手段は、前記スケーリングしたデ
ータから、その最上位ビットを基準として前記所定ビッ
ト数よりも多いビット数のデータを抽出し、抽出したデ
ータのうちその最上位ビットを基準として前記所定ビッ
ト数のデータ以外のものの値に基づいて前記データの丸
め処理を行うようになっていることを特徴とするデータ
演算処理装置。
7. The data processing device according to claim 6, wherein the operation unit performs an operation on data of a predetermined number of bits, and wherein the first scaling unit performs the predetermined bit operation on the basis of the most significant bit from the scaled data. Data of a number of bits larger than the number of bits is extracted, and the data is rounded based on the value of data other than the data of the predetermined number of bits based on the most significant bit of the extracted data. A data processing unit characterized by the above.
【請求項8】 請求項7において、 前記第1スケーリング手段は、前記スケーリングしたデ
ータから、その最上位ビットを基準として前記所定ビッ
ト数よりも1ビット多いビット数のデータを抽出し、抽
出したデータのうちその最上位ビットを基準として前記
所定ビット数のデータ以外のものの値に基づいて前記デ
ータの丸め処理を行うようになっていることを特徴とす
るデータ演算処理装置。
8. The data processing device according to claim 7, wherein the first scaling means extracts, from the scaled data, data having a number of bits one bit larger than the predetermined number of bits with reference to the most significant bit, and extracts the extracted data. A data arithmetic processing device for performing a rounding process on the data based on a value of data other than the data of the predetermined number of bits based on the most significant bit of the data.
【請求項9】 請求項8において、 前記データの丸め処理は、前記抽出したデータのうちそ
の最上位ビットを基準として前記所定ビット数のデータ
以外のものの値に1ビットを加算し、その加算結果のう
ちその最上位ビットを基準として前記所定ビット数のデ
ータを演算対象として出力するようになっていることを
特徴とするデータ演算処理装置。
9. The data rounding process according to claim 8, wherein, in the data rounding process, one bit is added to a value of data other than the data having the predetermined number of bits based on the most significant bit of the extracted data, and the addition result is obtained. Wherein the data of the predetermined number of bits is output as a calculation target based on the most significant bit of the data.
【請求項10】 請求項6乃至9のいずれかにおいて、 前記グループスケールファクタ及び前記ブロックスケー
ルファクタを記憶するための第2記憶手段を備え、 前記制御手段は、前記グループスケールファクタ及び前
記ブロックスケールファクタを演算データと対応付けて
前記第2記憶手段に記憶し、 前記記憶手段の演算データに対して再度演算を行うとき
は、対応するグループスケールファクタ及びブロックス
ケールファクタを前記第2記憶手段から読み出し、前記
データブロックの各データグループごとに、前記データ
グループの演算データをそれぞれ前記各計算ユニットの
第1スケーリング手段に振り分け、前記データグループ
のグループスケールファクタと前記ブロックスケールフ
ァクタとの差分からなるスケールファクタを前記各計算
ユニットの第1スケーリング手段に与えるようになって
いることを特徴とするデータ演算処理装置。
10. The apparatus according to claim 6, further comprising: a second storage unit configured to store the group scale factor and the block scale factor, wherein the control unit controls the group scale factor and the block scale factor. Is stored in the second storage means in association with the calculation data, and when the calculation is performed again on the calculation data in the storage means, the corresponding group scale factor and block scale factor are read from the second storage means, For each data group of the data block, the operation data of the data group is distributed to the first scaling means of each of the calculation units, and a scale factor including a difference between the group scale factor of the data group and the block scale factor is calculated. Said A data processing unit, which is provided to a first scaling unit of each calculation unit.
【請求項11】 請求項6乃至10のいずれかにおい
て、 前記スケールファクタ算出手段は、前記演算手段からの
演算データの冗長なビット数を算出し、これをスケール
ファクタとして算出するようになっていることを特徴と
するデータ演算処理装置。
11. The scale factor calculating means according to claim 6, wherein the scale factor calculating means calculates the number of redundant bits of the operation data from the operation means, and calculates this as a scale factor. A data processing device characterized by the above-mentioned.
【請求項12】 請求項11において、 前記演算手段は、固定小数点演算器であり、 前記第1スケーリング手段は、与えられたスケールファ
クタに相当するシフト量で、データに対してビットシフ
トを行い、 前記第2スケーリング手段は、与えられた他のスケール
ファクタに相当するシフト量で、前記演算手段からの演
算データに対してビットシフトを行うようになっている
ことを特徴とするデータ演算処理装置。
12. The arithmetic unit according to claim 11, wherein the arithmetic unit is a fixed-point arithmetic unit, and the first scaling unit performs a bit shift on the data by a shift amount corresponding to a given scale factor. The data operation processing device according to claim 1, wherein said second scaling means performs a bit shift on operation data from said operation means by a shift amount corresponding to another given scale factor.
【請求項13】 請求項6乃至12のいずれかにおい
て、 前記演算手段は、前記第1スケーリング手段からのデー
タと所定の係数との積和を演算する積和演算器であるこ
とを特徴とするデータ演算処理装置。
13. The arithmetic unit according to claim 6, wherein the arithmetic unit is a product-sum arithmetic unit that calculates a product sum of data from the first scaling unit and a predetermined coefficient. Data processing unit.
【請求項14】 1又は複数のデータを含んでデータグ
ループを構成し、さらに複数のデータグループを含んで
データブロックを構成し、前記データブロック単位でデ
ータを処理するコンピュータ実行可能なプログラムであ
って、 前記データグループの各データに対して演算を行い、そ
れら演算データのうち絶対値が最大となるもののスケー
ルファクタをグループスケールファクタとして検出し、
検出したグループスケールファクタに基づいて前記各演
算データに対してスケーリングを行うこれら一連の処理
を、前記データブロックの各データグループごとに行
い、さらに、検出したグループスケールファクタのうち
絶対値が最大となる演算データに対応するものをブロッ
クスケールファクタとして検出し、 前記スケーリングした演算データに対して再度演算を行
うときは、その演算の前に、前記データグループの各演
算データに対して当該データグループのグループスケー
ルファクタ及び前記ブロックスケールファクタに基づい
てスケーリングを行い、スケーリングしたそれら演算デ
ータに対してデータの丸め処理を行うようになっている
ことを特徴とするデータ演算処理プログラム。
14. A computer-executable program for forming a data group including one or a plurality of data, forming a data block including a plurality of data groups, and processing data in units of the data block. Performing an operation on each data of the data group, and detecting a scale factor of the operation data having a maximum absolute value as a group scale factor;
These series of processes for scaling each of the operation data based on the detected group scale factor are performed for each data group of the data block, and further, the absolute value of the detected group scale factor is maximized. When the data corresponding to the operation data is detected as a block scale factor, and the operation is performed again on the scaled operation data, before the operation, each operation data of the data group is subjected to a group of the data group. A data operation processing program for performing scaling based on a scale factor and the block scale factor, and performing a data rounding process on the scaled operation data.
【請求項15】 データを記憶するための記憶手段を有
するコンピュータに対して、1又は複数のデータを含ん
でデータグループを構成し、さらに複数のデータグルー
プを含んでデータブロックを構成し、前記データブロッ
ク単位でデータを処理させるプログラムであって、 与えられたスケールファクタに基づいてデータに対して
スケーリングを行う第1スケーリング手段、前記第1ス
ケーリング手段からのデータに対して演算を行う演算手
段、前記演算手段からの演算データのスケールファクタ
を算出するスケールファクタ算出手段、及び与えられた
他のスケールファクタに基づいて前記演算手段からの演
算データに対してスケーリングを行う第2スケーリング
手段として実現される処理を前記各データグループごと
に実行させるためのプログラムと、 前記各データグループに対応するスケールファクタ算出
手段で算出したスケールファクタのうち絶対値が最大と
なる演算データに対応するものをグループスケールファ
クタとして検出するグループスケールファクタ検出手
段、前記グループスケールファクタ検出手段で検出した
グループスケールファクタのうち絶対値が最大となる演
算データに対応するものをブロックスケールファクタと
して検出するブロックスケールファクタ検出手段、及び
データ処理のための制御を行う制御手段として実現され
る処理を実行させるためのプログラムとを備え、 前記制御手段は、前記データブロック単位でデータを前
記記憶手段から読み出し、前記データブロックの各デー
タグループごとに、前記データグループのデータをそれ
ぞれ前記各データグループに対応する第1スケーリング
手段に振り分け、前記グループスケールファクタ検出手
段で検出したグループスケールファクタを前記各データ
グループに対応する第2スケーリング手段に与え、前記
各データグループに対応する第2スケーリング手段から
の演算データを前記記憶手段に格納し、 前記記憶手段の演算データに対して再度演算を行うとき
は、前記データブロックの各データグループごとに、前
記データグループの演算データをそれぞれ前記各データ
グループに対応する第1スケーリング手段に振り分ける
とともに、前記データグループのグループスケールファ
クタと前記ブロックスケールファクタとの差分からなる
スケールファクタを前記各データグループに対応する第
1スケーリング手段に与え、 前記第1スケーリング手段は、与えられたスケールファ
クタに基づいてデータに対してスケーリングを行い、ス
ケーリングしたデータに対してデータの丸め処理を行う
ようになっていることを特徴とするデータ演算処理プロ
グラム。
15. A computer having storage means for storing data, a data group including one or a plurality of data, and a data block including a plurality of data groups. A program for processing data in block units, wherein the first scaling means performs scaling on the data based on a given scale factor; the calculating means performs an operation on data from the first scaling means; Processing realized as a scale factor calculating means for calculating a scale factor of operation data from the operation means, and a second scaling means for scaling the operation data from the operation means based on another given scale factor Is executed for each data group. Group scale factor detecting means for detecting, as a group scale factor, a scale factor calculated by the scale factor calculating means corresponding to each of the data groups, the one corresponding to the operation data having the largest absolute value, and the group scale factor It is realized as a block scale factor detecting means for detecting, as a block scale factor, a data corresponding to the operation data having the largest absolute value among the group scale factors detected by the detecting means, and a control means for performing control for data processing. A program for executing a process, wherein the control unit reads data from the storage unit in units of the data block, and for each data group of the data block, stores the data of the data group in each of the data blocks. And assigns the group scale factor detected by the group scale factor detecting means to the second scaling means corresponding to each data group, and the second scaling means corresponding to each data group. When the operation data from the storage unit is stored in the storage unit, and the operation is performed again on the operation data in the storage unit, the operation data of the data group is stored in each of the data groups for each data group of the data block. And assigning a scale factor consisting of a difference between a group scale factor of the data group and the block scale factor to the first scaling means corresponding to each data group, A data calculation processing program for performing scaling on data based on a given scale factor, and performing data rounding processing on the scaled data.
JP2001107900A 2001-04-06 2001-04-06 Data arithmetic processing apparatus and data arithmetic processing program Expired - Fee Related JP3613466B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001107900A JP3613466B2 (en) 2001-04-06 2001-04-06 Data arithmetic processing apparatus and data arithmetic processing program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001107900A JP3613466B2 (en) 2001-04-06 2001-04-06 Data arithmetic processing apparatus and data arithmetic processing program

Publications (2)

Publication Number Publication Date
JP2002304288A true JP2002304288A (en) 2002-10-18
JP3613466B2 JP3613466B2 (en) 2005-01-26

Family

ID=18960141

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001107900A Expired - Fee Related JP3613466B2 (en) 2001-04-06 2001-04-06 Data arithmetic processing apparatus and data arithmetic processing program

Country Status (1)

Country Link
JP (1) JP3613466B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101874237A (en) * 2007-10-30 2010-10-27 Arm有限公司 Apparatus and method for performing magnitude detection for arithmetic operations
KR20220041962A (en) * 2015-05-21 2022-04-01 구글 엘엘씨 Vector computation unit in a neural network processor

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101874237A (en) * 2007-10-30 2010-10-27 Arm有限公司 Apparatus and method for performing magnitude detection for arithmetic operations
JP2011501310A (en) * 2007-10-30 2011-01-06 アーム・リミテッド Apparatus and method for performing magnitude detection for arithmetic operations
KR20220041962A (en) * 2015-05-21 2022-04-01 구글 엘엘씨 Vector computation unit in a neural network processor
KR102516092B1 (en) * 2015-05-21 2023-03-29 구글 엘엘씨 Vector computation unit in a neural network processor
US11620508B2 (en) 2015-05-21 2023-04-04 Google Llc Vector computation unit in a neural network processor
US12014272B2 (en) 2015-05-21 2024-06-18 Google Llc Vector computation unit in a neural network processor

Also Published As

Publication number Publication date
JP3613466B2 (en) 2005-01-26

Similar Documents

Publication Publication Date Title
US6327605B2 (en) Data processor and data processing system
JP2651267B2 (en) Arithmetic processing device and arithmetic processing method
KR100291383B1 (en) Module calculation device and method supporting command for processing digital signal
US8990282B2 (en) Apparatus and method for performing fused multiply add floating point operation
US20210349692A1 (en) Multiplier and multiplication method
US6138135A (en) Propagating NaNs during high precision calculations using lesser precision hardware
CN107305484B (en) Nonlinear function operation device and method
JP3736741B2 (en) Data processing unit
CN111008003B (en) Data processor, method, chip and electronic equipment
TWI774093B (en) Converter, chip, electronic equipment and method for converting data types
WO2010051298A2 (en) Instruction and logic for performing range detection
CN111381808B (en) Multiplier, data processing method, chip and electronic equipment
CN112835551A (en) Data processing method for processing unit, electronic device, and computer-readable storage medium
TW202319909A (en) Hardware circuit and method for multiplying sets of inputs, and non-transitory machine-readable storage device
JPH09212337A (en) Floating-point arithmetic processor
CN112711440A (en) Converter, chip, electronic device and method for converting data type
JPH0250492B2 (en)
JPH09146924A (en) Method and device for arithmetic, and microprocessor
CN112988110A (en) Floating point processing device and data processing method
US20220075598A1 (en) Systems and Methods for Numerical Precision in Digital Multiplier Circuitry
JP2002304288A (en) Data processing device and program
CN113031915B (en) Multiplier, data processing method, device and chip
CN110647307B (en) Data processor, method, chip and electronic equipment
JP2002318792A (en) Apparatus and program for data arithmetic processing
JP2508286B2 (en) Square root calculator

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040322

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040921

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20041021

R150 Certificate of patent (=grant) or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20081105

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20081105

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20091105

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20091105

Year of fee payment: 5

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

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

Free format text: PAYMENT UNTIL: 20101105

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20101105

Year of fee payment: 6

R370 Written measure of declining of transfer procedure

Free format text: JAPANESE INTERMEDIATE CODE: R370

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

Free format text: PAYMENT UNTIL: 20101105

Year of fee payment: 6

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

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

Free format text: PAYMENT UNTIL: 20101105

Year of fee payment: 6

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20101105

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20111105

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20111105

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20121105

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20121105

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20131105

Year of fee payment: 9

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

LAPS Cancellation because of no payment of annual fees