JPH06274318A - High speed arithmetic unit - Google Patents

High speed arithmetic unit

Info

Publication number
JPH06274318A
JPH06274318A JP5058168A JP5816893A JPH06274318A JP H06274318 A JPH06274318 A JP H06274318A JP 5058168 A JP5058168 A JP 5058168A JP 5816893 A JP5816893 A JP 5816893A JP H06274318 A JPH06274318 A JP H06274318A
Authority
JP
Japan
Prior art keywords
data
bit
registers
arithmetic
output
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.)
Withdrawn
Application number
JP5058168A
Other languages
Japanese (ja)
Inventor
Hideho Sawada
秀穂 澤田
Yoriko Minoda
依子 箕田
Yuka Takizawa
ユカ 滝沢
Fumihiro Maruyama
文宏 丸山
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 JP5058168A priority Critical patent/JPH06274318A/en
Publication of JPH06274318A publication Critical patent/JPH06274318A/en
Withdrawn legal-status Critical Current

Links

Abstract

PURPOSE:To simultaneously execute an arithmetic operation including the arithmetic operator of more than two on a high speed arithmetic unit in a processor in a computer system. CONSTITUTION:Registers 21, 22, 22,..., and 2n temporarily hold numerical data D1, D2,..., and Dm constituting bit data of four bits and the like, for example, received from a storage means 10. An allocation means 30 allocates bit data BD for respective pieces of numerical data D1, D2,..., and D, outputted from the registers 21, 22,... and 2n. An addition means 40 executes addition at every bit data BD allocated to the allocation means 30, and outputs an arithmetic result AD.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は計算機システムの高速演
算装置に関し、特に中央処理装置(CPU)内で算術演
算を高速に行う高速演算装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a high speed arithmetic unit for a computer system, and more particularly to a high speed arithmetic unit for performing arithmetic operations in a central processing unit (CPU) at high speed.

【0002】ワークステーション及びパーソナルコンピ
ュータ等の計算機システムでは、数値計算処理のみなら
ず様々な処理においても、例えば相対アドレス演算等の
ような算術演算が必要になる。
In computer systems such as workstations and personal computers, arithmetic operations such as relative address operations are required not only in numerical calculation processing but also in various processing.

【0003】このような算術演算の中には、四則演算子
(+,−,×,÷)が2以上現れるものも少なくない。
そして、計算機システム全体の高速化のためには、2以
上の四則演算子を含む算術演算の高速化が要請されてい
る。
Among such arithmetic operations, there are many cases where two or more arithmetic operators (+,-, x, ÷) appear.
In order to increase the speed of the entire computer system, it is required to increase the speed of arithmetic operations including two or more arithmetic operators.

【0004】[0004]

【従来の技術】従来の計算機システムにおけるプロセッ
サ内の演算装置は、一度に一つの算術演算しかできなか
った。このため、2以上の四則演算子を含む算術演算を
行う場合には、制御装置のマイクロプログラムにより、
四則演算子ごとに分割して算術演算を行なっていた。
2. Description of the Related Art An arithmetic unit in a processor in a conventional computer system can perform only one arithmetic operation at a time. Therefore, when performing an arithmetic operation including two or more four arithmetic operators, the microprogram of the control device
Arithmetic operations were performed by dividing each of the four arithmetic operators.

【0005】例えば3つの加算演算子を含む算術演算
「a+b+c+d」を行う場合、まず「a+b」を行な
って「e」とし、次に「e+c」を行なって「f」と
し、最後に「f+d」を行なって当該算術演算の結果を
求めていた。
For example, when performing an arithmetic operation "a + b + c + d" including three addition operators, first "a + b" is performed to "e", then "e + c" is performed to "f", and finally "f + d". To obtain the result of the arithmetic operation.

【0006】[0006]

【発明が解決しようとする課題】しかし、四則演算子ご
とに分割して算術演算を行う方法では、四則演算子が増
加するにつれて時間がかかるため、計算機システム全体
を高速化することができないという問題点があった。
However, in the method of performing arithmetic operations by dividing each of the four arithmetic operators, it takes time as the number of arithmetic operators increases, so that the speed of the entire computer system cannot be increased. There was a point.

【0007】また、大型並列計算機システムでは、2以
上の四則演算子を含む算術演算を一度に行うことができ
る反面、高価であるという問題点があった。本発明はこ
のような点に鑑みてなされたものであり、安価で、2以
上の四則演算子を含む算術演算を同時に行なって高速化
を図った高速演算装置を、提供することを目的とする。
Further, the large-scale parallel computer system has a problem that it is expensive although it can perform arithmetic operations including two or more arithmetic operators at once. The present invention has been made in view of the above circumstances, and an object of the present invention is to provide a high-speed arithmetic device that is inexpensive and speeds up by simultaneously performing arithmetic operations including two or more four arithmetic operators. .

【0008】[0008]

【課題を解決するための手段】図1は上記目的を達成す
る本発明の原理説明図である。本発明の高速演算装置
は、記憶手段10、レジスタ21,22,・・・,2
n、割付手段30及び加算手段40の各要素から構成さ
れる。
FIG. 1 is a diagram for explaining the principle of the present invention for achieving the above object. The high-speed arithmetic device of the present invention comprises a storage means 10, registers 21, 22, ..., 2
n, allocation means 30 and addition means 40.

【0009】レジスタ21,22,・・・,2nは、記
憶手段10から受けた数値データD1,D2,・・・,
Dmを一時的に保持する。割付手段30は、上記レジス
タ21,22,・・・,2nから出力された数値データ
D1,D2,・・・,Dmごとに、ビットデータBDを
割り付ける。加算手段40は、上記割付手段30で割り
付けられたビットデータBDごとに加算を行なって、算
術結果ADを出力する。
Registers 21, 22, ..., 2n receive numerical data D1, D2 ,.
Hold Dm temporarily. The allocating means 30 allocates the bit data BD to each of the numerical data D1, D2, ..., Dm output from the registers 21, 22 ,. The adding means 40 performs addition for each bit data BD allocated by the allocating means 30 and outputs the arithmetic result AD.

【0010】なお、必要に応じて、記憶手段10とレジ
スタ21,22,・・・,2nとの間にはメモリ管理手
段を、レジスタ21,22,・・・,2nと割付手段3
0との間には補数回路又は部分積算出手段を、さらに設
けてもよい。
If necessary, a memory management means is provided between the storage means 10 and the registers 21, 22, ..., 2n, and the registers 21, 22 ,.
A complement circuit or a partial product calculation means may be further provided between 0 and 0.

【0011】メモリ管理手段は、レジスタ21,22,
・・・,2nの数に応じて数値データD1,D2,・・
・,Dmを出力するとともに、加算手段40から出力さ
れた算術結果ADを記憶手段10へ格納する等の算術演
算に必要なデータの入出力を管理する。補数回路はレジ
スタ21,22,・・・,2nごとに対応して、2の補
数を求める。部分積算出手段は、ブースの方法(Booth
algorithm )による部分積を求める。
The memory management means are registers 21, 22,
... Numerical data D1, D2, ... according to the number of 2n
, Dm, and manages the input / output of data necessary for arithmetic operations such as storing the arithmetic result AD output from the adding means 40 in the storage means 10. The complement circuit obtains a two's complement corresponding to each of the registers 21, 22, ..., 2n. The partial product calculation method is Booth's method (Booth
algorithm)) to obtain the partial product.

【0012】[0012]

【作用】記憶手段10から受けた数値データD1,D
2,・・・,Dmをレジスタ21,22,・・・,2n
が一時的に保持し、割付手段30が数値データD1,D
2,・・・,Dmごとに、ビットデータBDを割り付け
る。その後、加算手段40は、割付手段30で割り付け
られたビットデータBDごとに加算を行なって、算術結
果ADを出力する。
Operation: Numerical data D1, D received from the storage means 10
2, ..., Dm to registers 21, 22, ..., 2n
Is temporarily held, and the allocating means 30 sets the numerical data D1, D
Bit data BD is allocated to each of 2, ..., Dm. After that, the adding means 40 performs addition for each bit data BD allocated by the allocating means 30 and outputs the arithmetic result AD.

【0013】なお、メモリ管理手段はレジスタ21,2
2,・・・,2nの数に応じて数値データD1,D2,
・・・,Dmを出力するとともに、加算手段40から出
力された算術結果ADを記憶手段10へ格納する等の算
術演算に必要なデータの入出力を管理する。このため、
レジスタ21,22,・・・,2nの数に制限されるこ
となく、数値データD1,D2,・・・,Dmの数に応
じて算術演算を行うことができる。
The memory management means is composed of the registers 21 and 2.
2, ..., 2n according to the number of numerical data D1, D2
, Dm are output, and the input / output of data necessary for arithmetic operation such as storing the arithmetic result AD output from the adding means 40 in the storage means 10 is managed. For this reason,
The arithmetic operation can be performed according to the number of numerical data D1, D2, ..., Dm without being limited by the number of registers 21, 22 ,.

【0014】また、補数回路はレジスタ21,22,・
・・,2nごとに対応して2の補数を求めるので、数値
データD1,D2,・・・,Dmが負の数の場合でも所
望の算術演算を行うことができる。部分積算出手段はブ
ースの方法による部分積を求めるので、積和演算を高速
に行うことができる。
The complement circuit is composed of registers 21, 22, ...
.., 2n is calculated corresponding to every 2n, so that desired arithmetic operation can be performed even when the numerical data D1, D2, ..., Dm are negative numbers. Since the partial product calculating means obtains the partial product by Booth's method, the product-sum calculation can be performed at high speed.

【0015】ここで、ブースの方法について説明する。
まず、2の補数によって数値が表現される二つの変数
X,Yについて、変数Xは被乗数とし、変数Yは乗数と
する。なお、、m=2n(nは自然数)、yi は「0」
又は「1」の整数値(0<i≦m)、yi =0(i≦
0)、yi =1(i>m)であることを条件として、次
式(1a)乃至式(1c)において変数Yを定義する。
The booth method will be described below.
First, regarding two variables X and Y whose numerical values are represented by two's complements, the variable X is a multiplicand and the variable Y is a multiplier. Note that m = 2n (n is a natural number) and y i is “0”.
Alternatively, an integer value of “1” (0 <i ≦ m), y i = 0 (i ≦ m
0) and y i = 1 (i> m), the variable Y is defined in the following formulas (1a) to (1c).

【0016】[0016]

【数1】 [Equation 1]

【0017】ここで、式(1a)は2進数のビット列で
表す場合の式、式(1b)は式(1a)を10進数で表
す場合の式、式(1c)は式(1b)を数学記号シグマ
(Σ)で表した場合の式を示す。
Here, the expression (1a) is an expression when the bit string of a binary number is represented, the expression (1b) is an expression when the expression (1a) is represented by a decimal number, and the expression (1c) is an expression of the expression (1b). The following shows the formula when expressed by the symbol sigma (Σ).

【0018】このとき、式(1c)における変数Yは、
次式(2a)乃至式(2c)のように式変形できる。
At this time, the variable Y in the equation (1c) is
The equations can be transformed into the following equations (2a) to (2c).

【0019】[0019]

【数2】 [Equation 2]

【0020】また、式(2c)において、i=j−1と
おくと次式(3)が成り立つ。
When i = j-1 in the equation (2c), the following equation (3) is established.

【0021】[0021]

【数3】 [Equation 3]

