DE3020767C2 - Schaltungsanordnung zur Restklassen-Multiplikation - Google Patents
Schaltungsanordnung zur Restklassen-MultiplikationInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods 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/52—Multiplying; Dividing
- G06F7/523—Multiplying only
- G06F7/53—Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel
- G06F7/5324—Multiplying 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/60—Methods 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/72—Methods 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/729—Methods 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):
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).
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:
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)
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.
Exponent
Rest
Exponent
Rest
Exponent
Rest
Exponent
208
209
210
211
212
213
214
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:
(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.
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-
= 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.
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
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.
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
= PiH
■ ΙΟ1 und
ΙΟ1.
ΙΟ1.
Entsprechend Gleichung (22) ergibt sich:
rP2 = ^
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)
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:
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)
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)
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)
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 |
-
1979
- 1979-06-01 JP JP54067495A patent/JPS6042965B2/ja not_active Expired
-
1980
- 1980-05-23 US US06/152,681 patent/US4346451A/en not_active Expired - Lifetime
- 1980-05-31 DE DE3020767A patent/DE3020767C2/de not_active Expired
- 1980-06-02 GB GB8017949A patent/GB2054221B/en not_active Expired
Cited By (1)
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 |