DE1549476A1 - Anordnung zur Ausfuehrung von Divisionen - Google Patents

Anordnung zur Ausfuehrung von Divisionen

Info

Publication number
DE1549476A1
DE1549476A1 DE19671549476 DE1549476A DE1549476A1 DE 1549476 A1 DE1549476 A1 DE 1549476A1 DE 19671549476 DE19671549476 DE 19671549476 DE 1549476 A DE1549476 A DE 1549476A DE 1549476 A1 DE1549476 A1 DE 1549476A1
Authority
DE
Germany
Prior art keywords
adder
divisor
multiplication
multiplier
iteration
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
DE19671549476
Other languages
English (en)
Other versions
DE1549476C3 (de
DE1549476B2 (de
Inventor
Goldschmidt Robert Elliott
Powers Don Michaels
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE1549476A1 publication Critical patent/DE1549476A1/de
Publication of DE1549476B2 publication Critical patent/DE1549476B2/de
Application granted granted Critical
Publication of DE1549476C3 publication Critical patent/DE1549476C3/de
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/52Multiplying; Dividing
    • G06F7/523Multiplying only
    • G06F7/533Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even
    • G06F7/5334Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even by using multiple bit scanning, i.e. by decoding groups of successive multiplier bits in order to select an appropriate precalculated multiple of the multiplicand as a partial product
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/52Multiplying; Dividing
    • G06F7/535Dividing only
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/38Indexing scheme relating to groups G06F7/38 - G06F7/575
    • G06F2207/3804Details
    • G06F2207/386Special constructional features
    • G06F2207/3884Pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/535Indexing scheme relating to groups G06F7/535 - G06F7/5375
    • G06F2207/5355Using iterative approximation not using digit recurrence, e.g. Newton Raphson or Goldschmidt
    • 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
    • G06F7/487Multiplying; Dividing
    • G06F7/4873Dividing

Description

Aktenzeichen der Anmeld er in: Docket 7964 Anordnung zur Ausführung von Divisionen
Die Erfindung betrifft eine Anordnung zur Ausführung von Divisionen durch Rückführung auf Multiplikationen.
Es sind verschiedene schnelle Divisionseinrichtungen bekannt geworden, bei denen die Cuotientensiffern dadurch erzeugt werden, daß in Abhängigkeit vom Dividenden und vom Divisor Divisorvielfache gebildet wer* den, die vom Dividenden subtrahiert werden, sofern dieser ein echter Wert ist, oder zum Dividenden addiert werden, sofern dieser ein komplementärer Wert ist. Das ausgewählte Divisorvielfache und d&&·Vorzeichen des Resultates bestimmen dabei die zugehörigen^.C^otientenaiffern.
ν'"
Hierunter fallen z.B. die bekannten binären Divisionseinrichtungen, die die Wahl der Diviaorvielfachen nach dem Gesichtspunkt durchführen, daß
109808/1591
ORIGINAL
■Neue Unterlagen (Art. 711 Ab8.2 Nr. 1 sau 3 «« **«*·*
die folgende Gubtraktions- oder Addltionsoporation ein Resultat bzw. einen Teildividenden ergeben soll, dessen hoho Bitstellon mehrere aufeinanderfolgende Nullen bzw. Eiusen aufweisen. Für jede dieser hochstelligen Nullen oder Einsen kann eine Stellenvarschiobung und die Einführung einer vorbestimmten Cuotientenziffer in das Puotientenfeld erfolgen, so daß die Anzahl der notwendigen Subtraktion*- bzw. Additionsoperationen reduziert werden kann (Proceedings of the IRE» Januar 1961» Seiten 80 Me 91). Diese Einrichtungen wählen in Abhängigkeit von dem jeweiligen Dividenden- und Divisorwert aus einer gegebenen Anzahl von Divieorvielfachen dasjenige aus, welches bei der nachfolgenden Iterationsoperation ein Maximum an möglichen Stellenverschiebungen gestattet. Die Auswahl des richtigen Divieorvielfachen kann durch Versuchsrechnungen geschehen, indem zugleich mehrere Divisorvielfache vom Dividenden bzw. Teildividenden (« Resultat der vorausgehenden Iterationsoperation) subtrahiert werden oder, wenn dieser ein Komplementärwert ist, zum Dividenden bzw. Teildividenden addiert werden. Von den Resultaten dieser Operation wird das Resultat mit der größton Anzahl möglicher StellenverSchiebungen als neuer Teildividend verwendet. Eine solche Arbeitsweise erfordert einerseits einen erhöhten Rechenwerkaufwand und andererseits zusätzliche Operations seit für die Prüfung, welches der ermittelten Resultate der ge· wünschten Bedingung entspricht. Die Auewahl der Divieorvielfachen kann auch durch Decodierung der Di te teilen des Dividenden bzw, -Teil-
109808/ 1S91 »ad original
Docket 7964
cUvidenden und des Divisor· geschehen. Auch hiermit lot ein erheblicher Einrleistungcaufwnnd verbunden, wenn eine größere Aneahl Operandonctellen erfaßt werden «oll. Außerdem ist auch hler ein fcuiätxlicher Zeitaufwand für dio nach einem vorgegebenen Schema zwischen zwei Iterationen erfolgende Decodiorungsoperation notwendig.
Ganz allgemein ist festzustellen, daß bei den erläuterten und auch bei anderen bokannten Divisionseinrichtungen eine Iterations operation erst dann boginnen kann, wenn das Ergebnis der vorausgehenden Iteration vorliegt und die eventuell notwendigen Zwischenoperationcn, wie B.B. die Bestimmung von Divicorvielfachen, ausgeführt sind. Außerdem ist die Zahl der auszuführenden Iterationen in starkem MaCe von der Jeweiligen Ditkonfiguration des Divisors und Dividenden und von deren Stellenrahl abhängig. Aus diesen Gründen erfordert die Durchführung von Divißionan auch bei Verwendung der relativ komplexen Einrichtungen der vorausgehend erläuterten Art noch immer einen beträchtlichen Zeitaufwand.
Aufgabe vorliegender Erfindung ißt es , eine Anordnung zur Ausführung von Divisionen durch Rückführung auf Multiplikationen anzugeben, welche unter Vermeidung der angegebenen Nachteile mit kürzeren Divisionszeiten als die bekannten Divicionseinrichtungen auskommt. Gemäß der Erfindung wird dies dadurch erreicht, daß ein Kehrwerte©-
109808/1591 BAD original
Docket 7965
iterator vorgesehen ist, der für den Dlvieor einen angenäherten Kehrwert bereitstollt, welcher einer Multiplikationsoinrlchtung zur Multiplikation mit dem Dividenden und dem Divieor zugeführt wird, und daß eine Steuereinrichtung vorgesehen iat» die did Erzeugung eines weiter Angenäherten Kehrwerte· und der darauffolgenden Multiplikationen so lange mit den bei den Multiplikationen de· Divitore entstandenen neuen Zwischendivieoren wiederholt» bi» der Zwischendivieor innerhalb einer vorgegebenen Toleranz an Eine angenähert und der zugeordnete Zwi-•chendividend als Ouotient verfügbar let.
Ein Hauptvorteil dieser Anordnung besteht darin, daß die Anzahl der auszuführenden Iterationen unter Zugrundelegung gleicher Operandenlängen gegenüber den bekannten Divisionseinrichtungen reduziert wird. Da der iterative Operator nicht mehr die Division selbst ist, condern die Multiplikation, ergeben sich in sofern weitere bedeutsame Vorteile, &1· eine überlappte Ausführung der einzelnen Iterationen möglich lot und eine bessere Ausnutzung der in den meisten Fällen bereite vorhandenen Multiplikationeeinrichlung erzielt werden kann, wodurch sich die EinrichtungeUoBlen verringern lassen.
Weitere vorteilhafte Ausgestaltungen der Erfindung elnd aus den Ansprüchen zu ersehen. Nachfolgend ist ein Ausführungebeieplel der Erfindung an Hand von Zeichnungen erläutert. Es zeigen:
BAD
109808/1591
Docket 7965
Fig. 1: ein Blockschaltbild einer Additioneeinrlchtung, wie sie im
dargestellten Aueführungsbeispiel der Erfindung verwendbar ist,
Fig. 2: ein Blockechaltbild der erfindung&gcmä£e& Anordnung« die
alo zur Durchführung von Multiplikationen und Divisionen geeignete Gleitkomma-Recheneinheit auagebildet ist,
Fig. 3; ein Zeitdiagr&mm £üt die verschiedenen Steuerimpulse sur Betätigung der Additioaooinrichtung nach Fig. 1, Fig. 4: eine echematisclie Darstellung der während aufeinanderfolgen
der Multiplikationeiterationen zu untersuchender Bitgruppen dee Multiplikators» die eine Erzeugung von Multiplikandenvielfachen steuern, welche der Additionseinrichtung von Fig. 1 zugeführt werden,
Fig. 5: eine tabellarische Darstellung der Eingänge und der Ausgänge
eines Decodierer?, um dessen Wirkungsweise bei der Erzeugung von Multipiikandenvielfachon zu erläutern,
Fig. 6: ein Schaltbild einer Taktgebereinrichtung· die zur Steuerung
der Additionseinrichtung von Fig. 1 verwendbar ist,
109808/1591 BA0 original
Docket 7963
.*. 15A9A76
Fig. 7: eine ticbematlsche Darstellung der Wirkun^sweiso der Addi-
tioneeinrichtung von Flg. 1 bei der Zusammenfaacung und Akkumulation von Teilprodukten,
Fig. 8: ein Operatlonsflundiagramm für die Ausführung von Divisio
nen gemäß der Erfindung,
Fig. 9: eine tabellarische Darstellung der Dlviaorformate und deren Kehrwerte, wie sie in der Anordnung von Flg. ?. auftreten,
Fig. 10: eine tabellarische Darstellung zur Erläuterung der Stellenverschiebungen, die mit den Operanden und Teilresultaten während der einseinen Dlviaionsiterationen in der Anordnung von Fig. 2 ausgeführt werden, und
Fig. 11: ein Zeitdiagramm zur Erläuterung der Wirkungsweise der Anordnung von Fig. 2.
Bocket 7965
BAD ORIGINAL
109808/1591
15Α9Λ76
Die in Fig. 1 in Form eines vereinfachten Blockschaltbildes dargestellte Einrichtung umfaßt Eingabemittel ?0, eine Addiererpyramide 21, eine Addierer schleife 22 und ein Ubertragsvoraußcchau-Addierwerk 23. Obgleich da« dargestellte Ausführungsbeicpiel eine Einrichtung zur Durchführung schneller Multiplikationen und Divisionen Ut) können die Merkmale vorliegender Erfindung jetloch auch -zur beliebigen Addition von Operanden angewendet werden, unabhängig vom Zusammenhang dieser Additionen mit anderen Ilechenoperationen. UIq Erläuterung der Fig. 1 beschrankt sich daher darauf, in welcher Weise mit Hilfe der dargestelltem Einrichtung Additionen durchgeführt werden. Erst an. Hand Fig. 2 wird die Anwendung des Addierwerket gcmäP Fig. 1 sur Durchführung von Multiplikationen erläutert. Die CperanJcn-3-Ungabeivjittel 20 von Fig. 1 bestehen auB einer Anzahl Register 24 bis ?9. Jedes dieser R.egister enthält mehrere binSre Verriegelungoschaltungen, beispielsweise Flipilope, zur Speicherung einer Anzahl binärer Operandenbits, die in diese Register eingegeben werden. Wie in Verbindung mit Fig. 2 detaillierter erläutert wird, umfassen die Eingabemittel ferner elno MultiplikanJenquclle 30 und eine Multiplikator quelle 31 sowie ein Wultiplikator-Decodior-Register 32, dae aufeinanderfolgende Sätae von Multlplikatorbits empfängt, iun aufeinanderfolpende Auswahl signale z\x erBeagen, die eur Übertragung ausgewählter Vielfacher des Multiplikanden in die verschiedenen Register 24 bis 29 dienen.
109808/1591 bad
Docket 7?64
.,. 1549A76
Die Addiererpyramide 21 enthält eine Anzahl übe rtrageaufe chub Addierer 40 blo 44, die in mehreren Stufen angeordnet ßind. Dio eingangsieitige Stufe der Pyramide besteht aue den Ubertragaauf-β chub -Addierern 40 und 41, die in Fig. 1 zusätzlich durch A und B unterschieden sind. Ein weiterer tJbertragaaufachub-Addicrer 42, der mit C bezeichnet ist, und ein Register 43 dient alo Zwischenstufe. Die ausgangsseitige Stufe der Addiererpyramide besteht aus dem Ubertragsaufechub-Addierer 40« der mit D bezeichnet ist.
Oi* Funktion der Addiererpyramide 21 besteht darin, an ihrem Eingang Signalgruppen xu empfangen, von denen jede aus allen in den, Registern 24 bis 29 gespeicherten Operandenbits besteht. Der Ausgang des Addierers 21 liefert zwei Gruppen von Signalen, von denen die eine die Summensignale und die andere die Ubertragssignale darstellt. Beide Gruppen können In einem Über trage verarbeitenden Addierwerk xu einer Endsumme der der Pyramide 21 zugeführten Operanden susaraxaengefafit werden.
Die Addierer schleife besteht aus zwei Stufen, von denen jede einen Ubertragsaufschub-Addierer enthalt. Die erste Stufe besteht aue dem Ubertragsaufschub-Addierer 50, der außerdem mit E bezeichnet ist» und einem Register 51. Die zweite Stufe besteht aus dem mit F bezeichneten Ubertrageaufschub-Addierer 32. Die Addiererschleife 17.
BAD ORIGINAL
109808/1591
Docket 7964
empfängt nacheinander Ausgange signale von der Addiererpyramide 21 jeweils zu der Zeit, wenn durch den Ubertragaauf schub-Addier rer 52 auf seinen Ausgängen S und C je eine Signalgruppe erzeugt wird. Es gelangen somit jeweils gleichzeitig vier Signalgruppen aum Eingang der Addierers chleif β 22. Zwei Gruppen liefert hiervon der Übertrageaufschub-Addierer 44 und die übrigen zwei Gruppen liefert der Übertragsaufschub-Addieror 52. Die Rate, mit welcher die Ausgangs signale vom Addierer 44 erzeugt werden« entspricht der Kate» mit welcher di· Addierer schleife 22 arbeitet. Hierdurch ist sichergestellt, daß die Aus gang ε signale am Addierer 52 jeweils gleichzeitig mit den Aus gange Signalen des Addierers 44 auftreten.
Der Endsummenausgang der Additions einrichtung von Fig. 1 besteht aus einer einzelnen Gruppe Äuegangssignalleitungen des Übertragsvorauoflchau-Addierers 23. Der Addierer 23 empfängt Eingangscignaie entweder vom Übörtragaaufschub-Addierer 52 oder vom Übertragsaufe chub-Addierer 44. Wenn die Additions einrichtung von Fig. 1 zur Erzeugung einer Endsumme aus einer Vielzahl von Operanden verwendet wird, die in den Registern 24 bis 29 enthalten sind, empfängt der Addierer 23 lediglich die Aus gang ο signale des Ubertragsaufschub-Addlerers 44. Wenn jedoch die Additionseinrichtung tür Akkumulation einer Anzahl Operanden verwendet wird, die eu aufeinanderfolgenden Zeiten zu den Registern 24 bis 29 geleitet
10 9808/1591 BAD
Docket 7964
werden« wird die Addierer schleife 22 wirksam. Der übert ragavorausschau-Addierer 23 empfängt in diesem Falle die Ausgangssignale des Übertragesufschub-Addierors 52, wenn an doesen Auegang Signalgruppen erscheinen, die die Endsumme der zugeführten Operanden darstellen.
Jeder der in Fig. 1 dargestellten Übertragsaufschub-Addierer ist •in Paralleladdierwerk, in dem jede Stelle drei Eingangeleitungen aufweist» von denen jede mit einem Her Register 24 bis 29 verbunden ist« Der logische Aufbau einer Übertragsaufschub-Addierer-•teile ist so getroffen, da:: au· den binären Eins- oder Null-Signalen von drei verschiedenen Operanden zwei Auegangssi nalo gebildet werden, die die binäre Summe dor Eins-Eingangssignale und einen bei der Bildung dieser Summe entstandenen übertrag darstellen. Ein Eins-Ausgangs signal·, wird erzeugt, wenn eins oder drei der Eingangesignale den Binärwert Eins haben, und ein Übertrags signal wird erzeugt, wenn zwei oder drei der sugeführten Operanden den Binärwort Eins haben. In Fig. 1 sind die Summen-Aus· gangaleitungen der Übertragtaufachub-Addieror mit S und die übertragsausgangsleitungen mit C bezeichnet. Ό^τ Addierer 40 erzeugt •omit au· Operanden« die von den Registern 24f 25 und 26 züge» führt werden, eine Summcnsignalgruppe auf dem Ausgang S und •ino Übertragssignalgruppe auf dem Ausgang C. Zm Gegensatz hier-
109808/1591
Docket 7964 ßAD
su würde ein übertragoverarbeitendes Addierwerk» wie beispielsweise der Addierer 23» die drei eugeführten Operandengruppen zu einer einsigen, die Summe der drei Operanden darstellenden EIgnalgruppe verknüpfen.
In jeder Stufe der Pyramide Zl eind eoviele Übertrageaufschub-Addle· rer vorzusehen, um all« S&tze von je drei Gruppen Eingangssignalleitungen zu erfassen. So sind s. B. in der ersten Stufe der Pyramide 21 zwei Ubertrageaufechub-Addierer, nämlich 40 und 41 vorgesehen« urn die sechs Gruppen Eingang·signalleitungen von den Registern 24 bis 29 unterzubringen. In bestimmten der Pyramidenstufen können einzelne Gruppen der Aus gangs signale von der vorausgehenden Addicrerutufe nicht in die Eingangssignale der betreffenden Addiererstufe einbezogen werden., In diesem Fall werden diejenigen Signale, dlo nicht unmittelbar weitervcrarbeltet worden können, einem Register zugeführt. Jede Wcrtstelle der Ubertragsauf-
auierdem
Bchub-Addierer dieser Pyramldenstufen ist / mit einer steuerbaren VorriegelungnschalUmg versehen. Dies trifft z. B. für den UbertragcaufGchub-Addinrer 42 r.u, in dem Jede V/ertstelle eine derartige Verriegelungautufe aufwoiat. Durcli das Vorhandensein der Verriegelung«stufen kann ein neuer Operandonsatr bereite innerhalb der Zeit den Registern 24 Mb 29 zugeführt werden, die zur Erzeugung einer Summe aus dem bis daher in den Registern bs-
109808/1591 BAD
Docket 7964
findlichen Operandeneats notwendig Ut. DU Verriegelungsschaltungen können durch «in Steuersignal eur Aufnahme der im betreffenden Obertragsaufschub-Addierer gebildeten Teilsummensignale wirksam gemacht werden* Nachdem eine Einspei ehe rung erfolgt ist» liefern die Verriegelungsschaltungen entsprechend ihrem Inhalt Ausgange signale unabhängig davon« ob sich die Eingangssignal« des betreffenden Ubertrageaufschub-Addierers Indern oder nicht. Ein verändertes Ausgangssignal wird «rst dann erzeugt, wenn «in neues Steuersignal auftritt» das «inen neuen SaU Auegangssignal· des betreffenden Über« tragsauf schub «Addierers in die Verriegelungsschaltungen einspeichert. Durch dl« Verrlegelungsschaltungen wird daher der Ausgange signal» Kustand «in·· Ubertragsaufschub-Addierers im Zeitintervall «wischen awe! aufeinanderfolgenden Steuersignalen der Verriegelunge schaltungen auf r« chterhalten.
Ia Fig« 2 Ist «in« Gleitkommarecheneinheit «ines Datenverarbeitung« system· dargestellt» die «ich eur Multiplikation oder Division von GUitkommaoperanden eignet« und in d«r das in Fig. 1 angegebene Addierwerk Verwendung findet. Die zu multiplizierenden oder zu dividierenden Gleitkommaoperanden weisen je 64 Binär ziffern auf. DI« höchst« Wertetelle bsw. di« Bitpoeition Null der Gleitkomma zahlen dient »ur Darstellung de« Vorzeichens. Di« Fositlonen 1 bis 7 .isind dem Exponentenwert zur Basis 16 zugeordnet (hexa-
10 9 8 0 8/1591 ßAD or/GjNal
Docket 7964
·■ r» -
1S
dezimale Darstellung) und die Positionen 8 bis 63 stellen die Man· tiese dor betreuenden Gleitkommazahl dar. Die Mantisse besteht aus 14 hexadezimalen Ziffern, von denen jede aus vier Binärsiffern besteht. Das Komma befindet sich «wischen der siebten und der ach· tön Binarstelle. Wie aus der Gleitkomma »Rechentechnik allgemein bekannt let· werden nur die Mantissen einer Gleitkommazahl multi·* plieiert oder dividiert» während die Exponentenwert· addiert oder subtrahiert werden, um den Exponentenwert des Resultates zu er« halten. Die Aufgabe der in Fig. 2 dargestellten Einrichttmg besteht darin« zwei Binä ν zahlen, von denen jede 56 Bits enthalt und die Mantisse einer Gleitkommazahl darstellt, miteinander zu multiplizieren.
Im Blockdiagramm von Fig. 2 warden für die Erläuterung von Teilen, die bereits in Verbindung mit Fig» 1 beschrieben worden sind» die dort verwendeten Bezugszeichen benutist. Dementsprechend sind zwei Register 30 und 31 vorgesehen, in die durch eine Befehlsteuereinheit eines Datenverarbeitungssysteme zwei Multiplikatoren und zwei Multiplikanden eingegeben werden. Jedes der Register 30 und 31 enthalt 64 Registerstollen, von denen nur die Stellen 8 bis 63 bei der Ausfuhrung von Multiplikationen oder Divisionen von Gleitkommamantissen benutzt werden. In Fig. 2 ist ferner der MultipUkationsde codierer 32, die Register 24 bis 29, die Addle-
10 9 8 0 8/1591 BA0 original
Docket 7964
rerpyramide 21, die Addiererschleife 22 und der übertrageverarbeitende Addierer 23 dargestellt.
' Zusätzlich umfaßt die Einrichtung gemäß Fig. 2 sechs Gleitkomma· puffer 60 und vier Gleitkommarogister 61. Die Gleitkomraapuffer empfangen Gleitkommaoperanden über eine Speicherausgange-Sammelleitung 62. Die in den Puffern 60 gespeicherten Operanden kennen über eine Sammelleitung 63 oder eine Sammelleitung 64 entnommen werden. Die Entnahme aus den Registern 61 erfolgt fiber eine weitere Sammelleitung 65. Die auf den Sammelleitungen 63 oder 65 erscheinenden Daten werden eu einem Addierwerk 66 Obertragen, da· in Fig. Z lediglich eu dem Zweck dargestellt ist, um zu zeigen, dal2 Gleitkommazahlen auch addiert oder subtrahiert werden kennen« Der Ausgang de· Addierwerkes 66 ist an die Sammelleitung 64 angeschlossen* Das Multiplikandenregister 30 kann Daten von den Sammelleitungen 63 oder 65 empfangen, wahrend das MuI* tiplikatorregister 31 Daten von der Sammelleitung 65 oder von der Sammelleitung 64 empfängt.
Wie vorausgehend erläutert, ist es notwendig, bei der Multiplikation oder Division von Gleitkommazahlen die Exponentenwerte su addieren oder su subtrahieren. Für diesen Zweck ist ein Exponentenaddierer 67 vorgesehen, der die entsprechende Exponenten*
109808/1591 Docket 7964
— -
1S
addition- oder Subtraktion ausfahrt. Der Ausgang dieses Addierers ist mit dem Exponententeil der Register 30 oder Sl verbunden. Außerdem ist es bei Gleitkommaoperationen üblicherweise notwendig* Normalislerungsverachiebungen durchzuführen. FUr die Zwecke vorliegender Erfindung wird angenommen, daß die Mantissen der tu verarbeitenden Gleitkommacahlen bereite normalisiert sind. Bei Multiplikationen muJl die höchste Stelle der Gleitkommaoperanden eine binäre Eins enthalten. Die In die Register 30 oder 31 eingegebenen Operanden» die nicht eine binäre Eins In ihrer höchsten Ziffernetelle aufweisen, werden in der Weise behandelt, daÄ die Mantissen aus dieeen Registern su einer Stellenver schiebe-Schaltung 68 fibertragen werden, welche diese WeHe, beginnend mit der höchsten Wertstelle au£h von NuU verschiedene Ziffern abtastet, um eine Verschiebung der Mantissen nach links su bewirken, so daD stets eine binäre Eins in der höchsten Stelle des xu verarbeitenden Menüeeenwertea steht. Die Ansah! der hierfür notwendigen Stelienverschiebungen wird in einem Schieberegister 69 festgehalten,, welches mit dem Exponentenaddierer 67 verbunden ist. Die Ausgangs signale des Schieberegisters 69 dienen *ur Beeinflussung des Resultates der Exponentenaddition brw. -subtraktion, um die Zahl der für eine Normalisierung erforderlichen Mantissen-SbUenverschiebungen bei dieser Resultatbildung zu erfassen.
109808/1591 0 0r\G»NAL
Docket 7964
In Fig. 2 ist ferner «Ine Multiplikator-Eingang store erhaltung 70 dargestellt« Wie nachfolgend erläutert wird, sind fünf Iterationen not· wendig, um eine 56 Bit lange Multiplikanden-Mantisse mit einer ebenso langen Multiplikator-Mantisse iu rnultiplltieren. In jeder Iteration werden 13 Bit· de· Multiplikator· geprüft und zur Steuerung dot MuI-tiplikatordecodlercrs 32 verwendet. Bei der ersten Iteration werden die Multiplikator «Eingangstore 70 zur übertragung der ersten 13 Bit· de· Multiplikator· sum Decodierer 32 gesteuert. Der Multiplikator kann dabei von der Sammelleitung 64» der Sammelleitung oder von der StellenverSchiebung·-Schaltung 68 zugeführt werden und zwar *ur gleichen Zeit, cu der die Mantisse in eines der Ke-, gister 31 eingegeben wird. Von diesem Zeitpunkt an werden über die Eingangetore 70 nacheinander Gruppen von 13 Multiplikatorbit· rum Decoder 32 übertragen. Die gruppenweise Steie rung von Torschaltungen nach Art der Torschaltungen 70 ist fur sich bekannt. Für Jede Iteration der Multlplikatbnsoporation erzeugt der Multi plikatordecodlerer 32 eine Gruppe Signale, die an den Verriegelung· schaltungen bswr Registern 24 bis 29 wirksam werden, um den Multiplikanden vom Register 30 stellenverschoben eu den Re* gistern 24 bis 29 su übertragen, wobei der Betrag der Stellenverschiebung durch das vom Decodierer 32 gelieferte Vielfache bestimmt wird. In Fig. 2 sind für die Register 24 bis 29 ve rechteden· Ausginge Ml bis M6 dargestellt, die den ein·- bis sechsfa-
109808/1591 8AD original
Docket 7964
chen Multiplikanden eugeordnet sind. Diese Leitungen sind mit dem Eingang der Addiererpyramide 21 verbunden.
Jeder der Übertrag saufe chub-Addier er in der Addiererpyramide 21 und der Addiererschleife 22 ist in der Lage, Operanden mit 71 Bitstellen parallel au verarbeiten. Die einseinen Stellen der übertragsauf schub-Addierer sind, beginnend mit dem hochstelligen Ende durch P3, P2, Pl, PO, Pl ... 67 bezeichnet. Obgleich die Mantissenteile der Gleitkommasahlen nur 56 Bitstellen aufweisen, kann der Decodierer 32 eine Verschiebung des Multiplikanden bei der Eingabe in die Addiererpyramide 21 um 11 Ziffernetellen nach rechts erfordern. Ebenso können unter bestimmten Bedingungen die in die Register 24 bis 29 eingegebenen Multiplikandenvielfachen in komplementierter Form dargestellt sein, wodurch eine Verschiebung der Vorseichonstelle in höherstelligere Positionen erforderlich ist und die Möglichkeit der Abnahme von Überträgen von der höchsten Ziffernstelle de·
sein
Addierers vorgesehen TmuA. Aus diesem Grunde sind die susltslichen
hochstelligen Zlffernstellen P3, P2 und Pl vorgesehen.
Die in Fig. 2 dargestellte Einrichtung weist ferner einen Überlaufaddierer 71 auf, der die nachfolgend erläuterte Funktion hat. Die Multiplikator-Eingangstore 70 übertragen 13 Multiplikator bits sum Decodierer 32, beginnend mit der niedrigsten Wertetelle der Man-
109808/15 91 »AD
Docket 7964
» IT ·
ti···. Danach werden aufeinanderfolgende Gruppen von je 13 Bit·, von denen jede gegenüber der vorausgehenden um 12 Bit· in Pachtung der höheren Stellen versetst Ut, in der gleichen Weise sum Decodierer 32 übertragen, ·ο daß der Multiplikator nacheinander in fünf Gruppen au je 12 Bit· geprüft wird. Analog sur Papier- und •Bleistift-Multiplikation werden aufeinanderfolgende Teilprodukte in besug auf die vorausgehend eraeugten Teilprodukt· in ihrer Stellenordnung verschoben. Xn der dargestellten Multiplikaüoneeinrichtung werden aufeinanderfolgend« Teilprodukt«, die am Ausgang der Addiererschleife 22 erscheinen, um 12 Bitstellen nach recht· ver-•choben, bevor sie sum Eingang der Addiererscbleiie 22 curückgeführt werden. Die 12 bintren Bits der swei Au·gangssignal»Gruppen der Addiererechleif« 22, die nach rechts »u verschieben sind, werden parallel sum Uberlaufaddierer 71 geführt, der die Aufgabe hat, am Ende der fünf Iterationen su bestimmten, ob ein Übertrag bei der Addition der nach recht· verschobenen Bits erseugt wird oder nicht. Wenn die wahrend der fünf Iterationen nach recht· verschobenen Bits im Addierer 71 einen Übertrag ereeugen, gelangt dieser üb«r ein« Leitung 72. sur niedrigsten Bitstell· de· ParaUeladdierers 23« Bei einer normalen Multiplikation, wenn ein Multiplikator von 96 Bits und ein Multiplikand von 56 Bit· miteinander multipliziert werden, entsteht ein Endprodukt mit einer Lange von 112 Bit·. Von diesen Stellen werden im dargestellten Beispiel nur die 56 höher-
109808/1591 BAD
Docket 7964
•teiligen Bit· verwendet. Die 56 Bit· de· niedrigstelligen Zahienteiles werden dem Addierer 71 zugeführt, um su bestimmen, ob au· diesem Teil de· Endprodukte· ein Übertrag in den durch die 56 hochstelligen Bit· ausgedrücken Teil de· Produkt·· vorliegt.
Nachdem da· Endprodukt ermittelt worden ist* gelangt es vom Addierer 23 au einem Resultatregister 73. Ein Decodierer 74 dient während der Er Beugung des Endprodukt·· durch den Addierer 23 zur Abtastung der höchsten vier Bitetellen de· Endprodukt··. Wenn in diesen vier Bitstellen eine Eins auftritt« liegt eine normalisierte Resultatmantieee vor. Wenn jedoch der Decodierer 74 feststellt, dafl die höchsten vier Bitstellen keine Untre Ein· enthalten, wird eine Stellenverscbiebeschal· tung 75 wirksam gemacht, die eine Stellenverschiebung des Resultates um vier Binärstellen oder eine hexadezimale Ziffer nach links bewirkt. Die Stellenverschiebung·-Schaltung 75 ist su diesem Zweck mit dem Ausgang des Resultatregisters 73 verbunden. An den Aus gang der Stellenverschiebung·»Schaltung 75 ist die Sammelleitung 64 angeschlossen, die BU den Gleitkommaregistern 61 fahrt, welche sur Aufnahme des Endresultates der Multiplikation dienen.
Die in Fig. 2 dargestellte Anordnung, die im wesentlichen eine Multiplikationseinrichtung ist, eignet sich auch für die Durchführung von
dass Cleitkommadivisionen. Die· geschieht« dadurclyttie Divisionen auf MuI*
109808/1591
BAD ORIG'NAL Docket 7964
IO
tiplikationen zurückgeführt werden» indem ein Kehrwert für den Di» vif or bestimmt wird, der daraufhin al· Multiplikator in Verbindung mit dem al· Multiplikand verwendeten Dividendm eur Bestimmung
eine· Cuotientenwerte· durch Ausführung einer Multiplikation dient* Wahrend einer Multiplikation wird eine Multiplikator-Eingangetorschaltung 76 verwendet« um die «u verarbeitenden« die DivUor-Kehrwerte darstellenden Zahlen cum Multiplikator-Decoder 32 zu übertragen. Ebenso wie bei der Ausführung von Multiplikationen erfordern Divisionen eine Ansahl von Iterationen« innerhalb der Ausgangssigna-Ie der Addiererpyramide Zl dem Faralleladdierer 23 direkt zugeführt werden· Das Resultat aus dem Addierer 23 wird über das Resultatregieter 73 ar SteUenverschiebungs-Schaltung 77 eurückgeführt ru dem Zwick» die Eingabe eines Multiplikanden in die Register 24 bis 29 stt steuern. Die Stellenverschiebung·-Schaltung 77 liefert Ausgangssignale su einer Oder-Schaltung 76» Diese Oder-Schaltung wird wirksam« um den Registern 24 bis 29 wahrend einer Division •inen Multiplikanden ausuführen. Sie dient; jedoch auch sur übertragung eines Multiplikanden aus den Registern 30 oder eines Multiplikanden aus der Stellenverschiebe-Schaltung 79 in die Register 24 bis 29· Während der Ausführung von Divisionen genügt es nicht« daO die höchsten vier Bittteilen des Divisors eine binäre Eins aufweisen» sondern es ist erforderlich« daß die höchste Bitstelle innerhalb dieser Bitgruppe des Divisors eine binäre Eins enthält. Die
10 9 8 0 8/1591 sad original
Docket 7961
Stellenverschiabungs-Schaltung 79 iet in der Lage» eine derartige Verschiebung dee Mantissenwertes eu bewirken» daß eine binäre Ein· in dieser höchsten binären Bitsteile der Mantisse enthalten ist. Die Anordnung nach Fig. Z weist sum Zwecke der Ausführung von Divisionen einen Tabellenspeicher 80 auf, der während der ersten Iteration einer Divisionsoperation verwendet .wird» um einen angenäherten Kehrwert für den Gleitkommadivisor mir Verfügung »u stellen. Der Ausgang dieses Tabellenspeicher· ist ttber die Eingangstorschaltung 76 mit dem Multiplikator-Decodierer 32 verbunden*
In Fig. 3 ist ein Zeitdiagramm dargestellt» da» die Beziehung «wischen den verschiedenen Taktimpulsen aur Steuerung der Einrichtung^ email Fig. 2 seigt. Während der ersten Iteration einer Multiplikation wird der Multiplikator ttber die SteUenverschiebe-Schaltung 68 geführt und durch einen Impuls "Registereingabe11 in da· Multiplikatorregister 31 surttckttbertragen· Zur gleichen Zeit tritt ein Impuls "Multiplikandeingabe"'auf» wodurch der 56 Bitstellen lange Multiplikand aus dem Register 30 in die Register 24 bis 29 übertragen wird, Außerdem wird ein Multiplikator-Decodier· Eingabe «Impuls für die Iteration 1 erseugt. Dieser Impuls bringt die Bits der niedrigsten Werteteilengruppe des Multiplikators sum Multiplikator-Decodierer 32» worin si· festgehalten werden« Nach einer gewissen Verengerung, die von der Arbeitsgeschwindigkeit
BAD ORIGINAL
10980871591 Docket 7964
de· Decodierer· 32 abh&ngt, wird ein &iultiplikanden-Vielfache*- Eingabe-Impuls erzeugt, der da· onttprechende Multiplikandenvielfache in die zugeordneten Register 24 bi· 29 eingibt. Unmittelbar danach gelangen die in die Register 24 bi· 29 eingegebenen Daten •um Eingang der Addiererpyramide 21. Dieser Impuls wird am Eingang der Ubertrageauischub-Addlerer 41 und 40 (Fig. 1) wirk· •am. Nach einer geeigneten Verzögerungezeit, die von der Arbeitsgeschwindigkeit dieser Addierer abhingt» wird ein Impul· "C-Addierer »Eingabe" erzeugt» durch den die Resultate au· den Addierern 41 und 40 in den Ubertragsaufschub-Addierer 42 und da· Register 41 eingegeben werden. Die Summen und Übertrags signal· des Addierers 42 werden in den diesem Addierer zugeordneten Verriegelung·- schaltungen festgehalten und gelangen zu dem Ubertragaufs chub-Addierer 44« der zwei Gruppen von Ausgangssignalen (C und S) der Pyramide 21 erxeugt. Diese Signale stellen die Summe und die Ubertrlge der wihrend der ersten Iteration angefahrten Operanden dar. Nach einer geeigneten Verzögerung» die von der Arbeitsgeschwini· dlgkeit de· Addierers 44 abhingt» wird ein E-Addierer«Eingabe -Impul· erzeugt» der den Addierer 50 «ad da· Register 51 zur Abgabe von Ausgangs Signalen aa den nachgeachalteten übertragsauf· chub· Addierer 52 konditioniert. Nachdem der Addierer 50 «eine Ausgangesignale erzeugt hat, wird ein F-Addierer<-£ingabe-Impuls erzeugt, der die Eingabe der betreffenden Signale in den Addierer 52 auslöst»
8AD ORIGINAL
109808/1591 Docket 7964
Wie aus ?lg. 3 su ersehen let, kann der Multiplikator-De codierer 32 bereits zu der Zeit, wenn die Multiplikanden-Vielfachen in die Register 24 bis 29 eingegeben werden» die Operanden der «weiten Iteration empfangen. Ebenso können wShrond der Eingabe der Operanden der ereten Iteration in den Addierer 42 bereits die Register 24 bis 29 entsprechend den Operanden der streiten Iteration einge· stellt werden. Eine derartige überlappte Arbeitsweise ist möglich, da in dem Datenfluf! des Addierwerkes gemäß Fig. 1 verschieden· Verriegolungsschaltungen angeordnet sind, die aus dem Multiplikator-Deeodiercr 32, den Registern 24 bis 29» dem U be rt ragsaufschub-Addierer 42 mit dom Register 43« dem Uberlragsaufschub-Addierer 50 mit dem Register 51 und dem Ubertragsauiechub-Addie« rer 52 bestehen. Durch diese Verriegelungspunkte ist es möglich» dan sich die Eingabesignale eines Schaltungsteiles bereits Indern * können, wenn die Resultate dieses Schaltungsteiles in den ihm zu* geordneten Verriegelung»-Schaltungen eingestellt sind und der nachfolgende Schaltungeteil diese Signale empfangen kann. Wie aus Fig. 3 ersichtlich ist» werden vier Sätae -Multiplikatorbits «um Decodierer 32 übertragen, bevor das erste Teilprodukt im Ubertr&geaufschub-Addierer 52 erzeugt wird.
BAD ORIGINAL D.cket7964 109808/1591
IH
Au« dem übrigen Teil von Fig. 3 i«t leicht zu erkennen, daß die fünf Gruppen der Multiplikatorbit β vom Decodierer 32 im wesentlichen innerhalb der Zeit geprüft und decodiert werden, Inder dae
Eweite Teilprodukt au· dem »weiten Sats der zugeführton Cperandenbits erzeugt wird. Die Ziffern 0 bi· 4 im oberen Teil von Fig. 3 stellen die Maschinenzyklen dar und zeigen, daß eine vollständige Multiplikation swoier 56 Bit langer Binärzahlen in vier Ma·chi· nensyklen ausgeführt werden kann. Wie nachfolgend noch gezeigt wird, bestellen die Taktgeberschaltungen zur Aueführung der Multiplikation aus einer relativ einfachen Schaltung zur Erzeugung von fünf Eingabeimpulsen für den Multiplikator-Decodierer 32, wobei aus diesen Impulsen durch entsprechende Verzögerung die Eingabeimpulse für die im Datenfluß nachfolgenden Verriegehmgeechaltungen abgeleitet werden.
In Fig. 4 ist ein 56 Bitstellen umfassender Multiplikator dargestellt, der in Gruppen zu Je 13 Bits unterteilt ist. Die Gruppen sind so gewählt, daß sie sich jeweils um eine binäre Bitstelle überlappen. Die letzte Iteration bzw. Iteration 5 bezieht sich auf die höchste ZiffernpoBition der Gleitkommazahl. Hierbei soll angenommen werden, daß in der höchsten Bitstelle des Multiplikators eine binäre Null enthalten ist. Die Operation beginnt am linken Ende des Multiplikators und schreitet in Gruppen von 13 binären Bits mit einer
109808/1591
Docket 7964
- ' 15-49A76
Überlappung von Jo einem Bit nach Unkt vorwärts. Ee ist ferner angenommen worden, da/) die niedrigetelligen Multiplikatorbite, die während der ersten Iteration an der Erzeugung dee Vielfachen Ml beteiligt find, binäre Nullen sind, und daß an der Bildung von M2 nur ein einzelnes möglicherweise von Null abweichende« Bit beteiligt lot. Die Zahlen 1 bis 14 stellen die 14 hexadezimalen Ziffern des Multiplikator β dar.
Da die Mantisse einer Gleitkommazahl im allgemeinen ein Wert ist» der kleiner als 1 igt, ergibt eine Multiplikation sweier derartiger Mantissen ale Resultat eine kleinere Mantisse. Ebenso wird ein Multiplikand« der mit de» niedrigsten Stellen biw. dem am Äußer* eten rechte stehenden Bit des Multiplikators multipliziert wird, praktisch nach rechte verschoben mit dem Effekt» daß eine Divi-
56
»lon des Multiplikanden durch 2 bewirkt wird. Wie vorausgehend erwähnt, werden Jedoch die am Ausgang der Addierer schleife 22 erscheinenden Teilprodukte um 12 Bitstellen nach rechts verschoben entsprechend den 12 Bits des Multiplikators, die innerhalb einer Iteration verarbeitet werden, so dart das Endprodukt einer Multiplikation einer Mantisse mit einer anderen Mantisse in der richtigen Weise erzeugt wird.
Ih Fig. 4 sind die während der Iteration 3 Jsu prüfenden Multipli-
109808/1591
BAD ORIGINAL
Docket 7964
katoraitt im einzelnen angegeben. Während der Iteration 3 werden die Multiplikatorbit· 24 bit 36 sum Decodierer 32 abertragen. Jeweils einet der Multiplikand en-Vielfachen Ml bis M6, die an dio Register 24 bis 29 angelegt werden, wird durch Prüfung drslor Multiplikatorbit σ ausgewählt. Hierbei ist da· höchste Dit einer Dreiergruppe gleichseitig das niedrigste Bit der nichethöheren Dreiergruppe der Multiplikatbrbits.
Der Untersuchung der Dreier-Bitgruppen liegt folgende Überlegung su Grunde: Eine ganze Zahl kann bekanntlich in einem beliebigen 1 Zahlensystem durch die Summe ihrer Stellenwerte ausgedrückt werden. Z.B. kann VXt die Sesimalo Zahl 112 der binäre Auedruck 2 4-2+2 geschrieben werden (binär 111000), worin die drei höchsten Binärstellen eine Kette von aufeinanderfolgenden Einsen bilden. Diese Kette ISIt sich in vereinfachter Form durch die Differenz 2-2 ausdrucken (binär: 10000000 - 10000 * 111000). Hieraus folgt, daß bei Auftreten einer Kette binärer Einsen in einem Multiplikator an Stelle einer Addition des Multiplikanden far jede dieser Einsen eine Subtraktion far die am weitesten rechts stehende Eins und eine Addition für die am weitesten links stehende Eins der Kette ausgeführt werden kann, wobei allerdings dat Teilprodukt für jede Eins der Kette um eine Stelle nach rechts verschoben werden muß. Hierauf basierend
109808/1591
BAD ORIGINAL
Docket 7964
wird vom Decodierer 32 für jede der Dreier-Bitgruppen festgestellt, ob sie den Anfang oder da· Ende einer Kette Einsen enthält oder nur eine alleinstehende Ein· aufweist. Al· Resultat dieser Untersuchung liefert der Decodierer 32 Ausgangssignale, die in Übereinstimmung mit der dargelegten Ausdrucksweise einer Kette binärer Einsen als Different entweder ein negatives bzw. komplementäre· Vielfaches oder ein echtes Vielfach·· de· Multiplikanden bezeichnen. Bei den Vielfachen handelt es sich stet· um durch die jeweiligen Stellenwerte der Multiplikatorbits bestimmte geradzahlige Vielfache von 2, die durch einfache Bitstellen-Verscbiebungen des Multiplikanden in far •ich bekannter Weise gewonnen werden können. Außerdem Ut in den Ausgangssignalen des Decodierer· 32 auch berücksichtigt, dafl für die am weitesten links stehende Eins einer derartigen Kette (Kettenende) ein der nächsthöheren Wertstelle augeordnete· Multiplikanden-Vielfache· ausgewählt wird» entsprechend der obigen Differenz-Schreibweise.
Aus Fig. 5 1st ersichtlich, wie die 13 Multiplikatorbits einer jeden Iteration im Decodierer 32 decodiert werden. Die Ziffern 0 bis 12 bezeichnen die 13 innerhalb einer Iteration zu prüfenden Multiplikator bit·. Das Vielfache Ml ist dargestellt als eine Funktion der Multiplikator bit β 10, 11 und 13. In Übereinstimmung mit Fig. 4 sind dies in der Iteration die Multiplikatorbit· 34, 35 und 36. Die sechs
109808/1591
BAD ORIGINAL Docket 7964
Gruppen der innerhalb einer jeden Iteration au prüfenden Multiplikatorbit· sind im oberen Teil von Flg. 5 dargestellt. Im unteren Teil dieser Figur ist die Zuordnung zwischen den Eingangssignal und den Ausgangssignalen des Decodierer· allgemein dargestellt. Diese Eingang· sind mit N, N+l und N+2 bezeichnet. Jeder dieser Eingänge kann eine binäre Null oder eine binäre Eins führen, no daß sich acht Permutationen ergeben. Das Bit der höchsten Wertstelle innerhalb der Gruppe (N) überdeckt sich mit dem niedrigsten Bit (N+2) der nächstfolgenden hoherstelligeren Gruppe. Es können bekannt· Algorythrnen verwendet werden, um die richtig· Anzahl Stellenverschiebungen zu bestimmen, die der Multiplikand in die betreffenden Register 24 bis 29 auszuführen hat, um ein Vielfaches des Multiplikanden darzustellen. Zumindest ein Algorythmus verwendet dl· drei Multiplikatorbits einer bestimmten Gruppe zur Erzeugung von cwei Ausgangs Signalen, wie es in Fig. 5 in dem mit "allgemeiner Ausgang11 bezeichneten Spalten angegeben ist. Die Bezeichnungen N und N+l über diesen beiden Spalten geben den Stellenwert de· betreffenden Ausgangselgnals innerhalb der Dreiergruppen der 13 Multiplikatorbits an. Die Bezeichnung 0. + 1 oder -1 gibt Auskunft darüber, was bei der übertragung des Multiplikanden Ia die betreffenden Register 24 bis 29 au geschehen hat. Wenn z. B. N und N + i beide Null sind, werden Nullen in die betreffenden Register eingestellt. Eine Angab· in der Kolonne von +1 zeigt an, daß
109808/1591 Docket 7964
IS
der Multiplikand in echter Darstellung um N+l oder N Positionen nach rechte zn vorschieben ist, bei der Eingabe in die betreffenden Register 24 bis 29, Dts Angabe -1 geigt an» daß der Multiplikand in komplementärer Form um N oic? JHI Positionen nach rechte Bu vorschieben ist»
Ale Beispiel eind die entsprechenden Auegangesignale des Oecodie* rere 32 für die übertragung dee Multiplikanden in das Register 26, das daa Vielfache M3 empfängt« im. unteren rechten Teil von Fig. S dargestellt, Die Werte N und N +1 eind in diesem Fall den Bits der Positionen 6 und 7 innerhalb der in der Iteration 3 zu ve rar boitenden Gruppe von 13 Multipükatcrbits zugeordnet. Ee ist ersichtlich, daß, basierend auf den binären Mutationen der Bitpoeiüonen 6, 7 und S im Decodierer 32( ein Multiplikand, der in das Register 26 einzugeben ist, in echt®? oder komplementierter Form eingegeben und um sechs oder sieben Stellen nach rechts verschoben wird. Durch diese Maßnahme liefern die Multipllkatorbits 30» 32 und 32, die den Bestellen 6» 7 und 9 in der dreisehs&er Gruppe entsprechen« den richtigen Beitrag «m der auszuführenden Multiplikation* In Verbindung mit dem Vielfachen Mi ist ersichtlich, daß der in das Register 24 «itisugebeade Multiplikand um bis su 11 Positionen nach rechts verschoben werden kann, woraus sich die Notwendigkeit für die Auedehaaag der
109808/1591 bad
Docket 7964
Jo
Addierer stellen um 11 Stellen über die normale Multiplikand onlänge von 56 Bit· ergibt.
Ebenso lot an Hand des Vielfachen M3 in Iteration 3 erkennbar. da3 der Multiplikand 2 oder 2* mal in Übereinstimmung mit den Regeln ftlr die Multiplikation einer Mantisse mit einer anderen Mantisse eu multiplizieren ist. Obgleich die Ausgangs signale des Decodierer· 32 für das Vielfache M3 nur eine Verschiebung des Multiplikanden entweder um sech· oder sieben Positionen nach recht· bewirkt, werden die Ausgangs signale des betreffenden Teilproduktes der in Iteration 3 zu verarbeitenden Operanden am Auegang der Addiererschleife 22 um einen Gesamtbetrag von 24 Bitpositionen «ehrend der Iterationen 4 und 5 nach rechts verschoben. Da· Teilprodukt, da« durch die MultipUkatorbit· 30, 31 und 32 während der Iteration 3 erseugt wird, «teilt daher In richtiger Weise eine Multiplikation
-3 -31
mit Z oder 2 dar.
in einfacher Weise «u instrumentierenden Schaltungen rut Er· xeugung der erforderlichen Taktimpulse sum Betrieb der Anordnung gemäß Fig. 2 sind in Fig. 6 dargestellt. Die bu steuernden Schaltungeteile tragen in Fig. 6 die gleich« Beseiehnung wie in den vorausgehend beschriebenen Fig. 1 und 2« Si· umfassen die Verriegelunge schaltungen des Mulfciplikator-Decodierers 32, die Register 24
10980871591
SAD ORIGINAL Docket 7964
-M-
Si
bit 29· die Verriegelunge-Schaltungen dee Ubertrageaufschub-Addier*r· 42, da· Regietor 43, dia Verriegelung·-Schaltungen de· Ubertragsaufßchub-Addierers 50, da· Regietor 51 und die Verriegelung»- Schaltungen de· Übertrageauf schub -Addierer· 52. Jeder dar in Verbindung mit Fig. 3 erläuterten "Multipiikator-Decodierer-Eingabe"« Impulse wird nicht nur sur Steuerung des Decodierer· 32 verwendet, sondern dient auch Ober «ine Serie von Verzögerung·-Schaltungen 80 hi· 83 zur Erzeugung dar in der Folge diese· Impulse· benötigten Steuersignale. Zur Realisierung des logischen Aufbaue· des dargestellten Addierwerke· sind mehrere TrSgerplatten für die logischen Bauteile notwendig, aus denen die Verriegelung·-Schaltungen der verschiedenen Stufen bestehen. Da Hochleistung·-Datenverarbeittmgsmaschinen mit «ehr hohen Geschwindigkeiten arbeiten, spielt die Ausbreitungedauer der Impulse entlcag den Verbindungsleitungen bereits eine erhebliche Rolle. Um deshalb sicherzustellen, daß die Eingabe-Signal· eines bestimmten Satsas Verriegelung·-Schaltungen alle zur gleichen Zelt in dieses Verriegelungs-Schaltungen wirksam werden, sind weitere Vercögorungs-Schaltungen 84 bis 86 vorgesehen, deren Signalversögerungen entsprechend den unterschiedlichen Laufzeiten der Impulse abgestuft eind. Hierdurch wird eine gleichzeitige Wirksamkeit der Eingabe-Steuerimpulse an allen Verriegelung β-Schaltungen oiner Stufe, a. B. 32, unabhängig von der Lang· der Leiter, die zu den Verriegelunge-Schaltungen führen, erzUlt.
109808/1591
BAD ORKa1NAL
Docket 7964
Ee wurde ferner bei der Instrumentierung der eründungagemiUen Einrichtung festgestellt, daß dio Verzögerung, die durch die logischen Schaltungen und die Leiterlänge ewiechen den logischen Schaltungen bewirkt wird, vom Eingang einer Verriegelungs -Schaltung bia zum Eingang der nächsten Verriegelungs-Schaltung für alle Stufen gleich gemacht werden kann. Z.B. können zwischen zwei aufeinanderfolgenden Eingängen von Verriegelungs-Schaltungen sowohl vier logische Verknüpfungs-Schaltungen in Serie angeordnet sein als auch drei logische Verknüpfungs-Schaltungen und eine Leiterlänge, die eine Verzögerung liefert, die der Verzögerung einer logischen Verknüpfungsschaltung entspricht. Auf diese Weise können auch die Durchlaufzeiten durch die Verriegelunge-Schaltungen der Addiererschleife 22 von Fig. 1 den Durchlauf zeiten dor verschiedenen Stufen der Addiererpyramide 21 angepaßt werden.
Auf Grund der verschiedenen aufeinanderfolgende! Stufen von Verriegelungs-Schaltungen und der im wesentlichen gleichen Signalverzögerung zwischen in Datenfluß richtung aufeinanderfolgenden Eingängen dieser Verriegelung β -Schaltungen kann die Rate, mit welcher die Operanden dem Eingang der Additions vorrichtung angeboten werden können, gleich der maximalen Rate sein, mit der eine einzelne dieser Stufen arbeiten könnte und die lediglich durch die von ihr bewirkte Signalverzögerung bestimmt wird. Hierdurch
109808/1591
Docket 7964
ist eine Arbeitsweise möglich, die am ehesten mit einer Pipeline verglichen werden kann, da j «weil· mit jeder Weiterleitung einer Signalgruppe vom Auegaag mnen? Stufe Verriegelung·»Schaltungen zum Eingang der nachfolgenden Stufe Versiegelung· -Schaltungen ein neuer Satz Eingange signale der abgebenden Verriegelung· »Schal· tung zugeführt werden kann.
Dieser Pipeline «Effekt ist besonder· klar aus der schemati sehen Darstellung von Fig. 7 ersichtlich. Im oberen linken Teil von Fig. 7 sind die Register 24 bis 29« die Addiererpyramide 21 und die Addierer schleif θ 22 dargestellt. Den Registern 24 bis 29 wird ein erster Satz von sechs Operanden zugeführt» die zur Er Beugung eines Teilprodukten FP! für die erste Iteration dienes. Rechte daneben ist die gleiche Sch&ltungsetruktu? in dem Zustand dargestellt, wenn das Teilprodukt PPI in den C-Ühertragsaufschub« Addierer 42 und die Verriegelungs-Schaltung 43 eingegeben worden let und der nächste Sat« Operanden in die Register 24 bis 29 eur Erzeugung eines Teilprodukte· PP2 für die Iteration 2 eingestellt worden ist* Die nächste Darstellung seigt» dafl au der Zeit der Eingabe des Teilprodukte· PPI in den E-Ubertragsvorausschau-Addierer 50 ein dritter Operandensats in den Registern 24 bis 29 •ingestellt wird» Zur Zeit der Eingabe eine· weiteren Operanden-•atses in die Register 24 bis 29 zur Erzeugung eine· Teilprodukt·
Dockot 7964
109808/1591
BAD OR16INAL
te· PP4 für die Iteration 4 wurde da« Teilprodukt PPI in den F-Übertragevor&usschau-Addierer 52 eingegeben, dessen Ausgangssignale sum Eingang dee "-Übertragsvorausschau-Addierers 50 surttekgeführt werden. Zum Zeitpunkt der Eingabe von PP2 in den £-Addierer 50 werden somit auch die das Teilprodukt PPI darstellenden Signale um 12 Positionen nach rechts verschoben in den £-Addierer 50 eingegeben*
Die aufeinanderfolgende Zuführung der verschiedenen Operandensätse su den Registern 24 bis 29 erfolgt gleichseitig mit der aufeinanderfolgenden übertragung der Zwischenresultate von einem Sats der Verriegelung·schaltungen sum jeweils nachfolgenden Sats der Verriegelungsschaltungen und gleichseitig mit der übertragung der um 12 Stellen nach rechts verschobenen Ausgangs signale der Addiererschleife surück sum Eingang dieser Schleife« bis das Endprodukt am Ausgang des F-Übertragsvorausschau-Addierers 32 vorliege Zu dieser Zeit werden die swel Gruppen Ausgangs signale C und S des Übertragsvoraueschau-Addlerers 52 sum Paralleladdierer 23 abertragen· um dort sum Endprodukt vereinigt su werden.
An Hand der Fig. 8 bis H wird im folgenden unter^exug^nahme auf die Fig. 1 und 2 erläutert, in welcher Weise die vorausgehend be* echriebene Multiplikation·-Einrichtung sur Ausführung von Divisionen verwendet wird.
109808/1591
BAD ORIGINAL Docket 7964
AS
Bevor die erste Iteration einer Divieio»»operation beginnt, wird der Divisor und der Dividend, die beide bereits in bezug auf ihre ZIffertigteilen normalisiert sind» noch in bezug auf ihre binären Bit» stellen in der Stellenverachiebe-Schaltung 79 von Fig. Z normalisiert. Der Divisor ist bitaormstleiert, wenn eine binäre Eins in seiner höchsten Ziffernstelle enthalten ist. Um die gleiche Zahl der LtnkeverSchiebungen («2 * ' ), die tor Normalisierung de· Divisor· benötigt werden, wird auch der Dividend in der Stelienver schiebe Schaltung 79 nach links verschoben. Hierdurch wird die vorhandene Betiehimg zwischen den hexadezimalen Ziffern des Dividenden und des Divisor· einerseits und der hexadezimalen Darstellung der Exponenten dor betreffenden Gleitkommasahlen aufrechterhalten. Wenn der Dividend um ein· der Anzahl der Diviuorverechibbungen entsprechende Ansahl Stellen nach link· verschoben wird, kann eine binäre Eins aus der höchsten Ziffernstelle de· Dividenden herausgeschoben werden. Für diesen Fall weist die Verschiebe-Schaltung 79 einen Satz Torschaltungen auf, die bewirken« daß der Dividend um vier Bitstellen oder um eine hexadezimale Ziffer nach rechte verschoben wird un^der zugeordnete Exponent um 1 erhöht wird. Die Auegangesignale der Stelienver Schiebung s -Schaltung 79 Meilen in jedem Falle einen Anfangsdlvieor DQ und einen Anfangsdividenden N0 dar.
Der bitnormalisierte Divisor D. wird zum Tabellenspeicher 80
109808/1591
Docket 7964 BAD ORIGINAL
übertragen (Fig. 2), der daraufhin 13 Bite» die den angenäherten Kehrwert RQ de« Divisors O. darstellen, über die Eingangstorechaltung 76 sum Multiplikator-Decodierer 32 liefert. ViTIo aus Fig. 8 er· sichtlich lot, wird der erste Kehrwert Rn in einer ersten Divisionsiteration DIVl zur Ausführung von zwei Multiplikationen verwendet, von denen die eine mit dem anfänglichen Divisor D_ und die andere mit dem anfänglichen Dividend N. erfolgt. Aus der Multiplikation D^ · R- wird ein Zwischendivisor D. gebildet, der but Erzeugung eines weiteren angenäherten Kehrwertes R. dient, welcher ebenfalls aus 13 Bits besteht und über die Torschaltung 76 zum Multiplikator Decodierer 32 übertragen wird. Der neue Kehrwert R. wird daraufhin sur Multiplikation mit D. und N. innerhalb der zweiten Divisions iteration DIV2 verwendet» wodurch ein weiterer Zwischendivieor D. gebildet wird. Die Multiplikation der angenäherten Kehrwerte mit den Zwischendivisoren und Zwischendividenden setzt eich fort bis zur Erzeugung eines Zwischendividenden N., der ale endgültiger Quotient verwendet wird« wenn die Operanden der auszuführenden Division Gleitkommazahlen einfacher Genauigkeit sind. Bei Gleitkommazahlen mit doppelter Genauigkeit wird der Kehrwert R. erzeugt und sum Register 31 (Fig. 1 und 2) übertragen zur Ausführung einer fünften Divisionsiteration, Drei aufeinanderfolgende Gruppen von 13 Multiplikatorbits werden in der gleichen Weise zum Decodierer 32 übertragen* wie «β vorausgehend mit der Ausführung
109808/1591
BAD ORIGINAL Docket 7964
von Multiplikationen beschrieben wurde, Am Ende de« dritten Multi· plik&tlonezyklue während der fünften DivUion»itoration DIV5 stellt da· am Ausgang des Paralleiaddierer-i 23 erscheinende Endprodukt den Cuotienten dos anfänglichen Dividenden und des anfänglichen Divisor» dar, die in diesem Fall beide Gleitkommazahlen doppelter Genauigkeit sind.
Die Fig. 8 itt so au verstehen, daß die im linken Teil der Zeichnung angegebenen Operationen gleichseitig mit den auf gleicher Höhe im rechten Teil der Zeichnung angegebenen Operationen in der selben Einrichtung ausgeführt werden. Hierbei erfolgt Jedoch die Ermittlung der im linken Teil der Zeichnung dargestellten Operanden ohne Bezugnahme auf die im rechten Zeichnungsteil dargestellten Operanden. Dies ist ein grundlegender Unterschied gegenüber den bekannten Divisioneeinrichtungen, bei denen verschiedene Di-Visionsiterationen mit Divisorvielfachen ausgeführt werden, die abhängig sind vom Ergebnis der vorausgehenden Iteration, d. h. vom Dividendenrest der betreffenden Iteration, so daß eine jede Iteration eret dann begonnen werden kann, wenn die vorausgehende Iteration bereite beendet ist.
Ό1· Fig. 9 »«igt die Formate des Divisors und dessen Kehrwert·· wie sie im Verlaufe der Divisionsoperation gebildet werden. Für jede Divisionsiteration wird der angenäherte Kehrwert Rn des je-
109808/1591
BAD OBlGiNAL Docket 7964
Si
weil· gültigen Zwiechendiviaor· D__ mit diesem Divisorwert und mit dem jeweils gültigen Dividendenwert N_ multipliziert, tun einen neuen Zwischendivisor und einen neuen Dividendenwert zu formen. Daraufüi wird ein neuer angenäherter Kehrwert durch Komplementierung eine* hochstelligen Teiles de· neuen Zwischen^ divieor-Wertee bestimmt. In dieser Weis« gebildete Divisorwerte konvergieren gegen 1, Die· schließt ein« daß die entsprechenden Kehrwerte gegen den Kehrwert de· ursprünglichen Divisors konvergieren. Hieraus folgt wiederum, daß die aufeinanderfolgend gebildeten Zwischendividenden-Werte in Richtung des endgültigen Tuotientenwertes konvergieren. Mit der Ausnahme des ursprünglichen Divisors D_ und dessen Kehrwert RQ sind für die in Figr 9 dargestellten Operanden xwei Formate möglich. Diejenigen Teile der Kehrwerte* die sum Multiplikator-Decodierer 32 gesandt werden, sind eingeklammert. Da für R-, R-, R- und R3 nur eine Gruppe von 13 Bits decodiert wird, können die·· Operanden mit einem Divisor oder einem Dividenden in einem einseinen Durchlauf der Addiererpyramide 21 multipliziert werden. Fü» diesen einen MuI-tiplikaüonazyklus wird die Addiererechlelfe in einer bereit· beschriebenen V/eise umgangen, um die Rechenzeit au verkürzen. Die Aus gang· signale der Addiererpyramide 21 werden «omit direkt «um Cüber trage verarbeitenden Addierer 23 übertragen.
Der ursprüngliche, angenäherte Kehrwert RQ wird durch ein· Ta»
109808/1591
ORIGiNAL Docket 7964
bellencuchoperation far die Positionen 2 bU 7 des ursprünglichen Divisor» D im Taböiienspeicher 80 (Fig. Z) bestimmt. Das Produkt D · RsD. besitEt in jedem Falle da« hierfür in Fig. 9 angegebene Format. Durch Verwendung eine» Tabellen spei eher« zur Bildung des anfänglichen angenäherten Divieorkehrv/ertos wird clncy6c.hue.lle Konvergenz sichergestellt. Alle nachfolgenden Divisor» k ehrwerte werdon durch Kemplemenüerung eine· hochstelligen Teiles D.. bestimmt, wenn dieser vom Faralleladdierer 23 ium MuI-N
tipllkator-Decodierer '32 übertragen wird.
Xn Übereinstimmung damit entspricht «in Kehrwert R-. stet· dor Differ on ζ von 2 minus de· hochetelligen Teil·· D,., der «ur Bestimmung de« Kehrwerte· benutzt wird. Dieser Teil von D.., dor zur Bestimmung von R-. dient, ist gleich dem Ausdruck 1 + X.., worin X die rechter Hand des Komma· befindlichen Bit· der Mantisse des Divisor· sind, durch die der Kehrwert bestimmt wird. Der entsprechende Kehrwort Rn ist dann gleich dem Ausdruck 1 - X... Dia. minimale Länge einer Kette führender Nullen oder Einsen, die im nächsten Zwiechcndivisor D . gebildet werden, entspricht untejjdiesen Bedingungen der Zahl der hochetelligen Bitstollen von D , die *ur Bestimmung von Rn benutzt werden. Die Zahl der führenden Einsen oder Nullen für Dn kann niemals großer sein al· das Doppelt« der Zahl der Einsen oder Nullen IaD ,
109808/1591 Docket 7964 .
HO
sofern R„ nach dieser Methode bestimmt wird. Die Zahl der führenden oder hochstelligen Einsen oder Nullen für Ό, oder D konnte
durchaus größer sein al· der angenommene V/ert. Jedoch wäre ein erhöhter Einrichtungsaufwand erforderlich, um dies festzustellen.
Die für R. und R_ in Fig. 9 angegebenen Formate sind so gewählt» dall sie einen einmaligen Multipiikationsdurchlauf gestatten und eine kleinere als die maximal mögliche-! Konvergenz des Divisors gegen Eins In Anspruch nehmen. In Fig. 9 eind die auszuführenden Iterationen seilenweise dargestellt, wobei die noch nicht bekannten MuI* tiplikatorbita mit X bezeichnet sind. Am Anfang der Divisioneoperation entspricht somit die Zahl der unbekannten Bits X der Zahl
der Mantissenbits, ausgenommen dem höchstetd ligen Mantissenbit^, das auf Grund der Bitnormalisierung in diesem Falle eine Eins ist. Wie die Darstellung »igt, verringert sich mit jeder Iteration die
Zahl der unbekannten Bits, und nach Iteration S sind alle unbekannten Bits in Einsen bew. Nullen umgewandelt, d. h., da3 der
echte Kehrwert des Divisors βrmittelWorden ist.
Aus Fig. 5 sind die Regeln zu ersehen, nach denen der Decodierer 32 arbeitet. Dies« Darstellung kann auch zur Erklärung dienen, wie p.. oder Nj. mit R-. ■ 1 - X^ multipliziert werden. Wenn eine der EU decodierenden Bitgruppen, von denen jede drei Bitstellen umfaßt, au· lauter Einsen oder lauter Nullen besteht, liefert der Decodierer
109808/1591 8AD 0RfG'NAL
Docket 7964
Hi
Null-Ausgangssignale. Die führenden Einsen oder Nullen eines Divisors oder dessen Kehrwertes können daher übersprungen werden und brauchen nicht in den Multiplikator-Decodierer 32 eingegeben werden. Wenn die Eingange signale des De codiere rs 32 komplementiert sind» haben die Ausgangewerte des Decodierer· ein geändertes Vorzeichen, während die GrOUe unverändert bleibt. Diese Eigenart des Decodierer· 32 dient zur Erzeugung von -X-. am Ausgang de· Decodierer·.
Während der Divigionsiteration 1 kommt der als Multiplikator verwendete Kehrwert Rfl vom Tabellenspeicher 80, während der Multiplikand Nn oder V über Stellenver schiebe-Schaltung 79 mit einer aus Fig. 10 ersichtlichen Ausrichtung zugeführt wird. Es
vor liegt keine hochstellige Kette von Einsen oder Nullen in Ri und alle sechs Ausgänge des Multiplikator-Decodierers 32 führen Ausgangseignale, die von Null abweichen.
Zur Erläuterung der Iterationen 2, 3 und 4 dient die Iteration 3 als Beispiel. Wenn alle Bitpositionen von R2 (Fig. 9) als Multiplikator verwendet und dem Decodierer 32 ungeführt werden, so wäre der Bitwert I1O von der höchsten Bits teile zu prüfen und ein Sats von Bit« des Wertes -0,00 ... XX wäre aus dem Teil rechts vom Dezimalpunkt au decodieren. E* wird jedoch lediglich
109808/1591 bad original
Docket 7964
Hl
der eingeklammerte Teil von R. turn Decodierer 32 übertragen,
12*2 Der Aufgang de· Decodierer· 32 stellt einen Wert -2 dar.
φ er Multiplikand, der das Resultat der vorausgehenden Itaration und somit D oder N ist. ist am Ausgang de· Addierers 23 verfügbar und wird um 12 Stellen nach rechts verschoben, um die vom Decodierer 32 gesteuerte Stellenverschiebung jeweils um den
12
Faktor 2 zu kompensieren. (Der Betrag der Stellenverschiebungen des Multiplikanden und des Multiplikators während einer jeden Divisioneiteration ist aus Fig. 10 ersichtlich.) Der in Fig. 9 ein· geklammerte» dem Decodierer 32 zuzuführende Stellenteil ist so gewählt, daß jeweils die drei hOchststelligen Bits untereinander identisch sind. Hierdurch wird sichergestellt, daß das Vielfache M6, das Öei Multiplikationen dem Register 29 zugeführt wird, bei Divisionen unbeachtet bleiben kann, da in diesem Falle für das Vielfache M6 vom Decodierer 32 der Wert Null geliefert wird. ■ Das Produkt -D X oder -N^ X5 wird durch die fünf Operanden Mi bis M5 dargestellt, die unter Steuerung der Ausgangs signale des Decodierer· 32 su den Registern 24 bis 28 übertragen werden. Der nicht stellenverschobene Multiplikand wird außerdem gleichzeitig an Stelle des Vielfachen M6 über eine sonst nicht verwendete Leitung 100 der Pyramide 21 (Fig. Z) zugeführt. Dies bedeutet, daß die Pyramide I'D oder 1*N_ empfängt. Die Summa der Operanden, die somit der Pyramide 21 zugeführt werden,
109808/159V
Docket 7964
let dann D2 + (-D2 X2) * D2 (1-X2) « D3 oder N3 (1 -
In der Itcration 5 wird R4 eum Register %l (Fig. 1 und 2) übertragen, wonach drei Multiplikatlonssyklen ausgelöst werden» um die Dlvisionsope ration zn vollenden. Die Addiererschlelfe 22 wird hierbei in der gleichen Weise verwendet* wie ei voraufgehend in Verbindung mit der Au β führung von Multiplikationen erläutert wurde. Im Multiplikation· tyklus Sc (Fig. 11) ist da· Steuersignal für da· Vielfache M6 »test· Null, co dan far das Vielfache M 6 der Wert 1 · N4 vom Addierer 23 der Pyramide 21 zugeführt wird. D_ wird nicht gebildet, da der Cuotient Νς unabhängig hiervon bestimmt wird.
Die Divielonsoporation let beendet, wenn die Zahl der Bit· in der Konvergenz von D gegen 1 (führende Einsen oder Nullen) wenigsten· gleich der Stellenzahl der ursprünglichen Mantiaee ist. Das Resultat einer Division mit einfacher Operandengenauigkeit ist somit nach der vierten D ivieion site ration verfügbar, während das Resultat einer Divieionsoperation mit Operanden doppelter Genauigkeit erst nach der fünften Divieiontoperation vorliegt.
Der Ablauf der Dividonsopcration kann ferner an Hand des Zeitdiagramme von Fig. 11 verfolgt werden. Ee wird bei Divisionen ein Oszillator verwendet» der unabhängig von dem die fünf Multiplika-
109808/1591 Docket 7964 B
Hh
tionezyklon steuernden Taktgeber Zeitimpulee dor In Fig. Il darga-•tellten Art erzeugt. Dieser nicht dargestellte Oszillator treibt eine Zählringschaltung an, durch welche die Multiplikanden-Eingabe und die Decodierer-Eingabe gesteuert wird. Der eigentliche Eingabe-Tor» impuls für den Decodierer 32 wird durch Verzögerung der Auegangsimpulse dee Oszillators erhalten.
Am Beginn der Divisionsoperation zum Zeltpunkt Null wird dor Divisor durch einen "Dlvisor"Eingabe" -Impuls zu der Bitstellonverechiebeschaltung 79 übertragen, wo er bitnormalisicrt wird. Die Aue gange signale dieser Stellenverschiobe-Schaltung, die den Wert D darstellen, gelangen zur Torschaltung 78 (Fig. ?.), über dio sie als erster Multiplikand den Registern 24 bis ?9 eugeführt werdender hochstclliga Teil von D , d. h. der in Zeile 3 der Darstellung von Flg. 9 mit einer Klammer bezeichnete Stellenteil, gelangt eum Tabellenepeicher 80, wo er als Adresse für den ersten angenäherten Kehrwert Il dient. Dieoar/Cehrwert wird daraufhin dem Tabellenepeicher 80 entnommen und Eum Multiplikatordecodierer 32 übertragen.
Zur Zeit 1 werden die sechs Operandenvielfachen, welche die Multiplikation des ursprünglichen Divleors D mit dem ersten angfchäherten Kehrwert Rn darstellen, in den Registern 24 bis 29 gespeichert. Die« geschieht durch den Impuls "Vielfachencingabe". Während die
109808/1591
Docket 7964 ÖA° °*iG'NAL
Anzahl dieaer Operanden in dor Addiererpyramide 21 durch additive Zusammenfassung reduziert wird, erfolgt eine Übertragung des ursprünglichen Dividenden Nn zu den Registern 24 bis 29 durch den Impuls "Dividendeneingabe". Kurz nachdem das inzwischen auf vier Operanden zusammengefaßte Zwischenrftaultat D. in die Verriegelunge schal tun gen des C-ubortragsvorausschau-Addierers 42 eingestellt worden ist (Impuls C-Addierereingabe)» warden die das Pro· dukt Nn R- » N. repräsentierenden sechs Operanden durch den Ew ei ten "Vielfacheneingabe11-Impuls in den Registern 24 bis 29 eingestellt.
Von dioeem Zeitpunkt der Operation an werden drei Verriegelungsetufen verwendet: C-Ubertragßaufschub-Addierer 42, Roeultatregister 73 (Fig. Z) und Multiplikator-Decodierer 32. Die Zwischendivisoren gehen den Zwischendividendcn beim Durchgang durch die Schleife vom Resultatrogieter 73 Über die Oder-Schaltung 78, die Register 24 bis 29, die Addiererpyramide 21 und den Paralleladdierer 23 zurück sum Register 73 voraus. Die vier Operanden von D oder N , die in der Stufe 42, 43 festgehalten sind, werden im D-Addierer 44 zu zwei Operanden zusammengefaßt und werden unter Umgehung der Addieijschleife 22 direkt dem Addierer 23 zugeführt.
Am Ausgang des Addierers 23 erscheint eine einseine Signalgruppe,
109808/1591
BAD Docket 7964
die das im Reaultatregister 73 einzuspeichernde Produkt «larstellt, Dies geschieht zur gleichen Zeit, wenn die vier Operanden des nachfolgenden Iviultiplikationszyklus Im. C-Addierer 42 gespeichert wurden. Das Produkt D.. wird vom Resultatregioter zur Stellon-
N "
verschiebe schaltung 77 und zu der Multiplikatoreingabe-Torschaltung 76 übertragen. Während der Übertragung von D von der Torschaltung 76 zum Decodier or 31 wird ein Teil der Bitstellen dieses Wertes entsprechend der Darstellung in Fig. 9 komplementiert, um den vorausgehend erwähnten Wertanteil -XM zu erhalten. Die Aus gange signal« des Decodierer« 32 repräsentieren dann den angenäherten Kehrwert Rn, der sowohl mit D,T als auch mit Nn su multiplizieren ist, um D>T , und N._ . zu erhalten.
N+1 N+1
Wie aus Fig. 11 zu ersehen ist, können zwei Typen von Impulszügen verwendet werden. Der Wert IL.# der in den Verricgelungsstufen des Multiplikator-Decodierers 32 gespeichert ist, wird mit
in jeder der Iterationen 1, 2, 3 und 4 einmal verändert. Da] jeder Iteration zwei Multiplikationszyklen auszuführen sind, raueaen die Einstell-Tor schaltungen im C-Addierer AZ, im Register 43 und im Resultatregister 73 in jeder Dlvleionsiterntion zweimal betätigt werden. Di· Dauer einer Divieoneof eration entspricht dem ungünstigsten Fall einer Wertübertragung vom Resultatregister 73 zurück zum Rosultatregieter 73 über den Decodierer 32 oder die'
10 9 8 0 8/1591 bad original
Docket 7964
Register 24 bis 29. Die Verriegelung β schaltungen deo C-Addierer· 42 tmd dee Reeultatregietcr· 73, durch die die vorausgehend erläuterte Schleife annähernd in gleiche Teile geteilt wird, erhalten zur gleichen Zeit Eingabe-Steuerimpulse sugefuhrt.
Die ersten vier Divisionsiteratlonen werden zwischen der Zeit 1 und der Zeit 7 ausgeführt und stellen sieben Maschlncnxyklen dar. Bei einer Division mit einfacher Operandengenauigkeit, wird der Betrag dor auo zuführenden Itesultatnormallslerung für N. bestimmt, während dessen Bildung im Addierer 23. V/enn die Sammelleitung 64 frei ist, wird der ssiffornnormalieierte Cuotlent N zur Zeit 7 ausgegeben.
Bei Divioloneoportionen mit doppelter Operandengenauigkeit ist ein gucätEÜcher Multlpllkationezyklus N. · R auszuführen. Diese Operation erfolgt in der gleichen Vr'olee wie die letzten drei MuI-tipllkatlonszyklen einer MuItiplikations-Operation. Das Multiplikator-Register 31 let mit dem Komplement eines Teiles von D geladen (Fig. 9 und 10), und die bei Multiplikationen wirkname Taktimpuls quelle wird gestartet durch Weite rs ehalten eines Zählringee, der jeweils am Beginn den dritten Zyklus einer Multiplikation zurückgestellt wird. Der Multiplikand N4 wird während diener Operation im Resultatregister 73 gespeichert, und der
109808/1591 BA0
Docket 7964
da· Vielfache M6 ersetzende Ubertraffungaweg über Leitung 100 wird nur im loteten Durchgang der Multiplikationooperation (Iteration Oc) wirksam gemacht. Die aufeinanderfolgenden Teilprodukte worden in der Addiererschleife Z2 akkumuliert, wie es bei einer normalen Multiplikationsoperation geschieht, und dae Resultat N5 wird im Paralleladdierer 23 gebildet und zur Zeit 10 auf die gemeinsame Sammelleitung 64 übertragen.
109808/1591
Dockot 7964

Claims (1)

  1. PATENTANSPRÜCHE
    1. Anordnung zur Ausführung von Divisionen durch Rückführung
    auf Multiplikationen, dadurch gekennzeichnet, daß oin Kehr· wertgenerator vorgesehen ist» der für den Divisor einen angenäherten Kehrwert bereitstellt, welcher einer Multiplikation» einrichtung zur Multiplikation mit dem Dividenden und dem Divisor zugeführt wird, und daß eine Steuereinrichtung vorgeae* hen lot, die die Erzeugung eine· weiteren angenäherten Kehr* Worte« und der darauf folgenden Multiplikationen solange mit den hei den Multiplikationen des Divisors entstandenen neuen Z wischend! visor en wiederholt, bis der Zwischendivieor innerhalb einer vorgegebenen Toleranz an Eint angenähert und der zugeordnete Zwischendividend als Quotient verfügbar ist.
    2. Anordnung nach Anspruch 1, dadurch gekennzeichnet, daß der
    Kchrwertgeneratoi* einen Tabellenapeicher (80) aufweist, der durch einen hochetelligon Teil der Bitstellen des Divisors adresslerbar Ut und der auf der durch diesen Stellenteil bestimmten Adresse den angenähorten Kehrwert des betreffenden Divisors gespeichert enthält.
    BAD ORIGINAL 10 9808/159 1
    *■ Nf υβ Unterlaßen (Art. ? % \ Ab«, a Nr. 1 8ati 3 dee Xnderungeoes. v. 4. 9.1ftfl7t
    Docket 790$
    3. Anordnung nach Anspruch 1» dadurch gekennzeichnet* daß der
    Kehrwertgenerator eine Komplementier schaltung (76) aufweist, der ein hochstelliger Teil de· Divisor· zugeführt wird und die dessen angenäherten Kehrwert durch binäre Komplementierung bildet.
    4. Anordnung nach Anspruch 1 und 3, dadurch gekennzeichnet, da Λ
    die Steuerschaltung den TabeUenspeicher (80) zur Bildung des angenäherten Kehrwertes des Anfangsdivisors (erste Divisions iteration) und die Komplementier schaltung (76) zur Bildung des angenäherten Kehrwertes der Zwischendivisoren (zweite bis * n-te Divisioneiteration) wirksam macht.
    5· Anordnung nach Anspruch I bis 4, dadurch gekennzeichnet, daß
    die mit vom Multiplikator gesteuerter Akkumulation von Multi· plikandenvielfachen arbeitende Multiplikationeeinrichtung (32, 24 bis 29, 21 bis 23) bei der Multiplikation des Divisorkehr· wertes mit den jeweils vorliegenden Divisor bzw. Zwischendivieor und Dividenden bsw. Zwischendividenden den Divieorkehrwert als Multiplikator behandelt und für eine hochstellige Kette gleicher Multiplikatorbit· (bereite mit 1 übereinstimmender Teil des Kehrwertes) nur eine Akkumulation des komplementierten Multiplikanden für die niedrigst« Bitstelle der Kette und
    109808/1591
    Docket 796}
    eine Akkumulation des um eine Stelle nach links verschobenen echten Multiplikanden für die höchote Bitstelle der Kette ausführt.
    6. Anordnung nach den Ansprüchen 1 bis 5, dadurch gekennzeichnet, daß der Iterations steuereinrichtung eine Multiplications B teuer einrichtung sugeordnet ist, die wahrend Jeder Divisionsiteration die Ausführung zweier unmittelbar aneinander anschlie-Oender Multiplikationssylden mit wechsefaden Multiplikanden (Divisor und Dividend) und unter Beibehaltung des gleichen Multiplikators (Divisorkehrwert) steuert.
    7. Anordnung nach Anspruch 1 bis 69 dadurch gekennzeichnet» daß die Multiplikationseinrichtung sur Akkumulation der Multiplikandenvielfachen eine Addiererpyramide (21) aufweist, der unmittelbar nacheinander der jeweilige Divisor bsw. Zwischendivisor und Dividend bsw. Zwischendividond unter Steuerung eines MuI-tiplikatordecodierers (32) zugeführt werden und deren Ausgang Über Tor schaltungen eu der Zeit, wenn das Resultat des ersten Multiplikationseyklue erscheint, über eine komplementierende Torschaltung (76) nach links Stelleaverschoben sum MuI-tipUkatordecodierer und nach rechts β telienver schoben sum Eingang der Addiererpyramide rückgeführt ist und zu der Zelt,
    10 9 8 0 8/1591 bad
    Dochet 796f
    sz
    wenn da· Resultat des zweiten Multiplikation« syklus erscheint, nach rechts stellenverschohen zum Eingang der Addiererpyramide rückgeführt ist, und daß die eurückgeleitoten Resultatwerte die Operanden der folgenden Divisioneiteration sind.
    Θ. Anordnung nach Anspruch 7» dadurch gekennzeichnet, daß der
    Detrag der Linksvarschiebung der Divisor'Resultate (erster MultipUkationssyklus) bei ihrer Rückführung nun Multiplika» tordecodlerer (32) so gewählt ist, daß der in dar folgenden Divisionsiteration wirksame Operand eine Anzahl ho ehe teiliger Bit· gleichen Wertes aufweist.
    9. Anordnung nach Anspruch 5 bis 8, dadurch gekennzeichnet, daß die Dividenden-Resultat© («weiter Multiplikationszyklus) einerseits um einen vorgegebenen Betrag rechtsverschoben einer die Multiplikaadenvielfachen bildenden Multiplikanden-Eingabe schaltung (24 bis 29) der Addiererpyramide (21) und andererseits direkt »um Eingang dieser Pyramide rückgeführt werden«
    10. Anordnung nach Anspruch 1 bis 9t dadurch gekennzeichnet, daß der Multiplikatordecodier«* (32) die Bitstellen des jeweiligen Divisorkfehrwertes gruppenweise auf das Vorhandensein
    10 9 808/1591 bad original
    Docket J
    einer Kette gleicher Bitwerte oder den Anfang bsw. da· Ende einer derartigen Kette untersucht und entsprechende Auegange· signale zu der MulHplikanden-EIngabeschaltung (24 bis 29) liefert, die dementsprechend Multipiikandenvi elf ache in echter oder komplementierter Form dem Eingang der Addiarerpyramide (21) zuführt.
    11. Anordnung nach Anspruch 1 bis 10, dadurch gekennzeichnet, daß die Multiplikand onvielfachen durch von den Ausgangeilig· nalen des Multiplikatordecodierer* (32) gesteuerte Stellenver· Schiebungen des Multiplikanden (Divisor oder Dividend) ge· wonnen werden. .
    12. Anordnung nach Anspruch 1 bis U, dadurch gekennseichnet* daß die Addiererpyramide (21) durch Verwendung von den einzelnen Addiereratufen. zugeordneten, die gebildeten Teilresultate awischenspeichernden Verriegolungeschaltungen eine überlappte Arbeitsweise gestattet, wodurch der Operand ensat as des nächsten Multiplikation» zyklus bereits zufuhr bar 1st, noch be· vor das Resultat des laufenden Multiplikation*syhius am Ausgang der Pyramide erscheint.
    13. Anordnung nach Anspruch 12, dadurch gekennzeichnet, dafl
    109808/159 1 nfrMMM
    BAD ORIGINAL
    Docket
    die Iterationssteuorelnrichtung in Verbindung mit der Multiplikation« steuereinrichtung während dem «weiten Multiplikation·- »yklus der laufenden Divisionsiteration bereit· den ersten MuI. tiplikationssyklus der folgenden Di»visionsiteration einleitet.
    14. Anordnung nach den Ansprüchen 1 bis 13* dadurch gekennzeichnet daß die Iterations Steuer einrichtung nach einer vorbestimmten Anaalü Iterationen das Resultat des zweiten Multipllkationezyklus dieser Iteration als Quotient einem ResulUtausgang suleitet.
    109808/1591
    Docket 7961
DE1549476A 1966-08-30 1967-08-18 Anordnung zur Ausführung von Divisionen Expired DE1549476C3 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US57615766A 1966-08-30 1966-08-30

Publications (3)

Publication Number Publication Date
DE1549476A1 true DE1549476A1 (de) 1971-02-18
DE1549476B2 DE1549476B2 (de) 1973-06-20
DE1549476C3 DE1549476C3 (de) 1974-01-17

Family

ID=24303204

Family Applications (1)

Application Number Title Priority Date Filing Date
DE1549476A Expired DE1549476C3 (de) 1966-08-30 1967-08-18 Anordnung zur Ausführung von Divisionen

Country Status (3)

Country Link
US (1) US3508038A (de)
DE (1) DE1549476C3 (de)
GB (1) GB1136523A (de)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3633018A (en) * 1969-12-18 1972-01-04 Ibm Digital division by reciprocal conversion technique
US3700873A (en) * 1970-04-06 1972-10-24 Ibm Structured computer notation and system architecture utilizing same
US3631230A (en) * 1970-09-24 1971-12-28 Ibm Binary arithmetic unit implementing a multiplicative steration for the exponential, logarithm, quotient and square root functions
US3814924A (en) * 1973-03-12 1974-06-04 Control Data Corp Pipeline binary multiplier
JPS55103642A (en) * 1979-02-01 1980-08-08 Tetsunori Nishimoto Division unit
EP0042452B1 (de) * 1980-06-24 1984-03-14 International Business Machines Corporation Signalprozessorrechneranordnung und Verfahren zum Betrieb der Anordnung
JPS57172444A (en) * 1981-04-15 1982-10-23 Hitachi Ltd Approximate quotient correcting circuit
US4549280A (en) * 1982-12-20 1985-10-22 Sperry Corporation Apparatus for creating a multiplication pipeline of arbitrary size
US4594679A (en) * 1983-07-21 1986-06-10 International Business Machines Corporation High speed hardware multiplier for fixed floating point operands
JPS60142738A (ja) * 1983-12-30 1985-07-27 Hitachi Ltd 内挿近似を使用する除算装置
JPS60163128A (ja) * 1984-02-02 1985-08-26 Nec Corp 乗算回路
US4744045A (en) * 1984-12-31 1988-05-10 Gte Communication Systems Corporation Divider circuit for encoded PCM samples
JPS62118474A (ja) * 1985-11-19 1987-05-29 Hitachi Ltd ベクトル除算装置の制御方式
US4881193A (en) * 1986-09-04 1989-11-14 Hitachi, Ltd. Rational number operation unit for reduction
US4831577A (en) * 1986-09-17 1989-05-16 Intersil, Inc. Digital multiplier architecture with triple array summation of partial products
US4839847A (en) * 1987-04-14 1989-06-13 Harris Corp. N-clock, n-bit-serial multiplier
US5179659A (en) * 1987-05-08 1993-01-12 Sun Microsystems, Inc. Method and apparatus for deriving instantaneous reciprocals of the homogenous coordinate w for use in defining images on a display
US5212662A (en) * 1989-01-13 1993-05-18 International Business Machines Corporation Floating point arithmetic two cycle data flow
US4999802A (en) * 1989-01-13 1991-03-12 International Business Machines Corporation Floating point arithmetic two cycle data flow
US5249149A (en) * 1989-01-13 1993-09-28 International Business Machines Corporation Method and apparatus for performining floating point division
US5036482A (en) * 1989-04-07 1991-07-30 Intel Corporation Method and circuitry for digital system multiplication
US5377134A (en) * 1992-12-29 1994-12-27 International Business Machines Corporation Leading constant eliminator for extended precision in pipelined division
JP3660075B2 (ja) * 1996-10-04 2005-06-15 株式会社ルネサステクノロジ 除算装置
EP0837390A1 (de) * 1996-10-18 1998-04-22 Texas Instruments Incorporated Verbesserung an mikroprozessorbetriebenen integrierten Schaltungen oder damit zusammenhängend
US8819094B2 (en) * 2009-06-10 2014-08-26 Synopsys, Inc. Multiplicative division circuit with reduced area
US8407274B2 (en) 2010-05-21 2013-03-26 The Board Of Regents Of The University Of Texas System Machine division
US8415968B2 (en) * 2010-07-30 2013-04-09 The Board Of Regents Of The University Of Texas System Data tag control for quantum-dot cellular automata
CN107992284B (zh) * 2017-11-27 2022-12-23 中国航空无线电电子研究所 一种可编程器件的除法功能实现方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3253131A (en) * 1961-06-30 1966-05-24 Ibm Adder
US3115574A (en) * 1961-11-29 1963-12-24 Ibm High-speed multiplier
US3311739A (en) * 1963-01-10 1967-03-28 Ibm Accumulative multiplier
US3278732A (en) * 1963-10-29 1966-10-11 Ibm High speed multiplier circuit
US3340388A (en) * 1965-07-12 1967-09-05 Ibm Latched carry save adder circuit for multipliers

Also Published As

Publication number Publication date
US3508038A (en) 1970-04-21
DE1549476C3 (de) 1974-01-17
DE1549476B2 (de) 1973-06-20
GB1136523A (en) 1968-12-11

Similar Documents

Publication Publication Date Title
DE1549476A1 (de) Anordnung zur Ausfuehrung von Divisionen
DE2724125C2 (de)
DE1549477B1 (de) Einrichtung zur schnellen akkumulation einer anzahl mehr stelliger binaerer operanden
DE2658248C2 (de)
DE2353258A1 (de) Datenverarbeitungssystem
DE19758079A1 (de) Verfahren und Vorrichtung zur Galoisfeld-Multiplikation
DE2221693C3 (de) Schaltungsanordnung zur Ausführung einer Multiplikation zwischen zwei Binärzahlen
DE2902496A1 (de) Digitale datenmultiplikationsanordnung
DE1549478B1 (de) Gleitkomma-Rechenwerk zur schnellen Addition oder Subtraktion binaerer Operanden
DE2816711A1 (de) Divisionseinrichtung mit uebertrags- rettungsaddierwerk und nicht ausfuehrender vorausschau
DE3507584C2 (de)
DE1114050B (de) Elektronischer Gleitkomma-Rechner
DE2310553A1 (de) Vorrichtung zur durchfuehrung arithmetischer und logischer operationen
DE2746355A1 (de) Einrichtung und verfahren zur wahlweisen multiplikation oder division zweier als binaerzahlen vorliegender operanden
DE2830334A1 (de) Multipliziereinrichtung
DE1524114B2 (de) Adreßrecheneinrichtung fur eine Datenverarbeitungsanlage
DE4218769A1 (de) Verfahren und Anordnung zum Bilden der Summe einer Kette von Produkten
DE1223177B (de) Elektronischer Digitalrechner mit Schaltung fuer die Errechnung der Quadratwurzel aus einer Binaerzahl
DE2623374A1 (de) Digitale multipliziereinrichtung
DE1222290B (de) Binaere Recheneinrichtung zur Bildung und Akkumulation von Produkten
DE1184122B (de) Addiervorrichtung
DE1549449A1 (de) Einrichtung zur Verarbeitung von Gleitkommazahlen
DE1549477C (de) Einrichtung zur schnellen Akkumulation einer Anzahl mehrstelliger binarer Operan den
DE19635111A1 (de) Multiplizierer
DE1234055B (de) Anordnung zur Addition oder Subtraktion

Legal Events

Date Code Title Description
C3 Grant after two publication steps (3rd publication)
E77 Valid patent as to the heymanns-index 1977
EHJ Ceased/non-payment of the annual fee