【0022】さらに、式(3)において、yi =0(i
≦0)を考慮すると、次式(4a)乃至式(4c)のよ
うに式変形できる。
Further, in the equation (3), y i = 0 (i
Considering ≦ 0, the equations can be transformed into the following equations (4a) to (4c).

【0023】[0023]

【数4】 [Equation 4]

【0024】したがって、変数Xと変数Yとの乗算結果
は、次式(5a)及び式(5b)のようになる。
Therefore, the multiplication result of the variable X and the variable Y is expressed by the following equations (5a) and (5b).

【0025】[0025]

【数5】 [Equation 5]

【0026】こうして、上記式(5b)における変数
(y2k-1,y2k,y2k+1)のそれぞれに「0」又は
「1」の整数値を入れた結果は、図15(B)に示すブ
ースの方式による真理値表になる。
Thus, the result of putting the integer value of "0" or "1" into each of the variables (y 2k-1 , y 2k , y 2k + 1 ) in the above equation (5b) is shown in FIG. 15 (B). The truth table is based on the booth method shown in.

【0027】[0027]

【実施例】以下、本発明の一実施例を図面に基づいて説
明する。図2は本発明を実施する計算機システムにおけ
るプロセッサの基本構成を示すブロック図である。プロ
セッサは大きく制御装置100と高速演算装置200と
から構成される。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS An embodiment of the present invention will be described below with reference to the drawings. FIG. 2 is a block diagram showing the basic configuration of the processor in the computer system that implements the present invention. The processor is roughly composed of a control device 100 and a high speed arithmetic device 200.

【0028】制御装置100は、シーケンサ(sequence
r )101、マイクロプログラムメモリ(micro progra
m memory)102及びマイクロ命令レジスタ(micro in
struction resister)103から構成される。シーケン
サ101はデータバスDBに接続された図1に示す記憶
手段10としての主記憶装置や他の各種装置からの指令
データCDや後述する高速演算装置200からの演算結
果ADを受けて、マイクロプログラムメモリ102のア
ドレス信号をクロック信号CLKに同期して発生する機
能モジュールである。このシーケンサ101が発生する
アドレス信号のビット幅によって、マイクロプログラム
メモリ102の記憶容量が規制される。また、アドレス
信号を受けたマイクロプログラムメモリ102はマイク
ロ命令(すなわち、アドレス信号に対応するメモリアド
レスのデータ)を出力する。さらに、マイクロ命令を受
けたマイクロ命令レジスタ103は、クロック信号CL
Kに同期して次の制御処理のための制御信号CS1をシ
ーケンサ101へ送るとともに、後述する高速演算装置
200へ算術演算のための制御信号CS2や制御バスC
Bに接続された各種装置への制御信号CS3を出力す
る。
The control device 100 includes a sequencer.
r) 101, micro program memory (micro progra
m memory) 102 and micro instruction register (micro in
(struction resister) 103. The sequencer 101 receives the command data CD from the main storage device as the storage means 10 shown in FIG. 1 connected to the data bus DB and other various devices, and the operation result AD from the high-speed operation device 200 described later, and the microprogram It is a functional module that generates the address signal of the memory 102 in synchronization with the clock signal CLK. The storage capacity of the microprogram memory 102 is restricted by the bit width of the address signal generated by the sequencer 101. Further, the micro program memory 102 receiving the address signal outputs a micro instruction (that is, data of a memory address corresponding to the address signal). Further, the microinstruction register 103 that has received the microinstruction changes the clock signal CL.
The control signal CS1 for the next control processing is sent to the sequencer 101 in synchronization with K, and the control signal CS2 for the arithmetic operation and the control bus C are sent to the high-speed arithmetic device 200 described later.
It outputs a control signal CS3 to various devices connected to B.

【0029】高速演算装置200は、レジスタ群20
1、割付手段202及び加算手段203から構成され
る。レジスタ群201は図1に示すレジスタ21,2
2,・・・,2nに相当し、データバスDBを介して受
けた数値データについて例えば4ビット等の所定のデー
タビット幅と、制御装置100からの制御信号CS2に
ついて例えば2ビット等の所定の制御ビット幅とを有
し、一時的に保持する。また、割付手段202は図1に
示す割付手段30に相当し、レジスタ群201で保持さ
れたデータを受けて、データのビットごとにビットデー
タを割り付ける。さらに、加算手段203は図1に示す
加算手段40に相当し、割付手段202で割り付けられ
たビットデータごとに加算を行なって、算術結果をアド
レスバスAB及びデータバスDBを介して所望の装置へ
出力する。
The high-speed arithmetic unit 200 includes a register group 20.
1, an allocating unit 202 and an adding unit 203. The register group 201 is the registers 21 and 2 shown in FIG.
2, ..., 2n, a predetermined data bit width of, for example, 4 bits for the numerical data received via the data bus DB, and a predetermined data bit width of, for example, 2 bits for the control signal CS2 from the control device 100. Control bit width and hold temporarily. The allocating means 202 corresponds to the allocating means 30 shown in FIG. 1, receives the data held in the register group 201, and allocates bit data for each bit of the data. Further, the adding means 203 corresponds to the adding means 40 shown in FIG. 1, performs addition for each bit data allocated by the allocating means 202, and outputs the arithmetic result to a desired device via the address bus AB and the data bus DB. Output.

【0030】次に、本発明の高速演算装置の具体的な構
成及び動作について説明する。なお、説明を簡単にする
ために、図2に示すレジスタ群201のレジスタ数を4
個とし、データバスDBを介して受ける数値データは4
ビットのデータビット幅とし、制御装置100から受け
る制御信号CS2は2ビットの制御ビット幅として説明
する。
Next, a specific structure and operation of the high speed arithmetic device of the present invention will be described. In order to simplify the explanation, the number of registers in the register group 201 shown in FIG.
Numerical data received via the data bus DB is 4
The description will be given assuming that the data bit width of the bit is set, and the control signal CS2 received from the control device 100 is the control bit width of 2 bit.

【0031】図3は、本発明の第1の実施例を示す図で
ある。図において、高速演算装置は、レジスタ21a,
22a,23a,24a、割付手段30a及び加算手段
40aの各要素から構成される。
FIG. 3 is a diagram showing a first embodiment of the present invention. In the figure, the high-speed arithmetic unit is shown as a register 21a,
22a, 23a, 24a, allocation means 30a, and addition means 40a.

【0032】レジスタ21aは図1に示すレジスタ21
に相当し、データビット幅が4ビットの数値データD1
aと、制御ビット幅が2ビットの制御信号CS21とを
一時的に保持する。同様に、レジスタ22a,23a,
24aは図1に示すレジスタ22,23,24に相当
し、データビット幅が4ビットの数値データD2a,D
3a,D4aと、制御ビット幅が2ビットの制御信号C
S22,CS23,CS24とをそれぞれ一時的に保持
する。
The register 21a is the register 21 shown in FIG.
And numerical data D1 having a data bit width of 4 bits
a and a control signal CS21 having a control bit width of 2 bits are temporarily held. Similarly, registers 22a, 23a,
Reference numeral 24a corresponds to the registers 22, 23 and 24 shown in FIG. 1 and has numerical data D2a and D having a data bit width of 4 bits.
3a, D4a and a control signal C having a control bit width of 2 bits
Each of S22, CS23, and CS24 is temporarily held.

【0033】割付手段30aは図1に示す割付手段30
に相当し、上記レジスタ21a,22a,23a,24
aで保持されたそれぞれの数値データD1a,D2a,
D3a,D4a及び制御信号CS21,CS22,CS
23,CS24等のデータを受けて、数値データD1
a,D2a,D3a,D4aのビットごとに8本のビッ
トデータBD1,BD2,・・・,BD8を割り付け
る。なお、割付手段30aの具体的な構成は図4におい
て詳述する。
The allocating means 30a is the allocating means 30 shown in FIG.
Corresponding to the registers 21a, 22a, 23a, 24
Each of the numerical data D1a, D2a, held in a
D3a, D4a and control signals CS21, CS22, CS
Numerical data D1 in response to data such as 23 and CS24
Eight bit data BD1, BD2, ..., BD8 are allocated for each bit of a, D2a, D3a, and D4a. The specific configuration of the allocating means 30a will be described in detail with reference to FIG.

【0034】加算手段40aは図1に示す加算手段40
に相当し、割付手段30aで割り付けられた8本のビッ
トデータBD1,BD2,・・・,BD8ごとに加算を
行なって、9ビットからなる算術結果AD1,AD2,
・・・,AD9を出力する。なお、加算手段40aの具
体的な構成は図5において詳述する。
The adding means 40a is the adding means 40 shown in FIG.
, BD8, which is allocated by the allocating means 30a, is added for each of the 8 bit data BD1, BD2, ..., BD8, and arithmetic results AD1, AD2 each consisting of 9 bits are added.
..., AD9 is output. The specific configuration of the adding means 40a will be described in detail with reference to FIG.

【0035】図4は図3に示す割付手段30aの構成を
示す図である。図において、割付手段30aは、MUX
(MUltipleXer;マルチプレクサ)31,32,33,3
4の各要素から構成される。なお、MUX31,32,
33,34はいずれも同一構成であるので、ここではM
UX31について説明する。
FIG. 4 is a diagram showing the structure of the allocating means 30a shown in FIG. In the figure, the allocating means 30a is a MUX.
(MUltipleXer; Multiplexer) 31, 32, 33, 3
4 elements. In addition, MUX 31, 32,
Since both 33 and 34 have the same structure, M is used here.
The UX31 will be described.

【0036】MUX31は数値データD1a及び制御信
号CS21を受けて、データビット幅が4ビットである
8本のビットデータBD1,BD2,・・・,BD8を
割り付ける。
The MUX 31 receives the numerical data D1a and the control signal CS21 and allocates eight bit data BD1, BD2, ..., BD8 having a data bit width of 4 bits.

【0037】具体的には、データビット幅が4ビットの
数値データD1aについて、上位4ビットを「0」する
数値データD1a4、最上位2ビットを「0」とすると
ともに数値データD1aを上位ビット方向へ2ビットシ
フトした数値データD1a6及び数値データD1aを上
位ビット方向へ4ビットシフトした数値データD1a8
を受ける。例えば、数値データD1aを「1101」と
すると、それぞれ数値データD1a4は「000011
01」に、数値データD1a6は「00110100」
に、数値データD1a8は「11010000」にな
る。
Specifically, for the numerical data D1a having a data bit width of 4 bits, the numerical data D1a4 whose upper 4 bits are "0", the upper 2 bits are "0", and the numerical data D1a is in the upper bit direction. Numerical data D1a6 shifted by 2 bits to and numerical data D1a8 obtained by shifting numerical data D1a by 4 bits in the upper bit direction
Receive. For example, if the numerical data D1a is "1101", the numerical data D1a4 is "000011".
01 ”, the numerical data D1a6 is“ 00110100 ”
In addition, the numerical data D1a8 becomes “11010000”.

【0038】また、制御ビット幅が2ビットの制御信号
CS21を受けて、この制御信号CS21に応じて数値
データD1a4、数値データD1a6及び数値データD
1a8の中で、いずれかの数値データを選択して、8本
のビットデータBD1,BD2,・・・,BD8の内の
それぞれ1ビットを出力する。
Further, the control signal CS21 having a control bit width of 2 bits is received, and the numerical data D1a4, the numerical data D1a6 and the numerical data D are received in accordance with the control signal CS21.
One of the numerical data is selected from 1a8 and 1 bit of each of the 8 bit data BD1, BD2, ..., BD8 is output.

【0039】こうしてMUX31,32,33,34の
それぞれが8本のビットデータBD1,BD2,・・
・,BD8の内のそれぞれ1ビットを出力し、同一位の
ビットを合わせてビットデータBD1,BD2,・・
・,BD8として出力する。例えば、MUX31,3
2,33,34のそれぞれ最下位ビットを合わせてビッ
トデータBD1として出力し、第2位ビットを合わせて
ビットデータBD2として出力する。以下、同様にして
最上位ビットを合わせてビットデータBD8として出力
する。
Thus, each of the MUXs 31, 32, 33, 34 has eight bit data BD1, BD2, ...
.., each one bit of BD8 is output, and bit data BD1, BD2, ..
., Output as BD8. For example, MUX31,3
The least significant bits of 2, 33 and 34 are combined and output as bit data BD1, and the second least significant bits are combined and output as bit data BD2. Thereafter, similarly, the most significant bits are combined and output as bit data BD8.

【0040】次に、図3に示す加算手段40aについ
て、図5乃至図8を用いて説明する。図5は加算手段4
0aの構成を示す図である。図6は入力ビット数と1ビ
ット全加算器の個数等との関係を示す図である。図7
は、図6の入力ビット数に対応する1ビット全加算器の
接続関係を示す図であって、図7(A)には3ビット入
力の場合を、図7(B)には4ビット入力の場合を、図
7(C)には6ビット入力の場合を、図7(D)には7
ビット入力の場合を、図7(E)には9ビット入力の場
合を、図7(F)には10ビット入力の場合をそれぞれ
示す。図8は1ビット全加算器の真理値表を示す図であ
る。
Next, the adding means 40a shown in FIG. 3 will be described with reference to FIGS. FIG. 5 shows addition means 4
It is a figure which shows the structure of 0a. FIG. 6 is a diagram showing the relationship between the number of input bits and the number of 1-bit full adders. Figure 7
7A and 7B are diagrams showing connection relations of 1-bit full adders corresponding to the number of input bits in FIG. 6, where 3-bit input is shown in FIG. 7A and 4-bit input is shown in FIG. 7B. 7C, 6-bit input is shown in FIG. 7C, and 7-bit input is shown in FIG. 7D.
In the case of bit input, FIG. 7E shows the case of 9-bit input, and FIG. 7F shows the case of 10-bit input. FIG. 8 is a diagram showing a truth table of the 1-bit full adder.

【0041】図5において、加算手段40aは、加算器
列41,42及び桁上げ先見加算器43の各要素から構
成される。加算器列41は各4ビットのビットデータB
D1,BD2,・・・,BD8を受けて1ビット全加算
を行い、2ビットの第1加算データと1ビットの第1桁
上げデータを出力する8個のビット加算器411,41
2,・・・,418から構成される。
In FIG. 5, the adding means 40a is composed of the elements of the adder arrays 41 and 42 and the carry lookahead adder 43. The adder string 41 is bit data B of 4 bits each.
Eight bit adders 411, 41 that receive D1, BD2, ..., BD8 and perform 1-bit full addition to output 2-bit first addition data and 1-bit first carry data
2, ..., 418.

【0042】加算器列42は、8個のビット加算器42
1,422,・・・,428から構成される。具体的に
は、ビット加算器421はビット加算器411から出力
された2ビットの第1加算データを受けて1ビット全加
算を行い、1ビットの第2加算データと1ビットの第2
桁上げデータを出力する。なお、このビット加算器42
1から出力される1ビットの第2加算データは、1ビッ
トの算術結果AD1になる。
The adder train 42 includes eight bit adders 42.
1, 422, ..., 428. Specifically, the bit adder 421 receives the 2-bit first addition data output from the bit adder 411, performs 1-bit full addition, and performs the 1-bit second addition data and the 1-bit second addition data.
Output carry data. The bit adder 42
The 1-bit second addition data output from 1 becomes the 1-bit arithmetic result AD1.

【0043】また、ビット加算器422はビット加算器
411から出力された1ビットの第1桁上げデータとビ
ット加算器412から出力された2ビットの第1加算デ
ータとの3ビットデータを受けて1ビット全加算を行
い、1ビットの第2加算データと1ビットの第2桁上げ
データを出力する。さらに、ビット加算器423はビッ
ト加算器412から出力された1ビットの第1桁上げデ
ータとビット加算器413から出力された2ビットの第
1加算データとの3ビットデータを受けて1ビット全加
算を行い、1ビットの第2加算データと1ビットの第2
桁上げデータを出力する。
The bit adder 422 receives the 3-bit data of the 1-bit first carry data output from the bit adder 411 and the 2-bit first addition data output from the bit adder 412. 1-bit full addition is performed and 1-bit second addition data and 1-bit second carry data are output. Further, the bit adder 423 receives the 3-bit data of the 1-bit first carry data output from the bit adder 412 and the 2-bit first addition data output from the bit adder 413, and receives the entire 1-bit data. Addition is performed and 1-bit second addition data and 1-bit second addition data
Output carry data.

【0044】同様に、ビット加算器424,425,・
・・,428は、それぞれビット加算器413,41
4,・・・,417から出力された1ビットの第1桁上
げデータとビット加算器414,415,・・・,41
8から出力された2ビットの第1加算データとの3ビッ
トデータを受けて1ビット全加算を行い、1ビットの第
2加算データと1ビットの第2桁上げデータを出力す
る。
Similarly, the bit adders 424, 425, ...
.., 428 are respectively bit adders 413, 41
, ..., 417 1-bit first carry data and bit adders 414, 415 ,.
It receives 3-bit data from the 2-bit first addition data output from 8 and performs 1-bit full addition, and outputs 1-bit second addition data and 1-bit second carry data.

【0045】桁上げ先見加算器43は、加算器列42か
ら出力された1ビットの加算データ及び1ビットの桁上
げデータを受けてビットスライスを行い、8ビットの算
術結果AD2,AD3,・・・,AD9を出力する。具
体的には、ビット加算器421から出力された1ビット
の第2桁上げデータとビット加算器422から出力され
た1ビットの第2加算データを受けてビットスライスを
行い、1ビットの算術結果AD2を出力する。また、ビ
ット加算器422から出力された1ビットの第2桁上げ
データとビット加算器423から出力された1ビットの
第2加算データを受けてビットスライスを行い、1ビッ
トの算術結果AD3を出力する。
The carry look-ahead adder 43 receives the 1-bit addition data and the 1-bit carry data output from the adder array 42 and performs bit slicing to obtain 8-bit arithmetic results AD2, AD3 ,. ., Outputs AD9. Specifically, the 1-bit second carry data output from the bit adder 421 and the 1-bit second addition data output from the bit adder 422 are bit-sliced to obtain a 1-bit arithmetic result. Output AD2. Further, it receives the 1-bit second carry data output from the bit adder 422 and the 1-bit second addition data output from the bit adder 423, performs bit slicing, and outputs a 1-bit arithmetic result AD3. To do.

【0046】同様に、ビット加算器423,424,・
・・,428から出力された1ビットの第2桁上げデー
タとビット加算器423,424,・・・,428から
出力された1ビットの第2加算データを受けてビットス
ライスを行い、それぞれ1ビットの算術結果AD4,A
D5,・・・,AD9を出力する。
Similarly, the bit adders 423, 424, ...
.., 428, 1-bit second carry data and 1-bit second adder data output from bit adders 423, 424 ,. Bit arithmetic result AD4, A
D5, ..., AD9 are output.

【0047】このように、論理回路で構成された桁上げ
先見加算器43を用いることによって、桁上げのための
伝播時間が短縮されるため、より高速に算術演算を行う
ことができる。
As described above, by using the carry look-ahead adder 43 composed of the logic circuit, the propagation time for carry is shortened, and thus the arithmetic operation can be performed at higher speed.

【0048】図6において、関係テーブル400は図5
に示す16個のビット加算器411乃至428等のビッ
ト加算器における入力ビット数と、1ビット全加算器の
個数、加算データのビット数及び桁上げのビット数との
関係を示すテーブルである。
In FIG. 6, the relationship table 400 is shown in FIG.
6 is a table showing the relationship between the number of input bits in the 16 bit adders 411 to 428 and the like shown in FIG. 1, the number of 1-bit full adders, the number of addition data bits, and the number of carry bits.

【0049】関係テーブル400において、図面左側か
ら第1列には入力ビット数401を、第2列には1ビッ
ト全加算器の個数402を、第3列には加算データのビ
ット数403を、第4列には桁上げのビット数404を
それぞれ示す。
In the relationship table 400, from the left side of the drawing, the number of input bits 401 is shown in the first column, the number of 1-bit full adders 402 is shown in the second column, and the number of bits of added data 403 is shown in the third column. The number of carry bits 404 is shown in the fourth column.

【0050】例えば、図5に示す2ビット入力のビット
加算器421は405行に対応し、3ビット入力のビッ
ト加算器422,423,・・・,428は400a行
に対応する。いずれも1ビット全加算器の個数402は
「1」であり、加算データのビット数403は「1」で
あり、桁上げのビット数404は「1」である。
For example, the 2-bit input bit adder 421 shown in FIG. 5 corresponds to 405 rows, and the 3-bit input bit adders 422, 423, ..., 428 correspond to 400a row. In both cases, the number of 1-bit full adders 402 is "1", the number of bits 403 of addition data is "1", and the number of carry bits 404 is "1".

【0051】同様に、図5に示す4ビット入力のビット
加算器411,412,・・・,418は400b行に
対応し、1ビット全加算器の個数402は「1」であ
り、加算データのビット数403は「2」であり、桁上
げのビット数404は「1」である。こうして、関係テ
ーブル400によって、入力ビット数に対応するビット
加算器の出力ビット数が分かる。
Similarly, the 4-bit input bit adders 411, 412, ..., 418 shown in FIG. 5 correspond to the 400b row, and the number 402 of 1-bit full adders is "1". The number of bits 403 of is "2", and the number of carry bits 404 is "1". In this way, the relation table 400 shows the number of output bits of the bit adder corresponding to the number of input bits.

【0052】図7は、上記関係テーブル400の400
a行,400b行,400c行,400d行,400e
行,400f行に対応する1ビット全加算器の接続関係
を示す図である。以下、図7(A)乃至図7(F)の各
図について説明する。
FIG. 7 shows 400 of the relationship table 400.
Row a, 400b, 400c, 400d, 400e
It is a figure which shows the connection relation of the 1-bit full adder corresponding to a row and 400f row. Hereinafter, each drawing of FIGS. 7A to 7F will be described.

【0053】図7(A)では、関係テーブル400の4
00a行に対応して、1ビット全加算器501の接続が
なされる。具体的には、ビットデータi0,i1,i2
の3ビットデータを1ビット全加算器501が受けて、
和データs及び桁上げデータcoを出力する。なお、入
力ビット数が2ビットの場合は例えばビットデータi2
に強制的に「0」を入力すればよい。
In FIG. 7A, 4 of the relation table 400 is used.
The 1-bit full adder 501 is connected corresponding to the 00a row. Specifically, the bit data i0, i1, i2
1-bit full adder 501 receives the 3-bit data of
The sum data s and the carry data co are output. If the number of input bits is 2 bits, for example, the bit data i2
Forcibly enter "0".

【0054】図7(B)では、関係テーブル400の4
00b行に対応して、1ビット全加算器502の接続が
なされる。具体的には、ビットデータi0,i1,i2
の3ビットデータを1ビット全加算器502が受けて、
和データs0及び桁上げデータc0を出力し、ビットデ
ータi3はそのまま和データs1として出力する。
In FIG. 7B, 4 in the relation table 400
The 1-bit full adder 502 is connected corresponding to the 00b row. Specifically, the bit data i0, i1, i2
1-bit full adder 502 receives the 3-bit data of
The sum data s0 and the carry data c0 are output, and the bit data i3 is output as it is as the sum data s1.

【0055】図7(C)では、関係テーブル400の4
00c行に対応して、1ビット全加算器503,504
の接続がなされる。具体的には、ビットデータi0,i
1,i2の3ビットデータを1ビット全加算器503が
受けて和データs0及び桁上げデータc0を出力し、ビ
ットデータi3,i4,i5の3ビットデータを1ビッ
ト全加算器504が受けて和データs1及び桁上げデー
タc1を出力する。なお、入力ビット数が5ビットの場
合は例えばビットデータi5に強制的に「0」を入力す
ればよい。
In FIG. 7C, 4 of the relation table 400 is used.
1-bit full adders 503 and 504 corresponding to row 00c
Is connected. Specifically, the bit data i0, i
The 1-bit full adder 503 receives the 3-bit data 1 and i2 and outputs the sum data s0 and the carry data c0. The 1-bit full adder 504 receives the 3-bit data i3, i4 and i5. The sum data s1 and the carry data c1 are output. When the number of input bits is 5, for example, “0” may be forcibly input to the bit data i5.

【0056】図7(D)では、関係テーブル400の4
00d行に対応して、1ビット全加算器505,506
の接続がなされる。具体的には、ビットデータi0,i
1,i2の3ビットデータを1ビット全加算器505が
受けて和データs0及び桁上げデータc0を出力し、ビ
ットデータi3,i4,i5の3ビットデータを1ビッ
ト全加算器506が受けて和データs1及び桁上げデー
タc1を出力し、ビットデータi7はそのまま和データ
s2として出力する。
In FIG. 7D, 4 of the relation table 400 is used.
1-bit full adders 505 and 506 corresponding to row 00d
Is connected. Specifically, the bit data i0, i
The 1-bit full adder 505 receives the 3-bit data 1 and i2 and outputs the sum data s0 and the carry data c0, and the 1-bit full adder 506 receives the 3-bit data i3, i4 and i5. The sum data s1 and the carry data c1 are output, and the bit data i7 is output as it is as the sum data s2.

【0057】図7(E)では、関係テーブル400の4
00e行に対応して、1ビット全加算器507,50
8,509の接続がなされる。具体的には、ビットデー
タi0,i1,i2の3ビットデータを1ビット全加算
器507が受けて和データs0及び桁上げデータc0を
出力し、ビットデータi3,i4,i5の3ビットデー
タを1ビット全加算器508が受けて和データs1及び
桁上げデータc1を出力し、ビットデータi6,i7,
i8の3ビットデータを1ビット全加算器509が受け
て和データs2及び桁上げデータc2を出力する。な
お、入力ビット数が8ビットの場合は例えばビットデー
タi8に強制的に「0」を入力すればよい。
In FIG. 7E, 4 of the relation table 400 is used.
1-bit full adders 507 and 50 corresponding to row 00e
8,509 connections are made. Specifically, the 1-bit full adder 507 receives the 3-bit data of the bit data i0, i1, i2, outputs the sum data s0 and the carry data c0, and outputs the 3-bit data of the bit data i3, i4, i5. The 1-bit full adder 508 receives the sum data s1 and the carry data c1, and outputs the bit data i6, i7,
The 1-bit full adder 509 receives the 3-bit data of i8 and outputs the sum data s2 and the carry data c2. When the number of input bits is 8 bits, for example, “0” may be forcibly input to the bit data i8.

【0058】図7(F)では、関係テーブル400の4
00f行に対応して、1ビット全加算器510,51
1,512の接続がなされる。具体的には、ビットデー
タi0,i1,i2の3ビットデータを1ビット全加算
器510が受けて和データs0及び桁上げデータc0を
出力し、ビットデータi3,i4,i5の3ビットデー
タを1ビット全加算器511が受けて和データs1及び
桁上げデータc1を出力し、ビットデータi6,i7,
i8の3ビットデータを1ビット全加算器512が受け
て和データs2及び桁上げデータc2を出力し、ビット
データi9はそのまま和データs3として出力する。
In FIG. 7F, 4 of the relationship table 400 is used.
1-bit full adders 510, 51 corresponding to 00f row
1, 512 connections are made. Specifically, the 1-bit full adder 510 receives the 3-bit data of the bit data i0, i1, i2, outputs the sum data s0 and the carry data c0, and outputs the 3-bit data of the bit data i3, i4, i5. The 1-bit full adder 511 receives the sum data s1 and the carry data c1, and outputs the bit data i6, i7,
The 1-bit full adder 512 receives the 3-bit data of i8 and outputs the sum data s2 and the carry data c2. The bit data i9 is directly output as the sum data s3.

【0059】図8には図7に示す1ビット全加算器50
1,502,・・・,512の真理値表600を示す。
真理値表600は図面左欄の入力601と図面右欄の出
力602からなる。入力601には、図面左側から第1
列に入力端子aに入力されるビットデータを、第2列に
入力端子bに入力されるビットデータを、第3列に入力
端子ciに入力されるビットデータを示す。また、出力
602には、図面左側から第1列に和データsのビット
データを、第2列に桁上げデータcoのビットデータを
示す。
FIG. 8 shows the 1-bit full adder 50 shown in FIG.
A truth table 600 of 1,502, ..., 512 is shown.
The truth table 600 includes an input 601 in the left column of the drawing and an output 602 in the right column of the drawing. Input 601 is first from the left side of the drawing.
The column shows the bit data inputted to the input terminal a, the second column shows the bit data inputted to the input terminal b, and the third column shows the bit data inputted to the input terminal ci. In the output 602, the bit data of the sum data s is shown in the first column from the left side of the drawing, and the bit data of the carry data co is shown in the second column.

【0060】例えば、603行では、入力端子aにビッ
トデータ「0」が入力され、入力端子b及び入力端子c
iにビットデータ「1」が入力された場合、和データs
のビットデータ「0」を、桁上げデータcoのビットデ
ータ「1」を出力することを示す。
For example, in line 603, bit data "0" is input to the input terminal a, and the input terminal b and the input terminal c are input.
When bit data “1” is input to i, sum data s
Bit data "0" of the carry data co is output.

【0061】図9は図5に示す加算手段40の他の構成
を示す図であって、パイプラインレジスタ(pipeline r
egister )を設けた場合の構成を示す図である。図にお
いて、加算手段40aは、加算器列41,42及び桁上
げ先見加算器43、パイプラインレジスタ51,52,
53,54の各要素から構成される。なお、図3及び図
5と同一の要素には同一番号を付し、説明を省略する。
FIG. 9 is a diagram showing another configuration of the adding means 40 shown in FIG. 5, which is a pipeline register (pipeline r).
It is a figure which shows the structure at the time of providing egister). In the figure, the adding means 40a includes adder strings 41 and 42, a carry look-ahead adder 43, pipeline registers 51 and 52,
It is composed of 53 and 54 elements. The same elements as those in FIGS. 3 and 5 are designated by the same reference numerals, and the description thereof will be omitted.

