JPS5968058A - Floating point multiplier - Google Patents

Floating point multiplier

Info

Publication number
JPS5968058A
JPS5968058A JP57178494A JP17849482A JPS5968058A JP S5968058 A JPS5968058 A JP S5968058A JP 57178494 A JP57178494 A JP 57178494A JP 17849482 A JP17849482 A JP 17849482A JP S5968058 A JPS5968058 A JP S5968058A
Authority
JP
Japan
Prior art keywords
precision data
data
multiplication
double
result
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.)
Pending
Application number
JP57178494A
Other languages
Japanese (ja)
Inventor
Shigeo Abe
阿部 重夫
Tadaaki Bando
忠秋 坂東
Masao Takahashi
高橋 政雄
Hidekazu Matsumoto
松本 秀和
Hideyuki Hara
秀幸 原
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP57178494A priority Critical patent/JPS5968058A/en
Publication of JPS5968058A publication Critical patent/JPS5968058A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/52Multiplying; Dividing
    • G06F7/523Multiplying only
    • G06F7/53Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel
    • G06F7/5324Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel partitioned, i.e. using repetitively a smaller parallel parallel multiplier or using an array of such smaller multipliers

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Complex Calculations (AREA)

Abstract

PURPOSE:To obtain a single-precision data multiplication result speedily with high precision eventually as the multiplication result of double-precision data, by arraying addition results and multiplication results in double-precision data format. CONSTITUTION:Multiplication data is inputted to a multiplier 10 by a 32-bit multiplier left input signal bus 14 and a 32-bit multiplier left input signal bus 15. The 32 upper bits of the multiplication result is outputted to an adder left input signal bus 12 and a register file through buses 16, 21, and 18, and the 32 lower bits, on the other hand, are outputted to an adder 11 through a signal line 22 as the 32 left input bits. Input to the adder 11 performed through buses 12 and 13. The 32 upper bits of the addition result are sent out to the register file and an adder left input signal bus 13 through the bus 16 and signal lines 17 and 20, and the 32 lower bits are inputted as a left input directly to the adder 11 through a signal line 19.

Description

【発明の詳細な説明】 〔発明の利用分野〕 本発明は、フローティング演算回路に係り、特に単精度
データの乗算結果を倍N度のデータ形式で出力するベク
トル演算の高速実行に好適な70−ティング乗算器に関
するものである。
DETAILED DESCRIPTION OF THE INVENTION [Field of Application of the Invention] The present invention relates to a floating arithmetic circuit, and in particular to a floating arithmetic circuit that is suitable for high-speed execution of vector arithmetic that outputs the multiplication result of single-precision data in a data format of times N degrees. It concerns multipliers.

〔従来技術〕[Prior art]

フローティングデータの乗算を計算機で行なう場合、関
数演算や内積演算などにおいては入力データが単精度デ
ータであってもその結果を倍精度データとして得ること
が精度を確保するうえで必要な場合が往々にしであるが
、従来にあっては結果が迅速に得られなかったり、迅速
に得られるにしても精度が十分でないというのが実状で
ある。
When multiplying floating data using a computer, it is often necessary to obtain the result as double-precision data in order to ensure accuracy, even if the input data is single-precision data, such as in function operations or inner product operations. However, the reality is that with conventional methods, results cannot be obtained quickly, or even if results can be obtained quickly, the accuracy is not sufficient.

例えば指数部が16進のべき乗で表現され、単精度と倍
精度の指数部でのビット数が同一であるデータフォーマ
ットを採用している計算機においては、単精度データの
まま乗算を行ないその結果を倍精度データとして得るこ
とは容易となっている。
For example, in a computer that uses a data format in which the exponent part is expressed as a hexadecimal power and the number of bits in the exponent part is the same for single precision and double precision, the multiplication is carried out as single precision data and the result is It is easy to obtain double precision data.

しかし力から、16進のべき乗で指数部が表現される場
合には、仮数部を正規化した場合でも仮数部の先頭3ビ
ツト内にOが生じる場合があることから、仮数部を表現
するビット数分だけの精度が得られないものとなってい
る。このため指数部を2のべき乗で表現し、且つ倍精度
である場合には表現し得る数の範囲をINK拡大すべく
単精度の指数部よりはビット長が大とされたフォーマッ
トを採用することが行なわれている。この例としては例
えば、IEEE Computer marCh 19
8L I)I)51−62”A propoaed 5
tandard for BinaryFloatin
g−point Arithmetic”で開示されて
いるIEEE  標準フォーマットが挙げられる。しか
しながら、これらのフォーマットによる場合は単精度と
倍精度の指数部でのビット長が異なることから、単精度
データは倍精度データに変換されなければならないもの
となっている。即ち、単精度データの演算結果を結果的
−倍精度データとして得るためには単精度データは演算
に先立って先ず倍精度データに一旦変換される必要があ
り、しかる後倍精度演算が行なわれるというものである
However, if the exponent is expressed as a hexadecimal power, O may occur in the first 3 bits of the mantissa even if the mantissa is normalized, so the bits that represent the mantissa It is not possible to obtain an accuracy of only a few minutes. For this reason, the exponent part is expressed as a power of 2, and in the case of double precision, a format with a larger bit length than the single precision exponent part is adopted in order to expand the range of numbers that can be expressed. is being carried out. An example of this is IEEE Computer marCh 19
8L I) I) 51-62"A propoaed 5
standard for BinaryFloatin
One example is the IEEE standard format disclosed in "g-point Arithmetic".However, in these formats, the bit lengths in the exponent part of single precision and double precision are different, so single precision data cannot be converted into double precision data. In other words, in order to obtain the result of an operation on single-precision data as double-precision data, the single-precision data must first be converted to double-precision data before the operation. After that, double-precision arithmetic is performed.

しかし、このようにして演算を行なう場合は変換処理や
倍精度乗算処理に多くの時間を要することになり、著し
く性能が低下することとなるものである。
However, when performing calculations in this manner, a lot of time is required for conversion processing and double precision multiplication processing, resulting in a significant drop in performance.

〔発明の目的〕[Purpose of the invention]

よって本発明の目的は、単精度と倍精度の指数部でのビ
ット数が異なる場合に、単精度データの乗算結果が結果
的に倍精度データとして迅速に、しかも精度良好にして
得られるフローティング乗算器を供するにある。
Therefore, an object of the present invention is to perform floating multiplication in which, when the number of bits in the exponent parts of single precision and double precision differ, the multiplication result of single precision data can be obtained as double precision data quickly and with good accuracy. It's about offering the utensils.

〔発明の概要〕[Summary of the invention]

この目的のため本発明は、単精度データにおける指数部
の加算演算、仮数部の乗算演算を行なうようにするが、
その際その加算結果は乗算結果如何によって補正される
ようになしたものであり、このようにして得た加算結果
および乗算結果を倍精度データ形式に配列することによ
って結果的に単精度データ乗算結果を倍精度データの乗
算結果として得るようにしたものである。
For this purpose, the present invention performs an addition operation on the exponent part and a multiplication operation on the mantissa part in single-precision data.
At that time, the addition result is corrected depending on the multiplication result, and by arranging the addition result and multiplication result obtained in this way in double precision data format, the result is the single precision data multiplication result. is obtained as the result of multiplication of double precision data.

〔発明の実施例〕[Embodiments of the invention]

以下、本発明を第1図から第13図によシ説明する。 The present invention will be explained below with reference to FIGS. 1 to 13.

