DE2816711A1 - Divisionseinrichtung mit uebertrags- rettungsaddierwerk und nicht ausfuehrender vorausschau - Google Patents
Divisionseinrichtung mit uebertrags- rettungsaddierwerk und nicht ausfuehrender vorausschauInfo
- Publication number
- DE2816711A1 DE2816711A1 DE19782816711 DE2816711A DE2816711A1 DE 2816711 A1 DE2816711 A1 DE 2816711A1 DE 19782816711 DE19782816711 DE 19782816711 DE 2816711 A DE2816711 A DE 2816711A DE 2816711 A1 DE2816711 A1 DE 2816711A1
- Authority
- DE
- Germany
- Prior art keywords
- carry
- bit
- csa
- sum
- bits
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
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/5353—Restoring division
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)
Description
Anmelderin: International Business Machines
Corporation, Armonk, K.Y. 10504
te/bra
Divisionseinrichtung mit Übertrags--Rettungsaddierwerk und
nicht ausführender Vorausschau
Die Erfindung betrifft arithmetische Einheiten für Hochgeschwindigkeits-Datenprozessoren
und insbesondere die Multiplikations/Divisionseinrichtungen solcher Einheiten.
In einem Datenprozessor mit einer Multiplikations/Divisionsschaltung
wird der Multiplikationsprozeß im wesentlichen in Form einer Reihe von Additionen und die Division im wesentlichen
in Form einer Reihe von Subtraktionen ausgeführt, diese speziell als komplementäre Subtraktionen. Multiplikationen
werden im allgemeinen durch den Einsatz von Übertrags-Rettungsaddierer (Carry-Save-Adder) für die aufeinanderfolgenden Additionen
beschleunigt. Ein übertrags-Rettungsaddierer arbeitet so, daß er nicht direkt die übertragsbits mit den Grundsummenbits
kombiniert (manchmal auch Halbsummenbits genannt), die sich aus jeder Addition ergeben, sondern stattdessen diese
Summen- und übertragsbits vorübergehend in separaten Registern bis zu einem späteren Zeitpunkt festhält, zu dem sie in geeigneter
Weise kombiniert werden. Dieses Verfahren spart die Zeit ein, die sonst für das Warten auf die Weiterleitung von Überträgen
durch die lange Reihe von Summenbits nach jeder Addition verbraucht wird. Stattdessen werden die übertragsbits unentschieden
gehalten, so daß der nächste Zyklus der Multiplikation ablaufen kann.
In Datenprozessoren mit Teilereinheiten (Divisionseinrichtungen) verwendet die Teilerschaltung üblicherweise einen anderen als
den übertrags-Rettungsaddierer. Wie schon gesagt, besteht die Division aus einer Folge von Subtraktionen, die normalerweise
als Additionen ausgeführt werden, worin einer der Ausdrücke in die Komplementärform invertiert wird. Bei jeder Subtraktion
BC 976 026
muß geprüft werden, ob sie erfolgreich oder erfolglos verläuft, bevor die nächste Subtraktion stattfinden kann.
Eine erfolglose Subtraktion führt zu einer Überziehung, weil der Subtrahend (d.h. bei einer Division der Divisor) größer
ist als der wahre Wert des Minuenden (d.h. der laufende Rest von der vorhergehenden Subtraktion oder der erste Dividendenwert
bei der ersten Subtraktion). Die Überziehung muß entweder vorhergesehen und verhindert werden, indem die
Subtraktion nicht tatsächlich ausgeführt wird. Wenn die Subtraktion ausgeführt wurde, muß sie annuliert werden durch
Wiederherstellung des vorhergehenden Minuendenwertes und entsprechende Neueinstellung des Wertes der Zahl in der laufenden
Reihenfolge des Quotientenwertes. Vorzugsweise wird jedoch eine Überziehung vorhergesehen und die tatsächliche
Ausführung der Subtraktion verhindert und nicht die Subtraktion ausgeführt und dann der vorherige Minuendenwert wieder
hergestellt.
üblicherweise in Teilereinheiten verwendete Addierer ersetzen
den in Multiplikatoren verwendeten Übertrags-Rettungsaddierer im allgemeinen nicht. Ein Übertrags-Rettungsaddierer hält
absichtlich den Effekt der während einer laufenden Addition erzeugten Überträge bis zur Ausführung des nächsten Additionsschrittes zurück. Dieses Prinzip ist im Grunde genommen einer
Vorausschaufunktion entgegengesetzt, die verlangen würde, daß der Effekt der aus einem Schritt im Rechenprozeß resultierenden
Überträge sichergestellt ist, bevor der nächste Schritt in diesem Prozeß ausgeführt wird. Somit war es allgemein
üblich, separate Addierer für Multiplikation und Division vorzusehen, wobei in der Multiplikationseinheit ein
Rettungsaddierer und in der Divisionseinheit ein anderer Addierertyp, vorzugsweise mit Vorausschaumöglichkeit verwendet
wurde. Wenn die Divisionsfunktion vorgesehen ist, wird somit in herkömmlichen Prozessoren die Recheneinheit
teuerer und es muß außerdem zusätzlicher Raum für einen weiteren Addierer vorgesehen werden. Während weiterhin ein her-
BC 976 026 80984Λ/0774
kömmlicher Vorausschauaddierer einige Zeit spart, die sonst für die Ausführung und die anschließende Rückstellung einer
vergeblichen Subtraktion gebraucht würde, ist ein solcher Addierer doch nicht völlig untätig, sondern braucht einige
Zeit für die echte Ausführung wenigstens eines Teiles des Subtraktionsprozesses. Diese Zeit ist vergeudet, wenn sich der
Subtraktionsversuch als erfolglos herausstellt.
Eine Hauptaufgabe der vorliegenden Erfindung ist die Schaffung einer verbesserten Divisionseinrichtung hoher Geschwindigkeit,
die einen Übertrags-Rettungsaddierer benutzt und die Verwendung desselben Addierers für Division und Multiplikation ermöglicht.
Eine weitere Aufgabe ist die Schaffung einer schnellen Vorhersageschaltung für jede komplementäre Subtraktionsphase eines Divisionsprozesses mit Übertragsrettung. Dabei
wird vorhergesagt, ob die Subtraktion erfolgreich verlaufen wird oder nicht und die eigentliche Ausführung dieser Subtraktion
bei einer erfolglosen Vorhersage verhindert. Diese Vorhersagen sollen durch einfache logische Funktionen möglich
sein, die durchschnittlich wesentlich weniger Zeit brauchen als eine echte Addition besagter Bitreihen durch besagten
Addierer.
Eine weitere Aufgabe der Erfindung besteht in der Schaffung eines Übertrags-Rettungsaddierers neuartiger miniaturisierter
Konstruktion, der die darin gespeicherten Bitreihen nach Bedarf nach links oder rechts verschieben und gleichzeitig
verschiedene Sätze von Summen- und Übertragsbits ohne Dualaddierer festhalten kann. Besagter Übertragsrettungsaddierer
erzeugt Summen- und Übertragsbits, die zwischen Taktimpulsen verriegelt bleiben, sowie nicht verriegelte Vorsummen- und
Vorübertragsbits, die in einer neuartigen Vorausschauschaltung zur Bestimmung der Ergebnisse einer vorgeschlagenen Addition
benutzt werden können, ohne die verriegelten Werte der Summen- und Übertragsbits zu beeinflussen.
EC976026 809644/077«
Ein Ausführungsbeispiel der Erfindung ist in den beigefügten
Zeichnungen dargestellt und wird anschließend näher beschrieben.
Es zeigen;
Fig. 1 in einem Diagramm den allgemeinen Datenfluß in
einem die Erfindung enthaltenden Prozessor,
Fign. 2 in vereinfachter Darstellung den Datenfluß in bis 5 verschiedenen Schiebe- und Additionsfunktionen,
die vom erfindungsgemäßen Übertrags-Rettungs-
addierer ausgeführt werden können,
Fig„ 6 allgemein eine typische Bitposition im übertrags-
Rettraigsaddierer,
Fig. 7 eine Anweisung einer mathematischen Funktion,
die von der hier beschriebenen neuen Vorausschauschaltung ausgeführt wird,
Fign. 3 logische Diagramme verschiedener Aspekte der bis 11 Vorausschauschaltung und ihrer Arbeitsweise,
Fig. 12 ein logisches Diagramm des Aufbaus der Bitposition
im Übertrags-Rettungsaddierer im einzelnen
und
Fign. 13 in vereinfachten Diagrammen die obengenannte bis 15 Bitposition im Übertrags-Rettungsaddierer mit
verschiedenen Funktionen der hier verwendeten
Flankentriggerschaltung.
BC 976 026
809844/0774
Zuerst werden das logische und arithmetische Verfahren für
die Ausführung einer Division nach dem Erfindungsgedanken beschrieben. Die Division ist ein Prozeß aufeinanderfolgender
Subtraktionen, während denen ein Divisor genannter Operand progressiv von einem anderen Operanden subtrahiert wird, der
am Anfang Dividend genannt wird und dadurch von seinem Anfangswert auf eine Reihe von Zwischen-Minuenden oder Teilrestwerten abnehmender Größe reduziert wird, bis ein Endrest errechnet
wird, der kleiner ist als der Divisor. Dieser Endrest ist null, wenn der Dividend ein genaues Vielfaches des Divisors
ist.
Auch wenn der Anfangsdividend wesentlich größer ist als der Divisior, ist nicht sichergestellt, daß jeder der Teilrestwerte so groß ist, daß der Divisor davon subtrahiert werden
kann. Somit ist am Anfang nicht bekannt, ob in jedem der nachfolgenden Subtraktionsschritte eine Überziehung auftritt oder
nicht. Erfolg oder Erfolglosigkeit einer bestimmten Subtraktion in der Subtraktionsreihe hängen vom jeweiligen Bitmuster
des betreffenden Minuenden ab, der von der jeweiligen Subtraktion betroffen ist. Wenn die Subtraktion nicht erfolgreich ausgeführt
werden kann (d.h., wenn sie nicht ohne Überziehung ausgeführt werden kann), sollte diese Tatsache vorzugsweise
festgestellt werden, bevor die Subtraktion versucht wird, so daß die Operation direkt zum nächsten Subtraktionsschritt
weitergeht (nach der notwendigen Spaltenverschiebung), ohne eine erfolglose Subtraktion auszuführen.
Die Vorhersage von Überziehungen bei einer Division wurde schon auf vielerlei Art vorgenommen. Soweit bekannt ist, wurde
jedoch nirgendwo eine Einrichtung vorgesehen, um eine genaue Vorhersage zu treffen, wenn die Division durch einen komplementären
Subtraktionsprozeß mit einem übertragsrettungs-Addierer (wie normalerweise bei Multiplikationen) ausgeführt
wird.
BC 976 026
80984h
Die Verwendung eines Übertrags-Rettungsaddierers für die Division
bringt gewisse Probleme mit sich, die bei Verwendung eines solchen Addierers für die Multiplikation nicht auftreten. Bei
der Multiplikation können die verschiedenen Additionsschritte
im allgemeinen ohne Rücksicht auf die relative Größe der betroffenen Operanden ausgeführt werden und es entstehen keine
Schwierigkeiten dadurch, daß aus jeder Addition resultierende Übertragsbits festgehalten werden bis zur Ausführung der nächsten
Addition. Bei einer Division führt das Retten der aus einem Subtraktionsschritt in einem Zyklus ausgeführten Überträge
bis zur Subtraktion des nächsten Zyklus zu Komplikationen beim Problem der Vorhersage der erfolgreichen Ausführbarkeit
einer Subtraktion ohne Überziehung. Bevor diese Komplikationen näher betrachtet werden, wird zuerst das Problem der Vorhersage
von Überziehungen allgemein behandelt. Danach werden die durch die Übertrags-Rettungstechnik eingeführten Sonderprobleme
betrachtet. Soweit die Division als eine Reihe von komplementären Subtraktionen ausgeführt wird, ist es am einfachsten, den
Dividenden am Anfang in seine Einer-Komplementform umzuwandeln und die Division durch sukzessive Addition des Divisors zu einem
Minuenden durchzuführen, der bereits in Komplementform steht.
Am Anfang eines jeden neuen Subtraktionszyklus einer Teilungsoperation findet eine Spaltenverschiebung statt, durch die der
laufende Teilrestwert um eine Bitposition nach links verschoben wird. Die Linksverschiebung ist effektiv eine Sonderform der
Addition mit teilweiser Weiterleitung der Überträge und die nicht weitergeleiteten Überträge müssen bei der Bestimmung des
links ausgeschobenen Bits berücksichtigt werden. Wenn als Ergebnis dieser Linksverschiebung und unter Berücksichtigung der
nicht weitergeleiteten Überträge ein wahres Einer-Bit oder ein komplementäres Null-Bit am werthohen Ende des Restes nach
links über die werthöchste Bitposition im Divisor hinausgeschoben wird, heißt das, daß eine Subtraktion erfolgreich ausgeführt
werden kann, weil dann der wahre Minuendenwert not-
BC 976 026
wendigerweise den Divisor- oder Subtrahendenwert übersteigt. Sobald also bei der ersten Linksverschiebung eine komplementäre
Null aus dem laufenden Rest links vom Divisor ausgeschoben wird, wird eine erfolgreiche Subtraktion angezeigt,
weil auch der höchstmögliche Divisorwert kleiner ist als der nach links verschobene Rest, von dem er zu subtrahieren ist.
Wenn das links ausgeschobene Bit des Divisors jedoch einen komplementären Einer-Wert oder einen wahren Null-Wert hat,
kann der Erfolg der Subtraktion nicht gesichert werden, weil der Subtraktionsprozeß einen werthohen Ausgangsübertrag ergeben
kann, und unter diesen Umständen würde eine Oberziehung eintreten.
Bei der Vorhersage einer erfolgreichen oder erfolglosen Subtraktion
muß also die Möglichkeit eines wertdarstellenden Ausgangsübertrages von der Bitposition berücksichtigt werden,
die der werthöchsten Stelle des Divisors entspricht. In diesem Fall wird eine erfolgreiche Subtraktion nämlich nur möglich,
wenn das werthöchste Bit des Minuenden, das links aus dem Divisor ausgeschoben wurde, eine wahre Eins oder eine komplementäre
Null ist. Wenn andererseits kein Ausgangsübertrag erfolgt (d.h. Äusgangsübertragsbit = 0) ist der Erfolg der
Subtraktion gesichert, weil dann keine Überziehung auftreten kann, auch wenn das Minuendenbit links vom Divisor eine
wahre Null ist. Wenn der Übertragsausgang also eine wahre Eins ist, hängt der Erfolg der Subtraktion davon ab, ob das
links aus dem Divisor ausgeschobene Bit eine wahre Eins, d.h. eine komplementäre Null, ist.
Eine erfolgreiche Subtraktion wird also angezeigt, wenn eine der folgenden Bedingungen erfüllt ist:
1. Die Linksverschiebung des komplementären Minuendenwertes
! vor der Subtraktion schiebt eine komplementäre Null links aus oder
BC 976 026
809844/0774
2 ο Die Addition des komplementären Minuenden und des Divisors
erzeugen einen übertragsausgang von Hull=
Man kann also vorher feststellen, ob eine vorgeschlagene Subtraktion erfolgreich ist oder nicht, wenn ein zuverlässiger
Weg dafür entwickelt werden kann, aus den verschiedenen den komplementären Minuenden und den Subtrahenden darstellenden
Bitmustern sicherzustellen, daß eine der obigen beiden Bedingungen erfüllt ist.
Wenn diese Art der Vorhersage bei Verwendung eines Übertrags-Rettungsaddierer
s für die komplementären Subtraktionen bei einer Division getroffen werden soll, sind bestimmte Spezialprobleme
zn lösen. Diese Probleme entstehen dadurch, daß in einem Übertrags-Rettungsaddierer einige oder alle während
eines gegebenen Subtraktionszyklus erzeugten Überträge festgehalten
werden bis zur Ausführung des nächsten Subtraktionszyklus.
Die Vorhersage des Wertes des ausgeschobenen Bits und somit des Erfolges der nächsten Subtraktion muß daher die Wirkung
dieser geretteten oder ausgesetzten Überträge mit berücksichtigen. Bisher wurde es für unmöglich gehalten, den Erfolg
von Subtraktionen mit vollständiger Genauigkeit vorauszusagen, wenn, diese Subtraktionen durch einen Übertrags-Rettungsaddierer
ausgeführt werden. Mit der hier gezeigten Analysetechnik sind solche Voraussagen jedoch mit vollständiger Zuverlässigkeit
möglich. Dadurch kann die Ausführung von Subtraktionen verhindert werden, die aus irgendeinem Grund erfolglos
verlaufen würden, ohne die Ausführung der Subtraktionen zu behindern oder wesentlich zu verzögern, die erfolgreich ausgeführt
werden können. Diese Vorhersagemöglichkeit ist durch eine neuartige Schaltung gegeben, die in den Zeichnungen dargestellt
und anschließend näher beschrieben ist.
:Bevor Einzelheiten der in dem gerade erwähnten Vorausschauproseö
verwendeten Schaltung betrachtet werden, werden die
BC 976 026 Λ Λ Ä Ä , , , „ * * .
verschiedenen Datenflüsse in den relevanten Rechenoperationen im Zusammenhang mit den Fign. 1 bis 5 beschrieben. Anschließend
werden Einzelheiten des Übertrags-Rettungsaddierers und der zugehörigen Vorausschau- und Schiebeschaltung im Zusammenhang
mit den Fign. 6 bis 12 beschrieben. An einigen Beispielen wird dann gezeigt, wie das Gerät Divisionsprobleme behandelt.
Fig. 1 zeigt in Form eines Blockdiagrammes Teile eines Prozessors einschließlich des Übertrags-Rettungsaddierers (CSA 20),
die von der Ausführung des hier beschriebenen Divisionsverfahrens direkt betroffen sind. In der Praxis ist das schematisch
in Fig. 1 dargestellte Gerät enthalten in einem Gleitkommaprozessor, der mit demselben Addierer 20 Multiplikation,
Division und andere Rechenoperationen durchführt. Diese Vielseitigkeit erhält der CSA 20 durch die nachfolgend beschriebenen
neuartigen Einrichtungen, von denen einige in Fig. 1 dargestellt sind. Andere von der vorliegenden Erfindung nicht
betroffene Teile des Gleitkommaprozessors wurden in der Darstellung weggelassen.
Die vorliegende Erfindung ist in ihrem Grundgedanken natürlich nicht auf die Anwendung in Gleitkommaprozessoren beschränkt.
Der Nutzen der Erfindung ließ sich jedoch in diesem Prozessortyp am besten demonstrieren, das Prinzip läßt sich jedoch
ebensogut auf Festkommaprozessoren anwenden.
In dem betrachteten Prozessor werden hereinkommende Daten in Gruppen von jeweils 8 oder 16 Bits in ein 56 Bit großes
Schieberegister 22 geleitet, das die Bits in ihrer richtigen Reihenfolge zusammensetzt, beginnend von der werthöchsten Bitposition
0 auf dem äußersten linken Ende und weiterlaufend bis zu den niederen Positionen, deren Rang der Nummer der
Bitposition umgekehrt ist. Der volle Bereich von 56 Bitpositionen wird aktiv nur beim Arbeiten im Doppelpräzisions-
BC976026
betrieb genutzt.
Die im Schieberegister 22 gespeicherte Zahl wird zu gegebener Zeit in ein sogenanntes F-Register 24 übertragen, von wo sie
in wahrer oder in Komplementform an den Dateneingabeanschluß des CSA 20 angelegt werden kann. Im allgemeinen wird einer der
beiden Operanden vom F-Register 24 an den CSA 20 übertragen, während der andere im F-Register gehalten wird, bis er im
Rechenprozeß gebraucht wird. In der hier beschriebenen Division wird der Dividend in den CSA 20 in einer Komplementform zu
Beginn der Operation eingegeben und der Divisor im F-Register gehalten. Bei Ausführung der Division wird der Anfangswert des
Dividenden progressiv reduziert durch Komplementärsubtraktion
des Divisors in der noch zu beschreibenden Art, wodurch eine Folge von Teilresten abnehmender Größe gebildet wird. Nach
Darstellung in Fig. 1 ist der Übertrags-Rettungsaddierer CSA zum Empfang von dreierlei Eingängen geeignet, nämlich einem
Summeneingang, einem Übertragseingang und einem Dateneingang. Manchmal kann eine Eingabe auch aus einer Reihe von Null-Bits
bestehen. In jedem Fall werden drei Eingabereihen benötigt, ob sie nun einen Wert darstellen oder nicht. Die Summeneingabe
wird durch die Summenausgabeverriegelungen 26 geliefert (vorzugsweise Teil des CSA 20, obwohl in Fig. 1 separat dargestellt)
, die die als Ergebnis einer von CSA 20 ausgeführten Addition erzeugten Halbsummenbits speichern. Der einfacheren
Beschreibung halber werden diese Halbsummenbits nachfolgend als "Summenbits" bezeichnet. Wenn dieser Ausdruck benutzt wirdr
sind darunter Summenbits zu verstehen, die nicht unbedingt die durch die Addition erzeugten Überträge einschließen, die
in den meisten Fällen von solchen Überträgen separat stehen.
In ähnlicher Weise wird der Übertragseingang an den Übertrags-Rettungsaddierer
20 durch die Übertragsausgangsverriegelungen 28 geliefert, die vorzugsweise ein Teil des CSA 20 sind, obwohl
sie in Fig. 1 separat dargestellt sind. Die durch eine
EC976026 8098U/07U
Addition erzeugten Überträge werden gerettet, d.h., sie v/erden nicht direkt mit den durch dieselbe Addition erzeugten Summenbits
kombiniert. Wenigstens einige der in jedem Zyklus einer Multiplikation oder Division vom Prozessor erzeugten tiberträge
können bis zu seinem nächsten Zyklus gerettet werden. Sobald aus irgendeinem Grund die Kombination der Überträge
mit den Summenbits gewünscht wird, müssen diese beiden Bitsätze in den CSA 20 zurückgeleitet werden.
In vielen Fällen muß eine Reihe von Ausgabesummenbits oder Ausgabeübertragsbits um eine Spalte verschoben werden, bevor
sie wieder in die Eingabeseite des CSA gegeben wird. Abhängig von den jeweiligen Umständen verschieben die Summenschiebetore
29 die Summenbitreihe bei einer Addition oder Komplementärfunktion überhaupt nicht oder sonst nach links
oder rechts. Die Übertragsbitreihe wird abhängig von den Umständen in den Übertragsschiebetoren 30 entweder überhaupt
nicht oder um eine oder zwei Bitpositionen nach links verschoben. Die verschiedenen Situationen für die einzelnen Verschiebungen
werden nachfolgend kurz beschrieben. Im hier gezeigten Ausführungsbeispiel sind die Schiebetore 29 und
tatsächlich Teil des CSA 20, obwohl sie in Fig. 1 separat dargestellt
sind.
Soweit die vorliegende Erfindung betroffen ist, spielt es keine Rolle, ob die AusgabeVerriegelungen 26 und 28 sowie die
Schiebetore 29 und 30 als von dem CSA 20 separate Einheiten oder eingebaute Einheiten ausgeführt sind. In dem nachfolgend
zu beschreibenden Ausführungsbeispiel sind die Einheiten 26, 28, 29 und 30 in den CSA so integriert, daß bestimmte Teile
Öer CSA-Schaltung Doppelfunktionen übernehmen, wodurch Größe
Und Kosten des Speichers wirtschaftlich werden.
BC 976 026 ~ ta„ .
809844/07*74
Sobald Im Lauf einer Rechenoperation das F-Register 24 auf die
Dateneingangsanschlüsse des CSA 20 geschaltet ist, liefert es als Eingang die in diesem Register gespeicherten Daten, d.h.
den zweiten Operanden des ausgeführten Rechenprozesses. Bei einer Division ist der zweite Operand der Divisor. Wenn dieser
Operand nicht in den CSA eingegeben werden soll, wird das F-Register vom CSA abgetrennt und in diesem Fall ist die
Dateneingabe eine Reihe von Nullen.
Im Zusammenhang mit Fig. 1 wurde bereits darauf hingewiesen,
daß der CSA 20 eine Reihe von 56 Bitpositionen hat, beginnend mit der werthöchsten Position Null und durchlaufend bis zur
v/ertföiedersten Position 55» Die Fign. 6 bzw. 12 zeigen in einem
Blockdiagraram und in einem detaillierten Schaltbild die Elemente
einer Bitposition N im CSA und der zugehörigen Eingabe/
Äusgabaleiter. Dieselbe Schaltungsform ist an jeder anderen
Bitposition des CSA vorgesehen. Diese Schaltung wird später im einzelnen beschrieben.
Es wurde bereits erwähnt, daß die Ausgaben des CSA 20 Summenbits und Übertragsbits enthalten, die beide verriegelt werden,
und daß sie auch Vorsummen- und Vorübertragsbits enthalten,
die nicht verriegelt werden. D.h., die Werte dieser Vorsummen- und Vorübertragsbits können unter bestimmten Umständen geändert
werden, ohne daß die verriegelten Summen- und Übertragswerte geändert werden. Diese nicht verriegelten Vorsummenbits
und Vorübertragsbits (bezeichnet mit "PS" und "PC" zum unterschied
von den verriegelten Summen- und Übertragsbits S und C) i/erden einer Vorausschauschaltung 32 zugeführt, die diese
Bitmuster durch einen rekursiven logischen Prozeß darauf analysiert, ob der Divisor im F-Register 24 vom laufenden Wert des
Teiirestes ohne Überziehung subtrahiert werden kann.
.Jetzt wird das Vorausschauverfahren analysiert. Mit ihm soll
$chnell festgestellt werden, ob eine vorgeschlagene Komplement-
BC 976 026 8 0 § 8 4 4 / Q 7 Ή
subtraktion gültig ausgeführt werden kann oder ob sie verhindert werden muß, wenn dieser Versuch erfolglos wäre.
Das soll heißen, die projizierten Ausgabedaten, die sich aus
einem erfolglosen Subtraktionsversuch ergeben, werden nicht in die Summen- und Übertragsausgabeverriegelungen 26 und 28
übertragen und die Maschinenzykluszeit wird entsprechend abgekürzt. Die Ausgabe der Vorausschauschaltung 32 ist ein
DOK-Signal, das aus einem Einer-Bit besteht, wenn die Subtraktion
ohne überziehen ausgeführt werden kann. Dieser Zustand wird als "erfolgreiche Division" der Vorausschau bezeichnet.
Mit diesem Vorausschauverfahren werden erfolglose Subtraktionen
jedesmal ausnahmslos vorweg erkannt.
Die eigentlich in den CSA 20 integrierten Schiebeverriegelungen 29 und 30 funktionieren wie folgt. Im Laufe einer Division
sind manchmal Spaltenverschiebungsfunktionen erforderlich. Wenn die betreffenden Größen von Dividend und Divisor am Anfang
nicht in der richtigen Beziehung zueinander stehen v muß
der Dividend um eine Reihe von Positionen relativ zum Divisor nach rechts verschoben werden. Wenn das äußerste linke
Hexadezimalzeichen des wahren Dividendenwertes das äußerste linke wertdarstellende Hexadezimalzeichen des Divisors überschreitet,
muß der Dividend um eine Hexadezimalstelle, d.h. 4 Bitpositionen, relativ zum Divisor nach rechts verschoben
werden, bevor mit der Division begonnen werden kann. Diese Funktion ist als Rechtsausrichtung bekannt. Die auf diese
Weise leergewordenen Bitpositionen links vom rechts verschobenen Dividenden werden mit komplementären Einer-Bits (wahre ;
Null) aufgefüllt. Eine Rechtsverschiebung kann aber auch erforderlich werden, um die CSA-Ausgabebits auf die richtigen
Speicherzellenpositionen im Speicher auszurichten.
Bei Ausführung mit einem Übertrags-Rettungsaddierer verlangt jede Rechtsverschiebung eine Rechtsverschiebung der Summenbits
(S) um eine Position, ohne daß die Übertragsbits (C)
BC976026 8098U/0774
verschoben werden. Dieser Vorgang ist in kleinem Maßstab in Fig. 2 dargestellt, wo der Datenfluß in die und aus den
benachbarten CSA-Bitpositionen während einer Rechtsverschiebung
gezeigt ist. Die Beschriftung "Verschiebe Summe R1 und übertrag LO" besagt, daß das Summenbit in jeder CSA-Position,
z.B. N-1, in die nächsthöher nummerierte (d.h. nächst wertniedere) Position nach rechts verschoben wird, z.B. nach N.
"LO" ist der hier verwendete Ausdruck, mit dem "keine Verschiebung" bezeichnet wird und "übertrag LO" bedeutet, daß das ausgegebene
Übertragsbit von jeder CSA-Position in die Eingangsseite derselben CSA-Bitposition zurückgeführt wird. Das F-Register
wird während einer Schiebeoperation abgetrennt, so daß in den Dateneingangsanschluß einer jeden CSA-Bitposition
eine Null eingegeben wird. Die Eingänge zu jeder Bitposition während einer Rechtsverschiebung bestehen also aus dem Summenbit
von der nächsthöheren Bitposition links, dem Übertragsbit von der gegenwärtigen Bitposition und einem Null-Datenbit vom
abgetrennten F-Register. Diese Eingänge werden kombiniert zu den neuen S- und C-Ausgängen von jeder CSA-Bitposition.
Zu der teilweise in Fig. 3 dargestellten LinksverSchiebung
gehört eine Linksverschiebung des Summenbits um eine Position und eine Linksverschiebung des Übertragsbits um zwei
Positionen aus der jeweiligen CSA-Position. Dieser Vorgang ist bezeichnet mit der Beschriftung "Verschiebe Summe L1 und
übertrag L2". Während einer Linksverschiebung empfängt daher
jede CSA-Bitposition, z.B. die Position N, als Eingänge das Summenbit von der nächstniederen Position, z.B. N+1, und
das Übertragsbit von der zweitniederen Position, z.B. N+2, zusammen mit einem Null-Datenbit vom abgetrennten F-Register.
Diese Eingänge werden zu den neuen S- und C-Ausgangswerten von jeder CSA-Bitposition kombiniert.
BC 976026 8098U/07H
Bei einer normalen Addition, wie sie teilweise in Fig. 4 dargestellt ist, bestehen die Eingänge zu jeder CSA-Bitposition,
z.B, der Position N, aus dem Summenbit S von derselben
Position, dem Übertragsbit C von der nächstniederen Position, z.B. Position N+1 und einem Datenbit (in diesem Fall einem
Divisor-Bit) von der entsprechenden Position des F-Registers. Neue Werte für S und C werden durch diese Addition erzeugt
und in die Summen- bzw. tJbertragsverriegelungen geleitet und dort gespeichert (Fig. 1).
Während der Vorausschaufunktionen, von denen hier zwei Typen beschrieben werden sollen, gibt es einen vorläufigen Schritt,
in dem eine Additionsfunktion vorgenommen wird. Bei einem Vorausschautyp, nachfolgend als "Vorausschau nach Verschiebung"
bezeichnet, betrifft der erste Additionsschritt dieselben
Summen- und übertragseingänge, die in Fig. 4 gezeigt sind,
jedoch wird das F-Register vom CSA abgetrennt, so daß effektiv nur die Bits S„ und Cn+- in jeder Bitposition N zueinander
addiert werden. Bei dem anderen Vorausschautyp, nachfolgend
"Versuchssubtraktion mit Divisorleitung an CSA" erfolgt der erste Additionsschritt wie in Fig. 4 gezeigt, der Divisor
(F-Register) wird jedoch an den CSA geleitet. Diese Art der Vorausschauadditionsfunktxon ist in Fig. 5 gezeigt. In jedem
Fall sind die nutzbaren Ausgänge der CSA-Bitpositionen die
Vorsummenbits (PS) und die Vorübertragsbits (PC), die in die Vorausschauschaltung 32 geleitet werden. Die PS-Werte und die
PC-Werte werden nicht verriegelt. Die als Eingänge zum CSA benutzten S-Werte und C-Werte werden jedoch verriegelt und
bleiben verriegelt, während die Vorausschaufunktionen ausgeführt werden. Die Ausgabe der Vorausschauschaltung 32 ist das
DOK-Signal, das durch seinen Einer-Wert oder Null-Wert angibt, ι
ob die vorgeschlagene Subtraktion erfolgreich ausgeführt werden kann oder nicht. !
BC976026 809844/0774
Fig. δ zeigt in Form eines Diagrammes eine Konstruktion einer
jeden Bitposifcion in dem in Fig. 1 dargestellten Übertrags-Rettungsaddiarer
20, auch CSA genannt. In jeder CSA-Bitposition
in Fig. δ sind zwei flankengetriggerte Flip-Flops vom Typ D vorgesehen, nachfolgend Flankentrigger oder einfach
Trigger genannt, und zwar der Summentrigger 34 und der Übertragstrigger
36. Die beiden Trigger enthalten jeweils eine Verriegelungsschaltung zum Speichern eines Wertes aufgrund
eines Taktimpulses. So enthält der Summentrigger 34 eine Summenverriegelung 26 , die zu den Summenverriegelungen 26
in Fig. 1 gehört. Der Übertragstrigger 36 hat eine Übertragsverriegelung 28N, die zu der Gruppe der ÜbertragsVerriegelungen
28 in Fig. 1 gehört. Die CSA-Bitpositionen haben oft bestimmte Eingangssteuerungen, wozu die Schiebetore 29 und
gehören.
Die Triggerschaltung jeder Bitposition des übertrags-Rettungsaddierers
ist so angelegt, daß der Verriegelungsteil eines jeden Triggers beim Anlegen eines Taktimpulses entsprechend
den bei der ansteigenden Flanke des Taktimpulses vorhandenen Eingängen geschaltet wird, d.h. zu dem Zeitpunkt,
wenn die Spannung der Taktleitung 38 in Fig. 6 vom niedrigen auf den hohen Pegel umschaltet. Die Verriegelung reagiert nur
auf Dateneingänge während der ansteigenden Flanken der Taktimpulse.
Somit enthält jede Verriegelung den an der ansteigenden Flanke eines Taktimpulses gespeicherten Wert wenigstens
bis zur ansteigenden Flanke des nächsten Taktimpulses ungeachtet der Eingangsänderung in der Zwischenzeit. Der in
den Sumaienausgabeverriegelungen 26 und in den Übertragsausgangsverriegelungen
28 gespeicherte Bitwert bleibt somit Zwischen den Taktimpulsen stabil.
per Summentrigger 34 und der Übertragstrigger 36 in Fig. 6 Xiefern ebenfalls unverriegelte Ausgangswerte in Form der
Vorsfjiunen- und Vorübertragsbits. An der ansteigenden Flanke
BC976026 8098U/0774
eines jeden Taktimpulses sind die unverriegelten Werte für Vorsumme und Vorübertrag identisch mit den Werten für Summe
und Übertrag, die in den entsprechenden Verriegelungen gespeichert sind. Während der Zeit zwischen zwei aufeinanderfolgenden
Taktimpulsen können der Vorsummenwert und der Vorübertragswert
jedoch aufgrund anderer Eingabedaten wechseln, während die Werte für das S-Bit und das C-Bit in dieser Zeit
ungeachtet der anderen Eingabedaten dieselben bleiben. Wie bereits gesagt, werden die PS-Bits und die PC-Bits im Vorausschauprozeß
der Vorausschauschaltung 32 benutzt.
Schiebefunktionen der in den Fign. 2 bis 5 beschriebenen Art
werden nach dem Pulsen bestimmter Leitungen ausgeführt, die zu den EingangsSteuerungen einer jeden CSA-Bitposition führen.
Zu diesen Steuerungen gehören die Summenschiebetore 29 und die übertragsschiebetore 30.
Wenn die CSA z.B. eine Addition durchzuführen hat (eine normale Addition, wie sie in Fig. 4 gezeigt ist oder eine Addition
vor einer Vorausschau, wie sie in Fig. 5 gezeigt ist), wird dia Steuerleitung 40 in Fig. 6 erregt. Diese bereitet die Schaltung
in jeder Bitposition N des CSA zum Empfang eines Summeneinganges über die Leitung 41 vor, die das Ausgangssummenbit
Sw von der Summenverriegelung derselben CSA-Bitposition N
führt, sowie zum Empfang eines Übertragseingangs über die Leitung 42, die das Übertragsbit von der Ausgabeübertragsverriegelung
der CSA-Bitposition N+1 (die nächste wertniedere Bitposition) führt. Abhängig von den jeweiligen Bedingungen
kann ein wertdarstellender Eingang von der N-ten Bitposition des F-Registers über die Leitung 44 zu den Summen- und Übertragstriggern
der CSA-Bitposition N kommen. Wenn der Divisor vom gegenwärtig im CSA registrierten Wert subtrahiert wird,
wird der Inhalt des F-Registers an den CSA geleitet. Wenn die Addition jedoch nur mit den Summen- und Übertragseingängen
durchzuführen ist, ohne wertdarstellenden Eingang vom F-Register,
BC976026 809844/071*
wird das F-Register abgetrennt und dadurch sichergestellt, daß ein Hull-Eingang vom F-Register auf der Leitung 44 auf jede
CSA-Bitposition kommt.
Spaltenverschiebungen x-xerden von diesem Gerät als Spezialadditionen
ausgeführt. Wenn die CSA zur Ausführung einer LinksverSchiebung
ihres Inhaltes aufgefordert wird, verschiebt sie alle verriegelten Summenbits S um eine Bitposition nach links
und gleichzeitig alle verriegelten Übertragsbits C um zwei Bitpositionen nach links, addiert dann die zusammenfallenden
Summen- und übertragsbits in jeder CSA-Bitposition zu neuen S-Ausgabebits und C-Ausgabebits, wobei das F-Register nach
Darstellung in Fig. 3 diesesmal abgetrennt ist. Zur Ausführung einer LinksverSchiebung wird die Steuerleitung 46 in
Fig. 6 erregt. Diese bereitet die CSÄ-Bitposition N zum Empfang von Eingängen über die Leitungen 47 bzw. 48 vor, und zwar zum
Empfang des verriegelten Summenbits von der CSA-Bitposition W+1 und des verriegelten übertragsbits von der CSA-Bitposition
1-1+2. Für eine Rechtsverschiebung wird die Steuerleitung 50
in Fig. 6 erregt, wodurch jede CSA-Bitposition N als Eingänge über die Leitungen 51 bzw. 52 das verriegelte Summenbit von
der CSA-Bitposition N-1 (die nächste werthöhere Position) und
das verriegelte Übertragsbit von derselben Bitposition N empfängt, wobei das F-Register zu dieser Zeit abgetrennt ist.
Diese Rechtsverschiebung ist ebenfalls in Fig. 2 dargestellt.
Wenn die Summen- und Übertragstrigger in jeder Bitposition des CSA auf Null zurückgestellt werden müssen, wird die Rückstell-Leitung
54 in Fig. 6 erregt. Wenn der im CSA gespeicherte !Wert aus irgendeinem Grund invertiert werden soll, wird die
Komplementsumraenleitung 56 in Fig. 6 erregt und dadurch die in den Summenverriegelungen des CSA gespeicherten Bits in ι
jihren Einer-Komplementwert umgesetzt. Die Summenverriegelungen 26 des CSA speichern das Endergebnis einer durch diesen
Addierer ausgeführten Rechenoperation, während die Übertrags-
BC 976 026
8098U/0774
Verriegelungen 28 am Ende des letzten Zyklus im Prozeß Nullen speichern.
Die Vorausschauschaltung 32 ist für die Ausführung der in den Fign. 7 bis 11 dargestellten logischen Funktionen ausgelegt.
Zum besseren Verständnis dieser Funktionen wird zuerst das Grundprinzip des Vorausschauverfahrens beschrieben. Ob eine
vorgeschlagene komplementäre Subtraktion erfolgreich ausgeführt werden kann,läßt sich feststellen, wenn zuverlässig gesichert
werden kann, ob einer der folgenden Vorgänge unter den herrschenden Bedingungen möglich ist:
1. Eine Linksverschiebung des komplementären Minuendenwertes,
der im CSA unmittelbar vor der Subtraktion registriert ist, ■
führt zum Ausschieben eines Null-Bit aus der äußersten linken CSA-Position oder;
2. Die Beziehung zwischen den entsprechenden Bitmustern des links verschobenen Minuenden und des Divisors sind so, daß
die Addition der Divisorbits zu den Bits des komplementären, darauf ausgerichteten Minuendenwertes einen Obertragsausgang
von Null erzeugt. i
Die Vorausschauschaltung 32 trifft diese beiden Bestimmungen j
durch logische Prozesse, in denen die verriegelten Summen- und i
Übertragsbitwerte nicht verändert werden, die gegenwärtig im
<
CSA 20 registriert sind. |
Soweit der Minuendenwert in einem Übertrags-Rettungsaddierer
(CSA 20) registriert ist, der Summen- und Übertragsbits !separat speichert, wird dieser Minuend gemeinsam dargestellt
durch eine Reihe von S-Bits und einer Reihe von C-Bits; die
beiden in den Absätzen 1 und 2 oben definierten Bestimmungen
müssen diesen Umstand also berücksichtigen. Das hierzu beschreijpende
Vorausschauverfahren führt die Vorausschaufunktionen jingeachtet der durch das Übertrags-Rettungsverfahren
BC 976 026
809844/0774
bedingten Komplexität der Addition durch.
Bei der LinksausSchiebung des Vorausschauverfahrens wurde
hier schon festgestellt, daß die Durchführung eines jeden
Zyklus im Divisionsprozeß eingeleitet wird durch eine Linksverschiebung
des komplementären Minuenden, der im Übertrags-Rettung saddier er registriert ist. Zu Beginn des Divisionsprozesses ist dieser Minuend das Einer-Komplement des Dividenden.
Danach enthält er einen Teiirest, der im CSA am Ende eines jeden Zyklus nach der komplementären Subtraktion des
Divisors von dem vorher im CSA registrierten Betrag steht (unter der Annahme, daß die Subtraktion tatsächlich stattgefunden
hat) oder einen bereits vorher im CSA registrierten Betrag,, falls keine Subtraktion in dem gerade ausgeführten
Zyklus erfolgte. In jedem Fall erscheint der Minuend am Anfang mit einem wahren Wert, der kleiner ist als der des
Divisors, und bevor eine Subtraktion ausgeführt werden kann, muß der Minuend nach links verschoben werden, um eine entsprechende
Spaltenausrichtung mit dem Divisor zu haben. Wenn durch die Linksverschiebung ein komplementäres Null-Bit
(wahre Eins) ausgeschoben wird, so daß sie links von der höchsten Divisorstelle steht, garantiert diese Tatsache, daß
keine Überziehung erfolgt, wenn der Divisor hinterher von dem nach links verschobenen Minuenden subtrahiert wird. Wenn also
ein Null-Bit links ausgeschoben wird, heißt das, daß eine erfolgreiche Subtraktion in dem gerade begonnenen Zyklus vorgenommen
werden kann.
,Wenn der Addierer die Summen- und tibertragsbits nach jeder
Addition vollständig addiert, könnte man den Wert im äußersten flinken Bit in der resultierenden Summe leicht bestimmen. Wo
jedoch ein Übertrags-Rettungsaddierer verwendet wird, wie im
!vorliegenden Fall, kann man nicht genau feststellen, welches Idas äußerste linke Summenbit tatsächlich ist, ohne zu wissen,
welche Wirkung die geretteten Übertrags-Bits auf den Wert des
Be 91<5 O26
809844/0774
äußersten linken Summenbits haben würden, wenn diese Überträge
mit den Summenbits kombiniert und nicht von ihnen getrennt worden wären. In dem hier beschriebenen Gerät erfolgt
diese Bestimmung in zwei Schritten. Zuerst wird der Wert des äußersten linken, gegenwärtig in den CSA-Summenverriegelungen
gespeicherten Bit, hier S genannt, und der Wert des in der nächst niederen Position der CSA-übertragsverriegelungen
gespeicherten Bit, hier S1 genannt, vor der Liniesverschiebung
an ein Antivalenzschaltglied 60 in Fig. 11 angelegt, dessen
Ausgang den Wert des Halbsummenbit darstellt, das aus der logischen Addition von Sn und C1 resultiert. Diese Ausgabe
wird an ein UND-Glied 62 angelegt, das den Bitwert Sn V C1
an ein ODER-Glied 64 zu einem Zeitpunkt anlegt, der durch das Anlegen eines Taktimpulses auf einer Steuerleitung 63 an das
UND-Glied 62 bestimmt wird. (Das Symbol V stellt die Antivalenzfunktion
dar). Nach Passieren des ODER-Gliedes 64 wird der Bitwert Sn V C1 in ein flankengetriggertes Flip-Flop 66 vom
Typ D eingegeben, hier als "SUMOL-Trigger" bezeichnet.
"SUMOL" ist eine Abkürzung für "Summenbit aus links". Zu diesem Zeitpunkt ist der SUMOL-Wert unvollständig, weil der Wert Sn
V C1 in sich selbst nicht unbedingt der Wert des äußersten
linken Summenbit ist, der sich ergeben würde, wenn alle Überträge voll in den nachfolgenden Additionszyklen weitergeleitet
worden wären. Trotzdem wird dieser vorläufige Wert S_ V C1 in
den SUMOL-Trigger 66 eingegeben und zur entsprechenden Zeit in den Verriegelungsteil 67 des Triggers 66 durch einen Taktimpuls
auf der Steuerleitung 68 in Fig. 11 geleitet, so daß er jetzt zu einem verriegelten Wert wird. Die in dieser Phase des
Verfahrens betroffenen Werte S_ und C1 sind bekanntlich das
Summenbit in Position Null und das Übertragsbit in Position Eins des CSA vor der Linksverschiebung des CSA-Inhaltes. Der Flankentrigger
66 kann aus NAND-Gliedern in entsprechender Anordnung zur Ausführung der Flankentriggerfunktion bestehen, wodurch i
der Verriegelungsteil 67 entsprechend dem an den Trigger 66
BC 976 °26 8098U/0774
über das ODER-Glied 64 angelegten Bitwert in dem Moment eingestellt
wird, wenn die Vorderflanke des geleiteten Taktimpulses über die Steuerleitung 68 an den Trigger 66 angelegt wird.
Mögliche Konstruktionsänderungen sind für Fachleute selbstverständlich.
Um den SUMOL-Wert vollständig zu bestimmen, muß man den
Wert des Übertragsausganges kennen, der sich ergeben würde, wenn die gegenwärtig im CSA registrierten Summen- und Übertragsbits
nach der Linksverschiebung kombiniert würden. Das ist eine der Funktionen der in den Fign. 8 bis 10 dargestellten
Vorausschauschaltungen. Mit ihrer Ausgabe wird der SUMOL-Wert endgültig bestimmt. Zuerst wird jedoch die Ermittlung der
Übertragsausgabe-Vorausschauwerte (COLA) durch die in den Fign. 8 bis 10 gezeigte logische Schaltung beschrieben. Diese Schaltung
spricht auf die vom CSA erzeugten Vorsummenbits und Vorübertragsbits an.
Die Bestimmung des Übertrages durch die Vorausschauschaltung wird an einigen Beispielen erklärt. Als Beispiel wird angenommen,
daß in den ersten vier Bitpositionen des CSA mit den Nummern 0 bis 3 die nachstehend aufgeführten Werte für die
Vorsummen- und Vorübertragsbits gespeichert sind:
CSA-Bitpositionen 0 12 3 Vorsummenbits (PS) 10 0 0
Vorübertragsbits (PC) 0 1 O 0
Wenn die PS-Bits und die PC-Bits in obigem Beispiel zu kombinieren
sind, ergäbe sich aus der Addition des Bitwertes 1 für fC. zum Bitwert 1 für PSn ein übertrag von Eins in der Position
Null. Anstatt nun diese PS-Bits und PC-Bits wirklich zu addieren, müßte man die logische UND-Funktion von PSn und PC1
bestimmen. Der logische Ausgang dieser UND-Funktion wäre ein Vorausschauwert von Eins, der das Übertragsbit darstellt, das
BC 976 O26
— 4l D ~
an der CSA-Bitposition Null erzeugt würde, wenn das Bit auf PCj tatsächlich zum Bit von PS0 addiert würde. Das Symbol
"K " stellt hier den Übertragsvorausschauwert von der Bitposition N dar. Kn ist die Vorausschau von der Bitposition
Null, deren Wert in diesem Beispiel mit Eins bestimmt wurde. Zur Ermittlung des Wertes des letzten Ausgangsübertragsbits
muß man eine Antivalenzfunktion der Vorausschau von Position
Null haben, d.h. K und das Vorübertragsbit an der Position Null, d.h. PCQ. Da in diesem Fall PCQ = 0 und KQ = 1 ist,
ist die übertragsausgabevorausschau COLA eine Eins.
Manchmal sind die Bitmuster von Vorsummen- und Vorübertragsbitreihen
so, daß die Vorausschau KQ von der Bitposition
Null ist, sich aber trotzdem eine übertragsausgabevorausschau von Eins ergibt, aufgrund der logischen Weiterleitung eines
Übertrages von einer niedrigeren Stelle. Dazu das folgende Beispiel, in dem ein übertrag von niedrigeren Stellen in die
Bitposition 3 läuft:
CSA-Bitpositionen 0 12 3 Vorsummenbits (PS) 1110
Vorübertragsbits (PC) 0 0 0 1
Hier erzeugen die oben angeführten PS-Bits und PC-Bits aus
der Bitposition 0 oder 1 keine Vorausschau von 1, wenn man nur die Muster der PS-Bits und PC-Bits in den ersten drei
Positionen 0 bis 2 betrachtet. Ein Vorübertragsbitwert von Eins in der vierten Position (PC3) erzeugt jedoch bei
UND-Verknüpfung mit dem Vorsummenwert in der dritten Position (PS2) einen Vorausschauwert K~ von 1 aus der CSA-Bitposition
2. Wenn dieser Vorausschauwert K2 mit dem Vorsummenwert
PS1 von 1 in der Bitposition 1 UND-verknüpft wird, wird
die Vorausschau dadurch logisch von der Position 2 in die Position 1 weitergeleitet. Wenn diese weitergeleitete Vorausschau
von 1 wieder mit dem Vorsummenwert PS von 1 in der Bitposition Null UND-verknüpft wird, wird er dadurch weiter-
BC 976 026
809844/0774
geleitet und ergibt einen Vorausschauwert Kn von 1 an der
Bitposition Mull. Wenn dieser Wert antivalent mit dem PC_-Bit
von 0 verknüpft wird, ergibt sich eine übertragsausgabevorausschau (COLa) von 1.
Ein Übertragsausgangs-Vorausschaubit von 1 kann sich also als
direkte übertragsvorausschau aus der UND-Verknüpfung von PSQ
und PC1 mit einem Wert von jeweils 1 ergeben oder auch durch
Tieiterleitung einer solchen Vorausschau von einer niederen
Position, wenn die Muster von Vorsummen- und Vorübertragsbits
in den höheren Stellen zu solcher Weiterleitung neigen. Allgemein kann die Vorausschau von einer Bitposition N
logisch dargestellt werden durch die rekursive Gleichung im oberen Teil der Fig= 7. Die Vorausschau KM von der Bitposition
mit der höchsten Nummer (d.h. der wertniedersten) ist Nail ο Der entsprechende Vorausschauwert K für die werthöheren
Positionen wird dann progressiv für abnehmende Werte von N bestimmt, bis schließlich die Vorausschau K von der Position
Hull bestimmt wird. Der übertragsausgangsvorausschauwert
(COLA) wird dann als Antivalensverknüpfung von PC und K
bestimmt, wie es im unteren Teil der Fig. 7 dargestellt ist. Je nach der Form des der Vorausschaufunktion unmittelbar
vorhergehenden Additionsschritt.es (Fig. 5) kann der Wert von
COLA unter zwei verschiedenen Bedingungen bestimmt werden. Xtfenn das F-Register während dieser Addition vom CSA abgetrennt
ist, wird der Divisor vom Additionsprozeß nicht berührt, und dann wird der COLA-Wert aus den resultierenden
Bitraustern für PS und PC ermittelt, nachfolgend mit "COLA 2" bezeichnet, um anzuzeigen, daß er aus der Addition von nur
zv7ei Termen abgeleitet ist, nämlich den verriegelten Summen-
und übertragswerten, ohne einen dritten Eingang vom F-Register.
Im zweiten Fall, in dem das F-Register an den CSA geleitet wird, ist der Divisor als dritter Term in den Additionsjprozeß
eingeschlossen und der unter diesen Umständen aus den resultierenden Vorsummenwerten und Vorübertragswerten abge-
BC 976 026
8098U/0774
leitete Übertragsausgangs-Vorausschauwert wird bezeichnet
mit "COLA 3". In jedem Fall kann der ermittelte COLA-Wert
jedoch mathematisch wie in Fig. 7 gezeigt dargestellt werden
In der Rekursivfunktion zur Bestimmung der Vorausschau K im
oberen Teil der Fig. 7 stellt der Ausdruck "(PSn-PCn+1)" die
direkte Vorausschau von der Bitposition N dar, d.h. die logische UND-Verknüpfung von PS und PC ... Der Klammerausdruck
stellt die Weiterleitung einer Vorausschau von der nächstniederen Position N+1 zur Position N dar, die erfolgt, wenn
entweder PS oder PC .. einen Bitwert von 1 hat. (Das Pluszeichen
zwischen den Ausdrücken bezeichnet eine logische ODER-Funktion). Eine direkte Vorausschau von 1 aus der Position
W ergibt sich somit, wenn PSn und PC .. Einer-Bits sind.
Eine weitergeleitete Vorausschau von 1 aus der Position N ergibt sich, wenn entweder PS oder PC .. ein Einer-Bit ist
und die Vorausschau Kn+1 von der Position N+1 einen Wert 1 hat.
Die gerade beschriebenen logischen Beziehungen sind in der in Fig. 8 gezeigten Schaltung realisiert, wo das Gerät zur Bestimmung
der Vorausschau aus einer Gruppe von vier aufeinanderfolgenden CSA-Bitpositionen mit der Nummerierung i bis
i+3 gezeigt ist. Die direkte Vorausschau von der Position i erfolgt durch das UND-Glied 70, das ein Einer-Bit erzeugt,
wenn PS. und PC+1 beide den Wert 1 haben. Die Weiterleitungs
funktionen werden wahrgenommen von den ODER-Gliedern 71, 72 und 73 in Verbindung mit den UND-Gliedern 74, 75 und 76.
Wenn eines der Bits PS. und PC+1 beispielsweise einen
Einer-Wert hat und eine Vorausschau von 1 aus der Position i+1 aufgrund der Tatsache erfolgt, daß die beiden Bits
PSi+1 und PC+2 den Wert 1 haben, dann liefern das ODER-Glied
71 und das UND-Glied 74 zusammen eine weitergeleitete Vorausschau von 1. Auf ähnliche Weise prüft die in Fig. 8
gezeigte Schaltung auf Vorausschau- und Weiterleitungsbedingungen die restlichen Bitpositionen. Wenn im CSA mehr
BC 976 026
809ΘΑΑ/07Ή
als drei Bitpositionen hinter der Position i verbleiben, dann empfängt das letzte UND-Glied 76 ein Vorübertrags-Eingangsbit
PC. . von der nächsthöher nummerierten Bitposition i+4. Wenn keine höher nummerierte Bitposition vorhanden ist,
kann das UND-Glied 76 weggelassen werden. Wenn ein Vorausschaubit von 1 direkt an der Position i oder an einer niedrigeren
Position erzeugt wird, von wo es durch dazwischenliegende PS- und PC-Bitmuster in die Position i weitergeleitet werden
kann, wird an den Ausgängen von einem oder mehreren der UND-Glieder 70, 74, 75 und 76 ein Einer-Bit erzeugt und dieses
Bit durch ein ODER-Glied 77 weitergeleitet als Gruppenvorausschaubit von 1. Wenn die Muster der PS-Bits und PC-Bits
nicht so sind, daß eine dieser Bedingungen erfüllt ist, dann ist das Gruppenvorausschaubit eine Null.
Weil eine gewählte Gruppe von CSA-Bitpositionen Muster von PS-Bits und PC-Bits speichert, die von sich aus kein Einer-Bit
als Gruppenübertragsvorausschau ergeben, heißt das nicht unbedingt, daß die Gruppe als ganze die übertragung eines
1-Vorausschaubits von einer niederwertigeren Gruppe der CSA-Bitpositionen
blockiert. Die Muster der PS-Bits und PC-Bits in der betrachteten Gruppe können so liegen, daß eine Vorausschau
von einer wertniederen Gruppe sich vollständig durch die |Ln Frage kommende Gruppe weiterleitet. Die Gruppenweiterleitungsschaltung
in Fig. 9 prüft die PS- und PC-Bitmuster innerhalb einer Gruppe von CSA-Positionen i bis i+3, um deren Vor-
£usschau-Weiterleitungsmöglichkeit zu sichern. Wenn ein Bit- £>aar in dieser Gruppe ein PS-Bit mit einem gegebenen Rang und
ein PC-Bit des nächstniederen Ranges enthält, das wenigstens einen Bitwert 1 enthält, dann leiten eines oder mehrere der
pDER-Glieder 80 bis 83 in Fig. 9 ein Einer-Bit an das UND-felied
84. Wenn alle ODER-Glieder Einer-Bits an das UND-Glied leiten, dann wird ein Gruppenweiterleitungsbit mit dem Wert
Erzeugt, sonst ein O-Bit. Wenn eine Gruppe ein Gruppenweiterleitungsbit
von 1 erzeugt, kann sie eine Übertragsvorausschau
BC 976 026
809844/0774
von der nächstniederen Gruppe weiterleiten.
In den Fign. 8 und 9 ist somit dargestellt, wie die gezeigte logische Schaltung für die Vorausschau verwendet werden kann,
um festzustellen, ob eine Gruppe von vier aufeinanderfolgenden CSA-Bitpositionen ein Muster aus Vorsummenbits und Vorübertragsbits
enthält, das bei tatsächlicher Addition der genannten Bits einen Übertragsausgang von der werthöchsten Position in
der Gruppe erzeugt oder ob diese Bitmuster einen übertrag von der nächstniederen Stelle außerhalb der Gruppe weiterleiten
würden.
Im Zusammenhang mit Fig. 10 wird jetzt die Vorausschauschaltung
weiter beschrieben. In Fig. 10 ist dargestellt, wie die Ausgänge der verschiedenen Gruppenvorausschauschaltungen und
Gruppenweiterleitungsschaltungen kombiniert werden zur endgültigen Vorausschau KQ von der Position 0, mit der zu verschiedenen
Zeiten die Übertragsausgabe-Vorausschauwerte COLA 2 und COLA 3 bestimmt werden. Wenn die Gruppe 0 (die die
CSA-Bitpositionen 0 bis 3 umfaßt) eine Gruppenvoraussch.au von 1 erzeugt hat, läuft dieses Bit durch ein ODER-Glied 86 und
erzeugt eine CSA-Vorausschau K von 1. Wenn eine Gruppenvor- .
ausschau von 1 von der Gruppe 1 und eine Gruppenweiterleitung j von 1 von der Gruppe O kommen, leitet das UND-Glied 87 eine 1 \
an das ODER-Glied 86 und erzeugt einen K -Wert von 1. In ähnli-i
eher Weise erzeugt jedes der UND-Glieder 88, 89, 90 usw. einen \
Ausgang, der die Vorausschau von der entsprechenden Gruppe mit ;
der Weiterleitung von allen niedriger nummerierten Gruppen (d.h. höherwertigen Gruppen) der CSA-Positionen kombiniert. ;
Wo ein erweiterter Gruppenweiterleitungswert von 1 mit einer ; Gruppenvorausschau von 1 auf diese Weise UND-verkmipft wird,'
ist das Ergebnis ein CSA-Vorausschauwert ΚΛ von 1. Bei anderen !
als den oben beschriebenen Bedingungen ist der Wert von K_ I
eine O. '
BC 976 026
8Q98U/0774
Die CSA-Vorausschau Kn muß jetzt antivalent mit dem werthöchsten Vorübertragsbit PCQ verknüpft v/erden, um die Übertragsvorausschau
COLA zu erzeugen, die gleich dem Wert des übertragsausganges ist, der sich ergeben würde/ wenn die verschiedenen
Vorübertragsbits tatsächlich zu den zugehörigen Vorsummenbits addiert würden, anstatt als separate CSA-Ausgänge
registriert zu werden. Wie oben schon gesagt, wird der Vorausschauprozeß zweimal in jedem Zyklus des Divisionsprozesses
durchgeführt - einmal mit dem vom CSA abgetrennten Divisor und dann mit dem auf den CSA geschalteten Divisor.
Im ersten Falls wird die durch diesen logischen Prozeß erzeugte übertragsausgangsvorausschau "C0LA2" genannt und im
zweiten Falle "CQLA3".
Die beiden gerade beschriebenen Situationen sind in Fig. 10
symbolisch dargestellt durch das Antivalenzschaltglied 92, das
das Bit COLA 2 erzeugt und durch das Antivalenzschaltglied 94,
das das Bit GQIA 3 erzeugt. Die beiden Schaltglieder 92 und 94
können natürlich jederzeit gleichzeitig denselben COLA-Ausgangswert erzeugen. C0LA2 wird jedoch durch das Schaltglied 92
su einem Zeitpunkt erzeugt, wenn der Divisor abgetrennt ist
und dann in dem CSA-Vorausschautrigger 96 gespeichert, der ein
flankengetriggertes Flip-Flop in Standardbauweise darstellt.
Der Verriegelungsteil 98 des Triggers 96 wird sur entsprechenden Zeit getaktet, um das Bit C0LA2 als einen verriegelten
Wert für künftige Benutzung festzuhalten. Zu diesem Zeitpunkt wird die Ausgabe des Antivalenzgliedes 94 ignoriert. Su einem
späteren Zeitpunkt„ wenn der Divisor auf den CSA geschaltet
ist, erzeugt das Antivalenzschaltglied ein Bit C0LA3, dessen
Wert von den Werten PS und PC abhängt, die dann im CSA registriert sind. C0L&3 ist ein nicht-verriegelter Wert, der direkt
in der beschriebenen Art benutzt wird. Zu diesem Seitpunkt liefert das Schaltglied 92 den Wert C0LA3 auf den Trigger 96;
da dieses Signal aber nicht gleichzeitig mit einem Taktimpuls am Triggereingang erscheint, empfängt die Verriegelung 98 den
EC 976 026 .
3098 4 4/0774
Wert COLA 3 nicht und der Trigger 96 ignoriert ihn so effektiv. Variationen der in den Fign. 10 und 11 gezeigten logischen
Schaltung sind jederzeit möglich, ohne vom Rahmen der Erfindung
abzuweichen. In diesen Fign. ist eine logische Schaltung auf einer höheren Ebene gezeigt, die aus praktischen Gründen in
NAND- oder NOR-Konfigurationen realisiert werden kann.
Fig. 11 zeigt die letzte Stufe der Vorausschauschaltung 32
(Fig. 1), worin festgestellt wird, ob jede vorgeschlagene komplementäre Subtraktion des Divisionsprozesses tatsächlich erfolgreich
ausgeführt wird.
Wie schon erklärt wurde, werden bestimmte durch vorhergehende Aktionen dieser logischen Schaltung erzeugte Werte gegenwärtig
in einem verriegelten Zustand festgehalten. Die antivalente Verknüpfung der Bits SQ und C1 (wie sie vor der Linksverschiebung
existierten) erfolgt durch die in Fig. 11 gezeigte SUMOL-Verriegelung 67. Die Antivalenzverknüpfung der Bits KQ und PCQ,
wie sie nach der Linksverschiebung, aber vor dem Ausschalten des Divisors auf den CSA standen, erfolgt durch die CSA-Vorausschauverriegelung
98, Fig. 10, in Form des Bits COLA 2. (übertragsausgangsvorausschau vor Anschalten des Divisors).
An diesem Punkt im Zyklus muß bestimmt werden, welchen Wert das äußerste linke Bit in der Summe haben würde, wenn Summen-
und Übertragsbits vor der Linksverschiebung des CSA-Inhaltes
kombiniert worden wären, und das ist der SÜMOL-Wert. Ein Bestandteil dieses SUMOL-Wertes wurde bereits bestimmt, nämlich
der Wert SQ V C1 vor der Linksverschiebung (V symbolisiert
die Antivalenzfunktion). Ein weiterer Bestandteil ist COLA 2,
der projizierte Übertragsausgang, der sich aus der Addition der Bits PS und PC nach der Linksverschiebung ergeben würde. :
Dieser Wert wurde auch bereits vorher bestimmt. Diese beiden Bestandteilwerte sind verriegelt. Ein weiterer Bestandteil
des SUMOL-Wertes ist CQ, der verriegelte Wert des gegenwärtig
in der O-Position der CSA-übertragsverriegelungen 28 regi-BC
976 026
809844/0774
strierten Übertragsbits. Wenn entweder C0LA2 oder CQ den
Wert 1 hat, würde dieser in die Stelle links von der O-Bitposition
des CSA bei einer tatsächlichen Addition gesetzt. Dieser Ausgang müßte daher mit dem Anfangswert S_ V C1 UND-verknüpft
werden, der vorher bestimmt wurde, um sicherzustellen, welches Summenbit während der Linksverschiebung aus dem
CSA ausgeschoben worden wäre, wenn alle Summen- und übertragsbits vor der Verschiebung kombiniert worden wären. Dieser ist
einer von zwei kritischen Werten, die bestimmen, ob eine vorgeschlagene Subtraktion erfolgreich ist. Das ODER-Glied 100
und das UND-Glied 102 in Fig. 11 übernehmen zusammen die
Funktion der logischen Bestimmung des endgültigen SUMOL-Wertes wie folgt:
Endgültiger Wert SUMOL = (SQ V Cj) · (C0LA2 + CQ)
Unter Steuerung eines Taktimpulses auf der Steuerleitung in Fig. 11 wird dieser endgültige SUMOL-Wert zu gegebener Zeit
durch das UND-Glied 106 und das ODER-Glied 64 an den SUMOL-Trigger
66 geleitet, von wo er als unverriegelter SUMOL-Ausgangswert erscheint, der durch den Inverter 108 invertiert
wird. Der komplementäre SUMOL-Wert läuft dann durch das ODER-Glied 110 zum DOK-Trigger 112, bei dem es sich um ein
flankengetriggertes Standard-Flip-Flop handelt. Wenn der endgültige
SUMOL-Wert eine 0 ist, heißt das, daß die Linksverschiebung des CSA-Inhaltes als Vorbedingung vor jeder Subtraktion
eine komplementäre 0 oder ein wahres Einer-Bit aus dem CSA schieben würde, wenn die Summen- und übertragsbits vor
der Linksverschiebung kombiniert und nicht separat im Addierer registriert worden wären. Wo ein Bit mit diesem Wert links vom
Divisor steht, ist der Erfolg der vorgeschlagenen Subtraktion !gesichert. Wenn also das endgültige SUMOL-Bit eine 0 ist,
Wird dieses durch den Inverter 108 in eine wahre Eins invertiert
und das Einer-Bit läuft dann durch das ODER-Glied 110 Und schaltet den DOK-Trigger 112, um so eine erfolgreiche
BC 976 026 „ „ t
8098U/0774
VersuchsSubtraktion anzuzeigen. Der DOK-Trigger 112 wird
zu gegebener Zeit getaktet, setzt seine Verriegelung 114 auf 1 und liefert ein verriegeltes DOK-Signal desselben Wertes.
Ein DOK-Bit von 1 bereitet den Addierer zur Ausführung einer eigentlichen Subtraktion vor.
Wenn der Wert des SUMOL-Bits den Erfolg der vorgeschlagenen
Subtraktion nicht sichert, d.h. wenn SUMOL = 1 ist, kann immer noch eine erfolgreiche Subtraktion stattfinden, wenn
die komplementäre Subtraktion des Divisors von dem nach links verschobenen Minuenden kein öbertragsausgangsbit von 1 erzeugt.
Man kann sofort ableiten, ob ein Übertragsausgang ans der Addition des Divisors zum Minuenden resultieren würde, dargestellt
durch das Vorsummenbit (PS) und das Vorübertragsbit (PC), zuerst muß jedoch bekannt sein, wie sich die Addition
des PS-Bits und des PC-Bits alleine ohne den Divisor auf die Erzeugung eines Übertragsausganges auswirken würde. Diese Auswirkung
wird angezeigt durch den Vorausschauwert CöLA2? der
in der beschriebenen Art ermittelt wurde. Diese übertragsausgangsvorausschau
ohne Divisor (COLA2) wird dann mit der ■
Übertragsausgangsvorausschau C0LA3 verglichen, die sich ergibt,
wenn der Divisor auf den CSA geleitet wird. Wenn COLA2 ;
und COLA 3 gleichwertig sind heißt das? daß sich der Übertragsausgang,
der sich aus dem Leiten des Divisors auf den CSA ergibt, nicht von dem Übertragsausgang unterscheidet,
den man bei reiner Addition des Summen- und Übertragsbits vor dem Aufschalten des Divisors erhält. Somit erzeugt die Sub- i
traktion des Divisors vom laufenden Minuenden keinen über- ι,
tragsausgang und somit kein überziehen. Eine Verschiedenheit :
von C0LA2 und C0LA3 zeigt umgekehrt an, daß bei einer tat- ! sächlichen Ausführung der Subtraktion ein Überziehen auftritt»
jNfach Darstellung in Fig. 11 werden die van der in Fig. 10 j
gezeigten Schaltung gelieferten Werte C0LA2 und C0LA3 im Antivalenzglied 116 miteinander verglichen. Der diesen Ver~ i
BC 976 026 .
809844/077&
gleich darstellende Wert (O für Gleichheit, 1 für Ungleichheit) wird durch den Inverter 117 invertiert und der komplementäre
Ausgang (1 für Gleichheit von C0LA2 und C0LÄ3, O für Ungleichheit)
wird durch das ODER-Glied an den DOK-Trigger 112 geleitet.
Wenn dieser nicht bereits auf 1 geschaltet wurde, setzt ein Ausgang von 1 vom Inverter 117 zu gegebener Zeit die
DOK-Verriegelung 114 in den Einer-Zustand, um eine erfolgreiche
Divisionsbedingung zu registrieren. Wenn der Trigger 112 einen Einer-Eingang entweder vom Inverter 108 oder vom Inverter 117
empfängt, zeigt das 1-BOK-Ausgangssignal dem System an, daß es
mit der vorgeschlagenen komplementären Subtraktion weiterarbeiten soll. Wenn der DOK-Ausgang zur Taktseit eine 0 ist, dann
wird im laufenden Zyklus keine eigentliche Subtraktion ausgeführt und d@z nächste Zyklus beginnt direkt und startet eine
neue Reihe iron Bestimmungen mit der Linksverschiebung des
Minuenden oder Restes (wenn nicht die zugeordnete Anzahl von LinksverSchiebungen bereits erfolgte, und damit die Divisionsoperation-aadetj„
Die in den Figa. 10 und, 11 gezeigten Trigger 66, 96 und 112
wurden als flankengetriggerte Standard-Flip-Flops vom Typ D beschrieben. Wenn Einsparungen bei der Schaltungsentwicklung
raöglich sind, kaan die Trigger-Schaltung auch für kombinierte
Trigger- und Lsitfunktionen modifiziert werden. Anschließend
werden einige Beispiele dafür beschrieben, wie eine derartige Schaltung für eine wirtschaftlichere Entwicklung im Falle eines
Übertrags-Rettungsaddierers eingesetzt wurde (Fig. 12).
Anschließend werden einige Betriebsbeispiele für die verschiedenen
Funktionen des oben beschriebenen gezeigten Gerätes besprochen. Im ersten nachstehenden Beispiel wird ein dezimaler
Dividend 131 durch einen dezimalen Divisor 9 dividiert, was leinen Dezimalquotienten von 14 und einen Rest von 5 ergibt.
<In Hexadezimalnotierung wird der Dividend als 83 und der
Divisor als 9 dargestellt. Da die äußerste linke Hexadezimalzahl 8 kleiner ist als die äußerste linke Divisorzahl 9, ist
BC976026 8098U/07U
eine vorläufige Rechtsausrichtung {Rechtsverschiebung durch eine Hexadezimalposition) des Dividenden nicht nötig. Eine
Grundforderung lautet, daß der wahre Wert der äußersten linken Hexadezimalstelle eines Dividenden zu Beginn des
Divisionsprozesses nicht gleich oder größer sein darf als die äußerste linke Hexadezimalstelle des Divisors. Wenn diese
Bedingung am Anfang nicht erfüllt ist, muß der Dividend um eine Hexadezimalstelle (4 Bits) nach rechts verschoben und
dadurch effektiv ein wahrer Nullenwert an das linke Ende des Dividenden gesetzt werden.
In dem nachfolgenden Beispiel 1 wird lediglich zur Illustration angenommen, daß der Übertrags-Rettungsaddierer CSA 20
in Fig. 1 in einen Gleitkommaprozessor eingebaut ist, der die Operandenwerte nach der Hexadezimalschreibweise
"Excess 40" registriert. Der Hexadezimaldividend "83" ist z.B. eine positive zweistellige Zahl und somit ist seine
Hexadezimalcharakteristik 40+2, d.h. 42, worin 2 der positive Exponend ist. Der Divisor 9 hat einen positiven Exponendenj
von 1 und somit ist seine Gleitkommacharakteristik 41. Der Dividend wird zuerst eingegeben und läuft nacheinander durch ;
das Schieberegister 22 und das F-Register 24 in Fig. 1 zum CSA 20, wo er an die Dateneingangsanschlüsse in invertierter
binärer Form (Einer-Komplement) gelangt. Im vorliegenden Fall ist also der wahre binäre Wert des Dividenden (nur die ersten
zwölf Stellen) 1 000001 1 0000 und sein invertiertes komplementäres Äquivalent ist 01 1111001111. Dieses
Dividendenkomplement wird in den Summenausgabeverriegelungen 26 des CSA 20 gespeichert. Die Übertrags-Ausgangsverriegelungen
28 werden am Anfang auf 0 zurückgestellt. Der binäre Divisor 1O0100000000 wird in das F-Register 24 eingegeben,
wo er in wahrer Form während der Divisionsoperation gespei- j chert ist.
BC 976 026
8098U/0774
Die vom Prozessor zur Lösung des im Beispiel 1 gezeigten
Problems ausgeführten Aktionen werden nachfolgend in Tabellenform dargestellt. Nach der Tabelle wird die Operation
beschrieben. Der Einfachheit halber erhalten verschiedene Linien in der Tabelle aufeinanderfolgende Bezugszahlen, von
denen wenigstens einige in jedem nachfolgenden Subtraktionszyklus wiederholt werden. In dieser Darstellung werden nur
die ersten 12 Stellen des numerischen Wertes betrachtet. Wenn der Prozessor im Doppelpräzisionsbetrieb arbeitet, wird der
volle Bereich von 56 Bitpositionen benutzt. Diese brauchen jedoch für den vorliegenden Fall nicht alle betrachtet zu
werden. Der hier verfolgte Divisionsprozeß ist außerdem nicht auf die Benutzung eines Gleitkommaprozessors beschränkt,
sondern kann ebenso bei Festpunkt-Rechenoperationen benutzt werden. Die Verarbeitung der Gleitkommacharakteristik wird
hier nicht beschrieben, da sie für die Erfindung keine Rolle spielt. Die Indexzahlen der verschiedenen Bitbezeichnungen
beziehen sich auf die Bitpositionsnummern. SQ bezeichnet z.B.
das Summenbit in der Position 0, C. bezeichnet das Übertragsbit in der Position 1 usw.
BC 976 026
809844/0774
Dezimal Hexadezimal Binär
131:9 83:9 10000011:1001
Ersten Operanden eingeben (Dividend)
Hex. 42830000
Hex. 42830000
Zweiten Operanden eingeben (Divisor)
Hex. 4 1 9 0 0 0 0 0
Hex. 4 1 9 0 0 0 0 0
CSA-An£angswerte, Summenverriegelung (S) und Übertragsverriegelung (C):
Invertierter Dividend S 011111001111 (übrige Bits nicht dargestellt) Erste Überträge COOOOOOOOOOOO
Bitpositionsnumraern 012345678 etc. *■*
S0 ¥ C^ - O (SUMOL-Anfangswert) ι
Verschiebe Summe L1 Übertrag L2 (erste Linksverschiebung)
Eingänge zum CSA für Verschiebung:
Divisor abgetrennt 000000000000 Summeneingang 111110011111
Übertragseingang 000000000000 Ausgaben des CSA nach Verschiebungs
Summenverriegelungen S 111110011111 übertragsverriegelungen, C 000000000000
Vorausschau nach Verschiebung
Ergebniswerte aus NichtausfUhrung der Addition von S + C:
Vorsummen PS 111110 0 11111
Vorüberträge PC 00000000000
COLA-Bestimmung mit abgetrenntem Divisor (C0LA2)
COLA-Bestimmung mit abgetrenntem Divisor (C0LA2)
C0L&2 =5 0. Ergebnis in CSA-Yorausschauriegel eingeben
SUMOL ermittelt: SUMOL « Anfangs-SUMOL ¥ (C0LA2 +C0) =0
~BC 9T6"~02"6"
- 38 -
Versuchssufateraktion mit auf CSA geleitetem Divisor
Eingänge an CSÄ zur Bestimmung von COLÄ3;
Divisor (angeschlossen) 1 001 00000000
Suiraneneingang 111110011111
übertragsQingang 000000000000
Ergebniswerte ams Niehtausführung der Addition von SC und Divisors
VoEsuiraaen PS 0 110 10 0 11111
Vorüberträge PC 100100000000
COIA-Bestimmung mit angeschlossenem Divisor (GQLA3)
C0LA3 = Feststellung, ob Division erfolgreich
DOK - SÜMOL + C0LÄ2 ¥ CO3LA3
DOK » 1 (Division erfolgreich) Subtraktion mit Einer-Komplement (erster Halbzyklus)
Eingänge ^um CSA für ersten Halbzykluss
Divisor (angeschaltet) 100 100000
Summeneingang 111110011
Übertragseingang 000000000000
Ausgaben des CSA nach Addition der Eingänge des ersten Halbzyklus:
Summenverriegelungen S011010011111 Übertragsverriegelungen C 1 001 00000000
Addition zur Weiterleitung der Überträge (zweiter Halbzyklus) Eingänge zum CSA für zweiten Halbzyklus:
Divisor (abgetrennt) 000000000000
Summeneingang 01101001111
Übertragseingang 001 00000000
Ausgaben des CSA nach Addition der Eingänge des zweiten Halbzyklus
Suramenverriegelungen S01001001 1 1 1 Übertragsverriegelungen C001 000000000 Quotientenbit erzeugen Q =
Schiebezähler erhöhen Schiebung =1
Erster Zyklus beendet.
000 111
1 0
BC 976
Start zweiter Zyklus
1 | SUMOL-Anfangswert = | O | C0LA2 = O | O | O | O | O | O | O | Schiebung | O | C0LA3 = O | mit | O | 1 | 1 | O | O | (zweite | O | O | O | O | I | geschalt | Subtraktion von Einer-Komplement | 1 | O | O | 1 | O | O | O | O | O | O | Q = 1 1 | O | O | O | O | O | O | O | O | O | O | Linksverschiebung) | O | O | Zweiter Z | |
2 | Verschiebe Summe L1 | O | O | O | 1 | O | O | O | O | 1 | O | O | 1 | O | O | O | 1 | 1 | 1 | O | O | Eingänge zum CSA: | O | O | O | 1 | O | O | 1 | 1 | 1 | 1 | Verschiebung = 2 | 1 | O | O | O | O | O | 1 | 1 | 1 | 1 | O | 1 | 1 | ||||||
3 | Eingänge zum CSA: | O | O | O | O | O | O | O | O | O | 1 | O | O | O | O | 1 | O | O | O | O | O | O | O | O | O | O | 026 | O | O | 1 | O | O | O | O | O | O | O | 1 | O | O | ||||||||||||
4 | O | O | 1 | O | O | SUMOL = SUMOL-Anfangswert | O | O | V | O | O | 1 | 1 | 1 | O | O | 1 | O | O | O | O | O | 1 | 1 | 1 | 1 | 1 | O | 1 | O | O | O | 1 | 1 | 1 | 1 | O | 1 | 1 | |||||||||||||
5 | O | O | O | O | O | Ver suchs subtraktion | 1 | O | auf | 1 | 1 | O | O | O | O | 1 | Ausgänge des CSA:S | O | O | O | 1 | O | O | O | O | O | O | O | O | O | O | O | O | O | O | O | O | 1 | O | O | ||||||||||||
6 | Ausgänge des CSA: S | Eingänge zum CSA: | O | O | O | O | C | O | ||||||||||||||||||||||||||||||||||||||||||||
7 | C | Übertrag L2 | O | 1 | 1 | 1 | 1 | |||||||||||||||||||||||||||||||||||||||||||||
8 | O | O | 1 | O | O | O | 1 | O | ||||||||||||||||||||||||||||||||||||||||||||
9 | 1 | Ausgänge des CSA:PS | O | O | O | O | O | O | O | |||||||||||||||||||||||||||||||||||||||||||
10 | 1 | PC | O | (C0LA2 + Cn) | 1 | 1 | 1 | = 1 | 1 | |||||||||||||||||||||||||||||||||||||||||||
11 | O | CSA | O | O | O | ;eten Divisor | O | |||||||||||||||||||||||||||||||||||||||||||||
OO | 12 | 1 | O | 1 | 1 | 1 | O | 1 | ||||||||||||||||||||||||||||||||||||||||||||
O | 13 | Vorausschau nach der ί | O | O | O | O | 1 | O | ||||||||||||||||||||||||||||||||||||||||||||
OO | 14 | PS | O | Addition zur Weiterleitung der Überträge | O | |||||||||||||||||||||||||||||||||||||||||||||||
15 | PC | O | Eingänge zum CSA: | 1 | O | |||||||||||||||||||||||||||||||||||||||||||||||
*■*■ | 16 | O | O | 1 | ||||||||||||||||||||||||||||||||||||||||||||||||
17 | O | |||||||||||||||||||||||||||||||||||||||||||||||||||
CD | 18 | DOK = 1 (Division erfolgreich) | Ausgänge des CSA:S | 1 | ||||||||||||||||||||||||||||||||||||||||||||||||
-J | 19 | C | O | |||||||||||||||||||||||||||||||||||||||||||||||||
20 | O | |||||||||||||||||||||||||||||||||||||||||||||||||||
21 | 1 | |||||||||||||||||||||||||||||||||||||||||||||||||||
22 | O | |||||||||||||||||||||||||||||||||||||||||||||||||||
23 | 1 | |||||||||||||||||||||||||||||||||||||||||||||||||||
24 | O | |||||||||||||||||||||||||||||||||||||||||||||||||||
25 | ||||||||||||||||||||||||||||||||||||||||||||||||||||
26 | O | |||||||||||||||||||||||||||||||||||||||||||||||||||
27 | 1 | |||||||||||||||||||||||||||||||||||||||||||||||||||
28 | O | |||||||||||||||||||||||||||||||||||||||||||||||||||
29 | 1 | |||||||||||||||||||||||||||||||||||||||||||||||||||
30 | O | |||||||||||||||||||||||||||||||||||||||||||||||||||
31 | ||||||||||||||||||||||||||||||||||||||||||||||||||||
32 | ||||||||||||||||||||||||||||||||||||||||||||||||||||
33 | ||||||||||||||||||||||||||||||||||||||||||||||||||||
34 | ||||||||||||||||||||||||||||||||||||||||||||||||||||
BC 976 |
O CD OO -C-
Start dritter Zyklus
1 SÜMOL-Anfangswert = 1
2 Verschiebe Summe L1 und 3-5 Nicht dargestellt
Übertrag L2 (dritte Linksverschiebung)
6 | S 0 10 0 0 1 | C0LA2 = O | PS 1 10 10 1 | C0LA3 = O | S 1 10 10 1 | 1 | 1 | 1 1 | S 1 10 10 1 | Q = 1 1 1 | 1 | 1 1 | 1 | 1 | 1 | 1 |
7 | C 0 0 0 0 0 0 | SUMOL = 1 V (O V O) = 1 | PC O O O O O O | DOK = 1 (Division erfolgreich) | COOOOOO | 0 | 0 | 0 0 | COOOOOO | Verschiebung = 3 | 0 | 0 0 | 0 | 0 | I 0 | ι 0 |
orausi | schau nach der Schiebung | Versuchssubtraktion ausführen | Subtraktion des Einer-Komplements | |||||||||||||
9 | PS 0 10 0 0 1 | Nicht dargestellt | Nicht dargestellt | 1 | 1 1 | 1 | 1 | 1 | ||||||||
10 | PC 0 0 0 0 0 0 | 0 | 0 0 | 0 | » 0 | ι 0 | ||||||||||
11 | ||||||||||||||||
12 | 1 | 1 | ||||||||||||||
13 | 0 | 0 | ||||||||||||||
14-16 | ||||||||||||||||
17 | 1 1 | 1 | 1 | |||||||||||||
18 | 0 0 | 1 | 0 | 0 | ||||||||||||
19 | 0 | |||||||||||||||
20 | ||||||||||||||||
21 | ||||||||||||||||
22-24 | ||||||||||||||||
25 | 1 1 | 1 | 1 | |||||||||||||
26 | 0 0 | 0 | 0 | |||||||||||||
27 | Addition zur Weiterleitung der Überträge | |||||||||||||||
28-30 | Nicht dargestellt | |||||||||||||||
31 | 1 | 1 | ||||||||||||||
32 | 0 | 0 | ||||||||||||||
33 | ||||||||||||||||
34 |
Dritter Zyklus beendet
BC 976 026
- 41 Start vierter Zyklus
1 SUMOL-Anfangswert = 1
2 Verschiebe Sume L1 Übertrag L2 (vierte Linksverschiebung)
3-5 Nicht dargestellt
6 S 101011111111
j 7 C 000000000000
j 8 Vorausschau nach der Schiebung
! 9 PS 1 O 1 O 1 1 1 1 1 1 1 1
!1O PC 000000000000
11 C0LA2 =0
a» j 12 SUMOL = 1 V (O V O) = 1
o i 13 Versuchssubtraktion ausführen
to ! 14-16 Nicht dargestellt '
to ! 14-16 Nicht dargestellt '
00J17 PS 001111111111
^ ! 18 PC 10 0000000000
^ ! 19 C0LA3 = 1
o j 20 DOK = O (Division erfolglos)
-j : 21-32 Weggelassen. Diesen Subtraktionszyklus überspringen. S + C nicht verändert.
•4 I 33 Q = 1 1 1 0
**" I 34 Verschiebung = 4
j Vierter Zyklus beendet
j Die übrigen Zyklen nicht dargestellt.
BC 976 026
Die oben gezeigte Division wird jetzt im einzelnen beschrieben. Am Anfang werden die Summenverriegelungen S des CSA so eingestellt,
daß sie die Bits des invertierten Dividenden speichern. Die Übertragsverriegelungen (C) des CSA speichern am
Anfang Nullen. Die äußersten linken vier Bits des invertierten Dividenden (Bitpositionen 0 bis 3) stellen gemäß obiger
Erklärung das Komplement der ersten Hexadezimalzahl in diesem Operanden dar, dessen wahrer Wert nach Definition kleiner ist
als der Wert der ersten Hexadezimalzahl (Bitposition 0 bis 3) im Divisor, der gegenwärtig im F-Register gespeichert ist.
Bevor die erste Subtraktion beginnen kann, muß also der CSA-Inhalt nach links verschoben werden. Unmittelbar vor dieser
Linksverschiebung wird nach Darstellung in Zeile Nr. 1 der obigen Tabelle der SüMOL-Anfangswert dadurch bestimmt, daß
man die Antivalenzfunktion der Bitwerte S und C1 nimmt.
Dann führt der CSA eine Linksverschiebung aus, bei der die S-Bits um eine Position und die C-Bits um zwei Positionen nach
links verschoben werden. Nach Darstellung in den Zeilen 3 bis bestehen die Eingänge zu jeder CSA-Bitposition aus einem Null-Divisorbit
(da der Divisor abgetrennt ist) und dem Summenbit ,von der nächsthöher nummerierten CSA-Bitposition, sowie dem
iÜbertragsbit von der um zwei Nummern höheren CSA-Bitposition
(in dieser Anfangsstufe des Divisionsprozesses unveränderlich eine Null). Wenn die Summenbits in den S-Verriegelungen
!nach links verschoben werden, ergeben sie Eingänge zu den benachbarten CSA-Bitpositionen und es wird ein zusätzliches
Einer-Bit als Surameneingang in die letzte CSA-Bitposition eingegeben (hier nicht dargestellt). Das ist gleichwertig mit
dem Setzen einer wahren Null an das Ende des links verschobenen Dividenden. Diese übliche Addition einer komplementären 1 ■
zur links verschobenen Summe wird bei der Beschreibung der j weiteren Linksverschiebungen in späteren Zyklen des Divisions-i
Prozesses nicht weiter erwähnt. ι
BC 976 026
8098U/0774
In den Zeilen 6 und 7 sind die CSA-Ausgabewerte dargestellt,
die in den Summen- und Übertragsverriegelungen gespeichert werden, aufgrund der Addition der verschiedenen in den Zeilen
3 bis 5 angegebenen Eingangswerte. Diese Addition bewirkt effektiv die obenerwähnte Linksverschiebung des Dividenden.
Die Summen- und Übertragsverriegelungen des CSA enthalten jetzt zusammen einen neuen komplementären Minuendenwert, der
die Bits S_ und C1 nicht enthält, wie diese vor der Verschiebung
standen. Diese Bits wurden aus dem CSA ausgeschoben und durch neue Bits ersetzt.
Das hier verfolgte zyklische Vorgehe.! verlangt eine Vorausschaufunktion,
unmittelbar nach einer Linksverschiebung des CSA-Inhaltes. Dabei handelt es sich insofern um eine akademische
Übung, als der erste Zyklus betroffen ist, weil der Vorausschauwert
unveränderlich 0 ist, wenn alle in den C-Verriege-^ lungen gespeicherten übertragswerten Nullen sind und somit keine
Überträge erzeugt wurden. Trotzdem wird die Vorausschauoperation zu dieser Zeit als reine Routine ausgeführt und nicht versucht,
diesen Teil des regulären zyklischen Vorgehens zu umgehen.
Der erste Schritt in einer Vorausschauroutine besteht in der i
Durchführung einer "nichtausfuhrenden Addition" der gegen- !
wärtig im CSA stehenden Summen- und übertragswerte, wie sie j
oben im Zusammenhang mit Fig. 5 beschrieben wurde. Bei einer \
nichtausführenden Addition werden die verriegelten Ausgangswerte für S und C als Eingänge zum CSA benutzt, und dadurch
Vorsummen- und Vorübertragswerte PS bzw. PC erzeugt, die sich abhängig von den jeweiligen Umständen von den S-Werten und C-Werten
unterscheiden können. Dabei werden die verriegelten S-Werte und C-Werte insofern nicht verändert, als die neuen PS-Werte
und PC-Werte nicht in die S-Verriegelungen und C-Verriege
lungen des CSA geleitet werden. Wenn die neuen S-Werte und C-Werte im Laufe einer Addition nicht getaktet werden, wird die
Addition hier als "nicht ausführend" bezeichnet, mit anderen
BC 976 026 β ο 9 8 4 Ul 0 7 7 4
Worten, der Unterschied zwischen einer ausführenden und einer nichtausführenden Addition besteht im Fehlen eines Taktimpulses
auf der Steuerleitung 38 in letzterem Fall.
In der Vorausschau nach einer Linksverschiebung wird der
Divisor abgetrennt, da zu diesem Zeitpunkt nur interessant ist, ob die Addition der C-Bits zu den S-Bits einen Obertragsausgang
von 1 oder 0 aus der äußersten linken CSA-Bitposition erzeugt. Die aus dieser Addition resultierenden
Vorsummen- und Vorübertragswerte sind im vorliegenden Fall in den Zeilen 9 und 10 der obigen Tabelle dargestellt. Diese PS-Werte
und PC-Werte werden jetzt in das Vorausschaunetzwerk eingespeist, um den Vorausschauwert K_ und den CSA-Übertragsausgangsvorausschauwert
C0LA2 sicherzustellen, und zwar mit der in den Fign. 8 bis 10 symbolisch dargestellten logischen
Schaltung. Im vorliegenden Fall ergibt sich der Wert 0 für C0LA2 nach Darstellung in Zeile 11 der Tabelle, und dieser
Wert für C0LA2 wird jetzt mit dem SÜMOL-Anfangswert antivalent verknüpft (Antivalenzverknüpfung der Bits S0 und C-, wie sie
Ivor der Linksverschiebung standen) zum endgültigen SUMOL-■Wert,
der das komplementäre Minuendenbit darstellt, das links ausgeschoben worden wäre, wenn alle Summen- und Übertragsbits '
,vor der Linksverschiebung kombiniert worden wären. Im vorliegenden
Beispiel hat der erste Operand (Dividend) ein solches Bitmuster, daß sich im ersten Zyklus ein SUMOL-Endwert von 0
!ergibt (entsprechend dem wahren Wert 1), wie es in Zeile 12 jder obigen Tabelle dargestellt ist. ■
Wenn sich der Wert des SUMOL-Bits mit 0 herausstellt, heißt
das, daß eine erfolgreiche Subtraktion ohne Rücksicht auf die Größe des Divisors im betrachteten Zyklus vorgenommen werden
kann, weil kein Oberziehen auftreten kann, wenn das links vom Subtrahenden ausgeschobene Minuendenbit einen Komplementwert von 0 (wahre 1) hat. In diesem Fall ist es wirklich
unwesentlich, welchen Wert das Übertragsbit hat, wenn die
BC 976 026 809844/0774
Subtraktion des Divisors vom laufenden Minuenden tatsächlich
durchgeführt wird, weil ungeachtet seines Wertes keine über-Ziehung
während dieser Subtraktion auftreten kann. Routinemäßig führt der Prozessor jetzt trotzdem eine Versuchssubtraktion
mit dem vom F-Register auf den CSA geschalteten Divisor durch, um den Übertragsausgang logisch zu bestimmen,
der auftritt, wenn der Divisor tatsächlich vom laufenden Minuendenwert im CSA subtrahiert wird. Dieser Vorgang ist in
den Zeilen 13 bis 19 der obigen Tabelle dargestellt.
Die Versuchssubtraktion bildet eigentlich eine zweite Vorausschauoperation.
Als erster Schritt in dieser Operation werden der Divisor bzw. Summen- und übertragswerte, die im
F-Register und in den S-Riegeln und C-Riegeln des CSA gespeichert
sind, als neue CSA-Eingänge eingegeben (Zeilen 14 bis 16) und dadurch neue Sätze von Vorsummen- und Vorübertragsbits
(PS und PC) am CSA-Ausgang erzeugt (Zeilen 17 und 18), ohne daß die verriegelten S-Werte und C-Werte zerstört
werden. Diese PS-Bits und PC-Bits werden der Vorausschauschaltung, Fign. 8 bis 10, zugeführt, um den Vorausschauwert
C0LA3 zu bilden, der in diesem Fall 1 ist (Zeile 19). Als nächstes wird in der in Fig. 11 gezeigten Schaltung der neue
Wert C0LA3 mit dem vorher bestimmten Wert für C0LA2 (Zeile 11) antivalent verknüpft, um den wahren Übertragsausgang zu bestimm
men, der durch Subtraktion des Divisors von dem Minuendenwert entstehen würde, der gegenwärtig gemeinsam durch die S-Bits
und C-Bits in den Summen- und Übertragsverriegelungen des ; CSA dargestellt wird. Dieses Übertragsausgangsbit (C0LA2 V ,
C0LA3) wird dann invertiert und das Komplement zusammen mit j
dem invertierten SUMOL-Bit an den DOK-Trigger 112 in Fig. 11 i
■ gegeben.
;Im vorliegenden Fall hat C0LA3 den Wert 1 (Zeile 19) und die
Antivalenzverknüpfung dieses Wertes mit dem Wert 0 von C0LA2
I(Zeile 11) ist 1, der wahre Übertragsausgang. Dieser würde
BC 976 026
809844/0774
eine erfolglose Versuchssubtraktion anzeigen, wenn nicht das
aus dem CSA ausgeschobene SUMOL-Bit vorher schon mit dem Wert ermittelt worden wäre (Zeile 12). Das invertierte SUMOL-Bit
ist daher 1 und schaltet die DOK-Verriegelung 114 in Fig. 11 in
den Einer-Zustand. Der invertierte übertragsausgangswert (Komplement von C0LA2 V C0LA3) ist 0 und wird daher nicht durch
das ODER-Glied 110 auf den DOK-Trigger 112 geleitet. Das hat
im Augenblick jedoch nichts zu sagen, da das DOK-Bit bereits durch das invertierte SUMOL-Bit auf 1 gesetzt ist.
In Zeile 20 der obigen Tabelle findet sich zu diesem Zeitpunkt die Bedingung "Division erfolgreich" und der Prozessor
wird dadurch zur Ausführung einer komplementären Subtraktion des Divisors vom Minuendenwert vorbereitet, der gegenwärtig
im CSA registriert ist. Bis zu diesem Punkt brauchte eine eigentliche Subtraktion nicht ausgeführt zu werden und die in
den S- und C-Riegeln stehenden Summen- und übertragswerte
blieben wie sie waren nach der vorhergehenden Linksverschiebung (Zeilen 6 und 7). Die dazwischenliegenden "nicht ausführenden"
Schritte der Vorausschaufunktion (Zeilen 8 bis 20) wurden sehr schnell ausgeführt und brauchten nur wenig Zeit zur Beendigung.
Wenn die vorgeschlagene komplementäre Subtraktion als erfolglos vorausgesagt worden wäre (DOK = 0), dann wäre die eigentliche
Subtraktion während dieses Zyklus übersprungen worden und das System wäre direkt in den nächsten Zyklus des Divisionsprozesses gegangen, wodurch Zeit gespart worden wäre, die sonst
dem gerade beendeten Zyklus zugeordnet worden wäre.
Da in diesem Fall das DOK-Bit auf 1 steht, führt der Prozessor jetzt die komplementäre Subtraktion des Divisors vom Dividenden
durch. Der Prozessor, in dem die Erfindung tatsächlich praktiziert wurde, führt für diese Subtraktion zwei Additionsschritte aus. Im ersten Halbzyklus wird eine Einerkomplement-Subtraktion
ausgeführt (Zeilen 21 bis 26). In diesem Halbzyklus werden die Divisor-Bits vom F-Register zu den Summen-
BC 976 026 . „ rt ,
809844/0774
und Übertragsbits S und C in der in Fig. 4 gezeigten Art addiert und die resultierenden Summen und Übertragsbits in
die S- und C-Riegel geleitet als Ausgänge, die gemeinsam einen Teilrest darstellen. Im zweiten Halbzyklus wird eine weitere
Addition dieser Summen- und Übertragsbits vom CSA ausgeführt. Diesmal ist der Divisor von dem CSA-Eingang abgeschaltet
(Zeilen 27 bis 32) , so daß durch diese weitere Addition wenigstens eine Teilkonsolidierung der Überträge mit den Summenbits
erfolgt. Wenn ein Übertragsbit von 1 zu einem Summenbit von in der nächsthöheren Stelle addiert wird, wird das Übertragsbit auf diese Weise in die nächsthöhere Stelle weitergeleitet,
Überträge werden jedoch während des Restes dieses Zyklus nicht weitergeleitet. Die resultierenden Summen und Übertragsbits
werden in die S- und C-Riegel geleitet (Zeilen 31 und 32), wo sie gemeinsam den laufenden Wert des Teilrestes darstellen.
Nach jeder komplementären Subtraktion muß aus der Sicht des Erfindungsgedankens nicht unbedingt ein übertragsweiterleitungsschritt
folgen. Die aus der komplementären Subtraktion resultierenden Überträge können einfach in den C-Verriegelungen
des CSA gespeichert werden (ohne versuchte Weiterleitung), um ; dort auf die Verarbeitung während des nächst folgenden Zyklus
der Divisionsoperationen zu warten. Bei Bedarf kann nach der letzten Subtraktion nach der letzten Linksverschiebung im
Divisionsprozeß der übertrags-Rettungsaddierer dann einmal oder mehrmals im Additionsbetrieb laufengelassen werden, um
die Überträge weiterzuleiten und sie mit den Summenbits zu konsolidieren, bis alle Übertragsbits auf Null reduziert
wurden. Zu diesem Zeitpunkt stellt der Wert in den Summenriegeln des CSA das letzte Restkomplement dar. Eine eingebaute
Funktion erkennt den Zustand, wenn alle übertragswerte Null sind, und beendet die übertragsweiterleitung. Bei Gleitkomma-Rechenoperationen
wird der letzte Rest einer Division im allgemeinen vernachlässigt. Wenn man ihn jedoch erhalten will, nutzeji
die Teilübertrags-Weiterleitungsschritte, wie sie in den
BC 976 026
8098U/0774
Zeilen 27 bis 32 dargestellt sind, die Zeit, die sonst in der zweiten Hälfte eines jeden Maschinenzyklus vergeudet wird und
verkürzen die Anzahl der Übertrags-Weiterleitungsschritte, die in der Endphase des Divisionsprozesses ausgeführt werden
müssen.
Der hier für die Lösung von Divisionsproblemen verwendete Übertrags-Rettungsaddierer kann auch für die Lösung von
Multiplikationsproblemen eingesetzt werden, wo alle Überträge vollständig in der Endphase der Operation weitergeleitet
werden müssen, um das Multiplikationsprodukt zu bekommen. Bei einem 56 Bit großen Übertrags-Rettungsaddierer kann die
letzte Weiterleitung von Überträgen viele Zyklen belegen, wenn die Überträge nicht bereits teilweise während der vorhergehenden
Zyklen weitergeleitet worden sind, wie es oben erklärt wurde, wobei Teile der Maschinenzykiuszeiten ausgenutzt
werden, die sonst vergeudet werden.
Der erste Zyklus des Divisionsprozesses in dem oben beschriebenen Beispiel 1 ist jetzt bis auf zwei Abschlußschritte
fertig, die in den Zeilen 33 und 34 gezeigt sind. Da eine Subtraktion erfolgreich ausgeführt wurde, wird ein erstes
Quotientenbit von 1 erzeugt und in einen geeigneten Speicher wie beispielsweise das Schieberegister 22 eingegeben. Die
Schiebezahl wird von 0 auf 1 erhöht. Die obere Grenze der Schiebezahl wird durch die Bedingungen des Problems und die
üblichen Maschinenparameter in bekannter Art bestimmt.
Für jeden weiteren von der Maschine in der Division ausgeführten Zyklus werden die Zeilen mit den Bezugszahlen 1 bis
in der obigen Tabelle wiederholt, wobei entsprechende Funktionen in den verschiedenen Zyklen mit derselben Zeilenzahl
bezeichnet sind. Beim Beginn eines jeden neuen Zyklus (Zeile 1) wird ein SUMOL-Anfangswert (S_ V C) bestimmt. In
Zeile 2 folgt dann eine Linksverschiebung des Inhaltes der
BC 976 026 809844/0774
CSA-Verriegelungen und der Erzeugung neuer S- und C-Werte
(Zeilen 6 und 7). Aus den neuen Bitwerten für S und C wird der erste übertragsausgangsvorausschauwert COLA2 bestimmt. (Zeilen
8 bis 11). Dann wird der-SUMOL-Wert bestimmt (Zeile 12) und
danach die zweite übertragsausgangsvorausschau C0LA3 (Zeilen 13 bis 19). Alle diese Bestimmungen erfolgen durch die schnellen
logischen Prüfverfahren, die oben im Zusammenhang mit den
Fign. 7 bis 11 beschrieben wurden. Gemäß Zeile 20 wird dann eine DOK-Prüfung vorgenommen und wenn das Ergebnis ein Einer-Bit
ist, wird der Übertrags-Rettungsaddierer zur Ausführung
einer echten Einerkomplement-Subtraktion veranlaßt (Zeilen 21 ff.) und ein neues Quotientenbit von 1 erzeugt.
Im betrachteten Beispiel wird in jedem der ersten drei Zyklen eine erfolgreiche Subtraktion ausgeführt. Die Vorausschaumöglichkeit
nach der vorliegenden Erfindung kann die für jede erfolgreiche Subtraktion benötigte Zeit geringfügig verlängern.
Diese Verlängerung ist jedoch vernachlässigbar klein und kann bei anderen Konstruktionstoleranzen absorbiert werden, die
normalerweise sowieso zugelassen sind. In den Zyklen des Divisionsprozesses, in denen die numerischen Bedingungen keine Subtraktion
ohne überzug gestatten, ist die Vorausschaumöglichkeit nach der vorliegenden Erfindung jedoch sehr vorteilhaft und er-1
möglicht eine beträchtliche Ersparnis an Maschinenzeit, die sonst für die Ausführung einer vergeblichen Subtraktion mit
überzug gebraucht würde, der dann noch korrigiert werden müßte.
Eine Bedingung der gerade beschriebenen Art tritt im vierten Zyklus des obigen Beispiels 1 auf (der letzte in der obigen
Tabelle dargestellte Zyklus). In diesem Fall haben sowohl das SÜMOL-Bit als auch das CSA-Übertragsausgangsbit (C0LA2 V C0LA3)
den Wert 1 und somit das DOK-Bit den Wert 0. Wenn dieser Fall eintritt, wird keine komplementäre Subtraktion im vorliegenden
Zyklus ausgeführt und die Operation geht weiter zum nächsten Zyklus nach Erzeugung des Quotientenbit 0 und Fortschreibung
BC 976 026 e 0 9 8 A U I 0 7 7 U
der Schiebezahl.
Wenn die Division an diesem Punkt unter den Bedingungen des vorliegenden Problemes beendet wurde, enthalten der Summenriegel
(S) und der Übertragsriegel (C) des CSA gemeinsam das Restkomplement. Wenn alle C-Werte 0 sind oder durch Übertragsweiterleitung
auf 0 reduziert werden, dann stellen die S-Werte das Restkomplement dar. Wenn aus irgendeinem Grund
der wahre Wert des Restes gebraucht wird, erhält man diesen durch Pulsen einer Komplementsummen-Steuerleitung 56, die zum CSA führt (Fign. 6 und 12) während dieser im ADD-Betrieb
läuft, wodurch der in den S-Riegeln gespeicherte numerische Wert in das Einer-Komplement umgesetzt wird.
der wahre Wert des Restes gebraucht wird, erhält man diesen durch Pulsen einer Komplementsummen-Steuerleitung 56, die zum CSA führt (Fign. 6 und 12) während dieser im ADD-Betrieb
läuft, wodurch der in den S-Riegeln gespeicherte numerische Wert in das Einer-Komplement umgesetzt wird.
Wenn die von der Division betroffenen Operanden so groß sind, daß die erste Hexadezimalstelle des Dividenden die erste
Hexadezimalstelle des Divisors überschreitet, muß eine Rechtsausrichtung vorgenommen werden, bevor der erste Divisionszyklus beginnen kann. Diese Bedingung ist in dem nachfolgend in Tabellenform aufgeführten Beispiel 2 dargestellt. In diesem einfachen Beispiel ist der Dividend, hexadezimal A oder dezimal 10, zu dividieren durch 5. Der Vergleich dieser Hexadezimalwerte zeigt die Notwendigkeit einer Rechtsausrichtung. Diese Rechtsausrichtung erfolgt durch eine Reihe von vier
Rechtsverschiebungen, von denen jede genauso vorgenommen
wird, wie es in Fig. 2 gezeigt ist. Das Übertragsbit in der C-Verriegelung einer jeden CSA-Bitposition wird einfach als Übertragseingang wieder in dieselbe Bitposition eingegeben. Der Summeneingang zu jeder CSA-Bitposition kommt von der links danebenliegenden Bitposition. Das F-Register (Divisor) wird zu dieser Zeit abgetrennt. Die resultierende Addition bewirkt eine Rechtsverschiebung des CSA-Inhaltes um eine Bitposition oder Spalte. Für die Rechtsausrichtung werden vier derartige Rechtsverschiebungen gebraucht. Bei jeder Rechts-
Hexadezimalstelle des Divisors überschreitet, muß eine Rechtsausrichtung vorgenommen werden, bevor der erste Divisionszyklus beginnen kann. Diese Bedingung ist in dem nachfolgend in Tabellenform aufgeführten Beispiel 2 dargestellt. In diesem einfachen Beispiel ist der Dividend, hexadezimal A oder dezimal 10, zu dividieren durch 5. Der Vergleich dieser Hexadezimalwerte zeigt die Notwendigkeit einer Rechtsausrichtung. Diese Rechtsausrichtung erfolgt durch eine Reihe von vier
Rechtsverschiebungen, von denen jede genauso vorgenommen
wird, wie es in Fig. 2 gezeigt ist. Das Übertragsbit in der C-Verriegelung einer jeden CSA-Bitposition wird einfach als Übertragseingang wieder in dieselbe Bitposition eingegeben. Der Summeneingang zu jeder CSA-Bitposition kommt von der links danebenliegenden Bitposition. Das F-Register (Divisor) wird zu dieser Zeit abgetrennt. Die resultierende Addition bewirkt eine Rechtsverschiebung des CSA-Inhaltes um eine Bitposition oder Spalte. Für die Rechtsausrichtung werden vier derartige Rechtsverschiebungen gebraucht. Bei jeder Rechts-
BC 976 026
809844/0774
Verschiebung wird in die Suinmenverriegelung der äußersten
linken CSA-Bitposition ein Komplement 1 eingegeben.
In dem nachstehenden Beispiel 2 ist nur der erste Zyklus des Divisionsprozesses dargestellt. Wenn die Rechtsausrichtung
einmal erfolgt ist, läuft die Operation genauso ab, wie sie oben in Verbindung mit Beispiel 1 beschrieben wurde. Eine
erforderliche Rechtsausrichtung läßt sich dadurch einfach erkennen, daß man am Anfang die SUMOL-Verriegelung 67 zu Beginn
der Division auf 1 setzt (durch entsprechendes Pulsen des Triggers 66) und dann eine Versuchssabtraktion mit auf den
CSA geschalteten Divisor durchführt, die resultierenden Bits für Vorsumme und Vorübertrag in die Vorausschauschaltung einspeist
und schließlich die Stellung der DOK-Verriegelung 114
prüft. Wenn DOK = 1 ist, heißt das, daß das Dividendenkomplement rechts ausgerichtet werden muß, bevor die Division beginnen
kann.
BC 976 026
809844/0774
- 52 Beispiel 2
Dezimal
10:5
10:5
Ersten Operanden eingeben
Hex. 41AOOOOO
Operator eingeben:
Zweiten Operanden eingeben
Operator eingeben:
Zweiten Operanden eingeben
Hex. 41500000
Anfangswerte für Summenverriegelung
Invertierter Dividend S 0 10 1
Invertierter Dividend S 0 10 1
Hexadezimal A:5 Binär
1010:0101
1010:0101
Erste Überträge C 000000000000 Dividend rechts ausgerichtet 1 Hexadezimalzeichen
S 11110101111
(S) und Übertragsverriegelungen (C):
11111111 (übrige Bits nicht gezeigt)
11111111 (übrige Bits nicht gezeigt)
S0VC1
= 1
1 (übrige Bits nicht gezeigt) C 000000000000 (erster SUMOL-Wert)
Verschiebe Summe L1 Übertrag L2 (erste Linksverschiebung) Eingänge zum CSA:
Divisor abgetrennt) 000000000000
Summene ingang
Übertragseingang
Übertragseingang
1110 10 111111
000000000000 Ausgänge des CSA nach Verschiebung:
Summenriegel S 111010111111
Summenriegel S 111010111111
Übertragsriegel C 000000000000
Vorausschau nach Verschiebung
Resultatwerte aus nicht ausführender Addition von S und C: Vorsummen PS 1110 10 111111
Vorüberträge PQ 0 0 0000000000 COLA mit abgetrenntem Divisor ermitteln (C0LA2)
C0LA2 = 0
SUMOL = SUMOL-Anfangswert V (C0LA2 + CQ) = 1
C0LA2 = 0
SUMOL = SUMOL-Anfangswert V (C0LA2 + CQ) = 1
BC 976 026
O
CO
OQ
CO
OQ
Versuchssubtraktion mit auf CSA geschalteten Divisor ausführen
Eingänge zum CSA:
Divisor (aufgeschaltet) 0 10 111111111
Summeneingang 111010111111
Übertragseingang 000000000000
Resultatwerte aus nicht ausführender Addition von S, C und Divisor:
Vorsummen PS 10 1110 111111
Vorüberträge PC 010000000000
COLA mit aufgeschaltetem Divisor bestimmen (C0LA3)
C0LA3 = 1
DOK = SUMOL + C0LA2 V C0LA3 = 0 (Division erfolglos)
Subtraktion dieses Zyklus überspringen. S und C nicht geändert.
Erstes Quotientenbit erzeugen: Q=O Schiebezähler erhöhen. Schiebung = 1
übrige Zyklen aus dieser Darstellung weggelassen.
Endgültiger Quotient Q=OO! 00000
BC 976 026
Die exemplarischen Rechts- und LinksSchiebefunktionen wurden
oben in bezug auf die CSA-Eingänge beschrieben. Manchmal müssen jedoch auch die CSA-Ausgabebitreihen nach rechts oder
links zur Ausrichtung verschoben werden, wenn sie von den CSA-Riegeln in andere Register oder in den Speicher übertragen
werden. Die Rechts- und Linksschiebeeinrichtungen des gezeigten CSA erleichtern diese eventuell erforderlichen Ausrichtoperationen
wesentlich.
Wie schon gesagt wurde, verlangt das beschriebene Divisionsgerät nicht unbedingt eine bestimmte Form von Übertrags-Rettungsaddierer,
auch andere Arten von Übertrags-Rettungsaddierer können für die vorliegende Erfindung verwendet werden,
solange sie über folgende Einrichtungen verfügen:
1. Der Addierer muß nicht verriegelte Summen- und Übertragsausgänge
(wie die Vorsummen- und Vorübertragsbits) und verriegelte
Summen- und Übertragsausgänge (S-Bit und C-Bit) liefern können.
2. Der Addierer muß eine entsprechende Rechts- und Linksschiebeschaltung
enthalten oder damit verbunden sein.
3. Der Addierer muß seine Ausgabesummenbits und/oder Übertragsbits
wieder auf der Eingabeseite eingeben können, wie es für verschiedene Operationen des Divisionsgerätes gebraucht
wird.
Alle obengenannten Merkmale können in herkömmlichen CSA's
vorgesehen werden, die für die verschiedenen Funktionen entr sprechend modifiziert sind. Die dritte Forderung nach Wiedereingabe
kann beispielsweise durch ein Paar CSA's erfüllt werden,
die abwechselnd Ausgänge liefern und Eingänge empfangen und eine separate Schiebeschaltung für die jeweils benötigte
Spaltenverschiebung benutzen. Alle CSA's haben interne Schal-
BC 976 026
8O98U/O7U
tungsverbindungen, die an entsprechender Stelle für die nicht verriegelten Vorsuitunen- und Vorübertrags-Ausgangsbits angezapft
werden können, die als Eingänge für die Vorausschauschaltung gebraucht werden.
Wo jedoch wesentliche Kosten und Platzersparnisse erzielt werden sollen, ist die hier gezeigte besondere Konstruktion des
Übertrags-Rettungsaddierers von Vorteil. Diese allgemein in
Fig. 6 gezeigte Schaltung ist genauer in Fig. 12 dargestellt. Aus Fig. 12 geht in Verbindung mit den Fign. 1 bis 6 hervor,
daß jede Bitposition N des CSA 23 NAND-Glieder und ein NOR-Glied enthält (in den Zeichnungen entsprechend dargestellt
durch ä und OR). Diese 24 Schaltungen nehmen alle Additions-, Schiebe-, Komplement- und sonstigen Funktionen wahr, die mit
jeder CSA-Bitposition unter den verschiedenen Umständen durchgeführt werden müssen. Einige dieser Schaltglieder bilden
Elemente von flankengetriggerten Flip-Flops, die den Summentrigger 34 und den Übertragstrigger 36 der Fig. 6 enthalten,
und andere sind in verschiedenen Steuerungs- und Datenverarbeitungsschaltungen enthalten, die sowohl als Summen- als auch
als Übertragstriggerschaltung dienen. Die Summen- und Übertrag
sverriegelungen 26„ und 28 der entsprechenden CSA-Bitposition
N umfassen Elemente, die als Ausgangstore der Flankentrigger 34 und 36 dienen und so eingestellt werden,
daß sie die Summen- und Übertragsbitwerte darstellen, die allein durch die Eingänge bestimmt werden, die gleichzeitig
mit den Führungsflanken der an die Steuerleitung 38 angelegten Taktimpulse erfolgen. Die verriegelten Summen- und Übertragswerte ändern sich zwischen aufeinanderfolgenden Taktimpulsen
normalerweise nicht, ungeachtet der Änderungen, die in den Eingängen zum CSA während dieser Zeit auftreten können. Andere,
Tore sorgen für das Ausgangsvorsummenbit (PS) und das Vorübertragsbit
(PC), die gleichzeitig mit oder unabhängig von den Taktimpulsen auf Leitung 38 abhängig von den jeweils herrschenden
Bedingungen erzeugt werden können. Die nichtverriegelten
BC 976 026 ,■,*««»
8098U/077Ä
PS-Werte und PC-Werte können sich zwischen den Taktimpulsen
ändern, ohne daß die verriegelten S-Werte und C-Werte davon betroffen werden. Die PS-Werte und PC-Werte werden nur solange
dargestellt, wie die sie erzeugenden Eingangssignale an den
CSA angelegt werden. Somit sind es nur vorübergehend erzeugte Werte, die sofort benutzt werden müssen, wenn sie überhaupt
genutzt werden.
Die in Fig. 12 gezeigte CSA-Schaltung spricht auf verschiedene
Dateneingänge an, die unter den unten aufgelisteten Eingangstypen entsprechend der jeweils vom CSA ausgeführten Funktionen
ausgewählt werden.
Summeneingang von derselben Stelle
Invertierter Summeneingang von derselben Stelle
Summeneingang von einer anderen Stelle Übertragseingang von derselben Stelle
Übertragseingang von einer anderen Stelle Divisoreingang vom F-Register
Null-Eingang vom F-Register
Bei der Ausführung einer gegebenen CSA-Funktion werden nur bestimmte
Eingänge benutzt, gemäß der obigen Erklärung in Verbindung mit den Fign. 2 bis 5. Die verschiedenen CSA-Funktionen
werden im besonderen Zusammenhang mit Fig. 12 beschrieben.
Fig. 13 zeigt in vereinfachter Form die Konstruktion der hier
verwendeten Trigger-Schaltung. Jeder Summen- und Übertragstrigger enthält eine Reihe von NAND-Gliedern, z.B. 120 bis 124,
in der gezeigten Schaltungsanordnung. Das in jeden Trigger ein-'gegebene
Datenbit wird durch einen Satz von Datentoren 125
976 026 6Q98U/077 ti
Eingangsleitung Fign. 6 u. 7 |
4 |
160 | |
oder 51 | |
47 | 52 |
oder 48 | |
42 | 44 |
(abgetrennt) | |
44 |
geliefert, die bestimmte logische Verarbeitungsoperationen mit den Eingangsdaten entsprechend der Größe der entsprechenden
Eingangsbits vornehmen (Summeneingang, Übertragseingang und Divisoreingang). Die Herkunft der Eingabedatenbits hängt
von der durch den CSA auszuführenden Funktion ab und die Auswahl der Datenquellen erfolgt durch die Eingabesteuerung 126
aufgrund des gegenwärtig wirksamen Steuersignales. Wenn das aktive Steuersignal beispielsweise eine Rechtsverschiebung
anfordert, dann sind die Eingangsbits zu einer gegebenen CSA-Position N ein Summenbit S1, ein Übertragsbit Cn und ein
NuI1-Divisorbit (F-Register). Wenn das Steuersignal eine
Linksverschiebung verlangt, werden die Eingangsbits ein Summenbit S„ *, ein Übertragsbit Cn+2 und kein Divisorbit.
Wenn eine Addition verlangt wird (Verschiebe Übertrag L1 Summe LO), werden als Eingänge gewählt: ein Summenbit Sn, das :
Übertragsbit Cn * und ein Divisorbit F oder kein Divisorbit,
je nach dem Zweck der Addition. Für eine Komplementsummenfunktion ist der einzig wertdarstellende Eingang das
Komplement des Summenbit S..; das Divisoreingangsbit und das
Übertragseingangsbit sind in diesem Fall 0.
Wenn die Eingangssteuerungen 126 in Fig. 13 die Eingabedaten- ,
quellen einmal gewählt haben, verarbeiten die Datentore 125 ; diese Eingangsbits nach ihren Werten und ohne Rücksicht auf
ihren Ursprung. Die Tore 125 erzeugen verschiedene Ausgabe- . bits, von denen eines in invertierter Form die Antivalenzfunktion
der Eingangsbits und ein anderes ebenso in invertierter Form die UND-Funktion der Eingabebits darstellen. Das
Komplement eines jeden dieser Bits ist als Ausgang des entsprechenden Summen- oder Übertragstriggers darzustellen. ;
Die Antivalenzfunktion wird durch den Summentrigger und die
UND-Funktion durch den Übertragstrigger dargestellt. Die nach- >
folgende Beschreibung gilt für beide Fälle. Für die Erfindung ; büß weiterhin jeder Trigger seinen Ausgang in verriegelter ;
und unverriegelter Form darstellen. Der verriegelte Ausgang
976 026 . 8098U/0774
bleibt zwischen den Taktimpulsen stabil, während der unverriegelte
sich zwischen Taktimpulsen ändert.
Im normalen Ruhezustand der Triggerschaltung, wenn kein Taktimpuls
oder Rückstellimpuls angelegt ist, liefert die Taktleitung 38 negative Eingänge oder logische Null-Eingänge an
die NAND-Glieder 121 und 122 und die Rückstelleitung 54 liefert positive oder logische Einer-Eingänge an die NAND-Glieder
124 und 125 nach Darstellung in Fig. 13. Die Rückstelleitung wird nur negativ, wenn der Trigger zurückgestellt werden soll.
Mit Takteingängen von Null, haben die Schaltglieder 121 und
122 logische Einer-Ausgänge. Das NAND-Glied 121 legt seinen Einer-Ausgang als Eingang an die Schaltglieder 120, 122 und
123 an.
Wenn jetzt ein Einer-Bit am Ausgang der DATEN-TORE 125 erscheint,
wird es nach Darstellung in Fig. 14 als Eingang an das NAND-Glied 120 angelegt. Wenn beide Eingänge zum NAND-Glied
120 auf Eins stehen, geht sein Ausgang auf Null, der
dadurch als nichtverriegeltes Ausgangsbit dargestellt wird. Dieser Ausgang wird außerdem als ein Eingang an das NAND-Glied 121 angelegt. Wenn ein Taktimpuls an die NAND-Glieder und 122 angelegt wird, geht der Takteingang auf Eins, so daß jetzt beide Eingänge zum NAND-Glied 122 auf Eins stehen, wie es in Fig. 14 gezeigt ist. Der Ausgang des NAND-Gliedes 122 geht daraufhin auf Null, und diese Null ist ein Eingang zum NAND-Glied 124, das einen Ausgang von Eins erzeugt, der wieder als Eingang an das NAND-Glied 123 angelegt wird. Beide Eingänge zum NAND-Glied 123 sind jetzt auf Eins, so daß sein
Ausgang auf Null geht und das ist das verriegelte Ausgangsbit. ,Die NAND-Glieder 123 und 124 sind über Kreuz gekoppelt und
!halten sich selbst in den in Fig. 14 gezeigten Zuständen,
!wenigstens bis zum nächsten an diese Trigger-Schaltung angelegten Taktimpuls, ungeachtet der eventuell im Wert der
michtverriegelten Ausgangsbits in dieser Zeit auftretenden
dadurch als nichtverriegeltes Ausgangsbit dargestellt wird. Dieser Ausgang wird außerdem als ein Eingang an das NAND-Glied 121 angelegt. Wenn ein Taktimpuls an die NAND-Glieder und 122 angelegt wird, geht der Takteingang auf Eins, so daß jetzt beide Eingänge zum NAND-Glied 122 auf Eins stehen, wie es in Fig. 14 gezeigt ist. Der Ausgang des NAND-Gliedes 122 geht daraufhin auf Null, und diese Null ist ein Eingang zum NAND-Glied 124, das einen Ausgang von Eins erzeugt, der wieder als Eingang an das NAND-Glied 123 angelegt wird. Beide Eingänge zum NAND-Glied 123 sind jetzt auf Eins, so daß sein
Ausgang auf Null geht und das ist das verriegelte Ausgangsbit. ,Die NAND-Glieder 123 und 124 sind über Kreuz gekoppelt und
!halten sich selbst in den in Fig. 14 gezeigten Zuständen,
!wenigstens bis zum nächsten an diese Trigger-Schaltung angelegten Taktimpuls, ungeachtet der eventuell im Wert der
michtverriegelten Ausgangsbits in dieser Zeit auftretenden
BC 976 O26 809844/0774
Änderungen. Eine Verbindung 128 vom Ausgang des NAND-Gliedes
122 zu einem entsprechenden Punkt im NAND-Glied 125, sperrt momentan jede Änderung des Ausganges des NAND-Gliedes 125,
während eine Null durch das NAND-Glied 122 in die Verriegelung gesetzt wird.
Wenn eine Null am Ausgang der Daten-Tore 125 erscheint, wird
sie als Eingang an das Schaltglied 120 angelegt, wodurch dessen
Ausgang nach Darstellung in Fig. 15 eine Eins ist. Das Schaltglied
120 erzeugt somit ein nichtverriegeltes Ausgangsbit von Eins, was als Eingang an das in Fig. 15 gezeigte NAND-Glied
121 angelegt wird. Wenn die Taktleitung gepulst wird, erscheint dieser Einer-Takteingang zum Schaltglied 121, wodurch beide
Eingänge zu diesem Schaltglied einen Einer-Wert haben. Sein Ausgang geht daraufhin auf Null, und diese Null wird als Eingang
an das Schaltglied 123 gegeben, wodurch dieses ein verriegeltes Eins-Ausgangsbit erzeugt. Der Null-Ausgang vom Schaltglied
121 wird außerdem als Eingang an das Schaltglied 122 gegeben, so daß dieses seinen normalen Einer-Ausgang hat, der
das Schaltglied 124 in den Komplementzustand des Schaltgliedes 123 versetzt. Die Schaltglieder 123 und 124 behalten diesen
stabilen Zustand wenigstens bis zum nächsten Taktimpuls bei, trotz aller Änderungen, die inzwischen im Wert des
nichtverriegelten Ausgangsbits auftreten können.
Die obige Beschreibung erklärt die Arbeitsweise der Trigger. Die in Fig. 12 gezeigten NAND-Glieder 130 bis 136 entsprechen
dem Eingangssteuerteil 126 der CSA-Bitpositionen in Fig. 13. Die Schaltglieder 138 bis 144 in Fig. 12 entsprechen den Datenschaltgliedern
125 in Fig. 13. Die NAND-Glieder 145 bis 149 in Fig. 12 bilden eine Summentrigger-Schaltung, die funktionell
der Schaltung aus den Schaltgliedern 120 bis 124 in Fig. 13 eentspricht. Die die NAND-Glieder 150 bis 154 in Fig. 12 umfassende
Übertragstrigger-Schaltung liefert in ähnlicher Weise ein Gegenstück zu den Schaltgliedern 120 bis 124 in Fig. 13.
BC 976 026
809844 / 077
In diesem Zusammenhang soll nicht die ganze in Fig. 12 gezeigte
Schaltung sondern nur bestimmte Schlüsselaktionen und der Zustand aller Datentore und Triggertore beschrieben und
tabellarisch für alle möglichen Kombinationen von Eingangsbits während der verschiedenen Funktionen des CSA (Addieren,
rechts verschieben, links verschieben, Komplementieren) dargestellt werden. Diese Darstellungen bilden zusammen mit
den oben gegebenen Erklärungen eine ausreichende Veröffentlichung der Operationen des Übertrags-Rettungsaddierers.
Addition
Bei Additionsfunktionen kann das F-Register an den CSA angeschaltet
sein. Wenn das F-Register abgetrennt ist, kommt ein Null-Eingang auf der Leitung 44 vom F-Register. Sonst
liefert die Leitung 44 an die CSA-Bitposition N ein Eingangsbit F von der N-ten Stelle des im F-Register gespeicherten
Divisors.
Zur Einleitung einer Addition wird die Steuerleitung 40 erregt und dadurch die NAND-Glieder 131 und 134 zur Erzeugung
von Ausgängen vorbereitet, die das Einer-Komplement des Übertragsbits C1 auf Leitung 42 bzw. des Summenbits Sn auf Leitung
41 darstellen. Die Ausgabe des Schaltgliedes 131 wird
an eine der Verbindungen der negativen verdrahteten ODER-Schaltung (DOT-ODER, Phantom-ODER) 156 angelegt. Bei einem
derartigen Netzwerk ist der Ausgang negativ, wenn ein Eingang negativ ist. Ähnlich wird der Ausgang des Schaltgliedes 134
an eine Verbindung des negativen DOT-ODER-Netzwerkes 158 angelegt. Die beiden Ausgänge der Netzwerke 156 und 158 werden
an das NOR-Glied 139 und an das NAND-Glied 138 angelegt. Wenn die ursprünglichen Summen- und Übertrags-Eingangsbits gleiche
Werte haben, haben bei einer derartigen Schaltung die entsprechenden Ausgänge der Schaltglieder 138 und 139 den Originaleingangswerten
entsprechende gleiche Ausgangswerte. Wenn das Eingangssummenbit und das Eingangsübertragsbit verschiedene
BC976026 809844/077* '
Werte haben, hat das NAND-Glied 138 einen positiven Ausgangswert (1) und das NOR-Glied 139 einen negativen Ausgangswert
(0).
Der Eingang vom F-Register auf der Leitung 44 in Fig. 12 wird
an die Datentore 140, 142 und 144 angelegt, wenn der Inhalt
des F-Registers auf den CSA geschaltet wird. Wenn das F-Register vom CSA getrennt ist, liefert die Leitung 44 Pseudo-Eingänge
von 0 an diese Schaltglieder. Während einer Addition, von der auch der Divisor betroffen ist (d.h. während einer komplementären
Subtraktion), liefert die Leitung 44 auf jede CSA-Bitposition
N das Divisorbit F , das in der entsprechenden Position N des F-Registers steht.
Die Eingangssteuertore 130, 132, 133, 135 und 136 in Fig. 12 spielen während einer Addition eine passive Rolle. Da die verschiedenen
an diese NAND-Glieder angeschlossenen Steuerleitungen im vorliegenden Fall nicht erregt werden, haben diese
NAND-Glieder positive Ausgänge (1). Wenn das Eingabedatenbit, das an eines der aktiven Schaltglieder 131 und 134 angelegt
wird, jedoch eine Eins ist, wird der Ausgang dieses Schaltgliedes negativ (0), so daß die ganze Schaltung 156 oder 158
negativ wird. Somit können die inaktiven Steuertore 130, 132, 133, 135 und 136 die Eingänge nicht beeinflussen, die an die
Additionssteuertore 131 und 134 des NAND-Gliedes 138 und des NOR-Gliedes 139 angelegt werden.
Die nachstehende Tabelle zeigt die betreffenden Ausgänge der Datentore 138 bis 144, der Triggertore 145 bis 154 und der
Schaltglieder 156 und 158 für jede mögliche Bitkombination
von Summeneingang, Übertragseingang und Divisoreingang. Einige i [dieser Zustände werden gezeigt, da sie unter Bedingungen auf- i
treten, die nur beim Anlegen des Taktimpulses an den CSA vor- \
liegen. Mit geringfügigen Änderungen kann mit derselben ' j Tabelle auch die Wirkung der Tore für die anderen CSA-Funktiona;n
BC 976 026 809844/0774
(Rechts- und Linksverschiebung sowie Komplement-Summe) gezeigt werden.
Eingänge zur CSA-Bitposition N Summeneingang Übertragseingang (C
N+1
Divisoreingang (F ) | DOT OR | 156 |
Torausgänge | DOT OR | 158 |
NAND | 138 | |
NOR | 139 | |
NAND | 140 | |
NAND | 141 | |
NAND | 142 | |
NAND | 143 | |
NAND | 144 | |
NAND | 145 | |
NAND | 146 | |
PSN | NAND | 147 |
NAND | 148 | |
NAND | 149 | |
SN | NAND | 150 |
NAND | 151 | |
PCN | NAND | 152 |
NAND | 153 | |
NAND | 154 | |
CN | ||
0 10 10 10 1
0 0 110 0 11 0 0 0 0 1 1 1 1
110 0 110 0 10 10 10 10
0 1110 111 0 0 0 1 0 0 0 1 111110 0 0 1110 1110
11111110 10 0 11111
11110 111
0 110 10 0 1
1 0*0*1 0*1 1 0*
0*1 1 0*1 0*0*1 0 1 10 10 0 1
10 0 10 1 10
0 0 0 10 1 1 1
1 1 1 0*1 0*0*0*
0*0*0*1 0*1 1 1
0 0 0 10 111
1 1 10 10 0 0
Nur zur Taktzeit; sonst 1.
BC 976 026
8098U/07
Die die Summen- und Übertragsausgänge liefernden Verriegelungstore 148, 149, 153 und 154 halten ihre Einstellung nach
Beendigung des Taktimpulses und Abzug der Dateneingänge. Die Triggertore 145 und 150, die die Vorsummen- und Vorübertragsausgänge
liefern, kehren in den Ausgabezustand lauter Nullen zurück, wenn die Dateneingänge abgezogen werden, da
sie keine wertdarstellenden Ausgänge zu halten brauchen, wenn die Vorausschaufunktion einmal ausgeführt wurde. Die Triggertore 146, 147, 151 und 152 kehren in den Ausgabezustand lauter
Einsen zurück, wenn der Taktimpuls endet.
Rechts- und Linksverschiebung sind Spezialadditionen, die sich von der normalen oben beschriebenen Addition nur darin unterscheiden,
daß die Summen- und Übertragseingangsbits von verschiedenen Bitpositionen abgeleitet werden und der Divisoreingang
immer 0 ist (F-Register abgetrennt). Zur Ausführung einer Rechtsverschiebung beispielsweise wird die Steuerleitung
50 erregt und dadurch das NAND-Glied 130 in Fig. 12 zur
Lieferung eines negativen Ausganges (0) vorbereitet, wenn das übertragseingangsbit (in diesem Fall Cn) 1 ist. Wenn Cn 0 ist,
wird ein positiver Ausgang (1) geliefert. Durch Erregung der Steuerleitung 50 wird in ähnlicher Weise das NAND-Glied 133
zur Erzeugung eines Null-Ausganges vorbereitet, wenn das Summeneingangsbit (Sn-1) 1 ist oder umgekehrt. Jedes Null-Ausgangsbit
von den Toren 130 und 133 wird durch die Schaltungen 156 und/oder 158 an das NOR-Glied 139 und/oder NAND-Glied
138 geleitet. Von hier funktionieren die Datentore und Triggertore genauso wie bei der Erzeugung der endgültigen
Ausgabebits für Vorsumme (PSn), Vorübertrag (PCn), Summen (S )
und übertrag (C ) aus der hier betrachteten CSA-Bitposition N.
BC 976 O26 80 9 844/077
Die obige Ausgangswerttabelle gilt auch für eine Rechtsschiebeoperation
unter der Voraussetzung, daß diese Tabelle wie folgt verändert wird:
a) Das Summeneingangsbit ist in diesem Fall S- und nicht Sn
und das Übertragseingangsbit ist C-, und nicht C^+1.
b) Spalten, die eine Eingabebitkombination mit dem Divisorbit (F„) = 1 enthalten, können übergangen werden, da sie für
die hier betrachtete Schiebeoperation nicht zutreffen.
Die durch diese Rechtsschiebung erzeugten Summen- und Übertrangsausgangsbits
werden in die Summen- und Taktverriegelungen geleitet.
Für eine Linksverschiebung wird die Steuerleitung 46 in den
Fign. 6 und 12 erregt und dadurch das NAND-Glied 132 in Fig.
zur Erzeugung eines Null-Ausganges vorbereitet, wenn das Übertragseingangsbit (in diesem Fall CN+?) 1 ist oder eines Eins-Ausganges,
wenn das Übertragseingangsbit 0 ist. Die Erregung der Leitung 46 bereitet auch das NAND-Glied 135 zu einem
Null-Ausgang vor, wenn das Summeneingangsbit (Sn+-) 1 ist
oder sonst zu einem Einer-Ausgang. Jedes Null-Ausgangsbit (d.h. negativer Ausgang) von den Toren 132 und 134 wird durch
die Schaltung 156 und/oder 158 an das NAND-Glied 138 und das NOR-Glied 139 geleitet. Von hier an funktionieren die Datentore
und Triggertore genauso, wie es oben für eine Addition beschrieben wurde, unter der Voraussetzung, daß folgende
Änderungen an der Ausgangstabelle für Additionen vorgenommen werden:
a) Das Summeneingabebit ist in diesem Fall Sn- und nicht Sn
und das Übertragseingangsbit ist C+2 und nicht C-.
b) Spalten mit Eingabekombinationen, die das Divisorbit Fn =
enthalten, sind zu übergehen.
BC 976 O26 8098U/0774
Die durch diese LinksverSchiebung erzeugten Summen- und Übertragsausgangsbits
werden in die Summen- und Übertragsverriegelungen geleitet.
Manchmal braucht man am Ende einer Rechenoperation das Komplement der in den Summenverriegelungen 26 des CSA registrierten
Zahl. In diesem Fall wird die Steuerleitung 56 in den Fign. 6 und 12 erregt und dadurch das NAND-Glied 136 einer jeden CSA-Bitposition
hin zur Abgabe eines Ausgangssignales vorbereitet, das die invertierte Form des komplementären Summenbits Sn ist,
das zu dem Zeitpunkt in der Summenverriegelung 26 N der entsprechenden CSA-Bitposition steht. Dieses komplementäre Summenbit
wird vom Ausgang des Verriegelungstores 149 in Fig. 12, das das Komplement von S speichert, über eine Leitung 160 an
den Summeneingangsanschluß des Tores 136 geleitet. Der Ausgang des Tores 136, der den Wert des Summenbits Sn darstellt,
der dann in der Summenverriegelung gespeichert ist, wird über das bekannte Netzwerk an die Tore 138 und 139 geleitet.
Bei einer Summenkomplementierung gibt es keinen wertdarstellen·*
den Übertragseingang oder Divisoreingang. Da der Übertragseingang 0 ist, ist der Ausgang des Netzwerkes 156 eine Eins. :
Diese wird an die Tore 138 und 139 angelegt, um sie so vorzu- i
bereiten, daß das Tor 138 einen Einer-Ausgang und das Tor 139 ' einen Null-Ausgang erzeugt, wenn der Wert von Sn 0 ist. Wenn
der Wert von Sn 1 ist, erzeugt das Tor 138 einen Null-Ausgang
und das Tor 139 einen Einer-Ausgang. Der schließlich in die Summenverriegelung 26 getaktete Ausgabewert ist somit das
Komplement des Summenbits Sn, das vorher dort gespeichert i
war. ;
BC 976026 809844/0774
Die Ausgänge der Datentore und Triggertore in Fig. 12 können durch die obige Torausgangstabelle bei einer komplementären
Summenfunktion im CSA dargestellt werden, wenn diese Tabelle wie folgt verändert wird:
a) Alle Spalten, in denen der Übertragseingang und/oder Divisor-Eingang
eine Eins enthält, sind zu übergehen.
b) In jeder der übrigen beiden Spalten ist der Summeneingang das Komplement des Summenbit S„, das zu Anfang in der
Summenverriegelung stand.
Während einer Rückstellung wird die Steuerleitung 54 negativ gepulst und daher jedes der UND-Glieder 141, 143, 149 und
in Fig. 12 zur Annahme eines Zustandes veranlaßt, in der es einen positiven Ausgang (1) darstellt, wenn es nicht bereits
in diesem Zustand steht. Solche Vorgänge wiederum veranlassen die NAND-Glieder 148 und 153 zur Annahme ihres Null-Ausgangszustandes,
so daß alle Summen- und Übertragsverriegelungen zurückgestellt sind und außerdem die NAND-Glieder 145 und
in dem Zustand stehen, in dem sie Null-Ausgänge für Vorsumme
und Vorübertrag darstellen.
Das gezeigte Divisionsgerät und sein Übertrags-Rettungsaddierer
haben gegenüber herkömmlichen Geräten folgende Vorteile:
1. Der Teiler benutzt denselben Hochgeschwindigkeits-Übertrags-Rettungsaddierer,
der auch bei Multiplikationen benutzt wird und erübrigt somit die Ausstattung des Prozessors mit
separaten Addierern für Multiplikation und Division.
BC 976 °26 8098U/077A
Der Teiler versucht keine komplementäre Subtraktion in einem Divisionsprozeß auszuführen, wenn nicht hundertprozentig
sicher ist, daß die vorgeschlagene Subtraktion ohne überzug möglich ist.
Die erfolgreiche Ausführung einer vorgeschlagenen Subtraktion wird durch ein logisches Vorausschauverfahren,
das nur wenig Zeit zum Subtraktionszyklus bei tatsächlicher Ausführung der Subtraktion hinzufügt, vorherbestimmt
und spart so die Zeit, die sonst bei einem vergeblichen Subtraktionsversuch vergeudet würde.
Der tibertrags-Rettungsaddierer liefert nicht-verriegelte
Vorsummenbits und Vorübertragsbits für das Vorausschauverfahren und liefert separat verriegelte Summen- und Übertragsbits,
die sich zwischen Taktimpulsen trotz Änderung der Eingabedaten während der Zwischenperiode nicht ändern.
Für alle Funktionen bei einer Division und/oder Multiplikation einschließlich der Addition-Subtraktion, Rechtsverschiebung, Linksverschiebung und der Komplementierung
wird nur ein Übertrags-Rettungsaddierer benutzt und alle diese Funktionen können in eine einheitliche CSA-Schaltungskonfiguration
eingebaut werden.
Eine kompakte CSA-Schaltungskonstruktion läßt sich durch
Verwendung von flankengetriggerten Flip-Flops und Datentoren erreichen, die auf die von den Summen- und Übertrags-Verriegelungen
derselben Trigger gelieferten Summen- und Übertragseingänge zusammen mit einem anderen Dateneingang
zum CSA wie etwa dem Divisor ansprechen und neue Summen- und Übertragsausgänge in besagte Verriegelungen liefern,
sowie neue Vorsummen- und Vorübertragsbits, die nichtverriegelt werden.
Die Eingangstore des CSA sind so ausgelegt, daß Eingangsdaten durch die anderen Tor- und Triggerschaltungen des CSA
entsprechend der jeweils ausgeführten CSA-Funktion
BC 976 O26 809844/0774
(Addition, Rechtsverschiebung, Linksverschiebung, Komplement) geleitet werden. Separate Schiebe- oder Komplementärschaltungen
werden nicht benötigt.
Zur Reduktion der Betriebszeit können durch entsprechende Programmierung hier separat beschriebene Funktionen in einigen
Fällen kombiniert werden. Eine Linksverschiebung kann z.B. mit einer Vorausschauaddition so kombiniert werden,
daß Vorsummen- und Vorübertragsbits, die durch die Linksverschiebung erzeugt werden, direkt in der anschließenden
Vorausschauverschiebung benutzt werden.
976 026 80984 A /07? 4
Claims (1)
- PATENTANSPRÜCHEDivisionseinrichtung mit Übertrags-Rettungsaddierwerk, bei der die Division als Folge von Subtraktionen (Komplementärwert-Addition) durchgeführt wird, dadurch gekennzeichnet, daß eine Vorausschau-Schaltung (32, Fig. 1) vorgesehen ist, der bei jedem Subtraktionsschritt die jeweiligen Halbsumraen- (PS.) und Übertragsbits (PC.) des Addierers (20) zugeführt werden und die ein Freigabesignal (DOK — 1) abgibt, wenn der nächste Subtraktionsschritt ohne überziehen ausgeführt werden kann.2. Divisionseinrichtung nach Anspruch 1, dadurch gekennzeichnet, daß die Vorausschau-Schaltung (32) das Freigabesignal abgibt, wenn folgende logische Beziehung erfüllt ist (Fig. 11):(S0 V C1) · (C0LA2 + C0) + C0LA2 V C0LA3 =1,wobei S = verriegeltes Halbsummenbit der werthöchstenBitposition
C = verriegeltes Übertragsbit der i-ten Bit- :positionCOLA2 = PCqV-K0 , bestimmt bei abgetrenntem Divisorregister (24, Fig. 1), ι COLA3 - PCqVK , bestimmt bei angeschaltetemD ivi sorregi ster PCq = nicht verriegeltes Übertragsbit der wert-ihöchsten BitpositionKq = Übertragsvorausschau für die werthöchste ' j Bitposition.j;3. Divisionseinrichtung nach Anspruch 2, dadurch gekenn- j zeichnet, daß zur Übertragsvorausschau KQ für die wert-höchste.Bitposition die nicht verriegelten Halbsummen-BC 976 026 M„ §009844/0774ORIGINAL INSPECTED(PS ) und Übertragsbits (PC.) gruppenweise zusammengefaßt werden, daß für jede dieser Gruppen logische Schaltungen zur Feststellung der Erzeugung (Fig. 8) und der Weiterleitung (Fig. 9) eines Übertrags vorgesehen sind und daß die in einer Bitgruppe erzeugtenÜbertragssignale jeweils durch ein UND-Glied (87 90,Fig. 10) mit den übertrags-Weiterleitungssignalen der vorhergehenden Bitgruppen verknüpft werden (Fig. 10).4. Divisionseinrichtung nach einem oder mehreren der Ansprüche 1 bis 3, dadurch gekennzeichnet, daß der Übertrags-Rettungsaddierer (CSA 20) in jeder Bitposition einen Übertragstrigger (36, Fig. 6) mit zugehöriger Übertragsverriegelung (28) sowie einen Summentrigger (34) mit zugehöriger Verriegelung (26) aufweist und an seinen Ausgängen verriegelte (Sbzw. C ) und unverriegelte (PS bzw. PC ) Halbsummenn η ηbzw. Übertragsbits abgibt.5. Divisionseinrichtung nach Anspruch 4, dadurch gekennzeichnet, daß der Übertrags-Rettungsaddierer (20) in jeder Bitposition Datentore (25, Fig. 13) und Eingangssteuerungen (126) aufweist, mit denen in Abhängigkeit einer äußeren Datenquelle (Divisor, F-Register 24) Additionen, Links- und Rechtsverschiebungen sowie Komplementbildungen durchgeführt werden.6. Divisionseinrichtung nach Anspruch 5, dadurch gekennzeichnet, daß die verriegelten Ausgangssignale des Übertrags-Rettungsaddlerers an seinen Eingang zurückgeführt werden können.BC976°26 809844/0774
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US05/792,078 US4084254A (en) | 1977-04-28 | 1977-04-28 | Divider using carry save adder with nonperforming lookahead |
Publications (1)
Publication Number | Publication Date |
---|---|
DE2816711A1 true DE2816711A1 (de) | 1978-11-02 |
Family
ID=25155727
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19782816711 Withdrawn DE2816711A1 (de) | 1977-04-28 | 1978-04-18 | Divisionseinrichtung mit uebertrags- rettungsaddierwerk und nicht ausfuehrender vorausschau |
Country Status (7)
Country | Link |
---|---|
US (1) | US4084254A (de) |
JP (1) | JPS53135534A (de) |
BR (1) | BR7802528A (de) |
DE (1) | DE2816711A1 (de) |
FR (1) | FR2389172A1 (de) |
GB (1) | GB1585595A (de) |
IT (1) | IT1109988B (de) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4449196A (en) * | 1979-04-27 | 1984-05-15 | Pritchard Eric K | Data processing system for multi-precision arithmetic |
US4320464A (en) * | 1980-05-05 | 1982-03-16 | Control Data Corporation | Binary divider with carry-save adders |
JPS61166628A (ja) * | 1985-01-18 | 1986-07-28 | Hitachi Ltd | 除算装置 |
US5012439A (en) * | 1986-12-29 | 1991-04-30 | Hughes Aircraft Company | Method and apparatus for performing division |
GB2202974A (en) * | 1987-03-31 | 1988-10-05 | Plessey Co Plc | Digital divider |
US5097436A (en) * | 1990-01-09 | 1992-03-17 | Digital Equipment Corporation | High performance adder using carry predictions |
DE69130621T2 (de) * | 1990-04-02 | 1999-09-09 | Advanced Micro Devices Inc | Schneller digitaler Dividierer |
EP0478731A4 (en) * | 1990-04-04 | 1993-09-22 | International Business Machines Corporation | Early scism alu status determination apparatus |
JPH04172526A (ja) * | 1990-11-07 | 1992-06-19 | Toshiba Corp | 浮動小数点除算器 |
US6116768A (en) * | 1993-11-30 | 2000-09-12 | Texas Instruments Incorporated | Three input arithmetic logic unit with barrel rotator |
US6219688B1 (en) * | 1993-11-30 | 2001-04-17 | Texas Instruments Incorporated | Method, apparatus and system for sum of plural absolute differences |
US6173305B1 (en) * | 1993-11-30 | 2001-01-09 | Texas Instruments Incorporated | Division by iteration employing subtraction and conditional source selection of a prior difference or a left shifted remainder |
US5619441A (en) * | 1994-10-14 | 1997-04-08 | International Business Machines Corporation | High speed dynamic binary incrementer |
JP2000165444A (ja) * | 1998-11-30 | 2000-06-16 | Nec Corp | 光パケットスイッチ |
US7127483B2 (en) * | 2001-12-26 | 2006-10-24 | Hewlett-Packard Development Company, L.P. | Method and system of a microprocessor subtraction-division floating point divider |
US6591286B1 (en) | 2002-01-18 | 2003-07-08 | Neomagic Corp. | Pipelined carry-lookahead generation for a fast incrementer |
US20090094306A1 (en) * | 2007-10-09 | 2009-04-09 | Krishnakalin Gahn W | Cordic rotation angle calculation |
US8239430B2 (en) * | 2007-10-09 | 2012-08-07 | International Business Machines Corporation | Accuracy improvement in CORDIC through precomputation of the error bias |
US8402078B2 (en) * | 2008-02-26 | 2013-03-19 | International Business Machines Corporation | Method, system and computer program product for determining required precision in fixed-point divide operations |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3319057A (en) * | 1965-06-14 | 1967-05-09 | North American Aviation Inc | Parallel division with separate carry storage |
US3378677A (en) * | 1965-10-04 | 1968-04-16 | Ibm | Serial divider |
US3621218A (en) * | 1967-09-29 | 1971-11-16 | Hitachi Ltd | High-speed divider utilizing carry save additions |
DE2007353C3 (de) * | 1970-02-18 | 1973-11-29 | Licentia Patent-Verwaltungs-Gmbh, 6000 Frankfurt | Vierteiliges Addierwerk |
JPS5517424B2 (de) * | 1974-09-05 | 1980-05-12 |
-
1977
- 1977-04-28 US US05/792,078 patent/US4084254A/en not_active Expired - Lifetime
-
1978
- 1978-03-20 GB GB10991/78A patent/GB1585595A/en not_active Expired
- 1978-03-23 FR FR7809181A patent/FR2389172A1/fr active Granted
- 1978-03-24 IT IT21589/78A patent/IT1109988B/it active
- 1978-04-10 JP JP4135878A patent/JPS53135534A/ja active Granted
- 1978-04-18 DE DE19782816711 patent/DE2816711A1/de not_active Withdrawn
- 1978-04-24 BR BR787802528A patent/BR7802528A/pt unknown
Also Published As
Publication number | Publication date |
---|---|
FR2389172A1 (fr) | 1978-11-24 |
JPS5517426B2 (de) | 1980-05-12 |
FR2389172B1 (de) | 1981-07-31 |
IT1109988B (it) | 1985-12-23 |
US4084254A (en) | 1978-04-11 |
IT7821589A0 (it) | 1978-03-24 |
GB1585595A (en) | 1981-03-04 |
BR7802528A (pt) | 1979-02-13 |
JPS53135534A (en) | 1978-11-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2816711A1 (de) | Divisionseinrichtung mit uebertrags- rettungsaddierwerk und nicht ausfuehrender vorausschau | |
DE2616717C2 (de) | Digitales Addierwerk | |
DE1956209C3 (de) | Multipliziervorrichtung | |
DE2658248C2 (de) | ||
DE2246968A1 (de) | Einrichtung zur kombination, insbesondere multiplikation, zweier gleitkommazahlen | |
DE2814078A1 (de) | Addierschaltung mit zeitweiliger zwischenspeicherung des uebertrags | |
DE1549478B1 (de) | Gleitkomma-Rechenwerk zur schnellen Addition oder Subtraktion binaerer Operanden | |
DE2352686B2 (de) | Dezimaler Parallel-Addierer/Substrahierer | |
DE2221693B2 (de) | Schaltungsanordnung zur Ausführung einer Multiplikation zwischen zwei Binärzahlen | |
DE2034841B2 (de) | Matrixanordnung für Digital Rechenanlage | |
DE3447634C2 (de) | ||
DE2207286A1 (de) | Verfahren und Vorrichtung zur rechnerischen Behandlung von Zeitangaben | |
DE2826773A1 (de) | Verfahren und schaltungsanordnung zum feststellen der wertigkeit von ziffern in arithmetischen operationen mit dezimalrechnern | |
DE2746355A1 (de) | Einrichtung und verfahren zur wahlweisen multiplikation oder division zweier als binaerzahlen vorliegender operanden | |
DE2952072C2 (de) | Rechenschaltung zum Addieren oder Subtrahieren binär codierter 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 | |
DE1549461C3 (de) | ||
DE1549449A1 (de) | Einrichtung zur Verarbeitung von Gleitkommazahlen | |
DE1549485A1 (de) | Anordnung zur Division binaerer Operanden | |
DE19635111A1 (de) | Multiplizierer | |
DE2902488C2 (de) | ||
DE1303692C2 (de) | Binaerrechner | |
DE1524117C (de) | Datenverarbeitungsanlage mit Umlaufregistern |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8139 | Disposal/non-payment of the annual fee |