【0062】ここで、パイプラインレジスタ51は図示
するように、図3に示す割付手段30aと加算器列41
との間に接続する。同様に、パイプラインレジスタ52
は加算器列41と加算器列42との間に接続し、パイプ
ラインレジスタ53は加算器列42と先見加算器43と
の間に接続し、パイプラインレジスタ54は先見加算器
43と出力端との間に接続する。
Here, the pipeline register 51 is, as shown in the figure, the allocating means 30a and the adder array 41 shown in FIG.
Connect between and. Similarly, the pipeline register 52
Is connected between the adder train 41 and the adder train 42, the pipeline register 53 is connected between the adder train 42 and the look-ahead adder 43, and the pipeline register 54 is connected to the look-ahead adder 43 and the output end. Connect between and.

【0063】このように、パイプラインレジスタ51,
52,53,54を加算器列等の間に設けることにより
パイプライン処理を行うことができ、より算術演算を高
速化することができる。
In this way, the pipeline registers 51,
By providing 52, 53, and 54 between the adder arrays or the like, pipeline processing can be performed, and the arithmetic operation can be further speeded up.

【0064】以上の説明では、本発明の高速演算装置に
ついて図2に示すレジスタ群201のレジスタ数を4個
とし、データバスDBを介して受ける数値データは4ビ
ットのデータビット幅とし、制御装置100から受ける
制御信号CS2は2ビットの制御ビット幅としたが、算
術演算の対象に応じてレジスタ群201のレジスタ数や
数値データのデータビット幅及び制御信号CS2の制御
ビット幅を増減することもできる。この場合に、数値デ
ータの数と加算段数との関係は図10のようになる。
In the above description, regarding the high-speed arithmetic device of the present invention, the number of registers of the register group 201 shown in FIG. 2 is 4, and the numerical data received via the data bus DB has a data bit width of 4 bits. The control signal CS2 received from 100 has a control bit width of 2 bits, but the number of registers in the register group 201, the data bit width of numerical data, and the control bit width of the control signal CS2 may be increased or decreased according to the target of the arithmetic operation. it can. In this case, the relationship between the number of numerical data and the number of addition stages is as shown in FIG.