先ず第1図から第4図によシ本発明に係るプロセッサの
概要について説明する。第1図はその全体構成を示すが
、これによるとホス)(HO8T)コンピュータ1はイ
ンタ7工イス部2を介し演算ユニット3、レジスタファ
イル4、メモリ部5およびアドレス演算部6、更にはマ
イクロプログラムコントローラ7に接続されており、マ
イクロプログラム内容が可変とされたマイクロプログラ
ムコントローラ7はホストコンピュータ1による制御下
にそのマイクロプログラムを実行することによって演算
ユニット3やアドレス演算部6などに制御タイミング信
号やアドレス信号などを出力するものとなっている。こ
のようにしてなるプロセッサの構成は特に新規なもので
はないが、本発明はその構成における演算ユニットの一
部を構成する乗算器に関するものである。
First, an overview of the processor according to the present invention will be explained with reference to FIGS. 1 to 4. FIG. 1 shows its overall configuration, and according to this, a host (HO8T) computer 1 is connected to an arithmetic unit 3, a register file 4, a memory section 5, an address arithmetic section 6, and a microprocessor via an interface section 2. The microprogram controller 7, which is connected to a program controller 7 and whose microprogram contents are variable, sends control timing signals to the arithmetic unit 3, address arithmetic section 6, etc. by executing the microprogram under the control of the host computer 1. It outputs address signals, etc. Although the configuration of a processor constructed in this manner is not particularly new, the present invention relates to a multiplier that constitutes a part of the arithmetic unit in this configuration.

第2図はその演算ユニットの構成を示したものであり、
図示の如く32ビット乗算器1oと64ビツト加算器1
1とから主に構成されるようになっている。このうち乗
算器1oは4段のステージ回路10−1〜10−4より
なるパイプライン乗算器として構成され、また、加算器
11は3段のステージ回路11−1〜11−3よシなる
パイプライン加算器として構成され例えば米国特許第4
、075.704号で例示されているようなパイプライ
ン加算器とされる。乗算器1oについては後に詳述する
ところであるが、乗算器1oへの乗算データの入力は3
2ビット乗算器右入力信号バス14および32ビット乗
算器左入力信号バス15より行なわれる。また、その出
方である乗算結果のうち上位32ビツトは16ピツトデ
ータバス16の他、信号線21.18によってそれぞれ
32ビット加算器右入力信号バス12、レジスタファイ
ルに送出される一方、その下位32ビツトは信号線22
によって加算器J1に圧入力下32ビットとして入力さ
れるようになっている。一方、加算器11への加算デー
タの入力は単精度データの場合は勿論のこと、倍精度デ
ータが2度に分けて入力される場合も原則として加算6
右入力信号バス12および32ピット加X6左入力信号
バス13を介して行なわれる。但し、倍精度データの場
合に乗算器10より圧入力下32ビットが、加算器11
より圧入力下32ビットが与えられる場合には右入力上
32ビツト、左入力上32ビツトのみが加算6右入力信
号バス12および加算器在入力信号バス13より入力さ
れるようになっている。
Figure 2 shows the configuration of the calculation unit.
As shown in the figure, a 32-bit multiplier 1o and a 64-bit adder 1
It is mainly composed of 1. Of these, the multiplier 1o is configured as a pipeline multiplier consisting of four stage circuits 10-1 to 10-4, and the adder 11 is configured as a pipeline multiplier consisting of four stage circuits 11-1 to 11-3. For example, U.S. Pat.
, No. 075.704. The multiplier 1o will be described in detail later, but the multiplication data input to the multiplier 1o is
A 2-bit multiplier right input signal bus 14 and a 32-bit multiplier left input signal bus 15 are provided. In addition, the upper 32 bits of the multiplication result are sent to the 32-bit adder right input signal bus 12 and the register file by signal lines 21 and 18 in addition to the 16-bit data bus 16. The lower 32 bits are signal line 22
This input signal is input to the adder J1 as the lower 32 bits of the pressure input. On the other hand, addition data is input to the adder 11 not only in the case of single-precision data, but also in the case of double-precision data being input in two steps.
This is done via a right input signal bus 12 and a 32-pit plus X6 left input signal bus 13. However, in the case of double precision data, the lower 32 bits input from the multiplier 10 are input to the adder 11.
When the lower 32 bits of the pressure input are given, only the upper 32 bits of the right input and the upper 32 bits of the left input are input from the adder 6 right input signal bus 12 and the adder input signal bus 13.

また、その出力である加算結果のうち上位32ビツトは
データバス16の他、信号線17.20によってそれぞ
れレジスタファイル、加算器在入力信号バス13に送出
される一方、その下位32ビツトは信号線19によって
左入力として直接加算器11に入力されるようになって
いる。
In addition, the upper 32 bits of the addition result that is the output are sent to the register file and the adder input signal bus 13 by signal lines 17 and 20 in addition to the data bus 16, while the lower 32 bits are sent to the signal line 17 and 20, respectively. 19, it is directly input to the adder 11 as a left input.

次に第3図によりレジスタファイルについて説明すれば
、レジスタファイル4は主にFIFO(1;”1rst
−(n、 pirst−Qut ) vラスタ31と2
ポートレジスタ33とから構成されるようになっている
。Ii’IFOレジスタ31へのデータの書込は信号i
17.18からの加算器出力、乗算器出力の何れかをセ
レクタ30で選択したうえ1ビット書込信号WEを1”
の状態におくことによって、また、FIFOレジスタ3
1からのデータの加算器右入力佃号バス12、加算器在
入力信号バス13への読出は1ビット読出信号R1Eを
1”の状態におくことによって行なわれるようになって
いるものである。また、2ポートレジスタ33へのデー
タの書込は信号線17.18からの加算器出力、乗算器
出力の何れか、またはデータバス16上のデータがセレ
クタ32で選択されたうえ5ビット書込アドレス信号W
Aによって指定されたアドレスに書込されるようになっ
ている。2ポートレジスタ33からのデータの続出は筐
た5ビット読出アドレス信号RA1.FtA2によって
いる。読出アドレス信号R,AIによって読出されたデ
ータは加算益左入力信号パス13および乗算器片入力信
号バス15に、また、読出アドレス信号R,A2によっ
て読出されたデータは加算6右入力信号バス12および
乗算6右入力信号バス14に読み出されるようになって
いるものである。
Next, to explain the register file with reference to FIG. 3, the register file 4 is mainly FIFO (1; "1rst
-(n, first-Qut) v raster 31 and 2
It is composed of a port register 33. Ii' Data is written to the IFO register 31 using the signal i.
17. Select either the adder output or the multiplier output from 18 with the selector 30, and then set the 1-bit write signal WE to 1"
By placing the FIFO register 3 in the state of
Reading of data from 1 to the adder right input number bus 12 and adder present input signal bus 13 is performed by setting the 1-bit read signal R1E to the 1'' state. Also, data is written to the 2-port register 33 by selecting either the adder output or multiplier output from the signal lines 17 and 18, or the data on the data bus 16 by the selector 32, and then writing 5 bits. Address signal W
It is written to the address specified by A. The successive output of data from the 2-port register 33 is triggered by a 5-bit read address signal RA1. By FtA2. The data read by the read address signals R, AI is sent to the adder left input signal path 13 and the multiplier piece input signal bus 15, and the data read by the read address signals R, A2 is sent to the adder 6 right input signal bus 12. and the multiplication 6 right input signal bus 14.

最後にメモリ部5およびアドレス演算部6について第4
図により説明すれば、メモリ部5は2つの同一構成のメ
モリ(I)41およびメモリ@45よシなりその周辺回
路構成も全く同様となっている。
Finally, the fourth section regarding the memory section 5 and address calculation section 6.
To explain with reference to the figure, the memory unit 5 is composed of two identically configured memories (I) 41 and 45, and their peripheral circuit configurations are also exactly the same.

即ち、メモ1J41.45へのデータの書込はデータバ
ス16上のデータをメモリデータライトレジスタ42.
46にセットした状態でメモリアドレスレジスタ43.
47より書込アドレス信号を与えることによって行なわ
れるようになっている。
That is, writing data to the memo 1J41.45 transfers the data on the data bus 16 to the memory data write register 42.
46, the memory address register 43.
This is done by applying a write address signal from 47.

メモリアドレスレジスタ43.47は後述するアドレス
演算部6からのアドレス信号を保持し必要な場合には保
持されているアドレス信号をインク(9) リメントしたりデクリメントするようになっている。ま
た、メモ1J41,45からのデータの続出はメモリア
ドレスレジスタ43.47よ、[出アドレス信号を与え
ることによって行なわれる。そのアドレス信号によって
指定されたアドレスより読み出されたデータはメモリデ
ータリードレジスタ40.44を介しアドレス演算部6
に出力される他、既述の信号バス12〜15や信号線4
8゜49を介してデータバス16上に出力可とされるよ
うにしてなる。次にアドレス演(資)部6について説明
すれば、アドレス演算部6は2ボートレジスタ51およ
びALU (数値論理演算部)53を含むものとなって
いる。このうち2ボートレジスタ51は4ビットアドレ
ス信号WKI、WK2に対応して2つの続出ボートを有
するものとなっておシ、また、2ボートレジスタ51へ
のデータの書込はALU53出力、データバス上のデー
タの何れかをセレクタ50によって選択したうえアドレ
ス信号WKIによって1マシンサイクルの後半に行なわ
れるものとなっている。2ボートレジスタ(10) 51の何れか一方の読出ボートからの読出データは直接
A、LU51に右入力として入力されるが、左入力はメ
モリデータリードレジスタ40.44からのメモリ続出
データの何れか、捷たけ2ボートレジスタ51の他方の
読出ボートからの続出データをセレクタ52によって選
択したものとされる。ALU51はそれら左入力、右入
力のデータにもとづき所定の演算を行なうが、その演算
結果はメモリアドレスレジスタ43.47や2ボートレ
ジスタ51にセット町となっているものである。
The memory address registers 43 and 47 hold address signals from the address calculation section 6, which will be described later, and increment or decrement the held address signals when necessary. Further, successive output of data from the memo 1J41, 45 is performed by applying an [output address signal] to the memory address registers 43, 47. The data read from the address specified by the address signal is sent to the address calculation unit 6 via the memory data read registers 40 and 44.
In addition to being output to the signal buses 12 to 15 and the signal line 4 mentioned above,
The data can be output onto the data bus 16 via the 8°49. Next, the address calculation section 6 will be explained. The address calculation section 6 includes a two-vote register 51 and an ALU (numerical logic operation section) 53. Of these, the 2-vote register 51 has two successive votes corresponding to the 4-bit address signals WKI and WK2. Also, data is written to the 2-vote register 51 via the ALU 53 output and the data bus. The selector 50 selects one of the data and the address signal WKI is used in the second half of one machine cycle. The read data from either read port of the 2-boat register (10) 51 is directly input to A, LU51 as the right input, but the left input is either the memory successive data from the memory data read register 40 or 44. , it is assumed that the successive data from the other read port of the 2nd port register 51 is selected by the selector 52. The ALU 51 performs predetermined calculations based on the left and right input data, and the results of the calculations are set in the memory address registers 43, 47 and the 2-board register 51.

なお、演算ユニットやアドレス演算部などでの動作はマ
イクロプログラムコントローラに格納されているマイク
ロプログラムの1語によって規定されるようになってい
る。また、演算ユニットやレジスタファイルなどからの
信号バスへのデータ出力も何れか1つのみしか選択され
ないようになっている。
Note that the operations in the arithmetic unit, address arithmetic section, etc. are defined by one word of the microprogram stored in the microprogram controller. Furthermore, only one of the data outputs from the arithmetic unit, register file, etc. to the signal bus is selected.

さて、本発明によるフローティング乗算器を第5図によ
シ説明する。第5図は第2図における乗算器の構成を具
体的に示したものであるが、これ(11) によると全体は符号演算部分、指数演算部分および仮数
演算部分よりなるものとなっている。先ず第5図を具体
的に説明する前に単精度データ、倍精度データのデータ
フォーマットを第6図(a)、(b)により説明してお
く。第6図(a)、Φ)はそれぞれ単精度データ、倍精
度データのフォーマットを示すが、これによると単精度
データは全体として32ビツトよりなり符号81指数E
8、仮数Fgにはそれぞれ1ビツト、8ビツト、23ビ
ツトが割当され、しか(〜で単精度データは式(1)に
示すデータを表わすものとなっている。
Now, the floating multiplier according to the present invention will be explained with reference to FIG. FIG. 5 specifically shows the configuration of the multiplier in FIG. 2, and according to (11), the entire multiplier consists of a sign operation section, an exponent operation section, and a mantissa operation section. First, before specifically explaining FIG. 5, the data formats of single-precision data and double-precision data will be explained using FIGS. 6(a) and (b). Figures 6(a) and Φ) show the formats of single-precision data and double-precision data, respectively. According to these, single-precision data consists of 32 bits as a whole and has a sign of 81 and an exponent E.
8. 1 bit, 8 bits, and 23 bits are assigned to the mantissa Fg, respectively, and the single-precision data represents the data shown in equation (1).

F!g−Bg 単精度データミ(−1,)’・2    ・1コFs・
・(1)但し、Bsは指数E8のバイアス分を、また、
Sけ1”か0”の値をとり”1”である場合にはその単
精度データは負のデータであることを、0”の場合には
正のデータであることを示すようになっている。
F! g-Bg Single precision data mi (-1,)'・2 ・1 piece Fs・
・(1) However, Bs is the bias of index E8, and
The value of S is 1" or 0", and when it is "1", it indicates that the single-precision data is negative data, and when it is 0", it indicates that it is positive data. There is.

また、倍精度データは全体が64ビツトよシなシ符号S
1指数ED、仮数Fnにはそれぞれ1ビツト、11ビツ
ト、52ビツトが割当され単精度(12) データの場合と同様にその倍精度データは式(2)に示
すデータを表わすものとなっている。
Also, double-precision data is entirely a 64-bit code S.
1 bit, 11 bits, and 52 bits are assigned to 1 exponent ED and mantissa Fn, respectively, and the double precision data represents the data shown in equation (2) as in the case of single precision (12) data. .

BD−BD 倍精度データ=(−1) 8・2    ・1.FD 
・・・(2)但し、BDは指数EDのバイアス分を示し
ている。
BD-BD double precision data = (-1) 8・2 ・1. FD
...(2) However, BD indicates the bias portion of the index ED.

ここでデータの乗算の態様を考えれば、3つの場合が考
えられる。その1つは2つの単精度データを乗算しその
結果を単精度データとして得る場合である。その2は単
精度データの乗算結果を倍精度データとして得る場合で
あシ、その3は2つの倍精度データを乗算しその結果を
倍精度データとした場合である。何れの乗算態様におい
ても乗算結果が負のデータとなるか正のデータとなるか
は符号Sが同一ピット状態か否かによって直ちに知れる
ものとなっている。即ち、符号Sが同一ピット状態であ
れば乗算結果は正のデータを、同一ピット状態でなけれ
ば乗算結果は負のデータを示すことになるものである。
If we consider the aspect of data multiplication here, three cases can be considered. One of these cases is when two pieces of single-precision data are multiplied and the result is obtained as single-precision data. The second case is when the multiplication result of single-precision data is obtained as double-precision data, and the third case is when two double-precision data are multiplied and the result is made into double-precision data. In any multiplication mode, whether the multiplication result is negative data or positive data can be immediately known depending on whether the symbols S are in the same pit state or not. That is, if the codes S are in the same pit state, the multiplication result will indicate positive data, and if they are not in the same pit state, the multiplication result will indicate negative data.

問題は乗算結果における指数と仮数である。ここで2つ
の単精度データの指数をE81 z Es、とじ、しか
も乗算結果を単精(13) 度データとして得る場合を想定すると、乗算結果におけ
る指数は以下のように求められ、また変形されることに
なる。
The problem is the exponent and mantissa in the multiplication result. Here, assuming that the exponents of the two single-precision data are bound to E81 z Es and the multiplication result is obtained as single-precision (13) degree data, the exponent in the multiplication result is calculated and transformed as follows. It turns out.

(EsI Bs)+(E82−Bs) =Est +Esx −2Bs = (Esl+Esz  Els )−Bs     
   −(3)即ち、E81とE82  を加えたもの
からBsを差し引く必要があるものである。同様にして
倍精度データを乗算しその結果を倍精度データとして得
る場合にも2つの指数を加えたものからBDを差し引く
必要がある。問題は単精度データを乗算しその結果を倍
精度データで得る場合である。この場合には式(3)は
式(4)のように変形され得るから、E81とE82を
加えたものから(2Bs  BD)を差し引けばよいこ
とになる。
(EsI Bs) + (E82-Bs) = Est + Esx -2Bs = (Esl+Esz Els) - Bs
-(3) That is, it is necessary to subtract Bs from the sum of E81 and E82. Similarly, when multiplying double precision data and obtaining the result as double precision data, it is necessary to subtract BD from the sum of the two exponents. The problem is when you multiply single-precision data and get the result as double-precision data. In this case, since equation (3) can be transformed into equation (4), it is sufficient to subtract (2Bs BD) from the sum of E81 and E82.

(BslBS)+(E112  Bs)=(Esl+E
s2−2BB+Bn)BD    −(4)したがって
、何れの場合でも乗算結果における符号は直ちに、また
、指数も上記のようにして求め得るが、問題はそのよう
にして求められた指数(14) は必ずしも正しくはなく、仮数の演算結果如何によって
は補正される必要があるということである。
(BslBS)+(E112 Bs)=(Esl+E
s2-2BB+Bn) BD - (4) Therefore, in any case, the sign of the multiplication result can be immediately determined, and the exponent can also be determined as described above, but the problem is that the exponent (14) determined in this way is not necessarily This is not correct and needs to be corrected depending on the result of mantissa calculation.

例えば2つの単精度データの仮数をそれぞれ1゜F s
+ 、1.F82  とした場合その乗算結果(((1
For example, the mantissas of two single-precision data are each 1°F s
+, 1. When F82 is set, the multiplication result (((1
.

F’s、 )x(1,F’82 )))は2進表示で”
100 ”未満、′1”以上となり、乗算結果が111
、・・・・・・・・・”となったり10、・・・・・・
・・・”となる場合には、乗算結果における仮数を′1
、・・・・・・・・・”といった形にすると同時に、別
途求めておいた指数には′1”を加える必要があるとい
うわけである。なお、バイアス分B s r B oは
本発明に直接間するものではないが、指数のビット数が
固定となっている場合には、表現し得るデータの範囲が
バイアス分B81 BDによって拡張されるものとなっ
ている。
F's, )x(1,F'82))) is expressed in binary.
Less than 100", more than '1", and the multiplication result is 111
,......" or 10,...
...”, the mantissa in the multiplication result is
,...'', and at the same time, it is necessary to add '1' to the exponent that was calculated separately. Although the bias component B s r Bo is not directly related to the present invention, when the number of bits of the exponent is fixed, the range of data that can be expressed is expanded by the bias component B81 BD. It has become a thing.

さて、本発明によるフローティング乗算器の一例での構
成を第5図により説明すれば、その構成は概ね上記説明
に沿ったものとなっている。乗算されるべき2つの単精
度データあるいは倍精度データは乗算器右回力信号バス
14および乗算器左(15) 入力信号バス15より32ビット単位にフローティング
乗算器10に入力されたうえ乗算されるが、先ず符号演
算より説明すれば以下のようである。
Now, if the configuration of an example of the floating multiplier according to the present invention is explained with reference to FIG. 5, the configuration is generally in accordance with the above explanation. The two single-precision data or double-precision data to be multiplied are input to the floating multiplier 10 in units of 32 bits from the multiplier right input signal bus 14 and the multiplier left input signal bus 15, and are then multiplied. , the sign operation will be explained first as follows.

即ち、乗算されるべき2つの単精度データあるいは倍精
度データの符号Sは第6図(a)、Φ)からも判るよう
に0番目ビット位置のビット状態として示されているか
ら、そのビット状態を排他的論理和ゲート111によっ
て比較することにより容易に知れることは明らかである
。この比較結果はレジスタ112.113を介しレジス
タ114に格納されるようになっている。レジスタ11
4に格納された符号の演算結果がこの後どのように処理
されるかは後述するところである。
That is, since the sign S of the two single-precision data or double-precision data to be multiplied is shown as the bit state of the 0th bit position, as can be seen from FIG. 6(a), Φ), that bit state It is clear that this can be easily determined by comparing the values using the exclusive OR gate 111. The comparison result is stored in register 114 via registers 112 and 113. register 11
How the operation result of the code stored in 4 is processed will be described later.

次に指数演算部分について説明すれば、第6図(a) 
、 (b)に示すデータフォーマットの1金目ビット位
置より11番目ビット位置までのビット状態が指数部入
力制御回路101,102に取り込まれ所定に配列制御
されたうえで11ビツト容量のレジスタ103.104
にセットされるように麦っている。この場合指数部入力
制御回路101゜(16) 102は同一構成とされその具体的構成は第7図に示す
ところであるが、これによると入力されるデータが単精
度データであるか倍精度であるかによって配列制御は異
なるものとなっている。即ち、単精度データが入力され
る場合にはその旨を示す信号S (第6図におけるもの
と異なることに注意)によって出力ゲートが所定に制御
され、レジスタ103.104の1番目ビット位置から
3番目ビット位置には0”のビット状態が、またその4
番目ビット位置より11番目ビット位#Lまでには1番
目ビット位置から8番目ビット位置までのビット状態が
右方向に3ビット分シフトされた形で入力されたうえセ
ットされるようになっているものである。また、倍精度
データが入力される場合には結果的に1番目ビット位置
から11番目ビット位@までのビット状態はそのままレ
ジスタ103゜104の対応するビット位置にセットさ
れる。これによシ単精度データであるか倍精度データで
あるかとは無関係に指数のみが抽出され、しかもそのM
SBは揃えられるものである。このようにしく17) てレジスタ103.104にセットされた指数は次に加
算器105によって加算されるが、この加算値からは指
数に対するバイアス分が加算器107によって差し引か
れるようになっている。こむでいうバイアス分とは既述
のBs= Bnまたは2BsBoでありセレクタ106
はそのうちの何れかを乗算態様に応じて選択しているわ
けである。このようにしてバイアス分が差し引かれた加
算値はレジスタ108を介しレジスタ109にセットさ
れるが、これ以後については前の場合と同様後述すると
ころである。
Next, to explain the exponent calculation part, Fig. 6(a)
The bit states from the first bit position to the 11th bit position of the data format shown in (b) are taken into the exponent part input control circuits 101 and 102, arranged in a predetermined manner, and then stored in registers 103 and 104 with an 11-bit capacity.
The barley is set to be set. In this case, the exponent part input control circuits 101° (16) and 102 have the same configuration, and the specific configuration is shown in FIG. 7. According to this, the input data is single precision data or double precision data. Sequence control differs depending on the type. That is, when single-precision data is input, the output gate is controlled in a predetermined manner by a signal S (note that it is different from the one in FIG. 6) indicating that The bit state is 0” in the th bit position, and
From the th bit position to the 11th bit position #L, the bit states from the 1st bit position to the 8th bit position are input in a form shifted by 3 bits to the right, and then set. It is something. Furthermore, when double-precision data is input, the bit states from the 1st bit position to the 11th bit position @ are set as they are in the corresponding bit positions of the registers 103 and 104. This allows only the exponent to be extracted, regardless of whether the data is single or double precision, and the M
SB can be aligned. The exponents set in the registers 103 and 104 in this way are then added by the adder 105, but the bias amount for the exponents is subtracted by the adder 107 from this added value. The bias component referred to in this section is the already mentioned Bs = Bn or 2BsBo, and the selector 106
One of them is selected depending on the multiplication mode. The added value from which the bias has been subtracted in this manner is set in the register 109 via the register 108, and the subsequent steps will be described later as in the previous case.

