DE4123186A1 - Multiplikationseinrichtung vom typ fuer unterteilte produkte, die zum ausfuehren einer multiplikation numerischer werte mit vielen stellen bei hoher genauigkeit faehig ist - Google Patents
Multiplikationseinrichtung vom typ fuer unterteilte produkte, die zum ausfuehren einer multiplikation numerischer werte mit vielen stellen bei hoher genauigkeit faehig istInfo
- Publication number
- DE4123186A1 DE4123186A1 DE19914123186 DE4123186A DE4123186A1 DE 4123186 A1 DE4123186 A1 DE 4123186A1 DE 19914123186 DE19914123186 DE 19914123186 DE 4123186 A DE4123186 A DE 4123186A DE 4123186 A1 DE4123186 A1 DE 4123186A1
- Authority
- DE
- Germany
- Prior art keywords
- multiplier
- multiplicand
- product
- zeroth
- exponent
- 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.)
- Withdrawn
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/525—Multiplying only in serial-serial fashion, i.e. both operands being entered serially
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)
- Complex Calculations (AREA)
Description
Die Erfindung betrifft eine Multiplikationseinrichtung zum
Multiplizieren zweier numerischer Werte, nämlich eines Multiplikanden
X mit einem Multiplikator Y, um ein Produkt
Q aus dem Multiplikanden X und dem Multiplikator Y zu erzeugen.
Im allgemeinen besteht der Multiplikand X aus N Ziffern,
wohingegen der Multiplikator Y aus M Ziffern besteht,
wobei M und N jeweils erste und zweite vorgegebene natürliche
Zahlen darstellen. Auf diese Art und Weise besteht das
Produkt Q aus (N+M) Ziffern.
Unter diesen Umständen wird der Multiplikand X durch nullte
bis (N-1)te Multiplikandenelemente x(0) bis x(N-1) dargestellt,
welche durch nullte bis (N-1)te Ziffern bzw. in
nullten bis (N-1)ten Stellen angeordnet sind, die durch L⁰
bis LN-1 jeweils spezifiziert sind, wobei L eine vorgegebene
ganze Zahl ist, die nicht kleiner als zwei ist. Der
Multiplikator Y wird durch nullte bis (M-1)te Multiplikatorelemente
von y(0) bis y(M-1) dargestellt, die in nullten
bis (M-1)ten Stellen bzw. Ziffern angeordnet sind, die
durch L⁰ bis LM-1 spezifiziert sind. Das Produkt Q wird
durch nullte bis (N+M-1)te Produktelemente q(0) bis
q(N+M-1) dargestellt, die in nullten bis (N+M-1)ten Stellen
bzw. Ziffern (digits) angeordnet sind, welche jeweils durch
L⁰ bis L(N+M-1) spezifiziert sind.
Eine Multiplikation von zwei numerischen Werten mit vielen
Stellen fällt oft bei Prozessen an, die ein nicht-lineares
Programmierungsproblem beim Vorgang einer wissenschaftlichen
numerischen Berechnung lösen, das eine Faktorenberechnung
(factorial calculation) enthält. Wenn jeder numerische Wert
im Dezimalen, nämlich bei L=10, durch eine Zahl repräsentiert
wird, die nicht größer ist als zwei Milliarden, wird
der numerische Wert durch 32 Bits im Binären oder bei L=2
repräsentiert. Wenn beide numerischen Werte durch 32 Bit
repräsentiert werden, kann die Multiplikation durch einen
32 Bit multiplizierenden Prozessor in einem Maschinenzyklus
durchgeführt werden. Der 32 Bit multiplizierende Prozessor
führt die Multiplikation unter Einsatz einer Festpunktarithmetik
durch.
Nach dem Stand der Technik muß eine Multiplikation unter
Einsatz einer Gleitpunktarithmetik ausgeführt werden, wenn
irgendein numerischer Wert durch eine Zahl repräsentiert
wird, die größer ist als 32 Binärbits. In diesem Fall ist
es unmöglich, eine Multiplikation bei hoher Genauigkeit
durchzuführen. Im Fall, wo leichte Fehler vernachlässigt
werden können, kann die Multiplikation durchgeführt werden,
indem Gleitpunktarithmetik eingesetzt wird. Es gibt jedoch
einige Fälle, wo eine Anhäufung bzw. Akkumulation von Fehlern
nicht erlaubt wird, so daß sich Probleme erhöhen, die
nicht unter Einsatz einer Gleitpunktarithmetik gelöst werden
können. In den letzten Jahren ist es immer notwendiger
geworden, eine Multiplikation numerischer Werte mit vielen
Stellen mit hoher Genauigkeit auszuführen.
Im nachfolgenden wird eine detaillierte Beschreibung einer
herkömmlichen Multiplikationseinrichtung gegeben. Beim Ausführen
einer Multiplikation unter Einsatz eines Computers
wird jeder numerische Wert durch eine binäre Zahl, nämlich
L=2, wiedergegeben. Unter diesen Umständen hat jedes der
Multiplikandenelemente x(0) bis x(N-1) und der Multiplikatorelemente
y(0) bis y(M-1) einen logischen oder binären
Null- oder Einswert. Bei der herkömmlichen Multiplikationseinrichtung
wir die Multiplikation des Multiplikanden X
und des Multiplikators Y normalerweise durch eine Addition
einer Anzahl von Partialprodukten durchgeführt, die in ihrer
Anzahl gleich der zweiten vorgegebenen natürlichen Zahl
M sind. Es ist möglich, auf einige der Partialprodukte zu
verzichten bzw. diese wegzulassen, welche den Bits des Multiplikators
Y entsprechen, von denen jedes die binäre Null
hat. In jedem Fall muß die herkömmliche Multiplikationseinrichtung
Multiplikationen als Addition einer großen Anzahl
von Partialprodukten durchführen, von denen jedes durch
eine große Anzahl von Stellen vorgegeben ist, wenn irgendein
numerischer Wert durch mehr als 32 Bits gegeben ist.
Im Ergebnis erfordert die herkömmliche Multiplikationseinrichtung
einen größeren Speicherbereich für die Multiplikation.
Viele Verbesserungen bezüglich Multiplikationseinrichtungen
sind vorgestellt worden, wie z. B. ein modifizierter Booth
Algorithmus, der die Anzahl der Partialprodukte reduziert,
und ein Wallace Baum, der weniger Übertragsicherungsaddierer
erfordert, um die Partialprodukte aufzusummieren.
Trotz der vielen Verbesserungen für Multiplikationseinrichtungen
ist es unmöglich, eine Multiplikation von zwei numerischen
Werten unter Einsatz der Festpunktarithmetik durchzuführen,
wenn irgendeiner der numerischen Werte durch mehr
als 32 Bits im Binären repräsentiert wird, wie es oben erwähnt
wurde.
Aufgabe der vorliegenden Erfindung ist es, eine Multiplikationseinrichtung
anzugeben, die fähig zum Ausführen einer
Multiplikation zweier numerischer Werte ist, von denen jeder
viele Stellen hat, und zwar bei hoher Genauigkeit.
Diese Aufgabe wird durch die Multiplikationseinrichtung
nach Anspruch 1 oder durch die Multiplikationseinrichtung
nach Anspruch 5 gelöst.
Wie gesagt, ist eine Multiplikationseinrichtung zum Multiplizieren
eines Multiplikanden X mit einem Multiplikator Y
vorgesehen, um ein Produkt Q aus dem Multiplikanden X und
dem Multiplikator Y zu erzeugen. Der Multiplikand X hat
N Stellen und wird durch nullte bis (N-1)te Multiplikandenelemente
x(0) bis x(N-1) wiedergegeben, die in nullten
bis (N-1)ten Stellen angeordnet sind, welche durch L⁰
bis LN-1 spezifiziert sind, wobei N eine erste vorgegebene
natürliche Zahl und L eine vorgegebene ganze Zahl wiedergibt,
die nicht kleiner als 2 ist. Der Multiplikator Y besteht
aus M Stellen und wird durch nullte bis (M-1)te Multiplikatorelemente
y(0) bis y(M-1) wiedergegeben, die in
nullten bis (M-1)ten Stellen angeordnet sind, welche entsprechend
durch L⁰ bis LM-1 spezifiziert sind, wobei M eine
zweite vorgegebene natürliche Zahl wiedergibt. Das Produkt
Q besteht aus (N+M) Stellen und wird durch nullte bis
(N+M-1)te Produktelemente q(0) bis q(N+M-1) wiedergegeben,
die in nullten bis (N+M-1)ten Stellen angeordnet sind, welche
entsprechend durch L⁰ bis L(N+M-1) spezifiziert sind.
Gemäß einer Ausführungsform der vorliegenden Erfindung
weist die erfindungsgemäße Multiplikationseinrichtung eine
Berechnungseinrichtung für unterteilte Produkte auf, die
mit dem Multiplikanden X und dem Multiplikator Y zum Berechnen
einer Sequenz aus unterteilten Produkten p(x(i), y(j))
eines i-ten Multiplikandenelements x(i) und eines j-ten
Multiplikatorelements y(j) versorgt wird, wobei i eine
erste Variable angibt, die variabel von null bis (N-1)
mit beiden Grenzen inklusive ist und j eine zweite Variable
angibt, die variabel von 0 bis (M-1) mit beiden Grenzen
inklusive ist. Die unterteilten Produkte p(x(i), y(j)) werden
durch ein hintereinanderfolgendes Ändern einer Eigenzahl
k berechnet, die gleich einer Summe der ersten Variablen
i und einer zweiten Variablen j ist. Mit der Berechnungseinrichtung
für unterteilte Produkte ist eine Akkumulationseinrichtung
verbunden, die hintereinanderfolgend
die unterteilten Produkte p(x(i), y(j)) auf der Basis der
Eigenzahl k akkumuliert, indem diejenigen unterteilten Produkte
selektiert werden, die eine der Eigenzahlen gemeinsam
haben. Die Akkumulationseinrichtung erzeugt hintereinanderfolgend
das Produkt Q in einer ansteigenden Reihenfolge vom
nullten Produktelement q(0) bis zum (N+M-1)ten Produktelement
q(N+M-1).
Gemäß einem weiteren Aspekt der Erfindung weist die zuvor
definierte Multiplikationseinrichtung eine Multiplikandenspeichereinrichtung
auf, die durch nullte bis (N-1)te Multiplikandenadressen
zum Speichern der nullten bis (N-1)ten
Multiplikandenelemente x(0) bis x(N-1) unter den nullten
bis (N-1)ten Multiplikandenadressen zugewiesen wird, und
weiterhin eine Multiplikatorspeichereinrichtung aufweist,
die durch nullte bis (M-1)te Multiplikatoradressen zum Speichern
der nullten bis (M-1)ten Multiplikatorelemente y(0)
bis y(M-1) unter entsprechend nullten bis (M-1)ten Multiplikatoradressen
zugewiesen wird. Mit der Multiplikandenspeichereinrichtung
und der Multiplikatorspeichereinrichtung
ist eine Leseeinrichtung verbunden, die hintereinanderfolgend
durch hintereinanderfolgendes Ändern einer Eigenzahl
k in einer aufsteigenden Reihenfolge von null bis
(N+M-2) ein i-tes Multiplikandenelement x(i) und ein j-tes
Multiplikatorelement y(j) aus einer i-ten Multiplikandenadresse
der Multiplikandenspeichereinrichtung bzw. einer
j-ten Multiplikatoradresse der Multiplikatorspeichereinrichtung
liest, wobei i eine erste Variable angibt, die variabel
von null bis (N-1) ist, einschließlich beider Grenzen,
und j eine zweite Variable repräsentiert, die von null bis
(M-1) einschließlich beider Grenzen variabel ist. Die Eigenzahl
k ist gleich einer Summe aus der ersten Variablen i
und der zweiten Variablen j. Mit der Multiplikandenspeichereinrichtung
und der Multiplikatorspeichereinrichtung ist
eine Erzeugungseinrichtung verbunden, die sukzessiver Weise
ein Paar aus i-ten Multiplikandenelementen x(i) und j-ten
Multiplikatorelementen y(j) erzeugt. Mit der Erzeugungseinrichtung
ist eine Berechnungseinrichtung für geteilte bzw.
unterteilte Produkte verbunden, die eine Sequenz aus unterteilten
Produkten p(x(i), y(j)) des i-ten Multiplikandenelements
x(i) und des j-ten Multiplikatorelements y(j) berechnet.
Mit der Berechnungseinrichtung für unterteilte
Produkte ist eine Akkumulationseinrichtung verbunden, die
in sukzessiver Weise die unterteilten Produkte p(x(i),
y(j)) auf der Basis der Eigenzahl k durch Auswählen der
unterteilten Produkte akkumuliert, die eine gemeinsame Eigenzahl
haben. Die Akkumulationseinrichtung erzeugt hintereinanderfolgend
das Produkt Q in einer ansteigenden Reihenfolge
von dem nullten Produktelement q(0) bis zum (N+M-1)ten
Produktelement q(N+M-1).
Die erfindungsgemäße Einrichtung hat den Vorteil, daß eine
Multiplikationseinrichtung angegeben wird, die einen kleineren
Speicherbereich für die Multiplikation erfordert,
als die oben beschriebenen bekannten Multiplikationseinrichtungen.
Vorteilhafte Weiterbildungen der Erfindung sind den Unteransprüchen
zu entnehmen.
Weitere Vorteile, Anwendungsmöglichkeiten und Eigenschaften
der vorliegenden Erfindung sind aus der nachfolgenden Beschreibung
von Ausführungsformen in Verbindung mit den Zeichnungen
ersichtlich.
Es zeigt
Fig. 1 ein Blockdiagramm einer Multiplikationseinrichtung
gemäß einer Ausführungsform der vorliegenden Erfindung;
Fig. 2 eine Blockdiagramm einer Multiplikationseinheit
zum Einsatz in der Multiplikationseinrichtung nach Fig. 1;
Fig. 3 ein Blockdiagramm einer Akkumulationseinheit
zum Einsatz in der Multiplikationseinrichtung nach Fig. 1;
Fig. 4 ein Blockdiagramm einer Leseeinheit zum Einsatz
in der Multiplikationseinrichtung nach Fig. 1 und
Fig. 5 eine Adressenzuordnung zum Einsatz beim Beschreiben
des Betriebs der Leseeinheit nach Fig. 4.
Die Beschreibung wird zuerst auf die Prinzipien in der vorliegenden
Erfindung gerichtet, um ein Verständnis der Erfindung
zu fordern. Um eine Multiplikation auszuführen, arbeitet
eine Multiplikationseinrichtung gemäß der vorliegenden
Erfindung, indem zerlegte Produkte verwendet werden, die
unterschiedlich zu Partialprodukten zum Einsatz in den oben
erwähnten bekannten Multiplikationseinrichtungen sind. In
dieser Beschreibung werden diese zerlegten Produkte unterteilte
Produkte genannt. Dementsprechend wird die Multiplikationseinrichtung
gemäß der vorliegenden Erfindung als
Multiplikationseinrichtung vom Typ für unterteilte Produkte
bezeichnet.
Wie es aus dem Stand der Technik bestens bekannt ist, ist
eine Multiplikationseinrichtung eine Einrichtung zum Multiplizieren
zweier numerischer Werte, nämlich eines Multiplikanden
X und eines Multiplikators Y, um ein Produkt Q aus
dem Multiplikanden X und dem Multiplikator Y zu erzeugen.
Im allgemeinen besteht der Multiplikand S aus N Stellen
bzw. Ziffern, wohingegen der Multiplikator Y aus M Stellen
bzw. Ziffern besteht, wobei N und M erste bzw. zweite vorgegebene
natürliche Zahlen wiedergeben. In diesem Fall besteht
das Produkt Q aus (N+M) Stellen. Sowohl der Multiplikand
X bzw. der Multiplikator Y als auch das Produkt Q ist
im allgemeinen durch ein L-Basis-Zahlensystem gegeben,
wobei L eine vorgegebene ganze Zahl ist, die nicht kleiner
als zwei ist.
Unter diesen Umständen ist der Multiplikand X durch nullte
bis (N-1)te Multiplikandenelemente x(0) bis x(N-1) dargestellt,
die in nullter bis (N-1)ten Stellen angeordnet sind,
welche durch L⁰ bis LN-1 spezifiziert sind. Der Multiplikator
Y wird durch nullte bis (M-1)te Multiplikatorelemente
y(0) bis y(M-1) wiedergegeben, die in nullten bis (M-1)ten
Stellen angeordnet sind, die durch L⁰ bis LM-1 spezifiziert
sind. Das Produkt Q wird durch nullte bis (N+M-1)te Produktelemente
q(0) bis q(N+M-1) wiedergegeben, die in nullten
bis (N+M-1)ten Stellen angeordnet sind, welche durch L⁰ bis
L(N+M-1) spezifiziert sind.
Wenn der Multiplikand X, der Multiplikator Y und das Produkt
Q durch ein Dezimalzahlensystem, nämlich L=10, wiedergegeben
werden, wird jedes Element des Multiplikanden X,
des Multiplikators Y bzw. des Produktes Q durch 4 Bits oder
einen binärkodierten Dezimalcode (BCD) wiedergegeben. Wenn
der Multiplikand X und der Multiplikator Y aus 4 Ziffern
besteht, nämlich N=M=4, und durch dezimal X=2867 bzw.
dezimal Y=5304 gegeben sind, werden der Multiplikand X
bzw. der Multiplikator Y durch nullte bis dritte Multiplikandenelemente
x(0) bis x(3) bzw. nullte bis dritte Multiplikatorelemente
y(0) bis y(3) wiedergegeben, welche gegeben
sind durch
x(0) = 7, x(1) = 6, x(2) = 8, x(3) = 2 und
y(0) = 4, y(1) = 0, y(2) = 3, y(3) = 5.
y(0) = 4, y(1) = 0, y(2) = 3, y(3) = 5.
Die Aufmerksamkeit wird nun auf ein i-tes Multiplikandenelement
x(i) und ein j-tes Multiplikatorelement y(j) gerichtet,
wobei i eine erste Variable repräsentiert, die variabel
von null bis (N-1) ist, einschließlich beider Grenzwerte,
und wobei j eine zweite Variable repräsentiert, die variabel
von null bis (M-1) ist, wobei beide Grenzwerte eingeschlossen
sind. Ein unterteiltes Produkt p(x(i)), y(j))
wird durch ein Produkt aus dem i-ten Multiplikandenelement
x(i) und dem j-ten Multiplikatorelement y(j) definiert;
d. h.:
p(x(i), y(j)) = x(i) × y(j). (1)
Eine Summe aus der ersten Variablen i und der zweiten Variablen
j definiert eine ganze Zahl k, nämlich:
i + j =k (2)
wobei k als eine Eigenzahl des unterteilten Produkts
p(x(i), y(j)) bezeichnet wird. Wenn das zweite Multiplikandenelement
x(2) und das nullte Multiplikatorelement y(0)
gleich acht bzw. vier sind, nämlich wenn x(2)=8 und y(0)=4
als Beispiel sind, ist das unterteilte Produkt p(x(2),
y(0)) gleich zweiunddreißig oder p(x(2), y(0))=32 und die
Eigenzahl k ist gleich zwei oder k=2. Das unterteilte
Produkt p(x(2), y(0)) ist an der zweiten Stelle 10² des
Produkts Q lokalisiert. Im allgemeinen sind die unterteilten
Produkte p(x(i), y(j)) mit der Eigenzahl k in der k-ten
Stelle Lk des Produkts Q lokalisiert.
Dementsprechend, wie oben erwähnt, wird das Produkt Q hintereinanderfolgend
in aufsteigender Reihenfolge von dem
nullten Produktelement q(0) bis zum (N+M-1)ten Produktelement
q(N+M-1) durch sukzessives Akkumulieren der unterteilten
Produkte p(x(i), y(j)) auf der Basis der Eigenzahl k
erhalten, wobei die unterteilten Produkte mit gemeinsamer
Eigenzahl ausgewählt werden.
Die unterteilten Produkte p(x(i), y(j)) können als zweidimensionales
Array bzw. Feld aus INTEGER Elementen mit N
Reihen und M Spalten aufgebaut werden. Anders ausgedrückt,
die unterteilten Produkte p(x(i), y(j)) entsprechen den
INTEGER Elementen beim Schnittpunkt einer (i+1)ten Reihe
und einer (j+1)ten Spalte des zweidimensionalen Arrays.
Solch ein zweidimensionales Array ist einer Einrichtung
äquivalent, die bereits von J. Napier (1550-1617) vorgeschlagen
worden ist, einem schottischen Mathematiker, wie
"Napiers Knochen". Diese Einrichtung erleichtert das Berechnen
einer Multiplikation oder einer Division. Sie besteht
aus Knochenreihen, von denen jede in neun gleiche
Unterteilungen unterteilt ist. Ein solches zweidimensionales
Array erfordert jedoch einen großen Speicherbereich,
wenn sowohl der Multiplikand X als auch der Multiplikator
Y durch eine große Anzahl von Stellen gegeben ist. Wie später
beschrieben wird, führt die Multiplikationseinrichtung
vom unterteilten Produkttyp eine Multiplikation ohne einen
größeren Speicherbereich aus.
Nach Fig. 1 ist die Multiplikationseinrichtung vom Typ für
unterteilte Produkte gemäß einer bevorzugten Ausführungsform
der vorliegenden Erfindung zum Multiplizieren zweier
numerischer Werte vorgesehen, nämlich eines Multiplikanden
X mit einem Multiplikator Y, um ein Produkt Q aus dem Multiplikanden
X und einem Multiplikator Y zu bilden. Im allgemeinen
besteht der Multiplikand X aus N Stellen, wohingegen
der Multiplikator Y aus M Stellen besteht, wobei N und M
erste bzw. zweite vorgegebene natürliche Zahlen repräsentieren.
In diesem Fall besteht das Produkt Q aus (N+M) Stellen.
Sowohl der Multiplikand X, der Multiplikator Y als
auch das Produkt Q sind im allgemeinen durch ein L-Basis-Zahlensystem
gegeben, wobei L eine vorgegebene ganze Zahl
(Integer) wiedergibt, die nicht kleiner als zwei ist.
Unter diesen Umständen ist der Multiplikand X durch nullte
bis (N-1)te Multiplikandenelemente x(0) bis x(N-1) gegeben,
die in nullten bis (N-1)ten Stellen angeordnet sind, welche
durch L⁰ bis LN-1 spezifiziert sind. Der Multiplikator Y
wird durch nullte bis (N-1)te Multiplikatorelemente y(0)
bis y(M-1) wiedergegeben, die in nullten bis (M-1)ten Stellen
angeordnet sind, welche durch L⁰ bis LM-1 spezifiziert
sind. Das Produkt Q ist durch nullte bis (N+M-1)te Produktelemente
q(0) bis q(N+M-1) gegeben, die in nullten bis
(N+M-1)ten Stellen angeordnet sind, welche durch L⁰ bis
LN+M-1 spezifiziert sind.
Die Multiplikationseinrichtung vom unterteilten Produkttyp
weist einen Multiplikandenspeicher 11 und einen Multiplikatorspeicher
12 auf. Der Multiplikandenspeicher 11 ist auch
nullte bis (N-1)te Multiplikandenadressen Ax(0) bis Ax(N-1)
zugewiesen, wohingegen der Multiplikatorspeicher 12 durch
nullte bis (M-1)te Multiplikatoradressen Ay(0) bis Ay(M-1)
zugewiesen ist. Der Multiplikandenspeicher 11 speichert
die nullten bis (N-1)ten Multiplikandenelemente x(0) bis
x(N-1) unter den entsprechenden nullten bis (N-1)ten Multiplikandenadressen
Ax(0) bis Ax(N-1) ab. Der Multiplikatorspeicher
12 speichert die nullten bis (M-1)ten Multiplikatorelemente
y(0) bis y(M-1) unter den entsprechenden nullten
bis (M-1) Multiplikatoradressen Ay(0) bis Ay(M-1) ab.
Der Multiplikandenspeicher 11 und der Multiplikatorspeicher
12 sind durch eine Leseeinheit 13 verbunden. Die Leseeinheit
13 liest sukzessive durch sukzessives Ändern einer
Eigenzahl k in einer aufsteigenden Reihenfolge von 0 bis
(N+M-2) ein i-tes Multiplikandenelement x(i) und ein j-tes
Multiplikandenelement y(j) aus einer i-ten Multiplikandenadresse
Ax(i) des Multiplikandenspeichers 11 bzw. einer
j-ten Multiplikatoradresse Ay(j) des Multiplikatorspeichers
12 aus, wobei i eine erste Variable repräsentiert, die varialbel
von 0 bis N-1 ist, einschließlich beider Grenzen,
und j eine zweite Variable repräsentiert, die variabel von
0 bis M-1 ist, wobei beide Grenzen eingeschlossen sind. Die
Eigenzahl k ist gleich einer Summe aus einer ersten Variablen
i und einer zweiten Variablen j.
Der Multiplikandenspeicher 11 und der Multiplikatorspeicher
12 sind mit einer Multiplikationseinheit 14 über erste und
zweite Datenleitungen 16 und 17 verbunden. Ein Paar aus
dem i-ten Multiplikandenelement x(i) und dem j-ten Multiplikatorelement
y(j) wird von dem Multiplikandenspeicher 11
bzw. dem Multiplikatorspeicher 12 über die ersten und zweiten
Datenleitungen 16 und 17 der Multiplikationseinheit
14 zugeführt. Deshalb arbeiten die ersten und zweiten Datenleitungen
16 und 17 kollektiv als Erzeugungsanordnung zum
hintereinanderfolgenden Erzeugen eines Paares aus einem
i-ten Multiplikandenelement x(i) und einem j-ten Multiplikatorelement
y(j). Anders ausgedrückt, die ersten und zweiten
Datenleitungen 16 und 17 dienen zusammen als Zuführanordnung
zum sukzessiven Zuführen zu der Multiplikationseinheit
14 des i-ten Multiplikandenelements x(i) und des j-ten Multiplikatorelements
y(j).
Die Multiplikationseinheit 14 berechnet eine Sequenz aus
unterteilten Produkten p(x(i), y(j)) des i-ten Multiplikandenelements
x(i) und des j-ten Multiplikatorelements y(j).
Die Multiplikationseinheit 14 ist als unterteilte Produktberechnungsanordnung
ausgelegt.
Die Multiplikationseinheit 14 ist mit einer Akkumulationseinheit
18 verbunden. Die Akkumulationseinheit 18 akkumuliert
hintereinanderfolgend die unterteilten Produkte
p(x(i), y(j)) auf der Basis der Eigenzahl k durch Auswählen
der unterteilten Produkte mit einer gemeinsamen Eigenzahl.
Die Akkumulationseinheit 18 erzeugt hintereinanderfolgend
das Produkt Q oder ein d-tes Produktelement q(d) in
einer aufsteigenden Reihenfolge von dem nullten Produktelement
q(0) bis zum (N+M-1)ten Produktelement q (N+M-1).
Ein Produktspeicher 19 ist durch nullte bis (N+M-1)te Produktadressen
Aq(0) bis Aq(N+M-1) zum Speichern des Produkts
Q zugewiesen. Der Produktspeicher 19 und die Akkumulationseinheit
18 sind mit einer Speichereinheit 20 verbunden.
Die Speichereinheit 20 speichert sukzessiverweise die nullten
bis (N+M-1)ten Produktelemente 1(0) bis p(N+M-1) unter
der nullten bis (N+M-1)ten Produktadresse Aq(0) bis Aq
(N+M-1).
Die Multiplikationseinheit 14 kann ein Multiplizierer vom
Exponententransformationstyp sein. Der Exponententransformationstyp-Multiplizierer
wird mit dem i-ten Multiplikandenelement
x(i) und dem j-ten Multiplikatorelement y(j) als
ein Paar von Residuen versehen. Wenn notwendig, wird bezüglich
eines solchen Exponententransformationstyp-Multiplizierers
auf das US-Patent Nr. 43 46 451 verwiesen.
Mit Bezug auf Fig. 2 weist die Multiplikationseinheit, nämlich
der Exponententransformationstyp-Multiplizierer 14,
ein Multiplikanden-Exponenten-Transformationseinheit 21,
eine Multiplikator-Exponenten-Transformationseinheit 22,
einen Addierer 23 und eine Invers-Exponenten-Transformationseinheit
24 auf. Die Multiplikanden-Exponenten-Transformationseinheit
21 führt eine Exponententransformation des
i-ten Multiplikandenelements x(i) in ein i-tes Primärexponentenelement
a(i) durch. Ähnlicherweise führt die Multiplikator-Exponenten-Transformationseinheit
22 die Exponententransformation
eines j-ten Multiplikatorelements y(j) in
ein j-tes Sekundär-Exponentenelement b(j) durch. Das i-te
Primärexponentenelement a(i) und das j-te Sekundärexponentenelement
b(j) werden zu Modulo-L² durch den Addierer 23
aufsummiert. Der Addierer 23 erzeugt eine Exponentensumme
(a(i)+b(j) mod L² des i-ten Primärexponentenelements a(i)
und des j-ten Sekundärexponentenelements b(j). Die Exponentensumme
(a(i)+b(j)) mod L² wird der Invers-Exponententransformationseinheit
24 zugeführt. Die Invers-Exponententransformationseinheit
24 führt eine inverse Exponententransformation
der Exponentensumme (a(i)+b(j)) mod L²
bezüglich des unterteilten Produkts p(x(i), y(j)) durch.
Die Multiplikanden-Exponenten-Transformationseinheit 21 und
die Multiplikator-Exponententransformationseinheit 22 führen
eine Exponententransformation gemäß Tabelle 1 durch.
Tabelle 1 zeigt die entsprechenden Beziehungen zwischen den
Residuen und den Exponenten, wobei die vorgegebene ganze
Zahl L gleich 10 ist. Die Invers-Exponententransformationseinheit
24 führt die inverse Exponententransformation gemäß
Tabelle 2 aus. Tabelle 2 zeigt die Korrespondenzen zwischen
Exponenten und Residuen.
Zum Beispiel, wenn das i-te Multiplikandenelement x(i) bzw.
das j-te Multiplikatorelement y(j) gleich sieben bzw.
gleich 9 sind, sind das i-te Primärexponentenelement a(i)
bzw. das j-te Sekundärexponentenelement b(j) 9 bzw. 38, wie
es aus Tabelle 1 ersichtlich ist. Die Exponentensumme (a(i)+b(j))
mod L² ist gleich 47. Deshalb ist das unterteilte
Produkt p(x(i), y(j)) gleich 63, wie es aus der Tabelle 2 hervorgeht.
Natürlich kann die Multiplikationseinheit 14 ein bekannter
Multiplizierer sein, z. B. der oben erwähnte 32-Bit-Multiplizierer
sein, z. B. der oben erwähnte 32-Bit-Multiplizierer-Prozessor.
In diesem Fall ist die vorgegebene ganze
Zahl L gleich 2³².
Nach Fig. 3 weist die Akkumulationseinheit 18 ein MD-Register
26, einen Addierer 27, ein ACC-Register 28 und ein
MQ-Register 29 auf. Das ACC-Register 28 und das MQ-Register
29 sind miteinander verbunden und arbeiten als ein großes
Schieberegister zusammen. Das ACC-Register 28 und das MQ-Register
29 werden zusammen als ACC-MQ-Register bezeichnet.
Das MD-Register 26 wird hintereinanderfolgend mit den unterteilten
Produkten p(x(i), y(j)) von der Multiplikationseinheit
14 (Fig. 1) geladen. Das MD-Register 26 ist mit einem
linksseitigen Eingangsanschluß des Addierers 27 verbunden.
Der Addierer 27 hat einen Ausgangsanschluß, der mit dem
ACC-MQ-Register verbunden ist. Das ACC-MQ-Register ist mit
einem rechtsseitigen Eingangsanschluß des Addierers 27 verbunden.
Das ACC-MQ-Register wird mit einem rechten Schiebeimpuls
(RS) in der Art und Weise, wie sie weiter unten beschrieben
wird, angesteuert.
Um einen Akkumulationsbetrieb zu beginnen, wird das ACC-MQ-Register
gecleart bzw. gelöscht oder auf null gesetzt.
In einer ersten Stufe bzw. bei einem ersten Schritt wird
das MD-Register 26 mit dem unterteilten Produkt p(x(0),
y(0)) geladen. Die Inhalte des MD-Registers 26 und die Inhalte
des ACC-MQ-Registers werden von dem Addierer 27 addiert.
Die sich ergebende Summe wird in das ACC-MQ-Register
zurückplaziert. Danach wird der rechte Schiebeimpuls angelegt,
und das ACC-MQ-Register wird nach rechts um eine Stelle
verschoben. Im Ergebnis werden die Inhalte des MQ-Registers
29 als nulltes Produktelement q(0) herausgeschoben,
und eine niedrigste Ziffer bzw. Stelle des ACC-Registers 28
wird in das MQ-Register 29 als dessen neue Inhalte geladen.
Der nächste oder der zweite Schritt beginnt. Das MD-Register
26 wird mit dem unterteilten Produkt p(x(1), y(0))
geladen. Die Inhalte des MD-Registers 26 und die Inhalte
des ACC-MQ-Registers werden von dem Addierer 27 addiert.
Die sich ergebende Summe wird zurück in das ACC-MQ-Register
geschickt. Danach wird das MD-Register 26 mit dem unterteilten
Produkt p(x(0), y(1)) geladen. Die Inhalte des MD-Registers
26 und die Inhalte des ACC-MQ-Registers werden von
dem Addierer 27 addiert. Die sich ergebende Summe wird zurück
in das ACC-MQ-Register gegeben. Deshalb wird eine Akkumulation
bezüglich der unterteilten Produkte p(x(1), y(0))
und p(x(0), y(1)) ausgeführt, die gemeinsam die Eigenzahl
k gleich Eins haben. Wenn der rechte Schiebeimpuls zugeführt
wird, wird das ACC-MQ-Register um eine Stelle nach
rechts verschoben. Im Ergebnis werden die Inhalte des MQ-Registers
29 als erstes Produktelement p(1) herausgeschoben,
und eine niedrigste Stelle des ACC-Registers 28 wird in
das MQ-Register 29 als dessen neuer Inhalt geladen.
Ein ähnlicher Betrieb wird wiederholt, bis die unterteilten
Produkte p(x(N-1), y(M-1)) abgearbeitet worden sind.
Die Beschreibung schreitet nun zu dem praktischen Betrieb
der Multiplikationseinrichtung fort, soweit dieser mit Bezug
auf die Fig. 1 und 3 beschreibbar ist. Es wird folgendes
angenommen. Die erste vorgegebene natürliche Zahl
N ist gleich 3. Die zweite vorgegebene natürliche Zahl M
ist gleich der ersten vorgegebenen natürlichen Zahl N. Die
vorgegebene ganze Zahl L ist gleich 10. Die Multiplikationseinrichtung
berechnet das Produkt aus dem Multiplikanden
X und dem Multiplikator Y, die gleich Dezimal 456 bzw. 789
sind. Das MQ-Register 29 ist ein 4-Bit-Register, wohingegen
das ACC-Register 28 ein 16-Bit-Register ist.
In dem dargestellten Beispiel ist der Multiplikand X durch
ein nulltes bis zweites Multiplikandenelement x(0) bis x(2)
wiedergegeben, die gegeben sind durch:
x(0) = 6,
x(1) = 5,
x(2) = 4.
x(1) = 5,
x(2) = 4.
In ähnlicher Weise ist der Multiplikator Y durch nullte
bis zweite Multiplikatorelemente y(0) bis y(2) gegeben,
welche gegeben sind durch:
y(0) = 9,
y(1) = 8,
y(2) = 7.
y(1) = 8,
y(2) = 7.
Durch den Einsatz der Multiplikationseinheit 14 sind unterteilte
Produkte p(x(0), y(0)), p(x(1), y(0)), p(x(0),
y(1)), p(x(0), y(2)), p(x(1), y(1)), p(x(2), y(0)), p(x(2),
y(1)), p(x(1), y(2)) und p(x(2), y(2)) hintereinanderfolgend
gegeben durch:
p(x(0), y(0)) = 54,
p(x(1), y(0)) = 45,
p(x(0), y(1)) = 48,
p(x(0), y(2)) = 42,
p(x(1), y(1)) = 40,
p(x(2), y(0)) = 36,
p(x(2), y(1)) = 32,
p(x(1), y(2)) = 35 und
p(x(2), y(2)) = 28.
p(x(1), y(0)) = 45,
p(x(0), y(1)) = 48,
p(x(0), y(2)) = 42,
p(x(1), y(1)) = 40,
p(x(2), y(0)) = 36,
p(x(2), y(1)) = 32,
p(x(1), y(2)) = 35 und
p(x(2), y(2)) = 28.
Um die Akkumulationsoperation zu beginnen, wird das ACC-MQ-Register
gecleart; das heißt:
ACC-MQ 0 0 0 0 0.
In dem ersten Schritt der Akkumulationsoperation wird das
unterteilte Produkt p(x(0), y(0)) oder vierundfünfzig zu
den Inhalten des ACC-MQ-Registers oder null hinzuaddiert
und die sich daraus ergebende Summe wird zurück ins ACC-MQ-Register
geladen;
das heißt:
ACC-MQ 0 0 0 5 4.
Wenn der rechte Schiebeimpuls angelegt wird, wird das ACC-MQ-Register
nach rechts um eine Stelle verschoben und dann
wird das nullte Produktelement p(0), nämlich vier, aus dem
MQ-Register 29 herausgeschoben; das heißt:
ACC-MQ 0 0 0 0 5. =< 4 p(0) = 4.
In einem zweiten Schritt der Akkumulationsoperation wird
das unterteilte Produkt p(x(1), y(0)) oder fünfundvierzig
zu den Inhalten des ACC-MQ-Registers oder fünf hinzuaddiert
und die sich ergebende Summe wird zurück ins ACC-MQ-Register
geladen; das heißt:
ACC-MQ 0 0 0 5 0.
Danach wird das unterteilte Produkt p(x(0), y(1)) oder achtundvierzig
zu den Inhalten des ACC-MQ-Registers oder fünfzig
hinzuaddiert, und die sich daraus ergebende Summe wird
zurück ins ACC-MQ-Register gegeben; das heißt:
ACC-MQ 0 0 0 9 8.
Wenn der rechte Schiebeimpuls zugeführt wird, wird das ACC-MQ-Register
nach rechts um eine Stelle geschoben, und dann
wird das erste Produktelement p(1), nämlich acht, aus dem
MQ-Register 29 herausgeschoben; das heißt:
ACC-MQ 0 0 0 0 9. =<8 p(1) = 8.
Bei einem dritten Schritt der Akkumulationsoperation wird
das unterteilte Produkt p(x(0), y(2)) oder zweiundvierzig
zu den Inhalten des ACC-MQ-Registers oder neun hinzuaddiert,
und die sich daraus ergebende Summe wird zurück ins ACC-MQ-Register
geladen; das heißt:
ACC-MQ 0 0 0 5 1.
Danach wird das unterteilte Produkt p(x(1), y(1)) oder vierzig
zu den Inhalten des ACC-MQ-Registers oder einundfünfzig
hinzuaddiert, und die sich ergebende Summe wird zurück in
das ACC-MQ-Register gegeben; das heißt:
ACC-MQ 0 0 0 9 1.
Danach wird das unterteilte Produkt p(x(2), y(0)) oder
sechsunddreißig den Inhalten des ACC-MQ-Registers oder einundneunzig
hinzuaddiert, und das sich daraus ergebende Ergebnis
wird zurück in das ACC-MQ-Register geladen; das heißt:
ACC-MQ 0 0 1 2 7.
Wird ein rechter Schiebeimpuls zugeführt, wird das ACC-MQ-Register
nach rechts um eine Stelle verschoben, und dann
wird das zweite Produktelement p(2), nämlich sieben, aus
dem MQ-Register 29 herausgeschoben; das heißt:
ACC-MQ 0 0 0 1 2. =<7 p(2) = 7.
Bei einem vierten Schritt der Akkumulationsoperation wird
das unterteilte Produkt p(x(2), y(1)) oder zweiunddreißig
den Inhalten des ACC-MQ-Registers oder zwölf hinzuaddiert,
und die sich daraus ergebende Summe wird zurück ins ACC-MQ-Register
gegeben; das heißt:
ACC-MQ 0 0 0 4 4.
Danach wird das unterteilte Produkt p(x(1), y(2)) oder fünfunddreißig
den Inhalten des ACC-MQ-Registers oder vierundvierzig
hinzuaddiert, und die sich ergebende Summe
wird zurück ins ACC-MQ-Register gegeben; das heißt:
ACC-MQ 0 0 0 7 9.
Wenn ein rechter Schiebeimpuls zugeführt wird, wird das
ACC-MQ-Register nach rechts um eine Stelle verschoben, und
dann wird das dritte Produktelement p(3), nämlich neun,
aus dem MQ-Register herausgeschoben; das heißt:
ACC-MQ 0 0 0 0 7. =<9 q(3) = 9.
Bei einem fünften Schritt der Akkumulationsoperation wird
das unterteilte Produkt p(x(2), y(2)) oder achtundzwanzig
den Inhalten des ACC-MQ-Registers oder sieben hinzuaddiert,
und die sich daraus ergebende Summe wird zurück ins ACC-MQ-Register
gegeben; das heißt:
ACC-MQ 0 0 0 3 5.
Wenn der rechte Schiebeimpuls zugeführt wird, wird das ACC-MQ-Register
nach rechts um eine Stelle verschoben, und dann
wird das vierte Produktelement p(4), nämlich 5, aus dem
MQ-Register 29 herausgeschoben; das heißt:
ACC-MQ 0 0 0 0 3. =5 q(4) = 5.
Bei einem sechsten und letzten Schritt der Akkumulationsoperation
wird, wenn der rechte Schiebeimpuls zugeführt wird,
das ACC-MQ-Registers nach rechts um eine Stelle verschoben,
und dann wird das fünfte Produktelement p(5), nämlich drei,
aus dem MQ-Register herausgeschoben; das heißt:
ACC-MQ 0 0 0 0 0. =3 q(5) = 3.
Im Ergebnis ist das Produkt Q gleich der Dezimalzahl
359 784.
Nach Fig. 4 weist die Leseeinheit 13 erste und zweite Aufwärts/Abwärts-Zähler
31 und 32, erste bis vierte Komparatoren
36, 37, 38 und 39 und einen Kontroller 40 auf. Es
wird folgendes angenommen: Die nullten bis (N-1)ten Multiplikandenadressen
Ax(0) bis Ax(N-1) sind entsprechend
gleich null bis (N-1). Die nullten bis (M-1)ten Multiplikatoradressen
Ay(0) bis Ay(M-1) sind entsprechend gleich null
bis (M-1).
Der erste Aufwärts/Abwärts-Zähler 31 wird anfänglich mit
null geladen und führt einen Aufwärts/Abwärts-Zählbetrieb
unter der Steuerung des Kontrollers 40 durch. Der erste
Aufwärts/Abwärts-Zähler 31 führt die i-te Multiplikandenadresse
Ax(i) oder i dem Multiplikandenspeicher 11 (Fig. 1)
zu. In ähnlicher Weise wird der zweite Aufwärts/Abwärts-Zähler
anfänglich mit null geladen und führt einen anderen
Aufwärts/Abwärts-Zählbetrieb unter der Steuerung des Controllers
40 durch. Der zweite Aufwärts/Abwärts-Zähler 32
führt die j-te Multiplikatoradresse Ay(j) oder j dem Multiplikatorspeicher
12 (Fig. 1) zu.
Dem ersten Komparator 36 und dem zweiten Komparator 37 werden
jeweils null zugeführt. Die ersten und zweiten Komparatoren
36 und 37 werden mit den i-ten Multiplikandenadressen
Ax(i) und der j-ten Multiplikatoradresse Ay(j) von dem ersten
bzw. zweiten Aufwärts/Abwärts-Zählern 31 bzw. 32 versorgt.
Der erste Komparator 36 vergleicht die i-te Multiplikandenadresse
Ax(i) oder i mit null. Der erste Komparator
36 führt dem Kontroller 40 ein erstes Koinzidenzsignal zu,
wenn die i-te Multiplikandenadresse Ax(i) oder i mit null
zusammentrifft. Ähnlich vergleicht der zweite Komparator
37 die j-te Multiplikatoradresse Ay(j) oder j mit null.
Der zweite Komparator 37 führt dem Kontroller 40 ein zweites
Koinzidenzsignal zu, wenn die j-te Multiplikatoradresse
Ay(j) oder j mit null koinzidiert.
Die dritten und vierten Komparatoren 38 und 39 werden mit
i-ten Multiplikandenadressen Ax(i), nämlich i, bzw. den
j-ten Multiplikatoradressen Ay(j), nämlich j, von dem ersten
Aufwärts/Abwärts-Zähler 31 bzw. dem zweiten Aufwärts/Abwärts-Zähler
32 versorgt. Die dritten und vierten
Komparatoren 38 und 39 werden mit (N-1) bzw. (M-1) versehen.
Der dritte Komparator 38 vergleicht die i-te Multiplikandenadresse
Ax(i) oder i mit (N-1). Der dritte Komparator
38 führt dem Kontroller 40 ein drittes Koinzidenzsignal
zu, wenn die i-te Multiplikandenadresse Ax(i) oder i mit
(N-1) zusammentrifft. Ähnlicherweise vergleicht der vierte
Komparator 39 die j-te Multiplikatoradresse Ay(j) oder j
mit (M-1). Der vierte Komparator 39 führt dem Kontroller 40
ein viertes Koinzidenzsignal zu, wenn die j-te Multiplikatoradresse
Ay(j) oder j mit (M-1) zusammentrifft.
Der mit den ersten bis vierten Koinzidenzsignalen versehene
Kontroller 40 steuert auf der Basis der Eigenzahl k die
Aufwärts/Abwärts-Zähloperationen der ersten und zweiten
Aufwärts/Abwärts-Zähler 31 und 32 auf eine Art und Weise,
wie sie nachfolgend beschrieben wird.
Fig. 5 zeigt eine Adreßzuordnung, die dazu verwendet wird,
den Betrieb der Leseeinheit 13, die in Fig. 4 angegeben
ist, zu beschreiben. In der dargestellten Adressenzuordnung
ist die i-te Multiplikandenadresse Ax(i), nämlich i, variabel
zwischen null und (N-1), wie es entsprechend durch die
ersten bis N-ten Reihen in der Adressenzuordnung angegeben
ist. Ähnlich ist die j-te Multiplikatoradresse Ay(j), nämlich
j, zwischen 0 und (M-1) variabel, wie es entsprechend
mit den ersten bis M-ten Spalten in der Adressenanordnung
angegeben ist.
Wie oben beschrieben worden ist, führt die Leseeinheit 13
die i-te Multiplikandenadresse Ax(i) oder i und die j-te
Multiplikatoradresse Ay(j) oder j dem Multiplikandenspeicher
11 bzw. dem Multiplikatorspeicher 12 zu.
Im Fall, wo die Eigenzahl k gleich null ist, setzt der Kontroller
40 anfänglich beide ersten und zweiten Aufwärts/Abwärts-Zähler
31 und 32 auf null. Deshalb erzeugt der erste
Aufwärts/Abwärts-Zähler 31 null und der zweite Aufwärts/Abwärts-Zähler
32 null als i-te Multiplikandenadresse Ax(i)
bzw. als j-te Multiplikatoradresse Ay(j), wie es in der
ersten Reihe und der ersten Spalte der Adressenzuordnung
gezeigt wird. In diesem Fall erzeugen die ersten und zweiten
Komparatoren 36 und 37 die ersten und zweiten Koinzidenzsignale.
In Antwort auf das erste Koinzidenzsignal und
das zweite Koinzidenzsignal inkrementiert der Kontroller 40
die Eigenzahl k um 1. Im Ergebnis ist die Eigenzahl k
gleich 1.
Wenn die Eigenzahl k gleich eins ist, veranlaßt der Kontroller
40 den ersten Aufwärts/Abwärts-Zähler 31, um eins aufwärts
zu wählen. Deshalb erzeugen der erste Aufwärts/Abwärts-Zähler
31 und der zweite Aufwärts/Abwärts-Zähler 32
eins bzw. null als i-te Multiplikandenadresse Ax(i) bzw.
als j-te Multiplikatoradresse Ay(j), wie es in der zweiten
Reihe und der ersten Spalte der Adreßzuordnung gezeigt
wird. In diesem Fall erzeugt der zweite Komparator 37 das
zweite Koinzidenzsignal.
In Antwort auf das zweite Koinzidenzsignal veranlaßt der
Kontroller 40 die ersten und zweiten Aufwärts/Abwärts-Zähler
31 und 32 abwärts bzw. aufwärts um eins zu zählen. Deshalb
erzeugt der erste bzw. der zweite Aufwärts/Abwärts-Zähler
31 und 32 null bzw. eins als i-te Multiplikandenadresse
Ax(i) bzw. als j-te Multiplikatoradresse Ay(j), wie es in
der ersten Reihe und der zweiten Spalte der Adressenzuordnung
gezeigt wird. In diesem Fall erzeugt der erste Komparator
36 das erste Koinzidenzsignal. In Antwort auf das erste
Koinzidenzsignal inkrementiert der Kontroller 40 die Eigenzahl
k um eins. Als Ergebnis ist die Eigenzahl k gleich
zwei.
Wenn die Eigenzahl k gleich zwei ist, veranlaßt der Kontroller
40 den zweiten Aufwärts/Abwärts-Zähler 31, um eins aufwärts
zu zählen. Deshalb erzeugt der erste bzw. zweite Aufwärts/Abwärts-Zähler
31 bzw. 32 null bzw. zwei als i-te
Multiplikandenadresse Ax(i) bzw. als j-te Multiplikatoradresse
Ay(j), wie in der ersten Reihe und der dritten Spalte
der Adressenzuordnung gezeigt wird. In diesem Fall erzeugt
der erste Komparator 36 das erste Koinzidenzsignal. In Antwort
auf das erste Koinzidenzsignal veranlaßt der Kontroller
40 den ersten bzw. zweiten Aufwärts/Abwärts-Zähler 31
bzw. 32 aufwärts bzw. abwärts um eins zu zählen. Deshalb
erzeugen der erste bzw. der zweite Aufwärts/Abwärts-Zähler
31 bzw. 32 eins bzw. eins als i-te Multiplikandenadresse
Ax(i) bzw. als j-te Multiplikatoradresse Ay(j), wie es in
der zweiten Reihe und der zweiten Spalte der Adressenzuordnung
gezeigt wird. Insoweit wie der Kontroller 40 mit keinem
der ersten bis vierten Koinzidenzsignale versehen wird,
veranlaßt der Kontroller 40 den ersten bzw. den zweiten
Aufwärts/Abwärts-Zähler 31 bzw. 32 dazu, aufwärts bzw. abwärts
um eins zu zählen. Deshalb erzeugen der erste bzw.
der zweite Aufwärts/Abwärts-Zähler 31 bzw. 32 zwei bzw
null als i-te Multiplikandenadresse Ax(i) bzw. als j-te
Multiplikatoradresse Ay(j), wie es in der dritten Reihe
und der ersten Spalte der Adressenzuordnung gezeigt wird.
In diesem Fall erzeugt der zweite Komparator 37 das zweite
Koinzidenzsignal. In Antwort auf das zweite Koinzidenzsignal
inkrementiert der Kontroller 40 die Eigenzahl k um 1.
Im Ergebnis ist die Eigenzahl k gleich 3.
Ein ähnlicher Betrieb wird wiederholterweise ausgeführt.
In Antwort auf das dritte Koinzidenzsignal inkrementiert
der Kontroller 40 die Eigenzahl k um 1 und veranlaßt den
ersten bzw. den zweiten Aufwärts/Abwärts-Zähler 31 bzw.
32 abwärts bzw. aufwärts um eins zu zählen. In Antwort
auf das vierte Koinzidenzsignal inkrementiert der Kontroller
40 die Eigenzahl k um eins und veranlaßt den ersten
bzw. zweiten Aufwärts/Abwärts-Zähler 31 bzw. 32 aufwärts
bzw. abwärts um eins zu zählen.
Schließlich erzeugen die ersten bzw. zweiten Aufwärts/Abwärts-Zähler
31 bzw. 32 (N-1) bzw. (M-1) als i-te Multiplikandenadresse
Ax(i) bzw. als j-te Multiplikatoradresse
Ay(i), wie in der N-ten Reihe und der M-ten Spalte der Adressenzuordnung
gezeigt wird. Wie aus der oben angegebenen
Beschreibung ersichtlich ist, erzeugt die Leseeinheit 13
hintereinanderfolgend ein Paar aus i-ten Multiplikandenadressen
Ax(i) oder i und j-ten Multiplikatoradressen Ay(j)
oder j entlang eines Weges bzw. Trajektors, wie er mit dem
Pfeil in der Adressenzuordnung angegeben ist.
Claims (7)
1. Multiplikationseinrichtung zum Multiplizieren
eines Multiplikanden X mit einem Multiplikator Y, um ein
Produkt Q aus dem Multiplikanden X und dem Multiplikator Y
zu erzeugen, wobei der Multiplikand X und N Stellen besteht
und durch nullte bis (N-1)te Multiplikandenelemente x(0)
bis x(N-1) wiedergegeben ist, die in nullten bis (N-1)ten
Stellen angeordnet sind, welche entsprechend durch L⁰ bis
LN-1 spezifiziert sind, wobei N eine erste vorgegebene natürliche
Zahl und L eine vorgegebene ganze Zahl repräsentieren,
die nicht kleiner als zwei ist, und wobei der Multiplikator
Y aus M Stellen besteht und durch nullte bis (M-1)te
Multiplikatorelemente y(0) bis y(M-1) gegeben ist, die in
nullten bis (M-1)ten Stellen angeordnet sind, welche entsprechend
durch L⁰ bzw. LM-1 spezifiziert sind, wobei M eine
zweite vorgegebene natürliche Zahl repräsentiert, und wobei
das Produkt Q aus (N+M) Stellen besteht und repräsentiert
ist durch nullte bis (N+M-1)te Produktelemente q(0) bis
q(N+M-1), die in nullten bis (N+M-1)ten Stellen angeordnet
sind, welche entsprechend durch L⁰ bis L(N+M-1) spezifiziert
sind, wobei die Multiplikationseinrichtung aufweist:
eine Berechnungseinrichtung für unterteilte Produkte, der der Multiplikand X und der Multiplikator Y zum Berechnen einer Sequenz aus unterteilten Produkten p(x(i), y(j)) eines i-ten Multiplikandenelements x(i) und eines j-ten Multiplikatorelements y(i) zugeführt werden, wobei i eine erste Variable repräsentiert, die variabel von null bis (N-1) mit beiden Grenzwerten inklusive ist, und j eine zweite Variable repräsentiert, die variabel von null bis (M-1) mit beiden Grenzwerten inklusive ist, wobei die unterteilten Produkte p(x(i), y(j)) durch hintereinanderfolgendes Ändern einer Eigenzahl k berechnet werden, die gleich einer Summe aus der ersten Variablen i und der zweiten Variablen j ist; und
eine Akkumulationseinrichtung, die mit der Berechnungseinrichtung für unterteilte Produkte verbunden ist, zum hintereinanderfolgenden Akkumulieren der unterteilten Produkte p(x(i), y(j)) auf der Basis der Eigenzahl k, indem die unterteilten Produkte ausgewählt werden, die eine gemeinsame Eigenzahl haben, wobei die Akkumulationseinrichtung hintereinanderfolgend das Produkt Q in einer aufsteigenden Reihenfolge von einem nullten Produktelement q(0) bis zu einem (N+M-1)ten Produktelement q(N+M-1) erzeugt.
eine Berechnungseinrichtung für unterteilte Produkte, der der Multiplikand X und der Multiplikator Y zum Berechnen einer Sequenz aus unterteilten Produkten p(x(i), y(j)) eines i-ten Multiplikandenelements x(i) und eines j-ten Multiplikatorelements y(i) zugeführt werden, wobei i eine erste Variable repräsentiert, die variabel von null bis (N-1) mit beiden Grenzwerten inklusive ist, und j eine zweite Variable repräsentiert, die variabel von null bis (M-1) mit beiden Grenzwerten inklusive ist, wobei die unterteilten Produkte p(x(i), y(j)) durch hintereinanderfolgendes Ändern einer Eigenzahl k berechnet werden, die gleich einer Summe aus der ersten Variablen i und der zweiten Variablen j ist; und
eine Akkumulationseinrichtung, die mit der Berechnungseinrichtung für unterteilte Produkte verbunden ist, zum hintereinanderfolgenden Akkumulieren der unterteilten Produkte p(x(i), y(j)) auf der Basis der Eigenzahl k, indem die unterteilten Produkte ausgewählt werden, die eine gemeinsame Eigenzahl haben, wobei die Akkumulationseinrichtung hintereinanderfolgend das Produkt Q in einer aufsteigenden Reihenfolge von einem nullten Produktelement q(0) bis zu einem (N+M-1)ten Produktelement q(N+M-1) erzeugt.
2. Multiplikationseinrichtung nach Anspruch 1, dadurch
gekennzeichnet, daß die Berechnungseinrichtung für unterteilte
Produkte weiterhin aufweist:
eine Multiplikanden-Exponenten-Transformationseinrichtung, der das i-te Multiplikandenelement x(i) zum Durchführen einer Exponententransformation des i-ten Multiplikandenelements x(i) in ein i-tes Primärexponentenelement a(i) zugeführt wird,
eine Multiplikator-Exponenten-Transformationseinrichtung, der das j-te Multiplikatorelement y(j) zum Durchführen der Exponententransformation des j-ten Multiplikatorelements y(j) in ein j-tes Sekundärexponentenelement b(j) zugeführt wird,
eine Modulo-L²-Summiereinrichtung, die mit der Multiplikanden-Exponenten-Transformationseinrichtung und der Multiplikator-Exponenten-Transformationseinrichtung zum Berechnen einer Modulo-L²-Summe des i-ten Primärexponentenelements a(i) und des j-ten Sekundärexponentenelements b(j) verbunden ist, um eine Exponentensumme (a(i)+b(j)) mod L² zu erzeugen, die die Modulo-L²-Summe angibt, und
eine Invers-Exponenten-Transformationseinrichtung, die mit der Modulo-L²-Summiereinrichtung zum Durchführen einer inversen Exponententransformation der Exponentensumme (a(i)+b(j)) mod L² in das unterteilte Produkt p(x(i), y(j)) verbunden ist.
eine Multiplikanden-Exponenten-Transformationseinrichtung, der das i-te Multiplikandenelement x(i) zum Durchführen einer Exponententransformation des i-ten Multiplikandenelements x(i) in ein i-tes Primärexponentenelement a(i) zugeführt wird,
eine Multiplikator-Exponenten-Transformationseinrichtung, der das j-te Multiplikatorelement y(j) zum Durchführen der Exponententransformation des j-ten Multiplikatorelements y(j) in ein j-tes Sekundärexponentenelement b(j) zugeführt wird,
eine Modulo-L²-Summiereinrichtung, die mit der Multiplikanden-Exponenten-Transformationseinrichtung und der Multiplikator-Exponenten-Transformationseinrichtung zum Berechnen einer Modulo-L²-Summe des i-ten Primärexponentenelements a(i) und des j-ten Sekundärexponentenelements b(j) verbunden ist, um eine Exponentensumme (a(i)+b(j)) mod L² zu erzeugen, die die Modulo-L²-Summe angibt, und
eine Invers-Exponenten-Transformationseinrichtung, die mit der Modulo-L²-Summiereinrichtung zum Durchführen einer inversen Exponententransformation der Exponentensumme (a(i)+b(j)) mod L² in das unterteilte Produkt p(x(i), y(j)) verbunden ist.
3. Multiplikationseinrichtung nach Anspruch 1, gekennzeichnet
durch:
eine Multiplikandenspeichereinrichtung, die durch nullte bis (N-1)te Multiplikandenadressen zugewiesen wird und mit der Berechnungseinrichtung für unterteilte Produkte zum Speichern der nullten bis (N-1)ten Multiplikandenelemente x(0) bis x(N-1) unter der entsprechenden nullten bis (N-1)ten Multiplikandenadresse verbunden ist,
eine Multiplikatorspeichereinrichtung, die der nullten bis (M-1)ten Multiplikatoradresse zugewiesen ist und die mit der Berechnungseinrichtung für unterteilte Produkte zum Speichern der nullten bis (M-1)ten Multiplikatorelemente y(0) bis y(M-1) unter der entsprechenden nullten bis (M-1)ten Multiplikatoradresse verbunden ist, und
eine Leseeinrichtung, die mit der Multiplikandenspeichereinrichtung und der Multiplikatorspeichereinrichtung zum hintereinanderfolgenden Lesen mit Bezug auf die Eigenzahl k des i-ten Multiplikandenelements x(i) und des j-ten Multiplikatorelements y(j) aus einer i-ten Multiplikandenadresse der Multiplikandenspeichereinrichtung bzw. einer j-ten Multiplikatoradresse der Multiplikatorspeichereinrichtung verbunden ist, und
eine Zuführeinrichtung, die mit der Multiplikandenspeichereinrichtung, der Multiplikatorspeichereinrichtung und der Berechnungseinrichtung für unterteilte Produkte zum hintereinanderfolgenden Zuführen des i-ten Multiplikandenelements x(i) bzw. des j-ten Multiplikatorelements y(j) von der Multiplikandenspeichereinrichtung bzw. der Multiplikatorspeichereinrichtung zu der Berechnungseinrichtung für unterteilte Produkte verbunden ist.
eine Multiplikandenspeichereinrichtung, die durch nullte bis (N-1)te Multiplikandenadressen zugewiesen wird und mit der Berechnungseinrichtung für unterteilte Produkte zum Speichern der nullten bis (N-1)ten Multiplikandenelemente x(0) bis x(N-1) unter der entsprechenden nullten bis (N-1)ten Multiplikandenadresse verbunden ist,
eine Multiplikatorspeichereinrichtung, die der nullten bis (M-1)ten Multiplikatoradresse zugewiesen ist und die mit der Berechnungseinrichtung für unterteilte Produkte zum Speichern der nullten bis (M-1)ten Multiplikatorelemente y(0) bis y(M-1) unter der entsprechenden nullten bis (M-1)ten Multiplikatoradresse verbunden ist, und
eine Leseeinrichtung, die mit der Multiplikandenspeichereinrichtung und der Multiplikatorspeichereinrichtung zum hintereinanderfolgenden Lesen mit Bezug auf die Eigenzahl k des i-ten Multiplikandenelements x(i) und des j-ten Multiplikatorelements y(j) aus einer i-ten Multiplikandenadresse der Multiplikandenspeichereinrichtung bzw. einer j-ten Multiplikatoradresse der Multiplikatorspeichereinrichtung verbunden ist, und
eine Zuführeinrichtung, die mit der Multiplikandenspeichereinrichtung, der Multiplikatorspeichereinrichtung und der Berechnungseinrichtung für unterteilte Produkte zum hintereinanderfolgenden Zuführen des i-ten Multiplikandenelements x(i) bzw. des j-ten Multiplikatorelements y(j) von der Multiplikandenspeichereinrichtung bzw. der Multiplikatorspeichereinrichtung zu der Berechnungseinrichtung für unterteilte Produkte verbunden ist.
4. Multiplikationseinrichtung nach Anspruch 1, gekennzeichnet
durch:
eine Produktspeichereinrichtung, die durch nullte bis (N+M-1)te Produktadressen zugewiesen wird, zum Speichern des Produkt Q und
eine Speichereinrichtung, die mit der Produktspeichereinrichtung und der Akkumulationseinrichtung zum hintereinanderfolgenden Speichern der nullten bis (N+M-1)ten Produktelemente q(0) bis q(N+M-1) in der nullten bis (N+M-1)ten Produktadresse der Produktspeichereinrichtung verbunden ist.
eine Produktspeichereinrichtung, die durch nullte bis (N+M-1)te Produktadressen zugewiesen wird, zum Speichern des Produkt Q und
eine Speichereinrichtung, die mit der Produktspeichereinrichtung und der Akkumulationseinrichtung zum hintereinanderfolgenden Speichern der nullten bis (N+M-1)ten Produktelemente q(0) bis q(N+M-1) in der nullten bis (N+M-1)ten Produktadresse der Produktspeichereinrichtung verbunden ist.
5. Multiplikationseinrichtung zum Multiplizieren eines
Multiplikanden X mit einem Multiplikator Y, um ein Produkt
Q aus einem Multiplikanden X und einem Multiplikator y zu
erzeugen, wobei der Multiplikand X aus N Stellen bzw. Ziffern
besteht und durch nullte bis (N-1)te Multiplikandenelemente
x(0) bis x(N-1) repräsentiert wird, die in nullten
bis (N-1)ten Stellen angeordnet sind, welche durch L⁰ bis
LN-1 spezifiziert sind, wobei N eine erste vorgegebene natürliche
Zahl und L eine vorgegebene ganze Zahl repräsentieren,
die nicht kleiner als zwei ist, wobei der Multiplikator
Y aus M Ziffern bzw. Stellen besteht und durch nullte
bis (N-1)te Multiplikatorelemente y(0) bis y(M-1) repräsentiert
wird, die in nullten bis (M-1)ten Stellen angeordnet
sind, welche durch jeweils L⁰ bis LM-1 spezifiziert sind,
wobei M eine zweite vorgegebene natürliche Zahl repräsentiert,
und wobei das Produkt Q aus (N+M) Stellen bzw. Ziffern
besteht und durch nullte bis (N+M-1)te Produktelemente
q(0) bis q(N+M-1) repräsentiert wird, die in nullten bis
(N+M-1)ten Stellen angeordnet sind, welche durch L⁰ bis
LN+M-1 jeweils spezifiziert werden, wobei die Multiplikationseinrichtung
aufweist:
eine Multiplikandenspeichereinrichtung, die durch nullte bis (N-1)te Multiplikandenadressen zugewiesen wird, zum Speichern der nullten bis (N-1)ten Multiplikandenelemente x(0) bis x(N-1) unter den nullten bis (N-1)ten Multiplikandenadressen,
eine Multiplikatorspeichereinrichtung, die durch nullte bis (N-1)te Multiplikatoradressen zugewiesen wird, zum Speichern der nullten bis (M-1)ten Multiplikatorelemente y(0) bis y(M-1) unter der nullten bis (M-1)ten Multiplikatoradressen und
eine Leseeinrichtung, die mit der Multiplikandenspeichereinrichtung und der Multiplikatorspeichereinrichtung zum hintereinanderfolgenden Auslesen durch hintereinanderfolgendes Ändern einer Eigenzahl k in aufsteigender Reihenfolge von null bis (N+M-2) eines i-ten Multiplikandenelements x(i) und eines j-ten Multiplikatorelements y(j) aus einer i-ten Multiplikandenadresse der Multiplikandenspeichereinrichtung und einer j-ten Multiplikatoradresse der Multiplikatorspeichereinrichtung verbunden ist, wobei i eine erste Variable repräsentiert, die von null bis (N-1) inklusive beider Grenzen variabel ist, und wobei j eine zweite Variable repräsentiert, die variabel von null bis (M-1) inklusive beider Grenzen ist und wobei die Eigenzahl k gleich der Summe aus der ersten Variablen i und der zweiten Variablen j ist,
eine Erzeugungseinrichtung, die mit der Multiplikandenspeichereinrichtung und der Multiplikatorspeichereinrichtung zum hintereinanderfolgenden Erzeugen eines Paares aus dem i-ten Multiplikandenelement x(i) und dem j-ten Multiplikatorelement y(j) verbunden ist,
eine Berechnungseinrichtung für ein unterteiltes Produkt, die mit der Erzeugungseinrichtung zum Berechnen einer Sequenz aus unterteilten Produkten p(x(i), y(j)) aus dem i-ten Multiplikandenelement x(i) und dem j-ten Multiplikatorelement y(j) verbunden ist, und
eine Akkumulationseinrichtung, die mit der Berechnungseinrichtung für unterteilte Produkte zum hintereinanderfolgenden Akkumulieren der unterteilten Produkte p(x(i), y(j)) auf der Basis der Eigenzahl k durch Auswählen der unterteilten Produkte verbunden ist, die eine gemeinsame Eigenzahl haben, wobei die Akkumulationseinrichtung hintereinanderfolgend das Produkt Q in einer aufsteigenden Reihenfolge vom nullten Produktelement q(0) bis zum (N+M-1)ten Produktelement q(N+M-1) erzeugt,
eine Multiplikandenspeichereinrichtung, die durch nullte bis (N-1)te Multiplikandenadressen zugewiesen wird, zum Speichern der nullten bis (N-1)ten Multiplikandenelemente x(0) bis x(N-1) unter den nullten bis (N-1)ten Multiplikandenadressen,
eine Multiplikatorspeichereinrichtung, die durch nullte bis (N-1)te Multiplikatoradressen zugewiesen wird, zum Speichern der nullten bis (M-1)ten Multiplikatorelemente y(0) bis y(M-1) unter der nullten bis (M-1)ten Multiplikatoradressen und
eine Leseeinrichtung, die mit der Multiplikandenspeichereinrichtung und der Multiplikatorspeichereinrichtung zum hintereinanderfolgenden Auslesen durch hintereinanderfolgendes Ändern einer Eigenzahl k in aufsteigender Reihenfolge von null bis (N+M-2) eines i-ten Multiplikandenelements x(i) und eines j-ten Multiplikatorelements y(j) aus einer i-ten Multiplikandenadresse der Multiplikandenspeichereinrichtung und einer j-ten Multiplikatoradresse der Multiplikatorspeichereinrichtung verbunden ist, wobei i eine erste Variable repräsentiert, die von null bis (N-1) inklusive beider Grenzen variabel ist, und wobei j eine zweite Variable repräsentiert, die variabel von null bis (M-1) inklusive beider Grenzen ist und wobei die Eigenzahl k gleich der Summe aus der ersten Variablen i und der zweiten Variablen j ist,
eine Erzeugungseinrichtung, die mit der Multiplikandenspeichereinrichtung und der Multiplikatorspeichereinrichtung zum hintereinanderfolgenden Erzeugen eines Paares aus dem i-ten Multiplikandenelement x(i) und dem j-ten Multiplikatorelement y(j) verbunden ist,
eine Berechnungseinrichtung für ein unterteiltes Produkt, die mit der Erzeugungseinrichtung zum Berechnen einer Sequenz aus unterteilten Produkten p(x(i), y(j)) aus dem i-ten Multiplikandenelement x(i) und dem j-ten Multiplikatorelement y(j) verbunden ist, und
eine Akkumulationseinrichtung, die mit der Berechnungseinrichtung für unterteilte Produkte zum hintereinanderfolgenden Akkumulieren der unterteilten Produkte p(x(i), y(j)) auf der Basis der Eigenzahl k durch Auswählen der unterteilten Produkte verbunden ist, die eine gemeinsame Eigenzahl haben, wobei die Akkumulationseinrichtung hintereinanderfolgend das Produkt Q in einer aufsteigenden Reihenfolge vom nullten Produktelement q(0) bis zum (N+M-1)ten Produktelement q(N+M-1) erzeugt,
6. Multiplikationseinrichtung nach Anspruch 5, dadurch
gekennzeichnet, daß die Berechnungseinrichtung für unterteilte
Produkte aufweist:
eine Multiplikanden-Exponenten-Transformationseinrichtung, der das i-te Multiplikandenelement x(i) zum Durchführen einer Exponententransformation des i-ten Multiplikandenelements x(i) in ein i-tes Primärexponentenelement a(i) zugeführt wird,
eine Multiplikator-Exponenten-Transformationseinrichtung, der das j-te Multiplikatorelement y(j) zum Durchführen der Exponententransformation des j-ten Multiplikatorelements y(j) zu einem j-ten Sekundärexponentenelement b(j) zugeführt wird,
eine Modulo-L²-Summiereinrichtung, die mit der Multiplikanden-Exponenten-Transformationseinrichtung und der Multiplikator-Exponenten-Transformationseinrichtung zum Berechnen einer Modulo-L²-Summe aus dem i-ten Primärexponentenelement a(i) und dem j-ten Sekundärexponentenelement b(j) verbunden ist, um eine Exponentensumme (a(i)+b(j)) mod L² zu erzeugen, die die Modulo-L²-Summe angibt, und
eine Invers-Exponenten-Transformationseinrichtung, die mit der Modulo-L²-Summiereinrichtung zum Durchführen einer inversen Exponententransformation der Exponentensumme (a(i)+b(j) mod L² in das unterteilte Produkt p(x(i), y(j)) verbunden ist.
eine Multiplikanden-Exponenten-Transformationseinrichtung, der das i-te Multiplikandenelement x(i) zum Durchführen einer Exponententransformation des i-ten Multiplikandenelements x(i) in ein i-tes Primärexponentenelement a(i) zugeführt wird,
eine Multiplikator-Exponenten-Transformationseinrichtung, der das j-te Multiplikatorelement y(j) zum Durchführen der Exponententransformation des j-ten Multiplikatorelements y(j) zu einem j-ten Sekundärexponentenelement b(j) zugeführt wird,
eine Modulo-L²-Summiereinrichtung, die mit der Multiplikanden-Exponenten-Transformationseinrichtung und der Multiplikator-Exponenten-Transformationseinrichtung zum Berechnen einer Modulo-L²-Summe aus dem i-ten Primärexponentenelement a(i) und dem j-ten Sekundärexponentenelement b(j) verbunden ist, um eine Exponentensumme (a(i)+b(j)) mod L² zu erzeugen, die die Modulo-L²-Summe angibt, und
eine Invers-Exponenten-Transformationseinrichtung, die mit der Modulo-L²-Summiereinrichtung zum Durchführen einer inversen Exponententransformation der Exponentensumme (a(i)+b(j) mod L² in das unterteilte Produkt p(x(i), y(j)) verbunden ist.
7. Multiplikationseinrichtung nach Anspruch 5, gekennzeichnet
durch:
eine Produktspeichereinrichtung, die durch nullte bis (N+M-1)te Produktadressen zum Speichern des Produkts Q zugewiesen wird, und
eine Speichereinrichtung, die der Produktspeichereinrichtung und der Akkumulationseinrichtung zum hintereinanderfolgenden Speichern der nullten bis (N+M-1)ten Produktelemente q(0) bis q(N+M-1) in entsprechenden nullten bis (N+M-1)ten Produktadressen der Produktspeichereinrichtung verbunden ist.
eine Produktspeichereinrichtung, die durch nullte bis (N+M-1)te Produktadressen zum Speichern des Produkts Q zugewiesen wird, und
eine Speichereinrichtung, die der Produktspeichereinrichtung und der Akkumulationseinrichtung zum hintereinanderfolgenden Speichern der nullten bis (N+M-1)ten Produktelemente q(0) bis q(N+M-1) in entsprechenden nullten bis (N+M-1)ten Produktadressen der Produktspeichereinrichtung verbunden ist.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP18407690 | 1990-07-13 |
Publications (1)
Publication Number | Publication Date |
---|---|
DE4123186A1 true DE4123186A1 (de) | 1992-01-23 |
Family
ID=16146970
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19914123186 Withdrawn DE4123186A1 (de) | 1990-07-13 | 1991-07-12 | Multiplikationseinrichtung vom typ fuer unterteilte produkte, die zum ausfuehren einer multiplikation numerischer werte mit vielen stellen bei hoher genauigkeit faehig ist |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE4123186A1 (de) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0967544A2 (de) * | 1998-06-25 | 1999-12-29 | Texas Instruments Incorporated | Digitaler Signalprozessor für Daten mit grosser Bitlänge |
CN112292663A (zh) * | 2018-06-19 | 2021-01-29 | 罗伯特·博世有限公司 | 使至少两个被乘数相乘的计算单元、方法和计算机程序 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2142636B2 (de) * | 1971-08-25 | 1978-12-07 | Siemens Ag, 1000 Berlin Und 8000 Muenchen | Rechenwerk für die Durchführung digitaler Multiplikationen |
DE3636106A1 (de) * | 1985-10-23 | 1987-04-23 | Mitsubishi Electric Corp | Digitaler signalprozessor |
-
1991
- 1991-07-12 DE DE19914123186 patent/DE4123186A1/de not_active Withdrawn
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2142636B2 (de) * | 1971-08-25 | 1978-12-07 | Siemens Ag, 1000 Berlin Und 8000 Muenchen | Rechenwerk für die Durchführung digitaler Multiplikationen |
DE3636106A1 (de) * | 1985-10-23 | 1987-04-23 | Mitsubishi Electric Corp | Digitaler signalprozessor |
Non-Patent Citations (1)
Title |
---|
IBM Techn. Disclos. Bull., Vol. 17, No. 8, Jan. 1971 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0967544A2 (de) * | 1998-06-25 | 1999-12-29 | Texas Instruments Incorporated | Digitaler Signalprozessor für Daten mit grosser Bitlänge |
EP0967544A3 (de) * | 1998-06-25 | 2001-02-14 | Texas Instruments Incorporated | Digitaler Signalprozessor für Daten mit grosser Bitlänge |
CN112292663A (zh) * | 2018-06-19 | 2021-01-29 | 罗伯特·博世有限公司 | 使至少两个被乘数相乘的计算单元、方法和计算机程序 |
CN112292663B (zh) * | 2018-06-19 | 2023-12-12 | 罗伯特·博世有限公司 | 使至少两个被乘数相乘的计算单元、方法和计算机程序 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE1181461B (de) | Adressenaddierwerk einer programm-gesteuerten Rechenmaschine | |
DE19758079A1 (de) | Verfahren und Vorrichtung zur Galoisfeld-Multiplikation | |
DE1146290B (de) | Elektronisches Datenverarbeitungssystem | |
DE3326583C2 (de) | ||
DE2712224A1 (de) | Datenverarbeitungsanlage | |
DE69325618T2 (de) | Architektur zur Erzeugung einer kovarianten Matrize | |
DE2934344C2 (de) | ||
DE4038240A1 (de) | Prozessor zum durchfuehren einer orthogonaltransformation | |
DE2338469A1 (de) | Programmierbares digitales datenverarbeitungsgeraet | |
DE3507584C2 (de) | ||
DE102007056104A1 (de) | Verfahren und Vorrichtung zur Multiplikation von Binäroperanden | |
DE1499281B1 (de) | Rechenmaschine fuer logarithmische Rechnungen | |
DE2758505C3 (de) | Spezialisierter Digitalrechner zur statistischen Informationsverarbeitung | |
DE69315250T2 (de) | Neuronaler Prozessor mit Datennormalisierungsanlage | |
DE69326968T2 (de) | Datenverteilungsverfahren und -gerät | |
DE4123186A1 (de) | Multiplikationseinrichtung vom typ fuer unterteilte produkte, die zum ausfuehren einer multiplikation numerischer werte mit vielen stellen bei hoher genauigkeit faehig ist | |
EP0598112B1 (de) | Verfahren und anordnung zum bilden der summe einer kette von produkten | |
DE2024304C3 (de) | Adressenwandler zur Bestimmung eines Speicherplatzes in einem von mehreren Umlaufspeichern | |
DE2809341C2 (de) | ||
DE19827238B4 (de) | Verfahren zum Betrieb eines Vektorrechners | |
DE3341339C2 (de) | Befehlsfolgegenerator | |
DE1125685B (de) | Rechenmaschine | |
DE1934441C3 (de) | Befehlswerkgesteuertes Rechenwerk für einen Digitalrechner | |
EP0004340B1 (de) | Pseudozufällige Erzeugung von orthogonalen Matrizen für Verschlüsselungszwecke | |
DE69227887T2 (de) | Verfahren und Geräte zur Feststellung des Produkts zweier Zahlen |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8130 | Withdrawal |