【0065】すなわち、上記の説明では、図10の関係
テーブル700における701行に示すように、図面右
列の数値データの数が「4」であるとき、図面左列の加
算段数は「2」、つまり図5に示す加算器列41,42
になる。例えば、数値データの数が「8」の場合は、7
02行に示すように加算段数は4段必要になる。
That is, in the above description, as shown in row 701 of the relationship table 700 of FIG. 10, when the number of numerical data in the right column of the drawing is “4”, the number of addition stages in the left column of the drawing is “2”. That is, the adder arrays 41 and 42 shown in FIG.
become. For example, if the number of numerical data is "8", 7
As shown in line 02, the number of addition stages is required to be four.

【0066】次に、本発明の他の実施例について説明す
る。図11は、本発明の第2の実施例を示す図である。
図1と異なるのは、記憶手段10とレジスタ21,2
2,・・・,2nとの間に、さらにメモリ管理手段60
を設けた点である。なお、図1と同一の要素には同一番
号を付し、説明を省略する。
Next, another embodiment of the present invention will be described. FIG. 11 is a diagram showing a second embodiment of the present invention.
The difference from FIG. 1 is that the storage means 10 and the registers 21, 2 are
2, ..., 2n between the memory management means 60
That is the point. The same elements as those in FIG. 1 are designated by the same reference numerals and the description thereof will be omitted.

