US3828175A
Expired / Lapsed
US
⏱️ 0.0 years remaining
Method and apparatus for division employing table-lookup and functional iteration
Assignee: Fujitsu IT Holdings Inc
•
Filing: 1972-10-30
•
Granted: 1974-08-06
•
Expires: 1992-10-30
Abstract
Abstract Disclosed is a divide method and a divide apparatus for use in a data processing system. A given dividend, No, and a given divisor, Do, are used to calculate a quotient Q. The quotient Q consists of the quotient bytes Q(O), Q(l),...,Q(i), Q(i+l),..., Q(n-l). The quotient bytes Q(i) are formed in successive iterations of the equation
Inventors
- 👤 G Amdahl
- 👤 M Clements
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-10-24 07:01
CPC Classifications
G; G06; G06F; G06F7/00; G06F7/38; G06F7/48; G06F7/52; G06F7/535; G06F2207/00; G06F2207/535; G06F2207/5351; G06F2207/5352; G06F2207/5355; G06F2207/5356
Claims Analysis
Total Claims: 10
Claim 1
Independent Claim
294 words
A data processing system storing a dividend N and a divisor D which are operated upon to form a quotient Q, where Q includes n quotient bytes Q(0), Q(1),..., Q(i), Q(i+1),..., Q(n-1), said system comprising, a first unit for concurrently adding and multiplying operands, a second unit for adding, for one''s complementing and for two''s complementing operands, a shifter unit for shifting operands, a plurality of registers for storing operands, including said dividend N and said divisor D, control means for controlling the processing of operands, a table-lookup unit for storing a plurality of first approximate reciprocal divisors; means, responsive to said control means for gating high-order bits of said divisor D from said registers to said table-lookup unit to gate a corresponding one, (Dt) 1, of said first approximate reciprocal divisors into said registers; means, responsive to said control means, for gating the approximate recIprocal divisor (Dt) 1 and the divisor D from said registers to said first unit to form the product D(Dt) 1 which equals (1-(dt)) where (dt) is an initial multiplier, means, responsive to said control means, connecting said first unit to said registers for storing (1-(dt)) in said registers; means, responsive to said control means, for gating (1-(dt)) from said registers to said second unit for two''s complementing (1-(dt)) to form (1+(dt)), means, responsive to said control means, connecting said second unit to said registers for storing (1+(dt)) in said registers; means, responsive to said control means, for gating (1+(dt)) and the approximate reciprocal divisor (Dt) 1 from said registers to said first unit to form the product (1+(dt))(Dt) 1 which equals a second approximate reciprocal divisor (Dp)116 1; means, responsive to said control means, connecting said first unit to said registers for storing (Dp) 1 in said registers.
Claim 2
Dependent Claim
294 words
A data processing system storing a dividend N and a divisor D which are operated upon to form a quotient Q, where Q includes n quotient bytes Q(0), Q(1),..., Q(i), Q(i+1),..., Q(n-1), said system comprising, a first unit for concurrently adding and multiplying operands, a second unit for adding, for one''s complementing and for two''s complementing operands, a shifter unit for shifting operands, a plurality of registers for storing operands, including said dividend N and said divisor D, control means for controlling the processing of operands, a table-lookup unit for storing a plurality of first approximate reciprocal divisors; means, responsive to said control means for gating high-order bits of said divisor D from said registers to said table-lookup unit to gate a corresponding one, (Dt) 1, of said first approximate reciprocal divisors into said registers; means, responsive to said control means, for gating the approximate recIprocal divisor (Dt) 1 and the divisor D from said registers to said first unit to form the product D(Dt) 1 which equals (1-(dt)) where (dt) is an initial multiplier, means, responsive to said control means, connecting said first unit to said registers for storing (1-(dt)) in said registers; means, responsive to said control means, for gating (1-(dt)) from said registers to said second unit for two''s complementing (1-(dt)) to form (1+(dt)), means, responsive to said control means, connecting said second unit to said registers for storing (1+(dt)) in said registers; means, responsive to said control means, for gating (1+(dt)) and the approximate reciprocal divisor (Dt) 1 from said registers to said first unit to form the product (1+(dt))(Dt) 1 which equals a second approximate reciprocal divisor (Dp)116 1; means, responsive to said control means, connecting said first unit to said registers for storing (Dp) 1 in said registers.
Claim 3
Dependent Claim
117 words
The apparatus of claim 1 including, means, responsive to said control means, for gating the approximate reciprocal divisor (Dp) 1 and the divisor D from said registers to said first unit to form the product D(Dp) 1 which equals (1-(dp)) where (dp) is an iterative multiplier; means, responsive to said control means, connecting said first unit to said registers for storing (1-(dp)) in said registers, means, responsive to said control means, for gating (1-(dp)) from said registers to said second unit to form the one''s complement of (1-(dp)) equal to the iterative multiplier (dp); and means, responsive to said control means, connecting said second unit to said registers for storing the iterative multiplier (dp) in said registers.
Claim 4
Dependent Claim
131 words
The system of claim 2 in which No is a given dividend stored in said registers and Do is a given divisor stored in said registers, said system including, means, responsive to said control means, connecting said registers to said shifting unit for binary normalizing said divisor Do by shifting y bits to truncate all high-order 0''s thereby forming said divisor D, means, responsive to said control means, connecting said shifter unit to said registers for storing said divisor D in said registers, means, responsive, to said control means, for gating said dividend No to said shifter unit for shifting the dividend No y bits thereby forming said dividend N, means, responsive to said control means, connecting said shifter unit to said registers for storing said dividend N in said registers.
Claim 5
Dependent Claim
206 words
The apparatus of claim 2 including, means, responsive to said control means, for gating (Dp) 1 and N to said first unit for multiplying (Dp) 1 by N to form Q(0), r(0), where r(0) is the 0th truncated remainder of the truncated remainders r(i), means, responsive to said control means, connecting said first unit to said registers for storing Q(0), r(0) in said registers, means, responsive to said control means, for gating (dp), Q(0) and r(0) to said first unit for multiplying (dp) by Q(0) and adding the product to r(0) to form the term Q(1), r(1) where r(1) is the 1st truncated remainder of the truncated remainders r(i), means, responsive to said control means, connecting said first unit to Said register means for storing Q(1), r(1) in said registers, means, responsive to said control means, for iteratively gating (dp), Q(i), and r(i) from said registers to said first unit for iteratively multiplying (dp) by Q(i) and adding the product to r(i) to form Q(i+1), r(i+1) for all values of i from 1 to (n-1), means, responsive to said control means, connecting to said first unit to said registers for iteratively storing Q(i+1), r(i+1) in said registers for all values of i from 1 to (n-1).
Claim 6
Dependent Claim
352 words
A data processing system storing a dividend N and a divisor D which are operated upon to form a quotient Q where Q includes n non-overlapping quotient bytes Q(0), Q(1),...,Q(i), Q(i+1), ...,Q(n-1), where each byte includes x binary bits, said system comprising, a first unit for concurrently adding and multiplying operands, a second unit for adding, for one''s complementing and for two''s complementing operands, a shifter unit for shifting operands, a plurality of registers for storing operands, including said dividend N and said divisor D, control means for controlling the processing of operands, a table-lookup unit for storing a plurality of first approximate reciprocal divisors of the form (Dt) 1 where (Dt) does not differ from D by more than 2 (x/2), means, responsive to said control means, for gating high-order bits of said divisor D from said registers to address said table-lookup unit to access a corresponding one, (Dt)c 1, of said first approxiamte reciprocal divisors, means, responsive to said control means, connecting said table-lookup unit to said registers for storing said reciprocal divisor (Dt)c 1 in said registers, means, responsive to said control means, for gating said reciprocal divisor (Dt)c 1 and the divisor D from said registers to said first unit to form the product D(Dt) 1 which equals (1-(dt)) where (dt) is an initial multiplier, means, responsive to said control means, connecting said first unit to said registers for storing (1-(dt)) in said registers; means, responsive to said control means, for gating (1-(dt)) from said registers to said second unit for two''s complementing (1-(dt)) to form (1+(dt)), means, responsive to said control means, connecting said second unit to said registers for storing (1+(dt)) in said registers; means, responsive to said control means, for gating (1+(dt)) and the approximate reciprocal divisor (Dt) 1 from said registers to said first unit to form the product (1+ (dt)) (Dt) 1 which equals a second approximate reciprocal divisor (Dp) 1 where (Dp) does not differ from D by more than 2 x, means, responsive to said control means, connecting said first unit to said registers for storing (Dp) 1 in said registers.
Claim 7
Dependent Claim
352 words
A data processing system storing a dividend N and a divisor D which are operated upon to form a quotient Q where Q includes n non-overlapping quotient bytes Q(0), Q(1),...,Q(i), Q(i+1), ...,Q(n-1), where each byte includes x binary bits, said system comprising, a first unit for concurrently adding and multiplying operands, a second unit for adding, for one''s complementing and for two''s complementing operands, a shifter unit for shifting operands, a plurality of registers for storing operands, including said dividend N and said divisor D, control means for controlling the processing of operands, a table-lookup unit for storing a plurality of first approximate reciprocal divisors of the form (Dt) 1 where (Dt) does not differ from D by more than 2 (x/2), means, responsive to said control means, for gating high-order bits of said divisor D from said registers to address said table-lookup unit to access a corresponding one, (Dt)c 1, of said first approxiamte reciprocal divisors, means, responsive to said control means, connecting said table-lookup unit to said registers for storing said reciprocal divisor (Dt)c 1 in said registers, means, responsive to said control means, for gating said reciprocal divisor (Dt)c 1 and the divisor D from said registers to said first unit to form the product D(Dt) 1 which equals (1-(dt)) where (dt) is an initial multiplier, means, responsive to said control means, connecting said first unit to said registers for storing (1-(dt)) in said registers; means, responsive to said control means, for gating (1-(dt)) from said registers to said second unit for two''s complementing (1-(dt)) to form (1+(dt)), means, responsive to said control means, connecting said second unit to said registers for storing (1+(dt)) in said registers; means, responsive to said control means, for gating (1+(dt)) and the approximate reciprocal divisor (Dt) 1 from said registers to said first unit to form the product (1+ (dt)) (Dt) 1 which equals a second approximate reciprocal divisor (Dp) 1 where (Dp) does not differ from D by more than 2 x, means, responsive to said control means, connecting said first unit to said registers for storing (Dp) 1 in said registers.
Claim 8
Independent Claim
256 words
A method of division in a data processing system storing a dividend N and a divisor D which are operated upon to form a quotient Q where Q includes n non-overlapping quotient bytes Q(O), Q(l),...,Q(i), Q(i+1),..., Q(n-1) and where each byte includes x binary bits; said system having a first unit for concurrently adding and multiplying operAnds; having a second unit for adding, for one''s complementing and two''s complementing operands; having a plurality of registers for storing operands including said dividend N and said divisor D; having control means for controlling the processing of operands; having a table-lookup unit for storing a plurality of first reciprocal divisors of the form (Dt) 1 where (Dt) does not differ from D by more 2 (x/2), the steps comprising, addressing said table-lookup unit with the high-order bits of D to access a corresponding one, (Dt)c 1, of said first approximate reciprocal divisors, storing (Dt)c 1 in said register means, gating (Dt)c 1 and D to said first unit, multiplying (Dt)c 1 and D in said first unit to form (1-(dt)) where (dt) is an initial multiplier, storing (1-(dt)) in said register means, gating (1-(dt)) to said second unit, two''s complementing (1-(dt)) in said second unit to form (1+(dt)), storing (1+(dt)) in said register means, gating (1-(dt)) and (Dt)c 1 to said first unit, multiplying (1+(dt)) and (Dt)c 1 in said first unit to form a calculated reciprocal divisor (Dp) 1 whereby (Dp) does not differ from D by greater than 2 x, storing (Dp) 1 in said register means.
Claim 9
Independent Claim
256 words
A method of division in a data processing system storing a dividend N and a divisor D which are operated upon to form a quotient Q where Q includes n non-overlapping quotient bytes Q(O), Q(l),...,Q(i), Q(i+1),..., Q(n-1) and where each byte includes x binary bits; said system having a first unit for concurrently adding and multiplying operAnds; having a second unit for adding, for one''s complementing and two''s complementing operands; having a plurality of registers for storing operands including said dividend N and said divisor D; having control means for controlling the processing of operands; having a table-lookup unit for storing a plurality of first reciprocal divisors of the form (Dt) 1 where (Dt) does not differ from D by more 2 (x/2), the steps comprising, addressing said table-lookup unit with the high-order bits of D to access a corresponding one, (Dt)c 1, of said first approximate reciprocal divisors, storing (Dt)c 1 in said register means, gating (Dt)c 1 and D to said first unit, multiplying (Dt)c 1 and D in said first unit to form (1-(dt)) where (dt) is an initial multiplier, storing (1-(dt)) in said register means, gating (1-(dt)) to said second unit, two''s complementing (1-(dt)) in said second unit to form (1+(dt)), storing (1+(dt)) in said register means, gating (1-(dt)) and (Dt)c 1 to said first unit, multiplying (1+(dt)) and (Dt)c 1 in said first unit to form a calculated reciprocal divisor (Dp) 1 whereby (Dp) does not differ from D by greater than 2 x, storing (Dp) 1 in said register means.
Claim 10
Dependent Claim
215 words
The method of claim 6 including the steps, gating (Dp) 1 and D to said first unit, multiplying (Dp) 1 and D in said first unit to form (1-(dp)), storing (1-(dp)) in said register means, gating (1-(dp)) from said registers to said second unit, one''s complementing (1-(dp)) in said first unit to form (dp) where (dp) is an iterative multiplier, storing (dp) in said registers, gating (Dp) 1 and N to said first unit, multiplying (Dp) 1 and N in said first unit to form Q(0), r(0) where r(0) is a 0th truncated remainder of the truncated remainder r(i), storing Q(0), r(0) in said registers, gating Q(0), (dp), and r(0) to said first unit, multiplying Q(0) and (dp) and adding r(0) to the product in said first unit to form Q(1), r(1), storing Q(1), r(1) in said registers, iteratively gating (dp), Q(i), and r(i ) from said registers to said first unit for all values of i from 1 to (n-1), iteratively multiplying (dp) by Q(i) in said first unit to form the product (dp)Q(i) and adding said product (dp)Q(i) to r(i) in said first unit to form Q(i+1), r(i+1) for all values of i from 1 to (n-1), iteratively storing Q(i+1), r(i+1) in said registers for all values of i from 1 to (n-1).
References Cited (Backward Citations)
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 1977-08-05 | 1978-02-04 | 1978-08-06 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 1981-08-05 | 1982-02-04 | 1982-08-06 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 1985-08-05 | 1986-02-04 | 1986-08-06 | $7700.00 | Window Closed / Lapsed |