DE2803425A1 - Digitaleinrichtung zur ermittlung des wertes von komplexen arithmetischen ausdruecken - Google Patents
Digitaleinrichtung zur ermittlung des wertes von komplexen arithmetischen ausdrueckenInfo
- Publication number
- DE2803425A1 DE2803425A1 DE19782803425 DE2803425A DE2803425A1 DE 2803425 A1 DE2803425 A1 DE 2803425A1 DE 19782803425 DE19782803425 DE 19782803425 DE 2803425 A DE2803425 A DE 2803425A DE 2803425 A1 DE2803425 A1 DE 2803425A1
- Authority
- DE
- Germany
- Prior art keywords
- summands
- processing unit
- parallel
- register
- unit
- 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/544—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 for evaluating functions by calculation
- G06F7/5443—Sum of products
-
- 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/544—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 for evaluating functions by calculation
- G06F7/552—Powers or roots, e.g. Pythagorean sums
-
- 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/552—Indexing scheme relating to groups G06F7/552 - G06F7/5525
- G06F2207/5523—Calculates a power, e.g. the square, of a number or a function, e.g. polynomials
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Optimization (AREA)
- General Engineering & Computer Science (AREA)
- Complex Calculations (AREA)
- Advance Control (AREA)
Description
PATENTANWÄLTE
ZELLENTIN
ZWEIBRÜCKENSTR. 15 ρτ
8OOO MÜNCHEN 2 ^
26. 1. 1978
Instytut Maszyn Hatematycznych
Warszawa, Polen
Digitaleinrichtung zur Ermittlung des Viertes von
komplexen arithmetischen Ausdrücken
Die Erfindung betrifft eine Digitaleinrichtung zur Ermittlung des
Wertes von komplexen arithmetischen Ausdrücken, gemäß dem Oberbegriff des Patentanspruchs 1.
In bekannten elektronischen Rechenmaschinen und digitalen Einrichtungen werden zur Berechnung des Wertes von komplexen
arithmetischen Ausdrucken nacheinander arithmetische Operationen ausgeführt, deren Ergebnisse ihrerseits die Argumente
der weiteren in diesen Ausdrücken enthaltenen Operationen bilden, bis das Endergebnis erreicht wird. Es sind elektronische,
609831/0817
digitale Einrichtungen und digitale Schaltungen zur schnellen
Multiplikation und Addition bekennt. Diese Operationen sind
Hu-jptopcrationen bei der Ermittlung des Wertes mehrerer
arithmetischer Ausdrücke, insbesondere von Polynomausdrücken;
ki
Von besonderer Bedeutung ist die Geschwindigkeit, mit der die
Multiplikation Gusgeführt wird, weil diese Operation viel langer als die Addition dauert. Es sind auch digitale Einrichtungen
und Schaltungen bekannt, deren Struktur an die Fließdatenverarbeitung (pipeline processing) angepaßt ist und welche
eine sehr hohe effektive Datenverarbeitungsgeschwindigkeit, und insbesondere eine sehr schnelle Durchführung vieler Multiplikationen
und Additionen gewährleisten. In einer bekannten Digitalschaltung zur sehr schnellen Multiplikation zweier
ßinärzahlcn werden gleichzeitig alley den aufeinanderfolgenden
Bitgruppen des Multiplikators zugeordnete, zur Ermittlung des Endproduktes notwendigen Teilprodukte addiert. In einer Schaltung
zur Multiplikation von 43-Bit-Zahlen, in welchen die einzelnen
Teilprodukta den Paaren der aufeinanderfolgenden Bites des Multiplikators zugeordnet sind, werden parallel 24 solcher
Produkte addiert. Die Digitaleinheit zur Durchführung dieser Addition besteht aus 22 einen Übertrag haltenden Addierern
(carry save adders) und einen Übertrag weiterführenden Addierer (carry propagating adder). Diese Addierer sind in einer
mehrstufigen Kaskadenschaltung verbunden, welche in 7 Stufen der Reihe nach S, 5, 3, 2, 2, 1, 1 einen Übertrag haltenden Addierer
und in der achten Stufe einen einen Übertrag weiterleitenden Addierer enthält. Alle Addierer bilden zusammen eine ein-
809831/0817
heitliche Schaltungsanordnung ohne Speicherelemente, welche die Digitaleinheit darstellt. Die Additionszeit der 24 Teilprodukto
in einer solchen Gruppe von Addierern ist gleich der Summe der maximalen Zeit für die Übertragweiterleitung über
reihengeschaltete einstellige Addierer und der Übertragsweiterleitung über einen etwa 90-stelligen Addierer. Der
letzte Addierer v/eist die zur Hinimisierung der maximalen übertracweitcrloitungszeit angeordneten Übertragsprungschaltungen
(carry skips, oder carry look-ahead) auf. Die in der Addiereranordnung zu addierenden Teilprodukte bilden die zueinander
verschobenen Hultiplizitäten oder Vielfachen des Multiplikanden, welche den die ganzen Zahlen aus dem Bereich von 0 bis
vertretenden Bitpaaren des tiultiplikators zugeordnet sind. Zur
Vermeidung der zeitaufv/endigen Ermittlung des 3-fachen Multiplikanden,
wozu eine zusätzliche Addition des Multiplikanden und des verschobenen Multiplikanden notwendig wäre, enthält
die Multiplikationseinheit ein Schaltwerk, welche den Multiplikator
parallel umsetzt. Die den folgenden Bitgruppen des Multiplikators zugeordneten Ausgangssignale aus diesem Schaltwerk
repräsentieren anstelle den Zahlen 0, ΐ, 2, 3 die Zahlen
-2, -1, 0, 1, 2. Der zweifache Multiplikand wird in der
Hultiplikationsschaltung durch Verschiebung des Multiplikanden
um ein Oit nach links, und die negativen fiultiplizitäten
durch Negation der Bites der positiven Hultiplizitäten
und oino Korrektur-Eins auf der niedrigsten gültigen Binärstelle erhalten. Eine einen derartigen Addierersatz enthaltende
fiultiplikationsschaltung ist von CS. Wallace in "A Suggestion for α Fast Multiplier", The Institute of electrical
and Electronics Engineers, Transactions on Electronic Computers, Dand EC-I3, Seiten 14 - 17, Februar 1964 und von
809831/0817
T.G. Hallin, M.J. Flynn in "Pipelining of Arithmetic Functions",
The Institute of Electrical and Electronics Engineers, Transactions on Electronic Computers, Band EC-21, Seiten 880-886,
August 1972; von J.W. Gawrilow, A.N. Puczko in "Arithmeticzeskije
ustroistwa bystrodiejstwujuszczich elektronnych cifrowych
wyczislitielnych maszin", Izdatielstwo: Sowietskoje radio,
Moskwa 1970, Seiten 133-180, beschrieben. Ubertragungssprungschaltungon
(carry look-ahead) sind aus der Veröffentlichung von 0.L. MacSorley "High Speed Arithmetic in Binary Computers",
Proceedings of The Institute of Radio Engineers, Band 49, Nr. 1, 1961, Seiten 67-91 bekannt. In den bekannten Digitaleinrichtungen
und Schaltungen mit einem der Fließdatenverarbeitung entsprechenden Aufbau sind die datenverarbeitenden Stufen der
Schaltungen voneinander durch stufenförmig vorgesehene Register getrennt, um in den einzelnen Stufen von Schaltungen oder Schaltkreisen
die schrittweise parallele Durchführung von Teilen der verschiedenen Operationen zu gewährleisten. Die Verarbeitung der
nachfolgenden Daten erfolgt in den einzelnen Stufen solcher Einrichtungen und Schaltungen mit der gleichen, von der maximalen
Verzögerung durch die Stufen abhängigen Frequenz. Eine Fließdatenverarbeitung ist z.B. in "Pipelining of Arithmetic Functions",
The Institute of Electrical and Electronics Engineers, Transactions on Electronic Computers, Band EC-21, Seiten 880-886,
August 1972; "Introduction to Computer Architecture", Kapitel 9,
Seite 417, ausgegeben durch Science Researche Associates, Chicago USA 1975, erläutert.
Ein Nachteil der bekannten Digitaleinrichtungen und -schaltungen besteht insbesondere durch die sehr komplex ausgeführten Berechnungen
in ziemlich langen Zeiten für die Durchführung der ein-
809831/0817
zelnen Multiplikationen und Additionen. Ein wesentlicher Teil dieser Zeit wird durch die Übertragsweiterleitung beansprucht,
was auch bei Addierern mit hohen Geschwindigkeiten auftritt. Die Zeit der Übertragsweiterleitung oder-fortpflanzung, die
bei mehreren während der Berechnung des Viertes von komplexen arithmetischen Ausdrücken auszuführenden Operationen als Verzögerungszeit
auftritt, beeinflußt wesentlich die Dauer der gesamten Berechnung»
Der Erfindung liegt die Aufgabe zugrunde, die angegebenen Nachteile
zu beseitigen. Diese Aufgabe wird durch den Gegenstand des Patentanspruchs 1 gelöst. Weitere Ausgestaltungen ergeben
sich aus den Unteransprüchen. Erfindungsgemäß sollen insbesondere - soweit möglich - Datenverarbeitungsvorgänge beseitigt werden,
welche seriell ausgeführt werden, wie z.B. die Additions- und Multiplikationsoperationen mit Ubertragsfortpflanzung.
Erfindungsgemäß ist ein solcher logischer Aufbau der Digitaleinrichtung
vorgesehen, daß die Fließdatenverarbeitung nur in der Anfangs- und Mittelstufe bei der Durchführung der
einzelnen, in den zu berechnenden arithmetischen Ausdrücken
enthaltenen Multiplikationen und Additionen gewährleistet ist und daß die nicht am Ende berechneten Ergebnisse dieser Operationen
als Operanden der nachfolgenden, den Bestandteil dieser Berechnungen bildenden Multiplikationen und Additionen benutzt
werden. Dadurch werden zeitaufwendige Übertragsweiterleitungsvorgänge beseitigt, die üblicherweise die Endstufe der Multiplikationen
und Additionen bilden.
Die erfindungsgemäße Digitaleinrichtung dient zur Ermittlung
des Wertes von komplexen arithmetischen Ausdrucken mit Zahlen in binärer Darstellung, insbesondere zur Ermittlung
809831/0617
des Wertes von Polynomausdrücken η ki
ΣΙ Ji χ..,
i=1 j=l 1] insbesondere für x.., d.h. Zahlen mit Bites verschiedener Wertigkeit
und für große η-Werte. Die Einrichtung ist hauptsächlich zum Einsatz in großen Rechenmaschinen und Rechenmaschinensystemen,
insbesondere in schnellen,spezialisierten Rechenmaschinen für numerische Berechnungen und in anderen schnellen Digitaleinrichtungen
zur Durchführung von arithmetischen Operationen bestimmt und kann auf die parallele Berechnung des Viertes von unabhängigen arithmetischen
Ausdrücken abgestimmt werden; sie eignet sich insbesondere zum Einsatz mit mehreren Rechenmaschinen.
Erfindungsgemäß ist die Digitaleinrichtung zur Berechnung des
Wertes von komplexen arithmetischen Ausdrücken, insbesondere zur Berechnung des Wertes von Polynomen beliebigen Grades mit
einer oder mehreren Variablen, Funktionsreihen, Skalarprodukten und zur Berechnung verschiedener anderer arithmetischer
Ausdrücke, insbesondere zur Berechnung mit vektorisierten Daten
für Mohrkomponentenvektoren bestimmt. Die Operanden und Berechnungsergebnisse
liegen dabei in Form von in in Binärcodes, üblicherweise in Fest- oder Gleitkomma-Komplementär- oder Vorzeichen-Modul-Binärcode
dargestellten Zahlen vor. Die Einrichtung enthält eine digitale Verarbeitungseinheit zur Ermittlung
von Teilprodukten, vorzugsweise in Form von zueinander verschobenen Multiplizitäten des Multiplikanden, welche
die Summanden des Produktes von zwei Summanden bilden, und dient zur Reduzierung der Zahl dieser Summanden und der zusätzlich
in diese Einheit einzuführenden Summanden auf eine kleinere Faktorenzahl mit gleicher Gesamtsumme. Die Einrichtung weist
809831 /0817
auch einen Satz von Parallel - Registern zum Speichern der von außen zuzuführenden Operanden auf, welche danach aus
diesen Registern in die Verarbeitungseinheit geführt werden und zum Speichern der in diese Register aus der Verarbeitungseinheit
zugeführten und dann aus diesen wieder in die Verarbeitungseinheit eingeführten Zwischenergebnissen
auf. Als parallele Register können beliebige digitale Schaltungen eingesetzt werden, welchen gleichzeitig die
die Bites einer Binärzahl repräsentierenden Signale zwecks deren Speicherung zugeführt und aus welchen in einer zur
Durchführung einer bestimmten Operation ausreichenden Zeit die gleichzeitig alle gespeicherten Bites darstellenden
Signale übertragen werden. Die in den-Registern enthaltenen,
die Summanden des Multiplikators speichernden Parallelregister (mindestens zwei)bilden zusammen mit der Verarbeitungseinheit die parallelen Datenumlaufschleifen, über welche die
an den Ausgängen dieser Einheit in Form von zwei oder mehreren reduzierten Summanden erhaltenen Zwischenergebnisse wieder dem
Eingang dieser Einheit zugeführt werden, um einen Summanden der beiden Summanden des Multiplikators zu bilden. Der Multiplikator
oder die Summanden des Multiplikators werden von außen über die Register in die Verarbeitungseinheit eingegeben.
In den Registern sind auch mindestens zwei Parallel-Register zum Speichern der reduzierten Summanden enthalten. Diese
Register bilden zusammen mit der Verarbeitungseinheit separate, parallele Datenumlaufschleifen, über welche die
an den Ausgängen dieser Einheit in Form von zwei oder mehreren reduzierten Summanden erhaltenen Zwischenergebnisse wieder den
Eingängen dieser Einheit als Summanden zugeführt werden. Über
309831/081?
die letztgenannten Register oder über die separaten Parallelregister
werden auch der Verarbeitungseinheit die zusätzlichen Summanden von außen zugeführt. Vorzugsweise reduziert
eine Verarbeitungseinheit die Zahl aller Summanden
auf zwei zur Erhaltung der Summe und enthält zwei Register für die zwei Summanden des Multiplikators, und
zwei Register, welche die zwei reduzierten Summanden speichern, oder auch mehrere Registerpaare zum Speichern von reduzierten
Summandenpaaren für verschiedene Zwischenergebnisse. Der logische Aufbau der Verarbeitungseinheit ist auf die parallele
Ermittlung von mehreren oder allen Teilprodukten abgestimmt, welche die Summanden des Produktes aus zwei Faktoren bilden,
von welchen einer der parallel in diese Einheit einzugebende Multiplikand und einer mindestens zwei gleichzeitig aus den
Registern in die Verarbeitungseinheit einzugebende Summanden des Multiplikators darstellt. Die Ermittlung der Teilprodukte
erfolgt dabei parallel, ohne die Summe aus den Summanden des Multiplikators zuführen, d.h. ohne Übertragsfortpflanzung
aufgrund der zu addierenden Zahlen, wobei vorzugsweise die Arbeitsweise nach dem Verfahren der DT-OS 27 27 051.5 angewandt
wird. Das bekannte System stellt keine separate Baueinheit dar, sondern einen Satz von miteinander arbeitenden logischen
Gliedern, welche eine oder mehrere Baugruppen umfassen oder einen Bestandteil einer Baugruppe bilden können.
Zur Verbesserung der Arbeitseffektivität der erfindungsgenüßen
Einrichtung hat die Verarbeitungseinheit einen stufenförmigen Aufbau. Die die Schaltkreise oder Schaltungen enthcjltenden
Stufen sind durch parallele Registerstufen voneinander getrennt. Die Stufen der Schaltkreise bzw. Netzwerke
der Verarbeitungseinheit sind zur Ausführung einer parallelen
Datenverarbeitung angeordnet, d.h. sind sie so aufgebaut,
£03831/0617
no
daß die maximale Anzahl der enthaltenen logischen Glieder, über welche die Datensignale übertragen werden, von der
Bitezahl der zu umsetzenden Binärzahlen unabhängig ist. Diese maximale Zahl an logischen Gliedern ist gering und
liegt vorzugsweise in den Grenzen von 2 bis 8 einfachen logischen Gliedern. Die trennenden Stufen der parallelen
Register gewährleisten eine unabhängige, schrittweise erfolgende
Datenflußverarbeitung (pipeline processing) in den nachfolgenden Stufen der Schaltkreise der Verarbeitungseinheit. Die aufeinander folgenden Stufen der Schaltkreise
weisen eine logische Struktur auf, welche die Ermittlung von Teilprodukten, vorzugsweise in Form von zueinander
verschobenen, die Summanden des Produktes einer Zahl und einer Zahlensumme bildenden Multiplizitäten des Multiplikanden
sowie die schrittweise Reduktion der Summanden des Produkts, zusammen mit den zusätzlich der Verarbeitungseinheit zugeführten Summanden auf eine geringere Zahl von
Summanden, vorzugsweise auf zwei Summanden mit Erhaltung deren Gesamtsumme ermöglicht. Die Einrichtung arbeitet
synchron mit einer festgelegten Frequenz, welche an den logischen Aufbau der Verarbeitungseinheit und die Reaktionsgeschwindigkeit
deren logischen Glieder angepaßt ist. Diese Frequenz ist von der insgescmt durch eine Stufe der Schaltnetze
und eine Stufe der Register der Verarbeitungseinheit einzuführenden maximalen Verzögerung abhängig. Mit dieser
Frequenz werden gleichzeitig allen Registerstufen der Verarbeitungseinheit die reduzierten Summanden cus den vorangehenden
Stufen der Schaltwerke zugeführt. In den folgenden die Schaltwerke enthaltenden Stufen der Verarbeitungseinheit
erfolgt clso eine Datenflußverarbeitung.
809831/0817
Die Verarbeitungseinheit weist eine die Reduktion der Sumrnandenzahl auf zwei bei Erhaltung deren Summe ermöglichende
logische Struktur auf; die zur Ermittlung der Teilprodukte bestimmte Schaltwerkstufe gewährleistet
eine parallele Erzeugung von gleichzeitig allen zur Ermittlung der für das Vollprodukt einer Zahl und einer
Summe aus zwei Zahlen, d.h. eines Vollproduktes des Multiplikators notwendigen Teilprodukte. Diese Teilprodukte
bilden entweder die zueinander verschobenen Multiplizitäten des Multiplikanden, welche das -1, O, +1 - Vielfache
des Multiplikanden bilden, von welchen jede Multiplizität des Multiplikanden einem Paar von einander entsprechenden
Bites der beiden Summanden des Multiplikators, zugeordnet ist. Die Teilprodukte können auch die zueinander
verschobenen Multiplizitäten des Multiplikanden bilden, welche das -2, -1, 0, +1, +2 - Vielfache des
Multiplikanden sind, von welchen jede Multiplizität des Multiplikanden einem Paar von einander entsprechenden, aus
den beiden Summanden des Multiplikators gezogenen Doppelbitgruppen zugeordnet ist. Dabei ist die Anwendung des Verfahrens
nach der DT-OS 27 27 051.5 vorteilhaft, da dieses Verfahren die Ermittlung einer richtigen Multiplizität des
Multiplikanden für jedes einem Bitpaar aus den beiden Summanden des Multiplikators zugeordnete Teilprodukt aufgrund
dieses Bitpaares und eventuell der Vorzeichen-Bites der beiden Summanden des Multiplikators gewährleistet.
Beim Binärkomplementärcode sind die Vorzeichen-Bites nur zur Ermittlung des der Vorzeichenstelle des Multiplikators
oder der die Vorzeichenstelle enthaltenden Stellengruppe
809831/0817
zugeordneten Teilproduktes notwendig. Die den Zahlen
-2, -1, 0, +1, +2 entsprechenden Multiplizitäten des
Multiplikanden werden aufgrund eines einzelnen Multiplikanden dadurch gewonnen, daß der zweifache Multiplikand
durch Verschiebung des Multiplikanden um eine Binärstelle
nach links, und die negativen Multiplizitäten des Multiplikanden durch Negation der Bites der positiven
Multiplizitöten bei Berücksichtigung einer Korrektur-Eins
auf der niedrigsten, gültigen bedeutsamen Binärstelle gewonnen werden.
Die Schaltwerkstufen der Yerarbeitungseinheit, die zur schrittweisen Reduktion der in dieser Einheit zu ermittelnden
TeilproduktQ und der in diese Einheit einzuführenden
Summanden auf eine kleinere Summenzahl bei Erhaltung deren Gesamtsumme bestimmt sind, bestehen insbesondere aus
Codierern mit ρ bits für den Eingang und r bits für den
Ausgang, wobei der Null-Eins-Zustand der r Ausgänge des
Codierers eine im Binärcode dargestellte Eins-Summe bildet, welche die Null-Eins-Signale der ρ Eingänge dieses Codierers
darstellen. Die Schaltwerkstufen der Verarbeitungseinheit sind aus Codierern mit 8 oder 9 Eingängen und 4 Ausgängen
mit "Ausgangsbitgewichten" bzw. Wertigkeiten 4, 2, 2, 1
oder 8, 4, 2, 1, aus Codierern mit 7,6,5 oder- 4 Eingängen
und Bit-Wertigkeiten 4, 2, 1 als auch aus Codierern mit drei
Eingängen und 2 Ausgängen mit Bit-Wertigkeiten 2, 1, in dem
letzten Fall aus Addierern, die nur eine Stelle besitzen, zusammengesetzt. Die einzelnen Schaltwerkstufen der Verar-
B U 3 O 4 S IJ U © \; LJ
beitungseinheit sind aus einerr zwei,, drei oder vier Stufen
solcher Codierer zusammengesetzt, welche innerhalb einer
Codiererstufe nicht Briteinander verbunden sind. Eine einzelne Reihe solcher nicht miteinander verbundenen Codierer
mit ρ Eingängen und r Ausgängen reduziert μ parallele
Summanden zu r im Binärcode dargestellten Summanden bei Erhaltung deren Gesamtsumme. Vorzugsweise ist der Einsatz
von Codierern mit 3 Eingängen und 2 Ausgängen, d«h« von
einstelligen Addierern in den Schaltwerfcstufen vorgesehen.
Eine Reihe solcher miteinander nicht verbundener einstelliger Addierer, welche einen Biehrstelligen. Cibertragserhaitenden
Binäraddierer (carry save adder) bildetr reduziert drei
Summanden auf zwei mit gleicher Summe.
Die erfindungsgenäße Einrichtung weist einen Paralleladdierer
zum Addieren van den in der Verarheitungseinheit reduzierten
Sctmmonden auf. Dieser Addierer ist an die Ausgänge der Verarbeitungseinheit
oder an die Ausgänge der Registeranordnung angeschlossen. Wenn die Verarbeitungseinheit die Summandenzahl
auf zwei reduziert, ist es ein Zwei-Summanden-Addierer,·
wenn die reduzierte Anzahl von an den Ausgängen dieser Einheit erhaltenen Sunraranden größer ist, ist ein Mehrsummanden-Addierer
vorgesehen« Vorzugsweise wird ein Addierer
mit Schicht- bzw. Stufenaufbau eingesetzt, in welchem die die
Schaltwerke enthaltenden Schichten aller Stufen durch stufenweise angeordnete Register getrennt sind und welcher eine zur
Datenflußverarbeitung in der Verarbeitungseinheit synchrone
Durchführung der folgenden Additionen ermöglicht. Der Anschluß des Addierers an die Einrichtung hat den Zweck,
809831/0817
das Endergebnis der Berechnung in Form einer Zahl im Binärcode zu erzeugen.
Der Ausgang des an die Datenflußverarbeitung, d.h. an die flußförmig erfolgende Durchführung der folgenden Additionen
abgestimmten Addierers ist über das im Registersatz enthaltene Register des Multiplikanden mit einem parallelen,
zur Einfuhrung des Multiplikanden bestimmten Ausgang der Verarbeitungseanheit verbunden. Das erlaubt, die Multiplikationen in solchen arithmetischen Ausdrücken durchzuführen, in welchen die beiden Multiplikationsfaktoren
Summen von zwei und mehreren Summanden sind.
Wenn in der erfindungsgemäßen Einrichtung die Schleifen, über welche die auf den Ausgängen der Verarbeitungseinheit erhaltenen Zwischenergebnisse wieder den Eingängen
dieser Einheit zugeführt werden, werden vorzugsweise die zwei in der Registereinheit enthaltenen Parallelregister
zum Speichern der reduzierten Summanden und eine, nämlich die letzte Schaltwerkstufe der Verarbeitungseinheit zusammengefaßt. Die in Form von reduzierten Summandenpaaren
auftretenden Zwischenergebnisse werden wieder, zusammen mit anderen Summanden in der letzten Stufe der Verarbeitungseinheit zu zwei Summanden mit gleicher Gesamtsumme reduziert.
Die Umfassung mit den Schleifen nur einer Schaltwerkstufe der Verarbeitungseinheit ermöglicht es, den Wert von
Polynomen η ki für hohe η-Werte mit einer
solchen Geschwindigkeit zu berechnen, daß die Durchschnittszeit einer Multiplikation wenig länger als ein Zyklus der
809831/0817
-W-
Datenflußverarbeitung in einer Stufe der Verarbeitungseinheit ist, so dcß die in dem Polynom auftetenden Additionen
in mehreren Fällen gar nicht die Gesaratzeit der Berechnung beeinflussen.
Die erfindungsgemäße Einrichtung enthält vorzugsweise eine Reihe von Parallelregisterpaaren, welche die aus der
Verarbeitungseinheit in Form von Summandenpaaren eingeführten Zwischenergebnisse speichern. Aus diesen Registern werden
die Summandenpaare wieder parallel in die Verarbeitungseinheit
oder in das Paar von Parallelregisternzum Speichern von Multiplikatorfaktoren eingegeben. Die Eingabe dieser
Summandenpaare in die Register der Summanden des Multiplikators erfolgt dabei entweder direkt oder über eine oder
mehrere Stufen der Verarbeitungseinheit, in welcher diese Summanden unter Erhaltung deren Gesamtsumme zusammen
mit den anderen Summanden reduziert werden. Das gleichzeitige Speichern mehrerer Zwischenergebnisse in Form von Paaren
der reduzierten Summanden und deren wiederholten Eingabe in die Verarbeitungseinheit und/oder in die Register der Summanden
des Multiplikators ermöglicht es, verschiedene Polynomausdrücke mit unterschiedlicher Klammernverteilung zu berechnen.
Bei der erfindungsgemäßen Einrichtung enthalten alle durch die Verarbeitungseinheit und den Register satz gebildeten
Schleifen eine gleiche Gesamtzahl von k Parallelregisterstufen und einzelnen Parallelregister, durch welche der
Reihe nach der zu verarbeitende Datenfluß übertragen wird,
809831/0817
um eine gleichzeitige, unabhängige Berechnung von k arithmetischen
Ausdrucken zu ermöglichen. Die Datenumlaufzeit in den durch die Verarbeitungseinheit und den Registersatz
gebildeten Schleifen ist k-Mal langer als die Zeit der
Datenflußverarbeitung, welche einer Schaltwerkstufe in der Verarbeitungseinheit zuföllt. Über die Auswahl der Zahl k
entscheidet vor allem die Anzahl von Schaltwerkstufen der Verarbeitungseinheit. Im Falle, wenn die Verarbeitung .
ausschließlich in der Verarbeitungseinheit erfolgt, wird vorzugsweise als k die Zahl der die Schaltwerke enthaltenden
Stufen dieser Einheit gewählt. Die in der Einrichtung zu berechnenden arithmetischen Ausdrücke können sowohl einer
im Rahmen eines Programms zu lösenden Aufgabe, wie auch
verschiedenen, voneinander unabhängigen Aufgaben, die z.B. während der Zusammenarbeit der genannten Einrichtung mit k
verschiedene, separate Programme durchführendenRechenmaschine gelöst werden, zugeordnet sein. Der Zweck des genannten Einsatzes
der Einrichtung besteht in der Verringerung der Berechnungsgeschwindigkeit
jedes Ausdrucks aus 1 arithmetischen Ausdrücken, wodurch die an die mit der genannten Einrichtung
zusammenarbeitenden Speicher gestellten Anforderungen reduziert werden können.
Die erfindungsgemäße Einrichtung enthält ein eine flußartige Durchführung von nachfolgenden Additionen ermöglichende und
zusammen mit der Verarbeitungseinheit und dem Registersatz eine zusätzliche Schleife bildendes Parallelregister, wobei
diese Schleife insgesamt 2k Parallelregisterstufen und einzelne Parallelregister enthält, durch welche der
Reihe nach fließend die verarbeiteten Daten übertragen werden.
8 0 9 8 3 1/0-817
Die Datenumlaufzeit ist in dieser zusätzlichen Schleife zwei
Mal langer als in den anderen Schleifen. Vorzugsweise hält diese Schleife das im Registersatz enthaltene Multiplikandenregister.
Dadurch können die Multiplikationen durchgeführt werden, in welchen die beiden Faktoren Summen von
zwei und mehreren Summanden sind; bei genügend großer Anzahl von den die reduzierten Summanden speichernden Registernkann
der Wert von Ausdrücken mit beliebig verteilten Klammern berechnet werden.
Ein Hauptvorteil der erfindungsgemäßen Digitaleinrichtung zur Berechnung des Wertes von komplexen arithmetischen Ausdrücken
besteht in der sehr hohen Arbeitsgeschwindigkeit, welche durch den Einsatz der Datenflußverarbeitung nur
während der Anfangs- und Mittelphase der Durchführung von den in den zu berechnenden arithmetischen Ausdrücken enthaltenen
Multiplikationen und Additionen und durch die Ausnutzung des nicht am Ende berechneten Ergebnisses dieser Operationen,
in Form mehrerer, meistens zwei Summanden, als Operanden für die folgenden Operationen erreicht wird. Dadurch werden in
der Einrichtung die zeitaufwendigen Übertragsfortpflanzungsvorgänge
beseitigt, welche üblicherweise die Endphase der Multiplikationen und Additionen bilden. Die Berechnung von
komplexen arithmetischen Ausdrücken erfolgt also entweder
überhaupt ohne Ubertragsfortpflanzung mit den zu verarbeitenden Zahlen, wenn das Endergebnis der Berechnung in Form
von zwei Summanden dargestellt werden kann, oder es erfordert nur einen einmaligen Übertragsfortpflanzungsvorgang
während der Durchführung der Endaddition der zwei Summanden,
809831/0817
wenn es nach dem Ergebnis in Form von einer Zahl in einem
eindeutig bestimmten Binärcode, z.B. in Binärkomplementärcode oder in Vorzeichen-Modul-Form gefordert wird.
Die erfindungsgemäße Einrichtung wird nachstehend unter Bezugnahme
auf Zeichnungen erläutert. Es zeigen:
Fig. 1 das Blockschaltbild einer ersten Ausführungsform
(Beispiel i), und
Fig. 2 das Blockschaltbild einer zweiten Ausführungsforra
(Beispiel II).
Nachstehend ist die Arbeitsweise der erfindungsgemäßen Einrichtung
beschrieben, in welcher die Verarbeitungseinheit, mit den durch Registerstufen getrennten Schaltwerkstufen die Gesamtzahl
der Summanden auf zwei reduziert, und in welcher die zwei reduzierten Summanden des Endergebnisses in dem an die
Ausgänge der Verarbeitungseinheit angeschlossenen Addierer addiert werden.
Die Einrichtung arbeitet synchron mit einer bestimmten Frequenz, indem sie in den nachfolgenden Schaltwerkstufen der Verarbeitungs
einheit die Daten fließend verarbeitet (pipeline processing). In der Reihenfolge, welche von der Form des zu berechnenden arith
metischen Ausdruckes abhängt, werden synchron mit dieser Frequenz den bestimmten Eingängen der Einrichtung die Operanden dieses
Ausdruckes, und zwar die Faktoren der Produkte und Summanden der Summen zugeführt. Die Berechnung eines Produktes von zwei
Faktoren erfordert eine parallele Einführung des Multiplikanden
809831/0817
und des Multiplikators zu den Eingängen dieser Schaltwerkstufe der Verarbeitungseinheit, in welcher parallel die die Faktoren
des Produktes bildenden Teilprodukte verarbeitet werden. Der Multiplikand wird in die Verarbeitungseinheit durch das
Multiplikandenregister und der Multiplikator durch eines der Sunmandenregister des Multiplikatorspeichers eingegeben. In
dieser Stufe der Verarbeitungseinheit wird die Multiplikation durch Addition mehrerer Sunnr.andon-Teilprodukte des zu be~
rechnenden Endproduktes ersetzt. Durch synchrone Eingebe in die Verarbeitungseinheit der gegebenenfalls notwendigen zusätzlichen
Summanden, welche zu diesem Produkt addiert werden sollen, wird nur die Gesamtzahl der Summanden vergrößert. In
den nachfolgenden Stufen der Verarbeitungseinheit erfolgt schrittweise eine Reduzierung der Summandenzahl unter Erhaltung
deren Sunne. Die in der Verarbeitungseinheit auf zwei reduzierten Faktoren des zu berechnenden Produktes werden dann
entweder den Registern für die reduzierten Summanden, wenn sie ,
zu den anderen Summanden des zu berechnenden Ausdruckes addiert werden sollen, oder den Registern für die Summanden des Multiplikators,
wenn deren Summe durch einen weiteren Faktor multipliziert werden soll, zugeführt. In letztem Fall wird dieser
weitere Multiplikationsfaktor der Verarbeitungseinheit als Multiplikand gleichzeitig mit den in den Registern gespeicherten
Summanden des Multiplikators zugeführt. Als Ergebnis der Arbeitsweise der Verarbeitungseinheit werden an ihrem Ausgang zwei reduzierte
Summanden des weiteren Zwischenergebnisses erhalten, welche wieder entweder den Registern für die reduzierten Summanden
oder den Registern für die Summanden des Multiplikators zugeführt werden, abhängig davon, ob deren Summe einen Summand
des zu berechnenden arithmetischen Ausdruckes darstellt oder
809831/0817
sie mit weiteren Faktoren multipliziert werden sollen. Wenn das berechnete Zwischenergebnis zu dem früheren Inhalt der
Register für die reduzierten Summanden addiert werden soll, wird der Inhalt dieser Register in die Verarbeitungseinheit
eingeführt, während in der Verarbeitungseinheit die Summanden dieses Zwischenergebnisses reduziert werden. Den Wert des
ganzen, berechneten arithmetischen Ausdruckes erhält men auch in Form von zwei Summanden an den Ausgängen der Verarbeitungseinheit.
Mach der Addition dieser Summanden in dem Addierer wird an dessen Ausgang das Endergebnis der Berechnung
erhalten. Die beschriebene Berechnung des Wertes eines Polynoms oder eines Polynomausdruckes mit Klammern macht es notwendig,
nur eine effektive Addition mit Übertragsfortpflanzung durchzuführen.
Die in Fig« 1 gezeigte Einrichtung enthält eine Verarbeitungseinheit P, zwei Parallel-Register A, B zum Speichern der Summanden
des Multiplikators, ein Parallel-Register C zum Speichern des Multiplikanden, zwei Parallel-Register D, E zum Speichern
von Summanden, zwei Parallel-Register F, H zum Speichern der in der Einheit P reduzierten Summanden, und einen Parallel-Addierer
S. Die Verarbeitungseinheit weist fünf Schaltwerkstufen 1, 3, 5, 7, 9 auf, welche durch vier Parallel-Register-Stufen
2, 4, 6, 8 getrennt sind. Der Addierer S ist ein Doppelsummanden-Parallel-Addierer
mit stufenförmigem Aufbau und enthält drei Schaltwerkstufen 11, 13, 15, welche durch zwei Parallel-Register-Stufen
12, 14 getrennt sind. All© Register der Einrich-
809831/0817
tung, also sowohl die Register A, B, C, D, E, F, H, als auch
die dia Stufen 4, 6, 3, 12, 14 bildenden Register sind eine Datenfiuß verarbeitung in der Einrichtung ermöglichende
Doppelregister (niasterslave register). Die von außen zugeführten Steuersignale rufen hervor, daß in diesen Registern
die den Eingängen zugeführten Null-Eins-Signale gespeichert werden. In die Verarbeit'jngseinheit P werden vor. aui3en über
die Register A, B, C, D, E die Operanden eingegeben. Die Register
A, B bilden zusammen mit der Einheit P die Schleifen, über welche die an den Ausgängen der Stufe 7 der Einheit P
erhaltenen Zwischenergebnisse in Form von reduzierten Summandenpaaren,
als Summandenpaare des Multiplikators wieder den Eingängen der Stufe 1 der Einheit P zugeführt werden. Die Register
F, H bilden mit der Einheit P Schleifen. Durch diese Register werden die an den Ausgängen der Stufe 9 der Einheit P erhaltenen
Zwischenergebnisse wieder den Eingängen der Stufe 7 als Summandenpaare zugeführt, welche zu den weiteren in
der Einheit P reduzierten Summanden addiert werden. An die
Ausgänge der Register F, H ist der Addierer S angeschlossen, in welchem die über diese Register aus der Einheit P eingeführten
zwei SunüTianden des Endergebnisses addiert werden. Der
Ausgang des Addierers S bildet einen äußeren Parallelausgang der Einrichtung. Jeder Eingang und Ausgang der genannten Register
und Digitaleinheiten der Einrichtung gestattet eine parallele Ein- oder Ausgabe aller Bites einer Binärzahi. Die
gezeigte Einrichtung ermöglicht die Berechnungen von 32-Bit-Zahlen.
In den folgenden Schaltwerkstufen 1, 3, 5, 7, 9 der Einheit P erfolgt die Datenflußverarbeitung (pipeline processing):
Vorbereitung der Teilprodukte in der Stufe 1 und
809831 /0817
schrittweise Reduktion der Summanden in den Stufen 3, 5, 7, 9.
Die Stufe 1 der Einheit P ist aus einfachen Schaltwerken gebildet,
an deren Ausgängen parallel gleichzeitig alle Bites der 17 Teilprodukte erhalten werden, welche die Faktoren
des Produktes des 32-Bit-f'iultiplikanden und der Summe von
zwei 32-ßit-Summanden des Multiplikators bilden. Die einzelnen Teilprodukte sind den Paaren von Multiplikator-Binärstellen
zugeordnet und stellen die zueinander verschobenen Multiplizitäten des Multiplikanden dar, indem sie das -2, -1, 0, +1, +2 fache
des Multiplikanden sind. Jede der Stufen 3, 5f 7, 9 besteht
aus zwei innerhalb einer Stufe nicht direkt miteinander verbundenen, einstelligen, je 3 Einbit-Eingänge und je 2 Einbit-Ausgänge
aufweisenden Addierer. Diese Addierer sind in Reihe geschaltet, von welchen jede Reihe 3 Summanden bis 2 Summanden
der gleichen Summe reduziert. Die Stufe 3 enthält zwei der Reihe nach 6 unc5 4 Reihen von Addierern enthaltenden Stufen
mit einstelligen Addierern,die Stufe 5 3 und 2 Reihen solcher
Addierer, und jede der Stufen 7 und 9 zwei einfache Reihen von einstelligen Addierern. Die Stufe 3 reduziert 17 Teilprodukte
und zwei Summanden auf 9 Summanden mit gleicher Summe, die Stufe 5 reduziert die Anzahl von Summanden von 9 auf 4,
und jede der Stufen 7 und 9 reduziert die Summandenzchl von
4 auf 2. Die Stufen 1, 3, 5, 7, 9 sind voneinander durch Stufen 2, 4, 6, 8 getrennt, welche der Reihe nach 17, 9, A1 2
Parallelregister enthalten, die 17 Teilprodukte und 9, 4 und 2 reduzierte Summanden speichern.
Die Wirkung der in Fig. 1 dargestellten Einrichtung wird am
Beispiel der Berechnung des arithmetischen Ausdruckes
100 ■>
(x.y.z. + w./v. + u.t. + p. + q. + r. + s.)j
809831/0817
erklärt, wobei 400 Multiplikationen und 699 Additionen
durchgeführt werden müssen. Die Zeit der Berechnung des Wertes dieses Ausdruckes setzt sich aus der Zeit des 400-maligen
Datenübergangs durch eine Schaltwerkstufe und der Zeit des einmaligen Datensignalübergangs durch alle Stufen
der Verarbeitungseinheit P und des Addierers S zusammen. Wenn
als Zeiteinheit eine Periode T der Datenflußverarbeitung ange nommen wird, welche in der Einrichtung der maximalen Datenübergangszeit
durch zwei in Reihe geschaltete einstellige Addierer und ein Parallelregister (master-slave register)
gleich ist, so beträgt die Berechnungszeit des Wertes des oben aufgeführten Ausdruckes 400 T+5T+3T= 408 T.
Der Berechnungsverlauf ist folgendermaßen: den Eingängen der Stufe 1 der Einheit P werden über die Register A, C in vier
nacheinander folgenden und als T,, TV,, T^ und T. bezeichneten
Perioden T die Faktorpaare x.., y,; x_, y„; χ-, y«; x., y. zugeführt.
Die der Reihe nach infolge der Arbeit der Einheit P an den Ausgängen der Stufe 7 zu erhaltenden Faktoren der
Produkte x,y„ x^Yo/ x^o; χΛνΛ werc^en wieder als Summanden
des Multiplikators in den Perioden T1-, T,, Ij1 TL, über die
Register A, B den Eingängen der Stufe 1 der Einheit P zugeführt. Gleichzeitig mit diesen werden der Reihe nach über
das Register C die Zahlen x,, z„, z„, z. als Multiplikanden
und eine T-Periode später der Reihe nach über das Register D den Eingängen der Stufe 3 der Einheit P die Zahlen w,, w«,
ν«, w, als Sumrranden zugeführt. Infolge der Einheit P werden
an den Ausgängen der Stufe 7 der Reihe nach die Paare von Summanden der Zwischenergebnisse x.y.z- + w., x„y„z„ + w~/
x^y^Zo + w„, χ/Υλζα. + WA erhalten. Diese Summandenpaare
werden in den Perioden T9, ^,^, Ti-i^ T19 über die Register
A, B den Eingängen der Stufe 1 der Einheit P als Summanden
809831/0817 G~3^-j- K
des Multiplikators zugeführt. Gleichzeitig mit diesen werden der Reihe nach über das Register C die Zahlen ν», vo, ν~, ν.
als Multiplikanden, und eine T-Periode später, über die Register D, E der Reihe nach der Einheit P die Zahlenpaare
p,, q,, Pjt Qo' ^3' q3' P4' ^4 a^s Summanden zugeführt. Infolge
der Arbeitsweise der Einheit P werden an den Ausgängen der Stufe 7 die Faktorenpaare der Zwischenergebnisse (x.y.z. +
w.) · v. + p. + q. der Reihe nach für i = 1, 2, 3, 4 erhalten.
Diese Faktorenpaare werden der Reihe nach in den Perioden T.,, T-i// T,j-, T., den Stufen 8 und 9 der Einheit P, und aus
diesen dann den Registern F, H zugeführt, wobei der Stufe 9
gleichzeitig in den Perioden T,,, T-r, T», der Reihe nach
der Inhalt der Register F, H zugeführt wird. Infolgedessen werden in der Periode T17 in den Registern F, H zwei Summanden
erhalten, deren Summe gleich
^> _ (x.y.z. + w.) · v. + p. + q., ist. Unabhängig davon werden
rrr x α/ι χ χ' χ ri χ' σ 3
in der Periode Τ,~, T.-, T,r, Τ,, der Reihe nach über die Register
A end C den Eingängen der Stufe 1 der Einheit P die Paare der Summanden U1, t-,, uo, to, u«, to, ti., t., und eine
T-Periode später über die Register D, E, den Eingängen der
Stufe 3 die Summandenpaare r-, s,, ^* s„; r„, S3, χ ,t s.
zugeführt. Infolge der Arbeitsweise der Einheit P werden an den Ausgängen der Stufe 7 die Faktorenpaare der Zwischenergebnisse
u.t. +r. + s.ι der Reihe nach für i = 1f 2, 3, 4
α χ χ χ
erhalten. Diese Fcktorenpaare werden der Reihe nach Stufen 8 und 9 der Einheit P in den Perioden T, 7, "^i ρ * ^"io'
und aus diesen dann den Registern F, H zugeführt, wobei der Stufe 9 gleichzeitig in den Perioden 1Λ-7ΐ ^iot ^iop
809831 /0311
nacheinanderfolgenden Inhalte der Register F, H zugeführt werden.
Als Ergebnis werden in den Registern F, H in der Periode T^.
zwei Summanden erhalten, deren Summe gleich
y~ \ (χ,γ,ζ, + w./ν. + u.t. + p. + q. + r. + s.) ist.
•"τ—; IrIl ix χ χ rx ^x χ x' J
In ähnlicher Weise werden durch Eingabe weiterer Operanden von x. bis s. für i = 5, 6, 7, 8, in die Einheit P in den
Perioden T.,-, bis T^ in den Registern F, H in der Periode T_7
zwei Sur.jncnden erholten, deren Summe gleich
y~ /(x.y.z. + w./v. + u. t. + p. + q. + r. + s.) ist.
*r—, t. i'i ι i x xx χ χ χ χ J
Analog werden in den Registern F, H in der Periode T^.,
zwei Summenden des Endergebnisses
Jr^ !(x.y.z. +w./v. +u.t. +p, +q. +r. +s.)j erhalten.
frrl; X7X X IX XX rX ^X X x'J
Much der Addition der beiden Summanden in dem Addierer S
mit drei Schaltwe.rkstufen 11, 13, 15 wird an dessen Ausgang
in der Periode T^.^ das Endergebnis in Form einer Zahl
in geforderter Binärcode erhalten.
Die in Fig. 2 dargestellte Einrichtung gestattet eine gleichzeitige,
unabhängige Berechnung von vier arithmetischen Ausdrücken . Die Einrichtung enthält die Verarbeitungseinheit P, eine Einhext R mit Parallelregistern und einen
Paralleladdierer S. Die Verarbeitungseinheit P enthält vier Schaitwerketufen 1, 3, 5, 7, welche durch drei Parallelregisterstufen
2, 4, 6 voneinander getrennt sind. Die Parallelregistsrainheit
R enthält zwei Register zum Speichern von
809831/081?
Summanden des Multiplikators, ein Multiplikandenregister
und ZW21 Summandenregisterstufen. Der Addierer S ist ein
Doppelsummanden-Paralleladdierer mit Stu fen struktur und enthält vier Schaltwerkstufen 11, 13, 15, 17, welche durch
Parcllelregisterstufen 12r 14, 16 voneinander getrennt sind.
Alle Register der Einrichtung ermöglichen wie bei der in Fig. 1 gezeigten Einrichtung eine Datenflußverarbeitung.
Die Verarbeitungseinheit P hat gleichen Aufbau wie die Einheit P in Fig. 1, d.h. sieben Stufen 1, 2, 3, 4, 5, 6, 7.
Au.Gercien sind Schaltungen vorgesehen, die eine parallele Übertragung der Zwischenergebnisse in Form von reduzierten
Summandenpaaren an den Ausgängen der Stufe 7 der Einheit P
zu den in der Speichereinheit R enthaltenen Registern für die Summanden des Multiplikators und zu der ersten Stufe
der Surrirandanregistor ermöglichen, und Schaltungen vorgesehen,
welche die Übertragung dieser Zwischenergebnisse und des Endergebnisses
von den Ausgängen der Stufe 7 der Einheit P zu dem Adaiersr S ermöglichen. Aus dem Addierer S werden die Zwischenergebnisse
dem Multiplikandenspeicher in der Registereinheit R und c'ac Endergebnis der Einrichtung nach außen geführt. Die
Opercrvlo·- vo-.i Ausgang der Einrichtung werden den Parallelregistern
der Registereinheit R zugeführt. Von den Multiplikandenregistern und den Registern für die Summanden des
t'iultiplikators des Registersatzes R werden diese Operenden
und die Zwischenergebnisse den Eingängen der Stufe 1 der Einheit P, und von den Sumtnandenregistern der ersten Stufe der
Einheit R über die Suimnandenregister der zweiten Stufe den
Eingengen der Stufe 3 der Einheit P zugeführt. Die zweite Suzincndanregisterstufe der Einheit R ist also eine Puffer-
809831/0817
stufe, welche eine Verzögerung bewirkt, welche gleich der
Verzögerung einer Stufe bei der Datenflußverarbeitung in der Verarbeitungseinheit P ist.
Die Arbeitsweise der in Fig. 2 dargestellten Einrichtung wird nachstehend am Beispiel der Berechnung von vier unabhängigen,
arithmetischen Ausdrucken erklärt, von denen ein Ausdruck der im Beispiel I beschriebene Ausdruck
/pi + qi + ri + sPjist/
piiiiiΛ i qi
welcher die Durchführung von 400 Multiplikationen und 699 Additionen erfordert. Die Zeitdauer der Berechnung
des Wertes dieses Ausdruckes setzt sich aus der Zeit von 400 Umläufen der Datensignale in der alle Stufen der
Verarbeitungseinheit P umfassenden Schleife und der Zeit eines einmaligen Durchgangs der Datensignale durch alle
Stufen der Verarbeitungseinheit P und des Addierers S zusammen.
Bei Annahme der vorher bestimmten T-Periode als Zeiteinheit beträgt die Berechnungszeit des Wertes des
oben aufgeführten Ausdruckes 400 · 4T + 4T + 4T. Die Operanden ces zu berechnenden Ausdruckes werden der Verarbeitungseinheit
P in vier T-Perioden eingegeben, wobei zur Berechnung dieses Ausdruckes nach einem Flußschema in
jeder T-Periode nur eine Schaltwerkstufe ausgenutzt wird. Die restlichen Schaltwerkstufen der Einheit P können analog
ausgenutzt werden, indem man gleichzeitig flußschemaartig drei andere unabhängige arithmetische Ausdrücke berechnet.
Diese Ausdrücke können beispielsweise Bestandteile von verschiedenen Aufgaben sein, welche kollisionsfrei, d.h. vonein
809831 /0817
- 27 -
ander unabhängig bei der Arbeitsweise der Einrichtung mit verschiedenen Rechenautomaten gelöst werden. Mit Rücksicht
darauf, daß bei der Lösung durch die Einrichtung die nachfolgenden Operandengruppen der Einheit P periodisch alle
4T, d.h. mit einer vollen Zyklusfrequenz der Einheit P zugeführt werden, können die einzelnen Operanden gemäß der
Reihenfolge ihrer Indexe, d.h. der Reihe entsprechend i = 1, 2, 3 ... eingegeben werden. Dadurch wird die Steuerung
des Eingangsdatenstromes gegenüber der Einrichtung nach dem Ausführungsbeispiel I vereinfacht. Die Durchschnittsgeschwindigkeit
bei der Durchführung von arithmetischen Operationen beträgt bei beiden Ausführungsformen ungefähr eine T-Periode
für eine Multiplikation. Diese Zeit umfaßt bereits die Additionszeit. Diesesist dann nicht der Fall, wenn die Additionszahl gegen
über der Multiplikationszahl sehr hoch ist.
808831/QSIf
Claims (11)
- PATENTANWÄLTE
ZELLENTSNZWEIBRUCKENSTR. 15 pOOOO MÜNCHEN 226. 1. 1978Instytut Maszyn Matematycznych Warszawa, PolenPatentansprüche»J Digitaleinrichtung zur Ermittlung des Viertes von komplexen arithmetischen Ausdrücken zur Berechnung des Wertes von Polynomen beliebigen Grades mit eineroder mehreren Variablen, von Funktionsreihen, Skalarprodukten und anderen im Binärcode dargestellten, auszuführenden Berechnungen mit vektorisierten Daten, mit einer digitalen Verarbeitungseinheit zur Ermittlung der die Summanden eines Produktes von zwei Faktoren bildenden Teilprodukte und zur Reduktion der Zahl der Summanden und der zusätzlich, einzuführenden Summanden auf eine kleinere Zahl von eine gleiche Gesamtsumme aufweisenden Summanden, und mit einer Parallelregistereinheit zum Speichern von Operanden809831/0817und Zwischenergebnissen,dadurch gekennzeichnet, daß die im Registersatz (R) enthaltenen Register (A, B) zum Speichern der Summanden des Multiplikators mit der Verarbeitungseinheit(P)Schleifen bilden, Über welche die an den Ausgängen dieser Einheit erhaltenen Zwischenergebnisse in Form von reduzierten Summanden wieder den Eingängen dieser Verarbeitungseinheit als Multiplikatorsummanden zugeführt werden, daß die in der Registereinheit (R) enthaltenen Parallelregister (F, H) zum Speichern von reduzierten Summanden mit der Verarbeitungseinheit (P) die separate Schleifen bilden, über welche die von den Ausgängen der Verarbeitungseinheit erhaltenen Zwischenergebnisse in Form von reduzierten Summanden deren Eingängen als Summanden zugeführt werden, wobei die Verarbeitungseinheit eine parallele Ermittlung von mehreren oder allen Teilprodukten ermöglicht, welche die Summanden von zwei Faktoren bilden, wobei ein Faktor den parallel in die Verarbeitungseinheit einzuführenden Multiplikanden und der zweite Faktor mindestens zwei parallel aus dem Register (A, B) in die Verarbeitungseinheit (P) einzuführende Summanden des Multiplikators bilden, und die Verarbeitungseinheit (P) die Ermittlung der genannten Teilprodukte parallel ohne Durchführung der effektiven Addition der Summanden des Multiplikators ausführt. - 2. Einrichtung nach Anspruch 1, dadurch gekennzeichnet, daß die Verarbeitungseinheit (P) stufenförmig aufgebaut ist und Schaltwerkstufen (1, 3, 5, 7, 9) enthält, welche zur Gewährleistung der unabhängigen, schrittweisen Datenflußverarbeitung in den809831/0817aufeinanderfolgenden Schaltwerkstufen durch Parallelregisterstufen (2, 4, 6, 8) getrennt sind, wobei der logische Aufbau der Schaltwerkstufen (lf 3, 5, 7, 9) die Ermittlung der die Summanden des Produktes einer Zahl und einer Zahlensumme bildenden Teilprodukte und die schrittweise Reduktion der Summanden des Produktes, zusammen mit den zusätzlich in die Verarbeitungseinheit (P) eingeführten Summanden auf eine kleinere Zahl, z.B. auf zwei Summanden unter Erhaltung deren Gesamtsumme ausführt.
- 3. Einrichtung nach Anspruch 2, dadurch gekennzeichnet, daß der logische Aufbau der Verarbeitungseinheit (P) derart gewählt ist, daß die Reduktion der Zahl an Summanden auf zwei unter Erhaltung deren Gesamtsumme ausführbar ist, daß die zur Ermittlung der Teilprodukte bestimmte Schaltwerkstufe (1) eine parallele Verarbeitung von den zur Ermittlung des Produktes einer Zahl und einer Zahlensumme notwendigen Teilprodukten au^ührt, wobei diese Teilprodukte entweder die zueinander verschobenen Multiplizitäten des Multiplikanden, welche das -1, 0, +1 -Vielfache des Multiplikanden bilden und jedem ein Paar der Bites der beiden Summanden des Multiplikators zugeordnet ist, oder die zueinander verschobenen Multiplizitäten des Multiplikanden, welche das -2, -1, 0, +1, +2 -Vielfache des Multiplikanden bilden und jedem ein Paar der Doppelbitgruppen der beiden Summanden des Multiplikators zugeordnet ist.
- 4. Einrichtung nach Anspruch 2, dadurch gekennzeichnet, daß die zur schrittweisen Reduktion der in der Einheit (P) zu ermitteln-809831/0817den Teilprodukte und der dieser Einheit zuzuführenden Summanden auf eine kleinere Anzahl von Summanden unter Erhaltung deren Gesamtsumme bestimmten Schaltwerkstufen (3f 5, 7, 9) der Einheit (P) aus Codierern zusammengeschaltet sind, welche jeweils ρ Einbit-Eingänge und r Einbit-Ausgänge aufweisen, daß der Null-Eins-Zustand der r Ausgänge des Codierers eine binärcodierte Eins-Summe darstellt, welche die Eins-Null-Signale an ρ Ausgängen dieses Codierers darstellen, und daß sie Codierer mit acht oder neun Eingängen und vier Ausgängen mit den Ausgangs-Bitwertigkeiten 4, 2, 2, 1 oder 8, 4, 2, 1, Codierer mit sieben, sechs, fünf oder vier Eingängen und drei Ausgängen sowie Ausgangs-Bitwertigkeiten 4, 2, 1, sowie aus Codierer mit drei Eingängen und zwei Ausgängen mit Ausgangs-Bitwertigkeiten 2, 1 aufweist, wobei letztere einstellige Binäraddierer sind, wobei die einzelnen Schaltwerkstufen der Verarbeitungseinheit (P) aus einer, zwei, drei oder vier Stufen solcher miteinander innerhalb einer Stufe nicht verbundenen Codierern bestehen, so daß eine einzelne Reihe der miteinander nicht verbundenen Codierer mit ρ Eingängen und r Ausgängen parallel die ρ Summanden zu r im Binärcode dargestellten Summanden unter Erhaltung deren Gesamtsumme reduziert.
- 5. Einrichtung nach Anspruch 2, dadurch gekennzeichnet, daß ein Paralleladdierer (s) zum Addieren der in der Verarbeitungseinheit (P) reduzierten Summanden vorgesehen ist, welcher an die Ausgänge der Verarbeitungseinheit (P) oder die Ausgänge der Registereinheit (R) angeschlossen ist, daß ein Addierer mit stufenförmigem Aufbau angeordnet ist, dessen Schaltwerkstufen (11, 13, 15) durch Registerstufen (12, 14) getrennt sind809831/0817und welcher eine der Datenflußverarbeitung in der Verarbeitungseinheit (P) entsprechende, synchronisierte, flußschemaartige Durchführung der aufeinanderfolgenden Additionen ausführt.
- 6. Einrichtung nach Anspruch 5, dadurch gekennzeichnet, daß der Ausgang des Addierers (S) über das in der Registereinheit (R) angeordnete Multiplikandenregister (c) mit dem zum Empfang des Multiplikanden bestimmten parallelen Eingang der Verarbeitungseinheit (P) verbunden ist.
- 7. Einrichtung nach Anspruch 2, dadurch gekennzeichnet, daß die Schleifen, über welche die an den Ausgängen der Verarbeitungseinheit (P) erhaltenen Zwischenergebnisse wieder deren Eingängen zugeführt werden, zwei in der Registereinheit (R) enthaltene Parallelregister (F, H) zum Speichern der reduzierten Summanden und eine Schaltwerkstufe (9) der Verarbeitungseinheit (P) umfassen.
- 8. Einrichtung nach Anspruch 2, dadurch gekennzeichnet, daß eine Reihe von Parallelregisterpaaren angeordnet ist, welche die aus der Verarbeitungseinheit (P) in Form von Summandenpaaren eingeführten Zwischenergebnisse speichern, aus welchen diese Summandenpaare wieder in die Verarbeitungseinheit oder in das Paar der parallelen Register zum Speichern der Summanden des Multiplikators eingegeben werden, wobei deren Eingabe in die Register der Summanden des Multiplikators entweder unmittelbar oder über eine oder mehrere Stufen der Verarbeitungseinheit, in welche diese Summanden zusammen mit den anderen Summanden unter Erhaltung deren Gesamtsumme reduziert werden, erfolgt.809831/0817
- 9. Einrichtung nach Anspruch 2, dadurch gekennzeichnet, daß alle durch die Verarbeitungseinheit (P) und die Registereinheit (R) gebildeten Schleifen eine gleiche Gesamtzahl von k Parallelregisterstufen und einzelnen Parallelregistementhalten, über welche der Reihe nach zur Ermöglichung einer unabhängigen, gleichzeitigen Ermittlung von k arithmetischen Ausdrücken die zu verarbeitenden Daten des Datenflußes übertragen werden.
- 10. Einrichtung nach Anspruch 9, dadurch gekennzeichent, daß ein Paralleladdierer (S) vorgesehen ist, welcher aufeinanderfolgend Additionen entsprechend der Datenflußverarbeitung ausführt und zusammen mit der Verarbeitungseinheit (P) und dem Registersatz (R) eine zusätzliche Schleife bildet, welche 2k Parallelregisterstufen und einzelne Parallelregister enthält, über welche der Reihe nach die zu verarbeitenden Daten übertragen werden.
- 11. Einrichtung nach Anspruch 10, dadurch gekennzeichnet, daß die zusätzliche Schleife das im Registersatz (R) enthaltene Multiplikatorregister aufweist.809831/0817
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PL1977195731A PL106470B1 (pl) | 1977-02-01 | 1977-02-01 | Uklad cyfrowy do obliczania wartosci zlozonych wyrazen arytmetycznych |
Publications (1)
Publication Number | Publication Date |
---|---|
DE2803425A1 true DE2803425A1 (de) | 1978-08-03 |
Family
ID=19980766
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19782803425 Withdrawn DE2803425A1 (de) | 1977-02-01 | 1978-01-26 | Digitaleinrichtung zur ermittlung des wertes von komplexen arithmetischen ausdruecken |
Country Status (6)
Country | Link |
---|---|
US (1) | US4156922A (de) |
DD (1) | DD134148A5 (de) |
DE (1) | DE2803425A1 (de) |
FR (1) | FR2379116A1 (de) |
GB (1) | GB1595381A (de) |
PL (1) | PL106470B1 (de) |
Families Citing this family (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6053907B2 (ja) * | 1978-01-27 | 1985-11-27 | 日本電気株式会社 | 二項ベクトル乗算回路 |
EP0218971A3 (de) * | 1985-09-30 | 1990-04-11 | Siemens Aktiengesellschaft | Arbeitsverfahren zur Lösung der Gleichungen des Typs z = k x1 y1 op x2 y2 op ... op xn ym |
JPS6347874A (ja) * | 1986-08-16 | 1988-02-29 | Nec Corp | 算術演算装置 |
US5031134A (en) * | 1989-05-30 | 1991-07-09 | The University Of Michigan | System for evaluating multiple integrals |
US5390136A (en) * | 1993-06-14 | 1995-02-14 | Motorola, Inc. | Artificial neuron and method of using same |
US5517667A (en) * | 1993-06-14 | 1996-05-14 | Motorola, Inc. | Neural network that does not require repetitive training |
CA2135857A1 (en) * | 1994-01-03 | 1995-07-04 | Shay-Ping Thomas Wang | Neural network utilizing logarithmic function and method of using same |
US5619664A (en) * | 1994-01-04 | 1997-04-08 | Intel Corporation | Processor with architecture for improved pipelining of arithmetic instructions by forwarding redundant intermediate data forms |
US5553012A (en) * | 1995-03-10 | 1996-09-03 | Motorola, Inc. | Exponentiation circuit utilizing shift means and method of using same |
US5685008A (en) * | 1995-03-13 | 1997-11-04 | Motorola, Inc. | Computer Processor utilizing logarithmic conversion and method of use thereof |
US5644520A (en) * | 1995-05-31 | 1997-07-01 | Pan; Shao Wei | Accumulator circuit and method of use thereof |
US5771391A (en) * | 1995-08-28 | 1998-06-23 | Motorola Inc. | Computer processor having a pipelined architecture and method of using same |
US6952823B2 (en) * | 1998-09-01 | 2005-10-04 | Pkware, Inc. | Software patch generator using compression techniques |
US6318156B1 (en) * | 1999-10-28 | 2001-11-20 | Micro Motion, Inc. | Multiphase flow measurement system |
US20060143249A1 (en) * | 2000-03-09 | 2006-06-29 | Pkware, Inc. | System and method for manipulating and managing computer archive files |
US20060143253A1 (en) * | 2000-03-09 | 2006-06-29 | Pkware, Inc. | System and method for manipulating and managing computer archive files |
US8230482B2 (en) | 2000-03-09 | 2012-07-24 | Pkware, Inc. | System and method for manipulating and managing computer archive files |
US20050015608A1 (en) * | 2003-07-16 | 2005-01-20 | Pkware, Inc. | Method for strongly encrypting .ZIP files |
US20060173848A1 (en) * | 2000-03-09 | 2006-08-03 | Pkware, Inc. | System and method for manipulating and managing computer archive files |
US8959582B2 (en) | 2000-03-09 | 2015-02-17 | Pkware, Inc. | System and method for manipulating and managing computer archive files |
US20060143237A1 (en) * | 2000-03-09 | 2006-06-29 | Pkware, Inc. | System and method for manipulating and managing computer archive files |
US20060155788A1 (en) * | 2000-03-09 | 2006-07-13 | Pkware, Inc. | System and method for manipulating and managing computer archive files |
US20060173847A1 (en) * | 2000-03-09 | 2006-08-03 | Pkware, Inc. | System and method for manipulating and managing computer archive files |
US20060143180A1 (en) * | 2000-03-09 | 2006-06-29 | Pkware, Inc. | System and method for manipulating and managing computer archive files |
US20060143199A1 (en) * | 2000-03-09 | 2006-06-29 | Pkware, Inc. | System and method for manipulating and managing computer archive files |
US7844579B2 (en) * | 2000-03-09 | 2010-11-30 | Pkware, Inc. | System and method for manipulating and managing computer archive files |
US6879988B2 (en) * | 2000-03-09 | 2005-04-12 | Pkware | System and method for manipulating and managing computer archive files |
US8938590B2 (en) * | 2008-10-18 | 2015-01-20 | Micron Technology, Inc. | Indirect register access method and system |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3253131A (en) * | 1961-06-30 | 1966-05-24 | Ibm | Adder |
US3115574A (en) * | 1961-11-29 | 1963-12-24 | Ibm | High-speed multiplier |
US3515344A (en) * | 1966-08-31 | 1970-06-02 | Ibm | Apparatus for accumulating the sum of a plurality of operands |
US3761698A (en) * | 1972-04-24 | 1973-09-25 | Texas Instruments Inc | Combined digital multiplication summation |
US3922536A (en) * | 1974-05-31 | 1975-11-25 | Rca Corp | Multionomial processor system |
-
1977
- 1977-02-01 PL PL1977195731A patent/PL106470B1/pl unknown
-
1978
- 1978-01-18 FR FR7801399A patent/FR2379116A1/fr not_active Withdrawn
- 1978-01-24 GB GB2765/78A patent/GB1595381A/en not_active Expired
- 1978-01-26 DE DE19782803425 patent/DE2803425A1/de not_active Withdrawn
- 1978-01-27 US US05/873,423 patent/US4156922A/en not_active Expired - Lifetime
- 1978-01-30 DD DD78203474A patent/DD134148A5/de unknown
Also Published As
Publication number | Publication date |
---|---|
GB1595381A (en) | 1981-08-12 |
DD134148A5 (de) | 1979-02-07 |
PL195731A1 (pl) | 1978-08-14 |
PL106470B1 (pl) | 1979-12-31 |
US4156922A (en) | 1979-05-29 |
FR2379116A1 (fr) | 1978-08-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2803425A1 (de) | Digitaleinrichtung zur ermittlung des wertes von komplexen arithmetischen ausdruecken | |
DE2724125C2 (de) | ||
DE2508706C2 (de) | Schaltungsanordnung zur Codierung von Datenbitfolgen | |
DE2640157C2 (de) | Verfahren und Anordnung zum redundanzvermindernden Codieren von Bildern | |
DE69435034T2 (de) | Verfahren ind vorrichtung zur durchfuehrung einer schnellen hadamard transform | |
DE2934971A1 (de) | Datenverarbeitungssystem | |
DE2658248A1 (de) | Mit hoher geschwindigkeit arbeitendes multiplikationssystem sowie verfahren zur durchfuehrung einer multiplikationsoperation | |
DE1549477B1 (de) | Einrichtung zur schnellen akkumulation einer anzahl mehr stelliger binaerer operanden | |
DE4101004A1 (de) | Paralleler multiplizierer mit sprungfeld und modifiziertem wallac-baum | |
DE2221693A1 (de) | Anordnung zur Ausfuehrung einer Multiplikation in einem Rechner | |
DE2644506A1 (de) | Rechner zur berechnung der diskreten fourier-transformierten | |
DE3447634C2 (de) | ||
DE2746355A1 (de) | Einrichtung und verfahren zur wahlweisen multiplikation oder division zweier als binaerzahlen vorliegender operanden | |
DE19635114A1 (de) | Multiplizierer | |
DE19644688B4 (de) | Schaltungsanordnung einer digitalen Multiplizierer-Baugruppe, zur Verarbeitung von Binärzahlen sowie Elementen aus GF(2m) | |
DE2727051B2 (de) | Einrichtung zur binären Multiplikation einer ersten Zahl als Multiplikand mit einer den Multiplikator ergebenden Summe aus einer zweiten und dritten Zahl im Binärcode | |
DE1774674A1 (de) | Digitale Rechenanlage fuer Regelsysteme | |
DE19635113A1 (de) | Multiplizierer | |
DE2712582A1 (de) | Digital-differential-analysator | |
DE3634691A1 (de) | Differenzpulscodemodulator sowie dessen verwendung als demodulator | |
DE2636028A1 (de) | Digitaler multiplizierer | |
DE1094020B (de) | Periodisch arbeitende numerische Rechenmaschine | |
DE19635111A1 (de) | Multiplizierer | |
EP0188779A1 (de) | Schneller digitaler Multiplizierer | |
DE1424926B1 (de) | Verfahren zur Multiplikation binaerer Zahlen in mehreren Operationsschritten |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OAP | Request for examination filed | ||
OD | Request for examination | ||
8139 | Disposal/non-payment of the annual fee |