【0067】図において、メモリ管理手段60は、レジ
スタ21,22,・・・,2nの数に応じて数値データ
D1,D2,・・・,Dmを出力するとともに、加算手
段40から出力された算術結果ADを記憶手段10へ格
納する等の算術演算に必要なデータの入出力を管理す
る。
In the figure, the memory management means 60 outputs numerical data D1, D2, ..., Dm according to the number of registers 21, 22 ,. It manages the input / output of data required for arithmetic operations such as storing the arithmetic result AD in the storage means 10.

【0068】例えば、図3のレジスタ21a,22a,
23a,24aのようにレジスタが4個であって、6つ
の加算演算子を含む算術演算「D1+D2+D3+D4
+D5+D6+D7」を行う場合、メモリ管理手段60
は次のような処理手順により上記算術演算を行う。
For example, the registers 21a, 22a,
The arithmetic operation "D1 + D2 + D3 + D4" which has four registers like 23a and 24a and includes six addition operators.
+ D5 + D6 + D7 ”, the memory management means 60
Performs the above arithmetic operation according to the following processing procedure.

【0069】まず、記憶手段10に格納されている数値
データD1,D2,D3,D4,D5,D6,D7の中
で、レジスタ21aに数値データD1を、レジスタ22
aに数値データD2を、レジスタ23aに数値データD
3を、レジスタ24aに数値データD4を、それぞれ出
力して算術演算「D1+D2+D3+D4」を行う。そ
して、得られた算術結果AD1を記憶手段10へ格納す
る。
First, of the numerical data D1, D2, D3, D4, D5, D6, D7 stored in the storage means 10, the numerical data D1 is stored in the register 21a and the register 22 is stored.
The numerical data D2 is stored in a and the numerical data D is stored in the register 23a.
3 is output to the register 24a, and the numerical data D4 is output to the arithmetic operation "D1 + D2 + D3 + D4". Then, the obtained arithmetic result AD1 is stored in the storage means 10.

【0070】次に、記憶手段10へ格納した算術結果A
Dを受けて、新たにレジスタ21aに数値データAD1
として出力し、レジスタ22aに数値データD5を、レ
ジスタ23aに数値データD6を、レジスタ24aに数
値データD7を、それぞれ出力して算術演算「AD+D
5+D6+D7」を行う。こうして得られた算術結果A
Dが、求める算術演算「D1+D2+D3+D4+D5
+D6+D7」の結果である。
Next, the arithmetic result A stored in the storage means 10
Upon receiving D, the numerical data AD1 is newly added to the register 21a.
To output the numerical data D5 to the register 22a, the numerical data D6 to the register 23a, and the numerical data D7 to the register 24a.
5 + D6 + D7 ”. Arithmetic result A thus obtained
D is the desired arithmetic operation "D1 + D2 + D3 + D4 + D5
+ D6 + D7 ”.

【0071】このため、上記処理手順を繰り返すことに
よって、レジスタ21,22,・・・,2nの数に制限
されることなく、数値データD1,D2,・・・,Dm
の数に応じて算術演算を行うことができる。
Therefore, by repeating the above processing procedure, the numerical data D1, D2, ..., Dm are not limited to the numbers of the registers 21, 22 ,.
Arithmetic operations can be performed according to the number of.

【0072】図12は、本発明の第3の実施例を示す図
である。図1と異なるのは、レジスタ21,22,・・
・,2nと割付手段30との間に、さらにレジスタ2
1,22,・・・,2nに対応して補数回路71,7
2,・・・,7nを設けた点である。なお、図1と同一
の要素には同一番号を付し、説明を省略する。
FIG. 12 is a diagram showing a third embodiment of the present invention. The difference from FIG. 1 is that the registers 21, 22, ...
.., 2n and the allocating means 30 between the register 2
Complement circuits 71 and 7 corresponding to 1, 2 ...
2, ..., 7n are provided. The same elements as those in FIG. 1 are designated by the same reference numerals and the description thereof will be omitted.

【0073】補数回路71,72,・・・,7nはレジ
スタ21,22,・・・,2nごとに対応して2の補数
を求めるので、数値データD1,D2,・・・,Dmが
負の数の場合でも所望の算術演算を行うことができる。
The complement circuits 71, 72, ..., 7n obtain the two's complement corresponding to each of the registers 21, 22, .., 2n, so that the numerical data D1, D2 ,. The desired arithmetic operation can be performed even with the number of.

【0074】図13は、本発明の第4の実施例を示す図
である。図1と異なるのは、レジスタ21,22,・・
・,2nと割付手段30との間に、さらに部分積算出手
段80を設けた点である。なお、図1と同一の要素には
同一番号を付し、説明を省略する。
FIG. 13 is a diagram showing a fourth embodiment of the present invention. The difference from FIG. 1 is that the registers 21, 22, ...
.., 2n and the allocating means 30 are further provided with a partial product calculating means 80. The same elements as those in FIG. 1 are designated by the same reference numerals and the description thereof will be omitted.

【0075】例えば、4ビットのビットデータ幅をなす
数値データD1,D2,D3,D4,D5,D6につい
て、積和演算を含む算術演算「D1×D2+D3×D4
+D5×D6」を行う場合、部分積算出手段80は「D
1×D2」,「D3×D4」,「D5×D6」の部分積
ZDを求めて出力する。
For example, for the numerical data D1, D2, D3, D4, D5, D6 having a bit data width of 4 bits, an arithmetic operation "D1.times.D2 + D3.times.D4" including a product sum operation is performed.
+ D5 × D6 ”, the partial product calculating means 80 uses“ D
The partial product ZD of 1 × D2 ”,“ D3 × D4 ”, and“ D5 × D6 ”is obtained and output.

