DE2605495B2 - Multiplikationsschaltung, insbesondere zum filtern von zeitmultiplexinformationen - Google Patents

Multiplikationsschaltung, insbesondere zum filtern von zeitmultiplexinformationen

Info

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
Application number
DE19762605495
Other languages
English (en)
Other versions
DE2605495A1 (de
DE2605495C3 (de
Inventor
Anmelder Gleich
Original Assignee
Majos, Jacques; Lardy, Jean-Louis; Lannion (Frankreich)
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Majos, Jacques; Lardy, Jean-Louis; Lannion (Frankreich) filed Critical Majos, Jacques; Lardy, Jean-Louis; Lannion (Frankreich)
Publication of DE2605495A1 publication Critical patent/DE2605495A1/de
Publication of DE2605495B2 publication Critical patent/DE2605495B2/de
Application granted granted Critical
Publication of DE2605495C3 publication Critical patent/DE2605495C3/de
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/52Multiplying; Dividing
    • G06F7/523Multiplying only
    • G06F7/53Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel
    • G06F7/5324Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel partitioned, i.e. using repetitively a smaller parallel parallel multiplier or using an array of such smaller multipliers
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03HIMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
    • H03H17/00Networks using digital techniques
    • H03H17/02Frequency selective networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/38Indexing scheme relating to groups G06F7/38 - G06F7/575
    • G06F2207/3804Details
    • G06F2207/386Special constructional features
    • G06F2207/3884Pipelining

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)

  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]k
    b1) 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 und
    c12) 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.
DE19762605495 1975-02-19 1976-02-12 Multiplikationsschaltung, insbesondere zum filtern von zeitmultiplexinformationen Granted DE2605495B2 (de)

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)

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

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

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

Patent Citations (2)

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

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