Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JPS6250853B2 - - Google Patents
[go: Go Back, main page]

JPS6250853B2 - - Google Patents

Info

Publication number
JPS6250853B2
JPS6250853B2 JP56199554A JP19955481A JPS6250853B2 JP S6250853 B2 JPS6250853 B2 JP S6250853B2 JP 56199554 A JP56199554 A JP 56199554A JP 19955481 A JP19955481 A JP 19955481A JP S6250853 B2 JPS6250853 B2 JP S6250853B2
Authority
JP
Japan
Prior art keywords
register
carry
sum
adder
component
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired
Application number
JP56199554A
Other languages
Japanese (ja)
Other versions
JPS58101343A (en
Inventor
Hideo Myanaga
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP56199554A priority Critical patent/JPS58101343A/en
Publication of JPS58101343A publication Critical patent/JPS58101343A/en
Publication of JPS6250853B2 publication Critical patent/JPS6250853B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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)

Description

【発明の詳細な説明】 (1) 発明の技術分野 本発明は、乗数をデコードするデコーダ、マル
チプル・ゲート、CSA(キヤリー・セーブ・ア
ダー)トリーおよびスピル(spill Adder)を有
する複数の乗算部分を有すると共に、上記各乗算
部分から出力されるサムとキヤリーとが時分割的
に入力されるメイン・アダーを有する乗算装置に
おいて、メイン・アダーおよび周辺回路部のビツ
ト幅を小さく出来るようにしたものである。
DETAILED DESCRIPTION OF THE INVENTION (1) Technical Field of the Invention The present invention provides a multiplication section having a decoder for decoding a multiplier, multiple gates, a CSA (carry save adder) tree, and a spill adder. In addition, in a multiplication device having a main adder into which the sum and carry outputted from each multiplication section are time-divisionally input, the bit width of the main adder and peripheral circuit section can be reduced. be.

(2) 従来技術の問題点 第1図は従来の乗算装置を示すものであつて、
1は被乗数がセツトされる入力レジスタ、2は乗
数がセツトされる入力レジスタ、3はマルチプレ
クサ、4はデコーダ、5はマルチプル・ゲート、
6と7はCSA、8はサムがセツトされる中間レ
ジスタ、9はキヤリーがセツトされる中間レジス
タ、10はスピル・アダー、11はフリツプ・フ
ロツプ、12はキヤリー・プロパゲーシヨン・ア
ダーで作られたメイン・アダー、13は結果レジ
スタをそれぞれ示している。
(2) Problems with the prior art Figure 1 shows a conventional multiplication device.
1 is an input register where the multiplicand is set, 2 is an input register where the multiplier is set, 3 is a multiplexer, 4 is a decoder, 5 is a multiple gate,
6 and 7 are CSA, 8 is an intermediate register where the sum is set, 9 is an intermediate register where the carry is set, 10 is a spill adder, 11 is a flip-flop, and 12 is a carry propagation adder. The main adders 13 and 13 respectively indicate result registers.

第1図の例では、入力レジスタ1,2はそれぞ
れ4バイト構成とされている。マルチプレクサ3
は、先ず最下位バイト(バイト3)を選択し、最
後にバイト0を選択する。マルチプレクサ3から
選択出力されるバイト情報はデコーダ4に入力さ
れる。デコーダ4の出力はマルチプル・ゲート5
に入力される。マルチプル・ゲート5はデコーダ
4からのデコード信号に基づいて、4種の乗数
K1,K2,K3,K4を生成し、乗数をK1倍したも
の、K2倍したもの、K3倍したもの及びK4倍した
ものをCSA6に入力する。CSA6から出力され
るサムとキヤリーは、CSA7に入力される。こ
の際、中間レジスタ8の上位4バイトおよび中間
レジスタ9の上位4バイトもCSA7に入力され
る。CSA7から出力されるサムとキヤリーは、
それぞれ中間レジスタ8,9に入力される。中間
レジスタ8の最下位バイトおよび中間レジスタ9
の最下位バイトはスピル・アダー10に入力され
る。また、スピル・アダー10にはフリツプ・フ
ロツプ11の内容も入力される。スピル・アダー
10から出力されるキヤリーは、フリツプ・フロ
ツプ11にセツトされる。所定のタイミングで、
中間レジスタ8の内容、中間レジスタ9の内容お
よびフリツプ・フロツプ11の内容はメイン・ア
ダー12に入力され、メイン・アダー12の出力
は結果レジスタ13にセツトされる。
In the example shown in FIG. 1, input registers 1 and 2 each have a 4-byte configuration. multiplexer 3
first selects the least significant byte (byte 3), and finally selects byte 0. The byte information selectively output from the multiplexer 3 is input to the decoder 4. The output of decoder 4 is multiple gate 5
is input. The multiple gate 5 selects four types of multipliers based on the decoded signal from the decoder 4.
K 1 , K 2 , K 3 , and K 4 are generated, and the multipliers multiplied by K 1 , K 2 , K 3 , and K 4 are input into the CSA 6. The sum and carry signals output from CSA6 are input to CSA7. At this time, the upper 4 bytes of intermediate register 8 and the upper 4 bytes of intermediate register 9 are also input to CSA 7. Sam and Carrie output from CSA7 are
The signals are input to intermediate registers 8 and 9, respectively. Least significant byte of intermediate register 8 and intermediate register 9
The least significant byte of is input to spill adder 10. The spill adder 10 also receives the contents of the flip-flop 11. The carry output from spill adder 10 is set in flip-flop 11. At a predetermined timing,
The contents of intermediate register 8, intermediate register 9 and flip-flop 11 are input to main adder 12, and the output of main adder 12 is set in result register 13.

