Self-checked computation using residue arithmetic

Residue arithmetic offers a new approach to the development of general-purpose digital computers which detect and correct their own arithmetic and data-transmission errors. This approach is based on special properties inherent in a suitably chosen redundant residue number system (RRNS). In this paper, RRNS algorithms are described which can detect any number of residues in error, and can detect and correct one residue in error, in a data word suitable for scientific or control computation. Moreover, it is shown that there are RRNS algorithms available to perform all arithmetic operations needed in ordinary general-purpose computation. To this end, a new class of residue arithmetic techniques based on the properties of "macro-coefficients" is introduced, which permits all required fractional operations to be carried out and leads to a convenient form of the error-detection-and-correction procedures. The implications of these developments for ultra-reliable computer design are discussed, and the RRNS approach to computer ultrareliability is compared with several others which have been suggested; binary information with a residue check digit (BRCD), linear codes, and logic-circuit-level redundancy techniques such as majority voting.

[1]  G. B. Mathews Theory of numbers , 1963 .

[2]  W. W. Peterson On Checking an Adder , 1958, IBM J. Res. Dev..

[3]  Arthur J. Bernstein,et al.  Linear codes for single error correction in symmetric and asymmetric computational processes , 1962, IRE Trans. Inf. Theory.

[4]  Robert E. Lyons,et al.  The Use of Triple-Modular Redundancy to Improve Computer Reliability , 1962, IBM J. Res. Dev..

[5]  Meyer Tannenbaum,et al.  Division and Overflow Detection in Residue Number Systems , 1962, IRE Trans. Electron. Comput..

[6]  I. Vinogradov,et al.  Elements of number theory , 1954 .

[7]  Yaohan Chu Digital computer design fundamentals , 1962 .

[8]  W. W. Peterson,et al.  Error-Correcting Codes. , 1962 .

[9]  Robert T. Chien,et al.  On linear residue codes for burst-error correction , 1964, IEEE Trans. Inf. Theory.

[10]  Ivan Flores,et al.  The logic of computer arithmetic , 1963 .

[11]  R. M. Bloch,et al.  The logical design of the Raytheon computer , 1948 .

[12]  Philip W. Cheney A Digital Correlator Based on the Residue Number System , 1961, IRE Trans. Electron. Comput..

[13]  William G. Brown,et al.  Improvement of Electronic-Computer Reliability through the Use of Redundancy , 1961, IRE Trans. Electron. Comput..

[14]  Roy D. Merrill Improving Digital Computer Performance Using Residue Number Theory , 1964, IEEE Trans. Electron. Comput..

[15]  D. S. Henderson Residue class error checking codes , 1961, ACM National Meeting.

[16]  Rein Teoste Design of a Repairable Redundant Computer , 1962, IRE Trans. Electron. Comput..

[17]  H. Garner The residue number system , 1959, IRE-AIEE-ACM '59 (Western).