Die
vorliegende Erfindung betrifft eine Parallelverarbeitungs-Divisionsschaltung
nach dem Anspruch 1.The
The present invention relates to a parallel processing division circuit
according to claim 1.
Aus
der US 5,097,435 ist
eine Divisionsschaltung zur Durchführung einer Division bekannt, bei
der eine subtraktive Operation wiederholt durchgeführt wird,
wenn ein Dividend und ein Divisor mit gleichem Vorzeichen ermittelt
werden und bei der eine additive Operation wiederholt ausgeführt wird, wenn
ermittelt wurde, dass der Dividend und der Divisor ein unterschiedliches
Vorzeichen aufweisen. Wenn das höchstwertige
Bit eines Quotienten berechnet wird, und zwar in Form einer negativen
Zahl und bei Vorzeichengleichheit von Dividend und Divisor, und
wenn das höchstwertige
Bit des Quotienten als negative Zahl berechnet wird, und zwar bei
Ungleichzeit des Vorzeichens des Dividenden und des Divisors, wird
ein Überlauf
zu einem Zeitpunkt wiederholt, bei welchem das andere Quotientenbit
mit dem höchstwertigen
Bit des Quotienten koinzidiert, um dieses während eines Abschnitts der
Operationsverarbeitung zu detektieren.From the US 5,097,435 For example, a dividing circuit for performing a division is known in which a subtractive operation is repeatedly performed when a dividend and a divisor of the same sign are detected and an additive operation is repeatedly executed when it is determined that the dividend and the divisor are on have different sign. When the most significant bit of a quotient is calculated, in the form of a negative number and sign equality of dividend and divisor, and if the most significant bit of the quotient is calculated as a negative number, and the sign of the dividend and the divisor is unequal repeats an overflow at a time at which the other quotient bit coincides with the most significant bit of the quotient to detect during a portion of the operation processing.
Aus
der GB 2 172 718 A ist
ein Divisionssystem bekannt, um Reihen von Divisionsberechnungen durchzuführen. Das
Divisionssystem enthält
eine Kaskadenschaltung von Subtraktionsstufen, in welchen eine Binärteilung
schrittweise ausgeführt
wird. In jeder Stufe wird ein Divisor von einem Dividenden subtrahiert,
welcher der gleiche Dividend sein kann, wie von der früheren Stufe
oder vorhergehenden Stufe, wenn die Subtraktion der früheren oder
vorhergehenden Stufe zu einem Borgübertrag führt oder wenn das Ergebnis
aus der früheren
oder vorhergehenden Subtraktionsstufe zu keinem Borgübertrag
geführt hat.
Die "Borg"- und "Nicht-Borg"-Ergebnisse von jeder
Stufe werden mit dem ursprünglichen
Dividenden/Divisor-Eingang zur ersten Stufe in Korrelation gebracht
und repräsentieren
den erforderlichen Quotienten für
das jeweilige Dividenden/Divisor-Paar, wobei der Wert von "0" für
ein "Nicht-Borgen" und der Wert von "1" für
ein "Borgen" genommen wird. An
jeder Stufe wird der Divisor und auch der Dividend relativ um eine
Stelle verschoben, und zwar in entgegengesetztem Sinn.From the GB 2 172 718 A For example, a division system is known for performing series of division calculations. The division system includes a cascade of subtraction stages in which binarization is performed incrementally. In each stage, a divisor is subtracted from a dividend, which may be the same as that of the previous stage or previous stage, if the subtraction of the previous or previous stage results in a borrow or if the result from the previous or previous subtraction stage increases no Borgübertrag has led. The "Borg" and "Non-Borg" results from each tier are correlated to the original first-dividend / divisor entry and represent the required quotient for the respective dividend / divisor pair, with the value of " 0 "for" not borrowing "and the value of" 1 "for borrowing. At each stage, the divisor and also the dividend are relatively shifted one place, and in the opposite sense.
Im
Allgemeinen verwenden Rechenmaschinen für das Durchführen einer
Addition, Subtraktion, Multiplikation und Division eine Software,
da – obwohl
eine Hardware bzw. Festverdrahtung schneller ist als eine Software
bzw. Programmsteuerung – der Aufbau
einer festverdrahteten Rechenmaschine sehr kompliziert und schwierig
ist. Eine digitale Schaltung zum Durchführen einer Division ist insbesondere dann
kompliziert aufgebaut, wenn der Quotient einen Wert kleiner eins
aufweist.in the
Generally, calculators use for performing a
Addition, subtraction, multiplication and division of software,
there - though
Hardwired hardware is faster than software
or program control - the structure
a hardwired calculator very complicated and difficult
is. A digital circuit for performing a division is particularly then
complicated if the quotient has a value less than one
having.
Der
Erfindung liegt daher die Aufgabe zu Grunde, eine einfache parallelverarbeitende
Schaltung zum Durchführen
einer Division zu schaffen, welche nur aus einer Festverdrahtung
besteht, bei der der Quotient kleiner eins ist, d.h. der Dividend
ist kleiner als der Divisor.Of the
The invention is therefore based on the object, a simple parallel processing
Circuit for performing
to create a division, which only consists of a hardwiring
where the quotient is less than one, i. the dividend
is smaller than the divisor.
Diese
Aufgabe wird erfindungsgemäß durch die
im Anspruch 1 aufgeführten
Merkmale gelöst.
Besonders vorteilhafte Ausgestaltungen und Weiterbildungen der erfindungsgemäßen Parallelverarbeitungs-Divisionsschaltung
ergeben sich aus den Unteransprüchen.These
The object is achieved by the
listed in claim 1
Characteristics solved.
Particularly advantageous embodiments and further developments of the parallel processing division circuit according to the invention
emerge from the dependent claims.
Die
erfindungsgemäße parallelverarbeitende Divisionsschaltung
empfängt
Daten für
den Dividenden, Daten für
den Divisor, die größer als
die Daten für
den Dividenden sind, ein Startsignal und ein Resetsignal, wobei
der Quotient als Ergebnis ausgegeben wird.The
parallel processing division circuit according to the invention
receives
Data for
the dividends, data for
the divisor being taller than
the data for
the dividends are, a start signal and a reset signal, where
the quotient is output as result.
Die
Schaltung besitzt eine Zeitsteuerschaltung, die das Startsignal
und ein Taktsignal empfängt und
gibt ein Zeitsteuersignal aus, welches den Zeitpunkt zum Ausgeben
von Ausgabedaten steuert.The
Circuit has a timing circuit that receives the start signal
and a clock signal is received and
outputs a timing signal indicating the timing for outputting
of output data controls.
Ein
Datenregister empfängt
die Divisordaten und gibt Divisorspeicherdaten, die zu den Divisordaten
invertiert und mit dem Taktsignal synchronisiert sind, gemäß dem Startsignal
aus.One
Data register receives
the divisor data and gives divisor memory data to the divisor data
inverted and synchronized with the clock signal according to the start signal
out.
Eine
Datenauswahlschaltung empfängt
die Daten für
die Dividenden, das Startsignal sowie das Taktsignal und wählt Daten
aus, die den Daten für
die Dividenden entsprechen oder bereits existierende ausgewählte Daten,
die gemäß dem Startsignal
um ein Bit nach links verschoben wurden, oder um ein Bit nach links
verschobene Daten, bei denen von den bereits existierenden ausgewählten Daten
die divisorgespeicherten Daten subtrahiert wurden, wobei anschließend die
ausgewählten
Daten und die Steuerdaten ausgegeben werden.A
Data selection circuit receives
the data for
the dividends, the start signal and the clock signal and selects data
out the data for
the dividends correspond or already existing selected data,
the according to the start signal
shifted one bit to the left or one bit to the left
shifted data, in which of the already existing selected data
the divisor stored data were subtracted, and then the
chosen
Data and the control data are output.
Ein
Subtrahierer empfängt
die Divisorspeicherdaten und die ausgewählten Daten, er führt eine Subtraktion
durch und gibt Subtraktionsausgabedaten aus, wobei ein Ausgabeübertrag,
welcher einen aufgetretenen Überlauf
anzeigt, als Ergebnis der Subtraktion ausgegeben wird.One
Subtractor receives
the divisor memory data and the selected data, it performs a subtraction
and outputs subtraction output data, wherein an output carry,
which an overflow occurred
displayed as a result of the subtraction.
Eine
Steuersignal-Erzeugungsschaltung empfängt das Zeitsteuersignal, die
Steuerdaten sowie den Ausgabeübertrag,
und gibt ein Auswahlsteuersignal mit einem hohen logischen Wert
ab, wenn das Zeitsteuersignal einen hohen logischen Wert aufweist,
und wenn entweder die Steuerdaten oder der Ausgabeübertrag
einen hohen logischen Wert besitzt.A
Control signal generating circuit receives the timing signal, the
Control data as well as the output transfer,
and outputs a selection control signal having a high logical value
when the timing signal has a high logic value,
and if either the control data or the output carry
has a high logical value.
Eine
Ausgabedaten-Erzeugungsschaltung empfängt das Zeitsteuersignal, wobei
das ausgewählte
Steuersignal mit dem Taktsignal gemäß dem Zeitsteuersignal synchronisiert
und das ausgewählte Steuersignal
gespeichert wird, während
die Daten durch Verschieben des ausgewählten Steuersignals um ein
Bit nach links ausgegeben werden.An output data generating circuit receives the timing signal, wherein the selected control signal is synchronized with the timing signal in accordance with the timing signal and the selected control signal is stored while outputting the data by shifting the selected control signal one bit leftward.
Die
Erfindung wird nachstehend anhand von Ausführungsbeispielen unter Bezugnahme
auf die Zeichnung näher
beschrieben.The
Invention will now be described by way of embodiments with reference
closer to the drawing
described.
1 zeigt
ein Blockschaltbild, welches ein bevorzugtes erfindungsgemäßes Ausführungsbeispiel
der Parallelverarbeitungs-Divisionsschaltung darstellt. 1 shows a block diagram illustrating a preferred embodiment of the invention parallel processing division circuit.
2 zeigt
ein Blockschaltbild, welche eine Zeitsteuerschaltung 100 der
Parallelverarbeitungs-Divisionsschaltung darstellt, wie sie im erfindungsgemäßen Ausführungsbeispiel
gemäß 1 verwendet
wird. 2 shows a block diagram showing a timing circuit 100 represents the parallel processing division circuit, as in the inventive embodiment according to 1 is used.
3 zeigt
eine Zwischenspeicherschaltung der Parallelverarbeitungs-Divisionsschaltung,
wie sie im erfindungsgemäßen Ausführungsbeispiel
gemäß 1 verwendet
wird. 3 shows a latch circuit of the parallel processing division circuit, as in the inventive embodiment according to 1 is used.
4 zeigt
ein Datenregister der Parallelverarbeitungs-Divisionsschaltung,
wie sie im erfindungsgemäßen Ausführungsbeispiel
gemäß 1 verwendet
wird. 4 shows a data register of the parallel processing division circuit, as in the inventive embodiment according to 1 is used.
5 zeigt
eine Datenauswahlschaltung der Parallelverarbeitungs-Divisionsschaltung,
wie sie im erfindungsgemäßen Ausführungsbeispiel
gemäß 1 verwendet
wird. 5 shows a data selection circuit of the parallel processing division circuit, as in the embodiment according to the invention 1 is used.
Die 6A und 6B bilden
gemeinsam eine Schaltung, die eine Ausgabedaten-Erzeugungsschaltung
der Parallelverarbeitungs-Divisionsschaltung zeigt, wie sie im erfindungsgemäßen Ausführungsbeispiel
gemäß 1 verwendet
wird.The 6A and 6B together form a circuit showing an output data generating circuit of the parallel processing division circuit, as in the embodiment according to the invention 1 is used.
7 zeigt
ein Schaubild, welches die Arbeitszeitabläufe der Parallelverarbeitungs-Divisionsschaltung
darstellt, wie sie im erfindungsgemäßen Ausführungsbeispiel gemäß 1 verwendet
werden. 7 shows a diagram illustrating the working time sequences of the parallel processing division circuit, as in the inventive embodiment according to 1 be used.
Die 1 zeigt
ein Blockschaltbild, welches eine erfindungsgemäße Parallelverarbeitungs-Divisionsschaltung darstellt.
Gemäß 1 besitzt
eine bevorzugte Parallelverarbeitungs-Divisionsschaltung eine Zeitsteuerschaltung 100,
welche ein Rücksetzsignal
RSB, ein Startsignal S und ein Taktsignal CK empfängt. Die
Zeitsteuerschaltung 100 gibt ein Zeitsteuersignal TL zum
Einstellen eines Zeitpunkts zur Ausgabe von Daten als Ergebnis der
Division aus.The 1 shows a block diagram illustrating a parallel processing division circuit according to the invention. According to 1 For example, a preferred parallel processing division circuit has a timing circuit 100 which receives a reset signal RSB, a start signal S and a clock signal CK. The timing circuit 100 outputs a timing signal TL for setting a timing for outputting data as a result of the division.
Ein
Datenregister 200 empfängt
Divisordaten BDAT<8:0>, das Startsignal S
und das Taktsignal CK, und gibt die Divisorspeicherdaten REG<8:0>, welche mit dem Taktsignal
CK gemäß dem Startsignal
S synchronisiert sind und die invertierten Divisordaten BDAT<8:0> darstellen, ab.A data register 200 receives divisor data BDAT <8: 0>, the start signal S and the clock signal CK, and outputs the divisor storage data REG <8: 0>, which are synchronized with the clock signal CK according to the start signal S and represent the inverted divisor data BDAT <8: 0> , from.
Eine
Datenauswahlschaltung 300 empfängt Dividendendaten ADAT<8:0>, Subtraktionsausgabedaten
S<8:0>, das Startsignal S
und das Taktsignal CK, und wählt
Daten aus, die gleich den Dividendendaten ADAT<8:0> oder
den vorher existierenden Subtraktionsausgabedaten, die gemäß dem Startsignal
S um ein Bit nach links geschoben wurden, sind, und gibt Auswahldaten
ACC<8:0> und Steuerdaten ACC<9> aus.A data selection circuit 300 receives dividend data ADAT <8: 0>, subtraction output data S <8: 0>, the start signal S and the clock signal CK, and selects data equal to the dividend data ADAT <8: 0> or the pre-existing subtraction output data corresponding to the start signal S are shifted to the left by one bit, and outputs select data ACC <8: 0> and control data ACC <9>.
Ein
Subtrahierer 400 empfängt
die Divisorspeicherdaten REG<8:0> vom Datenregister 200 und
die Auswahldaten ACC<8:0> von der Datenauswahlschaltung 300,
um die Subtraktion durchzuführen
und die Subtraktionsausgabedaten S<8:0> und den Ausgabeübertrag
S<9> auszugeben.A subtractor 400 receives the divisor memory data REG <8: 0> from the data register 200 and the selection data ACC <8: 0> from the data selection circuit 300 to perform the subtraction and output the subtraction output data S <8: 0> and the output carry S <9>.
Eine
Steuersignal-Erzeugungsschaltung 500 empfängt ein
Zeitsteuersignal TL, die Steuerdaten ACC<9> von
der Datenauswahlschaltung 300 und den Ausgabeübertrag
S<9> vom Subtrahierer 400. Die
Schaltung gibt ein Auswahlsteuersignal SC mit einem hohen logischen
Wert aus, wenn das Zeitsteuersignal TL einen hohen logischen Wert
aufweist und die Steuerdaten ACC<9> oder der Ausgabeübertrag S<9> einen hohen logischen
Wert besitzen.A control signal generation circuit 500 receives a timing signal TL, the control data ACC <9> from the data selection circuit 300 and the output carry S <9> from the subtracter 400 , The circuit outputs a selection control signal SC having a high logic value when the timing signal TL has a high logic value and the control data ACC <9> or the output carry S <9> has a high logic value.
Eine
Ausgabedaten-Erzeugungsschaltung 600 empfängt das
Zeitsteuersignal TL, das Auswahlsteuersignal SC sowie das Taktsignal
CK, wobei sie mit dem Taktsignal CK gemäß dem Zeitsteuersignal TL synchronisiert
ist und das Auswahlsteuersignal SC speichert, um es um ein Bit nach
links zu verschieben und die Ausgabedaten QUO<8:0> auszugeben.An output data generating circuit 600 receives the timing signal TL, the selection control signal SC and the clock signal CK, being synchronized with the clock signal CK in accordance with the timing signal TL and storing the selection control signal SC to shift it one bit to the left and output the output data QUO <8: 0> ,
Die 2 zeigt
ein Blockschaltbild, die eine Zeitsteuerschaltung 100 der
erfindungsgemäßen Parallelverarbeitungs-Divisionsschaltung
darstellt. Gemäß 2 besitzt
die Zeitsteuerschaltung 100 einen Abwärtszähler 110 mit dem gemäß einem
Taktsignal CK inkremental abwärts
gezählt
wird.The 2 shows a block diagram showing a timing circuit 100 represents the parallel processing division circuit according to the invention. According to 2 owns the timing circuit 100 a down counter 110 incrementally down-counted according to a clock signal CK.
Eine
Erfassungsvorrichtung 120 gibt ein erstes Rücksetzsignal
FR aus, wenn ein Wert erfaßt wird,
bei dem das Ausgangssignal des Abwärtszählers 110 einen bestimmten
Wert erreicht.A detection device 120 outputs a first reset signal FR when a value is detected at which the output of the down counter 110 reaches a certain value.
Eine
Zwischenspeicherschaltung 130 empfängt ein Rücksetzsignal RSB, ein Startsignal
S und das erste Rücksetzsignal
FR. Diese Zwischenspeicherschaltung 130 ist derart eingestellt,
daß sie
einen niedrigen logischen Wert ausgibt, wenn das Rücksetzsignal
RSB oder das erste Rücksetzsignal
FR aktiv ist, während
es einen hohen logischen Wert ausgibt, wenn das Startsignal S aktiv
ist.A latch circuit 130 receives a reset signal RSB, a start signal S and the first reset signal FR. This latch circuit 130 is set to output a low logic value when the reset signal RSB or the first reset signal FR ak tiv, while it outputs a high logic value when the start signal S is active.
Ein
F1ipFlop empfängt
das Ausgangssignal des Zwischenspeichers 130 sowie das
Taktsignal CK und gibt ein Zeitsteuersignal TL synchron mit dem Taktsignal
CK aus.An F1ipFlop receives the output signal of the buffer 130 and the clock signal CK, and outputs a timing signal TL in synchronization with the clock signal CK.
Das
Zeitsteuersignal TL ist mit dem Rücksetzzweig RB des Abwärtszählers 110 verbunden und
bewirkt das Rücksetzen
des Abwärtszählers 110,
wenn das Zeitsteuersignal TL einen niederen logischen Wert aufweist.The timing signal TL is connected to the reset branch RB of the down counter 110 connected and causes the reset of the down counter 110 when the timing signal TL has a low logic value.
Die
Erfassungsvorrichtung 120 kann aus einer NAND-Schaltung bestehen.
Da die Divisordaten in der erfindungs gemäßen Parallelverarbeitungs-Divisionsschaltung,
wie sie in 1 dargestellt ist, neun Bits
aufweisen, erfaßt
die Detektorvorrichtung 120 die Ausgabewerte des Abwärtszählers 110 und gibt
einen niederen logischen Wert dann ab, wenn der Ausgabewert gleich
dem Dezimalwert 10 entspricht.The detection device 120 can consist of a NAND circuit. Since the divisor data in the fiction, parallel processing division circuit, as shown in 1 having nine bits detects the detector device 120 the output values of the down counter 110 and outputs a low logic value if the output value equals the decimal value of 10.
Wie
in 3 dargestellt, besitzt die Zwischenspeicherschaltung 130 ein
erstes NOR-Gatter 131 mit einem ersten, zweiten und einem
dritten Eingang sowie ein zweites NOR-Gatter 132 mit einem ersten
und zweiten Eingang. Der erste Eingang des ersten NOR-Gatters 131 ist
mit einer Signalleitung verbunden, an dem das invertierte Rücksetzsignal RSB
anliegt. Der zweite Eingang des ersten NOR-Gatters 131 ist
mit dem ersten Rücksetzsignal FR
verbunden. Der dritte Eingang des ersten NOR-Gatters 131 ist
mit dem Ausgang des zweiten NOR-Gatters 132 verbunden.
Der erste Eingang des zweiten NOR-Gatters 132 ist mit dem
Ausgang des ersten NOR-Gatters 131 verbunden, während der zweite
Eingang des zweiten NOR-Gatters 132 ein Startsignal S empfängt.As in 3 has the latch circuit 130 a first NOR gate 131 with a first, second and a third input and a second NOR gate 132 with a first and second entrance. The first input of the first NOR gate 131 is connected to a signal line to which the inverted reset signal RSB is applied. The second input of the first NOR gate 131 is connected to the first reset signal FR. The third input of the first NOR gate 131 is at the output of the second NOR gate 132 connected. The first input of the second NOR gate 132 is at the output of the first NOR gate 131 while the second input of the second NOR gate 132 a start signal S is received.
Die 4 zeigt
ein Datenregister der erfindungsgemäßen Parallelverarbeitungs-Divisionsschaltung.
Das Datenregister 200 besitzt einen Invertierer 240 zum
Empfangen einiger Datenbits der Divisordaten BDAT<8:0> und eines Startsignals,
wobei er diese invertiert und anschließend ausgibt. Jedes Register 210, 220, 230 besitzt
eine Divisordatenlogik 250, eine Taktsignalleitung CK,
eine Eingangsleitung D, eine Rücksetzleitung
R, einen ersten Ausgang Q und ein FlipFlop mit einem zweiten Ausgang
QB, der zum ersten Ausgang Q invertiert ist.The 4 shows a data register of the parallel processing division circuit according to the invention. The data register 200 has an inverter 240 for receiving some data bits of divisor data BDAT <8: 0> and a start signal, inverting them and then outputting them. Each register 210 . 220 . 230 has divisor data logic 250 , a clock signal line CK, an input line D, a reset line R, a first output Q and a flip-flop having a second output QB which is inverted to the first output Q.
Die
Divisordatenlogik 250 besitzt erste und zweite AND-Gatter 251 und 252 sowie
ein drittes NOR-Gatter 253 mit ersten und zweiten Eingängen. Der
erste Eingang des ersten AND-Gatters 251 ist mit dem Startsignal
S, und der zweite Eingang des ersten AND-Gatters 251 ist
mit einem Bit der Divisordaten BDAT<8:0> verbunden.
Der erste Eingang des zweiten AND-Gatters 252 ist mit dem
Ausgang des Invertierers 240 verbunden, während der
zweite Eingang des zweiten AND-Gatters 252 an den zweiten Ausgang
des FlipFlops 260 angeschlossen ist. Der erste Eingang
des dritten NOR-Gatters 253 ist mit dem Ausgang des ersten
AND-Gatters 251 verbunden, während der zweite Eingang des
dritten NOR-Gatters 253 mit dem Ausgang des zweiten AND-Gatters 252 verbunden
ist.The divisor data logic 250 has first and second AND gates 251 and 252 as well as a third NOR gate 253 with first and second inputs. The first input of the first AND gate 251 is with the start signal S, and the second input of the first AND gate 251 is connected to a bit of divisor data BDAT <8: 0>. The first input of the second AND gate 252 is with the output of the inverter 240 while the second input of the second AND gate 252 to the second output of the flip-flop 260 connected. The first input of the third NOR gate 253 is at the output of the first AND gate 251 while the second input of the third NOR gate 253 to the output of the second AND gate 252 connected is.
Die 5 zeigt
eine Datenauswahlschaltung 300 der erfindungsgemäßen Parallelverarbeitungs-Divisionsschaltung.
Die Datenauswahlschaltung 300 besitzt eine Auswahlsteuersignal-Erzeugungsschaltung 340,
die ein Startsignal S sowie ein Auswahlsteuersignal SC empfängt und
ein zweites Steuersignal SP ausgibt.The 5 shows a data selection circuit 300 the parallel processing division circuit according to the invention. The data selection circuit 300 has a selection control signal generation circuit 340 receiving a start signal S and a selection control signal SC and outputting a second control signal SP.
Verschiedene
Auswahlregister 310, 320 und 330 sind
derart vorgesehen, daß immer
ein Auswahlregister mehr vorhanden ist als die Anzahl der Bits der
Dividendendaten ADAT<8:0>. Die Auswahlregister
geben Auswahldaten ACC<8:0> und Steuerdaten ACC<9> aus.Various selection registers 310 . 320 and 330 are provided so that there is always one selection register more than the number of bits of the dividend data ADAT <8: 0>. The selection registers output selection data ACC <8: 0> and control data ACC <9>.
Die
Auswahlsteuersignal-Erzeugungsschaltung 340 besitzt erste
und zweite Invertierer 341 und 342 sowie dritte
und vierte AND-Gatter 343 und 344. Der erste Invertierer 341 empfängt das
Startsignal S und gibt das invertierte Startsignal aus. Der zweite
Invertierer 342 empfängt
das Auswahlsteuersignal SC, invertiert es und gibt ein Schiebesteuersignal
SH aus. Das dritte AND-Gatter 343 führt eine logische UND-Operation
zwischen den Ausgangssignalen des ersten und zweiten Invertierers
durch und gibt ein erstes Steuersignal SHF aus. Das vierte AND-Gatter 344 führt die
logische UND-Operation zwischen den Ausgangssignalen des ersten
Invertierers 341 und dem Auswahlsteuersignal SC durch und
gibt ein zweites Steuersignal SP aus.The selection control signal generation circuit 340 has first and second inverters 341 and 342 and third and fourth AND gates 343 and 344 , The first inverter 341 receives the start signal S and outputs the inverted start signal. The second inverter 342 receives the selection control signal SC, inverts it, and outputs a shift control signal SH. The third AND gate 343 performs a logical AND operation between the output signals of the first and second inverters and outputs a first control signal SHF. The fourth AND gate 344 performs the logical AND operation between the output signals of the first inverter 341 and the selection control signal SC, and outputs a second control signal SP.
Jedes
Auswahlregister 310, 320 und 330 besitzt
eine Dividendendatenlogik 310a, 320a und 330a sowie
ein FlipFlop 310b, 320b und 330b mit
seinem Takteingang C, einem Eingang D, einem Rücksetzeingang R und einem Ausgang
Q. Der Takteingang C und der Rücksetzeingang
R sind entsprechend mit dem Taktsignal CK und dem Rücksetzsignal
RSB verbunden.Each selection register 310 . 320 and 330 owns a dividend data logic 310a . 320a and 330a as well as a flipflop 310b . 320b and 330b with its clock input C, an input D, a reset input R and an output Q. The clock input C and the reset input R are respectively connected to the clock signal CK and the reset signal RSB.
Der
Eingang D des entsprechenden FlipFlops 310a, 320a und 330a ist
mit einem entsprechenden Ausgang der Dividendenlogik 310a, 320a und 330a verbunden.
Der Ausgang Q eines jeweiligen FlipFlops ist mit einer nachfolgenden
Dividendendatenlogik verbunden.The input D of the corresponding flip-flop 310a . 320a and 330a is with a corresponding output of the dividend logic 310a . 320a and 330a connected. The output Q of a respective flip-flop is connected to a subsequent dividend data logic.
Die
geteilte Datenlogik 310a besteht aus einem AND-Gatter,
das eine logische UND-Operation zwischen dem Startsignal und dem
niederwertigsten Datenbit ADAT<0> durchführt.The shared data logic 310a consists of an AND gate, which is a logical AND operation between the start signal and the least significant one Data bit ADAT <0>.
Die
letzte geteilte Datenlogik 330a besitzt ein erstes NAND-Gatter 331 zum
Empfangen des Ausgangssignals Q des vorhergehenden FlipFlops und eines
ersten Steuersignals SHF und führt
eine logische NAND-Operation zwischen diesen beiden Signalen durch.
Die anderen Dividendendaten-Logikschaltungen besitzen jeweils ein
NAND-Gatter 321, das das Ausgangssignal D des vorhergehenden
FlipFlops sowie ein erstes Steuersignal SHF empfängt und auf der Grundlage dieser
beiden Signale eine logische NAND-Operation durchführt. Ein
AND-Gatter 322 empfängt
ein Bit der Subtraktionsausgabedaten S<0> bis
S<7>, allerdings nicht
das höchstwertige
Bit S<8>, vom Subtrahierer 400 sowie
ein zweites Steuersignal SP und führt eine logische UND-Operation mittels
dieser beiden Signale durch.The last shared data logic 330a has a first NAND gate 331 for receiving the output Q of the preceding flip-flop and a first control signal SHF, and performs a logical NAND operation between these two signals. The other dividend data logic circuits each have a NAND gate 321 receiving the output D of the preceding flip-flop and a first control signal SHF, and performing a logical NAND operation based on these two signals. An AND gate 322 receives one bit of the subtraction output data S <0> to S <7>, but not the most significant bit S <8>, from the subtracter 400 and a second control signal SP and performs a logical AND operation by means of these two signals.
Ein
weiteres AND-Gatter 323 empfängt das Startsignal S und ein
Bit der Dividendendaten ADAT<1> bis ADAT<8>, allerdings nicht
das niederwertigste Bit ADAT<0>, und führt auf
der Grundlage dieser beiden Signale eine logische UND-Operation durch.
Ein NOR-Gatter 324 empfängt
die Ausgangssi gnale der AND-Gatter 322 und 323 und
führt auf
der Grundlage dieser Signale eine logische NOR-Operation durch.
Ein NAND-Gatter 325 empfängt das Ausgangssignal des
NAND-Gatters 321 und des NOR-Gatters 324 und führt eine
logische NAND-Operation auf der Grundlage dieser beiden Signale
durch.Another AND gate 323 receives the start signal S and one bit of the dividend data ADAT <1> to ADAT <8>, but not the least significant bit ADAT <0>, and performs a logical AND operation on the basis of these two signals. A NOR gate 324 receives the output signals of the AND gates 322 and 323 and performs a logical NOR operation based on these signals. A NAND gate 325 receives the output signal of the NAND gate 321 and the NOR gate 324 and performs a logical NAND operation based on these two signals.
Die 6A und 6B zeigen
ein Ausführungsbeispiel
einer Ausgabedaten-Erzeugungsschaltung 600, wie sie im
erfindungsgemäßen Ausführungsbeispiel
gemäß 1 verwendet
wird. Die Ausgabedaten-Erzeugungsschaltung 600 besitzt
einen Invertierer 601, der ein Zeitsteuersignal TL empfängt, dieses
invertiert und ein invertiertes Zeitsteuersignal ITL ausgibt.The 6A and 6B show an embodiment of an output data generating circuit 600 , as in the inventive embodiment according to 1 is used. The output data generating circuit 600 has an inverter 601 which receives a timing signal TL, inverts it and outputs an inverted timing signal ITL.
Die
Ausgabedaten-Erzeugungsschaltung 600 besitzt darüber hinaus
mehrere Ausgabedaten-Register 610–690, die jeweils
Ausgabedaten-Logikschaltungen 610a–690a und F1ipFlops 610b–690b aufweisen
mit je einem Takteingang C, einem Eingang D, einem Rücksetzeingang
R und einem Ausgang Q.The output data generating circuit 600 also has several output data registers 610 - 690 , the respective output data logic circuits 610a - 690a and F1ipFlops 610b - 690b each having a clock input C, an input D, a reset input R and an output Q.
Die
Ausgänge
Q der F1ipFlops bilden die Ausgabedaten QUO<8:0>.
Der Eingang D eines jeweiligen F1ipFlops ist mit der entsprechenden
Ausgabedaten-Logik 610a–690a verbunden. Der
Rücksetzeingang
R und der Takteingang C sind jeweils mit dem Rücksetzsignal RSB und dem Taktsignal
CK verbunden.The outputs Q of the F1ipFlops form the output data QUO <8: 0>. The input D of a respective F1ipFlops is with the corresponding output data logic 610a - 690a connected. The reset input R and the clock input C are respectively connected to the reset signal RSB and the clock signal CK.
Die
Ausgabedaten-Logik 610a des ersten Ausgabedaten-Registers 610 besitzt
ein AND-Gatter 611, welches das Auswahlsteuersignal SC
und das Zeitsteuersignal TL als Eingangssignale empfängt und
eine logische UND-Operation auf der Grundlage dieser beiden Eingangssignale
durchführt.The output data logic 610a of the first output data register 610 has an AND gate 611 which receives the selection control signal SC and the timing signal TL as input signals and performs a logical AND operation on the basis of these two input signals.
Die
Ausgabedaten-Logik 610a besitzt ferner ein AND-Gatter 612,
welches das invertierte Zeitsteuersignal ITL und das Ausgangssignal
des F1ipFlops 610b – QUO<2> – als Eingangssignale empfängt und
auf der Grundlage dieser beiden Signale eine logische UND-Operation
durchführt.
Ein NOR-Gatter 613 empfängt die
Ausgangssignale der AND-Gatter 611 und 612 und
führt auf
der Grundlage dieser beiden Signale eine logische NOR-Operation durch.The output data logic 610a also has an AND gate 612 which contains the inverted timing signal ITL and the output signal of the flip-flop 610b - QUO <2> - receives as inputs and performs a logical AND operation on the basis of these two signals. A NOR gate 613 receives the output signals of the AND gates 611 and 612 and performs a logical NOR operation based on these two signals.
Die
jeweiligen Ausgabedaten-Logikschaltungen 620a–690a der
weiteren Ausgabedaten-Register 620–690 sind mit der
Ausgabedaten-Logik 610a des ersten Ausgabedaten-Registers 610 identisch,
mit Ausnahme, daß das
Ausgangssignal des F1ipFlops der Ausgabedaten-Logik, welche das
benachbarte untere Bit bearbeitet, das Eingangssignal für die AND-Gatter 621–691 anstelle
des Auswahlsteuersignals SC bildet.The respective output data logic circuits 620a - 690a the further output data register 620 - 690 are with the output data logic 610a of the first output data register 610 identical, except that the output of the flip-flop of the output data logic which processes the adjacent lower bit, the input to the AND gates 621 - 691 forms in place of the selection control signal SC.
In
einer Zeitsteuerschaltung 100 der Parallelverarbeitungs-Divisionsschaltung,
wie sie in 2 dargestellt ist, besitzt ein
Rücksetzsignal
RSB einen niederen logischen Wert zum Auffrischen während der
Anfangsphase, so daß das
Ausgangssignal einer Zwischenspeicherschaltung 130 einen
niedrigen logischen Wert ausgeben kann, während ein Zeitsteuersignal,
welches das Ausgangssignal eines F1ipFlops 140 darstellt,
einen niederen logischen Wert ausgeben kann und ein Abwärtszähler 110 rückgesetzt werden
kann und eine 0 am Ausgang ausgibt.In a timing circuit 100 the parallel processing division circuit as shown in FIG 2 is shown, a reset signal RSB has a low logic value for refreshing during the initial phase, so that the output of a latch circuit 130 can output a low logic value while a timing signal representing the output of a F1ipFlops 140 represents, can output a low logical value and a down counter 110 can be reset and outputs a 0 at the output.
Besitzt
das Rücksetzsignal
RSB einen hohen logischen Wert und wird während einer Periode eines Taktsignals
CK ein Startsignal S mit einem hohen logischen Wert eingegeben,
so besitzt das Ausgangssignal der Zwischenspeicherschaltung 130 einen
hohen logischen Wert, während
das Zeitsteuersignal TL mit einem Taktsignal CK synchronisiert wird und
einen hohen logischen Wert ausgibt, wodurch der Abwärtszähler 110 mit
dem Zählen
beginnt.If the reset signal RSB has a high logic value and a start signal S with a high logic value is input during a period of a clock signal CK, then the output signal of the latch circuit has 130 a high logic value, while the timing signal TL is synchronized with a clock signal CK and outputs a high logic value, whereby the down counter 110 starts counting.
Wenn
der Ausgang des Abwärtszählers 110 den
Dezimalwert 10 ausgibt, wechselt die Erfassungsvorrichtung 120 von
einem hohen logischen Wert zu einem niederen logischen Wert, so
daß die Zwischenspeicherschaltung 130 ein
Ausgangssignal mit einem niederen logischen Wert abgibt, das FlipFlop 140 mit
dem Taktsignal CK synchronisiert ein Ausgangssignal mit niederem
logischen Wert ausgibt und der Abwärtszähler 110 zurückgesetzt
wird. Das bedeutet, daß das
Zeitsteuersignal TL einen hohen logischen Wert gemäß dem Startsignal
S ausgibt und mit dem Taktsignal CK synchronisiert ist, nachdem
es einen hohen logischen Wert besitzt, und einen niederen logischen
Wert ausgibt.If the output of the down counter 110 the decimal value 10 outputs, the detection device changes 120 from a high logical value to a low logical value, such that the latch circuit 130 outputs an output signal having a low logic value, the flip-flop 140 synchronized with the clock signal CK outputs a low-level output and the down-counter 110 is reset. That is, the timing signal TL outputs a high logic value in accordance with the start signal S and is synchronized with the clock signal CK after it has a high logical value and outputs a low logical value.
Während das
vorherstehend beschriebene Zeitsteuersignal TL einen hohen logischen
Wert aufweist, empfängt
die Parallelverarbeitungs-Divisionsschaltung Dividendendaten ADA<8:0> und Divisordaten BAT<8:0> und gibt Ausgabedaten
QUO<8:0> aus, die das Ergebnis
der Division darstellen.While that
previously described timing signal TL a high logical
Value has received
the parallel processing division circuit dividend data ADA <8: 0> and divisor data BAT <8: 0> and outputs output data
QUO <8: 0> off showing the result
represent the division.
Im
Datenregister 200 werden, wie in 4 dargestellt,
alle Divisorspeicherdaten REG<8:0> zurückgesetzt,
wenn ein Rücksetzsignal
RSB einen niederen Wert aufweist. Wenn das Rücksetzsignal RSB und das Startsignal
einen hohen Wert aufweisen, so empfängt jedes der Register 210, 220 und 230 die
divisorgespeicherten Daten REG<8:0>, invertiert sie, wobei
es mit dem Taktsignal synchronisiert ist, und gibt die in den jeweiligen
Registern 210, 220 und 230 gespeicherten
Ausgabedaten aus, wenn das Startsignal S einen niederen logischen Wert
aufweist. Das bedeutet, daß in
der Parallelverarbeitungs-Divisionsschaltung jedes Register mit
einem Taktsignal CK synchronisiert ist und Divisordaten BAT<8:0> empfängt, wenn
ein Startsignal S aufgrund von Divisordaten BAT<8:0> aktiv
ist, welche den Beginn der Division ausdrücken, wobei die divisorgespeicherten
Daten REG<8:0>, welche die invertierten
Daten der Divisordaten BAT<8:0> darstellen, so lange
ausgegeben werden, bis die Ausgabedaten der Division ausgegeben
werden.In the data register 200 be like in 4 shown, all divisor memory data REG <8: 0> reset when a reset signal RSB has a low value. When the reset signal RSB and the start signal have a high value, each of the registers receives 210 . 220 and 230 the divisor stored data REG <8: 0>, inverts them, being synchronized with the clock signal, and outputs the ones in the respective registers 210 . 220 and 230 stored output data when the start signal S has a low logic value. That is, in the parallel processing division circuit, each register is synchronized with a clock signal CK and receives divisor data BAT <8: 0> when a start signal S is active due to divisor data BAT <8: 0> expressing the beginning of the division. wherein the divisor-stored data REG <8: 0> representing the inverted data of the divisor data BAT <8: 0> is outputted until the output data of the division is output.
In
einer Datenauswahlschaltung gemäß 5 besitzen
alle ersten und zweiten Steuersignale SHF und SP, welche die Ausgangssignale
der Auswahlsteuersignal-Erzeugungs schaltung 340 darstellen,
einen niederen logischen Wert, wenn ein Startsignal einen hohen
logischen Wert aufweist, so daß jede
Dividendendaten-Logik 310a und 320a Dividendendaten
ADA<8:0> auswählen kann,
eine Dividendendaten-Logik 330 des höchstwertigen Bits unter der
Dividendendaten-Logik 310a und 320a einen niederen
logischen Wert ausgeben kann, Auswahldaten ACC<8:0> als
Ausgangssignale der verschiedenen FlipFlops 310b und 320b mit
einem Taktsignal CK synchronisiert werden können und das Signal ADA<8:0> ausgeben, und ein
Steuerdatum ACC<9> als Ausgangssignal
des letzten FlipFlops 330b einen niederen logischen Wert
ausgeben kann.In a data selection circuit according to 5 have all the first and second control signals SHF and SP, which the output signals of the selection control signal generation circuit 340 represent a low logic value when a start signal has a high logic value so that each dividend data logic 310a and 320a Dividend data ADA <8: 0> can select a dividend data logic 330 of the most significant bit under the dividend data logic 310a and 320a can output a low logical value, select data ACC <8: 0> as outputs of the various flip-flops 310b and 320b can be synchronized with a clock signal CK and output the signal ADA <8: 0>, and a control data ACC <9> as the output of the last flip-flop 330b can output a low logical value.
Wenn
das Startsignal S einen niederen logischen Wert besitzt und ein
Auswahlsteuersignal SC auf einem hohen logischen Wert liegt, gibt
das zweite Auswahlsignal SP einen hohen logischen Wert und das erste
Steuersignal SHF einen niederen logischen Wert aus. Dies erlaubt,
daß die
Dividendendaten-Logik 310a des niederwertigsten Bit einen
niederen logischen Wert aufweisen kann, daß die Dividendendaten-Logik 320a und 320b der
weiteren Bits ein Subtraktionsausgabedatum S<8:0> auswählen kann, wobei
ein ausgewähltes
Datum ACC<8:1> und ein Steuerdatum
ACC<9> als Ausgangssignal
der verschiedenen FlipFlops 320b und 330b mit
dem Taktsignal CK synchronisiert werden kann und Subtraktionsausgabedaten
S<8:0> ausgegeben werden,
und ein Auswahldatum ACC<0> als Ausgangssignal
eines Auswahlregisters 310 mit dem niederwertigsten Bit
einen niederen logischen Wert ausgibt.When the start signal S has a low logic value and a selection control signal SC is at a high logical value, the second selection signal SP outputs a high logic value and the first control signal SHF outputs a low logic value. This allows the dividend data logic 310a of the least significant bit may have a low logical value such that the dividend data logic 320a and 320b the further bits may select a subtraction output data S <8: 0>, with a selected data ACC <8: 1> and a control data ACC <9> as the output of the various flip-flops 320b and 330b can be synchronized with the clock signal CK and subtraction output data S <8: 0> are output, and a selection data ACC <0> as an output of a selection register 310 outputs a low logic value with the least significant bit.
Wenn
das Startsignal S einen niederen logischen Wert besitzt und das
Auswahlsteuersignal SC einen niederen logischen Wert aufweist, so
gibt das erste Steuersignal SHF, welches eines der Ausgangssignale
der Auswahlsteuersignal-Erzeugungsschaltung 340 ist,
einen hohen logischen Wert aus. Das zweite Steuersignal SP gibt
einen hohen logischen Wert aus, so daß die Dividendendaten-Logik 310a des
niederwertigsten Bits einen niederen logischen Wert aufweisen kann,
daß die
Dividendendaten-Logik 320a und 330a der ande ren
Bits das Ausgangssignal des FlipFlops des vorhergehenden Zweiges
auswählen
kann, wobei ein Auswahldatum ACC<0> des niederwertigsten
Bits mit dem Taktsignal CK synchronisiert werden kann und einen
niederen logischen Wert ausgibt, und ein Auswahldatum ACC<8:1> und ein Steuerdatum
ACC<9> als die weiteren Bits
mit dem Taktsignal CK synchronisiert werden kann, wobei die in den
verschiedenen FlipFlops 310b und 320b gespeicherten
Daten um ein Bit nach links geschoben und anschließend ausgegeben
werden.When the start signal S has a low logic value and the selection control signal SC has a low logic value, the first control signal SHF outputs one of the output signals of the selection control signal generation circuit 340 is a high logical value. The second control signal SP outputs a high logic value, so that the dividend data logic 310a of the least significant bit may have a low logical value such that the dividend data logic 320a and 330a the other bits may select the output signal of the flip-flop of the previous branch, and a selection data ACC <0> of the least significant bit may be synchronized with the clock signal CK and output a low logic value, and a selection data ACC <8: 1> and a control data ACC <9> can be synchronized as the further bits with the clock signal CK, wherein in the various flip-flops 310b and 320b stored data shifted one bit to the left and then output.
Wie
in 1 dargestellt, empfängt ein Subtrahierer 400 ein
Eingangs-Übertragsbit
mit einem hohen logischen Wert, Auswahldaten ACC<8:0> und Divisorspeicherdaten
REG<8:0>, wobei jedes Bit addiert
und ein Ausgabe-Übertragsbit
S<9> ausgegeben wird, welches
angibt, ob ein Überlauf
erzeugt wurde oder nicht. Da, wie vorherstehend beschrieben, die
Divisorspeicherdaten REG<8:0> Daten darstellen,
welche die invertierten Daten der Divisordaten BAT<8:0> sind, gibt der Subtrahierer 400 ein
Ausgangssignal ab, bei dem die Divisordaten BAT<8:0> von
den Auswahldaten ACC<8:0> subtrahiert worden
sind. Das bedeutet, daß der
Subtrahierer 400 die Funktion durchführt: "Auswahldaten ACC<8:0> – Divisordaten
BAT<8:0>".As in 1 shown receives a subtractor 400 an input carry bit having a high logic value, select data ACC <8: 0> and divisor memory data REG <8: 0>, each bit is added and an output carry bit S <9> is output, indicating whether an overflow has been generated or not. As described above, since the divisor storage data REG <8: 0> represents data which is the inverse data of the divisor data BAT <8: 0>, the subtracter outputs 400 an output signal at which the divisor data BAT <8: 0> have been subtracted from the selection data ACC <8: 0>. This means that the subtractor 400 performs the function: "Selection data ACC <8: 0> - Divisor data BAT <8: 0>".
Wie
in 1 dargestellt, empfängt eine Steuersignal-Erzeugungsschaltung 500 ein
Auswahldatum ACC<9>, einen Ausgabeübertrag
S<9> und ein Zeitsteuersignal
TL und gibt ein Auswahlsteuersignal SC mit einem hohen logischen
Wert aus, wenn ein Zeitsteuersignal TL einen hohen logischen Wert aufweist
und wenn das Auswahldatum ACC<9> oder der Ausgabeübertrag
S<9> einen hohen logischen Wert
besitzen, während
sie ein Auswahlsteuersignal SC mit einem niederen logischen Wert
in allen anderen Fällen
ausgibt.As in 1 shown receives a control signal generating circuit 500 a select data ACC <9>, an output carry S <9> and a timer signal TL, and outputs a select control signal SC having a high logical value when a timer signal TL has a high logic value and when the select data ACC <9> or the output carry S <9> have a high logical value while outputting a selection control signal SC having a low logical value in all other cases.
In
der Ausgabedaten-Erzeugungsschaltung 600 wählt, wie
in 6 dargestellt, die erste Ausgabedaten-Logik 610a ein
Auswahlsteuersignal SC aus und gibt dieses ab, wenn das Zeitsteuersignal
TL auf "high" liegt. Die weiteren
Ausgabedaten-Logikschaltungen 620a–690a wählen entsprechend
die im benachbarten F1ipFlop des nächst tieferen Bits gespeicherten
Daten aus und geben diese ab. Die FlipFlops 610b–690b empfangen
die Ausgangssignale der Ausgabedaten-Logikschaltungen 610a–690a,
wobei sie mit einem Taktsignal CK synchronisiert sind und ein Ausgabedatum
QUO<8:0> ausgeben. Das bedeutet,
daß zum
Zeitpunkt, an dem das Steuersignal TL "high" ist,
das Auswahlsteuersignal SC empfangen wird, mit dem Taktsignal CK
synchronisiert wird und nacheinander um jeweils ein Bit nach links
verschoben wird. Der Schiebebefehl lautet wie folgt: ein Datum des
Auswahlsteuersignals SC wird im dritten Bit QUO<2> der
Ausgabedaten QUO<8:0> gespeichert, anschließend synchronisiert
mit dem Taktsignal CK und schließlich jeweils um ein Bit zum
Bit der nächsthöheren Position
nach links geschoben, so daß nach
der Verschiebung zum höchstwertigen
Bit QUO<8> der Ausgabedaten QUO<8:0> das Datum zum niederwertigsten
Bit QUO<0> und dann zum zweiten
Bit QUO<1> verschoben werden
kann.In the output data generating circuit 600 chooses, as in 6 shown, the first output data logic 610a a selection control signal SC and outputs this when the timing signal TL is "high". The other output data logic circuits 620a - 690a Similarly, the data stored in the adjacent F1ipFlop of the next lower bit is selected and output. The flip flops 610b - 690b receive the output signals of the output data logic circuits 610a - 690a wherein they are synchronized with a clock signal CK and output an output data QUO <8: 0>. That is, at the time when the control signal TL is "high", the selection control signal SC is received, synchronized with the clock signal CK, and shifted one bit at a time to the left one by one. The shift command is as follows: a date of the selection control signal SC is stored in the third bit QUO <2> of the output data QUO <8: 0>, then synchronized with the clock signal CK and finally shifted one bit to the bit of the next higher position to the left, so that after the shift to the most significant bit QUO <8> of the output data QUO <8: 0>, the data can be shifted to the least significant bit QUO <0> and then to the second bit QUO <1>.
Demzufolge
repräsentieren
in der erfindungsgemäßen Parallelverarbeitungs-Divisionsschaltung
gemäß 1 die
Ausgabedaten QUO<7:0> die Ausgabe, wenn
Dividendendaten ADA<8:0> durch Divisordaten
BAT<8:0> geteilt werden und
das höchstwertige
Bit QUO<8> der Ausgabedaten QUO<8:0> weggeworfen wird,
wodurch sich ein Fehler von ca. +1,5% bis –1,5% ergibt.Accordingly, in the parallel processing division circuit according to the present invention, as shown in FIG 1 the output data QUO <7: 0> is the output when dividend data ADA <8: 0> is shared by divisor data BAT <8: 0> and the most significant bit QUO <8> of the output data QUO <8: 0> is discarded, resulting in an error of approx. + 1.5% to -1.5% results.
Die 7 zeigt
ein Schaubild, welches die Arbeitszeitabläufe der erfindungsgemäßen Parallelverarbeitungs-Divisionsschaltung
darstellt. Im dargestellten Beispiel besitzen die Dividendendaten ADA<8:0> den Dezimalwert 78
(Hexadezimalwert 04E) und die Divisordaten BAT<8:0> den
Dezimalwert 112 (Hexadezimalwert 070). In der nachfolgenden Beschreibung
werden alle Daten bzw. Werte hexadezimal aus-gedrückt.The 7 shows a diagram illustrating the working time sequences of the parallel processing division circuit according to the invention. In the example shown, the dividend data ADA <8: 0> has the decimal value 78 (hexadecimal value 04E) and the divisor data BAT <8: 0> the decimal value 112 (hexadecimal value 070). In the following description, all data or values are displayed in hexadecimal form.
Als
erstes legt das Resetsignal RSB zum Auffrischen bzw. Rücksetzen
der F1ipFlops und der Zwischenspeicherschaltungen einen niederen
logischen Wert an. Während
der Auffrischperiode geben das Zeitsteuersignal TL der Zeitsteuerschaltung 100 und
das Auswahlsteuersignal SC der Steuersignal-Erzeugungsschaltung 500 niedere
logische Werte aus. Die vom Datenregister 200 ausgegebenen
Divisorspeicherdaten REG<8:0>, die von der Datenauswahlschaltung 300 ausgegebenen
Auswahldaten S<8:0>, die vom Steuerdatum
ACC<9> und dem Subtrahierer 400 ausgegebenen
Subtraktionsausgabedaten S<8:0>, die von der Ausgabedaten-Erzeugungsschaltung 600 ausgegebenen
Ausgabedaten QUO<8:0>, und der Ausgabeübertrag
S<9> werden alle zurückgesetzt.First, the reset signal RSB applies a low logic value for refreshing the flip-flops and the latch circuits. During the refresh period give the timing signal TL of the timing circuit 100 and the selection control signal SC of the control signal generating circuit 500 lower logical values. The from the data register 200 output divisor memory data REG <8: 0> received from the data selection circuit 300 output selection data S <8: 0>, the control data ACC <9> and the subtractor 400 output subtraction output data S <8: 0> obtained from the output data generating circuit 600 output data QUO <8: 0>, and the output carry S <9> are all reset.
Nach
dieser Auffrischperiode legt das Rücksetzsignal RSB einen hohen
logischen Wert an.To
this refresh period, the reset signal RSB sets a high
logical value.
Das
Startsignal S empfängt
die Dividendendaten ADA<8:0> sowie die Divisordaten
BAT<8:0> und zeigt den Beginn
des Empfangs dieser Daten an. Eine Zwischenspeicherschaltung 130 der
Zeitsteuerschaltung 100 besitzt einen hohen logischen Wert, wobei
das Zeitsteuersignal TL mit dem Taktsignal CK synchronisiert ist
und einen hohen logischen Wert aufweist. Ein Abwärtszähler 110 wird mit
dem nächsten
Taktsignal CK synchronisiert und beginnt zu zählen. Wenn das Ausgangssignal
des Abwärtszählers 110 den
Dezimalwert 10 erreicht, schaltet eine Erfassungsvorrichtung 120 von
einem hohen logischen Wert auf einen niederen logischen Wert um,
wodurch die Zwischenspeicherschaltung 130 zurückgesetzt wird,
das Zeitsteuersignal TL einen niederen logischen Wert ausgibt und
das Ausgangssignal DCO des Abwärtszählers 110 rückgesetzt
wird. Wenn die Dividendendaten und die Divisordaten jeweils N-Datenbits
aufweisen, so sollte das Zeitsteuersignal TL derart ausgestaltet
sein, daß es
einen hohen logischen Wert während
N-2 Taktzyklen beibehalten kann. Wenn also die Dividendendaten und
die Divisordaten jeweils 9 Bits an Informationen aufweisen, so behält das Zeitsteu ersignal
TL einen hohen logischen Wert während
sieben Taktzyklen bei.The start signal S receives the dividend data ADA <8: 0> as well as the divisor data BAT <8: 0> and indicates the beginning of the reception of this data. A latch circuit 130 the timing control circuit 100 has a high logic value, wherein the timing signal TL is synchronized with the clock signal CK and has a high logic value. A down counter 110 is synchronized with the next clock signal CK and starts to count. If the output of the down counter 110 reaches the decimal value 10, switches a detection device 120 from a high logical value to a low logical value, thereby eliminating the latch circuit 130 is reset, the timing signal TL outputs a low logic value and the output signal DCO of the down counter 110 is reset. If the dividend data and the divisor data each have N data bits, then the timing signal TL should be configured such that it can maintain a high logic value during N-2 clock cycles. Thus, if the dividend data and the divisor data each have 9 bits of information, the timing signal TL maintains a high logic value during seven clock cycles.
Die
vom Datenregister 200 ausgegebenen Divisorspeicherdaten
REG<8:0> werden mit dem Taktsignal
CK synchronisiert, wenn das Startsignal S "high" ist,
und gibt so lange 18F aus (invertierter Wert von 010), bis die Ausgabedaten
QUO<8:0> als Ergebnis der Division
durch Zwischenspeichern des Datums, 18F, ausgegeben ist, wenn das
Startsignal "low" ist.The from the data register 200 outputted divisor storage data REG <8: 0> are synchronized with the clock signal CK when the start signal S is "high", and outputs 18F (inverted value of 010) until the output data QUO <8: 0> as a result of division by latching the data, 18F, when the start signal is low.
Wenn
das Startsignal S "high" ist, werden die Auswahldaten
ACC<8:0> mit dem ersten Takt
CK synchronisiert und Dividendendaten ADA<8:0> (04E) werden
ausgewählt,
während
das Steuerdatum ACC<9> einen niederen logischen
Wert aufweist. Der Subtrahierer 400 addiert 04E mit den
vorherstehend genannten Auswahldaten ACC<8:0> (18F)
als die Divisorspeicherdaten REG<8:0>, wobei ein hoher logischer
Wert den Eingangsübertrag
des Subtrahierers 400 darstellt.When the start signal S is "high", the selection data ACC <8: 0> is synchronized with the first clock CK and dividend data ADA <8: 0> (04E) is selected, while the control data ACC <9> has a low logical value , The subtractor 400 04E is added with the above-mentioned selection data ACC <8: 0> (18F) as the divisor storage data REG <8: 0>, where a high logical value is the input carry of the subtractor 400 represents.
Das
bedeutet, daß der
Subtrahierer 400 den Wert 010 als Divisordaten BAT<8:0> von 04E als Auswahldaten
ACC<8:0> subtrahiert. Demzufolge sind
die Subtraktionsausgabedaten S<8:0> des Subtrahierers 400 1DF
und der Ausgabeübertrag
S<9> besitzt einen niederen
logischen Wert. Das Auswahlsteuersignal SC, welches das Ausgangssignal
einer Steuersignal-Erzeugungsschaltung 500 darstellt, gibt entsprechend
den vorherstehend genannten Steuerdaten ACC<9> einen
niederen logischen Wert aus, während
der Ausgabeübertrag
S<9> einen niederen logischen
Wert und das Zeitsteuersignal TL einen hohen logischen Wert besitzt.
Die von der Ausgabedaten-Erzeugungsschaltung 600 ausgegebenen
Ausgabedaten QUO<8:0> geben den Ausgabewert
000 als gleichen Wert zu den vorhergehenden Daten aus.This means that the subtractor 400 subtracts the value 010 as divisor data BAT <8: 0> from 04E as selection data ACC <8: 0>. As a result, the subtraction output data S <8: 0> of the subtractor 400 1DF and the output carry S <9> has a low logic value. The selection control signal SC, which is the output of a control signal generation circuit 500 represents, gives in accordance with the above-mentioned control data ACC <9>, a low logical value, while the output carry S <9> has a low logical value and the timing signal TL has a high logical value. The output data generating circuit 600 output data QUO <8: 0> outputs the output value 000 as the same value as the previous data.
Ein
von der Datenauswahlschaltung 300 ausgegebenes Auswahldatum
ACC<8:1> und ein Steuerdatum
ACC<9> werden mit dem zweiten
Taktsignal gemäß einem
Auswahlsteuersignal mit dem vorherstehend genannten niederen logischen
Wert synchronisiert, wobei ein um ein Bit nach links geschobenes
Datum ausgegeben wird. Das niederwertigste Bit ACC<0> der ausgewählten Daten ACC<8:0> gibt einen niederen
logischen Wert aus. Das bedeutet, daß die Auswahldaten ACC<8:0> den Wert 09C ausgeben
und das Steuerdatum ACC<9> einen niederen logischen
Wert ausgibt. Die Subtraktionsausgabedaten S<8:0> des
Subtrahierers 400 besitzen den Wert 02C, wobei der Ausgabeübertrag von
eins einen hohen logischen Wert aufweist. Das Steuerdatum ACC<9> besitzt einen niederen
logischen Wert, während
der Ausgabeübertrag
S<9> einen hohen logischen
Wert aufweist und das Zeitsteuersignal TL einen niederen logischen
Wert besitzt, so daß das
Auswahlsteuersignal SC einen hohen logischen Wert ausgibt und die
Ausgabedaten QUO<8:0> synchronisiert mit
dem dritten Taktsignal sind und den Datenwert 004 ausgeben.One from the data selection circuit 300 output selection data ACC <8: 1> and a control data ACC <9> are synchronized with the second clock signal according to a selection control signal having the above-mentioned lower logical value, thereby outputting a data shifted leftward. The least significant bit ACC <0> of the selected data ACC <8: 0> outputs a low logical value. This means that the selection data ACC <8: 0> outputs the value 09C and the control data ACC <9> outputs a low logical value. The subtraction output data S <8: 0> of the subtractor 400 have the value 02C, with the output carry of one having a high logic value. The control data ACC <9> has a low logic value, while the output carry S <9> has a high logical value and the timing signal TL has a low logical value, so that the selection control signal SC outputs a high logical value and the output data QUO <8 : 0> are synchronized with the third clock signal and output the data value 004.
Gemäß dem Auswahlsteuersignal
SC mit seinem vorherstehend genannten hohen logischen Wert, werden
die Auswahldaten ACC<8:1> sowie das Steuerdatum
ACC<9> mit dem dritten Taktsignal CK
synchronisiert, der Wert 02C ausgewählt, wobei das niederwertigste
Bit ACC<0> aus den Auswahldaten
einen niederen logischen Wert besitzt. Das bedeutet, daß die Auswahldaten
ACC<8:0> den Wert 058 besitzen
und das Auswahldatum ACC<9> einen niederen logischen
Wert aufweist. Die Subtraktionsausgabedaten S<8:0> besitzen
den Wert 1E8, während
der Ausgabeübertrag
S<9> einen niederen logischen
Wert aufweist. Das vorherstehend genannte Steuerdatum ACC<9> und der Ausgabeübertrag S<9> besitzen entsprechende
niedere logische Werte, wobei auch das Zeitsteuersignal TL einen
niederen logischen Wert aufweist, so daß das Auswahlsteuersignal SC
einen niederen logischen Wert ausgibt und die Ausgabedaten QUO<8:0> mit dem vierten Taktsignal
CK synchronisiert sind und einen Datenwert 008 ausgeben.According to the selection control signal
SC with its above-mentioned high logical value
the selection data ACC <8: 1> as well as the tax date
ACC <9> with the third clock signal CK
synchronized, the value 02C selected, with the least significant
Bit ACC <0> from the selection data
has a low logical value. This means that the selection data
ACC <8: 0> have the value 058
and the selection date ACC <9> has a low logical one
Value. The subtraction output data S <8: 0> have
the value 1E8 while
the output carry
S <9> a lower logical
Value. The above control data ACC <9> and the output carry S <9> have corresponding ones
low logic values, wherein the timing signal TL a
has a low logical value, so that the selection control signal SC
outputs a low logic value and the output data QUO <8: 0> with the fourth clock signal
CK are synchronized and output a data value 008.
Gemäß dem vorherstehend
beschriebenen Verfahren werden die von der Datenauswahlschaltung 300 ausgegebenen
Auswahldaten ACC<8:0> mit dem vierten Taktsignal
CK synchronisiert, wobei ein Datenwert von 0B0 ausgegeben wird und
das Steuerdatum ACC<9> einen niederen logischen
Wert ausgibt. Die Subtraktionsausgabedaten S<8:0> des Subtrahierers 400 besitzen
den Wert 040, während der
Ausgabeübertrag
S<9> einen hohen logischen Wert
aufweist. Das vorherstehend beschriebene Steuerdatum ACC<9> und der Ausgabeübertrag S<9> besitzen einen hohen
logischen Wert, so daß das
Auswahlsteuersignal SC einen hohen logischen Wert ausgibt und die
Ausgabedaten QUO<8:0> mit dem fünften Taktsignal
CK synchronisiert sind und einen Datenwert von 014 ausgeben.According to the above-described method, those of the data selection circuit 300 outputted selection data ACC <8: 0> synchronized with the fourth clock signal CK, whereby a data value of 0B0 is output and the control data ACC <9> outputs a low logic value. The subtraction output data S <8: 0> of the subtractor 400 have the value 040, while the output carry S <9> has a high logical value. The above-described control data ACC <9> and the output carry S <9> have a high logic value, so that the selection control signal SC outputs a high logic value and the output data QUO <8: 0> is synchronized with the fifth clock signal CK and a data value from 014 spend.
Die
von der Datenauswahlschaltung 300 ausgegebenen Auswahldaten
ACC<8:0> werden mit dem fünften Taktsignal
CK synchronisiert und geben einen Datenwert von 080 aus, während das
Steuerdatum ACC<9> einen niederen logischen
Wert ausgibt. Die Subtraktionsausgabedaten S<8:0> des Subtrahierers 400 besitzen
den Wert 010, während der
Ausgabeübertrag
S<9> einen hohen logischen Wert
aufweist. Das Steuerdatum ACC<9> besitzt einen niederen
logischen Wert, während
der Ausgabeübertrag
S<9> einen hohen logischen
Wert besitzt, so daß das
Auswahlsteuersignal SC einen hohen logischen Wert ausgibt und die
Ausgabedaten QUO<8:0> zum Ausgeben eines
Datenwerts von 02C mit dem sechsten Taktsignal CK synchronisiert sind.The data selection circuit 300 output selection data ACC <8: 0> are synchronized with the fifth clock signal CK and output a data value of 080, while the control data ACC <9> outputs a low logic value. The subtraction output data S <8: 0> of the subtractor 400 have the value 010, while the output carry S <9> has a high logical value. The control data ACC <9> has a low logical value, while the output carry S <9> has a high logical value, so that the selection control signal SC outputs a high logical value and the output data QUO <8: 0> for outputting a data of 02C are synchronized with the sixth clock signal CK.
Die
von der Datenauswahlschaltung 300 ausgegebenen Auswahldaten
ACC<8:0> werden mit dem sechsten
Taktsignal CK synchronisiert, wobei ein Datenwert von 020 ausgegeben
wird und das Steuerdatum ACC<9> einen niederen logischen
Wert ausgibt. Die Subtraktionsausgabedaten S<8:0> des Subtrahierers 400 besitzen
den Wert 1B0 und der Ausgabeübertrag
S<9> weist einen niederen
logischen Wert auf, so daß das
Auswahlsteuersignal SC einen niederen logischen Wert ausgibt und
die Ausgabedaten QUO<8:0> zum Ausgeben eines
Datenwerts von 058 mit dem siebten Taktsignal CK synchronisiert
werden.The data selection circuit 300 output selection data ACC <8: 0> are synchronized with the sixth clock signal CK, whereby a data value of 020 is output and the control data ACC <9> outputs a low logic value. The subtraction output data S <8: 0> of the subtractor 400 have the value 1B0, and the output carry S <9> has a low logical value, so that the select control signal SC outputs a low logic value and the output data QUO <8: 0> is synchronized with the seventh clock signal CK to output a data of 058 ,
Die
von der Datenauswahlschaltung 300 ausgegebenen Auswahldaten
ACC<8:0> werden mit dem siebten
Taktsignal CK synchronisiert, wobei ein Datenwert von 040 ausgegeben
wird und das Steuerdatum ACC<9> einen niederen logischen
Wert ausgibt. Die Subtraktionsausgabedaten S<8:0> des Subtrahierers 400 besitzen
den Wert 1D0, und der Ausgabeübertrag
S<9> besitzt einen niederen
logischen Wert, so daß das
Auswahlsteuersignal SC einen niederen logischen Wert ausgibt und
die Ausgabedaten QUO<8:0> zum Ausgeben eines
Datenwerts von 0B0 mit dem achten Taktsignal CK synchronisiert werden.The data selection circuit 300 outputted selection data ACC <8: 0> are synchronized with the seventh clock signal CK, whereby a data value of 040 is output and the control data ACC <9> outputs a low logical value. The subtraction output data S <8: 0> of the subtractor 400 have the value 1D0, and the output carry S <9> has a low logical value, so that the selection control signal SC outputs a low logical value and the output data QUO <8: 0> is synchronized with the eighth clock signal CK to output a data value of 0B0 ,
Die
von der Datenauswahlschaltung 300 ausgegebenen Auswahldaten
ACC<8:0> werden mit dem achten
Taktsignal CK synchronisiert, wobei ein Datenwert von 080 ausgegeben
wird und das Steuerdatum ACC<9> einen niederen logischen
Wert ausgibt. Die Subtraktionsausgabedaten S<8:0> des Subtrahierers 400 besitzen
den Wert 010, wobei der Ausgabeübertrag
S<9> einen hohen logischen
Wert aufweist und das vorherstehend genannte Zeitsteuersignal TL
einen niederen logischen Wert besitzt, so daß das Auswahlsteuersignal SC
einen niederen logischen Wert ausgibt.The data selection circuit 300 output selection data ACC <8: 0> are synchronized with the eighth clock signal CK, wherein a Data value of 080 is output and the control data ACC <9> outputs a low logical value. The subtraction output data S <8: 0> of the subtractor 400 have the value 010, and the output carry S <9> has a high logical value and the above timing signal TL has a low logical value, so that the select control signal SC outputs a low logic value.
Dadurch
wird der Datenwert 0B0 als Ausgabedaten QUO<8:0> erzeugt,
die mit dem achten Taktsignal CK synchronisiert erzeugt werden,
wobei ihre binäre
Form den Wert 010110000 besitzt. Zu diesem Zeitpunkt wird das höchstwertige
Bit abgeschnitten bzw. weggeworfen, wodurch der Wert 10110000 übrig bleibt,
der in dezimaler Schreibweise als 1·1/2 + 1·1/8 + 1·1/16 = 0,6875 ausgedrückt werden
kann. Da gemäß dem vorherstehend
beschriebenen Beispiel die Dividendendaten ADA<8:0> den
Dezimalwert 76 besitzen und die Divisordaten BAT<8:0> den Dezimalwert
112 aufweisen, beträgt
das Ergebnis der Division 76/112 = 0,6785.Thereby
the data value 0B0 is generated as output data QUO <8: 0>,
which are generated synchronized with the eighth clock signal CK,
being their binary
Form has the value 010110000. At this time, the most significant
Bit cut off or thrown away, leaving the value 10110000,
expressed in decimal notation as 1 × 1/2 + 1 × 1/8 + 1 × 1/16 = 0.6875
can. As according to the previous
described example, the dividend data ADA <8: 0> the
Have decimal value 76 and the divisor data BAT <8: 0> the decimal value
112 is
the result of the division 76/112 = 0.6785.
Demzufolge
kann eine vereinfachte Schaltung aufgebaut werden, mit der eine
Division durchgeführt
werden kann, die lediglich einen Fehler von ±1,5% im Vergleich zum tatsächlichen
Ergebnis aufweist.As a result,
can be constructed a simplified circuit, with a
Division performed
can only be an error of ± 1.5% compared to the actual
Result.
Es
versteht sich von selbst, daß verschiedene
weitere Änderungen
und Modifikationen vom Fachmann durchgeführt werden können, ohne
vom Umfang und von den Grundzügen
dieser Erfindung abzuweichen.It
It goes without saying that different
further changes
and modifications can be made by a person skilled in the art without
on the scope and the basic features
to depart from this invention.
Eine
Parallelverarbeitungs-Divisionsschaltung empfängt Dividendendaten, Divisordaten,
die größer als
die Dividendendaten sind, ein Startsignal sowie ein Resetsignal
und gibt den Quotienten aus. Die Schaltung besitzt eine Zeitsteuerschaltung,
welche die Arbeitsabläufe
steuert. Ein Datenregister empfängt
die Divisordaten und gibt Divisorspeicherdaten aus, die die invertierten
Divisordaten darstellen und synchron mit dem Taktsignal gemäß dem Startsignal
sind. Eine Datenauswahlschaltung empfängt die Dividendendaten, das
Startsignal und das Taktsignal, und wählt ein Datum aus, welches
ein Dividendendatum oder ein existierendes ausgewähltes, gemäß dem Startsignal
um ein Bit nach links geschobenes Datum ist, oder Daten, die verschobene
Daten darstellen, wobei die Divisorspeicherdaten von den existierenden
Auswahldaten subtrahiert werden, um ein Bit nach links verschoben
werden und anschließend
Auswahldaten und Steuerdaten ausgegeben werden. Ein Subtrahierer
empfängt
die Divisorspeicherdaten und die Auswahldaten und gibt die Subtraktionsausgabedaten
sowie einen Ausgabeübertrag,
welcher einen Überlauf
im Ergebnis der Subtraktion anzeigt, aus. Eine Steuersignal-Erzeugungsschaltung
empfängt
das Zeitsteuersignal, die Steuerdaten und den Ausgabeübertrag
und gibt ein Auswahlsteuersignal mit einem hohen logischen Wert aus,
wenn das Zeitsteuersignal einen hohen logischen Wert aufweist und
wenn entweder das Steuerdatum oder der Ausgabeübertrag einen hohen logischen
Wert aufweist. Eine Ausgabedaten-Erzeugungsschaltung empfängt das
Zeitsteuersi gnal, das Auswahlsteuersignal und ist gemäß dem Zeitsteuersignal
mit dem Taktsignal synchronisiert, wobei das Auswahlsteuersignal
gespeichert wird und durch Verschiebung des Auswahlsteuersignals
um ein Bit nach links Daten ausgegeben werden.A
Parallel processing division circuit receives dividend data, divisor data,
the bigger than
the dividend data is a start signal and a reset signal
and outputs the quotient. The circuit has a timing circuit,
which the work processes
controls. A data register is received
the divisor data and outputs divisor memory data that is the inverted one
Divisor data represent and synchronous with the clock signal according to the start signal
are. A data selection circuit receives the dividend data that
Start signal and the clock signal, and selects a date, which
a dividend date or an existing selected one, according to the start signal
data shifted to the left by one bit, or data being shifted
Represent data, wherein the divisor memory data from the existing
Selection data is subtracted by one bit to the left
and then
Selection data and control data are output. A subtractor
receives
the divisor storage data and the selection data, and outputs the subtraction output data
and an output transfer,
which an overflow
as a result of the subtraction indicates. A control signal generation circuit
receives
the timing signal, the control data and the output carry
and outputs a selection control signal having a high logical value,
when the timing signal has a high logic value and
if either the control data or the output carry a high logical
Value. An output data generating circuit receives the
Zeitsteuersi signal, the selection control signal and is in accordance with the timing signal
synchronized with the clock signal, wherein the selection control signal
is stored and by shifting the selection control signal
by one bit to the left data are output.