さて、最後に仮数演算部分について説明すれば、この部
分においては第6図(a)、Φ)に示す仮数F8゜FD
が1. Fs、 1.−FDの形に戻されたうえ2つの
単精度データあるいは倍精度データの仮数の乗算が行な
われるようになっている。先ず乗算器右回力信号バス1
4および乗算器在入力信号バス15からの32ビット単
位の単精度データあるいは倍精度データは仮数部入力制
御回路115,116においてその仮数のみが抽出され
る。第8図はそ(18) の仮数部入力制御回路115,116の構成を示したも
のである。これによると信号S * I) L IDt
rはそれぞれ単精度データが入力される場合、倍精度デ
ータ下32ビットが入力される場合、倍精度データ上3
2ビツトが入力される場合のみ′1”の状態におかれ出
力ゲートがそれぞれの場合に応じ所定に制御されるよう
になっている。先ず単精度データが入力される場合には
そのO番目ビット位置から7番目ビット位置までのビッ
ト状態は全て0″として、また8番目ビット位置のビッ
ト状態は′1”として、更に9番目ビット位置から31
番目ビット位置までのビット状態はそのままとしてレジ
スタ117.118にセットされる。この場合8番目ビ
ット位置のビット状態を1”とおくのはFsだけでは仮
数としての用をなさないが、1.・Fsとすることによ
って初めて仮数としての意味をもつようになるからであ
る。また、倍精度データ上32ビツトが入力される場合
も同様にしてθ番目ビット位置から10査目ビット位置
までのビット状態は1″0”として、11番(19) 目ビットIffMのビット状態は1″として、12番目
ビット位置から31番目ビット位置までのビット状態は
そのままとしてレジスタ117.118にセットされる
が、倍精度データ下32ビットが入力される場合にはそ
のままレジスタ117゜118にセットされるようにな
っている。このようにしてレジスタ117,118にセ
ットされた32ビツトデータは乗算器119によって乗
算されるところとなるが、第9図はその回路構成を示し
たものである。これによると乗算器119は16ビツト
入力32ビツト出力の乗算器[201〜204よりなり
、それぞれ入力データ上位16ビツト乗算、左入力デー
タ下位16ビツトと右入力データ上位16ビツトとの乗
算、左入力データ上位16ビツトと右入力データ下位1
6ビツトとの乗算、入力データ下位16ビツト乗算を行
ない、これら4つの結果は各々レジスタ120にセット
されるようになっている。レジスタ120にセットされ
た結果は次に加算器122でセレクタ121出力と加算
されるようになっている。加算器122(20) は5人力のもので、上記4つの乗算結果についての加算
は第10図に示す組合せで64ビツト幅で行なわれるが
、セレクタ】21出力をも考慮した場合でのそれは76
ビツト幅となっている。加算器122からの加算結果は
レジスタ124にセットされるが、乗算されるべきデー
タが単精度データである場合にはその加算結果が最終的
な乗算結果として得られることになる。しかしながら、
乗算されるべきデータが倍精度データである場合は32
ビツトデータの乗算組合せは4通りあるから、単精度デ
ータの乗算に比し3マシンサイクル分だけ多くの時間を
要することになる。倍精度データの乗算の場合には下3
2ビツト乗算、下32ビットと上32ビットとの乗算、
上32ビットと下32ビットとの乗算、上32ビツト乗
算が順次行なわれつつ各乗算結果は加算器122で加算
されるが、最終的な乗算結果を得るためには各加算結果
を所定に加算することが必要となる。レジスタ124の
出力を入力とするシフタ123はそのために設けられた
ものである。単精度データの乗算(21) の場合セレクタ121の出力は勿論″O″とされるが、
倍精度データの乗算の場合にはシフタ123出力がセレ
クタ121を介し1加算入力として加算器122に入力
可とされるようになっている亀のである。シフタ123
はレジスタ124の出力をそのまま出力するか、右方向
に32ビツトシフトさせて出力するようになっている。
Now, finally, to explain the mantissa calculation part, in this part, the mantissa F8°FD shown in Fig. 6(a), Φ)
is 1. Fs, 1. -The data is returned to the FD form, and the mantissas of the two single-precision data or double-precision data are multiplied. First, multiplier right turn signal bus 1
4 and multiplier input signal bus 15 in units of 32 bits, only the mantissa thereof is extracted by mantissa input control circuits 115 and 116. FIG. 8 shows the configuration of the mantissa input control circuits 115 and 116 (18). According to this, the signal S * I) L IDt
r is the upper 3 bits of double precision data when single precision data is input, the lower 32 bits of double precision data are input, respectively.
Only when 2 bits are input, the output gate is set to '1' and the output gate is controlled in a predetermined manner depending on each case.First, when single-precision data is input, the Oth bit is The bit states from the 7th bit position to the 7th bit position are all 0'', the bit state of the 8th bit position is '1', and the bit status from the 9th bit position to 31
The bit states up to the th bit position are set in registers 117 and 118 as they are. In this case, the bit state at the 8th bit position is set to 1'' because Fs alone does not serve as a mantissa, but by setting it to 1.Fs, it becomes meaningful as a mantissa. Similarly, when 32 bits of double-precision data are input, the bit state from the θth bit position to the 10th scan bit position is set to 1″0, and the bit state of the 11th (19th) bit IffM is 1'', the bit states from the 12th bit position to the 31st bit position are set as they are in registers 117 and 118, but when the lower 32 bits of double precision data are input, they are set as they are in registers 117 and 118. It is now possible to do so. The 32-bit data thus set in registers 117 and 118 are multiplied by multiplier 119, and FIG. 9 shows the circuit configuration thereof. According to this, the multiplier 119 is a 16-bit input 32-bit output multiplier [201 to 204], each of which multiplies the upper 16 bits of the input data, multiplies the lower 16 bits of the left input data and the upper 16 bits of the right input data, and multiplies the left input data by the upper 16 bits of the right input data. Upper 16 bits of data and lower 1 of right input data
Multiplication by 6 bits and multiplication by the lower 16 bits of the input data are performed, and these four results are set in registers 120, respectively. The result set in the register 120 is then added to the output of the selector 121 in an adder 122. The adder 122 (20) is made by five people, and the addition of the above four multiplication results is performed in a 64-bit width using the combination shown in FIG.
Bit width. The addition result from the adder 122 is set in the register 124, but if the data to be multiplied is single precision data, the addition result will be obtained as the final multiplication result. however,
32 if the data to be multiplied is double precision data
Since there are four combinations of multiplication of bit data, it takes three machine cycles more time than multiplication of single precision data. In the case of multiplication of double precision data, the lower 3
2-bit multiplication, multiplication of lower 32 bits and upper 32 bits,
Multiplying the upper 32 bits by the lower 32 bits and multiplying the upper 32 bits are performed sequentially, and the results of each multiplication are added by the adder 122. In order to obtain the final multiplication result, each addition result must be added in a predetermined manner. It is necessary to do so. A shifter 123 which receives the output of the register 124 as an input is provided for this purpose. In the case of single-precision data multiplication (21), the output of the selector 121 is of course "O", but
In the case of multiplication of double precision data, the output of the shifter 123 can be input to the adder 122 as a 1 addition input via the selector 121. shifter 123
outputs the output of the register 124 as it is, or shifts it 32 bits to the right and outputs it.