第1図において、入力レジスタ1は32ビツト構
成であり、入力レジスタ1からマルチプル・ゲー
ト5に至るバスも32ビツト構成であり、マルチプ
レクサ3からデコーダ4に至るバスは8ビツト構
成である。中間レジスタ8および9は5バイト構
成であり、中間レジスタ8からメイン・アダー1
2に至るバスの幅および中間レジスタ9からメイ
ン・アダーに至るバス幅は40ビツトである。中間
レジスタ8からCSA7の入力に至るバスは32ビ
ツト構成であり、中間レジスタ9からCSA7の
入力に至るバスも32ビツト構成である。メイン・
アダー12の出力は5バイト構成であるが、最下
位バイトは捨てられ、上位4バイトのみが結果レ
ジスタ13にセツトされる。なお、入力レジスタ
1と2、デコーダ4、マルチプル・ゲート5、
CSA6と7、中間レジスタ8と9、スピル・ア
ダー10及びフリツプ・フロツプ11は、乗算部
分を構成している。
In FIG. 1, the input register 1 has a 32-bit configuration, the bus from the input register 1 to the multiple gate 5 also has a 32-bit configuration, and the bus from the multiplexer 3 to the decoder 4 has an 8-bit configuration. Intermediate registers 8 and 9 have a 5-byte configuration, and from intermediate register 8 to main adder 1
The width of the bus from intermediate register 9 to main adder is 40 bits. The bus from intermediate register 8 to the input of CSA 7 has a 32-bit configuration, and the bus from intermediate register 9 to the input of CSA 7 also has a 32-bit configuration. Maine·
The output of the adder 12 consists of 5 bytes, but the least significant byte is discarded and only the upper 4 bytes are set in the result register 13. In addition, input registers 1 and 2, decoder 4, multiple gate 5,
CSAs 6 and 7, intermediate registers 8 and 9, spill adder 10 and flip-flop 11 constitute the multiplication section.

第2図は第1図の乗算器の動作を示すタイム・
チヤートである。なお、第2図において、Aは被
乗数、Bは乗数、Cは結果オペランドをそれぞれ
示している。乗算が指令されると、#1クロツク
でA×B(1)の乗算が開始される。なお、B(1)は乗
数Bのバイト(3)、B(2)は乗数Bのバイト2、B(3)
は乗数Bのバイト1、B(4)は乗数Bのバイト0を
それぞれ示している。
Figure 2 is a time signal showing the operation of the multiplier in Figure 1.
It's a chat. In FIG. 2, A indicates a multiplicand, B a multiplier, and C a result operand. When a multiplication is commanded, the multiplication of A×B(1) is started at the #1 clock. In addition, B(1) is byte (3) of multiplier B, B(2) is byte 2 of multiplier B, B(3)
indicates byte 1 of multiplier B, and B(4) indicates byte 0 of multiplier B, respectively.

#2クロツクでは、A×B(2)の乗算が開始さ
れ、また、CSAから出力されるA×B(1)のサム
成分SU(1)とキヤリー成分CA(1)が中間レジスタ
9,9にそれぞれセツトされる。
At clock #2, multiplication of A×B(2) is started, and the sum component SU(1) and carry component CA(1) of A×B(1) output from CSA are transferred to intermediate registers 9 and 9. are set respectively.

#3クロツクでは、A×B(3)の乗算が開始され
る。また、A×B(2)とサム成分SU(1)の上位4バ
イトとキヤリー成分CA(1)の上位4バイトの和が
サム成分SU(2)とキヤリー成分CA(2)に分離されて
中間レジスタ8,9にそれぞれセツトされる。さ
らに、サム成分SU(1)の最下位バイトとキヤリー
成分CA(1)の最下位バイトを加算して得られるキ
ヤリーR(1)がフリツプ・フロツプ11にセツトさ
れる。
At clock #3, multiplication of A×B(3) is started. Also, the sum of A×B(2), the upper 4 bytes of the sum component SU(1), and the upper 4 bytes of the carry component CA(1) is separated into the sum component SU(2) and the carry component CA(2). They are set in intermediate registers 8 and 9, respectively. Furthermore, a carry R(1) obtained by adding the least significant byte of the sum component SU(1) and the least significant byte of the carry component CA(1) is set in the flip-flop 11.

#4クロツクでは、A×B(4)の乗算が開始され
る。また、A×B(3)とサム成分SU(2)の上位4バ
イトとキヤリー成分CA(2)から上位4バイトの和
がサム成分SU(3)とキヤリー成分CA(3)に分離され
て中間レジスタ8,9にそれぞれセツトされる。
さらに、サム成分SU(2)の最下位バイトとキヤリ
ー成分CA(2)の最下位バイトとキヤリーR(1)を加
算した時に生ずるキヤリーR(2)がフリツプ・フロ
ツプ11にセツトされる。
At clock #4, multiplication of A×B(4) is started. Also, the sum of A×B(3), the upper 4 bytes of the sum component SU(2), and the upper 4 bytes of the carry component CA(2) is separated into the sum component SU(3) and the carry component CA(3). They are set in intermediate registers 8 and 9, respectively.
Further, carry R(2), which is generated when adding the least significant byte of the sum component SU(2), the least significant byte of the carry component CA(2), and the carry R(1), is set in the flip-flop 11.

#5サイクルでは、A×B(4)とサム成分SU(3)
の上位4バイトとキヤリー成分CA(3)の上位4バ
イトの和がサム成分SU(4)とキヤリー成分CA(4)に
分離されてそれぞれ中間レジスタ8,9にセツト
される。また、サム成分SU(3)の最下バイトとキ
ヤリー成分CA(3)の最下位バイトとキヤリーR(2)
を加算した時に生ずるキヤリーR(3)がフリツプ・
フロツプ11にセツトされる。さらに、メイン・
アダー12が起動され、サム成分SU(4)、キヤリ
ー成分CA(4)およびキヤリーR(3)の加算が行われ
ている。
In cycle #5, A×B(4) and sum component SU(3)
The sum of the upper 4 bytes of and the upper 4 bytes of the carry component CA(3) is separated into a sum component SU(4) and a carry component CA(4), which are set in intermediate registers 8 and 9, respectively. Also, the lowest byte of the sum component SU(3), the lowest byte of the carry component CA(3), and the carry R(2)
The carry R (3) that occurs when adding
It is set on flop 11. Furthermore, the main
The adder 12 is activated and the sum component SU(4), carry component CA(4), and carry R(3) are added.

