DE2605495B2 - Multiplikationsschaltung, insbesondere zum filtern von zeitmultiplexinformationen - Google Patents
Multiplikationsschaltung, insbesondere zum filtern von zeitmultiplexinformationenInfo
- Publication number
- DE2605495B2 DE2605495B2 DE19762605495 DE2605495A DE2605495B2 DE 2605495 B2 DE2605495 B2 DE 2605495B2 DE 19762605495 DE19762605495 DE 19762605495 DE 2605495 A DE2605495 A DE 2605495A DE 2605495 B2 DE2605495 B2 DE 2605495B2
- Authority
- DE
- Germany
- Prior art keywords
- deep
- low
- multiplier
- bit
- bits
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/52—Multiplying; Dividing
- G06F7/523—Multiplying only
- G06F7/53—Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel
- G06F7/5324—Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel partitioned, i.e. using repetitively a smaller parallel parallel multiplier or using an array of such smaller multipliers
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03H—IMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
- H03H17/00—Networks using digital techniques
- H03H17/02—Frequency selective networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/38—Indexing scheme relating to groups G06F7/38 - G06F7/575
- G06F2207/3804—Details
- G06F2207/386—Special constructional features
- G06F2207/3884—Pipelining
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Complex Calculations (AREA)
Description
Die Erfindung betrifft eine fortlaufend arbeitende binäre Multiplikationsschaltung, insbesondere zum Filtern von Zeitmultiplexinformationen mit einem vorgegebenen Informationsfluß, gemäß dem Oberbegriff des Patentanspruchs.
Es ist bekannt (siehe Buch von Jean-Claude Radix "Introduction au filtrage numerique", erschienen im Verlag Eyrolles, Paris, 1970, auf Seite 45), daß man mit einem numerischen Filter der Ordnung r, wenn man die r ersten diskreten Werte einer numerischen Ausgangsfunktion y und die s + 1 neuesten Werte einer numerischen Eingangsfunktion x kennt, den neuen Wert der Ausgangsfunktion bestimmen kann nach:
Bei einem Filter erster Ordnung wird die Differenzgleichung (1) zu:
y(nT) = x(nT) + K y [(n - 1)T]
Ein numerisches Filter enthält also einen oder mehrere Multiplikatoren einer binären numerischen Funktion y oder x mit binären numerischen Koeffizienten K[tief]i und L[tief]i.
Ein numerisches Filter ist um so bedeutender, je größer die Zahl der mit ihm beeinflußbaren Kanäle ist, je größer also der Informationsgehalt eines numerischen Eingangssignals sein kann, das ihm eingegeben werden kann. Hierbei müssen die Worte des numeri-
schen Eingangssignals in rascher Taktfolge verarbeitet werden, und eine Multiplikation eines M.I.C.-Wortes muß beendet sein, wenn das nachfolgende Wort am Eingang des numerischen Filters erscheint.
Die Verhältnisse lassen sich anhand des in Fig. 1 schematisch dargestellten numerischen Filters erläutern. Es weist einen Additionskreis 1, einen Multiplikationskreis 2 und einen Verzögerungskreis 3 auf. Wenn man mit T die Dauer einer Informationszeile oder eines Rahmens, mit t[tief]+ die Additionszeit im Additionskreis 1, mit t[tief]x die Multiplikationszeit im Multiplikationskreis 2 und mit t die Verzögerungszeit im Verzögerungskreis 3 bezeichnet, muß folgende Ungleichung gelten:
T >/= t[tief]+ + t[tief]x + t
Wenn n die Anzahl der Kanäle ist und somit die Bearbeitungszeitspanne T/n wird, müssen folgende Ungleichungen erfüllt sein:
t[tief]+ </= T/n
t[tief]x </= T/n
Bei einer gewöhnlichen Parallel/Serien-Multiplikation mit einer Multiplikationszeit von t[tief]x = 1 µs kann man in einer Bearbeitungszeitspanne von T = 125 µs maximal
n </= 125/1 = 125 Kanäle
behandeln. Um die Anzahl der erfaßbaren Kanäle zu vergrößern, muß man t[tief]+ und t[tief]x verkleinern.
Wenn ein Signalwort am Eingang des Additionskreises 1 im Zeitpunkt 0 auftritt, verläßt es den Additionskreis 1 nach der Addition nach der Zeitspanne t[tief]+, und das Ergebnis seiner Multiplikation mit dem Koeffizienten K muß am anderen Eingang des Additionskreises nach der Zeitspanne T vorliegen. Die Zeitspanne für die Ausführung der Multiplikation beträgt also höchstens T - t[tief]+. Andererseits sollten die Worte in den Multiplikationskreis 2 in der Taktfolge T/n eintreten. Man sieht hieraus, daß bei einer numerischen Filterung das Ergebnis der Multiplikation nicht sofort erforderlich ist und daß nicht die Rechenzeit, sondern die Anzahl der pro Sekunde verarbeiteten Informationen entscheidend ist.
Eine binäre Multiplikationsschaltung ist durch die US 37 95 880 vom 19. Juni 1972 bekannt. Diese binäre Multiplikationsschaltung weist neben zwei Permanentspeichern für den Multiplikator und den Multiplikanden Schieberegister auf, welche die Teilprodukte aus einem Bit des Multiplikators mit den Bits eines Teilwortes des Multiplikanden registrieren. Die Schieberegister sind mit den Additionsschaltungen eines Vielfachadditionskreises über Gruppen verbunden, die einer bestimmten Zahl von aufeinanderfolgenden Spalten entsprechen, die bei der üblichen Ausführung einer binären Multiplikation auftreten. Bei der Einrichtung nach dem vorstehend genannten US-Patent sind alle Teilprodukte in Schieberegistern registriert. Dann werden zur Verkürzung der Rechenzeit der Multiplikation die Teilprodukte einer ersten Spalte jeder Gruppe der Schieberegister addiert, dann die zweiten anschleißenden Spalten mit den ersten Spalten usw. Da die Addition der Teilprodukte von Spalte zu Spalte durchgeführt wird, muß einerseits die Multiplikation mit einem ersten Multiplikanden voll beendet werden, bevor die Multiplikation mit einem zweiten Multiplikanden beginnt, und es müssen andererseits zu Beginn des Multiplikationsvorganges alle Teilworte eines Multiplikanden registriert werden. In diesem Fall, wo die Multiplikationszeit gegenüber einer üblichen Multiplikation merklich verringert ist, ist die Informationsausgabe der binären Multiplikationsschaltung aber um so geringer, je größer die Zahl der Bits ist, die den Multiplikator und den Multiplikanden bilden.
Eine andere binäre Multiplikationsschaltung ist durch die US 36 91 359 bekannt. Bei dieser Schaltung wird die Addition der Teilprodukte eines Bits des Multiplikators mit einem Bit des Multiplikanden, Zeile für Zeile durchgeführt, die beim üblichen Ablauf einer binären Multiplikation auftreten, soweit steht diese Multiplikationsschaltung also im Gegensatz zur Multiplikationsschaltung nach der US 37 95 880. Es sind Additionsschaltungen vorgesehen, mit denen die Ergebnisse der Additionen der vorhergehenden Zeilen mit den Teilprodukten einer nachfolgenden Zeile addiert werden, die um einen Binärrang in den Schieberegistern verschoben sind. Der Multiplikand ist in einem Permanentspeicher registriert, der eine Kapazität von nur einem Wort pro Verbindungsweg hat. Dadurch ergeben sich die gleichen Nachteile, die vorstehend in Verbindung mit der Schaltung der US 37 95 880 angeführt worden sind.
Der Erfindung liegt die Aufgabe zugrunde, eine fortlaufend arbeitende binäre Multiplikationsschaltung zu schaffen, die kurze bzw. einfache Multiplikationsschaltungen aufweist und eine schnelle Operationsfolge bezüglich der Operanden erlaubt.
Die gestellte Aufgabe wird erfindungsgemäß mit einer Multiplikationsschaltung der eingangs genannten Art durch die im Patentanspruch angegebenen Merkmale gelöst.
Bei der erfindungsgemäß ausgebildeten Multiplikationsschaltung ist der sehr große Informationsfluß unabhängig von der Anzahl der Bits, welche die Worte des Multiplikanden bilden. In bezug auf die eingangs genannten Zeitverhältnisse bei numerischen Filtern ergibt die Multiplikationsschaltung gemäß der Erfindung den Vorteil, daß die Mindestzeitspanne t, die erforderlich ist, um das Produkt und die Addition von zwei Binärelementen zu bilden, größer sein kann als das Zeitintervall zwischen der Bearbeitung von zwei Binärelementen des Multiplikanden. Es gilt also
T < t
Die Zeitspanne zur Parallelübertragung aller Bits eines am Eingang der Multiplikationsschaltung auftretenden Multiplikanden ist viel kleiner als die zur Bildung einer Summe der Produkte aller Bits des Multiplikanden mit einem Bit des Multiplikators und einer analogen und vorher gebildeten Summe oder des Produkts aller Bits des Multiplikanden mit einem anderen Bit des Multiplikators erforderliche Zeit.
Zur Berücksichtigung dieser Ungleichheit von T und t werden erfindungsgemäß die Worte des Multiplikanden in Teilworte gegliedert, und es wird ein Registerspeicher für die Worte des Multiplikanden und ein Registerspeicher für die gebildeten Teilsummen verwendet, um keine nachfolgende Information zu verlieren. Durch eine entsprechende Verkabelung der Registerausgänge mit den nachfolgenden Multiplizierschaltungen und mit Hilfe der Multipliziersteuerkreise läßt sich der Multiplikand und lassen sich gebildete Teilsummen ohne Schwierigkeiten in der im Patentanspruch erläuterten Weise neu unterteilen, wenn das jeweils niedrigstwertige Multiplikandenbit oder Teilsummenbit abgezweigt und als Endproduktbit abgespeichert wird. Die Mindestzeit, nach welcher man eine
nachfolgende Information in die erfindungsgemäß ausgebildete Multiplikatorschaltung eingeben kann, ist gleich der Zeit, die zum Bilden einer Teilsumme erforderlich ist. Diese Zeit wird nachfolgend mit kleines Tau bezeichnet.
Nachfolgend werden Ausführungsbeispiele des Erfindungsgegenstandes anhand der Zeichnungen näher erläutert. Es zeigt
Fig. 1 ein numerisches Filter erster Ordnung, das bereits vorstehend behandelt worden ist,
Fig. 2 ein Schema, das den Ablauf der Multiplikation in einer erfindungsgemäß ausgebildeten Multiplikationsschaltung erläutert,
Fig. 3A und 3B im Blockschaltdiagramm eine binäre Multiplikationsschaltung mit großem numerischen Informationsfluß für einen allgemeinen Fall, in welchem die Multiplikanden k Worte mit q Bits und die Multiplikatoren m Bits aufweisen,
Fig. 4 eine erfindungsgemäß ausgebildete Multiplikationsschaltung mit großem numerischen Informationsfluß im Blockschaltdiagramm für den besonderen Fall, in welchem die Multiplikanden zwei Worte mit 8 Bits und die Multiplikatoren 15 Bits aufweisen.
Fig. 2 erläutert den allgemeinen Ablauf der Multiplikation von zwei binären Worten, einem Multiplikanden X und einem Multiplikator C. Der Multiplikand X hat n Bits und ist in k Teilworte X[tief]j (1 </= j </= k) von q Bits (n = kq) geteilt, und der Multiplikator C hat m Bits C[tief]i (1 </= i </= m). Die Multiplikation ist in Fig. 2 schematisch gesetzt und in ihrem Ablauf dargestellt.
Die Zeile Nr. 1 der in Fig. 2 dargestellten Multiplikation weist die Produkte der Teilworte des Multiplikanden mit dem ersten Bit C[tief]1 mit dem geringsten (oder Null-)Rang (Wertigkeit) von C auf:
Zeile Nr. 1
X[tief]kC[tief]1 X[tief]j+1C[tief]1 X[tief]jC[tief]1 X[tief]j-1C[tief]1 X[tief]1C[tief]1
In der Zeile Nr. 2 der Fig. 2 sind die Teilworte X der Zeile Nr. 1 um ein Bit nach links verschoben und damit in Teilworte X' verwandelt, und die Teilworte X' sind mit C[tief]1 multipliziert worden:
Zeile Nr. 2
X'[tief]kC[tief]1 X'[tief]j+1C[tief]1 X'[tief]jC[tief]1 X'[tief]j-1C[tief]1 X'[tief]1C[tief]1
(X'[tief]j ist das Wort X[tief]j, dem rechts das Bit mit dem geringsten binären Rang weggenommen und dem links das Bit mit dem geringsten binären Rang von X[tief]j+1 hinzugefügt worden ist). Das Bit mit dem geringsten binären Rang XR[tief]1 des Produktes X[tief]1C[tief]1 ist das Bit mit dem binären Rang Null des Ergebnisses der Multiplikation.
Die Zeile Nr. 3 der Fig. 2 weist die Produkte der Teilworte des Multiplikanden mit dem Bit C[tief]2 mit dem binären Rang Eins von C auf:
Zeile Nr. 3
X[tief]kC[tief]2 X[tief]j+1C[tief]2 X[tief]jC[tief]2 X[tief]j-1C[tief]2 X[tief]1C[tief]2
genau unter die Worte der Zeile Nr. 2 geschrieben. Man bildet nun die Summe der Zeilen Nr. 2 und Nr. 3, indem man setzt:
S[tief]j,1 = X'[tief]jC[tief]1 + X[tief]jC[tief]2 + R[tief](j-1),1, (2)
wobei R[tief](j-1),1 der Übertrag von der S[tief](j-1),1 ergebenen Addition ist. Diese Summe schreibt sich:
Zeile Nr. 4
S[tief]k,1 S[tief](j+1),1 S[tief]j,1 S[tief](j-1),1 S[tief]1,1
In der Zeile Nr. 5 der Fig. 2 sind die Teilworte der Zeile Nr. 4 um ein Bit nach links verschoben und dadurch die Teilworte gebildet:
Zeile Nr. 5
S'[tief]k,1 S'[tief](j+1),1 S'[tief]j,1 S'[tief](j-1),1 S'[tief]1,1
wobei S'[tief]j,1 das Wort S[tief]j,1 nach der Wegnahme des Bits mit dem geringsten binären Rang auf der rechten Seite und nach dem Hinzufügen des Bits mit dem geringsten binären Rang von S[tief](j+1),1 auf der linken Seite ist. Das Bit XR[tief]2 mit dem geringsten binären Rang des Teilwortes S[tief]1,1 ist das Bit mit dem Binärrang Eins des Ergebnisses der Multiplikation.
Die Zeile Nr. 6 der Fig. 2 weist die Produkte der Teilworte des Multiplikanden mit dem Bit C[tief]3 mit dem Binärrang Zwei von C auf:
Zeile Nr. 6
X[tief]kC[tief]3 X[tief](j+1)C[tief]3 X[tief]jC[tief]3 X[tief](j-1)C[tief]3 X[tief]1C[tief]3,
genau unter die Worte der Zeile Nr. 5 geschrieben. Man bildet nun die Summe aus den Zeilen Nr. 5 und Nr. 6, indem man setzt:
S[tief]j,i = S'[tief]j,(i-1) + X[tief]jC[tief]i+1 + R[tief](j-1),i (3)
wobei R[tief](j-1),i der Übertrag von der S[tief](j-1),i ergebenden Addition ist. Diese Summe schreibt sich:
Zeile Nr. 7
S[tief]k,2 S[tief](j+1),2 S[tief]j,2 S[tief](j-1),2 S[tief]k,2
Man bildet erneut S'[tief]j,(i-1) aus S[tief]j,(i-1), dann S[tief]j,i aus S'[tief]j,(i-1) und die Produkte X[tief]jC[tief](i+1) nach der Gleichung (3).
Die Zeile Nr. 8 der Fig. 2 lautet:
Zeile Nr. 8
S[tief]k,(m-2) S[tief](j+1),(m-2) S[tief]j,(m-2) S[tief](j-1),(m-2) S[tief]1,(m-2)
Die Zeile Nr. 9 lautet:
Zeile Nr. 9
S'[tief]k,(m-2) S'[tief](j+1),(m-2) S'[tief]j,(m-2) S'[tief](j-1),(m-2) S'[tief]1,(m-2)
Die Zeile Nr. 10 lautet:
Zeile Nr. 10
X[tief]kC[tief]m X[tief](j+1)C[tief]m X[tief]jC[tief]m X[tief](j-1)C[tief]m X[tief]1C[tief]m
Die Zeile Nr. 11, die Überträge, lautet:
R[tief]k,(m-1) R[tief](j+1),(m-1) R[tief]j,(m-1) R[tief](j-1),(m-1) R[tief](j-2),(m-1)
und die Zeile Nr. 12 lautet:
Zeile Nr. 12
S[tief]k,(m-1) S[tief](j+1),(m-1) S[tief]j,(m-1) S[tief](j-1),(m-1) S[tief]1,(m-1)
Die Bits XR[tief]3 mit dem geringsten Rang von S[tief]1,2, XR[tief]m-1 von S[tief]1,(m-2) und XR[tief]m von S[tief]1,(m-1) sind Bits mit dem Rang bzw. Binärwert Zwei, (m-2) und (m-1) vom Ergebnis der Multiplikation, sind zusammen, mit XR[tief]1 und XR[tief]2, m Bits mit geringem Rang.
Die (q-1) Bits mit hohem Rang von S[tief]1,(m-1), die q Bits der Worte S[tief]2,(m-1) bis S[tief]k,(m-1) und das Bit R[tief]k,(m-1) bilden zusammen die n Bits von hohem Rang XR[tief](m+1) bis XR[tief](m+n) des Ergebnisses der Multiplikation.
In der Fig. 3 ist ein Eingangsregister 100 des Multiplikanden dargestellt, in welchem der Multiplikand X in Teilworte X[tief]1 bis X[tief]k in den Teilregistern 100[tief]1 bis 100[tief]k aufgeteilt ist. Jedes Teilregister hat zwei Ausgänge, den einen, auf welchem das Teilwort X[tief]j, und den anderen, auf welchem das verschobene Teilwort X'[tief]j erscheint. X'[tief]j ist an seinem rechten Ende das Bit mit dem geringsten Rang von X[tief]j weggenommen und an seinem linken Ende das Bit mit dem geringsten Rang vom nachfolgenden Teilwort X[tief](j+1) angefügt. Im Zeitpunkt t[tief]1 werden zusammen das verschobene Teilwort X'[tief]1 und C[tief]1, das aus einem den Multiplikator C enthaltenden Register 101 kommt, auf das UND-Tor 111[tief]1 übertragen (eigentlich jedes Tor 111 [111[tief]1 bis 111[tief](m-1)k] und jedes Tor 112 [112[tief]1 bis 112[tief]k] bzw. Gruppen von q Toren, doch ist in Fig. 3 aus Gründen der Übersichtlichkeit nur ein Tor dargestellt). Im gleichen Zeitpunkt t[tief]1 werden zusammen das Teilwort X[tief]1 und C[tief]2 von dem Register 101 auf das UND-Tor 112[tief]1 übertragen. Der Additionskreis 113[tief]1 liefert den Übertrag R[tief]1,1 und die Summe S[tief]1,1. Dieser Übertrag wird im Register 103[tief]1 und diese Summe wird im Register 104 gespeichert.
Im Zeitpunkt t[tief]j werden zusammen das verschobene Teilwort X'[tief]j und C[tief]1 auf das UND-Tor 111[tief]j übertragen, zur gleichen Zeit, wenn das Teilwort X[tief]j und C[tief]2 zusammen auf das UND-Tor 112[tief]j übertragen werden. Der Additionskreis 113[tief]j liefert den Übertrag R[tief]j,1 und die Summe S[tief]j,1, die in den Registern 103[tief]j bzw. 104 gespeichert werden.
Im Zeitpunkt t[tief]k werden zusammen das verschobene Teilwort X'[tief]k und C[tief]1 auf das UND-Tor 111[tief]k übertragen, zur gleichen Zeit, wenn das Teilwort X[tief]k und C[tief]2 auf das UND-Tor 112[tief]k übertragen werden. Der Additionskreis 113[tief]k liefert den Übertrag R[tief]k,1 und die Summe S[tief]k,1, die in den Registern 103[tief]k bzw. 104 gespeichert werden.
Im Zeitpunkt t[tief](k+1) werden zusammen das Teilwort X[tief]1 und C[tief]3 auf das UND-Tor 111[tief](k+1) übertragen, zur gleichen Zeit, wenn das verschobene Teilwort S'[tief]1,1 (d.h. diesem Wort an seinem rechten Ende das Bit mit dem geringsten binären Rang von S[tief]1,1 weggenommen und an seinem linken Ende mit dem Bit mit dem geringsten binären Rang des nachfolgenden Wortes S[tief]2,1 versehen) und das vom UND-Tor 111[tief](k+1) kommende Produkt X[tief]1 C[tief]3 zusammen auf den Additionskreis 113[tief](k+1) übertragen werden. Der zuletztgenannte Kreis liefert den Übertrag R[tief]1,2 und die Summe S[tief]1,2, die in den Registern 103[tief]k+1 bzw. 104 gespeichert werden.
Zum Zeitpunkt t[tief](i-2)k+1 werden zusammen das Teilwort X[tief]1 und C[tief]i auf das UND-Tor 111[tief](i-2)k+1 übertragen, zur gleichen Zeit, wenn das verschobene Teilwort S'[tief]1,(i-2) und das vom UND-Tor 111[tief](i-2)k+1 kommende Teilprodukt X[tief]1 C[tief]i zusammen auf den Additionskreis 113[tief](i-2)k+1 übertragen werden. Der Additionskreis 113[tief](i-2)k+1 liefert den Übertrag R[tief]1,(i-1) und die Summe S[tief]1,(i-1), die in den Registern 103[tief](i-2)k+1 bzw. 104 gespeichert werden.
Im Zeitpunkt t[tief](i-1)k+j werden zusammen das Teilwort X[tief]j und C[tief]i auf das UND-Tor 111[tief](i-2)k+j übertragen, zur gleichen Zeit, wenn das verschobene Teilwort S'[tief]j,(i-2) und das vom UND-Tor 111[tief](i-2)k+j kommende Produkt X[tief]j C[tief]i zusammen auf den Additionskreis 113[tief](i-2)k+j übertragen werden. Der zuletztgenannte Additionskreis liefert den Übertrag R[tief]j,(i-1) und die Summe S[tief]j,(i-1), die in den Registern 103[tief](i-2)k+j bzw. 104 gespeichert werden.
Die vollständige Multiplikatorschaltung ist aus den vorstehend beschriebenen Etagen aufgebaut und braucht daher nicht weiter beschrieben zu werden.
Das Register 100 ist ein Schieberegister mit umlaufender Information, in welchem die Information zu folgenden Zeitpunkten zugänglich ist:
t[tief]1 t[tief]j t[tief]k
t[tief]k+1 t[tief]k+j t[tief]2k
t[tief](i-2)k+1 t[tief](i-2)k+j t[tief](i-1)k
t[tief](m-2)k+1 t[tief](m-2)k+j t[tief](m-1)k
Der Übertrag R[tief](j-1),(i-1) wird auf den Additionskreis 113[tief](i-2)k+j im Zeitpunkt t[tief](i-2)k+j übertragen, zur selben Zeit wie X[tief]j und C[tief]i. Die Summe S[tief]j,(i-1) wird um die Zeitspanne kleines Tau danach erhalten, also im Zeitpunkt t[tief](i-2)k+j + kleines Tau.
Setzen wird nun voraus, daß
kleines Tau = p
ist, wobei p die Wirkungsperiode des Multiplikators ist, so gilt
p = t[tief]x - t[tief]x-1
Die Summe S[tief]j,(i-1), oder allgemein jede Summe S[tief]j,i, muß über eine Zeit t[tief]M gespeichert werden
t[tief]M = t[tief](i-1)k+j - [t[tief](i-2)k+j + p] (4)
t[tief]M = (k - 1)p
Diese Speicherdauer ist nicht für alle Bits von S[tief]j,i genau, und es müssen folgende Sonderfälle betrachtet werden:
1.) S[tief]j,i mit j = 1 und i ungleich m - 1
Das erste Bit von rechts bei allen S[tief]1,i ist ein Ergebnisbit. Also muß man in diesem Fall nur (q - 1) Bits gespeichert halten:
(k - 1)p Sekunden (5)
2.) S[tief]j,i mit j ungleich 1 j ungleich k i ungleich m - 1
Das erste Bit von rechts von S[tief]j,i wird zur Zeit
t[tief](i-1)k + (j-1)
verwendet, denn dies ist das Bit mit dem stärksten Rang von S'[tief](j-1),i, das zum Rechnen von S[tief](j-1),(i+1) dient. Die (q - 1) verbleibenden Bits werden zur Zeit
t[tief](i-1)k+j
verwendet und dienen zum Rechnen von S[tief]j,(i+1), erhalten zur Zeit
t[tief](i-1)k+j + p.
Für S[tief]j,i und mit den aufgezeigten Bedingungen für i und j gilt also:
1 Bit wird (k - 2)p Sekunden gespeichert gehalten (6)
(q - 1) Bits werden (k - i)p Sekunden gespeichert gehalten (7)
3.) S[tief]k,i i ungleich m - 1
Dieser Fall ist identisch mit dem vorstehend beschriebenen Fall, doch muß ein Bit zusätzlich gespeichert gehalten werden: Dies ist der Abzug.
Für S[tief]k,i gilt also:
1 Bit wird (k - 2)p Sekunden gespeichert gehalten (8)
q Bits werden (k - 1)p Sekunden gespeichert gehalten (9)
4.) S[tief]j,i i = m - 1
Die k letzten Teilergebnisse, das sind S[tief]1,(m-1) bis S[tief]k,(m-1), sind besondere, und für jedes ist die Speicherdauer unterschiedlich:
S[tief]k,(m-1) wird nicht gespeichert gehalten (10)
S[tief](k-1),(m-1) wird p Sekunden gespeichert gehalten (11)
S[tief]2,(m-1) wird (k - 2)p Sekunden gespeichert gehalten (12)
(q - 1) Bits von S[tief]1,(m-1) werden (k - 1)p Sekunden
gespeichert gehalten (13)
Kapazität des Speichers der Teilresultate
Nun kann man die Kapazität des Speichers errechnen, der zum Speichern von S[tief]j,i dient, ausgehend davon, daß, wenn ein Teilergebnis S[tief]j,i (x - 1)p Sekunden gespeichert gehalten ist, während dieser Zeit x Teilresultate erzielt werden können und somit xq oder x(q - 1) Bits, da die Worte q Bits oder (q - 1) Bits haben.
1.) S[tief]j,i mit j = 1 und i ungleich m - 1
(q - 1) Bits werden (k - 1)p Sekunden gespeichert gehalten.
Speicherkapazität k(q - 1) Bits (5')
2.) S[tief]j,i mit j ungleich 1 j ungleich k i ungleich m - 1
Speicherkapazität
[(k - 1)q + q - 1](k - 2) Bits (6'), (7')
3.) S[tief]k,i mit i ungleich m - 1
Speicherkapazität (k - 1)(q + 1) + q Bits (8'), (9')
ergibt für die Fälle 1., 2. und 3. insgesamt:
(m - 2)(k[hoch]2q - k + 1) Bits
4.) S[tief]j,i mit i gleich m - 1
Kapazität
S[tief]k,(m-1) 0 Bits (10')
S[tief](k-1),(m-1) q Bits (11')
S[tief]j,(m-1) (k - j) q Bits (12')
S[tief]1,(m-1) (k - 1) (q - 1) Bits (13')
ergibt insgesamt für 4.:
Die Gesamtkapazität C[tief]S des Speichers für die Teilergebnisse ist:
Multiplikandenspeicher
In diesem Speicher 100 wird der Multiplikand während der gesamten Zeit, in welcher er benötigt wird, gespeichert, also während der Zeit, die zum Ausrechnen aller S[tief]j,i erforderlich ist, welche diesem Multiplikanden entsprechen, gilt also:
t[tief]M = (m - 1)kp Sekunden (14)
Während dieser Zeit gelangen (m - 1)k Multiplikanden in den Speicher. Die Kapazität C[tief]M des Multiplikandenspeichers ist:
C[tief]M = (m - 1)kn = (m - 1)k[hoch]2q Bits (15)
C[tief]M = (m - 1)k[hoch]2 Worte
Der Informationsfluß der Multiplizierschaltung ist:
In einem Grundzyklus von p Sekunden bearbeitet die Multiplikatorschaltung (m - 1)k Worte aus (m - 1)k[hoch]2 Worten.
Anwendungsbeispiel (Fig. 4)
Es setzt 120 numerische Kanäle, abgetastet mit der Abtastfrequenz 560 kHz, gefiltert voraus. Daraus wird ein Rahmen mit einer Dauer von
T = 1/560 x 10[hoch]3 = 1,785 µs
und somit die Zeitschlitze von einer Dauer von
p = 1,785/120 = 14,88 ns
hervorgehen.
Es setzt Werte für n und m von
n = 16
m = 15
voraus.
Die Rechenzeit beträgt z.B. kleines Tau[tief]4 = 7 ns für die Summe und kleines Tau[tief]r = 4 ns für den Übertrag.
Man wählt für die Register 100 und 104 z.B. Register mit einer Übertragungszeit großes Theta von 2,5 ns.
Die Grundzykluszeit p muß größer oder gleich der Additionszeit kleines Tau[tief]q von q Bits, erhöht um die Übertragungszeit großes Theta des Registers, sein:
p = 14,88 ns >/= großes Theta + kleines Tau[tief]q = 2,5 + kleines Tau[tief]q,
was ergibt
kleines Tau[tief]q </= 12,38 ns
Die Additionszeit kleines Tau[tief]q von q Bits ist auf die Additionszeit kleines Tau[tief]4 von 4 Bits durch die Gleichung bezogen:
(16)
woraus sich ergibt k = 1,72.
Man nimmt k = 2 und daraus q = n/k = 8 und, indem man k durch 2 in der Gleichung (16) ersetzt, erhält man:
kleines Tau[tief]q = 11 ns.
Man hat nun
p = 14,88 ns >/= großes Theta + kleines Tau[tief]q = 2,5 + 11 = 13,5 ns
Aus Fig. 4 ist das Register 100 mit 28 Stufen 100[tief]1 bis 100[tief]28 dargestellt, das enthält
(m - 1)k = 28 Multiplikanden (X[tief]1 - X[tief]2)[tief]1 bis (X[tief]1 - X[tief]2)[tief]28
mit
(m - 1)k[hoch]2 = 56 Teilworten des Multiplikanden,
und die Additionskreise 113 weisen insgesamt 28 Kreise 113[tief]1 bis 113[tief]28 auf.
Das Register 100 wird fortlaufend durch eine Zeitstufe mit der Frequenz 1/p gesteuert. Die aufeinanderfolgenden Multiplikanden werden auf die erste Stufe 100[tief]1 übertragen und werden dann nacheinander bis in die Stufe 100[tief]28 geschoben, an deren Ausgang die Speicherung aufhört.
Auf die Additionskreise 113[tief]1 bis 113[tief]28 werden die aus der nachfolgenden Tabelle ersichtlichen Teilworte übertragen. In dieser Tabelle haben die X jeweils drei Beiwerte. Der erste Beiwert ist der vorerwähnte Parameter j. Der zweite Beiwert ist der Parameter i, der sich im Gegensatz zur Darstellung in Fig. 2, wo i die Zahl der Gruppen von k Additionskreisen bezeichnet und sich von 1 bis (m - 1) ändert, bis C[tief]1 und C[tief]2 in der gleichen Gruppe behandelt sind, jetzt i von 1 bis m ändert, also von 1 bis 15 im gewählten Beispiel. Der dritte Beiwert bezeichnet die Nummer des Multiplikanden.
In Fig. 4 ist der Inhalt der Stufen des Registers 100 im Zeitpunkt t[tief]1 dargestellt.
In Fig. 4 ist außerdem das Register 104 für die Teilprodukte S[tief]j,i dargestellt. Dieses Register umfaßt 28 Stufen 104[tief]1 bis 104[tief]28.
Die Worte im Innern der Registerstufen weisen drei Beiwerte auf. Die beiden ersten Beiwerte sind die gleichen Beiwerte wie die in den Fig. 3A und 3B verwendeten; der dritte Beiwert ist die Nummer des Multiplikanden. Wie das Register 100 wird das Register 104 fortlaufend durch einen Taktgeber mit der Frequenz 1/p gesteuert. In Fig. 4 ist der Inhalt der Stufen 104[tief]1 bis 104[tief]28 des Registers 104 im Zeitpunkt t[tief]1 dargestellt.
Claims (1)
- Fortlaufend arbeitende binäre Multiplikationsschaltung, insbesondere zum Filtern von Zeitmultiplexinformationen, mit einem vorgegebenen numerischen Informationsfluß, mit einem Multiplikandenspeicher, der die parallelen Worte des n Bits umfassenden Multiplikanden mit dem vorgegebenen Informationsfluß erhält, mit einem Multiplikatorspeicher, der die m Bits eines Multiplikators mit in der Ordnung ansteigender Wertigkeit enthält, und mit einer Schaltung zum Aufteilen der parallelen Wörter des Multiplikanden in Teilwörter mit einer bestimmten Anzahl von Bits, fortschreitend von den Bits mit geringer Wertigkeit zu Bits mit höherer Wertigkeit, gekennzeichnet durch folgende Merkmale:a) Auswahlschaltungen zu einer ersten Unterteilung des Multiplikanden in k erste Teilwörter (X[tief]1, X[tief]2 ) mit q Bits, wobei n = k x q ist;b) Multipliziersteuerkreise, die derart ausgebildet sind, daß sie in einer Zeitspanne t[tief]1 bis t[tief]kb1) in einer ersten Zykluszeit (t[tief]1)b11) das niedrigstwertige Multiplikandenbit mit dem niedrigstwertigen Multiplikatorbit (C[tief]1) multiplizieren und das Ergebnis als niedrigstwertiges Bit (XR[tief]1) des Endproduktes abspeichern;b12) weitere Auswahlschaltungen (100) aktivieren, die den Multiplikanden nach Abtrennung des niedrigstwertigen Bits und Anfügung einer "0" an der höchstwertigen Stelle in eine zweite Unterteilung in k zweite Teilwörter mit q Bits (X'[tief]1 bis X'[tief]k) bringen;b13) Multiplizierschaltungen (111[tief]1, 112[tief]1) ansteuern, um das niedrigstwertige Teilwort gemäß der zweiten Unterteilung mit dem niedrigstwertigen Multiplikatorbit (C[tief]1) und das niedrigstwertige Teilwort gemäß der ersten Unterteilung mit dem nächsthöheren Multiplikatorbit (C[tief]2) zu multiplizieren;b14) Addierschaltungen (113[tief]1) ansteuern, die die beiden gemäß b13) erzeugten Teilprodukte zu einer ersten Teilsumme (S[tief]11) addieren und einen hierbei auftretenden Übertrag speichern;b2) in einer zweiten Zykluszeit (t[tief]2)b21) die Multiplizierschaltungen (111[tief]2, 112[tief]2) ansteuern, um das niedrigstwertige Multiplikatorbit mit dem zweiten Teilwort gemäß der zweiten Unterteilung und das zweite Multiplikatorbit mit dem zweiten Teilwort gemäß der ersten Unterteilung zu multiplizieren;b22) die Addierschaltungen (113[tief]2) ansteuern, um die beiden gemäß b21) erzeugten Teilprodukte zu einer zweiten Teilsumme (S[tief]21) unter Berücksichtigung eines eventuell vorher entstandenen Übertrages zu addieren;b3) in weiteren Zykluszeiten (t[tief]3 bis t[tief]k) weitere Teilsummen analog zu b2) mit den ersten beiden Multiplikatorbits durch Multiplizierschaltungen (111[tief]3, 112[tief]3 bis 111[tief]k, 112[tief]k) und Addierschaltungen (113[tief]3 bis 113[tief]k) bilden;c) Multipliziersteuerkreise, die derart ausgebildet sind, daß sie in einer weiteren Zeitspanne (t[tief]k+1 bis t[tief]2k)c1) in einer ersten Zykluszeit (t[tief]k+1)c11) das niedrigstwertige Teilsummenbit (XR[tief]2) als zweites Endproduktbit abspeichern undc12) weitere Auswahlschaltungen (104) aktivieren, die die zusammengesetzten Teilsummen nach Abtrennung des niedrigstwertigen Bits und unter Anfügung des letzten Übertrags der vorausgehend berechneten Teilsumme an der höchsten Stelle erneut in k Teilwörter mit q Bits (S[tief]1,1 bis S'[tief]k,1) unterteilen;c13) zu diesen Teilwörtern, die aus dem nächsten Multiplikatorbit (C[tief]3) mit den Teilwörtern des Multiplikanden gemäß erster Unterteilung gebildeten Teilprodukte unter Berücksichtigung der Überträge durch Multiplizierschaltungen (111[tief]k+1 bis 111[tief]2k) und Addierschaltungen (113[tief]k+1 bis 113[tief]2k) addieren;d) die hierbei entstehenden Teilsummen (S[tief]1,2 bis S[tief]k,m-1) durch Multiplizierschaltungen (111[tief]2k+1 bis 111[tief](m-1)k), Addierschaltungen (113[tief]2k+1 bis 113[tief](m-1)k) und Auswahlschaltungen (104) entsprechend weiterbehandeln, bis sämtliche Multiplikatorbits (t[tief]2k+1 bis t[tief](m-1)k) abgearbeitet sind, wobei jeweils das niedrigstwertige Bit (XR[tief]2k+1 bis XR[tief]m) der Teilsummen einen Beitrag zum Gesamtprodukt liefert, das an den höchsten Stellen die zuletzt errechneten Teilsummen erhält.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR7505161A FR2301870A1 (fr) | 1975-02-19 | 1975-02-19 | Circuit multiplicateur a fort debit numerique notamment pour filtre numerique |
Publications (3)
Publication Number | Publication Date |
---|---|
DE2605495A1 DE2605495A1 (de) | 1976-09-02 |
DE2605495B2 true DE2605495B2 (de) | 1977-11-24 |
DE2605495C3 DE2605495C3 (de) | 1978-07-20 |
Family
ID=9151430
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19762605495 Granted DE2605495B2 (de) | 1975-02-19 | 1976-02-12 | Multiplikationsschaltung, insbesondere zum filtern von zeitmultiplexinformationen |
Country Status (4)
Country | Link |
---|---|
US (1) | US4027147A (de) |
DE (1) | DE2605495B2 (de) |
FR (1) | FR2301870A1 (de) |
GB (1) | GB1541697A (de) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4163287A (en) * | 1978-04-20 | 1979-07-31 | Northern Telecom Limited | Binary multiplier circuit including coding circuit |
US4484300A (en) * | 1980-12-24 | 1984-11-20 | Honeywell Information Systems Inc. | Data processor having units carry and tens carry apparatus supporting a decimal multiply operation |
JPS57141753A (en) * | 1981-02-25 | 1982-09-02 | Nec Corp | Multiplication circuit |
US4947364A (en) * | 1985-10-23 | 1990-08-07 | Hewlett-Packard Company | Method in a computing system for performing a multiplication |
JPS6461121A (en) * | 1987-08-31 | 1989-03-08 | Mitsubishi Electric Corp | Semiconductor integrated circuit |
US5274707A (en) * | 1991-12-06 | 1993-12-28 | Roger Schlafly | Modular exponentiation and reduction device and method |
FI97002C (fi) * | 1993-12-17 | 1996-09-25 | Eero Juhani Pajarre | Suora FIR-suodatin, menetelmä pistetulon laskemiseksi FIR-suodattimessa ja menetelmä suoran FIR-suodattimen suunnittelemiseksi |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3691359A (en) | 1970-07-28 | 1972-09-12 | Singer General Precision | Asynchronous binary multiplier employing carry-save addition |
US3795880A (en) | 1972-06-19 | 1974-03-05 | Ibm | Partial product array multiplier |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3805043A (en) * | 1972-10-11 | 1974-04-16 | Bell Telephone Labor Inc | Serial-parallel binary multiplication using pairwise addition |
US3794820A (en) * | 1972-10-16 | 1974-02-26 | Philco Ford Corp | Binary multiplier circuit |
US3816732A (en) * | 1973-03-29 | 1974-06-11 | Rockland Systems Corp | Apparatus and method for serial-parallel binary multiplication |
US3947670A (en) * | 1974-11-22 | 1976-03-30 | General Electric Company | Signed multiplication logic |
US3956622A (en) * | 1974-12-20 | 1976-05-11 | Bell Telephone Laboratories, Incorporated | Two's complement pipeline multiplier |
-
1975
- 1975-02-19 FR FR7505161A patent/FR2301870A1/fr active Granted
-
1976
- 1976-02-12 DE DE19762605495 patent/DE2605495B2/de active Granted
- 1976-02-17 GB GB6060/76A patent/GB1541697A/en not_active Expired
- 1976-02-18 US US05/659,038 patent/US4027147A/en not_active Expired - Lifetime
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3691359A (en) | 1970-07-28 | 1972-09-12 | Singer General Precision | Asynchronous binary multiplier employing carry-save addition |
US3795880A (en) | 1972-06-19 | 1974-03-05 | Ibm | Partial product array multiplier |
Non-Patent Citations (1)
Title |
---|
Jean-Claude Radix "Introduction au filtrage numerique", Verlag Eyrolles, Paris, 1970, Seite 45 |
Also Published As
Publication number | Publication date |
---|---|
DE2605495A1 (de) | 1976-09-02 |
DE2605495C3 (de) | 1978-07-20 |
US4027147A (en) | 1977-05-31 |
FR2301870A1 (fr) | 1976-09-17 |
FR2301870B1 (de) | 1977-11-10 |
GB1541697A (en) | 1979-03-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3688353T2 (de) | Nichtrekursiver zweidimensionaler digitalfilter. | |
DE3788010T2 (de) | Mehrstufiges Multiplizier- und Addiergerät für Digitalsignale. | |
DE1901343C3 (de) | Datenverarbeitungsanlage zur Ausführung von Mateirenrechnungen | |
DE2628473C3 (de) | Digitales Faltungsfilter | |
DE2145404A1 (de) | Nichtrekursive Digitalfiltereinrichtung mit Verzögerungs- und Addier-Anordnung | |
DE1549476B2 (de) | Anordnung zur ausfuehrung von divisionen | |
DE3485935T2 (de) | Rekursives digitales filter. | |
EP0086904A1 (de) | Digitale Parallel-Rechenschaltung für positive und negative Binärzahlen | |
DE3706104A1 (de) | Verfahren und schaltungsanordnung zum multiplexen eines digital programmierbaren kapazitiven elements | |
DE2729912A1 (de) | Digitale signalverarbeitungsanordnung | |
DE2644506A1 (de) | Rechner zur berechnung der diskreten fourier-transformierten | |
DE2063199B2 (de) | Einrichtung zur Ausführung logischer Funktionen | |
DE2918692C2 (de) | Digitalfilter | |
DE2605495B2 (de) | Multiplikationsschaltung, insbesondere zum filtern von zeitmultiplexinformationen | |
DE2446493C2 (de) | Schaltungsanordnung für ein Digitalfilter | |
DE3447729A1 (de) | Verfahren und vorrichtung zur dezimal-multiplikation | |
DE2064606B2 (de) | Anordnung zur Echtzeitverarbeitung von elektrischen Signalen durch Anwendung der schnellen Fourier-Transformierten | |
DE2029712C2 (de) | Vorrichtung zur Bestimmung der Fortpflanzungsrichtung einer ebenen Welle | |
EP0090904B1 (de) | Schaltungsanordnung für seriell arbeitende Digitalfilter | |
DE3788779T2 (de) | Digitales, nicht-rekursives Filter mit Multiplizierkoeffizienten der Basis zwei. | |
DE3323607A1 (de) | Digitales rechenwerk | |
DE3302885C2 (de) | ||
DE2456245C2 (de) | Schaltungsanordnung für ein digitales Filter | |
EP0333884B1 (de) | CMOS-Parallel-Serien-Multiplizierschaltung sowie deren Multiplizier- und Addierstufen | |
DE3416536C2 (de) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C3 | Grant after two publication steps (3rd publication) | ||
EHJ | Ceased/non-payment of the annual fee |