← Back to Patent Explorer
US4466077A Expired / Lapsed US ⏱️ 0.0 years remaining

Method and apparatus for division employing associative memory

Assignee: International Business Machines Corp
•
Filing: 1981-09-25
•
Granted: 1984-08-14
•
Expires: 2001-09-25
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method and apparatus for the arithmetic division operation is disclosed in which a set of multiples of the divisor are stored in an associative memory in addresses which match the respective multiples. The most significant byte of the numerator is then compared to the contents of each associative entry. A flag is generated signifying that the corresponding entry is less than or equal to the most significant byte of the numerator. After the flags have been generated, the address of the last flag which is on, is selected. This provides a trial "digit out", which is used to address the true table of multiples and select a value which is subtracted from the left-digit-shifted numerator (or intermediate result). If no underflow condition results, the trial "digit out" is valid and should be stored and the next iteration started. For an underflow condition, the "digit out" is decremented and stored, the X1 multiple is added to the numerator and the next iteration is carried out. If the flag indicating X8 is on or at a value of 1, an X8 latch is set and a second pass is carried out, with the X8 latch output becoming part of the "digit out".

Inventors

  • 👤 Robert A. Iannucci
  • 👤 James R. Kleinsteiber

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-30 07:40
CPC Classifications
G; G06; G06F; G06F7/00; G06F7/38; G06F7/48; G06F7/52; G06F7/535; G06F7/491; G06F7/4915; G06F7/4917; G06F2207/00; G06F2207/535; G06F2207/5353

Claims Analysis

Total Claims: 16
Claim 1
Independent Claim 181 words
The method of performing division using a digital processor wherein a quotient digit value is obtained by finding the largest multiple of the denominator value that is less than or equal to the numerator or intermediate result, comprising the steps of: A. generating a table of multiples by multiplying the denominator value by successive integer multipliers starting with unity; B. storing the multiples; C. storing the most significant byte of each of the multiples; D. using comparing means to sequentially compare the most significant byte of the numerator or intermediate result with each most significant byte in storage to find the selected entries where the most significant byte is less than or equal to the most significant byte of the numerator or intermediate result; E. detecting the multiplier corresponding to the largest most significant byte satisfying the comparison; F. selectively addressing said table of multiples for the corresponding multiple in accordance with the detected multiple; G. using subtracting means to subtract the selected multiple from the numerator or intermediate result; H. detecting if an underflow condition results from said subtraction, then:
Claim 2
Independent Claim 181 words
The method of performing division using a digital processor wherein a quotient digit value is obtained by finding the largest multiple of the denominator value that is less than or equal to the numerator or intermediate result, comprising the steps of: A. generating a table of multiples by multiplying the denominator value by successive integer multipliers starting with unity; B. storing the multiples; C. storing the most significant byte of each of the multiples; D. using comparing means to sequentially compare the most significant byte of the numerator or intermediate result with each most significant byte in storage to find the selected entries where the most significant byte is less than or equal to the most significant byte of the numerator or intermediate result; E. detecting the multiplier corresponding to the largest most significant byte satisfying the comparison; F. selectively addressing said table of multiples for the corresponding multiple in accordance with the detected multiple; G. using subtracting means to subtract the selected multiple from the numerator or intermediate result; H. detecting if an underflow condition results from said subtraction, then:
Claim 3
Dependent Claim 126 words
using adding means to add the first entry from the table of multiples to the numerator or intermediate result; 2. storing the result of said subtraction; 3. decrementing by 1 the value of the detected multiplier; 4. and storing the value of the decremented, detected multiplier as the intermediate quotient value; I. detecting if no underflow condition results from said subtraction and if the detected multiplier does not correspond to the last entry in the table of multiples, then: 1. storing the result of said subtraction; 2. and storing the value of the detected multiplier as the intermediate quotient value; J. detecting if no underflow condition results from said subtraction and if the detected multiplier corresponds to the last entry in the table of multiples, then:
Claim 4
Dependent Claim 126 words
using adding means to add the first entry from the table of multiples to the numerator or intermediate result; 2. storing the result of said subtraction; 3. decrementing by 1 the value of the detected multiplier; 4. and storing the value of the decremented, detected multiplier as the intermediate quotient value; I. detecting if no underflow condition results from said subtraction and if the detected multiplier does not correspond to the last entry in the table of multiples, then: 1. storing the result of said subtraction; 2. and storing the value of the detected multiplier as the intermediate quotient value; J. detecting if no underflow condition results from said subtraction and if the detected multiplier corresponds to the last entry in the table of multiples, then:
Claim 5
Dependent Claim 64 words
setting a pass indicator equal to the detected multiplier; 2. performing a second pass by repeating steps D through I using the result of said subtraction as the intermediate result; 3. using summing means to sum the pass indicator to the detected multiplier resulting from the second pass; 4. storing the sum as the intermediate quotient; K. and, left-shifting the numerator or intermediate result.
Claim 6
Dependent Claim 64 words
setting a pass indicator equal to the detected multiplier; 2. performing a second pass by repeating steps D through I using the result of said subtraction as the intermediate result; 3. using summing means to sum the pass indicator to the detected multiplier resulting from the second pass; 4. storing the sum as the intermediate quotient; K. and, left-shifting the numerator or intermediate result.
Claim 7
Dependent Claim 14 words
The method as claimed in claim 1 wherein the base or index is hexadecimal.
Claim 8
Dependent Claim 16 words
The method as claimed in claim 1 wherein the base or index is binary coded decimal.
Claim 9
Dependent Claim 22 words
The method as claimed in claim 1 wherein the steps D through K are repeated until all quotient digits have been determined.
Claim 10
Dependent Claim 333 words
Apparatus for performing division wherein a digit value multiplied by a denominator value is less than or equal to a numerator or intermediate result, comprising: generating means for generating a table of multiples by multiplying the denominator value by successive integer multipliers starting with unity; means for storing the multiples generated by said generating means; an associative memory array; means, connected to said generating means, for storing the most significant byte of the multiples in the associative array; means, connected to said associative array, for sequentially comparing the most significant byte of the numerator or intermediate result with each entry in the associative array to find a selected entry which is less than or equal to the most significant byte of the numerator or intermediate result; means, connected to said comparing means, for detecting the multiplier corresponding to the largest most significant byte satisfying the comparison; means responsive to said detected multiplier for selectively addressing said table of multiples for the corresponding multiple; subtracting means for subtracting the selected multiple from the numerator or intermediate result; means for storing the result of said subtraction; first means, connected to said subtracting means, for detecting underflow; second means, responsive to said detected multiplier, for determining if said detected multiplier corresponds to the largest multiple in the table of multiples; means, responsive to said first and second means, for storing the detected multiplier as an intermediate quotient if said first means detects no underflow and if said second means detects no correspondence; means, responsive to said first means, for decrementing said detected multiplier and for storing said decremented detected multiplier as an intermediate quotient if said first means detects underflow; means, responsive to said first and second means, for storing said multiplier and for forcing a second pass if said first means detects no underflow and if said second means detects correspondence; and means, for summing said stored multiplier with the multiplier resulting from the second pass, and for storing the sum as an intermediate quotient.
Claim 11
Dependent Claim 333 words
Apparatus for performing division wherein a digit value multiplied by a denominator value is less than or equal to a numerator or intermediate result, comprising: generating means for generating a table of multiples by multiplying the denominator value by successive integer multipliers starting with unity; means for storing the multiples generated by said generating means; an associative memory array; means, connected to said generating means, for storing the most significant byte of the multiples in the associative array; means, connected to said associative array, for sequentially comparing the most significant byte of the numerator or intermediate result with each entry in the associative array to find a selected entry which is less than or equal to the most significant byte of the numerator or intermediate result; means, connected to said comparing means, for detecting the multiplier corresponding to the largest most significant byte satisfying the comparison; means responsive to said detected multiplier for selectively addressing said table of multiples for the corresponding multiple; subtracting means for subtracting the selected multiple from the numerator or intermediate result; means for storing the result of said subtraction; first means, connected to said subtracting means, for detecting underflow; second means, responsive to said detected multiplier, for determining if said detected multiplier corresponds to the largest multiple in the table of multiples; means, responsive to said first and second means, for storing the detected multiplier as an intermediate quotient if said first means detects no underflow and if said second means detects no correspondence; means, responsive to said first means, for decrementing said detected multiplier and for storing said decremented detected multiplier as an intermediate quotient if said first means detects underflow; means, responsive to said first and second means, for storing said multiplier and for forcing a second pass if said first means detects no underflow and if said second means detects correspondence; and means, for summing said stored multiplier with the multiplier resulting from the second pass, and for storing the sum as an intermediate quotient.
Claim 12
Dependent Claim 18 words
Apparatus as claimed in claim 5 wherein the means for storing said multiples is a read/write storage array.
Claim 13
Dependent Claim 17 words
Apparatus as claimed in claim 6 wherein the read/write array and the associative array are loaded simultaneously.
Claim 14
Dependent Claim 36 words
Apparatus as claimed in claim 6 wherein the most significant byte of the numerator or intermediate result is stored in a register connected to the associative array for comparison with the entries of the associative array.
Claim 15
Dependent Claim 317 words
Apparatus for performing hexadecimal division wherein a digit value multiplied by a denominator value is less than or equal to a numerator or intermediate result, comprising: generating means for generating a table of the first eight multiples for the denominator value; means, connected to said generating means, for storing the multiples generated by said generating means; an associative memory array; means, connected to said generating means, for storing the most significant byte of the multiples in the associative array; means, connected to said associative array, for sequentially comparing the most significant byte of the numerator with each entry in the associative array to find a selected entry which is less than or equal to the most significant byte of the numerator; means, connected to said comparing means, for detecting the multiplier corresponding to the largest most significant byte satisfying the comparison; means responsive to said detected multiplier for selectively addressing said table of multiples for the corresponding multiple; subtracting means for subtracting the selected multiple from the numerator or intermediate result; means for storing the result of said subtraction; first means, connected to said subtracting means, for detecting underflow; second means, responsive to said detected multiplier, for determining if said detected multiplier equals eight; means, responsive to said first and second means, for storing the detected multiplier as an intermediate quotient if said first means detects underflow and if said second means detects inequality; means, responsive to said first means, for decrementing said detected multiplier and for storing said decremented multiplier as an intermediate quotient if said first means detects underflow; means, responsive to said first and second means, for storing said multiplier, and for forcing a second pass if said first means detects no underflow and if said second means detects equality; and means, for summing said stored multiplier with the multiplier resulting from the second pass, and for storing the sum as an intermediate quotient.
Claim 16
Dependent Claim 317 words
Apparatus for performing hexadecimal division wherein a digit value multiplied by a denominator value is less than or equal to a numerator or intermediate result, comprising: generating means for generating a table of the first eight multiples for the denominator value; means, connected to said generating means, for storing the multiples generated by said generating means; an associative memory array; means, connected to said generating means, for storing the most significant byte of the multiples in the associative array; means, connected to said associative array, for sequentially comparing the most significant byte of the numerator with each entry in the associative array to find a selected entry which is less than or equal to the most significant byte of the numerator; means, connected to said comparing means, for detecting the multiplier corresponding to the largest most significant byte satisfying the comparison; means responsive to said detected multiplier for selectively addressing said table of multiples for the corresponding multiple; subtracting means for subtracting the selected multiple from the numerator or intermediate result; means for storing the result of said subtraction; first means, connected to said subtracting means, for detecting underflow; second means, responsive to said detected multiplier, for determining if said detected multiplier equals eight; means, responsive to said first and second means, for storing the detected multiplier as an intermediate quotient if said first means detects underflow and if said second means detects inequality; means, responsive to said first means, for decrementing said detected multiplier and for storing said decremented multiplier as an intermediate quotient if said first means detects underflow; means, responsive to said first and second means, for storing said multiplier, and for forcing a second pass if said first means detects no underflow and if said second means detects equality; and means, for summing said stored multiplier with the multiplier resulting from the second pass, and for storing the sum as an intermediate quotient.

References Cited (Backward Citations)

US3293418A Cited
US3684879A Cited
US3852581A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1987-08-14 1988-02-13 1988-08-14 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 1991-08-14 1992-02-13 1992-08-14 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 1995-08-14 1996-02-13 1996-08-14 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag