DE3447634C2 - - Google Patents

Info

Publication number
DE3447634C2
DE3447634C2 DE3447634A DE3447634A DE3447634C2 DE 3447634 C2 DE3447634 C2 DE 3447634C2 DE 3447634 A DE3447634 A DE 3447634A DE 3447634 A DE3447634 A DE 3447634A DE 3447634 C2 DE3447634 C2 DE 3447634C2
Authority
DE
Germany
Prior art keywords
csa
stage
carry
full
logic
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.)
Expired
Application number
DE3447634A
Other languages
English (en)
Other versions
DE3447634A1 (de
Inventor
Tetsuya Sakai
Sakou Hadano Kanagawa Jp Ishikawa
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Publication of DE3447634A1 publication Critical patent/DE3447634A1/de
Application granted granted Critical
Publication of DE3447634C2 publication Critical patent/DE3447634C2/de
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/52Multiplying; Dividing
    • G06F7/535Dividing only
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/535Indexing scheme relating to groups G06F7/535 - G06F7/5375
    • G06F2207/5352Non-restoring division not covered by G06F7/5375

Description

Die Erfindung betrifft eine Dividiervorrichtung nach dem Oberbegriff des Patentanspruchs 1.
Bekannte Binärdividierer bilden einen Quotienten Bit für Bit, daß ein Divisor zu einem Dividenden oder einem Teilrest wiederholt ensprechend dem "Non-Restoring"-Algorithmus addiert oder von diesen abgezogen wird.
Eine verbesserte Dividiervorrichtung kann mehrere Quotientenbits in einem Zyklus bilden. Diese Dividiervorrichtung verschiebt einen Teilrest, addiert oder subtrahiert ein geeignetes Vielfaches eines Divisors zu bzw. von dem verschobenen Teilrest und bestimmt aufgrund des sich ergebenden Teilrests mehrere Quotientenbits während die Schiebelänge des Teilrests vorbereitend für die nachfolgende Operation bestimmt wird. Die Nachteile dieser Dividiervorrichtung bestehen darin, daß die Verkürzung der Zykluszeitdauer nur schwer erreichbar ist, da die Schiebelänge vom Ergebnis jeder Addition oder Subtraktion abhängt.
Die japanische Patentschrift Nr. 17 188/1969 schlägt eine Dividiervorrichtung dieser Art vor, die die obengenannten Nachteile vermeiden soll. Dieser verbesserte Dividierer ist dadurch gekennzeichnet, daß zwei Quotientenbits aus den Werten der oberen drei Bits eines Teilrests und eines Divisors mit Verschiebung um eine konstante Länge erhalten werden können. Jedoch benötigt dieser Dividierer die 0, 1/2, 3/4, 1 und 3/2 Vielfachen eines Divisors, wobei unter anderem das 3/2 Vielfache vor Beginn einer Division bereitgestellt werden muß. Außerdem muß vor dem Beginn der Division eine Normalisierung durchgeführt werden, in dem ein Divisor solange verschoben wird, bis in der MSB (Most Significant Bit)-Position, d. h. in der höchstwertigen Bit-Stelle, eine "1" erscheint. Der Dividend muß ebenfalls um dieselbe Bitzahl verschoben werden. Diese verschiedenartigen vorbereitenden Operationen müssen vor dem Start einer Division ausgeführt werden, so daß zur Ausführung der verschiedenartigen Vorverarbeitungsschritte zusätzlich zur eigentlichen Divisionsoperation viel Zeit nötig ist. Außerdem ist eine Wählschaltung nötig, die ein geeignetes Vielfaches eines Divisors entsprechend den Werten eines Teilrests und eines Divisors wählt, was die Anzahl der Hardwarekomponenten erhöht.
Der oben beschriebene, bekannte Dividierer verwendet einen Volladdierer, der auch für verschiedene andere Berechnungen verwendet wird. Deshalb sind mehrere Wählschaltungen und verschiedene Arbeitsregister von einer Dividieroperation betroffen. Deshalb kann die Gesamtverarbeitungszeit für eine Division nicht bis zu einem theoretisch möglichen Wert verringert werden.
Durch die US-PS 43 37 519 ist eine CSA-Volladdierer-Anordnung bekanntgeworden, die in einem einzigen Operationszyklus mehrere Quotientenbits bildet. Im Gegensatz zur vorliegenden Erfindung weist diese eine andere binäre Baumstruktur auf und arbeitet nicht nach dem "Non-Restoring"-Algorithmus.
Es ist Aufgabe der Erfindung, einen verbesserten schnellen Dividierer des Typs, der in einem Zyklus mehrere Quotientenbits bilden kann, ohne Erhöhung der Steuerkomplexität oder des Hardwareaufwands zu schaffen.
Diese Aufgabe wird erfindungsgemäß durch die im Patentanspruch 1 im kennzeichnenden Teil angegebenen Merkmale gelöst. Zweckmäßige Ausgestaltungen und Weiterbildungen der Erfindung sind in den Unteransprüchen angegeben.
Die Erfindung mit ihren Eigenschaften und Vorteilen wird im folgenden anhand bevorzugter Ausführungsbeispiele in Verbindung mit der Zeichnung näher beschrieben. Es zeigt
Fig. 1 ein Blockschaltbild eines Ausführungsbeispiels der Erfindung;
Fig. 2 ein Beispiel eines von dem in Fig. 1 dargestellten Dividierer ausgeführten Dividiervorgangs;
Fig. 3 ein Diagramm, das die Beziehung zwischen den Werten der Quotientenbits und den Eingängen zu der Anfangsstufe des in Fig. 1 dargestellten Dividierers zeigt, und
Fig. 4 ein Diagramm, das die Beziehung zwischen den Werten von Übertragsbits und dem Wert eines Quotientenbits des in Fig. 1 dargestellten Dividierers zeigt.
In Fig. 1 ist ein Ausführungsbeispiel gemäß der Erfindung, das einen Binärdividierer zeigt, der zwei in Form eines zweistufigen binären Baums verbundene CSA-Volladdierer aufweist. Diese Dividiervorrichtung kann zwei Quotientenbits in einem Betriebszyklus bilden. Ihre Betriebsgeschwindigkeit ist so hoch, daß vier Quotientenbits innerhalb einer Zykluszeit eines herkömmlichen Dividierers mit Volladdierer erzeugt werden können.
Bezugsziffern CSAM 1, CSAS 3, CSAA 5 bezeichnen CSA-Volladdierer 1, 3, 5 für binäre Daten einer gewünschten Bitzahl. Der CSAM 1 stellt die Wurzel, der CSAS 3 den einen Ast, der die Subtraktion eines Divisors ausführt und der CSAA 5 den anderen Ast des binären Baums dar. Der CSAA 5 addiert einen Divisor. Es ist an sich bekannt, daß ein CSA-Volladdierer eine Zwischensumme und einen Zwischenübertrag erzeugt. Eine Zwischensumme HSM und ein Zwischenübertrag HCM, die Ausgänge des CSAM 1 sind, werden um eine Bitstelle nach links verschoben und zwei Eingängen der CSAS 3 und CSAA 5 angelegt. Ein Divisor (der des weiteren einfach "DR" genannt wird) wird dem verbleibenden Eingang des CSAA 5 angelegt. Den verbleibenden Eingang des CSAS 3 wird das Einer-Komplement des DR zugeführt, während das LSB (niedrigstwertige Bit) des Eingangs, der die HSM empfängt, auf "1" gesetzt ist. Diese Maßnahmen dienen zur Bildung des Zweier-Komplements des DR für die Subtraktion des DR. Ein Zwischensummenausgang HSS und ein Zwischenübertragsausgang HCS vom CSAS 3 sowie ein Zwischensummenausgang HSA und ein Zwischenübertragsausgang HCA vom CSAA 5 werden alle um ein Bit nach links verschoben und Wählern 8 und 9 angelegt, die vor den Eingängen des CSAM 1 liegen. An den Eingängen des CSAM 1 sind Register X, Y und Z vorgesehen. Nach jedem Schleifendurchlauf werden die Daten in diese Register gesetzt.
Bezugszeichen LACM 2, LACS 4, LACA 6 bezeichnen Übertragslogikschaltungen, die jeweils Überträge CM₀, CS₀ und CA₀ zum MSB (Most Significant Bit), d. h. der höchstwertigen Bitstelle und jeweils Überträge CM₁, CS₁, CA₁ zu der Bitstelle, die dem MSB folgt (die weiterhin als "NSB" bezeichnet wird) erzeugen, die auftreten würden, falls die jeweiligen zwei Ausgänge vom CSAM 1, CSAS 3, CSAA 5, das ist eine Zwischensumme und ein Zwischenübertrag, volladdiert würden.
Die Bezugsziffer FA 7 bezeichnet einen Volladdierer, der einen Rest im letzten Schritt der Berechnung bestimmt. Er empfängt die unverschobenen Ausgänge HSM und HCM vom CSAM 1.
Wähler 8, 9, 10 und 11 dienen zur Auswahl der Eingangsdaten, die dem CSAM 1 eingespeist werden. Der Wähler 8 wählt den Ausgang HSS vom CSAS 3, den Ausgang HSA vom CSAA 5 oder einen Dividenden (der weiterhin abgekürzt mit "DD" bezeichnet wird). Der Wähler 9 wählt den Ausgang HCS vom CSAS 3, den Ausgang HCA vom CSAA 5 oder einen Festwert (0). Der Wähler 10 wählt DR oder das Einer-Komplement vom DR. Der Wähler 11 wählt "0" oder "1" als einen Wert vom LSB, d. h. von der niedrigsten Bitstelle eines Eingangs zum Register Y, je nachdem, ob DR oder dessen Einer-Komplement vom Wähler 10 gewählt werden. Diese Wahl bestimmt die Ausführung der Addition vom DR oder die Subtraktion vom DR (Addition des Zweier-Komplements). Die Wähler 8, 9 werden abhängig von einem Quotientenbitausgang der CSAM-Stufe im vorangehenden Betriebszyklus gesteuert. Die Zähler 10, 11 werden abhängig von einem Quotientenbitausgang der CSAS-Stufe oder CSAA-Stufe im vorangehenden Betriebszyklus gesteuert. Eine Wählersteuerlogik 35 für diese Wähler wird weiter unten genauer beschrieben. Zu Beginn der Divisionsoperation wählen jedoch die Wähler 8, 9, 10 und 11 jeweils DD, einen Festwert (0), das Einer-Komplement vom DR und einen LSB-Wert "1".
Die Quotienten-Bestimmungslogik 36 ermittelt einen Quotientenbitausgang von jeder Stufe. Die Einzelheiten dieser Logik werden später beschrieben. Allgemein haben drei Eingänge A, B, C einen Zwischensummenausgang HS und einen Zwischenübertragsausgang HC eines CSA, ein Übertrag C₀ zum MSB und ein Übertrag C₁ zum NSB, die von der Übertragslogik erzeugt werden, folgende Beziehung, falls jeder Ausgang aus 64 Bits besteht:
A0 A1 . . . A63
B0 B1 . . . B63
C0 C1 . . . C63
HS0HS1 . . . HS62HS63
+HC0HC1HC2 . . . HC63
Darin sind:
HSi=Ai⊕Bi⊕Ci
HCi=(Ai · Bi)+(Bi · Ci)+(Ci ×Ai)
i=0, 1, 2, . . . 63
"⊕: Exclusiv ODER
".": UND
"+": ODER
FS= Endsumme von HS und HC
C₁=HS₁ · HC₂
+(HS₁+HC₂) · HS₂ · HC₃
+(HS₁+HC₂) · (HS₂+HC₃) · HS₃ · HC₄
+ . . .
+(HS₁+HC₂) · (HS₂+HC₃) · . . .
· (HS61+HC62) · HS62HC63
C₀=HS₀ · HC₁
+(HS₀+HC₁) · C₁
Weiterhin ist wichtig, daß, weil HC ein Übertrag von jeder Bitposition ist, der bezüglich HS das Gewicht von 2¹ hat, HC um ein Bit nach links verschoben wird, wenn HC und HS volladdiert werden.
Der Betrieb des in Fig. 1 dargestellten Dividierers wird nun anhand der Fig. 2 erläutert, bei der als Beispiel die Festkommadivision (00001111) : (0110) behandelt wird, wobei die Verarbeitungsbreite des CSA-Volladdierers 8 Bit betragen soll.
Zu Beginn der Berechnung werden den drei Eingängen X, Y, Z des CSAM 1 je der DD 13, ein Festwert (1) (ein Festwert (0) vom Wähler 9 plus das LSB "1" vom Wähler 11) 14 und (das Einer-Komplement vom DR) 15 zugeführt und DR wird vom DD subtrahiert. Vor der Subtraktion wird DR an eine Position, die der oberen Hälfte vom DD entspricht, geschoben (siehe Bezugsziffer 12). Die Subtraktion erzeugt Ausgänge HSM 16 und HCM 17. Daraufhin erzeugt die LACM Logik 2 einen Übertrag CM₀ 18 zum MSB und einen Übertrag CM₁ 19 zum NSB. Während der Ermittlung des CM₀ 18 und CM₁ 19 werden HSM 16 und HCM 17 um ein Bit nach links verschoben und sowohl zum CSAS 3 als auch zum CSAA 5 gesendet (siehe Teile 20 und 21). Im CSAA 5, der den DR 24 als auch die nach links verschobenen HSM und HCM 22 und 23 erhält, wird der DR addiert . Im CSAS 3, das den um ein Bit nach links verschobenen Wert HSM 25, den um eine Bitstelle nach links verschobenen Wert HCM 26, dessen LSB auf "1" gesetzt ist und das Einer-Komplement vom DR 27 erhält, wird der DR subtrahiert. In der Zwischenzeit werden die Ausgänge der Glieder LACS 4 und LACA 6 gesetzt und beenden den ersten Operationszyklus. An diesem Punkt ist ein Quotientenbit 28 der vorherigen Stufe, das ist die CSAM-Stufe "0", und folglich wird ein Quotientenbit vom Additionszweig nach dem "Non-Restore"-Algorithmus als ein Quotientenbit von der letzteren Stufe und somit ein Quotientenbit 29, das ist "0" von der CSAA-Stufe gewählt. Auf diese Weise werden zwei Quotientenbits 28 und 29 bestimmt. Die die Quotientenbits bestimmende Logik wird später genauer beschrieben.
Im zweiten Operationszyklus werden die Wähler 8, 9, 10 und 11 gemäß den Werten der im ersten Operationszyklus bestimmten Quotientenbits gesteuert. Fig. 3 zeigt die abhängig von den Werten der Quotientenbits ausgewählten Daten, die dem CSAM 1 zugeführt werden. Wenn das Quotientenbit D₁ der vorherigen Stufe im vorangehenden Operationszyklus "0" ist, werden die HSA- und HCA-Ausgänge vom CSAA 5 als X- und Y-Eingänge für den CSAM 1 gewählt, und wenn D₁ "1" ist, werden die Ausgänge HSS und HCS vom CSAS 3 als dieselben Eingänge gewählt. Wenn das Quotientenbit D₂ von der letzteren Stufe im vorhergehenden Operationszyklus "0" ist, wird der DR als Z-Eingang für die Addition vom DR gewählt. Wenn jedoch D₂ "1" ist, wird das Einer-Komplement vom DR als Z-Eingang gewählt und eine "1" als das LSB des Y-Eingangs, so daß das Zweier-Komplement vom DR für die Subtraktion des DR gebildet wird. Die Wählersteuerlogik 35, die in Fig. 1 gezeigt ist, steuert die Wähler 8, 9, 10 und 11 entsprechend der in Fig. 3 gezeigten Beziehung. Bei dem in Fig. 2 beschriebenen Rechenbeispiel werden, da die Quotientenbits im ersten Operationszyklus "00" sind, die Werte HSA und HCA, wie die Pfeile 30 und 31 zeigen, und der Wert DR 32, gewählt.
Die Operationen der CSAS 3 und CSAA 5 im zweiten Operationszyklus sind dieselben wie im ersten Operationszyklus. Folglich werden die gleichen Operationen im zweiten Operationszyklus wiederholt, bis die Schleife n-mal (2mal im vorliegenden Beispiel) durchlaufen ist und schließlich beendet, wenn die vom CSAS 1 erhaltenen Werte HSM und HCM vom Volladdierer FA 7 zur Berechnung des Rests gemäß Bezugsziffer 33 volladdiert wurden.
Es muß hinzugefügt werden, daß, da die Division bei diesem Dividierer entsprechend dem "Non-Restore"-Algorithmus durchgeführt wird, wenn das LSB des Quotienten "0" wird, der Rest durch eine zusätzliche Addition vom DR zur Vollsumme der Werte HSM und HCM korrigiert werden muß. Bei dem in Fig. 2 gezeigten Rechenbeispiel ist das LSB des Quotienten von der CSAM-Stufe, nachdem die Operation die Schleife zweimal durchlaufen hat, "0". Demgemäß wird der Rest korrigiert (siehe Bezugsziffer 34). Diese Korrektur wird durch einen geeigneten (nicht gezeigten) Volladdierer ausgeführt. Als Alternative kann auch der Volladdierer FA 7 für die Korrektur des Rest durch Umschalten seiner Eingänge verwendet werden.
Im folgenden wird die Bestimmung eines Quotientenbits beschrieben. Da dieser Dividierer im wesentlichen gemäß dem "Non-Restore"-Algorithmus arbeitet, muß die Bestimmung jedes Quotientenbits abhängig davon erfolgen, ob das Subtraktions- oder Additionsergebnis positiv oder negativ ist, in anderen Worten, ob von der MSB-Position während einer normalen Volladdition ein Übertrag auftritt oder nicht. Jedoch müssen bei diesem Dividierer zusätzlich zu einem normalen Übertrag in der in Betrieb befindlichen Stufe das MSB eines Zwischenübertrags in der im Betrieb befindlichen Stufe und ein Übertrag zum NSB, der während der Volladdition einer Zwischensumme und eines Zwischenübertrags in der vorangehenden Stufe auftritt, berücksichtigt werden. Der Grund dafür ist, daß ein Übertrag, der sich fortgepflanzt hätte und im Falle der Ausführung einer Volladdition herausgeschoben wäre, latent in einer Zwischensumme und einem Zwischenübertrag enthalten ist, die von der vorangehenden Stufe gesendet sind. Weil solch ein latenter Übertrag auftreten kann, muß entschieden werden, ob ein in der gerade in Betrieb befindlichen Stufe erzeugter Übertrag ein solcher ist, der ein echtes Quotientenbit beeinflußt oder ob kein anderer als ein latenter Übertrag von der vorangehenden Stufe erzeugt wurde.
Fig. 4 zeigt eine Quotienten-Bestimmungslogik. Ein "1"-Übertrag der zum NSB während der Volladdition einer Zwischensumme und eines Zwischenübertrags der vorangehenden Stufe erzeugt ist (von der Übertragslogik erhalten) weist auf die Existenz eines latenten Übertrags hin C₀* und HC₀* sollen jeweils einen Übertrag zum MSB während der Volladdition einer Zwischensumme und eines Zwischenübertrags (nämlich des MSB eines Ausgangs von der Übertragslogik) und das MSB eines Zwischenübertrags in der betriebenen Stufe darstellen. C₁ soll einen Übertrag zum NSB während der Volladdition einer Zwischensumme und eines Zwischenübertrags in der vorangehenden Stufe (nämlich ein dem MSB eines Ausgangs der Übertragslogik folgenden Bits) darstellen. Falls C₁=0, dann ist entweder C₀* oder HC₀* ein Übertrag, der ein Quotientenbit beeinflußt. Es ist jedoch nicht möglich, daß in der betriebenen Stufe, wenn C₁=0 sowohl C₀* als auch HC₀* "1" sind. Folglich gibt es keinen Fall [C₀*=1 & HC₀*=1], wenn C₁=0 ist. Andererseits tritt ein latenter Übertrag allein nur auf, wenn [C₀*=1 & HC₀*=0] oder, wenn [C₀*=0 & HC₀*=1], wenn C₁=1 ist. Im ersten Fall wird ein Übertrag auch im latenten Zustand von der betriebenen Stufe zur folgenden Stufe übertragen. Im letzteren Fall wird ein latenter Übertrag in der betriebenen Stufe selbst offenbart. Falls weiterhin C₁=1 und [C₀*=1 & HC₀*=1] sind, ist angezeigt, daß sowohl ein latenter Übertrag von der vorangehenden Stufe als auch ein auf einen Quotienten einwirkender Übertrag auftreten. Es ist jedoch nicht möglich, daß in allen betriebenen Stufen kein Übertrag auftritt, wenn C₁=1 ist. Demgemäß gibt es die Möglichkeit [C₀*=0 & HC₀*=0] nicht, wenn C₁=1 ist. Die obigen Zusammenhänge können dahingehend zusammengefaßt werden, daß ein Quotientenbit D der betriebenen Stufe durch die Gleichung
D=₁ · (C₀*+HC₀*) + C₁ · C₀* · HC₀*
ausgedrückt werden kann.
Die Quotienten-Bestimmungslogik 36 in Fig. 1 bestimmt Quotientenbitausgänge von den jeweiligen Stufen (D₁ und D₂ in Fig. 3) entsprechend der in Fig. 4 gezeigten Beziehung oder der obenangeführten Gleichung.
Die obige Beschreibung macht deutlich, daß aufgrund der Erfindung tatsächlich keine Volladdition zur Bestimmung eines Quotienten mehr nötig ist, sondern daß nur ein Übertrag bestimmt werden muß, der im Fall der Volladdition auftreten würde. Der CSA-Volladdierer kann durch eine einstufige Logik realisiert werden, so daß der größere Teil der Operationszeit für die Bestimmung eines Übertrags in der Übertragslogik ergeht. Es sei angenommen, daß die zur Ausführung einer normalen Volladdition benötigte Zeit eine Zykluszeit beträgt. Es ist möglich, daß ein bloßer Übertrag innerhalb einer halben Zykluszeit bestimmt ist. Wenn, wie die Erfindung lehrt, ein binärer Baum verwendet wird, verzögert sich der Beginn der Operationen des LACA und LACS in der letzten Stufe bezüglich der Operation des LACM in der vorhergehenden Stufe lediglich durch die Operationszeit des CSAA oder CSAS. Deshalb sind alle Ausgänge der LACM, LACA, LACS innerhalb einer Zeitdauer erhältlich, die im wesentlichen gleich einer Operationszeit einer Übertragslogik ist. Das heißt, daß zwei Quotientenbits innerhalb einer halben Zykluszeit eines herkömmlichen Dividierers, der einen Volladdierer benützt, erhalten werden können. Deshalb kann man einen Dividierer ausbilden, der vier Quotientenbits innerhalb einer Zykluszeit ermittelt, der die Ausführung einer Divisionsoperation innerhalb einer Zeitdauer ermöglicht, die nur halb so groß ist, wie die Zeitdauer, die der in der zuvor genannten japanischen Patentschrift No. 17 188/1969 benötigt.
Die obengenannte Ausführungsform hat den einfachsten Aufbau, da sie zweistufig ist. Sie kann leicht in eine dreistufige Version durch Verbindung der jeweiligen Ausgänge der CSAS 3 und CSAA 5 mit jeweils zwei anderen CSA-Volladdierern erweitert werden. Der sich ergebende Dividierer kann drei Quotientenbits in einem Zyklus ermitteln. Das bedeutet, daß dieser Dividierer in der Zykluszeit eines herkömmlichen Dividierers mit Volladdierer sechs Quotientenbits ermitteln kann. Falls der binäre Baum noch mehr in der gleichen Weise erweitert wird, ergibt sich ein Dividierer, der noch mehr Quotientenbits in einem Zyklus ermittelt.
Die erfindungsgemäße Dividiervorrichtung bestimmt gemäß der obigen Beschreibung mehrere Quotientenbits innerhalb einer Zeitdauer, die zur Bestimmung lediglich eines Übertrags nötig ist, der im Falle einer Volladdition auftreten würde. Darüber hinaus benötigt der erfindungsgemäße Dividierer keine Vorverarbeitung, wie Normalisierungsoperationen und keine Operationen um Vielfache eines Divisors zu erzeugen. Der Vorteil liegt somit gemäß der Erfindung darin, daß eine sehr schnelle Division ohne bemerkenswerte Erhöhung weder der Komplexität der Steuerung noch des Hardware-Aufwandes ermöglicht ist.

Claims (6)

1. Dividiervorrichtung zur Bildung von mehreren (binären) Quotientenbits während eines einzigen Operationszyklus mit
  • - mehreren CSA-Volladdierern, von denen jeder eine Zwischensumme und einen Zwischenübertrag ausgibt, und die in mehreren Stufen so miteinander verbunden sind, daß sie einen binären Baum bilden, und
  • - einer Wählerlogik zur Ansteuerung der ersten Stufe,
dadurch gekennzeichnet,
daß die CSA-Volladdierer (1, 3, 5) in einem binären Baum miteinander verbunden sind, dessen erste Stufe einen einzigen CSA-Volladdierer (1) aufweist, der sowohl zur Subtraktion als auch zur Addition des Divisors ausgebildet ist,
daß die Ausgänge jedes CSA-Volladdierers (z. B. 1) in jeder Stufe, mit Ausnahme der letzten, gemeinsam einem anderen Paar von CSA-Volladdierern (z. B. 3, 5) in dessen nachfolgender Stufe zugeführt werden, wobei einer von diesem Paar (z. B. 3) zur Subtraktion und der andere (z. B. 5) zur Addition des Divisors ausgebildet ist,
daß jeder dieser CSA-Volladdierer (1, 3, 5) mit einer Übertragslogik (2, 4, 6) verbunden ist zur Bildung eines Übertrags, der bei der Volladdition der Zwischensumme und des Zwischenübertrags des zugeordneten CSA-Volladdierers auftreten könnte,
daß eine Quotienten-Bestimmungslogik (36) vorgesehen ist, mittels derer ein Quotientenbit in jeder Stufe ausgegeben wird aufgrund der Ausgangssignale des CSA-Volladdierers und der Übertragungslogik (2, 4, 6) in der betreffenden Stufe und der Übertragslogik (z. B. 2) in der vorhergehenden Stufe, und
daß eine Wählersteuerlogik (8, 9, 10; 35) die Ausgangssignale eines der CSA-Volladdierer (z. B. 3, 5) der letzten Stufe und entweder den Divisor oder dessen Komplementärwert auswählt aufgrund des Quotientenbit-Ausgangssignals der betreffenden Stufe und diese dem CSA-Volladdierer (1) der ersten Stufe zuführt, wobei die Quotientenbits in den betreffenden Stufen entsprechend dem "Non-Restoring"-Algorithmus gebildet werden.
2. Dividiervorrichtung nach Anspruch 1, dadurch gekennzeichnet, daß die Quotienten-Bestimmungslogik (36) abhängig vom höchstwertigen Bit eines Zwischenübertrags des in der jeweiligen Stufe befindlichen CSA-Volladdierers, von einem Übertrag zum höchstwertigen Bit, den die Übertragslogik (2, 4, 6) derselben Stufe erzeugt und von einem Übertrag zu einem Bit nach dem höchstwertigen Bit, den die Übertragslogik (z. B. 2) der vorangehenden Stufe ausgibt, arbeitet.
3. Dividiervorrichtung nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß die Wählersteuerlogik (8, 9, 10; 35) einen Dividenden und den Komplementärwert des Divisors den Eingängen des CSA-Volladdierers (1) in der ersten Stufe zuführt.
4. Dividiervorrichtung nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, daß die Vorrichtung außerdem einen Volladdierer (7) zur Berechnung eines Dividendenrestes aufweist.
5. Dividiervorrichtung nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet,
daß die Ausgänge jedes CSA-Volladdierers (z. B. 1), mit Ausnahme derer in der letzten Stufe, um eine Bitstelle nach links verschoben werden, wenn diese dem nachfolgenden Paar von CSA-Volladdierern (z. B. 3, 5) zugeführt werden und
daß die Wählersteuerlogik (8, 9, 10; 35) die Ausgänge des ausgewählten CSA-Volladdierers (z. B. 3 oder 5) mit einer Linksverschiebung um eine Bitstelle dem CSA-Volladdierer (1) in der ersten Stufe zuführt.
DE19843447634 1983-12-28 1984-12-28 Dividiervorrichtung Granted DE3447634A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP58245490A JPS60140428A (ja) 1983-12-28 1983-12-28 除算装置

Publications (2)

Publication Number Publication Date
DE3447634A1 DE3447634A1 (de) 1985-07-18
DE3447634C2 true DE3447634C2 (de) 1988-02-04

Family

ID=17134431

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19843447634 Granted DE3447634A1 (de) 1983-12-28 1984-12-28 Dividiervorrichtung

Country Status (3)

Country Link
US (1) US4754422A (de)
JP (1) JPS60140428A (de)
DE (1) DE3447634A1 (de)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0786826B2 (ja) * 1988-07-19 1995-09-20 日本電気株式会社 整数除算回路
JPH02239325A (ja) * 1989-03-14 1990-09-21 Fuji Xerox Co Ltd 除算回路
US4941120A (en) * 1989-04-17 1990-07-10 International Business Machines Corporation Floating point normalization and rounding prediction circuit
JPH0731592B2 (ja) * 1990-11-29 1995-04-10 株式会社東芝 除算回路
JP2541758B2 (ja) * 1993-06-02 1996-10-09 日本電気株式会社 剰余算出回路
US5754460A (en) * 1995-05-26 1998-05-19 National Semiconductor Corporation Method for performing signed division
US5771366A (en) * 1995-06-09 1998-06-23 International Business Machines Corporation Method and system for interchanging operands during complex instruction execution in a data processing system
US7177421B2 (en) * 2000-04-13 2007-02-13 Broadcom Corporation Authentication engine architecture and method
JP4042364B2 (ja) * 2001-07-27 2008-02-06 日本電気株式会社 アドレス生成回路、選択判断回路
JP4388543B2 (ja) * 2006-12-14 2009-12-24 株式会社日立製作所 3項入力の浮動小数点加減算器
JP6854261B2 (ja) * 2018-06-22 2021-04-07 矢崎総業株式会社 グロメット

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3234367A (en) * 1962-11-05 1966-02-08 Ibm Quotient guess divider
US3873820A (en) * 1974-01-31 1975-03-25 Ibm Apparatus for checking partial products in iterative multiply operations
JPS55103642A (en) * 1979-02-01 1980-08-08 Tetsunori Nishimoto Division unit
JPS57172444A (en) * 1981-04-15 1982-10-23 Hitachi Ltd Approximate quotient correcting circuit
US4549280A (en) * 1982-12-20 1985-10-22 Sperry Corporation Apparatus for creating a multiplication pipeline of arbitrary size

Also Published As

Publication number Publication date
US4754422A (en) 1988-06-28
JPS60140428A (ja) 1985-07-25
JPH0317132B2 (de) 1991-03-07
DE3447634A1 (de) 1985-07-18

Similar Documents

Publication Publication Date Title
DE1956209C3 (de) Multipliziervorrichtung
EP0123921B1 (de) Parallelverknüpfungsschaltung mit verkürztem Übertragsdurchlauf
DE2246968A1 (de) Einrichtung zur kombination, insbesondere multiplikation, zweier gleitkommazahlen
DE2658248C2 (de)
DE19758079A1 (de) Verfahren und Vorrichtung zur Galoisfeld-Multiplikation
DE2018452A1 (de) Arithmetische Einrichtung
DE1549476B2 (de) Anordnung zur ausfuehrung von divisionen
DE1162111B (de) Gleitkomma-Recheneinrichtung
DE3447634C2 (de)
DE1549477B1 (de) Einrichtung zur schnellen akkumulation einer anzahl mehr stelliger binaerer operanden
DE2221693C3 (de) Schaltungsanordnung zur Ausführung einer Multiplikation zwischen zwei Binärzahlen
DE2816711A1 (de) Divisionseinrichtung mit uebertrags- rettungsaddierwerk und nicht ausfuehrender vorausschau
DE2758130C2 (de) Binärer und dezimaler Hochgeschwindigkeitsaddierer
DE2063199B2 (de) Einrichtung zur Ausführung logischer Funktionen
DE4101004A1 (de) Paralleler multiplizierer mit sprungfeld und modifiziertem wallac-baum
DE2729912A1 (de) Digitale signalverarbeitungsanordnung
DE3447729A1 (de) Verfahren und vorrichtung zur dezimal-multiplikation
DE3424078C2 (de)
DE3440680A1 (de) Verfahren und vorrichtung zur dezimaldivision
DE19635114A1 (de) Multiplizierer
DE2039228A1 (de) Verfahren und Vorrichtung zum Konvertieren und Stellenwert-Verschieben von Zahlsignalen unterschiedlicher Codes in einer Datenverarbeitungsanlage
DE1449564C3 (de) Recheneinrichtung zur Subtraktion mehrerer Operanden oder zu deren Addition durch Verwendung von Komplementärwerten eines der Operanden
DE1126163B (de) Verfahren und Vorrichtung zur Multiplikation
DE19635113A1 (de) Multiplizierer
DE10200133A1 (de) Verfahren und Vorrichtung zur Berechnung von Modulo-Operationen

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
D2 Grant after examination
8364 No opposition during term of opposition