Schaltungsanordnung zur parallelen Addition und Subtraktion von Dezimalziffern Die Erfindung betrifft eine Schaltungsanordnung zur parallelen Addition und Subtraktion einer tetra- di@sch verschlüsselten Dezimalziffer mit einer zwei ten in einem Kippstufenregister, im folgenden Ak kumulator genannt, enthaltenen tetradisch verschlüs- selten DezimaTziffe.r und besteht aus einer Korre:
k- tureinri'chtung und einer Einrichtung zur Verzöge rung des dezimalen Übertrages sowie- aus Kipp- stufen zur Zwischenspeicherung des Dualübertrages.
Eine bekannte Schaltungsanordnung mit zwei Registern aus Kippstufen, die die Operandentetra- den der jeweils zu verarbeitenden Ziffern enthalten, benützt zur dualen Addition oder Subtraktion der beiden Tetraden vier Volladdierer-SubtTahitrer mit sich von Addierer-Subtrahierer zu Add'ierer-Subtra- hierer fortpflanzendem Übertrag,
worauf dann eine aus einem weiteren Volladdierer-Subtrahierer und zwei Halbaddierern-Subtrahierern bestehende und von einer Korrekturentscheidschaltung gesteuerte Korrektureinrichtung folgt. Diese Schaltungsanord nung addiert bzw. subtrahiert zwar zwei Tetraden in einer Taktzeit, sie hat jedoch den erheblichen Nachteil, dass sie hierzu fünf komplette Volladdierer- Subtrahierer und zwei Halbaddierer-Subtrahierer zusätzlich zu den Operandenregistern benötigt.
Da ausserdem der sich bildende Übertrag in dem be kannten Addier-Subtrahierwerk eine sehr lange Kette von Schaltgliedern innerhalb der gesamten Addier-Subtrahierschaltung zu durchlaufen hat, sind die zeitlichen Abstände zwischen zwei Taktimpulsen sehr gross zu halten.
Um diesen hohen technischen Aufwand in bezug auf die Volladdierer-Subtrahierer zu umgehen, wurden zur Addition bzw. SubitTaktion von in Tetraden verschlüsselten Dezimalzahlen Ad dier-Subtrahierwerke bekannt, die die in Tetraden verschlüsselten Ziffern in Serie verarbeiten und des- halb nur zwei Volladdierer-Subtrahierer zur Bil dung der dezimalen Summe bzw. Differenz der bei den Eingangstctraden benötigten.
Diese Serienaddier-Subtrahierschaltungen haben jedoch den Nachbeil, dass zur Bildung der Summe bzw. Differenz die parallel ins Addier-Subtrahierwerk einlaufenden Operandcntetraden mittels vier verschie dener Impulse, die in einer Taktzentrale erzeugt werden, in Serie umgeformt werden müssen und zur Bildung des, Ergebnisses mindestens vier Dualstellen- zeitwerte benötigt werden.
Der Erfindung liegt deshalb die Aufgabe zu grunde, eine Schaltungsanordnung zur parallelen Addition-Subtraktion zweier als Tetraden verschlüs selter Dezimalzahlen zu schaffen, die es durch asyn chrone Verarbeitung der Dualüberträge unter vor übergehender Zwischenspeicherung dicse Überträge in Kippstufen ermöglicht, dass mit dem technischen Aufwand an Schaltmitteln eines dczimalen Serien addier-Subtrahierwerks mit Korrektureinrichtung die Rechengeschwindigkeit eines P'ara,lnelad'dierwerkes fast erreicht wird.
Die erfindungsgemässe Lösung besteht darin, dass Ausgänge der Akkumulatorkippstufen, die unnegierte Grössen führen, über bei Addition geöffnete Und- Schaltungen und Ausgänge, die negierte Grössen führen,
über bei Subtraktion geöffnete Und-Schaltun- gen mit Einschalteingängen der übertragskippstufen und einer Kippstufe der Korrektureinrichtung ver bunden sind und dass zwischen den Ausgängen der Übertragskippstufen und den triggernden Eingängen der nächsthöheren Akkumulatorkppstufen Und- Schaltungen, die die Übertragung der Dualüberträge zeitweilig sperren, geschaltet sind.
Ein Ausführungsbeispiel der ,erfindungsgemässen Schaltungsanordnung zur Addition und Subtraktion tetradisch verschlüsselter Dezimalziffern ist in der Zeichnung dargestellt und wird nachfolgend be schrieben.
Es zeigen: Fig. 1 ein Addier-Subitrahierwerk, Fig.2 das Diagramm der zugehörigen Steuer- impulse in Abhängigkeit von der Zeit und Fig. 3 eine Speichermatrix mit Steuerschaltung. Das Addier-Subtrahierwerk in. Fig.1 besteht aus dem Akkumulator mit den Kippstufen A1,<I>A2, A3</I> und A4, den Kippstufen E2, E3 und E4 zur Ver zögerung des Dualübertrags,
der Kippstufe E zur Verzögerung des dezimalen Übertrages und der Kippstufe KR zur Steuerung des dezimalen Korrek turvorganges. Die Kippstufen Al bis A4 sind mit den Kippstufen E2, E3, E4 und KR über die Und- Schaltungen K6 bis K13 verbunden, während in der anderen Richtung die Kippstufen E2, E3 und E4 mit den Kippstufen A2, A3 und A4 über die Und- Schaltlungen K2 bis K5 verbunden sind.
Die Kipp- stufen E, E2 und A3 werden durch die Ausgangs grösse einer Und-Schaltung K5 eingeschaltet. Die Kippstufe Al wird durch die Und-Schaltung Kl ausgeschaltet. Die Kippstufen Al bis A4 werden durch über die Leitungen Bl bis B4 aus der Spei chermatrix nach Fig. 3 eintreffende Leseimpulse ge- triggert,
das heisst in den entgegengesetzten Schalt zustand umgeschaltet. Die Triggereingänge sind in der Zeichnung als Pfeil an die Miete des. die Kipp stufe darstellenden Symboles geführt, während ein fache Schalteingänge, das: heisst Eingänge, die die Kippstufen in einen vorgegebenen Schaltzustand schalten können (in Schaltzussand L), an die zuge hörige Seite geführt sind.
Die Kippstufen A1 bis A4 des Akkumulators werden durch die Ausschaltflanke, das heisst die Flanke von L auf O, der Steuergrösse V ausgeschal tet. Die Bedeutung der Steuergrösse V isst aus Fig.2 ersichtlich. Die Kippstufen E2, E3 und E4 werden durch Impuls s ausgeschaltet (siehe auch Fig. 2).
Die Kippstufe KR kann auch durch das Netzwerk, be> stehend aus den Und-Schaltungen K14 und K15 und der Oder-Schaltung Dl gesteuert eingeschaltet und durch die Und-Schaltung K16 gesteuert ausgeschal tet werden.
Zur Erzeugung der Steuergrössen ADD und<I>S UB,</I> die zwischen Addition und Subtraktion unterschei den, sind die Kippstufe M, die Und-Schaltung K17 und der Negator Nl vorhanden. Kippstufe M wird eingeschaltet durch einen beim Additionsbefehl er scheinenden Steuerimpuls <I>AB,</I> ausgeschaltet durch einen beim Subtraktionsbefehl erscheinenden Steuer befehl<I>SB</I> und getriggert durch Und Schaltung K18.
Zur Steuerung der Rekomplementierung bei nega tiven Ergebnissen ist eine Kippstufe REK vorhan den, die durch die Ausschaltflanke der Steuergrösse z ein- und durch die Und-Schaltung K19 gesteuert ausgeschaltet wird.
In Fig.2 sind die in einer nicht dargestellten Taktzentrale erzeugten Impuls- und Steuergrössen, die benötigt werden, in Abhängigkeit von der Zeit dargestellt. Der Taktimpuls s leitet jede Dualstel- lenzeit ein. LS ist derjenige Taktimpuls, der an der Speichermatrix die Einschreibvorgänge :
steuert, und der Impuls LL steuert die Lesevorgänge.<I>U</I> und V sind zwei zeitlich gegeneinander versetzte Steuergrö ssen, die bewirken, dass entweder die erste Operan- dentetrade (MD-Tetrade) oder die zweite Operan- dentetrade (AC-Tetrade) gelesen und geschrieben wird. Während jeder Zeit, in der Steuergrösse U = L, wird z. B. einmal in der Speichermatrix zuerst ge lesen und dann geschrieben.
Der in Fig. 3 mit SPl bis SP4 bezeichnete Block stellt die Speichermatrix dar. Es, findet eine Ferrit- kernmaträx Verwendung mit paralleler Einschreibung und Lesung dien Totfraden. Dass Einschreiben der Te- tradeninformation erfolgt über die mit A1 bis. A4 bezeichneten Eingänge und das Lesen sowie der Transport <RTI
ID="0002.0136"> ins Rechenwerk über die mit B1 bis B4 bezeichneten Ausgänge. Die Eingangsgrössen an den Eingängen Al bis A4 stellen gleichzeitig die Schalt zustände der Kippstufen A1 bis A4 des Addier- Subtrahierwerks (Fig.1) dar.
Die Additionsoperanden werden aus den beiden nicht im Detail dargestellten Speicherzeilen<I>MD</I> und AC der Speichermatrix SPl bis SP4 (Fig. 3) entnom men. Der Inhalt von Speicherzeile<I>MD</I> bleibt bei den Additions-Subtraktionsvorgängen unverändert, wäh rend in Speicherzeile AC das Ergebnis eingeschrie ben wird.
Zur aufeinanderfolgenden Ansteuerung der Ma trixspalten zwecks Schreiben und Lesen der Zahl Tetrade für Tetradie äst ein Zähler Z vorhanden, der z. B. bei einer llstelligen Dezimalzahl von 1 bis 1 durchzählt, berücksichtigt man auch noch eine Vor zeichenstelle, dann von 1 bis 12 und dabei eine Tetrade nach der anderen liest.
In der Ruhelage befindet sich der Zähler Z im Schaftzustand Z = 0 . Über Oder-Schaltung D2 (Befehlsimpulse<I>AB</I> oder SB oder Ausgangsgrösse von Und-Schaltung K20) wird der Zähler auf Z= 1 eingestellt, wonach er weiter dürchzähllG, bis über eine entsprechende,
nicht dargestellte Entschlüsseischaltung seiner Schaltzustände alle Matrixspalten angesteuert worden sind, also bis der Zähler, z. B. bis Z = 12 durchgezählt hat. Danach schaltet der Zähler Z wie der in den Schafzustand Z =<B> 01 </B> undi verharrt in diesem Zustand, bis über Oder-Schaltung D2 wieder eine Einschaltung erfolgt.
Durch ein nicht dargestelltes Schaltnetzwerk wird im Falle, dass der Zähler Z einen Schaltzustand un gleich Null annimmt, die Steuergrösse Z = L gebildet. Anderseits ist Z = L, falls der Zähler Z sich im Schalitzustand 0 befindet.
<I>Die</I> Vorzeichenverarbeitung Die Vorzeichen der Operanden sind auf dem nied rigsten Bitplatz der in der Vorzeichenspalte der Spei- chermarorix nach Fig.3 enthaltenen Tetrade gespei chert.
Entsprechend den von aussen in die Schaltung gelangenden Befehlen (Additionsbefehl AB oder Sub traktionsbefehl SB) und den Operandenvorzeichen, ist die im Rechenwerk auszuführende Rechenopera tion nach den folgenden Gesichtspunkten auszu wählen:
EMI0003.0002
<I>MD <SEP> AC <SEP> Bef <SEP> OP</I>
<tb> + <SEP> + <SEP> + <SEP> + <SEP> (a)
<tb> + <SEP> + <SEP> - <SEP> - <SEP> (L)
<tb> + <SEP> - <SEP> + <SEP> - <SEP> (L)
<tb> + <SEP> - <SEP> - <SEP> + <SEP> (o)
<tb> - <SEP> + <SEP> + <SEP> - <SEP> (L)
<tb> - <SEP> + <SEP> - <SEP> + <SEP> (o)
<tb> - <SEP> - <SEP> + <SEP> + <SEP> (o<B>)</B> Ausserdem ist das Resultatvorzeichen nach der Vorzeichenstelle von Speicherzeile AC zu bringen. Bei Rechnungen unter bzw.
über 0 können Rekom- plementierungen notwendig werden. Da der Inhalt von Speicherzeile <I>MD</I> unverändert erhalten bleibt, darf :sich auch das MD-Vorzeichen nicht ändern. Als Resultatvorzeichen ist in die Speicherzeile für AC ebenfalls im Normalfall des MD-Vorzeichen und nur, wenn zu rekomplementieren ist, das ne gierte MD-Vorzeichen einzutragen.
Die Vorzeichenverarbeitung und die Behandlung des Ad'ditions- und Subtraktionsbefehles sind in der Fig. 1 dargestellt. Der Addfitions- und Subtraktions befehl schaltet über Leitung<I>AB</I> den Zähler Z in die Stellung 1 = 0 0 0 L. Damit wird die Vorzeichen spalte an der Matrix entschlüsselt und zunächst das .VD-Vorzeichen gelesen und in eine Kippstufe A 1 eingetragen (über Leitung B1). Die Kippstufe A1 wurde vor Rechnungsstart durch einen in der Zeich nung nicht dargestellten Löschirnpuis auf 0 geschal tet.
Aus, anderen Gründen (Addition) wird für die Eintragung des. MD-Vorzeichens der triggernde Ein gang der Kippstufe A 1 benutzt. Der nachfolgende Schreibtakt schreibt das. Vorzeichen wieder unver ändert auf denselben Platz von Speicherzeile<I>MD</I> ein. Gleichzeitig wird das in Kippstufe A 1 enthaltene Vorzeichen durch die Und-Schaltung KI<I>=</I> LS <I>-</I> S1 gelöscht. Danach wird das AC-Vorzeichen gelesen und in die Kippstufe A 1 übertragen.
Die die Addition steuernde Schaltspannung ADD wird durch die Und-Schaltung K17 erzeugt und un abhängig von dem Schaltzustand der das Vorzei chen verarbeitenden Kippstufe M während Z = 1 = 0 0 0 L im Zustand ADD = L gehalten.
Die Summe der beiden Vorzeichen wird dazu benutzt, um über Und-Schaltung K18 = A 1 - S1 REK den Operationssteuertrigger <I>M</I> umzuschalten. (Bei zwei negativen Operanden wird Kippstufe M z. B. zweimal gebriggert.) Über Eingang<I>SB</I> schal tete bei Subtraktionsbefehl die Kippstufe M aus und über Eingang<I>AB'</I> bei Additionsbefehl ein.<I>M = L</I> wird als Subtraktion gedeutet, der entgegengesetzte Schaltzustand als Addition.
Die beiden Steuergrössen ADD und SUB sind durch Und'-Schaltung K17 ge steuert, und Steuergrösse ADD ist durch den Negator N1 entkoppelt.
Bei positiven Vorzeichen der in den Speicher- zeilen AC und<I>MD</I> enthaltenen Operanden entspricht die durch den Befehl geschaltete Stellung der Kipp- stufe M bereits der tatsächlich auszuführenden Ope ration.
Sind jedoch die beiden Operandenvorzeichen verschieden, so ersieht man aus der weiter vorn angegebenen Tabelle für die tatsächlich auszufüh rende Rechenoperation (Rubrik (0p), d'ass die Kipp- stufe M zwecks Ausführung der richtigen Rechen operation in den entgegengesetzten Schaltzustand zu schalten ist.
Sind beide Operanden negativ, so ergeben die Umschaltungen der Kippstufe M wieder ihren durch den Befehl bestimmten Anfangszustand. In den Vor zeichenplatz von Speicherzeile AC ist zunächst das MD-Vorzeichen einzutragen, das jedoch bereits durch den Additionsvorgang in Ki'ppsibufe A 1 verlorenge gangen ist.
Das MD-Vorzeichen muss daher im Rechenwerk zwischengespeichert werden. Die Und-Schaltung <I>K2 = E2 - V</I> schaltet zu diesem Zweck auf dem Wege der normalen übertragsbildung die Kippstufe A2 ein. Am Ende des Vorzeichenzyklus gelangt das MD-Vorzeichen aus der Kippstufe AE in die Speicherzeile AC, und die Kippstufen <B>Al.</B> und<I>A2</I> werden mit der Ausschaltflanke von V gelöscht. (Über dieselbe Leitung mussten die Kippstufen auch vor Rechnungsstart bereits gelöscht werd!en).
Entsteht im Verlaufe einer Subtraktion ein nega tives. Ergebnis (Komplement), so ist dies aus. Über lauf E zu erkennen, der sich über den grösstmöglichen Zahlenbereich hinaus fortpflanzt. Es hat Beine Re komplementierung des in AC enthaltenen Ergebnisses zu erfolgen in der Form<I>0 -</I> < AC <I>></I> --@ < <I>A</I> C> Zu Beginn der Rekomplementierungsperiode wird das AC-Vorzeichen in den entgegengesetzten Wert umgewandelt.
In der Vorzeichenperiode zu Beginn der Rekomplementierung wird nur der Inhalt von Speicherzeile AC gelesen und geschrieben. Das Ad dierwerk ist in der Vorzeichenperiode wieder durch Steuergrösse Sl an Und-Schaltung K17 auf ADD = L (Addieren) gestellt. Der Übertrag E=L, der darüber Auskunft gibt, ob zu rekomplementieren ist, steht in einer Kippstufe (E). Mit der Ausschalt flanke von Steuergrösse U schaltet die Kippstufe (E) aus.
Die Ausschaltflanke von Kippstufe E triggert Kippstufe A l in den Schaltzustand L. Wird mit dem nächsten Takt aus Speicherzeile AC ein negatives Vorzeichen gelesen, so triggert dieses Kippstufe A 1 abermals. In Kippstufe<B>Al.</B> steht also während des Schreibtaktes die Negation des alten A C-Vorzeichens, die auf dem Vorzeichenplatz von Speicherzeile AC eingeschrieben wird.
Damit ist auch bei Rekomple- mentierung in Speicherzeile AC das richtige Resul- tatsvorzeichen enthalten. Damit Kippstufe M nicht in diesem Falle fälschlich getriggert wird, ist Und- Schaltung K18 durch die SteuergrösseREK erweitert.
Das Addier- und Korrekturwerk und die Ope- randensteuerung bei Addition.
Gemäss der Beziehung: < MD> <I> </I> < AC>-#- (AC> wird zuerst die<I>MD</I> Tetrade aus der Speichermatrix gelesen (Leseleitungen B1 bis B4) und über die zu- gehörigen Triggereing'änge in die Kippstufen A1 bis A4 eingeschrieben, die vorher auf 0 gelöscht worden sind.
Darauf wird die MD-Tetrade aus den Kippstufen A1 bis A4 wieder unverändert in die Speichermatrix eingeschrieben. Da nur ein Akkumu- lator-Regisber (Kippstufen A 1 bis A4) vorhanden ist, das sowohl für den Schreib- als auch für den Lesevorgang eingesetzt ist und ausserdem noch als Akkumulator, in dem aufaddiert wird, dient, ist diejenige Tetrade, die sich nicht zu verändern hat, zuerst zu lesen.
Die MD-TetTade wird gelesen und geschrieben, während von der Taktzentrale die Steuergrösse U=L geliefert wird.
Während Steuergrösse<I>V = L</I> wird<I>die</I> AC Te- trade gelesen, zur in den Kippstufen A1 bis A4 ste- henden Tetrade hinzuaddiert und das Resultat wie der in Speicherzeile AC eingetragen. Die Bildung der dualen Summe erfolgt zunächst, indem die Kipp- stufen Al bis A4 über die Lesekanäle B1 bis.
B4 ein zweites Mal getriggert werden. Sind beide Dual summanden L, dann. sind die dualen Überträge in die nächsthöhere Dualstelle zu berücksichtigen.
Die in den Kippstufen A1 und A2 entstehenden Überträge werden zunächst in den Kippstufen E2 und E3 zwischengespeichert. Die Einschaltung er folgt einfach bei Addition, wenn A1 bzw. A2 von L auf 0 und bei Subtraktion, wenn A1 bzw. A2 von 0 auf L triggern. Die Additions-Subtraktionssteue- rung wird durch die Und-Schaltungen K6, K7, K8 und K9 realisiert.
Die Überträge werden asynchron verarbeitet. Der nächste Taktimpuls s führt sie den nächsthöheren Kippstufen des Akkumulators. additiv (Triggerein- gÄnge) zu.
Der in. Kippstufe 3 entstehende Übertrag kann über je eine Und-Schaltung für Addition und' Sub traktion die Kippstufe A4 triggern. Eine besondere Zwischenspeicherung des übertragswertes in einen Trigger wäre hier nicht notwendig, da auf Grund der Struktur der gewählten direkten 8-, 4-, 2-,
1 Verschlüsselung der Dezimalziffer als Tetrade nie ein. Übertrag aus A3 nach A4 und eine Triggerung über Addiereingang B4 (zweiter Summand) gleichzeitig auftreten können.
Das gilt sowohl für Addition als auch für Subtraktion. Jedoch ist im Ausführungs- beispiel aus Gründen der Additions-Subtraktionsum- schaltung die besondere Kippstufe E4 eingeführt worden, die über die Und-Schaltungen K10 und K11 eingeschaltet wird und den zwischengespeicherten Übertrag über Und-Schaltung K4 in Kippstufe A4 überträgt.
Der Korrekturentscheid erfolgt als Pseudodezi- malindikation oder als Indikation eines in Kippstufe A4 entstehenden Übertrages: <I>Ä2 .</I> Ä-3 v<I>Ä4</I> Die Ausschaltflanke dieser Steuergrösse, die in. Und-Schaltung K15 und Oder-Schaltung Dl gebildet wird, schaltet den Korrektursteuertrigger KR ein. Diese Einschaltung ist bei Subtr<U>aktio</U>n in Und-Schal- tung K14 durch die Steuergrösse SUB gesperrt.
Ferner muss KR mit der Schaltflanke von Kipp- stufe A4 eingeschaltet werden. Der Korrekturwert + 6 wird durch Und-Schaltung K5 in die Kippstu- fen E2 und A3 eingegeben. Gleichzeitig schaltet die Kippstufe E ein. Der Schaltzustand<I>E = L</I> stellt den Übertrag in die nächste Tetrade dar, der immer dann und nur dann entsteht, wenn zu korrigieren ist.
Die in Kippstufe E gespeicherte übertragseins muss während der folgenden Tetradenadditnon zum niedrigsten Bit zuaddiert werden. Allerdings darf dies nicht vor Einschreiben der MD-Tetrade in die Kipp- stufen Al bis A4 geschehen, damit diese nicht ver fälscht wird.
Daher schaltet erst die Ausschaltflanke von Steuergrösse U die Kippstufe E wieder aus, und die Ausschaltflanke von Steuergrösse E triggert Kipp stufe A l in den entgegengesetzten Schaltzustand un ter eventwe@lem Einschalten des dualen Übertrags mechanismus (Kippstufe E2).
Als Korrekturwert ist bei Addition eine 6 zu addieren, bei Subtraktion zu subtrahieren. Die Aus- schaltflanke von KR triggert daher E2 und A3, was je nachdem, ob Steuergrösse ADD oder SUB anliegt, einer Addition oder Subtraktion von 6 gleichkommt. Es tritt lediglich der der Operationstetrade entspre chende übertragsmechanismus (E3, E4) in Kraft.
Ausgeschaltet wird Kippstufe KR durch den nächsten Impuls s, vorausgesetzt, dass die übertragsverarbei- tung beendet war, wobei zur asynchronen Steuerung der Ausschaltung von Kippstufe KR Und-Schaltung K16 (mit E2, E3 und E4) eingeführt isst.
Da die Fortsetzung der Schreib- und Lese-Zyklen in der Speichermatrix erst erfolgen kann, wenn der Additionsvorgang beendet ist, wird durch das Ad dierwerk eine Asynchronsteuerung erzeugt. Der An ruf der Speichermatrix SPl bis ,SP4 ist, durch die Steuergrössen KR, <I>E2,</I> E3' und E4 vorübergehend gesperrt.
Additions-Subtraktionssteuerung Die Kippstufe M gibt Auskunft über die auszu führende Operation. Durch Befehl und Operanden vorzeichen wurde sie in die resultierende Lage ge stellt. Bei M =L ist die AC-Tetrade von der MB- Tetrade zu subtrahieren.
Bei SUB <I>= L</I> darf die MD-Tetrade nicht sub trahiert werden, es würde<I>0 =MD</I> gebildet und eine verfälschte MD-Tetrade wieder in die Speicherzeile <I>MD</I> eingetragen werden. Daher wird die MD-Te- trade auch bei Subtraktion additiv in die Kippstufen <I>A 1</I> bis<I>A4</I> gebracht und die Subtraktion nur wäh rend der Verarbeitung der zweien Tetrade durchge führt.
Da die Kippstufen A1 bis A4 vor Eintragung der MD-Tetrage auf 0 gelöscht waren, steht nach dem Lesevorgang die, richtige Tetrade bereits in den Kippstufen. Es ist lediglich zu verhindern, dass die auf Subtraktion gestellten Übertrags- und Korrek- turwerteingaben wirksam werden.
Zu diesem Zweck werden die Überträge sowie der Korrekturwert nur während der Steuergrösse V = L dem Akkumulator mit den Kippstufen A 1 bis: A4 zugeführt. Die Steuerung erfolgt durch die Und Schaltungen K2 bis K5. Damit können die Kippstu- fen E2, E3, E4 und KR in den anderen Zeiten un beschadet fälschlich einschalten, da die Ausgänge gesperrt sind.
Die Einschaltung von Kippstufe KR mit den Ausschaltflanken von A4 und A4 ist ebenfalls durch ADD und SUB zu steuern, K12 ist daher um die Grösse ADD erweitert.
Bei Subtraktion schaltet Und-Schaltung K13 = <I>Ä4 SUB</I> den KR-Trigger ein. Durch die Korrektur vorgänge kann KR nochmals einschalten. Damit nicht nochmals, eine 6 zur Summentetrade zuaddiert. wird, ist die Korrekturwerteingabe über K5 = KR - E durch Steuergrösse E gesperrt,
denn mit der ersten KR- Ausschaltung wird auch die den dezimalen über trag speichernde Kippstufe E eingeschaltet. Als erstes ist die MD-Tetrade abzulesen und aufzusprechen, danach die AC-Tetrade. Die Auswahl erfolgt mit der Steuergrösse U und V. Das Operandenende (12. Tetrade) wird durch Zähler Z kenntlich gemacht. Hat keine Rekomplementierung zu erfolgen, ist, wenn Z auf 0 schaltet, die Operation beendet.
<I>Die</I> Rekomplementierung Sie hat zu erfolgen, wenn ein Übertrag über die 12. Dezimalstelle hinaus bestehen bleibt. Und-Schal- tung K20<I>= E - S12</I> - REK (Fig. 3) schaltet daher so fort den Zähler Z wieder ein, und er zählt nochmals durch. Durch die Ausschaltflanke der Steuergrösse Z wurde .ein zweiter Steuertrigger REK eingeschaltet, der die Rekomplementierung steuert.
Auch M muss wieder eingeschaltet werden bzw. darf nicht ausge schaltet werden. Während REK = L, ist die Auswahl der Speicherzeile <I>MD</I> gesperrt, es wird 0-AC gebil det. Die Kippstufe REK stellt sich, sobald der Zähler Z nicht mehr eingeschaltet wird, über Und-Schaltung K19 auf 0 .
Circuit arrangement for the parallel addition and subtraction of decimal digits The invention relates to a circuit arrangement for the parallel addition and subtraction of a tetradically encrypted decimal digit with a second tetradically encrypted decimal digit contained in a flip-flop register, hereinafter called the accumulator, and consists from a correction:
k- tureinri'chtung and a device for delaying the decimal transfer and from flip-flops for the intermediate storage of the dual transfer.
A known circuit arrangement with two registers of flip-flops, which contain the operand tetrades of the digits to be processed, uses four full adder-subtractors for the dual addition or subtraction of the two tetrads with the carry propagating from adder-subtractor to adder-subtractor ,
This is followed by a correction device consisting of a further full adder-subtractor and two half adder-subtractors and controlled by a correction decision circuit. Although this circuit arrangement adds or subtracts two tetrads in one cycle time, it has the significant disadvantage that it requires five complete full adder-subtractors and two half adder-subtractors in addition to the operand registers.
In addition, since the carry that forms in the known adding-subtracting unit has to go through a very long chain of switching elements within the entire adding-subtracting circuit, the time intervals between two clock pulses must be kept very large.
In order to avoid this high technical effort with respect to the full adder-subtracter, adding and subtracting units were known for adding or subtracting decimal numbers encoded in tetrads, which process the digits encoded in tetrads in series and therefore only two full adder-subtractors to form the decimal sum or difference between the input trades required.
However, these series adder-subtracters have the disadvantage that to form the sum or difference the operand tetrads entering the adder-subtracter in parallel must be converted in series by means of four different pulses that are generated in a clock center, and at least to form the result four dual digit time values are required.
The invention is therefore based on the object of creating a circuit arrangement for the parallel addition-subtraction of two decimal numbers encrypted as tetrads, which enables the dual transfers to be processed in asynchronous mode while temporarily storing these transfers in flip-flops, with the technical complexity of switching means a dczimal series adding-subtracting unit with correction device the computing speed of a P'ara, lnelad'dierwerkes is almost reached.
The solution according to the invention consists in that outputs of the accumulator flip-flops, which carry non-negated quantities, via AND circuits opened during addition, and outputs, which carry negated quantities,
are connected via AND circuits opened during subtraction with switch-on inputs of the transfer flip-flops and a flip-flop of the correction device and that between the outputs of the carry flip-flops and the triggering inputs of the next higher accumulator cap stages AND circuits, which temporarily block the transmission of the dual transfers, are connected.
An exemplary embodiment of the circuit arrangement according to the invention for adding and subtracting tetradically encrypted decimal digits is shown in the drawing and will be described below.
The figures show: FIG. 1 an adding / subtracting mechanism, FIG. 2 the diagram of the associated control pulses as a function of time, and FIG. 3 a memory matrix with control circuit. The adder-subtracter in Fig.1 consists of the accumulator with the flip-flops A1, <I> A2, A3 </I> and A4, the flip-flops E2, E3 and E4 to delay the dual carry,
the flip-flop E to delay the decimal transfer and the flip-flop KR to control the decimal correction process. The flip-flops A1 to A4 are connected to the flip-flops E2, E3, E4 and KR via the AND circuits K6 to K13, while in the other direction the flip-flops E2, E3 and E4 are connected to the flip-flops A2, A3 and A4 via the And- Circuits K2 to K5 are connected.
The flip-flops E, E2 and A3 are switched on by the output of an AND circuit K5. The flip-flop Al is switched off by the AND circuit Kl. The flip-flops A1 to A4 are triggered by read pulses arriving via the lines B1 to B4 from the memory matrix according to FIG.
that means switched to the opposite switching state. The trigger inputs are shown in the drawing as an arrow next to the symbol representing the flip-flop level, while simple switching inputs, i.e. inputs that can switch the flip-flop levels to a specified switching state (in switching state L), are on the associated side are led.
The flip-flops A1 to A4 of the accumulator are switched off by the switch-off edge, that is, the edge from L to O, of the control variable V. The significance of the control variable V can be seen from FIG. The flip-flops E2, E3 and E4 are switched off by pulse s (see also FIG. 2).
The flip-flop KR can also be switched on in a controlled manner by the network, consisting of the AND circuits K14 and K15 and the OR circuit D1, and switched off in a controlled manner by the AND circuit K16.
To generate the control variables ADD and <I> S UB, </I> which differentiate between addition and subtraction, the trigger stage M, the AND circuit K17 and the inverter Nl are available. Flip-flop M is switched on by a control pulse <I> AB </I> appearing with the addition command, switched off by a control command <I> SB </I> appearing with the subtraction command and triggered by And circuit K18.
To control the recomplementation in the case of negative results, a flip-flop REK is available, which is switched on by the switch-off edge of the control variable z and switched off in a controlled manner by the AND circuit K19.
In FIG. 2, the pulse and control variables generated in a clock center (not shown) that are required are shown as a function of time. The clock pulse s introduces every dual digit time. LS is the clock pulse that causes the write processes on the memory matrix:
controls, and the pulse LL controls the reading processes. <I> U </I> and V are two time-shifted control variables that cause either the first operand tetrad (MD tetrad) or the second operand tetrad ( AC tetrad) is read and written. During each time, in the control variable U = L, z. B. read once in the memory matrix first ge and then written.
The block labeled SP1 to SP4 in FIG. 3 represents the memory matrix. A ferrite core matrix is used with parallel writing and reading for the dead wheels. The trade information is written in via the A1 to. A4 designated inputs and reading as well as the transport <RTI
ID = "0002.0136"> into the calculator via the outputs labeled B1 to B4. The input variables at the inputs A1 to A4 simultaneously represent the switching states of the multivibrators A1 to A4 of the adder-subtracter (Fig. 1).
The addition operands are taken from the two memory lines <I> MD </I> and AC of the memory matrix SP1 to SP4 (FIG. 3), which are not shown in detail. The content of memory line <I> MD </I> remains unchanged during the addition-subtraction processes, while the result is written into memory line AC.
For the successive control of the Ma trix columns for the purpose of writing and reading the number tetrad for tetrad ast a counter Z available, the z. B. counting from 1 to 1 with a two-digit decimal number, one also takes into account a preceding sign position, then from 1 to 12, reading one tetrad after the other.
In the rest position, the counter Z is in the shaft state Z = 0. The counter is set to Z = 1 via the OR circuit D2 (command pulses <I> AB </I> or SB or output variable from the AND circuit K20), after which it continues counting until a corresponding
Not shown decoding circuit of its switching states all matrix columns have been activated, so until the counter, z. B. has counted through to Z = 12. The counter Z then switches to the sheep state Z = 01 and i remains in this state until it is switched on again via the OR circuit D2.
In the event that the counter Z assumes a switching state not equal to zero, the control variable Z = L is formed by a switching network (not shown). On the other hand, Z = L if the counter Z is in the switching state 0.
<I> The </I> sign processing The signs of the operands are stored in the lowest bit position of the tetrad contained in the sign column of the memory matrix according to Fig. 3.
The arithmetic operation to be carried out in the arithmetic unit is to be selected according to the commands (addition command AB or subtraction command SB) and the sign of the operand that are entered into the circuit from outside:
EMI0003.0002
<I> MD <SEP> AC <SEP> Command <SEP> OP </I>
<tb> + <SEP> + <SEP> + <SEP> + <SEP> (a)
<tb> + <SEP> + <SEP> - <SEP> - <SEP> (L)
<tb> + <SEP> - <SEP> + <SEP> - <SEP> (L)
<tb> + <SEP> - <SEP> - <SEP> + <SEP> (o)
<tb> - <SEP> + <SEP> + <SEP> - <SEP> (L)
<tb> - <SEP> + <SEP> - <SEP> + <SEP> (o)
<tb> - <SEP> - <SEP> + <SEP> + <SEP> (o <B>) </B> In addition, the result sign must be placed after the sign position of memory line AC. For invoices below or
Completions above 0 may be necessary. Since the content of memory line <I> MD </I> remains unchanged,: The MD sign must not change either. Normally, the MD sign should also be entered as the result sign in the memory line for AC and only if it is necessary to recomplement the negated MD sign.
The processing of signs and the handling of the addition and subtraction command are shown in FIG. The addition and subtraction command switches the counter Z to position 1 = 0 0 0 L via line <I> AB </I>. This decodes the sign column on the matrix and first reads the .VD sign and stores it in a Flipper A 1 entered (via line B1). The flip-flop A1 was switched to 0 before the start of the calculation by a Löschirnpuis not shown in the drawing.
For other reasons (addition), the triggering input of flip-flop A 1 is used to enter the. MD sign. The subsequent write cycle writes the sign again unchanged in the same location of memory line <I> MD </I>. At the same time, the sign contained in flip-flop A 1 is deleted by the AND circuit KI <I> = </I> LS <I> - </I> S1. The AC sign is then read and transferred to flip-flop A 1.
The switching voltage ADD which controls the addition is generated by the AND circuit K17 and is held in the ADD = L state regardless of the switching state of the trigger stage M processing the sign while Z = 1 = 0 0 0 L.
The sum of the two signs is used to switch the operation control trigger <I> M </I> via the AND circuit K18 = A 1 - S1 REK. (With two negative operands, flip-flop M is triggered twice, for example.) Flip-flop M is switched off via input <I> SB </I> with a subtraction command and on via input <I> AB '</I> with an addition command. <I> M = L </I> is interpreted as subtraction, the opposite switching state as addition.
The two control variables ADD and SUB are controlled by the AND 'circuit K17, and the control variable ADD is decoupled by the inverter N1.
With positive signs of the operands contained in the memory lines AC and <I> MD </I>, the position of the flip-flop M switched by the command already corresponds to the operation actually to be carried out.
However, if the two operand signs are different, the table given above for the arithmetic operation actually to be carried out (rubric (0p)) shows that the flip-flop M must be switched to the opposite switching state in order to carry out the correct arithmetic operation.
If both operands are negative, the switchings of the flip-flop M again result in the initial state determined by the command. The MD sign must first be entered in the sign space of memory line AC, which, however, has already been lost due to the addition process in Ki'ppsibufe A 1.
The MD sign must therefore be temporarily stored in the arithmetic unit. For this purpose, the AND circuit <I> K2 = E2 - V </I> switches on the flip-flop A2 by way of normal transfer formation. At the end of the sign cycle, the MD sign is transferred from the flip-flop AE to the memory line AC, and the flip-flops <B> Al. </B> and <I> A2 </I> are deleted with the switch-off edge of V. (The flip-flops had to be deleted via the same line before the start of the invoice).
If a negative occurs in the course of a subtraction. Result (complement), this is over. Can be seen over run E, which propagates beyond the largest possible number range. It has legs re-complementing the result contained in AC to be done in the form <I> 0 - </I> <AC <I>> </I> - @ <<I> A </I> C> at the beginning During the recomplementation period, the AC sign is converted to the opposite value.
In the sign period at the beginning of the recomplementation, only the content of memory line AC is read and written. The ad dierwerk is set to ADD = L (adding) again in the sign period by control variable S1 at AND circuit K17. The carry E = L, which provides information on whether to recomplement, is in a flip-flop (E). With the switch-off edge of control variable U, the flip-flop (E) switches off.
The switch-off edge of flip-flop E triggers flip-flop A 1 in the switching state L. If a negative sign is read from memory line AC with the next clock, this triggers flip-flop A 1 again. In flip-flop <B> Al. </B> there is therefore the negation of the old A C sign during the write cycle, which is written to the sign location of memory line AC.
This means that the correct result sign is also contained in memory line AC when there is a back-up. So that flip-flop M is not falsely triggered in this case, the AND circuit K18 is extended by the control variable REC.
The addition and correction mechanism and the operand control for addition.
According to the relationship: <MD> <I> </I> <AC> - # - (AC> the <I> MD </I> tetrad is first read from the memory matrix (read lines B1 to B4) and via the The corresponding trigger inputs are written into the flip-flops A1 to A4, which were previously cleared to 0.
The MD tetrad from the flip-flops A1 to A4 is then rewritten unchanged into the memory matrix. Since there is only one accumulator register (flip-flops A 1 to A4), which is used for both the write and the read process and also serves as an accumulator in which is added, the tetrad that is does not have to change, read first.
The MD-TetTade is read and written while the control variable U = L is supplied by the clock center.
During control variable <I> V = L </I>, <I> the </I> AC Tetrade is read, added to the tetrad in flip-flops A1 to A4 and the result is entered as the one in memory line AC. The formation of the dual sum is initially carried out by switching the trigger levels A1 to A4 via the reading channels B1 to.
B4 can be triggered a second time. If both duals add L, then. the dual transfers to the next higher dual position must be taken into account.
The transfers that arise in flip-flops A1 and A2 are initially cached in flip-flops E2 and E3. It is switched on simply with addition when A1 or A2 trigger from L to 0 and with subtraction when A1 or A2 trigger from 0 to L. The addition-subtraction control is implemented by the AND circuits K6, K7, K8 and K9.
The transfers are processed asynchronously. The next clock pulse s leads them to the next higher trigger stages of the accumulator. additive (trigger inputs) to.
The carry resulting in flip-flop 3 can trigger flip-flop A4 via an AND circuit for addition and subtraction. A special intermediate storage of the transfer value in a trigger would not be necessary here, because due to the structure of the selected direct 8-, 4-, 2-,
1 Encryption of the decimal digit as a tetrad never a. Carry over from A3 to A4 and triggering via adding input B4 (second summand) can occur simultaneously.
This applies to both addition and subtraction. However, in the exemplary embodiment, for reasons of addition-subtraction switching, the special flip-flop E4 has been introduced, which is switched on via the AND circuits K10 and K11 and transfers the temporarily stored carry via the AND circuit K4 to flip-flop A4.
The correction decision is made as a pseudodecimal indication or as an indication of a carryover arising in flip-flop A4: <I> Ä2. </I> Ä-3 v <I> Ä4 </I> The switch-off edge of this control variable, which is shown in the AND circuit K15 and OR circuit Dl is formed, the correction control trigger KR is switched on. With Subtr <U> aktio </U> n in the AND circuit K14, this activation is blocked by the control variable SUB.
Furthermore, KR must be switched on with the switching edge of trigger level A4. The correction value + 6 is entered into the flip-flops E2 and A3 by means of an AND circuit K5. At the same time, the flip-flop E switches on. The switching state <I> E = L </I> represents the carryover into the next tetrad, which always occurs and only when a correction has to be made.
The transmitted being stored in trigger stage E must be added to the lowest bit during the following tetrad addition. However, this must not be done before the MD tetrad is written to the trigger levels A1 to A4 so that it is not falsified.
Therefore, the switch-off edge of control variable U first switches off flip-flop E again, and the switch-off flank of control variable E triggers flip-flop A l in the opposite switching state, possibly switching on the dual transfer mechanism (flip-flop E2).
A 6 is to be added as a correction value for addition and a 6 is to be subtracted for subtraction. The switch-off edge of KR therefore triggers E2 and A3, which equates to an addition or subtraction of 6, depending on whether the control variable ADD or SUB is present. Only the transfer mechanism (E3, E4) corresponding to the operation tetrad comes into force.
Flip-flop KR is switched off by the next pulse s, provided that the transfer processing was finished, whereby for asynchronous control of the switching off of flip-flop KR and circuit K16 (with E2, E3 and E4) is introduced.
Since the continuation of the write and read cycles in the memory matrix can only take place when the addition process has ended, an asynchronous control is generated by the ad dierwerk. The call to the memory matrix SP1 to SP4 is temporarily blocked by the control variables KR, <I> E2, </I> E3 'and E4.
Addition-subtraction control The flip-flop M provides information about the operation to be performed. It was placed in the resulting position by signing the command and operand. If M = L, the AC tetrad must be subtracted from the MB tetrad.
With SUB <I> = L </I> the MD tetrad must not be subtracted, <I> 0 = MD </I> would be formed and a falsified MD tetrad back into the memory line <I> MD </ I> be registered. For this reason, the MD-Tetrade is also brought into the flip-flops <I> A 1 </I> to <I> A4 </I> with subtraction and the subtraction is only carried out while the second tetrad is being processed.
Since the toggle levels A1 to A4 were deleted to 0 before the MD tetrad was entered, the correct tetrad is already in the toggle levels after the reading process. You only have to prevent the carry and correction value entries set to subtraction from becoming effective.
For this purpose, the transfers and the correction value are only fed to the accumulator with the flip-flops A 1 to: A4 during the control variable V = L. The control is carried out by the AND circuits K2 to K5. This means that the toggle stages E2, E3, E4 and KR can be switched on incorrectly in the other times without damage, as the outputs are blocked.
The activation of flip-flop KR with the deactivation edges of A4 and A4 can also be controlled by ADD and SUB, K12 has therefore been expanded to include ADD.
With subtraction, the AND circuit K13 = <I> Ä4 SUB </I> switches on the KR trigger. Through the correction processes, KR can switch on again. So not again to add a 6 to the sum trade. the correction value input via K5 = KR - E is blocked by control variable E,
because with the first KR disconnection, the flip-flop E storing the decimal transfer is also turned on. First read off the MD tetrad and record it, then the AC tetrad. The selection is made with the control variables U and V. The end of the operand (12th tetrad) is indicated by the Z counter. If there is no recomplementation to take place, the operation is ended when Z switches to 0.
<I> The </I> recomplementation has to take place if a carryover beyond the 12th decimal place persists. AND circuit K20 <I> = E - S12 </I> - REK (FIG. 3) therefore immediately switches the counter Z on again, and it counts through again. A second control trigger REK, which controls the recomplementation, was switched on by the switch-off edge of the control variable Z.
M must also be switched on again or must not be switched off. While REK = L, the selection of the memory line <I> MD </I> is blocked, 0-AC is formed. As soon as the counter Z is no longer switched on, the flip-flop REK is set to 0 via the AND circuit K19.