DE1774571A1 - Divisionseinrichtung - Google Patents

Divisionseinrichtung

Info

Publication number
DE1774571A1
DE1774571A1 DE19681774571 DE1774571A DE1774571A1 DE 1774571 A1 DE1774571 A1 DE 1774571A1 DE 19681774571 DE19681774571 DE 19681774571 DE 1774571 A DE1774571 A DE 1774571A DE 1774571 A1 DE1774571 A1 DE 1774571A1
Authority
DE
Germany
Prior art keywords
circuit
remainder
digit
dividend
digits
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.)
Pending
Application number
DE19681774571
Other languages
English (en)
Inventor
John Cocke
Homan Merle Edward
Freiman Charles Visvald
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 DE1774571A1 publication Critical patent/DE1774571A1/de
Pending 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/535Dividing only

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Complex Calculations (AREA)
  • Communication Control (AREA)

Description

IBM Deutschland Internationale Büro-Maschinen Gesellschaft mbH
Böblingen, 16. Juli 1968
km-hn
Anmelderin:
International Business Machines Corporation, Armonk, N. Y. 10 504
Amtliches Aktenzeichen:
Neuanmeldung
Aktenzeichen der Anmelderin: Docket 10 941
Divisionseinrichtung
Die Erfindung bezieht sich auf eine Einrichtung zur Division mehrstelliger Dividenden der Basis Z durch einen festen Divisor X.
Bei Datenverarbeitungsanlagen ist es mitunter notwendig, Divisionsoperationen mit variablen Dividenden und fest vorgegebenen Divisorwerten in einer sehr hohen Geschwindigkeit auszuführen. Ein Beispiel hierfür ist die Adressende codierung bei der Adressierung eines Speichers, in dem nur ganze Blöcke bzw. Speicherwörter durch einen Spei eher zugriff aufrufbar sind« Jeder dieser Blöcke bzw. jedes dieser Speicherwörter besteht aus einer Vielzahl Datenwörter, so daß einmal der das gesuchte Datenwort enthaltende Block und zum anderen dieses Datenwort in dem betreffenden Block bestimmt werden müssen. Die Adresse eines Operanden
1 09849/1459
oder eines Befehles, der in einem derartigen Datenwort gespeichert ist, liegt als ganze Zahl vor. Es muß daher durch Division dieser Zahl durch die Datenwortzahl je Block die Bereichs- bzw. Speicherwortadresse festgestellt werden, in welchem das gesuchte Datenwort steht. Der bei dieser Division entstehende Rest bezeichnet dann das gesuchte Datenwort in dem ermittelten Bereich bzw. Speicherwort.
Die Verwendung bekannter Divisions einrichtungen für diesen Zweck hat den Nachteil, daß für die Adressenbestimmung verhältnismäßig viel Zeit verlorengeht,^ da diese Einrichtungen vorwiegend sequentiell' arbeiten. Die einzelnen Quotientenziffern werden in aufeinanderfolgenden Iterationszyklen ermittelt. In jedem Zyklus ergibt sich dabei ein Dividendenrest, der nach Vornahme einer Stellenverschiebung zwischen Divisor und Dividend im nachfolgenden Zyklus weiterverarbeitet wird.
Die Aufgabe der Erfindung besteht darin, eine Einrichtung anzugeben, die auf einemhiervon abweichenden Wege eine schnelle und hochgradig parallele Division gestattet. Diese Einrichtung ist nicht auf eine Verwendung zur Adressendecodierung beschränkt. Sie kann in einer Datenverarbeitungsanlage mit Vorteil überall dort eingesetzt werden, wo es darauf ankommt, Divisionsoperationen mit möglichst wenig Zeitverlust auszuführen.
109849/U59
Gemäß der Erfindung wird diese Aufgabe dadurch gelöst, daß für jede Dividendenstelle eine Rest-Generatorschaltung vorgesehen ist, die durch Ausschöpfung der Dividendenziffern dieser Stelle mit dem Divisor eine Dividendenrestziffer bildet, daß jeder Dividendenstelle, ausgenommen der höchststelligen, eine Rest-Vorausschauschaltung zugeordnet ist, die die Dividendenrestziffern der höheren Stellen mit einem die jewei-
,. „ ,, ,.,, , , . , . j ' T^ ι (Basis Z - Divisor X) lige Stellendifferenz η berücksichtigenden Faktor ■*- — '—
multipliziert, das Produkt zu dem in der betreffenden Stelle bereits vorliegenden Rest addiert und aus der Summe durch Ausschöpfung mit dem Divisor eine Stellenrestziffer bildet, daß ferner für jede Dividendenstelle eine Quotienten-Generatorschaltung vorgesehen ist, die die Dividendenziffer dieser Stelle als rechtsseitigen (Einer) und die endgültige Stellenrestziffer der nächsthöheren Stelle als linksseitigen (Zehner) Eingangswert zugeführt erhält und durch Division mit dem Divisor eine Quotientenziffer bildet, und daß der Ausgang der Rest-Vorausschauschaltung der niedrigsten Stelle als Endrestausgang dient.
Bei einer in dieser Weise ausgebildeten Divisionseinrichtung werden die Restwerte, die in den einzelnen Dividendenstellen auftreten und bei der Quotientenermittlung in den niedrigeren Dividendenstellen zu berücksichtigen sind, bereits vor der eigentlichen Berechnung der Quotienten ziffern bestimmt und zu Stellenrestwerten zusammengefaßt. Dies geschieht mit Hilfe der Rest-Vorausschauschaltungen. Bei Vorliegen
109849/U59
der Stellenrestwerte sind die Quotientenziffern bei ihrer Bildung nicht mehr voneinander abhängig. Die Erzeugung der Quotientenziffern und des Endrestes der Divisionsoperation kann daher weitgehend parallel erfolgen.
Verschiedene vorteilhafte Ausgestaltungen der Erfindung sind aus den Ansprüchen zu ersehen. Nachfolgend sind mehrere Ausführungsbeispie-Ie der Erfindung anhand von Zeichnungen erläutert. Es zeigen:
Fig. 1: ein allgemeines Blockschaltbild der erfindungs gemäßen
Einrichtung,
Fig. 2: die Zusammengehörigkeit der Fig. 2A bis 2D,
Fig. ΖΑ-ΖΏι ein detailliertes Blockschaltbild einer bevorzugten Ausführungsform der Divisionseinrichtung von Fig. 1,
Fig. 3: ein detailliertes Blockschaltbild der Schaltungen 134 von
Fig. 2A und 2B,
Fig. 4: ein detailliertes Blockschaltbild der Schaltungen 128 in
den Fig. 2A bis 2D,
109U9/U59
-S-
Fig. 5: ein detailliertes Blockschaltbild der Schaltungen 126 in
den Fig. 2A bis 2D,
Fig. 6A: ein detailliertes Blockschaltbild der Schaltungen 132 in
den Fig. 2C und 2D,
Fig. 6B: ein detailliertes Blockschaltbild der Schaltung 130 in
Fig. 2C, ·
Fig. 7A: eine vereinfachte Dar stellung des Adressierungss chemas
eines Speichers zur Erläuterung einer möglichen Anwendung der erfindungs gemäßen Divisionseinrichtung,
Fig. 7B: ein Blockschaltbild der Schaltungen 44 von Fig. 9A und
9B,
Fig. 7C: ein Blockschaltbild einer anderen Ausführungsform der
Schaltung von Fig. 7B für Divisionen mit einer Basis von 10 und einem festen Divisor von 5,
Fig. TD: ein Blockschaltbild der Schaltungen 124 von Fig. 12A und
12B,
109849/1459
Fig. 8A-8D: Wertetafeln zur Erläuterung der Arbeitsweise der in den Fig. 2A bis 2D und 12A, 12B dargestellten Schaltungseinheiten 126, 128, 130 und 132,
Fig. 9A, 9B: ein Blockdiagramm einer Ausführungsform der erfindungs gemäßen Divisionseinrichtung für eine Basis 10 und feste Divisorwerte von 7,
Fig. 1OA, IQB: ein Blockschaltbild einer anderen Ausführungsform der erfindungs gemäßen Divisionseinrichtung für eine Basis von 8 und einen festen Divisor von 7,
Fig. 11: ein Blockschaltbild einer Ausführungsform der erfindungs-
gemäßen Divisionseinrichtung für eine Basis 10 und einen festen Divisor von 5 und
ν Fig. 12A, 12B: ein Blockschaltbild einer bevorzugten Ausführungsform der
erfindungs gemäßen Divisionseinrichtung für eine Basis von 8 und einen festen Divisor von 5.
Die dargestellte Divis ions einrichtung umfaßt eiae Quotienteöaiffe Jf-Generator stufe für jede Ziffernstelle des Dividenden mit Ausnajbme der höeh-
f-' sten Ziffernatelle. Jede dieser QuotientenijiffeE-GeBeratoratijfen b«ste.ht
109849/USS
941
aus einer Rest-Generatorschaltung und einer Divisions schaltung. Die Divisionsschaltung dient zur Erzeugung des jeweils wirksamen Dividenden durch Verknüpfung der ursprünglichen Difidendenziffer mit dem jeweils wirksamen Rest von allen höheren Ziffernstellen, der von der Rest-Generatorschaltung geliefert wird. Eine separate Divisionsschaltung, die keinen Rest-Eingang aufweist, ist für die höchste Dividendenziffernstelle vorgesehen und eine separate Rest-Generatorschaltung wird zur Erzeugung des endgültigen Restes verwendet.
In der dargestellten Divisionseinrichtung werden die Zwischenreste und der endgültige Rest im wesentlichen parallel erzeugt, und die komplette Division, die die Bildung aller Quotientenziffern durch Kombination der jeweiligen Quotientenziffer mit einem Restwert aus allen höheren Ziffernstellen und der Division des dabei erhaltenen Resultates durch den Divisor einschließt, kann ebenfalls parallel ausgeführt werden.
Vor der detaillierten Erläuterung des Ausführungsbeispiels der erfindungsgemäßen Dividiereinrichtung wird anhand eines Zahlenbeispiels ein Hauptanwendungsbereich dieser Dividiereinrichtung beschrieben.
In Fig. 7A ist ein Datenspeicher mit mehreren Speicherwörtern schematisch dargestellt, von denen jedes sieben Datenwörter enthält. Die Speicherwörter sind mit 0,1, 2, 3, 4 usw. am linken Rand der Figur
109849/1459
numeriert und jedes der Datenwörter ist durch eine Nummer in einem rechteckigen Feld spezifiziert. Wenn ein Datenwort aufgerufen wird, ist es notwendig, die gesamte Speicheradresse des angegebenen Datenwortes durch sieben zu dividieren. Der Quotient ist dann die Adresse des Speicherwortes und die Rest-Ziffer stellt die Adresse des Datenwortes in diesem Speicherwort dar. Die Adressen der Datenwörter innerhalb der Speicherwörter sind von links beginnend mit Q bis gekennzeichnet. Wenn beispielsweise das Datenwort 0 aufgerufen wird, so erfolgt eine Division von 0 durch 7, bei der sich ein Quotient von 0 und ein Rest von 0 ergeben. Daraus erfolgt, daß das Speicherwort 0 adressiert ist und die Nullposition in diesem Wort das gewünschte Datenwort enthält. Wenn das Datenwort 24 aufgerufen wird, erfolgt eine Division von 24 durch 7, die einen Quotient von 3 und einen Rest von 3 ergibt. In diesem Fall wird somit das Speicherwort 3 adressiert, und das gewünschte Datenwort befindet sich auf der Position 3 dieses Speicherwortes.
Ein typisches Rechenbeispiel ist nachfolgend dargestellt. Die Adresse des Datenwortes wird mit 92 466 angenommen.
109849/U59
7 9 (2) 2 4 1 3
79 2 (1) 4 6 6 1 3 2
7 9 2 4 (O) 6 6 1 3 2 0
7 9 2 4 6 (6) 6
13 2 0 9 +3/7
Das obige Beispiel zeigt in aufeinanderfolgenden Schritten die Ausführung der Division
92466
13209 + 3/7
Es ist festzustellen, daß, wenn alle in Klammern stehenden Zwischenreste anfänglich bekannt wären, es möglich wäre, die Quotientenziffern in der folgenden Weise zu bestimmen;
[JlIl.] [JBA.] 109849/U59
13209
- ίο -
Das Symbol j j bedeutet hierin "ganzzahliger Teil von".
Nachfolgend wird gezeigt, wie diese Zwischenrestwerte erhalten werden, können. Die Fig. 9A und 9B stellen ein Blockdiagramm einer Dividiereinrichtung gemäß der Erfindung dar. Diese Dividier einrichtung ist besonders zur Ausführung von Divisionen der vorausgehend beispielsweise dargestellten Art geeignet. Sie enthält Schaltungen zur vorausschauenden Bestimmung aller möglichen Restwerte der höheren Wertstellen, die auf den endgültigen Quotienten für eine bestimmte Dividendenziffer Einfluß haben. Der Dividiereinrichtung kann eine beliebige Zahlenbasis zu Grunde gelegt werden. Für das Ausführungs beispiel von Fig. 9A und 9B ist die Basis 10 und ein fester Divisor von 7 gewählt worden. Die Anordnung ist achtstellig, und der Dividend muß entsprechend nach rechts verschoben werden, wenn er weniger als 8 signifikante Ziffernstellen enthält, so daß die niedrigste Dividendenziffer stets in der äußersten rechten Stufe der Einrichtung steht.
Der Dividend wird den Schaltungen 10 bis 24 zugeführt. Diese Schaltungen sind einziffrige Dividier- oder Subtrahier stufen, die auf Leitungen 28 bis 42 Restziffern erzeugen. Im dar gestellten Beispiel können die Restziffern von 0 bis 6 variieren. Die Resfcziifern werden Schaltungen 44 bis 50 zugeführt, von denen eine im Detail in Fig. 7B ge- j zeigt ist.
Τ098Λ9Λ1459
- ii -
Die der Schaltung von Fig. 7B auf Leitung 52 zugeführte Ziffer wird in der Multiplizier schaltung 54 mit 3 multipliziert. Das Produkt auf Leitung 56 bildet einen der Eingänge der Addier schaltung 58. Der Grund, warum eine Multiplikation mit 3 erfolgt, wird nachfolgend erklärt. Die Ziffer auf der Leitung 52 kann einen Wert zwischen 0 und 6 haben, so daß auf Leitung 56 der Wert 0, 3, 6, 9, 12," 15 oder 18 auftreten kann.
Die der Schaltung von Fig. 7B auf Leitung 60 zugeführte Ziffer kann einen Wert zwischen 0 und 6 annehmen. Der Ausgang der Addiererschaltung 58 kann somit eine Zahl zwischen 0 und 24 sein. Die Schaltungen 44, 46, 48 und 50 sowie 68, 70 und 72 entsprechen in ihrem Aufbau der Schaltung von Fig. 7B,
Die Schaltungen 74, 76 und 78 von Fig. 9A und 9B entsprechen ebenfalls in ihrem Aufbau der in Verbindung mit Fig. 7B beschriebenen Schaltung mit der Ausnahme, daß die von links zugeführte Ziffer mit
2 anstatt mit 3 multipliziert wird. Der Ausgang der Schaltung 44 ist der linksseitige Eingang der Schaltungen 68 und 74 in der nächsten und übernächsten Stufe bzw» Kolonne der Dividiereinrichtung. Auf Grund dieser Kolonnendifferenz stellt der Multiplikationsfaktor von
3 in der Schaltung 68 den Wert dar, der durch Verminderung der Basis um 7 und Bildung der ersten Potenz aus dem Ergebnis ent-
109849/1459
steht. Der Multiplikationsfaktor 2 der Schaltung 74 stellt den entsprechenden Wert dar, aus dem hier jedoch die zweite Potenz gebildet wird, wonach wiederum eine Subtraktion von 7 solange vorgenommen wird, bis sich ein Rest von kleiner als 7 ergibt. ·
(10 - 7)2
32 =
9 - 7
Die Potenz ist jeweils diegleiche wie die Zahl der Stufen bzw. Kolonnen, die der linksseitige Eingang der jeweiligen Schaltung überspannt. Beispielsweise überspannt der linksseitige Eingang der Schaltung 80 drei Spalten, so daß sich ein Multiplikationsfaktor von 6 für diese Schaltung ergibt, da die dritte Potenz des oben erwähnten Wertes nach wiederholter Subtraktion von 7 den Wert 6 ergibt, wie die nachfolgende Berech-
nung zeigt: (10 -7)3 = 33 JJj
33 = 27
27 - (7 χ 3)
Der erwähnte Wert in der vorausgehenden Beschreibung ist stets 3, da dies der letzte positive Rest ist, wenn die Basis 10 durch den fe-
109849/U59
sten Divisor 7 dividiert wird.
Nachfolgend wird die Erzeugung der Zwischenrestwerte anhand der Fig. 9A und 9B im Detail erläutert. In allen der Fig. 9 bis 12 stellen die am oberen Zeichnungsrand über den Eingangslinien eingetragenen Ziffern die tatsächlichen Dividendenziffern dar. Die den Eingängen der einzelnen Funktionsblocke zugeordneten Ziffern stellen die tat-• sächlichen numerischen Werte dar, die auf diesen Leitungen beim an- · genommenen Beispiel erseheinen. In den Fig. 9A und 9B sind die einzelnen Stufen bzw. Kolonnen der Dividiereinrichtung von links nach rechts numeriert. Die Dividendenziffer der Kolonne 1 ist 0, und daher ist der Zwischenrest für die Kolpnne 2 ebenfalls· 0, Dasjgleiche trifft zu für die Kolonnen 3 und 4. Die Dividendenziffer für die Kolonne 4 ist 9. Die Schaltung 16 liefert daher auf ihre Ausgangsleitung 34 den Wert 2 (9 - 7). Diese 2 wird unverändert durch die Schaltung 46 übertragen, da der linksseitige Eingang der Schaltung 46 0 istuud da der Wert 7 im Eingangswert 2 nicht aufgeht.» Der Ausgang der Schaltung 46 ist der Eingang der Schaltung 74, durch die wiederum der Wert 2 unverändert hindurchläuft und somit Zwischenrest für die Spalte 5 wird.
In Spalte 5 bleibt die Dividendenziffer in der Schaltung 18 ebenfalls
ίο 941 10984971459
177457T
unverändert, da eine Division durch 7 keinen ganzzahligen Wert ergibt. Der Ausgang 36 der Schaltung 18 bildet den oberen Eingang für die Schaltung 72. Am linksseitigen Eingang dieser Schaltung liegt der Wert 2 an, der mit 3 multipliziert eine 6 ergibt, die zu 2 (oberer Eingang) addiert wird. Das Resultat ist somit 8. Hiervon ist der Dividend 7 subtrahierbar, und der Zwischenrest für die Spalte 6 ist daher 1.
Die Dividendenziffer für die Spalte 6 ist 4. Sie passiert unverändert die •Schaltung 20 und gelangt zum oberen Eingang der Schaltung 48. Am linksseitigen Eingang dieser Schaltung liegt der Wert 2 an, der mit 3 multipliziert 6 und, addiert zu 4, 10 ergibt. Die Schaltung 48 liefert einen Ausgangswert von 3 (10 - 7), der am oberen Eingang der Schaltung 78 ers.^'a^, Der linksseitige Eingang dieser Schaltung ist der Wert 2, der, multipliziert mit 2, 4 ergibt und, addiert zu 3, zum Resultat 7 führt. Der Ausgang der Schaltung 78 liefert daher den Wert 0, der als Zwischenrest zur Spalte 7 geleitet wird.
Die Bividendenziffer der Spalte 7 ist 6. Diese Ziffer passiert unverändert die Schaltung 22 und wird dem oberen Eingang der Schaltung 70 zugeführt. Der linksseitige Eingang dieser S;chaltung isit 3. Dieser Wert ergibt multipliziert mit 3 9, wozu: 6 addiert wird:, so daÄ dass-Restiltat 15 ist. Hierin ist die T zweimal entfcdjfcea% und. es
- 15 -
sich am Ausgang der Schaltung 70 der Wert 1, der zum oberen Eingang der Schaltung 80 gelangt. Der linksseitige Eingang der Schaltung 80 ist 2, woraus durch Multiplikation mit 6 12 entsteht, wozu 1 addiert wird, so daß sich 13 ergibt. In dieser 13 ist die 7 einmal enthalten, und der Zwischenrest für die Kolonne 8 ist 6 (13 - 7).
Der endgültige Rest der Division wird durch die Schaltungen in Spalte 8 erzeugt. Die Dividendenziffer dieser Spalte ist 6. Dieser Wert passiert unverändert die Schaltung 24 und gelangt zum oberen Eingang der Schaltung 50. Der linksseitige Eingang dieser Schaltung hat den Wert 6. Dieser Wert wird mit 3 multipliziert, so daß sich 18 ergibt, woraus durch Addition von 6 24 entsteht. Hierin ist 7 dreimal enthalten; der Ausgang der Schaltung 50 ist daher 3. Dieser Wert gelangt zum oberen Eingang der Schaltung 76, an deren links seitigemEingang ebenfalls der Wert 3 anliegt. Die auszuführende Multiplikation mit 2 ergibt 6, woraus durch Addition von 3 9 entsteht. 7 ist in ;9 einmal enthalten, so daß am Ausgang der Schaltung 76 der Wert 2 erscheint. Der Ausgang der Schaltung 76 ist mit dem oberen Eingang der Schaltung 82 verbunden, in welcher der linksseitig anliegende Wert 2 mit 4 multipliziert wird. Der Multiplikationsfaktor 4 ergibt sich dabei aus der vierten Potenz von 3 und fortgesetzte Subtraktion von 7 nach dem Schema:
1-Ö9949/U59
10 941
(10 = ι = 34 =
34 (7 81
81 - χ 11)
Die Multiplikation in der Schaltung 82 ergibt somit 8, wozu 2 vom oberen Eingang addiert wird. In dem Resultat 10 ist 7 einmal enthalten, so daß der endgültige Rest bzw. die Datenwortadresse 3 ist. In dieser Weise werden die Zwischen- und Endrestwerte auch bei anderen Zahlenbeispielen erzeugt.
Als nächstes ist es notwendig, die Quotientenziffern zu bilden. Dies geschieht mit Hilfe der Schaltungen 26, 84, 86, 88, 90, 92, 94 und 96. Die Schaltung 26 muß in der Lage sein, aus der höchststelligen Dividendenziffer eine 7 auszuschöpfen. Die übrigen der genannten Schaltungen sind in der Lage, aus den zwei ihnen zugeführten Ziffern bis zu neunmal den Wert 7 auszuschöpfen. Die beiden Eingangs ziffern können dabei im Bereich von 00 bis 69 liegen.
Die Schaltungen 84 und 86 erhalten an ihren Eingänge^ejnen Null-Rest und Null-Dividendenziffern zugeführt. Sie erzeugen daher auf ihren Ausgangsleitungen den Wert 0. Die Schaltung 88 erhält ebenfalls einen Null-Rest, jedoch ist die an ihrem Eingang erscheinende Dividendenziffer 9, aus der sie die Quotientenziffer 1 bildet. In ahn-
10ÖÖ4ÖVU69
10 941 . ' *
licher Weise erhalten die Schaltungen 90, 92, 94 und 96 die Eingangs-" werte 22, 14, 06 und 66 zugeführt und bilden daraus die Quotientenziffern 3, 2, 0 und 9. Es ist ersichtlich, daß die Schaltungen 26, 84, 86, 88, 90, 92, 94 und 96 einen ganzzahligen Wert bilden, welcher der Zahl entspricht, wie oft der Wert 7 in dem der jeweiligen Schaltung zugeführten Eingangswert enthalten ist.
Nachfolgend soll nun eja anderes Zahlenbeispiel betrachtet werden, bei dem der gleiche feste Divisor von 7 verwendet wird, bei dem jedoch die Basis 8 ist. Es wird dabei auf die Fig. 1OA und 1OB Bezug genommen. Es kann anhand dieses Beispieles festgestellt werden, daß sich die Rest-Vorausschauschaltungen erheblich vereinfachen. Anhand der Fig. 7B war zu sehen, daß der Faktor, mit welchem die linksseitigen Eingangsworte,, in der Multiplikations einrichtung 54 multipliziert wurden, der kleinste positive Rest ist, wenn die Basis durch 7 dividiert wird. Wenn dieser Faktor 1 ist, was der Fall ist, wenn die Radix bzw. die Basis den Wert 8 und der Divisor den Wert 7 hat, wird die Multipliziereinrichtung 54 überflüssig. Die Schaltung 64, welche die dargebotenen Eingangswerte mit dem Divisor 7 auszuschöpfen hat, urn den jeweiligen Zwischenrest zu ermitteln, hat dann in den meisten Fällen nur eine einmalige Ausschöpfungsoperation, d.h. efa.e einmalige Subtraktion von 7 vorzunehmen. Die in Fig. 9A und 9B dargestellten Schaltungen 44, 46, 48, 50, 68, 70, 72,. 74, 76, 78, 80 und
ΐ774571
82 können somit beim Beispiel nach Fig. 1OA und 1OB als untereinander identische Schaltungen 98, 100, 102, 104, 106, 108, 110, 112, 114» 116, 118 und 120 ausgebildet sein. Das Beispiel von Fig. 1OA und 1OB enthält die Division der Oktalzahl 000677765 durch 7, wobei sich als Resultat die Oktalzahl 00007776 und 3/7 ergibt. Die Zwischenrestwerte werden in ähnlicher Weise erzeugt, wie es anhand der Fig. 9A und 9B beschrieben wurde. Es werden dabei jedoch keine Multiplikationsoperationen ausgeführt und in den meisten Fällen genügt eine 7-Auss chöpfungs ope ration, um den jeweiligen Zwischenrest zu bilden. Bei der Erzeugung der Quotientenziffern ist zu beachten, daß die zweiziffrige Zahlt aus der in jeder Kolonne die Quotientenziffer dieser Kolonne erzeugt wird, eine Oktalzahl ist. Z.B. stellt die Oktalzahl 67 die Dezimalzahl 55. dar (6x8+7) und enthält den Wert 7 siebenmal.
Bi ähnlicher Weise enthält die Oktalzahl 55 das dezimale Äquivalent von 45 ( 5 χ 8 + 5), das durch 7 dividiert einen geradzahligen Quotienten von 6 ergibt. Es wird angenommen, daß anhand dieser Erläuterungen und anhand der vorausgehenden Beschreibung der Anordnung gemäS Fig. 9A und 9B die Arbeitsweise der Dividiereinrichfeang von Fig. IOA und IQB offensichtlich ist und keiner weiterem Erläuterung bedarf.
Eine weitere Vereinfachung der Resfe-VtarausssefeimÄ tasi** am£,
177A571
wenn, wie in Fig. 11 dargestellt, eine Basis von 10 (dezimal) und ein fester Divisor von 5 verwendet werden. Die in Fig. 7B dargestellte Schaltung zur Bildung des jeweiligen Zwischenrestes nimmt dann die in Fig. 7C dargestellte Form an.
Der Multiplikationsfaktor ist 0, da bei der Division von 10 durch 5 ein O-Rest erscheint. Die Multiplikationseinrichtung 122 und damit auch der linksseitige Eingang dieser Schaltung sind daher überflüssig. Ebenso ist die Divisionseinrichtung 124 nicht notwendig, da alle möglichen 5-AusSchöpfungen bereits in den im oberen Teil der Fig. 11 dargestellten Schaltungen zur Erzeugung des letzten positiven Restes aus der Dividendenziffer der jeweiligen Stufe vorgenommen worden sind. Die vorausgehend in Verbindung mit Fig. 9A und 9B, 1OA und 1OB beschriebenen Schaltungen, wie beispielsweise 44 und 98, können daher völlig weggelassen werden. Die Divisions einrichtung erhält dann die aus Fig. 11 ersichtliche Form. Ein anderer Weg zur Ausführung einer Division durch 5 im dezimalen System wäre die Verdopplung des Dividenden und die Ausführung einer Stellenverschiebung um eine Dezimalstelle nach rechts. Dabei wird die Ziffer der niedrigsten Stelle halbiert un^ergibt den endgültigen Rest. Beispielsweise wird der in Fig. 11 verwandte Dividend 92466 bei Verdopplung zu 184932. Wird eine Stellenverschiebung vorgenommen, so ergibt sich 18493 und 2/10, was 18493 und l/5 entspricht.
Die Fig. 12A und 12B geben ein bevorzugtes Ausführungsbeispiel der Erfindung an, bei dem als Radix bzw. Basis 8 (Oktalsystem) und ein fester Divisor von 3 verwendet werden. Da Oktalziffern bereits im herkömmlichen Binärsystem vorhanden sind und durch einfache Aufteilung eines binären Dividenden in Drei-Bit-Bytes, beginnend mit dem Basispunkt, erhalten werden können, ist eine Dividier einrichtung für das Oktalsystem bevorzugt anwendbar. Das Ausführungsbeispiel von Fig. 12A und 12B wird anhand der Fig. 1 bis 6 auch im Detail erläutert.
Zurückkommend auf Fig. 7B sei wiederholt, daß der Multiplikations faktor als der letzte positive Rest bei einer Division der Basis durch den Divisor definiert wurde. Im Falle des Beispiels von Fig. 12A und 12B, wo die Basis 8 und der Divisor 3 sind, ergibt sich ein Multiplikationsfaktor von 2. (Die 3 ist in der 8 zweimal enthalten, bei einem Rest vnn 2). Da der Divisor 3 ist, kann für den Wert 2 auch -1 verwendet werden. Dies ergibt sich daraus, daß bei einer weiteren Subtraktion des Wertes 3 von dem Wert 2 das Resultat -l'ist. Die Schaltung von Fig. 7B wird daher in der Anordnung gemäß Fig. 12A und 12B durch die Schaltung 126 von Fig. 7D ersetzt, welche die gleiche Funktion für die abgeänderte Basis 8 und den abgeänderten Divisor 3 erfüllt.
Im Beispiel von Fig. 12, wo die Oktalzahl 57534621 durch 3 dividiert wird, um als Resultat die Oktalzahl 17711460 und 1/3 zu erhalten, sind acht der Schaltungen 126 notwendig. Es ist zu bemerken, daß die Addiereinrichtung 127 in der Schaltung 126 (Fig. 7D) eine algebraische Addiereinrichtung ist, die sowohl positive als auch negative Größen verarbeiten kann. Die Eingangswerte der Schaltung 126 können nie größer als 2 sein. Wenn der Ausgang der Addiereinrichtung 127 -positiv ist, dann ist dieser Ausgangswert automatisch der letzte positive Rest. Wenn dagegen der Ausgang der Addier einrichtung 127 negativ ist, dann muß eine 3 zu dem betreffenden Wert addiert werden, um den letzten positiven Rest zu erhalten, ϊη Fig. 8A ist eine Wertetafel für die Schaltung 126 gezeigt. Es sei daran erinnert, daß in dem Fall, wenn der linksseitige Eingang einer Schaltung, wie beispielsweise 126, zwei Kolonnen der Dividier einrichtung überspannt, der Multiplikationsfaktor zu quadrieren ist. Der Multiplikations faktor -1 wird daher zu +1. Wenn drei Kolonnen überspannt werden, ergibt sich· erneut ein Multiplikations faktor von -1, da -1 die dritte Potenz von -1 ist. Werden vier Kolonnen überspannt, ergibt sich ein Multiplikationsfaktor von +1 (-1 erhoben zur vierten Potenz ist +l). Wegen diesen Veränderungen sind in Fig. 12A und 12B zusätzliche Schaltungen 128 vorgesehen, die in ihrem Aufbau den Schaltungen 126 gleichen mit der Ausnahme, daß der Multiplikationsfaktor anstelle von -1+1 ist. Eine Wertetafel für diese Schaltungen 128 zeigt die Fig. 8B. ''■■'.
10Ö84S/US9
Die Erzeugung der Zwisehenrestwerte für das Beispiel von Fig. 12A und 12B kann leicht anhand der Wertetafeln von Fig. 8A und 8B verfolgt werden. Zur Erzeugung der geradzahligen Quotientenziffern dienen Schaltungen 130 und 132. Eine Wertetafel für die Schaltung 130 ist in Fig. 8C und eine Wertetafel für die Schaltung 132 in Fig. 8D dargestellt. Alle in diesen Tafeln aufgeführten Zahlen sind Oktalzahlen.
In Fig. 1 ist ein allgemeines Blockdiagramm einer schnellen, für jede gewünschte Basis geeigneten Divisionseinrichtung gemäß der Erfindung für feste Divisoren gezeigt. Der obere mit "Eingaberegister" bezeichnete Block bezeichnet ein Register, in welchem der Dividend vor Beginn der Division eingestellt wird. Der Block "Rest-Erzeugungsschaltung - (Modulo X)" umfaßt alle Rest-Vorausschau-Schaltungen, wie sie vorausgehend anhand der Fig. 9 bis 12 beschrieben wurden. Es ist offensichtlich, daß die Schaltungen dieses Blockes in einem weiten Bereich variieren in Abhängigkeit davon, welche Basis und welcher fester Divisor verwendet werden. Die' in den Fig. 9 bis 11 mit "Generator für den letzten positiven Rest" bezeichneten Blöcke bilden, wie der Name bereits besagt, durch wföerholte Ausschöpfung der jeweiligen Dividendeneingangs ziffer durch den festen Divisor einen Rest, dessen maximale Größe durch einen maximalen Rest bestimmt wird, der bei wiederholter Aus Schöpfung der verwendeten Basis mit dem
109849/U59
177U571
verwendeten Divisor erhalten wird. Im Beispiel von Fig. 12 ist daher bei einem festen Divisor von 3 und einer Basis von 8 der maximal mögliche Rest 2.
Um irgendeine andere Zahl zu dievidieren, die ein geradzahliges Vielfaches des festen Divisors, z.B. 3 ist, können entsprechende Stellenverschiebungen des Dividenden oder Quotienten ausgeführt werden. Wenn es daher erwünscht ist, eine Division durch 6 (2 χ 3) durchzuführen, wird eine Rechtsverschiebung des Dividenden um eine Bitstelle vorgenommen. Danach wird der Dividend den Eingangsleitungen der Dividiereinrichtung zugeführt, die eine Division durch 3 vornimmt. Die rechts vom Basispunkt stehende Ziffer ist der Rest der Division durch 2 (R-). Der Gesamtrest der Division durch 6 (R/) wird bestimmt durch R, = 2 R + R . In ähnlicher Weise kann eine Division ο 3 c.
durch 12 (4 χ 3) durch eine Rechts verschiebung um zwei Bitstellen vor Beginn der Division durch 3 erzielt werden.
Der in Fig. 1 mit "Addier-/Dividierwerk" bezeichnete Block verkörpert die im unteren Teil der Fig. 9A und 9B, 1OA und 1OB sowie HA und HB dargestellten Addier- und Dividier schaltungen, wie beispielsweise die Schaltungen 130 und 132 von Fig. 12A. Dieser j31ock empfängt einerseits Eingangswerte direkt vom Ausgang des Eingaberegisters und andererseits Eingangswerte vom Ausgang der Rest-Erzeuger schaltung. Wie
vorausgehend erläutert, wird das Quotientenbit einer Stufe bzw. Kolonne der Dividiereinrichtung aus einem Restwert, der aus den höheren Wertstellen gebildet worden ist, und aus der Dividendenziffer fur die betreffende Stufe erzeugt. Der Ausgang des Addier-/Dividierwerk-Blockes führt zu einem Ausgaberegister, das in Fig. 1 die Bezeichnung "ganzzahliges Resultat" trägt. Der zweite Ausgang der Rest-Erzeuger Schaltung ist an ein Rest-Ausgaberegister angeschlossen, das in Fig. 1 die Bezeichnung "Rest" trägt.
In den Fig. 2A bis 2D ist ein detaillierteres Blockschaltbild einer Divisionseinrichtung gemäß Fig. 12A und 12B für eine Basis von 8 und einen festen Divisorwert von 3 dargestellt. Das am oberen Rand der Fig. 2Auid 2B gezeichnete Eingaberegister ist in der Lage, 24 binäre Bits zu speichern, die in 8 Bytes zu je 3 Bits aufgeteilt sind. Jedes dieser Bytes stellt den Dividendeneingangswert für eine der Stufen 1 bis 8 der Dividiereinrichtung dar. Jede dieser Stufen, die durch strichlierte Linien voneinander getrennt sind, umfaßt die Schaltungen, die notwendig sind, um das tatsächliche Quotientenbit für die betreffende Dividendenziffer und den der jeweiligen Stufe zugeführten Restwert zu erzeugen. Am rechten Ende der Fig. 2B und 2D ist eine zusätzliche Stufe gezeigt, die mit "Rest-Stufe" bezeichnet ist. Diese Stufe umfaßt die Schaltungen, die zur Zusammenfassung der potentiellen Restwerte für alle 8 Dividendenziffern notwendig sind,
109849/U59
ton einen resultierenden oder endgültigen Rest zu bilden.
Im übrigen entsprechen die in Fig. 2A bis 2D dargestellten Schaltungen völlig den in Fig. 12A und 12B dargestellten Schaltungen. Ergänzend sind die verschiedenen Bitleitungen, Register, usw. dargestellt. Die Blöcke 126 entsprechen den Blöcken 126 von Fig. 7D. Die Bezeichnung "MOD. 3 SUBTR." dient zur Unterscheidung, daß die Additions einrichtung 127 in diesen Stufen eine algebraische Additions einrichtung ist, die sowohl positive als auch negative Werte verarbeitet. Im Gegensatz hierzu enthalten die mit "MOD. 3 ADD." bezeichneten Stufen einfache Addiereinrichtungen 127. Die Funktion dieser Schaltungen ist diegleiche, wie sie für die Schaltungen 126 und 128 in Verbindung mit den Fig. 12A und 12E beschrieben worden sind.
Der Aufbau der verschiedenen Schaltungen von Fig. 2 ist im einzelnen in den Fig. 3 bis 5, 6A und 6B dargestellt. Die in den Fig. 2A und 2B mit "C" bezeichneten Schaltungen 134 entsprechen den Schaltungen 124 von Fig. 12A und 12B und haben die Aufgabe, eine Divisionsfunktion auszuführen, indem sie die jeweilige Dividendenziffer mit dem festen Divisorwert (in diesem Falle 3) ausschöpfen und so einen letzten psoitiven Restwert erzeugen. Den detaillierten Aufbau dieser Schaltungen zeigt die Fig. 3. Die Ausgangsleitungen C9, C9, C1 und C1 sind
Ld Lt L X
die oberen Eingangsleitungen der Schaltungen 126 und 128. In Stufe 7
109849/U59
führen die Ausgänge von der Schaltung 134 zum linksseitigen Eingang der Schaltung 132 der gleichen Stufe. Dies ist der Fall, da in dieser Stufe nur eine höherstellige Ziffer zu erfassen ist und daher der Eingang nicht von weiteren Stufen abhängig ist. Die Schaltung 134 besteht aus einer Anzahl Und- und Oder-Schaltungen (Fig. 3). Die Verknüpfung dieser logischen Schaltungen ist im unteren Teil der Fig. 3 durch die entsprechende Bool 'sehe Gleichung angegeben. Ebenso sind die binären und oktalen Gewichte, die den einzelnen Eingangs- und Aus gangs leitungen zugeordnet sind, in der Zeichnung eingetragen.
In Fig. 4 ist der detaillierte Aufbau der Schaltungen 128 von den Fig. 2A1 2B und 2D dargestellt. Die verschiedenen Eingangsleitungen sind mit T und L bezeichnet zur Unterscheidung zwischen den vier rechtsseitigen Eingängen und den vier oberen Eingängen entsprechend der Darstellung der Schaltungen 128 in den Fig. 12A und 12B. Auch diese Schaltungen bestehen aus einer Anzahl konventioneller Und- und Oder-Schaltungen. Wiederum sind die logischen Gleichungen zur Vereinfachung der Beschreibung in der Zeichnung eingetragen.
Die Fig. 5 gibt den logischen Aufbau der Schaltungen 126 von den Fig. EA1 2B und 2D an. Wie in Fig. 4 sind auch hier die Eingangsleitungen mit T und L bezeichnet zur Unterscheidung zwischen den linksseitigen Eingängen und den oberen Eingängen entsprechend der Darstellung in
109049/145 9
den Fig. 12A und 12B.
Die Fig. 6A ist ein detailliertes Blockschaltbild der Schaltungen 132 von Fig. 2C und 2D. Diese Schaltungen sind ebenfalls aus konventionellen Und- und Oder-Schaltungen aufgebaut. Die rechtsseitigen, mit N bezeichneten Eingänge kommen direkt von den der betreffenden Stufe der Dividiereinrichtung zugeordneten Bistellen des Dividenden-Eingangsregisters. Diese Bitstellen sind in Fig. 6A links oben strichliert dargestellt. Die von den Dividendenregisterstellen zugeführten Eingangswerte sind wie auch in Fig. 3 mit N bezeichnet. Die linksseitigen, mit L bezeichneten Eingänge der Schaltung von Fig. 6A kommen von einer der Schaltungen 124, 126 oder 128, wie im einzelnen aus den Fig. 2A bis 2D ersichtlich ist. Die Schaltung 132 weist lediglich drei Ausgangsleitungen auf. Jeder dieser mit Q bezeichneten Ausgänge wird nur dann aktiv, wenn er eine binäre Eins anzuzeigen hat. Die Bool'sehen Gleichungen für die Ausgangs signale auf den Q-Ausgangen sind im unteren Teil der Fig. 6A angegeben. Da die erzeugten Quotientenziffern lediglich durch das Vorhandensein oder das Fehlen einer binären Eins auf je einer einzigen Leitung angezeigt werden, ist es vor jeder Neueinstellung notwendig, das Resultatregister 136 (2C durch Zuführung eines Signals zu Leitung 140 zu löschen. Nachdem dies geschehen ist, wird ein Impuls über Leitung 142 einer Vielfachtorschaltnng 143 zugeführt, über die die erzeugten Quotienten-
109849/U59
ziffern von allen Schaltungen 130 und 132 zum Register 136 übertragen werden. Die Flg. 6B gibt ein Blockschaltbild für die Schaltung 130 von Fig. 2C an. Es ist ersichtlich, daß es sich bei dieser Schaltung, dm ein einfaches Dividierwerk handelt, das eine ganzzahlige Größe als Quotientenziffer liefert als Resultat der höchststelligen Dividendenziffer durch den festen Divisorwert, im vorliegenden Falle 3. Die logischen Beziehungen, nach denen dies geschieht, sind bei den mit Q bezeichneten Ausgangsleitungen der Schaltung von Fig. 6B eingetragen.
Bei Betrachtung der Dividier einrichtung von Fig. 2A bis -2D wird deutlich, daß die Schaltung hochgradig parallel arbeitet, wodurch insbesondere in dem. Rest-Vorausschau-Teil eine erhebliche Einsparung an Operationezeit möglich wird. Z.B. könnte in der Stufe 4 die Schaltung 128 vollständig weggelassen werden, wenn der Schaltung 126 am oberen bzw. rechtsseitigen Eingang die Ausgangs signale der Schaltung 134 und am linksseitigen Eingang die Ausgangs signale der Schaltung 126 von Fig. 5 zugeführt werden. Es würde in diesem Falle das gleiche Resultat erhalten werden, jedoch hätte die S chaltungs einspar ung eine Verlängerung der Operations zeit zur Folge. Im Prinzip könnte jede der Stufen auf eine Schaltung 134 und eine Schaltung 126 reduziert werden, wenn ein Aufbau mit einem Minimum an Schaltelemen-
109849/U59
ten angestrebt wird. Wenn jedoch andererseits ein gewisser Aufwand an Bauteilen auf Kosten der Erzielung einer hohen Arbeitsgeschwindigkeit gerechtfertigt ist, kann für die erfindungsgemäße Dividiereinrichtung ein Aufbau gewählt werden, wie ihn die Fig. 12A und 12B oder 2A bis 2D zeigen.
Die Dividiereinrichtung nach der Erfindung kann auch mit Vorteil bei der Division eines binären Dividenden durch einen festen Divisor von 5 angewendet werden. In solch einem Falle kann der Dividend in einfacher Weise in Gruppen zu je vier Bits unterteilt werden, so daß im Effekt mit einer Radix von 16 gearbeitet wird. Der letzte positive Rest bei einer Division von 16 durch 5 ist 1, wodurch die Multiplikationseinrichtung 54 (Fig. 7B) überflüssig wird, und die Rest-Vorausschau-Schaltungen, wie 126 und 128 von Fig. 12A und 12B können die Form von einfachen Addierwerken annehmen.
Für eine bestimmte Anwendung kann die gewünschte Zahlenbasis und die Zahl der Dividendenstellen, über die sich die Re st-Voraus schau-Schaltungen erstrecken sollen, so gewählt werden, daß sich eine effektive Ausnutzung der verfügbaren logischen Schaltungen ergibt. Bei binären Datenverarbeitungsanlagen würde eine Basis von 8, 16, 32 etc. zu bevorzugen sein. Obwohl die Wahl des festen Divisors von anderen Bedingungen abhängig sein kann, sollten wenn möglich Divisoren
109049/1459
wie 3, 5, ect. in Verbindung mit einer geeigneten Zahlenbasis bevorzugt werden, so daß der Multiplikationsfaktor in der Schaltung nach Fig. 7B zu +1 oder -1 reduziert werden kann und auch andere Vereinfachungen im Schaltungsaufbau möglich werden.
Wie bereits weiter oben angedeutet, kann die erfindungsgemäße Dividiereinrichtung in Verbindung mit herkömmlichen Schieberegistern verwendet werden, um eine Division durch einen mit einer Potenz von vervielfachten festen Divisorwert, z.B. 6 {= 2 χ 3) oder 12 (= 4 χ 3), auszuführen.
Wie ebenfalls bereits angedeutet, ist es bei Betrachtung der Fig. 2A und ZD ersichtlich, daß ein Teil der Schaltungen in den niedrigstelligen Stufen dem Zweck dient, einen höheren Grad an Parallelität bei der Verarbeitung der Zwischenreste von den höheren Wertstellen zu einem endgültigen Rest zu erzielen. In der dargestellten Schaltung werden die Zwischenrestwerte von den vier höchsten Stellen über die Schaltung 128 der Stufe 4 direkt bzw. parallel den vier niedrigstelligen Stufen, d.h. den Stufen 3, 2 und 1 sowie der Rest-Stufe, zugeführt. Die Erzeugung der Zwischenreste in diesen niedrigstelligen Stufen kann daher parallel mit der Erzeugung in den höher stelligen Stufen erfolgen. Hieraus ist offensichtlich, daß ein größerer oder kleinerer Grad an Parallelität in die Schaltung eingebaut werden kann in Abhängigkeit da-
10 98 49/ US 9
von, in welchem Urnfange eine hohe Arbeitsgeschwindigkeit der Dividier einrichtung auf Kosten eines erhöhten Schaltungsaufwandes zulässig oder erwünscht ist.
Eine erfindungsgemäß ausgebildete Dividiereinrichtung für eine Basis von 8 und einen festen Divisorwert von 3 ist in der Lage, den vollständigen Quotientenwert und den ihm zugeordneten endgültigen Rest in etwa 1/20 der Zeityzu bilden, die eine bekannte Rechenanlage im allgemeine η für eine Divisionsoperation benötigt. Dieses Verhältnis kann etwas reduziert werden, wenn ein fester Divisorwert bei einer Divisionseinrichtung verwendet wird, die nach einem bekannten Divisionsalgorithmus arbeitet, bei dem die höchststelligen Quotientenbits zuerst bestimmt werden und die sich ergebenden Zwischenreste jeweils zur nächstniedrigen Wertstelle übertragen und dort verarbeitet werden. Eine Divisionseinrichtung mit einer derartigen sequentiellen Verarbeitung der" einzelnen Dividendenreste würde bei einer Division durch 3 eine etwa zwei- bis dreimal längere Operations zeit benötigen als die Dividiereinrichtung von Fig. 2A bis 2D, wenn eine Operandenlänge von 24 Bits zugrundegelegt wird. Die Operations zeit der erfindungsgemäßen Dividier einrichtung ist mit einer logarithmischen Funktion von der Operandenlänge abhängig, so daß eich die Überlegenheit gegenüber den bekannten Dividiereinrichtungen besonders bei großen Operandenlängen zeigt.
109849/1459

Claims (9)

177 A R 7 1 - 32 - Böblingen, 17. Juli 1968 km-hn PATENTANSPRÜCHE
1. Einrichtung zur Division mehrstelliger Dividenden der Basis Z
durch einen festen Divisor X, dadurch gekennzeichnet, da/3 für jede Dividendens teile eine Rest-Generator schaltung (134) vorgesehen ist, die durch Ausschöpfung der Dividendenziffer dieser Stelle mit dem Divisor eine Dividendenrestziffer bildet, daß jeder Dividendenstelle, ausgenommen der höchststelligen, eine Rest-Vorausschau-Schaltung (126, 128) zugeordnet ist, die die Dividendenziffern der höheren Stellen mit einem die jeweilige
(Z - X)n Stellendifferenz η berücksichtigenden Faktor -*—-^ '— multi-
pliziert, das Produkt zu dem in der betreffenden Stelle bereits vorliegenden Rest addiert und aus der Summe durch Ausschöpfung mit dem Divisor eine Stellenrestziffer bildet, daß ferner für jede Dividendenstelle eine Quotientengenerator schaltung (130, 132) vorgesehen ist, die die Dividenden ziffer dieser Stelle als rechtsseitigen (Einer) und die endgültige Stellenrestziffer der nächsthöheren Stelle als linksseitigen (Zehner) Eingangswert zugeführt erhält und durch Division mit dem Divisor die Quotientenziffer bildet, und daß der Ausgang der Rest-Vorausschau-Schaltung der niedrigsten Stelle als Endrestausgang dient.
1 09849/1459
2. Einrichtung nach Anspruch 1, dadurch gekennzeichnet, daß jede
der Rest-Vorausschau-Schaltungen je nach der Zahl der zu verarbeitenden Dividendenrestziffern von den höheren Stellen aus einer Anzahl in Serie geschalteter Zusammenfasser schaltungen (126, 128) besteht, von denen jede eine Festwert-Multiplizierschaltung (54), eine Addier schaltung (58) und eine Dividier- oder Ausschöpfschaltung (64) aufweist und die in der vorausgehenden Zusammenfasser schaltung gebildete Stellenrestziffer und eine Dividendenrestziffer als Eingangswerte zugeführt erhält.
3. Einrichtung nach Anspruch 1 und 2, dadurch gekennzeichnet, daß
die Gesamtheit der Zusammenfasserschaltungen (126, 128) eine Pyramide bilden, indem der Ausgang einer jeden Zusammenfasserschaltung einerseits mit dem Eingang einer Zusammenfasserschaltung der nächsten Stelle und zum anderen mit der nachfolgenden Zusammenfasserschaltung der gleichen Stelle verbunden ist.
4. Einrichtung nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, daß die aus Rest-Generatorschaltung (134), Rest-Vorausschau-Schaltung (126, 128) und Quotientengenerator schaltung (130 oder 132) gebildeten Stufen in Gruppen unterteilt sind, daß die Re st-Vor aus schau-Schaltungen innerhalb einer Gruppe in
10 98V97U5 9
jeder Stufe eine die Divxdendenrestziffern aller höher stelligen Stufen beinhaltende Stellenrestziffer bilden und daß die Stellenrestziffer der höchsten Stufe einer Gruppe den Rest-Vorausschau-Schaltungen aller Stufen der nächsthöheren Gruppe parallel zugeführt wird.
5. Einrichtung nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, daß bei Verwendung einer Basis Z und eines festen
Z
Divisors X, die bei einer Division — einen Rest von 1 er-
geben (z.B. Z = 8, X = 7), die Rest-Vorausschau-Schaltungen (z.B. 98) eine Stellenrestziffer durch Addition von zwei Dividendenrestziffern bzw. einer Dividendenrestziffer und einer bereits vorliegenden Stellenrestziffer und anschließender Ausschöpfung der Summe mit dem Divisor bilden.
6. Einrichtung nach Anspruch 1 bis 4, dadurch gekennzeichnet, daß
bei Verwendung einer Basis Z und eines festen Divisors X, die
Z
bei einer Division -—— einen Rest von 2 ergeben (z.B. Z = 8, X = 3), die Rest-Vorausschauschaltungen (126, 128) je nach Stellendifferenz der beiden zusammenzufassenden Dividendenrestziffern als Multiplikationsfaktor -1 oder +1 verwenden und daß im ersteren Falle die Addier schaltung (54) zur Verarbeitung positiver und negativer Eingangswerte ausgebildet ist.
109849/145 9
7. Einrichtung nach einem der Ansprüche 1 bis 6, dadurch gekennzeichnet, daß bei einer Basis Z > 2 jede Dividendenziffer durch eine binäre Bitgruppe dargestellt wird und daß die Rest-Generator schaltungen (134), die Rest-Vorausschau-Schaltungen (126, 128, 98) und die Quotientengenerator schaltungen (132) so ausgelegt sind, daß sie als Rest- bzw. Quotientenziffern entsprechende binäre Bitgruppen liefern.
8. Einrichtung nach den Ansprüchen 2 bis 7, dadurch gekennzeichnet, daß die Zusammenfass er schaltungen (126, 128) für einen Multiplikationsfaktor +1 aus einer kombinierten Addier- Dividierschaltung der Form:
VT1 T2
V Tl Ll
Tl 1I V ?1 Ll V T2 L2
und für einen Multiplikationsfaktor -1 aus einer kombinierten Subtrahier-Dividierschaltung der Form:
Sl = Tl Ll L2 V T2 Ll V Tl
Γ1 = Yl F2 r2 V T2 17I V Tl
1098A9/U5
S2 * Ί2 Ll L2 V Tl T2 Ll V Tl L2
L2
bestehen, worin S , S , S und S Bits der Wertigkeit 1 bzw. 2 einer oktalen Stellenrestziffer und L , L , L_, L und T ,
X X Ct Ct X
T1, T , T die Bits der Wertigkeit 1 bzw. 2" von zwei Dividen-
ί Ct Ct
den- bzw. Stellenrestziffern sind.
9. Einrichtung nach Anspruch 7, dadurch gekennzeichnet, daß ein-
gangsseitig eine Bitstellenver schiebe schaltung vorgesehen ist, die für eine Division durch ein geradzahliges Vielfaches des Divisors eine stellenverschobene Zuführung der Dividendenziffern gestattet.
109849/1459
DE19681774571 1967-07-19 1968-07-18 Divisionseinrichtung Pending DE1774571A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US65457967A 1967-07-19 1967-07-19

Publications (1)

Publication Number Publication Date
DE1774571A1 true DE1774571A1 (de) 1971-12-02

Family

ID=24625430

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19681774571 Pending DE1774571A1 (de) 1967-07-19 1968-07-18 Divisionseinrichtung

Country Status (4)

Country Link
US (1) US3527930A (de)
DE (1) DE1774571A1 (de)
FR (1) FR1579667A (de)
GB (1) GB1177608A (de)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3648038A (en) * 1969-04-25 1972-03-07 Ibm Apparatus and method for obtaining the reciprocal of a number and the quotient of two numbers
JPS6042970B2 (ja) * 1979-07-11 1985-09-26 日本電気株式会社 並列処理システム
JPS58140846A (ja) * 1982-02-16 1983-08-20 Hitachi Ltd 2進化10進数除算装置
US4503512A (en) * 1982-02-22 1985-03-05 Amdahl Corporation Cellular division circuit
US6341327B1 (en) 1998-08-13 2002-01-22 Intel Corporation Content addressable memory addressable by redundant form input
US6172933B1 (en) * 1998-09-04 2001-01-09 Intel Corporation Redundant form address decoder for memory system
US7685221B1 (en) * 2003-03-17 2010-03-23 Marvell Israel (M.I.S.L.) Ltd. Efficient remainder calculation for even divisors
GB2540215B (en) 2015-07-10 2020-09-09 Advanced Risc Mach Ltd An apparatus and method for performing division

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3223831A (en) * 1961-12-27 1965-12-14 Ibm Binary division apparatus
US3293418A (en) * 1964-07-08 1966-12-20 Control Data Corp High speed divider
US3344261A (en) * 1965-09-28 1967-09-26 Division by preselected divisor

Also Published As

Publication number Publication date
US3527930A (en) 1970-09-08
FR1579667A (de) 1969-08-29
GB1177608A (en) 1970-01-14

Similar Documents

Publication Publication Date Title
DE1524162A1 (de) Einrichtung zur parallel-simultanen Verarbeitung zusammengehoeriger Gruppen von Daten
DE1236834B (de) Rechengeraet
DE1549476B2 (de) Anordnung zur ausfuehrung von divisionen
DE2031040B2 (de) Verfahren zur festlegung des zugangs von mehreren benutzern zu einer einheit einer datenverarbeitungsanlage und anordnung zur durchfuehrung des verfahrens
DE2360022A1 (de) Binaeres 2-bit-dividierverfahren und vorrichtung zur ausfuehrung des verfahrens
DE2221693C3 (de) Schaltungsanordnung zur Ausführung einer Multiplikation zwischen zwei Binärzahlen
DE2814078A1 (de) Addierschaltung mit zeitweiliger zwischenspeicherung des uebertrags
DE2063199B2 (de) Einrichtung zur Ausführung logischer Funktionen
DE1774571A1 (de) Divisionseinrichtung
DE1115488B (de) Datenverarbeitungssystem
DE3303269C2 (de)
DE2034841B2 (de) Matrixanordnung für Digital Rechenanlage
DE2830334C2 (de)
DE2233193A1 (de) Stapel-speichersystem
DE1499174B1 (de) Dividiervorrichtung fuer Digitalrechner
DE1524169A1 (de) Divisionseinrichtung
DE2321298A1 (de) Dezimal-binaer-umsetzer
DE2952689C2 (de)
DE1549461C3 (de)
DE1061099B (de) Datenuebertragungsvorrichtung fuer elektronische Rechenanlagen und datenverarbeitende Maschinen
DE1808159B2 (de) Einrichtung zur umsetzung von dualzahlen in binaer codierte dezimalzahlen in paralleler darstellung
DE1549485B2 (de) Anordnung zur division binaerer operanden ohne rueckstellung des restes
DE1090885B (de) Parallel arbeitende, synchrone, elektrische, binaerrechnende Zahlenrechenmaschine, welche die Operation x+yz selbsttaetig auszufuehren vermag
DE1808159C (de) Einrichtung zur Umsetzung von Dualzahlen in binär codierte Dezimalzahlen in paralleler Darstellung
DE1524146C (de) Divisionseinrichtung