DE3020767A1 - Schaltungsanordnung zur multiplikation zweier ganzer zahlen - Google Patents

Schaltungsanordnung zur multiplikation zweier ganzer zahlen

Info

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
Application number
DE19803020767
Other languages
English (en)
Other versions
DE3020767C2 (de
Inventor
Aisuke Prof Katayama
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Publication of DE3020767A1 publication Critical patent/DE3020767A1/de
Application granted granted Critical
Publication of DE3020767C2 publication Critical patent/DE3020767C2/de
Expired legal-status Critical Current

Links

Classifications

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

Landscapes

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

Description

-If-
Beschreibung
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
beispiels .
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.:
R (mo dm) = Jl, g, ·.·, X, ···, Y, ···, J /
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 ··*> aa0^ ^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 1sunc^
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$
Tabelle 1
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
OHHiINAL INSHfcClED
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
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.
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.
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
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 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
1
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
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)

  1. PATENTANWÄLTE ^ Π ? Π 7 R
    DREISS & FUHLENDORF
    Uwe DREiss SCHICKSTR.
  2. 2, D - 7ΟΟΟ STUTTGART 1
    Dr. jur., Dipl.-Ing., M. Sc. TF (0711) 24 57 34
    JÖRN FUHLENDORF TG UDEPAT
    Dipi.-tng. TX 7-22247 udpad
    Ί
    DREISS & FUHLENDORF. SCHICKSTR. 2. D - 7000 STUTTGART 1
    Anmelder: Priorität:
    Aisuke Katayama 1. Juni 19 79
    2-4 7, Kawamotomutsumicho No. 6 749 5
    Akita-shi Japan Akita / Japan
    Amtl. Akt. Z. Ihr Zeichen Mein Zeichen Datum Off. Ser. No. Your Ref. My Ref. Date Ni-1887 3Ο.ί
    Titel: Schaltungsanordnung zur Multiplikation zweier ganzer Zahlen
    Patentansprüche
    Schaltungsanordnung 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/096S
    Dresdner Bank Stuttgart 1919 854 (BLZ 6OO 8OO 0O), Postscheckkonto Stuttgart 507 71-705
    ORIGINAL INSPECTED
    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 (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 Schalteinheit
    030049/0985 BAO ORIGINAL
    - 3 - 3010787
    berechnete 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. 3. Schaltungsanordnung nach Anspruch 2, aadurch gekennzeichnet, daß q = 2 und h = 4, 8 oder 16 ist.
  4. 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. 5. Schaltungsanordnung nach Anspruch 2, dadurch gekennzeichnet, daß q = 10 und h = 2 ist.
    - Ende der Ansprüche -
    030049/0985
DE3020767A 1979-06-01 1980-05-31 Schaltungsanordnung zur Restklassen-Multiplikation Expired DE3020767C2 (de)

Applications Claiming Priority (1)

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

Publications (2)

Publication Number Publication Date
DE3020767A1 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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3138698A1 (de) * 1981-09-29 1983-04-07 Siemens AG, 1000 Berlin und 8000 München Verfahren zur potenzierung grosser binaerzahlen in einer restklasse modulo n, insbesondere zur verschluesselung und entschluesselung digital dargestellter nachrichten
US4506340A (en) * 1983-04-04 1985-03-19 Honeywell Information Systems Inc. Method and apparatus for producing the residue of the product of two residues
ATE98030T1 (de) * 1984-01-21 1993-12-15 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 강창국 대기 시료 채취장치

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CH412411A (de) * 1959-12-30 1966-04-30 Ibm Vorrichtung zur Durchführung von Multiplikationen und Divisionen im Zahlensystem der Restklassen

Family Cites Families (2)

* Cited by examiner, † Cited by third party
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

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CH412411A (de) * 1959-12-30 1966-04-30 Ibm Vorrichtung zur Durchführung von Multiplikationen und Divisionen im Zahlensystem der Restklassen

Cited By (1)

* Cited by examiner, † Cited by third party
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
GB2054221B (en) 1983-06-02
JPS6042965B2 (ja) 1985-09-26
DE3020767C2 (de) 1986-10-09
US4346451A (en) 1982-08-24
JPS55162148A (en) 1980-12-17
GB2054221A (en) 1981-02-11

Similar Documents

Publication Publication Date Title
DE19758079A1 (de) Verfahren und Vorrichtung zur Galoisfeld-Multiplikation
DE3020767A1 (de) Schaltungsanordnung zur multiplikation zweier ganzer zahlen
DE1956209C3 (de) Multipliziervorrichtung
DE2628473B2 (de) Digitales Faltungsfilter
DE2018452A1 (de) Arithmetische Einrichtung
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
DE102006013989A1 (de) Verfahren zur Reduktion eines Polynoms in einem binären finiten Feld
DE2017132C3 (de) Binärer ParaUel-Addierer
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)
DE10106085B4 (de) Verfahren und Anordnung zur Finiten Feld Multiplikation
DE2636028A1 (de) Digitaler multiplizierer
DE10139099C2 (de) Carry-Ripple Addierer

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