Patent US4994993A successfully refreshed from Google Patents.
← Back to Patent Explorer
US4994993A Expired / Lapsed US ⏱️ 0.0 years remaining

System for detecting and correcting errors generated by arithmetic logic units

Assignee: RPX Corp
•
Filing: 1988-10-26
•
Granted: 1991-02-19
•
Expires: 2008-10-26
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract Apparatus is provided for performing a method for detecting and correcting errors in one clock cycle that occur during arithmetic operations of at least two operands. Specifically, two operands are operated on to obtain a result. The digits of the result are added to one another. This adding step is repeated until a first single digit is achieved. The digits of each of the operands are added to one another to obtain an intermediate sum. The digits of the intermediate sum, in turn, are added to one another. Once again, this operation is repeated until a second single digit is achieved. The first single digit number is compared with the second single digit number and a signal indicative of error is generated if the comparison is unsuccessful. In order to correct the error, the digits of each of the operands are added to one another to obtain an intermediate sum. Sequentially, a digit is subtracted from the partial sum of the remaining digits of each of the operands. The results of the subtraction for each operand are added to one another at the end of each sequential cycle to obtain a set of arguments, each of which is subtracted from the intermediate sum to obtain a set of partial differences. The partial differences are concatenated to obtain a transitional value. By eliminating certain digits, a correct value of the arithmetic operation is obtained.

Inventors

  • 👤 Safdar M. Asghar
  • 👤 John G. Bartkowiak
  • 👤 Eric A. Suss

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-01 15:59
CPC Classifications
G; G06; G06F; G06F11/00; G06F11/07; G06F11/14; G06F11/1497; G06F11/08; G06F11/10; G06F11/1008; G06F11/1012; G06F11/104

Claims Analysis

Total Claims: 14
Claim 1
Independent Claim 404 words
A system for detecting and correcting an error in a result of an arithmetic operation, said arithmetic operation involving at least two operands, each of said at least two operands comprising at least one element; the system comprising: a first arithmetic operation means for performing said arithmetic operation, said first arithmetic operation means receiving said at least two operands as at least one input and generating a first output, said first output having at least one first digit being representative of said results; a second arithmetic operation means for performing said arithmetic operation, said second arithmetic operation means receiving said at least one input and generating a second output, said second output being representative of said result; an error detection means for detecting an error by said first arithmetic operation means, said error detection means generating an error indicating signal when said error is detected; and a data selector means for effecting selection of said first output or said second output; said selection being responsive to said error indicating signal, said data selector means providing a system output; said system output comprising either said first output or said second output according to said selection; said error detection means performing the steps of: (a) receiving said at least one input and performing check-adding of each of said at least one element of each of said at least two operands to calculate an intermediate sum for each of said at least two operands; (b) reiteratively performing step (a) appropriately to calculate a single-digit intermediate sum for each of said at least two operands; (c) performing said arithmetic operation using said single-digit intermediate sum for each of said at least two operands to produce an interim result, said interim result comprising at least one interim digit; (d) adding each of said at least one interim digit to calculate an iterative interim result; (e) repeating step (d) until a single-digit iterative interim result is calculated; (f) receiving said first output; (g) adding each of said at least one first digit to calculate an interim first result comprising at least one first interim digit; (h) adding each of said at least one first interim digit to calculate a first iterative interim result; (i) repeating step (h) until a single-digit first iterative interim result is calculated; said error detection means generating said error indicating signal when said single-digit iterative interim result and said single-digit first iterative interim result are different.
Claim 2
Independent Claim 404 words
A system for detecting and correcting an error in a result of an arithmetic operation, said arithmetic operation involving at least two operands, each of said at least two operands comprising at least one element; the system comprising: a first arithmetic operation means for performing said arithmetic operation, said first arithmetic operation means receiving said at least two operands as at least one input and generating a first output, said first output having at least one first digit being representative of said results; a second arithmetic operation means for performing said arithmetic operation, said second arithmetic operation means receiving said at least one input and generating a second output, said second output being representative of said result; an error detection means for detecting an error by said first arithmetic operation means, said error detection means generating an error indicating signal when said error is detected; and a data selector means for effecting selection of said first output or said second output; said selection being responsive to said error indicating signal, said data selector means providing a system output; said system output comprising either said first output or said second output according to said selection; said error detection means performing the steps of: (a) receiving said at least one input and performing check-adding of each of said at least one element of each of said at least two operands to calculate an intermediate sum for each of said at least two operands; (b) reiteratively performing step (a) appropriately to calculate a single-digit intermediate sum for each of said at least two operands; (c) performing said arithmetic operation using said single-digit intermediate sum for each of said at least two operands to produce an interim result, said interim result comprising at least one interim digit; (d) adding each of said at least one interim digit to calculate an iterative interim result; (e) repeating step (d) until a single-digit iterative interim result is calculated; (f) receiving said first output; (g) adding each of said at least one first digit to calculate an interim first result comprising at least one first interim digit; (h) adding each of said at least one first interim digit to calculate a first iterative interim result; (i) repeating step (h) until a single-digit first iterative interim result is calculated; said error detection means generating said error indicating signal when said single-digit iterative interim result and said single-digit first iterative interim result are different.
Claim 3
Dependent Claim 52 words
A system for detecting and correcting an error in a result of an arithmetic operation as recited in claim 1 wherein said first arithmetic operation means treats said at least two operands in a first format, and said second arithmetic operation means treats said at least two operands in a second format.
Claim 4
Dependent Claim 28 words
A system for detecting and correcting an error in a resulting of an arithmetic operation as recited in claim 2 wherein said first format comprises a binary format.
Claim 5
Dependent Claim 30 words
A system for detecting and correcting an error in a result of an arithmetic operation as recited in claim 3 wherein said second format comprises a binary coded decimal format.
Claim 6
Dependent Claim 35 words
A system for detecting and correcting an error in a result of an arithmetic operation as recited in claim 2 wherein said error detection means treats said at least two operands in said second format.
Claim 7
Dependent Claim 40 words
A system for detecting and correcting an error in a result of an arithmetic operation as recited in claim 2 wherein said system output is said second output when said error indicating signal is received by said data selector means.
Claim 8
Dependent Claim 26 words
A system for detecting and correcting an error in a result of an arithmetic operation as recited in claim 6 wherein said arithmetic operation is addition.
Claim 9
Dependent Claim 26 words
A system for detecting and correcting an error in a result of an arithmetic operation as recited in claim 6 wherein said arithmetic operation is subtraction.
Claim 10
Dependent Claim 26 words
A system for detecting and correcting an error in a result of an arithmetic operation as recited in claim 6 wherein said arithmetic operation is multiplication.
Claim 11
Dependent Claim 40 words
A system for detecting and correcting an error in a result of an arithmetic operation as recited in claim 1 wherein said system output is said second output when said error indicating signal is received by said data selector means.
Claim 12
Dependent Claim 26 words
A system for detecting and correcting an error in a result of an arithmetic operation as recited in claim 1 wherein said arithmetic operation is addition.
Claim 13
Dependent Claim 26 words
A system for detecting and correcting an error in a result of an arithmetic operation as recited in claim 1 wherein said arithmetic operation is subtraction.
Claim 14
Dependent Claim 26 words
A system for detecting and correcting an error in a result of an arithmetic operation as recited in claim 1 wherein said arithmetic operation is multiplication.

References Cited (Backward Citations)

US2789759A Cited
US2861744A Cited
US3037698A Cited
US2998191A Cited
US3660646A Cited
US4719589A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1994-02-18 1994-08-20 1995-02-19 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 1998-02-18 1998-08-20 1999-02-19 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2002-02-18 2002-08-20 2003-02-19 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag