PRIME OR RELATIVELY PRIME RADIX DATA PROCESSING SYSTEM

Abstract: This system is configured to operate in a number system in which the radix of each digit is a different prime number, or a system in which all of the radices are relatively prime, hereafter a prime or relatively prime radix number system. The system includes an input/output device (28) which inputs data in a constant radix number system and outputs results of operations carried out in the system in a constant radix number system. A means (32) is connected to the l/O device (28) for converting the input data from the constant radix number system to the prime or relatively prime radix number system. A processing means (12, 14-1 to 14-K) is connected to the converting means (32) for carrying out operations on the input data in prime or relatively prime radix form. A memory means (18-1 to 18-K) connected to the processing means (12, 14-1 to 14-K) stores the data and results of operations thereon in prime or relatively prime radix form. Since there is no carry required to perform arithmetic operations except divide in the prime or relatively prime radix number system, such operations are substantially simplified in comparison with corresponding operations with a constant radix number system.

Description: PRIME OR ' RELATIVELY PRIxME RADIX DATA PROCESSING SYSTEM This application is a continuation-i.π-part of my earlier Application Serial No. 53,033, filed June 28, 1979, and entitled "Prime -Ra_ix Data Processing System." BACKGROUND OF THE INVENTION: 1. Field " o.f * the Invention. This invention relates to a new type of data processing system. More particularly, it relates to a data processing system in which operations are carried out through use of a number system allowing data processing operations to be carried out more efficiently than with a conventional constant radix number system. Most especially it relates to such a data processing system in which operations involving large numbers may be carried out in a substantially simpler manner than with conventional αta rocεssing sys erns. 2. Descripti ' on of the Prior Art. There are a variety of data processing systems an sub-systems known in the prior art which perform arithmeti¬ cal operations using the so-called system of residual classes or residue class arithmetic. In such systems, prime or relatively prime or mutually prime radices are employed. Relatively prime or mutually prime radices have no common divisor, even though the individual radices may be divisible by other than one and the radix itself. Examples of such systems and sub-systems are disclosed in U. S. Patent 2,157,645; ϋ. S. Patent 3,602,704; U. S. Pat¬ ent 3,930,374; U. S. Patent 4,041,034; and U. S. Patent 4,064, 00^ However, such prior art systems employ the Chinese Remainder Theorem, which requires the storage and • _-e c a l-.r ώ number of constants, to convert the modular numbers used to perform calculations in the system back ii o decimal or binary form for output. For example, BAD ORIGINAL "Modular Ari hmetic ... an Ancient Science for a New Computer," westir.ghouse Engineer, July L963, . 112-114, points out that such a reconversion for a system using the prime numbers 2 through 31 would require storage of 150 predetermined constants of about 40 bits each, or a total of 6,000 bits. There are also scientifically oriented data processing systems which are capable of carrying out cer¬ tain types of calculations substantially faster than typical general purpose data processing systems. For example, one such system operates at 30,000 operations per second and multiplies one decimal digit at a time. With a 64-bit data bus it can handle 3 decimal digits to a 16 digit product without using a multiple precision routine. This involves 64 machine cycles for the multiplications and 64 machine cycles for the- additions, or a minimum of 123 machine cycles per 8 digit number. SUMMA Y OF TI-E INVENTION: . Accordingly, it is an object of this invention to provide a data processing system which carries out data processing operations in a simplified ∑r nner utilizing a prime or relatively prime radix number system. It is another object of this invention to provide α e α processing system organized to operate efficiently in accordance with computation rules applicable to the prime cr relatively prime radix number system. It is a ' further object of the invention to provid a data processing system that substantially reduces the r. moor of -r.achir.e cycles required to perform arithmetic operations, especially cn large num ers.. BAD ORIGINAL; ' It is still another object of the invention to orovidε a data orocessinσ system that can process large numbers through the use of parallel processors without provision for a carry operation It is yet another object of the invention to provide a computer with easily variable radices, register length and number of registers. . • The attainment of the foregoing and related objects may be achieved through use of the novel data processing system herein disclosed. This data processing system has an I/O device for inputting data in a constant radix number system and for outputting results of opera¬ tions carried out in the system in a constant radix number system by solving a linear congruence of the prime or ' relatively prime radices.. Means is connected to the I/O device for converting the input data from a constant radix number system to the prime or relatively prime radi>: number system, i.e., a number system in which the radix of each digit is a different prime number or in which the radices of the digits are relatively or mutually prime. This number system " can alternatively be referred to as one in which the radices of each digit are at least mutually prime. Λ processing means is connected to the converting :-..eαns for carrying out operations on the input data in prime or relatively prime radix form. A memory means is connected o the processing means for storing the data and results of operations thereon in prime or relatively prime radix form. Preferably, the processing means includes a iity of processors each capable of executing operations prime or relatively prime radix form in parallel under rc of a rr. ster processor. The marr.σrv means is orefer- ravs o αrravs . * -/ _- _. ;c; : rst signir cant gi : relatively prime radix numbers, and- the arrays increasing in size for further significant digits of prime or relatively prime radix numbers in relation to the relative value of the successive prime or relatively prime radices. In an especially preferred system, the memory arrays are each connected between one of the parallel processors and the master processor ¬ s'/ use of such a parallel processing technique with no -carry required ue to the nature of prime or relatively prime radix arithmetic, significantly more efficient data processing may be obtained, especially with large numbers. In conventional constant radix number systems, the complexity of calculations increases geomet¬ rically with the size of the number. In contrast, in a prime or relatively prime radix number system,, the complex¬ ity of calculations with increasing number size increases only at a rate which is almost linear. This result is obtained because prime or relatively prime radix addition, subtraction and multiplication are non-interactive operations, i.e., no carry is required. In particular, multiplication is almost as simple as addition and sub¬ traction in prime or relatively prime radix. It involves a simple, one step operation on the two numbers being multiplied. With an integrated circuit processor, on chip multiply is almost as simple to implement as on chip addition and subtraction. A data processing system in accordance with this invention can be designed either to achieve maximum speed of operations, or where speed is not a primary considera¬ tion, to simplify the required circuits and programs, due to the si.T.plifia nature of operations in the prime radix - number s stem. For example, a portable data processing svs em havin-r a clock frec_.uencv of 1.33 miliicvcles can be prcvifαd, which can multiply 10G decimal digit numbers in about 50 machine cycles. This is an effective speed BAD ORIGINAL as er than that of a typical prior art high spaed scien¬ tific data processing system because such a system would require a minimum of 25,000 machine cycles for the same task. On the other hand, a more sophisticated machine operating at a comparable clock rate as a prior art high speed scientific processing system and utilizing the prime radix number system can add, subtract or multiply 1,000 • decimal ' digit numbers in one clock pulse. Suc a system can multiply such large numbers millions of times faster than such a prior art system. Use of the technique of solving a linear con¬ gruence of prime or relativel " prime radices to convert from che prime or relatively prime radix number system to a constant radix number system also is significantly simpler than use of the Chinese Remainder Theorem as in prior art modular arithmetic processors for this conversion. In contrast to the large number of constants taught as necessary in the above-referenced Westinghouse Engineer article, the linear congruence approach of this invention requires only .-i constants, where M is the number of prime or relatively prime radix digits used. This amounts co only 10 constants having a total of 20 bits for the same ■ am l a≤ in the nes inghouse Engineer article. For that example, this amounts to a reduction by a factor of 200 in -he amount of storage required for the constants over the Chinese Remainder Theorem. Another desirable feature tnat tiows tro tne ;so of che prime radix number system in this irvention is ..-.creased reliability through a variable redundancy scheme ' 'ho field required for carrying out caicuiations is detar- '.i.-i-od by the largest number being cp rated on. Smaller Ludod in che calculation av o r field determined by the l argest numb the calculation. The fields used for the smaller numbers may therefore be partitioned in order to repeat the smaller numbers several times. The number of such repetitions may vary, depending on the s ze of the smaller numbers; hence, a variable redundancy. The form of communication to and from the system operating in prime or relatively prime radix ' form may be varied. For example, the constant radix I/O device may be provided with a selectable radix, either a compound number constant radix or a prime number constant radix. The I/O device may also provide data in analog form, which is converted directly to prime or relatively prime radix form for operations by an analog/prime or relatively prime radix converter , with the answers being converted either back to analog form or to constant radix form after completion of the operations. The attainment of the foregoing and related objects, advantages a d features of the invention should be more readily apparent to those skilled in the art after review of the following more detailed description, of the invention, taken together with the drawings, in which: 3RIZF DESCRIPTION OF TH2 DRAWINGS: Figure 1 is a block diagram of a data processing system in accordance with the invention; Figure 2 is a block diagram of another embodiment of a system in accordance with the invention; Figure 3 is a more detailed block diagram of a portion of the system shown in Figures 1 and 2, showing connections between the processors and memories of Figures ■ 1 and 2; Figure 4 is a circuit diagram of a portion of :he block diagram in Figure 3, showing the decoders of r " Figures I and 2 ; Figure 4 is a circuit diagram of a portion of the block diagram in Figure 3, showing the decoders of Figure 3; Figure 5 is another more detailed block diagram of one arithmetic processor of the system shown in Figure 1 Figure 6 is a similar more detailed block diagram of a portion of the processor in the system -shewn in Figure 2. DETAILED DESCRIPTION OF THE INVENTION: Before describing the present system in detail, it will be useful to describe the prime or relatively prime radix number system and some of its characteristics. The prime radix number system uses only primes as its radices. Ξuier's system of residues accepted mutually prime radices because his svstem of analysis, the index calculus, saw no difference between a set of mutually prime numbers and a set of prime numbers. ' Heterodyne analysis, which is the system of analysis associated with the prime radix number system, will also work on ail congruences with prime moduis and congruences with mutually or rela¬ tively prime moduls as well. For the following discussion and the remainder of the detailed description of the invention, the term "prime radix" will be used for. con¬ venience. It should be understood, however, that the following principles and description apply equally as well to a relatively prime radix number system and a data processing system employing relatively prime radix numbers in its ODerations. It is usually convenient to use the first few primes as radices, taking them in their natural order, buc this is not necessary. Any set of primes can form the radices of a prime radix number system. A reader who was a ' ' competent student of Euier's works would understand frαrr, •' . ' _ the above remarks how to translate a number into the prime radix number system, and add, subtract, and multiply in the system, but we will try to set forth enough examples ' . and explanations to bring the less advanced reader up to that point before going on to some of the more complex concepts. Assuming that the reader is already aware that a prime is a number that is not evenly divisible by any other number except one, the next concept to master is that of modulus or residue. The Gaussian concept of modulus is probably less applicable to this work than Euier's residue, but both wiii be used interchangeably here. In any case, what we are concerned with here can be expressed in this simple verbal form: First divide, then throw away the answer and keep the remainder. * This is usually written in this form: A = N MOD- ? This is read as: A is congruent to N modulus ?. . What is meant is that there is some number X such that: A - ?X = N Here, and throughout this application we are only concerned with solutions to any of the expressions where ail the variables take only integral values. We are usually concerned with finding the value cf lϊ that lies between, zero and ?. Let's do a numerical example. 25 = ? MOD 7 The first step is to divide 25 by 7. This gives us: 3.57 on the calculator. The next step is to round this number down getting rid of the .57 and keeping the three. Then we multiply getting 3 times 7 equals 21. 25-21 equals 4. Therefore: 25 = 4 MOD 7 The next step is to master the process of trans¬ lating numbers from decimal to prime radix notation. Any prime radix number is really only a linear congruence of the form: X = N Mod ? 0 = N, mod P 1 = N 7 mod ? 2 = ... N mod ? k It is preferred to express this in an arithmetic form, putting the residues on the top and the radices or oduls on the bottom: Congruences written in this form can be manipu¬ lated with certain simple rules. Hopefully, the* reader who is not acquainted with these rules will become familiar with them as the description proceeds. If we were going to be dealing with a lot of congruences which had the first few primes as radices, we might get tired of writing the cttom line and express the same congruence simply by- writing the -op line of number with commas in between. - * o' 1' "3' ' * • ' -' So that if the reader should see a series of numbers arranged in this fashion in this description he should assume that they represent a prime radix number i h the first few primes as radices. i.c-w we should be prepared to deal with the .-robIe of translating numbers into the crime radix notation. As an example for the reader, we will take the number 125 from decimal to prime radix. Our first con¬ sideration is to determine the number of prime radix digits needed to express a number of this size. To do this we have to know that the composite radix of a con¬ gruence of prime radices is simply the product of all the radices. So the reader might find it convenient to memorize the first few terms of the series. - -2 times 3 equals 6. 6 times 5 equals 30. 30 times 7 equals 210. 210 times 11 equals 2310. 2310 times 13 equals 30,030. What we have to do now is look for the number next larger than 125 in this series. This number is 210. This means we ca express 125 in four prime radix digits. 1,2,0,6 The next logical step would seem to be to learn how to translate numbers from prime radix to a constant radix notation-us ' ually decimal. To do this efficiently, wα need to understand heterodyne charts. The heterodyne chart .is a simple concept. Probably the best way to explain it is to show a numerical example. Let's do the heterodyne chart for the numbers 4 and 11. In my notation this problem would be expressed as 1 The heterodyne symbol. This is verbalized as, "A four by eleven chart". The heterodyne chart, is a somewhat rectangular array of the numbers themselves. The two numbers being heterodyned must always be mutually prime. Th?-t means they must have no common factors greater than one. The .-.umber c the left must be smaller than the number on the right. The number cn the left determines the number of rows rn che chart. The number on the right determines the number of numbers or elements in the chart. The first number in any heterodyne chart is zero. The next nuπώer would be the number in the left part of the heterodyne symbol. That would be four in this case. To find the next number, we add four, getting eight. v?e keep doing this until we get a number that is bigger than the number in the right of the heterodyne symbol which is eleven in this example. 3 plus 4 is 12, which is more than 11. This means tha- 3 is the last numbe ' r in the first row of the heterodyne chart. We are now prepared to write the first row of our chart. 0 4 3 The next row will start on 1. The one after that will start on 2, then 3. There will be four rows and 11 elements. The complete chart is shown below. 3 7 2 6 10 1 5 9 0 4 8 For more explanation, let's do the same τrhing with le ter-variables, but just for the first row of the chart. • ill go into the problem of finding some number l ~ in z a heterodyne chart. If we start at zero, counting the first number we come to as one, and the next as t'.vc, etc., how many numbers will we have to look at u.-.-il we find the one we are looking for? The first we are going to study is simply the one of counting numbers. T is is probably che most efficient method for ch sol-tion of small concruences bv ecinners. This is the notation used to express that proble Now " we should do a numerical example. Let's go through this problem together. T This is the chart for 11: 3 7 2 5 10 1 5 9 0 4 8 We'would count the numbers in this order: 9 10 6 7 3 3 4 5 0 1 2 Or: 4 x 5 = 20, 20 - 11 = 9 Now we will learn to tell the number of rows in a char- without writing the whole chart. If we have: A ? If A>l/2 P, there are P-A rows. If A ^ 1/2 P, there are A rows. There are always P elements in any chart. Now we should do an example. If we have 9S9,97S I 999,983 ~ ~ "" There are 999,933 - 999,979 = 4 rows in the chart. 1. 2. 3. 4. 5. 6. / . 8. 9. 10 - 1._ 1_.. 11. 11. 11. 11. 11. 11. 11. 11. 11 0. 0. 0. " 0. 0. 0. 0. 0. 0. 0 1. 2. 4. 5. 6. 7. 8. 9. 10 2. 4. 6. 8. 10. 1. -5 5. 7. 9 3. 6. 9. 1. 4. 7. 10. 2. 3. 8 4. 8. 1. 5. 9. 2. o . 10. . * 7 7 5. 10. 4. 9. 3. 8. 2. 7. 1. β 6. 1. 7. 2. 8. 3. 9. 4. 10. 5 7 3. 10. 6. 2. 9. 5. 1. 8. 4 8. 5. 2. 10. 7. 4. 1. " 9. 6. 3 S. 7. 5. 3. 1. 10. 8. 6. 4. 2 10. 9. 8. 7. 6. 4. 3. * . •*_... 1 These charts are upside down and net separated into rows, but they do illustrate a certain symmetry principle that is important to heterodyne analysis.. . • ..ι . 5. G. 7. 8. Q 10. 11 2. 12. 12. 12. 12. 12. 12. 12. 12 0. 0. 0. 0. 0. 0. " o. 0. 0 3. 5. 6. 7. 0 S. 10. 11 6. 8. 10. 0. 2. 4. 6. 9. 10 Q 0. 3. δ. 9. 0. 3. δ. s 0. 4. 3. 0. 4. 3- 0. 4. 8 3". 8. 1. 6. 11. 4. 9. 2. / δ . 0. 6. 0. 6. 0. 6. 0. _-» δ 2. 11. 6. 1. 8. 3. 10. 5 0. 3. 4. 0. 8. ^ 0. o . 4 0. 9. 6. 3. 0. 9. S. -> to . 4. 2. 0. 10. 8. 6. 4 2 3. • 7 6. 5. 3. <_.. 1 This symmetry can be expressed verbally like this The chart defined by A and P is a mirror image of the chart defined by ?-A and ?. Or to put it in heterodyne symbols: T3 _ In other words, there are different rules for solving " heterodyne problems according to v/hether the chart you are working with has A greater than one-half P or A less than one-half P. If A is greater than one-half ?, • ail the lines of the chart start with large numbers which get smallest at the end of the line. If A is less than one-half P, as the reader knows, the numbers in each row will get larger. Also, for every chart where A is greater than one-half ? there is a chart that is exactly its mirror image which is defined by the numbers P-A and ?. Keeping this principle in mind can make computa¬ tions simpler. We should now learn to compute- the distance between any two points on a heterodyne chart. This is expressed by the following notation: M M = Y This is computed by : N A * D _ A moc SUBSTITUTE SHEET Or by simply counting the numbers between and in che chart starting with the number after .1 and ending on . Let's- do the following problem: 4 - 9 11 Here's the chart; Here ' s the count: 4 5 • 2 5 10 1 2 3 4 - 9 1 5 -9 0 s ιι 6 7 W are now ready to tackle the general two part congruence' of the form: X = A mod B = C mod ? Or in my notation: y - A ■* Where: C-< ? ? is Prime, or 3 mod P and ? are mutually prime. ;e smallest positive solution is given by Now let's do an exair.Die. Suooose we have 100,000 100,033 17 According to the formula from the previous page " 13 - Sj 100,033 + 100,000 = 1,600,495 IGINAL - We are now equipped to handle the multi-part congruence of the form: A I C j D 1 Ξ [2 3 i - ?-^ ^ k Where ?o_ through P.k are o* • rime, or in -the foilow- ing series of ordered pairs, each pair is mutuall ' prime: (3 mod P , ? ) , (3 x P Q mod ? χ , ? 1 ) , . ' . . -. ' ■ (3 x P Q x P 1 mod ? 2 , ?-,) . . . r ' - (3 x ? 0 - l? ± x ? 2 x ... x ? _ 1 !soα ? : , ? k ) Let's do a numerical example. Suppose we, have 900 2 First we do 900 1 3 1013 17 111 ΓT 1013 I 17 This eσuais 3 16 x 1013 + 900 = 15082 10 I 17 Then: 5 - 1 x 17,221 ÷ 15,032 = 66,745 6 ill Finally: x 189,431 + 66,745 = 824,469 The reader should now be able to decode prime radix numbers into decimal. Now we will learn to add, subtract and multiply in prime radix. In general, we just add, subtract or multiply each digit as we ordinarily would and then take the modulus of the result with respect to the appropriate radix. There are two major differences from " regular arithmetic. One is that every number involved in the calculation must be expressed in as many or more digits than are required to express the largest number involved in the calculation. The second is that there is no carry. Let's do some examples. First', an addition proble . 0,1,0,1,1,1, 9,11 -i-0,2,0,4,6,7,13,15 0,3,3,5,7,3,22,26 This is the result of simple addition. 0,0,0,5,7,8,5, 7 Now we have taken the modulus with respect to each successive radix. ' ' Now let's do a subtraction and a multiplication in the same format: 1,2,3,5,6,10, 9,13 -1,1,3,5,7, 2, 11,17 0,1,0,0,10,3, 15,15- 1,1,3,5,7,2,11,17 xO, 1,0, 2, 1,9, 15, 5 0,1,0,3,7,5,12, 9 There is an elegant solution to the linear con¬ gruence which is easier than the above counting . procedure. Let us start by stating the following rule: Let's trv zhis with a numerical examole; i / 0 | i ■ 3 l 22 = 51 mod 23 = 5 o check 5 x 3 -= 40 mod 23 = 17 :.ow we are reaαv to tac.-cie tne orcbie of :c::-. u * cmc. Since this is a ii * ctle difficult to learn, we will inves¬ tigate two examples. First we will give a verbal des¬ cription of the procedures which are a variant of Euclid's algorithm. Starting with the first two elements of the series, :•/& check to see if the smaller is greater than one-half the larger. If it is we replace the smaller term with its complement with respect to the larger. If 3 is greater than 1/2 ?, replace 3 with ?-B. Now find ? mod B or ? mod (P-3) , whichever is indicated. This gives us the third term in our series. Now we must check to see that the third term is not greater than one-half the second. If it is we subtract it from the second, and this result • becomes our third term. W continue* in this procedure until one of our results is either a zero or a one. If it is a zero, 3 and ? are not mutually prime-, and the hetero¬ dyne chart is ambiguous. If it is a one, we have worked ourselves to the bottom of the chain and are ready to start the return climb, but before we do that, let's do a couple of examples of descending the chain. 1 101 44 x 2 + 13 - ' i ιo: .3 x 5 13 5 -> 5 2 2 1 1 _ 900,000 [ 9 mi 9 , 2 ml 999,933 = 99,933 x 10 +- 153 99,933 = 153 x 653÷ 74 153 = 74 x 2+ 5 74 = 5 x 15- 1 5 = 5 x 1-r 0 1 If the reader would note that the last line is always only one, if the chart ends with a one, and in the second to the last line always consists of the last number . in the series which is greater than one, times one. This is important when we start climbing tha- chain. N ' ow to start climbing the chain- All the in¬ formation we need is in the last two lines of .the charts we made earlier. For: 1 57 101 2 + , ' , 3 + 2 x 17 ÷ 5 = 39 5 x 3 ÷ 3 = 17 2 2 x 3 _ 1 = 5 1 o chec : 33 x 57 2223 = 1 mod 1 01 Here might be a good place to say that this mechod only works directly if 3 is greater than 1/2 P. If 3 is less than 1/2 ?, it produces the complement of the number we want with respect to P. Let's climb the chain on our second example together. 900,000 1999,98: 1 1 0π % Answer 13 533. 20285 x 10 +- 31 = 202611 2 31 κ 653+ 15 20285 15- 15 x 2+ 1 = 31 The astute reader will have noticed that this method would be quite applicable to the solution of congruences of fixed radices such as are involved in de¬ coding prime radix numbers. All we have to do is derive the correct series of numbers to go with whatever primes we use as radices and we are in good shape for decoding the associated numbers. That series for the first eleven r-rirr.es is: 17 ? Q 31 15 18 20 12 IS Thes t num ers ■ ecresent t ■fo ll rmm. t_ne ao rrccoπa te 3 { ! "3 congruenc . ?or example, these are the first few congruences required to decode this number. 1,2,3,4,5,6,7,3,9,10,11 the answer is 5,765,999 453 Mow we are ready to discuss the general and elegant solution to the linear congruence. Ccrrbinin the three rules listed below: *** - ** ™ £(___. =-™/. 3 1 " 3 - 3 -j- p I mod ? We get the formula for solving the linear congruence: mod ?- Now let's do a numerical examDle: 75 -.VI 132 I Q ? " 5 132 I 9973 = 3551 3551 x 101 = 353,651, 353,651 mod 9973 = 9596 3551 >: 75 = 266,325, 266,325 mod 9973 = 7027 (9596 - 7027 + 9973} mod S973 = 2569 2569 :•: 132 ÷ 75 = 393,183 = 101 mod 9973 - ** - -> * ;a * : o The above formula can be reduced to the following ecuivalεnt relationship: In most instances, th s secon orm o t e ormu a simplifies the calculations. In certain instances, however, it is preferred to use the first form of tha 'formula. For example, some calculations require that numbers be identi¬ fied in ' a heterodyne chart. For that purpose, the first form of the formula should be used. Present practice in the polynomial format would solve the problem of. multiplying a four element number in these terms. A 3 C, etc., are constant. R is the constant radix. AR W + BR • + CR + D Operators ΞR J ÷ FR 2 * + GR ÷ H AKR 3 +3HR 2 +CHR- ÷DH G3R 3 GCR 2 GDR (CH + GD) R + DH πnswer - To multiply four elements in prime radix, one uses this format. A B C D E ? G H CG DH Range, overflow and comparison problems are more, difficult to handle in radix than polynomial, and before this invention were orohabiv impossible to handle in a L c ~ _L SV S O≤i Discover-. a m r a •» n i -. -— s — ■ r _ e * ' -r— r* ' vf mn _ea __._" • _ϊ 1 V 55 " "• S "* * "_ • •_ * • - " ■• '..' t 3 y — _ ** ! * * . * * " ■ -j K " 1 => *- — ■ αes cr. a rac x-cr entea s ste with throughput many times that of present day pcl nc ial oriented systems. With the above principles of the prime or ' relatively prime radix number system in mind, it is new appropriate to consider the details of a data processing system which operates in prime or relatively prime radix. Turning now to the drawings, more particuiar y to Figure 1, an embodiment of a system in accordance with the invention is show "in block diagram form. The system includes a master processor 12 connected to a plurality of parallel processors 14-1 through 14-K by means of cable 16. The master processor 12 may be, for example, an 1302 type S-bit processor obtainable from RCA Corporation, Princeton, New Jersey, or an IM 6100 12-bit ?DP S emulator processor, obtainable from Intersil Corporation, Cupertino, California. Cable 16 contains as many lines as there are bits in the organization of the master processor, e.g., 8 or 12. The parallel processors 14-1 through 14-K are modulus 2 through modulus P arithmetic processors, which may be implemented through the use of programmable logic arrays (PLA's), hard wired logic networks,* read only memories (ROMS) or a prime radix coded prime ' radix arithmetic network. If PLA's are employed, commercially available 2371 type 12-bit PLA's, also " available from Intersil Corporation, Cupertino, California, may be employe . A set of memory arrays 13-1 through 13-K is connected by means of cables 2 * 0-1 through 20K and 22 between, each of zhe parallel processors 14-1 through 14-K and the master processor 12. with this arrangement, data can be transferred between the memory arrays and either the parallel processors 14-1 through 14-K or the master pro¬ cessor 12.' The .memory arrays iS-i through 13-K are implemented as random access memories (RAMS) , desirable in complimentar -me-cal -oxide silicon (CMOS; integrated circuit form.. A OM 24 is connected by cable 2β oo -he master processor 12. The ROM 24 contains a control program for operation of the processor 12. In order for data to be entered into the system and output received from the system in a form easily under stood by humans, an input/output (I/O) device 23, typicall incorporating an alphanumeric keyboard and a printer, is connected by cable 30 to a decimal-prime or .relatively radix converter 32, which is in turn connected by cable 34 to the master processor 12. Thus, data may be entered through the I/O device 28 in decimal form, converted to prime or relatively prime radix form in decimal-prime or relatively prime radix converter 32, processed by the remainder of the system in prime or relatively prime form, the results supplied back to converter 32, converted back to decimal form, and supplied to the user by I/O device 28 It should, of course, be recognized that the data is in practice manipulated and stored in the system in binary coded prime or relatively prime radix form,, since binary numbers are most easily handled with present day data - - • - processing circuits. It is also desirable in certain situations to operate a system in accordance with this invention in various other hybrid number systems, such as binary coded, prime or relatively prime radix coded decimal or prime or relatively prime radix coded decimal. As used herein, the rerrn "prime or relatively prime radix number system" encompasses such hybrid number systems using different prime or relatively prime numbers as radices. While the converter 32. has been shown as a decimal to prime radix converter, it can be implemented convert from other number- systems, such as octal or hexadecimal to prime or relatively prime. radix. In fact, for certain applications such as process control, an alternative approach of direct conversion from, an analog senscr 40 connected to converter 42 by bus 44 to convert analog signals to prime or relatively prime radix numbers may be employed. Bus 45 then transmits the data in prime or relatively prime radix form to bus 34 and processor 12 , Such data or the results of operations using the data may also be converted to digital form by converter 32 and supplied as an output from I/O device 23. Results of operations may also be converted back to analog form, especially for process control purposes. Each of the parallel processors 14-1 through 1 -K is connected to its adjacent processors by means of busses 15-1 through ' 15-K to allow information to be transferred be¬ tween processors. This allows faster decoding of prime or relatively radix numbers into constant radix numbers. The system of Fig. 1 can either be operated synchronously from a common clock or asynchronously with a plurality of clocks connected to different elements. Such clocks desirably have frequencies related by small prime numbers. Such asynchronous operation reduces system noise. In some situations, it is desirable to have the syscem shown in Figure I communicate rapidly with one or more additional data processing systems which may or may not also operate using a prime or relatively prime radix number system. For most rapid transfer of information to or from such additional data processing system, a bus containing a large number of parallel lines, e.g.,. up to about 10,000 lines, is advantageous. fC ;-. simpler system, in which data in prime or relatively prime radix form is processed serially, rather than in parallel as in the system of Fig. 1, may be also provided. Such a system is shown in block diagram form in Fig. 2. This system has a single, serial prime or relatively prime radix processor 50, which combines the functions of processor 12 and processors 14-1 through 14-K in Fig. 1. The processor 50 is connected by. -cable 52 to a plurality of memory arrays 13-1 through 13- , which are of .the _=ame type as in Fig. 1. However, since there is only one processor 50, only, one cable connection to tiie memory arrays is required. Λs in Fig. 1, a ROM 24 contain¬ ing a control program for operation of the processor 50 is conneoted to the processor by means of cable 26. Similarly, I/O device 28 is connected by cable 30 to decimal-prime or • relatively prime radix converter 32, which is in turn connected to the processor 50 by cable 34. A second ROM 54 loaded with prime or relatively prime numbers is connected to the processor 50 by cable 56, serving as an address and data bus. The ROM 54 is used to provide information for successive scanning of the memory arrays 13-1 through 18-K. In operation, the system of Fig. 2 operates in a similar manner to that of Fig. 1, except that it processes only one prime or relatively prime radix digit at a time, which makes it considerably slower than the parallel machine of Fig. 1, bu it is still faster than a comparable binary, constant radix data processing system. Fig. 3 shows how memory arrays 18 are addressed in prime radix form. The 30 x 30 random access memory arrays IS are accessed in the X direc-ion by a total of 30 word _L—n."3S XCG T- " Π * Similarly, a total of 30 bit lines 103 are SL aas sHmd in -che Y direction through a one of thirty bit line decode circuit 105. Details of the word line and bit line decode circuits 102 and 106 are shown in Fig. 4 and will be discussed below in connection with that figure. A modulus 2 counter 109 and ill is connected to each of the decode circuits 102 and 106 by lines 110 and 112 and 114 and 116, respectively. A modulus 3 counter 113 and 119 for each decoder 102 and 106 is connected by lines 122 and 120 respectively, to modulus 3 multiplex circuits 124 for each decoder. The modulus 3 multiplex circuits 124 are in turn connected to their respective decoders 102 and 106 by lines 126 and 12S, respectively. Similarly, modulus 5 counters 130 and 131 are connected by lines 132 and 134 to modulus 5 multiplex circuits 136. The modulus 5 multi¬ plexers 136 are connected to their corresponding decode circuits 102 and 106 by lines 133 and 140, respectively. A clock 140 is connected to each of the bit modulus coun¬ ters 109, 118 and 131 by lines 142, 144 and 146,.respec¬ tively, in order to synchronize them. In order- to run the. word modulus counters 11, 119 and 130 from the same clock, line 116 is connected to the gate 148 by line 150, -one of lines 123 is connected to the gate 143 by line 152, and one of the lines 140 is connected to the gate 14S by¬ line 154. Output 156 of the gate 143 is connected to the were line modulus counters ill, 119 and 130 by lines 162, 160 and 158, respectively. In this memory * accessing arrangement, the modulus counters act as the program counter: For correct operation, -hey are triggered on the negative edge of clock pulses generated bv clock 140. OM T Figure 4 shews details of the word and bit line decode, circuits 102 and 106. As shewn, the inputs 200 to the decode circuits consist of three groups 202, 204 and 206, each containing a prime number of individual inputs • - 203, i.e., 2, 3 and 5 inputs 208, respectively. Each of the 30 outputs 210 for the decide circuit has a gate 212. The gates 212 each have three input lines 214 , one of which is connected to an input 203 in each of the three groups 202, 20'! and 206. The pattern of interconnections between the inputs 203 and th'e gate 210 is further characterized in that each input 208 in the first group 202 is connected to every other gate 210. The inputs 20-3 in the second group 204 are each connected to every third gate 210 and the inputs 208 in the third group 206 are each connected to every fifth gate. With this pattern of interconnections, it is possible to identify uniquely any one of the 30 outputs 210 from the decoder by providing a signal on one input 208 in each of the three groups 202, 204 and 206. This decoder provides a regular array of " gates connected in a simple pattern that is easy to under¬ stand and trouble shot at..the technician level. It further makes efficient use of semiconductors. It is, of course, possible to extend this concept to a decoder including a large number of groups of inputs, with a different prime or relatively prime number of inputs in each group. For example, with a fourth group contain¬ ing seven inputs in addition to the three groups shown, it is possible to identify uniquely any one of 210 outputs. With a fifth group containing 11 inputs, the number of outputs that can be uniquely identified increases to 2,310. -28- In contrast, increasing the number of inputs in a binary decoder by one only doubles the number of outputs that can be uniquely identified. For example, with four inputs, • 16 outputs can be uniquely identified, and with fine inputs 32 outputs can be uniquely identified.- This difference is indicative of the power of the prime or relatively prime radix concept. Figs. 5 and 6 show two forms of a modulus 5 processor which can be employed in either system shown in Figs. 1 and 2. Each processor has a coded modulus 5 logic element 300 and 301, respectively, desirably imple¬ mented as a PLA. The difference in the logic elements resides in their programming as binary coded or serial coded, respectively- Both of the logic elements 300 and 301 have a pair of operation control lines ' 302 and 303, respectively, connected to them for determining which processing operation is to be carried out. The truth table in Fig. 5 shows the respective signals for multiplica tion, addition, and subtraction. The binary coded modulus 5 processor has two three-bit shift registers 304 and 306, each connected by three input lines 303 and 310, respectively to the logic element 300. A data bus 312 is connected to the shift register 304, and by lines 314-, to shift register 3O6. Each of the shift registers has a clock input 216 for synchronization purposes. Results of operations carried out by the logic element 300 are supplied on three output: lines 313. Similarly, the serial coded modulus 5 processor 301 in Fig. 6 has two 5-bit shift registers 320 and 322, each connected to the logic element 300 by five lines 324 and 326, respectively. Data bus 323 is connected to the shift register 320, and by lines 330, to shift register 320 and 322. Results of operations carried out by the logic element 3CI are furnished cn five output data lines 332. The division process is interactive. The basic difficulty is that there is no simple way to tell the magnitude of a prime or relatively prime radix number. The presently favored approach is to decode the numbers in¬ to * a floating-point, constant radix system and perform the division in that system to form a first estimate. The indicated multiplication and subtraction is then performed in prime or relatively prime radix and the remainder is translated out. Two or three such steps should suffice for almost any divisor and dividend. The difficult case is when the divisor is small and the dividend large. This may take at least 15GO machine cycles, but is still less complicated than a full divide at these levels of magnitude. The best mode for a system in accordance with this invention in most situations is a system in the true prime radix number system form. This form of the invention is preferred because it makes more efficient information processing use of a given quantity of hardware provided. Certain number theory concepts can be implemented on the invention in this form that cannot be implemented in the invention embodied in a relatively prime radix number system form. For example, an algorithm that can tell how many factors a large number could have is much more easily implemented in a true prime radix number system configura¬ tion than in a relatively prime radix number system configuration. Certain considerations are important where a system configured in accordance with this invention will interface with a conventional polyno ialiy configured system. For such systems, a list of mutually prime numbers which are less than the square root of the range of the svstem vou are ooeratinσ in is recuirec. The appendices to this application" are certain programs useful for a further understanding of the inven¬ tion. Appendix I attached to and forming a part of this specification solves a two-section linear congruence given 1 two divisors and two remainders less than 2 J~ . This is the range of double precision operation on the Z3Q micro¬ processor. Appendix II is a cross-reference listing of variables used with Appendix I. It should now be apparent to those skilled in the art that an improved data processing system capable of achieving the stated objects of the invention has been provided. The system is configured to take advantage of simplified nature of arithmetic operations in prime or relatively prime radix form, compared with constant radix arithmetic operations- As a result, multiplication, addition and subtraction of very large numbers can be accomplished in this system in only one or two machine cycles where thousands of machine cycles are typically required for similar operations with constant radix -numbers, Because data input and output is in conventional decimal numbers, the prime or relatively prime radix operation of the system is transparent to the user except for the rapidity of the operation, and the user need have no under¬ standing of prime or relatively prime radix arithmetic. It should be further apparent to those skilled in the art that various changes in form and details of the invention as described above may be made. It is intended that such changes be included within the spirit and scope of the claims appended-hereto.

Claims: WHAG IS CLAIMED IS 1. A data processing system, which comprises: a) an input/output device for inputting dat in a constant radix number system and for outputting results of operations carried out in said system in a constant radix number system, . • b) means connected to- said input/output. device for converting the input data from a constant radix number system to a number system in 'which the radices of ail digits, in a number are at least relatively prime, and for converting the results of the operations from the at least relatively prime radix form to the constant radix number system by solving a linear congruence of the at least relatively prime radices through use of a relation¬ ship eσuivalent to: mod ? - mod P mod P ÷ P mod ? wherein A is the converted value of preceeding at least relatively prime radix digits to the digit ' being converted, 3 is the product of all radices o least relatively prime radix digits preceeding the digit being converted C is the value of the at least relatively prime radix " digit being converted, and ? is the radix of the digit being converted, c) processing means connected to said converting means for carrying out operations on the input data in at least relatively prime radix form, and d) memory means connected to said processing means for storing the input data and results of operations thereon in at least relatively prime radix form. 2. The system of Claim I in which the equivalent relationship is: 3. The data processing system of Claim 1 including a master processor and said processing means includes a plurality of processors each capable of execut¬ ing operations in prime radix form in parallel under contr of said master processor. 4. The data processing system of Claim 1 " in whi said inverting means inverts the input data to a number system in which radices of the digits are relatively prime. 5. The data processing system of Claim 1 in whi said inverting means inverts the input data to a number sy tem in which the radices of ail the digits are each a different orime number. 6. A data processing system, which comprises: a) an input/output device for inputting data in a first given form and for outputting results of operations carried out in said system in a second given form, b) means connected to said input/output device for converting the input data from the first given form to a number system in which the radices of all digits in a number are at least relatively prime, and for con¬ verting the results of the operations from the at least relatively prime radix form to the second given form, c) processing means connected to said converting* means for carrying out operations on the input ■data in at least relatively prime radix form, and d) memory means connected to said processing means, for storing the input data and results of operations thereon in at least relatively prime radix form, said memory means and said processing means are being connected by means of decode circuits including a plurality of gates each having an output lead and a plurality of input terminals connected to said gates, said plurality of terminals being arranged in groups each containing a successively larger at least relatively prime number of the terminals, each gate having a number of con¬ nections to said plurality of input terminals, each terminal of each group being connected to one out of a number of gates corresponding to the number of terminals OMPI ?. The data processing system of Claim β in which said converting- means converts the input data from the first given form eo a number system in which radices of the digits are relatively prime. 3. The data processing system of Claim 5 in which said converting mean ' s converts the input data from the first given form to a .number system in which the radice of all the digits are each ' different prime number. 9. The data* processing system of Claim 5 in which the first and second given forms are the same given form. 10. The data processing system of Claim 9 in which the given form is a constant radix number system. 11. A data processing system, which comprises: a} an- input/output device for inputting -data in a first given form and for outputting results of opera¬ tions carried out in said system in a second given form, b) means connected to said input/output device for converting the input data from the first given form to a number system in which the radices of ail digits in a number are- at least relatively prime and for convert¬ ing the results cf the operations from the at least relatively prime radix form to the second given form, c) processing means *' connect.ed to said converting means for carrying out Operations on the input daca in at le ^t relatively prime radix form, and ;a4 d) memory means connected to said.process¬ ing means for storing the input data and results of opera¬ tions thereon in at least relatively prime radix form, said memory means is being arranged in arrays of unequal size, with smaller memory arrays for the first significant digits of at least relatively prime radix numbers, and the arrays increasing in size for further significant digits of a least relatively prime radix num¬ bers in relation to the relative value of successive at least relatively prime radices . 12. The data processing system of Claim 11 in which said converting means converts the input data from the first given form to a number system in which racicas of the digits are relatively prime. 13. The data processing system of Claim 11 in which said converting means converts the input data from the first given form to a number system in which the radices of all the digits are each a different prime number. 14. The data processing system of Claim 11 in which the first and second given forms are the same given form. . 15. The data processing system of Claim 14, in which the given form is a constant radix number system. 16. πa system of Claiz -l ' including a master processor and said processing means includes a plurality of prccesscrs each capable of executing operations in prime radix form in parallel under control of a master processor, and the memory arrays are each connected between, one of said parallel processors and said master processor. 17. A data processing system, which comprises: a) an input/output device for inputting and outputting data in, respectively, a first and. second given form, b) means connected to said input/output device for converting the input data to a number systern in which the radices, of all digits in a number are at least relatively prime, c) processing means connected to said con-zer-ting means for carrying out operations in at least relatively prime radix form, and d} memory means connected to said process¬ ing means for storing the input, data and results of opera¬ tions thereon in at least relatively prime radix form, and e}- means connec-ted between said processing means and said input/output device for converting the results of operations on the input data from at least relatively prime radix form to the second given form, using -wherein A is the converted value of preceeding at least relatively prime radix digits preceeding the digit being cor.-.-erted, C is the value of the at least, relatively prime radix digit being converted and ? is the radix of the dici beinc converted. AD ORIGINAL 13. The data processing system of Claim 17 in • which said input/output device provides the data in constan r idx form. 13 The data processing system of Claim 17 in which said input/output device provides the data in analog form. 20. The data processing system of Claim 17 in which the at least relatively prime radix number system is binary coded at least relatively prime radix form. 21. The data. processing system of Claim 10 in which the prime radix number system is binary coded, prime radix coded decimal. 22. The data processing system of Claim 17 including a master processor and said processing means in¬ cludes a plurality of processors each capable of executing • operations in prime radix form in parallel under control of a master processor. 23. The data processing system of Claim 22 in which adjacent ones of said parallel processors are con¬ nected together. 24. The data processing system of Claim 17 in which said converting means converts the input data from the first given form to a number system in which the radices of the digits are relatively prime- ?5. The" data processing system of Claim 17 in which said converting means converts the input data from z ' r. irst given form to a number system in which the radices of ail the digits are each a different prime number. 25. The data processing system of Claim 17 in which the first and second given forms are the same given form. 27. The data processing system of Claim 17 in which the equivalent relationship is : 28. A data processing method, which comprises a) providing input data in a first given ror , b) converting the input data to an at least relatively prime radix number system form, c) carrying out operations on said inpui data in the at least relatively prime radix form, and d) converting results of the operations from the at least prime radix form to a second given for through use of a relationship equivalent to: wherein A is the converted value of preceeding at least relatively prime radix digits to the digit being converted, 3 is the product of ail radices of at least relatively prime radix digits preceeding the digit being converted, C is the value of the at least relatively prime radix dicit being converted and ? is the radix of the digit 29. The data processing method of Claim 28 in which the equivalent relationship is :'. 30. The data processing method of Claim 28 in which the input data is converted from the first given form to a number system in which the radices-of the digits are relatively prime. 31. The data processing method of Claim 28 in which the input data is converted from the first given form to a number system in which the radices of ail the digits are each a different prime number. 32. The data processing method of Claim 28 in which the first and second given forms are the same form 33. The data processing method of Claim * 32 in which the first and second given forms are a constant radix form. 34. The data processing method of Claim 32 in which the first and second given forms are an analog form.

Inventors: MCCOSKEY JAMES M
Applicants: MCCOSKEY JAMES M
Application year: 1981
Main classification: G06F7
IPC codes: G06F7