DE3020767C2 - Schaltungsanordnung zur Restklassen-Multiplikation - Google Patents

Schaltungsanordnung zur Restklassen-Multiplikation

Info

Publication number
DE3020767C2
DE3020767C2 DE3020767A DE3020767A DE3020767C2 DE 3020767 C2 DE3020767 C2 DE 3020767C2 DE 3020767 A DE3020767 A DE 3020767A DE 3020767 A DE3020767 A DE 3020767A DE 3020767 C2 DE3020767 C2 DE 3020767C2
Authority
DE
Germany
Prior art keywords
product
remainder
digits
mod
modulo
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired
Application number
DE3020767A
Other languages
English (en)
Other versions
DE3020767A1 (de
Inventor
Aisuke Prof. Akita Katayama
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Publication of DE3020767A1 publication Critical patent/DE3020767A1/de
Application granted granted Critical
Publication of DE3020767C2 publication Critical patent/DE3020767C2/de
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/52Multiplying; Dividing
    • G06F7/523Multiplying only
    • G06F7/53Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel
    • G06F7/5324Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel partitioned, i.e. using repetitively a smaller parallel parallel multiplier or using an array of such smaller multipliers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/60Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
    • G06F7/72Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
    • G06F7/729Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic using representation by a residue number system

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Complex Calculations (AREA)

Description

(a) des Produktes (XoYo) der niedrigeren Hälfte der Ziffern der ersten positiven ganzen Zahl mit der niedrigeren Hälfte der Ziffern der zweiten ganzen Zahl,
(b) des Produktes (XoYi) der niedrigeren Hälfte der Ziffern der ersten positiven ganzen Zahl mit der höheren Hälfte der Ziffern der zweiten positiven ganzen Zahl; und
(c) des Produktes (X\ Ko) der höheren Hälfte der Ziffern der ersten positiven ganzen Zahl mit der niedrigeren Hälfte der Ziffern der zweiten positiven ganzen Zahl;
und daß die partiellen Produkte in weiteren Schaltungen (35—38), die Bestandteil der zweiten Schaltungseinheit (17) sind, in den zweiten Rest (rpi) des zu berechnenden Ergebnisses umgesetzt werden.
2. Schaltungsanordnung nach Anspruch 1, dadurch gekennzeichnet, daß die dritte Schaltungseinheit (18) den genannten ersten Rest (rp\) und den genannten zweiten Rest (rp2) in ein Teilergebnis (PR) mit Λ Ziffern umsetzt, und ein Register (19), das mit der dritten Schaltungseinheit (18) und mit der zweiten Schaltungseinheit (17) verbunden ist, das von der zweiten Schaltungseinheit (17) berechnete Teilergebnis (PR) mit dem zweiten Rest (rP2j zum Ergebnis der Multiplikation derart zusammensetzt, daß das genannte Teilergebnis (PR) den höheren h Ziffern-Teil und der genannte zweite Rest (rP2) den niedrigeren h Ziffern-Teil des Multiplikationsergebnisses bildet
3. Schaltungsanordnung nach Anspruch 2, dadurch gekennzeichnet, daß <?=2 und Λ=4,8 oder 16 ist.
4. Schaltungsanordnung nach Anspruch 3, dadurch gekennzeichnet, daß die partiellen Multiplizierer (31—33) jeweils die höheren und die niedrigeren Hälften der Ziffern der partiellen h Ziffern aufweisenden Produkte getrennt zur Verfügung stellen und die weiteren Schaltungen der zweiten Schaltungseinheit (17) Addierer (36, 37) aufweisen, die die Summe der höheren Hälfte (Pm) der Ziffern des ersten partiellen Produktes (XoYo), der niedrigeren Hälfte (P2^ des zweiten partiellen Produktes (XoY\) und der niedrigeren Hälfte (Pil) des dritten partiellen Produktes (X] Yo) bilden und die Summe 3P2h) sowie die vom ersten partiellen Multiplizierer (31) zur Verfügung gestellte untere Hälfte (Pu) des ersten partiellen Produktes (XoYo) auf entsprechenden Leitungen (35, 38) zu je als die höhere (rpw) und niedrigere (rp2L ) Hälfte des zweiten Restes (rpi) mit je Λ/2 Ziffern geordnet abgeben.
5. Schaltungsanordnung nach Anspruch 2, dadurch gekennzeichnet, daß q = 10 und Λ=2 ist.
Die Erfindung betrifft eine Schaltungsanordnung der im Oberbegriff des Patentanspruchs 1 angegebenen Art.
Eine Schaltungsanordnung dieser Art ist aus der CH-PS 4 12 411 bekanntgeworden. Unter Verwendung
linearer Superponiermittel (Bezugszeichen 18; vgl. S. 19, Zeile 103) werden Additionen und Subtraktionen im Zahlensystem der Restklassen modulo (p—i) durchgeführt. Dabei haben die Eingangssignale die Form von Resten a modulo ρ ganzer Zahlen (vgl. S. 20, Zeile 2/3). Auch die Ausgangssignale liegen als Reste modulo ρ des Produktes der ganzen Zahlen vor. Dabei ist Null von den Resten ausgeschlossen. Die Berechnung wird mit Hilfe von Kongruenzen durchgeführt, beispielsweise gz= a (mod p), wobei g eine Primitivwurzel der Primzahl ρ und z= 1,2,3,.., (p-1) ist.
Bei der bekannten Schaltung werden nun in der praktischen Durchführung der Rechenvorgänge Vertauschungsnetzwerke verwendet (vgl. Bezugszeichen 14 und 15 in F i g. la und Ib), um von den ganzen Zahlen die Eingangssignale in Form der genannten Reste abzuleiten. Gleicherweise verwendet man Vertauschungsnetzlltarlra ■■·** si nt· DcA/^iibt Ma* A nri¥nnrtCf>i<v«nlA tu (ΤΛΐιιίηηΑη lA/^Ar Cin/vnmvocl/vnnl Je·*- siral^A* s4i*t*s«K λ! «λ /"** ju--n.|-ti.< hjzi.11 ▼V ^* β IX^^f Vt III ^TlIiT g f ^^VS VtCX V VIV* t t \ Vl O C^ Ul 1 /V^*y f\ ' tU l\j T -\Λ e^ TT 11 Hi^ IM* 1 \y \_t \x O ^i i J f I |C,UI IC« UOi Ck I IAAI IO l· %l ^ * *\j-1 VA VIl VsI 1 ^^ 11 t %r *i ,» \i-iTH | ||^| f ^^ | ^ von Kongruenzen modulo vorbestimmter Primzahlen gegeben (vgl. S. 2, Zeilen 1 bis 5 der genannten Druckschrift). Ergänzend wird noch ein bestimmtes Index-System eingeführt.
Dabei erfolgt nun die Multiplikation unter Verwendung auf der Grundlage einer Zuordnung, die durch eine Potenzserie g'= a modulo ρ gegeben ist. Ein ähnliches System ist für die Durchführung der Division beschrieben.
Eine derartige Schaltungsanordnung ist jedoch außerordentlich aufwendig, wenn man den Versuch unternimmt, die Rundungsfehler kleiner zu machen und die Rechengeschwindigkeit durch Reduktion der Anzahl der Rechenschritte zu vermindern.
Demgemäß ist es Aufgabe der vorliegenden Erfindung, eine Schaltungsanordnung der eingangs genannten Art derart weiterzubilden, daß sie mit hoher Geschwindigkeit arbeiten kann, daß dabei keine Rundungsfehler auftreten und daß dennoch ein einfacher Aufbau gewährleistet ist.
Diese Aufgabe wird durch die im Kennzeichen des Patentanspruchs 1 angegebenen Merkmale gelöst. Die Unteransprüche enthalten ferner verschiedene vorteilhafte Weiterbildungen.
Die Schaltungsanordnung gemäß der Erfindung ist damit auf positive ganze Zahlen anwendbar, die jeweils auf der Basis einer vorbestimmten Wurzel durch eine vorbestimmte gerade Anzahl von A-Ziffern gegeben ist Als Voraussetzung gilt dabei, daß die gerade Zahl h derart bestimmt ist, daß die Λ-te Potenz der Wurzel +1 eine Primzahl ist. Dabei wird der erste Rest rp ι eines Produkts zweier positiver ganzer Zahlen modulo (2h +1) und der zweite Rest rp 2 eines Produktes modulo 2A verwendet ι ο
Die erfindungsgemäße Lösung gilt für positive ganze Zahlen eines allgemeinen Zahlensystems. Ferner ergibt sich, daß der zweite Rest rp2 durch Verwendung von ersten bis dritten partiellen Produkten berechnet werden kann, und zwar unter Verwendung des höheren und niedrigeren Nibbeis P\h und P\l des ersten partiellen Produktes und der niedrigen Nibbel P2L und Pu. des zweiten und des dritten partiellen Produktes.
Von besonderer Bedeutung ist dabei, daß bei der Erfindung im Prinzip zwei Module benutzt werden. Dabei wird lediglich eine Primzahl, nämlich (2A+1) in einer der Module eingesetzt Der andere Modul ist keine Primzahl, sondern 2*.
Ausführungsbeispiele der Erfindung und ihrer vorteilhaften Weiterbildungen werden im folgenden anhand der Zeichnungen beschrieben. Es stellen dar
F i g. 1 ein Blockschaltbild eines Dual-Modul-Multiplikationssystems, bei welchem die Erfindung anwendbar ist
F i g. 2 ein Blockschaltbild eines ersten Ausführungsbeispiels sowie Einzelheiten des darin verwendeten ersten Subsystems,
F i g. 3 ein Blockschaltbild des in F i g. 2 verwendeten zweiten Subsystems, F i g. 4 ein Blockschaltbild des in F i g. 2 eingesetzten dritten Subsystems, F i g. 5 ein Blockschaltbild eines zweietn Ausführungsbeispiels.
Zum besseren Verständnis der bevorzugten Ausführungsbeispiele der Erfindung werden im folgenden einige grundsätzliche Aussagen der Zahlentheorie dargestellt:
Sofern im folgenden von Zahlen die Rede ist handelt es sich, soweit nichts anderes besonders erwähnt wird, um positive ganze Zahlen. Wenn zwischen a, b,k und m die folgende Gleichung
a = r+kxm(k=0,\,2,...)
für eine vorbestimmte Zahl m gilt, dann sagt man, a und /-seien kongruent modulo m; diese Beziehung wird wie folgt beschrieben:
a = r(modm).
Der Modul m ist in dem Zahlensystem von großer Bedeutung, mit dem sich der Aufbau der Rechenschaltung gemäß der Erfindung befaßt.
In der Gleichung nennt man r den Rest von a modulo m. r ist eine ganze Zahl kleiner m, die in der Zahlentheorie 0 ausschließt, jedoch bei den Ausführungsbeispielen der Erfindung 0 einschließt als spezifische Zahl im Bedarfsfall. Zum Beispiel gilt9 = 2 (mod 7), 15 s 1 (mod 7).
Für einen bestimmten Modul m gibt es eine Gruppe aller Reste (1, 2, 3 m— 1). Diese Gruppe nennt man
Restklasse (modulo m) und bezeichnet sie mit Z. Beispielsweise ist für m=4 die Restklasse Z= (1,2,3).
Entfernt man aus der Restklasse die Zahlen, die nicht relativ prim (oder: koprim) zum Modul sind, so erhält man die reduzierte Restklasse R. Mit anderen Worten: Aus der Restklase Z (mod m) erhält man die reduzierte Restklasse R (mod m), wenn man alle Reste, die mit dem Modul m einen gemeinsamen Teiler haben, entfernt. Im vorhergehenden Beispiel ist R=(1,3), also ungleich Z.
Ist der Modul eine Primzahl, dann ist die reduzierte Restklasse gleich der Restklasse; ansonsten unterscheiden sie sich.
Die Eulersche Funktion P(m) ist gleich der Anzahl ganzer Zahlen in der reduzierten Restklasse, d. h. gleich der Anzahl von ganzen Zahlen, die relativ prim zum Modul sind. Ist also der Modul m eine Primzahl, dann ist die Eulersche Funktion P(m) gleich der gesamten Anzahl der ganzen Zahlen, die kleiner als m sind, also Pfm)= m—\.
Als Fermatsche Zahl bezeichnet man F= 2" +1. Sie ist eine Primzahl für h=2k und k-& 4.
Für Ar=3 und Λ=8 ist die Fermatsche Zahl 28 + l =257. Verwendet man sie als Modul, so ist die Restklasse Z gleich der reduzierten Restklasse R gegeben durch:
Z (mod 257) = R (mod 257) = 1,2,3,...,255,25O.
Die Elemente 1 bis 255 können in einem Komputer durch 8 Bits dargestellt werden, das am weitesten rechts stehende Element jedoch nicht. Man nimmt daher eine Modifikation vor, in dem die Klasse um ein Element verschoben wird. 0 wird das Element auf der äußersten linken Seite hinzugefügt; rechts wird 256 weggelassen. Dann erhält man eine modifizierte reduzierte Restklasse wie fo^t:
Ä'(mod257) = 0,1,2,3 254,255.
Alle ganzen Zahlen in dieser modifizierten Restklasse können durch Binärzahlen der Länge von 8 Bit dargestellt werden.
Für eine Primzahl gibt es zumindest eine Primitivwurzel. Eine solche vorausgewählte Primitivwurzel sei mit g bezeichnet. Dann gilt nach Euler
g*") s l(mod/n; (1)
z.B.: £«6 m 1 (mod257).
Es sei nun X und V jeweils eine erste und eine zweite ganze Zahl zwischen 1 (einschließlich) und einer anderen
ίο ganzen Zahl (m— 1) (ausschließlich). Dabei sei m der Modul gemäß Gleichung (1). In anderen Worten: die erste bzw. die zweite ganze Zahl A" und Ksind aus aufeinanderfolgenden ganzen Zahlen ausgewählt, die insgesamt die Anzahl fm— 1) oder die Primzahl m weniger 1 haben. Mit Hilfe der vorbestimmten Primitivwurzel g kann man schreiben:
£* - X(modm)
gr - Y{moam)
Dabei sind χ und y ein erster und ein zweiter Exponent Die zu dieser Potenz erhobene Primitivwurzel g stellt unter Zugrundelegung dieser Beziehung die beiden angegebenen ganzen Zahlen X, Yder insgesamt (m—\) aufeinanderfolgenden Zahlen dar.
Dabei wird jeder dieser Exponenten χ bzw. y gleich 0, wenn die gemäß Gleichung (2) zuordenbare Zahl X bzw. Y gleich 1 wird Daher gehören die Exponenten χ oder y zu einer modifizierten Restklasse Ä'(mod m). Eine derartige modifizierte Restklasse R' wird als Exponentenrestklasse £(mod m) bezeichnet Nimmt man an, daß der erste Exponent χ kleiner als der zweite Exponent 71st, so kann man ohne Verlust an Allgemeinheit sagen, daß die Exponentenrestklasse £"(mod m) eine Gruppe aufeinanderfolgender ganzer Zahlen ist, die wie folgt angegeben werden kann:
Man kann die Folge von ganzen Zahlen, zu der die erste bzw. die zweite ganze Zahl X bzw. Y gehört, ais reduzierte Restklasse R (mod m) auffassen, in der die aufeinanderfolgenden ganzen Zahlen in einer bestimmten Ordnung angeordnet sind, beispielsweise:
35
Dabei stellt / einen Rest klar, der der (m—2)-ten Potenz der Primitivwurzel g modulo m kongruent ist In jedem Fall läßt sich zwischen den der Anzahl nach (m— 1) Exponenten nach Gleichung (2') und den ebenfalls der Anzahl nach (m— 1) ganzen Zahlen gemäß Gleichung (2") eine 1 :1-Beziehung herstellen, auf die später noch zurückgegriffen wird.
Ferner gilt für Multiplikationen bei Geltung der Kongruenzbeziehungen nach Gleichung (2):
g* χ gy= Xx y(mod m). (3)
Eine Summe zweier Exponenten (x+y) modulo (m— 1) gehört stets zu der Exponentenrestklasse £(mod m). Ein Produkt der genannten ersten und zweiten ganzen Zahlen (Xx Y) modulo m gehört stets zu der reduzierten Restklasse R (mod m). Die Kongruenzbeziehung nach Gleichung (3) kann daher wie folgt umgeschrieben werden:
50
Diese Kongruenzbeziehung zeigt, daß das Produkt zweier Reste (Xx Y) modulo m in einer 1 :1 -Beziehung zu der Summe der entsprechenden Exponenten fx+y^modulo (m— 1) steht
Der Kürze der Darstellung halber bezeichne man den Rest des Produktes (XxY) modulo m mit sr und den Rest der Summe (x+y)modu\o (m— 1) mit Γρ, also
55
Xx Y=rp(mod m) \
und [ (3")
x+y=Sr(mod[m—1]). J
eo Die Reste rp und sr werden im folgenden als Produktrest und als Exponentensummenrest bezeichnet Die Exponenten χ und y werden in der Mathematik als Exponentialtransformierte bezeichnet Diese beschriebenen Zusammenhange werden im folgenden als i : 1-Beziehung bezeichnet
Man kann nun eine beliebige positive ganze Zahl /VaIs ein Polynom einer natürlichen Zahl q (q ungleich 1) folgendermaßen darstellen:
65
Diese Gleichung zeigt die Tatsache, daß die ganze Zahl N durch eine Permutation von (n +1) Ziffernsymbolen dargestellt werden kann, die die ganze Zahl N auf der Basis einer vorbestimmten Wurzel q darstellen. Es ist offensichtlich, daß die ganze Zahl N mit einem Rest r modulo qh kongruent ist, wobei h nun irgendeine positive ganze Zahl ist, die kleiner ist als der größte Exponent η nach Gleichung (4). Der Rest r wird dargestellt durch die h niedrigeren Ziffern (ah-u a/,-2, ■ ■ ·, a\, ao) der (n+1) Ziffern auf der Basis der Wurzel q. Diese h niedrigeren Ziffern werden mit Lh(N)bezeichnet. Anders ausgedrückt:
N = r(mod (7*) (5)
wobei r= Lh (N).
Beispielsweise sei eine ganze Zahl N 75634. Als Wurzel q sei 10 ausgewählt. Die Reste r sind Z.3 (75634) bzw. 634, L-i (75634) bzw. 34 und L\ (75634) bzw. 4, wenn man die 3., 2. oder die 1. Potenz(en) der Zahl 10 als Moduln qh verwendet. In Form von Kongruenzbeziehungen ausgedrückt heißt das:
75634=634 (mod 103), 75634= 34 (modi O2),
75634= 4 (mod 10).
Im binären System wählt man 2 als Wurzel q aus. Dann ist die ganze Zahl N eine Permutation von binären Symbolen, wie 0 und 1. Die Anzahl dieser Symbole ist (n+1). Diese Permutation kann man allgemein darstellen durch (b„, b„-U.., b\, bo). Die ganze Zahl N ist kongruent mit einem Rest r modulo einer ganzen Zahl 2h des binären Systems. Der Rest r ist durch die h niedrigeren Ziffern Lh(N) oder durch (bh-\, bh-2, ■ · ·, b\, bo) der ganzen Zahl Abgegeben. Insbesondere gilt:
N=r(mod2i>). (5')
Dabei ist r= Lh (N). Wählt man als Modul 2A beispielsweise 28, dann kann man den Rest /-durch 8 Ziffern auch
dann darstellen, wenn man mehr als 8 Ziffern (b„, b„-\ bo) zur Darstellung der ganzen Zahl N notwendig
braucht. Die 8 niedrigeren Ziffern Lg (N) bilden so eine Restklasse Z (mod 28) aus 28 Elementen, die einer modifizierten Restklasse R'modulo 257 äquivalent ist.
Im folgenden wird nun unter Ausnutzung der bisher abgeleiteten Zusammenhänge ein Dual-Modul-Multiplikationssystem beschrieben, das auf der Basis des binären Zahlensystem betrieben wird und als ersten Modul (2*+1) und als zweiten Modul 2h verwendet, wobei der erste Modul (2*+1) eine Primzahl sein muß. Es werden miteinander ganze Zahlen X und Y multipliziert. Sie sind jeweils durch eine vorbestimmte gerade Anzahl von h Ziffern gegeben. Das Symbol h wird nun in einem etwas anderen Sinne wie seither verwendet. Das Produkt oder Ergebnis der Multiplikation A"Kwird durch 2h Ziffern dargestellt. Der erste Modul (2Λ+1) wird dann eine Primzahl, wenn die Zahl k, die gemäß Λ = 2* die Zahl h definiert, nicht größer als vier ist.
Das Multiplikationssystem arbeitet mit einem ersten Produktrest rp\, der dem Produkt XYmodulo (2*+l) kongruent ist, sowie mit einem zweiten Produktrest rP2, der dem Produktrest XY modulo 2* kongruent ist. Der erste Produktrest rp 1 ist ein Element der modifizierten Restklasse R'(mod [2*+1]). Beide Produktreste rp 1 und rP2 sind durch h Ziffern gegeben. Es gelten folgende Kongruenzbeziehungen:
XY= />, (mod [2*+1]) )
und [ (6)
^a1) j
Diesen Beziehungen ist äquivalent:
und [ (7)
XY=B ·2*+/>2· J
Dabei sind A und Berste und zweite Quotienten, die man erhält, wenn man das Produkt ATdurch die Moduln (2*+1) und 2* dividiert. Ein Vergleich der beiden Gleichungen (7) zeigt, daß der erste Quotient A kleiner als der zweite Quotient B ist Es ergibt sich daher eine Differenz (B-A), die eine positive ganze Zahl ist. Setzt man die erste und die zweite Gleichung in (7) gleich und ordnet die Terme anders, so ergibt sich
B = rp2-rpl+(B-A)-2> >.
Daher gilt:
A = />2—/>i(mod2*). (8)
Setzt man die Kogruenzbeziehung (8) in die erste der Gleichungen (7) ein, so folgt daraus:
XY=(rP2-rp,[mod 2A]) · 2*+(/>2-/>,[mod 2*])+/>i. (9)
Diese Gleichung ist die grundlegende Gleichung für das Binärsystem. Die Kongruenzbeziehung (8) und die Grundgleichung (9) sind an sich vom mathematischen Standpunkt her ungewöhnlich. Sie sind jedoch äußerst geeignet zur digitalen Durchführung der Multiplikation. Insbesondere zeigt die Grundgleichung (9) die Tatsache, daß man das durch 2Λ Ziffern gebildete Produkt XY ohne Aufrundefehler aus dem ersten durch h Ziffern gebildeten Produktrest rp \ modulo (2Λ +1) und dem zweiten ebenfalls durch h Ziffern gebildeten Produktrest rp 2 modulo 2h ableiten kann.
Die Kongruenzbeziehung (8) ist folgender Beziehung äquivalent:
Ρρj
sofern rp 2 >/ρ list, und > (10)
A = rp2-rpi+2\ J
sofern rp2<rp\ ist. Für h=8 ist 2* = 100 000 000. Gleichung(10) zeigt also, daß an der Stelle der (h +1)-ten Ziffer, gezählt von der am wenigsten signifikanten oder niedrigsten Ziffer des 2Λ Ziffern aufweisenden Produktes XY, ein Übertrag lediglich dann auftritt, wenn der zweite Rest rp2 kleiner als der erste Rest rp\ ist. Auf jeden Fall erhält man die h niedrigeren Ziffern des Produktes ATKaus dem zweiten und dem dritten Term auf der rechten Seite der Grundgleichung (9) wie folgt:
Lh(XY)=(rP2-rp,)+rp> = rp2. (H)
Gleichung (11) entspricht der Kongruenzbeziehung nach Gleichung (5').
Man erhält also die h niedrigeren Ziffern des Produktes, somit U (XY) nach Gleichung (11). Die Grundgleichung (9) wird nun dazu benützt, die h höheren Ziffern des Produktes, also Hh(XY) abzuleiten. Insbesondere wird der erste Term auf der rechten Seite der Grundgleichung (9) unter Berücksichtigung der Tatsache berechnet, daß von den übrigen beiden Termen ein Übertrag entsteht. Die (h+ t)-te Ziffer, an deren Stelle der Übertrag auftritt, ist innerhalb des Λ-Ziffer aufweisenden höheren Teiles Hh (XY) die am wenigsten signifikante Ziffer und ist gleich 1.
Die h höheren Ziffern des Produktes Hh (XY) sind daher durch die folgenden Gleichungen gegeben:
Hh(XY)=rP2-rpi{mod2i·), ]
sofern/> 2 >/> list, und > (12)
Hh(XY)=rp2-rp,(mod2>>)+\ j
sofern rp2<rp\ ist. Die Gleichungen (12) zeigen, daß die Berechnung der höheren Ziffern Hh (XY)mit Hilfe eines Λ-Ziffern-Addierers und eines Rechners, der ein Komplement bildet, leicht durchführbar ist.
Die dargestellten Grundsätze sind stets anwendbar, unabhängig davon, ob die ganzen Zahlen X und K, die Produkte XY, die Produktreste rp ι und rpz in einem binären Zahlensystem dargestellt sind oder nicht
Wenn die ersten und zweiten ganzen Zahlen X und ymit ersten und zweiten Resten X'und Y'bezüglich eines gemeinsamen Moduls m kongruent sind, wenn also gilt:
X=X'(modm) )
und [ (13)
Y= Y'(mod m), J
dann erhält man das Produkt XYwie in Gleichung (3) wie folgt:
Xx. Υ=Λ"χ r(mod m). (14)
Wenn eine ganze Zahl rp gleichzeitig der Kongruenzbeziehung (13) genügt, so kann die Kongruenzbeziehung (14) wie folgt umgeschrieben werden:
XxY=rp(modm). (15)
Die ganze Zahl rp ist der Produktrest modulo m. Die Kongruenzbeziehung (15) zeigt, daß lediglich ein Produktrest rp existiert, der einem Produkt ATentspricht
Um das Produkt XY zu berechnen, wird zunächst eine Rechnung durchgeführt, um den ersten h Ziffern aufweisenden Produktrest rpi abzuleiten, der dem Produkt XYbezüglich eines Moduls (<p+\), der eine Primzahl ist, kongruent ist Ferner wird ein zweiter h Ziffern aufweisender Produktrest rP2 abgeleitet, der dem Produkt XY bezüglich eines zweiten Moduls qh kongruent ist, der gleich der genannten Primzahl weniger 1 ist. Die Kongruenzbeziehungen lauten also:
XY=rpf (^])
und \ (16)
XY= />2(mod q"). J
Die Beziehung zwischen dem Produkt und den ersten und zweiten Produktresten rp \ und rp2 wird durch eine grundlegende Gleichung für allgemeine Zahlensysteme wie folgt angegeben:
XY=(rP2-rpi[mod qi>])qi> +(rP2-rpl[mod q><]) + rpl. (17)
Wie im Falle der Gleichung (11) liefert hier der zweite Produktrest rP2 die h niedrigeren Ziffern des Produktes, also Lh (XY). Die Λ höheren Ziffern, also Hh (XY) werden von der grundlegenden Gleichung (17) unter Berücksichtigung eines Übertrags qh im allgemeinen Zahlensystem abgeleitet.
F i g. 1 zeigt nun in allgemeiner Form ein Dual-Modul-Multiplikationssystem. Dabei erfolgt die Beschreibung zur Berechnung des Produktes XY der ganzen Zahlen X und Ynoch im allgemeinen Zahlensystem. Wie bereits beschrieben, wird jede ganze Zahl AOder Y auf der Basis einer vorbestimmten Wurzel q des Zahlensystems durch eine vorbestimmte gerade Anzahl von Λ Ziffern gegeben. Das Produkt A-Vhat dann 2Λ Ziffern. Die gerade Zahl Λ wird so bestimmt, daß die Summe der Λ-ten Potenz der Wurzel q plus 1, also (qh+\) eine Primzahl ist, die zumindest eine Primitivwurzel aufweist.
Die beiden miteinadner zu multiplizierenden ganzen Zahlen X und Y werden von einer äußeren (nicht gezeigten) Einrichtung, beispielsweise weiteren Teilen eines Komputers, zugeliefert, vorzugsweise in der Form erster und zweiter binärer Signale. Lediglich der Einfachheit der Beschreibung halber werden also im folgenden für diese Signale dieselben Symbole, wie X und Y, verwendet wie für die Größen, die durch diese Signale dargestellt werden. Gleichzeitig wird mit diesen Symbolen auch auf die dargestellten Größen selbst Bezug genommen. Die beiden ganzen Zahlen X und Ywerden in einem ersten Register 11 bzw. einem zweiten Register 12 gespeichert.
In dem ersten Subsystem 16 erfolgt eine Verarbeitung der beiden ganzen Zahlen X und Y\n einem ersten Produktrest rp 1, kongruent mit dem Produkt XYbezüglich eines ersten Moduls, der gleich einer Primzahl ist, die ihrerseits wieder durch den Ausdruck (qh+1) gegeben wird. Während dieser Verarbeitung durch das Subsystem 16 macht man von der an Hand der Kongruenzbeziehungen gemäß Gleichung (2) bis (2") dargestellten 1 :1-Beziehung Gebrauch. Dies wird später noch im Laufe der Beschreibung anhand einiger Beispiele dargestellt werden. Der erste Produktrest rp \ hat h Ziffern bei einer Darstellung auf der Basis der Wurzel q.
Ferner ist ein zweites Subsystem 17 vorgesehen, das aus den beiden ganzen Zahlen λ"und Keinen zweiten Produktrest rP2 ableitet, der mit dem Produkt XYkongruent ist bezüglich eines zweiten Moduls, der gleich der genannten Primzahl weniger qh ist Der zweite Produktrest rP2 wird auf der Basis der Wurzel q ebenfalls durch h-Ziffern dargestellt. Gemäß der vorliegenden Erfindung ist es nun möglich, den Produktrest rP2 ohne Verwendung der bekannten Tatsache zu berechnen. Einzelheiten der Berechnungen werden weiter unten beschrieben.
Die beiden Produktreste rp\ und rO2 gelangen dann an ein drittes Subsystem 18 und werden dort in ein Ergebnis PR umgesetzt, daß dem ersten Ausdruck der rechten Seite der grundlegenden Gleichung (17) für ein allgemeines Zahlensystem entspricht, wobei der Obertrag mitberücksichtigt wird. Ein Beispiel eines solchen dritten Subsystems 18 wird weiter unten noch beschrieben werden. Das Ergebnis PR hat h Ziffern, sofern es auf der Basis der Wurzel q dargestellt wird. Schließlich ordnet ein 2/i-Ziffern-Register 19 das Ergebnis PR und den zweiten Produktrest rp2 so, daß das Ergebnis PR die h höheren Ziffern des Produktes XY, also Hh (XY)und der zweite Produktrest rP2 die Λ niedrigeren Ziffern des Produktes XY, also Lh (XY) dargestellt Das dritte Subsystem 18 und das 2A-Ziffern-Register 19 wirken somit zusammen als Kombinationsschaltung zur Kombination der beiden Produktreste rp \ und rp 2 in ein Produkt XYentsprechend Gleichung (17).
Fig.2 zeigt ein erstes Ausführungsbeispiel eines Dual-Modul-Multiplikationssystems, wie es allgemein in F i g. 1 dargestellt worden ist. Dabei wird als Wurzel gdie Zahl 2 ausgewählt. Da jetzt die ganzen Zahlen A"und Y im binären Zahlensystem dargestellt sind, ist die Anzahl der Ziffern für jede ganze Zahl gleich der Anzahl von Bits eines binären Signals, das diese ganze Zahl darstellt. Die vorbestimmte gerade Anzahl h der Ziffern jeder der ganzen Zahlen X und Y sollte eine vorbestimmte der Zahlen 4, 8 und 16 sein, damit die Λ-te Potenz der Wurzel 2 plus eins, also (2Λ+1) eine Primzahl ist Im folgenden wird als vorbestimmte gerade Zahl h die Zahl 8 verwendet. Es ergeben sich also die beiden Moduln (qh+1) und qh zu 257 bzw. 256. Es ist möglich, die Zahl iO als vorausgewählte Primitivwurzel gder Primzahl 257 zu verwenden.
Das erste Subsystem weist bei diesem Ausführungsbeispiel erste und zweite Transformationsschaltungen 21 bzw. 22 auf. Die erste Transformationsschaltung 21 dient dazu, die erste ganze Zahl X, die im Register 11 gespeichert ist, in eine erste Exponententransformierte λ umzusetzen; entsprechend wird in der zweiten Transformationsschaltung 22 die zweite ganze Zahl Ym eine zweite Exponententransformierte y umgesetzt. Wie im Zusammenhang mit der Kongruenzbeziehung (2) erläutert, sind die ersten und zweiten Exponententransformierten χ und ydie Exponenten der Primitivwurzel 10.
Tabelle 1 gibt nun die 1 :1-Beziehung der ganzen Zahlen X bzw. yzu den entsprechenden ersten und zweiten Exponententransformierten χ und y an.
Tabelle 1
Exponent
Rest
Exponent
Rest
Exponent
Rest
Exponent
208
209
210
211
212
213
214
80
160
177
167
227
240
174
156
247
200
254
123
236
132
98
125
111
79
246
235
143
137
165
141
157
196
35
110
34
53
146
180
106
171
248
56
54
204
222
19
83
205
213
191
38
159
cn
70
23
59
84
223
188
217
26 86
27 5
28 131
29 242
30 88
31 62
32 144
33 243
34 24
35 148
36 78
37 109
38 203
39 93
40 161
41 117
42 138
43 89
44 60
45 95
46 212
47 187
48 151
49 198
50 178
126 225
127 135
128 48
129 176
130 7
131 97
132 147
133 94
134 76
135 182
136 184
137 120
138 43
139 234
140 52
141 18
142 181
143 162
144 238
145 163
146 68
147 29
148 13
149 37
150 9
215 10
216 245
217 33
218 221
219 75
220 237
205
222 20
223 152
224 115
225 16
226 190
227 216
228 114
51 31
52 166
55 63
54 85
55 77
56 211
57 210
58 66
59 26
60 168
61 230
62 142
63 145
64 224
65 183
66 67
67 252
68 104
69 219
70 228
71 101
72 15b
73 244
74 189
75 185
151 15
152 107
153 118
154 207
155 239
156 253
157 130
158 202
159 150
160 65
161 103
162 172
163 139
164 21
165 164
166 105
167 47
168 42
169 12
170 201
171 41
172 249
173 90
174 153
175 69
229 3
230 133
231 214
232 226
233 199
234 4
2^5 ICS
236 186
237 209
238 251
239 126
240 72
241 192
242 136
100 176
178 179 180
182 183 184 185 186 187 188 189 190
192 193 194 195 196 197 198 199 200 243 244 245 246 247 248 2Ί9 250
252 253 254 255
27 127 173 122 241
92 197
25 218 121 169
73 140 170 175 233
36 149
11
44 231 193
22
74 2
220 113 250
45 255 155
57
61 116
30 229 100
91 232 124 195
55
96
17
14 102
40 154 194
82 179 134 119
28 129
46
99
39
49
32
215
208
Die Tabelle ergibt also die Umsetzung der ganzen Zahlen A und yin die Exponententransformierten χ und y. Beispielsweise ist 10°=l, 10' = 10, IO^IOO, 103 = 257x3+229, 10"=257χ38+ 234, 105=257χ389+27, 106=257 χ 3891 +13,107=257 χ 38 910+130,108=257 χ 389 105+15,... Da die Kongruenzbeziehung(2) durch Reste modulo 257 gegeben sind, sind die ersten und zweiten ganzen Zahlen A und Y in Tabelle 1 unter der Überschrift »Rest« aufgeführt und liegen zwischen 1 und 255, beide Werte einschließlich.
Wie oben beschrieben, muß entweder die erste oder die zweite ganze Zahl X bzw. K dem Multiplikationssystem bezüglich des zweiten Moduls 256 eingegeben werden, wenn die ganze Zahl A bzw. Y größer oder gleich dem zweiten Modul 256 ist. Obzwar in Tabelle 1 nicht eingegeben, ist z. B. 10128=257 χ 3 89105 05836 57587 54863 81322 95719 84435 79766 53696 49805 44747 08171 20622 56809 33852 14007 78210 11673 15175 09727 62645 91439 68871 59533 07392 + 256. Daher wird der »Exponent« 128, wenn die ganze Zahl Xoder Ykongruent mit 0 modulo 256 ist
Jede der Transformationsschaltungen kann als Festwertspeicher (Nur-Lese-Speicher; ROM) ausgebildet se;n. Er weist eine Vielzahl von Adressen auf, an denen die Werte der »Exponenten« an den Stellen gespeichert sind, deren Adressen durch die »Reste« angegeben werden. Jede der ganzen Zahlen Xund Kund der Exponententransformierten χ und y werden jeweils durch ein 8-Bit binäres Signal angegeben.
Das erste Subsystem 16 weist ferner einen Addierer 26 auf, der eine Addition modulo 256, also bezüglich des zweiten Moduls durchführt An ihn gelangen die beiden Exponententransformierten χ und y. Daraus berechnet der Addierer 26 den Exponentensummenrest sr entsprechend der zweiten der Kongruenzbeziehungen gemäß Gleichung (3). Eine dritte Transformationsschaltung 28 transformiert dann den Exponentensummenrest sr in einen ersten Produktrest rp 1 gemäß der Kongruenzbeziehung (3'). Obwohl der erste Produktrest rp 1 mit dem Produkt XYmodulo 257 kongruent sein sollte, wie im Zusammenhang mit Gleichung (6) bechrieben, wird dieser erste Produktrest rp\ bezüglich des zweiten Moduls 256 angegeben. Dies findet deshalb statt, weil es erlaubt, lediglich einen Teil der 1 :1-Beziehung nach Gleichung (2) zu verwenden.
Die dritte Transformationsschaltung 28 kann ebenfalls wieder durch einen Festwertspeicher (ROM) verwirklicht werden, wie dies auch bei den ersten beiden Transformationsschaltungen 21 und 22 der Fall ist. Die Adresse dieses Festwertspeichers wird dann durch einen in Tabelle 1 angegebenen »Exponenten« bezeichnet An der Speicherstelle ist dann ein Wert gespeichert, der einem zugeordneten »Rest« gemäß Tabelle 1 entspricht. Es sollte jedoch vorgesehen sein, daß der Festwertspeicher zum Beispiel durch 128 (binär: 1000 0000) angesteuert werden kann und dann eine 0 (binär: 0000 0000) als ersten Produktrest rp \ abgibt, da der Exponentensummenrest gleich 128 werden kann.
Wie im vorstehenden beschrieben, dient das zweite Subsystem 17 dazu, die ersten und zweiten ganzen Zahlen X und Kin einen zweiten Produktrest rP2 modulo 256 umzusetzen. Der zweite Produktrest rP2 hat acht Ziffern oder Bits und stellt damit die acht niedrigeren Ziffern oder Bits des Produktes XY, also Ls (XY)zur Verfügung.
Fig.3 zeigt nun ein Subsystem 17 in Verbindung mit den beiden Registern 11 und 12, die bereits erwähnt worden sind. Sie sind gemäß F i g. 3 so aufgebaut, daß sie je zwei Sektoren für jeweils die vier höheren und die vier niedrigeren Ziffern oder Bits der ganzen Zahlen X oder Y aufweisen. Die niedrigeren und die höheren Ziffern der ersten ganzen Zahl X werden mit Xo bzw. X\ bezeichnet; die niedrigeren und höheren Bits der zweiten ganzen Zahl Y werden entsprechend mit Yq bzw. Ki bezeichnet. Eine Folge von acht Bits wird — wie bekannt — als ein Byte bezeichnet. Die Hälfte eines Byte wird im folgenden als Nibbel bezeichnet. Jedes Nibbel
stellt also in einem hexadezimalen System, das durch die hexadezimalen Symbole 0, 1,2 9, A, B, C, D, E, F
gebildet wird, eine Zahl mit einer Ziffer dar. Die Symbole A und B haben in diesem Zusammenhang keinen Zusammenhang mit ihrer Verwendung in Gleichung (7).
Die ersten und zweiten ganzen Zahlen Xund Ksind nun wie folgt gegeben:
A=Ai 2" + A0
und
Y=Y1 -2"+K0.
Symbolisch kann man diese Gleichungen durch X=(Xu Xo) und Y=(Yu Yo) darstellen. Das Produkt XYist nun gegeben durch:
XY=XiYi ■ 2" + CA1IO +AbKi) · 2" + A0K0, (18)
dabei sind Ao Vo. Ao Vi und Ai Yo ein erstes, ein zweites bzw. ein drittes partielles Produkt.
Auf der rechten Seite von Gleichung (18) ergibt die Kombination des zweiten und des dritten Terms den zweiten Produktrest rp2, sofern man den Übertrag einmal für einen Augenblick außer Betracht läßt. Man kann ebenfalls sehen, daß der zweite Produktrest rpi in höhere und niedrigere Nibbel rP2H und rP2L folgendermaßen teilbar ist:
()
Wie in Gleichung (19) kann man nun auch schreiben:
XoYo =
und
·28 + P3L ·24,
(20)
dabei sind Pw, P2H und P3H die höheren Nibbel des ersten, des zweiten bzw. des dritten partiellen Produktes XcYo, XqYi und XjY0. Pn, Pil und P3L sind die entsprechenden niedrigeren Nibbel derselben. Setzt man Gleichung (20) in Gleichung (18) ein, so ergibt sich:
XY=XtY1 ■ 2*+(P2HP2L+PiHP3L) XY=(X1 Yi+Pih+Pih) ■ 2*+(Pu+Pil+Pil) · 2*+P]L.
(21)
Der zweite Produktrest rp 2 wird durch die zweiten und dritten Terms auf der rechten Seite von Gleichung (21) angegeben. Ein Vergleich von Gleichung (19) und Gleichung (21) ergibt:
rPiL=P\L rpiH<=P\H+ Pil+P3t(mod 2*).
(22)
Aus Gleichung (22) wird klar, daß man innerhalb der drei Produkte X0Yo, XoY\ und X\ Yo lediglich die vier Nibbel Pil, P\h, Pil und P3L braucht, um den zweiten Produktrest rpι zu berechnen.
Gemäß F i g. 3 weist nun das zweite Subsystem 17 einen ersten, einen zweiten und dritten partiellen Multiplizierer 31, 32 bzw, 33 auf. Im ersten partiellen Multiplizierer 31 werden der niedrigere Nibbel Xo der ersten ganzen Zahl Xmn dem niedrigeren Nibbel Yo der zweiten ganzen Zahl ^multipliziert
Am Ausgang werden getrennt das niedrigere und das höhere Nibbel Pil bzw. Pw des ersten partiellen Produktes AbYb zur Verfügung gestellt Der niedrigere Nibbel P\l wird auf Leitung 35 abgegeben. Der zweite partielle Multiplizierer 32 multipliziert den niedrigeren Nibbel X0 mit dem höheren Nibbel K1 der zweiten ganzen Zahl Y, so daß getrennt das niedrigere und das höhere Nibbel P2L und Pih des zweiten partiellen Produktes Xo Y\ zur Verfügung stehen. Wie bereits ausgeführt, braucht man jedoch zur Berechnung lediglich das niedrigere Nibbel Pil. Entsprechend ist lediglich nur eine diesem zugeordnete Ausgangsleitung eingezeichnet Der dritte partielle Multiplizierer 33 multipliziert das höhere Nibbel X\ der ersten ganzen Zahl X mit dem niedrigeren Nibbel Yo, so daß man getrennt das niedrigere und das höhere Nibbel Pil bzw. Pm des dritten partiellen Produktes X\ Y0 erhält In der weiteren Berechnung benötigt man lediglich das niedrigere Nibbel P3L, so daß auch wieder nur die diesem zugeordnete Ausgangsleitung in F i g. 3 eingezeichnet ist
Die drei Multiplizierer 31 bis 33 können wiederum durch einen Festwertspeicher (ROM) gebildet werden, dessen Adressen wiederum durch die zwei Adressensignale bezeichnet werden, die dem entsprechenden Nibbel der beiden miteinadner zu multiplizierenden ganzen Zahlen X und Y bezeichnen. An der derart bezeichneten Speicherstelle ist dann ein Paar Nibbel gespeichert, das das entsprechende partielle Produkt ergibt. Auf diese Weise wird dieses partielle Produkt ausgelesen, wenn diese entsprechende Adresse angesteuert wird. Obwohl es leicht durchführbar ist, diese Produkte im hexadezimalen System zu berechnen ist dies in der folgenden Tabelle 2 angegeben, um dem Fachmann die Möglichkeit zu geben, einen derartigen Festwertspeicher ohne weiteres zu realisieren. In Tabelle 2 ist jedes Paar Nibbel der ersten miteinander zu multiplizierenden ganzen Zahlen X und Kais »Multiplikant« bzw. »Multiplikator« angegeben. Die dann auszulesenden niedrigeren oder höheren Nibbel sind dann lediglich zusammen als »Produkt« angegeben.
Tabelle 2 Produkt M't. M'tor Produkt M't. M'tor Produkt
M't. M'tor
45 00 1 9 09 3 2 06
0 0 00 1 A OA 3 3 09
0 1 00 1 B OB 3 4 OC
0 2 00 1 C OC 3 5 OF
0 3 00 1 D OD 3 6 12
50 0 4 00 1 E OE 3 7 15
0 5 00 1 F OF 3 8 18
0 6 00 2 0 00 3 9 1B
0 7 00 2 1 02 3 A IE
0 8 00 2 2 04 3 B 21
55 0 9 00 2 3 06 3 C 24
0 A 00 2 4 08 3 D 27
0 B 00 2 5 OA 3 E 2A
0 C 00 2 6 OC 3 F 2D
0 D 00 2 7 OE 4 0 00
60 0 E 00 2 OCi !0 4 1 04
0 F 00 2 9 12 4 2 08
1 0 01 2 A 14 4 3 OC
1 1 02 2 B 16 4 4 10
1 2 03 2 C 18 4 5 14
65 1 3 04 2 D IA 4 6 18
1 4 05 2 E IC 4 7 IC
; 5 06 2 F IE 4 8 20
1 6
10
2 (Fortsetzung) Produkt M1L 30 20 767 M't M'tor Produkt 5
Tabelle M'tor 07 3 4 CTi 24
M1L 7 08 3 M'tor Produkt 4 A 28
1 8 2C 6 0 00 7 D 5B
·;-. 1 B 30 CTl 1 03 7 E 62
: 4 C 34 CT) 4 18 7 F 69 10
4 D 38 6 5 IE 8 0 00
4 E 3C 6 CT) 24 8 1 08
4 F 00 6 7 2A 8 2 10
4 0 05 CTl 8 30 8 3 18
5 1 OA 6 CTl 36 8 4 20 15
■ 5 2 OF 6 A 3C 8 5 28
5 3 14 6 B 42 8 6 30
5 4 19 CTl C 48 8 7 38
5 5 IE CTl D 4E 8 8 40
: 5 6 23 7 E 54 8 9 48 20
5 7 28 7 F 5A 8 A 50
5 8 2D 7 0 00 8 B 58
5 9 32 7 1 01 8 C 60
5 A 37 7 2 OE 8 D 68
5 B 3C 7 3 15 8 E 70 25
5 C 41 7 4 IC 8 F 78
5 D 46 7 5 23 9 0 00
5 E 4B 7 6 2A CT) 1 09
5 F 00 7 7 31 9 2 12
5 0 06 7 8 38 CTl 3 IB 30
6 1 OC 7 σι 3F CTl 4 24
CTl 2 12 7 A 46 CTl 5 2D
CTi 3 36 A B 4D C 8 60
-. 6 6 3F B C 54 C 9 6C
σι 7 48 B F 96 C A 78 35
9 8 51 B 0 00 C B 84
9 CTl 5A B 1 OB C C 90
CT) A 63 B 2 16 C D 9C
CTl B 6C B 3 21 C E A8
CTl C 75 B 4 2C C F B4 40
9 D 7E B 5 37 D 0 00
CT) E 87 B 6 42 D 1 OD
σι F 00 B 7 4D D 2 IA
9 0 OA B 8 58 D 3 27
A 1 14 B CT) 63 D 4 34 45
A 2 IE B A 6E D 5 41
A 3 28 B B 79 D 6 4E
A 4 32 B C 84 D 7 5B
A 5 3C B D 8F D 8 68
A CTl 46 C E 9A D CTl 75 50
A 7 50 C F A5 D A 82
A 8 5A C 0 00 D B 8F
A σι 64 C 1 OC D C 9C
A A 6E C 2 18 D D A9
A B 78 C 3 24 D E B6 55
A C 82 C 4 30 D F C3
A D 8C C 5 3C E 0 00
A E 6 48
A 7 54
Das zweite Subsystem 17 enthält ferner einen ersten Addierer 36 mod 2hn). Dieser berechnet die Summe des ersten und des zweiten Terms (P\h+ Pil) auf der rechten Seite der zweiten Gleichung (22). Ein zweiter Addierer 37 (mod 2hl2) berechnet den höheren Nibbel rp 2h, wie er durch die zweite der Gleichungen (22) gegeben ist. Jeder der beiden Addierer (mod 2hn) kann jeweils durch einen einfachen 4-Bit-Addierer gebildet werden. Der höhere Nibbel rp iH gelangt auf eine weitere Leitung 38. Man erhält also den zweiten Produktrest rp 2 auf den Leitungen 35 und 38, die in Fig.2 noch durch eine einzige mit der Bezeichnung rpt versehene Leitung (Ausgang des zweiten Subsystems 17) gezeichnet sind.
F i g. 4 zeigt nun das dritte Subsystem 18. In diesem wird das Ergebnis PR, d. h. die Λ höheren Ziffern oder Bits des Produktes XY, d. h. Hh (XY) nach Gleichungen (12) berechnet. Das dritte Subsystem 18 enthält eine erste Komplementiereinrichtung 41. An diese gelangt der erste Produktrest rp\, so daß in dieser Komplementiereinrichtung 41 daraus das Komplement fp\ abgeleitet wird, das bei der Substraktion nach Gleichung (12) benötigt
wird. Dieses eine Komplement fp\ wird dadurch erzeugt, daß alle Bits des ersten Produktrestes rp\ invertiert werden. Dieses eine Komplement rp \ und der zweite Produktrest rp 2 gelangen an einen ersten Addierer (mod 2h) 42. An dem Addierer 42 ist eine Eingangsklemme 43 für ein Übertrags-Bit und eine Ausgangsklemme 44 für ein Übertrags-Bit vorgesehen. Die Eingangsklemme 43 wird stets auf den logischen Wert »1« durch eine geeignete Signal- oder Potentialquelle gehalten. Der logische Wert »1« erscheint an der Ausgangsklemme 44 für den Übertrag, wenn in dem ersten Addierer 42 (mod 2h) ein Übertrag oder Überlauf stattfindet. Der Addierer 42 dient als Subtrahierer, um den ersten Produktrest rp \ von dem zweiten Produktrest rp 2 abzuziehen. Insbesondere berechnet der erste Addierer 42 eine Summe (rpi + rp\ + 1) modulo 2h\ dies erfolgt durch den Einsatz des den logischen Wert »1« entsprechenden Pegels an der Eingangsklemme 43 für den Übertrag, die stets auf diesem Wert gehalten wird. So entsteht die Summe (mod 2h). Lediglich wenn die Summe 2h oder 256 überschreitet, entsteht an der Übertragungs-Ausgangsklemme 44 der Wert einer logischen »1«.
Geht man nochmals zu den Gleichungen (12) zurück, so ergibt sich: die h höheren Ziffern des Produktes, also Hh (XY) wird gegeben durch die Addition der Einheit 1 zur Differenz (rP2—rp 1), sofern ein Übertrag stattfindet. Ansonsten werden die A höheren Ziffern Hh (XY) durch die Differenz alleine gegeben. Das bedeutet, daß der an
der Ausgangsklemme 44 aufscheinende Übertrag bei der Berechnung der h höheren Ziffern Hh (XY) berücksichtigt werden muß. Betrachtet man die Schalteinheit 41 und 42, so tritt ein Übertrag dann auf, wenn der zweite Produktrest rp 2 größer als der erste Produktrest rp 1 ist; er tritt nicht auf, wenn der zweite Produktrest rp 2 kleiner als der erste Produktrest rp 1 ist
Ein einfaches Beispiel wird diese Umstände erhellen. Die beiden ersten Produktreste rp\ und rP2 seien in Dezimalzahlen 5 bzw. 2. Das Komplement rp\ ergibt sich binär als »1010«. Die Summe (rP2 + fP\ +1) ist gleich »01101«. Kein Überlauf tritt auf. Wenn />i =2 und rp2=5 ist, dann ist das Komplement Tp\ »1101«. Die Summe (rP2 + rp\ + \) wird »10011«. Unter diesen Umständen erscheint also ein Überlauf.
Das dritte Subsystem 18 weist ferner einen zweiten Addierer (mod 2*)45 auf mit einer Summanden-Eingangsklemme 46, einer weiteren Summanden-Eingangsklemme 47 und einer Übertrags-Bit-Eingangsklemme 48. Die Summanden-Eingangsklemme 46 wird stets auf dem Wert »0« gehalten. Der erste Addierer 42 gibt nun an die andere Summanden-Eingangsklemme 47 die Summe (mod 2*) ab. Eine zweite Komplementiereinrichtung 49 ist zwischen der Übertrags-Ausgangsklemme 44 des ersten Addierers 42 und der Übertrags-Eingangsklemme 48 des zweiten Addierers 45 angebracht, um auf diese Weise an die letztgenannte Eingangsklemme 48 lediglich dann ein Übertrags-Signal abzugeben, wenn der zweite Produktrest rpt kleiner als der erste Produktrest rp\ ist
Das Übertrags-Signal gelangt nicht an den zweiten Addierer 45, wenn im ersten Addierer 42 ein Überlauf stattfindet
Der zweite Addierer (mod 2*^45 gibt das Berechnungsresultat PR entsprechend der ersten der Gleichungen (12) ab, wenn an seiner Übertrags-Eingangsklemme 48 ein Signal mit dem logischen Wert »0« anliegt. Liegt dort ein Signal mit dem logischen Wert »1« an, so ist das von dem Addierer 45 abgegebene Resultat PR dasjenige, das der zweiten der Gleichungen (12) entspricht Daraus folgt somit daß die h höheren Ziffern Hh (XY) durch diese einfache Kombination zweiter Addierer (mod 2h) 42 und 45 und die beiden Komplementiereinrichtungen 41 und 49 abgeleitet werden können.
Wie sich nun wiederum aus F i g. 2 ergibt, ist das für 2Λ Ziffern ausgelegte Register 19 dazu eingerichtet das Ergebnis PR und den zweiten Produktrest rP2 so zu arrangieren, daß sich das Produkt XY ergibt Das Ergebnis PR und der zweite Produktrest rp 2 werden verwendet als jeweils die h höheren und die h niedrigeren Bit-Hälften des gesamten Produktes XY.
Im zweiten Subsystem 17 (F i g. 3), das mit dem Modul 2* arbeitet kann man die Entsprechung zwischen den Exponenten und den allgemeinen ganzen Zahlen in der gleichen Art und Weise wie im ersten Subsystem 16 einsetzen. Die Multiplikation sollte jedoch auf ungerade Zahlen beschränkt werden, wenn diese Entsprechung im zweiten Subsystem eingesetzt wird. Dies ist deshalb so, weil der zweite Modul 2* für das zweite Subsystem 17 keine Primzahl ist und aus diesem Grunde die Anzahl der Exponenten, die durch die Eulersche Funktion Pfm) dargestellt wird, auf die Hälfte des zweiten Moduls 2* reduziert wird. Im Gegensatz dazu kann das zweite Subsystem 16 den zweiten Produktrest rP2 selbst dann ableiten, wenn sowohl die erste ganze Zahl A"als auch die zweite ganze Zahl Kkeine ungerade Zahl sind.
Das Multiplikationssystem gemäß der Erfindung kann asynchron betrieben werden ohne jegliche Art von Zeiteinsteil- oder Zeittaktschaltung, da es eine Kombination statischer Bauelemente darstellt Da alle ganzen Zahlen, die bei der Multiplikation verwendet werden, in entsprechende Exponenten der ganzen Zahlen überführt werden, findet kein Rundungsfehler statt
Ein herkömmlicher Feld-Multiplizierer weist eine Vielzahl von Addierstufen auf und wird durch eine Folge von Zeittaktimpulsen gesteuert Der herkömmliche Multiplizierer ist daher relativ langsam wegen der Notwendigkeit der Vorwärtsübertragung des Übertrags und des sich daraus ergebenden Verzögerungseffektes selbst dann, wenn man eine relativ komplizierte Schaltung zur Voraussage des Übertrags im Multiplizierer verwendet Bei dem Multiplikationssystem gemäß der Erfindung ist die zur Berechnung erforderliche Zeit Tn, abhängig von der Zugriffszeit Tlc jedes Festwertspeichers und einer Verzögerungszeit Ts<s jedes Addierers. Da das Produkt über zwei Festwertspeicher und drei Addierer abgeleitet wird, erhält man die Berechnungszeit Tm ungefähr durch folgende Gleichung:
Ist 7"ac=50 ns und 7"«/= 10 ns, dann beträgt die Berechnungszeit ungefähr 130 ns.
Es sei nun die erste ganze Zahl X gleich 234 und die zweite ganze Zahl Ygleich 175. Die beiden Transformationsschaltungen 21 und 22 übersetzen die Zahlen 234 und 175 in die Zahlen 4 und 69 gemäß Tabelle 1. Der Addierer (mod 28) 28 addiert nun 4 und 69 und gibt so die Zahl 73 als Exponentensumme (mod 256) ab.
Angesteuert durch 73, leitet die dritte Transformationsschaltung 28, die eine inverse Transformation vornimmt, die Zahl 87 als den ersten Produktrest rp χ gemäß Tabelle 1 ab. Obwohl der Wert 87 sich von dem tatsächlichen Produkt XY, gebildet aus den Zahlen 234 und 175, unterscheidet, dient es dazu, die obere Hälfte des tatsächlichen Produktes X und Y, das in binärer Form durch 16 Bits dargestellt wird, zu bestimmen. Der erste Produktrest rp \ wird auf diese Weise schnell abgeleitet. Hier ist der Wert von 87 im dezimalen System in binärer Form gleich »01010111«.
Für das zweite Subsystem 17 wird jedes der 8-Bit-Signale, die die ganzen Zahlen 234 und 175 darstellen, als eine hexadezimale Zahl mit 2-Ziffern betrachtet. Insbesondere ist das erste binäre Signal »11101010« und stellt die erste ganze Zahl 234 dar; es wird in den höheren Nibbel »1110« und in den niedrigeren Nibbel »1010« aufgeteilt. Diese beiden Nibbel »1110« und »1010« repräsentieren zwei hexadezimale Zahlen von je einer Ziffer, und zwar die hexadezimalen Zahlen »E« bzw. »A«. Die erste ganze Zahl 234 ist nun die Zahl »EA« im hexadezimalen System. Ebenso ergibt die zweite ganze Zahl 175 im hexadezimalen System eine andere Zahl, nämlich die Zahl »AF«. Der Klarheit der weiteren Beschreibung wird eine Markierung (H) jeweils im Zusammenhang mit einer Zahl verwendet, die im hexadezimalen Zahlensystem geschrieben ist, aber lediglich durch zwei Dezimalziffern dargestellt wird. Die höheren Nibbel X\, Y\ und die niedrigeren Nibbel X0 und V0 sind:
20
F=96(H),
30
Aus Gleichungen (22) folgt:
Xx =
Xo -
V1 =
X0 =
E,
A,
A und
F.
A ■ F=
A-A-
E- F=
Tabelle 2 zeigt, daß:
AoVo =
Xo Yx =
X, Yo =
9,
6,
4 und
2.
Daher ist:
Pw =
Pxl =
P2L =
PiL =
r„2H = Fi«+/>2t+/'3i.(modl6)und
= 9+4+ 2 (mod 16)
= F-
Da die höheren Nibbel rp2H\md die niedrigeren Nibbel />2Z.des zweiten Produktrestes rp2 »1111« bzw. »0110« in binärer Form sind, ist der zweite Produktrest rp2 durch »11110110« gegeben.
Der erste Produktrest S7 und der zweite Produktrest F6 gelangen an das dritte Subsystem 18. Der erste Produktrest />-, ist 57 (H). Das Komplement fp\ ist A 8. Die Summe (F6+A 8 + 1) modulo 28 wird im ersten Addierer 42 berechnet und ist gleich 9F. Da der zweite Produktrest F6 größer als der erste Produktrest 57 (H) ist, gelangt kein Übertrags-Bit-Signal an den zweiten Addierer 45. Das Resultat PR, das sich als Ergebnis dieser Berechnung darstellt, ist daher 9F.
Das Ergebnis der Multiplikation XYwird daher dadurch erhalten, daß man lediglich das Ergebnis PR und den zweiten Produktrest rp 2 in der Form 9FF6 anordnet Die Zahl 9FF6 ist im Dezimalsystem die Zahl 40950.
Es sei nun angenommen, daß die vorbestimmte gerade Zahl h einen mehr allgemeinen Wert hat. Das erste Subsystem 16 erzeugt dann den ersten Produktrest rp \ unter Verwendung des ersten Moduls (2* +1).
Was das zweite Subsystem 17 angeht, so werden die Gleichungen (20) umgeschrieben, so daß sich die ersten bis dritten partiellen Produkte folgendermaßen ergeben:
XoYo = Pxh -2IM+ Pn.,
A0K1= p2H . 2"+P2L · 2<"2 und
XiV0 = P3H ■ 2*+P3L ■ 2IM.
Die untere Hälfte rp2L und die höhere Hälfte />2//des zweiten Produktrestes rp2 erhält man wie folgt:
rp2L = Pxl und
= Pxh+P2L+P3L(TaOd 2^2).
Der zweite Produktrest rp 2 stellt die A niedrigeren Ziffern des Produktes dar, also Lh (XY).
Das zweite Ausführungsbeispiel ist in Fig.5 dargestellt. Dieses Dual-Multiplikationssystem berechnet das Produkt XYzweier positiver ganzer Zahlen X und Y, die im dezimalen System mit der vorausgewählten Wurzel 10 gegeben sind. Gleiche Einheiten wie in den Fig.2 bis 4 sind mit gleichen Bezugszeichen versehen. Es sei
angenommen, daß als vorbestimmte gerade Zahl h die Zahl 2 ausgewählt wird. Vorzugsweise werden die Signale in BCD-kodierter Form (binär kodiert dezimal) angegeben, wobei jede Ziffer durch vier Bits dargestellt wird. Der erste Modul (qh +1) und der zweite Modul qh ist 101 bzw. 100. Die Primzahl hat 2 als Primitivwurzel.
Das erste Subsystem 16 besteht aus einer ersten Transformationsschaltung 21' und einer zweiten Transformationsschaltung 22'. Bei Ansteuerung durch die erste ganze Zahl A gibt die erste Transformationsschaltung 21' eine erste Exponententransformierte χ ab. Bei Ansteuerung durch die zweite ganze Zahl Y gibt die zweite Transformationsschaltung 22' entsprechend eine zweite Exponententransformierte y ab. Die beiden Transformationsschaltungen 2V oder 22' können jeweils — analog dem ersten Ausführungsbeispiel — durch einen Festwertspeicher (ROM) gebildet werden, dessen Adresse durch die ganzen Zahlen χ oder /angegeben wird, an
ίο welcher Adresse dann die entsprechenden Exponententransformierten χ oder y gespeichert sind, die dann bei der Ansteuerung durch die ganzen Zahlen X, Y ausgelesen werden. Die Beziehung zwischen X, V und x, y ist in der nachfolgenden Tabelle 3 angegeben. Diese gleicht der Tabelle 1 bis auf die Tatsache, daß 250=100 (mod 101) darin aufgeführt ist.
Tabelle 3
Rest Exponent Rest Exponent Rest Exponent Rest Exponent
1 100 26 67 51 99 76 98
20 2 1 27 7 52 68 77 22
3 69 28 11 53 23 78 36
4 2 29 91 54 8 79 64
5 24 30 94 55 37 80 28
6 70 31 84 56 12 81 76
25 7 9 32 5 57 65 82 46
8 3 33 82 58 92 83 89
9 38 34 31 59 29 84 80
10 25 35 33 60 95 85 54
11 13 36 40 61 77 86 43
30 12 71 37 56 62 85 87 60
13 66 38 97 63 47 88 16
14 10 39 35 64 6 89 21
15 93 40 27 65 90 90 63
16 4 41 45 66 83 91 75
35 17 30 42 . 79 67 81 92 88
18 39 43 42 68 32 93 53
19 96 44 15 69 55 94 59
20 26 45 62 70 34 95 20
21 78 46 87 71 44 96 74
40 22 14 47 58 72 41 97 52
23 86 48 73 73 61 98 19
24 72 49 18 74 57 99 51
25 48 50 49 75 17 100 50
Das erste Subsystem 16 enthält ferner einen 2-Ziffern-BCD-Addierer 26', der modulo 100 arbeitet An diesen Addierer gelangen die erste und die zweite Exponententransformierte χ bzw. y. Der Addierer 26' berechnet den Exponentensummenrest sr. Eine dritte Transformationsschaltung 28' transformiert den Exponentensummenrest sr in einen ersten Produktrest rp \. Die dritte Transformationsschaltung 28' kann wiederum durch einen Festwertspeicher ROM verwirklicht werden. Vorzugsweise liefert er direkt das Komplement es ersten Produktrestes, somit Fp |.
Das zweite Subsystem 17 arbeitet mit dem zweiten Modul 100 und dient lediglich dazu, den zweiten Produktrest rP2 aus den ersten und zweiten ganzen Zahlen X und Vgemäß der Beziehung XY= rP2 (mod 100) abzuleiten. Wie innerhalb des gestrichelten Rechteckes in F i g. 5 dargestellt, werden den ganzen Zahlen X und Y in niedrigere Hälften Xo und Y0, die weniger signifikanten Ziffern (zugeordnet 10°) darstellen, und in höhere Hälften X\ und Yi, die die signifikantesten Ziffern (zugeordnet 101) darstellen, aufgeteilt Wie in den Gleichungen (20) werden die ersten bis dritten partiellen Produkte durch die folgenden Beziehungen gegeben:
Ab Yo
= Pw
= PiH
ΙΟ1 und
ΙΟ1.
Entsprechend Gleichung (22) ergibt sich:
rP2 = ^
Das zweite Subsystem enthält dann ferner erste bis dritte partielle Multiplizierer 31', 32' und 33'. Jeder partielle Multiplizierer 31', 32' und 33' kann wieder durch einen Festwertspeicher in der beschriebenen Art und Weise gebildet werden. Der erste partielle Multiplizierer 31' liefert auf die Leitung 35' die niedrigere Hälfte rp2i.
des zweiten Produktrestes rP2- Erste und zweite 1-Ziffern-BCD-Addierer (mod 10)36' und 37' liefern schließlich auf Leitung38' die höhere Hälfte rP2wdes zweiten Produktrestes rP2-
Für das dritte Subsystem 18 ergeben sich den Gleichungen (12) entsprechenden Gleichungen folgendermaßen:
wenn rP2>rpi,und: \ (23)
H2 (XY)=rp2-rpl (mod 10O)H-I, j
wenn rp τ <rp|.
Das dritte Subsystem 18 weist einen ersten 2-Ziffern-BCD-Addierer 42' auf, der mit einer Übertrags-Ausgangsklemme 44' versehen ist. Liegt an diesem Addierer 42' das Komplement des ersten Produktrestes, somit Tp ι, ferner der zweite Produktrest rp2, sowie an der Eingangsklemme für den Übertrag ein Signal vom logischen Wert »1« an, so berechnet der Addierer 42' die Summe (rP2 + rPt + \) modulo 100. Wie im Zusammenhang mit Fig.4 beschrieben, tritt ein Überlauf nur dann auf, wenn der zweite Produktrest rp2 größer als der erste Produktrest rp \ ist.
An die Summe (rP2 + fp ι +1) moduio 100 gelangt dann an einen zweiten 2-Ziffern-BCD-Addierer 45', der eine Übertrags-Eingangsklemme 48' hat. Ferner ist zwischen der Übertrags-Ausgangsklemme 44' und der Übertrags-Eingangsklemme 48' eine Komplementiereinrichtung 49' vorgesehen. Der zweite Addierer 45' gibt ein Ergebnis PR ab, das die höhere Hälfte H2 (XY) gemäß Gleichung (23) darstellt.
Es sei nun beispielsweise die erste Zahl X gleich 90 und die zweite Zahl Y gleich 75. Im ersten Subsystem werden dann als erste und zweite Exponententransformierte χ bzw. y die Zahlen 63 bzw. 17 ausgelesen. Der Exponentensummenrest sr wird 80. Der erste Produktrest rp 1 stellt die Zahl 84 dar. Das Komplement Fn 1 ist durch 99—84 =15 gegeben.
Für das zweite Subsystem 17 ergeben sich die höheren bzw. niedrigeren Hälften der ganzen Zahlen Xu Y\, Xo und Yq wie folgt:
X\ = 9,
Xo = 0,
Vi = 7 und
Y0 = 5.
Die ersten bis dritten partiellen Produkte nehmen folgende Werte an:
00,
XoY\ = 00 und X1Y0 = 35.
Die Hälften der entsprechenden partiellen Produkte, die für die weiteren Berechnungen notwendig sind, sind:
Pu. = 0, PlH = 0, P2L = 0 und P31. = 5.
45 Die oberen und unteren Hälften des zweiten Produktrestes, also /·ρ2/ί und rp2L sind:
rP2H = P\ η + P2L + PiL (mod 10) = 5 und rP2L = P)L = O.
Der zweite Produktrest rp 2 ist somit (5,0) oder 50.
In dem dritten Subsystem 18 berechnet der erste Addierer (mod 100) die Summe (rP2 + fp\ + \) modulo 100 wie folgt:
50+15 + 1 (mod 100)=66.
Da der zweite Produktrest 50 kleiner als der erste Produktrest 84 ist, ergibt sich das Ergebnis PR oder die höhere Hälfte H2 (XY)des Produktes in Ziffern wie folgt:
rP2—Γρι + 1 (mod 100) = 66+1 (mod 100)=67.
Das 2/7-Ziffern-Register 19 wird mit dem Ergebnis PR und mit dem zweiten Produktrest rp2 geladen, also mit den beiden Zahlen (67,50), das heißt also mit der Zahl 6750.
Das anhand von Fi g. 5 beschriebene Dual-Modul-Multiplikationssystem kann ebenfalls asynchron betrieben werden. Es ist auch als Baustein in einer größeren Multipliziereinheit verwendbar.
Das anhand der F i g. 2 bis 4 beschriebene Multiplikationssystem kann derart modifiziert werden, daß es in einem beliebigen Zahlensystem mit einer Wurzel q betrieben werden kann. Die ganzen Zahlen müssen durch Λ-Ziffern unter Verwendung der Wurzel q dargestellt werden, wobei h eine gerade Zahl sein muß. Das erste
Subsystem 16 leitet einen ersten Produktrest /> ι modulo (ep +1) ab; das zweite Subsystem 17 leitet einen zweiten Produktrest rP2 modulo q* ib. Ein Addierer (mod g*Jl ein erster und ein zweiter Addierer (mod al·"2), und erste sowie zweite Addierer (mod qf1) können anstelle des ersten Addierers (mod 2b) 26, des ersten und des zweiten Addierers (mod 24^ 36 und 37 und des ersten und des zweiten Addierers (mod 2*}42 und 45 substituiert werden.
Hierzu 4 Blatt Zeichnungen
16

Claims (1)

Patentansprüche:
1. Schaltungsanordnung zur Restklassen-Multiplikation einer ersten ganzen Zahl (X) mit einer zweiten ganzen Zahl (Y), die beide auf der Basis einer bestimmten Wurzel fej durch eine bestimmte gerade Anzahl (h) gegeben sind, die derart bestimmt sind, daß die A-te Potenz der Wurzel plus eins g*-f-1) eine Primzahl ist, bei der ein erster Rest (rp i) berechnet wird, der mit dem Ergebnis der Multiplikation modulo eines ersten Moduls kongruent ist, welcher gleich der Primzahl ist, und ferner ein zweiter Rest berechnet wird, der mit dem Ergebnis der Multiplikation modulo eines zweiten Moduls kongruent ist, welcher gleich der Primzahl weniger eins ist, und bei der die Darstellung des zweiten Restes durch 2A Ziffern und des ersten Restes durch
ίο h Ziffern erfolgt, und bei der eine erste Schaltungseinheit (16) den ersten Rest ableitet derart, daß aufeinanderfolgende ganze Zahlen, deren Anzahl gleich der Primzahl minus 1 ist, mit Potenzen einer Primitivwurzel der Primzahl modulo dieser Primzahl kongruent sind, wenn die Exponenten der entsprechenden Potenzen durch aufeinanderfolgende ganze Zahlen gegeben sind, deren Anzahl gleich der Primzahl minus 1 ist, und bei der eine zweite Schaltungseinheit aus den ganzen Zahlen (X, Y) den zweiten Rest (rp2) ableitet, und eine dritte Schaltungseinheit die beiden Reste in das Ergebnis des Multiplikationsvorgangs umsetzt, dadurch gekennzeichnet, daß die zweite Schaltungseinheii (17) drei partielle Multiplizierer (31 —33) zur Berechnung je einer der folgenden drei partiellen Produkte mit je A Ziffern aufweist:
DE3020767A 1979-06-01 1980-05-31 Schaltungsanordnung zur Restklassen-Multiplikation Expired DE3020767C2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP54067495A JPS6042965B2 (ja) 1979-06-01 1979-06-01 複数法形高速乗算装置

Publications (2)

Publication Number Publication Date
DE3020767A1 DE3020767A1 (de) 1980-12-04
DE3020767C2 true DE3020767C2 (de) 1986-10-09

Family

ID=13346621

Family Applications (1)

Application Number Title Priority Date Filing Date
DE3020767A Expired DE3020767C2 (de) 1979-06-01 1980-05-31 Schaltungsanordnung zur Restklassen-Multiplikation

Country Status (4)

Country Link
US (1) US4346451A (de)
JP (1) JPS6042965B2 (de)
DE (1) DE3020767C2 (de)
GB (1) GB2054221B (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8046791B1 (en) 1981-11-03 2011-10-25 Personalized Media Communications, Llc Signal processing apparatus and methods

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3138698A1 (de) * 1981-09-29 1983-04-07 Siemens AG, 1000 Berlin und 8000 München Verfahren zur potenzierung grosser binaerzahlen in einer restklasse modulo n, insbesondere zur verschluesselung und entschluesselung digital dargestellter nachrichten
US4506340A (en) * 1983-04-04 1985-03-19 Honeywell Information Systems Inc. Method and apparatus for producing the residue of the product of two residues
DE3587670T2 (de) * 1984-01-21 1994-06-23 Sony Corp Verfahren und schaltung zur dekodierung von fehlercode-daten.
US5144574A (en) * 1989-01-30 1992-09-01 Nippon Telegraph And Telephone Corporation Modular multiplication method and the system for processing data
CA2008774C (en) * 1989-01-30 1999-10-05 Hikaru Morita Modular multiplication method and the system for processing data
US5446909A (en) * 1992-12-11 1995-08-29 National Semiconductor Corporation Binary multiplication implemented by existing hardware with minor modifications to sequentially designate bits of the operand
FR2705475B1 (fr) * 1993-05-19 1995-07-28 France Telecom Multiplieur exempt de débordement interne, notamment multiplieur bit-série, et procédé pour empêcher un débordement interne d'un multiplieur.
DE10107376A1 (de) * 2001-02-16 2002-08-29 Infineon Technologies Ag Verfahren und Vorrichtung zum modularen Multiplizieren und Rechenwerk zum modularen Multiplizieren
US7558817B2 (en) * 2002-04-29 2009-07-07 Infineon Technologies Ag Apparatus and method for calculating a result of a modular multiplication
DE10260660B3 (de) * 2002-12-23 2004-06-09 Infineon Technologies Ag Modulare Multiplikation mit paralleler Berechnung der Look-Ahead-Parameter u.a. bei der kryptographischen Berechnung
US7739323B2 (en) * 2006-06-20 2010-06-15 International Business Machines Corporation Systems, methods and computer program products for providing a combined moduli-9 and 3 residue generator
KR101326078B1 (ko) 2007-10-11 2013-11-08 삼성전자주식회사 모듈러 곱셈 방법, 모듈러 곱셈기 및 모듈러 곱셈기를구비하는 암호 연산 시스템
CN102591615A (zh) * 2012-01-16 2012-07-18 中国人民解放军国防科学技术大学 结构化混合位宽乘法运算方法及装置
KR102645836B1 (ko) * 2021-11-12 2024-03-08 강창국 대기 시료 채취장치

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CH412411A (de) * 1959-12-30 1966-04-30 Ibm Vorrichtung zur Durchführung von Multiplikationen und Divisionen im Zahlensystem der Restklassen
SU579618A1 (ru) * 1975-03-25 1977-11-05 Институт математики и механики АН Казахской ССР Устройство дл умножени
US4107783A (en) * 1977-02-02 1978-08-15 The Board Of Trustees Of The Leland Stanford Junior University System for processing arithmetic information using residue arithmetic

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8046791B1 (en) 1981-11-03 2011-10-25 Personalized Media Communications, Llc Signal processing apparatus and methods

Also Published As

Publication number Publication date
JPS6042965B2 (ja) 1985-09-26
US4346451A (en) 1982-08-24
DE3020767A1 (de) 1980-12-04
JPS55162148A (en) 1980-12-17
GB2054221B (en) 1983-06-02
GB2054221A (en) 1981-02-11

Similar Documents

Publication Publication Date Title
DE3020767C2 (de) Schaltungsanordnung zur Restklassen-Multiplikation
DE2628473C3 (de) Digitales Faltungsfilter
DE1956209C3 (de) Multipliziervorrichtung
DE1549477B1 (de) Einrichtung zur schnellen akkumulation einer anzahl mehr stelliger binaerer operanden
DE1169166B (de) Modulí¬9 Pruefzahl-Rechner
DE2221693B2 (de) Schaltungsanordnung zur Ausführung einer Multiplikation zwischen zwei Binärzahlen
DE10219158B4 (de) Vorrichtung und Verfahren zum Berechnen eines Ergebnisses einer modularen Multiplikation
DE2034841A1 (de) Digital Rechenanlage
DE1114050B (de) Elektronischer Gleitkomma-Rechner
DE2746355A1 (de) Einrichtung und verfahren zur wahlweisen multiplikation oder division zweier als binaerzahlen vorliegender operanden
DE69526887T2 (de) Inversionsschaltung für Galoisfeldelemente
DE2705989C2 (de) Schaltungsanordnung zum parallelen Addieren oder Subtrahieren von mindestens zwei Eingangszahlen
DE2750212A1 (de) Einrichtung zur bildung und akkumulation von produkten
DE1298316B (de) Einrichtung zur Kommabehandlung bei arithmetischen Operationen
DE1524169A1 (de) Divisionseinrichtung
DE1774571A1 (de) Divisionseinrichtung
EP0489952B1 (de) Schaltungsanordnung zur digitalen Bit-seriellen Signalverarbeitung
DE1549485C3 (de) Anordnung zur Division binärer Operanden ohne Rückstellung des Restes
DE1549461C3 (de)
DE1061099B (de) Datenuebertragungsvorrichtung fuer elektronische Rechenanlagen und datenverarbeitende Maschinen
DE1449837B2 (de)
DE1549105B2 (de) Codeprufanordnung fur die Korrektur fehlerhaft übertragener Zeichen
DE1035943B (de) Einrichtung zur Konvertierung von Dezimalzahlen in Binaerzahlen oder umgekehrt
DE1449837C (de) Vorrichtung zur Prufzeichenberech nung fur die Informationsabsicherung
DE1549560C3 (de) Digital arbeitende Rechenanordnung zur Bildung der Korrelations- bzw. Konvolutionsfilterfunktion

Legal Events

Date Code Title Description
OAR Request for search filed
OC Search report available
OD Request for examination
D2 Grant after examination
8364 No opposition during term of opposition