JPH11119979A - Parallel addition / subtraction circuit - Google Patents
Parallel addition / subtraction circuitInfo
- Publication number
- JPH11119979A JPH11119979A JP28396997A JP28396997A JPH11119979A JP H11119979 A JPH11119979 A JP H11119979A JP 28396997 A JP28396997 A JP 28396997A JP 28396997 A JP28396997 A JP 28396997A JP H11119979 A JPH11119979 A JP H11119979A
- Authority
- JP
- Japan
- Prior art keywords
- addition
- subtraction
- carry
- circuit
- unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Abstract
(57)【要約】
【課題】 高速の並列加減算回路を提供することであ
る。
【解決手段】 並列加減算を行うことの出来るキャリー
セレクト型加減算回路で、上位の演算回路に対して,下
位からのキャリーとして全て0を与えることにより、1
対の演算回路が同一の演算を行い、前記複数の演算回路
の演算結果は分離され、夫々の分割されたビット列毎の
演算結果が独立に得られる。
[PROBLEMS] To provide a high-speed parallel addition / subtraction circuit. SOLUTION: A carry select type addition / subtraction circuit capable of performing parallel addition / subtraction is provided with all 0s as carry from the lower side to a higher-order arithmetic circuit, thereby providing 1
The pair of operation circuits perform the same operation, the operation results of the plurality of operation circuits are separated, and the operation result for each of the divided bit strings is independently obtained.
Description
【0001】[0001]
【発明の属する技術分野】本発明は、加減算回路に関す
るもので、主に、マルチメディア機能をサポートするプ
ロセッサ等に使用される加減算回路を提供するものであ
る。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an addition / subtraction circuit, and more particularly to an addition / subtraction circuit used for a processor supporting a multimedia function.
【0002】[0002]
【従来の技術】従来の加減算回路として、キャリーセレ
クト型加減算回路がある。キャリーセレクト方式とは、
演算速度を速くするための方式で、上位ビットの演算
を、下位ビット加算回路のキャリーを待たずに、下位ビ
ット加算回路が出力する2通りのキャリーを定数とする
加算回路を用意し、2通りの加算結果を準備し、下位ビ
ット加算回路からのキャリーで2通りの同加算結果を選
択するもである。このようなキャリーセレクト型加減算
回路の基本的な構造というのは、例えば、「コンピュー
タの高速演算方式」(監訳者:掘越 彌、発行所:近代
科学社、発行日:昭和55年9月1日)に記載されてい
る。2. Description of the Related Art As a conventional addition / subtraction circuit, there is a carry select type addition / subtraction circuit. What is the carry select method?
In order to increase the operation speed, an upper-bit operation is performed without waiting for the carry of the lower-bit adder circuit. Are prepared, and two types of the same addition result are selected by carry from the lower bit addition circuit. The basic structure of such a carry-select type addition / subtraction circuit is, for example, a "high-speed computer system" (translator: Yasushi Kogoshi, publishing office: Modern Science Company, publication date: September 1, 1980) Date).
【0003】従来のキャリーセレクト型加減算回路とし
て、図6に示したようなものがある。このキャリーセレ
クト型加減算回路は、下位16ビットの加算回路111
と、上位16ビットの演算を行う2つの加算回路11
3、115からなり、それぞれ独立して16ビットの加
算を行うことができる。又、上位の16ビット加算回路
113、115の出力には、2つの上位加算回路の出力
をセレクトするセレクタ119があり、2つの上位16
ビット加算回路13、15にキャリーを入力するキャリ
ー制御回路111を介して、下位16ビットの加算回路
111からのキャリーに応じて、何れかの出力が選択さ
れる。As a conventional carry select type addition / subtraction circuit, there is one as shown in FIG. This carry-select type addition / subtraction circuit comprises an addition circuit 111 of lower 16 bits.
And two adder circuits 11 for performing the operation of the upper 16 bits
3 and 115, each of which can independently perform 16-bit addition. The outputs of the upper 16-bit addition circuits 113 and 115 include a selector 119 for selecting the outputs of the two upper addition circuits.
One of the lower 16 bits is selected according to the carry from the adder circuit 111 via the carry control circuit 111 for inputting the carry to the bit adder circuits 13 and 15.
【0004】このようなキャリーセレクト型加減算回路
を利用することにより、並列処理機能を付加する技術も
ある。この場合、上位ビット加算回路と下位ビット加算
回路とに、分割されている事から、上位ビット加算回路
へのキャリーを制御することで、複数の並列演算が可能
となる。例えば、一つの加算回路として使用する場合に
は、下位ビット加算回路のキャリーをそのまま上位ビッ
ト加算回路の入力とする。また、並列に加算する場合に
は、下位ビット加算回路からのキャリーを無視し、0を
上位ビット加算回路へ入力すれば、上位ビットだけの加
算結果が得られる。There is also a technique for adding a parallel processing function by using such a carry select type addition / subtraction circuit. In this case, since the upper bit addition circuit and the lower bit addition circuit are divided, a plurality of parallel operations can be performed by controlling the carry to the upper bit addition circuit. For example, when used as one adder circuit, the carry of the lower bit adder circuit is directly input to the upper bit adder circuit. In addition, when adding in parallel, if the carry from the lower bit addition circuit is ignored and 0 is input to the upper bit addition circuit, an addition result of only the upper bits can be obtained.
【0005】[0005]
【発明が解決しようとする課題】しかし、この従来の回
路の場合、上位ビット加算回路と下位ビット加算回路に
制御する回路を付加することで、一つの加算回路と使用
する場合に、付加した回路分の遅延が生ずる、この遅延
は、分割数が増すほど顕著になる。このため、高速な処
理を要求される場合は、大きな問題となっている。However, in the case of this conventional circuit, by adding a control circuit to the upper bit addition circuit and the lower bit addition circuit, the added circuit can be used when one addition circuit is used. Minute delay, which becomes more pronounced as the number of divisions increases. For this reason, when high-speed processing is required, it is a serious problem.
【0006】本発明の目的は、高速の加減算回路を提供
することである。An object of the present invention is to provide a high-speed addition / subtraction circuit.
【0007】本発明の目的は、効率的なキャリーセレク
ト型加減算回路を提供することである。An object of the present invention is to provide an efficient carry select type addition / subtraction circuit.
【0008】[0008]
【課題を解決するための手段】上記目的を達成するため
本発明による並列加算回路は、一つの加算器を複数に分
割し、並列に加算を行うものであり、分割した最小単位
の加算器に入る制御信号で、下位からのキャリーで選択
されている加算結果の加算内容を制御する事により、分
割単位を制御することを特徴とする。In order to achieve the above object, a parallel addition circuit according to the present invention divides one adder into a plurality of parts and performs addition in parallel. It is characterized in that the division unit is controlled by controlling the addition content of the addition result selected by the carry from the lower order by the input control signal.
【0009】又、好ましくは、制御信号の調整により、
分割単位が不均等な分割加算の実行を可能とする事を特
徴とする。Preferably, by adjusting the control signal,
It is characterized in that it is possible to execute division addition in which division units are unequal.
【0010】本発明の別の様相によれば、一つの減算器
を二つ以上の複数に分割し、並列に減算を行う事が可能
な並列減算回路において、分割した最小単位の減算器に
入る制御信号で、下位からのキャリーで選択されている
減算結果の減算内容を制御する事により、分割単位を制
御することを特徴とする。According to another aspect of the present invention, a single subtracter is divided into two or more plural units, and a parallel subtraction circuit capable of performing subtraction in parallel enters a divided minimum unit subtractor. The division unit is controlled by controlling the content of the subtraction of the subtraction result selected by the carry from the lower order with a control signal.
【0011】又、好ましくは、制御信号の調整により、
分割単位が不均等な分割減算の実行を可能とする事を特
徴とする。Preferably, by adjusting the control signal,
It is characterized in that it is possible to execute division subtraction in which the division unit is not uniform.
【0012】更に、好ましくは、制御信号の調整によ
り、加算と減算を混同した同時並列演算を可能とする事
を特徴とする。[0012] Further, preferably, by adjusting the control signal, simultaneous and parallel operations in which addition and subtraction are confused are enabled.
【0013】本発明の更に別の様相によれば、本発明に
よる並列加減算回路は、夫々複数のビット列に分割され
た2つの被演算数の、夫々の分割ビット列の演算を独立
に行う複数の演算回路と、前記複数の演算回路の演算結
果を結合して出力することにより2つの被演算数の演算
結果を得る処理回路を備え、最下位の演算回路以外の前
記複数の演算回路は夫々1対設けられており、夫々下位
からのキャリーが0の場合と1の場合の演算を行い、前
記処理回路において何れか一方が下位からのキャリーに
応じて選択される並列減算回路において、前記最下位の
演算回路以外の演算回路に対して、一対の演算回路が、
分割加算の場合は双方とも下位からのキャリーがφであ
る場合の演算を行い、分割減算の場合は双方ともキャリ
ーが1である場合の演算を行うことで、実際の下位から
のキャリーによりどちらが選択されても同一の値が出力
されるようにすることで、前記複数の演算回路の演算結
果を分離し夫々の分割ビット列毎の演算結果を得ること
を特徴とする。According to still another aspect of the present invention, a parallel addition / subtraction circuit according to the present invention comprises a plurality of operations for independently performing operations on respective divided bit strings of two operands each divided into a plurality of bit strings. And a processing circuit for combining and outputting the operation results of the plurality of operation circuits to obtain the operation results of the two operands, wherein each of the plurality of operation circuits other than the lowest operation circuit has a pair. The parallel subtraction circuit, which performs a calculation when the carry from the lower order is 0 and 1 and selects one according to the carry from the lower order in the processing circuit, A pair of arithmetic circuits is provided for the arithmetic circuits other than the arithmetic circuit.
In the case of division addition, both carry out the operation when the carry from the lower order is φ, and in the case of the division subtraction, both carry out the operation when the carry is 1, and either of them is selected by the actual carry from the lower order. In this case, the same value is output even when the operation is performed, whereby the operation results of the plurality of operation circuits are separated to obtain the operation result for each of the divided bit strings.
【0014】従って、本発明による加減算回路では、上
位の演算回路に対して、加算の場合は下位からのキャリ
ーとして全て0を与え減算の場合は全て1を与えること
により、1対の演算回路が同一の演算を行うことにな
る。この場合,前記複数の演算回路の演算結果は分離さ
れ、夫々の分割されたビット列毎の演算結果が独立に得
られることになる。そして、このような並列加減算を行
うことによっても、時間的な損失は増えることがない。Therefore, in the addition / subtraction circuit according to the present invention, the upper arithmetic circuit is provided with all 0s as carry from the lower order in the case of addition, and all 1s in the case of subtraction, whereby a pair of arithmetic circuits is formed. The same operation will be performed. In this case, the operation results of the plurality of operation circuits are separated, and the operation results for each of the divided bit strings are independently obtained. Further, even by performing such parallel addition and subtraction, time loss does not increase.
【0015】[0015]
【発明の実施の形態】図1に本発明の第1の実施の形態
による並列加減算回路の回路図を示す。この並列加減算
回路は、上位ビット加算回路がキャリーセレクト方式を
使用している32ビット加算回路に、16ビット並列加
算の機能を付加した構造となっている。FIG. 1 is a circuit diagram of a parallel addition / subtraction circuit according to a first embodiment of the present invention. This parallel addition / subtraction circuit has a structure in which a 16-bit parallel addition function is added to a 32-bit addition circuit in which the upper bit addition circuit uses the carry select method.
【0016】本実施の形態のキャリーセレクト型加減算
回路は、下位16ビットの加算回路11と、上位16ビ
ットの演算を行う2つの加算回路13、15からなり、
それぞれ独立して16ビットの加算を行うことができ
る。また、上位の16ビット加算回路13、15の出力
には、2つの上位加算回路の出力をセレクトするセレク
タ119があり、2つの上位16ビット加算回路13、
15にキャリーを入力するキャリー制御回路も設けられ
ている。次に、具体的な動作について説明する。The carry select type addition / subtraction circuit of this embodiment comprises an addition circuit 11 of lower 16 bits and two addition circuits 13 and 15 for performing an operation of upper 16 bits.
16-bit addition can be performed independently of each other. The outputs of the upper 16-bit addition circuits 13 and 15 include a selector 119 for selecting the outputs of the two upper 16-bit addition circuits.
15 is also provided with a carry control circuit for inputting carry. Next, a specific operation will be described.
【0017】32ビット加算の場合、2つの加算回路1
3、15には、A、Bのデータが入力される。また、そ
の時のキャリー入力は、一方に "1" が入力され、もう
一方にば "0" が入力される。これにより、下位からの
キャリーが "1" の場合ど "0" の場合の加算結果を用
意する。それと同時に、下位16ビットの加算回路は、
入力A、Bの加算を行い16ビットの加算結果と、キャ
リーを出力する。下位加算回路のキャリーは、上位16
ビット加算回路が用意していた加算結果から、下位加算
回路のキャリーと同じキャリー入力を持つ上位加算回路
の結果を選択し、上位16ビットの加算結果とキャリー
を出力する。In the case of 32-bit addition, two addition circuits 1
A and B data are input to 3 and 15, respectively. As for the carry input at that time, "1" is input to one side and "0" is input to the other side. Thus, an addition result is prepared when the carry from the lower order is "1" or "0". At the same time, the lower 16-bit adder circuit
The inputs A and B are added, and a 16-bit addition result and a carry are output. The carry of the lower adder circuit is the upper 16
From the addition results prepared by the bit addition circuit, the result of the higher-order addition circuit having the same carry input as the carry of the lower-order addition circuit is selected, and the addition result and the carry of the upper 16 bits are output.
【0018】一方、下位16ビットの加算回路11に
も、A、Bのデータが入力される。また、その時のキャ
リー入力は、加算の場合、" 0" が入力される。セレク
タ19には、加算回路11のキャリーが入力され、上位
16ビット加算回路13、15のいずれかが選択され、
32ビットの加算結果とキャリーが得られる。On the other hand, A and B data are also input to the lower 16-bit addition circuit 11. As the carry input at that time, in the case of addition, "0" is input. The carry of the adder circuit 11 is input to the selector 19, and one of the upper 16-bit adder circuits 13 and 15 is selected.
A 32-bit addition result and carry are obtained.
【0019】並列16ビット加算の場合、32ビット加
算同様に、上位・下位加算回路へは、A,Bのデータを
入力するが、2つの上位16ビット加算回路のキャリー
には、両方とも" 0" を入力する。これにより、上位1
6ビット加算結果は、2つとも同じ結果が出力される。
つまり、セレクタ19がいずれの結果を選択しても、上
位16ビットの加算結果は同一なので、下位16ビット
加算回路のキャリーに影響される事無く、上位16ビッ
ト分についての加算結果とキャリーを得られる。なお、
下位16ビットの加算は、32ビット加算と同様な処理
により、下位16ビット加算結果とキャリーが得られ
る。In the case of parallel 16-bit addition, data of A and B are input to the upper / lower-order addition circuit as in the case of 32-bit addition, but both carry "0" to the carry of the two upper 16-bit addition circuits. ". As a result, the top 1
The same result is output for both of the 6-bit addition results.
That is, no matter which result is selected by the selector 19, since the addition result of the upper 16 bits is the same, the addition result and the carry for the upper 16 bits are obtained without being affected by the carry of the lower 16 bit addition circuit. Can be In addition,
In the addition of the lower 16 bits, the result of addition and the carry of the lower 16 bits are obtained by the same processing as that of the 32-bit addition.
【0020】また、減算を行うには、補数表現を使用し
演算する為、引くデータを反転させたうえ最下位ビット
に "1" を加える事により実現出来る。32ビット減算
の場合、引く側のデータを反転させ、下位加算回路のキ
ャリー入力に "1" を入力した上で、上位加算回路のキ
ャリー入力をそれぞれ "0" 、" 1" とする事で、32
ビットの加算同様に結果が得られる。また、並列16ビ
ット減算の場合、32ビット減算同様に、引く側のデー
タを反転させた上に、下位16ビット加算回路のキャリ
ー入力に "1" を入力し、上位16ビット加算回路のキ
ャリー入力には、両方とも" 1" を入力する事で、上位
・下位の減算結果が得られる。In addition, since subtraction is performed using a complement representation, it can be realized by inverting the data to be subtracted and adding "1" to the least significant bit. In the case of 32-bit subtraction, the data on the subtraction side is inverted, "1" is input to the carry input of the lower adder circuit, and then the carry inputs of the upper adder circuit are set to "0" and "1", respectively. 32
The result is similar to the addition of bits. In the case of the parallel 16-bit subtraction, similarly to the 32-bit subtraction, "1" is input to the carry input of the lower 16-bit adder circuit after the data to be drawn is inverted, and the carry input of the upper 16-bit adder circuit is performed. By inputting "1" to both of them, the upper and lower subtraction results can be obtained.
【0021】図2に本発明の第2の実施の形態による並
列加減算回路の回路図を示す。この実施の形態は、32bi
t 演算処理、16bit 演算2並列処理、8bit演算4並列処
理が行える並列加減算器の例である。構成要素は、並列
演算処理の最小単位となる8bit加減算器25、26−
1、26−2、26−3、同加減算器への演算制御信号
を生成する演算制御信号生成回路23、8bitより大きい
サイズでの演算を行う際のキャリーを生成するキャリー
生成回路24、同キャリーから、加減算器で生成された
演算結果を選択する選択回路29−1、29−2、29
−3から構成される。本実施の形態の加減算器も、キャ
リー選択方式により演算を行うものとする。すなわち、
予め下位からのキャリーがあった場合、無かった場合の
二通りの演算結果を生成し、実際の下位からのキャリー
により、同2種の演算結果から選択することにより、演
算を行うものである。FIG. 2 is a circuit diagram of a parallel addition / subtraction circuit according to a second embodiment of the present invention. This embodiment uses 32bi
This is an example of a parallel adder / subtracter capable of performing t arithmetic processing, 16-bit arithmetic 2-parallel processing, and 8-bit arithmetic 4-parallel processing. The component is an 8-bit adder / subtracter 25, 26- which is a minimum unit of the parallel operation processing.
1, 26-2, 26-3, an operation control signal generation circuit 23 that generates an operation control signal to the adder / subtracter, a carry generation circuit 24 that generates a carry when performing an operation with a size larger than 8 bits, Selecting circuits 29-1, 29-2, 29 for selecting the operation result generated by the adder / subtractor from
-3. It is assumed that the adder / subtractor according to the present embodiment also performs the operation by the carry selection method. That is,
The calculation is performed by generating two types of calculation results in the case where there is a carry from the lower order in advance, and in the case where there is no carry, and selecting from the same two types of arithmetic results by the actual carry from the lower order.
【0022】本実施の形態は32bit 演算処理、16bit 演
算2並列処理、8bit演算4並列処理が行えるものであ
る。そのために、演算制御信号生成回路は、加算・減
算、分割モードにより、演算の最小単位である各8bit演
算器に対し、最下位8bit演算器を除きそれぞれ2本の制
御信号を生成する。最下位8bit演算器に対しては、1本
の制御信号が入力される。In this embodiment, 32-bit operation processing, 16-bit operation 2-parallel processing, and 8-bit operation 4-parallel processing can be performed. For this purpose, the operation control signal generation circuit generates two control signals for each 8-bit operation unit, which is the minimum unit of operation, except for the lowest-order 8-bit operation unit, in addition, subtraction, and division modes. One control signal is input to the lowest 8-bit arithmetic unit.
【0023】演算制御信号生成回路から出力される制御
信号を以下に示す。The control signals output from the operation control signal generation circuit are shown below.
【0024】 信号 z3 p3 z2 p2 zl pl z0 32bit 加算 0 1 0 1 0 1 0 32bit 減算 0 1 0 1 0 1 1 16bit 加算 0 1 0 0 0 1 0 16bit 減算 0 1 1 1 0 1 1 8bit 加算 0 0 0 0 0 0 0 8bit 減算 1 1 1 1 1 1 1 ここでz3,p3は最上位8bit演算器に入力される制御信
号、z2,p2は次の8bit演算器に入力される制御信号、z
1,p1はその次の演算器に入る制御信号、z0は最下位の8
bit演算器に入る制御信号である。Signal z3 p3 z2 p2 zl pl z0 32bit addition 0 1 0 1 0 1 0 32bit subtraction 0 1 0 1 0 1 1 16bit addition 0 1 0 0 0 1 0 16bit subtraction 0 1 1 1 0 1 1 8bit addition 0 0 0 0 0 0 0 8-bit subtraction 1 1 1 1 1 1 1 Here, z3 and p3 are control signals input to the most significant 8-bit arithmetic unit, z2 and p2 are control signals input to the next 8-bit arithmetic unit, z
1, p1 is the control signal to enter the next arithmetic unit, z0 is the lowest 8
This is a control signal that enters the bit calculator.
【0025】減算処理は、A−B=A+(Bの2の補数
表現)=A+(Bのbit 反転)+1で行われる。そのた
め、各演算器では、8bit加算器の前段に、減算の場合に
入力Bの反転をとる反転回路と、制御信号生成回路から
来る制御信号を前記式の最後に加算される1として処理
する回路から構成される。The subtraction process is performed with AB = A + (B's two's complement representation) = A + (B bit inversion) +1. Therefore, in each of the arithmetic units, an inverting circuit for inverting the input B in the case of subtraction and a circuit for processing the control signal coming from the control signal generating circuit as 1 to be added to the end of the above equation, at the stage preceding the 8-bit adder. Consists of
【0026】8bit演算器は、同制御信号により、同信号
が“0”の場合は下位からのキャリーが無かった場合の
演算結果と上位へのキャリー出力を、“1”の場合は、
下位からのキャリーがあった場合の演算結果および上位
へのキャリーを出力する。最下位8bit演算器を除き、上
位の各8bit演算器は各2本の制御信号に対応し、各々2
つの演算結果を出力する。例えば最上位8bit演算器で
は、 sumz3 = A[31:24] +(B[31:24] ^sub) + z3 sump3 = A[31:24] +(B[31:24] ^sub) + p3 となり、coutz3は上記 sumz0 の演算での桁あふれキャ
リー信号であり、coutz3は上記sump0 の演算での桁あふ
れキャリー信号である。When the signal is "0", the 8-bit operation unit outputs the operation result when there is no carry from the lower bit and the carry output to the upper bit when the signal is "0".
The calculation result when there is a carry from the lower order and the carry to the upper order are output. Except for the least significant 8-bit arithmetic unit, each high-order 8-bit arithmetic unit corresponds to each two control signals,
Output two operation results. For example, in the most significant 8-bit operation unit, sumz3 = A [31:24] + (B [31:24] ^ sub) + z3 sump3 = A [31:24] + (B [31:24] ^ sub) + p3 Coutz3 is an overflow carry signal in the operation of sumz0, and coutz3 is an overflow carry signal in the operation of sump0.
【0027】ここでsumz3 は制御信号z3に対応した演算
結果、sump3 は制御信号p3に対応した演算結果である。
A[31:24]は入力被演算データの最上位8bitを示す。sub
は同演算が減算であることを示す。“^" はsub により
B[31:24] がbit 反転されることを示す。Here, sumz3 is an operation result corresponding to the control signal z3, and sump3 is an operation result corresponding to the control signal p3.
A [31:24] indicates the most significant 8 bits of the input operand data. sub
Indicates that the operation is a subtraction. “^” is sub
Indicates that B [31:24] is bit inverted.
【0028】キャリー生成回路は、各々の8bit演算器か
ら出力されるキャリー信号coutz3,coutp3,coutz2,co
utp2,coutz1,coutp1,coutz0を入力とし、同キャリー
から、各々の8bit演算器への実際のキャリー入力信号を
生成する。その様な回路の1例を、図3に示す。ここで
は、3つのマルチプレクサが用いられている。又、図4
(A)に示した様な、回路を用いれば、更に高速の演算
が可能となる。この場合、図4(B)に示した様に、2
入力2出力のマルチプレクサは、2つのマルチプレクサ
と同等なので、7つのマルチプレクサから構成されるこ
ととなる。The carry generation circuit performs the carry signal coutz3, coutp3, coutz2, co
utp2, coutz1, coutp1, coutz0 are input, and the actual carry input signal to each 8-bit arithmetic unit is generated from the carry. One example of such a circuit is shown in FIG. Here, three multiplexers are used. Also, FIG.
If a circuit as shown in FIG. 1A is used, a higher-speed operation can be performed. In this case, as shown in FIG.
A multiplexer with two inputs and two outputs is equivalent to two multiplexers, and is therefore composed of seven multiplexers.
【0029】次に、具体的な演算の例を示す。例えば32
bit データ、A=0xFFFFFFFF、B =0x00000001(16 進表
記) の加算を行う場合を考える。32bit 加算モードで
は、制御信号生成回路からの各制御信号は 信号 z3 p3 z2 p2 zl pl z0 32bit 加算 0 1 0 1 0 1 0 であり、各8bit演算器へ入力されるデータは A3=0xFF B3=0x00 A2=0xFF B2=0x00 A1=0xFF B1=0x00 A0=0xFF B0=0x01 となり、各演算器の出力は sumz3=0xFF coutz3=0 sump3=0x00 coutp3=1 sumz2=0xFF coutz2=0 sump2=0x00 coutp2=1 sumz1=0xFF coutz1=0 sump1=0x00 coutp1=1 sumz0=0x00 coutz0=1 となる。そのため、各8bit演算器への本当のキャリー入
力はNext, an example of a specific calculation will be described. For example 32
Consider the case of adding bit data, A = 0xFFFFFFFF, B = 0x00000001 (hexadecimal notation). In the 32-bit addition mode, each control signal from the control signal generation circuit is a signal z3 p3 z2 p2 zl pl z0 32-bit addition 0 1 0 1 0 1 0, and data input to each 8-bit arithmetic unit is A3 = 0xFF B3 = 0x00 A2 = 0xFF B2 = 0x00 A1 = 0xFF B1 = 0x00 A0 = 0xFF B0 = 0x01, and the output of each arithmetic unit is sumz3 = 0xFF coutz3 = 0 sump3 = 0x00 coutp3 = 1 sumz2 = 0xFF coutz2 = 0 sump2 = 0x00 coutp2 = 1 sumz1 = 0xFF coutz1 = 0 sump1 = 0x00 coutp1 = 1 sumz0 = 0x00 coutz0 = 1. Therefore, the actual carry input to each 8-bit arithmetic unit is
【数1】tcinl = coutz0 = 1 tcin2 = coutzl or (coutpl and coutz0) = 0 or (1 an
d 1) = 1 tcin3 = coutz2 or (coutp2 and coutzl) or (coutp2 a
nd coutpl and coutz0)0or (1 and 0) or (1 and 1 and
1) = 1 ovfl = coutz3 or (coutp3 and coutz2) or (coutp3 a
nd coutp2 and coutzl)or (coutp3 and coutp2 and cou
tpl and coutz0)0 or (1 and 0) or (1 and 1 and 0) o
r (1 and 1 and 1 and 1) = 1 となり、最下位より1byte 目の8bit演算器の出力sumz1
とsump1 では、tcin1 =1 であるため、sump1 を最終出
力として選択する。同様に本例ではsump2 ,sump3 が選
択され、結果として32bit 出力は0x00000000となる。[Equation 1] tcinl = coutz0 = 1 tcin2 = coutzl or (coutpl and coutz0) = 0 or (1 an
d 1) = 1 tcin3 = coutz2 or (coutp2 and coutzl) or (coutp2 a
nd coutpl and coutz0) 0or (1 and 0) or (1 and 1 and
1) = 1 ovfl = coutz3 or (coutp3 and coutz2) or (coutp3 a
nd coutp2 and coutzl) or (coutp3 and coutp2 and cou
tpl and coutz0) 0 or (1 and 0) or (1 and 1 and 0) o
r (1 and 1 and 1 and 1) = 1 and the output sumz1 of the 8-bit arithmetic unit at the first byte from the least significant
In sump1 and sump1, since tcin1 = 1, sump1 is selected as the final output. Similarly, in this example, sump2 and sump3 are selected, and as a result, the 32-bit output becomes 0x00000000.
【0030】ここで、入カデータは同じで、16bit の2
並列演算を行う場合を考える。同様に、制御信号生成回
路からの各制御信号は 信号 z3 p3 z2 p2 zl pl z0 16bit 加算 0 1 0 0 0 1 0 であり、各演算器の出力は sumz3 = 0xFF coutz3 = 0 sump3 = 0x00 coutp3 = l sumz2 = 0xFF coutz2 = 0 sump2 = 0xFF coutp2 = 0 sumzl = 0xFF coutzl = 0 sumpl = 0x00 coutpl = l sumz0 = 0x00 coutz0 = l となる。そのため、各8bit演算器への本当のキャリー入
力はHere, the input data is the same, that is, 2 bits of 16 bits.
Consider the case of performing a parallel operation. Similarly, each control signal from the control signal generation circuit is a signal z3 p3 z2 p2 zl pl z0 16-bit addition 0 1 0 0 0 10 and the output of each arithmetic unit is sumz3 = 0xFF coutz3 = 0 sump3 = 0x00 coutp3 = l sumz2 = 0xFF coutz2 = 0 sump2 = 0xFF coutp2 = 0 sumzl = 0xFF coutzl = 0 sumpl = 0x00 coutpl = l sumz0 = 0x00 coutz0 = l. Therefore, the actual carry input to each 8-bit arithmetic unit is
【数2】tcinl = coutz0 = l tcin2 = coutzl or (coutpl and coutz0) = 0 or (l an
d l) = l tcin3 = coutz2 or (coutp2 and coutzl) or (coutp2 a
nd coutpl and coutz0)0 or (l and 0) or (0 and l an
d l) = 0 ovfl = coutz3 or (coutp3 and coutz2) or (coutp3 an
d coutp2 and coutzl)or (coutp3 and coutp2 and cout
pl and coutz0)0 or (l and 0) or (0 and l and 0) or
(l and 0 and l and l) = 0 となり、最下位より1byte 目の8bit演算器の出力sumz1
とsump1 では、32bit 演算時と同様tcin1 =1 であるた
め、sump1 を最終出力として選択する。最下位から2byt
e 目はtcin2=1 であるためsump2 が選択されるが、制御
信号によりsumz2,sump2 共に下位からのキャリーが無
かった場合の演算結果を出力しており、sump2 が選択さ
れても下位からのキャリーが無い場合のデータが出力さ
れる。最上位の8bit演算器では、下位16bit からのキャ
リーが下位より2バイト目の演算でキャリー伝搬するか
どうかをしめすcoutp2が0 であるため、最上位までキャ
リー伝搬せず、tcin3=0 となり、sumz3 が選択され、結
果として32bit 出力は0xFFFF0000となる。[Equation 2] tcinl = coutz0 = l tcin2 = coutzl or (coutpl and coutz0) = 0 or (l an
dl) = l tcin3 = coutz2 or (coutp2 and coutzl) or (coutp2 a
nd coutpl and coutz0) 0 or (l and 0) or (0 and l an
dl) = 0 ovfl = coutz3 or (coutp3 and coutz2) or (coutp3 an
d coutp2 and coutzl) or (coutp3 and coutp2 and cout
pl and coutz0) 0 or (l and 0) or (0 and l and 0) or
(l and 0 and l and l) = 0, and the output sumz1 of the 8-bit arithmetic unit at the first byte from the least significant
In sum and sum1, since tcin1 = 1 as in the case of 32-bit operation, sum1 is selected as the final output. 2byt from bottom
In the e-th eye, since tcin2 = 1, sump2 is selected.However, the control signal outputs the operation result when there is no carry from lower-order in both sumz2 and sump2. Even if sump2 is selected, carry-up from lower-order is performed. Is output when there is no. In the highest-order 8-bit arithmetic unit, since coutp2 indicating whether the carry from the lower 16 bits propagates in the operation of the second byte from the lower byte is 0, the carry does not propagate to the highest order, and tcin3 = 0, and sumz3 Is selected, and as a result, the 32-bit output becomes 0xFFFF0000.
【0031】8bit演算4並列の場合では 信号 z3 p3 z2 p2 zl pl z0 8 bit 加算 0 0 0 0 0 0 0 であり、各演算器の出力は sumz3 = 0xFF coutz3 = 0 sump3 = 0xFF coutp3 = 0 sumz2 = 0xFF coutz2 = 0 sump2 = 0xFF coutp2 = 0 sumzl = 0xFF coutzl = 0 8umpl = 0xFF coutpl = 0 sumz0 = 0x0O coutz0 = 1 となる。そのため、各8bit演算器への本当のキャリー入
力は tcinl = 1 tcin2 = 0 tcin3 = 0 となり、sumz3 ,sumz2 ,sump1 が選択され、出力結果
は0xFFFFFF00となる。In the case of 8-parallel 4-parallel operation, the signals z3 p3 z2 p2 zl pl z0 8-bit addition 0 0 0 0 0 0 0, and the output of each arithmetic unit is sumz3 = 0xFF coutz3 = 0 sump3 = 0xFF coutp3 = 0 sumz2 = 0xFF coutz2 = 0 sump2 = 0xFF coutp2 = 0 sumzl = 0xFF coutzl = 0 8umpl = 0xFF coutpl = 0 sumz0 = 0x0O coutz0 = 1. Therefore, the true carry input to each 8-bit operation unit is tcinl = 1 tcin2 = 0 tcin3 = 0, sumz3, sumz2, and sump1 are selected, and the output result is 0xFFFFFF00.
【0032】次に減算の実行例を示す。Next, an example of executing the subtraction will be described.
【0033】A=0x22222222 B =0xccccccccの場合、
32bit 減算では、 信号 z3 p3 z2 p2 zl pl z0 32bit 減算 0 1 0 1 0 1 1 であり、各演算器の出力は sumz3 = 0x55 coutz3 = 0 sump3 = 0x56 coutp3 = 0 sumz2 = 0x55 coutz2 = 0 sump2 = 0x56 coutp2 = 0 sumzl = 0x55 coutzl = 0 sumpl = 0x56 coutpl = 0 sumz0 = 0x56 coutz0 = 0 となる。各8bit演算器への本当のキャリー入力は tcinl = 0 tcin2 = 0 tcin3 = 0 となり、sumz3 ,sumz2 ,sumz1 が選択され、出力結果
は0x55555556となる。When A = 0x222222222 B = 0xcccccccc,
In 32-bit subtraction, the signal z3 p3 z2 p2 zl pl z0 32-bit subtraction 0 1 0 1 0 1 1 and the output of each arithmetic unit is sumz3 = 0x55 coutz3 = 0 sump3 = 0x56 coutp3 = 0 sumz2 = 0x55 coutz2 = 0 sump2 = 0x56 coutp2 = 0 sumzl = 0x55 coutzl = 0 sumpl = 0x56 coutpl = 0 sumz0 = 0x56 coutz0 = 0. The true carry input to each 8-bit arithmetic unit is tcinl = 0 tcin2 = 0 tcin3 = 0, sumz3, sumz2, and sumz1 are selected, and the output result is 0x55555556.
【0034】16bit2並列減算では、 信号 z3 p3 z2 p2 zl pl z0 16bit 減算 0 1 1 1 0 1 1 であり、各演算器の出力は sumz3 = 0x55 coutz3 = 0 sump3 = 0x56 coutp3 = 0 sumz2 = 0x56 coutz2 = 0 sump2 = 0x56 coutp2 = 0 sumzl = 0x55 coutzl = 0 sumpl = 0x56 coutpl = 0 sumz0 = 0x56 coutz0 = 0 となる。各8bit演算器への本当のキャリー入力は tcinl = 0 tcin2 = 0 tcin3 = 0 となり、sumz3 ,sumz2 ,sumz1 が選択されるが、制御
信号により、sumz2 はsump2 と同じ値を出力し、出力結
果は0x55565556となる。In the 16-bit 2-parallel subtraction, the signal z3 p3 z2 p2 zl pl z0 16-bit subtraction is 0 1 1 1 0 1 1, and the output of each arithmetic unit is sumz3 = 0x55 coutz3 = 0 sump3 = 0x56 coutp3 = 0 sumz2 = 0x56 coutz2 = 0 sump2 = 0x56 coutp2 = 0 sumzl = 0x55 coutzl = 0 sumpl = 0x56 coutpl = 0 sumz0 = 0x56 coutz0 = 0. The true carry input to each 8-bit operation unit is tcinl = 0 tcin2 = 0 tcin3 = 0, and sumz3, sumz2, and sumz1 are selected. By the control signal, sumz2 outputs the same value as sump2, and the output result is It becomes 0x55565556.
【0035】8bit4 並列減算では、 信号 z3 p3 z2 p2 zl pl z0 8 bit 減算 1 1 1 1 1 1 1 であり、各演算器の出力は sumz3 = 0x56 coutz3 = 0 sump3 = 0x56 coutp3 = 0 sumz2 = 0x56 coutz2 = 0 sump2 = 0x56 coutp2 = 0 sumzl = 0x56 coutzl = 0 sumpl = 0x56 coutpl = 0 sumz0 = 0x56 coutz0 = 0 となる。各8bit演算器への本当のキャリー入力は tcinl = 0 tcin2 = 0 tcin3 = 0 となり、sumz3 ,sumz2 ,sumz1 が選択され、出力結果
は0x56565656となる。In the 8-bit 4-parallel subtraction, the signal z3 p3 z2 p2 zl pl z0 8-bit subtraction is 1 1 1 1 1 1 1 and the output of each arithmetic unit is sumz3 = 0x56 coutz3 = 0 sump3 = 0x56 coutp3 = 0 sumz2 = 0x56 coutz2 = 0 sump2 = 0x56 coutp2 = 0 sumzl = 0x56 coutzl = 0 sumpl = 0x56 coutpl = 0 sumz0 = 0x56 coutz0 = 0. The true carry input to each 8-bit operation unit is tcinl = 0 tcin2 = 0 tcin3 = 0, sumz3, sumz2, and sumz1 are selected, and the output result is 0x56565656.
【0036】同回路は各演算器のbit 反転を各演算器毎
に制御し、制御信号生成回路を対応させれば、加算と減
算を並列に行う事もできる。例えば16bit 2並列加減算
で上位16bit が減算、下位16bit が加算の場合、各演算
器に入力する加減算制御信号sub を、上位よりsub3,su
b2,sub1,sub0とした場合、 sub3 = 1 sub2 = 1 subl = 0 sub0 = 0 各制御信号は 信号 z3 p3 z2 p2 zl pl z0 16bit 加減算 0 1 1 1 0 1 0 の制御で行う事が出来る。This circuit controls the bit inversion of each operation unit for each operation unit, and if the control signal generation circuit is associated, addition and subtraction can be performed in parallel. For example, when the upper 16 bits are subtracted and the lower 16 bits are added in a 16-bit two-parallel addition / subtraction, the addition / subtraction control signal sub input to each arithmetic unit is output from the upper subsub and su.
When b2, sub1, and sub0 are set, sub3 = 1 sub2 = 1 subl = 0 sub0 = 0 Each control signal can be controlled by the signal z3 p3 z2 p2 zl pl z0 16-bit addition / subtraction 0 1 1 1 0 1 0.
【0037】以上の例に加え、制御信号生成回路を応用
すれば、分割数を変える事も可能となる。例えば、上位
8ビットの加算と下位24ビットの加算実現するために
は、次の様に制御信号を出力する。In addition to the above example, if a control signal generation circuit is applied, the number of divisions can be changed. For example, in order to realize the addition of the upper 8 bits and the addition of the lower 24 bits, a control signal is output as follows.
【0038】制御信号は、 また別な例として、上位24ビットを加算し、下位8ビ
ットを減算する場合は次の様に制御信号を出力する。The control signal is As another example, when adding the upper 24 bits and subtracting the lower 8 bits, a control signal is output as follows.
【0039】制御信号は、 また、第1の実施の形態で説明したような、分割したい
部分のキャリーパスが明らかに見えるタイプのキャリー
生成回路では、従来例のように、キャリーパスに制御回
路を埋め込めば分割制御は実現できるが、例えばDEC
のALPHAチップに使われている加算器で採用されて
いるキャリーアレイのようなキャリー生成回路では、分
割制御回路を入れるのは非常に困難であり、こちらの場
合、特に回路規模の増大、速度の低下が顕著に現れる。The control signal is In the carry generation circuit of the type in which the carry path of the part to be divided is clearly visible as described in the first embodiment, division control can be realized by embedding a control circuit in the carry path as in the conventional example. But for example DEC
In a carry generation circuit such as a carry array used in an adder used in an ALPHA chip, it is very difficult to include a division control circuit. In this case, particularly, the circuit scale increases and the speed increases. The drop is noticeable.
【0040】それに対し、本説明でも分かる通り、本発
明の回路に置いては、最小演算単位より上位のキャリー
生成回路は、上記キャリーアレイ方式も含め、従来の加
算器のものと一緒であっても全く問題無く分割並列演算
を実現することができる。On the other hand, as can be seen from the present description, in the circuit of the present invention, the carry generation circuit higher than the minimum operation unit is the same as that of the conventional adder, including the above-mentioned carry array system. Also, the split parallel operation can be realized without any problem.
【0041】本発明によれば、演算制御信号を最小演算
単位の演算器に入力する必要が有る。演算器の設計にも
寄るが、同演算制御信号は、できれば被演算データが演
算器に入力されるのと同時もしくはその前に確定してい
る方が、演算器の設計がしやすい。幸いにも、現在のプ
ロセッサでは、命令が確定してから、実際の被演算デー
タが演算器に到達するまでは時間が有る。たとえばRISC
プロセッサでは、命令メモリから読み出された命令か
ら、レジスタファイル内のデータを読みだし、演算器に
被演算データとしてデータを転送する。そのため、命令
が読み出されてから、演算器にデータが到達するまでは
時間が有り、本特許の演算制御信号生成回路が信号を生
成するための時間は十分有ると考えられ、同信号の生成
時間は回路全体のクリティカルパスにはほぼなりえな
い。このため、大体の実施ケースにおいては、演算制御
信号は、被演算データが演算器に到達する前に確定して
いるものと考える事が出来る。According to the present invention, it is necessary to input the operation control signal to the operation unit of the minimum operation unit. Although it depends on the design of the arithmetic unit, it is easier to design the arithmetic unit if the operation control signal is determined at the same time as or before the data to be operated is input to the arithmetic unit if possible. Fortunately, in the current processor, there is a time from when an instruction is determined to when actual data to be operated reaches an arithmetic unit. For example, RISC
The processor reads the data in the register file from the instruction read from the instruction memory, and transfers the data as operation target data to the arithmetic unit. Therefore, there is a time from when the instruction is read to when the data arrives at the arithmetic unit, and it is considered that there is sufficient time for the arithmetic control signal generation circuit of the present invention to generate a signal. Time can hardly be a critical path for the whole circuit. For this reason, in most practical cases, the operation control signal can be considered to be determined before the data to be operated reaches the operation unit.
【0042】この場合、演算制御信号を最小演算単位の
各演算器に入力するための回路遅延を隠蔽できる。図5
に本発明の第3の実施の形態を示す。この実施の形態
は、第4の実施の形態の演算制御信号生成回路23と並
列に、加算/減算を示す信号を受け取る反転回路31が
設けられている。In this case, the circuit delay for inputting the operation control signal to each operation unit of the minimum operation unit can be concealed. FIG.
FIG. 9 shows a third embodiment of the present invention. In this embodiment, an inverting circuit 31 that receives a signal indicating addition / subtraction is provided in parallel with the operation control signal generation circuit 23 of the fourth embodiment.
【0043】通常加減算回路では、第2の実施の形態で
も述べた通り、減算のために、bitの反転回路が設けて
ある。具体的には通常排他的論理和ゲートが1段あり、
減算命令である事を示す減算信号と減数を入力し、減算
である場合は、排他的論理和により、減数のbit 反転を
出力する。加減算結果およびキャリーは、被加減数と、
排他的論理和を通過した後の加減数から生成される。そ
のため、被加減算数は加減算数が排他的論理和を通過す
る間に時間の余裕が有る。In the normal addition / subtraction circuit, a bit inversion circuit is provided for subtraction as described in the second embodiment. Specifically, there is usually one exclusive OR gate,
A subtraction signal indicating that the instruction is a subtraction instruction and a decrement are input, and in the case of subtraction, bit inversion of the decrement is output by exclusive OR. The result of addition and subtraction and carry are
It is generated from the addend / subtract after passing through the exclusive OR. For this reason, the added / subtracted number has a time margin while the added / subtracted number passes through the exclusive OR.
【0044】一方本特許で述べている演算制御信号は、
いわば最下位bit に入力されるキャリーと同等である。
そのため、被加減算数、加減算数、入カキャリーから求
められる演算結果は、 被加減算数 xor bit反転後の加減算数 xor 入カキャリー = 被加減算数 xor( 加減算数 xor 減算信号) xor 入カキャリー = 被加減算数 xor 入カキャリー xor (加減算数 xor 減算信号) =( 被加減算数 xor入カキャリー) xor ( 加減算数 xor 減算信号) となり、加減算数が減算信号との排他的論理和を取るの
と並列に、被加減算数と入カキャリーとの排他的論理和
がとれることを意味する。On the other hand, the arithmetic control signal described in this patent is:
This is equivalent to the carry input to the least significant bit.
Therefore, the operation result obtained from the add / subtract number, add / subtract number, and input carry is: add / subtract number xor add / subtract number after bit inversion xor input carry = add / subtract number xor (addition / subtraction xor subtraction signal) xor input carry = add / subtract number xor input carry xor (addition / subtraction number xor subtraction signal) = (addition / subtraction number xor input carry) xor (addition / subtraction number xor subtraction signal), and addition / subtraction is performed in parallel with addition / subtraction of the exclusive OR with the subtraction signal It means that the exclusive OR of the number and the incoming carry can be taken.
【0045】このため、演算制御信号が付加される事に
よる遅延は、全く隠蔽出来る事になり、第3の実施の形
態を第2の実施の形態の回路に適用した場合、32bit 加
減算回路と、ほぼ同速度でかつ様々なタイプの分割演算
機能を持った、並列加減算回路が実現できる。For this reason, the delay caused by the addition of the operation control signal can be completely concealed. When the third embodiment is applied to the circuit of the second embodiment, a 32-bit addition / subtraction circuit, A parallel addition / subtraction circuit having substantially the same speed and having various types of division operation functions can be realized.
【0046】[0046]
【発明の効果】従って,本発明による加減算回路では、
上位の演算回路に対して,下位からのキャリーとして全
て0を与えることにより、1対の演算回路が同一の演算
を行うので、高速のキャリーセレクト型加減算回路が実
現される。Therefore, in the addition / subtraction circuit according to the present invention,
By giving all 0s as the carry from the lower order to the higher-order arithmetic circuit, a pair of arithmetic circuits performs the same operation, so that a high-speed carry-select type addition / subtraction circuit is realized.
【図1】本発明の第1の実施の形態による並列加算回路
を示す。FIG. 1 shows a parallel addition circuit according to a first embodiment of the present invention.
【図2】本発明の第2の実施の形態による並列加算回路
を示す。FIG. 2 shows a parallel addition circuit according to a second embodiment of the present invention.
【図3】本発明の並列加算回路で用いられるキャリー生
成回路の例を示す。FIG. 3 shows an example of a carry generation circuit used in the parallel addition circuit of the present invention.
【図4】本発明の並列加算回路で用いられるキャリー生
成回路の別の例を示す。FIG. 4 shows another example of the carry generation circuit used in the parallel addition circuit of the present invention.
【図5】本発明の第3の実施の形態による並列加算回路
を示す。FIG. 5 shows a parallel addition circuit according to a third embodiment of the present invention.
【図6】従来技術の並列加算回路を示す。FIG. 6 shows a prior art parallel addition circuit.
11 加算回路 13、15 ビット加算回路 13、15 加算回路 19 セレクタ 23 演算制御信号生成回路 24 キャリー生成回路 25、26 加減算器 29 選択回路 111 キャリー制御回路 111 加算回路 113、115 ビット加算回路 113、115 加算回路 119 セレクタ Reference Signs List 11 adder circuit 13, 15-bit adder circuit 13, 15 adder circuit 19 selector 23 arithmetic control signal generator circuit 24 carry generator circuit 25, 26 adder / subtractor 29 selector circuit 111 carry control circuit 111 adder circuit 113, 115 bit adder circuit 113, 115 Adder circuit 119 Selector
Claims (12)
のキャリーが有った場合と無かった場合の2通りの加算
結果を予め生成し、実際の下位からのキャリーによって
前記2通り加算結果のうち一方を選択するキャリー選択
型加算回路において、前記一対の単位加算回路の双方
で、下位からのキャリーが無かった場合の加算結果を生
成し、実際の下位からのキャリーによりどちらが選択さ
れても上位にキャリーが無かった場合の加算結果を出力
する事で、加算処理を分割し、同時に複数の加算が可能
となることを特徴とする並列加減算回路。An upper pair of unit adders generates in advance two types of addition results when there is a carry from the lower order and when there is no carry from the lower order, and the two types of addition results are obtained by the actual carry from the lower order. In the carry-selection type addition circuit that selects one of the two, the pair of unit addition circuits both generate an addition result when there is no carry from the lower order, and whichever is selected by the actual carry from the lower order. A parallel addition / subtraction circuit characterized in that an addition result is output when there is no carry in a higher order, thereby dividing an addition process and enabling a plurality of additions at the same time.
予め生成する単位加算回路対の数が2以上であり、加算
処理のデータ分割数が3以上であることを特徴とする並
列加減算回路。2. The parallel addition / subtraction circuit according to claim 1, wherein the number of unit addition circuit pairs for generating two types of addition results in advance is two or more, and the number of data divisions in the addition processing is three or more. .
成する単位毎に、下位からのキャリーが有った場合と無
かった場合の加算結果を生成するか、双方下位からのキ
ャリーが無かった場合の加算結果を生成するかを調節す
る事で、機能上の加算のデータ分割単位が不均等な分割
加算の実行を可能とする事を特徴とする並列加減算回
路。3. The method according to claim 2, wherein, for each unit for generating each addition result, an addition result with and without a carry from the lower order is generated or a carry from both lower order is not generated. A parallel addition / subtraction circuit characterized in that it is possible to execute divisional addition in which the data division unit of functional addition is unequal by adjusting whether to generate an addition result in the case.
のキャリーが有った場合と無かった場合の2通りの減算
結果を予め生成し、実際の下位からのキャリーによって
前記2通り減算結果のうち一方を選択するキャリー選択
型減算回路において、前記一対の単位減算回路の双方
で、同単位減算回路が担当する被演算データが最下位で
あった場合の減算結果を生成し、実際の下位からのキャ
リーによりどちらが選択されても被演算データが最下位
であった場合の減算結果出力する事で、減算処理を分割
し、同時に複数の減算が可能となることを特徴とする並
列加減算回路。4. A pair of upper unit subtraction circuits generates in advance two types of subtraction results when there is a carry from the lower order and when there is no carry from the lower order. In the carry selection type subtraction circuit that selects one of the two, the pair of unit subtraction circuits generates a subtraction result when the data to be operated on by the same unit subtraction circuit is the lowest, and generates the actual lower result. A parallel addition / subtraction circuit characterized in that a subtraction result is output when the data to be operated is at the lowest order regardless of which one is selected by the carry from the subroutine, so that a plurality of subtractions can be performed simultaneously.
予め生成する単位減算回路対の数が2以上であり、減算
処理のデータ分割数が3以上であることを特徴とする並
列加減算回路。5. The parallel addition / subtraction circuit according to claim 4, wherein the number of unit subtraction circuit pairs for generating two types of subtraction results in advance is two or more, and the number of data divisions in the subtraction processing is three or more. .
成する単位毎に、下位からのキャリーが有った場合と無
かった場合の減算結果を生成するか、双方向単位減算回
路が担当する被演算データが最下位であった場合の減算
結果を生成するかを調節する事で、機能上の減算のデー
タ分割単位が不均等な分割減算の実行を可能とする事を
特徴とする並列加減算回路。6. The subtraction circuit according to claim 5, wherein a subtraction result is generated for each unit for generating a subtraction result when there is a carry from the lower order and when there is no carry from the lower order, or a bidirectional unit subtraction circuit is in charge. Parallel addition / subtraction characterized in that by performing a subtraction when the data to be operated is at the lowest order, it is possible to execute the divisional subtraction in which the data division unit of the functional subtraction is unequal by adjusting the subtraction result. circuit.
らのキャリーが有った場合と無かった場合の2通りの加
減算結果を予め生成し、実際の下位からのキャリーによ
って前記2通り加減算結果のうち一方を選択するキャリ
ー選択型加減算回路において、前記一対の単位加減算回
路の双方で、同単位加減算回路が担当する被演算データ
が最下位であった場合の加減算結果を生成し、実際の下
位からのキャリーによりどちらが選択されても被演算デ
ータが最下位であった場合の加減算結果出力する事で、
加減算処理を分割し、同時に複数の加減算が可能となる
ことを特徴とする並列加減算回路。7. A pair of high-order unit addition / subtraction circuits generates in advance two types of addition / subtraction results when there is a carry from the lower order and when there is no carry, and calculates the two types of addition / subtraction results by the actual carry from the lower order. In the carry-selection type addition / subtraction circuit for selecting one of the above, in both of the pair of unit addition / subtraction circuits, an addition / subtraction result when the operation data handled by the same unit addition / subtraction circuit is the lowest order is generated, and the actual lower order is generated. Regardless of which is selected by the carry from, the result of addition and subtraction when the operand data is the lowest order is output,
A parallel addition / subtraction circuit, which divides addition / subtraction processing and enables a plurality of additions / subtractions at the same time.
を予め生成する単位加減算回路対の数が2以上であり、
加減算処理のデータ分割数が3以上であることを特徴と
する並列加減算回路。8. The method according to claim 7, wherein the number of unit addition / subtraction circuit pairs for generating two types of addition / subtraction results in advance is two or more;
A parallel addition / subtraction circuit, wherein the number of data divisions in the addition / subtraction processing is 3 or more.
生成する単位毎に、下位からのキャリーが有った場合と
無かった場合の加減算結果を生成するか、双方向単位加
減算回路が担当する被演算データが最下位であった場合
の加減算結果を生成するかを調節する事で、機能上の加
減算のデータ分割単位が不均等な分割加減算の実行を可
能とする事を特徴とする並列加減算回路。9. The addition / subtraction circuit according to claim 8, wherein, for each unit for generating each addition / subtraction result, an addition / subtraction result with and without a carry from the lower order is generated, or a bidirectional unit addition / subtraction circuit is in charge. Parallel addition / subtraction characterized in that by performing addition / subtraction when the data to be operated is at the lowest order, it is possible to perform divisional addition / subtraction with unequal data division units for functional addition / subtraction. circuit.
よび最下位加減算回路の演算機能を独立に調整する事
で、加算と減算を混同した同時並列加減算を可能とする
事を特徴とする並列加減算回路。10. The parallel addition / subtraction circuit according to claim 7, wherein the arithmetic functions of the unit addition / subtraction circuit and the least significant addition / subtraction circuit are independently adjusted to enable simultaneous parallel addition / subtraction in which addition and subtraction are confused. .
よび最下位加減算回路の演算機能を独立に調整する事
で、上記加算と減算を混同した同時並列加減算を可能と
する事を特徴とする並列加減算回路。11. A parallel addition / subtraction method according to claim 8, wherein the arithmetic functions of the unit addition / subtraction circuit and the least significant addition / subtraction circuit are independently adjusted to enable simultaneous parallel addition / subtraction in which the addition and the subtraction are confused. circuit.
よび最下位加減算回路の演算機能を独立に調整する事
で、上記加算と減算を混同した同時並列加減算を可能と
する事を特徴とする並列加減算回路。12. The parallel addition / subtraction according to claim 9, wherein the arithmetic functions of the unit addition / subtraction circuit and the least significant addition / subtraction circuit are independently adjusted to enable simultaneous parallel addition / subtraction in which the addition and the subtraction are confused. circuit.
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP28396997A JP3462054B2 (en) | 1997-10-16 | 1997-10-16 | Parallel addition / subtraction circuit |
| US09/172,772 US6260055B1 (en) | 1997-10-15 | 1998-10-15 | Data split parallel shifter and parallel adder/subtractor |
| US09/774,713 US6411980B2 (en) | 1997-10-15 | 2001-02-01 | Data split parallel shifter and parallel adder/subtractor |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP28396997A JP3462054B2 (en) | 1997-10-16 | 1997-10-16 | Parallel addition / subtraction circuit |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH11119979A true JPH11119979A (en) | 1999-04-30 |
| JP3462054B2 JP3462054B2 (en) | 2003-11-05 |
Family
ID=17672586
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP28396997A Expired - Fee Related JP3462054B2 (en) | 1997-10-15 | 1997-10-16 | Parallel addition / subtraction circuit |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP3462054B2 (en) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2007172528A (en) * | 2005-12-26 | 2007-07-05 | Mitsubishi Electric Corp | Signal processor and imaging apparatus using the same |
| JP2009512017A (en) * | 2005-10-05 | 2009-03-19 | クゥアルコム・インコーポレイテッド | Floating point processor with selectable lower precision |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP4812454B2 (en) | 2006-02-13 | 2011-11-09 | ソニー株式会社 | Demodulation apparatus and method, and program |
-
1997
- 1997-10-16 JP JP28396997A patent/JP3462054B2/en not_active Expired - Fee Related
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2009512017A (en) * | 2005-10-05 | 2009-03-19 | クゥアルコム・インコーポレイテッド | Floating point processor with selectable lower precision |
| JP2012069123A (en) * | 2005-10-05 | 2012-04-05 | Qualcomm Inc | Floating-point processor having selectable low-order precision |
| JP2007172528A (en) * | 2005-12-26 | 2007-07-05 | Mitsubishi Electric Corp | Signal processor and imaging apparatus using the same |
Also Published As
| Publication number | Publication date |
|---|---|
| JP3462054B2 (en) | 2003-11-05 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6099158A (en) | Apparatus and methods for execution of computer instructions | |
| US5299319A (en) | High performance interlock collapsing SCISM ALU apparatus | |
| US5862065A (en) | Method and circuit for fast generation of zero flag condition code in a microprocessor-based computer | |
| US6260055B1 (en) | Data split parallel shifter and parallel adder/subtractor | |
| WO2001046795A2 (en) | Method and apparatus for performing single-cycle addition or subtraction and comparison in redundant form arithmetic | |
| JPH0479013B2 (en) | ||
| JP3139466B2 (en) | Multiplier and product-sum operator | |
| US9317478B2 (en) | Dual-path fused floating-point add-subtract | |
| JPH0542011B2 (en) | ||
| JP2683488B2 (en) | 3-1 Logical operation device | |
| US5583806A (en) | Optimized binary adder for concurrently generating effective and intermediate addresses | |
| US6314443B1 (en) | Double/saturate/add/saturate and double/saturate/subtract/saturate operations in a data processing system | |
| JPH0542012B2 (en) | ||
| JP3462054B2 (en) | Parallel addition / subtraction circuit | |
| US6202078B1 (en) | Arithmetic circuit using a booth algorithm | |
| GB2396708A (en) | Arithmetic logic unit with feedback to a first adder via registers and output via a second adder. | |
| US6065034A (en) | Circuit and method employing an adder for sign extending operands | |
| US5944772A (en) | Combined adder and logic unit | |
| US7444366B2 (en) | Faster shift value calculation using modified carry-lookahead adder | |
| US6038660A (en) | Method and apparatus for updating a program counter | |
| CN119201038B (en) | Floating point addition implementation method and device for mixed precision operation and electronic equipment | |
| JP3462670B2 (en) | Calculation execution method and calculation device | |
| JP3187402B2 (en) | Floating point data addition / subtraction circuit | |
| JP2004021573A (en) | Data processing device | |
| JPH0251732A (en) | Floating point computing element |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20070815 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (prs date is renewal date of database) |
Year of fee payment: 5 Free format text: PAYMENT UNTIL: 20080815 |
|
| FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090815 Year of fee payment: 6 |
|
| FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090815 Year of fee payment: 6 |
|
| FPAY | Renewal fee payment (prs date is renewal date of database) |
Year of fee payment: 7 Free format text: PAYMENT UNTIL: 20100815 |
|
| FPAY | Renewal fee payment (prs date is renewal date of database) |
Year of fee payment: 7 Free format text: PAYMENT UNTIL: 20100815 |
|
| FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110815 Year of fee payment: 8 |
|
| FPAY | Renewal fee payment (prs date is renewal date of database) |
Year of fee payment: 8 Free format text: PAYMENT UNTIL: 20110815 |
|
| FPAY | Renewal fee payment (prs date is renewal date of database) |
Year of fee payment: 9 Free format text: PAYMENT UNTIL: 20120815 |
|
| LAPS | Cancellation because of no payment of annual fees |