DE3020767A1 - Schaltungsanordnung zur multiplikation zweier ganzer zahlen - Google Patents
Schaltungsanordnung zur multiplikation zweier ganzer zahlenInfo
- Publication number
- DE3020767A1 DE3020767A1 DE19803020767 DE3020767A DE3020767A1 DE 3020767 A1 DE3020767 A1 DE 3020767A1 DE 19803020767 DE19803020767 DE 19803020767 DE 3020767 A DE3020767 A DE 3020767A DE 3020767 A1 DE3020767 A1 DE 3020767A1
- Authority
- DE
- Germany
- Prior art keywords
- digits
- remainder
- product
- partial
- multiplication
- 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.)
- Granted
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
-If-
Die Erfindung betrifft eine Schaltungsanordnung zur Durchführung einer Multiplikation mit dualen Moduln der im Oberbegriff
des Patentanspruches angegebenen Art. Derartige Multiplikationssysteme werden u.a. als Grundbausteine digitaler
elektronischer Rechenanlagen eingesetzt.
Bei den meisten herkömmlichen Multiplikationssystemen oder
Multiplizierer, wie sie in Rechenanlagen verwendet werden, wird die Multiplikation unter Steuerung einer Folge von Zeittaktimpulsen
vorgenommen. Diese Multiplizierer haben eine relativ niedrige Rechengeschwindigkeit, da eine Vielzahl von
Rechenschritten nacheinander ausgeführt werden, wobei die Aufmerksamkeit darauf gerichtet ist, die verschiedenen Überläufe
oder Überträge zu berücksichtigen, die während des Ablaufs der Rechenschritte entstehen. Möchte man hierbei die
Frequenz dieser Zeittaktimpulse, die den Ablauf steuern und seine Geschwindigkeit bestimmen, erhöhen, so ergeben sich sehr
komplizierte Schaltungen.
Es ist nun auch bekannt, logarithmische Transformationen zur Berechnung eines Produktes einer Vielzahl von Zahlen zu verwenden.
Ein Multiplizierer unter Verwendung logarithmischer Transformationen ist in der Lage, die Anzahl der Rechenschritte
zu reduzieren und damit die Rechengeschwindigkeit zu erhöhen. Dabei tritt jedoch unvermeidbar ein Rundungsfehler auf, weil
die meisten der logarithmischen Transformierten nicht ganze Zahlen sind. Ein Multiplizierer unter Verwendung logarithmischer
Transformationen wird sehr aufwendig, wenn man den Versuch
unternimmt, die Rundungsfehler kleiner zu machen.
030049/098S
3020787
Demgemäß ist es Aufgabe der vorliegenden Erfindung eine Schaltungsanordnung der eingangs genannten Art derart weiter
zu bilden, daß sie mit hoher Geschwindigkeit arbeiten kann, ohne Rundungsfehler arbeitet und dennoch in ihrem Aufbau einfach
ist.
Diese Aufgabe wird durch die im Kennzeichen des Patentanspruches 1 angegebenen Merkmale gelöst. Die Erfindung betrifft
ferner verschiedene vorteilhafte Weiterbildungen.
Bei dem Multiplikationssystem ist vorgesehen, daß die erste und die zweite positive ganze Zahl, die miteinander multipliziert
werden sollen, jeweils auf der Basis einer vorbestimmten Wurzel durch eine vorbestimmte gerade Anzahl von h-Ziffern
dargestellt werden. Diese gerade Anzahl h sollte derart bestimmt sein, daß die h-te Potenz der Wurzel plus eins eine
Primzahl wird. Andererseits verwendet ein bekanntes Dual-Modul-Multiplikationssystem
für eine derartige Berechnung positive ganze Zahlen, die im binären oder dezimalen Zahlensystem vorliegen,
unter Verwendung eines ersten Restes, welcher mit dem Ergebnis der Multiplikation bezüglich eines ersten Moduls
kongruent ist, welch erster Modul gleich einer Primzahl ist, sowie ferner unter Verwendung eines zweiten Restes, der mit
dem Ergebnis der Multiplikation bezüglich eines zweiten Moduls kongruent ist, der gleich der Primzahl weniger eins ist. Bei
einem Multiplikationssystem, für welches die Erfindung anwendbar ist, werden die Ergebnisse der Multiplikationen und sowohl
der erste als auch der zweite Rest auf der Basis der Wurzel durch 2h- und h-Ziffern dargestellt. Selbst wenn eine positive
ganze Zahl bspw. lediglich (h - 1) Ziffern in der üblichen Darstellung in einem auf der Wurzel basierenden Zahlensystem
hat, ist es möglich, die ganze Zahl unter Berücksichtigung von
030049/0965
3020787
h-Ziffern darzustellen, wobei eine Null als signifikanteste
oder höchste Ziffer der Darstellung in h-Ziffern verwendet wird. Andererseits ist es möglich, eine ganze Zahl, die gleich
oder größer als die Primzahl ist, durch eine andere ganze Zahl darzustellen, die mit der infrage stehenden ganzen Zahl bezüglich
eines Moduls kongruent ist, der gleich der h-ten Potenz der Wurzel ist. Dies ist der zweite Modul. Das steht nicht im
Widerspruch damit, daß der erste Rest modulo der Primzahl berechnet wird.
Das bekannte Dual-Modul-Multiplikationssystem enthält eine erste Schalteinheit, in der aus den beiden miteinander zu
multiplizierenden ganzen Zahlen ein erster Rest abgeleitet wird mit Hilfe der in der Zahlentheorie geläufigen Tatsache,
daß aufeinanderfolgende ganze Zahlen, deren Gesamtzahl gleich der Primzahl weniger eins ist, mit Potenzen einer vorbestimmten
Primitivwurzel der Primzahl kongruent sind, und zwar modulo
eines Moduls, der gleich der Primzahl ist, wenn die Exponenten für die entsprechenden ganzen Zahlen durch aufeinanderfolgende
ganze Zahlen gegeben sind, die ihrer Anzahl nach wiederum gleich der Primzahl weniger eins sind. Dieses bekannte Dual-Modul-Multiplikationssystem
weist ferner eine zweite Schalteinheit auf, um aus den beiden miteinander zu multiplizierenden positiven
ganzen Zahlen einen zweiten Rest abzuleiten. Ferner ist dann eine dritte Schalteinheit vorgesehen, die eine Kombination
der beiden Reste vornimmt und daraus das Ergebnis der Multiplikation ableitet.
Allgemein gesprochen ist nun die zweite Schalteinheit bei einem Dual-Modul-Multiplikationssystem gemäß der Erfindung
derart ausgebildet, daß sie die ersten und zweiten positiven ganzen Zahlen in den zweiten Rest umsetzt, ohne daß die oben
erwähnte bekannte Tatsache aus der Zahlentheorie berücksichtigt werden muß. Diese zweite Schalteinheit erreicht dies mit Hilfe
030049/0965
partieller Multiplizierer, die drei partielle Produkte mit je h-Ziffern berechnen und diese Ergebnisse dann so miteinander
kombinieren, daß sich der zweite Rest ergibt.
Ausführungsbeispxele der Erfindung und ihrer vorteilhaften Weiterbildungen werden im folgenden anhand der beigefügten
Zeichnungen beschrieben. Es stellen dar:
Fig. 1 ein Blockschaltbild eines Dual-Modul-Multiplikationssystems,
bei welchem die Erfindung anwendbar ist;
Fig. 2 ein Blockschaltbild eines ersten Ausführungsbeispiels sowie Einzelheiten des darin verwendeten
ersten Subsystems;
Fig. 3 ein Blockschaltbild des in Figur 2 verwendeten
zweiten Subsystems;
Fig. H ein Blockschaltbild des in Figur 2 eingesetzten
dritten Subsystems;
Fig. 5 ein Blockschaltbild eines zweiten Ausführungs
030049/096S
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, 1, 2 , ...)
für eine vorbestimmte Zahl m gilt, dann sagt man, a und r seien kongruent modulo m; diese Beziehung wird wie folgt beschrieben:
a = r (mod m).
Der Modul m ist in dem Zahlensystem von großer Bedeutung, mit dem sich der Aufbau der Rechenschaltung gemäß der Erfindung
befasst.
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
gilt 9=2 (mod 7), 15 = 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 Restklasse Z
030049/0985
3020787
(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 Euler'sehe 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 Euler'sehe Funktion
P(m) gleich der gesamten Anzahl der ganzen Zahlen, die kleiner als m sind, also P(m) = m - 1.
Als Fermat'sche Zahl bezeichnet man F = 2 + 1. Sie ist eine
Primzahl für h = 2k und k = 4.
Für k = 3 und h = 8 ist die Fermat'sche Zahl 28 + 1 = 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, 256.
Die Elemente 1 bis 25 5 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 als Element
auf der äußersten linken Seite hinzugefügt; rechts wird 25 6 weggelassen. Dann erhält man eine modifizierte reduzierte
Restklasse wie folgt:
R'(mod 257) = o, 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.
030049/09S5
3020787
Für eine Primzahl gibt es zumindest eine Primitivwurzel. Eine solche vorausgewählte Primitivwurzel sei mit g bezeichnet.
Dann gilt nach Euler
;P(n0 = 1 (mod m) (1)
z.B.: g256 = 1 (mod 257).
Es sei nun X und Y 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 X und Y sind aus aufeinanderfolgenden ganzen Zahlen
ausgewählt, die insgesamt die Anzahl (m-1) oder die Primzahl m weniger 1 haben. Mit Hilfe der vorbestimmten Primitivwurzel
g kann man schreiben:
g = X (mod m) J
f (2) gy = Y (mod m) J
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 X3 Y der insgesamt (m-1) aufeinanderfolgenden Zahlen
dar.
Dabei wird jeder dieser Exponenten χ bzw. y gleich 0s wenn
die gemäß Gleichung (2) zuordenbare Zahl X bzw. Y gleich 1 wird. Daher gehören die Exponenten χ oder y zu einer modifizierten
Restklasse R1 (mod m). Eine derartige modifizierte Restklasse R1 wird als Exponentenrestklasse E (mod m) bezeichnet.
Nimmt man an, daß der erste Exponent χ kleiner als der zweite Exponent y ist, so kann man ohne Verlust an
030049/098S
Allgemeinheit sagen, daß die Exponentenrestklasse E (mod m)
eine Gruppe aufeinanderfolgender ganzer Zahlen ist, die wie folgt angegeben werden kann:
E (mod m) = |"0,l, ..., x, ..., y, ·.·, m-2j (2')
Man kann die Folge von ganzen Zahlen, zu der die erste bzw. die zweite ganze Zahl X bzw. Y gehört, als reduzierte Restklasse
R (mod m) auffassen, in der die aufeinanderfolgenden ganzen Zahlen in einer bestimmten Ordnung angeordnet sind,
bspw.:
Dabei stellt J einen Rest dar, der der (m-2)-ten Potenz der Primitivwurzel g modulo m kongruent ist. In jedem Fall lässt
sich zwischen den der Anzahl nach (m-1) Exponenten nach Gleichung (21) und den ebenfalls der Anzahl nach (m-1) ganzen Zahlen
gemäß Gleichung (2") eine 1-zu-l-Beziehung herstellen, auf die
später noch zurückgegriffen wird.
Ferner gilt für MuHiplikationen bei Geltung der Kongruenzbeziehungen
nach Gleichung (2):
x χ gy = X χ Y (mod m). (3)
Eine Summe zweier Exponenten (x+y) modulo (m-1) gehört stets zu der Exponentenrestklasse E (mod m). Ein Produkt der genannten
ersten und zweiten ganzen Zahlen (X χ Y) modulo m gehört stets zu der reduzierten Restklasse R (mod m). Die
Kongruenzbeziehung nach Gleichung (3) kann daher wie folgt umgeschrieben werden:
gx+y (mod Dn-I]) _ χ χ γ
030049/0965
Diese Kongruenzbeziehung zeigt, daß das Produkt zweier Reste (XxY) modulo m in einer 1-zu-l-Beziehung zu der
Summe der entsprechenden Exponenten (x+y) modulo (m-1) steht.
Der Kürze der Darstellung halber bezeichne man den Rest des Produktes (X χ Y) modulo m mit s und den Rest der Summe
(x+y) modulo (m-1) mit r , also
X χ Y = r (mod m)
und χ + y = s (mod [m-1] ).
Die Reste r und s werden im folgenden als Produktrest und
als Exponentensummenrest bezeichnet. DieExponenten χ und y werden in der Mathematik als Exponentialtransformierte bezeichnet.
Diese beschriebenen Zusammenhänge werden im folgenden als 1-zu-l-Beziehung bezeichnet.
Man kann nun eine beliebige positive ganze Zahl N als ein Polynom einer natürlichen Zahl q (q ungleich 1) folgendermaßen
darstellen:
N = anqn + Sn^q11"1 + ... + a^q1 + aQq0 . U)
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 q kongruent ist, wobei h nun irgendeine positive ganze Zahl ist, die kleiner ist als
der größte Exponent η nach Gleichung U). Der Rest r wird dargestellt durch die h niedrigeren Ziffern (ah ^, ah-2s ··*>
al» a0^ ^er (n+D Ziffern auf der Basis der Wurzel q. Diese
030049/0965
h niedrigeren Ziffern werden mit L, (N) bezeichnet. Anders
ausgedrückt:
N = r (mod qh) (5)
wobei r = L, (N)1
Beispielsweise sei eine ganze Zahl N 75 6 34. Als Wurzel q sei 10 ausgewählt. Die Reste r sind L3(75634) bzw. 634, L2(75634)
bzw. 34 und L1 (756 34·) bzw. 4 , wenn man die 3.-ten, 2.-ten
oder die l.-te Potenz (en) der Zahl 10 als Moduln q verwendet. In Form von Kongruenzbeziehungen ausgedrückt heißt das:
75634 = 634 (mod 103), 75634 = 34 (mod 102),
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 Die Anzahl dieser Symbole ist (n+1). Diese Permutation kann man
allgemein darstellen durch (b , b _.. , ..., b. , b.,). Die ganze
Zahl N ist kongruent mit einem Rest r modulo einer ganzen Zahl 2 des binären Systems. Der Rest r ist durch die h niedrigeren
Ziffern L, (N) oder durch (^H1-1) bh-2' ·*"» bi' bo^ der Sanzen
Zahl N gegeben. Insbesondere gilt:
N = r (mod 2h). (5* )
Ή ο
Dabei ist r = L, (N). Wählt man als Modul 2 beispielsweise 2 , dann kann man den Rest r durch 8 Ziffern auch dann darstellen,
wenn man mehr als 8 Ziffern (b , ^1, ..., bQ) zur Darstellung
der ganzen Zahl N notwendig braucht. Die 8 niedrigeren Ziffern
O Q
Lg(N) bilden so eine Restklasse Z (mod 2 ) aus 2 Elementen,
030049/0965
die einer modifizierten Restklasse R' modulo 25 7 ä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 2 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
XY wird durch 2h Ziffern dargestellt. Der erste Modul (2h + 1)
wird dann eine Primzahl, wenn die Zahl k, die gemäß h = 2 die Zahl h definiert, nicht größer als vier ist.
Das Multiplikationssystem arbeitet mit einem ersten Produktrest
r .., der dem Produkt λΥ modulo (2 + 1) kongruent ist, sowie
mit einem zweiten Produktrest r 2j der dem Produktrest XY
modulo 2 kongruent ist. Der erste Produktrest r 1 ist ein
Element der modifizierten Restklasse R' (mod [2 + fj ). Beide
Produktreste r 1 und r „ sind durch h Ziffern gegeben. Es gelten
folgende Kongruenzbeziehungen:
XY = V1 (mod [2h + l] )
und XY = r 2 (mod q ).
Diesen Beziehungen ist äquivalent:
XY = A(2h + 1) +
und XY = B-2h + r 2.
030049/0965
Dabei sind A und B erste und zweite Quotienten, die man erhält, wenn man das Produkt XY durch 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)'2h-
Daher gilt:
A = r 2 - r (mod 2h). (8)
Setzt man die Kongruenzbeziehung (8) in die erste der Gleichungen
(7) ein, so folgt daraus:
XY = P2 ^ιί}
r In (9)
(rp2 * r PlLmod
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 2h Ziffern gebildete Produkt XY ohne Aufrundefehler aus dem ersten durch h Ziffern gebildeten
Produktrest r Λ modulo (2 +1) und dem zweiten ebenfalls
durch h Ziffern gebildeten Produktrest r „ modulo 2 ableiten
kann.
030049/0965
Die Kongruenzbeziehung (8) ist folgender Beziehung äquivalent:
A = rp2 - rpl>
sofern γ·ο2'>γό1 1s^» unc^
A =
(10)
sofern r 0<r Λ ist. Für h = 8 ist 2 = 100000000.
p2 pl
Gleichung (10) zeigt also, daß an der Stelle der (h+l)-ten Ziffer, gezählt von der am wenigsten signifikanten oder niedrigsten
Ziffer des 2h Ziffern aufweisenden Produktes XY, ein Übertrag lediglich dann auftritt, wenn der zweite Rest r „
kleiner als der erste Rest r 1 ist. Auf jeden Fall erhält man
die h niedrigeren Ziffern des Produktes XY aus dem zweiten und dem dritten Term auf der rechten Seite der Grundgleichung (9)
wie folgt:
VXY) - (rp2 - V + r Pl = rp2· (11)
Gleichung (11) entspricht der Kongruenzbeziehung nach Gleichung
( 5 · ).
Man erhält also die h niedrigeren Ziffern des Produktes, somit
L, (XY) nach Gleichung (11). Die Grundgleichung (9) wird nun dazu benützt, die h höheren Ziffern des Produktes, also H, (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+l)-te Ziffer, an deren Stelle der Übertrag
auftritt, ist innerhalb des h-Ziffer aufweisenden höheren Teiles Η^(ΧΥ) die am wenigsten signifikante Ziffer und ist
gleich 1.
030.049/0368
Die h höheren Ziffern des Produktes H, (XY) sind daher durch
die folgenden Gleichungen gegeben:
Hh(XY) = rp2 - rpl (mod 2 >'
r (12 )
sofern r „ > r , xst, und
Hh(XY) = rp2 - rpl (mod 2h) + 1 J
sofern r « < r .. ist. Die Gleichungen (12) zeigen, daß die
Berechnung der höheren Ziffern H,(XY) mit Hilfe eines h-
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 Y, die Produkte XY, die Produktreste
r . und r 2 in einem binären Zahlensystem dargestellt
sind oder nicht.
Wenn die ersten und zweiten ganzen Zahlen X und Y mit ersten und zweiten Resten X1 und Y' bezüglich eines gemeinsamen Moduls
m kongruent sind, wenn also gilt:
X=X' (mod m)
(13)
und Y=Y1 (mod m),
dann erhält man das Produkt XY wie in Gleichung (3) wie folgt:
X χ Y = Xr χ Y' (mod m). (1
Wenn eine ganze Zahl r gleichzeitig der Kongruenzbeziehung (13) genügt, so kann die Kongruenzbeziehung (14) wie folgt umgeschrieben
werden:
X χ Y = r (mod m). (15)
030049/0985
_ 18 _ 3020787
Die ganze Zahl r ist der Produktrest modulo m. Die Kongruenzbeziehung
(15) zeigt, daß lediglich ein Produktrest rp existiert,
der einem Produkt XY entspricht.
Um das Produkt XY zu berechnen, wird zunächst eine Rechnung durchgeführt, um den ersten h Ziffern aufweisende Produktrest
r ± abzuleiten, der dem Produkt XY bezüglich eines Moduls
(qh + 1), der eine Primzahl ist, kongruent ist. Ferner wird
ein zweiter h Ziffern aufweisender Produktrest r 2 abgeleitet,
der dem Produkt XY bezüglich eines zweiten Moduls q kongruent ist, der gleich der genannten Primzahl weniger 1 ist. Die
Kongruenzbeziehungen lauten a-lso:
XY = V1 (mod [qh
'. (16) und XY r r2 (mod qh).
Die Beziehung zwischen dem Produkt und den ersten und zweiten Produktresten r . und r2 wird durch eine grundlegende Gleichung
für allgemeine Zahlensysteme wie folgt angegeben:
= (rp2 ~ rpl
(rp2 - rpl [>dqh]) + rpl. (17)
Wie im Falle der Gleichung (11) liefert hier der zweite Produktrest
r 2 die h niedrigeren Ziffern des Produktes, also L(XY).
Die h höheren Ziffern, also H, (XY) werden von der grundlegenden Gleichung (17) unter Berücksichtigung eines Übertrags q im
allgemeinen Zahlensystem abgeleitet.
030 049/0965
302076?
Figur 1 zeigt nun in allgemeiner Form ein Dual-Modul-Multiplikationssystem.
Dabei erfolgt die Beschreibung zur Berechnung des Produktes XY der ganzen Zahlen X und Y noch
im allgemeinen Zahlensystem. Wie bereits beschrieben, wird jede ganze Zahl X oder Y auf der Basis einer vorbestimmten
Wurzel q des Zahlensystems durch eine vorbestimmte gerade Anzahl von h Ziffern gegeben. Das Produkt XY hat dann
2h Ziffern. Die gerade Zahl h wird so bestimmt, daß die Summe der h-ten Potenz der Wurzel q plus 1, also (q + 1) eine Primzahl
ist, die zumindest eine Primitivwurzel aufweist.
Die beiden miteinander zu multiplizierenden ganzen Zahlen X und Y werden von einer äußeren (nicht gezeigten) Einrichtung,
bspw. 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 Y werden 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 in einen ersten Produktrest ^1,
kongruent mit dem Produkt XY bezüglich eines ersten Moduls, der gleich einer Primzahl ist, die ihrerseits wieder durch
den Ausdruck (q +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-zu-l-Beziehung Gebrauch. Dies wird später noch
im Laufe der Beschreibung anhand einiger Beispiele dargestellt werden. Der erste Produktrest r ., hat h Ziffern bei einer Darstellung
auf der Basis der Wurzel q.
30049/0985
302076?
Ferner ist ein zweites Subsystem 17 vorgesehen, das aus den beiden ganzen Zahlen X und Y einen zweiten Produktrest
r 2 ableitet, der mit dem Produkt XY kongruent ist bezüglich
eines zweiten Moduls, der gleich der genannten Primzahl weniger q ist. Der zweite Produktrest r „ wird auf der Basis
der Wurzel q ebenfalls durch h-Ziffern dargestellt. Gemäß
der vorliegenden Erfindung ist es nun möglich, den Produktrest r ρ ohne Verwendung der bekannten Tatsache zu berechnen.
Einzelheiten der Berechnungen werden weiter unten beschrieben.
Die beiden Produktreste r 1 und r „ 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 Übertrag mitberücksichtigt wird. Ein Beispiel
eines solchen dritten Subsystem 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 2h-Ziffern-Register 19 das Ergebnis PR und
den zweiten Produktrest r „ so, daß das Ergebnis PR die h höheren Ziffern des Produktes XY, also H, (XY) und der zweite
Produktrest r „ die h niedrigeren Ziffern des Produktes XY,
also L,(XY) darstellt. Das dritte Subsystem 18 und das 2h-Ziffern-Register
19 wirken somit zusammen als Kombinationsschaltung zur Kombination der beiden Produktreste r ,. und r „
in ein Produkt XY entsprechend Gleichung (17).
Figur 2 zeigt ein erstes Ausführungsbeispiel eines Dual-Modul-Multip
likations systems , wie es allgemein in Figur 1 dargestellt worden ist. Dabei wird als Wurzel 9 die Zahl 2 ausgewählt.
Da jetzt die ganzen Zahlen X und Y im binären Zahlensystem dargestellt sind, ist die Anzahl der Ziffern für jede
030049/0905
30207S7
ganze Zahl gleich der Anzahl von Bits eines binären Signals, das diese ganze Zahl darstellt. Die vorbestimmte geraae Anzahl
h der Ziffern jeder der ganzen Zahlen X und Y sollte eine vorbestimmte der Zahlen 4, 8 und 16 sein, damit die
h-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 q zu 257 bzw. 256. Es ist möglich, die Zahl 10
als voraus gewählte Primitivwurzel g eier Primzahl 25 7 zu verwenden.
Das erste Subsystem weist bei diesem Ausführungsbeispiel erste und zweite Transformationsschaltungen 21 bzw. 2 2 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 Y in eine zweite Exponententransformierte y umgesetzt.
Wie im Zusammenhang mit der Kongruenzbeziehung (2) erläutert, sind die ersten und zweiten Exponententransformierten
χ und y die Exponenten der Primitivwurzel 10.
Tabelle 1 gibt nun die 1-zu-l-Beziehung der ganzen Zahlen X
bzw. Y zu den entsprechenden ersten und zweiten Exponententransformierten χ und y an.
030049/096$
Kest . 1 |
Lxponenl 0 |
26 | 86 | 51 | 31 | 76 | 27 |
2 | 80 | 27 | 5 | 52 | 166 | 77 | 127 |
3 | 87 | 28 | 131 | 53 | 63 | 78 | 173 |
4 | 160 | 29 | 242 | 54 | 85 | 79 | 122 |
5 | 177 | 30 | 88 | 55 | 77 | 80. | 241 |
6 | 167 | 31 | 62 | 56 | 211 | 81 | 92 |
7 | 227 | 32 | 144 | 57 | 210 | 82 | 197 |
8 | 240 | 33 | 243 | 58 | 66 | 83 | 25 |
9 | 174 | 34 | 24 | 59 | 26 | 84 | 218 |
10 | 1 | 35 | 148 | 60 | 168 | 85 | 121 |
11 | 156 | 36 | 78 | 61 | 230 | 86 | 169 |
12 | 247 | 37 | 109 | 62 | 142 | 87 | 73 |
13 | 6 | 38 | 203 | 63 | 145 | 88 | 140 |
14 | 51 | 39 | 93 | 64 | 224 | 89 | 170 |
15 | 8 | 40 | 161 | 65 | 183 | 90 | 175 |
16 | 64 | 41 | 117 | 66 | 67 | 91 | 233 |
17 | 200 | 42 | 138 | 67 | 252 | 92 | 36 |
18 | 254 | 43 | 89 | 68 | 104 | 93 | 149 |
19 | 123 | 44 | 60 | 69 | 219 | 94 | 11 |
20 | 81 | 45 | 95 | 70 | 228 | 95 | 44 |
21 | 58 | 46 | 212 | 71 | 101 | 96 | 231 |
22 | 236 | 47 | 187 | 72 | 158 | 97 | 193 |
23 | 132 | 48 | 151 | 73 | 244 | 98 | 22 |
24 | 71 | 49 | 198 | 74 | 189 | 99 | 74 |
25 | 98 | 50 | 178 | 75 | 185 | 100 | 2 |
030049/0985
Forts. Tab. 1
Rest | Exponent | Rest | Exponent | Rest | Exponent | Rest | Exponent |
101 | 125 | 126 | 225 | 151 | 15 | 176 | 220 |
102 | 111 | 127 | 135 | 152 | 107 | 177 | 113 |
103 | 79 | 128 | 48 | 153 | 118 | 178 | 25O |
104 | 246 | 129 | 176 | 154 | 207 | 179 | 45 |
105 | 235 | I30 | 7 | 155 | 239 | 180 | 255 |
106 | .143 | 131 | 97 | 156 | 253 | 181 | 155 |
107 | 137 | 132 | 147 | 157 | 130 | 182 | 57 |
108 | 165 | 133 | 94 | 158 | 202 | 183 | 61 |
109 | 141 | 134 | 76 | 159 | 150 | I84 | 116 |
110 | 157 | 135 | 182 | 160 | 65 | 185 | 30 |
111 | 196 | 136 | I84 | 161 | 103 | 186 | 229 |
112 | 35 | 137 | 120 | 162 | 172 | 187 | 100 |
113 | 110 | 138 | 43 | 163 | 139 | 188 | 91 |
114 | 34 | 139 | 234 | I64 | 21 | 189 | 232 |
115 | 53 | 140 | 52 | 165 | I64 | 190 | 124 |
116 | 146 | 141 | 18 | 166 | 105 | 191 | 195 |
117 | 180 | I42 | 181 | 167 | 47 | 192 | 55 |
118 | 106 | 143 | 162 | 168 | 42 | 193 | 96 |
119 | 171 | 144 | 238 | 169 | 12 | 194 | 17 |
120 | 248 | 145 | 163 | 170 | 201 | 195 | 14 |
121 | 56 | 146 | 68 | 171 | 41 | 196 | 102 |
122 | 54 | 147 | 29 | 172 | 249 | 197 | 40 |
123 | 204 | 148 | 13 | 173 | 90 | 198 | 154 |
124 | 222 | 149 | 37 | 174 | 153 | 199 | 194 |
125 | 19 | 150 | 9 | 175 | 69 | 200 | 82 |
030049/0965
3Q2Q767
2. Forts. Tab. 1
Rest | Exponent | Rest | Exponent | Rest | Exponent | Rest | Exponent |
201 | 83 | 215 | 10 | 229 | 3 | 243 | 179 |
202 | 205 | 216 | 24S | 230 | 133 | 244 | 134 |
203 | 213 | 217 | 33 | 231 | 214 | 245 | 119 |
204 | 191 | 218 | 221 | 232 | 226 | 246 | 28 |
205 | 38 | 219 | 75 | 233 | 199 | 247 | 129 |
206 | 159 | 220 | 237 | 234 | 4 | 248 | 46 |
207 | 50 | 221 | 206 | 235 | 108 | 249 | 112 |
208 | 70 | 222 | 20 | 236 | 186 | 250 | 99 |
209 | 23 | 223 | 152 | 237 | 209 | 251 | 39 |
210 | 59 | 224 | 115 | 238 | 251 | 252 | 49 |
211 | 84 | 225 | 16 | 239 | 126 | 253 | 32 |
212 | 223 | 226 | 190 | 240 | 72 | 254 | 215 |
213 | 188 | 227 | 216 | 24I | 192 | 255 | 208 |
214 | 217 | 228 | 114 | 242 | 136 |
Die Tabelle ergibt also die Umsetzung der ganzen Zahlen X und Y in die Exponententransformierten χ und y. Beispielsweise
ist 10° = 1, 101 = 10, 102 = 100, 103 = 257 χ 3 + 229,
104 = 257 χ 38 + 234, 105 = 257 χ 389 + 27, 106 = 257 χ
3891 + 13, 107 = 257 χ 38910 + 130, 108 = 257 χ 389105 + 15,
... . Da die Kongruenzbeziehung (2) durch Reste modulo 257 gegeben sind, sind die ersten und zweiten ganzen Zahlen X
und Y in Tabelle 1 unter der Überschrift "Rest" aufgeführt und liegen zwischen 1 und 255, beide Werte einschließ/lieh.
030049/0965
302078?
Wie oben beschrieben, muß entweder die erste oder die zweite ganze Zahl X bzw. Y dem Multiplikationssystem bezüglich des
zweiten Moduls 256 eingegeben werden, wenn die ganze Zahl X bzw. Y größer oder gleich dem zweiten Moaul 256 ist. Obzwar
in Tabelle 1 nicht eingegeben, ist z.B. 1O128 = 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" 12 8, wenn die ganze Zahl X oder Y kongruent
mit 0 modulo 2 56 ist.
Jede der Transformationsschaltungen kann als Festwertspeicher
(Nur-Lese-Speicher;ROM) ausgebildet sein. 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 X und Y und 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 2 56, also bezüglich des zweiten
Moduls durchführt. An ihn gelangen die beiden Exponententransformierten χ und y. Daraus berechnet der Addierer 2 6
den Exponentensummenrest s entsprechend der zweiten der Kongruenzbeziehungen gemäß Gleichung (3). Eine dritte Transformationsschaltung
2 8 transformiert dann den Exponentensummenrest s in einen ersten Produktrest r ., gemäß der
Kongruenzbeziehung (31). Obwohl der erste Produktrest r -, mit
dem Produkt XY modulo 25 7 kongruent sein sollte, wie im Zusammenhang mit Gleichung (6) beschrieben, wird dieser erste
Produktrest r . bezüglich des zweiten Moduls 256 angegeben. Dies findet deshalb statt, weil es erlaubt ist, lediglich
einen Teil der 1-zu-l-Beziehung nach Gleichung (2) zu verwenden
.
030049/0985
- 26 - 30207S?
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 12 8 (binär: 1000 0000)
angesteuert werden kann und dann eine 0 (binär: 0000 0000) als ersten Produktrest r , abgibt, da der Exponentensummenrest
gleich 12 8 werden kann.
Wie im vorstehenden beschrieben, dient das zweite Subsystem 17 dazu, die ersten und zweiten ganzen Zahlen X und Y in
einen zweiten Produktrest r 2 modulo 25 6 umzusetzen. Der
zweite Produktrest r „ hat acht Ziffern oder Bits und stellt
damit die acht niedrigeren Ziffern oder Bits des Produktes XY, also Lg(XY) zur Verfugung.
Figur 3 zeigt nun ein Subsystem 17 in Verbindung mit den beiden Registern 11 und 12, die bereits erwähnt worden sind.
Sie sind gemäß Figur 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
Xn bzw. X1 bezeichnet; die niedrigeren und höheren Bits der
zweiten ganzen Zahl Y werden entsprechend mit Yq bzw. Y. be-Leichnet.
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).
030049/0965
302076?
Die ersten und zweiten ganzen Zahlen X und Y sind nun wie folgt gegeben:
X = X1 ' 24 + XQ
und Y = Y1 · 24 + Y0.
Symbolisch kann man diese Gleichungen durch X = (X1, Xq) und
Y = (Y., 5 Yq) darstellen. Das Produkt XY ist nun gegeben durch:
XY = X1Y1 · 28
+ (X1Y0 + XqY1)' 24 + X0Y0, (18)
dabei sind XqYq j ^n^l un<^ XlY0 e"*"n ers"*:es» e^n 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 ^2'
sofern man den Übertrag einmal für einen Augenblick außer Betracht lässt. Man kann ebenfalls sehen, daß der zweite Produktrest
r 2 in höhere und niedrigere Nibbel ^2H xmd rü2L fol8en~
dermaßen teilbar ist:
rp2 = (rp2H, rp2L)
- rp2H l rp2L* K }
Wie in Gleichung (19) kann man nun auch schreiben:
X0Y0 = P1H # 2^ + P1L>
X0Yl = P2H ' 2' + P2L * 2^ >(20)
und X1Y0 = P3H · 28 + P3L · 24, J
030049/0985
3Q20767
dabei sind P1H5 P2H und P3H d^e noneren Nibbel des ersten,
des zweiten bzw. des dritten partiellen Produktes X_Y„,
XqY. und X^Yq· P-it» P2L und P3L s^-nd ^ie entsprechenden
niedrigeren Nibbel derselben. Setzt man Gleichung (20) in Gleichung (18) ein, so ergibt sich:
XY = X1Y1 · 2
(P2HP2L + P3HP3L) ' 2" + P1HP1L'
oder XY = (X1Y1 + P2H +
(P1H + P2L + P3L>
Der zweite Produktrest r 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:
rp2L " P1L
und r o„ = Ρ... + P01. + POT (mod 2 ). f (22)
pzti ±ri /Li oi_i
Aus Gleichung (22) wird klar, daß man innerhalb der drei Produkte XqYq, XqY1 und X1Y0 lediglich die vier Nibbel P1L,
P1H' P?L und P3T t|rauch't3 um den zweiten Produktrest r 2
zu berechnen.
Gemäß Figur 3 weist nun das zweite Subsystem 17 einen ersten, einen zweiten und einen dritten partiellen Multiplizierer 31,
32 bzw. 33 auf. Im ersten partiellen Multiplizierer 31 werden der niedrigere Nibbel X„ der ersten ganzen Zahl X mit dem
niedrigeren Nibbel Y0 der zweiten ganzen Zahl Y multipliziert.
030049/0965
302Q76?
Am Ausgang werden getrennt das niedrigere und das höhere Nibbel P., bzw. P.,, des ersten partiellen Produktes XqYq
zur Verfügung gestellt. Der niedrigere Nibbel P.-, wird auf
Leitung 35 abgegeben. Der zweite partielle Multiplizierer 32 multipliziert den niedrigeren Nibbel X„ mit dem höheren
Nibbel Y. der zweiten ganzen Zahl Y, so daß getrennt das
niedrigere und das höhere Nibbel P2T und P-u des zweiten
partiellen Produktes XnY1 zur Verfügung stehen. Wie bereits
ausgeführt, braucht man jeaoch zur Berechnung lediglich das niedrigere Nibbel P2f· Entsprechend ist lediglich nur eine
diesem zugeordnete Ausgangs leitung eingezeichnet. Der dritte
partielle Multiplizierer 33 multipliziert das höhere Nibbel X. der ersten ganzen Zahl X mit dem niedrigeren Nibbel Y0,
so daß man getrennt das niedrigere und das höhere Nibbel P31
bzw. P„H des dritten partiellen Produktes XjYq erhält. In
der weiteren Berechnung benötigt man lediglich das niedrigere Nibbel Pot 3 so daß auch wieder nur die diesem zugeordnete
Aus gangsleitung in Figur 3 eingezeichnet ist.
Die drei Multiplizierer 31 bis 33 können wiederum durch einen Festwertspeicher (ROM) gebildet werden, dessen Adressen wiederum
durch zwei Adressensignale bezeichnet werden, die dem entsprechenden Nibbel der beiden miteinander 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 Y als "Multiplikant" bzw. "Multiplikator" angegeben. Die dann auszulesenden niedrigeren oder höheren Nibbel sind dann
lediglich zusammen als "Produkt" angegeben.
n?nna 9/0965
302076?
M1 tor | Produkt | M1 | Tabelle | 2 | M't. | M1 tor | Proaukt | |
M't. | 0 | 00 | 1 | t. M'tor | Proaukt | 3 | 2 | 06 |
O | 1 | 00 | 1 | 9 | 09 | 3 | 3 | 09 |
O | 2 | 00 | 1 | A | OA | O | 4 | OC |
O | 3 | 00 | 1 | B | OB | 3 | 5 | OF |
O | 4 | 00 | 1 | C | OC | 3 | 6 | 12 |
O | 5 | 00 | 1 | D | OD | 3 | 7 | 15 |
O | 6 | 00 | 1 | £ | OE | 3 | 8 | 18 |
O | 7 | 00 | Z | F | OF | 3 | 9 | IB |
O | 8 | 00 | 2 | 0 | OO | 3 | A | IE |
O | 9 | 00 | 2 | 1 | 02 | 3 | B | 21 |
O | A | 00 | 2 | 2 | 04 | 3 | C | 24 |
O | B | 00 | 2 | 3 | 06 | 3 | D | 27 |
O | C | 00 | 2 | 4 | 08 | 3 | E | 2A |
O | D | 00 | 2 | 5 | OA | 3 | F | 2D |
O | E | 00 | 2 | 6 | OC | 4 | 0 | 00 |
O | F | 00 | 2 | 7 | OE | 4 | 1 | 04 |
O | 0 | 00 | 2 | 8 | 10 | 4 | 2 | 08 |
1 | 1 | 01 | 2 | 9 | 12 | 4 | 3 | OC |
1 | 2 | 02 | 2 | A | 14 | 4 | 4 | 10 |
1 | 3 | 03 | 2 | B | 16 | 4 | S | 14 |
1 | 4 | 04 | 2 | C | 18 | 4 | 6 | 18 |
1 | 5 | 05 | 2 | D | IA | 4 | 7 | IC |
1 | 6 | 06 | 2 | E | IC | 4 | 8 | 20 |
1 | 7 | 07 | 3 | F | IE | 4 | 9 | 24 |
1 | 8 | 08 | 3 | 0 | OO | 4 | A | 28 |
1 | 1 | 03 | ||||||
G 3 η π /.
302Q767
Forts | . Tab. | 2 | Produkt | M't. | M1 tor | Proaukt | M't. | M' tor | Proaukt |
M't. | M'tor | 2C | 6 | 4 | 18 | 7 | D | SB | |
4 | B | 30 | 6 | 5 | IE | 7 | E | 62 | |
4 | C | 34 | 6 | 6 | 24 | 7 | F | 69 | |
4 | 0 | 38 | 6 | 7 | 2A | 8 | 0 | 00 | |
4 | E | 3C | 6 | 8 | 30 | 8 | 1 | 08 | |
4 | F | 00 | 6 | 9 | 36 | 8 | 2 | 10 | |
5 | 0 | 05 | 6 | A | 3C | 8 | 3 | 18 | |
5 | 1 | OA | 6 | B | 42 | 8 | 4 | 20 | |
5 | 2 | OF | 6 | C | 48 | 8. | 5 | 28 | |
5 | 3 | 14 | 6 · | D | 4E | 8 | 6 | 30 | |
5 | 4 | 19 | 6 | E | 54 | 8 | 7 | 38 | |
5 | 5 | IE | 6 | F | 5A | 8 | 8 | 40 | |
5 | 6 | 23 | 7 | 0 | 00 | 8 | 9 | 48 | |
5 | 7 | 28 | 7 | 1 | 01 | 8 | A | 50 | |
5 | 8 | 2D | 7 | 2 | OE | 8 | B | 58 | |
5 | 9 | 32 | 7 | 3 | 15 | 8 | C | 60 | |
5 | A | 37 | 7 | 4 | IC | 8 | D | 68 | |
5 | B | 3C | 7 | 5 | 23 | 8 | E | 70 | |
5 | C | 41 | 7 | 6 | 2A | 8 | F | 78 | |
5 | D | 46 | 7 | 7 | 31 | 9 | 0 | 00 | |
5 | E | 4B | 7 | 8 | 38 | 9 | 1 | 09 | |
5 | F | 00 | 7 | 9 | 3F | 9 | 2 | 12 | |
6 | 0 | 06 | 7 | A | 46 | 9 | 3 | IB | |
6 | 1 | OC | 7 | B | AD | 9 | 4 | 24 | |
6 | 2 | 12 | 7 | C | 54 | 9 | 5 | 2Ώ | |
6 | 3 |
030049/0966
2. Forts. Tab. 2
M1 t. | M1 tor | Produkt | M't. | M'tor | Proaukt | M't. | M' tor | Proaukt |
9 | 6 | 36 | A | F | 96 | C | 8 | 60 |
9 | 7 | 3F | B | 0 | 00 | C | 9 | 6C |
9 | 8 | 48 | B | 1 | OB | C | A | 78 |
9 | 9 | 51 | B | 2 | 16 | C | B | 84 |
9 | A | 5A | B | 3 | 21 | C | C | 90 |
9 | B | 63 | B | 4 | 2C | C | D | 9C |
9 | C | 6C | B | 5 | 37 | C | E | A8 |
9 | D | 75 | B | 6 | 42 | C | F | B4 |
9 | E | 7E | B | 7 | 4D | D | 0 | 00 |
9 | F | 87 | B . | 8 | 58 | D | 1 | OD |
A | 0 | 00 | B | 9 | 63 | D | 2 | IA |
A | 1 | OA | B | A | OE | D | 3 | 27 |
A | 2 | 14 | B | B | 79 | D | 4 | 34 |
A | 3 | IE | B | C | 84 | D | 5 | 41 |
A | 4 | 28 | B | 0 | 8F | D | 6 | 4E |
A | 5 | 32 | B | E | 9A | O | 7 | 5B |
A | 6 | 3C | B | F | A5 | D | 8 | 68 |
A | 7 | 46 | C | 0 | 00 | D | 9 | 75 |
A | 8 | 50 | C | 1 | OC | D | A | 82 |
A | 9 | 5A | C | 2 | 18 | D | B | 8F |
A | A | 64 | C | 3 | 24 | D | C | 9C |
A | B | 6E | C | 4 | 30 | D | D | A9 |
A | C | 78 | C | 5 | 3C | D | E | B6 |
A | D | 82 | C | 6 | 48 | D | F | C3 |
A | E | 8C | C | 7 | 54 | E | 0 | 00 |
030049/09Bi
Das zweite Subsystem 17 enthält ferner einen ersten Addierer 36 (mod 2 ). Dieser berechnet die Summe des ersten und des
zweiten Terms (P..,, + POT ) auf der rechten Seite der zweiten
h/2 Gleichung (22). Ein zweiter Addierer 37 (mod 2 ) berechnet
den höheren ixlibbel r „,., wie er durch ciie zweite der Glei-
p n/2
chungen (22) gegeben ist. Jeder eier beiden Adaierer (moa 2 )
kann jeweils durch einen einfachen 4-Bit-Adaierer gebilaet
werden. Der höhere Hibbel r „. gelangt auf eine weitere Leitun.r
38. Man erhält also den zweiten Produktrest r ? auf aen
Leitungen 3b und 38, die in Figur 2 noch durch eine einzige mit der Bezeichnung r „ versehe]
Subsystems 17) gezeichnet sind.
Subsystems 17) gezeichnet sind.
mit der Bezeichnung r „ versehene Leitung (Ausgang aes zweiten
Figur 4 zeigt nun das dritte Subsystem IS. In diesem wird aas
Ergebnis PR, d.h. die h höheren Ziffern oder Bits des Produktes XY, d.h. Η,(ΧΥ) nach Gleichungen (12) berechnet. Das dritte
Subsystem 18 enthält eine erste Komplementiereinrichtung 41. An diese gelangt der erste Produktrest r ., so daß in dieser
Komplementiereinrichtung 41 daraus das Komplement r . abgeleitet
wird, das bei der Substraktion nach Gleichung (12) benötigt
wird. Dieses eine Komplement r 1 wird dadurch erzeugt, daß alle
Bits des ersten Produktrestes r 1 invertiert werden. Dieses
eine Komplement r 1 und der zweite Produktrest r 9 gelangen an
^h
einen ersten Addierer (mod 2 ) 42. An dem Addierer 42 ist eine Eingangsklemme 4 3 für ein Übertrags-Bit und eine Ausgangsklemme 44 für ein C'bertrags-Bit vorgesehen. Die Eingangsklemme 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 2 ) ein Übertrag oder Überlauf stattfindet. Der Addierer 42 dient als Subtrahierer, um den ersten Produktrest r . von dem zweiten Produktrest r ? abzuziehen.
einen ersten Addierer (mod 2 ) 42. An dem Addierer 42 ist eine Eingangsklemme 4 3 für ein Übertrags-Bit und eine Ausgangsklemme 44 für ein C'bertrags-Bit vorgesehen. Die Eingangsklemme 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 2 ) ein Übertrag oder Überlauf stattfindet. Der Addierer 42 dient als Subtrahierer, um den ersten Produktrest r . von dem zweiten Produktrest r ? abzuziehen.
Insbesondere berechnet der erste Addierer 42 eine Summe
— h
(r2+r.+l) modulo 2 ; 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
030049/0965
302076?
wird. So entsteht die Summe (mod 2 ). Lediglich wenn die Summe 2 oder 256 überschreitet, entsteht an der Übertrags-Aus
gangsklemme 44 der Wert einer logischen "1".
Geht man nochmals zu den Gleichungen (12) zurück, so ergibt sich: die h höheren Ziffern Ges Produktes, also K, (XY) wird
gegeben durch die Addition der Einheit 1 zur Differenz (r 2 - r .), sofern ein Übertrag stattfindet. Ansonsten werden
die h höheren Ziffern H, (XY) durch die Differenz alleine gegeben. Das bedeutet, daß der an der Aus gangs klemme 44 aufscheinende
übertrag bei der Berechnung der h höheren Ziffern H, (XY) berücksichtigt werden muß. Betrachtet man die Schalteinheit
41 und 42, so tritt ein Übertrag dann auf, wenn der zweite Produktrest r „ größer als der erste Produktrest r .
ist; er tritt nicht auf, wenn der zweite Produktrest r .,
kleiner als der erste Produktrest r ,, ist.
.L,in einfaches Beispiel wird aiese Umstände erhellen. Die beiden
ersten Produktreste r Λ und r n seien in Dezimalzahlen 5 bzw.
_ Pi P2
2. Das Komplement r . ergibt sich binär als "1010". Die Summe (r 2 + r 1 + 1) ist gleich "01101". Kein Überlauf tritt auf. Wenn r . = 2 und r ,, = 5 ist, dann ist das Komplement r . "1101". Die Summe (r „ + r Λ + 1) wird "10011". Unter diesen
2. Das Komplement r . ergibt sich binär als "1010". Die Summe (r 2 + r 1 + 1) ist gleich "01101". Kein Überlauf tritt auf. Wenn r . = 2 und r ,, = 5 ist, dann ist das Komplement r . "1101". Die Summe (r „ + r Λ + 1) wird "10011". Unter diesen
p2 pl
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
030049/096S
- 3b -
lediglich dann ein Übertrags-Signal abzugeben, wenn der zweite Produktrest r „ kleiner als der erste Produktrest r .
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 H, (XY) durcn
diese einfache Kombination zweiter Addierer (mod 2 ) 42 und und die beiden Komplementiereinrichtungen 41 und 49 abgeleitet
werden können.
Wie sich nun wiederum aus Figur 2 ergibt, ist das für 2h Ziffern ausgelegte Register 19 dazu eingerichtet, das Ergebnis PR und
den zweiten Produktrest r ? so zu arrangieren, daß sich das
Produkt XY ergibt. Das Ergebnis PR und der zweite Proauktrest r .. werden verwendet als jeweils die h höhei
geren Bit-Hälften des gesamten Produktes XY.
r .. werden verwendet als jeweils die h höheren und die h niedri-
Im zweiten Subsystem 17 (Figur 3), das mit dem Modul 2 arbeitet, kann man die Entsprechung zwischen den Exponenten und
aen 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 Euler'sehe Funktion P(m) dargestellt wird, auf die Hälfte des zweiten Moduls 2 reduziert wird. Im
Gegensatz dazu kann das zweite Subsystem 16 den zweiten Produkt-
030049/09ÖS
rest 9 selbst dann ableiten, wenn sowohl die erste ganze
Zahl X als auch die zweite ganze Zahl Y keine 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 T abhängig von der Zugriffszeit T jedes Festwertspeichers und einer Verzögerungszeit
T , jedes Addierers. Da das Produkt über zwei Festwertspeicher und drei Addierer abgeleitet wird, erhält man die Berechnungszeit
T ungefähr durch folgende Gleichung:
T = 2T + 3T ,. m ac ad
Ist T = 50 ns und T ·, = 10 ns, dann beträgt die Berechnungs·
ac ac.
zeit ungefähr 130 ns.
030049/0905
- 37 - 302078?
Es sei nun die erste ganze Zahl X gleich 2 34 und die zweite ganze Zahl Y gleich 175. Die beiden Transformationsschaltungen
21 und 22 übersetzen die Zahlen 2 34 und 175 in die Zahlen 4 und 69 gemäß Tabelle 1. Der Addierer (mod 2 ) 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 B7 als
den ersten Produktrest r . gemäß Tabelle 1 ab. Obwohl der Wert
87 sich von dem tatsächlichen Produkt XY, gebildet aus aen 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 r .,
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 2 34 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 2 34 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 halber wird eine Markierung (H) jeweils im Zusammenhang mit einer Zahl verwendet, die im hexadezimalen Zahlensystem
geschrieben ist, aber lediglich durch zwei Dezimalziffern aargestellt
wird. Die höheren Nibbel X1, Y1 und die niedrigeren
Nibbel XQ und YQ sind:
Xl | = E, |
xo | = A, |
Yl | = A, |
Yo | = F. |
030049/0965
302076?
Tabelle 2 zeigt daß:
X0Y0 = A · F = 96(H),
X0Y1 = A · A = 64(H),
und X1Y0 = E · F = D2.
Daher ist:
P1H | = 9, |
P1L | = 6, |
P2L |
und PQT =2.
Aus Gleichungen (22) folgt:
rp2L = P1L = 6
und rp2H = P111 + P2L + P3L (mod 16)
=9+4+2 (mod 16) = F.
Da die höheren Nibbel r „„ und die niedrigeren Nibbel
des zweiten Produktrestes r 2 "1111" bzw. "0110" in binärer
Form sind, ist der zweite Produktrest r „ durch "11110110" gegeben.
Der erste Produktrest 87 und der zweite Produktrest F6 gelangen an das dritte Subsystem 18. Der erste Produktrest r ,
ist 5 7CH). Das Komplement r ist A8. Die Summe (F6 + A8 + 1)
8 ^
modulo 2 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.
0300A9/0985
302076?
Das Ergebnis der Multiplikation XY wird daher dadurch erhalten, daß man lediglich das Ergebnis PR und den zweiten
Produktrest r _ 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 r Λ unter Verwendung des
h P
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:
X0Y0 = P1H * 2h/2 + P1L>
X0Yl = P2H ' 2h + P2L * 2h/2'
und X1Y0 = P3H - 2h + P3L - 2h/2.
Die untere Hälfte r „T und die höhere Hälfte r ou des zweiten
p2L p2n
Produktrestes r „ erhält man wie folgt:
rp2L = P1L
und rp2H = P111 + P2L + P3L (mod 2h/2).
Der zweite Produktrest r „ stellt die h niedrigeren Ziffern
des Produktes dar, also L, (XY).
030049/0965
3020787
Das zweite Ausführungsbeispiel ist in Figur 5 dargestellt. Dieses Dual-Multiplikationssystem berechnet das Produkt XY
zweier positiver ganzer Zahlen X und Y, die im dezimalen System mit der vorausgewählten Wurzel 10 gegeben sind. Gleiche
Einheiten wie in den Figuren 2 bis 4 sind mit gleichen ßezugszeichen 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 wirci. Der erste Modul (q1 + 1) und der zweite Modul q ist 101 bzw.
100. Die Primzahl 101 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 X 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 21' oder 22' können jeweils - analog dem
ersten Ausführungsbeispiel - durch einen Festwertspeicher (ROM) gebildet werden, dessen Adresse durch die ganzen Zahlen χ oder
y 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, Y 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.
030049/0965
Exponent | Rest | Tabelle 3 | Rest ] | Exponent | Rest | Exponent | |
Rest | 100 | 26 | Exponent | 51 | 99 | 76 | 98 |
1 | 1 | 27 | 67 | 52 | 68 | 77 | 22 |
2 | 69 | 28 | 7 | 53 | 23 | 78 | 36 |
3 | 2 | 29 | 11 | 54 | 8 | 79 | 64 |
4 | 24 | 30 | 91 | 55 | 37 | 80 | 28 |
5 | 70 | 31 | 94 | 56 | 12 | 81 | 76 |
6 | 9 | 32 | 84 | 57 | 65 | 82 | 46 |
7 | 3 | 33 | 5 | 58 | 92 | 83 | 89 |
8 | 38 | 34 | 82 | 59 | 29 | 84 | 80 |
9 | 25 | 35 | 3α | 60 | 95 | 85 | 54 |
10 | 13 | 36 | 33 | 61 | 77 | 86 | 43 |
11 | 71 | 37 | 40 | 62 | 85 | 87 | 60 |
12 | 66 | 38 | 56 | 63 | 47 | 88 | 16 |
13 | 10 | 39 | 97 | 64 | 6 | 89 | 21 |
14 | 93 | 40 | 35 | 65 | 90 | 90 | 63 |
15 | 4 | 41 | 27 | 66 | 83 | 91 | 75 |
16 | 30 | 42 | 45 | 67 | 81 | 92 | 88 |
17 | 39 | 43 | 79 | 68 | 32 | 93 | 53 |
18 | 96 | 44 | 42 | 69 | 55 | 94 | 59 |
19 | 26 | 45 | 15 | 70 | 34 | 95 | 20 |
20 | 78 | 46 | 62 | 71 | 44 | 96 | 74 |
21 | 14 | 47 | 87 | 72 | 41 | 97 | 52 |
22 | 86 | 48 | 58 | 73 | 61 | 98 | 19 |
23 | 72 | 49 | 73 | 74 | 57 | 99 | 51 |
24 | 48 | 50 | 18 | 75 | 17 | 100 | 50 |
25 | 03 | 49 | 965 INSPECTED |
||||
0049/0! ORiGiNAL |
|||||||
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 s . Eine dritte Transformationsschaltung 28' transformiert
den Exponentensummenrest s in einen ersten Produktrest
r ... Die dritte Trans formations schaltung 28' kann wiederum
durch einen Festwertspeicher ROM verwirklicht weraen. Vorzugsweise
liefert er direkt das Komplement des ersten Produktrestes, somit r ..
Das zweite Subsystem 17 arbeitet mit dem zweiten Modul 100 und dient lediglich dazu, den zweiten Produktrest r „ aus den
ersten und zweiten ganzen Zahlen X und Y gemäß der Beziehung XY = r 2 (mod 100) abzuleiten. Wie innerhalb des gestrichelten
Rechteckes in Figur 5 dargestellt, werden den ganzen Zahlen X und Y in niedrigere Hälften Xn und Yn, die weniger signifi-
0
kanten Ziffern (zugeordnet 10 )darstellen, und in höhere Hälften X1 und Y1, die die signifikantesten Ziffern (zugeordnet
kanten Ziffern (zugeordnet 10 )darstellen, und in höhere Hälften X1 und Y1, die die signifikantesten Ziffern (zugeordnet
1
10 ) darstellen, aufgeteilt. Wie in den Gleichungen (20) werden die ersten bis dritten partiellen Produkte durch die folgenden Beziehungen gegeben:
10 ) darstellen, aufgeteilt. Wie in den Gleichungen (20) werden die ersten bis dritten partiellen Produkte durch die folgenden Beziehungen gegeben:
X0Y0 = P1H · 101 + P1L'
Vl = P2H ' 102 + P2L ' 10l>
und X1Y0 = P3H · 102 + P3L · 101.
Entsprechend Gleichung (22) ergibt sich:
rp2 = (P1H + P2L + P3L
030049/096.5
ORiGiNAL INSPECTED
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 r OT des zweiten Produkt-
P /.Li
restes r „. Erste und zweite 1-Ziffern-BCD-Addierer (mod 10) 36'
und 37' liefern schließlich auf Leitung 38' die höhere Hälfte
r „tr des zweiten Produktrestes r „.
pZii ■ p2
pZii ■ p2
Für das dritte Subsystem 18 ergeben sich den Gleichungen (12) entsprechenden Gleichungen folgendermaßen:
H2(XY) = r2 - V1 (mod 100),
wenn r „ > r , , und: \ (23)
H2(XY) = r 2 - T1 (mod 100) + 1,
wenn rp2 <
rpl-
Das dritte Subsystem 18 weist einen ersten 2-Ziffern-BCD-Addierer 4-2' auf, der mit einer Übertrags-Ausgangsklemme IM-1 versehen ist.
Liegt an diesem Addierer 42' das Komplement des ersten Produktrestes, somit r ., ferner der zweite Produktrest rD2s sowie an
der Eingangsklemme für den Obertrag ein Signal vom logischen Wert "1" an, so berechnet der Addierer 42' die Summe (r 2 + r . + 1)
modulo 100. Wie im Zusammenhang mit Figur 4 beschrieben, tritt ein
Oberlauf nur dann auf, wenn der zweite Produktrest r „ größer als
der erste Produktrest r , ist.
pi
An die Summe (^2 + ? λ + D modulo 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
030049/0965
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
6 3 bzw. 17 ausgelesen. Der Exponentensummenrest s wird SO. Der erste Produktrest r . stellt die Zahl 8H dar. Das Komplement
r ist durch 99 - 8M- = 15 gegeben.
Für das zweite Subsystem 17 ergeben sich die höheren bzw. niedrigeren
Hälften der ganzen Zahlen X,. , Y.,, X~, und Y„ wie folgt:
X1 = 9,
X0 = 0,
Y1 = 7,
und Y0 = 5.
Die ersten bis dritten partiellen Produkte nehmen folgende Werte an:
X0Y0 = 00,
X0Y1 = 00,
und X1Y0 =
Die Hälften der entsprechenden partiellen Produkte, die für die
weiteren Berechnungen notwendig sind, sind:
P1L = ° P1H = °
P2L = ° und P3L = 5
030049/0965
302076?
Die oberen und unteren Hälften des zweiten Produktrestes,
also rp2H und rp2L sind:
= P1H + P2L + P3L (mod 10) = 5
und rp2L = PiL = 0.
Der zweite Produktrest r , ist somit (5, 0) oder 50.
In dem dritten Subsystem 18 berechnet der erste Addierer (mod 100) die Summe (r „ + r 1 + 1) 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(
des Produktes in Ziffern wie folgt:
r 2 - r ^ + 1 (mod 100) =66+1 (mod 100) = 67.
Das 2h-Ziffern-Register 19 wird mit dem Ergebnis PR und mit dem
zweiten Produktrest r 2 geladen, also mit den beiden Zahlen
(6 7, 50), das heißt also mit der Zahl 6 750.
Das anhand von Figur 5 beschriebene Dual-Modul-Multiplikationssystem
kann ebenfalls asynchron betrieben werden. Es ist auch als Baustein in einer größeren Multipliziereinheit verwendbar.
Das anhand der Figuren 2 bis 4 beschriebene Multiplikationssystem
kann derart modifiziert werden, daß es in einem beliebigen Zahlensystem mit einer Wurzel q betrieben werden kann. Die ganzen
030049/0965
- 1+6 -
302076?
Zahlen müssen durch h-Ziffern unter Verwendung der Wurzel q
dargestellt werden, wobei h eine gerade Zahl sein muß. Das erste Subsystem 16 leitet einen ersten Produktrest r ^ modulo
(q + 1) ab; das zweite Subsystem 17 leitet einen zweiten Produktrest r o modulo q ab. Ein Addierer (mod q ), ein
P h/2
erster und ein zweiter Addierer (mod q ), und erste sowie zweite Addierer (mod q ) können anstelle des ersten Addierers
(mod 2 ) 26, des ersten und des zweiten Addierers(mod 2 ) und 3 7 und des ersten und des zweiten Addierers (mod 2)4-2
und 45 substituiert werden.
- Ende der Beschreibung -
030049/0985
Leerseite
Claims (5)
- PATENTANWÄLTE ^ Π ? Π 7 RDREISS & FUHLENDORFUwe DREiss SCHICKSTR.
- 2, D - 7ΟΟΟ STUTTGART 1Dr. jur., Dipl.-Ing., M. Sc. TF (0711) 24 57 34JÖRN FUHLENDORF TG UDEPATDipi.-tng. TX 7-22247 udpadΊ
DREISS & FUHLENDORF. SCHICKSTR. 2. D - 7000 STUTTGART 1Anmelder: Priorität:Aisuke Katayama 1. Juni 19 792-4 7, Kawamotomutsumicho No. 6 749 5Akita-shi Japan Akita / JapanAmtl. Akt. Z. Ihr Zeichen Mein Zeichen Datum Off. Ser. No. Your Ref. My Ref. Date Ni-1887 3Ο.ί Titel: Schaltungsanordnung zur Multiplikation zweier ganzer ZahlenPatentansprücheSchaltungsanordnung zur Multiplikation einer ersten ganzen Zahl (X) mit einer zweiten ganzen Zahl (Y), die beide auf der Bais einer bestimmten Wurzel (9) durch eine bestimmte gerade Anzahl (h) Ziffern gegeben sind, die derart bestimmt ist, daß die h-te Potenz der Wurzel plus eins (q + 1) eine Primzahl ist, bei der ein erster Rest (r ^) 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 ersten Restes durch 2h Ziffern und des ersten Restes durch h Ziffern erfolgt, und bei der eine erste Schalteinheit (16) den ersten Rest ableitet derart, daß aufeinanderfolgende ganze Zahlen, deren Anzahl gleich der Primzahl minus 1 ist, mit Potenzen einer Primitivwurzel derÖ30049/096SDresdner Bank Stuttgart 1919 854 (BLZ 6OO 8OO 0O), Postscheckkonto Stuttgart 507 71-705ORIGINAL INSPECTEDPrimzahl 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 (r 2) ableitet, und eine dritte Schalteinheit die beiden Reste in das Ergebnis des MultiplikationsVorgangs umsetzt, dadurch gekennzeichnet, daß die zweite Schalteinheit (17) partielle Multiplizierer (31 - 33) zur Berechnung der folgenden drei partiellen Produkte mit je h Ziffern aufweist:(a) des Produktes (XnY,.) 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 (XnY1) 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.. Yn) der höheren Hälfte der Ziffern der ersten positiven ganzen Zahl mit aer niedrigeren Hälfte der Ziffern der zweiten positiven ganzen Zahl;sowie dadurch, daß die partiellen Produkte in weiteren Schaltungen (35 - 38), die Bestandteil der zweiten Schalteinheit sind, in einen Teil (r „) des zu berechnenden Ergebnisses umgesetzt werden.Schaltungsanordnung nach Anspruch 1, dadurch gekennzeichnet, daß die dritte Schalteinheit (18, 19) den genannten ersten Rest (r ,) und den genannten zweiten Rest (r ~) in ei-n Teilergebnis (PR) mit h Ziffern umsetzt, und ein Register (19), das mit der dritten Schalteinheit (18) und mit der Schalteinheit (17) verbunden ist, das von der zweiten Schalteinheit030049/0985 BAO ORIGINAL- 3 - 3010787berechnete Teilergebnis (PR) mit dem zweiten Rest (r „)
zum Ergebnis der Multiplikation derart zusammensetzt, das
genannte Teilergebnis (PR) den höheren h Ziffern-Teil und
der genannte zweite Rest (r 2) den niedrigeren h Ziffern-Teil des Multiplikationsergebnisses bildet. - 3. Schaltungsanordnung nach Anspruch 2, aadurch gekennzeichnet, daß q = 2 und h = 4, 8 oder 16 ist.
- M-. Multiplikationssystem nach Anspruch 3, dadurch gekennzeichnet, daß die partielle 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 Schalteinheit (17) Addierer (36, 37) aufweisen, die die Summe der
höheren Hälfte (P1fI) der Ziffern des ersten partiellen Produktes (XqYq), der niedrigeren Hälfte (P2T^ des zweiten
partiellen Produktes (XqY.) und der niedrigeren Hälfte (P-^t) des dritten partiellen Produktes (X1Yq) bilden und die Summe (r _ti ) sowie die vom ersten partiellen Multiplizierer (31)
zur Verfügung gestellte untere Hälfte (P1L) des ersten
partiellen Produktes (XqYq) auf entsprechenden Leitungen (35, 38) zu je als die höhere (r „,,) und niedrigere (r ~τ ) Hälfte des zweiten Restes (r „) mit je h/2 Ziffern geordnet abgegeben werden. - 5. Schaltungsanordnung nach Anspruch 2, dadurch gekennzeichnet, daß q = 10 und h = 2 ist.- Ende der Ansprüche -030049/0985
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 true DE3020767A1 (de) | 1980-12-04 |
DE3020767C2 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 |
---|---|---|---|---|
USRE48682E1 (en) | 1981-11-03 | 2021-08-10 | Personalized Media Communications LLC | Providing subscriber specific content in a network |
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 |
WO1985003371A1 (en) * | 1984-01-21 | 1985-08-01 | Sony Corporation | Circuit for calculating finite fields |
US5073870A (en) * | 1989-01-30 | 1991-12-17 | Nippon Telegraph And Telephone Corporation | Modular multiplication method and the system for processing data |
US5144574A (en) * | 1989-01-30 | 1992-09-01 | Nippon Telegraph And Telephone Corporation | 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 | 강창국 | 대기 시료 채취장치 |
Citations (1)
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 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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
Patent Citations (1)
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 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
USRE48682E1 (en) | 1981-11-03 | 2021-08-10 | Personalized Media Communications LLC | Providing subscriber specific content in a network |
Also Published As
Publication number | Publication date |
---|---|
JPS55162148A (en) | 1980-12-17 |
DE3020767C2 (de) | 1986-10-09 |
GB2054221A (en) | 1981-02-11 |
JPS6042965B2 (ja) | 1985-09-26 |
US4346451A (en) | 1982-08-24 |
GB2054221B (en) | 1983-06-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE19758079A1 (de) | Verfahren und Vorrichtung zur Galoisfeld-Multiplikation | |
DE19839627B4 (de) | Digitaler Signalprozessor | |
DE3020767A1 (de) | Schaltungsanordnung zur multiplikation zweier ganzer zahlen | |
DE1956209C3 (de) | Multipliziervorrichtung | |
DE2628473B2 (de) | Digitales Faltungsfilter | |
DE2018452A1 (de) | Arithmetische Einrichtung | |
DE1549477B1 (de) | Einrichtung zur schnellen akkumulation einer anzahl mehr stelliger binaerer operanden | |
EP0418412B1 (de) | Schaltungsanordnung zur Produktsummenberechnung | |
DE2644506A1 (de) | Rechner zur berechnung der diskreten fourier-transformierten | |
DE2027303A1 (de) | Filter mit frequenzabhangigen Ubertragungseigenschaften fur elektri sehe Analogsignale | |
DE3447634C2 (de) | ||
EP0265555B1 (de) | Verfahren und Schaltungsanordnung zur Addition von Gleitkommazahlen | |
EP0090298B1 (de) | In MOS-Technik integrierter schneller Multiplizierer | |
DE2746355A1 (de) | Einrichtung und verfahren zur wahlweisen multiplikation oder division zweier als binaerzahlen vorliegender operanden | |
DE2017132C3 (de) | Binärer ParaUel-Addierer | |
DE1524169A1 (de) | Divisionseinrichtung | |
DE10200133B4 (de) | Verfahren und Vorrichtung zur Berechnung von Modulo-Operationen | |
DE2712582C2 (de) | DDA-Rechner (Digital-Differential-Analysator) | |
DE1222290B (de) | Binaere Recheneinrichtung zur Bildung und Akkumulation von Produkten | |
DE3545433C2 (de) | ||
DE3702697A1 (de) | Paritaetserzeugungsschaltung | |
EP0489952B1 (de) | Schaltungsanordnung zur digitalen Bit-seriellen Signalverarbeitung | |
EP0629943B1 (de) | Multiplizierer für reelle und komplexe Zahlen | |
DE2952689C2 (de) | ||
DE2636028A1 (de) | Digitaler multiplizierer |
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 |