DE2902488C2 - - Google Patents
Info
- Publication number
- DE2902488C2 DE2902488C2 DE19792902488 DE2902488A DE2902488C2 DE 2902488 C2 DE2902488 C2 DE 2902488C2 DE 19792902488 DE19792902488 DE 19792902488 DE 2902488 A DE2902488 A DE 2902488A DE 2902488 C2 DE2902488 C2 DE 2902488C2
- Authority
- DE
- Germany
- Prior art keywords
- gate
- dual
- flip
- output
- adder
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired
Links
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/523—Multiplying only
- G06F7/53—Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel
- G06F7/5318—Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel with column wise addition of partial products, e.g. using Wallace tree, Dadda counters
-
- 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/50—Adding; Subtracting
- G06F7/504—Adding; Subtracting in bit-serial fashion, i.e. having a single digit-handling circuit treating all denominations after each other
-
- 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/50—Adding; Subtracting
- G06F7/505—Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination
-
- 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/38—Indexing scheme relating to groups G06F7/38 - G06F7/575
- G06F2207/3804—Details
- G06F2207/3808—Details concerning the type of numbers or the way they are handled
- G06F2207/3852—Calculation with most significant digit first
-
- 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/38—Indexing scheme relating to groups G06F7/38 - G06F7/575
- G06F2207/48—Indexing scheme relating to groups G06F7/48 - G06F7/575
- G06F2207/4802—Special implementations
- G06F2207/481—Counters performing arithmetic operations
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Optimization (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Complex Calculations (AREA)
Description
Die Erfindung bezieht sich auf ein Addierwerk für Dualzahlen gemäß dem Oberbegriff des Patentanspruchs 1.The invention relates to an adder for dual numbers according to the generic term of claim 1.
Die niederwertigste Dualstelle entspricht bekanntlich im Zehnersystem der Zahl 0 und der Zahl 1, die nächste Wertigkeitsstufe ist durch die Zahlen 2 und 3, die folgende Wertigkeitsstufe durch die Zahlen 4, 5, 6 und 7 usw. gegeben. Allgemein gehören zur i-ten Wertigkeitsstufe die Zahlen im Bereich 2 i-1 bis (2 i -1), wobei i jeden ganzzahligen Wert annehmen kann.As is well known, the least significant dual digit in the tens system corresponds to the number 0 and the number 1, the next level of importance is given by the numbers 2 and 3, the next level of importance by the numbers 4, 5, 6 and 7 etc. In general, the i- th valency level includes the numbers in the range 2 i -1 to (2 i -1), where i can take any integer value.
Die bekannten elektronischen Addierschaltungen sind derart ausgelegt, daß die Verknüpfung mit der niedrigsten Wertigkeitsstufe, also mit i = 1, beginnt und sukzessive zu immer höheren Wertigkeitsstufen fortschreitet. Solche Addierschaltungen sind z. B. in dem Buch von Ulrich "Grundlagen der Digital-Elektronik und digitalen Rechentechnik" (1975), S. 99-107, beschrieben. Dort ist auch der Begriff des "Halbaddierers" und des "Volladdierers" erklärt. The known electronic adding circuits are designed in such a way that the linkage begins with the lowest value level, that is to say with i = 1, and progresses progressively to ever higher value levels. Such adder circuits are e.g. B. in the book by Ulrich "Fundamentals of digital electronics and digital computing" (1975), pp 99-107, described. The terms "half adder" and "full adder" are also explained there.
Aus IBM Technical Disclosure Bulletin, Band 17, Nr. 1, Juni 1974, S. 118 bis 119 ist eine Anordnung bekannt, die durch die Verwendung von Halb- und Volladdierern sowie ihre sinnvolle Anordnung geringe Verzögerungszeiten für die gebildeten Überträge erlaubt.From IBM Technical Disclosure Bulletin, Volume 17, No. 1, June 1974, pp. 118 to 119 an arrangement is known, which by the Use of half and full adders and their sensible arrangement short delay times for the transfers carried out allowed.
Der Erfindung liegt die Aufgabe zugrunde, ein Addierwerk für Dualzahlen anzugeben, das bei besonders einfachem konstruktiven Aufbau die durchzuführende arithmetische Operation besonders schnell ausführen kann.The invention has for its object an adder for Specify dual numbers, which is particularly simple constructive Set up the arithmetic operation to be performed especially can run quickly.
Wie gemäß der Erfindung erkannt wurde, ist es möglich, den für die Addition erforderlichen Zeitbedarf drastisch zu reduzieren, indem man die Rechenanlage so auslegt, daß die Addition bei den höchstwertigsten Bits der beiden Summanden A und B beginnt und dann in Richtung immer niederwertigerer Bits, also Dualstellen, fortschreitet.As was recognized according to the invention, it is possible to drastically reduce the time required for the addition by designing the computing system in such a way that the addition begins with the most significant bits of the two summands A and B and then in the direction of increasingly less significant bits, so dual digits progresses.
Die gestellte Aufgabe wird demzufolge erfindungsgemäß durch die Merkmale des kennzeichnenden Teils des Patentanspruchs 1 gelöst.The task is therefore according to the invention by Features of the characterizing part of claim 1 solved.
Das erfindungsgemäße Addierwerk besitzt den Vorteil, daß es durch die alleinige Verwendung von Halbaddierern und ihrer sinnvollen Anordnung einen einfachen konstruktiven Aufbau darstellt und die durchzuführende arithmetische Operation wesentlich schneller ausführen kann als aus dem Stand der Technik bekannt.The adder according to the invention has the advantage that it through the sole use of half adders and their reasonable arrangement represents a simple constructive structure and the arithmetic operation to be performed is essential can run faster than is known from the prior art.
Ausgestaltungen der Erfindung sind in Unteransprüchen gekennzeichnet. Embodiments of the invention are characterized in the subclaims.
Das einem Addierwerk gemäß der Erfindung zugrundeliegende Rechenverfahren arbeitet somit nach folgenden Punkten:The basis of an adder according to the invention The calculation method works according to the following points:
- - Die Addition beginnt bei der höchstwertigsten Stelle- The addition begins at the most significant digit
- - Jedes Bit B i des zu addierenden Summanden B wird einzeln zu dem in der Dualstellenwertigkeit korrespondierenden Bit A i des anderen Summanden A addiert- Each bit B i of the to be added addend B is added individually to the corresponding locations in the dual-bit value A i of the other addend A
- - Nach jeder Bit-Einzeladdition wird eine Zwischensumme gebildet, welche den Ausgangspunkt für die weitere im Dualstellenwert um 1 niedrigere Einzelbit-Addition darstellt.- After each individual bit addition there is a subtotal formed, which is the starting point for the further in Dual digit value reduced by 1 single bit addition represents.
Hat man demgemäß die beiden SummandenSo you have the two summands
A = A m , A m - 1, . . .A n + 1, A n , A n - 1, . . .A₂, A₁ A = A m , A m - 1,. . . A n + 1 , A n , A n - 1,. . . A ₂, A ₁
undand
B = B n , B n - 1, . . .B₂, B₁ B = B n , B n - 1,. . . B ₂, B ₁
mit
m ≧ n und A m ≠ 0, B n ≠ 0, dann werden zunächst die im
Falle m < n vorliegenden überstehenden Bits A m bis A n - 1
in das Ergebnis übernommen, also jeweils mit einer Null
additiv verknüpft. Dann erfolgt die erste Verknüpfung
(A n + B n ), die ein von A i verschiedenes Ergebnis liefert.
Dieses Ergebnis ist entweder eine "0" oder eine "1" oder
"2¹" = "10". In den beiden ersten Fällen bleibt das bisher
erhaltene "Ergebnis", nämlich die Kombination der
überstehenden Bits A m , . . .A n + 1 unverändert. Im letzten
Fall hingegen muß die vorliegende Kombination der überstehenden
Bits durch Inversion der einzelnen Glieder bis
einschließlich der ersten in Richtung steigender Dualstellenwertigkeit
i folgenden "0" abgeändert werden.
Für die additive Verknüpfung der beiden folgenden Bits
A n - 1 und B n - 1 gilt, wie auch für alle folgenden Verknüpfungen
dasselbe. Falls dabei A i und/oder B i gleich "0"
ist das Verknüpfungsergebnis (A i + B i ) gleich B i und/oder
gleich A i .With
m ≧ n and A m ≠ 0, B n ≠ 0, then the protruding bits A m to A n - 1 present in the case of m < n are first adopted in the result, that is to say they are each additively linked with a zero. Then there is the first link (A n + B n ) , which gives a result different from A i . This result is either a "0" or a "1" or "2 1" = "10". In the first two cases the "result" obtained so far, namely the combination of the protruding bits A m ,. . . A n + 1 unchanged. In the latter case, however, the existing combination of the protruding bits must be changed by inversion of the individual elements up to and including the first "0" following in the direction of increasing dual position value i . The same applies to the additive combination of the two following bits A n -1 and B n -1 , as for all subsequent combinations. If A i and / or B i is "0", the link result (A i + B i ) is B i and / or A i .
Allgemein gilt für die Addition der beiden i-wertigen Bits A i und B i folgendes: The following generally applies to the addition of the two i- valued bits A i and B i :
Ist das Verknüpfungsergebnis (A i + B i ) einstellig, so erfolgt keine Korrektur der bereits vorliegenden Verknüpfungsergebnisse (A i + 1 + B i + 1 ), (A i + 2 + B i + 2 ) usw.. Ist das Verknüpfungsergebnis (A i + B i ) hingegen zweistellig, so müssen die in ihrer Reihenfolge festliegenden bereits erhaltenen Verknüpfungsergebnisse bis einschließlich der ersten "0", die auf das zuletzt erzielte Verknüpfungsergebnis (A i + B i ) im Sinne wachsender Dualstellenwertigkeit i folgt, invertiert werden, um den erforderlichen Übertrag zu gewährleisten.Is the logic operation result (A i + B i) one digit, then no correction of the already existing link results (A i + 1 + B i + 1), (A i + 2 + B i + 2), etc .. If the linking result ( A i + B i ), on the other hand, in two digits, the link results already obtained in their order must be inverted up to and including the first "0", which follows the last link result obtained (A i + B i ) in the sense of increasing dual-place value i , to ensure the necessary transfer.
Die Realisierung einer Vorrichtung gemäß der Erfindung ist auf verschiedene Weisen möglich, von denen drei anhand der Fig. 1 bis 3 nunmehr vorgestellt werden. Zunächst wird auf die bevorzugte Ausgestaltung gemäß Fig. 1 eingegangen.The implementation of a device according to the invention is possible in various ways, three of which are now presented with reference to FIGS. 1 to 3. First, the preferred embodiment according to FIG. 1 is discussed.
Die in Fig. 1 dargestellte Ausgestaltung der Erfindung ist besonders geeignet, wenn besonders kurze Rechenzeiten angestrebt werden.The embodiment of the invention shown in FIG. 1 is particularly suitable if particularly short computing times are aimed for.
Bei der in Fig. 1 dargestellten Addierschaltung besteht die die Verknüpfungslogik bildende Schaltung lediglich aus UND-Gattern und Exklusiv-ODER-Gattern sowie aus ODER-Gattern. Dabei ist je ein UND-Gatter mit einem Exklusiv- ODER-Gatter zu je einem Halbaddierer zusammengefaßt.In the adder circuit shown in FIG. 1, the circuit forming the logic logic consists only of AND gates and exclusive OR gates as well as OR gates. An AND gate is combined with an exclusive OR gate to form a half adder.
Wesentlich für die in Fig. 1 dargestellte Addierschaltung bzw. Verknüpfungslogik sind die folgenden Punkte:The following points are essential for the adding circuit or logic logic shown in FIG. 1:
- 1. Die Anlage ist für m Dualstellen ausgelegt, so daß für die beiden höchstwertigsten Dualstellen A i und B i von mit der Anlage addierbaren Summanden i ≦ m ist.1. The system is designed for m dual digits, so that for the two most significant dual digits A i and B i of summands addable with the system i ist m .
- 2. Die jeweils durch die i-te Dualstelle A i und B i der beiden Summanden A und B zu beaufschlagenden beiden Eingänge A i * und B i * der Verknüpfungslogik steuern jeweils eine Anzahl i von Halbaddierern, wobei i gleich der Wertigkeitsstufe der dem betreffenden Eingangspaar zugeordneten Dualstellen A i und B i ist. Jeder Halbaddierer besteht aus einem UND-Gatter U ir und einem Exklusiv-ODER-Gatter E ir , wobei der erste Index i die Zugehörigkeit des betreffenden Halbaddierers zu dem jeweils steuernden Eingangspaar A i *, B i * anzeigt und der zweite Index "r" von 1 bis i läuft und die jeweilige Nummer des betreffenden Halbaddierers unter den dem genannten Ausgangspaar zugeordneten i Halbaddierern angibt.2. The two inputs A i * and B i * of the combination logic to be acted upon by the i th dual position A i and B i of the two summands A and B each control a number i of half adders, where i is the valence level of the relevant one Input pair assigned dual digits A i and B i . Each half adder consists of an AND gate U ir and an exclusive OR gate E ir , the first index i indicating the affiliation of the relevant half adder to the respective controlling input pair A i *, B i * and the second index "r" runs from 1 to i and indicates the respective number of the relevant half adder among the i half adders assigned to the output pair mentioned.
- Dem entspricht, daß dem niederwertigsten Bitpaar A₁ und B₁ zu beaufschlagenden Eingangspaar A₁*, B₁* der Verknüpfungslogik nur der Halbaddierer U₁₁, E₁₁ und z. B. dem der vierten Dualstufenwertigkeit, also dem dem Wert i = 4 zugeordneten Eingangspaar A₄*, B₄* vier solche Halbaddierer, nämlich die Halbaddierer U₄₁, E₄₁; U₄₂, E₄₂; U₄₃, E₄₃; U₄₄, E₄₄, zugeordnet sind.This corresponds to that the least significant pair of bits A and B ₁ ₁ to be acted upon input pair A ₁ *, B * ₁ of the combinatorial logic only the half adder U ₁₁, E ₁₁ and z. B. that of the fourth dual-stage valency, ie the input pair A ₄ *, B ₄ * assigned to the value i = 4, four such half adders, namely the half adders U ₄₁, E ₄₁; U ₄₂, E ₄₂; U ₄₃, E ₄₃; U ₄₄, E ₄₄, are assigned.
- 3. Die Zuordnung der zu dem betreffenden Eingangspaar A i *, B i * gehörenden i Halbaddierer ist dadurch gegeben, daß die beiden Eingänge des UND-Gatters U i 1 und des Exklusiv- ODER-Gatters E i 1 des ersten dieser Halbaddierer U i 1, E i 1 jeweils mit einem der beiden Eingänge A i *, B i * verbunden sind und daß - mit Ausnahme des letzten dieser Halbaddierer, nämlich des Halbaddierers U ii , E ii - der Ausgang des Exklusiv-ODER-Gatters E ir des betreffenden Halbaddierers sowohl an einen Eingang des Exklusiv-ODER-Gatters E i,(r + 1) als auch an einen Eingang des UND-Gatters U i,(r + 1) des nächsten dieser dem Eingangspaar A i *, B i * zugeordneten Halbaddierers E i,(r + 1), U i,(r + 1) liegt.3. The assignment of the i half adders belonging to the relevant input pair A i *, B i * is given in that the two inputs of the AND gate U i 1 and the exclusive OR gate E i 1 of the first of these half adders U i 1 , E i 1 are each connected to one of the two inputs A i *, B i * and that - with the exception of the last of these half adders, namely the half adder U ii , E ii - the output of the exclusive OR gate E ir des Half adder in question both to an input of the exclusive OR gate E i, (r + 1) and to an input of the AND gate U i, (r + 1) of the next of these assigned to the input pair A i *, B i * Half adder E i, (r + 1) , U i, (r + 1) .
- 4. Die unter Ziffer 3 erwähnte Ausnahme ist dadurch gegeben, daß das Exklusiv-ODER-Gatter E ii des i-ten der durch das Eingangspaar A i *, B i * gesteuerten Halbaddierers E ii , U ii nicht mehr zur Steuerung eines weiteren Halbaddierers sondern zur Steuerung eines durch die i-te Dualstelle (A + B) i der Summe (A + B) zubeaufschlagenden Schaltungsteils, z. B. eines Speichers, dient. Der Signalausgang des Exklusiv-ODER-Gatters E ii des letzten der dem Eingangspaar A i *, B i * zugeordneten Halbaddierer E ii , U ii bildet somit den die i-te Dualstelle des Ergebnisses liefernden Ausgang AU i der Verknüpfungslogik.4. The exception mentioned under number 3 is due to the fact that the exclusive OR gate E ii of the i- th half adder E ii , U ii controlled by the input pair A i *, B i * no longer controls a further half adder but to control a circuit part to be acted upon by the i- th dual digit (A + B) i of the sum (A + B) , e.g. B. a memory is used. The signal output of the exclusive-OR gate E ii of the last half-adder E ii , U ii assigned to the input pair A i *, B i * thus forms the output AU i of the logic logic which supplies the i- th dual position of the result.
- 5. Der Ausgang der einzelnen UND-Gatter U ir der in der Verknüpfungslogik vorgesehenen Halbaddierer U ir , E ir ist - lediglich mit Ausnahme der Fälle i = m - jeweils an den Eingang des gemäß Ziffer 4 durch das der Dualstellenwertigkeit (i + 1) zugeordnete Eingangspaar A* (i + 1), B* (i + 1) beaufschlagten Halbaddierers U (i + 1),r , E (i + 1),r gelegt, der nicht durch das die Steuerung vom Eingangspaar A* (i + 1), B* (i + 1) vermittelnde Exklusiv-ODER-Gatter E (i + 1),(r - 1) beaufschlagt ist.5. The output of the individual AND gates U ir of the half adders U ir , E ir provided in the logic logic is - only with the exception of the cases i = m - at the input of the according to number 4 by that of the dual place value (i + 1) assigned input pair A * (i + 1) , B * (i + 1) applied half adder U (i + 1), r , E (i + 1), r , which is not controlled by the control of the input pair A * (i + 1) , B * (i + 1) mediating exclusive OR gate E (i + 1), (r - 1) is applied.
- 6. Im Falle i = m stehen für eine Zusammenschaltung gemäß Ziffer 5 keine Halbaddierer mehr zur Verfügung, da das der höchstwertigsten Dualstelle i = m zugeordnete Eingangspaar A m , B m das letzte Eingangspaar ist. Um jedoch auch hier die Schaltung abzurunden ist eine Anzahl m von ODER- Gattern vorgesehen, die jeweils zwei Eingänge aufweisen. Die Anschaltung dieser ODER-Gatter O r,(r + 1) ist so getroffen, daß der Ausgang der einzelnen UND-Gatter U m,(r + 1) jeweils mit dem einen Eingang des betreffenden ODER-Gatters O r,(r + 1) verbunden ist, während der zweite Eingang des ODER-Gatters O r,(r + 1) im Falle r = 1 durch den Ausgang des UND-Gatters U m 2 und im Falle r < 1 durch den Ausgang des ODER-Gatters O (r - 1),r gesteuert ist. Der Ausgang AU (m + 1), der der (m + 1)-wertigen Dualstelle des Ergebnisses zugeordnet ist, ist dabei durch den Signalausgang des letzten dieser ODER-Gatter, nämlich des ODER-Gatters O (m - 1),m , gegeben, das einerseits zufolge des soeben angegebenen Schaltplans mit dem einen Eingang am Ausgang des UND-Gatters U mm und mit dem anderen Eingang am Ausgang des ODER-Gatters O (m - 2),(m - 1) liegt.6. In the case of i = m stand for an interconnection in accordance with Clause 5, no half-adder longer available, as the most significant of the dual point m i = m associated input pair A m, B is the last input pair. However, to round off the circuit here, too, a number m of OR gates are provided, each having two inputs. The connection of these OR gates O r, (r + 1) is made such that the output of the individual AND gates U m, (r + 1) each have one input of the relevant OR gate O r, (r + 1) is connected, while the second input of the OR gate O r, (r + 1) in the case r = 1 by the output of the AND gate U m 2 and in the case r <1 by the output of the OR gate O (r - 1), r is controlled. The output AU (m + 1) , which is assigned to the (m + 1) -valented binary position of the result, is here by the signal output of the last of these OR gates, namely the OR gate O (m - 1), m , given that, on the one hand, according to the circuit diagram just given, there is one input at the output of the AND gate U mm and the other input at the output of the OR gate O (m - 2), (m - 1) .
Die in Fig. 1 dargestellte Verknüpfungslogik einer Anordnung gemäß der Erfindung ist für den Fall m = 5 ausgelegt und hat somit zufolge der aus den Ziff. 1-5 ersichtlichen Aufbauweise insgesamt 1 + 2 + 3 + 4 + 5 = 15 Halbaddierer und damit 15 Exklusiv-ODER-Gatter und 15 UND- Gatter, sowie 4 ODER-Gatter. Im allgemeinen Fall hat man in entsprechender Weise (m + 1) · m/2 Halbaddierer und (m - 1) ODER-Gatter. Wie aus Fig. 1 ersichtlich ist benötigt die dargestellte Schaltung von Summanden A und B zu je 5 Bit insgesamt 10 Gatterlaufzeiten.The logic of an arrangement according to the invention shown in FIG. 1 is designed for the case m = 5 and therefore has the 1-5 apparent construction, a total of 1 + 2 + 3 + 4 + 5 = 15 half adders and thus 15 exclusive OR gates and 15 AND gates, as well as 4 OR gates. In the general case, one has (m + 1) · m / 2 half adders and (m - 1) OR gates in a corresponding manner. As can be seen from FIG. 1, the circuit shown for summands A and B , each with 5 bits, requires a total of 10 gate delays.
Demgegenüber erfordert eine konventionelle Schaltung für die Addition von 5-Bitworten insgesamt 2 + 4 · 4 Gatterlaufzeiten, wobei die zwei Bits mit der geringsten Wertigkeit über einen Halbaddierer mit einer Laufzeit von zwei Gattern summiert sind. Demzufolge beträgt die Zeitersparnis bei einer gemäß Fig. 1 ausgebildeten Anlage gegenüber der konventionellen mit Volladdierern ausgebildeten Anlage bei gleicher Bitzahl (2 + 4 · 4) - 10 = 8 Gatterlaufzeiten oder 44,44%, wobei die prozentuale Zeitersparnis sich mit zunehmendem Wert von m asymtotisch dem Wert von 50% nähert.In contrast, a conventional circuit for the addition of 5-bit words requires a total of 2 + 4 × 4 gate delay times, the two bits with the least significance being added up via a half adder with a delay time of two gates. Accordingly, the time saved in a system designed according to FIG. 1 compared to the conventional system designed with full adders with the same number of bits (2 + 4 · 4) - 10 = 8 gate delays or 44.44%, the percentage time saved increasing with increasing value of m asymtotically approaches the value of 50%.
Allgemein ergibt sich für die Zeitersparnis Δ t bei der Addition zweier Summanden A und B mit m Dualstellen der WertGeneral results for the saving of time Δ t in the addition of two addends A and B with m Dual points of the value
Δ t = [2 + (m - 1) · 4 - m · 2]/[2 + (m - 1) · 4] (1)
Δ t = [2 + (m - 1) · 4 - m · 2] / [2 + (m - 1) · 4] (1)
In Anbetracht der Tatsache, daß sich die übrigen Grundrechnungsarten, vor allem die Subtraktion, auf die Addition zurückführen lassen, führt die Anwendung der beschriebenen Rechnungsweise bei der Subtraktion in einer entsprechend aufgebauten Rechenanlage ebenfalls zu einer entsprechenden Zeitersparnis. Wenn der Minuend im Einerkomplement vorliegt, so muß die Möglichkeit zur Addition einer Korrektur-Eins vorgesehen sein. Bei konventionellen Anlagen wird für jede Stelle ein Volladdierer, also die Zusammenfassung zweier Halbaddierer, benötigt und die erforderliche Rechenzeit ergibt sich bei m Dualstellen zu 4 · m Gatterlaufzeiten. Eine der Fig. 1 entsprechende Anlage benötigt demgegenüber m · 2 + (m + 1) Gatterlaufzeiten, wobei der Term (m + 1) der Addition der Korrektur-Eins über die einzelnen UND-Gatter U ir , U (i + 1),r . . .U m,r Rechnung trägt.In view of the fact that the other basic calculation types, especially the subtraction, can be traced back to the addition, the application of the described calculation method for the subtraction in a correspondingly constructed computer system also leads to a corresponding time saving. If the minuend is in one's complement, the possibility of adding a correction one must be provided. In conventional systems, a full adder, i.e. the combination of two half adders, is required for each digit, and the required computing time results from m dual digits with 4 · m gate delays. In contrast, a system corresponding to FIG. 1 requires m · 2 + (m + 1) gate runtimes, the term (m + 1) of the addition of correction one via the individual AND gates U ir , U (i + 1), r . . . U m, r takes account.
Die Zeitersparnis beträgt somit im Fall der Subtraktion beim Vorliegen des Minuenden in Form des Einer-Komplements und einer Stellenzahl m gegenüber der üblichen beim niedrigwertigsten Bit i = 1 beginnenden Rechnung 25%, wie sich aus dem folgenden Vergleich ergibt:The time saved in the case of subtraction when the minute end is present in the form of one's complement and a number of digits m is 25% compared to the usual calculation starting with the least significant bit i = 1, as can be seen from the following comparison:
- - Zeitverzug bei der konventionellen Methode: 4 · m Gatterlaufzeiten- Time delay with the conventional method: 4 · m gate running times
- - Zeitverzug bei der vorliegenden Methode: 2 · m + m + 1 Gatterlaufzeiten.- Time delay with the present method: 2 · m + m + 1 gate running times.
Somit gewinnt man mit der vorliegenden Methode gegenüber der üblichen Methode eine Ersparnis von 25%.So you win with the present method the usual method a saving of 25%.
Wenn man die Addition der den Übertrag bildenden Korrektur- Eins in konventioneller Weise mittels Halbaddierer durchführt, vergeudet man bei der Bildung des Ergebnisses gegenüber der vorliegenden Methode pro Bit des Ergebnisses eine Gatterlaufzeit. Für die einzelnen Fälle wird dies nun in der folgenden Tabelle dargestellt: If you add the correction One in a conventional manner using half adders performed, one wasted in building the result compared to the present method per bit of the result a gate term. For individual cases this is now shown in the following table:
(Die Einheit für den Zeitbedarf ist die Gatterlaufzeit)(The unit for the time requirement is the gate runtime)
Ersichtlich ist die angegebene Zeitersparnis der neuen Methode gegenüber der alten Methode im Falle der Addition zweier Dualzahlen A und B auch dadurch bedingt, daß die beiden zu addierenden Summanden zu Beginn der Addition im fertigen Zustand zur Verfügung stehen, da zu Beginn der Addition wenigstens das den beiden Summanden gemeinsame höchste Bit, also die Dualstellen A n und B n , vorliegen müssen, damit die Addition beginnen kann. Somit könnte bei der Addition mehrerer Zahlen anscheinend nur dann mit der Hinzufügung der dritten Zahl begonnen werden, wenn die Zwischensumme ausgerechnet ist. Jedoch gibt es eine Möglichkeit, diese Einschränkung zu umgehen.The time saving of the new method compared to the old method in the case of the addition of two dual numbers A and B is evidently also due to the fact that the two summands to be added are available in the finished state at the beginning of the addition, since at least that is at the start of the addition The highest bits that are common to both summands, that is, the dual digits A n and B n , must exist for the addition to begin. If several numbers were added, the third number could apparently only be added if the subtotal was calculated. However, there is a way to get around this limitation.
Bei der Addition und Subtraktion von BCD-Zahlen treten bekanntlich sog. Pseudotetraden auf, die durch die zusätzliche Addition der Zahl 6 im Binärcode, also durch Addition der Bitfolge "0 1 1 0", korrigiert werden können. Bei der Substraktion kann außerdem die Addition einer Korrektur- Eins notwendig werden. Beide Korrekturadditionen werden jedoch erst dann erforderlich, wenn eine zusätzliche Pseudotetraden-Erkennungsanlage bzw. eine Negativ/Positiv- Erkennungsanlage die Durchführung der Korrektur verlangt. Somit kann das einer Vorrichtung gemäß der Erfindung zugrundeliegende Rechenverfahren auch bei BCD-Zahlen A und B angewendet werden, wobei der Zeitgewinn gegenüber konventionellen Rechenvorrichtungen ebenfalls 50% beträgt.When adding and subtracting BCD numbers, so-called pseudotetrads occur, which can be corrected by the additional addition of the number 6 in binary code, that is, by adding the bit sequence "0 1 1 0". In the case of subtraction, it may also be necessary to add a correction one. However, both correction additions are only required when an additional pseudotetrad detection system or a negative / positive detection system requires the correction to be carried out. Thus, the computing method on which a device according to the invention is based can also be used for BCD numbers A and B , the time saved compared to conventional computing devices also being 50%.
Für die nun folgende Betrachtung der Addition mehrerer im Binärcode vorliegender Zahlen A, B, C, D, E und F wird bei den konventionellen Maschinen in der aus dem folgenden Schema ersichtlichen Weise vorgegangen, wobei die einzelnen Summandenbits ebenfalls mit "A", "B", "C" usw. bezeichnet sind. "H" und "I" bedeuten Summenbits und Carrybits (Übertrag-Bits) der ersten Zwischensumme, "K" und "L" die Summen- und Carrybits der zweiten Zwischensumme, "M" und "N" die Summen- und Carrybits der dritten Zwischensumme und "O" und "P" die Summen- und Carrybits der vierten Zwischensumme. Die Gesamtsummen-Bits sind schließlich mit "S" bezeichnet.For the following consideration of the addition of several numbers A, B, C, D, E and F present in the binary code , the conventional machines are operated in the manner shown in the following scheme, the individual addend bits also being labeled "A" , "B " , " C " , etc. are designated. "H" and "I" mean sum bits and carry bits (carry bits) of the first subtotal, "K" and "L" the sum and carry bits of the second subtotal, "M" and "N" the sum and carry bits of the third Subtotal and "O" and "P" the sum and carry bits of the fourth subtotal. The total sum bits are finally labeled "S" .
Jede Zwischenergebnisbildung benötigt eine Laufzeit, wie die in einem Volladdierer und die Bildung der Endsumme zusätzlich die Laufzeit eines Halbaddierers und (m - 1) Laufzeiten in einem Volladdierer, wenn m die höchstwertigste Bitzahl der vorliegenden Summanden A, B, . . .F bedeutet. Der Gesamtzeitaufwand ergibt sich somit zuEach intermediate result formation requires a runtime, such as that in a full adder and the formation of the final sum additionally the runtime of a half adder and (m -1) runtimes in a full adder, if m is the most significant bit number of the summands A, B ,. . . F means. The total amount of time thus arises
T = (a - 3) · 4 + 2 + (b - 1) · 4 (2) T = (a - 3) 4 + 2 + (b - 1) 4 (2)
worin a die Summandenzahl, b die Stellenzahl, die Zahl "4" vier Gatterlaufzeiten des Volladdierers, die Zahl "2" zwei Gatterlaufzeiten des Halbaddierers und T die für die Addition erforderliche Gesamtzeit in Gatterlaufzeiten als Einheit bedeuten.where a is the summand number, b the number of digits, the number "4" means four gate delays of the full adder, the number "2" means two gate delays of the half adder and T the total time required for the addition in gate delays as a unit.
Es läßt sich nun folgendes neues Schema anwenden:
Sämtliche Summanden werden zu Dreiergruppen zusammengefaßt
und stellenweise einem Volladdierer zugeführt, was
entsprechend dem oben dargestellten Schema zur Bildung
der ersten Zwischensumme entspricht. Jede Dreiergruppe
wird über die Verarbeitung im Volladdierer zu einer Zweiergruppe,
die aus einer Summenbit- und einer Carrybitreihe
besteht. Das Verfahren wird solange wiederholt, bis
sich schließlich zwei Summanden ergeben. Das Schema wird
somit wie folgt durchgeführt:The following new scheme can now be applied:
All summands are combined into groups of three and in places fed to a full adder, which corresponds to the scheme for forming the first subtotal shown above. Each group of three becomes a group of two, consisting of a sum bit and a carry bit row, through processing in the full adder. The process is repeated until two summands finally result. The scheme is thus carried out as follows:
Dabei bedeuten:
A, B, C, D, E, F Summandenbits
H und I sowie K und L Summenbits und Carrybits der Volladdiererketten
im 1. Schritt,
M und N die Summen- und Carrybits der Volladdiererkette
im zweiten Schritt,
O und P die beiden angestrebten Summanden und
S die Bits der Endsumme.Mean:
A, B, C, D, E, F summand bits
H and I as well as K and L sum bits and carry bits of the full adder chains in the 1st step,
M and N the sum and carry bits of the full adder chain in the second step,
O and P the two desired summands and
S the bits of the total.
Jeder der dargestellten Schritte benötigt die Laufzeit eines Volladdierers. Somit ergibt sich bereits bei einer Summandenzahl von n = 6 eine Einsparung von einer Volladdiererlaufzeit.Each of the steps shown requires the runtime of a full adder. Thus, with a summand number of n = 6, a full adder running time is saved.
Wie die Übersicht zeigt, wächst der Zeitvorsprung, der auf mit Hilfe der in Fig. 1 dargestellten Vorrichtung möglichen Rechenmethode gegenüber der bisherigen Methode auch bei Addition mehrerer Summanden mit steigender Summandenzahl n.As the overview shows, the time advantage that arises from the calculation method possible with the aid of the device shown in FIG. 1 compared to the previous method also increases with the addition of several summands with increasing number of summands n .
Nachdem sich ebenso wie die Subtraktion auch die Multiplikation auf die Addition zurückführen läßt, kann das Grundprinzip der Erfindung auch für die Ausgestaltung einer Multiplikationsanlage angewendet werden. Man kommt damit auf eine Durchlaufzeit vonAfter as well as the subtraction also the multiplication can be traced back to the addition, the basic principle the invention also for the design of a Multiplication system can be applied. You come with it for a lead time of
t M = (n x + n y - 1) (3) t M = (n x + n y - 1) (3)
wobei t M die Multiplikationszeit, n x die Bitzahl des Faktors x, n y die Bitzahl des Faktors y und t f die Laufzeit eines Volladdierers bedeutet. Für einen 8×8 Bit-Multiplizierer ergibt sich t M zu 60 Gatterlaufzeiten, wobei die Volladdiererlaufzeit gleich 4 Gatterlaufzeiten ist. Bei einer Kombination der vorgestellten Methoden verringert sich die Zeit t M auf 39 Gatterlaufzeiten, wie aus der folgenden Ausführung eines 8×8 Bit-Multiplizierers zu erkennen ist.where t M is the multiplication time, n x is the number of bits of the factor x , n y is the number of bits of the factor y and t f is the runtime of a full adder. For an 8 × 8 bit multiplier, t M results in 60 gate run times, the full adder run time being 4 gate run times. With a combination of the methods presented, the time t M is reduced to 39 gate delays, as can be seen from the following embodiment of an 8 × 8 bit multiplier.
Der Multiplizierer sollte nicht nur die Größe des Produkts anzeigen, sondern auch dessen Vorzeichen. Negative Ergebnisse sollten aufgrund der Weiterverarbeitung im Zweierkomplement erscheinen. Für eine Erhöhung der Faktorenlänge müßte der Multiplizierer zusätzlich Ergebnisse anderer Multiplizierer zu seinem Ergebnis addieren können.The multiplier shouldn't just be the size of the product display, but also its sign. Negative results due to further processing in two's complement appear. For an increase in the factor length the multiplier would need additional results from others Multiplier can add to its result.
Hierzu kann die aus der folgenden Tabelle entnehmbare Ausführung eines Zweier-Komplement expandierbaren 8×8 Bit- Multiplizierers dienen.For this, the one that can be found in the following table Execution of a two's complement expandable 8 × 8 bit Serve multiplier.
Gegenüber handelsüblichen Multiplizierern läßt sich somit mindestens eine Reduzierung des Zeitaufwands um 31% erreichen. Je mehr dabei die Faktoren Stellen aufweisen, desto größer wird der relative Zeitgewinn. Die Gründe liegen einerseits in der wachsenden Differenz von Zwischenergebnisbildungen und Schrittzahl, andererseits aber auch in der ebenfalls ansteigenden Zahl der Gesamtsummenbits.Compared to standard multipliers, achieve at least a 31% reduction in time expenditure. The more the factors have digits, the greater the relative time gain. The reasons lie on the one hand in the growing difference between interim results and number of steps, but on the other hand also in the also increasing number of total bits.
Da die Division auf die Anwendung einer fortgesetzten Subtraktion beruht, sind auch für diese Grundrechnungsart erhebliche Zeitersparnisse zu erwarten, wenn dem zu verwendenden Rechner das erfindungsgemäße Prinzip zugrundegelegt wird.Since the division continued to apply Subtraction based are also for this basic type of calculation significant time savings can be expected if that too the computer using the principle according to the invention becomes.
Bei einer Vorrichtung gemäß Fig. 1 werden alle Eingänge A i * und B i * gleichzeitig mit den jeweils zugehörigen Bits A i und B i beaufschlagt, so daß sich in allen Halbaddierern E i 1, U i 1 gleichzeitig die ersten Teilprozesse abspielen. Dabei beträgt die Informationslaufzeit in einem der UND-Gatter jeweils eine Gatterlaufzeit und in einem der Exklusiv-ODER-Gatter wegen deren komplizierten Aufbaus jeweils zwei Gatterlaufzeiten. Damit ergeben sich an den einzelnen Stellen der Schaltung die in Fig. 1 in Klammern gesetzten Laufzeiten.In a device according to FIG. 1, all the inputs A i * and B i * are acted upon simultaneously with the respectively associated bits A i and B i , so that the first subprocesses play simultaneously in all half adders E i 1 , U i 1 . The information runtime is one gate runtime in one of the AND gates and two gate runtimes in one of the exclusive OR gates due to their complicated structure. This results in the running times in parentheses in FIG. 1 at the individual points in the circuit.
Demzufolge ist bei Verwendung einer Verknüpfungslogik gemäß Fig. 1 eine gleichzeitige Durchführung sämtlicher Verknüpfungen A i B i gegeben. Ihre Berücksichtigung beim Aufbau des endgültigen Ergebnisses erfolgt jedoch derart, daß das Ergebnis sich sukzessive nach dem auf S. 3 und 4 angegebenen Rechenschema aufbaut.Accordingly, when using a logic logic according to FIG. 1, all logic operations A i B i are carried out simultaneously. However, they are taken into account when building the final result in such a way that the result is built up successively according to the calculation scheme given on pages 3 and 4.
Es ist aber andererseits auch möglich, eine Vorrichtung gemäß der Erfindung derart aufzubauen, daß auch die Reihenfolge der Verknüpfung (A i + B i ) streng im Sinne abnehmender Dualstellenwertigkeit i der jeweils zu verknüpfenden Dualstellenpaare erfolgt. Zwei derartige Vorrichtungen sind in Fig. 2 und in Fig. 3 dargestellt.On the other hand, however, it is also possible to construct a device according to the invention in such a way that the order of the linkage (A i + B i ) is also strictly in the sense of decreasing dual digit value i of the dual digit pairs to be linked. Two such devices are shown in Fig. 2 and in Fig. 3.
Bei der in Fig. 2 dargestellten Anlage gemäß der Erfindung besteht die Verknüpfungslogik lediglich aus einem Halbaddierer HA, dessen beide Eingänge durch die Signalausgänge zweier taktgesteuerter Schieberegister SR₁ und SR₂ beaufschlagt sind, in welchen jeweils einer der beiden der zu addierenden Summanden A und B derart gespeichert sind, daß die einzelnen Bits nach Maßgabe abnehmender Wertigkeit i in den Halbaddierer HA derart eingegeben werden, daß an dessen beiden Eingängen jeweils bezüglich ihrer Dualstellenwertigkeit übereinstimmende Bits A i und B i anhängig sind.In the system shown in Fig. 2 according to the invention, the logic logic consists only of a half adder HA , the two inputs of which are acted upon by the signal outputs of two clock-controlled shift registers SR ₁ and SR ₂, in each of which one of the two summands A and B to be added are stored in such a way that the individual bits are input into the half adder HA in accordance with decreasing valency i in such a way that bits A i and B i corresponding to their dual position valency are pending at its two inputs.
Die durch den Halbaddierer HA gesteuerte Ausgangsschaltung enthält bei der in Fig. 2 dargestellten Ausführungsform eine Flip-Flopanlage, die sowohl auf den Betrieb als Dualzähler als auch auf den Betrieb als Schieberegister umgeschaltet werden kann. Um dies zu ermöglichen sind zwischen jeweils zwei der - als Zweispeicher-Flip-Flops, insbesondere Master-Slave-Flip-Flops ausgebildeten Flip-Flopzelle der Anlage jeweils eine Logik L bzw. L* vorgesehen, die den aus Fig. 2a bzw. 2b ersichtlichen Aufbau haben kann.In the embodiment shown in FIG. 2, the output circuit controlled by the half adder HA contains a flip-flop system which can be switched over to the operation as a dual counter as well as to the operation as a shift register. In order to make this possible, a logic L or L * is provided between each of the two flip-flop cells of the system, which are designed as two-memory flip-flops, in particular master-slave flip-flops, and correspond to the logic from FIGS. 2a and 2b obvious structure.
Der durch das UND-Gatter des Halbaddierers HA gegebene Signalausgang U des Halbaddierers HA dient zur Beaufschlagung des einen Eingangs eines ersten UND-Gatters A₁ und der durch das Exklusiv-ODER-Gatter des Halbaddierers gegebene Ausgang E zur Beaufschlagung des einen Eingangs eines zweiten UND-Gatters A₂. Die beiden UND-Gatter A₁ und A₂ sowie die übrigen in der Schaltung verwendeten UND-Gatter A₃-A₅ sowie die in der Logik L bzw. L* verwendeten ODER-Gatter OR₁ bis OR₆ haben jeweils zwei logische Eingänge.The signal output U of the half adder HA given by the AND gate of the half adder HA serves to act upon the one input of a first AND gate A 1 and the output E given by the exclusive OR gate of the half adder serves to act upon the one input of a second AND -Gatters A ₂. The two AND gates A ₁ and A ₂ and the other AND gates A ₃- A ₅ used in the circuit and the OR gates OR ₁ to OR verwendeten used in the logic L or L * each have two logic inputs.
Der Signalausgang des ersten UND-Gatters A₁ dient zur Steuerung der jeweils zwischen zwei Flip-Flopzellen FF i wirksamen Logiken L bzw. L*. Der Signalausgang des zweiten UND-Gatters A₂ dient zur Beaufschlagung des Setzeingangs S der ersten Flip-Flopzelle FF₁ und über einen Inverter I zur Beaufschlagung des Reseteingangs R dieser Flip-Flopzelle.The signal output of the first AND gate A ₁ is used to control the logic L or L * which is effective between two flip-flop cells FF i . The signal output of the second AND gate A ₂ is used to act on the set input S of the first flip-flop cell FF ₁ and via an inverter I to act on the reset input R of this flip-flop cell.
Der zur Steuerung der Anlage dienende, nicht dargestellte Taktgeber T A gibt seine Taktsignale sowohl zur Steuerung der beiden Schieberegister SR₁ und SR₂ und zur Steuerung der Umschaltlogik L bzw. L* über eine Einzel- Flip-Flopzelle FFT ab, die im Aufbau den übrigen Flip- Flopzellen der Anlage entspricht. Serving to control the system, clock generator T A , not shown, outputs its clock signals both for controlling the two shift registers SR ₁ and SR ₂ and for controlling the switching logic L or L * via a single flip-flop cell FFT , which under construction corresponds to other flip-flop cells in the system.
Der eine Eingang eines dritten UND-Gatters A₃ sowie der eine Eingang eines vierten UND-Gatters A₄ liegen unmittelbar am Taktgeber T A , der zweite Eingang des dritten UND-Gatters A₃ am Ausgang und der zweite Ausgang des vierten UND-Gatters A₄ am Ausgang Q eines Einzel-Flip- Flops FFT. Der Aufbau dieses Einzel-Flip-Flops FFT entspricht dem Aufbau der Flip-Flopzellen der noch zu beschreibenden Flip-Flop-Anlage. Der Ausgang des dritten UND-Gatters A₃ ist jeweils auf den zweiten Eingang des ersten UND-Gatters A₁ und des zweiten UND-Gatters A₂ geschaltet.One input of a third AND gateA₃ and the an input of a fourth AND gateA₄ lie immediately on the clockT A , the second entrance of the third AND gateA₃ at the exit and the second exit of the fourth AND gateA₄ at the exitQ of a single flip FlopsFFT. The structure of this single flip-flopFFT corresponds the structure of the flip-flop cells to be described Flip-flop system. The exit of the third AND gateA₃ is on the second input of the first AND gateA₁ and the second AND gateA₂ switched.
Die genannte Flip-Flopanlage enthält eine der maximalen Dualstellenwertigkeit i der Anlage entsprechende Anzahl von Flip-Flopzellen FF₁, FF₂, . . .FF n , wobei n im Beispielsfalle gleich 5 ist. Die Flip-Flopzellen sind als Zweispeicher-Flip-Flops, insbesondere als JK-MS-Flip-Flops, ausgebildet. Die Q-Ausgänge dieser Flip-Flopzellen dienen zugleich als Signalausgänge S₁, S₂, . . . usw., so daß schließlich seriell erhaltene Ergebnis parallel von einem (nicht dargestellten) Speicher übernommen werden kann.The said flip-flop system contains a number of flip-flop cells FF ₁, FF ₂, corresponding to the maximum dual position value i of the system. . . FF n , where n is 5 in the example case. The flip-flop cells are designed as two-memory flip-flops, in particular as JK-MS flip-flops. The Q outputs of these flip-flop cells also serve as signal outputs S ₁, S ₂,. . . etc., so that finally the result obtained serially can be taken over in parallel from a memory (not shown).
Zwischen der ersten Flip-Flopzelle FF₁ und der zweiten Flip-Flopzelle FF₂ der Flip-Flopanlage ist eine Umschaltlogik L, zwischen jeweils zwei der übrigen Flip-Flopzellen FF₂, FF₃, . . . usw. ist jeweils eine Umschaltlogik L* vorgesehen, über welche die Umschaltung vom Zählerbetrieb auf den Schieberegisterbetrieb und umgekehrt erfolgt. Das Schaltbild der Umschaltlogik L ist in Fig. 2a, das Schaltbild der Umschaltlogik L* in Fig. 2b dargestellt.Between the first flip-flop cell FF ₁ and the second flip-flop cell FF ₂ of the flip-flop system is a switching logic L , between two of the other flip-flop cells FF ₂, FF ₃,. . . etc., a switchover logic L * is provided, via which the switchover from counter operation to shift register operation and vice versa takes place. The circuit diagram of the switching logic L is shown in Fig. 2a, the circuit diagram of the switching logic L * in Fig. 2b.
Die erste genannte Umschaltlogik L besteht aus drei ODER- Gattern mit jeweils zwei logischen Eingängen, die, wie folgt, geschaltet sind: der eine Eingang des ersten dieser ODER-Gatter liegt am Q-Ausgang der steuernden Flip- Flopzelle FF i , sein zweiter Eingang am Ausgang des UND- Gattters A₁. Der Ausgang dieses ersten ODER-Gatters OR₁ ist mit dem J-Eingang der nachfolgenden Flip-Flopzelle FF (i + 1) verbunden. Der eine Eingang des zweiten ODER- Gatters OR₂ der Umschaltlogik L wird durch den Ausgang des ersten UND-Gatters A₁ der Ausgangsschaltung und der zweite Eingang durch den Ausgang des vierten UND-Gatters A₄ der Ausgangsschaltung beaufschlagt, während der Ausgang des ODER-Gatters OR₂ mit dem Takteingang der folgenden Flip-Flopzelle FF (i + 1) verbunden ist. Schließlich ist der eine Eingang des dritten ODER-Gatters OR₃ der Schaltung L durch den -Ausgang der Vorzelle FF i , der andere Eingang dieses Gatters OR₃ durch den Ausgang des ersten UND-Gatters A₁ der Ausgangsschaltung gesteuert, während der Ausgang des dritten ODER-Gatters OR₃ mit dem K-Eingang der nachgeschalteten Flip-Flopzelle FF (i + 1) verbunden ist.The first switching logic mentionedL consists of three OR Gates with two logic inputs each, like follows, are switched: the one input of the first of these OR gate is onQ- Output of the controlling flip Flop cellFF i , its second input at the exit of the AND GatttersA₁. The output of this first OR gateOR₁ is with thatJ-Input of the subsequent flip-flop cell FF (i + 1) connected. The one input of the second OR GateOR₂ the switching logicL is through the exit of the first AND gateA₁ the output circuit and the second input through the output of the fourth AND gate A₄ applied to the output circuit while the output of the OR gateOR₂ with the clock input of the following Flip-flop cellFF (i + 1) connected is. In the end is the one input of the third OR gateOR₃ the circuitL through the - Exit of the antechamberFF i , the other input of this gateOR₃ through the exit of the first AND gateA₁ controlled the output circuit, during the output of the third OR gateOR₃ with the K-Input of the downstream flip-flop cellFF (i + 1) connected is.
Die in Fig. 2b dargestellte Umschaltelogik L* enthält ebenso wie die Umschaltelogik L drei ODER-Gatter OR₄, OR₅ und OR₆ sowie ein UND-Gatter A₅, das ebenso wie die ODER- Gatter zwei logische Eingänge aufweist. In der Anschaltung entspricht das ODER-Gatter OR₄ dem ODER-Gatter OR₁ und das ODER-Gatter OR₆ dem ODER-Gatter OR₃ der Umschaltlogik L. Das ODER-Gatter OR₅ wird ebenso wie das ODER- Gatter OR₂ der Umschaltelogik L durch den Ausgang des UND-Gatters A₄ gesteuert. Hingegen erfolgt die Steuerung des anderen Eingangs des ODER-Gatters OR₅ in Abweichung zum ODER-Gatter OR₂ durch den Ausgang des UND-Gatters A₅, dessen beide Eingänge jeweils an einen der beiden Eingänge des durch den Q-Ausgang der Vorzelle FF i gesteuerten ODER-Gatters OR₄ liegen.The switching logic L shown in Fig. 2b * includes three OR gates OR ₄, OR and OR ₅ ₆ and-gate AND A ₅, having as well as the switching logic L A as well as the OR gate two logic inputs. In the connection, the OR gate OR ₄ corresponds to the OR gate OR ₁ and the OR gate OR ₆ to the OR gate OR ₃ of the switching logic L. The OR gate OR ₅, like the OR gate OR ₂ of the switching logic L, is controlled by the output of the AND gate A ₄. On the other hand, the control of the other input of the OR gate OR ₅ in deviation from the OR gate OR ₂ takes place through the output of the AND gate A ₅, the two inputs of which are each connected to one of the two inputs of the by the Q output of the pre-cell FF i controlled OR gate OR ₄.
Damit ist die in Fig. 2 dargestellte Schaltung beschrieben. Ergänzend ist noch zu bemerken, daß die am Q-Ausgang der Einzel-Flip-Flopzelle FFT auftretenden Impulse zur Taktsteuerung der beiden Eingangs-Schieberegister SR₁ und SR₂ dienen.The circuit shown in FIG. 2 is thus described. In addition, it should also be noted that the pulses occurring at the Q output of the single flip-flop cell FFT serve for clock control of the two input shift registers SR ₁ and SR ₂.
Hinsichtlich der Wirkung der soeben beschriebenen Schaltung ist folgendes festzustellen: Im Taktrythmus werden wechselweise die Ausgänge der UND-Gatter A₃ und A₄, also der durch den Taktgeber T A und durch die Ausgänge des Einzel-Flip-Flops FFT gesteuerten UND-Gatter, beaufschlagt und von Null auf Eins bzw. von Eins auf Null geschaltet. Der Ausgang des mit Q beaufschlagten UND-Gatters A₄ übernimmt die Steuerung der Flip-Flopkette FF₁- FF₅ als Schieberegister und bildet den Takt für die den Halbaddierer HA steuernden Schieberegister SR₁ und SR₂.With regard to the effect of the circuit just described, the following can be ascertained: the outputs of the AND gates A ₃ and A also , that is to say the AND gates controlled by the clock generator T A and by the outputs of the single flip-flop FFT, are alternately in the cycle rhythm, acted upon and switched from zero to one or from one to zero. The output of the Q- applied AND gate A ₄ takes over the control of the flip-flop chain FF ₁- FF ₅ as a shift register and forms the clock for the shift register SR ₁ and SR ₂ controlling the half adder HA .
Nach Ausführung des Schiebetakts steht das nächste Bitpaar am Halbaddierer HA an. Eine halbe Taktperiode später wird der Ausgang des mit von der Einzel-Flip-Flopzelle FFT beaufschlagten UND-Gatters A₃ auf Eins geschaltet, womit die Übernahme der vom Halbaddierer HA an den Ausgängen U und E gelieferten Bits in die Flip-Flopzellen FF₁ und FF₂ ermöglicht ist. Gleichzeitig werden die Eingänge J und K der Flip-Flopzellen FF₂ bis FF₅ auf Eins geschaltet, um beim Wechsel von Eins auf Null am Q-Ausgang der jeweils vorgeschalteten Flip-Flopzelle FF i (Q-Ausgang übernimmt Taktsteuerung des nächsten Flip-Flops FF i + 1) die Flip- Flopkette als Binärzähler arbeiten zu lassen.After executing the shift clock, the next pair of bits is available on the half adderHA at. Half a clock period later the exit of the with from the single flip-flop cellFFT acted upon AND gateA₃ switched to what the takeover of the half adderHA at the exits U andE supplied bits into the flip-flop cellsFF₁ and FF₂ is possible. At the same time, the inputsJ andK of flip-flop cellsFF₂ toFF₅ switched to one, to change from one to zero onQ-Output of each upstream flip-flop cellFF i (Q- Output takes over Clock control of the next flip-flopFF i + 1) the flip To make the flop chain work as a binary counter.
Anstelle der streng durch den Takt gesteuerten soeben beschriebenen Schaltung kann auch folgender Effekt ausgenützt werden: Wenn der Signalausgang U des Halbaddierers HA den Pegel Eins annimmt, wird der Takt T A durch ein über den Pegel Eins des Signalausgangs U getriggertes Monoflop angehalten, um die Flip-Flopkette FF₂-FF₅ als Zähler arbeiten zu lassen. Hierzu ist der Ausgang U des Halbaddierers HA direkt (d. h. ohne UND-Verknüpfung mit einem Flip-Flop FFT und diesem zugehörige Gatter, an den Informationseingang der zweiten Flip-Flopzelle FF₂, geschaltet. Der Takt T A wird nach dem Zurückkippen des Monoflops wieder freigegeben. Gegenüber der in Fig. 2 dargestellten Schaltung entfallen dann das Einzel-Flip-Flop FFT sowie die UND-Gatter A₁ bis A₄.Instead of the circuit just described, which is strictly controlled by the clock, the following effect can also be exploited: If the signal output U of the half adder HA assumes the level one, the clock T A is stopped by a monoflop triggered by the level one of the signal output U in order to flip -Flopchain FF ₂- FF ₅ to work as a counter. For this purpose, the output U of the half adder HA is connected directly (ie without an AND link with a flip-flop FFT and the associated gate to the information input of the second flip-flop cell FF ₂. The clock T A is switched on again after the monoflop has flipped back Compared to the circuit shown in Fig. 2, the single flip-flop FFT and the AND gates A ₁ to A ₄ are then omitted.
Die in Fig. 3 dargestellte Ausgestaltung einer Vorrichtung gemäß der Erfindung entspricht bezüglich der Schieberegister SR₁ und SR₂ sowie des Halbaddierers und der Schaltung der Flip-Flopkette FF₁-FF₃ sowie der Umschaltlogik L bzw. L* einer Ausgestaltung gemäß Fig. 2. Jedoch steuert hier der Ausgang U des Halbaddierers HA hier unmittelbar (und nicht über ein UND-Gatter U₁) die Umschaltlogik L bzw. L*. Desgleichen ist der Ausgang E des Halbaddierers hier unmittelbar (und nicht über ein UND-Gatter A₂) zur Steuerung des Setzeingangs S und des Inverters I und damit des Reseteingangs R der ersten Flip-Flopzelle FF₁ vorgesehen.The embodiment shown in Fig. 3 of a device according to the invention corresponds with respect to the shift register SR ₁ and SR ₂ and the half adder and the circuit of the flip-flop chain FF ₁- FF ₃ and the switching logic L or L * of an embodiment according to FIG. 2nd However, here the output U of the half adder HA controls the switching logic L or L * directly (and not via an AND gate U ₁). Likewise, the output E of the half adder is provided here directly (and not via an AND gate A ₂) for controlling the set input S and the inverter I and thus the reset input R of the first flip-flop cell FF ₁.
Die -Ausgänge der als Zähler zu schaltenden Flip-Flopzellen FF₂-FF n sind über je einen Inverter IN auf den Eingang eines Differenziergliedes DF geschaltet, welches mittels des ersten positiven Impulses (Wechsel des Informationsinhalts einer der Zellen FF i von Null auf Eins) den Setzeingang S einer Einzel-Flip-Flopzelle FFS steuert, deren Rücksetzeingang R durch den Ausgang U, also das UND-Gatter des Halbaddierers HA, gesteuert ist. Der Q-Ausgang dieser Zelle FFS liegt am einen Eingang des UND-Gatters A*, dessen anderer Eingang durch den Taktgeber T A gesteuert ist. Der Ausgang des UND-Gatters A* liefert den Takt zur Steuerung der Schieberegister SR₁ und SR₂ sowie der Flip-Flopzellen über die Umschaltlogik L bzw. L* und entspricht somit dem UND-Gatter A₄ der in Fig. 2 dargestellten Schaltung.The - Outputs of the flip-flop cells to be switched as counters FF₂-FF n are each via an inverterIN on the Input of a differentiatorDF switched which by means of the first positive impulse (change of Information content of one of the cellsFF i from zero to One) the set entranceS a single flip-flop cellFFS controls their reset inputR through the exitU, the AND gate of the half adderHAis controlled. TheQ- Exit this cellFFS is at an entrance of the AND gateA* whose other entrance is through the ClockT A is controlled. The output of the AND gate A* provides the clock for controlling the shift register SR₁ andSR₂ and the flip-flop cells via the switching logic L respectively.L* and thus corresponds to the AND gateA₄ the inFig. 2 circuit shown.
Die bei einem Addierwerk gemäß der Erfindung anzuwendenden Schaltungsteile lassen sich bekanntlich ohne Schwierigkeiten sowohl in Bipolar- als auch in MOS-Technik ohne weiteres monolithisch integrieren. Ebenso ist es möglich, die gesamten Anordnungen auf einem Halbleiterchip zusammenzufassen. Ebenso lassen sich die gezeigten Schaltungen miteinander kombinieren.Those to be used in an adder according to the invention Circuit parts are known to be easy in both bipolar and MOS technology without integrate another monolithic. It is also possible to summarize the entire arrangements on a semiconductor chip. The circuits shown can also be used combine with each other.
Claims (10)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19792902488 DE2902488A1 (en) | 1979-01-23 | 1979-01-23 | Electronic binary adder circuit - process commences with higher order digits to achieve fast execution cycle |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19792902488 DE2902488A1 (en) | 1979-01-23 | 1979-01-23 | Electronic binary adder circuit - process commences with higher order digits to achieve fast execution cycle |
Publications (2)
Publication Number | Publication Date |
---|---|
DE2902488A1 DE2902488A1 (en) | 1980-07-31 |
DE2902488C2 true DE2902488C2 (en) | 1988-12-29 |
Family
ID=6061211
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19792902488 Granted DE2902488A1 (en) | 1979-01-23 | 1979-01-23 | Electronic binary adder circuit - process commences with higher order digits to achieve fast execution cycle |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE2902488A1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5912832A (en) * | 1996-09-12 | 1999-06-15 | Board Of Regents, The University Of Texas System | Fast n-bit by n-bit multipliers using 4-bit by 4-bit multipliers and cascaded adders |
-
1979
- 1979-01-23 DE DE19792902488 patent/DE2902488A1/en active Granted
Also Published As
Publication number | Publication date |
---|---|
DE2902488A1 (en) | 1980-07-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2658248C2 (en) | ||
DE1956209C3 (en) | Multiplier | |
DE2246968A1 (en) | DEVICE FOR COMBINATION, IN PARTICULAR MULTIPLICATION, TWO FLOATING COMMA NUMBERS | |
EP0123921A2 (en) | Parallel connection circuit with shortened carry propagation | |
DE2018452A1 (en) | Arithmetic facility | |
DE2816711A1 (en) | DIVISION FACILITY WITH TRANSFER RESCUE ADDING PLANT AND NON-EXECUTING FORESIGHT | |
DE1549508C3 (en) | Arrangement for the carry calculation with short signal propagation time | |
DE2221693B2 (en) | Circuit arrangement for performing a multiplication between two binary numbers | |
DE3447634C2 (en) | ||
DE2826773A1 (en) | PROCEDURE AND CIRCUIT ARRANGEMENT FOR DETERMINING THE VALUE OF NUMBERS IN ARITHMETIC OPERATIONS WITH DECIMAL CALCULATOR | |
DE3424078C2 (en) | ||
DE2705989C2 (en) | Circuit arrangement for adding or subtracting at least two input numbers in parallel | |
DE3440680A1 (en) | METHOD AND DEVICE FOR THE DECIMAL DIVISION | |
DE1081255B (en) | Digital electronic calculator with pulse circulation memories | |
DE2902488C2 (en) | ||
DE2017132A1 (en) | Binary parallel adder | |
EP0333884B1 (en) | Parallel-series multiplier circuit and its multiplier and adder stages | |
DE1094490B (en) | Method and arrangement for converting binary numbers into decimal numbers and vice versa | |
DE1499227C3 (en) | Circuit arrangement for basic arithmetic and logical operations | |
DE1094020B (en) | Periodic numerical calculator | |
EP0193711B1 (en) | Monitoring circuit using parity bits for a computer executing arithmetic operations | |
DE1549461C3 (en) | ||
DE1774483A1 (en) | Binary multiplier | |
DE19910620C2 (en) | Device for performing arithmetic operations | |
DE3540800A1 (en) | Binary adding cell and fast adding and multiplying unit composed of such binary adding cells |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8110 | Request for examination paragraph 44 | ||
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |