DE1549485B2 - Anordnung zur division binaerer operanden ohne rueckstellung des restes - Google Patents
Anordnung zur division binaerer operanden ohne rueckstellung des restesInfo
- Publication number
- DE1549485B2 DE1549485B2 DE19671549485 DE1549485A DE1549485B2 DE 1549485 B2 DE1549485 B2 DE 1549485B2 DE 19671549485 DE19671549485 DE 19671549485 DE 1549485 A DE1549485 A DE 1549485A DE 1549485 B2 DE1549485 B2 DE 1549485B2
- Authority
- DE
- Germany
- Prior art keywords
- quotient
- remainder
- register
- dividend
- zero
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/52—Multiplying; Dividing
- G06F7/535—Dividing only
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/535—Indexing scheme relating to groups G06F7/535 - G06F7/5375
- G06F2207/5352—Non-restoring division not covered by G06F7/5375
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)
- Executing Machine-Instructions (AREA)
Description
Die Erfindung betrifft eine Anordnung zur Division von binären Operanden mit beliebigen Vorzeichen
ohne Rückstellung des Dividendenrestes durch Ausführung iterativer Subtraktionen oder Additionen des
Divisors vom bzw. zum Dividenden.
Es ist bekannt, die Division binärer Zahlen durch iterative Subtraktion des Divisors vom positiven Dividenden
auszuführen. Für eine Subtraktion, die einen positiven Dividendenrest ergibt, wird eine Eins in die
zugeordnete Stelle eines Quotientenregisters eingegeben. Tritt dagegen ein negativer Dividendenrest auf,
wird ein Null-Bit in das Quotientenregister gebracht und eine Rückstellung des Dividendenrestes auf den
Wert vorgenommen, den er vor Beginn dieser Subtraktion hatte. Nach Vornahme einer Stellenverschiebung
zwischen Dividend und Divisor erfolgt die nächste Subtraktionsiteration. Um die Rückstellung
des Dividendenrestes, die durch Rückaddition des Divisors erfolgt und daher einen zusätzlichen Rechentakt
erfordert, zu vermeiden, wird in bekannten Divisionseinrichtungen auch eine rückstellungsfreie Division
verwendet (z. B. »Digitale Rechenanlagen« von A.P.Speiser, Berlin, 1961, S. 209), die darin besteht,
daß bei Auftreten eines negativen Restes sofort zur nächsten Stelle weitergegangen wird und die folgende
Iteration nicht als Subtraktion, sondern als Addition ausgeführt wird. Der nächste Vorzeichenwechsel
des Dividendenrestes bewirkt dann wieder eine Umschaltung auf Subtraktion usw. Auch hier
wird für jede Iteration nur dann ein Eins-Bit des Quotienten gebildet, wenn während dieser Iteration
kein Vorzeichenwechsel des Dividendenrestes aufgetreten ist.
Die von einer Datenverarbeitungsanlage zu verarbeitenden Binärzahlen sind im allgemeinen vorzeichenbehaftet.
Positive Binärzahlen werden in echter Form und negative Binärzahlen durch das Zweierkomplement
des jeweiligen Wertes ausgedrückt. Die erste bzw. höchste Stelle der Binärzahlen dient dabei
zumeist als Vorzeichenstelle. Die Division negativer Binärzahlen bereitet gewisse Schwierigkeiten. Solange
der Dividend positiv ist und lediglich ein negativer Divisor vorliegt, ist der Unterschied zur Verarbeitung
positiver Operanden nicht groß. In diesem Falle kehrt sich einfach die Operationsart der auszuführenden
Iterationen um, aus Subtraktionen werden Additionen,
3 4
und umgekehrt. Außerdem ist der Quotient, der in F i g. 4 ein Blockschaltbild einer Dividenden-Vorechter
Binärdarstellung entwickelt wird, obwohl er zeichensteuerschaltung, wie sie in der Anlage von
ein negatives Vorzeichen besitzt, nach beendeter Fig. 1 verwendet wird,
Division zu komplementieren. F i g. 5 ein Blockschaltbild einer Quotienten-Vorist
dagegen der Dividend negativ, so kompliziert 5 zeichensteuerschaltung, wie sie in der Anlage von
sich die Erzeugung der Quotientenbits erheblich. F i g. 1 verwendet wird,
Während bei der Verarbeitung von positiven Divi- F i g. 6 eine Quotienten-Generatorschaltung, die
denden ein Eins-Bit des Quotienten in einfacher sich zur Verwendung in der Anlage von F i g. 1 eignet,
Weise stets dann gebildet wird, wenn der Dividend F i g. 7 ein Blockschaltbild eines Registers, das in
bzw. Dividendenrest, von dem die jeweilige Iteration io der Anlage von F i g. 1 als gemeinsames Register für
ausgeht, und das Resultat dieser Iteration (neuer einen Teil des Dividendenrestes und für den Quo-
Dividendenrest) gleiche Vorzeichen haben, gilt diese tienten dient,
Regel bei Verwendung negativer Dividenden nicht F i g. 8 ein Blockschaltbild der Steuerschaltung zur
mehr ohne weiteres. Eine Reduktion eines negativen Divisorkomplementierung für die in der Anlage von
Dividenden zu Null ergibt nämlich die Anzeige eines 15 F i g. 1 enthaltene Divisionsanordnung,
positiven Restes, wodurch wegen des Vorzeichen- F i g. 9 ein Blockschaltbild eines Ubertragsgeneraunterschiedes bei Anwendung der vorgenannten Regel tors, der entsprechend den Prinzipien vorliegender keine Quotienten-Eins gebildet wird, obwohl dies Erfindung in der Anlage von F i g. 1 verwendet wird, eigentlich geschehen müßte, da die betreffende Itera- Fig. 10 ein Blockschaltbild einer Null-Rest-Abtion erfolgreich war. Aus diesem Grunde wurde bis- 20 tastschaltung, die gemäß der Erfindung in der in der her die Verwendung der negativen Darstellung Anlage von Fig. 1 vorgesehenen Anordnung zur (Zweierkomplement) bei der Ausführung von Divi- Ausführung von Divisionen benutzt wird, und
sionen vermieden. Statt dessen werden bei den be- Fig. 11 ein Blockschaltbild einer Null-Rest-Verkannten Divisionseinrichtungen negative Dividenden riegelungsschaltung, die gemeinsam mit der Abtastunter Registrierung ihres Vorzeichens in die echte 25 schaltung nach Fig. 10 verwendet wird.
Binärdarstellung umgewandelt, bevor mit einer Divi- Die vorliegende Erfindung macht von der bekannsion begonnen wird. Da hierzu eine Bildung des ten Methode der rückstellungsfreien binären Division Zweierkomplementes notwendig ist, genügt es nicht, Gebrauch. Sie sieht die Verwendung negativer Dividen Dividenden einfach zu invertieren. Vielmehr muß denden in komplementärer Form vor, ohne daß eine zur invertierten Form, die das Eins-Komplement des 30 Notwendigkeit zur Umwandlung der Dividenden in ursprünglichen Wertes darstellt, noch ein Endüber- ihre echte Form vor Beginn der Divisionsoperation trag addiert werden. Zu diesem Zweck ist die Durch- notwendig ist. Die Einrichtungen, die zur Ausführung führung eines vollständigen Additionszyklusses er- bekannter Divisionsschritte benutzt werden, sind in forderlich. Die Umwandlung negativer Dividenden in der vorliegenden Beschreibung nur allgemein dardie verarbeitbare Form stellt daher einen erheblichen 35 gestellt, um den Rahmen anzugeben, in dem die ErZeitverlust dar, der sich besonders dann auswirkt, findung verwendbar ist. Es sind zahlreiche Typen von wenn innerhalb eines Programms zahlreiche Divi- Computern bekannt, die sich zur Ausführung binärer sionen auszuführen sind. Divisionen durch aufeinanderfolgende Additions-Aufgabe vorliegender Erfindung ist, diesen Nach- Iterationen von Komplementwerten eignen. Jede teil zu vermeiden und eine Anordnung anzugeben, 40 dieser Computertypen ist geeignet, als Rahmenanorddie ohne großen Mehraufwand die Verarbeitung von nung bei der Anwendung vorliegender Erfindung zu in negativer Darstellung vorliegenden binären Divi- dienen. Die nachfolgende Beschreibung beschränkt denden gestattet. Gemäß der Erfindung wird dies sich daher auf eine detaillierte Erläuterung der- der dadurch erreicht, daß negative Dividenden in der Erfindung zugrunde liegenden Theorie und von Schalvorliegenden Form, also ohne vorherige Komplemen- 45 tungsbeispielen für die Erzeugung der besonderen tierung, dem die Iterationen ausführenden Rechen- Steueroperationen, die benötigt werden, wenn die Erwerk zugeleitet werden, daß eine Null-Rest-Abtast- findung in einem bekannten binären Dividierwerk schaltung vorgesehen ist, die beim Vorhandensein Verwendung findet,
von Nullen in allen Stellen des sich bei einer Iteration
positiven Restes, wodurch wegen des Vorzeichen- F i g. 9 ein Blockschaltbild eines Ubertragsgeneraunterschiedes bei Anwendung der vorgenannten Regel tors, der entsprechend den Prinzipien vorliegender keine Quotienten-Eins gebildet wird, obwohl dies Erfindung in der Anlage von F i g. 1 verwendet wird, eigentlich geschehen müßte, da die betreffende Itera- Fig. 10 ein Blockschaltbild einer Null-Rest-Abtion erfolgreich war. Aus diesem Grunde wurde bis- 20 tastschaltung, die gemäß der Erfindung in der in der her die Verwendung der negativen Darstellung Anlage von Fig. 1 vorgesehenen Anordnung zur (Zweierkomplement) bei der Ausführung von Divi- Ausführung von Divisionen benutzt wird, und
sionen vermieden. Statt dessen werden bei den be- Fig. 11 ein Blockschaltbild einer Null-Rest-Verkannten Divisionseinrichtungen negative Dividenden riegelungsschaltung, die gemeinsam mit der Abtastunter Registrierung ihres Vorzeichens in die echte 25 schaltung nach Fig. 10 verwendet wird.
Binärdarstellung umgewandelt, bevor mit einer Divi- Die vorliegende Erfindung macht von der bekannsion begonnen wird. Da hierzu eine Bildung des ten Methode der rückstellungsfreien binären Division Zweierkomplementes notwendig ist, genügt es nicht, Gebrauch. Sie sieht die Verwendung negativer Dividen Dividenden einfach zu invertieren. Vielmehr muß denden in komplementärer Form vor, ohne daß eine zur invertierten Form, die das Eins-Komplement des 30 Notwendigkeit zur Umwandlung der Dividenden in ursprünglichen Wertes darstellt, noch ein Endüber- ihre echte Form vor Beginn der Divisionsoperation trag addiert werden. Zu diesem Zweck ist die Durch- notwendig ist. Die Einrichtungen, die zur Ausführung führung eines vollständigen Additionszyklusses er- bekannter Divisionsschritte benutzt werden, sind in forderlich. Die Umwandlung negativer Dividenden in der vorliegenden Beschreibung nur allgemein dardie verarbeitbare Form stellt daher einen erheblichen 35 gestellt, um den Rahmen anzugeben, in dem die ErZeitverlust dar, der sich besonders dann auswirkt, findung verwendbar ist. Es sind zahlreiche Typen von wenn innerhalb eines Programms zahlreiche Divi- Computern bekannt, die sich zur Ausführung binärer sionen auszuführen sind. Divisionen durch aufeinanderfolgende Additions-Aufgabe vorliegender Erfindung ist, diesen Nach- Iterationen von Komplementwerten eignen. Jede teil zu vermeiden und eine Anordnung anzugeben, 40 dieser Computertypen ist geeignet, als Rahmenanorddie ohne großen Mehraufwand die Verarbeitung von nung bei der Anwendung vorliegender Erfindung zu in negativer Darstellung vorliegenden binären Divi- dienen. Die nachfolgende Beschreibung beschränkt denden gestattet. Gemäß der Erfindung wird dies sich daher auf eine detaillierte Erläuterung der- der dadurch erreicht, daß negative Dividenden in der Erfindung zugrunde liegenden Theorie und von Schalvorliegenden Form, also ohne vorherige Komplemen- 45 tungsbeispielen für die Erzeugung der besonderen tierung, dem die Iterationen ausführenden Rechen- Steueroperationen, die benötigt werden, wenn die Erwerk zugeleitet werden, daß eine Null-Rest-Abtast- findung in einem bekannten binären Dividierwerk schaltung vorgesehen ist, die beim Vorhandensein Verwendung findet,
von Nullen in allen Stellen des sich bei einer Iteration
ergebenden Dividendenrestes ein Steuersignal an eine 50 Allgemeine Grundlagen
Quotientenkorrekturschaltung abgibt, die daraufhin
Quotientenkorrekturschaltung abgibt, die daraufhin
am Ende der Division eine Quotientenerhöhung um Zur Erleichterung des Verständnisses der Erfin-
Eins auslöst, und daß diese Quotientenkorrektur bei dung erscheint es zweckmäßig, am Beginn der Er-
Vorliegen eines positiven Dividenden durch eine Vor- läuterung zunächst kurz auf die Grundprinzipien der
zeichensteuerschaltung verhindert wird. 55 binären Arithmetik einzugehen. In der Tabelle 1 ist
Verschiedene vorteilhafte Ausgestaltungen der Er- die Addition zweier binärer Einsen mit dem Resultat
findung sind aus den Ansprüchen zu ersehen. Nach- einer binären Zwei dargestellt, wobei die Zwei als
folgend ist ein Ausführungsbeispiel der Erfindung an eine Null in der ersten Binärstelle und eine Eins in
Hand von Zeichnungen dargestellt. Es zeigt der zweiten Binärstelle ausgedrückt ist. Beschränkt
F i g. 1 ein vereinfachtes Blockschaltbild einer 60 auf die niedrigste Binärstelle kann dies auch als eine
Datenverarbeitungsanlage, in welcher die Erfindung Null mit einem Übertrag angesehen werden,
verwendet wird,
verwendet wird,
F i g. 2 eine schematische Darstellung zur Erläute- Tabelle 1
rung der im Text in Form von Tabellen angeführten
rung der im Text in Form von Tabellen angeführten
Rechenbeispiele, 65 1 = 00001
F i g. 3 ein Blockschaltbild einer Divisor-Vor- +1 = 00001
zeichensteuerschaltung, wie sie in der Anlage von
Fig. 1 verwendet wird, 2 = 00010
Zur Ausführung von Subtraktionen, wie sie bei Divisionen verwendet werden, kann die komplementäre
Addition gemäß Tabelle 2 dienen. Zuerst wird das Zweierkomplement des Subtrahenden gebildet,
das daraufhin zum Minuenden addiert wird, um die Differenz zu erzeugen. Das Zweierkomplement wird
durch Invertierung des Subtrahenden (Bildung des Einserkomplements) und Addition einer Eins, genannt
Endübertrag, in die niedrigste Binärstelle erhalten. Dies ist in Tabelle 3 dargestellt. Die Addition
des so umgeformten Subtrahenden zum Minuenden zeigt die Tabelle 4.
9 = 01001
-6= -00110
-6= -00110
00010
1'Komplement 6 = 11001
Endübertrag = 1
2'Komplement 6 = 11010
Endübertrag = 1
2'Komplement 6 = 11010
stellung / von F i g. 2. Hierzu wird das Resultat zuerst
invertiert und dann ein Endübertrag zu seiner niedrigsten Stelle hinzugefügt. Dies entspricht einer
Bildung des Ein-Komplements mit darauffolgender Umwertung in das Zweierkomplement.
-9 = 10111
+ 6 = 00110
+ 6 = 00110
— 3 = 11101 = 2' Komplement von 3,
fehlender Übertrag zeigt
negatives Resultat an.
negatives Resultat an.
00010 = invert, von -3
1 = Endübertrag
1 = Endübertrag
00011 = 3
Wenn schließlich eine negative Zahl zu einer größeren positiven Zahl zu addieren ist, ergibt sich
ein positives Resultat gemäß Tabelle und der Illustration bei d in F i g. 2.
01001 = 9
-f 11010 = 2' Komplement von 6
-f 11010 = 2' Komplement von 6
COOOIl = 3
Übertrag zeigt positives
Resultat an.
Resultat an.
-6 = 11010
+9 = 01001
+9 = 01001
+ 3 = COOOIl
Übertrag zeigt positives Resultat an.
. Aus Tabelle 4 ist ersichtlich, daß das Resultat (+3) größer als Null ist. Dies wird durch die Anwesenheit
eines Übertragers in der höchsten Wertstelle des Addierwerkes angezeigt. Das gleiche Beispiel ist bei a
in F i g. 2 dargestellt. Wenn andererseits 9 von 6 subtrahiert worden wäre, hätte sich ein negatives Resultat
ergeben, das durch das Fehlen eines Übertrages in der höchsten Stelle gekennzeichnet ist, wie in
Tabelle 5 und bei c von F i g. 2 angegeben.
6 = 00110
-9 = 10111
-9 = 10111
-3 = 11101
fehlender Übertrag zeigt
negatives Resultat an.
negatives Resultat an.
Es ist auch möglich, eine negative Zahl durch Addition einer positiven Zahl zu reduzieren, wie es
die Tabelle 6 und die Darstellung bei / in F i g. 2 zeigen. Die Addition von 6 zu —9 ergibt —3, wobei
der Umstand, daß es sich um ein negatives Resultat handelt, durch das Fehlen eines Übertrages in der
höchsten Rechenwerkstelle angezeigt wird. Um die Drei in echter Form zu erhalten, wie es in bestimmten
Fällen erwünscht ist, würde eine Komplementierung notwendig sein gemäß Tabelle 7 und der Dar-Die
Prinzipien, die der vorliegenden Erfindung zugründe liegen, sind besonders deutlich aus den Tabellen
9 und 10 zu ersehen. Die Tabelle 10 erläutert den Fall, daß eine 9 von einer 9 subtrahiert wird
(eine positive Zahl wird von sich selbst subtrahiert). Das aus lauter Nullen bestehende Resultat ist von
einem Übertrag begleitet, der ein positives Resultat anzeigt, entsprechend den vorausgehenden Tabellen 4
und 8. Dieses Beispiel ist bei b von Fig. 2 angegeben. Wenn andererseits eine negative Zahl zu einer gleichlautenden
positiven Zahl addiert wird, tritt das gleiche Resultat auf, wie es die Tabelle 10 und die Illustration
e von F i g. 2 zeigt. Es ergibt sich hieraus, daß bei einer Reduktion eines Dividenden von Neun um
einen Divisorwert Neun das Resultat Null erhalten wird, worin einübertrag anzeigt, daß die Null positiv
ist. Ebenso ergibt sich, wenn ein Dividend von —9 um einen Divisorwert von +9 reduziert wird, ein
positives Null-Resultat. Ein positives Resultat in einer Divisionsoperation, in welcher der Dividend
negativ ist, stellt eine Überziehung oder eine erfolglose Subtraktion dar. Wenn eine derartige erfolglose
Subtraktion angezeigt wird, hat die Erzeugung eines Quotientenbits zu unterbleiben. Das Vorhandensein
eines Übertragers bewirkt somit die Anzeige dafür, daß das Resultat von Tabelle 10 eine Überziehung,
also eine erfolglose Iteration ist, so daß kein Quotientenbit erzeugt wird. Praktisch ist es jedoch so,
daß bei der in der Tabelle 10 dargestellten Reduktion zu Null ein Eins-Quotientenbit auftreten sollte. Auf
Grund dieser Diskrepanz ist es erklärlich, daß die Division mit einem komplementären Dividenden bisher
keine befriedigende apparative Lösung gefunden hat.
9 = 01001
-9 = 10111
-9 = 10111
O = COOOOO
Übertrag zeigt positives Resultat an.
-9 = 10111
+9 = 01001
+9 = 01001
■■ c ooooo
Übertrag zeigt positives Resultat an.
Zur weiteren Erläuterung der Unterschiede zwischen positiven und negativen Dividenden werden
nachfolgend verschiedene binäre Divisionsbeispiele an Hand der Tabellen 11 bis 14 erläutert. Dem Verständnis
dieser Tabellen sind verschiedene Regeln vorausgesetzt.
Eine erste allgemeine Regel besteht darin, daß bei der nicht rückspeichernden binären Division der
Quotient in echter Form erzeugt wird. Wenn daher der Quotient positiv ist, weil sowohl der Dividend als
auch der Divisor das gleiche Vorzeichen aufweisen, handelt es sich um eine korrekte Quotientenableitung,
so daß eine Komplementierung vor der Rückführung zum Speicher oder einer anderweitigen Verwendung
nicht notwendig ist. Wenn andererseits die Vorzeichen von Divisor und Dividend unterschiedlich sind, definieren
die Regeln der binären Division, daß der Quotient negativ ist, so daß er aus der sich während der
Divisionsoperation ergebenden Form umgewertet werden muß in eine komplementäre Darstellung, bevor
er abgespeichert oder weiterverwendet wird.
Eine zweite Regel besteht darin, daß, wenn immer Dividend und Divisor die gleichen Vorzeichen haben,
der Divisor zu komplementieren ist, bevor die erste Divisionsiteration ausgeführt werden kann. Dies folgt
aus der vorausgehenden Betrachtung der binären Arithmetik und dem Umstand, daß die Subtraktionsiterationen einer Division als komplementäre Additionen
ausgeführt werden sollen. Wenn der Dividend negativ ist, muß ein echter, positiver Divise ihm
zuaddiert werden, um eine Reduzierung zu Null zu erreichen. Wenn dagegen der Divisor ebenfalls negativ
ist, würde die Additionsoperation bewirken, daß der Dividendenrest im negativen Bereich weiter anwachsen
würde, anstatt gegen Null abzunehmen. Wenn der Dividend positiv ist, muß eine negative
Zahl addiert werden oder, in einer komplementären Addition, eine positive Zahl subtrahiert werden.
Wenn der Divisor negativ und der Dividend positiv ist, dann ist der Divisor direkt zum Dividienden zu
addieren, um eine Reduktion zu Null zu erhalten. Ebenso sind beide Werte direkt zu addieren, wenn
der Divisor positiv und der Dividend negativ ist, damit ein Rest erhalten wird, der näher an Null liegt
als der Dividend.
Eine dritte Regel besteht darin, daß stets dann, wenn der Divisor negativ ist und die Additionsoperation
in einer gegebenen Iteration einen Übertrag erbracht hat, der Divisor weiterhin im negativen Sinne
zu verwenden ist. Ebenso ist bei einem positiven Divisor und dem Fehlen eines Übertrages der Divisor
im positiven Sinne weiterzuverwenden. Wenn jedoch
ίο andererseits der Divisor positiv ist und auch ein Übertrag
vorliegt oder wenn der Divisor negativ ist und ein Übertrag fehlt, dann ist der Divisor zu komplementieren,
bevor die nächste Iteration begonnen wird. Diese Regel resultiert aus dem Umstand, daß bei
einer nicht rückspeichernden binären Division zu dem Zeitpunkt, wenn ein Überziehen auftritt, statt
einer Rückspeicherung des Restes vor dessen Verschiebung für die nächste Iteration der Rest stellenverschoben
wird und der halbe Divisor im entgegengesetzten Sinne zurückaddiert wird, wodurch das
gleiche Ergebnis erreicht wird, als wenn zuerst der gesamte Divisor zurückaddiert und daraufhin die
Hälfte des Divisors wieder subtrahiert wird. Wenn ein Überziehen bei einem vollen Reduktionszyklus
auftritt, dann war die Reduktion des Restes zu groß, so daß dieser die Nullinie überschritten hat. Dies ist
der gleiche Fall, wie wenn ein zu großer Betrag von einem positiven Wert subtrahiert wird, so daß sich
ein negatives Resultat ergibt. In ähnlicher Weise wird
30. in einem kombinierten Korrektur- und Reduktionszyklus, wie er als der auf eine Überziehung folgende
Zyklus auftreten kann, in welchem die Korrektur für eine erste Iteration kombiniert wird mit der Reduzierung
des Restes für eine zweite Iteration (nicht rückspeichernde Division), die kombinierte Rückspeicherung
und Reduzierung durch eine Rückaddition eines Wertes zu dem auf der falschen Seite von Null befindlichen
Rest erzielt, wodurch der Rest zurück auf die richtige Seite von Null gebracht wird, so daß der
nächste Reduktionszyklus in der entgegengesetzten Richtung, also wiederum gegen Null, ablaufen muß.
Wenn z.B. ein positiver Dividend um einen zu großen Wert reduziert worden ist, wodurch sich ein negativer
Rest in einem ersten Zyklus ergeben hat, wird dieser in einem zweiten Zyklus zurückgespeichert und reduziert
durch Zuführung eines positiven Wertes. Hierdurch wird der Rest in einen positiven Wert überführt,
der kleiner ist als der ursprüngliche positive Dividend vor Beginn des ersten Zyklus. Der dritte
Zyklus erfordert daher, daß ein negativer Wert dem dritten Rest zugeführt wird, um eine weitere Annäherung
an Null zu erzielen. Die Polarität des Divisors muß somit nach jedem erfolgreichen kombinierten
Korrektur- und Reduktionszyklus umgekehrt werden.
Eine vierte Regel besagt, daß stets ein Quotientenbit zu erzeugen ist, wenn eine erfolgreiche Reduktion
gegen Null stattfindet. Die Reduktion ist erfolgreich, wenn der Rest das gleiche Vorzeichen behält wie der
Dividend. Mit anderen Worten, ist bei Beginn einer Division der Dividend positiv, so ist jeder Zyklus,
dessen Resultat einen positiven Rest ergibt, eine erfolgreiche Reduktion. In gleicher Weise wird ein
negativer Dividend erfolgreich gegen Null reduziert, solange ein negativer Rest vorliegt. Ein Quotientenbit
wird für jede dieser Reduktionen erhalten, wenn der jeweilige Rest die gleiche Polarität wie der Dividend
aufweist. Aus den Tabellen 1 bis 10 ist ersichtlich, daß, beginnend mit einem negativen Dividenden, die
Abwesenheit eines Übertrages in der höchsten Rechenwerkstelle in einem Zyklus anzeigt, daß der Rest
negativ ist und daher ein Quotientenbit gebildet werden sollte. Auf der anderen Seite, wenn der Dividend
positiv ist, zeigt ein positiver Rest an, daß ein Quotientenbit gebildet werden sollte; dies ist durch die
Anwesenheit eines Übertrages in der höchsten Wertsteile des Addierwerkes bestimmt. Ein Quotientenbit
kann daher durch Bildung der logischen UND-Verknüpfung des Dividenden-Vorzeichens und eines
Übertrages in dem Falle erhalten werden, wo das negative Vorzeichen durch eine binäre Eins und das
positive Vorzeichen durch eine binäre Null dargestellt werden. Dieser Fall findet in den nachfolgend erläuterten
Beispielen Anwendung.
Eine fünfte Regel besteht darin, daß der nach der letzten Divisionsiteration verbliebene Rest korrigiert
werden muß, wenn die letzte Divisionsiteration zu einer Überziehung geführt hat oder eine vorausgehende
Überziehung: nicht korrigieren konnte. Da
eine Überziehung vorliegt, befindet sich der Rest nicht in echter Form, es sei denn, er wurde auf einen
Wert zurückgeführt, den er nach der letzten erfolgreichen Reduktion aufgewiesen hat. Dies wird erreicht,
indem auf eine einfache Überziehung eine Komplementierung des Divisors und eine Rückspeicherung
erfolgt. Wenn eine versuchte Rückspeicherung nicht zum Erfolg geführt hat, geschieht
es durch die Ausführung eines Korrekturzyklus, der identisch ist mit dem letzten Divisionszyklus mit der
Ausnahme, daß der Rest nicht vor Ausführung dieses Zyklus verschoben wird.
Eine sechste Regel gilt für Fälle, in denen der Dividend eine größere Stellenzahl aufweist, als Quotientenstellen
vorgesehen sind. In den Tabellen 11 bis 14 wird z. B. ein Dividend von zehn Bits durch einen
Divisor von fünf Bits dividiert, um einen Quotienten von fünf Bits zu erhalten. Wenn alle Datenbits des
Dividenden Einsen sind (oder das Komplement davon bei einer negativen Zahl) und der Divisor eine sehr
kleine Zahl ist (beispielsweise ein Dezimalwert von 1,2 oder 3), dann kann der Quotient nicht nur in fünf
Binärstellen ausgedrückt werden. Der maximale Dezimalwert für einen Dividenden, der in einem sinnvollen
fünfstelligen Quotienten resultieren kann, wird durch einen ersten Subtraktionszyklus ermittelt, in
welchem der Quotient durch Bestimmung eines einzelnen Quotientenbits geprüft wird. Dieses Quotientenbit
wird nicht im endgültigen Quotienten verwendet, da es stets Null ist, ausgenommen in den
Fällen, wo es nicht möglich ist, die verlangte Division auszuführen, da der Dividend in bezug auf den Divisor
zu groß ist, um den Quotienten durch fünf Binärstellen ausdrücken zu können. Der erste Zyklus ist
daher stets ein Testzyklus, dem eine Verschiebung des Restes folgt, wonach die ausführbaren Divisionsiterationen begonnen werden können. In manchen
Fällen soll auch noch die zweite Divisionsiteration ein Null-Quotientenbit ergeben, wenn der Quotient
sinnvoll sein soll. Dieser Spezialfall spielt jedoch für das Wesen der vorliegenden Erfindung keine Rolle
und wird daher nachfolgend nicht weiter erläutert.
Die Tabelle 11 zeigt eine Division eines positiven Dividenden durch einen positiven Divisor. Um das
Problem des Null-Restes zu erläuertn, welches zu einem fehlerhaften Quotienten führen kann, wurden
Binärwerte entsprechend den Dezimalwerten 24 für den Dividenden und drei für den Divisor gewählt,
die einen Null-Rest im Verlaufe der Divisionsoperation liefern. Unter Rückbeziehung auf die vorausgehend
erläuterten Regeln muß, da sowohl der Dividend als auch der Divisor positiv sind, der Divisor
komplementiert werden, bevor der erste Zyklus beginnt. Der Divisor liegt daher zur Zeit des Startzyklus
5 in negativer Form vor. Die jeweilige Zykluszahl 0 bis 5 wird durch den Stand eines Verschiebezählers
oder einer anderen Iterationssteuerschaltung ίο während des laufenden Zyklus angezeigt.
+24-=-+3 = +8
15
15
3o | 2 | 35 | 1 | 40 | O | 45 | R | Divisor | ο | B | BX | |
R, Q | 00000 | 11000 | ||||||||||
2O 5 | — | 11101 | ||||||||||
O | 11101 | 11000 | ||||||||||
11011 | 1000 * | |||||||||||
4 25 |
00011 | |||||||||||
O | 11110 | 10000 | ||||||||||
3 | + | 11101 | 0000 · | |||||||||
00011 | ||||||||||||
1 | 00000 | 00001 | ||||||||||
— | 00000 | 0001 · | ||||||||||
11101 | ||||||||||||
O | 11101 | 00010 | ||||||||||
+ | 11010 | 0010* | ||||||||||
00011 | ||||||||||||
O | 11101 | 00100 | ||||||||||
+ | O | 11010 | 0100* | |||||||||
00011 | ||||||||||||
_11101 | 01000 | |||||||||||
-ί | 1 | 11101 | 01000 | |||||||||
00011 | ||||||||||||
00000 | 01000 |
Es sind geeignete Steuermittel vorgesehen, um den Verschiebezähler bzw. die anderen Iterationssteuerschaltungen
entweder jeweils am Ende eines Zyklus oder am Anfang des nächsten Zyklus um Eins zu
dekrementieren, um die Zahl der notwendigen Divisionsschritte zu erfassen und zu bestimmen, wenn die
Divisionsoperation beendet ist. Grundsätzlich ist ein Zyklus erforderlich für jede Binärstelle des Divisors.
Wenn der Dividend mehr Stellen aufweist als der zugelassene Quotient, ist ein zusätzlicher Zyklus erforderlich
entsprechend der obigen Regel 6, um die relative Größe von Dividend und Divisor zu prüfen
und sicherzustellen, daß der Quotient durch die vorgesehene Binärstellenzahl ausgedrückt werden kann.
Im vorliegenden Fall ist der Zyklus 5 ein Testzyklus, und da sein Resultat keinen Übertrag ergibt, obwohl
ein positiver Dividend vorliegt, wird kein Quotienten-
bit erzeugt. Der Test verläuft daher erfolgreich, und die Divisionsoperation kann beginnen. Das Führen
eines Übertrages im Zyklus 5 zeigt an, daß eine Überziehung vorliegt. Der Zyklus 4 umfaßt daher einen
kombinierten Korrektur- und Reduktionszyklus. Der Divisor wird komplementiert, um ihn noch einmal in
seine echte Form zurückzuführen, und eine zweite Addition wird ausgeführt. In diesem Falle tritt kein
Übertrag auf, so daß die Überziehung durch die nachfolgende Reduktion nicht vollständig korrigiert worden
ist. In anderen Worten, am Ende von Zyklus 4 Hegt noch immer ein negativer Rest vor. Auf Grund
dieses Umstandes muß der Divisor noch einmal im gleichen Sinne verarbeitet werden, um zu versuchen,
den Rest in den positiven Bereich zurückzuführen. Der Divisor wird daher zwischen dem Zyklus 4 und
dem Zyklus 3 nicht invertiert. Im Zyklus 3 ist jedoch die kombinierte Korrektur und Reduktion erfolgreich,
wie durch das positive Resultat, das der Übertrag in der höchsten Stelle des Addierwerkes bezeichnet,
angezeigt wird. Hieraus geht hervor, daß eine Quotientenziffer zu erzeugen und die Richtung der Operation
umzukehren ist, so daß der Divisor vor seiner Verwendung im Zyklus 2 zu komplementieren ist.
Der Zyklus 3 hat einen Rest ergeben, der aus lauter Nullen besteht. Dies ist aus Tabelle 11 ersichtlich.
Zur Aufnahme des Dividendenrestes dienen die Register B und BX, wie nachfolgend noch erläutert
wird. Der niedrigstellige Teil des Registers BX dient jeweils zur Aufnahme der erzeugten Quotientenbits.
Am Ende von Zyklus 3 umfaßt der Rest alle Stellen des Registers B und die drei höchsten Stellen des
Registers BX. Da diese Stellen alle Null sind, ergibt sich, daß die Divisionsoperation beendet ist. Es wurde
jedoch gefunden, daß der Einrichtungsaufwand, der zur Unterscheidung zwischen den Dividendenbits und
den Quotientenbits im gleichen Register BX relativ aufwendig ist, wenn der Lauter-Nullen-Zustand zur
Anzeige des Divisionsendes verwendet werden soll. Es wird daher vorgezogen, die Divisionsoperation
weiterzuführen. Durch Vornahme einer Korrektur des Restes in Übereinstimmung mit der oben angegebenen
fünften Regel wird das richtige Resultat erhalten. Der Grund hierfür besteht darin, daß fortgesetzte
Versuche einer Reduzierung und Rückspeicherung des Dividenden bewirken, daß der Rest
erst negativ wird als Resultat einer Überziehung, aber mit jedem nachfolgenden Zyklus wird der halbe
Divisor zurückaddiert, so daß eine einzelne Rückspeicherung des Restes am Ende der Divisionsoperation
einen korrekten Rest von Null liefert, wie es durch den Rest-Korrektur-Zyklus R im unteren Teil
der Tabelle 11 angegeben ist. Durch Vergleich des Zyklus 0 mit dem Zyklus R ist ersichtlich, daß der
Zyklus 0 durch den Zyklus R wiederholt wird mit der Ausnahme, daß keine Verschiebung des Restes am
Beginn des Korrekturyzklus stattfindet. Hierdurch wird der Rest in jedem Falle wieder zu Null, wenn
er am Ende des Zyklus 0 lauter Nullen enthalten hat. Aber auch in einem anderen Beispiel, in dem der
Rest nicht Null ist, wird gemäß der fünften Regel durch Ausführen eines Rest-Korrektur-Zyklus der
richtige Rest erhalten. Stets wenn ein Quotientenbit im Zyklus 0 erfolgreich erzeugt worden ist, wird keine
Korrektur des Restes benötigt, es sei denn, der Dividend ist negativ, und der Rest sollte Null sein. In
diesem Falle wird das den Rest enthaltende Register in einfacher Weise zu Null zurückgestellt.
Die Tabelle 12 zeigt ein ähnliches Beispiel, bei dem jedoch der Dividend negativ ist. Durch Vergleich
der Tabelle 12 mit der Tabelle 11 ist ersichtlich, daß
der Operationsablauf identisch ist mit der Ausnahme, daß ein Quotient-Komplementierungszyklus nach dem
Rest-Korrektur-Zyklus ausgeführt wird, um den Quotienten in die Zweierkomplement-Form zu überführen,
in welcher er korrekt einem negativen Wert gleicht. Dies ist notwendig, da der Quotient wegen
ίο der Verschiedenheit des Vorzeichens von Dividend und Divisor als negativ angezeigt wird.
Tabelle 12
+ 24-*-3 =
+ 24-*-3 =
-8
Divisor | C | B | BX | |
5 | — | 00000 11101 |
11000 | |
4 | + | O | 11101 11011 00011 |
11000 1000* |
3 | + | O | 11110 11101 00011 |
10000 0000* |
1 | 00000 00000 |
00001 0001* |
||
2 | — | O | 11101 | |
O | 11101 11010 |
00010 0010* |
||
1 | + | 00011 | ||
11101 | 00100 | |||
O | 11010 | 0100* | ||
O | + | 1 | 00011 | |
11101 | 01000 | |||
11101 | 01000 | |||
R | + | 00011 | ||
00000 | 01000 | |||
Q | Komplement | 00000 | 10111 | |
R, Q | 00000 | 1 11000 |
In Tabelle 13 ist ein Divisionsbeispiel mit einem negativen Dividenden und einem positiven Divisor
angegeben. Es ist zu bemerken, daß die Register B und BX den Dividenden in der Form des Zweier-
; komplementes enthalten, also als negative ganze Zahl.
Der Divisor ist in echter Form ausgedrückt und stellt somit eine positive ganze Zahl dar. Da die Vorzeichen
ungleich sind, besteht keine Notwendigkeit, den Divisor vor Beginn der Divisionsoperation zu komplementieren.
Die ersten zwei Zyklen (Zyklen 5 und 4) von Tabelle 13 sind das Komplement der Operationen in den Zyklen 5 und 4 von Tabelle 12
mit der Ausnahme, daß das Quotientenbit im komplementären Sinne erzeugt wird, so daß in beiden
Beispielen im Zyklus 4 das gleiche Quotientenbit, nämlich Null, erhalten wird.
Im Zyklus 3 von Tabelle 13, die einen negativen Dividenden vorsieht, tritt ein aus lauter Nullen bestehendes
Resultat im positiven Sinne auf, wodurch angezeigt wird, daß eine Überziehung vorliegt, so daß
in diesem Zyklus kein Quotientenbit gewonnen wird. Wendung des Registers B als Akkumulatorregister
vor, worin der hochstellige Teil des Dividenden und des Dividendenrestes gespeichert werden. Diesem
Register ist ein weiteres Register BZ zugeordnet, das
zur Aufnahme des niedrigstelligen Teiles des Dividenden und des gebildeten Quotienten dient. Ein
Null-Detektor prüft den Inhalt des Registers B auf das Vorliegen von Nullen in allen bedeutsamen Stellen
des hochstelligen Teiles des Dividenden bzw.
Da jedoch der Quotient in echter Form entwickelt 10 Restes. Diese Prüfung bezieht sich jedoch nur auf
wird, sollte das in diesem Zyklus erzeugte Quotien- den hochstelligen Teil, der niedrigstellige Teil des
tenbit eine Eins sein. Hierin zeigt sich das Problem, Dividenden bzw. Restes wird hiervon nicht erfaßt,
mit dem sich die vorliegende Erfindung im wesent- Eine Anzeige für einen Lauter-Nullen-Zustand wird
liehen befaßt. Die Divisionsoperation wird durch die in einer Null-Rest-Verriegelungsschaltung festgehal-Zyklen
2, 1 und 0 fortgesetzt. Während dieser Zyklen 15 ten. Dies geschieht beispielsweise am Ende des Zywird
die Anwesenheit des aus lauter Nullen bestehen- klus 3 von Tabelle 13. In den nachfolgenden Zyden
Restes, der zur Erzeugung des fehlerhaften Bits klen 2 bis 0 wird der hochstellige Teil des Registers
in Zyklus 3 geführt hat, ignoriert. Im Zyklus 3 wird BX darauf überwacht, ob ein von Null abweichender
Wert des Restes abgefühlt und dabei festgestellt, des Bit vom Register BX in das Register B überdaß
innerhalb des zu testenden Bereiches alle Stellen ao tragen wird. Wenn dies nicht der Fall ist, dann war
Nullen aufweisen.
Tabelle 13
-24-*- +3 = -i
-24-*- +3 = -i
Divisor | C | B | BX | |
1 | Hill | 01000 | ||
5 | + | 00011 | ||
1 | 00010 | 01000 | ||
00100 | 1000* | |||
4 | — | 11101 | ||
1 | 00001 | 100000 | ||
00011 | 0001* | |||
3 | — | 11101 | ||
1 | 00000 | 00000 | ||
00000 | 0000* | |||
2 | — | 11101 | ||
0 | 11101 | 00001 | ||
11010 | 0001* | |||
1 | + | 00011 | ||
0 | 11101 | 00011 | ||
0 | 11010 | 0011* | ||
0 | + | 00011 | 00111 | |
11101 | 00111 | |||
1 | 11101 | |||
R | + | 00011 | ||
00000 | 00111 | |||
PZR | Korrektur | 1 | ||
00000 | 01000 | |||
Q | Komplement | 10111 | ||
R, Q | 1 |
Wie nachfolgend im Detail beschrieben wird, sieht das Ausführungsbeispiel von F i g. 1 die Verder
im Zyklus 3 abgefühlte Null-Rest in der Tat der vollständige Null-Rest (Tabelle 13), so daß das Vorhandensein
des Spezialfalles eines negativen Dividenden mit einem aus lauter Nullen bestehenden Rest
wahrgenommen wird. Entsprechend einem wesentlichen Merkmal der Erfindung kann der Quotient,
dem ein Null-Rest folgt, in einfacher Weise dadurch korrigiert werden, daß eine Eins in die niedrigste Bitstelle
addiert wird. Diese Eins bewirkt einen Übertrag für aufeinanderfolgende Einsen, indem jede Eins in
den Null-Zustand geschaltet wird und dabei einen Übertrag zur nächsten Stelle auslöst, der wiederum
die Eins dieser Stelle in den Null-Zustand schaltet usw., bis ein Übertrag in die eine Null enthaltende
Bitstelle des Quotienten gelangt, die zu der Zeit, als ein Lauter-Nullen-Rest aufgetreten ist, ein falsches
Quotientenbit erhalten hat. Da ein aus lauter Nullen bestehender Rest wegen der Anwesenheit eines Übertrages
in seiner höchsten Stelle als positive Zahl betrachtet wird, faßt die Divisionseinrichtung ein solches
Resultat als eine erfolglose Rückspeicherung auf und leitet daher einen neuen Versuch ein, den
Rest durch Addition eines negativen Divisor negativ zu machen. Dies führt zu einem negativen Rest, der
dem Divisor entspricht. Nachfolgende Reduktionen können das Vorzeichen nicht ändern. Das Resultat
ist daher stets negativ und ergibt jeweils eine Quotienten-Eins in den übrigen Zyklen, nachdem das
Lauter-Nullen-Resultat erzielt ist.
Im Beispiel von Tabelle 13 ist der Quotient als eine negative ganze Zahl bezeichnet, da der Dividend
und der Divisor ungleiche Vorzeichen haben. Obgleich der Dividend negativ ist und daher die gesamte
Divisionsoperation in komplementärer Form abläuft, wird der Quotient automatisch in echter
Form erzeugt, entsprechend der vorausgehend erwähnten fünften Regel. Es ist daher ein Quotienten-Komplementierungs-Zyklus
notwendig, um den Quotienten in die richtige Form zu bringen in Überein-Stimmung
mit seinem Vorzeichen. Die Quotienten-Komplementierungs- und Korrekturfunktionen können
kombiniert werden, wie nachfolgend noch beschrieben ist.
Die Tabelle 14 zeigt den Fall, daß sowohl der Dividend als auch der Divisor negativ sind. Dieser
Fall entspricht weitgehend dem Beispiel von Tabelle 13, daß ein positiver Quotient wegen der Vorzeichengleichheit
von Divisor und Dividend erzeugt wird, so
daß keine Quotientenkomplementierung notwendig ist, bevor der Quotient abgespeichert oder weiterverwendet
wird. In der Tabelle 14 wird im Zyklus 3 der gleiche mögliche Null-Rest erzeugt, und die
übrigen Iterationen sind gleich den entsprechenden Iterationen von Tabelle 13.
-24-f--3=+8
Divisor | C | B | BX | |
5 | + | Hill 00011 |
01000 | |
4 | 1 | 00010 00100 11101 |
01000 1000* |
|
3 | 1 | 00001 00011 11101 |
10000 0000 · |
|
1 | 00000 00000 |
00000 0000* |
||
2 | — | 0 | 11101 | |
0 | 11101 11010 |
00001 0001* |
||
1 | + | 0 | 00011 | |
1 | 11101 | 00011 | ||
11010 | 0011* | |||
O | + | 00011 | ||
R | 11101 11101 00011 |
00111 00111 |
||
PZR | Korrektur | 00000 | 00111 1 |
|
00000 | 00000 |
Aus den Beispielen von den Tabellen 11 bis 14 und aus der vorausgehenden Erläuterung ist ersichtlich,
daß die Prinzipien der Erfindung bei einer beliebigen regulären binären Divisionsoperation angewendet
werden können, unabhängig davon, ob es sich um eine rückspeichernde oder nicht rückspeichernde
Division handelt. Bei nicht rückspeichernden Divisionen wird lediglich ein Zyklus stets dann
eingespart, wenn ein Überziehen erfolgt, indem die nachfolgende Reduktion mit dem erforderlichen
Rückspeicher-Zyklus kombiniert wird. Dies hat keinen Zusammenhang mit dem Umstand, daß ein
Null-Rest im Falle eines negativen Dividenden ein falsches Quotientenbit erzeugt, mit dessen Richtigstellung
sich die vorliegende Erfindung befaßt.
Die Erfindung kann daher bei beliebigen Divisionseinrichtungen angewendet werden. Dies geschieht dadurch,
daß Mittel vorgesehen werden, die den jeweiligen Dividendenrest auf das Vorhandensein von
lauter Nullen abtasten. Außerdem sind Mittel erforderlich, um den Quotienten bei der Beendigung der
Divisionsoperation in dem Falle zu korrigieren, wenn ein Lauter-Nullen-Rest ermittelt worden ist und ein
negativer Dividend vorliegt. Der Zyklus, in welchem ein aus lauter Nullen bestehender Rest auftritt, bleibt
ohne Einfluß durch den Umstand, daß bei der angewendeten
Quotientenkorrektur automatisch ein Endübertrag durch die niedrigen, eine Eins enthaltenden
Quotientenstellen läuft und diese in Nullen umwandelt, wodurch ein Übertrag von der letzten der fehlerhaften
Eins-Stellen in eine fehlerhafte Null-Stelle läuft, wird diese Null in eine Eins korrigiert.
Obgleich sich die Beispiele von den Tabellen 11 bis 14 auf die Situation beziehen, wo der Quotient
in den niedrigen Bitstellen eines Registers gebildet wird, aus dem der Dividend bzw. der Dividendenrest
entnommen wird, ist die Erfindung hierauf nicht beschränkt. Sie ist natürlich in gleichem Maße anwendbar,
wenn der Quotient iir einem separaten Register gebildet wird.
Detaillierte Beschreibung
In F i g. 1 ist der Hauptdatenfluß einer Datenverarbeitungsanlage dargestellt, in welcher die Erfindung
angewendet wird. Die in der Figur in Form von Kabeln dargestellten Ubertragungs-Sammelleitungen dienen
zur parallelen Übertragung von 32 Bits aufweisenden Datenwörtern. Die Anlage weist einen Speicher
20 (STG) auf, dem Speicheradressregister 21 (SAR 1, SAR 2) zugeordnet sind. Vom Speicher 20
werden Daten zu einem Speicher-Datenregister 22 übertragen, von wo sie über eine Geradeaus/Über-
kreuz-Schaltung 24 zu einer Torschaltung 26 gelangen, an deren Ausgang Register 28 (A), 30 (B) und
32 (C) angeschlossen sind. Die Register 28 und 30 dienen als Operandenregister eines Übertragsvorausschau-Addierwerkes
32 a (CLA), dessen Ausgang zur Torschaltung 26 zurückgeführt ist. Der Ausgang des
B-Registers 32 ist mit dem Speicher-Datenregister 22, den Speicheradressregistern 21 und einem Programm-Statuswort-Register
34 (PSW) verbunden. Das letzte Register umfaßt einen Befehlszählerteil IC, der entsprechend
dem Inhalt des BX-Registers 33 einstellbar ist. Vom PSW-Register 34 werden Daten zum
Speicher-Datenregister 22 übertragen, das außerdem die der Datenverarbeitungsanlage über eine Dateneingang-Sammelleitung
19 von außen zugeführte Daten empfängt. Das Speicher-Datenregister 22 kann seinerseits Daten zum Speicher 20 liefern und an andere
Einheiten, die an die Datenverarbeitungsanlage von F i g. 1 angeschlossen sind, über eine Datenausgangs-Sammelleitung
18 abgeben.
Um das Verständnis der Erfindung nicht unnötig zu erschweren, wurden die allgemeinen Steuerschaltungen
der Anlage nur vereinfacht dargestellt, da deren Natur für die Erfindung unwesentlich ist. Die
Anlage weist in Gestalt des Blocks 36 eine bekannte Schaltung zur Befehlsdecodierung, Taktung und
Adressierung auf. Zusätzlich ist eine ebenfalls für sich bekannte Datenfluß-Steuerschaltung 38 vorgesehen.
Der Ausgang des A-Registers 28 ist mit einem der
Eingänge der Vorschaltung 26 verbunden und außerdem an eine Exponent-Register- und -Gleitkomma-Steuerschaltung
40 angeschlossen. Des weiteren gestattet das /!-Register 28 einen Datenaustausch mit
einem y4X-Register 42, indem der Inhalt des .,4-Registers
zum y4X-Register zur gleichen Zeit übertragen
wird wie der Inhalt vom ^4X-Register zum ^-Register.
Im unteren Teil der F i g. 1 sind ferner Gleitkomma-Arbeitsregister 44 und allgemeine Gleitkommaregister
46 (FPR) dargestellt. Die Register 46 erhalten Daten vom Ausgang des B-Registers 32
ebenso wie Mehrzweckregister 48 (GR). Die Gleitkommaregister und die Mehrzweckregister sind programmabhängig
adressierbar entsprechend der jeweils durchzuführenden Aufgabe.
Die B- und BZ-Register 32, 33 weisen eine nicht dargestellte, bekannte Stellenverschiebeschaltung auf,
durch die eine Verschiebung des Inhaltes beider Register um eine Bitstelle nach links möglich ist. Auf
diese Weise kann der Dividend und der Dividendenrest nacheinander jeweils um eine Bitstelle pro Zyklus
in Richtung der höheren Wertstellen verschoben werden. Das A-Register 28 ist mit Einrichtungen ausgestattet,
die eine Invertierung seines Inhaltes gestatten, wenn ein INVERT A i?EG-Signal auftritt.
Hierbei ist zu bemerken, daß die Invertierung einer Zahl gleichbedeutend ist mit ihrer Überführung in ihr
Eins-Komplement. Das A-Register 28 ist außerdem in den Null-Zustand rückstellbar, so daß es lauter
Null-Eingangssignale zum Addierwerk 32 a liefert. Das C-Register 30 ist an einen Ausgang des B-Registers
32 angeschlossen, so daß das C-Register am Beginn einer jeden Divisionsiteration auf ein Signal
B IN C EINST entsprechend dem Inhalt des B-Registers einstellbar ist. Der Ubertragsvorausschau-Addierer
32 α bildet aus den in den Registern 28 und 30 enthaltenden Operanden eine Summe, die über die
Torschaltung 26 zum B-Register 32 übertragen wird. Das B-Register dient bei der Ausführung von Divisionsoperationen
als Akkumulator.
Eine Subtraktionsiteration, wie sie für Divisionen in der Anlage von F i g. 1 verwendet wird, besteht aus
einer komplementären Addition. Um eine derartige komplementäre Addition ausführen zu können, wird
der Divisor im A -Register 28 eingestellt, während der Dividend in die B- und BZ-Register 32 und 33
eingegeben wird. Wenn das Vorzeichen des Dividenden gleich dem Vorzeichen des Divisors ist, wird der
Inhalt des A -Registers 28 komplementiert, indem einerseits der Inhalt dieses Registers invertiert und
andererseits seiner niedrigsten Bitstelle über das Addierwerk 32 α ein Endübertrag zugeführt wird. Die
Kombination einer Invertierung und einer Addition eines Endübertrages zur niedrigsten Stelle hat die
Bildung des Zweierkomplementes des im A -Register enthaltenden Divisors in der oben erläuterten Weise
zur Folge. Als nächstes wird der Inhalt des B-Registers 32 in das C-Register 30 gebracht. Danach wird
der Inhalt des A -Registers 28 zum Inhalt des C-Registers 30 im Addierwerk 32 a addiert. Die Summe
gelangt über die Torschaltung 26 zum B-Register 32. Damit ist die erste Divisionsiteration beendet. Im
Falle, daß die Operation eine Überziehung ergeben hat, wird der Divisor komplementiert. Dies geschieht
in der beschriebenen Weise durch Invertierung und Hinzufügung eines Endübertrages zur niedrigsten
Stelle. Das C-Register 30 wird entsprechend dem Inhalt des B-Registers 32 eingestellt, so daß der Rest
nun im C-Register 30 enthalten ist. Daraufhin wird eine erneute Addition vorgenommen. Die dabei gebildete
Summe gelangt wiederum zum B-Register 32. Daraufhin wird im A-Register 28 erneut das Komplement
gebildet, wozu der Addierer 32 a wiederum einen Endbetrag zur niedrigsten Stelle dieses Registers liefert. Dieser Übertrag wird in noch zu beschreibender
Weise überwacht, um zu bestimmen, wenn der Inhalt des A -Registers zu komplementieren
und ein Quotientenbit zu erzeugen ist. Die Quotientenbits werden der niedrigsten Stelle des BZ-Registers
33 zugeführt.
Eine Null-Detektorschaltung 50 ist an den Ausgang des B-Registers 32 angeschlossen und bringt eine Rest-Null-Verriegelungsschaltung 52 in den Ein-Zustand, wenn das B-Register in allen Bitstellen Nullen enthält. Die Verriegelungsschaltung 52 ist außerdem mit der höchsten Bitstelle des BZ-Registers 33 verbunden. Die Anwesenheit eines von Null abweichenden Bits in dieser Bitstelle bewirkt eine Rückstellung der Verriegelungsschaltung 52 in ihren Null-Zustand. Es ist ferner eine Divisor-Vorzeichensteuerschaltung 54, eine Dividenden-Vorzeichensteuerschaltung 56, eine Quotienten-Vorzeichensteuerschaltung 58 und ein Quotientengenerator 60 vorgesehen. Die Quotienten-Vorzeichensteuerschaltung 58 dient zur Festlegung eines positiven Quotienten-Vorzeichens, wenn der Divisor und der Dividend die gleichen Vorzeichen haben, und zur Festlegung eines negativen Vorzeichens, wenn der Divisor und der Dividend entgegengesetzte Vorzeichen haben. Der Quotientengenerator 60 wird von der Dividenden-Vorzeichensteuerschaltung 56 und von Uberträgen aus der höchsten Stelle des Addierwerkes 32 a gesteuert, um ein Quotientenbit stets dann zu erzeugen, wenn der Dividendenrest das gleiche Vorzeichen aufweist wie der Dividend, wie vorausgehend beschrieben wurde. Eine Ubertragseingabe-Steuerschaltung 62 steuert das Addierwerk 32 A für eine Erzeugung von Endüberträgen bei einer Komplementierung und bei der Korrektur der Quotienten. Die Komplementierung des Divisors wird durch eine Komplementierschaltung 64 gesteuert.
Eine Null-Detektorschaltung 50 ist an den Ausgang des B-Registers 32 angeschlossen und bringt eine Rest-Null-Verriegelungsschaltung 52 in den Ein-Zustand, wenn das B-Register in allen Bitstellen Nullen enthält. Die Verriegelungsschaltung 52 ist außerdem mit der höchsten Bitstelle des BZ-Registers 33 verbunden. Die Anwesenheit eines von Null abweichenden Bits in dieser Bitstelle bewirkt eine Rückstellung der Verriegelungsschaltung 52 in ihren Null-Zustand. Es ist ferner eine Divisor-Vorzeichensteuerschaltung 54, eine Dividenden-Vorzeichensteuerschaltung 56, eine Quotienten-Vorzeichensteuerschaltung 58 und ein Quotientengenerator 60 vorgesehen. Die Quotienten-Vorzeichensteuerschaltung 58 dient zur Festlegung eines positiven Quotienten-Vorzeichens, wenn der Divisor und der Dividend die gleichen Vorzeichen haben, und zur Festlegung eines negativen Vorzeichens, wenn der Divisor und der Dividend entgegengesetzte Vorzeichen haben. Der Quotientengenerator 60 wird von der Dividenden-Vorzeichensteuerschaltung 56 und von Uberträgen aus der höchsten Stelle des Addierwerkes 32 a gesteuert, um ein Quotientenbit stets dann zu erzeugen, wenn der Dividendenrest das gleiche Vorzeichen aufweist wie der Dividend, wie vorausgehend beschrieben wurde. Eine Ubertragseingabe-Steuerschaltung 62 steuert das Addierwerk 32 A für eine Erzeugung von Endüberträgen bei einer Komplementierung und bei der Korrektur der Quotienten. Die Komplementierung des Divisors wird durch eine Komplementierschaltung 64 gesteuert.
Mit den Schaltungen 36 und 38 ist ein Verschiebezähler 66 gekoppelt, der in bekannter Weise zur
Überwachung der in einer Divisionsoperation auszuführenden Iterationen dient. In den Beispielen von
Tabelle 12 bis 14, wo fünfstellige Operanden verarbeitet werden, wäre der Verschiebezähler anfangs auf
Sechs einzustellen. Am Beginn eines jeden Zyklus erfolgt eine Dekrementierung dieses Zählstandes um
Eins, bis der Zähler den Wert Null enthält. Am Beginn der ersten Iteration würde somit der Inhalt des
Zählers 66 auf den Wert Fünf reduziert zur Anzeige der ersten Divisionsiteration, die, wie vorausgehend
erwähnt, lediglich ein Testzyklus ist zur Bestimmung dafür, ob der Divisor und der Dividend im richtigen
Größenverhältnis zueinander stehen. Wenn der Ver-Schiebezähler 66 nach Zählung der einzelnen Divisionsiterationen
den Wert Null erreicht, werden noch zusätzliche Zyklen zur Korrektur des Dividendenrestes
und des Quotienten und zur Komplementierung des Quotienten ausgeführt, sofern diese Operationen
erforderlich sind.
Während der Vorbereitung einer Division, nachdem der Dividend und Divisor in die entsprechenden
Register wie vorbeschrieben eingespeichert worden sind, werden auch die Vorzeichen dieser Werte in die
Steuerschaltung 54 und 56 eingegeben. Aus diesen beiden Vorzeichen wird das Vorzeichen des Quotienten
bestimmt und die Aussage abgeleitet, ob der Quotient in der ermittelten Form weiterverwendet
19 20
werden kann oder zuvor zu komplementieren ist In F i g. 4 ist eine entsprechende Verriegelungs-(ersteres
ist der Fall, wenn die Vorzeichen von Di- schaltung 74 zur Abtastung des Dividendenvorzeivisor
und Dividend gleich sind, andernfalls hat eine chens gezeigt. Diese Verriegelungsschaltung wird
Komplementierung zu erfolgen). Das Dividenden- über eine Und-Schaltung 75 eingestellt und eine
Vorzeichen wird außerdem mit den Überträgern ver- 5 Oder-Schaltung 76 rückgestellt. Ein Eingang der
glichen, die das Addierwerk 32 α während einer je- Und-Schaltung 75 ist mit der höchsten Stelle des
den Divisionsiteration in seiner höchsten Ziffernstelle B-Registers 32 verbunden und wird signalführend,
erzeugt. Das Resultat dieses Vergleiches dient zur wenn diese Stelle eine Null enthält. Dem zweiten EinBestimmung
des Quotientenbits dieser Iteration (ein gang der Und-Schaltung 75 wird das Vorzeichen-Eins-Bit
wird stets dann erzeugt, wenn kein Über- io Einstellen-Signal zugeführt. Die Oder-Schaltung 76
trag vorliegt und ein negativer Dividend verarbeitet erhält die gleichen Eingangssignale wie die Oderwird
oder wenn ein Übertrag vorliegt und ein posi- Schaltung 73 von Fig. 3. Das Ausgangssignal der
tiver Dividend verarbeitet wird). Der Null-Detektor Verriegelungsschaltung 74 dient zur Anzeige eines
50 überwacht kontinuierlich den Ausgang des ZJ-Re- negativen Dividenden.
gisters32. Wenn dieses Register innerhalb einer Di- 15 Die Fig. 5 zeigt eine Exklusiv-Oder-Schaltung 77,
visionsiteration in allen seinen Ziffernstellen Nullen deren Eingänge an die Ausgänge der Verriegelungs-
enthält, liefert der Null-Detektor 50 ein Einstellsignal schaltungen 72 und 74 von F i g. 3 und 4 angeschlos-
zu der Verriegelungsschaltung 52 (PZR). Hierdurch sen ist. Sie liefert stets dann ein Ausgangssignal, wenn
wird eine Aussage darüber gespeichert, daß eine entweder der Divisor oder der Dividend negativ ist.
Lauter-Nullen-Bedingung in wenigstens einem Teil 20 Dieses Ausgangssignal stellt eine Anzeige dafür dar,
des Restes aufgetreten ist. Die Verriegelungsschal- daß ein negativer Quotient zu bilden ist. Wenn so-
tung 52 bleibt in ihrem Einstellzustand unabhängig wohl der Divisor als auch der Dividend gemeinsam
davon, ob in der höchsten Bitstelle des BZ-Registers negativ oder gemeinsam positiv sind, liefert die Ex-
33 eine Eins auftaucht, die anzeigt, daß der Rest klusiv-Oder-Schaltung 77 kein Ausgangssignal. Das
zum Zeitpunkt dieser Registrierung nicht über seinen 25 Quotient-negativ-Signal von der Schaltung 77 dient
ganzen Bereich Nullen aufgewiesen hat. zur Steuerung der Komplementierung des Quotien-
Im Falle der Verwendung von Datenwörtern mit ten, nachdem dieser in echter Form ermittelt worden
einer Länge von 32 Bits, wie sie die in F i g. 1 dar- ist.
gestellte Anlage vorsieht, wird der Verschiebezähler Die F i g. 6 zeigt die Schaltung zur Eingabe eines
66 auf den Wert 33 eingestellt entsprechend der Aus- 30 Quotientenbit in das niedrigstellige Ende des BX-
führung von 33 Divisionsiterationen, von denen eine Registers 33. Es ist eine Oder-Schaltung 79 vorgese-
zur Prüfung des Größenverhältnisses zwischen Divi- hen, der zwei Und-Schaltungen 80, 81 vorgeschaltet
dend und Divisor und je eine zur Verarbeitung eines sind. Die Und-Schaltung 80 wird wirksam, wenn ein
Bits dient. Der zweite Iterationszyklus kann eine Übertrag von der höchsten Stelle des Addierwerkes
Wiederholung der Dividenden- und Divisorprüfung 35 32 a während einer Divisionsoperation geliefert wird
sein, sofern dies erforderlich ist. und wenn zugleich ein positiver Dividend vorliegt.
Zur Komplementierung des Quotienten wird der Das letztere Signal wird durch Negation des Aus-Inhalt
der Register 32 und 33 untereinander ver- gangssignals der Verriegelungsschaltung 72 von
tauscht, das C-Register 30 entsprechend dem Inhalt F i g. 3 gewonnen. Die Und-Schaltung 81 wird wirkdes
B-Registers 32 eingestellt und des weiteren ein 40 sam bei Fehlen eines Übertrages während einer Divi-FeId
von lauter Einsen von der Schaltung 24 über die sionsoperation und gleichzeitigem Vorliegen eines
Torschaltung 26 und nichtdargestellte Exklusiv-Oder- negativen Dividenden (negiertes Ausgangssignal der
Schaltungen in das B-Register 32 und das C-Regi- Verriegelungsschaltung 74 von Fig. 4). Die Ausster
30 eingegeben, wodurch jede Stelle in diesen gangssignale der Und-Schaltungen 80 und 81 gelan-Registern
invertiert wird. Das /(-Register wird rück- 45 gen zur Oder-Schaltung 79, deren Ausgang das Quogestellt.
Daraufhin wird der Inhalt des C-Registers tient-Eins-Signal in Übereinstimmung mit der oben-30
zusammen mit einer Endübertrag-Eins von der genannten Regel 4 und den Tabellen 11 bis 14 liefert.
Ubertragseingabeschaltung 62 dem Addierwerk 32 a Mit Hilfe eines Inverters 79 α wird aus diesem Sizugeführt.
Das Resultat, welches das Zweierkomple- gnal ein Quotient-Null-Signal erzeugt. Das Quotientment
des Quotienten darstellt, wird über die Tor- 50 Eins-Signal und das Quotient-Null-Signal gelangen zu
schaltung 26 in das B-Register 32 eingegeben. Und-Schaltungen 82 und 83, die zu einer geeigneten
In F i g. 3 ist die Divisor-Vorzeichensteuerschal- Quotient-Einstellen-Zeit konditioniert werden. Die
tung dargestellt. Sie besteht aus einer Verriegelungs- Und-Schaltung 82 liefert an ihrem Ausgang ein Einschaltung,
die mit der höchsten Wertstelle des /1-Re- Stellsignal für die niedrigste Bitstelle des BX-Regigisters
28 verbunden ist, in der sich jeweils das Vor- 55 sters 33 (F i g. 1), und die Und-Schaltung 83 liefert
zeichen des in dieses Register eingegebenen Daten- ein Rückstellsignal für die gleiche Bitstelle des Rewortes
befindet. Eine UND-Schaltung 71 bewirkt die gisters 33. Das BZ-Register 33 wird in für sich beEinstellung
der Verriegelungsschaltung 72, wenn die kannter Weise als gemeinsames Register für einen
höchste Stelle des A -Registers 28 eine Null enthält Teil des Dividenden und den zu bildenden Quotien-
und ein Vorzeichen-Einstellen-Impuls an einem 60 ten benutzt. Es ist als Schieberegister ausgebildet, und
zweiten Eingang der Und-Schaltung 71 vorliegt. Die vom Dividendenanteil wird bei jeder Divisionsitera-Rückstellung
der Verriegelungsschaltung 72 erfolgt tion ein Bit nach links aus dem Register geschoben
über eine Oder-Schaltung 73 am Ende einer Divi- und in das B-Register 32 eingegeben. Hierdurch entsionsoperation
durch ein Division-Rückstellen-Signal steht der Platz für das nächste Quotientenbit. Die
oder durch ein besonderes Rückstellen-Signal der 65 Zuführung von Quotientenbits zum Register 33 wird
Verarbeitungseinheit. Der Ausgang der Verriege- während des Testzyklus (erste Iteration) blockiert
lungsschaltung 72 gibt eine Anzeige dafür, daß der durch die Abwesenheit eines Nicht-Verschiebezähler-Divisor
negativ ist. 32-Signals.
Das BX-Register 33 ist in F i g. 7 im Detail dargestellt.
Die von den Und-Schaltungen 82 und 83 (F i g. 6) erzeugten Quotienten-Einstell- und Rückstellsignale
gelangen zu Oder-Schaltungen 85, 86 (F i g. 7), die der niedrigsten Wertstelle des Registers
von F i g. 7 zugeordnet sind.
Die Steuerschaltung 64 zur Komplementierung des Divisors zeigt im Detail die Fig. 8. Das Divisor-Komplementieren-Signal
wird von einer Oder-Schaltung 88 jeweils dann geliefert, wenn eine von zwei Und-Schaltungen 89, 90 leitend wird. Die Und-Schaltung
89 wird während der ersten Divisionsiteration durch ein Signal vom Verschiebezähler 66 konditioniert,
das dessen Schaltstellung 32 anzeigt. Als weiteres Eingangssignal erhält die Und-Schaltung 89
das invertierte Ausgangssignal der exklusiven Oder-Schaltung 77 von F i g. 5 zur Anzeige eines positiven
Quotienten zugeführt. Dieses Signal besagt, daß sich die Vorzeichen von Divisor und Dividend gleichen
und daß daher der Divisor vor Beginn der ersten Divisionsiteration aus den vorausgehend beschriebenen
Gründen zu komplementieren ist. Außerdem erhält die Und-Schaltung 89 ein geeignetes Taktsignal
zugeführt, das den Zeitpunkt der Komplementierung festlegt. Die Und-Schaltung 90 wird während
jeder Iteration konditioniert durch entsprechende Ausgangssignale des Zählers in dessen Zählstellungen
zwischen 0 und 31. Einem Eingang der Und-Schaltung 90 ist eine Exklusiv-Oder-Schaltung 91 vorgeschaltet.
Ein Eingang dieser exklusiven Oder-Schaltung ist mit der höchsten Stelle des A -Registers 28
verbunden, die üblicherweise das Vorzeichen des Divisors enthält. Der andere Eingang der exklusiven
Oder-Schaltung 91 erhält den Übertrag von der höchsten Stelle des Rechenwerkes 32 a zugeführt.
Wenn eine Eins in der höchsten Stelle des ^-Registers 28 (negativer Divisor) gemeinsam mit einem
Übertrag in der höchsten Stelle des Addierwerkes 32 α auftritt, findet aus den oben erläuterten Gründen
keine Komplementierung statt; die Exklusiv-Oder-Schaltung 91 liefert daher kein Ausgangssignal zur
Und-Schaltung 90, die dadurch gesperrt bleibt. Wenn andererseits die als Null-Stelle bezeichnete höchststellige
Stufe des A -Registers eine Null enthält zum Zeichen dafür, daß der Dividend positiv ist, und zur
gleichen Zeit ein Übertragssignal von der höchsten Stelle des Addierwerkes 32 α am Eingang der Exklusiven-Oder-Schaltung
91 vorliegt, so liefert diese ein Ausgangssignal, das die Und-Schaltung 90 leitend
macht, wodurch über die Oder-Schaltung 88 ein Steuersignal zur Komplementierung des Divisors erzeugt
wird. Das gleiche geschieht, wenn kein Übertrag von der höchsten Stelle des Addierwerkes 32 a
abgegeben wird, jedoch eine Eins in der höchsten Stelle des Registers 28 zum Zeichen eines negativen
Divisors enthalten ist.
Das Addierwerk 32 α erhält Eingangssignale von der Übertrag-Eingabeschaltung 62 zugeführt, die im
einzelnen die F i g. 9 zeigt. Wie vorausgehend bereits erläutert wurde, dient diese Schaltung zur Erzeugung
eines Endübertrag-Signals, das zur Bildung des Zweierkomplementes aus dem Einerkomplement verwendet
wird. Das Signal wird von einer Oder-Schaltung 92 erzeugt, wenn eine der Und-Schaltungen 93 a,
93 b, 94 oder 95 leitend wird. Die Und-Schaltungen 93 α und 93 b werden wirksam, wenn der Divisor zu
komplementieren ist. Dies geschieht jeweils zu in Additionszeiten der einzelnen Iterationen. Die Und-Schaltung
94 wird wirksam, wenn der Quotient zu komplementieren ist, und die Und-Schaltung 95 wird
wirksam, wenn der Quotient wegen des Auftretens eines Null-Restes zu korrigieren ist. Die Und-Schaltung94
empfängt daher von der exklusiven Oder-Schaltung 77 das Quotient-Negativ-Signal und das
negierte Ausgangssignal von der Null-Rest-Verriegelungsschaltung 99. Die Und-Schaltung 95 empfängt
das Ausgangssignal der Null-Rest-Verriegelungsschaltung
99, das negierte Ausgangssignal der exklusiven Oder-Schaltung 77 und ein Dividend-Negativ-Signal
von der Verriegelungsschaltung 77. Durch das letzte Signal wird sichergestellt, daß eine Korrektur
bei Auftreten eines Null-Restes in einer Division mit einem positiven Dividenden verhindert wird. Die Eingangssignale der Und-Schaltungen 93 α und 93 b sind
aus den Eintragungen in F i g. 9 zu ersehen. Die Und-Schaltung 94 ist blockiert, wenn sich die Verriegelungsschaltung
99 von Fig. 11 im Ein-Zustand befindet. Dies kann geschehen, da die Addition einer
Eins zur niedrigsten Stelle des Quotienten und die darauffolgende Komplementierung des Quotienten
äquivalent einer einfachen Invertierung des Quotienten ist (s. Tabelle 13). Wenn daher sowohl eine Komplementierung
des Quotienten als auch eine Korrektur durchzuführen sind, wird der Quotient einfach
invertiert. Die Und-Schaltung 95 wird in ähnlicher Weise stets dann gesperrt, wenn der Quotient zu
komplementieren ist. Ein Ubertragssignal auf der Ausgangsleitung der Oder-Schaltung 92 wird daher
nur in den Fällen erzeugt, wo eine Quotientenkomplementierung auszuführen ist, ohne daß eine Quotientenkorrektur
auf Grund eines Null-Dividendenrestes notwendig ist, oder wo eine Quotientenkorrektür
durchzuführen ist, ohne daß eine Komplementierung des Quotienten erforderlich ist.
Die Fig. 10 zeigt eine vereinfachte Darstellung des Null-Detektors 50 von Fig. 1, der zur Anzeige
dafür dient, daß das B-Register 32 lauter Nullen enthält. Eine Oder-Schaltung 97 ist mit allen Bitstellen
des B-Registers 32 verbunden. Der Ausgang der Oder-Schaltung führt zu einem Inverter 98, der nur
dann ein Ausgangssignal liefert, wenn keine der Eingänge der Oder-Schaltung 97 ein Eins-Eingangssignal
von den zugeordneten Stellen des Registers 32 empfängt.
Die Fig. 11 zeigt die Details der Null-Rest-Verriegelungsschaltung
52 von Fig. 1. Eine Verriegelungsschaltung 99 wird jeweils dann in den Ein-Zustand
gebracht, wenn das B-Register 32 in jeder seiner Stellen eine Null enthält zu einer Zeit, in der
ein Null-Rest-Einstellen-Signal vorliegt. Diese Bedingung
wird durch die Und-Schaltung 100 ermittelt, die dem Einstelleingang der Verriegelungsschaltung
99 vorgeschaltet ist. Die Verriegelungsschaltung 99 wird über eine Oder-Schaltung 102 am Ende einer
Divisionsoperation oder durch ein besonderes Signal von der Verarbeitungseinheit rückgestellt. Eine Rückstellung
kann auch durch ein Ausgangssignal der Und-Schaltung 103 erfolgen, wenn eine Eins in der
höchsten Stelle des BZ-Registers 33 (Stelle 0) erscheint. Dies geschieht zu einer geeigneten Zeit, wenn
der Verschiebezähler 66 in einer von Null abweichenden Stellung steht. Es ist daraus ersichtlich, daß stets
dann, wenn ein Null-Rest im B-Register 32 ermittelt wird, die Verriegelungsschaltung 99 eingestellt wird.
Wenn jedoch ein Eins-Bit in demjenigen Teil des Dividenden vorliegt, der noch nicht in das B-Register
32 übertragen worden ist, wird die Verriegelungsschaltung 99 zu dem Zeitpunkt wieder rückgestellt,
wenn dieses Eins-Bit in der höchsten Stelle des BX-Registers 33 während der Linksverschiebung des Dividenden
erscheint. Innerhalb der gleichen Divisionsoperation ist es möglich, daß eine zweite Null-Rest-Bedingung
im B-Register 32 abgefühlt wird. Hierdurch wird die Verriegelungsschaltung 99 erneut eingestellt.
Sie kann daraufhin in diesem Zustand verbleiben oder erneut durch eine in der höchsten Stelle
des BZ-Registers 33 abgefühlte Eins in den NuIl-Zustand zurückgestellt werden. Von Bedeutung ist
hierbei lediglich, ob der Verriegelungszustand am Ende der Divisionsoperation sich im Einstellzustand
befindet oder nicht, denn hierdurch wird angezeigt, daß während der Operation tatsächlich ein Null-Rest
vorgelegen hat und demzufolge eine Korrektur des Quotienten durch Inkrementierung um den Wert Eins
vorzunehmen ist. Die Und-Schaltung 103 ist blockiert, nachdem der Verschiebezähler 66 den NuIl-Zustand
erreicht hat, so daß ein Quotientenbit, das zu dieser Zeit durch die Linksverschiebung des Quotienten
im Register 33 dessen höchste Stelle erreicht, keine Rückstellung der Verriegelungsschaltung 99 bewirkt.
Der Ausgang der Verriegelungsschaltung 99 ist mit einer Und-Schaltung 106 verbunden, die eine Rückstellung
des B-Registers 32 bewirkt während nach einer Division mit einem negativen Dividenden, in
welcher ein Null-Rest aufgetreten ist, ein Korrekturzyklus abläuft. Dies ist notwendig, da bei einem Null-Rest
in einer Division mit einem negativen Dividenden Quotientenbits in allen aufeinanderfolgenden
Zyklen, einschließlich dem Zyklus Null erzeugt werden. Hierdurch kann fälschlicherweise von der Schaltung
angenommen werden, daß eine erfolgreiche Reduktion im Zyklus Null erfolgt ist, so daß keine Korrektur
des Restes notwendig ist, während richtigerweise jedoch der Rest durch Nullsetzen zu korrigieren
ist. Wenn daher ein Lauter-Nullen-Resultat im Zyklus Null erreicht wird, würde ein falsches Fehlen
eines Quotienten anzeigen, daß eine Korrektur des Restes vorzunehmen ist, während dies tatsächlich
nicht der Fall ist. Um eine solche Fehlanzeige zu vermeiden, wird der Null-Zustand im B-Register 32
durch das Ausgangssignal der Und-Schaltung 106 erzwungen.
Der Ablauf einer Divisionsoperation beginnt mit dem Laden der A-, B- und BZ-Register 28, 32 und
33. Während dieser Zeit wird auch der Verschiebezähler 66 in seinen Anfangszustand gestellt, der stets
um Eins höher ist als die Zahl der zu erzeugenden Quotientenbits (33 im Falle einer Datenwortlänge
von 32 Bits). Nachdem die Register 28, 32 und 33 geladen sind, werden die Vorzeichen des Divisors
und des Dividenden in den Verriegelungsschaltungen 72, 74 (Fig. 3 und 4) eingestellt. Damit ist die Vorbereitung
der Division beendet.
Jede der nun beginnenden Divisionsiterationen umfaßt mehrere zeitlich aufeinanderfolgende Funktionen.
Als erstes ist der Verschiebezähler 66 um Eins zu dekrementieren. Daraufhin wird der Inhalt der
Register 32 und 33 um eine Stelle nach links verschoben. Da dies jedoch nicht während des Testzyklus
stattfinden darf, wird das entsprechende Steuersignal durch den Verschiebezähler 66 blockiert, wenn
sich dieser in Zählstellung 32 befindet. Nach der Verschiebung wird der Inhalt des B-Registers 32 in das
C-Register30 überführt. Als nächstes wird geprüft, ob der Divisor zu komplementieren ist (Ausgangssignal
der Oder-Schaltung 88 in F i g. 8). Zur Zeit des
ίο Additions-Signals (F i g. 4) erfolgt die in Verbindung
mit F i g. 1 beschriebene arithmetische Operation, die in einer Addition des Inhaltes der Register 28
und 30 besteht. Nach der Addition wird die Möglichkeit geprüft, ob die Verriegelungsschaltung 99
(Fig. 11) eingestellt werden kann. Dies geschieht durch das Signal Null-Rest-Einstellen. Als nächstes
wird ein Quotientenbit im Register 33 durch das Quotient-Einstellen-Signal (F i g. 6) eingegeben. Während
des Testzyklus wird diese Operation durch das Nicht-Verschiebezähler-Sl-Signal (F i g. 6) blockiert.
Für den Fall, daß die Verriegelungsschaltung 99 eingestellt worden ist, kann sie nun wieder in den Null-Zustand
rückgestellt werden, wenn ein Eins-Bit in der höchsten Stelle des BZ-Registers 33 vorliegt. Dies
geschieht durch das Null-Rest-Rückstellen-Signal von Fig. 11. Während der letzten Iteration, wenn sich
der Verschiebezähler 66 in der Position Null befindet, wird diese Operation blockiert. Die vorausgehend
erläuterten Funktionen werden in jeder Divisionsiteration wiederholt, bis der Verschiebezähler 66 den
Null-Zustand erreicht hat.
Der Zyklus, der auf die Nullstellung des Verschiebezählers 66 folgt, ist der Rest-Korrektur-Zyklus.
Dieser Zyklus umfaßt eine Komplementierungsoperation und eine Additionsoperation in der oben
beschriebenen Weise. Wenn jedoch die Verriegelungsschaltung 99 im Ein-Zustand steht, wird das B-Register
32 durch das Ausgangssignal der Und-Schaltung 106 rückgestellt, ohne daß eine eigentliche Korrektur
des im Zyklus Null erzeugten fehlerhaften Quotientenbits erfolgt.
Nach dem Rest-Korrektur-Zyklus wird der Quotient korrigiert und/oder komplementiert. Dies geschieht
in einem zusätzlichen Zyklus, der einen gegenseitigen Austausch des Inhaltes der Register 32
und 33 sowie eine Rückstellung des A -Registers 28 umfaßt. Der Inhalt des B-Registers 32 wird in das
C-Register 30 überführt. Danach wird, wenn ein Quotient-Negativ-Signal von der Exklusiven Oder-Schaltung
77 vorliegt, der Inhalt der Register 30, 33 in für sich bekannter Weise durch nicht dargestellte
Mittel invertiert. Danach wird bei Vorliegen des Quotient-Korrigieren-Signals (F i g. 9) ein Übertragssignal zum Addierwerk 32 a geliefert, sofern der Quo-
tient zu komplementieren ist oder auf Grund eines Null-Restes zu korrigieren ist, jedoch nicht, wenn
beides zu geschehen hat. Das Resultat vom Addierwerk 32 a wird über die Torschaltung 26 in das
B-Register 32 eingegeben. Dieses Resultat stellt den endgültigen Quotienten dar, der in der Folge zum
Speicher 20 übertragen oder anderweitig weiterverwendet werden kann.
Hierzu 2 Blatt Zeichnungen
Claims (7)
1. Anordnung zur Division von binären Operanden mit beliebigen Vorzeichen ohne Rückstellung
des Dividendenrestes durch Ausführung iterativer Subtraktionen oder Additionen des Divisors
vom bzw. zum Dividenden, dadurch gekennzeichnet,
daß negative Dividenden in der vorliegenden Form, also ohne vorherige Komplementierung,
dem die Iterationen ausführenden Rechenwerk (32 a) zugeleitet werden, daß eine Null-Rest-Abtastschaltung (50,52) vorgesehen ist,
die beim Vorhandensein von Nullen in allen Stellen des sich während einer Iteration ergebenden
Dividendenrestes ein Steuersignal an eineQuotientenkorrekturschaltung
(95) abgibt, die daraufhin am Ende der Division eine Quotientenerhöhung um Eins auslöst, und daß diese Quotientenkorrektur
bei Vorliegen eines positiven Dividenden durch eine Vorzeichensteuerschaltung (56) verhindert wird.
2. Anordnung nach Anspruch 1, dadurch gekennzeichnet, daß eine Ubertragsgeneratorschaltung
(62) vorgesehen ist, die auf ein Steuersignal von der Null-Rest-Abtastschaltung (50, 52) in
Abhängigkeit von einem Anzeigesignal für das Vorliegen eines negativen Dividenden und eines
negativen Divisors am Ende der Division ein Übertragssignal erzeugt, das zur niedrigsten Stelle
des Quotienten addiert wird.
3. Anordnung nach den Ansprüchen 1 und 2, dadurch gekennzeichnet, daß die Quotientenkorrektur
in Kombination mit der Komplementierung eines negativen Quotienten vor seiner Weiterverwendung erfolgt, indem das Ausgangssignal
der Null-Rest-Abtastschaltung (50, 52) in Abhängigkeit vom Vorliegen eines negativen Quotienten
dazu dient, die Komplementierungsschaltung von der Bildung des Zweierkomplementes
auf die Bildung des Einerkomplementes umzuschalten.
4. Anordnung nach Anspruch 3, dadurch gekennzeichnet, daß das Ausgangssignal der Null-Rest-Abtastschaltung
(50,52) während der Kornplementierung eines negativen Quotienten zur
Sperrung des Endübertrages zur niedrigsten Stelle dient, durch den sonst ein durch Invertierung gewonnenes
Einerkomplement in das Zweierkomplement überführt wird.
5. Anordnung nach den Ansprüchen 1 bis 4, dadurch gekennzeichnet, daß die Null-Rest-Abtastschaltung
(50, 52) nur jeweils einen hochstelligen Teil des Dividendenrestes abtastet und eine Registerstufe (99) zur Speicherung eines
Null-Rest-Signals aufweist, wenn dieses im Verlauf der Division auftritt, und daß ein Rückstelleingang
der Registerstufe der höchsten Stelle des anderen Teiles des Dividendenrestes zugeordnet
ist, so daß im weiteren Verlauf der Division bei Auftreten eines Eins-Bits in dieser Stelle eine
Rückstellung der Registerstufe erfolgt und daß der Inhalt der Registerstufe am Ende der Division
zur Steuerung einer eventuellen Quotientenkorrektur abgetastet wird.
6. Anordnung nach Anspruch 5, dadurch gekennzeichnet, daß der hochstellige Teil des Dividendenrestes
in einem ersten Register (32) und der andere Teil in einem zweiten Register (33)
enthalten ist, dessen höchste Stelle mit der niedrigsten Stelle des ersten Registers verbunden
ist, und daß die beiden Register mit einer Stellenverschiebeeinrichtung versehen sind, durch die
nach jeder Iteration der Inhalt beider Register um eine Stelle in Richtung des Wertstellenanstiegs
verschoben wird.
7. Anordnung nach den Ansprüchen 5 und 6, dadurch gekennzeichnet, daß die bei Verschiebung
des Dividendenrestes frei werdenden Stellen des zweiten Registers (33) zur Aufnahme der
Quotientenziffern dienen und daß gegen Ende der Division, wenn das höchststellige Quotientenbit
die höchste Stelle des zweiten Registers erreicht, der Rückstelleingang der Null-Rest-Verriegelungsstufe (99) durch eine Iterationsfolgesteuerschaltung
(66) gesperrt wird.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US58287066A | 1966-09-29 | 1966-09-29 |
Publications (3)
Publication Number | Publication Date |
---|---|
DE1549485A1 DE1549485A1 (de) | 1971-03-04 |
DE1549485B2 true DE1549485B2 (de) | 1973-03-29 |
DE1549485C3 DE1549485C3 (de) | 1973-10-18 |
Family
ID=24330810
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE1549485A Expired DE1549485C3 (de) | 1966-09-29 | 1967-09-29 | Anordnung zur Division binärer Operanden ohne Rückstellung des Restes |
Country Status (4)
Country | Link |
---|---|
US (1) | US3492468A (de) |
DE (1) | DE1549485C3 (de) |
FR (1) | FR1554668A (de) |
GB (1) | GB1132168A (de) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3816733A (en) * | 1973-05-09 | 1974-06-11 | Collins Radio Co | Bit serial divider with full scale capabilities |
US4381550A (en) * | 1980-10-29 | 1983-04-26 | Sperry Corporation | High speed dividing circuit |
US4380051A (en) * | 1980-11-28 | 1983-04-12 | Motorola, Inc. | High speed digital divider having normalizing circuitry |
US5016210A (en) * | 1989-11-15 | 1991-05-14 | United Technologies Corporation | Binary division of signed operands |
FR2720172B1 (fr) * | 1994-05-20 | 1996-06-28 | Sgs Thomson Microelectronics | Dispositif de mise en Óoeuvre numérique d'une opération de division. |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3229079A (en) * | 1962-04-06 | 1966-01-11 | Jr Harry D Zink | Binary divider |
US3378677A (en) * | 1965-10-04 | 1968-04-16 | Ibm | Serial divider |
-
1966
- 1966-09-29 US US582870A patent/US3492468A/en not_active Expired - Lifetime
-
1967
- 1967-08-17 FR FR1554668D patent/FR1554668A/fr not_active Expired
- 1967-09-04 GB GB40315/67A patent/GB1132168A/en not_active Expired
- 1967-09-29 DE DE1549485A patent/DE1549485C3/de not_active Expired
Also Published As
Publication number | Publication date |
---|---|
GB1132168A (en) | 1968-10-30 |
US3492468A (en) | 1970-01-27 |
FR1554668A (de) | 1969-01-24 |
DE1549485A1 (de) | 1971-03-04 |
DE1549485C3 (de) | 1973-10-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2712224C2 (de) | Datenverarbeitungsanlage | |
DE1956209C3 (de) | Multipliziervorrichtung | |
DE2626432C2 (de) | Arithmetische Einheit für automatische Rechengeräte | |
DE2246968A1 (de) | Einrichtung zur kombination, insbesondere multiplikation, zweier gleitkommazahlen | |
DE1162111B (de) | Gleitkomma-Recheneinrichtung | |
DE2930441C2 (de) | Anzeigeeinrichtung zur wahlweisen dynamischen oder statischen Anzeige | |
DE1549476B2 (de) | Anordnung zur ausfuehrung von divisionen | |
DE1169166B (de) | Modulí¬9 Pruefzahl-Rechner | |
DE3303269C2 (de) | ||
DE3440680C2 (de) | ||
DE1114050B (de) | Elektronischer Gleitkomma-Rechner | |
DE1549485C3 (de) | Anordnung zur Division binärer Operanden ohne Rückstellung des Restes | |
DE1293188B (de) | Schaltungsanordnung zur UEbertragung von Pruefinformationen mit vorbestimmter Paritaet in Datenverarbeitungsanlagen | |
DE2203143C3 (de) | Rechenanordnung zum Dividieren von Dezimalzahlen | |
DE1524117B1 (de) | Datenverarbeitungsanlage mit Umlaufregistern | |
DE1449564C3 (de) | Recheneinrichtung zur Subtraktion mehrerer Operanden oder zu deren Addition durch Verwendung von Komplementärwerten eines der Operanden | |
DE1499227C3 (de) | Schaltungsanordnung für arithmetische und logische Grundoperationen | |
DE1549105C3 (de) | Codeprüfanordnung für die Korrektur fehlerhaft übertragener Zeichen | |
DE1103646B (de) | Inkrement-Rechenmaschine | |
DE1549461C3 (de) | ||
DE1549449A1 (de) | Einrichtung zur Verarbeitung von Gleitkommazahlen | |
DE1808159B2 (de) | Einrichtung zur umsetzung von dualzahlen in binaer codierte dezimalzahlen in paralleler darstellung | |
DE2539245C2 (de) | ||
DE1524146C (de) | Divisionseinrichtung | |
DE1111429B (de) | Multiplikationsschaltung fuer eine Daten verarbeitende Maschine |
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 |