GB2202974A - Digital divider - Google Patents

Digital divider Download PDF

Info

Publication number
GB2202974A
GB2202974A GB08707615A GB8707615A GB2202974A GB 2202974 A GB2202974 A GB 2202974A GB 08707615 A GB08707615 A GB 08707615A GB 8707615 A GB8707615 A GB 8707615A GB 2202974 A GB2202974 A GB 2202974A
Authority
GB
United Kingdom
Prior art keywords
divisor
dividend
register
divider
bit
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
GB08707615A
Other versions
GB8707615D0 (en
Inventor
Peter George Holland
Vincent Considine
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.)
Plessey Co Ltd
Original Assignee
Plessey Co 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 Plessey Co Ltd filed Critical Plessey Co Ltd
Priority to GB08707615A priority Critical patent/GB2202974A/en
Publication of GB8707615D0 publication Critical patent/GB8707615D0/en
Priority to PCT/GB1988/000240 priority patent/WO1988007717A1/en
Publication of GB2202974A publication Critical patent/GB2202974A/en
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/52Multiplying; Dividing
    • G06F7/535Dividing only
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/38Indexing scheme relating to groups G06F7/38 - G06F7/575
    • G06F2207/3804Details
    • G06F2207/386Special constructional features
    • G06F2207/3884Pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/535Indexing scheme relating to groups G06F7/535 - G06F7/5375
    • G06F2207/5352Non-restoring division not covered by G06F7/5375

Landscapes

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

Abstract

An array processor (fig. 2) is provided for implementing an iterative non-restoring division algorithm, in which each iteration of the algorithm is effected by a separate cell (10). The implementation utilises a simple regular structure using minimum width internal registers (14, 18). The dividend is shifted left and the divisor is added thereto in two's complemented or in non-complemented form in dependence upon the value of a previously formed quotient bit. The number of cells (10) equals the number of iterations and the width of the binary quotient.

Description

DIGITAL DIVIDER This invention relates to a straight-through digital divider for implementing a division algorithm in a simple manner.
The flow chart of the division algorithm is shown in Figure 1 of the accompanying drawings. The algorithm is known and is described, inter alia, in a paper entitled "Two's complement multiplication-division array based on the restoring division.1 This paper was published in the proceedings of the "1984 IEEE International Symposium on Circuits and Systems" (held in Montreal Canada 7-10th May 1984) Volume 3 pp 1078-1081. The algorithm is presently implemented, as described, in micro processor systems.
In the algorithm, a dividend binary word X less than or equal to a divider binary word Y is divided thereby to produce a quotient Q. The algorithm iterates and the number of iterations determined the number of bits N in the quotient.
To initiate the algorithm, a bit count is set to O and the MSB of the quotient Q(o) is set to 1. This initial setting of Q(o) is subsequently discarded from the quotient. The quotient is progresively formed (from the MSB to the LSB) as the shown loop is performed. The functions within the loop are effected in dependence upon the value of Q(n-l) i.e. on the previously formed quotient bit. The present quotient bit Q(n) is the complement of the carry of the function performed during the particular iteration.
In implementation of this algorithm, it is conventional to use repetitively the same registers.
Further, for N bit divisor Y or dividend X, the internal registers are normally 2N bits aside.
It is an object of the present invention to provide a digital divider for implementing the algorithm which is of simple regular construction and is able to operate at high speed.
According to the present invention, there is provided a digital straight-through divider, for implementing an iterative, non-restoring algorithm wherein a dividend is divided by a divisor to produce a quotient, comprising a first register whereinto a binary word representing a divisor may be loaded, a second register wherein progressively produced bits of a quotient may be successively stored starting from an MSB position, and a path whereon a binary word representing the dividend may be placed, the path including a plurality of similar cells, each cell comprising a third register for storing the dividend or a binary word resulting from an iteration of the algorithm, an adder, means for effecting a one-bit left shift of the binary word on the path in feeding the binary word to a first input of the adder, an output of the adder feeding the path to the third register of a next of the cells, means for complementing a carry output of the adder and for feeding the complemented carry output to the next bit position of the second register, there being means for feeding the divisor or the two's complement thereof in dependence upon the quotient bit produced in the previous cell to a second input of the adder.
The invention will be described further, by way of example, with reference to Figure 2 of the accompanying drawings which is a schematic diagram of one cell of a digital straight-through divider according to a preferred embodiment of the present invention.
As shown in Figure 2, each cell 10 is located upon a path 12 of the divider. A plurality of similar cells are located in series along the path 12. Each cell 10 comprises a first register 14 into which initially a binary word N bits wide and constituting the dividend is loaded. The dividend is fed to a first input of an adder 16. A binary word constituting the divisor is loaded into a second register 18. For each cell, a bank 24 of exclusive-or gates is interposed on the spur 22, there being one gate for each bit of the divisor and a second input 26 to each gate is received from a latch 28. The latch 28, for the first cell 10 is loaded with a "1" For each subsequent cell, the latch contains a quotient bit produced in a previous one of the cells. The latch 28 also provides a sign bit for a second input of the adder 16 and a carry-in input to the adder 16.Depending on the value of the bit contained in the latch 28 ("1^ or "0"), the divisor will change to its two's complement or will remain unchanged and will be input to a second input of the adder 16. The binary words input to the adder 16 at the first and second inputs are summed. The carry-out of the adder 16 is complemented and fed to a third register (not shown) wherein progressively formed quotient bits are stored starting from the MSB. The complemented carry-out is also fed to the next cell 10 to be stored in the latch 28 thereof.
The sum of the two input words to the adder is fed along the path 12 to a register 14 (not shown) to the next of the cells. The hardwire connection is arranged to effect a one bit left shift of the word on the path 12 between the cells.
It wil be appreciated that each cell performs an iteration of the above-described algorithm and that the width of the quotient is equal to the number of iterations and hence of cells 10.
The invention is not confined to the precise details of the foregoing example, and variations may be effected thereto. For example, in the above described embodiment, the dividend (or the binary word derived in each cell therefrom) is shiftd left one bit between adjacent pairs of cells. In the algorithm, however, the divisor is halved at each iteration. Thus, it is possible to replace the one bit left shifter between cells in the path 12 with a one bit right shift effected by an appropriate hardwire connection of the spurs 22.
The one bit left shift may alternatively be effected between the register 14 and the adder 16 of each cell.
The bank 24 of exclusive-or gates may be provided one per divider rather than one per cell as shown.
Further, it is not necessary to provide a latch 28 as the appropriate bit of the register (not shown) wherein the quotient bits are stored could be tested to determine whether the two's complement of the divisor or the divisor itself should be fed along the bus 20 and spur 22 to the appropriate cell 10.
If desired, the pipeline registers 14, 18 and 28 may be removed from the cell.
The simple and regular architecture of the cells 10 described enable VLSI chip fabrication of the divider.
The straight-through implementation of the algorithm permits a throughput rate of at least 10 MHz when operating on 16 bit binary words. With pipelining between cells, quotient are produced at the rate of one quotient bit for each clock pulse.
The internal registers (dividend and divisor) always contain the same number of bits, so that, regardless of the shifts left that occur, they only need to be as wide as the initially input words.
The divider of the invention may be used in any processor or processing application in which the division of binary numbers is involved.

Claims (9)

1. A digital straight-through divider, for implementing an iterative, non-restoring algorithm wherein a dividend is divided by a divisor to produce a quotient, comprising a first register whereinto a binary word representing a divisor may be loaded, a second register wherein progressively produced bits of a quotient may be successively stored starting from an MSB position, and a path whereon a binary word representing the dividend may be placed, the path including a plurality of similar cells, each cell comprising a third register for storing the dividend or a binary word resulting from an iteration of the algorithm, an adder, means of effecting a one-bit left shift of the binary word on the path in feeding the binary word to a first input of the adder, an output of the adder feeding the path to the third register of a next of the cells, means for complementing a carry output of the adder and for feeding the complemented carry output to the next bit position of the second register, there being means for feeding the divisor or the two's complement thereof in dependence upon the quotient bit produced in the previous cell to a second input of the adder
2. A divider as claimed in claim 1 wherein the path connecting each cell to the next successive cell includes a hard wire connection constituting the means for effecting the one bit left shift.
3. A divider as claimed in claim 1 or 2 including, for each bit of the divisor, an exlusive-or gate, a second input to the bank of the gates being the last formed quotient bit.
4. A divider as claimed in claim 3 wherein each cell includes one of the banks of gates.
5. A divider as claimed in any preceding claim wherein each of the cells includes a latch for storing the quotient bit produced by the preceding cell.
6. A divider as claimed in any preceding claim wherein the first and third registers are N bits wide for N-bit binary words.
7. A divider as claimed in any preceding claim wherein the second register is of width equal to the number of cells.
8. A digital straight-through divider substantially as hereinbefore described with reference to and as illustrated in Figure 2 of the accompanying drawings.
9. A digital straight-through divider for implementing an iterative, non-restoring division algorithm comprising a first register whereinto a binary divisor may be loaded, a second register whereinto a binary dividend may be loaded and a third register in which a progressively produced quotient may be stored, including, for each iteration, a respective means for increasing the ratio of the dividend to the divisor by a factor of two, to produce a new dividend or new divisor, means responsive to a previously formed quotient bit for summing the new divisor with the dividend or the divisor with the new dividend, or for subtracting the new divisor from the dividend or the divisor from the new dividend, means for complementing the carry of such summation and for storing the complemented carry into the third register.
GB08707615A 1987-03-31 1987-03-31 Digital divider Withdrawn GB2202974A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
GB08707615A GB2202974A (en) 1987-03-31 1987-03-31 Digital divider
PCT/GB1988/000240 WO1988007717A1 (en) 1987-03-31 1988-03-30 An array processor for performing digital division

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB08707615A GB2202974A (en) 1987-03-31 1987-03-31 Digital divider

Publications (2)

Publication Number Publication Date
GB8707615D0 GB8707615D0 (en) 1987-05-07
GB2202974A true GB2202974A (en) 1988-10-05

Family

ID=10614950

Family Applications (1)

Application Number Title Priority Date Filing Date
GB08707615A Withdrawn GB2202974A (en) 1987-03-31 1987-03-31 Digital divider

Country Status (2)

Country Link
GB (1) GB2202974A (en)
WO (1) WO1988007717A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2254715A (en) * 1991-07-10 1992-10-14 Kashinath Narayan Dandeker Handling division by zero.
GB2267589A (en) * 1992-06-01 1993-12-08 Motorola Inc Performing integer and floating point division using a single SRT divider

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3098242B2 (en) * 1988-07-13 2000-10-16 日本電気株式会社 Data processing device

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1551896A (en) * 1976-10-15 1979-09-05 Rca Corp Multiply-divide unit
GB1585595A (en) * 1977-04-28 1981-03-04 Ibm Data processing apparatus
EP0040279A2 (en) * 1980-05-05 1981-11-25 Control Data Corporation Binary divider
US4484259A (en) * 1980-02-13 1984-11-20 Intel Corporation Fraction bus for use in a numeric data processor

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1551896A (en) * 1976-10-15 1979-09-05 Rca Corp Multiply-divide unit
GB1585595A (en) * 1977-04-28 1981-03-04 Ibm Data processing apparatus
US4484259A (en) * 1980-02-13 1984-11-20 Intel Corporation Fraction bus for use in a numeric data processor
EP0040279A2 (en) * 1980-05-05 1981-11-25 Control Data Corporation Binary divider

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2254715A (en) * 1991-07-10 1992-10-14 Kashinath Narayan Dandeker Handling division by zero.
GB2254715B (en) * 1991-07-10 1995-02-22 Kashinath Narayan Dandeker A control switch based on the Boolean false=0/0 and the Boolean true=(not 0)/(not 0)
GB2267589A (en) * 1992-06-01 1993-12-08 Motorola Inc Performing integer and floating point division using a single SRT divider

Also Published As

Publication number Publication date
WO1988007717A1 (en) 1988-10-06
GB8707615D0 (en) 1987-05-07

Similar Documents

Publication Publication Date Title
US5046038A (en) Method and apparatus for performing division using a rectangular aspect ratio multiplier
US5307303A (en) Method and apparatus for performing division using a rectangular aspect ratio multiplier
US4320464A (en) Binary divider with carry-save adders
US3515344A (en) Apparatus for accumulating the sum of a plurality of operands
US5184318A (en) Rectangular array signed digit multiplier
US3670956A (en) Digital binary multiplier employing sum of cross products technique
JPH0727456B2 (en) Floating point arithmetic unit
US4748582A (en) Parallel multiplier array with foreshortened sign extension
Kinniment An evaluation of asynchronous addition
US5023827A (en) Radix-16 divider using overlapped quotient bit selection and concurrent quotient rounding and correction
US5132925A (en) Radix-16 divider using overlapped quotient bit selection and concurrent quotient rounding and correction
US5508952A (en) Carry-lookahead/carry-select binary adder
US5126964A (en) High performance bit-sliced multiplier circuit
US5144576A (en) Signed digit multiplier
US4796219A (en) Serial two's complement multiplier
KR100308726B1 (en) Apparatus and method for reducing the number of round-up predictor stages in a high speed arithmetic apparatus
JPH04205026A (en) Divider circuit
Meyer-Bäse et al. A parallel CORDIC architecture dedicated to compute the Gaussian potential function in neural networks
US5867413A (en) Fast method of floating-point multiplication and accumulation
US5245563A (en) Fast control for round unit
GB2202974A (en) Digital divider
US4941121A (en) Apparatus for high performance multiplication
Swartzlander Merged arithmetic for signal processing
US6484193B1 (en) Fully pipelined parallel multiplier with a fast clock cycle
US7167885B2 (en) Emod a fast modulus calculation for computer systems

Legal Events

Date Code Title Description
WAP Application withdrawn, taken to be withdrawn or refused ** after publication under section 16(1)