-
Rechenwerk für die Durchführung digitaler Multiplikationen.
-
Die Erfindung bezieht sich auf ein Rechenwerk für die Durchführung
von Multiplikationen eines in Binärform vorliegenden Multiplikators und eines ebenfalls
in Binärform vorliegenden Multiplikanden, wobei der Multiplikator in jeweils paarweise
aufeinanderfolgende Geilmultiplikatoren zerlegt ist, deren beide Werte in jeweils
einer Teil-Multiplikationseinrichtung mit dem Multiplikanden multipliziert werden
und aus dem Ergebnis Zwischensummen gebildet werden, die aufaddiert das gewünschte
Ergebnis der Multiplikation liefern.
-
Aus der USA-Patentschrift 3 069 085 ist eine digital arbeitende Multipliziereinrichtung
bekannt, bei welcher der Multiplikator in paarweise aufeinanderfolgende Teilmultiplikatoren
zerlegt ist.
-
Diese Teilmultiplikatoren können aus den Kombinationen 00, 01, 10,
ii bestehen. Mit diesen Teilmultiplikatoren können in'verschiedenen Verfahrensschritten
Zwischenergebilisse gebildet werden, welche in bestimmter Weise aufaddiert das gewunschte
Ergebnis der Multiplikation ergeben. Das bekannte Rechenwerk erfordert für die Durchführung
der Rechenvorgänge einen sehr großen Aufwand an Steuerungs- und Speichereinrichtungen,
was einerseits wegen der damit verbundenen Kosten und andererseits wegen der Vergrößerung
der Verarbeitungszeit unerwünscht ist Der vorliegenden Erfindung liegt die Aufgabe
zugrunde, ein Rechenwerk zu schaffen, welches einfach aufgebaut ist und mit geringem
Aufwand eine schnelle und zuverlässige Durchführung der einzelnen Rechenoperationen
ermöglicht. Gemäß der Erfindung, welche sich auf ein Rechenwerk der eingangs genannten
Art bezieht,
wird diese Aufgabe dadurch gelöst, daß der Multiplikand
parallel in eine Anzahl von Verarbeitungsstufen eingegeben ist, ar welche jeweils
die beiden Stellen von zweistelligen Teilmultiplikatoren angelegt sind, welche bei
der Wertigkeit "O" den åeweiligen Multiplikanden in allen Stellen zu 0" machen und
bei der Wertigkeit "1" den gesamten Multiplikanden unverändert lassen, daß die beiden
Teilergebnisse jeder Verarbeitungsstufe als Eingangsdaten einem Addierer zugeführt
werden, dessen Bingarge derart parallel fest verdrahtet sind, daß die beiden Teilrgebnisse
in der zugehörigen Verschiebung von einem Stellenwert eingegeben werden und daß
die aus den Teilergebnissen so gebildeten Zwischensummen der verschiedenen Verarbeitungsstufen
aufaddiert werden.
-
Durch die parallele Eingabe der Multiplikanden sind alle Verarbeitungsstufen
des Rechners gleichzeitig betriebsbereit. Die in einfacher Weise erhaltenen Teiiergebnisse
jeder Verarbeitungsstufe gelangen parallel zu den fest-:erdrahteten Eingängen der
Addierer, wobei wegen der festen Verdrahtung der Aufwand und die Zeit für zusätzliche
SteuervorgPfflnge entfallen kann. Ebenso einfach und schnell wird aus deil Zischnsunmen
durch Aufaddieren das Endergebnis gefunden.
-
Die Erfindung sowie Wekterbildunge:tX de Erfindung sind anhand von
Zeichnungen näher erläutert Es zeigen: Fig. 1 im Blockschaltbild den Aufbau eines
Rechenwerkes nach der Erfindung, Fig. 2 ein Beispiel einer digitalen Multiplikation,
Fig. 3 im Blockschaltbild eir Rechenwerk nach der Erfindung, welches durch zusätzliche
Puffsrsr:eicher ergänzt ist Bei dem Rechenwerk nach Fig. 1 ist angenommen, daß als
Multiplikand eine dreistellige und als Multiplikator eine sechsstellige Binärzahl
vorliegt, wobei diese Einschränkung nur zur Vereinfachung der Darstellung dient.
In der Praxis kann die Anordnung
zelbstverständlich für jede beliebige
Kombination von Multiplikand und Multiplikator ausgelegt werden. Der Multiplikand
bestehe aus den birsären Elementen x2 x1 x0 und sei in einem Multiplikandenregister
bzw. -speicher XR gespeichert. Der Multiplikator bestehe aus den binären Elementen
Y@ Y@ Y@ Y@ Y@ Y@ und sei im Multiplikatorregister YR gespeichert. Der Multiplikand
wird über ein Leitungssystem im Vielfach parallel an die verschiedenen Verarbeitungsstufen
V1, V2, V3 geliefert, wobei für einen n-stelligen Multiplikator mindestens n/2 Verarbeitungsstufen
erSorderlich sind, sofern n eine gerade Zahl ist bzw. wenn n eine ungerade Zahl
ist n + 1 /2 Verarbeitungsetufen. Diese Verarbeitungsstufen enthalten jeweils zwei
Reihen von UND-Gattern, welche mit US bis U0 bezeichnet sind. An den einen ingang
der UND-Gatter jeder Reihe U5 bis U0 werden jeweils die Werte von x2 x1 und x0 parallel
angelegt und zwar derart, daß das erste UND-Gatter mit x2, das zweite UND-Gatter
mit x1 und das dritte UND-Gatter jeder Reihe mit sO beaufschlagt wird.
-
Der Multiplikator, welcher im Speicher YR gespeichert ist, wird in
paarweise aufeinanderfolgende Teilmultiplikatoren zerlegt, was für das angegebene
Beispiel folgende Teilmultiplikatoren ergibt: Y5 Y4; Y3 Y2; Y1 YO- Der Teilmultiplikator
y5 y4 wird an die Verarbeitungsstufe VI, der Teilmultiplikator Y3 Y2 an die Verarbeitungsetufe
V2 und der Teilmultlplikator Y1, Y2 an die Verarbeitungsstufe V3 angelegt. Dabei
wird bei der Verarbeitungsstufe Vi der Wert von y5 an den zweiten Eingang der Gatter
der UND-Gatterreihe US und der Wert von y4 an den zweiten Eingang der Gatter der
Ul@-Gatterreihe U4 angelegt. Entsprechend ist der Wert von y3 an den zweiten
Eingang der Gatter der UND-Gatterreihe U5, der Wert von Y2 an den zweiten Eingang
der Gatter der UND-Gatterreihe U2, der Wert von Y1 an den zweiten Eingang der Gatter
der UND-Gatterreihe Ul und der Wert von y0 an den zweiten Eingang der Gatter der
UND-Gatterreihe U0 angelegt. An den Ausgängen der Gatter der einzelnen UtS-Gatterreihen
US bis UO ergibt sich, wenn einer der Werte y5 bis y0 gleich 0 ist, der
Wert
0 und bei denjenigen Werten von y5 bis yO, welche 1 sind, der gleiche Wert wie derjenige,
welcher an dem entsprechenden, mit x2, x1 oder x0 beaufschlagten Eingang der UND-Gatter
auftritt.
-
Zur Erläuterung der Wirkungsweise ist in Fig. 2 ein Beispiel für die
Werte von x (101) bzw. y (111000) angegeben. Daraus ist ersichtlich, daß in Fällen,
in welchen der jeweilige Multiplikator y den Wert 1 aufweist, durch die Multiplikation
mit dem Multiplikanden 101 jeweils sich wieder der gleiche Wert 101 ergibt, während
in Fällen, in denen der jeweilige Wert von y gleich 0 ist, auch das entsprechende
Teilprodukt den Wert 000 aufweist.
-
An den Ausgängen der Yerarbeitungsstufen Vi V2 und V3 stehen somit
Teilprodukte der in Fig.2 dargestellten Form zur Verfügung, welche nunmehr zu Zwischensummen
21 2 3 zusminengefaßt werden, wobei die Stellenwerte der Teilprodukte beachtet werden
müssen. in allen Fällen ist aber das am Ausgang der flND-Gatterreihe Ul sich ergebende
Teilprodukt gegenüber dem am Ausgang der UND-Gatterrethe U0 auftretenden Teilprodukt
um eine Stelle nach rechts zu verschieben.
-
in der gleichen Weise wie bei dem Addierer 51 beschrieben, werden
auch die Ergebnisse der Multiplikation bei den Verarbeitungsstufen V2 und V3 den
nachgeschalteten Addierern S2 bzw. S3, zugeführt und dort die Summen 22 bzw. 23~gebildet.
Die Zusammenführung der Zwischensumme I1 und 22 erfolgt in einem weiteren Addierer
812, welcher ebenfalls hinsichtlich seiner Eingangsschaltungen fest verdrahtet ist.
Gegenüber den Addierern s1 bis 53 bestellt hier jedoch der Unterschied, daß der
Stellenwert der Zwischensumme #2 um zwei Stellen gegenüber dem Stellenwert der Zwischnsumme
#1 nach rechts verschoben ist.
-
Das Ergebnis 212, welches am Ausgang des Addierers 812 vorhanden ist,
wird einem weiteren Addierer 5123 zugeführt, in den gleichzeitig auch das Teilergebnis
23 des Addierers 53 eingegeben wird.
-
Bei diesem Addierer S123 ist der Stellenwert der von der Verarbeitungsstufe
V3 kommenden Zwischensumme um weitere zwei Stellen, Also insgesamt vier Stellen
nach rechts verschoben. Am Ausgang des Addierers S123 steht das gewünschte Ergebnis
zur Verfügung, wobei die Stellenwerte des Ausführungsbeispiels nach Fig. 2 eingetragen
sind. Dabei tritt an der ersten Stelle links ein Übertrag 1 auf, welcher durch eine
gestrichelte Linie angedeutet ist.
-
Da~die jeweiligen Stellenverschiebungen bei allen Eingängen der Addierer
vorbekannt sind, können diese Anschlüsse fest verdrahtet werden. Durch die feste
Verdrahtung sowohl der Verarbeitungsstufen Vi bis V3 als auch der Summierstufen
82 bis 53 sowie 512 und S123 läßt sich ohne großen Aufwand an Schalt- und Steuereinrichtungen
in einfacher Weise ein sehr schnell und außerdem sicher und zuverlässig arbeitendes
Multiplizierwerk aufbauen. Für die Addierer 51 bis S123 kann zweckmäßig ein arithmetischer
Baustein, z.B. die unter der Typenbezeichnung SN 74181 bekannte arithirietisch 4
Bit-Binheit, verwendet werden.
-
in manchen Fällen kann es zweckmäßig sein, die Rechengeschwindigkeit
eines Multiplizierwerkes nach Fig. 1 zusätzlich zu erhöhen.
-
Hierzu ist der Einsatz von Pufferspeichern vorteilhaft, welche bei
der Ausführungsform nach der Fig. 3 mit ro bis P6 bezeichnet sind. Der übrige Aufbau
des Rechenwerkes entspricht vollständig der Anordnung nach Fig.1, weshalb auch die
entsprechenden Bezeichnungen übernommen worden sind und die Funktion der dort beschriebenen
Elemente hier nicht mehr erläutert wird. Die dick aus gezogenen Linien sollen andeuten,
daß eine entsprechende Vielfachverdrahtung zur parallelen Übertragung der einzelnen
Größen vorzusehen ist. Die aus dem Multiplikatorregister YR entnommenen Teilmultiplikatoren
y5 y4; y3 Y2; y1 y0 werden durch einen ersten Arbeitstakt eines zentralen Taktgebers
T an die entsprechenden Eingänge der Verarbeitungsstufen Vi bis V3 gelegt. Zugleich
wird aus dem Multiplikandenregister XR der Multiplikand xm in den Eingangsteil des
Pufferspeichers 1>0 eingegeben. im nächsten
Arbeitstakt wird
Xm in den Ausgangsteil des Pufferspeichers ro übertragen und damit der Eingangsteil
des Pufferspeichers 1>0 wieder betriebsbereit gemacht für die Einspeicherung
eines neuen Multiplikanden xm. Gleichzeitig wird vom Ausgangsteil des Pufferspeichers
1>0 aus der Multiplikand parallel im Vielfach den Verarbeitungsstufen Vi bis
V3 zugeführt, dort mit den entsprechenden Werten der Teilmultiplikatoren multipliziert,
in den Addierern S1 bis S3 zu Zwischensummen zusammengefaßt und an die Eingangsteile
der Pufferspeicher 1>1 bis P3 übertragen. Nach Abschluß dieser Arbeitsgänge werden
durch den nächsten Steuerim-Puls des Taktgebers T die erhaltenen Zwischensummen
in die Ausgangsteile der Pufferspeicher Pl bis 1>3 übernommen und zugleich die
Einspeicherung des neuen Multiplikanden Xm in die Verarbeitungsstufen Vi bis V3
zugelassen, die dann dort mit einem neuen Multiplikator m oder dem früheren Multiplikator
yn multipliziert werden, wobei die Ergebnisse in den mittlerweile freien Eingantsteil
der Pufferspeicher 1>1 bis 1>3 aufgenommen werden können. Nach einem weiteren
Takt des Taktgebers T wird im Addierer S12 die Bildung der Zwischensummen #1 und
22 vorgenommen und das Ergebnis den Pufferspeichern 1>4 und PS zugeführt. Auf
einen weiteren Steuerimpuls vom Taktgeber T hin gelangt das so erhaltene Ergebnis
212 in die Ausgangsteile der Puffer 1>4 und 1>5. Damit sind die Pufferspeicher
Pl bis P3 eingangsseitig frei und können das Ergebnis der in den Verarbeitungsstufen
Vi bis V3 vorgenommenen zweiten Multiplikation aufnehmen. Durch einen weiteren Arbeitstakt
wird das Ergebnis vom Eingang der Pufferspeicher P4 und P5 in deren Ausgang umgespeichert.
Da die zweite Multiplikation mittlerweile die Verarbeitungsstufen Vi bis V3 und
die Addierstufen S1 bis S3 durchlaufen haben, kann mit dem nächsten Arbeitstakt-
über den Pufferspeicher P0 ein neuer Multiplikand in die Verarbeitungsstufen Vi
bis T3 eingespeichert, gleichzeitig das Ergebnis der zweiten Multiplikation dem
Addierer S12 durch Umspeicherung vom Eingang in den Ausgang der Pufferspeicher P1
und P2 zugeführt und das Ergebnis im Ausgang des Pufferspeichers P3 in den Eingang
des Pufferspeichers P5 übernommen werden, während
ebenfalls gleichzeitig
vom Ausgang der Pufferspeicher 1>4 und 1>5 das Ergebnis der ersten Multiplikation
in den Addierer S123 übernommen wird. Beim nächsten Arbeitstakt gelangt das Ergebnis
der ersten Multiplikation in den Pufferspeicher 1>6, während die übrigen Pufferspeicher
ebenfalls um eine Stufe weiter geschaltet werden.
-
Die Erfindung ist mit besonderem Vorteil für die Multiplikationseinrichtungen
digitaler Filter, insbesondere der Radargeräte, anwendbar. Neben einem schnellen
Wechsel der Faktoren, z.B. für adaptive Filter, ist dort ein rascher Ablauf des
Multiplikationsvorgangs erforderlich. Je kürzer die hierfür vorgesehene Zeit ist,
desto größer kann z.B. die Stellenzahl bei fester Überarbeitungszeit gewählt werden
und desto kleiner wird das sogenannte Quantisierungsrauschen.
-
7 Patentansprüche 3 Figuren