#6クロツクでは、メイン・アダー12の出力
の上位4バイトが結果レジスタ13にセツトされ
る。
At clock #6, the upper 4 bytes of the output of main adder 12 are set in result register 13.

ところで、ベクトル・オペランドを対象とする
乗算器を第1図に示すような複数の乗算部分と1
個のメイン・アダーで構成することが既に提案さ
れている。この種の乗算器においては、各乗算部
分から40ビツト構成のサム成分とキヤリー成分を
メイン・アダーに転送する必要があり、バスや選
択ゲートの構成が非常に複雑になるという欠点が
存在する。
By the way, a multiplier for vector operands consists of multiple multiplication parts and one multiplier as shown in Figure 1.
It has already been proposed to consist of two main adders. This type of multiplier has the disadvantage that it is necessary to transfer the 40-bit sum and carry components from each multiplication section to the main adder, making the bus and selection gate configurations very complex.

(3) 発明の目的 本発明は、上記の欠点を除去するものであつ
て、乗数をデコードするデコーダとマルチプル・
ゲートとCSAトリーとスピル・アダーとより成
る複数の乗算部分と、各乗算部分から出力される
サム成分、キヤリー成分および精度保証用数値デ
ータが入力される1個のメイン・アダーを有する
乗算器において、各乗算部分からメイン・アダー
に至るバスや選択ゲートなどの周辺部の構成を簡
単化できると共にメイン・アダーのビツト幅をも
小さくできるようにした乗算方式を提供すること
を目的としている。
(3) Purpose of the Invention The present invention aims to eliminate the above-mentioned drawbacks and is to provide a decoder for decoding a multiplier and a multiple decoder for decoding a multiplier.
In a multiplier that has multiple multiplication sections consisting of gates, CSA trees, and spill adders, and one main adder into which the sum component, carry component, and numerical data for accuracy guarantee that are output from each multiplication section are input. The object of the present invention is to provide a multiplication method that can simplify the configuration of peripheral parts such as buses and selection gates leading from each multiplication part to a main adder, and can also reduce the bit width of the main adder.

(4) 発明の構成 そしてそのため、本発明の乗算方式は、 m×nビツトの被乗数がセツトされる被乗数レ
ジスタ1と、m×nビツトの乗数がセツトされる
乗数レジスタ2と、乗数レジスタ2の中から取出
されたnビツトのデータダをデコードするデコー
ダ4とデコーダ4デコード結果に基づいて被乗数
の倍数を算出するマルチプル・ゲート5と、マル
チプル・ゲート5からの被乗数の倍数とサム用中
間レジスタ8の上位m×nビツトとキヤリー用中
間レジスタ9の上位m×nビツトとが入力される
桁上げ保存加算器トリー6,7と、桁上げ保存加
算器トリー6,7から出力されるサム成分がセツ
トされる(m+1)×nビツト幅のサム用中間レ
ジスタ8と、桁上げ保存加算器トリー6,7から
出力されるキヤリー成分がセツトされる(m+
1)×nビツト幅のキヤリー用中間レジスタ9
と、サム用中間レジスタ8の最下位nビツトと上
記キヤリー用中間レジスタ9の最下位nビツトと
フリツプ・フロツプ11の内容とが入力されるス
ピル・アダー10と、スピル・アダー10から出
力されるキヤリーがセツトされるフリツプ・フロ
ツプ11とを有する複数個の乗算部分と、 複数個の乗算部分の中の選択されたサム用中間
レジスタ8の上位m×nビツトがセツトされるの
最終サム・レジスタ14と、 複数個の乗算部分の中の選択されたキヤリー用
中間レジスタ9の上位m×nビツトがセツトされ
る最終キヤリー・レジスタ15と、 複数のフリツプ・フロツプ10を選択し、選択
されたフリツプ・フロツプ10の内容を出力する
マルチプレクサ16と、 最終サム・レジスタ14の内容と最終キヤリ
ー・レジスタ15の内容とマルチプレクサ16の
出力とが入力されるキヤリー伝播加算器12′と
を具備する乗算装置において、 乗算すべき入力オペランドが送られて来たと
き、1個の乗算部分を選択して当該乗算部分の被
乗数レジスタ1および乗数レジスタ2のそれぞれ
に被乗数Aおよび乗数Bをセツトし、 上記乗数レジスタ1から第i番目のnビツ
ト・データB(i)を取出し、上記デコーダ4を用
いてnビツト・データB(i)をデコードし、マル
チプル・ゲート5を用いて上記被乗数Aの倍数
を求め、上記桁上げ加算器トリー6,7を用い
てA×B(i)とサム用中間レジスタ8とキヤリー
用中間レジスタ9との和を求め、この結果得ら
れるサム成分SU(i)キヤリ成分CA(i)をそれぞれ
サム用中間レジスタ8とキヤリー用中間レジス
タ9にセツトし、 サム用中間レジスタ8のサム成分SU(i)とキ
ヤリー用中間レジスタ9のキヤリー成分CA(i)
とフリツプ・フロツプ11の内容とをスピル・
アダー10に入力し、その結果得られるキヤリ
ーをフリツプ・フロツプ11にセツトする。
(4) Structure of the Invention Therefore, the multiplication method of the present invention consists of a multiplicand register 1 in which an m×n bit multiplicand is set, a multiplier register 2 in which an m×n bit multiplier is set, and a multiplier register 2 in which an m×n bit multiplicand is set. A decoder 4 decodes the n-bit data extracted from the decoder 4, a multiple gate 5 that calculates a multiple of the multiplicand based on the decoding result of the decoder 4, and an intermediate register 8 for the multiple and sum of the multiplicand from the multiple gate 5. The carry save adder trees 6 and 7 to which the upper m×n bits and the upper m×n bits of the carry intermediate register 9 are input, and the sum components output from the carry save adder trees 6 and 7 are set. The carry components output from the sum intermediate register 8 of (m+1)×n bit width and the carry save adder trees 6 and 7 are set (m+1)×n bits wide.
1) ×n-bit wide carry intermediate register 9
and a spill adder 10 into which the lowest n bits of the sum intermediate register 8, the lowest n bits of the carry intermediate register 9, and the contents of the flip-flop 11 are input, and output from the spill adder 10. a plurality of multiplication parts having a flip-flop 11 in which the carry is set; and a final sum register in which the upper m×n bits of the intermediate sum register 8 selected in the plurality of multiplication parts are set. 14, a final carry register 15 to which the upper m×n bits of the selected carry intermediate register 9 in the plurality of multiplication parts are set, and a plurality of flip-flops 10 are selected, and the selected flip-flop - in a multiplication device comprising a multiplexer 16 which outputs the contents of the flop 10, and a carry propagation adder 12' into which the contents of the final sum register 14, the contents of the final carry register 15 and the output of the multiplexer 16 are input; , When input operands to be multiplied are sent, select one multiplication part and set multiplicand A and multiplier B in multiplicand register 1 and multiplier register 2 of the multiplication part, respectively, and The i-th n-bit data B(i) is extracted from , the n-bit data B(i) is decoded using the decoder 4, the multiple of the multiplicand A is obtained using the multiple gate 5, and the Using the carry adder trees 6 and 7, find the sum of A×B(i), the sum intermediate register 8, and the carry intermediate register 9, and the resulting sum component SU(i) and carry component CA(i ) in the sum intermediate register 8 and the carry intermediate register 9, respectively, and the sum component SU(i) of the thumb intermediate register 8 and the carry component CA(i) of the carry intermediate register 9.
and the contents of flip-flop 11.
Adder 10 is input, and the resulting carry is set in flip-flop 11.

