DE2803425A1 - Digitaleinrichtung zur ermittlung des wertes von komplexen arithmetischen ausdruecken - Google Patents

Digitaleinrichtung zur ermittlung des wertes von komplexen arithmetischen ausdruecken

Info

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
Application number
DE19782803425
Other languages
English (en)
Inventor
Stanislaw Majerski
Wladyslaw Majerski
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
INST MASZYN MATEMATYCZNYCH
Original Assignee
INST MASZYN MATEMATYCZNYCH
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 INST MASZYN MATEMATYCZNYCH filed Critical INST MASZYN MATEMATYCZNYCH
Publication of DE2803425A1 publication Critical patent/DE2803425A1/de
Withdrawn 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/544Methods 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/5443Sum of products
    • 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/544Methods 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/552Powers or roots, e.g. Pythagorean sums
    • 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/552Indexing scheme relating to groups G06F7/552 - G06F7/5525
    • G06F2207/5523Calculates a power, e.g. the square, of a number or a function, e.g. polynomials

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.
Beispiel I
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Λ- ^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.
Dei spie I. II
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)

  1. PATENTANWÄLTE
    ZELLENTSN
    ZWEIBRUCKENSTR. 15 p
    OOOO MÜNCHEN 2
    26. 1. 1978
    Instytut Maszyn Matematycznych Warszawa, Polen
    Patentansprü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 Operanden
    809831/0817
    und 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. 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 den
    809831/0817
    aufeinanderfolgenden 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. 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. 4. Einrichtung nach Anspruch 2, dadurch gekennzeichnet, daß die zur schrittweisen Reduktion der in der Einheit (P) zu ermitteln-
    809831/0817
    den 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. 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 sind
    809831/0817
    und welcher eine der Datenflußverarbeitung in der Verarbeitungseinheit (P) entsprechende, synchronisierte, flußschemaartige Durchführung der aufeinanderfolgenden Additionen ausführt.
  6. 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. 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. 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. 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. 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. 11. Einrichtung nach Anspruch 10, dadurch gekennzeichnet, daß die zusätzliche Schleife das im Registersatz (R) enthaltene Multiplikatorregister aufweist.
    809831/0817
DE19782803425 1977-02-01 1978-01-26 Digitaleinrichtung zur ermittlung des wertes von komplexen arithmetischen ausdruecken Withdrawn DE2803425A1 (de)

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)

* Cited by examiner, † Cited by third party
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
US5517667A (en) * 1993-06-14 1996-05-14 Motorola, Inc. Neural network that does not require repetitive training
US5390136A (en) * 1993-06-14 1995-02-14 Motorola, Inc. Artificial neuron and method of using same
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
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
US8959582B2 (en) 2000-03-09 2015-02-17 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
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
US20060143237A1 (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
US20060173847A1 (en) * 2000-03-09 2006-08-03 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
US20060173848A1 (en) * 2000-03-09 2006-08-03 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
US8938590B2 (en) * 2008-10-18 2015-01-20 Micron Technology, Inc. Indirect register access method and system

Family Cites Families (5)

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

Also Published As

Publication number Publication date
FR2379116A1 (fr) 1978-08-25
DD134148A5 (de) 1979-02-07
US4156922A (en) 1979-05-29
GB1595381A (en) 1981-08-12
PL195731A1 (pl) 1978-08-14
PL106470B1 (pl) 1979-12-31

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
DE69435034T2 (de) Verfahren ind vorrichtung zur durchfuehrung einer schnellen hadamard transform
DE2934971A1 (de) Datenverarbeitungssystem
DE1956209C3 (de) Multipliziervorrichtung
DE2640157A1 (de) Verfahren und anordnung zum redundanzvermindernden codieren von bildern
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
DE19635118A1 (de) Multiplizierer
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
DE19635111A1 (de) Multiplizierer
EP0188779A1 (de) Schneller digitaler Multiplizierer

Legal Events

Date Code Title Description
OAP Request for examination filed
OD Request for examination
8139 Disposal/non-payment of the annual fee