【0076】部分積ZDを受けた割付手段30が部分積
ZDのビットデータごとに、ビットデータBDを割り付
け、加算手段40がビットデータBDごとに加算を行う
ことにより、積和演算を含む算術演算「D1×D2+D
3×D4+D5×D6」の算術結果ADが出力される。
The allocating means 30 receiving the partial product ZD allocates the bit data BD for each bit data of the partial product ZD, and the adding means 40 performs addition for each bit data BD, thereby performing an arithmetic operation including a product-sum operation. "D1 x D2 + D
The arithmetic result AD of “3 × D4 + D5 × D6” is output.

【0077】図14は部分積算出手段80の一構成を示
す図であって、積和演算を含む算術演算「D1×D2+
D3×D4+D5×D6」のうち、算術演算「D1×D
2」を求める場合を示す。なお、数値データD1を被乗
数、数値データD2を乗数とする。
FIG. 14 is a diagram showing a configuration of the partial product calculating means 80, which is an arithmetic operation "D1 × D2 +" including a product sum operation.
D3 × D4 + D5 × D6 ”, the arithmetic operation“ D1 × D
2 ”is shown. The numerical data D1 is the multiplicand and the numerical data D2 is the multiplier.

【0078】図において、ブース回路81,82には、
4ビットのビットデータ幅をなす数値データD1が並列
して入力される。また、ブース回路81には4ビットの
ビットデータ幅をなす数値データD2の上位3ビットが
入力され、ブース回路81には数値データD2の下位2
ビットが入力される。そして、ブース回路81からは部
分積z1及び桁上げデータc1が出力され、ブース回路
82からは部分積z2及び桁上げデータc2が出力され
る。なお、他の算術演算「D3×D4」,「D5×D
6」についても同様な構成をとることによって、積和演
算を含む算術演算「D1×D2+D3×D4+D5×D
6」を同時に行うことができる。
In the figure, the booth circuits 81 and 82 include
Numerical data D1 having a 4-bit bit data width is input in parallel. The upper 3 bits of the numerical data D2 having a 4-bit bit data width are input to the booth circuit 81, and the lower 2 of the numerical data D2 are input to the booth circuit 81.
Bit is input. The booth circuit 81 outputs the partial product z1 and the carry data c1, and the booth circuit 82 outputs the partial product z2 and the carry data c2. In addition, other arithmetic operations “D3 × D4”, “D5 × D”
6 "also has the same configuration, whereby the arithmetic operation" D1 × D2 + D3 × D4 + D5 × D "including the product-sum operation is performed.
6 ”can be performed simultaneously.

【0079】したがって、部分積算出手段80は部分積
ZDを求めるので、積和演算を含む算術演算を高速に行
うことができる。この部分積ZDを求める方法は上述し
たブースの方法が知られており、図15にブース回路の
ブロック図及び真理値表を示す。
Therefore, since the partial product calculating means 80 obtains the partial product ZD, the arithmetic operation including the product-sum operation can be performed at high speed. As the method of obtaining this partial product ZD, the above-mentioned Booth method is known, and FIG. 15 shows a block diagram of the Booth circuit and a truth table.

【0080】図15はブース回路の構成を示す図であ
り、図15(A)にはブロック図を、図15(B)には
真理値表をそれぞれ示す。図15(A)において、ブー
ス回路80aは例えば4ビット等の所定のデータビット
幅データをなす被乗数xと、3ビットの乗数(y2k-1
2k,y2k+1)とを受けて、部分積z及び2ビットの桁
上げc(0,0),c(1,1)を出力する。
FIG. 15 is a diagram showing the configuration of the booth circuit. FIG. 15A shows a block diagram and FIG. 15B shows a truth table. In FIG. 15A, the Booth circuit 80a has a multiplicand x forming a predetermined data bit width data of, for example, 4 bits, and a multiplier of 3 bits (y 2k-1 ,
y 2k , y 2k + 1 ) and outputs a partial product z and a 2-bit carry c (0,0), c (1,1).

【0081】図15(B)において、入出力テーブル8
00は上記ブース回路80aの真理値表である。例え
ば、801行では乗数(y2k-1,y2k,y2k+1)として
(0,1,1)をブース回路80aが受けると、部分積
zは被乗数xの−1倍した−xを、桁上げc(0,0)は
「0」を、桁上げc(1,1)は「1」をそれぞれ出力する。
In FIG. 15B, the input / output table 8
00 is a truth table of the booth circuit 80a. For example, the multiplier is 801 rows (y 2k-1, y 2k , y 2k + 1) when the (0,1,1) booth circuit 80a receives, -1 times the -x partial product z, multiplicand x , Carry c (0,0) outputs "0", and carry c (1,1) outputs "1".

【0082】上記の説明では、記憶手段10にはアドレ
スバスAB等を介して接続される主記憶装置を適用した
が、プロセッサ内に構成するキャッシュメモリを適用し
てもよい。キャッシュメモリを用いることによってバス
アクセスがなくなるので、より高速に算術演算を行うこ
とができる。
In the above description, the main storage device connected via the address bus AB or the like is applied to the storage means 10, but a cache memory configured in the processor may be applied. Since the bus access is eliminated by using the cache memory, the arithmetic operation can be performed at a higher speed.

【0083】また、割付手段30には一以上のマルチプ
レクサで構成したが、ダイレクト結線によりビットデー
タの割り付けを行うように構成してもよい。この場合、
マルチプレクサを駆動するためのクロックが不要になる
ので、より高速に算術演算を行うことができる。
Further, although the allocating means 30 is composed of one or more multiplexers, it may be composed so as to allocate bit data by direct connection. in this case,
Since a clock for driving the multiplexer is unnecessary, it is possible to perform arithmetic operation at higher speed.

【0084】[0084]

【発明の効果】以上説明したように本発明では、記憶手
段から受けた数値データをレジスタが一時的に保持し、
割付手段が数値データのビットごとにビットデータを割
り付け、加算手段が割り付けられたビットデータごとに
加算を行うように構成したので、2以上の四則演算子を
含む算術演算を同時に行うことができる。このため、算
術演算を高速化することができる。
As described above, according to the present invention, the register temporarily holds the numerical data received from the storage means,
Since the allocating means allocates bit data for each bit of the numerical data and the adding means performs addition for each allocated bit data, arithmetic operations including two or more arithmetic operators can be simultaneously performed. Therefore, the arithmetic operation can be speeded up.

【0085】このような構成の高速演算装置を備えたプ
ロセッサを計算機システムに用いることによって、安価
ながら、2以上の四則演算子を含む算術演算を同時に行
うことができる。
By using a processor equipped with a high-speed arithmetic unit having such a configuration in a computer system, it is possible to simultaneously perform arithmetic operations including two or more four arithmetic operators at a low cost.

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

【図1】本発明の原理説明図である。FIG. 1 is a diagram illustrating the principle of the present invention.

【図2】計算機システムにおけるプロセッサの基本構成
を示すブロック図である。
FIG. 2 is a block diagram showing a basic configuration of a processor in a computer system.

【図3】第1の実施例を示す図である。FIG. 3 is a diagram showing a first embodiment.

【図4】割付手段の構成を示す図である。FIG. 4 is a diagram showing a configuration of an allocation unit.

【図5】加算手段の構成を示す図である。FIG. 5 is a diagram showing a configuration of an addition unit.

【図6】入力ビット数と1ビット全加算器の個数等との
関係を示す図である。
FIG. 6 is a diagram showing a relationship between the number of input bits and the number of 1-bit full adders and the like.

【図7】図7の入力ビット数に対応する1ビット全加算
器の接続関係を示す図であり、(A)には3ビット入力
の場合を、(B)には4ビット入力の場合を、(C)に
は6ビット入力の場合を、(D)には7ビット入力の場
合を、(E)には9ビット入力の場合を、(F)には1
0ビット入力の場合をそれぞれ示す。
7 is a diagram showing a connection relationship of 1-bit full adders corresponding to the number of input bits in FIG. 7, where (A) shows a case of 3-bit input, and (B) shows a case of 4-bit input. , (C) for 6-bit input, (D) for 7-bit input, (E) for 9-bit input, and (F) for 1
The case of 0-bit input is shown.

【図8】1ビット全加算器の真理値表を示す図である。FIG. 8 is a diagram showing a truth table of a 1-bit full adder.