一連の処理を、上記乗数レジスタ2の第1番
目のnビツト・データないし第m番目のnビツ
ト・データのそれぞれについて順番に行い、 第m番目のnビツト・データについて上記
の処理が終了した後に、サム用中間レジスタ8
の上位m×nビツト及びキヤリー用中間レジス
タ9の上位m×nビツトをそれぞれ最終サム・
レジスタ14及び最終キヤリー・レジスタ15
にセツトし、 第m番目のnビツト・データについて上記
の処理が終了した後に、最終サム・レジスタ1
4の内容、最終キヤリー・レジスタ15の内容
及びフリツプ・フロツプ11の内容をキヤリー
伝播加算器12′によつて加算する ことを特徴とするものである。
A series of processes are performed in order for each of the first n-bit data to the m-th n-bit data of the multiplier register 2, and after the above processing is completed for the m-th n-bit data. , intermediate register 8 for thumb
and the upper m×n bits of the intermediate register 9 for carry are respectively used as the final sum.
Register 14 and final carry register 15
After the above processing is completed for the mth n-bit data, the final sum register 1 is set to
4, the contents of the final carry register 15, and the contents of the flip-flop 11 are added by a carry propagation adder 12'.

(5) 発明の実施例 以下、本発明を図面を参照しつつ説明する。(5) Examples of the invention Hereinafter, the present invention will be explained with reference to the drawings.

第3図は本発明の1実施例のブロツク図、第4
図はその動作を示すタイムチヤートである。
FIG. 3 is a block diagram of one embodiment of the present invention, and FIG.
The figure is a time chart showing the operation.

