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
Links
- 230000000295 complement effect Effects 0.000 claims description 11
- 230000005540 biological transmission Effects 0.000 claims 1
- 101000637835 Homo sapiens Serum amyloid A-4 protein Proteins 0.000 description 17
- 102100032016 Serum amyloid A-4 protein Human genes 0.000 description 17
- 238000004364 calculation method Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 3
- 102100034319 Long-chain-fatty-acid-CoA ligase 4 Human genes 0.000 description 2
- 101710159337 Long-chain-fatty-acid-CoA ligase 4 Proteins 0.000 description 2
- 238000010606 normalization Methods 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/52—Multiplying; Dividing
- G06F7/535—Dividing only
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/535—Indexing scheme relating to groups G06F7/535 - G06F7/5375
- G06F2207/5352—Non-restoring division not covered by G06F7/5375
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
B0 B1 . . . B63
C0 C1 . . . C63
HS0HS1 . . . HS62HS63
+HC0HC1HC2 . . . HC63
+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₁
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.
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.
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.
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)
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)
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 |
-
1983
- 1983-12-28 JP JP58245490A patent/JPS60140428A/ja active Granted
-
1984
- 1984-12-27 US US06/686,657 patent/US4754422A/en not_active Expired - Lifetime
- 1984-12-28 DE DE19843447634 patent/DE3447634A1/de active Granted
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 |