即ち、先ず下32ビツト乗算が行なわれる場合にはセレ
クタ121出力はg′0”とされた状態で加算器122
で加算が行なわれる。次に下32ビットと上32ビット
との乗算が行なわれる場合にはレジスタ124出力は3
2ビツト右方向にシフトされた状態でレジスタ120の
出力と加算されるようになっている。32ビツト右方向
にシフトさせるのは桁合せのためである。この抜上32
ビットと下32ビットとの乗算が行なわれるが、この場
合にはセレクタ121の出力はレジスタ124出力その
ものとされる。これは、既に前の乗算で桁合せが済まさ
れているからである。最後に上32ビツト乗算が行なわ
れるが、この場合には再び桁合せ(22) を行なうべくレジスタ124出力は右方向に32ピツト
シフトされた状態でレジスタ10出力と加算される。こ
の加算での加算結果が倍精度データ乗算における仮数の
最終的な乗算結果として得られるものである。
That is, when the lower 32 bits are first multiplied, the selector 121 output is set to g'0'' and the adder 122
Addition is performed at Next, when the lower 32 bits are multiplied by the upper 32 bits, the register 124 output is 3.
It is added to the output of the register 120 after being shifted to the right by 2 bits. The reason for shifting 32 bits to the right is for digit alignment. This nukijo 32
The bit is multiplied by the lower 32 bits, and in this case, the output of the selector 121 is the output of the register 124 itself. This is because the digits have already been aligned in the previous multiplication. Finally, multiplication of the upper 32 bits is performed, but in this case the output of register 124 is shifted to the right by 32 pits and added to the output of register 10 in order to perform digit alignment (22) again. The result of this addition is obtained as the final multiplication result of the mantissa in double precision data multiplication.

さて、以上のようにして仮数の乗算結果が求められるが
、第11図(a)〜(d)はレジスタ124にセットさ
れる仮数の最終的な乗算結果のデータフォーマットを示
したものである。このうち、第11図(a)、(b)は
単精度データ乗算に係るものを、また、第11図(C)
、(d)は倍精度データ乗算に係るものを示している。
Now, the multiplication result of the mantissa is obtained as described above, and FIGS. 11(a) to 11(d) show the data format of the final multiplication result of the mantissa set in the register 124. Of these, Figures 11(a) and (b) relate to single-precision data multiplication, and Figure 11(C)
, (d) show those related to double-precision data multiplication.

図示の如く単精度データ乗算に係るものは16番目ビッ
ト位置か177番目ビット置に初めて1”が現われるも
のであることが判る。
As shown in the figure, it can be seen that in the case of single-precision data multiplication, 1'' appears for the first time at the 16th bit position or the 177th bit position.

因みに188番目ビット置以降のデータが小数点以下の
データとなるから、第11図(a)のように16番目ビ
ット位置に@1″が現われる場合にはその乗算結果を1
ビツト右方向にシフトさせると同時に、指数の演算結果
に1を加える操作が必要となる。これと同様にして倍精
度データ乗算に係(23) るものにおいては24番目ビット位置以降が小数点以下
のデータと々るから、第11図(C)のような場合には
上記と同様な操作が必要となる。第5図におけるセレク
タ125,127および加算器110はその操作のため
に設けられたものである。
Incidentally, since the data after the 188th bit position is the data below the decimal point, when @1'' appears at the 16th bit position as shown in Figure 11(a), the multiplication result is 1.
It is necessary to shift the bits to the right and at the same time add 1 to the result of the exponent calculation. Similarly, in the case of double-precision data multiplication (23), the data after the 24th bit position is the decimal point, so in a case like Figure 11(C), the same operation as above is performed. Is required. Selectors 125, 127 and adder 110 in FIG. 5 are provided for this operation.

セレクタ125は単精度データ乗算の際は16番目ビッ
ト位置のビット状態が、また、倍精度データ乗算データ
乗算の際には229目ビット位置のビット状態が1”で
ある場合に仮数の乗算結果を1ビツト右方向にシフトさ
せるべく機能するものである。また、セレクタ127は
単精度データ乗算の際は16番目ビット位置のビットを
、倍精度データ乗算の際には22番目ビット位置のビッ
トを選択出力するためのものであり、選択出力されたビ
ットは加算器110でレジスタ109からの指数演算結
果と加算されるようになっている。
The selector 125 selects the result of mantissa multiplication when the bit state at the 16th bit position is 1'' in single-precision data multiplication, and when the bit state at the 229th bit position is 1'' in double-precision data multiplication. It functions to shift one bit to the right. Also, the selector 127 selects the bit at the 16th bit position when performing single-precision data multiplication, and selects the bit at the 22nd bit position when performing double-precision data multiplication. The selected output bits are added to the exponent operation result from the register 109 in an adder 110.

これによシ指数の補正が行なわれるものである。This is how the index is corrected.

したがって、レジスタ114からの符号演算結果、加算
器110からの指数演算結果およびセレクタ125から
の仮数演算結果をそのときの乗算(24) 態様に応じて所定に配列し直した状態で出力するように
すれば、乗算態様に応じた乗算結果が所定のフオ、マッ
トで得られることになるものである。
Therefore, the sign operation result from the register 114, the exponent operation result from the adder 110, and the mantissa operation result from the selector 125 are rearranged in a predetermined manner according to the current multiplication (24) mode and output. Then, a multiplication result corresponding to the multiplication mode can be obtained in a predetermined format.

第12図は乗算結果を乗算態様に応じたフォーマットで
得るための出力制御回路126の構成を示した本のであ
る。これによると信号S(第6図。
FIG. 12 is a book showing the configuration of an output control circuit 126 for obtaining multiplication results in a format according to the multiplication mode. According to this, the signal S (Fig. 6).

第7図および第8図におけるものと異なることに注意)
、S’I’D、Dはそれぞれ通常の単精度データ乗算で
ある場合、単精度データの乗算結果を倍精度データで得
る場合、通常の倍精度データ乗算である場合のみ′1”
となり、また、信号OEは1”にある場合のみ乗算結果
の乗算器10外部への出力を許容するものとなっている
(Note that it is different from those in Figures 7 and 8)
, S'I'D, and D are '1' only when it is normal single-precision data multiplication, when the multiplication result of single-precision data is obtained as double-precision data, and when it is normal double-precision data multiplication, respectively.
Further, only when the signal OE is at 1'', output of the multiplication result to the outside of the multiplier 10 is allowed.

先ずSが1”である場合には信号、lj!128からの
1ビット符号演算結果は0番目ビット位首のビットとし
て出力ゲートを介し出力されるようになっている。また
、信号線129からの11ビツト指数演算結果のその4
番目ビット位置から11番目ビット位置までのビットは
1番目ビット位置から8番目ビット位置のビットとして
出力される。
First, when S is 1'', the signal, the 1-bit sign operation result from lj!128, is output as the 0th bit position bit through the output gate. Part 4 of the 11-bit exponent calculation result of
The bits from the 1st bit position to the 11th bit position are output as the bits from the 1st bit position to the 8th bit position.