第3図において、1―1と1―2は入力レジス
タ、2―1と2―2も入力レジスタ、3―1と3
―2はマルチプレクサ、4はデコーダ、5―1と
5―2はマルチプル・ゲート、6―1と6―2は
CSA、7―1と7―2もCSA、8―1と8―2
はサムがセツトされる中間レジスタ、9―1と9
―2はキヤリーがセツトされる中間レジスタ、1
0―1と10―2はスピル・アダー、11―1と
11―2はフリツプ・フロツプ、12′はメイ
ン・アダー、13は結果レジスタ、14は最終サ
ム・レジスタ、15は最終キヤリー・レジスタ、
16はマルチプレクサをそれぞれ示している。入
力レジスタ1―1と2―1、マルチプレクサ3―
1、デコーダ4―1、マルチプル・ゲート5―
1、CSA6―1と7―1、中間レジスタ8―1
と9―1、スピル・アダー10―1およびフリツ
プ・フロツプ11―1は第1の乗算部分を構成し
ており、同様に入力レジスタ1―2と2―2、マ
ルチプレクサ3―2、デコーダ4―2、マルチプ
ル・ゲート5―2、CSA6―2と7―2、中間
レジスタ8―2と9―2、スピル・アダー10―
2およびフリツプ・フロツプ11―2は第2の乗
算部分を構成している。これらの第1の乗算部分
および第2の乗算部分は、第1図に乗算部分と同
一構成を有している。最終サム・レジスタ14に
は、中間レジスタ8―1又は8―2の最終サム成
分の上位4バイトがセツトされる。最終キヤリ
ー・レジスタ15には、中間レジスタ9―1又は
9―2の最終キヤリー成分の上位4バイトがセツ
トされる。最終サム・レジスタ14は4バイト構
成であり、最終キヤリー・レジスタ15も4バイ
ト構成である。マルチプレクサ16は、フリツ
プ・フロツプ11―1又は11―2の精度保証用
キヤリーを選択して出力するものである。メイ
ン・アダー12′には、最終サム・レジスタ14
の内容と最終キヤリー・レジスタ15の内容とマ
ルチプレクサ16の出力とが入力される。メイ
ン・アダー12′は32ビツト幅のものである。メ
イン・アダー12′の出力は結果レジスタ13に
セツトされる。
In Figure 3, 1-1 and 1-2 are input registers, 2-1 and 2-2 are also input registers, 3-1 and 3
-2 is a multiplexer, 4 is a decoder, 5-1 and 5-2 are multiple gates, 6-1 and 6-2 are
CSA, 7-1 and 7-2 are also CSA, 8-1 and 8-2
is the intermediate register where the sum is set, 9-1 and 9
-2 is the intermediate register where the carry is set, 1
0-1 and 10-2 are spill adders, 11-1 and 11-2 are flip-flops, 12' is the main adder, 13 is the result register, 14 is the final sum register, 15 is the final carry register,
16 indicates a multiplexer, respectively. Input registers 1-1 and 2-1, multiplexer 3-
1, decoder 4-1, multiple gate 5-
1. CSA6-1 and 7-1, intermediate register 8-1
and 9-1, a spill adder 10-1, and a flip-flop 11-1 constitute the first multiplication section, and similarly input registers 1-2 and 2-2, multiplexer 3-2, and decoder 4- 2. Multiple gates 5-2, CSA 6-2 and 7-2, intermediate registers 8-2 and 9-2, spill adder 10-
2 and flip-flop 11-2 constitute a second multiplication section. These first multiplication section and second multiplication section have the same configuration as the multiplication section shown in FIG. The final sum register 14 is set with the upper four bytes of the final sum component of intermediate register 8-1 or 8-2. The final carry register 15 is set with the upper four bytes of the final carry component of intermediate register 9-1 or 9-2. The final sum register 14 has a 4-byte configuration, and the final carry register 15 also has a 4-byte configuration. The multiplexer 16 selects and outputs the accuracy guarantee carry of the flip-flop 11-1 or 11-2. The main adder 12' includes a final sum register 14.
, the contents of final carry register 15 and the output of multiplexer 16 are input. Main adder 12' is 32 bits wide. The output of main adder 12' is set in result register 13.

第4図は第3図の実施例の動作を示すタイムチ
ヤートである。第4図に示されるように、先ず被
乗数A1と乗数B1とが第1の乗算部分に入力さ
れ、2サイクル後に被乗数A2と乗数B2が第2の
乗算部分に入力される。先ず、A1×B1の乗算に
ついて説明する。
FIG. 4 is a time chart showing the operation of the embodiment shown in FIG. As shown in FIG. 4, first, multiplicand A1 and multiplier B1 are input into the first multiplication section, and two cycles later, multiplicand A2 and multiplier B2 are input into the second multiplication section. First, the multiplication of A1×B1 will be explained.

#1クロツクではA1×B1の乗算が開始され
る。
At the #1 clock, multiplication of A1×B1 is started.

#2クロツクでは、A1×B1(2)の乗算が開始さ
れ、また、CSA7―1から出力されるA1×B1(1)
のサム成分SU1(1)とキヤリー成分CA1(1)が中間レ
ジスタ8―1,9―1にそれぞれセツトされる。
#2 clock starts the multiplication of A1×B1(2), and also the A1×B1(1) output from CSA7-1.
The sum component SU1(1) and carry component CA1(1) of are set in intermediate registers 8-1 and 9-1, respectively.

#3クロツクでは、A1×B1(3)の乗算の開始さ
れる。また、A1×B1(2)とサム成分SU1(1)の上位
4バイトとキヤリー成分CA1(1)の上位4バイトの
和がサム成分SU1(2)とキヤリー成分CA1(2)に分離
されて中間レジスタ8―1,9―1にそれぞれセ
ツトされる。さらに、サム成分SU1(1)の最下位バ
イトとキヤリー成分CA1(1)の最下位バイトを加算
して得られるキヤリーR1(1)がフリツプ・フロツ
プ11―1にセツトされる。
At clock #3, multiplication of A1×B1(3) is started. Also, the sum of A1×B1(2), the upper 4 bytes of the sum component SU1(1), and the upper 4 bytes of the carry component CA1(1) is separated into the sum component SU1(2) and the carry component CA1(2). They are set in intermediate registers 8-1 and 9-1, respectively. Furthermore, the carry R1(1) obtained by adding the least significant byte of the sum component SU1(1) and the least significant byte of the carry component CA1(1) is set in the flip-flop 11-1.

#4クロツクでは、A1×B1(4)の乗算が開始さ
れる。また、A1×B1(3)とサム成分SU1(2)の上位
4バイトとキヤリー成分CA1(2)の上位4バイトの
和がサム成分SU1(3)とキヤリー成分CA1(3)に分離
されて中間レジスタ8―1,9―1にそれぞれセ
ツトされる。さらに、サム成分SU1(2)の最下位バ
イトとキヤリー成分CA1(2)の最下位バイトとキヤ
リーR1(1)を加算した時に生ずるキヤリーR1(2)が
フリツプ・フロツプ11―1にセツトされる。
At clock #4, multiplication of A1×B1(4) is started. Also, the sum of A1×B1(3), the upper 4 bytes of the sum component SU1(2), and the upper 4 bytes of the carry component CA1(2) is separated into the sum component SU1(3) and the carry component CA1(3). They are set in intermediate registers 8-1 and 9-1, respectively. Furthermore, carry R1(2), which is generated when adding the least significant byte of sum component SU1(2), the least significant byte of carry component CA1(2), and carry R1(1), is set in flip-flop 11-1. .

#5サイクルでは、A1×B1(4)とサム成分SU1
(3)の上位4バイトとキヤリー成分CA1(3)の上位4
バイトの和がサム成分SU1(4)とキヤリー成分CA1
(4)に分離されてそれぞれ中間レジスタ8―1,9
―1にセツトされる。また、サム成分SU1(3)の最
下位バイトとキヤリー成分CA1(3)の最下位バイト
とキヤリーR1(2)を加算した時に生ずるキヤリー
R1(3)がフリツプ・フロツプ11―1にセツトさ
れる。
In #5 cycle, A1×B1(4) and sum component SU1
The upper 4 bytes of (3) and the upper 4 of carry component CA1(3)
The sum of the bites is the sum component SU1 (4) and the carry component CA1
(4) Separated into intermediate registers 8-1 and 9, respectively.
-1. Also, the carry value generated when adding the least significant byte of the sum component SU1(3), the least significant byte of the carry component CA1(3), and the carry R1(2)
R1(3) is set in flip-flop 11-1.

#6サイクルでは、サム成分SU1(4)の上位4バ
イトが最終サム・レジスタ14にセツトされ、キ
ヤリー成分CA1(4)の上位4バイトが最終キヤリ
ー・レジスタ15にセツトされる。なお、第4図
において、Xはレジスタ14を示し、Yはレジス
タ15を示している。また、サム成分SU1(4)の最
下位バイトとキヤリー成分CA1(4)の最下位バイト
とキヤリーR1(3)を加算した時に生ずるキヤリー
R1(4)がフリツプ・フロツプ11―1にセツトさ
れ、マルチプレクサ16によつてフリツプ・フロ
ツプ11―1の内容が選択出力される。さらに、
メイン・アダー12′が起動され、サム成分SU1
(4)、キヤリー成分CA1(4)および精度保証用キヤリ
ーR1(4)の加算が行われる。
In cycle #6, the upper 4 bytes of the sum component SU1(4) are set in the final sum register 14, and the upper 4 bytes of the carry component CA1(4) are set in the final carry register 15. Note that in FIG. 4, X indicates the register 14 and Y indicates the register 15. Also, the carry value generated when adding the least significant byte of the sum component SU1(4), the least significant byte of the carry component CA1(4), and the carry R1(3)
R1(4) is set in flip-flop 11-1, and multiplexer 16 selectively outputs the contents of flip-flop 11-1. moreover,
The main adder 12' is activated and the sum component SU1
(4), the carry component CA1(4) and the accuracy guarantee carry R1(4) are added.

#7クロツクでは、メイン・アダー12′の出
力が結果レジスタ13にセツトされる。
At clock #7, the output of main adder 12' is set in result register 13.

A2×B2の乗算もA1×B1の乗算と同様にして行
われる。たゞしA2×B2の乗算は、A1×B1の乗算
より2サイクル後に開始される。なお、上記のよ
うな制御を行わせる制御手段は第3図には示され
ていないが、上記のような制御はマイクロプログ
ラム又は布線論理の制御回路によつて実行するこ
とが出来る。
The multiplication of A2×B2 is also performed in the same manner as the multiplication of A1×B1. However, the A2×B2 multiplication starts two cycles after the A1×B1 multiplication. Although the control means for performing the above-mentioned control is not shown in FIG. 3, the above-mentioned control can be performed by a microprogram or a wiring logic control circuit.

第1図の乗算装置と第3図の実施例とを比較し
て明らかなように、メイン・アダー12′のビツ
ト幅は32ビツトであり、第1図のメイン・アダー
12に比べて8ビツトだけビツト幅が小さくなつ
ている。これは、スピル・アダー10―1,10
―2を4サイクル利用することにより、第1図の
メイン・アダー12で行つている1バイトの切り
捨てをスピル・アダー10―1,10―2が行つ
ているからである。第3図のように、乗算装置が
複数の乗算部分を有していると、各乗算部分から
の最終のサム成分とキヤリー成分を選択し、メイ
ン・アダー12′に入力することが必要となり、
第1図のような汎用タイプの乗算装置に比べてメ
イン・アダーの前段の1サイクル分必要となる。
本発明は、この選択用サイクルを利用して各スピ
ル・アダー10―1,10―2の結果を結果オペ
ランドに反映させ、メイン・アダー及び周辺回路
部分のビツト幅を縮小するようにしたものであ
る。さらに、結果オペランドを8バイトとした場
合、メイン・アダーを7バイトとし、残る1バイ
トをスピル・アダーの結果の1バイトで補うこと
もできる。
As can be seen by comparing the multiplication device of FIG. 1 with the embodiment of FIG. The bit width is getting smaller. This is Spill Adder 10-1,10
This is because by using -2 for four cycles, the spill adders 10-1 and 10-2 perform the 1-byte truncation that is performed by the main adder 12 in FIG. If the multiplier has multiple multiplier sections, as in FIG. 3, it will be necessary to select the final sum and carry components from each multiplier section and enter them into the main adder 12'.
Compared to a general-purpose type multiplication device as shown in FIG. 1, one cycle of the previous stage of the main adder is required.
The present invention utilizes this selection cycle to reflect the results of each spill adder 10-1 and 10-2 in the result operand, thereby reducing the bit width of the main adder and peripheral circuit portion. be. Furthermore, if the result operand is 8 bytes, the main adder can be 7 bytes, and the remaining 1 byte can be supplemented with 1 byte of the spill adder result.

