DE3447634A1 - Dividiervorrichtung - Google Patents
DividiervorrichtungInfo
- Publication number
- DE3447634A1 DE3447634A1 DE19843447634 DE3447634A DE3447634A1 DE 3447634 A1 DE3447634 A1 DE 3447634A1 DE 19843447634 DE19843447634 DE 19843447634 DE 3447634 A DE3447634 A DE 3447634A DE 3447634 A1 DE3447634 A1 DE 3447634A1
- Authority
- DE
- Germany
- Prior art keywords
- carry
- adder
- quotient
- stage
- divisor
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 230000000295 complement effect Effects 0.000 claims description 13
- 230000001419 dependent effect Effects 0.000 claims description 7
- 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 6
- 238000010586 diagram Methods 0.000 description 3
- 238000007781 pre-processing 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
- 238000002360 preparation method Methods 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 238000004904 shortening Methods 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
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
HITACHI, LTD., Tokyo
Japan
Japan
Die Erfindung betrifft eine schnelle Dividiervorrichtung für Digitalrechner.
Ein üblicher Grund-Binärdividierer erzeugt einen Quotienten Bit für Bit, während ein Divisor zu einem Dividend oder einem
Teilrest wiederholt entsprechend dem Nichtwiederspeicheralgorithmus
addiert oder abgezogen wird.
Eine verbesserte Dividiervorrichtung kann mehrere Quotientenbits in einem Zyklus erzeugen. Diese Dividiervorrichtung
verschiebt einen Teilrest, addiert oder subtrahiert ein geeig-
680-348301280/AtAl
netes 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. 17188/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 Teilsrest 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 Vereinheitlichung durchgeführt werden, in dem ein Divisor solange verschoben wird, bis in der MSB
(Most !Significant Mt) -Position 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 be-
troffen. Deshalb kann die Gesamtverarbeitungszeit für eine Division nicht bis zu dem theoretisch ermittelten Wert verringert
werden.
Es ist deshalb Aufgabe der Erfindung, einen verbesserten schnellen
Dividierer des Typs der in einem Zyklus mehrere Quotientenbits erzeugen kann, insbesondere ohne Erhöhung der Steuerkomplexität
oder des Hardwareaufwands zu ermöglichen, der keinerlei Vorverarbeitung, wie Vereinheitlichung und Aufbereitung
von Vielfachen eines Divisors benötigt. Dabei soll die Verarbeitungszeit des Dividierers bei der Erzeugung mehrerer
Quotientenbits im wesentlichen auf die Zeit,die zur Berechnung eines Übertrags im Falle einer Volladdition nötig ist, verringert
werden.
Zur Lösung der obigen Aufgabe weist der erfindungsgemäße Dividierer
mehrere Übertragssicherstellungsaddierer (carry save adder CSA),
die in mehreren Stufen als binärer Raum miteinander verbunden sind. Das heißt, daß die Ausgänge jedes der Übertragssicherstellungsaddierer
(im folgenden CSA genannt) mit Ausnahme des CSA der letzten Stufe mit den Eingängen zweier CSA's der
folgenden Stufe zusammengeschaltet sind. Der an der Wurzel des binären Baums befindliche CSA ist so angeordnet, daß wahlweise
ein Divisor addiert oder subtrahiert werden kann. Der in einem Ast der zwei von jedem Verzweigungspunkt abzweigenden Äste befindliche
CSA ist so angeordnet, daß ein Divisor addiert wird, während der im anderen Ast angeordnete CSA so angeordnet ist,
daß ein Divisor subtrahiert wird. Mit jedem CSA ist eine Übertragvorgriffschaltung
(carry look ahead) verbunden. Diese Schaltung erzeugt einen Übertrag, der auftreten würde, falls die Volladdition
einer Halbsumme und eines Halbübertrags vom zugehörigen CSA ausgeführt worden wäre. Ein Quotientenbitausgang jeder Stufe
wird abhängig von Ausgängen der CSA und der Übertragvorgriffsschaltung
derselben Stufe sowie einem Ausgang der Übertragvorgriffsschaltung
der vorangehenden Stufe bestimmt. Die Ausgänge eines
der CSA's der letzten Stufe und entweder ein Divisor oder dessen Komplement werden abhängig von Quotientenbitausgängen
jeweiliger Stufen gewählt und den Eingängen des CSA's in der ersten Stufe, der sich an der Wurzel des binären Baums befindet,
eingespeist.
Die Erfindung mit ihren Eigenschaften und Vorteilen wird im folgenden
anhand bevorzugter Ausführungsbeispiele in Verbindung
mit der Zeichnung näher beschrieben. Es zeigen:
Fig. 1 ein Blockschaltbild eines Ausführungsbeispiels der
Erfindung;
Fig. 2 ein Beispiel eines von dem in Figur 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 Figur 1 dargestellten Dividierers zeigt,
und
Fig. 4 ein Diagramm, das die Beziehung zwischen den Werten von Übertragsbits und dem Wert eines Quotientenbits
des in Figur 1 dargestellten Dividierers zeigt.
In Figur 1 ist ein Ausführungsbeispiel gemäß der Erfindung, das einen Binärdividierer zeigt, der zwei in Form eines zweistufigen
binären Baums verbundene CSA's aufweist. Diese Dividiervorrichtung kann zwei Quotientenbits in einem Betriebszyklus erzeugen. Ihre Betriebsgeschwindigkeit ist so hoch, daß
vier Quotientenbits innerhalb einer Zykluszeit eines herkömmlichen Dividierers mit Volladdierer erzeugt werden können.
Bezugsziffern CSAM1, CSAS 3, CSAA 5 bezeichnen CSA für binäre
Daten einer gewünschten Bitzahl. Der CSAM 1 stellt die Wurzel,
der CSAS 3 den einen AStx 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 eine Halbsumme, das heißt eine Summe, bei der alle Überträge ignoriert werden und einen Halbübertrag, das heißt
einen Übertrag unabhängig für die jeweiligen Stellen erzeugt. Eine Halbsumme HSM und eine Halbü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 Halbsummenausgang HSS und ein Halbübertragsausgang HCS vom CSAS 3 sowie ein Halbsummenausgang HSA und ein Halbü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 Übertragvorgriffslogikschaltungen,
die jeweils Überträge CM„, CSQ und CAß zum
MSB (Most Significant Bit) und jeweils Überträge CM1 , CS.,
CA. zu der Bitstelle, die dein 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 Halbsumme und ein Halbübertrag der Volladdition unterworfen 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 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 Steuerlogik 35 für diese Wähler wird weiter unter genauer beschrieben. Zu Beginn
der Divisionsoperation wählen jedoch die Wähler 8, 9, 10 und jeweils DD, einen Festwert (0), das Einerkomplement vom DR
und einen LSB-Wert "1".
Die Quotientenbestimmungslogik 36 ermittelt einen Quotientenbitausgang
von jeder Stufe. Die Einzelheiten dieser Logik werden später beschrieben. Allgemein haben drei Eingänge A, B,C,
ein Halbsummenausgang HS und ein Halbübertragsausgang HC eines CSA, ein Übertrag CQ zum MSB und ein Übertrag C1 zum
NSB, die von der Übertragsvorgriffsschaltung erzeugt werden,
folgende Beziehung, falls jeder Ausgang aus 64 Bits besteht:
A0 Al A63
B0 B1 B63
HS0HS1 HS62HS63
+^HC0HC1HC2 HC63
FS0FS1FS2 FS63FS64
C0 C1
Darin sind:
HSi=Ai®Bi©ci
HC1=(A1. B1H(B1-CiH(C1-Ai)
i=0,1,2,
"©": Exclusiv ODER
11. " : UND
"+": ODER
FS = Vollsumme von HS und HC
C1=HS1- HC2
+ (HS1+HC2)-HS2· HC3
+ (HS1+HC2)- (HS2+HC3 J-
+ (HS1H-HC2)- (HS2+HC3)-,. .;·...
· (HS51+HC62).HS62-HC63
C0=HS0-HC1
+ (HS0+HC1)- C1
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 voll addiert werden.
Der Betrieb des in Figur 1 dargestellten Dividierers wird nun anhand der Figur 2 erläutert, bei der als Beispiel die
Festpunktdivision (00001111) : (0110) behandelt wird , wobei die Breite des CSA 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 DR (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
CM0 18 zum MSB und einen Übertrag CML 19 zum NSB. Während der
Ermittlung des CMQ 18 und CM1 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 addiertlm 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 Nicht-Rückspeicheralgorithmus
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 Quotientenbit 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. Figur 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 D1 "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-Eingang, so daß das Zweier-Komplement vom
DR für die Subtraktion des DR gebildet wird. Die Wählersteuerlogik 35, die in Figur 1 gezeigt ist, steuert die Wähler 8,9,
10 und 11 entsprechend der in Figur 3 gezeigten Beziehung. Bei dem in Figur 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 η-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 nicht-Rückspeicheralgorithmus
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 Figur 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 nicht-Rückspeicheralgorithmus 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 Halbübertrags in der
im Betrieb befindlichen Stufe und ein Übertrag zum NSB, der während der Volladdition einer Halbsumme und eines Halbü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 Halbsumme und einem
Halbü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 vorangehender Stufe erzeugt
wurde.
Figur 4 zeigt eine Quotientenbitbestimmungslogik. Ein "1"-Übertrag
der zum NSB während der Volladdition einer Halbsumme und eines Halbübertrags der vorangehenden Stufe erzeugt
ist (von der Übertragvorgriffslogik erhalten) weist auf die Existenz eines latenten Übertrags hin. CQ* und HC0*
sollen jeweils einen Übertrag zum MSB während der Volladdition einer Halbsumme und eines Halbübertrags (nämlich des
MSB eines Ausgangs von der Übertragvorgriffslogik) und das
MSB eines Halbübertrags in der betriebenen Stufe darstellen. C1 soll einen Übertrag zum NSB während der Volladdition einer
Halbsumme und eines Halbübertrags in der vorangehenden Stufe (nämlich ein dem MSB eines Ausgangs der Übertragvorgriffs-
logik folgenden Bits) darstellen. Falls C1 = 0, dann ist
entweder Cn* oder HCn* ein Übertrag, der ein Quotientenbit
beeinflußt. Es ist jedoch nicht möglich, daß in der betriebenen Stufe, wenn C1 = 0 sowohl Cn*als auch HCn*
"1" sind. Folglich gibt es keinen Fall £ CQ* = 1 & HCn* = 1 J,
wenn C1 = 0 ist. Andererseits tritt ein latenter Übertrag
allein nur auf, wenn £ Cn* = 1 & HC * = 0 J oder wenn
/"Cn* = 0 & HC0* = 1 7, wenn C1 = 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 C1 = 1 und C C * = 1 & HC* = 1 J
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
C1 = 1 ist. Demgemäß gibt es die Möglichkeit C CQ* = 0 & HCQ* =
nicht, wenn C1 = 1 ist. Die obigen Zusammenhänge können dahingehend
zusammengefaßt werden, daß ein Quotientenbit D der betriebenen Stufe durch die Gleichung
D=C1 · (C0*+HC0*)+C1 · Cn* -HC0*
ausgedrückt werden kann.
Die Quotientenbestimmungslogik 36 in Figur 1 bestimmt Quotientenbitausgänge
von den jeweiligen Stufen (D1 und D„
in Figur 3) entsprechend der in Figur 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 kann durch eine einstufige Logik reali-
siert werden, so daß der größere Teil der Operationszeit
für die Bestimmung eines Übertrags in der Übertragvorgriffslogik
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 Übertragvorgriffslogik 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.17188/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's 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 erf indungsgemäß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überhinaus benötigt der erfindungsgemäße Dividierer keine Vorverarbeitung,
wie Vereinheitlichungsoperationen 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.
•46-
- Leerseite
Claims (4)
1. Dividiervorrichtung zur Erzeugung mehreren Quotientenbits
in einem einzigen Operationszyklus gekennzeichnet durch
mehrere Übertragssicherstellungsaddierer (1, 3, 5), die
jeweils eine Halbsumme und einen Halbübertrag erzeugen und in mehreren Stufen in Form eines binären Baums verbunden
sind, von denen ein Obertragssicherstellungsaddierer (1) an der Wurzel des binären Baums angeordnet ist und die
Addition und die Subtraktion eines Divisors ausführt, ein weiterer Übertragssicherstellungsaddierer (5) in einem
der beiden vom Verzweigungspunkt des binären Baums ausgehenden Äste angebracht und zur Addition des Divisors ausgelegt
ist und ein weiterer Übertragssicherstellungsaddierer (3) in dem anderen Ast des binären Baums angeordnet und zur
Subtraktion des Divisors vorgesehen ist,
mehrere Übertragvorgriffsschaltungen, die jeweils mit einem
der Übertragssicherstellungsaddierer (1, 3, 5) verbunden sind und einen Übertrag erzeugen, der im Falle der Volladdition
des Halbsummenausgangs und des Halbübertragsausgangs des jeweils zugehörigen Übertragssicherstellungsaddierers
erzeugt würde,
eine Quotientenbestimmungseinrichtung (36), die ein Quotientenausgangsbit
jeder Stufe in Abhängigkeit vom Ausgang des Übertragssicherstellungsaddierers und der Übertragsvorgriffsschaltung
der jeweiligen Stufe und der Übertragsvorgriffs-
680-348301280/AtAl
schaltung der vorangehenden Stufe bestimmt, und
eine Wähleinrichtung (8, 9,10; 35), die Ausgänge eines
der Übertragssicherstellungsaddierer in der letzten Stufe und entweder den Divisor oder dessen Komplement abhängig
von Quotientenbitausgängen der jeweiligen Stufen wählt und diese den Eingängen des Übertragssicherstellungsaddierers
an der Wurzel des binären Baums einspeist.
2. Dividiervorrichtung nach Anspruch 1, dadurch gekennzeichnet, daß die Quotientenbestimmungseinrichtung (36) abhängig
vom höchstwertigen Bit eines Halbübertrags des in der jeweiligen Stufe befindlichen Übertragssicherstellungsaddierers,
von einem Übertrag zum höchstwertigen Bit, den die Übertragsvorgriffsschaltung derselben Stufe erzeugt
und von einem Übertrag zu einem Bit nach dem höchstwertigen Bit, das die Übertragsvorgriffsschaltung der
vorangehenden Stufe erzeugt, arbeitet.
3. Dividiervorrichtung nach Anspruch 1 oder 2, dadurch gekennzeichnet,
daß die Wähleinrichtung (8, 9, 10) einen Dividenden und das Komplement des Divisors den Eingängen des Übertragssicherstellungsaddierers
(1) an der Wurzel des binären Baums zuführt, sobald eine Dividieroperation beginnt.
4. Dividiervorrichtung nach Anspruch 1, 2 oder 3, dadurch gekennzeichnet,
daß die Vorrichtung außerdem einen Volladdierer zur Berechnung eines Rests aufweist.
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 true DE3447634A1 (de) | 1985-07-18 |
DE3447634C2 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 | 矢崎総業株式会社 | グロメット |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4337519A (en) * | 1979-02-01 | 1982-06-29 | Tetsunori Nishimoto | Multiple/divide unit |
Family Cites Families (4)
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 |
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
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4337519A (en) * | 1979-02-01 | 1982-06-29 | Tetsunori Nishimoto | Multiple/divide unit |
Also Published As
Publication number | Publication date |
---|---|
JPS60140428A (ja) | 1985-07-25 |
US4754422A (en) | 1988-06-28 |
JPH0317132B2 (de) | 1991-03-07 |
DE3447634C2 (de) | 1988-02-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE1956209C3 (de) | Multipliziervorrichtung | |
DE2246968A1 (de) | Einrichtung zur kombination, insbesondere multiplikation, zweier gleitkommazahlen | |
DE2658248C2 (de) | ||
DE2018452A1 (de) | Arithmetische Einrichtung | |
DE2803425A1 (de) | Digitaleinrichtung zur ermittlung des wertes von komplexen arithmetischen ausdruecken | |
DE1162111B (de) | Gleitkomma-Recheneinrichtung | |
DE2816711A1 (de) | Divisionseinrichtung mit uebertrags- rettungsaddierwerk und nicht ausfuehrender vorausschau | |
DE3447634C2 (de) | ||
DE2221693C3 (de) | Schaltungsanordnung zur Ausführung einer Multiplikation zwischen zwei Binärzahlen | |
DE2814078A1 (de) | Addierschaltung mit zeitweiliger zwischenspeicherung des uebertrags | |
DE2758130C2 (de) | Binärer und dezimaler Hochgeschwindigkeitsaddierer | |
DE1549508C3 (de) | Anordnung zur Übertragsberechnung mit kurzer Signallaufzeit | |
DE19618120B4 (de) | Parallelverarbeitungs-Divisionsschaltung | |
DE3852576T2 (de) | Einrichtung und Verfahren für eine erweiterte Arithmetik-Logik-Einheit zur Beschleunigung der ausgewählten Operationen. | |
DE2034841B2 (de) | Matrixanordnung für Digital Rechenanlage | |
DE3303269C2 (de) | ||
DE68927398T2 (de) | Digitale Divisionsschaltung mit einem N/2-Bit-Subtrahierer für N-Subtraktionen | |
DE3447729A1 (de) | Verfahren und vorrichtung zur dezimal-multiplikation | |
DE3424078C2 (de) | ||
DE19635114A1 (de) | Multiplizierer | |
DE19635118A1 (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 | |
DE19635113A1 (de) | Multiplizierer | |
DE1499227C3 (de) | Schaltungsanordnung für arithmetische und logische Grundoperationen |
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 |