DE1185405B - Circuit arrangement for performing multiplication and rounding operations - Google Patents
Circuit arrangement for performing multiplication and rounding operationsInfo
- Publication number
- DE1185405B DE1185405B DEV24386A DEV0024386A DE1185405B DE 1185405 B DE1185405 B DE 1185405B DE V24386 A DEV24386 A DE V24386A DE V0024386 A DEV0024386 A DE V0024386A DE 1185405 B DE1185405 B DE 1185405B
- Authority
- DE
- Germany
- Prior art keywords
- memory
- multiplier
- flip
- multiplication
- circuit
- 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.)
- Pending
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/491—Computations with decimal numbers radix 12 or 20.
- G06F7/4915—Multiplying; Dividing
Landscapes
- Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Complex Calculations (AREA)
Description
Schaltungsanordnung zur Durchführung von Multiplikations- und Rundungsoperationen Die Erfindung betrifft eine Schaltungsanordnung zur Durchführung von Multiplikations- und Rundungsoperationen in einem dezimalen Rechenwerk, bestehend aus einem Addier-Subtrahier-Werk, Rechenspeichern zum Speichern des Multiplikanden, des Multiplikators und der Teilprodukte, einer Verschiebungseinrichtung zur Verschiebung des- Inhalts der in Reihe geschalteten Multiplikator- und Teilproduktspeicher in Richtung höherer Stellenwertigkeit und einer Einrichtung, die durch Subtraktion einer 1 von der jeweils sich in der höchsten Multiplikatorspeicherstelle befindenden Ziffer die Anzahl der Additionen je Multiplikatorziffer steuert.Circuit arrangement for performing multiplication and rounding operations The invention relates to a circuit arrangement for performing multiplication and rounding operations in a decimal arithmetic unit, consisting of an add-subtract unit, Arithmetic memories for storing the multiplicand, the multiplier and the partial products, a shifting device for shifting the content of the series-connected Multiplier and partial product memory in the direction of higher priority and a facility created by subtracting a 1 from each resulting in the highest The number of additions per multiplier digit controls.
In den bekanntgewordenen elektronischen Multiplikationsschaltungen wird der Multiplikand MD mit den den Multiplikatorziflern entsprechenden Stellengewichten jeweils Mh, nz! zu einem Teilprodukt hinzuaddiert (MR; ist die :lilikatorziffer mit dem dezimalen Gewicht i). Bei Verarbeitung der letzten Multiplikatorziffer geht das Teilprodukt in das Endresultat über. Um die genannten Stellengewichte zu erhalten, sind die Additionen des Multiplikanden MD zum Teilprodukt TP durch Relativverschiebungen des Multiplikanden gegenüber dem Teilprodukt in der Form zu verändern, daß die Aufaddition von MD in ihrer niedrigsten Stelle in derjenigen Teilproduktstelle beginnt, die dem Gewicht der zu verarbeitenden Multiplikatorziffer- entspricht und sich dann in jedem Additionszyklus in Richtung höherer Stellen fortsetzt. Es ist weiterhin bekannt, Multiplikationseinrichtungen nach einem Multiplikationsalgorithmus schaltungstechnisch zu realisieren, der die Multiplikation in Additionen und Linksverschiebungen des Multiplikators und des Teilproduktes zerlegt, indem die Verarbeitung des Multiplikators von der höchsten Stelle aus beginnt.In the electronic multiplication circuits that have become known, the multiplicand MD with the digit weights corresponding to the multiplier digits are each Mh, nz! added to a partial product (MR; is the: lilikatorziffer with the decimal weight i). When the last multiplier digit is processed, the partial product is transferred to the end result. In order to obtain the weighted positions mentioned, the additions of the multiplicand MD to the partial product TP are to be changed by shifting the multiplicand relative to the partial product in such a way that the addition of MD begins in its lowest position in the partial product position which corresponds to the weight of the multiplier digit to be processed - corresponds and then continues in each addition cycle in the direction of higher digits. It is also known to implement circuitry multiplying devices according to a multiplication algorithm which breaks up the multiplication into additions and shifts to the left of the multiplier and the partial product by starting the processing of the multiplier from the highest point.
Diese bekanntgewordenen Multiplikationsschaltungen haben jedoch den erheblichen Nachteil, daß eine besondere elektronische Zähleinrichtung vorhanden ist, z. B. in Form eines aus Kippstufen aufgebauten Zählers, der die Anzahl der ausgeführten Verschiebungen bzw. der abgebauten Multiplikatorziffern zählt. Zähler werden auch so realisiert, daß der Inhalt eines besonderen Registers über ein Addierwerk pro Zählschritt um eine Einheit erhöht wird.However, these multiplication circuits have become known significant disadvantage that a special electronic counter is available is e.g. B. in the form of a built from flip-flops counter that the number of executed shifts or the reduced multiplier numbers counts. counter are also implemented in such a way that the content of a special register is via an adder is increased by one unit per counting step.
Es ist weiterhin ein großer Nachteil, daß der Ablauf der Rundungsoperation zum Abschneiden der hinteren (niedrigsten) nicht benötigten Stellen des 2 ni-stelligen Produkts in den üblichen Rechenwerken oft wesentlich vom eigentlichen Multiplikationsverlauf abweicht. Deshalb sind zur Steuerung der Rundungsoperationen die bekanntgewordenen Multiplikationseinrichtungen mit einem zusätzlichen Zähler ausgerüstet, der die Rundungsinformation speichert und während des Multiplikationsvorgangs oder am Ende der Multiplikation den Rundungsvorgang auslöst und die Anzahl der abzuschneidenden Stellen zählt. Es sind ferner datenverarbeitende Einrichtungen bekannt, die mit variabler Wortlänge arbeiten. In diesem Falle wird das Ende eines Wortes in den Speichern durch eine sogenannte Wortmarke begrenzt, so daß die Übertragung von Informationen innerhalb der Maschine von Wortmarke zu Wortmarke erfolgt. In - den Rechenwerken derartiger Maschinen dient die Wortmarke dazu, die Dauer- der Rechenzyklen nach Maßgabe der Länge der zu verarbeitenden Wörter zu begrenzen.It is also a major disadvantage that the rounding operation to cut off the last (lowest) unneeded digits of the 2 ni-digit Product in the usual arithmetic units is often significantly different from the actual multiplication process deviates. Therefore, the ones that have become known are used to control the rounding operations Multipliers are equipped with an additional counter that counts the Stores rounding information and during the multiplication process or at the end the multiplication triggers the rounding process and the number of to be cut off Make matters. There are also data processing facilities known that with variable word length work. In this case, the end of a word is in the Saving limited by a so-called word mark, so that the transmission of information takes place within the machine from word mark to word mark. In - the arithmetic units The word mark is used for such machines to track the duration of the computing cycles To limit the length of the words to be processed.
Der Erfindung liegt die Aufgabe-- zugrunde, eine Schaltungsanordnung zur Multiplikation zweier Dezimalzahlen mit anschließendem Rundungsvorgang zu schaffen, ohne die aufwendigen Zähler zum Registrieren der Anzahl der Verschiebungen bei der Multiplikation und zum Speichern der Rundungsinformation bzw. zum Zählen der abzuschneidenden Stellen vom Produkt zu verwenden.The invention is based on the object - a circuit arrangement to multiply two decimal numbers with a subsequent rounding process to create without the expensive counter to register the number of shifts in the Multiplication and for storing the rounding information or for counting the ones to be cut off Make use of the product.
Die erfindungsgemäße Lösung besteht darin, daß die Anzahl der Verschiebungen des Multiplikators und Teilproduktes durch von den normalen dual verschlüsselten Dezimalziffern abweichende Dualziffernkombinationen (Marken) gesteuert wird, wovon eine zu Beginn der Multiplikation in die niedrigste Stelle des Multiplikatorspeichers und eine weitere zu Beginn der Rundungsoperation in den Speicherplatz, der die höchste abzuschneidende Ziffer enthält, eingetragen werden und diese Marken zusammen mit dem Multiplikator und Teilprodukt bzw. danach während der Rundungsoperation mit dem Produkt bis zur Speicherstelle mit dem höchsten Stellenwert des jeweiligen Speichers verschoben werden und damit den Multiplikations- bzw. Rundungsvorgang beenden.The solution according to the invention is that the number of shifts of the multiplier and partial product through dual-encrypted from the normal Decimal digits deviating binary digit combinations (marks) is controlled, of which one at the beginning of the multiplication into the lowest digit of the multiplier memory and another at the beginning of the rounding operation in the memory space that has the highest The number to be cut off must be registered and these trademarks together with the multiplier and partial product or afterwards during the rounding operation with the product up to the memory location with the highest priority of the respective memory be moved and thus the multiplication or rounding process break up.
Die erfindungsgemäße Schaltungsanordnung ist ferner dadurch charakterisiert, daß zur Verschiebung der Marken mit dem Multiplikator und dem Teilprodukt bzw. mit dem Produkt der Ausgang eines Rechenspeichers mit dem Eingang eines Addier-Subtrahier-Werkes, das eine Umsteuereinrichtung enthält, die bei der übertragsverarbeitung und zur dezimalen Korrektur der Tetradenwerte außer Betrieb setzt, verbunden ist, so daß die Marken in den Kippstufen des Addier-Subtrahier-Werkes zwischengespeichert und durch Und-Schaltungen direkt zu den Steuergrößen oder Schaltimpulsen, die den Multiplikations- und Rundungsvorgang beenden, entschlüsselt werden.The circuit arrangement according to the invention is further characterized in that that to move the marks with the multiplier and the partial product or with the product of the output of an arithmetic memory with the input of an adding-subtracting unit, which contains a reversing device that is used in the transfer processing and for decimal correction of the tetrad values is out of order, so that the marks are temporarily stored in the flip-flops of the add-subtract plant and through AND circuits directly to the control variables or switching pulses that determine the multiplication and end the rounding process, can be decrypted.
Ein Ausführungsbeispiel des erfindungsgemäßen Multiplizierwerkes ist in der Zeichnung dargestellt. In der Zeichnung bedeutet F i g. 1 ein Addier-Subtrahier-Werk, F i g. 2 einen Zähler Z und eine Steuerschaltung, F i g. 3 einen Speicher mit dazugehöriger Lese- und Schreibtaktsteuerung.An embodiment of the multiplier according to the invention is shown in the drawing. In the drawing, F i means g. 1 an add-subtract plant, F i g. 2 a counter Z and a control circuit, F i g. 3 a memory with associated Read and write clock control.
Das angegebene Multiplizierwerk dient zur Multiplikation zweier m-stelliger Dezimalzahlen. Das Produkt kann danach durch Abschneiden der hinteren Ziffern und unter eventueller Aufrundung der niedrigsten verbleibenden Ziffer auf einen maximal m-stelligen Zahlenwert begrenzt werden.The specified multiplier is used to multiply two m-digit Decimal numbers. The product can then be modified by cutting off the back digits and possibly rounding up the lowest remaining digit to a maximum m-digit numerical value.
Im weiteren wird zunächst die angegebene Multiplikationsanordnung beschrieben. Danach wird der funktionelle Ablauf des Multiplikationsvorgangs im Detail erläutert.The specified multiplication arrangement is first described below described. Then the functional sequence of the multiplication process in Explained in detail.
In der F i g. 3 sind die mit den Ziffern 1, 2 und 3 bezeichneten Rechenspeicher vorhanden, die im Beispiel für tetradenparallele Speicherung vorgesehen sind und zur Aufnahme 12stelliger Dezimalzahlen (elf Ziffern und Vorzeichen) mit nach der direkten Verschlüsselung verschlüsselten Dezimalziffern dienen. Vorteilhafterweise wird ein Ferritkernmatrixspeicher als Rechenwerksspeicher eingesetzt, dessen Spalten nacheinander angesteuert werden, indem ein Zähler Z (F i g. 2) mit den vier Kippstufen Z 1, Z 2, Z4 und Z8 vorhanden ist, der von 1 bis 12 zählt und dessen Schaltzustände zur Ansteuerung der Matrixspalten S1. bis S12 entschlüsselt werden. Die Entschlüsselschaltung der Dualdarstellung des jeweiligen Schaltzustandes in die 1-aus-12-Darstellung ist in der F i g. 3 durch den mit der Ziffer 4 bezeichneten Block angedeutet. Der Zähler Z (F i g. 2) arbeitet als einfacher Dualzähler, indem jede Ausschaltflanke einer Kippstufe die nachfolgende Kippstufe in den entgegengesetzten Schaltzustand triggert. Die erste Kippstufe Z1 erhält auf ihrem Triggereingang (die Triggereingänge, die die Kippstufen jeweils in , den entgegengesetzten Schaltzustand umschalten, sind als Pfeil an die Mitte des die Kippstufe darstellenden Schaltzeichens geführt, während die nur einen fest zugeordneten Schaltzustand erzeugenden Schalteingänge an die zugehörige Seite geführt sind) Zählimpulse von der Und-Schaltung K1 = Z- VLS-SU mit Z = Z 1 v Z 2 v Z 4 v Z 8 = Schaltgröße gleich L, wenn der Zähler Z durch irgendeine Fremdeinstel- i Jung auf einen Wert ungleich Null gebracht wird.In FIG. 3 there are the arithmetic memories marked with the numbers 1, 2 and 3, which are provided for storage parallel to tetrads in the example and are used to accommodate 12-digit decimal numbers (eleven digits and signs) with decimal digits encrypted using direct encryption. A ferrite core matrix memory is advantageously used as arithmetic unit memory, the columns of which are controlled one after the other by a counter Z (Fig. 2) with the four flip-flops Z 1, Z 2, Z4 and Z8, which counts from 1 to 12 and its switching states for controlling the matrix columns S1. can be decrypted until S12. The decryption circuit of the dual representation of the respective switching state in the 1-out-of-12 representation is shown in FIG. 3 indicated by the block denoted by the number 4. The counter Z (FIG. 2) works as a simple dual counter in that each switch-off edge of a multivibrator triggers the subsequent multivibrator into the opposite switching state. The first flip-flop Z1 receives on its trigger input (the trigger inputs that switch the flip-flops to the opposite switching state are shown as an arrow in the middle of the switching symbol representing the flip-flop, while the switching inputs, which only generate one permanently assigned switching state, are directed to the associated side are) counting pulses from the AND circuit K1 = Z- VLS-SU with Z = Z 1 v Z 2 v Z 4 v Z 8 = switching variable equal to L, if the counter Z is brought to a value not equal to zero by some external setting i Jung will.
VLS ist ein Impuls, der den Zähler Z in den nachfolgenden Schaltzustand schaltet, Sn bewirkt eine Sperre des Impulses VLS bei dem Schaltzustand des Zählers Z = 12. Der Stop für die Weiterschaltung des Zählers 7 bei Z = 12 erfolgt, indem der Eingangszählimpuls VLS gesperrt wird und Und-Schaltung K2 = S 12 - VLS den Zähler Z nach Beendigung der Ansteuerung von Matrixspalte 12 auf Null steht. In dem Speicher, der in der F i g. 3 mit 1, 2 und 3 gekennzeichnet ist, wird durch zeitlich und räumlich aufeinanderfolgende Spaltenansteuerung ein relativer Umlauf der Information während der Operationen erzeugt. Es können selbstverständlich an Stelle des Ferritkernmatrixspeichers andere Speicherarten, ohne das erfindungsgemäße Prinzip umstellen zu müssen, als Register Verwendung finden, die die Information direkt von Speicherelement zu Speicherelement verschieben (Schiebelinien) oder die auf sonstige Art einen Umlauf der Information erzeugen (z. B. Umlaufbahn einer Magnettrommel). Die erfindungsgemäßen Prinzipien sind auch nicht unbedingt an die tetradenparallele Arbeitsweise gebunden, sondern sie können auch auf ein reines Serienrechenwerk übertragen werden. Die Register 1, 2 und 3 besitzen eine gemeinsame Schreibvorrichtung 5 und eine gemeinsame Lesevorrichtung 6. Die Tetraden der Operanden bzw. die Ergebnisse müssen also nacheinander in den Speicher oder aus dem Speicher transportiert werden. B 1, B 2, B 3, B 4 sind die vier Leseleitungen für den Transport der Tetraden aus dem Speicher 1, 2 und 3 (F i g. 3) in das Rechenwerk (F i g. 1) und C1, C2, C3 und C4 die vier Schreibleitungen für den Transport vom Rechenwerk in den Speicher.VLS is a pulse that switches the counter Z to the next switching state, Sn causes the pulse VLS to be blocked when the counter is switched to Z = 12. The stop for advancing counter 7 when Z = 12 occurs by blocking the input counting pulse VLS and AND circuit K2 = S 12 - VLS the counter Z after the end of the activation of matrix column 12 is at zero. In the memory shown in FIG. 3 is identified by 1, 2 and 3, a relative circulation of the information during the operations is generated by chronologically and spatially successive column actuation. Instead of the ferrite core matrix memory, other types of memory can of course be used as registers without having to change the principle according to the invention, which shift the information directly from memory element to memory element (slide lines) or which generate a circulation of the information in some other way (e.g. Orbit of a magnetic drum). The principles according to the invention are also not necessarily tied to the tetrad-parallel mode of operation, but they can also be transferred to a pure series arithmetic unit. The registers 1, 2 and 3 have a common writing device 5 and a common reading device 6. The tetrads of the operands or the results must therefore be transported to or from the memory one after the other. B 1, B 2, B 3, B 4 are the four reading lines for transporting the tetrads from memory 1, 2 and 3 (Fig. 3) to the arithmetic unit (Fig. 1) and C1, C2, C3 and C4 the four write lines for the transport from the calculator to the memory.
In der F i g. 1 ist eine Schaltung eines tetradenparallelen Addierwerkes gezeigt, das aus dem Akkumulator mit den vier Kippstufen A 1, A 2, A 3 und A 4, den drei Kippstufen E2, E3 und E4 zur asynchronen Verarbeitung des Übertrages, der den dezimalen Korrekturvorgang (Addition bzw. Subtraktion von 6 bei Summentetraden i 9) steuernden Kippstufe KR und der Kippstufe E zur Zwischenspeicherung des dezimalen tetradischen Übertrages (also bei Summentetraden > 9) besteht.In FIG. 1 shows a circuit of a tetrad-parallel adder, which consists of the accumulator with the four flip-flops A 1, A 2, A 3 and A 4, the three flip-flops E2, E3 and E4 for the asynchronous processing of the transfer, which the decimal correction process (addition or Subtraction of 6 in the case of sum tetrads i 9) controlling flip-flop KR and the flip-flop E for the intermediate storage of the decimal tetradic transfer (i.e. with sum tetrads> 9).
Über die Leitungen B 1 bis B 4 werden im Akkumulator nacheinander die Tetraden dual aufaddiert, wie nachfolgend beschrieben wird (B 1 bis B 4 führen an die triggernden Eingänge der Kippstufen A 1 bis A 4). Schaltet eine der Kippstufen A 1 bis A 4 bei Addition von L auf 0 und bei Subtraktion von 0 auf L, so muß ein Übertrag in die nächsthöhere Dualstelle erfolgen. Der Übertrag wird in den Kippstufen E2, E3, E 4 vorübergehend zwischengespeichert, der nächste Taktimpuls s schaltet letztgenannte Kippstufen wieder aus, und deren Ausschaltflanken schalten die nächsthöhere Kippstufe (A 2, A 3 oder A 4) um. Diese Umschaltungen von A 2 bis A 4 werden durch die Und-Schaltungen K3, K4, K5 gesteuert (mit Steuerspannung V), die nur dann öffnen, wenn tatsächlich zu addieren oder zu subtrahieren ist. Die Steuerspannung V ist nur dann gleich L, wenn die zweite Summandentetrade aus dem Speicher 3 (F i g. 3 ) gelesen und die Summentetrade geschrieben wird. Die Zeit, in der die erste Summandentetrade nach A 1 bis A 4 (F i g. 1) transportiert und mit dem nachfolgenden Schreibtakt wieder unverändert auf denselben Platz des Speichers 2 (F i g. 3 ) eingeschrieben wird, ist durch die Steuerspannung U festgelegt. Bei einem in A 4 (F i g. 1) entstehenden Übertrag wird die Kippstufe KR eingeschaltet, ebenso wenn sich in A 1 bis A 4 eine Pseudodezimale aufsummiert. In letzterem Falle erfolgt die Einschaltung durch das Netzwerk (ÄJ v512 -Ä-3 v VERSCH) - 3qDE, das durch die Und-Schaltungen K6 und K7 und die Oder-Schaltung D 1 dargestellt ist. VERSCH ist dabei eine Steuergröße, die die Einschaltung von KR während der später erklärten Verschiebungen sperrt. Die Steuerung der Additions-Subtraktions-Überträge erfolgt durch die Und-Schaltungen K8 bis K15 mit Hilfe der Steuergrößen ADD bei Addition und SUB bei Subtraktion. Die Ausschaltung der Kippstufen E2 bis E 4 mit dem Taktimpuls s ist aus später erläuterten Gründen in der Und-Schaltung K16 durch VER= bei Verschiebung gesperrt. Kippstufe KR wird durch die Und-Schaltung K17=E2-E3-E4-KR-s-VEI= =KRAUS ausgeschaltet, also erst dann, wenn die normalen Dualüberträge aus den Kippstufen E 2 bis E 4 verarbeitet sind. Synchron mit der Ausschaltflanke von Kippstufe KR führt Und-Schaltung K18 = KRAUS -E#VETSCH den Korrekturwert 6 in die Kippstufen A 1 bis A 4 des Akkumulators und schaltet Kippstufe E zwecks Übertragsspeicherung ein. Die Kippstufe E wird mit der Ausschaltflanke der Steuerspannung U nach Lesen und Wiedereinschreiben der nächsten Operandentetrade in den Speicher (1, 2, 3 in F i g. 3) wieder gelöscht, und die Ausschaltflanke von E überführt die Übertragseins in den Akkumulator A 1 bis A 4, indem die Und-Schaltung K19=E-U-LS-VER-SCH die Kippstufe A 1 triggiert. LS ist dabei der Taktimpuls für das Einschreiben in den Speicher (1, 2, 3 in F i g. 3). Die Und-Schaltung K19 entkoppelt die Ausschaltflanke an bestimmten Stellen des Operationsablaufes, um Fehleinschaltungen von Kippstufe A 1 zu vermeiden. Am Ende jeder Tetradenaddition, d. h. nach Einschreiben der Summentetrade in den Speicher 3, werden die Kippstufen A 1 bis A 4 des Akkumulators (in F i g. 1) mit der Ausschaltflanke der Schaltgröße V gelöscht (gemeinsamer mit V in der F i g. 1 an den Kippstufen A 1 bis A 4 bezeichneter Ausschalteingang, der über Oder-Schaltung D 10 wirksam wird). Es wird der Inhalt der Speicherzeile 2 zum Inhalt der Speicherzeile 3 addiert (bzw. wieder subtrahiert) und das Ergebnis in die Speicherzeile 3 eingetragen. Der Inhalt von Speicherzeile 2 wird zunächst unverändert wieder in dieselbe Speicherzeile geschrieben (Schreibtakt zur Zeit von U). Zur Ansteuerung der Speicherzeilen 2 und 3 bei Addition sind die Und-Schaltungen K20= U-RTI-VEW= -1fEKU (Ansteuerung von Speicherzeile 2) und K21= V-F10- a -S2SP 60 (Ansteuerung von Speicherzeile 3) vorhanden. RU ist eine Steuerspannung, die während des Rundungsvorgangs erscheint; REKOMP ist eine Steuerspannung, die die Steuerung des Übertrags aus einer Speicherzeile 3 in die andere Speicherzeile 1 übernimmt. F10 ist eine Steuergröße, die die Vorzeichenverarbeitung von den anderen Operationsteilen unterscheidet. Die Ansteuerung der Speicherzeilen in F i g. 3 erfolgt durch verschiedene Steuergrößen. Die Ansteuermöglichkeiten für die Speicherzeile 3 sind in der Oder-Schaltung D 2, die für Speicherzeile 2 in Oder-Schaltung D 3 und die für die Speicherzeile 1 in Oder-Schaltung D 4 geodert. Speicherzeile 3 wird dabei noch durch die Und-Schaltung K22 = RUMA - U angesteuert. R UMA ist eine Steuergröße, die während der die Multiplikation abschließenden Transporte L ist. Die Speicherzeile 2 wird durch RUMA = L sowie durch Und-Schaltung K23 = S1 - V ge- öffnet. (S1 ist dieselbe Steuerspannung, die auch die erste Spalte S 1 der Speicherzeilen 1, 2 und 3 öffnet.) Die Und-Schaltung K23 öffnet auch über Oder-Schaltung D 4 die Speicherzeile 1. Ferner wird die Speicherzeile 1 durch K24=RUMA-V, K 25 = LESEN - REKOMP - U, K 26 = SCHREIBEN - REKOMP - V und K 27 = REKOMP - VERSCH - V angesteuert. Die Größen SCHREIBEN und LESEN sind Steuerspannungen, die unterscheiden, ob sich ein Schreib- oder Lesevorgang vollzieht. Das übertragen der Tetraden aus dem Rechenwerk in den Speicher kann über verschiedene Wege erfolgen, daher gehen die Leitungen C 1, C 2, C 3, C 4 von den Oder-Schaltungen D 5, D 6, D 7 und D 8 aus. Bei Verschiebungen erfolgt das Einschreiben direkt aus den Kippstufen E 2, E 3 und E 4 und KR (in F i g. 1). (Bei anderen Operationen ist der Schreibvorgang, so lange in diesen vier Kippstufen eine Dualziffer ungleich 0 enthalten ist, generell gesperrt.) Im Normalfall erfolgt das Einschreiben der Tetrade über die vier Und-Schaltungen K28, K29, K30 und K31 aus den Kippstufen A 1, A 2, A 3 und A 4. Die vier genannten Und-Schaltungen verhindern diese Einschreibung bei Verschiebung VERSCH = L. Zum Einschreiben von Marken (Pseudodezimalen 12 = LL00) ist der Eingang MET vorhanden. Zur Sperrung der Ansteuerung der Speicherzeile 3 während Z = 2 sind Und-Schaltung K 32 = S 2 - VERSCH und Negator N 2 vorhanden, wodurch die Steuergröße S2SP gebildet wird. Zur Steuerung der Multiplikationsabläufe dienen die Kippstufen MUL, VERSCH, REKOMP, RU, MEV und F 10, die in F i g. 2 dargestellt sind. Kippstufe MUL wird mit dem Erscheinen des Multiplikationsbefehles MULBEF durch Und-Schaltung K33 = MULBEF - s - Fl6 mit dem nächsten Takt s eingeschaltet. Ausgeschaltet wird die MUL-Kippstufe durch die Und-Schaltung K34=RU-S12-LL-E4-KR-VERSCH = MULAUS LL ist dabei der schaltende Impuls, der auch gleichzeitig am Speicher 1, 2 und 3 den Lesevorgang bewirkt. Der Impuls MULAUS stellt auch gleichzeitig den Zähler Z über den so bezeichneten Schalteingang in den Schaltzustand 2. Die Kippstufe VERSCH wird durch die Und-Schaltung K35 = E - REKOMP - VLS - S 12 eingeschaltet und durch die Und-Schaltung K 36 = REKOMP - VLS - S 12 - VERSCH synchron mit der Ausschaltflanke von S12 ausgeschaltet. Die Kippstufe REKOMP schaltet über die Und-Schaltung K37 = E-Z--s = ABFR auf den Schaltzustand L, wodurch gleichzeitig der Zähler Z auf 8 voreingestellt wird. Ferner wird die Kippstufe REKOMP grundsätzlich durch die Ausschaltflanke der höchsten Zählerstellung (Zähler Z) S12 eingeschaltet. Bleibt der ZählerZ jedoch auf Null stehen, d. h., er wird nicht sofort wieder auf einen Wert ungleich Null voreingestellt, dann schaltet die Und-Schaltung K38 = Z - s die REKOMP-Kippstufe wieder aus. Außerdem wird die Kippstufe REKOMP durch die Ausschaltflanke der Steuergröße SUB ausgeschaltet, wobei bei eingeschalteter Kippstufe die SUB-Flanke gegenüber einer eventuell gleichzeitig erscheinenden abermaligen Einschaltflanke über Eingang S12 überwiegt (Triggerung bei gleichzeitigen Impulsen auf beide Eingänge). Die Kippstufe RU wird durch einen mit RUVM bezeichneten Impuls eingeschaltet und durch die Und-Schaltung K39 = RUMA - S12 (mit der Aussehaltflanke von S 12) ausgeschaltet. Die Kippstufe MEV ist in der Ruhelage auf MEV = L und wird durch die FM-Flanke (Eingang FTÖ) und durch Impuls R UVM auf 79E"!7 = L geschaltet. Zurückgeschaltet auf MEY L wird die MEV-Kippstufe wieder durch die nächste Ausschaltflanke der Steuergröße V. (Die Löscheingänge zur Herstellung der Ruhelage der Kippstufen sind der Einfachheit halber an den Kippstufen nicht mit dargestellt.) Die Kippstufe F10 wird durch die Und-Schaltung K40 = U - S12 (während S 12 = L durch die U-Ausschaltflanke) eingeschaltet, während das Ausschalten von einem nicht dargestellten Programmgeber erfolgt und durch Eingang F10 A US dargestellt ist.Via the lines B 1 to B 4 , the tetrads are added one after the other in the accumulator, as will be described below (B 1 to B 4 lead to the triggering inputs of the flip-flops A 1 to A 4). If one of the flip-flops A 1 to A 4 switches when adding L to 0 and when subtracting from 0 to L, a carry must be made to the next higher binary digit. The carry is temporarily stored in the flip-flops E2, E3, E 4, the next clock pulse s switches the last-mentioned flip-flops off again, and their switch-off edges switch the next higher flip-flop (A 2, A 3 or A 4) . These switchovers from A 2 to A 4 are controlled by the AND circuits K3, K4, K5 (with control voltage V), which only open when actually adding or subtracting. The control voltage V is only equal to L when the second summand tetrad is read from the memory 3 (FIG. 3) and the summand tetrad is written. The time in which the first summand tetrad is transported to A 1 to A 4 (FIG. 1) and is again written unchanged to the same location in memory 2 (FIG. 3) with the subsequent write cycle is determined by the control voltage U set. If a carry occurs in A 4 (FIG. 1), the flip-flop KR is switched on, just as if a pseudo-decimal is added up in A 1 to A 4. In the latter case, the activation takes place through the network (ÄJ v512 -Ä-3 v VERSCH) -3qDE, which is represented by the AND circuits K6 and K7 and the OR circuit D 1 . VERSCH is a control variable that blocks the activation of KR during the shifts explained later. The addition-subtraction carries are controlled by the AND circuits K8 to K15 with the aid of the control variables ADD for addition and SUB for subtraction. The switching off of the flip-flops E2 to E 4 with the clock pulse s is blocked in the AND circuit K16 by VER = in the event of a shift for reasons explained later. Flip-flop KR is switched off by the AND circuit K17 = E2-E3-E4-KR-s-VEI = = KRAUS, i.e. only when the normal dual transfers from the flip-flops E 2 to E 4 have been processed. Synchronously with the switch-off edge of flip-flop KR, the AND circuit K18 = KRA US -E # VETSCH leads the correction value 6 into the flip-flops A 1 to A 4 of the accumulator and switches on flip-flop E for the purpose of transfer storage. The flip-flop E is deleted again with the switch-off edge of the control voltage U after reading and rewriting the next operand tetrad in the memory (1, 2, 3 in FIG. 3), and the switch-off edge of E transfers the carry-over to the accumulator A 1 bis A 4, in that the AND circuit K19 = EU-LS-VER-SCH triggers the flip-flop A 1. LS is the clock pulse for writing into the memory (1, 2, 3 in FIG. 3). The AND circuit K19 decouples the switch-off edge at certain points in the operational sequence in order to avoid incorrect switch-on of flip-flop A 1. At the end of each tetrad addition, ie after the total tetrad has been written into the memory 3, the flip-flops A 1 to A 4 of the accumulator (in FIG. 1) are deleted with the switch-off edge of the switching variable V (shared with V in FIG. 1 at the flip-flops A 1 to A 4 designated switch-off input, which becomes effective via OR circuit D 10). The content of memory line 2 is added to the content of memory line 3 (or subtracted again) and the result is entered in memory line 3. The content of memory line 2 is initially written unchanged to the same memory line (write clock at the time of U). The AND circuits K20 = U-RTI-VEW = -1fEKU (control of memory line 2) and K21 = V-F10- a -S2SP 60 (control of memory line 3) are used to control memory lines 2 and 3. RU is a control voltage that appears during the rounding process; REKOMP is a control voltage that controls the transfer from one memory line 3 to the other memory line 1. F10 is a control variable that distinguishes the sign processing from the other parts of the operation. The control of the memory lines in FIG. 3 takes place through various control variables. The control options for memory line 3 are ORed in OR circuit D 2, those for memory line 2 in OR circuit D 3 and those for memory line 1 in OR circuit D 4. Memory line 3 is still controlled by the AND circuit K22 = RUMA - U. R UMA is a control variable which is L during the transports that conclude the multiplication. The memory line 2 is RUMA = L and by AND circuit K23 = S1 - opens V overall. (S1 is the same control voltage that also opens the first column S 1 of memory lines 1, 2 and 3.) The AND circuit K23 also opens memory line 1 via OR circuit D 4. Furthermore, memory line 1 is indicated by K24 = RUMA- V, K 25 = READ - RECOMP - U, K 26 = WRITE - RECOMP - V and K 27 = RECOMP - VERSCH - V activated. The variables WRITE and READ are control voltages that distinguish whether a write or read process is taking place. The transfer of the tetrads from the arithmetic unit to the memory can take place in different ways, so the lines C 1, C 2, C 3, C 4 originate from the OR circuits D 5, D 6, D 7 and D 8. In the case of shifts, the writing takes place directly from the toggle stages E 2, E 3 and E 4 and KR (in FIG. 1). (For other operations, the writing process is generally blocked as long as these four flip-flops contain a binary digit other than 0.) Normally, the tetrad is written using the four AND circuits K28, K29, K30 and K31 from flip-flops A 1 , A 2, A 3 and A 4. The four mentioned AND circuits prevent this writing in the case of shifting VERSCH = L. The input MET is available for writing in marks (pseudo decimal 12 = LL00). To block the control of memory line 3 during Z = 2, AND circuit K 32 = S 2 - VERSCH and inverter N 2 are present, whereby the control variable S2SP is formed. The flip-flops MUL, VERSCH, REKOMP, RU, MEV and F 10, which are shown in FIG. 2 are shown. Flip-flop MUL is switched on with the appearance of the multiplication command MULBEF by an AND circuit K33 = MULBEF - s - Fl6 with the next cycle s. The MUL flip-flop is switched off by the AND circuit K34 = RU-S12-LL-E4-KR-VERSCH = MULAUS LL is the switching pulse, which also causes the reading process at memory 1, 2 and 3 at the same time. The MULAUS pulse also simultaneously sets the counter Z to the switching state 2 via the so-called switching input. The flip-flop VERSCH is switched on by the AND circuit K35 = E - REKOMP - VLS - S 12 and by the AND circuit K 36 = REKOMP - VLS - S 12 - VERSCH switched off synchronously with the switch-off edge of S12. The flip-flop REKOMP switches to the switching state L via the AND circuit K37 = EZ - s = ABFR, whereby the counter Z is preset to 8 at the same time. Furthermore, the flip-flop REKOMP is always switched on by the switch-off edge of the highest counter position (counter Z) S12. However, if the counter Z remains at zero, ie it is not immediately preset to a value other than zero, the AND circuit K38 = Z - s switches the RECOMP flip-flop off again. In addition, the REKOMP flip-flop is switched off by the switch-off flank of the control variable SUB, whereby when the flip-flop is switched on, the SUB flank prevails over a possibly simultaneously appearing switch-on flank via input S12 (triggering with simultaneous pulses on both inputs). The flip-flop RU is switched on by a pulse labeled RUVM and switched off by the AND circuit K39 = RUMA - S12 (with the cut-off edge of S 12) . The flip-flop MEV is in the rest position on MEV = L and is switched to 79E "! 7 = L by the FM edge (input FTÖ) and by the pulse R UVM. The MEV flip-flop is switched back to MEY L by the next switch-off edge the control variable V. (For the sake of simplicity, the reset inputs for establishing the rest position of the flip-flops are not shown on the flip-flops.) The flip-flop F10 is set by the AND circuit K40 = U - S12 (while S 12 = L by the U switch-off edge ) switched on, while switching off is carried out by a programmer (not shown) and is shown by input F10 A US .
Zum Operationssteuerteil in F i g. 2 gehört auch die Einrichtung zur Bildung der Steuergrößen ADD und SUB zwecks Steuerung von Additionen und Subtraktionen. Die Steuergröße SUB wird durch Und-Schaltung K41 = S12 - VERWN - REKOMP gebildet, während die Negation von SUB (mittels Negator N 1.) als Steuergröße ADD interpretiert wird. Ferner gehört zum Steuerteil die Und-Schaltung K55 = RU-VERSCH-=J zur Bildung der Steuergröße RUMA. Die Oder-Schaltung D11 =Z1vZ2vZ4vZ8 ergibt die Steuergröße Z, die durch Negator N3 zur Steuergröße Z negiert wird. Zur Voreinstellung des Zählers Z auf einen Wert ungleich Null sind außer den bereits erwähnten Eingängen noch folgende Und-Schaltungen und Schalteingänge vorhanden: K42 = E-S12-VLS, K43 = S12-VERSCH-REKUW, K44 = P1-RUVM, K45 = P2-RUVM, K46 = P3 -RUVM, K47 = P4-RUVM (wobei P4, P3, P2 und P1 die dual verschlüsselte Rundungsinformation darstellt, die z. B. von Tasten oder einem Programmgeber erzeugt werden kann). Weiterhin sind vorhanden: der Schalteingang SUB (Voreinstellung von Z2 mit der Ausschaltflanke von SUB), der Schalteingang MULEIN (Einschaltflanke von MUL) und die Und-Schaltung K48 = A3 -A4-S12-REKOMP-LL (Ausschaltung von Z = 12 auf Z = 0 mit Leseimpuls LL bei Pseudodezimale A 4, A 2, A 1 = LL 00). Der Impuls RUVM wird durch die Und-Schaltung K49 = s-Z-A3-A4 - (E2-E3-E4 -KR) gebildet. Die Schaltgröße E2 - E3 - EJ - Kff gibt Auskunft darüber, ob die Kippstufen E 2, E 3, E 4 und KR leer sind, und wird in der Impulszentrale gebildet. Der Zähler Z kann auch durch Steuergröße RUS, die durch die Und-Schaltung K56 = VERSCH-MUr -RU-S12-RrKD-MP gebildet wird, auf 1 gestellt werden. Die Steuergröße RU ,S schaltet gleichzeitig noch die Kippstufe VERSCH aus. Die Impulszentrale, die in F i g. 3 dargestellt ist, besteht aus dem MultivibratorMV, dessen Ausgangsimpuls die Bezeichnung s trägt, der Kippstufe LESEN/SCHREIBEN, die durch den Leseimpuls LL in den Schaltzustand SCHREIBEN und danach durch den Schreibimpuls LS wiederum in den Schaltzustand LESEN umgeschaltet wird. Ferner sind die Und-Schaltungen K50 = LESEN - s - Z und K51 =SCHREIBEN -s-Z-E2-E3.E«4.KR vorhanden. Die Ausgangsgröße von K50 stellt unmittelbar den Speicherleseimpuls LL dar. K51 dient zur Erzeugung des Schreibimpulses LS, ist jedoch durch Größe E2 - E3 - EJ - Kg so lange gesperrt, wie in den E-Kippstufen ein Wert ungleich Null enthalten ist (Asynchronsteuerung, die Einschreibung in den Speicher erfolgt erst, nachdem die überträge verarbeitet sind und sich die dezimale Korrektur vollzogen hat). Eine Ausnahme bildet die Verschiebung, bei der aus den E-Kippstufen geschrieben werden soll. In diesem Falle wird der Schreibtakt LS durch die Und-Schaltung K52 = SCHREIBEN - VERSCH - s gebildet. Beide Möglichkeiten zur Bildung der Schaltgröße LS sind in Oder-Schaltung D 9 zusammengeführt. Die Und-Schaltung K53 bildet die Steuergröße E2 - E3 -7,74 - KK. Zur impulszentrale gehört weiterhin die Kippstufe UIV, die durch jeden Leseimpuls LS in den entgegengesetzten Zustand geschaltet wird. Die Kippstufen der Impulszentrale befinden sich in Ruhelage für LESEN = L und U = L. Die Und-Schaltung K54 = V - LS erzeugt den an verschiedenen Steilen verwendeten Impuls VLS.Regarding the operation control part in FIG. 2 also includes the device for forming the control variables ADD and SUB for the purpose of controlling additions and subtractions. The control variable SUB is formed by an AND circuit K41 = S12 - VERWN - RECOMP, while the negation of SUB (by means of the negator N 1.) is interpreted as a control variable ADD. The control part also includes the AND circuit K55 = RU-VERSCH- = J for forming the control variable RUMA. The OR circuit D11 = Z1vZ2vZ4vZ8 results in the control variable Z, which is negated to the control variable Z by the inverter N3. In addition to the inputs already mentioned, the following AND circuits and switching inputs are available for presetting the counter Z to a value other than zero: K42 = E-S12-VLS, K43 = S12-VERSCH-REKUW, K44 = P1-RUVM, K45 = P2 -RUVM, K46 = P3 -RUVM, K47 = P4-RUVM (where P4, P3, P2 and P1 represent the dual-encrypted rounding information that can be generated e.g. by keys or a programmer). The following are also available: the switching input SUB (presetting of Z2 with the switch-off edge of SUB), the switching input MULEIN (switch-on edge of MUL) and the AND circuit K48 = A3 -A4-S12-REKOMP-LL (switch-off from Z = 12 to Z = 0 with read pulse LL with pseudo decimal A 4, A 2, A 1 = LL 00). The pulse RUVM is formed by the AND circuit K49 = sZ-A3-A4 - (E2-E3-E4 -KR). The switching variable E2 - E3 - EJ - Kff provides information on whether the flip-flops E 2, E 3, E 4 and KR are empty, and is generated in the pulse center. The counter Z can also be set to 1 by the control variable RUS, which is formed by the AND circuit K56 = VERSCH-MUr -RU-S12-RrKD-MP. The control variable RU, S also switches off the VERSCH flip-flop at the same time. The pulse center shown in FIG. 3 is shown, consists of the MultivibratorMV, the output pulse the designation s wearing, the flip-flop read / write, in turn, is switched by the read pulse LL in the switching state WRITE and then by the writing pulse LS in the switching state READ. Furthermore, the AND circuits K50 = READ - s - Z and K51 = WRITE -sZ-E2-E3.E «4.KR are available. The output variable of K50 directly represents the memory read pulse LL. K51 is used to generate the write pulse LS, but is blocked by variables E2 - E3 - EJ - Kg as long as the E flip-flops contain a value other than zero (asynchronous control, which It is only entered in the memory after the transfers have been processed and the decimal correction has been made). An exception is the shift in which the E flip-flops are to be used for writing. In this case, the write clock LS is formed by the AND circuit K52 = WRITE - VERSCH - s . Both possibilities for forming the switching variable LS are combined in the OR circuit D 9 . The AND circuit K53 forms the control variable E2 - E3 -7.74 - KK. The flip-flop UIV, which is switched to the opposite state by each read pulse LS, is also part of the pulse center. The flip-flops of the pulse center are in the rest position for READ = L and U = L. The AND circuit K54 = V - LS generates the pulse VLS used at various points.
Im folgenden ist für das gewählte Ausführungsbeispiel im Detail der funktionelle Ablauf des Multiplikations- und Rundungsvorgangs erläutert.The following is for the selected embodiment in detail functional sequence of the multiplication and rounding process explained.
Es wird das Produkt MR Multiplikator - MD Multiplikand gebildet. Wenn MR und MD je n (n = 12) Dezimalstellen umfassen, dann werden die letzten (niedrigsten) Stellen des Resultates in Speicherzeile 3 und die vorderen (höchsten) Stellen in Speicherzeile 1 untergebracht. Die in Speicherzeile 1 zu Anfang enthaltenen Faktorenstellen werden nacheinander abgebaut, und auf die frei werdenden Ziffernplätte werden Produktstellen gesetzt. Für die Multiplikation ist ein Algorithmus verwendet, der nur auf Additionen und Linksverschiebungen beruht. Der folgende Multiplikationsalgorithmus findet Verwendung: TP", = 0, TPi _ 1 = 10 (TPj -I- a"-i" ' b), a - b = TPo, wobei als Faktoren angenommen wurden: Entsprechend einer gegebenen Rundungsinformation werden die hinteren Produktstellen unter Aufrundung abgeschnitten, wobei eine Verschiebung in eine definierte Lage des restlichen Produktes stattfindet. Vor Operationsbeginn steht der eine Faktor in Speicherzeile 2 (Multiplikand), der andere in Speicherzeile 1 (Multiplikator). Die Operandenvorzeichen sind jeweils auf Platz 1 enthalten. Der Multiplikationsbefehl erscheint im Rechenwerk als Steuergröße MULBEF = L. Die Speicherzeile 3 muß vorher gelöscht werden. Der Multiplikationsbefehl schaltet durch die Und-Schaltung K33 = s - MULBEF-FIÜ (F i g. 2) die die Multiplikation steuernde Kippstufe MUL ein. Gleichzeitig wird damit auch der Zähler Z auf 1 geschaltet. Als erstes müssen die im Speicherplatz S1 der Speicherzeilen 2 und 1 enthaltenen Vorzeichen verarbeitet werden. Das dann gebildete Resultatvorzeichen wird in die Speicherzeilen 1 und 2 eingetragen. Entsprechend der Beziehungen genügt eine einfache Addition der beiden Vorzeicheninformationen (ohne Übertrag in das Bit 21).The product MR multiplier - MD multiplicand is formed. If MR and MD each have n (n = 12) decimal places, then the last (lowest) digits of the result are stored in memory line 3 and the first (highest) digits in memory line 1. The factor positions contained in memory line 1 at the beginning are reduced one after the other, and product positions are placed on the number plate that is now free. An algorithm based only on additions and left shifts is used for the multiplication. The following multiplication algorithm is used: TP ", = 0, TPi _ 1 = 10 (TPj -I- a" -i "'b), a - b = TPo, where the following factors were assumed: In accordance with a given rounding information, the rear product locations are cut off by rounding up, with the remaining product being shifted into a defined position. Before the start of the operation, one factor is in memory line 2 (multiplicand), the other in memory line 1 (multiplier). The sign of the operands is contained in location 1. The multiplication command appears in the arithmetic unit as control variable MULBEF = L. Memory line 3 must be deleted beforehand. The multiplication command switches on the multivibrator MUL controlling the multiplication by the AND circuit K33 = s - MULBEF-FIÜ (FIG. 2). At the same time, the counter Z is also switched to 1. First of all, the signs contained in memory location S1 of memory lines 2 and 1 must be processed. The resulting sign is then entered in memory lines 1 and 2. According to the relationships, a simple addition of the two sign information is sufficient (without carrying over to bit 21).
Der Zähler Z wurde also durch die auf 1 gestellt, wodurch die Vorzeichenspalte S 1 der Speicherzeilen 1, 2 und 3 angesteuert wird. Zunächst wird aus dem Speicherwerk das MD-Vorzeichen zur Zykluszeit U gelesen und geschrieben und steht dadurch in Kippstufe A l des Addier-Subtrahier-Werkes, das in F i g. 1 dargestellt ist. Zu diesem Wert wird das MR-Vorzeichen hinzuaddiert und das Ergebnis in die Speicherzeilen 1 und 2 eingeschrieben. Die Speicherzeile 1 und die Speicherzeile 2 werden durch die Und-Schaltung K23 = V - S1 gesteuert. Während Zähler Z weiterschaltet, wird nur MD mit U gelesen und unverändert wieder in die Speicherzeile 2 eingeschrieben. Die Und-Schaltung K40 = U # S12 schaltet schließlich F 10 ein, wodurch die vorherige Sperre von Speicherzeile 3 aufgehoben wird, und über Und-Schaltung K21 = V - S12 wird zunächst die zwölfte Tetrade aus Speicherzeile 3 gelesen. An fliese zwölfte Stelle wird eine Markierung eingetragen, die den Pseudodezimalen LL 00 = 12 entspricht. Diese Markierung ersetzt den sonst üblichen Verschiebungszähler, der darüber Auskunft gibt, ob alle MR-Stellen verarbeitet sind oder nicht. An die Absolutwerte von MR und MD ist daher die Bedingung zu stellen, daß bei der Verarbeitung der höchsten MR-Stelle keine gültige Ziffer in die höchste Stelle der Speicherzeile läuft. Die Marke wird in die Speicherzeile 3 (zwölfte Stelle) eingegeben, indem die FTO-Schaltflanke die Kippstufe MEV ausschaltet. Der Eingang MET der Oder-Schaltungen D 7 und D 8 eingangs der Schreibleitungen C3 und C4 gewährleistet dafür, daß Einsen in die beiden obersten Bits des zwölften Tetradenplatzes von Speicherzeile 3 eingeschrieben werden. Die Kippschaltung MEV wird danach durch die V-Ausschalt-Hanke wieder ausgeschaltet. Die Schaltflanke S12 schaltet Zähler Z aus, und es können somit die normalen Multiplikationsabläufe beginnen. Wenn die Kippschaltungen MUL und F10 eingeschaltet sind und die die Multiplikation vorbereitenden Vorgänge beendet sind, beginnt der eigentliche Multiplikationsablauf. Die Multiplikation beginnt mit der höchsten, also der zwölften Multiplikatorstelle. Diese muß damit als erste Stelle vom Speicher abgefragt werden. Vor Beginn des Abfragens befindet sich Zähler Z zunächst im Schaltzustand 0, die Matrix wird noch nicht angerufen. Jedoch schaltet, wenn Zähler Z = 0 ist, K37=s-Z-E-RETO-W =ABFR, die Und-Schaltung, den Zähler Z auf B. Gleichzeitig schaltet diese Schaltgröße ABFR auch die Kippstufe REKOMP ein. Es erfolgen jetzt normale Lese-Schreib-Zyklen mit den Schaltspannungen U und V. Jedoch kann während der Zeit, in der die Schaltgröße U = L, der Inhalt der Speicherzeile 2 nicht gelesen werden, da die Zeilentreiberansteuerung durch die Schaltspannung R-EKO-IPIP gesperrt ist (K20). Die Speicherzeile 3 wird ebenfalls durch die Schaltspannung RTKD-W an der Und-Schaltung K21 gesperrt. Im vorliegenden Falle ist der Ausgang von Speicherzeile 1 geöffnet. Bis zum Schaltzustand Z = 11 des Zählers Z werden die MR-Tetraden aus Speicherzeile 1 nur gelesen und unverändert wieder eingeschrieben. Eine Ausnahme bildet der Schaltzustand Z = 12, denn hier wird die zwölfte MR-Ziffer abgefragt, ob sie Null oder größer als Null ist. Abhängig davon werden dann gewisse Steuerungen ausgeführt. Um Zeit für diese Null-Abfühlung und die davon abhängigen Entscheidungen zu erhalten, wird in der Zykluszeit U mit Steuergröße U = L gelesen und erst in der zwei Takte später beginnenden Zykluszeit V mit Steuergröße V = L geschrieben. Die Und-Schaltungen K25 und K26 sowie die Oder-Schaltung D 4 steuern diesen Vorgang. Der weitere Verlauf der Operation ist nun verschieden, wie nachfolgend angegeben wird.The counter Z was thus set to 1 by the, whereby the sign column S 1 of the memory lines 1, 2 and 3 is activated. First of all, the MD sign is read and written from the storage unit at cycle time U and is therefore in flip-flop A l of the adding-subtracting unit, which is shown in FIG. 1 is shown. The MR sign is added to this value and the result is written into memory lines 1 and 2. Memory line 1 and memory line 2 are controlled by the AND circuit K23 = V - S1. While counter Z advances, only MD with U is read and rewritten unchanged into memory line 2. The AND circuit K40 = U # S12 finally switches on F 10, whereby the previous lock of memory line 3 is canceled, and the twelfth tetrad from memory line 3 is first read via the AND circuit K21 = V - S12. A marking is entered in the twelfth position that corresponds to the pseudo-decimal LL 00 = 12. This marking replaces the otherwise usual shift counter, which provides information on whether or not all MR locations have been processed. The condition must therefore be placed on the absolute values of MR and MD that no valid digit runs into the highest position of the memory line when the highest MR position is processed. The label is entered in memory line 3 (twelfth position) by the FTO switching edge switching off the MEV flip-flop. The input MET of the OR circuits D 7 and D 8 at the input of the write lines C3 and C4 ensures that ones are written into the two uppermost bits of the twelfth tetrad location of memory line 3. The flip-flop MEV is then switched off again by the V-switch-off slope. The switching edge S12 switches off counter Z, and the normal multiplication processes can thus begin. When the flip-flops MUL and F10 are switched on and the processes preparing the multiplication have ended, the actual multiplication sequence begins. The multiplication begins with the highest, i.e. the twelfth multiplier digit. This must be queried from the memory as the first digit. Before the query begins, counter Z is initially in the switching state 0, the matrix is not yet called. However, when counter Z = 0, K37 = sZE-RETO-W = ABFR, the AND circuit, switches counter Z to B. At the same time, this switching variable ABFR also switches on the flip-flop REKOMP. Normal read-write cycles now take place with the switching voltages U and V. However, during the time in which the switching variable U = L, the content of memory line 2 cannot be read because the line driver is controlled by the switching voltage R-EKO-IPIP is blocked (K20). The memory line 3 is also blocked by the switching voltage RTKD-W at the AND circuit K21. In the present case, the output of memory line 1 is open. Up to the switching state Z = 11 of the counter Z, the MR tetrads from memory line 1 are only read and rewritten unchanged. The switching state Z = 12 is an exception, because here the twelfth MR digit is queried as to whether it is zero or greater than zero. Depending on this, certain controls are then carried out. In order to obtain time for this zero sensing and the decisions that depend on it, the cycle time U is read with control variable U = L and only written in the cycle time V with control variable V = L, which begins two clocks later. The AND circuits K25 and K26 and the OR circuit D 4 control this process. The further course of the operation is now different, as indicated below.
1. Ist die abgefragte MR-Ziffer ungleich Null, dann wird der Multiplikand MD einmal zu den hinteren Stellen des Teilprodukts TP, das in Speicherzeile 3 gespeichert wird, hinzuaddiert. Die abgefragte Multiplikatorziffer wird unter Subtraktion einer Eins wieder auf denselben Speicherplatz eingeschrieben. Nach der Addition MD +TP erfolgt die abermalige Abfragung der zwölften Multiplikatorziffer) die jetzt um eine Einheit verringert ist), und derselbe Zyklus beginnt von neue. 2. Ist die Multiplikatorziffer gleich Null, dann wird im folgenden das gesamte Teilprodukt sowie der Multiplikatorrest um eine Stelle nach links verschoben. Danach erfolgt Abfragung der neu in den zwölften Stellenplatz geschobenen Multiplikatorziffer, und der Zyklus beginnt von neuem.1. If the queried MR digit is not equal to zero, then the multiplicand MD is added once to the last digits of the partial product TP, which is stored in memory line 3. The queried multiplier digit is written back into the same memory location by subtracting a one. After the addition of MD + TP, the twelfth multiplier figure is queried again, which is now reduced by one unit, and the same cycle begins again. 2. If the multiplier number is zero, then the entire partial product and the remainder of the multiplier are shifted one place to the left. The new multiplier number that has been shifted to the twelfth position is then queried and the cycle begins again.
Im folgenden wird der Ablauf dieser beiden Vorgänge genauer erläutert: Die zwölfte Multiplikatorziffer wird während der Zykluszeit, in der die Schaltgröße U = L, aus dem Speicher gelesen und in die vier Trigger A 1, A 2, A 3 und A 4 des Addier-Subtrahier-Werkes (F i g. 1) eingetragen. Dies geschieht in der ersten Hälfte der Schaltgröße U. Das akkumulierende Addier-Subtrahier-Werk, einer dessen Hauptbestandteile die vier Trigger A 1, A 2, A 3 und A 4 sind, muß auf Subtraktion gestellt werden. Ohne besondere Maßnahmen wird bei Multiplikation nur addiert. Der Subtraktionsbefehl zur Veränderung der zwölften Multiplikatorstelle wird durch Und-Schaltung K41 = S12-REKOMP-VER-SCH gesondert gebildet. VERSCH ist dabei eine Steuergröße, die eingeschaltet ist, wenn eine Linksverschiebung des Speicherinhalts erfolgen soll. Die zu subtrahierende Eins wird über den mit ADD bezeichneten Eingang in das Addier-Subtrahier-Werk geführt, indem die Ausschaltflanke von Steuergröße ADD Kippstufe E einschaltet. Kippstufe E schaltet mit der Ausschaltflanke der Steuergröße U wieder aus und triggert Kippstufe A 1. Sollte die abgefragte Dezimalziffer (höchste MR-Ziffer) eine Null sein, so wird durch die Subtraktion der Eins die Kippstufe E wiederum eingeschaltet. Nach erfolgter Korrekturaddition wird eine Neun auf dem zwölften Speicherplatz (Speicherzeile 1 in F i g. 3) gespeichert. Die Und-Schaltung K35 = E-REKOMP-S12-VLS 40 schaltet die die Verschiebung steuernde Kippstufe VERSCH ein. Kippstufe E schaltet sofort zu Verschiebungsbeginn mit der Ausschaltflanke der Steuergröße U wieder aus. Jedoch darf dadurch Kippstufe A 1 nicht getriggert werden. Daher wird. statt nur mit der Ausschaltflanke der Steuergröße E die Kippstufe A 1 zu triggern, als Triggereingang bei Kippstufe A 1 die Und-Schaltung K19 = U-E-VL'R= -LS eingeführt, die die Ausschaltung von Kippstufe E und die Triggerung von Kippstufe A 1 entkoppelt. Die Ausschaltflanke der Steuergröße SUB schaltet den Zähler Z auf 00L0 = 2, und der Zähler Z beginnt zu zählen, unabhängig davon, ob eine Verschiebung oder eine Multiplikandenaddition erfolgt. Die Steuergröße SUB schaltet auch die REKOMP-Kippstufe aus. Die Addition MD -f- TP wird einfach dadurch gesteuert, daß der Zähler Z (Kippstufen Z 1 bis Z8) bis 12 durchläuft und alle anderen Steuergrößen (VERSCH, REKOMP usw.) ausgeschaltet sind. Bei der Verschiebung muß der Zähler Z ebenfalls durchschalten, jedoch ist der Trigger VERSCH = L und bewirkt die entsprechende Verschiebungssteuerung. Da die Multiplikation von der höchsten Multiplikatorstelle aus beginnt, kann es vorkommen, daß einÜbertrag in, die vorderen schon ausSpeicherzeile 3 nach Speicherzeile 1 verschobenen Stellen auftritt. Dieser Übertrag ist zunächst daran erkenntlich, daß eine Eins in Kippstufe E stehenbleibt, auch wenn die Addition TP+MD beendet ist und der Zähler Z im Schaltzustand 12 steht. Und-Schaltung K42 = E - VLS - S12 schaltet daher den Zähler Z wieder in Schaltzustand 2. Gleichzeitig schaltet die Ausschaltflanke der Steuergröße S12 die Kippstufe REKOMP ein. Da damit die Steuergröße REKOMP eingeschaltet ist, wird über die Und-Schaltungen K25 und K26 nur Speicherzeile 1 ausgewählt und die Eins des übertrages zum Inhalt des Speicherfaches 1 hinzuaddiert. Beim Schaltzustand des Zählers Z =12 wird, im Falle, daß Kippstufe REKOMP eingeschaltet ist, sofort die zwölfte Multiplikatorziffer abgefragt. Wird bei den Additionen die Kapazität von Speicherzeile3 nicht überschritten, erfolgt also kein Übertrag nach Speicherzeile 1, dann leitet Und-Schaltung K37 diese Abfragung ein. Mit. der Ausschaltflanke von Steuergröße SUB gelangen Werte in die Kippstufen E2, E3, E4 und KR. Damit diese während der eventuell nachfolgenden Verschiebung nicht nach Speicherzeile 3 geschrieben werden, sperrt Und-Schaltung K32 = S2 - VERSCH = S2 SP sowie Negator N2 die Einschreibung nach Speicherzeile 3, während Matrixspalte S2 angesteuert wird. Die Linksverschiebung ist bei Multiplikation immer dann durchzuführen, wenn über Und-Schaltung K35 die Kippstufe VERSCH eingeschaltet wird. Letztere steuert die Linksverschiebung. Es wird zunächst der Inhalt von Speicherzeile 3 um eine Dezimalstelle nach links verschoben. Es darf also nur der Zeilentreiber von Speicherzeile 3 angesteuert werden. Zu diesem Zweck ist die Und-Schaltung K20 um die Steuergröße VL'= erweitert, wodurch der Eingang der Speicherzeile 2 gesperrt wird. Die Ziffer in der höchsten Stelle der Speicherzeile 3 wird bei Multiplikation in die niedrigste Stelle von Speicherzeile 1 geschoben, wobei der gesamte Inhalt von Speicherzeile 1 ebenfalls um eine Stelle nach links rückt. Der Verschiebung des Inhalts von Speicherzeile 3 hat also sofort eine Verschiebung von MR zu folgen. In letzterem Falle ist zusätzlich zu VERSCH auch noch die Steuergröße REKOMP eingeschaltet, dadurch werden beide Verschiebungen unterschieden. Die Linksverschiebung ist grundsätzlich so organisiert, daß eine Tetrade gelesen wird und danach in den Kippstufen A 1 bis A 4 steht. Der Inhalt der Trigger A 1 bis A 4 wird im Normalfall nach der Übertragung sofort wieder in den Speicher eingeschrieben, und bei Verschiebung sind die Schreibleitungen an den Und-Schaltungen K28, K29, K30 und K31 durch die Steuergröße VERSCTI gesperrt, und die vom vorangehenden Dezimalziffernplatz abgelesene und in den Kippstufen E2, E3, E 4 und KR zwischengespeicherte Tetrade wird in den Speicher eingeschrieben. Diese Einschreibung erfolgt über die Oder-Schaltungen D 5, D 6, D 7 und D B. Sofort nach dem Einschreiben in den Speicher wird der Inhalt der Trigger A 1 bis A 4 in die Trigger E 2, E 3, E 4 und KR übergeführt. Die Steuergröße V löscht die Kippstufen A 1, A 2, A 3 und A 4 (über Leitung V). Wegen der Steuergröße ADD = L überträgt sich der Ausschaltimpuls der Kippstufen A 1, A 2, A 3 und A 4 auf die Kippstufen E 2, E 3, E 4 und KR (über die Und-Schaltungen K8, K10, K12 und K14). Sollte in den Kippstufen A 1 bis A 4 eine Null enthalten gewesen sein, so wird diese über die Und= Schaltungen K55, K56, K57 und K58 in die Kippstufen E2, E3, E4 und KR übergeführt. An diese Und-Schaltungen ist die Steuergröße VLS geführt, um die notwendige definierte Ausschaltflanke zu erhalten. Die sofortige Ausschaltung der Kippstufen E2, E3, E4 und KR mit dem Taktimpuls s ist in den Und-Schaltungen K16 und K17 durch Schaltgröße VERSCFI--unterbunden. Mit Beendigung der Verschiebung von Speicherzeile 3 bleibt Kippstufe .VERSCH eingeschaltet, und über Und-Schaltung K43 = VERSCH - S12 - RTKOW schaltet die Kippstufe Z2 des Zählers Z ein. Mit der Ausschaltflanke der Steuergröße S12 schaltet gleichzeitig Kippstufe REKOMP ein. Es beginnt die Verschiebung von Speicherzeile 1, wobei Speicherzeile 1 an der übergangsstelle wie eine Verlängerung der Speicherzeile 3 wirkt, also die oberste Ziffer aus Speicherzeile 3 in den untersten Stellenplatz der Speicherzeile 1 geschoben wird. Und-Schaltung K43 schaltet den Zähler Z wieder in den Schaltzustand 2, damit er nochmals durchzählen kann. Am Ende der Verschiebungsperiode schaltet Kippstufe VERSCH wieder auf Null, und zwar über die Und-Schaltung K 36 = REKOMP - S 12 - VLS - VERSCH. Einen Takt (oder mehrere) später schaltet auch die Kippstufe REKOMP über Und-Schaltung K38 wieder ab.The sequence of these two processes is explained in more detail below: The twelfth multiplier digit is read from the memory during the cycle time in which the switching variable U = L and transferred to the four triggers A 1, A 2, A 3 and A 4 of the adder. Subtraction plant (Fig. 1) entered. This happens in the first half of the switching variable U. The accumulating add-subtract work, one of the main components of which are the four triggers A 1, A 2, A 3 and A 4 , must be set to subtraction. Without special measures, multiplication will only add up. The subtraction command for changing the twelfth multiplier position is formed separately by an AND circuit K41 = S12-RECOMP-VER-SCH. VERSCH is a control variable that is switched on when the memory content is to be shifted to the left. The one to be subtracted is fed into the adding-subtracting unit via the input labeled ADD, in that the switch-off edge of control variable ADD switches on trigger stage E. Flip-flop E switches off again with the switch-off edge of control variable U and triggers flip-flop A 1. If the requested decimal digit (highest MR digit) is a zero, flip-flop E is switched on again by subtracting the one. After the correction addition has taken place, a nine is stored in the twelfth memory location (memory line 1 in FIG. 3). The AND circuit K35 = E-REKOMP-S12-VLS 40 switches on the flip-flop VERSCH which controls the shift. Flip-flop E switches off again immediately at the start of the shift with the switch-off edge of control variable U. However, flip-flop A 1 must not be triggered as a result. Hence will. Instead of only triggering flip-flop A 1 with the switch-off edge of control variable E, the AND circuit K19 = UE-VL'R = -LS was introduced as the trigger input for flip-flop A 1, which switches off flip-flop E and triggers flip-flop A 1 decoupled. The switch-off edge of the control variable SUB switches the counter Z to 00L0 = 2, and the counter Z begins to count, regardless of whether there is a shift or a multiplicand addition. The control variable SUB also switches off the REKOMP flip-flop. The addition MD -f- TP is simply controlled by the fact that the counter Z (flip-flops Z 1 to Z8) runs through to 12 and all other control variables (VERSCH, RECOMP, etc.) are switched off. During the shift, the counter Z must also switch through, but the trigger SHIFT = L and effects the corresponding shift control. Since the multiplication starts from the highest multiplier position, it can happen that a transfer occurs in the positions that have already been shifted from memory line 3 to memory line 1. This carry can initially be recognized by the fact that a one remains in flip-flop E, even if the addition TP + MD is ended and the counter Z is in the switching state 12. AND circuit K42 = E - VLS - S12 therefore switches the counter Z back to switching state 2. At the same time, the switch-off edge of the control variable S12 switches on the flip-flop REKOMP. Since this means that the control variable REKOMP is switched on, only memory line 1 is selected via the AND circuits K25 and K26 and the one of the carryover is added to the content of memory compartment 1. When the switching state of the counter Z = 12, the twelfth multiplier digit is immediately queried in the event that flip-flop REKOMP is switched on. If the capacity of memory line 3 is not exceeded during the additions, i.e. there is no carry over to memory line 1, then the AND circuit K37 initiates this query. With. After the switch-off edge of control variable SUB, values enter the flip-flops E2, E3, E4 and KR. So that these are not written to memory row 3 during the possibly subsequent shift, the AND circuit K32 = S2 - SHIFT = S2 SP and inverter N2 block the writing to memory row 3 while matrix column S2 is activated. The left shift must always be carried out with multiplication if the flip-flop VERSCH is switched on via the AND circuit K35. The latter controls the left shift. First the content of memory line 3 is shifted one decimal place to the left. So only the line driver of memory line 3 may be controlled. For this purpose, the AND circuit K20 is extended by the control variable VL '=, whereby the input of the memory line 2 is blocked. When multiplied, the digit in the highest position of memory line 3 is shifted to the lowest position of memory line 1, with the entire content of memory line 1 also moving one position to the left. The shift in the content of memory line 3 is therefore immediately followed by a shift in MR. In the latter case, the control variable REKOMP is also switched on in addition to VERSCH, which differentiates between the two shifts. The left shift is basically organized in such a way that a tetrad is read and then is in the toggle stages A 1 to A 4 . The content of the triggers A 1 to A 4 is normally written back into the memory immediately after the transfer, and if there is a shift, the write lines to the AND circuits K28, K29, K30 and K31 are blocked by the control variable VERSCTI, and those from the previous one The tetrad that is read in the decimal place and temporarily stored in the flip-flops E2, E3, E 4 and KR is written into the memory. This entry takes place via the OR circuits D 5, D 6, D 7 and D B. Immediately after writing into the memory, the content of the triggers A 1 to A 4 is transferred to the triggers E 2, E 3, E 4 and KR convicted. The control variable V deletes the flip-flops A 1, A 2, A 3 and A 4 (via line V). Because of the control variable ADD = L , the switch-off pulse of the flip-flops A 1, A 2, A 3 and A 4 is transferred to the flip-flops E 2, E 3, E 4 and KR (via the AND circuits K8, K10, K12 and K14) . If a zero was contained in the flip-flops A 1 to A 4 , this is transferred to the flip-flops E2, E3, E4 and KR via the AND = circuits K55, K56, K57 and K58. The control variable VLS is fed to these AND circuits in order to obtain the necessary, defined switch-off edge. The immediate switching off of the flip-flops E2, E3, E4 and KR with the clock pulse s is prevented in the AND circuits K16 and K17 by switching variable VERSCFI. With the completion of the shift of memory line 3, the flip-flop .VERSCH remains switched on, and the flip-flop Z2 of the counter Z is switched on via the AND circuit K43 = VERSCH - S12 - RTKOW. With the switch-off edge of the control variable S12, the trigger stage REKOMP switches on at the same time. The shifting of memory line 1 begins, whereby memory line 1 acts like an extension of memory line 3 at the transition point, i.e. the top digit from memory line 3 is shifted into the bottom position of memory line 1. AND circuit K43 switches the counter Z back to switching state 2 so that it can count through again. At the end of the shift period, flip-flop VERSCH switches back to zero, via the AND circuit K 36 = RECOMP - S 12 - VLS - VERSCH. One cycle (or more) later, the flip-flop REKOMP also switches off again via the AND circuit K38.
Am Ende der Verschiebungsdoppelperiode wird in der zwölften Stelle von Speicherzeile 1 die Neun gelesen, die fälschlich bei Subtraktion 0-1 durch die Abfragung der zwölften MR-Stelle eingetragen wurde. Sie gelangt mit dem Ausschalttakt von Steuergröße S 12 in die Kippstufen E 2 und KR. Nach der Ausschaltung von Kippstufe VERSCH löscht der s-Impuls die Kippstufen E2 und KR, erst danach schaltet Kippstufe REKOMP aus, und es beginnt die nächste Abfragung. Bei der Verschiebung darf die Sperre des Schreibtaktes LS durch Steuergröße E2 - E3 - E4 - KR in Und-Schaltung K51 nicht wirksam werden, daher ist, wie bereits erwähnt, Und-Schaltung K 52 = s - VERSCH - SCHREIBEN vorhanden, deren Ausgang mit einem Eingang von Oder-Schaltung D 9 verbunden ist.At the end of the double shift period, the twelfth position of memory line 1 reads the nine that was erroneously entered in subtraction 0-1 through the query of the twelfth MR position. With the switch-off cycle of control variable S 12, it reaches the flip-flops E 2 and KR. After switching off the VERSCH flip-flop, the s-pulse clears the E2 and KR flip-flops, only then does the REKOMP switch off and the next query begins. During the shift, the lock of the write clock LS by means of control variables E2 - E3 - E4 - KR in the AND circuit K51 must not take effect; therefore, as already mentioned, the AND circuit K 52 = s - VERSCH - WRITE is present, the output of which is also present an input of OR circuit D 9 is connected.
Wenn die abgefragte MR-Ziffer die zwölfte und damit letzte Multiplikatorziffer ist, so ist nach Abbau dieser Multiplikatorziffer der eigentliche Multiplikationsvorgang beendet. Das Kennzeichnen des Endes der Verschiebungen erfolgt durch Markierung der dreizehnten Multiplikatorziffer in Form einer Pseudodezimale.If the queried MR digit is the twelfth and thus the last multiplier digit is, the actual multiplication process is after this multiplier number has been removed completed. The end of the shifts is identified by marking the thirteenth multiplier digit in the form of a pseudo decimal.
Diese dreizehnte Multiplikatorziffer (niedrigste Wertigkeit) wird bei der ersten Verschiebung in Speicherzeile 1 eingetragen. Vorausgesetzt ist, daß auf dem zwölften Platz (höchste Wertigkeit) von Speicherzeile 3 vor Verschiebungsbeginn eine Null enthalten ist, welches einer Beschränkung des Multiplikanden auf höchstens elf Stellen gleichkommt (einschließlich Vorzeichen und bei 11stelligem Multiplikator). Das Einschreiben der Marke (LL00) in den Speicher erfolgt über Eingang MET und der Schreibeingänge C3 und C4 (Fig. 3) in die zwölfte Stelle von Speicherzeile 3 während der die Multiplikation vorbereitenden Vorgänge. Durch die erste Verschiebung wird diese Marke nach Speicherzeile 1 übertragen und rückt bei jeder weiteren Verschiebung eine Stelle nach links. Wenn die zwölfte Multiplikatorziffer abgebaut ist, rückt in einer weiteren Verschiebung die Marke auf den zwölften Platz von Speicherzeile 1. Es muß hier beachtet werden, daß diese Marke nicht während der Verschiebung die Kippstufe KR einschaltet. Daher ist in Und-Schaltung K7 eine Sperre enthalten (über Oder-Schaltung D 1), so daß während Verschiebungen (Steuergröße VERSCH = L) keine schaltende Flanke möglich ist. Nachdem durch die Verschiebung die Marke in die zwölfte Stelle von Speicherzeile 1 eingetragen ist, wird sie durch die Abfragung während der Zeit, in der Steuergröße U den Zustand L annimmt, mit Impuls LL gelesen. Die Und-Schaltung K48=A3-A4-S12-REKOMP-LL schaltet den Zähler Z von Schaltzustand 12 sofort um auf Schaltzustand 0, noch ehe ein Schreibimpuls wirksam wird. Etwas später schaltet Steuergröße R UVM auch die Kippstufe LESENISCHREIBEN wieder in die Schaltstellung LESEN. In den Kippstufen A 3 und A 4 bleibt zunächst die Marke stehen. Die Und-Schaltung K49=A3-A4-Z-s-(E*2-E3-E4-KR) bildet die Steuergröße RUVM, die auch die überführung der Rundungsinformation (die von einem nicht dargestellten Programmgeber erzeugt wird und in F i g. 2 durch die Steuergrößen P 1, P 2, P 3 und P 4 dargestellt ist) über die Und-Schaltungen K44 = R UVM - P 1, K45 = R UVM - P 2, K46 = RUVM - P3, K47=RUVM-P4 in den Zähler Z gestaltet. Die Steuergröße RUVM schaltet außerdem die Kippstufe MEV aus. Damit kann der Rundungsvorgang beginnen.This thirteenth multiplier digit (lowest value) is entered in memory line 1 with the first shift. The prerequisite is that the twelfth place (highest value) of memory line 3 contains a zero before the start of the shift, which is equivalent to limiting the multiplicand to a maximum of eleven places (including the sign and with an 11-digit multiplier). The mark (LL00) is written into the memory via input MET and the write inputs C3 and C4 (FIG. 3) in the twelfth position of memory line 3 during the processes that prepare the multiplication. With the first shift, this mark is transferred to memory line 1 and moves one place to the left with each further shift. When the twelfth multiplier digit has been reduced, the marker moves to the twelfth position of memory line 1 in a further shift. It must be ensured here that this marker does not switch on the flip-flop KR during the shift. A block is therefore contained in AND circuit K7 (via OR circuit D 1) so that no switching edge is possible during shifts (control variable VERSCH = L). After the marker has been entered in the twelfth position of memory line 1 due to the shift, it is read with pulse LL during the interrogation during the time in which the control variable U assumes the state L. The AND circuit K48 = A3-A4-S12-REKOMP-LL switches the counter Z from switching state 12 to switching state 0 immediately before a write pulse becomes effective. A little later, control variable R UVM also switches the toggle stage READING WRITE back to the switch position READ. In the tipping stages A 3 and A 4 , the mark initially remains. The AND circuit K49 = A3-A4-Zs- (E * 2-E3-E4-KR) forms the control variable RUVM, which also transfers the rounding information (which is generated by a programmer (not shown) and is shown in FIG. 2 represented by the control variables P 1, P 2, P 3 and P 4 ) via the AND circuits K44 = R UVM - P 1, K45 = R UVM - P 2, K46 = RUVM - P3, K47 = RUVM-P4 in the counter Z designed. The control variable RUVM also switches off the multivibrator MEV. The rounding process can now begin.
Das mehr als n-stellige Produkt (n =maximale Stellenzahl eines Operanden) wird gerundet. Dazu werden die hinteren Stellen des Produktes entsprechend der vorher eingegebenen Rundungsinformation abgeschnitten, und die niedrigste verbleibende Stelle wird um eine Einheit aufgewertet, wenn die höchste wegzuschneidende Stelle > S ist. Die Rundungsinformation wird durch einen nicht dargestellten Befehlsgeber dem Rechenwerk zugeführt, und zwar über die mit P 1, P 2, P 3 und P 4 bezeichneten Programmkanäle. Es kann eine bis zur Ziffer 11 reichende Rundungsinformation dem Rechenwerk zugeführt werden. Als Rundungsinformation wird die Zahl der abzuschneidenden Stellen, um zwei Einheiten vergrößert, eingegeben. Nach Beendigung der eigentlichen Multiplikation wird die Rundungsinformation mittels Steuergröße RUVM in den Zähler Z eingetragen (über die Und-Schaltungen K44, K45, K46 und K47) und auf diese Weise die höchste abzuschneidende Stelle (in Speicherzeile 3) angesteuert. Nach dieser Voreinstellung von Zähler Z, entsprechend der Rundungsinformation, verstreicht zunächst die Zeit, in. der die Steuergröße U den Zustand L annimmt und in der z. B. noch eventuelle manuelle Veränderungen der vom Programmgeber gelieferten Rundungsinformationen vorgenommen werden. Zu Beginn der Zeit, in der Schaltgröße V den Zustand L annimmt, wird damit die höchste abzuschneidende Stelle durch den Zähler Z angesteuert. Die darin enthaltene Ziffer wird mit dem Lesetakt LL gelesen. Ist sie größer oder gleich 5, so muß zur nächsthöheren Stelle entsprechend der Rundungsvorschrift eine Eins zuaddieri werden. Dies geschieht, indem zur höchsten abzuschneidenden Stelle der Wert -I- 5 addiert wird, wodurch sich im Rundungsfalle automatisch die Eins als Übertrag in die nächsthöhere Stelle ergibt. Die zu addierende 5 wird ins Addierwerk gegeben, indem mit der Ausschaltflanke von Steuergröße E die Kippstufe A 1 einschaltet und Steuergröße RUVM die Kippstufe A 4 ausschaltet (in den Kippstufen A 3 und A 4 war noch die Marke gespeichert). In die Stelle von Speicherzeile 3, in der die höchste abzuschneidende Ziffer enthalten ist, wird eine Marke eingetragen, indem auf die Plätze für die beiden höchsten Bits eine L geschrieben wird, nämlich über Eingang MEY an den Schreibleitungen C3 und C4 (F i g. 3), die Kippstufe MEV noch ausgeschaltet war. Erst Steuergröße V schaltetKippstufe MEV wieder ein. Steuergröße V schaltet auch den Zähler Z in den nächsthöheren Schaltzustand. Der Zähler Z zählt also weiter durch, und es wird die Rundungseins zum Inhalt von Speicherzeile 3 hinzuaddiert. Dabei kann auch ein Übertrag nach Speicherzeile 1, also in die obere Stelle des. Produktes, entstehen. Mit der Ausschaltflanke von Steuergröße S 12 schaltet sich in diesem Falle die Kippstufe REKOMR ein, und dadurch wird nur Speicherzeile l angesteuert, und es verläuft eine Addition der übertragseins zum Inhalt von Speicherzeile 1. Der Zähler Z wird über Und-Schaltung K42 nochmals in den Schaltzustand 2 geschaltet. Die Abrundung ist nur sinnvoll, wenn die vorderen Produktenstellen Null sind. Es dürfen keine gültigen Produktenstellen verlorengehen, indem sie nach links aus dem Speicher hinausgeschoben werden. Es folgen nunmehr so lange Verschiebungen des mit den vorderen Stellen in Speicherzeile 1 und mit den hinteren Stellen in Speicherzeile 3 stehenden Produktes, bis das vollständige Produkt stellenrichtig in Speicherzeile 1 steht. Die hinteren abzuschneidenden Produktstellen bleiben in den höchsten Stellenplätzen von Speicherzeile 3 stehen. Unter der Voraussetzung, daß, solange jetzt Rundungsverschiebungen stattfinden, die vordere Stelle von Speicherzeile 1 eine Null enthält, kann der normale für die Multiplikation gültige Abfragungs-und Verschiebungsmechanismus auch für die Rundung wirksam werden. Nach der Addition der Eins für die Rundung wird also die oberste MR-Ziffer abgefragt. Da sie gleich Null ist, wird eine Linksverschiebung von Speicherzeile 3 und Speicherzeile 1 eingeleitet. Danach wiederholt sich derselbe Vorgang so lange, bis in die zwölfte Stelle von Speicherzeile3 die Marke zu schreiben ist, die in die höchste abzuschneidende Stelle gesetzt wurde. Wenn diese Marke in der elften Stelle von Speicherzeile 3 gelesen wird, also nach A 3 und A 4 gelangt, steht in Speicherzeile 1 das Produkt bereits nach der Beendigung der Verschiebung stellenrichtig, so daß die Verschiebungen abgebrochen werden müssen. Die Und-Schaltung K34 = E4-KR-S12#LL-RU-VERSCH MULAUS schaltet daher die Kippstufe MUL aus und gleichzeitig die Kippstufe Z2 ein. Der nächste Impuls schaltet dadurch den Zähler Z nicht auf Schaltzustand 12, sondern auf 14, und der übernächste Impuls zählt sofort wieder auf 2. Während Kippstufe MUL bereits ausgeschaltet ist, erfolgt noch die letzte Verschiebung des Inhalts von Speicherzeile 1. Aus-Gründen der zweckmäßigen Weiterverarbeitung soll nach Beendigung der Multiplikation das Produkt nicht nur in Speicherzeile l enthalten sein, sondern auch in Speicherzeile 2. Es sind daher besondere Maßnahmen notwendig, um das Produkt nach Speicherzeile 2 zu transportieren. Dieser Transport erfolgt am Multiplikationsende durch die Steuergröße R UMA. Die Steuergröße R UMA ergibt sich, indem die Kippstufe RU in Fig.2 nach Beendigung der letzten Verschiebung von Speicherzeile 1 noch nicht ausschaltet. Die Und-Schaltung K55 = RU-VLW= -@GIZ%L bildet die genannte Steuergröße RUMA, die so lange dauert, bis der Zähler Z von Schaltzustand 1 auf 12 durchgeschaltet ist, indem die Und-Schaltung K39=RUMA#S12 die Kippstufe RU schließlich ausschaltet. Gleichzeitig muß zu Beginn der Periode, in der Steuergröße R UMA = L, die Kippstufe Z 1 eingeschaltet und die Kippstufe VERSCH ausgeschaltet werden, das durch die Und-Schaltung K56 = VERSCH # tVL - R U - S 12 - RWKZJW = RUS gesteuert wird.The product with more than n digits (n = maximum number of digits in an operand) is rounded. For this purpose, the last digits of the product are cut off according to the previously entered rounding information, and the lowest remaining digit is increased by one unit if the highest digit to be cut away is> S. The rounding information is fed to the arithmetic unit by a command generator (not shown), specifically via the program channels labeled P 1, P 2, P 3 and P 4. Rounding information reaching up to number 11 can be fed to the arithmetic unit. The number of digits to be cut, increased by two units, is entered as rounding information. After completion of the actual multiplication, the rounding information is entered in the counter Z by means of the control variable RUVM (via the AND circuits K44, K45, K46 and K47) and in this way the highest position to be cut off (in memory line 3) is controlled. After this presetting of counter Z, according to the rounding information, the time first elapses in which the control variable U assumes the state L and in which z. B. possible manual changes to the rounding information supplied by the programmer can be made. At the beginning of the time in which the switching variable V assumes the state L, the highest digit to be cut off is controlled by the counter Z. The number contained therein is read with the reading pulse LL. If it is greater than or equal to 5, a one must be added to the next higher digit in accordance with the rounding rule. This is done by adding the value -I- 5 to the highest digit to be truncated, which automatically results in the one being carried over to the next higher digit in the case of rounding. The 5 to be added is fed into the adder by switching on flip-flop A 1 with the switch-off edge of control variable E and control variable RUVM switching off flip-flop A 4 (the mark was still stored in flip-flops A 3 and A 4). A mark is entered in the position of memory line 3 that contains the highest digit to be cut off by writing an L in the places for the two highest bits, namely via input MEY on write lines C3 and C4 (F i g. 3), the MEV flip-flop was still switched off. Only control variable V switches the MEV flip-flop on again. Control variable V also switches the counter Z to the next higher switching state. The counter Z therefore continues to count, and the rounding offs are added to the content of memory line 3. This can also result in a carryover to memory line 1, that is to say to the top position of the product. With the switch-off edge of the control variable S 12, the flip-flop REKOMR switches in this case, and thus only memory line is driven l, and it runs an addition of the carry-one to the contents of memory line 1. The counter Z is AND circuit K42 again in the Switching state 2 switched. Rounding off is only useful if the leading product positions are zero. No valid product locations may be lost by sliding them out of the memory to the left. The product with the front positions in memory line 1 and the rear positions in memory line 3 are now shifted until the complete product is in the correct position in memory line 1. The rear product positions to be cut off remain in the highest positions of memory line 3. Provided that, as long as rounding shifts take place, the leading position of memory line 1 contains a zero, the normal query and shifting mechanism valid for the multiplication can also be effective for the rounding. After adding the one for the rounding, the top MR digit is queried. Since it is equal to zero, a left shift of memory line 3 and memory line 1 is initiated. The same process is then repeated until the mark placed in the highest position to be cut off has to be written in the twelfth position of memory line 3. If this mark is read in the eleventh position of memory line 3, i.e. reaches A 3 and A 4 , the product is already in the correct position in memory line 1 after the end of the shift, so that the shifts must be canceled. The AND circuit K34 = E4-KR-S12 # LL-RU-VERSCH MULAUS therefore switches the flip-flop MUL off and at the same time the flip-flop Z2 on. The next pulse does not switch the counter Z to switching state 12, but to 14, and the next but one pulse immediately counts back to 2. While flip-flop MUL is already switched off, the last shift of the content of memory line 1 takes place After the completion of the multiplication, the product should not only be contained in memory line 1, but also in memory line 2. Special measures are therefore necessary in order to transport the product to memory line 2. This transport takes place at the end of the multiplication by the control variable R UMA. The control variable R UMA results from the fact that the flip-flop RU in FIG. 2 does not yet switch off after the last shift of memory line 1 has ended. The AND circuit K55 = RU-VLW = - @ GIZ% L forms the said control variable RUMA, which lasts until the counter Z is switched through from switching state 1 to 12 by the AND circuit K39 = RUMA # S12 the flip-flop RU eventually turns off. At the same time, at the beginning of the period, in the control variable R UMA = L, the flip-flop Z 1 must be switched on and the flip-flop VERSCH switched off, which is controlled by the AND circuit K56 = VERSCH # tVL - RU - S 12 - RWKZJW = RUS.
Mit dem Lesetakt während derZeit, in derSteuergröße U = L, (LL) wird also die Tetrade aus Speicherzeile 2 gelesen, jedoch über Und-Schaltung K57 = RUMA - LL sofort wieder aus den Kippstufen A 1 bis A 4 mit der Ausschaltflanke des Lesetaktes LL gelöscht. Die Und-Schaltung K57 ist nur geöffnet, wenn Steuergröße U = L, da an der nachfolgenden Oder-Schaltung D 10 auch Steuergröße V anliegt. Da Steuergröße RUMA auch zur Steuerung von Speicherzeile 3 dient, und zwar über Und-Schaltung 22 = RUMA # U, wird Speicherzeile 3 gleichzeitig gelöscht. Während die Steuergröße V = L, wird über Und-Schaltung K24=RUM,1-V die in Speicherzeile 1 enthaltene Tetrade gelesen. Aus den Speicherzeilen 1 und 3 werden gleichzeitig Nullen gelesen, die jedoch nicht stören. Mit dem Schreibtakt LS wird danach die aus Speicherzeile 1 gelesene Information wieder in die Speicherzeilen 2 und 3 eingeschrieben. Nach Durchlauf des Zählers Z ist die Multiplikation beendet.With the reading pulse during the time, in the control variable U = L, (LL), the tetrad is read from memory line 2, but immediately again from the flip-flops A 1 to A 4 with the switch-off edge of the reading pulse LL via the AND circuit K57 = RUMA - LL turned off. The AND circuit K57 is only open when control variable U = L, since control variable V is also applied to the subsequent OR circuit D 10. Since control variable RUMA is also used to control memory line 3, namely via AND circuit 22 = RUMA # U, memory line 3 is deleted at the same time. While the control variable V = L, the tetrad contained in memory line 1 is read via the AND circuit K24 = RUM, 1-V. Zeros are read from memory lines 1 and 3 at the same time, but they do not interfere. With the write clock LS, the information read from memory line 1 is then written back into memory lines 2 and 3. After the counter Z has passed, the multiplication is ended.
Claims (6)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DEV24386A DE1185405B (en) | 1963-07-27 | 1963-07-27 | Circuit arrangement for performing multiplication and rounding operations |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DEV24386A DE1185405B (en) | 1963-07-27 | 1963-07-27 | Circuit arrangement for performing multiplication and rounding operations |
Publications (1)
Publication Number | Publication Date |
---|---|
DE1185405B true DE1185405B (en) | 1965-01-14 |
Family
ID=7581154
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DEV24386A Pending DE1185405B (en) | 1963-07-27 | 1963-07-27 | Circuit arrangement for performing multiplication and rounding operations |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE1185405B (en) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE1111430B (en) * | 1954-03-22 | 1961-07-20 | Ibm Deutschland | Data processing calculating machine for processing information words of different lengths |
-
1963
- 1963-07-27 DE DEV24386A patent/DE1185405B/en active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE1111430B (en) * | 1954-03-22 | 1961-07-20 | Ibm Deutschland | Data processing calculating machine for processing information words of different lengths |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2353421C3 (en) | Electronic calculator | |
DE69227348T2 (en) | DIVIDING CIRCUIT FOR SLIDING POINTS | |
DE2814078A1 (en) | ADDING CONNECTION WITH TEMPORARY INTERMEDIATE STORAGE OF THE TRANSFER | |
DE2911096A1 (en) | MULTIPLICATION ACCUMULATOR CIRCUIT | |
DE2816711A1 (en) | DIVISION FACILITY WITH TRANSFER RESCUE ADDING PLANT AND NON-EXECUTING FORESIGHT | |
DE69500410T2 (en) | Arithmetic and logical accounting and control procedures | |
DE2310553C2 (en) | Device for performing operations on two binary operands under the command of a microprogram | |
DE2034841B2 (en) | Matrix arrangement for digital computer system | |
DE1171650B (en) | Machine for serial processing of data in binary character encryption | |
DE2424756B2 (en) | ELECTRONIC CALCULATOR | |
DE1298316B (en) | Device for handling commas in arithmetic operations | |
DE2203143C3 (en) | Arithmetic arrangement for dividing decimal numbers | |
DE1499227C3 (en) | Circuit arrangement for basic arithmetic and logical operations | |
DE1185405B (en) | Circuit arrangement for performing multiplication and rounding operations | |
DE1184122B (en) | Adding device | |
DE1549461C3 (en) | ||
DE2220329B2 (en) | Circuit arrangement for converting a number expressed in floating point representation into a fixed point representation in electronic computers | |
DE1181948B (en) | Electronic data processing machine | |
CH405770A (en) | Method for controlling multiplication and rounding operations in a decimal arithmetic unit and circuit arrangement for carrying out the method | |
DE1965830B2 (en) | Device for entering a decimal number with a selectable decimal point in a calculating machine | |
DE1524146C (en) | Division facility | |
DE3501901A1 (en) | BINARY MULTIPLICATION | |
DE1303692C2 (en) | BINARY CALCULATOR | |
DE1774673C3 (en) | Method and circuit arrangement for multiplication and division | |
DE1111429B (en) | Multiplication circuit for a data processing machine |