(6) 発明の効果 以上の説明から明らかなように、本発明によれ
ば、乗数をデコードするデコーダ、マルチプル・
ゲート、CGAトリおよびスピル・アダーを有す
る複数の乗算部分を有すると共に、上記各乗算部
分から出力されるサムとキヤリーとが時分割的に
入力されるメイン・アダーにおいて、メイン・ア
ダー及び周辺回路部分のビツト幅を減少させるこ
とが可能となる。
(6) Effects of the invention As is clear from the above explanation, according to the present invention, a decoder that decodes a multiplier, a multiple
In the main adder, which has a plurality of multiplication sections including gates, CGA tris, and spill adders, and into which the sum and carry output from each multiplication section are time-divisionally input, the main adder and the peripheral circuit section It becomes possible to reduce the bit width of

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

第1図は従来の乗算装置のブロツク図、第2図
はその動作を示すタイムチヤート、第3図は本発
明の1実施例のブロツク図、第4図はその動作を
示すタイムチヤートである。 1―1と1―2…入力レジスタ、2―1と2―
2…入力レジスタ、3―1と3―2…マルチプレ
クサ、4…デコーダ、5―1と5―2…マルチプ
ル・ゲート、6―1と6―2…CSA、7―1と
7―2…CSA、8―1と8―2…サムがセツト
される中間レジスタ、9―1と9―2…キヤリー
がセツトされる中間レジスタ、10―1と10―
2…スピル・アダー、11―1と11―2…フリ
ツプ・フロツプ、12′…メイン・アダー、13
…結果レジスタ、14…最終サム・レジスタ、1
5…最終キヤリー・レジスタ、16…マルチプレ
クサ。
FIG. 1 is a block diagram of a conventional multiplication device, FIG. 2 is a time chart showing its operation, FIG. 3 is a block diagram of an embodiment of the present invention, and FIG. 4 is a time chart showing its operation. 1-1 and 1-2...input register, 2-1 and 2-
2...Input register, 3-1 and 3-2...Multiplexer, 4...Decoder, 5-1 and 5-2...Multiple gate, 6-1 and 6-2...CSA, 7-1 and 7-2...CSA , 8-1 and 8-2...intermediate registers where sum is set, 9-1 and 9-2...intermediate registers where carry is set, 10-1 and 10-
2... Spill adder, 11-1 and 11-2... Flip-flop, 12'... Main adder, 13
...Result register, 14...Final sum register, 1
5...Final carry register, 16...Multiplexer.

Claims (1)

【特許請求の範囲】 1 m×nビツトの被乗数がセツトされる被乗数
レジスタ1と、m×nビツトの乗数がセツトされ
る乗数レジスタ2と、乗数レジスタ2の中から取
出されたnビツトのデータをデコードするデコー
ダ4と、デコーダ4のデコード結果に基づいて被
乗数の倍数を算出するマルチプル・ゲート5と、
マルチプル・ゲート5からの被乗数の倍数とサム
用中間レジスタ8の上位m×nビツトとキヤリー
用中間レジスタ9の上位m×nビツトとが入力さ
れる桁上げ保存加算器トリー6,7と、桁上げ保
存加算器トリー6,7から出力されるサム成分が
セツトされる(m+1)×nビツト幅のサム用中
間レジスタ8と、桁上げ保存加算器トリー6,7
から出力されるキヤリー成分がセツトされる(m
+1)×nビツト幅のキヤリー用中間レジスタ9
と、サム用中間レジスタ8の最下位nビツトと上
記キヤリー用中間レジスタ9の最下位nビツトと
フリツプ・フロツプ11の内容とが入力されるス
ピル・アダー10と、スピル・アダー10から出
力されるキヤリーがセツトされるフリツプ・フロ
ツプ11とを有する複数個の乗算部分と、 複数個の乗算部分の中の選択されたサム用中間
レジスタ8の上位m×nビツトがセツトされるの
最終サム・レジスタ14と、 複数個の乗算部分の中の選択されたキヤリー用
中間レジスタ9の上位m×nビツトがセツトされ
る最終キヤリー・レジスタ15と、 複数のフリツプ・フロツプ10を選択し、選択
されたフリツプ・フロツプ10の内容を出力する
マルチプレクサ16と、 最終サム・レジスタ14の内容と最終キヤリ
ー・レジスタ15の内容とマルチプレクサ16の
出力とが入力されるキヤリー伝播加算器12′と
を具備する乗算装置において、 乗算すべき入力オペランドが送られて来たと
き、1個の乗算部分を選択して当該乗算部分の被
乗数レジスタ1および乗数レジスタ2のそれぞれ
に被乗数Aおよび乗数Bをセツトし、 上記乗数レジスタ1から第i番目のnビツ
ト・データB(i)を取出し、上記デコーダ4を用
いてnビツト・データB(i)をデコードし、マル
チプル・ゲート5を用いて上記被乗数Aの倍数
を求め、上記桁上げ加算器トリー6,7を用い
てA×B(i)とサム用中間レジスタ8とキヤリー
用中間レジスタ9との和を求め、この結果得ら
れるサム成分SU(i)とキヤリ成分CA(i)をそれぞ
れサム用中間レジスタ8とキヤリー用中間レジ
スタ9にセツトし、 サム用中間レジスタ8のサム成分SU(i)とキ
ヤリー用中間レジスタ9のキヤリー成分CA(i)
とフリツプ・フロツプ11の内容とをスピル・
アダー10に入力し、その結果得られるキヤリ
ーをフリツプ・フロツプ11にセツトする。 一連の処理を、上記乗数レジスタ2の第1番
目のnビツト・データないし第m番目のnビツ
ト・データのそれぞれについて順番に行い、 第m番目のnビツト・データについて上記
の処理が終了した後に、サム用中間レジスタ8
の上位m×nビツト及びキヤリー用中間レジス
タ9の上位m×nビツトをそれぞれ最終サム・
レジスタ14及び最終キヤリー・レジスタ15
にセツトし、 第m番目のnビツト・データについて上記
の処理が終了した後に、最終サム・レジスタ1
4の内容、最終キヤリー・レジスタ15の内容
及びフリツプ・フロツプ11の内容をキヤリー
伝播加算器12′によつて加算する ことを特徴とする乗算方式。
[Claims] 1 Multiplicand register 1 in which an m×n bit multiplicand is set, multiplier register 2 in which an m×n bit multiplier is set, and n-bit data extracted from multiplier register 2. a decoder 4 that decodes the decoder 4; a multiple gate 5 that calculates a multiple of the multiplicand based on the decoding result of the decoder 4;
Carry save adder trees 6 and 7 are input with the multiple of the multiplicand from the multiple gate 5, the upper m×n bits of the sum intermediate register 8, and the upper m×n bits of the carry intermediate register 9, and the digit. An intermediate register 8 for sum with a width of (m+1)×n bits, in which the sum component output from the carry save adder trees 6 and 7 is set, and a carry save adder tree 6 and 7
The carry component output from is set (m
+1)×n-bit width intermediate carry register 9
and a spill adder 10 into which the lowest n bits of the sum intermediate register 8, the lowest n bits of the carry intermediate register 9, and the contents of the flip-flop 11 are input, and output from the spill adder 10. a plurality of multiplication parts having a flip-flop 11 in which the carry is set; and a final sum register in which the upper m×n bits of the intermediate sum register 8 selected in the plurality of multiplication parts are set. 14, a final carry register 15 to which the upper m×n bits of the selected carry intermediate register 9 in the plurality of multiplication parts are set, and a plurality of flip-flops 10 are selected, and the selected flip-flop - in a multiplication device comprising a multiplexer 16 which outputs the contents of the flop 10, and a carry propagation adder 12' into which the contents of the final sum register 14, the contents of the final carry register 15 and the output of the multiplexer 16 are input; , When input operands to be multiplied are sent, select one multiplication part and set multiplicand A and multiplier B in multiplicand register 1 and multiplier register 2 of the multiplication part, respectively, and The i-th n-bit data B(i) is extracted from , the n-bit data B(i) is decoded using the decoder 4, the multiple of the multiplicand A is obtained using the multiple gate 5, and the Using the carry adder trees 6 and 7, find the sum of A×B(i), the sum intermediate register 8, and the carry intermediate register 9, and the resulting sum component SU(i) and carry component CA( i) in the thumb intermediate register 8 and the carry intermediate register 9, respectively, and the sum component SU(i) of the thumb intermediate register 8 and the carry component CA(i) of the carry intermediate register 9.
and the contents of flip-flop 11.
Adder 10 is input, and the resulting carry is set in flip-flop 11. A series of processes are performed in order for each of the first n-bit data to the m-th n-bit data of the multiplier register 2, and after the above processing is completed for the m-th n-bit data. , intermediate register 8 for thumb
and the upper m×n bits of the intermediate register 9 for carry are respectively used as the final sum.
Register 14 and final carry register 15
After the above processing is completed for the mth n-bit data, the final sum register 1 is set to
4, the contents of the final carry register 15, and the contents of the flip-flop 11 are added by a carry propagation adder 12'.
JP56199554A 1981-12-11 1981-12-11 Multiplication system Granted JPS58101343A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP56199554A JPS58101343A (en) 1981-12-11 1981-12-11 Multiplication system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP56199554A JPS58101343A (en) 1981-12-11 1981-12-11 Multiplication system