(25) 更に信号線130からの仮数演算結果のその181玲目
ビット位置から40査目ビット位置までのビットは9番
目ビット位置から31′4目ビット位置のビットとして
出力され、残りの32番目ビット位置から63番目ビッ
ト位#までのビットは全て0”として出力されるように
なっている。また、STDが1”の場合は信号線128
からの符号演算結果は前の場合と同様0番目ビット位置
のビットとして出力され、信号1i!129からの指数
演算結果のその1番目ビット位置から11番目ピット位
置までのビットは1番目ビット位置から11番目ビット
位置までのビットとして出力されるようになっている。
(25) Furthermore, the bits from the 181st bit position to the 40th bit position of the mantissa operation result from the signal line 130 are output as bits from the 9th bit position to the 31'4th bit position, and the remaining 32nd All bits from the bit position to the 63rd bit position # are output as 0". Also, if STD is 1", the signal line 128
The sign operation result from 1i! is output as the bit at the 0th bit position as in the previous case, and the signal 1i! The bits from the 1st bit position to the 11th pit position of the exponent operation result from 129 are output as the bits from the 1st bit position to the 11th bit position.

信号線130からの仮数演算結果のその188番目ビッ
ト置から699番目ビット置までのビットは12番目ビ
ット位置から63番目ビット位置マでのビットとして出
力されるようになっているわけである。更にDが′1”
の場合には、信号線130からの仮数演算結果のその2
4番目ビット位置から75番目ビット位置までのビット
が12番目ビット位置から63番目ピッ(26) ト位置までのビットとして出力される他はSTDが1”
の場合と同様となっている。
The bits from the 188th bit position to the 699th bit position of the mantissa operation result from the signal line 130 are output as the bits from the 12th bit position to the 63rd bit position. Furthermore, D is '1''
In this case, the second part of the mantissa operation result from the signal line 130
STD is 1 except that the bits from the 4th bit position to the 75th bit position are output as the bits from the 12th bit position to the 63rd bit position (26).
This is the same as in the case of .

第13図はSTDが11”である場合での処理ステップ
を1ステツプ/マシンサイクルとして示すが、これより
も判るように演算データが入力されてから4マシンサイ
クルで結果が得られることになる。従来にあっては単精
度データの乗算結果を倍精度データとして出力する機能
はなく、シたがって単精度データを倍精度データに変換
してから倍精度データの乗算を行なう必要があったが、
これだと例えば所望の結果を得るまでに13マシンサイ
クルもの時間を要するものとなっている。
FIG. 13 shows the processing steps when the STD is 11'' as 1 step/machine cycle, but as can be seen from this figure, the result is obtained in 4 machine cycles after the calculation data is input. Conventionally, there was no function to output the multiplication result of single-precision data as double-precision data, so it was necessary to convert the single-precision data to double-precision data before multiplying the double-precision data.
In this case, for example, it takes as much as 13 machine cycles to obtain the desired result.

単精度データの倍精度データへの変換機能を加算器(1
1)が有する場合、2つの単精度データの倍精度データ
への変換に6マシンサイクル、更に倍精度データ乗算に
7マシンサイクル要していたものである。しかしながら
、本発明による場合は、4マシンサイクルで結果が得ら
れるから、実に3倍以上の高速化が図れるものである。
Adder (1
In case 1), it takes 6 machine cycles to convert two single-precision data to double-precision data, and further 7 machine cycles to multiply the double-precision data. However, in the case of the present invention, the result can be obtained in 4 machine cycles, so the speed can actually be increased by more than three times.

これにより例えば単精度データの内積演算を行なう場合
、第(27) 2図において乗算器入力信号バス14.15より同時に
1マシンサイクル当り1つずつ乗算器10にデータを供
給して乗算器10で単精度データ乗算を行ないその結果
を倍精度データとして得、これを信号線21.22を介
して信号線19.20からのデータと加算器11で倍精
度加算を繰り返すようにすれば、内積演算を精度落ちさ
せることなく実行することが可能となるものである。
For example, when performing an inner product operation on single-precision data, for example, data is simultaneously supplied to the multiplier 10 from the multiplier input signal buses 14 and 15 one by one per machine cycle in FIG. By performing single-precision data multiplication, obtaining the result as double-precision data, and repeating double-precision addition with data from signal lines 19 and 20 via signal lines 21 and 22 in adder 11, inner product operation can be performed. This makes it possible to perform the following without reducing accuracy.

〔発明の効果〕〔Effect of the invention〕

以上説明したように本発明は、単精度データにおける指
数部の加算結果は、仮数部の乗算結果如例によって補正
されるようにし、補正済指数部加算結果、符号演算結果
および仮数部乗算結果を倍精度データフォーマットとし
て出力可となしたものである。したがって、本発明によ
る場合は、単精度データの指数部のビット数が倍精度デ
ータの指数部のそれと異なる場合でも単精度データの乗
算結果が倍精度データフォーマットで速やかに得られ、
単精度データ、倍精度データの演算が混合していても高
速に演算が実行され得るという効果(28) がある。
As explained above, in the present invention, the addition result of the exponent part in single-precision data is corrected according to the multiplication result of the mantissa part, and the corrected exponent part addition result, sign operation result, and mantissa part multiplication result are It can be output as a double-precision data format. Therefore, according to the present invention, even if the number of bits of the exponent part of single-precision data is different from that of the exponent part of double-precision data, the multiplication result of single-precision data can be quickly obtained in the double-precision data format,
This has the effect (28) that even when operations on single-precision data and double-precision data are mixed, operations can be executed at high speed.

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

第1図は、本発明に係るプロセッサの全体構成を示す図
、第2図、第3図、第4図は、その構成における演算ユ
ニット、レジスタファイル、メモリ部・アドレス演算部
の構成をそれぞれ示す図、第5図は、本発明によるフロ
ーティング乗算器の構成をパイプライン構成として示す
図、第6図(a)。 (b)は、それぞれ単精度データ、倍精度データのフォ
ーマットを示す図、第7図、第8図は、それぞれ第5図
における指数部入力制御回路、仮数部入力制御回路の構
成を示す図、第9図は、第5図における乗算器の構成を
示す図、第10図は、その加算器での加算動作を説明す
るための図、第11図(a)、Φ)は、単精度データに
おける指数の乗算結果のデータフォーマットを、また、
第11図(C)。 (d)は、倍精度データにおける指数の乗算結果のデー
タフォーマットを示す図、第12図は、第5図における
出力制御回路の構成を示す図、第13図は、単精度デー
タの乗算結果を倍精度データとしく29) て出力する場合での処理のフローを示す図である。 101.102・・・指数部入力制御回路、103゜1
04.108,109.112〜114,117゜11
8.120,124・・・レジスタ、105゜107.
110.122・・・加算器、106,125゜127
・・・セレクタ、111・・・排他的論理和ゲート、1
15.116・・・仮数部入力制御回路、119・・・
乗算器、126・・・出力制御回路。 代理人 弁理士 秋本正実 (30) もq(2) 策I1図
FIG. 1 shows the overall configuration of the processor according to the present invention, and FIGS. 2, 3, and 4 show the configurations of the arithmetic unit, register file, memory section, and address arithmetic section in that configuration, respectively. FIG. 5 is a diagram showing the configuration of the floating multiplier according to the present invention as a pipeline configuration, FIG. 6(a). (b) is a diagram showing the format of single-precision data and double-precision data, respectively; FIGS. 7 and 8 are diagrams showing the configurations of the exponent input control circuit and the mantissa input control circuit, respectively, in FIG. 5; FIG. 9 is a diagram showing the configuration of the multiplier in FIG. 5, FIG. 10 is a diagram for explaining the addition operation in the adder, and FIG. The data format of the exponent multiplication result in
Figure 11 (C). (d) is a diagram showing the data format of the multiplication result of the exponent in double-precision data, FIG. 12 is a diagram showing the configuration of the output control circuit in FIG. 5, and FIG. 29) is a diagram showing the flow of processing when outputting as double precision data. 101.102...Exponent input control circuit, 103゜1
04.108,109.112-114,117゜11
8.120,124...Register, 105°107.
110.122...Adder, 106,125°127
...Selector, 111...Exclusive OR gate, 1
15.116... Mantissa input control circuit, 119...
Multiplier, 126...output control circuit. Agent Patent Attorney Masami Akimoto (30) Moq (2) Plan I1

Claims (1)

【特許請求の範囲】 1、指数部のビット長が異なる単精度データ、倍精度デ
ータにもとづき2つの同一精度データとの間で乗算を行
ない、単精度データ乗算結果を単精度データ形式あるい
は倍精度データ形式として、倍精度データ乗算結果を倍
精度データ形式として得るフローティング乗算器にして
、2つの同一精度データの符号を比較する回路と、上記
同一精度データ各々における指数部のみを所定状態で選
択する回路と、上記同一精度データ各々における仮数部
のみを選択する回路と、選択された指数部を加算する回
路と、選択された仮数部を乗算する回路と、仮数部乗算
結果によって指数部加算結果を補正する回路と、符号比
較結果、補正済指数部加算結果および仮数部乗算結果を
単精度データあるいは倍精度データの形式で出力制御す
る回路とからなる構成を特徴とする70−ティング乗算
器。 2、比較、選択、加算、乗算器々の結果を保持するレジ
スタが各ステージ最終段に設けられバイブライン構成と
してなる特許請求の範囲第1項記載のフローティング乗
算器。 3、指数部を加算する回路は、指数部のみを加算する回
路と、該回路からの加算結果と乗算結果出力形式に応じ
て選択されたバイアス値とを加算する回路とからなる特
許請求の範囲第1項または第2項記載の70−ティング
乗算器。
[Claims] 1. Multiplication is performed between two pieces of the same precision data based on single precision data and double precision data with different bit lengths of the exponent part, and the single precision data multiplication result is converted into single precision data format or double precision data. The data format is a floating multiplier that obtains the double-precision data multiplication result as a double-precision data format, and a circuit that compares the signs of two same-precision data and only the exponent part of each of the above-mentioned same-precision data are selected in a predetermined state. a circuit that selects only the mantissa part in each of the same precision data, a circuit that adds the selected exponent parts, a circuit that multiplies the selected mantissa parts, and a circuit that selects only the mantissa part in each of the same precision data, a circuit that multiplies the selected mantissa parts, and a circuit that calculates the result of adding the exponent part by the mantissa multiplication result. 1. A 70-ting multiplier comprising a circuit for correcting and a circuit for controlling output of a sign comparison result, a corrected exponent addition result, and a mantissa multiplication result in the form of single precision data or double precision data. 2. The floating multiplier according to claim 1, wherein a register for holding the results of comparison, selection, addition, and multipliers is provided at the final stage of each stage to form a vibe line configuration. 3. The claim that the circuit for adding the exponent part consists of a circuit for adding only the exponent part, and a circuit for adding the addition result from the circuit and a bias value selected according to the multiplication result output format. 70-Ting multiplier according to item 1 or 2.
JP57178494A 1982-10-13 1982-10-13 Floating point multiplier Pending JPS5968058A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP57178494A JPS5968058A (en) 1982-10-13 1982-10-13 Floating point multiplier

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP57178494A JPS5968058A (en) 1982-10-13 1982-10-13 Floating point multiplier

Publications (1)

Publication Number Publication Date
JPS5968058A true JPS5968058A (en) 1984-04-17

Family

ID=16049428

Family Applications (1)

Application Number Title Priority Date Filing Date
JP57178494A Pending JPS5968058A (en) 1982-10-13 1982-10-13 Floating point multiplier

Country Status (1)

Country Link
JP (1) JPS5968058A (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6126135A (en) * 1984-07-16 1986-02-05 Nec Corp Conversion circuit of floating point data
JPS6126136A (en) * 1984-07-16 1986-02-05 Nec Corp Digit justifying circuit of floating point adder
JPS61289422A (en) * 1985-06-18 1986-12-19 Panafacom Ltd Shift control system
EP0206763A2 (en) * 1985-06-19 1986-12-30 Advanced Micro Devices, Inc. Digital electronic multiplier circuits
JPH01228019A (en) * 1988-03-08 1989-09-12 Fujitsu Ltd Data processor
JPH01305424A (en) * 1988-06-03 1989-12-08 Oki Electric Ind Co Ltd Digital signal processor
JPH02294730A (en) * 1989-04-17 1990-12-05 Internatl Business Mach Corp <Ibm> Floating point arithmetic processor
JP2008212001A (en) * 2007-02-28 2008-09-18 Mitsubishi Heavy Ind Ltd Tool for short term raising and method for raising of plant seedling, plant seedling set for fix planting, and seedling planting method

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6126135A (en) * 1984-07-16 1986-02-05 Nec Corp Conversion circuit of floating point data
JPS6126136A (en) * 1984-07-16 1986-02-05 Nec Corp Digit justifying circuit of floating point adder
JPH0379735B2 (en) * 1984-07-16 1991-12-19 Nippon Electric Co
JPS61289422A (en) * 1985-06-18 1986-12-19 Panafacom Ltd Shift control system
EP0206763A2 (en) * 1985-06-19 1986-12-30 Advanced Micro Devices, Inc. Digital electronic multiplier circuits
JPH01228019A (en) * 1988-03-08 1989-09-12 Fujitsu Ltd Data processor
JPH01305424A (en) * 1988-06-03 1989-12-08 Oki Electric Ind Co Ltd Digital signal processor
JPH02294730A (en) * 1989-04-17 1990-12-05 Internatl Business Mach Corp <Ibm> Floating point arithmetic processor
JP2008212001A (en) * 2007-02-28 2008-09-18 Mitsubishi Heavy Ind Ltd Tool for short term raising and method for raising of plant seedling, plant seedling set for fix planting, and seedling planting method

Similar Documents

Publication Publication Date Title
US4893268A (en) Circuit and method for accumulating partial products of a single, double or mixed precision multiplication
US4597053A (en) Two-pass multiplier/accumulator circuit
US4754421A (en) Multiple precision multiplication device
US4941120A (en) Floating point normalization and rounding prediction circuit
US5541865A (en) Method and apparatus for performing a population count operation
JPH02138620A (en) Calculation of numerical quantity and numerical data processor
US4949291A (en) Apparatus and method for converting floating point data formats in a microprocessor
US4866652A (en) Floating point unit using combined multiply and ALU functions
JPS6132437Y2 (en)
US5457805A (en) Microcomputer enabling high speed execution of product-sum operation
US5426600A (en) Double precision division circuit and method for digital signal processor
US4390961A (en) Data processor performing a decimal multiply operation using a read only memory
US5144576A (en) Signed digit multiplier
US4905178A (en) Fast shifter method and structure
JPS5968058A (en) Floating point multiplier
US4996660A (en) Selection of divisor multipliers in a floating point divide circuit
GB2120426A (en) Operation processing apparatus
JPS63123125A (en) Floating point adder
EP0278529A2 (en) Multiplication circuit capable of operating at a high speed with a small amount of hardware
US4604723A (en) Bit-slice adder circuit
US6070237A (en) Method for performing population counts on packed data types
JPS5932038A (en) Floating-point adder
CN220208247U (en) Division operation circuit
JPH0215089B2 (en)
JPS59105142A (en) Floating adder