【図9】加算手段の他の構成を示す図である。FIG. 9 is a diagram showing another configuration of the adding means.

【図10】数値データの数と加算段数との関係を示す図
である。
FIG. 10 is a diagram showing a relationship between the number of numerical data and the number of addition stages.

【図11】第2の実施例を示す図である。FIG. 11 is a diagram showing a second embodiment.

【図12】第3の実施例を示す図である。FIG. 12 is a diagram showing a third embodiment.

【図13】第4の実施例を示す図である。FIG. 13 is a diagram showing a fourth embodiment.

【図14】部分積算出手段の一構成を示す図である。FIG. 14 is a diagram showing a configuration of a partial product calculating means.

【図15】ブース回路の構成を示す図であり、(A)に
はブロック図を、(B)には真理値表をそれぞれ示す。
FIG. 15 is a diagram showing a configuration of a Booth circuit, in which (A) is a block diagram and (B) is a truth table.

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

10 記憶手段 21,22,・・・,2n レジスタ 30 割付手段 40 加算手段 10 storage means 21, 22, ..., 2n register 30 allocation means 40 addition means

───────────────────────────────────────────────────── フロントページの続き (72)発明者 丸山 文宏 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内 ─────────────────────────────────────────────────── ─── Continuation of the front page (72) Fumihiro Maruyama 1015 Kamiodanaka, Nakahara-ku, Kawasaki-shi, Kanagawa Fujitsu Limited

Claims (8)

【特許請求の範囲】[Claims] 【請求項1】 計算機システムでの算術演算を高速に行
う高速演算装置において、 記憶手段(10)から受けた数値データ(D1,D2,
・・・,Dm)を一時的に保持するレジスタ(21,2
2,・・・,2n)と、 前記レジスタ(21,22,・・・,2n)から出力さ
れた数値データ(D1,D2,・・・,Dm)ごとに、
ビットデータ(BD)を割り付ける割付手段(30)
と、 前記割り付けられたビットデータ(BD)ごとに加算を
行なって、算術結果(AD)を出力する加算手段(4
0)と、 を有することを特徴とする高速演算装置。
1. A high-speed arithmetic device for high-speed arithmetic operation in a computer system, comprising: numerical data (D1, D2, D2) received from a storage means (10)
..., Dm) are temporarily stored in the registers (21, 2).
2, ..., 2n), and for each of the numerical data (D1, D2, ..., Dm) output from the registers (21, 22, ..., 2n),
Allocation means (30) for allocating bit data (BD)
And an addition unit (4) for performing addition for each of the allocated bit data (BD) and outputting an arithmetic result (AD).
0), and a high-speed arithmetic device characterized by the following.
【請求項2】 前記記憶手段(10)は、キャッシュメ
モリで構成したことを特徴とする請求項1記載の高速演
算装置。
2. The high-speed arithmetic unit according to claim 1, wherein said storage means (10) is composed of a cache memory.
【請求項3】 前記記憶手段(10)と前記レジスタ
(21,22,・・・,2n)との間に設けられ、前記
レジスタ(21,22,・・・,2n)の数に応じて前
記数値データ(D1,D2,・・・,Dm)を出力する
とともに、前記加算手段(40)から出力された前記算
術結果(AD)を前記記憶手段(10)へ格納する等の
算術演算に必要なデータの入出力を管理するメモリ管理
手段を、さらに有することを特徴とする請求項1記載の
高速演算装置。
3. The storage means (10) and the registers (21, 22, ..., 2n) are provided between the storage means (10) and the registers (21, 22 ,. For arithmetic operations such as outputting the numerical data (D1, D2, ..., Dm) and storing the arithmetic result (AD) output from the adding means (40) in the storage means (10). The high-speed arithmetic unit according to claim 1, further comprising a memory management unit that manages input / output of necessary data.
【請求項4】 前記レジスタ(21,22,・・・,2
n)と前記割付手段(30)との間に設けられ、前記レ
ジスタ(21,22,・・・,2n)ごとに対応して2
の補数を求める補数回路を、さらに有することを特徴と
する請求項1記載の高速演算装置。
4. The registers (21, 22, ..., 2)
n) and the allocating means (30), and 2 corresponding to each of the registers (21, 22, ..., 2n).
2. The high-speed arithmetic device according to claim 1, further comprising a complement circuit for obtaining the complement of the.
【請求項5】 前記レジスタ(21,22,・・・,2
n)と前記割付手段(30)との間に設けられ、ブース
の方法(Booth algorithm )による部分積を求める部分
積算出手段を、さらに有することを特徴とする請求項1
記載の高速演算装置。
5. The registers (21, 22, ..., 2)
n) and the allocating means (30), further comprising a partial product calculating means for calculating a partial product by Booth's method (Booth algorithm).
The described high speed computing device.
【請求項6】 前記割付手段(30)は、前記レジスタ
(21,22,・・・,2n)から出力された数値デー
タ(D1,D2,・・・,Dm)、及び前記数値データ
(D1,D2,・・・,Dm)を所定のビット幅でシフ
トした少なくとも一つの数値データを受けて、選択信号
に応じていずれかの数値データを選択して出力するマル
チプレクサを有することを特徴とする請求項1記載の高
速演算装置。
6. The allocating means (30) includes numerical data (D1, D2, ..., Dm) output from the registers (21, 22, ..., 2n) and the numerical data (D1). , D2, ..., Dm) having at least one numerical value data shifted by a predetermined bit width, and selecting and outputting any one of the numerical value data according to the selection signal. The high-speed arithmetic device according to claim 1.
【請求項7】 前記加算手段(40)は、パイプライン
レジスタ(pipelineregister )を有することを特徴と
する請求項1記載の高速演算装置。
7. The high-speed arithmetic unit according to claim 1, wherein said adding means (40) has a pipeline register.
【請求項8】 前記加算手段(40)は、桁上げ先見加
算器(Carry Look Ahead Adder)を有することを特徴と
する請求項1記載の高速演算装置。
8. The high-speed arithmetic unit according to claim 1, wherein the adding means (40) has a carry look ahead adder.
JP5058168A 1993-03-18 1993-03-18 High speed arithmetic unit Withdrawn JPH06274318A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5058168A JPH06274318A (en) 1993-03-18 1993-03-18 High speed arithmetic unit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5058168A JPH06274318A (en) 1993-03-18 1993-03-18 High speed arithmetic unit

Publications (1)

Publication Number Publication Date
JPH06274318A true JPH06274318A (en) 1994-09-30

Family

ID=13076474

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5058168A Withdrawn JPH06274318A (en) 1993-03-18 1993-03-18 High speed arithmetic unit

Country Status (1)

Country Link
JP (1) JPH06274318A (en)

Similar Documents

Publication Publication Date Title
US4168530A (en) Multiplication circuit using column compression
US3993891A (en) High speed parallel digital adder employing conditional and look-ahead approaches
EP0448367B1 (en) High speed digital parallel multiplier
EP0468820B1 (en) Data processing system for single-precision and double-precision data
US20210349692A1 (en) Multiplier and multiplication method
US4130878A (en) Expandable 4 × 8 array multiplier
JPH06208456A (en) Cpu with integrated multiplication / accumulation unit
US5457805A (en) Microcomputer enabling high speed execution of product-sum operation
JPH0831025B2 (en) Multiplication circuit
US6018758A (en) Squarer with diagonal row merged into folded partial product array
US4366549A (en) Multiplier with index transforms modulo a prime or modulo a fermat prime and the fermat prime less one
JP3256251B2 (en) Multiplier
EP0670061B1 (en) Enhanced fast multiplier
JPH06236255A (en) Parallel carry generation network, parallel adder network, carry generation module, multibit adder network and modular carry propagation unit
WO1995005633A2 (en) Carry-look-ahead adder with reduces number of stages
EP0344226B1 (en) High-speed digital adding system
US6282557B1 (en) Low latency fused multiply-adder
JPH06274318A (en) High speed arithmetic unit
US5072419A (en) Binary tree multiplier constructed of carry save adders having an area efficient floor plan
US5283755A (en) Multiplier employing carry select or carry look-ahead adders in hierarchical tree configuration
US5777915A (en) Multiplier apparatus and method for real or complex numbers
JP4436412B2 (en) Adder, synthesizing apparatus, synthesizing method, synthesizing program, synthesizing program recording medium
US6076098A (en) Adder for generating sum and sum plus one in parallel
KR20230122975A (en) Method and apparatus for floating-point data type matrix multiplication based on outer product
RU2001428C1 (en) Adding device

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20000530