WO1986001017A1 - The multi input fast adder - Google Patents
The multi input fast adder Download PDFInfo
- Publication number
- WO1986001017A1 WO1986001017A1 PCT/LK1985/000001 LK8500001W WO8601017A1 WO 1986001017 A1 WO1986001017 A1 WO 1986001017A1 LK 8500001 W LK8500001 W LK 8500001W WO 8601017 A1 WO8601017 A1 WO 8601017A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- incorporates
- produce
- carry
- stages
- bits
- Prior art date
Links
- 238000000034 method Methods 0.000 claims abstract description 37
- 230000008569 process Effects 0.000 claims abstract description 18
- 238000012545 processing Methods 0.000 claims abstract description 15
- 230000006870 function Effects 0.000 claims abstract description 4
- 238000007620 mathematical function Methods 0.000 claims abstract description 3
- 238000007792 addition Methods 0.000 description 19
- 238000013461 design Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 4
- 230000001934 delay Effects 0.000 description 3
- 230000014509 gene expression Effects 0.000 description 3
- 239000000969 carrier Substances 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- XDXHAEQXIBQUEZ-UHFFFAOYSA-N Ropinirole hydrochloride Chemical compound Cl.CCCN(CCC)CCC1=CC=CC2=C1CC(=O)N2 XDXHAEQXIBQUEZ-UHFFFAOYSA-N 0.000 description 1
- 206010064127 Solar lentigo Diseases 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000015654 memory Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/50—Adding; Subtracting
- G06F7/505—Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination
- G06F7/509—Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination for multiple operands, e.g. digital integrators
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Mathematical Optimization (AREA)
- General Engineering & Computer Science (AREA)
- Complex Calculations (AREA)
Abstract
A multi input arithmatic logic unit by combination of breaking down the inputs into several stages of bitwise processing followed by shifting of outputs according to the power of bits. This process may also be repeated or serially combined, combined with carry look ahead stages or used for producing modular units by introducing carry-in and carry outs. This may also be incorporated to process negative numbers, produce logical functions, multipliers, dividers, mathematical functions, control units, etc.
Description
THE MULTI INPUT FAST ADDER Introduction
This invention is related to the speed ing up of arithmetic logic units of computers and micro computers. It leads to manufacturing of integrated circuits for real time and fast digital processing , and control applications.
Addition of more than two numbers cannot be done by a human being except using the cumulative law, where one adds two numbers at first, and add the third number to the result and so on. This technique has been adopted in computer technology and therefore has inherent limitations. Addition of several numbers must be done using the above technique. As one number consists of several digits,additon has to be started from lowest bit and a carry has to be passed to higher bits. Carry look-ahead technique is used to speed up this operation. It is described in detail in reference (1).
However there is no existing method to carry out a faster addition with more than two numbers at a t i me . A lth ough a boolean expression can be used for one bit addition, the problem of carry propagation results in a significant delay. To reduce the time of adding several var iables,more arithmetic logic units can be used in parallel , reducing the number of steps to a logarithmic figure. But this i s an expensive solution. Multiplication which is done as a series of additions also suffers from this technological Iimitation. If one coefficient is fixed, this can be speeded up by using read only memories,which depends on known coefficients, in digital filters this technique is being applied to speed up operation. However this requires a customer designed filter for each application, which is described in reference(2).
In large computers fast multipliers are used with special design for a specific configuration.Boolean expression for full processing are extremely expensive. Due to irregularities of these expressions,a microprocessor has not been built with this facility, up to now.
Invention
This invention enables the faster arithmetic operations by incorporating more than two additions at a time. Several inputs of several bits can be added in a single unit. Addition of the same level bits of several variables are done by programmable logic array units, which produce certain number of out put bits of different powers. Each of these out put bits are considered as input to the next stage. Shifting of higher power bits to appropriate position is required. After shifting these bits of same power are added again, using programmable logic array units. Stage to stage , number of outputs per stage decreases. At the last stage there are only two outputs corresponding to each bit position, which can be treated as the addition of two numbers consisting of several bits, which is the normal application in present day technology. Incorporating carry look ahead technique at this stage will lead to faster speeds . However one can use these two inputs, with normal carry propagation procedures, depending on the requirement.
Several bits of several inputs can be grouped into , blocks of bits of all the inputs, to produce modular units. Each block will have certain number of intermediate carry bits in addition to the normal carry.
Numbers are represented in 2's complement form, and can be positive or negative. To remove overflow, a sufficient number of additional sign bits are introduced , before processing. In hardware implementation this is quite simple as , only the sign bit is fed in parallel to the required number of positions. This operation can be considered as a mere division, to guarantee that the result is within the limits of 2's complement representation (1 > result >= -1 ). The technique is valid for integer representation of numbers as well as for normalized representation of numbers.
Given below is one embodiment of carrying out above invention, and is in the form of explanation only, and not limiting in scope.
Figure (1) shows the general block diagram of this application
Figure (2) shows the 5 inputs of each digit and its three out puts from PLA corresponding to the equations given below.
These three outputs are shifted according to their values and added using another PLA to obtain two out puts. Figure (3) shows the implementation of this PLA in detail . (2 nd stage of addition requires 3 carriers from previous stage modular unit, and similarly first stage of addition generates these carriers for the next stage )
Equations governing the 2nd stage are
Yi,o = X (i,o) X (i-1,1) X (i-2,2) + X (i,o) X'(i-1,1) X' (i-2,2)
X'(i,o) X (i-1,1) X'(i-2,2) + X'-(i ,o) X'(i-1,1) X (i-2,2)
Yi,1 = X (i ,o) X (i-1,1) + X (i ,o) X (i-2,2) + X (i-1,1) X(i-2,2)
The outputs obtained from the second addition are shifted again according to their positions which reduces the problem to a two input case. Third PLA (as shown in Figure (4) is used to produce Generators and Propagators required for carry look ahead process ing. Equations governing this PLA are given below.
Si = Y(i,o) + Y(i-1,1) + Ci
Pi = Y(i,o) + Y(i-1,1)
Gi = Y(i ,o) Y(i-1,1)
These generators (Gi) , propagators (Pi) and carry in (Ci) are combined in the carry look ahead unit to produce carries C1,C2,C3,Cout, block generator (Gb) and block propagator (Pb).These block outputs can be used for further stages of carry look ahead processing.
Figure (5) explains the PLA implementation of this carry look ahead unit.
Cl =Go + Po Co C2 =G1 + P1 Go + P1 Po Co C3 =G2 + P2 G1 + P2 P1 Po Co Cout =G3 + P3 G2 + P3 P2 G1 + P3 P2 P1 Go + P3 P2 P1 Po Co Pb =P3 P2 P1 Po Gb =G3 + P3 G2 + P3 P2 G1 P3 P2 P1 Go + P3 P2 P1 Po Co
When negative number manipulation is required , same technique can be used .Principle of operation is similar with additional sign bits introduced to inputs . However the result has only one sign bit , and the speed of operation has increased by a order of magnitude.
delays associated with few types of ALUs are shown below
4bits 16bit, 64bits 256bits
1. Two numbers only 9 13 17 with carry look ahead
2.Five numbers (4 additions) 20 36 52 68
3.Five numbers (3 stages) 15 27 33 51 Parallel addition used
4. Five numbers 9 13 17 21 Proposed method
All delays are given in basic gate delays.
Still higher improvement can be obtained in adding more numbers at once.
Carrying out of the invention
As mentioned before this invention can be carried out in several ways, depending on the application. Five input four bit standard configuration can be produced as a MSL I/C. This will have 20 inputs, 5 carry ins and 5 carry outs (including 3 first stage car r i es , 1 second stage carry and the normal carry),block generator and block propagator out puts for further stages of car ry look ahead processing , and four out put bits. After considering clocks and power connections it can be concluded that this configuration can fit into a 40 pin package. This will have many applications in real time processing.
In microprocessors this can be used as a building block of the ALU Configuration can be changed from 4 bits to any number requi red.number of parallel inputs also can be changed to a convenient number.
Main frames can use the same technique to produce fast multipliers and adders to speed up operation.
Advantages (i) The system suggested enables the design of a modular unit , possibly a chip , which can be used for fast addition and thereby improve the capabilities of digital filters by allowing a smaller sampling time during two successive samplings of a real time processing system. This opens a new avenue for filters which require a higher frequency response . Certain present requirements , which cannot be carried out due to a technological limitation of processing speed become possible. (ii) The system suggested can be incorporated in fast multipliers in main frames as well as in microprocessors , as a functional unit . Flexibility of having different stages makes the component cheaper and allows for more design variations. (iii) The system suggested requires only , very elementary programmable logic array units and standard carry look ahead units , enabling the design to be more regular and therefore accurate and , very fast design at chip level. (iv ) The method suggested does not have any technological I i mi tat ion and is available for production in a v e r y short time. ( v ) The method suggested can change the concept of normal computing , as new instructions of multiple additions can be incorporated at micro instruction level . This will speed up the overall performance of computers. (vi ) This has a special application in cascade digital filters , where all figures require addition of only five numbers . Present technology of fixed coefficients and associated ROMs can be changed to that of programmable digital filters. This will reduce digital filter cost by an order of magnitude as customer built ROMs can be completely eliminated.
Industrial applications
(a) Production of a fast operation chip
A Radar moving target indicator (MTI) is atypical example for this application. The MTI filter has to process its data within the pulse repetetion interval and provide the processed information for displaying purposes. The same information is required for antenna controlling in tracking radars. Therefore filter complexity is basically limited by the processing time. Any improvement in processing time enables the use of better filters and hence is quite useful as an aviation aid. Applications can be extended to controls and military uses. (b) At present digital filters in various applications require different ROMs depending on the filter coefficients. This chip will reduce the cost of these filters as customerized production is completely eliminated. One filter may replace a group of filters depending on the applications reducing customer costs further. TypicaI example is a communication channeI which uses
several frequencies, depending on time of operation, sun spots and atmospheric conditions. As one programmable filter can accommodate all these filtering facilities, a number of filters is no more required. (c) Present compiler structure has only the addition instruction for adding two numbers. Software has to reduce any arithmetic statement into a set of machine instructions of adding two numbers at a time. With this type of processor this may become simpler.lt improves throughput and system software development facilities simultaneously. This will have special application in statistical and weather data processing computers, as very large number of repetetive additions are to be carried out. (d) At present multiplication is done mainly by, using addition in stages. This technique reduces multiplication time by an order of magnitude. Fast division algorithems which require fast multipliers are not used in microprocessor level at present. This technique solves this technology problem , and hence faster divisions become possible at this level. (e)Extension of above techniques can be used for any mathematical function generation and multiple nput compar isons using logical functions. Both functions have tremendous applications in electronic and control fields. (OImplementation of the technique can be extended to software, where hard ware shifting of outputs can be simulated using software shifting. This will have a wide application in multi processor environment, when array processing and pipelining principles are used for faster operations,
Given above is one variation, and the description is with an one embodiment in the way of an example only, and not limiting scope.Other embodiments and variations, yet within the concept is possible and is covered in this application.
Reference (1): FUNDAMENTALS HAND BOOK OF ELECTRICAL AND COMPUTER
ENGINEERING III -
Sheldon S.L. Chang, Editor - in - Chief pages 47 - 49
Reference (2): DIGITAL FILTERS ANALYSIS AND DESIGN -
Andreas Antoniou pages 426 - 431
Claims
1. A multi input Arithmetic Logic Unit (ALU) by combination of breaking down the inputs into several stages of bitwise processing (one or more bit positions can consist of a single block in this breaking down procedure ) followed by shifting of outputs according to the power of bits.
2. An Arithmetic Logic unit where the process as claimed in claim one is applied repeatedly (that is process is repeated or the two or more stages of processes as in claim one are serially combined).
3. Process consisting of, Combination of one or more of above claimed processes with one or more of carry look ahead stages.
4. Process consisting of, breaking down of the bit chain of, one or more of the processes, as claimed in claims one to three above, to produce modular units , by introducing one or more of carry ins and carry outs.
5 Process which incorporates one or more of above c laims one to four to process negative numbers.
6. Process which incorporates one or more of above claims one to five to produce logical functions.
7. process which incorporates one or more of above claims one to six to produce multipliers.
3. process which incorporates one or more of above claims one to seven, to produce dividers,
9. process which incorporates one or more of above claims one to eight, to produce any other mathematical function.
10. process which incorporates one or more of above claims one to nine, to produce control units,
11. process which incorporates one or more of above claims one to ten, to produce digital filters.
12. Software techniques which use one or more of above claims one to eleven.
13. Techniques substantially similar to the usage given in above claims one to twelve, or as described in the description.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
LK9425 | 1984-07-30 | ||
LK942584 | 1984-07-30 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO1986001017A1 true WO1986001017A1 (en) | 1986-02-13 |
Family
ID=19720948
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/LK1985/000001 WO1986001017A1 (en) | 1984-07-30 | 1985-07-01 | The multi input fast adder |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP0188458A1 (en) |
AU (1) | AU4490185A (en) |
WO (1) | WO1986001017A1 (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0376266A2 (en) * | 1988-12-28 | 1990-07-04 | Nec Corporation | Total sum calculation circuit capable of rapidly calculating a total sum of more than two input data represented by a floating point representation |
EP0604771A1 (en) * | 1992-12-31 | 1994-07-06 | Alcatel Standard Electrica, S.A. | Method and device to reduce the number of data words in binary arithmetic operations |
US10619123B2 (en) | 2017-08-17 | 2020-04-14 | The Procter & Gamble Company | Method for reducing gelling between a liquid laundry detergent and a liquid fabric enhancer |
US10863880B2 (en) | 2017-07-27 | 2020-12-15 | The Procter & Gamble Company | Method and system for reducing auto-dosing fluctuation of an automatic cleaning machine |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3566098A (en) * | 1966-09-28 | 1971-02-23 | Nippon Electric Co | High speed adder circuit |
US3675001A (en) * | 1970-12-10 | 1972-07-04 | Ibm | Fast adder for multi-number additions |
US3723715A (en) * | 1971-08-25 | 1973-03-27 | Ibm | Fast modulo threshold operator binary adder for multi-number additions |
US4139894A (en) * | 1976-02-23 | 1979-02-13 | U.S. Philips Corporation | Multi-digit arithmetic logic circuit for fast parallel execution |
US4157590A (en) * | 1978-01-03 | 1979-06-05 | International Business Machines Corporation | Programmable logic array adder |
US4241414A (en) * | 1979-01-03 | 1980-12-23 | Burroughs Corporation | Binary adder employing a plurality of levels of individually programmed PROMS |
US4348736A (en) * | 1978-10-05 | 1982-09-07 | International Business Machines Corp. | Programmable logic array adder |
US4399517A (en) * | 1981-03-19 | 1983-08-16 | Texas Instruments Incorporated | Multiple-input binary adder |
-
1985
- 1985-07-01 WO PCT/LK1985/000001 patent/WO1986001017A1/en unknown
- 1985-07-01 AU AU44901/85A patent/AU4490185A/en not_active Abandoned
- 1985-07-01 EP EP19850903064 patent/EP0188458A1/en not_active Withdrawn
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3566098A (en) * | 1966-09-28 | 1971-02-23 | Nippon Electric Co | High speed adder circuit |
US3675001A (en) * | 1970-12-10 | 1972-07-04 | Ibm | Fast adder for multi-number additions |
US3723715A (en) * | 1971-08-25 | 1973-03-27 | Ibm | Fast modulo threshold operator binary adder for multi-number additions |
US4139894A (en) * | 1976-02-23 | 1979-02-13 | U.S. Philips Corporation | Multi-digit arithmetic logic circuit for fast parallel execution |
US4157590A (en) * | 1978-01-03 | 1979-06-05 | International Business Machines Corporation | Programmable logic array adder |
US4348736A (en) * | 1978-10-05 | 1982-09-07 | International Business Machines Corp. | Programmable logic array adder |
US4241414A (en) * | 1979-01-03 | 1980-12-23 | Burroughs Corporation | Binary adder employing a plurality of levels of individually programmed PROMS |
US4399517A (en) * | 1981-03-19 | 1983-08-16 | Texas Instruments Incorporated | Multiple-input binary adder |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0376266A2 (en) * | 1988-12-28 | 1990-07-04 | Nec Corporation | Total sum calculation circuit capable of rapidly calculating a total sum of more than two input data represented by a floating point representation |
EP0376266A3 (en) * | 1988-12-28 | 1992-03-04 | Nec Corporation | Total sum calculation circuit capable of rapidly calculating a total sum of more than two input data represented by a floating point representation |
EP0604771A1 (en) * | 1992-12-31 | 1994-07-06 | Alcatel Standard Electrica, S.A. | Method and device to reduce the number of data words in binary arithmetic operations |
US10863880B2 (en) | 2017-07-27 | 2020-12-15 | The Procter & Gamble Company | Method and system for reducing auto-dosing fluctuation of an automatic cleaning machine |
US11352733B2 (en) | 2017-07-27 | 2022-06-07 | The Procter & Gamble Company | Method and system for reducing auto-dosing fluctuation of an automatic cleaning machine |
US11668043B2 (en) | 2017-07-27 | 2023-06-06 | The Procter & Gamble Company | Method and system for reducing auto-dosing fluctuation of an automatic cleaning machine |
US10619123B2 (en) | 2017-08-17 | 2020-04-14 | The Procter & Gamble Company | Method for reducing gelling between a liquid laundry detergent and a liquid fabric enhancer |
Also Published As
Publication number | Publication date |
---|---|
EP0188458A1 (en) | 1986-07-30 |
AU4490185A (en) | 1986-02-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69832985T2 (en) | Multiply-accumulator circuits | |
US4969118A (en) | Floating point unit for calculating A=XY+Z having simultaneous multiply and add | |
US3670956A (en) | Digital binary multiplier employing sum of cross products technique | |
US5347482A (en) | Multiplier tree using nine-to-three adders | |
US5206823A (en) | Apparatus to perform Newton iterations for reciprocal and reciprocal square root | |
EP0080836A2 (en) | Monolithic discrete-time digital convolution circuit | |
US5255216A (en) | Reduced hardware look up table multiplier | |
US4761760A (en) | Digital adder-subtracter with tentative result correction circuit | |
US4441158A (en) | Arithmetic operation circuit | |
US4130878A (en) | Expandable 4 × 8 array multiplier | |
US5122982A (en) | Carry generation method and apparatus | |
EP0862110A2 (en) | Wallace-tree multipliers using half and full adders | |
WO1986001017A1 (en) | The multi input fast adder | |
US4700325A (en) | Binary tree calculations on monolithic integrated circuits | |
EP0670061B1 (en) | Enhanced fast multiplier | |
US20040010536A1 (en) | Apparatus for multiplication of data in two's complement and unsigned magnitude formats | |
US5025257A (en) | Increased performance of digital integrated circuits by processing with multiple-bit-width digits | |
US4823300A (en) | Performing binary multiplication using minimal path algorithm | |
KR0175974B1 (en) | Processor for selectively performing multiplaying dividing operation s based on pipeline structure | |
JPH0816903B2 (en) | Multiply-accumulate operation circuit | |
JPS6355627A (en) | Semiconductor logic arithmetic unit | |
Chaudhary et al. | Design of 64 bit High Speed Vedic Multiplier | |
JPH05324694A (en) | Reconstitutable parallel processor | |
EP0626638A1 (en) | A one's complement adder and method of operation | |
Berezin et al. | Development of a device for multiplying numbers by means of FPGA |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AK | Designated states |
Designated state(s): AT AU BB BG BR CH DE DK FI GB HU JP KP KR LU MC MG MW NL NO RO SD SE SU US |
|
AL | Designated countries for regional patents |
Designated state(s): AT BE CF CG CH CM DE FR GA GB IT LU ML MR NL SE SN TD TG |
|
REG | Reference to national code |
Ref country code: DE Ref legal event code: 8642 |