Publications (2)

Publication Number Publication Date
JPS58101343A JPS58101343A (en) 1983-06-16
JPS6250853B2 true JPS6250853B2 (en) 1987-10-27

Family

ID=16409752

Family Applications (1)

Application Number Title Priority Date Filing Date
JP56199554A Granted JPS58101343A (en) 1981-12-11 1981-12-11 Multiplication system

Country Status (1)

Country Link
JP (1) JPS58101343A (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6284335A (en) * 1985-10-09 1987-04-17 Hitachi Ltd Multiplier circuit
US5136537A (en) * 1991-11-19 1992-08-04 Advanced Micro Devices, Inc. Method and apparatus for determining the product of two numbers

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5915256Y2 (en) * 1979-08-31 1984-05-07 東北金属工業株式会社 High frequency switching DC stabilized power supply

Also Published As

Publication number Publication date
JPS58101343A (en) 1983-06-16

Similar Documents

Publication Publication Date Title
US5473554A (en) CMOS multiplexor
US5001662A (en) Method and apparatus for multi-gauge computation
US5212662A (en) Floating point arithmetic two cycle data flow
US4156922A (en) Digital system for computation of the values of composite arithmetic expressions
US4999802A (en) Floating point arithmetic two cycle data flow
US4953119A (en) Multiplier circuit with selectively interconnected pipelined multipliers for selectively multiplication of fixed and floating point numbers
JPH03138759A (en) Signal processor
JPH0542011B2 (en)
EP0507210B1 (en) A data processing system for performing square operations with improved speed and a method therefor
US6078940A (en) Microprocessor with an instruction for multiply and left shift with saturate
US5363322A (en) Data processor with an integer multiplication function on a fractional multiplier
US4631672A (en) Arithmetic control apparatus for a pipeline processing system
US3840727A (en) Binary multiplication by addition with non-verlapping multiplier recording
JPS6250853B2 (en)
US6112291A (en) Method and apparatus for performing a shift instruction with saturate by examination of an operand prior to shifting
JPH06139217A (en) High-precision arithmetic processing device and method
US5504867A (en) High speed microprocessor branch decision circuit
US5093775A (en) Microcode control system for digital data processing system
US6128725A (en) Microprocessor with an instruction for setting or clearing a bit field
US5119325A (en) Multiplier having a reduced number of partial product calculations
US4685077A (en) Data processing apparatus having binary multiplication capability
JP2643279B2 (en) Information processing device
JP2760808B2 (en) Data processing device
JP3139011B2 (en) Fixed-point processor
JPS5935236A (en) Variable word length multiplying circuit