DE3144015A1 - "schaltungsanordnung und verfahren zur bildung von skalarprodukten und summen von gleitkommazahlen mit maximaler genauigkeit" - Google Patents

"schaltungsanordnung und verfahren zur bildung von skalarprodukten und summen von gleitkommazahlen mit maximaler genauigkeit"

Info

Publication number
DE3144015A1
DE3144015A1 DE19813144015 DE3144015A DE3144015A1 DE 3144015 A1 DE3144015 A1 DE 3144015A1 DE 19813144015 DE19813144015 DE 19813144015 DE 3144015 A DE3144015 A DE 3144015A DE 3144015 A1 DE3144015 A1 DE 3144015A1
Authority
DE
Germany
Prior art keywords
register
control
alu
acr
circuit arrangement
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE19813144015
Other languages
English (en)
Other versions
DE3144015C2 (de
Inventor
Ulrich Prof. Dr. 7500 Karlsruhe Kulisch
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.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to DE19813144015 priority Critical patent/DE3144015A1/de
Priority to EP82109625A priority patent/EP0079471B1/de
Priority to AT82109625T priority patent/ATE18703T1/de
Priority to CA000414177A priority patent/CA1187614A/en
Publication of DE3144015A1 publication Critical patent/DE3144015A1/de
Priority to US06/764,517 priority patent/US4622650A/en
Application granted granted Critical
Publication of DE3144015C2 publication Critical patent/DE3144015C2/de
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/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/483Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers
    • 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/499Denomination or exception handling, e.g. rounding or overflow
    • G06F7/49905Exception handling
    • G06F7/4991Overflow or underflow
    • 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/499Denomination or exception handling, e.g. rounding or overflow
    • G06F7/49942Significance control
    • G06F7/49947Rounding

Description

© Q β * O OO ep
H^.-Phys. Lorenz
Patentanwälte
Bielefeld I-Detinoldei-Str. 26 .·
ο Ι 4 A U Ib
Schaltungsanordnung und Verfahren zur Bildung von 'Skalarprpdukten und Summen von Gleitkommazahlen mit maximaler Genauigkeit
Dia Erfindung betrifft aina Schaltungsanordnung in ainsr elaktroniachen*Rechenaniage mit einem Summierwerk, das singanga- und ausgangssaitig mit einem Akkuraulatorspeichar verbunden ist; der aus Zellen zur Speicherung von Codes einer Basis besteht,, und βΙπβγ Steuervorrichtung, die eine Summierung van Zahlen, insbesondere Produkten aus Faktoren, die von der Rechananlege in einar Glaitkommadarstellung dar Schaltungsanordnung zugsführt uerdens und eine Rundung und Ausgabe von d@r in dera Akkutnulatorspeicher gebildeten Summe an dia Rechenanlsgs in einer Gleitkommadarstellung steuert.
Bekannte Rachenanlagan führen die Operationen für ganze Zahlen, sofern der Bereich der auf der Rechenanlage darstellbaren Zahlen nicht überachrittan wird, korrekt aus. 15
Eine reelle Zahl wird aber im allgemeinen durch einen unendlichen Dezimal"(oder b-al)-Bruch dargeatellt, z.B.
Auf Rechenanlagen lassen eich diese nur approximieren, d.h. durch endlich viele Ziffern darBtellsn. Üblich Bind Darstellungen durch sogenannte Festkomma- oder Gleitkommazahlen. Zur Approximation der rsellen Zahlen uerdsn dabei nur endlich viele Ziffern verwendet. Führt man für die auf der Rachensnlaga darstisllbaren Zahlen dia Wsrknüpfungsn
+f-ix»/ nach den für reelle Zahlen üblichen Regeln aus, so erhält man i.e. nicht mieder eine Zahl aus dem Raster der auf der Rechenanlaga darstellbaren (z.B. Feet- oder Gleitkomma-) Zahlen. (Man denke etwa an die Multiplikation, bei der die Anzahl der Mantiaaenziffern verdoppelt wird). Ulli man als Ergebnis einer Verknüpfung zweier auf der Rechenanlage darstellbaren Zahlen wieder eine auf der Anlage darstellbare Zahl erhalten, so kann man auch die Verknüpfungen +•~tx»/ i-a. nur approximativ ausführen. Man spricht gelegentlich von gerundeten Verknüpfungen.
Diese approximativen Verknüpfungen für auf einer Rechenanlage darstellbare Zahlen wurden in der Vergangenheit mehr oder weniger aufgrund von Intuition implementiert. Sie sind auf allen heute auf dem Markt befindlichen GroBrechenanlagen mit mehr oder weniger starken Mängeln behaftet.
Bei höheren mathematischen Strukturen, wie komplexen Zahlen oder Matrizen, erklärt man die Maachinenverknüpfungen nach folgender Überlegung. Man kennt die Formeln, nach denen bei-BpielBujaiae die Verknüpfungen für komplexe Zahlen oder Matrizen auf die Verknüpfungen für reelle Zahlen zurückgeführt werden. Die Verknüpfungen für auf der Rechenanlage darstellbare komplexe Zahlen oder Matrizen erklärt man nun in der liieiee, daß men diese Formeln hernimmt und mittels der Verknüpfungen für auf dar Rechenanlage darstellbare reelle Zahlen (Gleitkommazahlen) ausführt. Dieses Vorgehen hat eine komplizierte Fehlerfortpflanzung und Fehleranalyse bei numerischen Algorithmen zur Folge.
Abhilfe gegen diese Mängel der bekannten Verknüpfungsverfahren schafft hier eine vom Erfinder entwickelte Theorie,
3U4015
welche in *C1) und (2) in geschlossener Form dargestellt ist« Darin wird vorgeschlagen, auf Rechenanlagen für rsslla Zahlan8 reelle Vektoren, reelle Matrizen, komplexe Zahlen8 koraplix@- Vektoren und komplexe Matrizen, souls für Intervalls Obar den reellen und komplexen Zahlen, Vektoren und Matrizen dia Verknüpfungen nach dem Prinzip des S'emimorphiBBus zu erklären, welches mir Jetzt angeben wallen.
Es bezeichne M eine der genannten Mengen und U dia betreffende^" auf der Rachenanlage darstellbare Teilmenge von M. Dann Bind die Verknüpfungen in N auszuführen nach der Vorschrift; (Erklärung der Formelzeichen s. Tab. 1)
(RG) a π\fti al3b:=o(a* b) ' für alle Verknüpfungen 15
Dabei bezeichnete: M-"-N eine Abbildung, welche die folgenden Eigenschaften besitzt:
(RD ^Da » a (Rundung)
(R2) \.u (a^b ^=>-a=üb) (Monatonis)
(R3) QH a (-a) - -Da (Antisymmetrie) O ist also aine monotone und sntisymmetrische
*(1) Kuliach, U.: Grundlagen des numerischen Rechnens-
- Mathematische Begründung dar RsDhnsrarlthraetik, Bibliogrsphischee Institut Mannheim 197S
(2) Kulisch, U. and Computer Arithmetic in Theory end Miranker, lii.L. PracticBj Acadaraic Press 1961
3U4015
Bsi den aufgeführten Intervallräumen verlangt man von der Rundung noch die zusätzliche Eigenschaft
(Rit) ^. a Cqb (nach oben gerichtet)
Für den Übergang von den reellen Zehlen IR zu einer in einer Rechenanlage darstellbaren Teilmenge (Gleitkommazahlen) definiert man darüberhinaus noch die beiden monotonen, gerichteten RundungenVund/i, welche erklärt sind durch (RD, (R2) und
die mittels diesen Rundungen und der Formal (RG) erk-lörten Verknüpfungen. Eindeutigkeitafragen uierdan in (1) und (2) untersucht. Die monotone, nach unten gerichtete Rundung besagt in Worten, daS das ganze zwischen ζωβΐ Maachinenzahlen gelegene Intervall auf die linke Maechinenzahl abgebildet wird. Die monotone, nach, oben gerichtete Rundung hat die umgekehrte Eigenschaft.
In Rahmen einer umfangreichen, in (1) und (2) entwickelten Theorie werden nun zahlreiche äußeret nützliche Eigenschaften der so erklärten Rundungen und Verknüpfungen in den oben aufgeführten Räumen nachgewiesen. U.a. besitzen die so erklärten Verknüpfungen in allen oben aufgeführten Räumen maximale Genauigkeit in dem Sinne, daß zwischen dem korrekten Ergebnis der Verknüpfung a*b und seiner Approximation aQb kein weiteres Element des betreffenden Raatera «ehr liegt.
Die in der oben skizzierten neueren Theorie erklärten Verknüpfungen sind i.e. vor allem in den höheren Räumen (koeplexe Zahlen, Matrizen usw.) von den auf herkömmlichen Rechenanlagen implementierten Verknüpfungen wesentlich verschieden.
pe Μα
-sr-
Bei keiner derzeit auf dsm Harkt befindlichen werden die Verknüpfungen nach den oben angegebenen Formeln bereitgestellt. Ee sind Jedoch Bausteine in der Entwicklung· bzw. bereits angekündigt «(3), (*»), uelchs für den übergang von den reellen Zahlen zu den Gleitkommazahlen Rundungen und die Verknüpfungen nach den Formeln (RG), (R1,2,3), sowie die RundungenVundAbereitetellen. Soweit gehurt dies zum Stande der Technik.
Wicht zuro Stande der Technik gehört aber dis stützte Bereitetellung der Rundungen und Verknüpfungen nach den obigen Formeln bei komplexen Zahlen und komplexen Intervallen, bei reellen und komplexen Vektoren und Matrizen, aosuia reellen und komplexen Intervallvektoren und InfcsrvilX-matrizen. Am Institut des Erfinders wurden erstmals Programme entwickelt, welche eile diese Verknüpfungen saftwaretmäßig bereitstellen.
In (1) und (2) wird ueiterhin nachgeuies@n9 doB eile diese Verknüpfungen auf höchstem Sprachniveau beraitgastsllt ηθγ-den-können, wann für den Übergang von dsn rasllan Zahlen zy dsn Haschinenzahlen (GlBitkoramazahlen) Eina nonotane und ecitiayarostriach© RundungOibeispielaweisia sine Rundung zur niehat« B@lagsnen Maschinenzahl), die beiden monotonen, QBrichtetami RundungenVundA, die mittels diesen drei Rundungen nach der Formel (RB) erklärten Verknüpfungen für dia Addition (+)8 Subtraktion (-), Multiplikation (·) und Division (/) von Maschinen (Gleitkomma) Zahlan, sowie das Skalerprodukt (*) realler Vektoren beliebiger Dimension zur Verfügung stehen. . Es gibt demnach insgaeamt die folgenden 15 Eleiaantarwarknüpfungen:
ΘΘΘ0© VVWV ΑΔΔΑΔ
*(3) Coonen, J. st al.: A PropoBad Standard for Floating-point
SIGNUM NsuslpUsr, Oct. 1979
(*♦) IfaTEL 12 1586-001: The BOSS Fsraily Usar' B- Manual,
Supplaraants JuI^ 1980
UA015
Die traditionelle Numerik verwandet davon nur die vier im herkömmlichen Sinne gerundeten Uarknüpfungen (+), Q, (·) und Q) . Die sogenannte Intervallrechnung macht Gebrauch von den weiteren Verknüpfungen ^7 , V » V » ^7 und A » Δ » Δ » A ·
Uiβ gesagt, gehären diese Verknüpfungen: Addition, Subtraktion, Multiplikation und Division nach (RG) mit den •Drei RundungBnQ»\/ und/\ zum Stande der Technik. 10
Nicht zum Stande der Technik gehören hingegen die harduiareunteretützte Aueführung von Skalarprodukten (inneren Produkten von Vektoren) beliebiger Dimension nach (RG) mit den drei RundungBnQ,\/ und /\t also die Verknüpfungen Θ » V und A ·
Bezeichnet T die Menge der auf einer Rechenanlage darstellbaren Gleitkommazahlen, so bedeutet dies für Vektoren von Gleitkommazahlen a = (a^) und b = (b^, ai,bi,£T1 i»1(1)n, die Ausführung der Formeln
Λ n
<Rß) ^
(RGu)/ Χ
Λ. - ...
für beliebiges n. Dabei bezeichnet das Multiplikationa- und Sumroationszelchen auf der rechten Seite jeweils die korrekte Multiplikation und Summation für reelle Zahlen. (Erklärungen zu den Formelzeichen a. Tab. 1).
3HA015
In (2) und (3) wird durch Angabe von Alogithmen nachgewiesen, daß sich die Formeln (RG), (RGu) und (RGo) auf Rechenanlagen softwaremäßig implementieren lassen.
Die saftusrsma'Sige Implementierung der Algorithmen führt zwar zu den gewünschten Ergebnissen maximaler Genauigkeit, sie verlängert aber die Operationszeiten auf ein Mehrfaches« Außerdem uierden die internen Schnellspeicher bei Durchführung der Operationen belegt, wodurch diese für andere häufig auftratende Operationen nicht zur Verfügung stehen, uiae den gesamten Rechenablauf uieiter verlangsamt und zusätzlichen pragraiumorgsnisatorischen Aufwand verlangt.
Ea ist Aufgabe der Erfindung, ein Rechenwerk zu offenbaren, das die hardwareunterstützte Realisierung der genannten Verknüpfungen ermöglicht und die Operationen bereitstellt, so daB insbesondere für Skalarprodukte beliebiger Dimension die Berechnung der Formel (RG) für alle monotonen Rundungen, insbesondere auch für die monotonen gerichteten Rundungan\/ und/\ ((RGu) und (RGo)) harduaremäßig unterstützt wird, damit die o.g. Nachteils der softuaremäßigen Implementierung der Algorithmen vermieden werden.
Die Lösung der Aufgabe besteht darin, daB die Schaltungaan-Ordnung mindestens einen Akkumulatarepeicher hat, der Bin Spsichsrregister von mindestens einer Länge der Mantisse einer der Gleitkommazahlen zuzüglich einer Länge entsprechend dem Doppelten der Summe der Beträge dea kleinsten und größten Exponenten der Gleitkommadarstellung ist und eine Steusrschaltung für eine Summierung der Zahlen in einer Festkommadarstellung in den AkkumulatorspBicher mit diesem und dem Summierwerk verbunden ist.
Ea yibt verschiedene Auaführungaformen dea Rechenwerks nach der te Erfindung zur haruuiare-uriterutUtzten Berechnung der Formeln (Hü), (RGu) und (Rüo) und bBdarfsuieise ähnlich gerundeter Summen., beispielhaft aalen hier einige genannt.
-A-
Jede Realisierung hängt van der Saale des veruiendeten Zahlensysteme und den gewählten Zahlenformaten ab. In den Beispielen verwenden uir Gleitkommazahlen in sogenannter WorzeichenbetraQBdaratellung mit Exponenten. Für andere Dar-Stellungen (z.B. Komplement-Darstellung negativer Zahlen in der Mantisse und/oder Charakteristik in Exponenten) ist des Rechenwerk in bekannter Ueiae mit äquivalenten l/erknOpfungekonponenten aufzubauen.
Definition der Zahldarstellung in den Beispielen:
Eine normalisierte Gleitkommazahl χ (in Uarzeichenbetragedarateilung) iat eine reelle Zahl in folgender Gestalt: χ = * m - be.
Dabei bezeichnet *£&,-) das Vorzeichen (aign(x)),
η die Mantieee (mant(x)), b die Basis dea veruendeten ZahlenayeteinB und e den Exponenten (exp(x)). b let eine natürliche Zahl alt b >1* Der Exponent iat eine ganze Zahl und liegt zuiachen zuiei natürlichen Zah lan e1^e2. ta iat die Mantiaae. Sie hat die Geatalt
Die χ [ijheißen die Ziffern der Mantiase. Ee ist
x li]£[0|1*.«,D-i] für alle i - 1(Dn und χ [i]f 0. 25
Die Mange aller normalisierten Gleitkommazahlen enthält die Zahl 0 nicht.
Um eine eindeutige Darstellung der 0 zu haben uird zu sätzlich vereinbart aign(ü) « + ,mantiO)«= O,QO...O (n 0 nach dem Komma) und exp(Q) « el.
3H4015
Ein solches Gleitkommaaystem hängt von vier Munstanten b, 1, el und e2 ab. Uir bezeichnen ea mit S * S (b, 1, e1, e2).
Zur Auaführung dar Forneln (RC), (RGu) und (RGq) iuarden die Produkte a,-b. in der Rechenanlage korrekt ausgeführt. Dias liefert eine Mantieae von 21 Ziffern und einen Exponenten, der im Bereich 2e1 - 1=e^2a2 liegt. Die Berechnung des Skalarproduktes reduziert aich dann auf die Auamsrtung von Summen der Form
Ll(^1C1), ν£|Ιυ, O1-B1^1, · (ii)
Dabei aind die c. doppeltlange Gleitkommazahlen, d.h. ·
cl£S(b,2l,2e1-1f2e2) für alle i = i(1)n.
Das Summierwerk iat jeuieila ao auegaführt, daß dis in (II) auftratende Summe korrekt, d.h. ohne Informetionsverluat, erzeugt werden kann.
HardiiiarsmäQlge Realisierungen dafür gibt es bisher eicht. Eine schnalle hardyeremgBige oder herdwaramäßig untar-Btützte Bereitatellung von (I) bzw. (II) bedeutet für die Numerik eine echte Revolution *(5).
*(5) Kuliach, U.; Numeriechea Rechnen - wie es iat und wie
es sein könnte, Elektronische Rechenanlagen 1981, Heft i*, S, 155 - 163
In den Fig. 1 bis 6 sind verschiedene AusführungBfarmen das Summierwerke dargestellt für die Berechnung der Formeln
Fig. 1 ParallalaummierujBrk; Fig. 1 bis e Details zu Fig. 5
Fig. 2 Serialsummieruierk;
Fig. 3 bjortueiee organisierter AkkumulatarBpeicher, Summieruarkalänga entsprechend der biortlänge;
Fig. k Summierwerk mit zwei Akkumulstorapaichern und integriertem Multiplizieruerk;
Fig. 5 * Grundachaltungenj a bis e
Fig. 6 Überaichtaachaltung zu Fig. k;
Tab. 1 Tabelle der Formsizeichen; 20
Tab. 2 Ablauf zu Fig.
Tab. 3
a/b
Bezeichnungatabelle zu Fig. 1
25
Tab. k • zu Fig. 2
Tab. 5 " zu Fig. 3
Tab. 6 zu Fig. k
Tab. 7 Ablaufdiagramm zu Fig. S
Im Beispiel Fig. 1 ibt ein AkkumulatarrBgiBter ACR vorgesehen, das so lang ist, daü alle Summ a η dta η ohne Informationsverlust aufsummiert warden können, d.h., von Stellenzahl 2@2 + 21 + 2s1. Darin kann man zunächst alle Summanden ateilanmaßig korrekt ohne Exponenten mit FeuLkumtnüdara teilung speichern.
Um auch bei dar Additiun ev/entuall auftratande Ubertröga aufzufangen, können zweckmäßig linkü nuch einige (t) maitere Akkumulatoratallan TA der Baals hinzugefügt ujerden. Ea kann denn jede Summe (II) von η Summenden ohne Informationsverlust, d.h. korrekt in dem langen Akkumulator auageuertet werden» Dabal können sogar b* Überläufe auftreten und αηπβ Infarmatidnsverluat verarbeitet werden.
Als Beispiel sei angenommen:
b = 16, el = "72,e2 = 72,1 =» U und t = U. Dann ist der Akkumulator t+ J2ei| +21+ 2e2 aus 32Q hexadezimal üruppan oder 12ÜU bit-Stellenspeichern eufgebaut.
Bai einem ähnlichen Summierwerk mit DBzimalarithmetik können zweckmäßig folgende Stellenzahlen gewählt werden: b* = 10, al*= - gy, B2*=cjy, I*= M und t**= k. In diesem Fall hätte der Akkumulator £»26 Oezirnalspeichergruppen. Qias entspricht 17U4 bit-Stellenspuichern.
Abhängig von den verwendeten Baugruppen kann es zweckmäßig sein, dan Akkumulator um tiu vitile Steilen zu verlängern, daß sich für die Gesamtlänge ein ganzzahligea Uielfachee von 1 ergibt.
Fig. 1 zeigt nun ein Akkumulatorregister AUR aus Speicherzellen mit daran eingangs- und ausgangseeitig angeschlossenem Summierwerk ALU. Es sind jeweils Tetraden bzw. Dekaden schräg gestaffelt dargestellt. Die Übartragaschaltung läuft im Summierwerk ALLJ van rechts nach links durch die Tetraden und van einer Tetrade zur nächsten. Der höchste Übertrag uiird einer Speichertitelle Ca zugeführt..
Die Operanden werden in der beschriebenen Gleitkommadarstellung auf einem InfarmatiunBbus BI der Schaltungsanordnung zugeführt.
Mit einem Steuertakt Cl E wird das Register Ex, das den Exponenten speichert,und die zugehörige Uorzeichenatelle Ue galöscht,und mit dem Steuertakt TrE wird die Information vom Informatibnsbus BI übernommen.
Die Mantisse MB won doppelter Länge (21), die durch die anderweitig ausgeführten Teilmultiplikationen entsteht, wird nach Löschung des Registers B durch Steuertakt ClB mit dem anschließend gegebenen Steuertakt TrS vom Bus BI in das Register S als Operand übertragen. Weiterhin wird das Vorzeichen der Mantisse nach Löschung der L'peicherstelle Um durch Steuertakt ClU mit dem anschließenden bteuertakt TrU in die Speicharstelle Um übernommen.
Der Exponent und deinen Uürzeichanstelle werden von dem Register Ex, Ue in einen Dekoder DecL geführt, der m= 2jei|+2e2 Auegänge besitzt. Diese Aufgänge sind über ein Und- und Odernetzwerk so verknüpft, daß die Mantisse um den Exponentenwert verschoben parallel stellenrichtig am Ausgang erscheint und su dem zweiten Qperatureingang des buminierwerkes ALU zugeführt wird. Ee sind somit m · 21» k Und-Gatter 11U" vorhanden und
31U015
m+21 Qdsr-üatter "D". Diese Uder-Gatter können zweckmäßig "wired-or" ausgeführt werden. In der Fig. 1 sind einige der Gatter als Punkts (Und-Gatter) und Linien (Oder-Gatter) mit dreifachen Indizes zu ihrer Lokalisierung dargestellt. Die Gleichungen für das Netzwerk, daa auch als Multiplexer bezeichnet werden kann, sind gegeben durch:
k,j,r 10
k = 1,2...m r = 1,2,3,i»
Die zweiten Eingänge des Summierwerkes ALU sind mit den Aua-
^c gangen Ai der Akkumulatorapeicheratellen entsprechend verbunden und dia Summenausgänge Si des SummierwBrkes ALU sind dan entsprechenden Eingängen dar Akkumulatarspöichsrstellan verbunden. Mit dem Steuertakt TrA wird die Summe bzw» das Ergebnis der Operation dss üummierwerkea ALU in den Akkumulator ACR übernommen. Sofern ein Übertrag entsteht, z.B. bei l/orzeichenumkehr, wird das Signal Ca vom Summierwerk ALU mit dem gleichen Steuertakt TrA in die Speicherstells Cs so übernommen, daß deren Inhalt invertiert wird. Dia Speicherstells Ca wird beispielsweise durch ein zählendes Flipflop gebildet.
Die Signale der Vorzeichsnstellen Mm und Cs werden in der Steuerschaltung ALC dee bummibsrwerks ALU ausgewertet, wodurch die Steuersignale Addition (+) oder Subtraktion C-) für das Summierwerk ALU erzeugt werden.
Außer dem Summierwerk ALU sind an dan Akkumulator ACR NuIlprüfschaltungen Zl und Zr ariyeschlaemsn. Mit der Schaltung
Zl uiird die erste signifikante Stelle van links ermittelt. DiB logische Gleichung der Prüfschaltung ist
Zl(D=
j=(m+t) /~höchstwertige Stelle
Sind υοη linke mehr als m+t Stellen Null, so wird -von einer -in weiteren Stufe das Signal ZIo abgegeben nach der logischen Gleichung
Ein Über- oder Unterlauf dBr Summe aus dem zugelassenen Bereich für das Ergebnis uiird durch Oderschaltungen ÜF und UF ermittelt:
m+t el -1
OF=V ZKi); UF= \/ 2Q i=2|ei|
Die Schaltung Zr prüft,ab uBlcher Stelle von rechts der Akkumulatorspeicher gültige Ziffern enthält. Die logische Gleichung ist:
Ii*
ZrCi)=V V Aj,ki >1.Z.—Ü j=1 k=1
j=1 niedrigstuertige Stelle
Durch die Ausgangssignale Zl gesteuert, werden die Ausgänge Ai des AkkumulatorregistBra ACR ab der höchsten signifikanten Stelle über ein Und- und Odernetzuerk den Ausgangsgattern GM zugeführt. DIb Gleichungen der Und- und Qdergatter Us, Os, die einen Demultiplexer bilden, sind folgende:
m+t m+t
0B k,.r- Y0 Us J,k,r= V Zij ■" (21-k+j ,r ;
r-1,2,3-,«»
In dar Fig. 1 sind die Und-Gatter Us jeweils wieder als Punkte und die Oder-Gatter als Linien entsprechend einem "wired-or11 dargestellt. Die Ausgangsgatter GM sind beispielsweise triestate-Gatter, die durch das Steuersignal GMb auf den Infarmationabus BII ihre Eingangssignale durchschalten,
'15 Durch eine weitere Gatterschaltung Oc, Uz werden die Signals Zl und Zr paarweise miteinander verknüpft, so daß am Ausgang Oc ein Signal entsteht, wenn rechts von dem Bereich dBr Longe der gültigen Stellen, die auf die Ausgangsgatter GM geführt werden, noch weitere von WuIi verschiedene Signale auftraten* Dieses Signal diBnt zur Auslösung von Hundungsoperationen.
m+t m+t
Oc= V Zr.Azi. » V Uz,
Weiterhin ist das Signal ZIo mit dem Signal Zr (m+t) im LJndüattar Z verknüpft, dessen Ausgangssignal anzeigt, daß der
gesamte Inhalt des Akkumulaturregistera AUH Null ist. ' ■
Z = Zr (m+t)A ZIa
Dia Signale Zl sind weiterhin auf den v/urtiuhlüßiBr EncE geführt, an dessen Ausgang der txpunent dor im AkkuinulatürrBgister gaspeicherten Summe an dia batter Cxb, dutibun Uorztiichen an UuttBi' Ues und Bin Üburlaufkunnztiichtiii übi Belegung der Über-
31U015
- je-
laufatellen TA des Akkumulatorregisters ACR mit gültigen Stel len UBT MantiBse am Gatter Tb abgegeben ujerden.
Mit dem Steuersignal GEa können die genannten Signale auf den Informationabus BII aufgeschaltet werdan. Ebenso kann der Ausgang der Speicheretelle Cb über Getter GC mit Steuersignal GCe auf den Bua BII geschaltet und damit der Rechenanlage zugeführt uierden.
Die Steuersignale ClA1 ClB1 ClE, ClU sowie die Steuersignale TrA1 TrB1 TrE1 TrU und GMa, GEa, GCa werden von dem übergeordneten Steuerwerk St der Rechenanlage der Schaltungaanordnung zugeführt, sobald die zu übernehmenden Informationen auf dem InformationabuB BI bereitstehen oder vom Bus SII abgenommen werden können.
Die Signale Z1 Qc1 Ca1 Ts, OF, UF, ZIo können ebenfalle Ober Gatter auf den Informationsbus BII geschaltet werden oder unmittelbar den Steuerwerken Contr und St zugeführt werden. In Q-er gezeigten Auaführung werden Steuersignale Op1 die im Steuerwerk Contr erzeugt werden, direkt der Summierwerketeuerung ALC zugeführt und von dieser auagewertet mit folgenden Funktionen:
1. Bei Auftreten des Überlaufs Ca, der anzeigt, daß die Summe im Summierwerk negativ ist, wird über die Inversiansoperatian I im Summierwerk ALU die Summe dem Akkuraulatorspaicher ACR invertiert zur Abspeicherung geliefert.
3Q 2. Sind die Inhalte der Uorzeichenspeicher l/m und Ca verschieden, so erfolgt die Ausgabe der Steuersignale für eine Subtraktion statt der Addition, die andernfalls bei gleichen Uorzeichen angesteuert wird.
3H4015
3. Bsi Auftreten dea Steuersignale Op wird ohne Rücksicht auf die Vorzeichen in Ca und Um eine Subtraktion ausgeführt.
i». Bei Auftreten dee Signals Z, d.h., daß der Inhalt des Akkumulatorragiatea ACR Null ist, wird die Speicharstslle Cs gelöscht.
In Tab. 2 ist der Steuerungsablauf für die Rundung O zu Fig. 1 dargestellt. Ea uerden nach dem Löschen des AkkuiBuletorregiaters nacheinander in den Schritten 2a„ 2b, 3 die Summanden dem Summierwerk zugeführt und addiert. Nach Abschluß allsr Sumroierungeoperationen uiird das ungerundete Ergebnis in einen Speicher Sp oder ein Register übernommen. Dann werden folgende Prüfungen v/orgenommen:
Ist sin Unter- oder Überlauf aufgetreten, so erfolgt eins dung Uf dzuj. OF zur Auswertung durch die Rechenanlaga.
Wird durch Aushärtung der Signale Z und Oc fastgestellt, ein Rast aufgetreten ist, so wird eine Rundung vorgenommen,
indem durch Abziehen der ungerundetan Summe dar Rest gsbildat '
wird und dieser nach Verdoppelung der ungerundeten Summ® hin'- '
zu addiert wird. ;{
; Tritt bei dar Rundung ein Überlauf QF auf, bo t»jird diaae Meldung OF an die Rachenanlage gagabens andarnfalls wird d@a g@-- !' rundete Ergabnis in dan Speicher Sp übertragen.
Wenn nicht die Rundungsart Q, sondsrn eine dar anderen von der Rschsnanlege mit der Signalgruppe Qp angefordert wlrdj, bq hIvu dar Ablauf abhängig vom Auftraten dsr Signale Zp Qc8 ZIo9 Cs1, UF, QF so gesteuert, daß die Rundung nach oben,, unten oder innen gerichtet,, vgl. Tab. 1S erfolgt. Hiarbsi ist dar Bereich
um Null besonders zu behandeln. Tritt nämlich ein Ergebnis ungleich Null, was durch Signal Z=Q angezeigt wird, auf und dazu Signal UF, dann muß je nach Vorzeichen Cs des Ergebnisses und der gewünschten Richtung der Rundung das Ergebnis Null sein,oder in der Mantisse muß die höchste Stelle eine Eine und die niedrigeren StBllen Null sein. Es ist deshalb in der Schaltung vorgesehen, daß unter dieser Bedingung die Ausgabe dieser genannten Mantisse durch das Steuersignal M^ erzwungen uiird. Außerdem muß in allen Fällen, in denen das Signal M1 auftritt, durch das Gatternetzwerk EncE der Exponent Exe mit der Größe el ausgegeben werden. Öle Ausgabe der Zahl Null wird durch Signal MO gesteuert. Die logischen Gleichungen sind:
M1 = ZAUFA(CbAV V^aAA) MD- = ZVUF A(OVCsAAVCs A V)
In den Figuren 1a bis 1e sind schaltungstechnische Einzelheiten der Baugruppen in Fig. 1 dargestellt. Selbstverständlich können auch andere bekannte Schaltungen angewandt werden. Im Falle der Verwendung von Oezimalarithmetik muß das Summierwerk durch bekannte Dezimalkorrekturschaltungen ergänzt werden.
In der Schaltung ist vorgesehen, daß das Ergebnis mit doppelter Länge (21) auegegeben wird. Soll es mit normaler Länge 1 ausgegeben werden, können die Gatteranordnungen Zl und Zr um weitere 1 Stellen verlängert werden, und die Gatter Qc, UF und QF müssen ebenfalls um 1 Stellen verlängert werden und die Verknüpfung in Oc einem Versatz um 1 Stellen angepaßt werden.
Soll nicht die Möglichkeit der Ausgabe der ungerundeten vollständigen langen Summe vorgesehen werden, so können die Schaltungen Us, Qb, EncE, GM, Exe entaprechend dem maximalen Bereich der Summe mit der Länge |ei|+e2 + 1 verkürzt ausgeführt werden.
31U015
Fig. 1a zaigt eine Lösungsmüglichkeit für die Nullabfühlung von links. Die Signale Zl werden pro Tetrade deβ Akkumulatorspeichsra erzeugt, und das Hilfssignal Zl1, daa anzeigt, daß linksaeitig alle Stellen Null enthalten, wird zur nächst niedrigeren Stelle weltargelaitet.
Fig. 1b zeigt eine Schaltung zur Erzeugung der Nullabfühlsignale Zr von rechte. Die Signale werden von Tetrade, zu Tstrade weitergegeben.
1D
Fig. 1c zeigt eine Alternative zu 1a und 1b. Die Qder-Gattar, in denen die TetradBn auf Null geprüft werden, sind dabei nur einfach vorhanden.
Diese Schal-tungabsisplele können durch äquivalente Versionen ersstzt wer dan. Auch ist bs möglich, das Summieruterk teilweise In die Ahfühlschaltungen zu Integrieren.
Fig. Td zeigt eine Schaltung für die Summieruterkst&uarung ALC, 2D in dar die Steuersignale für Addition und Subtraktion arzaugt werdan»
Weiterhin iat eins Stalle dee Summieruerks ALU und das latorragistera ACR mit den Verbindungen dargestellt. Eins Logiktaballe für die Summierung, die im Summierwerk enthalten iats ist in Fig. 1b gezeigt. Für den schaltungstechnischen Aufbau von Logikbaueteinen in Form einer Tabelle oder mit Halbaddisran gibt es bekannte Lösungen. Weiterhin kann das Summierwerk durch redundante übertragaschaltungen zur Beschleunigung der Durchschaltung ergänzt werden. Die Tabelle kann durch Ueglasssn der eingeklammerten Terme reduziert werden.
Die Steuerung Contr kann eine Ablaufsteuerschaltung mit fester Verschaltung der Logik oder ein ladbares mlkroprogrammlerbares Steuerwerk sein. Die Programmladung kann über Anschluß Ld von der Rschenanlags erfolgen.
31U015 5«
In Fig. 2 ist eine Schaltung zur Lösung der Aufgabe der Erfindung dargestellt, die mit geringerem schaltungetechniscbe0 Aufwand aber größerem Zeitaufwand die gleichen Ergebnisse liefert. Die Bezeichnungen sind für äquivalente Funktionen wie in Fig. 1 gewählt morden. Die Bedeutung der Zeichen und dia technische Funktion let in Tab. 4 zuBammengee-tellt.
Die Summanden werden in Serie auf Leitung BI von der Rechenanlage geliefert und über Leitung BII in Serie abgegeben. Selbstverständlich ist euch eine Bereitstellung in paralleler For« in die Regiater B und Ex und eine Entnahme der Suane aus einem bestimmten Abschnitt dee Schieberegisters ACR und aus dem Zähler Zl möglich, ohne das Prinzip zu Ändern.
Die Steuerungeabläufe werden durch das Steuerwerk Contr. 2, das als untergeordnetes bierk des Stauerwerkea der übergeordneten Rechenanlage angeaehen werden kann, vorgegeben. In ihm werten die Impulaserien zum Schieben und Zählen und Steuergrößen für dia Gatter abhängig von den Zustande- und
Prüfaignalen in den Registern und Zählern und von den
Stauareignalen aus der übergeordneten Rechenanlage erzeugt. Dia vorzeichenabhöngige Steuerung der Operationen dee Summierwerkes geschieht uie im Parallelrechenuerk. Die Inversion bei Auftreten von negativen Summen kann aber nicht ohne weiteres vorgenommen werden, de der überlauf erst am Ende dee Durchlaufe auftritt. Ea wird daher ein Herkerflipflop FI gesetzt, das im nächsten Umlauf Über ein Antivalenzgatter den Inhalt umkehrt. Solange das Flipflop FI gesetzt ist, können die Zählerstände Zl, Zr nicht auage wertet werden; ggf. muß also ein zusätzlicher Umlauf dea Registers ACR erfolgen. In einem aolchen Fall wird die Information ohne weitere Änderung durch das Summierwerk geleitet, uiozu die Steuergröße T dient.
Iat einSub«end in die Register Θ, Ex9 Vm Qbernomesn, so werden die Zähler Zr auf Anfangwert-1 und Zl auf Anfing» f I»,
wert »+t geletzt. Dann ujird^im Akkumulatorapeichar ACH I ^ ' < ' geschoben und im Zähler Ex solange heruntergezöhlt, bit S der Exponent Null ist und Signel ExZ auftritt. Dieses veranlaßt über das Steuerwerk Contr. 2, daß auch das- Register β durch Schisbeimpulee SHB beaufschlagt wird unu dsr Eingang zum Summierwerk am Qettsr alt Steuersignal SB geöffnet wird. Entstehende Überträge werden in bekannter Weise innerhalb des Summierwerkes von Schiebstakt zu Schiebetakt zwischengespaichert und übertragen.
Wghrsnd des gesamten Durchlaufs des Akkumulatorspeichsrs liegen die Zghleingiinge Ct, Ct- der Zähler Zl und Zr über Getter en den Suaimenausgang Sl des Suramierwerkee ALU. G>bbei wird der Zähler Zl Über das SetzaiQnal SzL mm Sθfezeingang sait Jeder Eins auf den Endwert gesetzt und raitudsn Nullen hsruntergszihlt, so daS übt Inhalt gen Ende des Un-Isufs ura 2 1 Stallen nach rächte versetzt di@ höc^ata von Mull verschiedene Stelle is Register ACR angibt.
Im Zähler Zr werden die hinteren Wu11an Ira Register yszählt, bis durch die erets Eins dsö Flipflop FS dis Zählung beendet.
25
Sind eile Stellen in Register ACR CtIuIl, so tritt Signal Z und auch ZlZ an den Zählern auf, die anzeigen, daS die Zähler voll bzw. leer sind.
Der Vergleicher Ug, in den die Inhalte dar Zähler in bekannter Ueiss verglichen rardan, zeigt an, ob raate sis I Stellen alt signifikanten Warten besetzt eind und somit ein Rest zur Rundung vorhanden ist.
31U015
Dia Operationen verlaufen dabei im Prinzip uie bein Parallalrechanwerk nach Tab. 2. Der Inhalt won Zähler Zl, der auch als Schieberegister ausgebildet ist, kann dazu auf den Bus BII und Ober Varkopplung mit Bus BI in Register Ex Übertragen werden. Durch den Inhalt won Register Ex Besteuert, kann dann, mit Signal ExZ gestartet, bei einem Umlauf des Inhalte von Register ACR über Gatter GMC und Bus BII auf Bus BI der Rest der ungerundetan Summa in das Schieberegister B transferiert uierden. Das Steuersignal Rd von dar Rechenanlege steuert dazu Über Steuerwerk Contr. 2 die Schiabeimpulse und das Steuersignal GMC. Tritt nur daa Steuersignal GMs auf ohne Steuersignal Rd, so uafdsn nicht der Rest, sondern die oberen Stellen dar Mantisse durch Gatter GMC auf dan Bua BII gesteuert.
In Tab. 6 sind die Kontrollfunktionen daa Steuerwerkes Contr. 2 dargestellt.
Selbstverständlich sind verschiedenartige Variationen der Steuerung und der Ausführung der Baugruppen möglich, um daa gleiche Ergebnis zu erhalten. So könnten Btatt der Zähler Zl und Zr auch die gleichen Schaltungen Zl und Zr uie in Fig. 1 eingesetzt werden, falle das Akkuraulatorschiebaregistar aus solchen Bauelementen besteht, an denen parallel abgegriffen werden kann. Weiterhin können die Schieberegister, insbesondere ACR auch durch einen Speicher mit einem AdreßzShler ersetzt werden, der modulo a+21+t arbeitet. Eine solche Ausführung mit Walteren Ergänzungen wird in Flg. k beschrieben.
Da die meiste Zeit für den Schiebavorgang und nicht den eigentlichen SummierVorgang benötigt wird, besteht eine vorteilhafte Weiterbildung darin, daß an dem Schieber«-
gister ACR abschnittsweise Anzapfungen angebracht werden, so d®§ jeweils an desa Abschnitt, an dsm die niedrigste zu summierende Stelle beim Verschieben des Inhaltes dee Akkuraulstorspelchere ACR zuerst erscheint, eine Verkoppiyng zuiR Summierwerk vorgenommen wird. Nach Verarbeitung aller Überträge wird dann das Schieben beendet. In eins» Zihlar wird die tatsächliche Stellung des Inhalts im Akkumulator- ' speicher mitgezählt und von dieser Stellung jeweils wsitergerechnet. Daa Schieberegister ACR selbst ist dazu als Ringspeicher geschloasen. Dieae Methode iat insbesondere -
in den Zugriffeateuarungan von bekannten Magnetblaeenspeichern angewendet worden.
Tritt eine Inversion des Inhaltes des Suramenapelchere auf, , so erfolgt ein voller Umlauf baJ/iJer Höchsten Sumaiarung ■1t der Inverslonssteuerung. Auch die Zähler Zl und Zr werden zweckmäßig bei einem vollständigen Umlauf oder ··
Rückführung des Schieberegisters ACR in eine Grundstellung },
geateilt. ;
■ '·
Die beschrlsbansn Summlsrwerke mit abgekürzter ssrisllsr '
benötigen ®bUv sie 2,5 1 Schritts zur bildung. Eine wesentliche Beschleunigung des SunesäarvorgangBB bei nur relativ w©nig Mehraufwand eresüglicht eine Scheltungssnordnung nach Fig. 3. Diese benötigt tnshr 0,5 1 t 5 Schritte zur Summgnbildung. 0er Akkraulstox cher ACR ist dabei in Warten der Länge 1 organisiert das Summierwerk arbeitet über 1 Stellen parallel.
Dar MaatissBnepalcher Bo, Θ1, B2 iat als Zwsirichtyngsschiebaregieter auagebildet und zwar einerseits zut richtung der Mantiaae über sina Länge 1 durch
3H4015
-fr
Schieben ait Schiebeimpuls SHS entsprechend der unteren Stellen dee Exponenten dee Summanden, der in den Zähler ExI geladen uirdiund andererseits zur 1-stellig parallelen Verschiebung zum Suamieruerkseingang. Die Auauahl der zugehörigen Speicherabschnitte Ii in Akkuaulatarregieter ACR geschieht Ober einen Adressendekoder Dec, der mit den oberen Stellen des Exponenten des Summanden, der in den ZShler Exn gespeichert uird.
Die Bezeichnungen in Fig. 3 sind mieder entsprechend denjenigen zu Fig. 1 gewählt, soweit sie die gleichartigen Funktionen betreffen. Die neuen Zeichen sind in Tab. 5 erläutert. Oie Busleitungen BI und BII sind von der Uielfalt Ebenso sind die parallelen Gatteranordnungen an den Ein- und Ausgängen der Register, entsprechend deren Uielfeit. Oie Mehrfachleitungen sind durch einen Querstrich gekennzeichnet. Die Nullkontrollachaltung PZ ist ebenfalle 1-itellig entsprechend Fig-. 16 ausgeführt. Das Ausgangssignal dieser Schaltung uird vorteilhaft in Kennzeichenspeichern Z1 bis Zn zu Jede» Uort mitgespeichert. Es ist dann Ober ain Norgatter einfach möglich festzustellen, wann der Speicher lear iat.
Das Suaaiaruerk hat die entsprechenden Funktionen des in Fig. 1d und 1e dargestellten und eine Transferfunktion T uia das SeriensuaMieruerk. Der übertrag uird von Uort zu Uort über eine Speicheratufe Cin zuischengespeichert. Die Inversion dee Speicherinhalts uird durch Signal Ca bei Auftreten eines Übertrages Co bei Verarbeitung des höchstuertigen Wortes In, dessen Ansteuerung durch Signal En em Zähler.Exn angezeigt uird, an Ausgang eines Sattere abgenoMen und entsprechend dem frühpr gesagten verarbeitet.
3U4015
Dag Steuerwerk Con tr. 3 erzeugt Jeweils auf ürund der Steuersignale vom übergeordneten Steuerwerk und der intarnen Signals dia notwendigen Impulsaerien zum Schieben und Zählen und Anateuersignale für die verschiedenen Gatter der Schaltungaanordnung.
Der Summiervorgang geschieht nach folgendem Ablauf:
1. Die Mantisse wird mit zwei Schisbelmpuleen SHP in Register 81 und B2 übernommen.
2. Der Exponent wird mit Steuersignal TrE teilweise in Register ExI als Komplement und teilweise in Registars Exn übernommen.
3. Mit Schiebeimpuls SHS wird die Mantissa verschoben und die Zahl der Schritte als Signal GFl das ZShI-aingang Ct vom Zählsr ExI zugeführt bia diessr die Stellung 1 erreicht und Signal £1 abgibt, das auf ,
2Ü das Steuerwerk einwirkt.
k. Das durch dsn Exponenten im- ZShlsr Exn angastouBi'te Wort Ii wird zum Inhalt von Register ®a addiert und die Summe durch dss Schrsibsignal y in das Wort Ii eingeschrieben.
5. Mit sinem Impuls SHP und Zählifflpula CEn, übt dem Zihler Exn zugeführt wird, und anschließendem £inschrelbsn durch Impuls W werden in zwai weitsrsn Zyklen die weiteren TBilsumraiBrungen tiurchgefühste Soweit noch ein Übertrag auftritt, folgBn weitere Zyklen bis zum höchstwertigen yort, das durch Auagangsaignal En des Zählars Exn angezeigt wird'* maximal.
6. Bei Auftraten einer Inversion wird der geaeate Speicher fortlaufend über den Zähler Exn adressiert und invertiert zurückgeschrieben.
Zur Durchführung der Rundungsoperation kann prinzipiell de· Schema nach Tab. 2 gefolgt werden. Dazu werden 1. e. folgend· Schritte ausgeführt:
1. Die Suwae mit den niedrigsten Wort beginnenduird
alt Steuersignal SMs auf Bus BIX und von dort über Bua BI fortlaufend parallel in Register 82, B1, Bo hineingeschoben, bis Speicher ACR über Signal Z leer angezeigt wird. 15
2. Durch Serienschiebeiapulse SHS uird dia SuMe aolange verschoben,bis Register B2 laer durch Signal B2Z angezeigt uiird. Die ungerundete Mantisse steht denn in Register B1 und der Rest in Register Bo. Die Schritte werden in Zähler ExI Mitgezählt.
3. Dar ReBt uird in das leere Speicherwart in den Speicher ACR addiert und nochmals zua Rest aufaddiert und ggf. ein übertrag in nächsten Schritt nach Ver schieben ait einen Schiebeiepuls SHP vererbe!tet und die gerundete Mentisee in den Speicher ACR eingeschrieben.
31U015
-χ-
k.1. Sofern dann ain Übertrag Co auftritt, hat dl© ■ tisss ihren Höchetwe.rt. Da die darüberlieganden Stellen Null sind, wird die Mantisse um eins nit Schiebeinpula SHS nach unten geschoben. 5
k.2. Sofern kein Übertrag Co dann auftritt, wird In ZMhler ExI weitergezahlt. Falle in Zähler ExI dann ein übertrag auftritt, wird auch in ZMhler Exn geateuert durch Signal Rd1 weitergezahlt. Pie Mm-1Q tiaae wird in den Sunaenapeichsr ACR
5· Öle Mmtiaae der Sunwe wird auf Bus BII ausgegeben.
6. Der Exponent der Summe wird mit Steuersignal GSs in den unteren Stellen aus den Zähler ExI und in dm oberen Stallen ale Korapleraent bus Zählsr £&n auf Infornationebua BII gegeben.
2Q Obs Stauerwerk Contr. 3 ist in bekannter ΜθΙβθ durch Ablaufsteuerung aue Zählern mit drei und η Stellungen und eine; Logiktabelle der ZustandegrßBan euegeführt. hänge ergeben aich aua obigsr Beschreibung.
Uariationan dar Schaltungaanordnung durch Mquivalente
gruppsn sind z.B. dadurch nßglich, daB die Null-abföhlurag @ii Register BZ Ober eine Steuerung des Summierwerkes auf dl® Prüfschaltung Pz übertragen werden kann. Auch kenn die parallele Schiebung in den B-Regiatsm durch eine Multiplexer- ansteuerung entsprechend den Speicher ACR ersetzt wsräsn, oder der Speicher ACSS kann durch eins parallel verschiebbare Regiateranardnung in Ringforn ersetzt werden« Das Wsrschlebsn in die Stallung zur Suecaation nach Ma@y@bs des
Expansntenanteile in Register Exn kann dann überlappend Mit dem Verschieben der Mantisse in den B-Registern erfolgen, um Zeit einzusparen.
Eine Beschleunigung läßt sich bei Verlängerung des Suamierbierkes auf zuei oder drei üJortlMngen erreichen. Oe.aber in' Mittel um Q15 1 Stellen geschoben werden muß, lohnt eich dieser Aufwand nur, wenn vergleichsweise zur Sumnation das Schieben z.B. durch ein bekanntes Schisbeuerk beschleunigt wird.
Alle verkürzten Rechenwerke haben gemeinsam den Nachteil, daß bei Uorzeichenunkehr der Suoue und bei Auftreten vieler Überträge die Operationszelt zur Abarbeitung der Überträge bzw. zur Inversion des Speicherinhelta verlängert wird.
Beispielsweise zeigt die Addition von c. » b und c„ « -b , daß Überträge (oder Borgen) Über viele Ziffern auftreten kann. Es kann sich daher empfehlen, statt eines langen Speichers (Akkuaulatore ader Schieberegisters) zwei eolcher Einheiten vorzueehen, positive und negative Summanden zunächst getrennt aufzuBumraieren und erst zu» Schluß die Ergebnisse beider SunwatianBprozBBBB von einander abzuziehen.
Ein solches Vorgehen erfordert im Prinzip Verkehrungen zur Bildung der Differenz zweier langer Akkumulatoren (Schieberegister oder Speicher). Bai dieser Subtraktion kann natürlich AualÜachung auftreten. Dieser Subtraktionsprozess kann sich vereinfachen, wenn man berücksichtigt, daß »an, um das Endergebnis zu erhalten, gar nicht die exakte Differenz der beiden langen Register benötigt, sodern nur die ersten 1+1
an et Λ α
signifikanten Ziffern und sin uaitsres Msrkbit, welches darüber Auskunft gibt, ab dahintsr noch eins weitsrs von Null verschiedene Ziffer folgt ader nicht. Die Cl+D-te Ziffer reicht aue beispielsweise zur Ausführung einer Rundung zur nächst gelegenen Zahl, das Herkbit zur Aueführung dar Rundungen V und Δ .
Die zum Schluß anfallende Subtraktion der beiden lang tan Akkumulatoren (Schieberegister adsr Speicher) kann sich vereinfachen, wann man mährand der Summation jeweils in jedes Registsr zwei Zeiger Zl und Zr caitführt® welche auf die erste bzw. letzte von Null verschiedene Ziffer dar bsidsn langen Akkumulatoren (Schieberegietar oder- Speicher) zeigt. Die -Zeiger ZI» walche auf die jeweils ersten van Mull vsrschiBdensn Ziffern zeigen, erlauben sine rasche Barachnung des Worzelchens der Differenz. Die Zeiger Zr5 welche auf die letzten beiden von Null verschiedenen Ziffern . zeigen-, srEJÖglichen aina einfache BeetlEraung dea
Eine geeignete Schaltungsanordnung mit zw©i chiarn ACR 1 und ACR 2 zeigt Fig. k. Dia Stsuerung ist antaprschend dsn bereits dargsatalltein sufgebmiuito Die V/arainfachung bestBht darin, dsB abhängig vom Uorzmichan des1 Mantisse dse Suraraanden mit dsm einen odsr anderan Speicher gsarbsitst wird, wia.aus dsr Figur ersichtlich ist. Eins
Inversion bei dar Subtraktion der beiden Tailsuiieen tiiird durch die Steuerung dßr Zeigar ZH9 Z12 verhindsrt. Deshalb wird das Ergebnis in normaler Form ausgegeben.
Ein tsj@@entlich@r Uorteil der hier gszaigten beetsht .darin, daB der ganze Symmationavorgang rait einera abgeschlossenen, räumlich bBi@pi@lsw@ieB b@i dara und ,dem übergeordnatsn Rachenwerk untergebrachten Spsichsr
mit begrenztem und vor allen von der Dimension η der Vektoren a und b (bziu. der Anzahl η der Summanden c.) unabhängigen Speicher ohne Benutzung des Hauptspeichers der Rechenanlage abgewickelt werden kann. Auf diesen lokalen Speicher kann i.a. Über wesentlich kürzere lileglängen und damit schneller zugegriffen werden als auf den Hauptspeicher der Rechenanlage.
Führt man die in den Skalarprodukten auftretenden Multiplikationen mittels Uielfachen-Tabellen aus (dies hängt natür lich von der Wahl der Basis b ab), so könnte man daran denken, gleich die Vielfachen des einen Multiplikanden in den langen Akkumulator (Schieberegister oder Speicher) zu addieren. Oie Anzahl der auszuführenden Additionen wächst dadurch von η auf 1 · n. Oie Länge der einzelnen Summanden reduziert eich hingegen auf 1+1 Ziffern der Basis b. Diese Additionen könnte man in Jedem Falle mit eines Summierwerk bzw. Schieberegister der Länge 21 und einigen zusätzlichen Ziffern für den Übertrag bequem erledigen.
Ein solches Vorgehen dürfte sich i.a- aber nicht empfehlen, da die Addition in den langen Speicher relativ kompliziert ist verglichen mit den bei einer Multiplikation anfallenden Additionen (alle Summanden haben gleiches Vorzeichen, Bind von kurzer Länge und heben nur geringen Exponentenunterschied. Ein überlauf kann nicht auftreten.
Es empfiehlt sich hingegen, die zur Bildung der Produkte notwandigen Additionen gleich mit einem Akkumulator der Länge auszuführen. Das fertige Produkt kann dann anschließend gleich für die folgende Addition zu einem Ausschnitt des langen Speichere der Größe des Exponenten entsprechend positioniert werden. Oieser. Akkumulator könnt· das B-Regiater sein, und das Summierwerk könnte für die Addition der Teilergebnisse der
Multiplikation mitbenutzt werden.
Eins Weiterbildung der Schaltungsanordnung nach dar Erfindung besteht darin, daS das Exponentenregister Ex direkt zur Summierung der Exponenten der beiden Exponenten der Faktoren benutzt wird. Diese Addition der Exponenten kann dann zeitlich parallel zur Multiplikation der Mantissen und Addition der Teilprodukte erfolgen. Für die Addition kann entweder die Zählfunktion des Exponentenragistera Ex genutzt hierdBn oder as kann ein seriell arbeitender Addierer vorgescheitet warden, uenn des Register ale Schieberegister aufgebaut 1st.
Bsi der gezeigten Verwendung des langen Akkumulatorepeichsr-e mußte vor jeder Summation der Inhalt gelöscht uitardsn durch Steuersignal ClA. Es gibt aber auch anders Anwendungen, z.B.
die Errechnung von Skalarprodukten, bei denen zweckmäßig mehrere lange Summen gebildet usrdan. In diesen Fällen wlrd sm Anfang nicht auf Null gesetzt, sondern as wird waiter auf den Inhalt aufaddiert. Mit dieser Variante des Skalsrproduktes bzw. der Summe lessen sich dann auch Ausdrucks übt Fora
2Ö Q (AB + CO) mit Matrizen A1B,C,0, welche beispielsweise bei dar Multiplikation von Blockmatrizen auftreten,, ira Sinns (I) korrekt auaführsn. Ohne diese Variants müßte man durch Uraepsichsrn die Matrizen A,B,C,D zunächst in die Gestalt (A C) /B \
I ο J Uberführsn.
Es ist ttieitarhin auch vorteilhaft, wann für Sonderfälle oins Eriitslterung der Steuerung dahingehend vorgesehen wird, daS gebildete Summen vollständig ueggeepeichert und yisdor zugeführt marden können.
•3U4015
- yi -
Durch eine Erweiterung der Steuerung kann das Summierwerk sowohl zur Ausführung von 5kalarprodukten mit optimaler Genauigkeit als auch zur Durchführung einfacher Gleitkommaaperationen +f-,*i/ nach den Formeln (RG), (R1,2,3) und ggf* (Rk) verwendungsfähig gemacht warden. Algorithmen zur Aub-
* * führung dieser Operationen sind in (2) und (3) angegeben.
In Fig. U ist eine Schaltungsanordnung dargestellt, bei der zujei Akkumulatorspeicher ACR1 und ACH2 verwandt werden. Diese aind ale Speicher organisiert, der mit einem Adreßregister D2 über Dekoder DD angesteuert wird, wie bereits weiter oben erwähnt. Welches der beiden Register auf das Summierwerk ALU geschaltet wird, wird durch das Vorzeichen der MantisBB des Summanden Um oder, bei Bildung der Endsumme, durch die Lage der höchsten verschiedenen Stelle in Speicher ACR1 oder ACR2 mittels der Flipflopschaltung Ua und dar vorgeschalteten Gatter bestimmt, aus denen das Steuersignal ü gebildet wird, das dia Multiplexer MP1 und MP2 steuert, die parallel oder gB-kreuzt durchschalten.
Weiterhin ist die Ausführung der Multiplikation dar Multiplikanden A und B durch eine Erweiterung des Steuerwerkes Contr <+ gegenüber den bisher gezeigten Steuerwerken und Bine VielfachentabellB Ut vorgesehen.
Die Schaltzeichen sind sinngemäß den bisher verwandten gewählt und, Boweit sie neu sind, in Tabelle 6 zusammengestellt.
Parallel zu dem AkkumulatorBpeicher ACR wird zweckmäßig ein JQ weiterer Speicher ACP von einer Länge 3 1 für die Aufnahme dBr Mantisae das Produkts vorgesehen, dem ein Addierwerk AD vorgeschaltet ist, das die Teilprodukte addiert. Die errechnete Mantisse kann daraus mit dem Steuersignal GPs abgerufen werden.
3U4Q15
Dig Multiplikanden werden auf Bus BI vqgs übergeordneten Rechenwerk bereitgestellt. Als erstes werden dis Expanontsn-der Multiplikanden im Register RmA und Rmt durch die "Impulse TrEmA Und TrEb übertragen. Durch Steuersignals VE9 SHRA8 SHN und SHD werden dis Exponenten Ober das Summierwerk ALU addiert und in Registsr D1 übertragen.
Dann werden die Mantissen der Multiplikanden in die Register RmA-und RmB durch Steuersignale TrEmA, TrmB wora Bua BI Obsrnomman. Bei ungleichem Vorzeichen Wa9Ub dar Mantissen wird außerdem Flipflap Vra gesetzt, das bestimmt;, in welchen Speicher addiert werden soll.
Die Mantisse des Multiplikanden A wird dann wiederholt zum Inhalt des Registers Rmt addiert, und die so gebildeten Vielfachen werden in der VislfachentabBllB Ut fortlaufend alt Steuersignal Uv eingeschrieben. Die Steuerung erfolgt über die Signals UE, SHRA, SHM und den AdreBfortschaltimpuls CtB bis der Zähler CB Stellung b srrgicht hat.
Durch den Schiebeltapuls SNssiB werden dann die einzelnen Stallen dea Multiplikanden B in das Adreßregister GB Übsrtragan. Sis atauern dia Übernahras das adressiartsn TabBllanspeiGharB Ut in das Register Rmt an, daassn Inhalt dann übes* Schiabsimpulse SHM dera SuBroierwerk ALU mit Gattersignal A zugeführt wird. Mit übernahtaesignal TrD2 wird das Exponent in ZShlar D2 übertragen. Denn uirde beginnand mit der durch dsn Exponentan angewählten Stelle, die Tellsuiüsie dsm anderen Eingang dea Susnmiaruiarkea zugsfütote tsiobel sine Fortschiltung dea Zählers 02 mit Signal Cd2 per@ll@l zur Schiebung des Rsgistsrlnhalta Rtnt erfolgt. Päach 2 1 Schritten wird die Weiterschaltung dss Zählers D2 solange fortgeführt, wie Überträge Co auftreten.
3H4015
Mit dem weiteren Schieben in Register RmB.wird der Exponent in Zähler 01 mit Zählimpuls Cdi um eins erhöht und dann nach Zähler 02 übertragen. Oann erfolgt die nächste Surami er ung. Diese Folgen wiederholen sich 1 mal, bie Regiater RmB leer ist. Entsprechend werden dann ineitere Pro dukte gebildet und summiert.
Uenn dae Ergebnis durch Anforderung worn übergeordneten Rechenwerk ausgegeben uerden bdII, wird der Zähler 02 bie in End- stellung d durchgezählt, und sämtliche weiteren Stellen in den Speichern ACR1 und ACR 2 auf Ungleichheit geprüft und dadurch das Signal Oif erzeugt und damit abhängig von der höchsten ungleichen Stelle das Uarzeichenflipflop Us gesetzt.
Außerdem wird bei jeder Ungleichheit über das Steuerwerk das Steuersignal TrO1 erzeugt, mit dem das Komplement der Adresse aue Zähler 02 nach Zähler 01 übertragen uird.
Abhängig van der Stellung des Flipflops Us wird, mit Steuersignal U und durch Steuersignal Sub gesteuert, die Subtraktion der Speicherinhalte von ACR1 und ACR2 auegeführt. Bei der Subtraktion wird in Zählern 01 und 02 mitgezählt, bis das Endsignal d2 an Zähler 02 auftritt, d.h., bis die höchste ungleiche StBlIe erreicht ist. Alle höheren Stellen würden sich bei einer weiterlaufenden Subtraktion zu Null aufheben und können unberücksichtigt bleiben.
Oa aber auch in dem Ergebnis nach weitere linke Stellen Null sein können, wird in einem weiteren Register Zl jetueils alt einem Ergebniseignal Si der jeweilige AdreBetand eingeschrieben, der von dart als Exponent des Ergebnisses abgerufen werden kann.
3H4015
Im übrigen ist ein Register Zr und eine entsprechende Beschaltung wie in Fig. 2 für die Ermittlung der letzten rächten von Null verschiedenen Ziffer vorgesehen.
Durch die in oben gezeigter Ueise erzeugten Steuergrößen Oc1 UF, OF und Z kann dann in entsprechender IJeiae die Rundung und Ausgabe des Ergebnisses und des Exponenten gesteuert warden.
Fig. k zeigt somit ein kombiniertes Rechenwerk, das die Multiplikation, die Summierung und die Rundung ausführt und dabei Ergebnisse maximal erreichbarer Genauigkeit liefert, ohne daß Zeit durch Umspeicherungen und Adreßrechnungen verloren geht.
■ Das gezeigte Beispiel ist stellvertretend für eins ganze ' Klasse von möglichen Varianten je nach Art dar gewählten Zahlendarstellung und Ausgestaltung der Register, Zählsr, Speicher und des Steuerwerkes sowie der Parallelität der DatanujegB und -küsse. Es sind verschiedene Kombinationen dar Funktionagruppen in dan gezeigten Beispielen möglich, wobei allerdings viele davon auf Grund dar ungünstigen Relation zwischen Aufwand und üeschwindigkeit praktisch ungeeignet sind, den gewünschten Effekt dar maximalen Genauigkeit aber erbringen.
In Fig. k kann beispielsweise die Steuerung so geändert werden, daß erst das vollständige Produkt gebildet wird und dann eine Summierung erfolgt. Es kann dadurch das Addierwerk AD erübrigt werden; dafür erhöht sich der Aufwand für die Steuerung, und dar Zeitbedarf für dia Summierung entsteht zusätzlich.
Eigenständige Erfindungen sind insbesondere in der Angabe der Lösungen zu sehen, in denen arn Beispiel der Fig. 3 eine Optimierung der Schaltungsanordnung' bezüglich Aufwand und Geschwindigkeit dargestellt ibt und in denen am Beispiel der Fig. U eine Integration von Multiplizierwerk und Summieraufgezeigt ist.
Weiterhin stellt die angegebene Kombination eines optimierten Summierujerkes nach Fig. 3 und der integrierten Anordnung nach Fig. k eine weitere unabhängige Erfindung dar, da mit einer solchen kombinierten Anordnung sowohl die Geschwindigkeit der Summierung als auch der Multiplikation für sich als auch deren Folge beschleunigt wird, da Zwischenübertragungen der Daten entfallen, und sich außerdem eine Einsparung an Bauteilen ergibt.
Für die Lösung komplexer Aufgaben kann es auch zweckmäßig Bein, mehrere Akkumulatorspeicher der vollen Länge vorzusehen. Für kleine preiswerte Rechenanlagen, bei denen die Rechengeschwindigkeit nicht vorrangig ist, aber trotzdem die volle erreichbare Genauigkeit erreicht werden soll, können auch Teile des • AkkumulatorrBgisters in den Speicher Sp der Rechenanlage gelegt werden, da i.a. nur im mittleren Bereich gearbeitet wird. Es könnten somit z.B. das linke und rechte .Drittel ausgelayert werden, ohne einen wesentlichen Geschwindigkeitaverlust hinnehmen zu müssen.
Alle üben gezeigten Anordnungen entsprechen einem allgemeinen Erfindungsyedanken unabhängig vun der speziellen Lösung, der im folgenden herausgestellt werden soll:
Zum besseren Verständnis sind in Fig. b verschiedene Grundlösungen zusammengestellt.
31UQ15
Fig. 5a stellt Bchematisch ein Summierwerk dar, daß so lang ist, daß alle Summanden ohne Informationsverlust aufsummiert warden können. In Binem Register der Länge 2b2+21+2 (all kann man zunächst alle Summanden stellenmäßig korrekt ohne Exponsnten in einer Art FeetkommadarstBllung daratallan. Um auch bsi der Additiun eventuell auftretende Überträge auffangen zu können, sind links noch einige (t) weitere Ziffern der Basis b des verwendeten Zahlensystems hinzugefügt. Es kann dann jede Summe (II) von η Summanden ahne Infarmatlonsverlust, d.h.,korrekt in dem langen ParallBlsummierer ausgewertet werden» Dabei können sogar b Überträge auftraten und ohne Informationsverlust verarbeitet werden.
An Hand von drei typischen Beispielen illustrieren wir die Länge dieses ParallelsummierwerkeB:
a) Es sei b=iO, t=3, l=a, b1=-30 und β2=30.
Dann erhält man für das Parallelsummiariuerk eine Länge von t+2a2+21+2!el! = 1^2 Dezimalzifferru Bei BCD-Cndierung 2Ü sind dies 568 bit oder 71 Byte.
b) Es sei b=16, t=i», 1»1*», e1=-72 und b2=72.
Dann erhält man eins Länge vun ti-2e2+21+2 fall= 320 Hbkbdazlmalziffern. Das sind 12Ü0 bit ader 16Ü Byte» 25
c) Es sei b=10, t=4s 1=13, 8i=-93 und b2=99.
In diesem Falle erhält man für das Summierwerk eine Längs von t+2e2+21+2 IeIl= *»26 Dezinialziffern. Bei BCD-Codierung sind dies MUk bit oder 213 Byte. 30
Fig. 5b zeigt ein Sarialsuinmiertijerk A5 das mit einem dam obengenannten entsprechend langen Speicher zusammenarbeitet,, das in der Lage ist, zwei Ziffarn der Basis b mit geeigneter Übertragsbehandlung zu addieren.
Bei jeder Addition eines Summanden wird der Inhalt des Schieberegisters von rechts auf einen Eingang des Addierers geführt. An geeigneter, durch den Exponenten des Summanden bestimmten Steile wird der nächste Summand auf den zweiten Eingang gelegt und hinzuaddiert.
Zwischen diesen zu Fig. 5a und 5b skizzierten ExtrBmfallen ÜBgen mannigfache Zwischenlösungen, van denen wir"jetzt einige angeben.
In den Fällen 5a und 5b wird über sehr viele Ziffern addiert, in denen der 2. Summand gar nicht besetzt iat. Im folgenden sind deshalb Lösungen gezeigt, bei dBnen die Addition daher im wesentlichen auf die Ziffern dee 2. Summanden beschränkt ist und die restlichen Ziffern der Summe nur in einem Speicher gehalten werden. üJir verwenden daher hier einen Akkumulatorapeicher der Länge wie unter Fig. 5a und 5b.
Fig. 5c zeigt einen Speicher, der in Worte der Länge 1 eingeteilt ist. Oa die einzelnen Summanden von der Länge 21 sind, passen sie stellenmäßig jedenfalls auf einen Teilabschnitt des Speichers der Länge 31. Dieser Abschnitt des langen Speichers wird durch den Exponenten des Summanden bestimmt. Er wird herausgegriffen und in einen Parallalsummierer PSU Fig. 5d der Länge 31 geführt. Der zu addierende Summand wird in ein Schieberegister SHR gleicher Länge gegeben, dart dem Exponenten entsprechend positioniert und in den Summierer addiert.
BBi dieser Addition kann ein Übertrag auftreten. Um dieeen gleich ohne viel Steuer- und Zeitaufwand aufzufangen, kenn man zweckmäßig aus dem langen Akkumulatorspeicher links einige Ziffern mBhr als die i Worte in βΐηβη links entsprechend verlängerten Akkumulator auslesen. Sind nicht allB
diasB Ziffern gleich b-1, so uird ein bei der Addition entstehender Übertrag von diesen zusätzlichen Ziffern aufgefangen. Da der Fall, daß alls Ziffern b-1 sind, nicht auszuschließen ist, ist außerdem eine Schleifensteuerung vorgesehen, welche den übertrag ggf. auf die nächsten Ziffern dee langen Akkumulatorapsichers addiert. Diese Schleifsnsteuerung muß eventuell mehrmals aktiviert uierdan.
Fig. 5s zeigt einen Fall mit einem Speicher nach Fig. 5c und einem abgekürzten seriell arbeitenden Summierwerk; wobei der neue Summand dem Exponenten entsprechend an die richtige Stelle hinzuaddiert wird.
Auch hier sind Vorkehrungen für die Behandlung eines eventuell waiter laufenden Übertrages getroffen.
In allen anhand von Fig. 5 dargestellten Fällen wird nach Aufsummlerung dsf η Produkte c. das Ergebnis noch auf 1 Stellen gerundet. Zur Ausführung einer Rundung zur nöchstgelegsnan Zahl das Hastsrs reicht es dabei auss disd+D-te Stella dar. Summa zu bestimmen. Zur rascnsn Auffindung der ersten 1 bzw. 1+1 Stallen des Summationsergebniasee ist es zweckmäßig, wahrend der Summation einen Zeiger mitzufuhren, usichßT· stets auf dis von links her gösehsn erste von Null verschiedene Ziffer der Summe angibt.
Zur korrekten Ausführung der Rundungen^ und /\wird ermittBlt, ob nach dar 1-tan Stelle noch etwas von Null verschiedenes steht oder nicht. Das Abfragen dieser Information uiird zweckmäßig vorgenommen, indem mährend des SummatiansprazeBses sin weiterer Zeiger mitgsführt
wird, welcher stets die letzte von Mull verschiedene Ziffer dBr Summe angibt. Eine Auswertung dieses ZBigBrs führt dann zu einer raschen Ausführung der Rundungen \J und Ax
Für dBn allgemeinen Fall des integrierten Rephenuierkes für dia Ausführung der Multiplikationen und Summierungen ist in Fig. b Bin Blockschaltbild gezeigt und in Tab. 7 ein Flußdiagramm der Steuerung dargestellt, in dem die wesentlichen Funktionen enthalten sind, wobei die Ausführung mit zwBi Summenspeichern vorausgesetzt wird.
Zu berechnen ist die Summe
15
ci mit
Dabei sind p^ qi£S(bsles18e2),
und
Dar allgemeine Fall b> 2 ist zugelassen. Die Multiplikation wird mittels Vielfachen-Tabellen Wt des einen Operanden ausgeführt.
Die Mantissen der Gleitkommazahlen p., q, und c, sind mit mp. , mq. und mc., dia Exponenten mit ep.„ aq. und ec. und die Tailsummen mit S1 und S2 bezeichnet. In dem Strukturdiagramm Tab. 7 bezeichnen wie üblich Rechtecke: Anweisungen, Kreise: Marken, sechseckige Gebilde: Bedingungen. Die zu einer Laufanweisung gehörenden Anweisungen sind nach der Laufangabe eingerahmt.
-
In der Darstellung Fig. 6 ist das Rschenmerk ALU und das Register SHR, das beispielsweise ein Schieberegister ist von der Länge 3 1 mit einigen Überlaufstellen. Die Exponenten uarden im Exponentenaddierer E zusammengeführt. Die vollständigen Teilsumman werden im Speicher ACR1, ACR 2 aufgenommen. Über das Rundungswerk RD wird das endgültige Ergabnis an dia übergeordnete Schaltung ausgegeben«,
Dia einzelnen Schritte des in Tabelle Fig. 7 dargestellten Ablaufs sind folgende:
1. Die langen Speicher S1 und S2 werden Null gesetzt.
2. Wann eine der beiden Waktorkomponenten p, oder q. Null ist, findBt keine Summation statt.
3D 3. Berechnung des Exponenten des Produktes p.*q. ind einem Exponentenaddierwsrk oder in ALU. Im letzteren Falle wird das Ergebnis in einem Exponentenregister abgesetzt und aufbewahrt.
k. Berechnung der Vielfachen des einen Multiplikanden-Dia Vielfachen werden in einer eigenen Vielfachen-Tabella abgesetzt. Im Falle des Dualsystems entfällt dieser Schritt. Bei anderen Multiplikationsverfahren ist er durch andere Schritte zu ersetzen.
5. Berechnung des Produktes der Mantissen v/on p. und q*.
6. mc. wird entsprechend ec. auf einen Ausschnitt der Länge 3 1 des langen Speichers zurechtgeschoben.
7. Positive Summanden werden zu 51, negative zu Ξ2 addiert. 8. Übertragsprüfung und Übertragsbehandlung.
9. Bildung der Differenz der beiden langen Speicher.
10. Rundung des Ergebnisses auf Länge 1 mittelsO»^ »Δ oderO- Der im Blockschaltbild eingetragene Runder ist u.U. nur eine Vorrichtung zur Führung eineB Merkbits oder des rechten Zeigers.
Es wurde oben schon erwähnt, daß es zweckmäßig ist, eine Variante des Skalarproduktes bereitzustellen, bei der der Schritt 1., d.h. das Nullsetzen der beiden Speicher ACR1, ACR2 am Anfang übersprungen wird.
Die Schritte 2. bis 5. beschreiben die Multiplikation der Mantissen mp.-rnq,. Die Schritte 6. bis B. die Addition von mci an die durch ec^ bestimmten Stellen von Ξ1 bzw. S2. 25
Im Schritt S. wird die Differenz der beiden langen Speicher gebildet.
In einer bevorzugten Ausführung werden in dem ganzen Ablauf einige unabhängige Operationen so gesteuert, daß sie parallel ablaufen. Für die Skalarproduktbildung geschieht dies z.B. nach folgendem Schema, wobei parallele Vorgänge nebeneinander stehen:
3U4015
S ;-u; eC1
S Z=S+C1;
S : = 8+cn-V 8Cn
a :=a+cn
•mq2;
mc π
Im allgemeinen dauert der Multiplikationeprozeß erheblich länger als die beiden Additionsprozesse, so daß die dadurch erzielte Beschleunigung relativ/ gering ist. 10
Eine weitere bevorzute Ausführungsform ist dadurch gegeben, daß mehrere parallelarbeitende Multlplikatormerke vorgesehen werden, die ein Summier- und Rundungsuierk mit Summanden versorgen, uobai die Zahl der Multiplikator-
werke maximal so groß gewählt wird, daß das Summier- und Rundungsujsrk zeitlich ausgelastet ist.
Eins weitere Beschleunigung läßt sich dadurch erzielen, daß man mehrere SummieruerkB abschnittsweise an einem Skalarprodukt arbeiten läßt und erst nach Vorliegen der Ergebnisse die gebildeten Teilsummen aufaddiert und rundet.
sz
Tab. 1
Liste der v/eruiBndeten Symbole und Zeichen:
B,b€M
Menge der reellßn Zahlen
Menge der natürlichen Zahlen IN = {1,2,3,4,-..1
a ist Element aua der Menge M,
lies: Für alle a,b£M
definierendes Gleichheitszeichen. Der Ausdruck auf der Seite des Doppelpunktes ist per Definition gleich demjenigen auf der Seite des Gleichheitszeichens.
+ c„ +
Rundung zur nächstgelegenen Zahl Rundung nach unten
Rundung nach oben Rundung nach innen
allgemeiner RundungsoperatorGfj O S7 » Δ,»Of
-^ Iff
S(b,l,e1,e2) GleitkommaBystem zur Basis b, 1 Ziffern in der Mantisse, kleinster Exponent el, größter Exponent e2
i = 1(1)n
i läuft von 1 in Schritten von 1 bis n.
Produktmsnge; Die Menge aller n-tupel (a1#a2,...,a ) mit a^T für alle i = KDn.
Tab. 2
ClA
2a ClB, ClE, ClU
2b TrB, TrE, TrU
3. TrA
Sp-BI
k. GMs, GCb, GEs | BII-*-Sp
5o OF, UF ? bsi Über- und Unterlauf
6. Oc 7 Z 7 kein Rast
7a ClB, ClE, ClU
7b BII^BI I TrB, TrE, TrU
θ. Op (Subtr.), TrA
9a ClB, ClE, ClU
9b BII-BI j TfB, TrE, TrU
10. TrA
11a ClB, ClE, ClU
11b Sp-BI i TrB, TrE, TrU
12. TrA'
13. OF ? bei überlauf 14« GMb5 GCs5 GEs | BII-*-Sp
Lösche Akkumulator
Lösche, Lade bus Speicher. Summand
Summiere
Übernimm Summe in Speicher Sp setze Merksr OF bzw. UF —i
Bilda Rest
Uerdoppele Rest
Runde
setze Merkar OF
Ende
ACR -
ClA = Akkui'iiiji i, lur-L£k,r.hiin
TrA = (JUuriiu'timun in Akku (julj ALL)
und " Ca " "
Ca = Über tray auu Sunimiurutii'k
Cb - bpeichtsratfcälle füi* Uür^eichen der Summe; Zählflipflup
BI,BII = Iiifürmatiaiiü
ClU = Lüuchü
TrU e. Üburriuhiiiu Mantibbtinwui -
Cl£ = Lüuchfa Cxfjünunt
Tr£ - Übürnutiiiiti LxponenL
B = Maritititifc! Summand (B) Register
ClB β Lösche Β
TrB = Üburnuhnifc) Ü
Dec 1 = Dekoder Exponent und l/orzeichen
Qk,i,r = Oder-üattar ("yired or") zum Eingang ALU
Uk,j,r = Und-Gatter für üiynale B und Dec E ■
Ai . = Stelltin i wümi ACH Auuyünyt!
Si - Stellun i vuui ALU (/!um Eirujuny ACR)
TA a überlaufhpeicher in ACH
ALC = Stauuruny ALU-ÜperaLianen
Wm - Mantiübanv/ürißichen
GC = Summenuur^eichen (C&) (tri-btate-Gattar)
GCa = Üteuaraiynal OC auf hJua Uli
21 = Wullabfühluny von linka nach rechtts
Zr - IMullabfühluny ν/απ rechta nach linka
Ut>,j,i,r= Und-üattar für Akkumulatürauayänge (Summe) und
Oa,i,r = Oder-üattar Cuirud ur") für Mantiaae der Summe
Ex1Ue = Exponentenregiater, Summand
31U015
εε
Tub. »b
OB »«'
> ο"
Q O ■>■>·
ca αϊ'
UM
Uc
dar Lumina UM tauf
II
Uclar-UoUer ("wiryd üt")
ktüriö Huatötullyn hintyr ύ@ν Müntifsaa der Summe
kein» "1" im Beroluh 21 ,
Zr kelnu "1" vun i-öuhta biB iiteli
(m+1)
I ALR anthült kyin« 1M11
Wl Unü-üaUar Zr- und Zl-Siynile,
EneE Expunoiitanvurtjuhluldlai'
Expununt der Summe
\JUB tixpufiyntüfivüivaichen der Summe
Ti Ütayrlauf der Buimny; (TA) 4 U
AusQang auf Oe
Dp
Gontr Sp St OF19 DF
UF1, UF
M1 Mo Rd Ld
ύαν LxpanuntHnBiynalfc) auf Bua ill Qpai-utioiiButuuyruiynal: üubtraktion ahne Flüeksleht auf üüu Mapitiiutmn Stauerujsrk.dsr SehaitungiinoFdnung Spaichar der Richininlegs Steuarwerk der Rsahönaniags Uberlaufaignil (ACR) >e mix Untiriaufsignal (ACR)-<g min Steuersignal Ausgibi kliiniti Mintisii;gH Steuarsignal Auigibs Mentissi Νυ11;β1 itsuarslynale Rundungsart Q ,\7 » Δ »Ο ladsaigriaii für Contr
es
3U4015
Tab. k
ACR Schieberegister mit m+21+t Tetraden SHA Schiebeimpula für ACR (ro+21+t Impulse) SHL letzter Schiebeimpuls der Serien SHA B Schieberegister si Tetraden SHB 21 Impulsserisn, Schieben β
Ex Schieberegister für Exponent Summand und Abbiärtezähler
SHE Schiebeimpulsserie für Ex Ct- ZÖhleingang ExZ Nullen in Ex
Zl Schieberegister für Exponent Summe und Abuiärtszähler
SH Zl Schisbeirapulse für Zl SZl Setzeingang auf Uert ra+ t für Zl ZlZ Signalauagang (ZD= Null Ta Ausgang Uberlaufstellenzeiger in Zl Zr Zähler Nullen von rechts in ACR1 Kapazität 1+e+t SZr Sßtzelnganq Zr auf Anfangauert _i Z (Zr) « 1+m+t (alles Eins)-*' (ACR) = Q Ug Uargleicher (Zr)>i (Zl)? Oc Ausgang van Ug
FS Flipflop hiird gesetzt, sobald erste Eins in einer Summe auftritt
FI Flipflop uiird mit Überlauf Ca gesetzt für einen Umlauf ACR und steuert Inversion des Auegangssignales ACR
Contr. 2 Signalgenerator für SchiebeinpulssBrien und Steuersignale β. Fig. 2a
ALU Ssriensummieruerk für Addition, Subtraktion und Transfer (T) von Ai nach Si
T Tranefersteueraignal für ALU SB Steuersignal während Schieben von (B) durch SHB Rd Signal Runden ALC Steuerschaltung der ALU
GMZ Steuersignal für Ausgabe aus ACR SA Steuersignal Summeneingang ALU
31U015
Tab. 5
Akkumulatorspsichar mit fortan 11...In
ω Schreibsignal für ACR
Dec Adrsesendskoder für ACR
Den höchster Ausgang von Dec
Z1-rZn Speicherstallen Zi je sin Bit pro Wort Ii
Z Nor-Gatter, alle (Zi) Bind NuIl^ (ACR) -
PZ Prüfschaltung: eile Summensteilen im ALU sind Null?
ALU Parellelrechenuerk Länge
Co ' Überlaufauegang
Cin überlaufzuischenspeichar '
80,81,82 Schieberegister für Mantisse Länge 31 für Serisnschiebung und Parallelverechi@bung in tiortlings
SHS Schiebeimpulse für Bo,1,2 in Serienrichtung SHP Schiebeirnpulae für Ba,1,2 in Parallolrlchtung SH Steuerimpuls uMhrend SHP B1U, B2U Usrkapplung in Serienrichtung Prüfschaltung: (B2) ^D ?
modulo 1 Zähler für Exponent für 1-Stsllen (niederstes·tig) Exn modulo η Zähler for Exponent für n-Stsllsn (höhsryartig)
TrE Setzen Horoplsroent BI nach ExI und BI obsra Stellen nach Exn
CEl Zählsingangsirapulse für
CEn Zählaingangalrapulse für Exn
El (ExI) a 1 Ausgangaeignal
En (Exn) a η Auegsngssignsl
Ts Übarlaufetellen in Exn
3U4015
Tab. ß
ACR1 Speicher mit 21+m+t Stellen ACR2 wie ACR1 parallel dazu DD Adreßdekodar Ansteuerung ACR D1 Zähler und Schieberegister Adresse ACR, modulo 21+a+t SHD Schiebesignal für D1 D2 Zähler, Länge 21+m+t Cdi, Cd2 Zählsignale für D1, D2 reap. TrD1, TrD2 Übernahmeeignal (D1)-»D2 bzw. (D2)->O1
d1, d2 Endetellungssignal D1, D2
U Uorzeichensignal zur Multiplexerstauerung HPit HP2 MP1, MP2 Parallel- und Kreuzungamultiplexer M1 Demultiplexer RnA Schieberegister für Mantisse oder Exponent Multiplikand Ar Länge 1 SHRA . 1 SchiebeimpulBS für RmA TrE MA Ubernahraeimpuls für (RmA) van Bus BI Ut Uielfachtabellenapeicher, Uartlänge 21
ülv/ Schreibsignal für Ut
Rmt Schieberegister für Uielfache oder Exponent Multiplikand B1 Länge Ree LÖBChaignal für Rmt SHM 21 Schiebeimpulee für Rmt TrEb Übernahmeaignal für Exponent Multiplikand B DB AdreSdakoder Ansteuerung Ut RnB Schieberegister Multiplikand B, Länge 21 CB AdreBzähler Länge Basia b (Tetrade)
b Endatellungasignal CS
SHmB 1 Schiebeimpulse für Rmb CtB Zählimpuls für AdreBtetrade TrmB übernahmeimpula für Multiplikanden Mantisse B Dif Signal bei verschiedenem Ausgangseignal ACRt, ACR2 Ua Uorzeichenflipflap Summe ZIs Ausgangseignal Schieberegister Zl ClU Lüachaignal
Contr. ι* Steuerwerk
AD Addierwerk . ACP Speicher für Mantisse Produkt, Länge 31 GPa Steuersignal Mantisse Produkt auf Bus B II

Claims (1)

  1. 3Η4015
    Patentansprüche
    Schaltungsanordnung in Binar elektronischen Reihenanlage mit einem Summierwerk (ALU), das eingangs- und ausgangsseitig mit einem Akkumulatarepeicher (ACR) verbunden IBt8 dor aus Zellen (Ai,j) zur Speicherung von Codes einer üaaiB (b) besteht, und einer Steuervorrichtung (Gantr), die eine Summierung van Zahlen (ei), insbesondere Produkten aus Faktoren (pi,qi), die von der RechsnanlegB in einer Gleitkommadarstellung der Schaltungsanordnung zugeführt werden, und eine Rundung und Auegabe von dar in dem Akkumulatqrspeicher (ACR) gebildeten Summe (c) an dia Rechenanlaye in einer GleitkommadarBtellung steuert, dadurch gekennzeichnet, daß die Schaltungsanordnung mindeatena einen Akkumulatorspaicher (ACR) hat, der Bin Speicharregiöter van mindestens einer La'ngeC21) der MantiBse einer der Gleitkommazahlen (ei) zuzüglich einer Länge entsprechend dem Doppelten der Summe dsr Beträge des kleinsten und größten Exponenten (b1,b2) der GleitkammadarBtellung ist und eine Steuerschaltung (OecEjUi,J1I^ Di,J.k.Cuntr) für eine Summierung der
    ι ι
    Zahlen (ei) in einer FestkammadarstBllung in dan AkkumulatorspeichBr (ACR) mit diesem und dem Summierwerk (ALU) verbunden ist.
    2. Schaltungsanordnung nach Anspruch 1, dadurch gekenn-. zeichnet, daß mindestens ein Teil des Akkumulatorspeichers (ACR) ein zum Speicher (Sp) dar elektronischen RBChananlage zusätzlicher unabhängiger Speicher ist.
    3. Schaltungsanordnung nach Anspruch 1 oder 2, dadurch gekennzeichnet,daß das Summierwerk (ALU) ain zum Rechenwerk der Rechenanlage zusätzliches Summierwerk ist und daB Summierwerk (ALU) vorzugsweise durch eine programmierbare Steuerschaltung (ALC,Contr) mittels Steuersignalen in
    zeitlicher Folge gs-
    3HA015
    steuert werden und zwar sowohl in Abhängigkeit van StLuersignalen (TrA,TrB,TrI/,TrE,GMs,GEa,GCs,Op,ClA, Cia,ClU,ClE), die van der Rechenanlage zugeführt werden ale auch v/on Steuersignalen (Ca,Cs1Z,Oc, UF1OF) die von1 Steuerschaltungen der Schaltungsanordnung selbst erzeugt uierden.
    h. Schaltungsanordnung nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, daß sie ein Mantissenregister (a;BQ,B1,B2;Vm) enthält, in das die Mantisse der Zahlen (ei) mittels eines Steuersignals (TrBjTrU) von der Rechenanlage eingeschrieben uierden kann, und/oder ein ExponentBnregister (Ex1Ue), in das der Exponent dBr Zahlen (ei) mittels eines Steuersignals (TrE) von der Rechenanlage eingeschrieben uierden kann, mit angeschlossenen Steuexachaltungen (DecE,Dec,Ui,j,k;Oi,j,k;ExZ,Contr Contr 2;£l,Contr 3), die andererseits mit dem Mantissenregister (B;BG,Ö1,B2) derart verbunden sind, daß es über die genannten Steuerschaltungen mit Eingängen des Summieriuerka (ALU) räumlich und oder zeitlich ao verbunden wird, daß eine Summierung entsprechend dem durch den Exponenten bestimmten jeweiligen Stellenwert von Mantissenstellen und Stellen des Inhalte des Akkumulatorregisters (ACR) erfolgt.
    5. Schaltungsanordnung nach einem der Ansprüche 1 bis ^, dadurch gekennzeichnet, daß am AkkumulatorregistBr (ACR) Steuerschaltungen wie z.B. Gatter-, Speicher- und/oder Zählerschaltungen (Zl,Zr,Pz,Z1...Zn) angeschlossen sind,
    3C1 eines oder mehrere der Steuersignale (Zr(i), ZKi), Z1UF1OF, Uz1Oc,ZlZ,El,En) erzeugen, von denen die Steuersignals (ZKi)) die Lage der Zelle (Ai1J) mit einer jeweils höchstwertigen signifikanten Stella und Steuersignale (Zr(I)) die Lage der Zellen (Ai,j) mit hüheruertigen Stellen als den niedrigstwertigen Stellen, die alle Null
    3
    3H4015 _>5_
    enthalten, räumlich und oder zeitlich angBbans das Steuersignal (Z) angibt, daß alle Zellen (Ai,j) im Akkumulatorregister (ACR) jeweils (Mull enthalten und das Steuersignal (OC) angibt, wenn jeweÜB in Zellen (Ai,j) Stallen ungleich Null enthalten sind, die niedrigwertig sind eis ein vorgegebenes MaB(I;2l) bezogen auf die höchste signifikante Stella und die Steuersignale (DF,UF) angaben, Lienn hüherwartiga Stellen als eine vorgegebene höchste Ergebniaatelle ungleich Null sind bzw. nur niedrlgarwertiga Stellen als eine niedrigste vorgegebene Stelle unglBich Null sind.
    6. Schaltungsanordnung nach Anspruch 5, dadurch gekennzeichnet, daß am Akkumulatorregister (ACR) Gatterschaltungsanordnungen (USjQQ1GM1EnCE1UeSjExS) angeschlossen aind, über die abhängig von den Steuersignalan (ZKi), Dc, ZIo, UF,OF,Cb,Z) die Rundung und Ausgabe der Gleit- · kommazahl (c) erfolgt.
    7. Schaltungsanordnung nach einem der Ansprüche 1 bis 6, dadurch gekennzeichnet, daß das Summierwerk (ALU) über Gatteranordnung (ALC) addierend oder subtrahierend gesteuert wird abhängig vom Worzaichen (Wm) der Mantisse und vom Vorzeichen des Inhalts das Akkumulatorragistera (ACR)5 und das letztgenannte Vorzeichen vorzugsweise nach jedsr Summierung durch Speicherung jeweils bei Auftreten eines Überlaufsignals (Ca) aus dem Summierwerk (ALU) in ein Speicherelement (Cb) erzeugt wird.
    8. Schaltungsanordnung nach einem der Ansprüche 1 bis 7, dadurch gekennzeichnet, daß zwischen das. Akkumulatorregister (ACR) und das Summierwerk (ALU) eine Gatteranordnung (ALUi) geschaltet iat, die durch ein Steuersignal (I), das jeweils bei Auftreten des Überlaufsignals (Ce)5 bedarfaweise durch Zwischenspeicherung, erzeugt wird, derart gesteuert wird, daß der Inhalt des Akkumulatorregisters (ACR) ateta als Betrag dem Summierwerk (ALU) zugeführt wird.
    9. Schaltungsanordnung nach einem der Ansprüche 1 bis 8, dadurch gekennzeichnet, daß das Summierwerk (ALU) parallel aufgebaut ist und gleich lang ist wie das Akkumulatorregister (ACR) und die Steuerschaltungen (21,Zr,Ui,j,k;OF;UF; Oi,j,k; Us,Q8,DecE,EncE) räumliche Zuordner sind, die das MantiBsenregiater (B) dem Inhalt des Exponentenregisters (Ex1Ue) entsprechend mit dem einen Eingang des Summiermerks (ALU) verbinden und das Akkumulatorregister (ACR) entsprechend der Lage der höchsten signifikanten Ziffer in ihm zur Rechenanlage vorzugsweise über Gatter (GM1Gc) und/oder Register mit Ausgangsgattern (ExS1Ts,Ues) abhängig van Steuersignalen (GCs,GMs, GEs) verbinden. (Fig. 1)
    10. . -Schaltungsanordnung nach einem der Ansprüche 1 bis 8, dadurch gekennzeichnet, daß das Akkumulatorregister (ACR) ein seriell arbeitender Speicher, vorzugsweise ein Schieberegister ist und das Summierwerk (ALU) ein seriell arbeitendes Summierwerk ist und die Steuerschaltungen (Zl1 Zr,Wg) und das Exponentenregister (Ue,Ex) vorzugsweise als Zähler und/oder Schieberegister ausgebildet sind und deren Ausgangssignale (EsZ,ZlZ,Z,Qc) in eine Ablaufsteuerung (Contr 2) geführt sind, die ueitere Zähler umfaßt und Steuersignalfolgen (Ct,SHA,SHB,SB,GMZ) erzeugt, die den Gattern und/oder Schiebeeingängen und/oder Zähl- und Rücksetzeingängen der Zähler und Schieberegister zugeführt werden und zeitlich diese so steuern, daß die Zuführung der Mantisse aus dem Mantissenregister (B) entsprechend dem Inhalt des Expanentenregisters (Ex1Ue) erfolgt und die Rundung und Ausgabe der Gleitkommazahl (c) über Gatteranordnungen (GMZ1GEs) bezüglich der zeitlichen Lage der höchsten signifikanten Stelle erfolgt. (Fig. 2)
    3Η40Ί5
    11. Schaltungsanordnung nach dsn Ansprüchen 1 bis 9, dadurch gekennzeichnet, daß das Akkumulatorragistar (ACR) in Abschnitte vorzugsweise von Binar Länge (1) eingeteilt ist, auf die parallel zugegriffen werden kann, und das Summiermerk (ALU) parallel von der einfachen bis vierfachen LSnge der genannten Abschnitte ist und Steuerschaltungen (Exn;Dec;Z1...Zn;Z) mit den genannten Abschnitten verbunden sind und Steuerschaltung (Pz) parallel zum Eingang des Akkumulatarrsgisters (ACR) gsschsltet ist und Zähler (ExI) und/Dder Schieberegister in Verbindung mit der Ablaufsteuerung (Contr 3) zeitliche Steuereignalfolgen (SHS,SHP,CZ,CEl,CEn,Id) erzeugen, die abhängig van dem Inhalt dBs Exponentanregiaters (ΕχΙ,Εχη) die Summierung des Inhalts des Mantissenregisters (BO, B1,B2) steuern und die Rundung und Ausgabe dar Gleitkommazahl (c) bezüglich der höchsten signifikanten Stelle steuern. (Fig. 3)
    12. Schaltungsanordnung nach Anspruch 1O5 dadurch gekennzeichnet, daß das Akkumulatorregister (ACR) aus zuisi Registern (ACR1, ACR2) besteht, von denen jeweils eines durch Steuerschaltungen (M1,MP1,MP2) mit dem Summierwerk (ALU) ein- und ausgangseeitig, gesteuert durch den Inhalt dar Uorzeichanstelle (Um) der Mantisse,, vsrbundan wird und die über Gatterschaltungen vor der Rundung und Ausgabe durch ein Steuersignal (Sub), das von der Ablaufsteuerung (Contr) gebildet wird, mit den Eingängen des Summierujerks (ALU), das subtrahierend gesteuert wird, verbunden wird, mobei die Ein- und Ausgangs dar Registsr (ACR1.ACR2) durch die Stauerschaltungen (M1,MPi,MP2,V/a) . so mit dem Summierwerk (ALU) verbunden werden, daß der niedrigere Setrag von dem höheren abgezogen wird. (Fig. <O
    3U4015
    -J<6 -
    13. Schaltungsanordnung nach einem dar Ansprüche 1 bis 12, dadurch gekennzeichnet, daß die Faktoren (pi,qi) der Schaltungsanordnung in Gleitkommadarstellung zugeführt und dort in Registern (RmA1RmB1Wm) zuiischengBspeichert werden und Teile der Schaltungsanordnung vorzugsweise das Summierwerk (ALU), das Mantissenregister (Rmt) und das Exponentenregiater (01) durch Steuersignale der Ablaufsteuerung (Cantr U) so gesteuert werden, daß sie die Produkte (ei) bilden und dem Akkumulatorregister (ACR; ACR1.ACR2) über das Summierwerk (ALU) zuführen. (Fig. k)
    1*». Schaltungsanordnung nach Anspruch 13, dadurch gekennzeichnet, daß die Exponenten der Faktoren (pi,qi) von der Rechenanlage in Register (RmA1RmB) gespeichert uerden und diBse gesteuert durch Steuersignale der Ablaufsteuerung (Contr *♦) über das Summierwerk (ALU) addiert und dem ExponBntenregister (D1) zugeführt werden.
    15. Schaltungsanordnung nach Anspruch 13 oder 14, dadurch gekennzeichnet, daß die Mantissen der Faktoren (pi,qi) von dar Rechenanlage in Register (RmA1RmB) gespeichert werden und, gesteuert durch Steuersignale der Ablaufsteuerung (Contr Ί), über das Summierwerk (ALU) der Inhalt des einen Registers (RmA) vervielfacht und in einem UielfachentabellenspBicher (Ut) gespeichert wird und entsprechende Vielfache als Teilprodukte gesteuert durch jeweils einen Inhalt einer Stelle des anderen Registers (RmB), der vorzugsweise einem Registerabschnitt (CB) zugeführt wird, aus dem Uielfachantabellenspeicher (Ut) ausgelesen wird, wobei dessen Ausgang mit dem Eingang des Summierwerks (ALU1AO) zur Summierung der Teilprodukte verbunden wird.
    16. Schaltungsanardnung nach einam der Ansprüche 1 bis 15, dadurch gekennzeichnet, daß die Steuerschaltung (Contr) abhängig von den EingangsaignalBn (RdQ, V ι Δ»Ο » ^ct^t LJF,QF,Cs), die einerseits von der Rechenanlage und andererseits von der Schaltungsanordnung zugeführt werden, Steuersignale (Op,MQ1MI1OF) erzeugen, dia die Rundung und Ausgabe des Inhalts des Akkumulatorregister (ACR) steuern, wobei eines der Steuersignale (MO) die Ausgabe einer Zahl Null bewirkt und ein weiteres Steuersignal (M1) die Ausgabe der bBtragsmaßig kleinsten Zahl an die Rechananlage steuert.
    17. Verfahren zur Berechnung von Skalarprodukten und Summen mit optimaler Genauigkeit unter Verwendung einer Schaltungsanardnung nach einem der Ansprüche 1 bis 16, dadurch gekennzeichnet, daß bei Aneteuerung der Rundung(Q) zur nächsten Zahl die Schaltungsanordnung so gesteuert uirds daß auf die Stelle des auszugebenden Betrages dar Mantisse die niedrigerwertig als deren letzte Ziffer ist, der halbe Wert der Basis (b) vor deren Ausgabe addiert wird und wenn danach Steuersignale (Z,Oc,UF,Zla) auftreten, die anzeigen, daß alle Stellen im Akkumulator Null sind oder das Ergebnis betragötnäßig kleiner als die kleinste darstellbare Zahl ist, vorzugsweise durch das Steuersignal (MQ) eine Zahl Null ausgegeben wird.
    18. Verfahren zur Verwendung mit der Schaltungsanordnung nach den Ansprüche 1 bis 16, dadurch gekennzeichnet, daß bei Ansteuerung der Rundung (O) nach innen ein Rest des Bsträges der Mantisse der auszugebenden Zahl nicht ausgegeben wird und bei Auftreten von Signalen (Z1Oc1UF), dls anzeigen, daß das auszugebende Ergebnis betragsmäßig kleiner als die kleinste darzustellende Zahl oder Null ist, vorzugsweise durch das Steuersignal (Mo) eine Zahl Null ausgegeben wird.
    -. 5β -
    19. Verfahren zur Verwendung mit der Schaltungsanordnung nach den Ansprüchen 1 bis 16, dadurch gekennzeichnet, daß bei Ansteuerung der Rundung (V) nach unten abhängig von dem Auftreten der Signale (Cs1ZjLIF1Oc)1 sofern ein Reat auftritt, eine Rundung jeweils zur nächsten kleineren Zahl erfolgt und dabei bei Auftreten eines positiven Ergebnisses, das bBtragsmäßig kleiner als die kleinste darstellbare Zahl ist, WuIl ausgegeben uird und bei Auftreten eines negativen Ergebnisses, das bBtragsmäßig kleiner als die kleinste darstellbare Zahl ist, die betragsmäßig kleinste negative Zahl, vorzugsweise durch das Signal (M1), ausgegeben ujird.
    20. Verfahren zur Verwendung mit der Schaltungsanordnung
    nach den Ansprüchen 1 bis 16, dadurch gekennzeichnet, daß bei Ansteuerung der Rundung (Δ) nach oben abhängig von dem Auftreten der Signale (Cs,Z,UF,Oc), sofern ein Rest auftritt, Bine Rundung jeweils zur nächsten höheren Zahl erfolgt und dabei bei Auftreten eines positiven Ergebnisses, das betragsmäßig kleiner als die kleinste darstellbare Zahl aber nicht Null ist, die betragsmäßig kleinste pbsitive Zahl vorzugsweise durch das Signal (MI) ausgegeben uird und bei Auftreten eines Ergebnisses Null, oder das negativ und betragsmäßig kleiner als die kleinste darstellbare Zahl ist, eine Null ausgegeben wird, wobei vorzugsweise das Vorzeichen der Null positiv ist.
    21. Verfahren nach einem der Ansprüche 1 bis 20, dadurch gekennzeichnet, daß die Steuersignale in einer solchen zeitliehen Folge erzeugt werden, daß die Berechnungen der Teiloperationen der Skalarproduktbildung wie Exponentenaddition, Teilproduktbildung, Teilpraduktsummierung parallel durchgeführt werden.
DE19813144015 1981-11-05 1981-11-05 "schaltungsanordnung und verfahren zur bildung von skalarprodukten und summen von gleitkommazahlen mit maximaler genauigkeit" Granted DE3144015A1 (de)

Priority Applications (5)

Application Number Priority Date Filing Date Title
DE19813144015 DE3144015A1 (de) 1981-11-05 1981-11-05 "schaltungsanordnung und verfahren zur bildung von skalarprodukten und summen von gleitkommazahlen mit maximaler genauigkeit"
EP82109625A EP0079471B1 (de) 1981-11-05 1982-10-19 Schaltungsanordnung und Verfahren zur Bildung von Skalarprodukten und Summen von Gleitkommazahlen mit maximaler Genauigkeit
AT82109625T ATE18703T1 (de) 1981-11-05 1982-10-19 Schaltungsanordnung und verfahren zur bildung von skalarprodukten und summen von gleitkommazahlen mit maximaler genauigkeit.
CA000414177A CA1187614A (en) 1981-11-05 1982-10-26 Circuitry and method for generating scaler products and sums of floating point numbers with maximum accuracy
US06/764,517 US4622650A (en) 1981-11-05 1985-08-09 Circuitry for generating scalar products and sums of floating point numbers with maximum accuracy

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE19813144015 DE3144015A1 (de) 1981-11-05 1981-11-05 "schaltungsanordnung und verfahren zur bildung von skalarprodukten und summen von gleitkommazahlen mit maximaler genauigkeit"

Publications (2)

Publication Number Publication Date
DE3144015A1 true DE3144015A1 (de) 1983-05-26
DE3144015C2 DE3144015C2 (de) 1988-02-04

Family

ID=6145722

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19813144015 Granted DE3144015A1 (de) 1981-11-05 1981-11-05 "schaltungsanordnung und verfahren zur bildung von skalarprodukten und summen von gleitkommazahlen mit maximaler genauigkeit"

Country Status (5)

Country Link
US (1) US4622650A (de)
EP (1) EP0079471B1 (de)
AT (1) ATE18703T1 (de)
CA (1) CA1187614A (de)
DE (1) DE3144015A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0331789A2 (de) * 1988-02-26 1989-09-13 Siemens Aktiengesellschaft Speicher für eine Rechenanlage, die im Gleitpunktformat oder Festpunktformat dargestellte Zahlen hoch genau verknüpft

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4751665A (en) * 1986-02-24 1988-06-14 International Business Machines Corporation Systolic super summation device
US4819190A (en) * 1986-06-18 1989-04-04 The United States Of America As Represented By The Secretary Of The Navy Video line processor
US4866653A (en) * 1986-08-04 1989-09-12 Ulrich Kulisch Circuitry for generating sums, especially scalar products
DE3703440A1 (de) * 1986-08-04 1988-02-18 Ulrich Prof Dr Kulisch Schaltungsanordnung zur bildung von summen, insbesondere von skalarprodukten
US5341482A (en) * 1987-03-20 1994-08-23 Digital Equipment Corporation Method for synchronization of arithmetic exceptions in central processing units having pipelined execution units simultaneously executing instructions
US5327571A (en) * 1990-04-03 1994-07-05 Advanced Micro Devices, Inc. Processor having decoder for decoding unmodified instruction set for addressing register to read or write in parallel or serially shift in from left or right
WO1992000560A1 (en) * 1990-06-29 1992-01-09 Luminis Pty. Ltd. A generalised systolic array serial floating point adder and accumulator
EP0485690B1 (de) * 1990-11-13 1999-05-26 International Business Machines Corporation Paralleles Assoziativprozessor-System
US5734921A (en) * 1990-11-13 1998-03-31 International Business Machines Corporation Advanced parallel array processor computer package
US5963745A (en) * 1990-11-13 1999-10-05 International Business Machines Corporation APAP I/O programmable router
US5815723A (en) * 1990-11-13 1998-09-29 International Business Machines Corporation Picket autonomy on a SIMD machine
US5588152A (en) * 1990-11-13 1996-12-24 International Business Machines Corporation Advanced parallel processor including advanced support hardware
US5713037A (en) * 1990-11-13 1998-01-27 International Business Machines Corporation Slide bus communication functions for SIMD/MIMD array processor
US5765015A (en) * 1990-11-13 1998-06-09 International Business Machines Corporation Slide network for an array processor
US5963746A (en) * 1990-11-13 1999-10-05 International Business Machines Corporation Fully distributed processing memory element
US5765011A (en) * 1990-11-13 1998-06-09 International Business Machines Corporation Parallel processing system having a synchronous SIMD processing with processing elements emulating SIMD operation using individual instruction streams
US5765012A (en) * 1990-11-13 1998-06-09 International Business Machines Corporation Controller for a SIMD/MIMD array having an instruction sequencer utilizing a canned routine library
US5809292A (en) * 1990-11-13 1998-09-15 International Business Machines Corporation Floating point for simid array machine
US5617577A (en) * 1990-11-13 1997-04-01 International Business Machines Corporation Advanced parallel array processor I/O connection
US5590345A (en) * 1990-11-13 1996-12-31 International Business Machines Corporation Advanced parallel array processor(APAP)
US5630162A (en) * 1990-11-13 1997-05-13 International Business Machines Corporation Array processor dotted communication network based on H-DOTs
US5966528A (en) * 1990-11-13 1999-10-12 International Business Machines Corporation SIMD/MIMD array processor with vector processing
US5794059A (en) * 1990-11-13 1998-08-11 International Business Machines Corporation N-dimensional modified hypercube
US5828894A (en) * 1990-11-13 1998-10-27 International Business Machines Corporation Array processor having grouping of SIMD pickets
US5625836A (en) * 1990-11-13 1997-04-29 International Business Machines Corporation SIMD/MIMD processing memory element (PME)
JPH04242861A (ja) * 1990-12-28 1992-08-31 Sony Corp 内積演算回路
US5594918A (en) * 1991-05-13 1997-01-14 International Business Machines Corporation Parallel computer system providing multi-ported intelligent memory
JP2642039B2 (ja) * 1992-05-22 1997-08-20 インターナショナル・ビジネス・マシーンズ・コーポレイション アレイ・プロセッサ
DE59408784D1 (de) * 1993-08-09 1999-11-04 Siemens Ag Signalverarbeitungseinrichtung
US7212959B1 (en) * 2001-08-08 2007-05-01 Stephen Clark Purcell Method and apparatus for accumulating floating point values
US7099851B2 (en) * 2001-12-13 2006-08-29 Sun Microsystems, Inc. Applying term consistency to an equality constrained interval global optimization problem
US7801939B1 (en) * 2006-01-19 2010-09-21 Everest Michael T Complex and hypercomplex inclusive interval expression evaluations with stable numeric evaluations and precision efficacy testing
RU2609745C2 (ru) * 2014-05-28 2017-02-02 Общество с ограниченной ответственностью "ПАВЛИН Технологии" Способ осуществления операции скалярного умножения произвольного вектора на загружаемый в устройство векторный коэффициент и опционального сложения со скалярным коэффициентом
US9916130B2 (en) 2014-11-03 2018-03-13 Arm Limited Apparatus and method for vector processing
US9703531B2 (en) 2015-11-12 2017-07-11 Arm Limited Multiplication of first and second operands using redundant representation
US9733899B2 (en) 2015-11-12 2017-08-15 Arm Limited Lane position information for processing of vector
US9720646B2 (en) 2015-11-12 2017-08-01 Arm Limited Redundant representation of numeric value using overlap bits
US9928031B2 (en) 2015-11-12 2018-03-27 Arm Limited Overlap propagation operation
US10747501B2 (en) * 2017-08-31 2020-08-18 Qualcomm Incorporated Providing efficient floating-point operations using matrix processors in processor-based systems
US10747502B2 (en) * 2018-09-19 2020-08-18 Xilinx, Inc. Multiply and accumulate circuit

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3871578A (en) * 1972-10-10 1975-03-18 Digital Equipment Corp Data processing system for multiplying and intergerizing floating point numbers
US4054787A (en) * 1975-06-06 1977-10-18 The United States Of America As Represented By The Secretary Of The Navy Apparatus for computing an arithmetically accumulated sequence of numbers
DE2724125A1 (de) * 1976-07-02 1978-01-12 Floating Point Syst Gleitkomma-datenverarbeitungsgeraet
FR2397677A1 (fr) * 1977-07-15 1979-02-09 Honeywell Inf Systems Dispositif d'execution d'operations de calcul en virgule flottante, par memorisation multiple
JPS56129946A (en) * 1980-02-13 1981-10-12 Intel Corp Method for computing numerical value and numerical data processor
US4339657A (en) * 1980-02-06 1982-07-13 International Business Machines Corporation Error logging for automatic apparatus

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3388385A (en) * 1966-05-19 1968-06-11 Hewlett Packard Co Nondestructive round-off display circuit
US3699326A (en) * 1971-05-05 1972-10-17 Honeywell Inf Systems Rounding numbers expressed in 2{40 s complement notation
US4149261A (en) * 1976-03-19 1979-04-10 Canon Kabushiki Kaisha Computer having circuitry for rounding-off insignificant digits
US4135249A (en) * 1977-06-29 1979-01-16 General Electric Company Signed double precision multiplication logic
US4229800A (en) * 1978-12-06 1980-10-21 American Microsystems, Inc. Round off correction logic for modified Booth's algorithm
US4295203A (en) * 1979-11-09 1981-10-13 Honeywell Information Systems Inc. Automatic rounding of floating point operands
JPS56135236A (en) * 1980-03-24 1981-10-22 Casio Comput Co Ltd Numeric data displaying system
DE3066955D1 (en) * 1980-06-24 1984-04-19 Ibm Signal processor computing arrangement and method of operating said arrangement
JPS5776635A (en) * 1980-10-31 1982-05-13 Hitachi Ltd Floating multiplying circuit
US4429370A (en) * 1981-04-23 1984-01-31 Data General Corporation Arithmetic unit for use in a data processing system for computing exponent results and detecting overflow and underflow conditions thereof
US4476537A (en) * 1981-06-11 1984-10-09 Data General Corporation Fixed point and floating point computation units using commonly shared control fields

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3871578A (en) * 1972-10-10 1975-03-18 Digital Equipment Corp Data processing system for multiplying and intergerizing floating point numbers
US4054787A (en) * 1975-06-06 1977-10-18 The United States Of America As Represented By The Secretary Of The Navy Apparatus for computing an arithmetically accumulated sequence of numbers
DE2724125A1 (de) * 1976-07-02 1978-01-12 Floating Point Syst Gleitkomma-datenverarbeitungsgeraet
FR2397677A1 (fr) * 1977-07-15 1979-02-09 Honeywell Inf Systems Dispositif d'execution d'operations de calcul en virgule flottante, par memorisation multiple
US4339657A (en) * 1980-02-06 1982-07-13 International Business Machines Corporation Error logging for automatic apparatus
JPS56129946A (en) * 1980-02-13 1981-10-12 Intel Corp Method for computing numerical value and numerical data processor

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
EU-DS: Large Scale Integration fourth Euromicro symposium, Oct. 17-19, 1978 Munich, North Holland 1978, S. 56-64 *
INTEL 12 1586-001, The 8086 Family User's Manual, Numeric Supplement, July 1980 IEEE Trans. on Computers, July 1977, S. 643-650 *
U.Kulisch, Grundlagen des Numerischen Rechners, B.I. Wissenschafts Verlag, 1976 *
U.Kulisch, W.Miranker, Computer Arithmetic in Theory and Practice, Academic Press. Coonen, J. et. al, A Proposed Standard for Floating-Point Arithmetic, SIGNUM News Letter, Oct. 1979 *
US-Z: IBM Technical Disclosure Bulletin, Vol. 14, No. 10, March 72, S. 2934-2936 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0331789A2 (de) * 1988-02-26 1989-09-13 Siemens Aktiengesellschaft Speicher für eine Rechenanlage, die im Gleitpunktformat oder Festpunktformat dargestellte Zahlen hoch genau verknüpft
EP0331789A3 (de) * 1988-02-26 1991-07-24 Siemens Aktiengesellschaft Speicher für eine Rechenanlage, die im Gleitpunktformat oder Festpunktformat dargestellte Zahlen hoch genau verknüpft

Also Published As

Publication number Publication date
EP0079471B1 (de) 1986-03-19
ATE18703T1 (de) 1986-04-15
CA1187614A (en) 1985-05-21
EP0079471A1 (de) 1983-05-25
US4622650A (en) 1986-11-11
DE3144015C2 (de) 1988-02-04

Similar Documents

Publication Publication Date Title
DE3144015A1 (de) &#34;schaltungsanordnung und verfahren zur bildung von skalarprodukten und summen von gleitkommazahlen mit maximaler genauigkeit&#34;
DE10085322B4 (de) Schaltungsanordnung, Verfahren und Datenverarbeitungs-Einrichtung zum Durchführen einer Ein-Zyklus-Addition oder -Subtraktion und eines Vergleichs bei einer Arithmetik redundanter Form
DE3306084C2 (de)
DE69832985T2 (de) Multiplizier-Akkumulatorschaltungen
DE2900324A1 (de) Mikroprogrammierbare arithmetische fliesskommaeinheit
McKay Asymptotics for 0-1 matrices with prescribed line sums
DE102013213420A1 (de) Modellberechnungseinheit, Steuergerät und Verfahrenzum Berechnen eines datenbasierten Funktionsmodells
DE10124351B4 (de) Verfahren und Vorrichtung zum Verarbeiten zweier Datenoperanden in einem Prozessor
DE102014100108A1 (de) Festkomma-divisionschaltung unter verwendung einer gleitkomma-architektur
CH644461A5 (de) Digitale multipliziereinrichtung.
DE2816711A1 (de) Divisionseinrichtung mit uebertrags- rettungsaddierwerk und nicht ausfuehrender vorausschau
DE2732008C3 (de) Einrichtung zur Reduzierung von Fibonacci-p-Codes auf die Minimalform
DE2830334C2 (de)
DE3434777C2 (de)
DE2207286A1 (de) Verfahren und Vorrichtung zur rechnerischen Behandlung von Zeitangaben
DE102013212840B4 (de) Modellberechnungseinheit und Steuergerät zur Berechnung eines datenbasierten Funktionsmodells mit Daten in verschiedenen Zahlenformaten
DE102013209657A1 (de) FMA-Einheit, insbesondere zur Verwendung in einer Modellberechnungseinheit zur rein hardwarebasierten Berechnung von Funktionsmodellen
DE1222290B (de) Binaere Recheneinrichtung zur Bildung und Akkumulation von Produkten
DE1184122B (de) Addiervorrichtung
DE19614480C2 (de) Addierwerk mit einer Vorermittlung der führenden Nullstellen und Verfahren
DE1934441C3 (de) Befehlswerkgesteuertes Rechenwerk für einen Digitalrechner
EP0416153B1 (de) Verfahren für Datenverarbeitungsanlagen zur Division von, zu Beginn jeweils normalisierten, beliebig langen Operanden und Divisionswerk zur Durchführung des Verfahrens
DE2501985A1 (de) Mit gleitkomma arbeitender rechenmechanismus
DE1234055B (de) Anordnung zur Addition oder Subtraktion
DE19758016C2 (de) Quadratwurzelberechnungsschaltung und Fließkomma-Quadratwurzelberechnungsvorrichtung

Legal Events

Date Code Title Description
OM8 Search report available as to paragraph 43 lit. 1 sentence 1 patent law
8110 Request for examination paragraph 44
D2 Grant after examination
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee