DE1774673C3 - Verfahren und Schaltungsanordnung zur Multiplikation und Division - Google Patents

Verfahren und Schaltungsanordnung zur Multiplikation und Division

Info

Publication number
DE1774673C3
DE1774673C3 DE19681774673 DE1774673A DE1774673C3 DE 1774673 C3 DE1774673 C3 DE 1774673C3 DE 19681774673 DE19681774673 DE 19681774673 DE 1774673 A DE1774673 A DE 1774673A DE 1774673 C3 DE1774673 C3 DE 1774673C3
Authority
DE
Germany
Prior art keywords
shift register
digit
register
coy
shift
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired
Application number
DE19681774673
Other languages
English (en)
Other versions
DE1774673B2 (de
DE1774673A1 (de
Inventor
Yoshinobu Kitagawa
Akihiko Kunikane
Isamu Wahizuka
Kunio Yoshida
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sharp Corp
Original Assignee
Sharp Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sharp Corp filed Critical Sharp Corp
Publication of DE1774673A1 publication Critical patent/DE1774673A1/de
Publication of DE1774673B2 publication Critical patent/DE1774673B2/de
Application granted granted Critical
Publication of DE1774673C3 publication Critical patent/DE1774673C3/de
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods 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/52Multiplying; Dividing
    • G06F7/535Dividing only
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods 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/52Multiplying; Dividing
    • G06F7/523Multiplying only
    • G06F7/525Multiplying only in serial-serial fashion, i.e. both operands being entered serially

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Complex Calculations (AREA)
  • Calculators And Similar Devices (AREA)

Description

Die Erfindung betriiTt ein Verfahren und eine Schaltungsanordnung zur Multiplikation und Division unter Anwendung einer elektronischen Rechenmaschine geringer Größe mit einem ersten Verschieberegister und einem zweiten Verschieberegister und diesen Registern zugeordneten PufTerregistern und einem Volladdierer zur scriermaßigen Verarbeitung von Operandenziffernstellen, insbesondere zur Verarbeitung binärkodierter Dezimalzahlen, und mit MiHeIn zur Eingabe des Multiplikanden bzw. des Dividenden in das erste Verschieberegister und des Multiplikators bzw. des Divisors in das zweite Verschieberegister.
Bei Rechnungen mit einem verhältnismäßig kleinen elektronischen Rechengerät, beispielsweise einer elektronischen Tischrechenmaschine, ist die Durch führung von Muliplikationen und Divisionen und die Durchführung von Additionen und Subtraktionen erforderlich. Um derartige Rechenoperationen durchzuführen und die Forderung nach geringem Gewicht und räumlicher Gedrängtheit bei einer kleinen kommerziellen elektronischen Rechenmaschine zu erfüllen, ergibt sich nicht die Möglichkeit, umfangreiche Apparateteile für die Durchführung von Multiplikationen und Divisionen zu verwenden, und es muß der Raumbedarf der für diese Rechenoperationen benötigten Mittel so gering wie möglich sein.
Für die Durchführung von Multiplikationen in einer elektronischen Rechenmaschine ergeben sich zwei Möglichkeiten: Die eine Möglichkeit besteht darin, nacheinander wiederholt Additionen durchzuführen, bis die erforderliche Wiederholungszahl erreicht ist und die Multiplikation damit durchgefühlt ist. Die zweite Multiplikationsart beruht auf einer anderen Art der Addition, indem zunächst ein Teilprodukt gebildet wird und unter entsprechender Stcllcnverschiebung die Addition weiterer Teilprodukt.; durchgeführt wird, so wie man im allgemeinen die Multiplikation mit einem Bleistift auf einem Papier durchführt. Die erstgenannte Multiplikationsart wird als Multiplikation durch wiederholte Addition bezeichnet, und die zweite Mnltiplikationsarl wird Multiplikation mit Stellenverschiebung genannt.
Die Multiplikation nach der ersten Multiplikationsart hat den Nachteil, daß zusätzliche Apparateteile erforderlich sind, um das Ende der wiederholten Additionen anzuzeigen, wenn die für die Multiplikation erforderliche Anzahl von wiederholten Additionen durchgeführt ist; der ν·.-; llmI einer Rechenmaschine mii derartigem Mtiltipiikationsvcrfahrcn liegt darin, daß viele Bestandteile der Rechenmaschine, die für die Addition benötigt werden, leicht auch für die Durchführung der Multiplikation herangezogen werden können. Dies bildet einen beträchtlichen Vorteil, wenn die elektronische Rechenmaschine nur von geringer Größe sein soll.
Viele der zur Zeit kommerziell verwendeten elektronischen Rechenmaschinen geringer Große arbeiten nach diesem Prinzip; um dabei das Ende der Additionswiederholungen anzuzeigen, wird der Komplenientärwcrt des Multiplikators in ein Zählwerk eingebracht, und es wird bei jeder Addition der Wert »1« subtrahiert, bis das Zählwerk bei dem Zähiwert »0« angelangt ist. Der Multiplikalio.nsvorgang mit entsprechenden Additionen wird fortgesetzt, bis der
ίο Inhalt des Zählwerkes den Wert »0« angenommen hat, und dadurch wird automatisch der arithmetische Rechenvorgang beendet. Eine solche Konstruktionsweise hat zur Folge, daß ein Zählwerk vorgesehen ist, das die Gesamtzahl der tatsächlichen Additionen zählen kann und daß eine Vorrichtung zur Bildung von Komplementärwcrten zur Verarbeitung des Mlutiplikators vorgesehen ist und femer eine Vorrichtung vorgesehen ist, die automatisch den Inhalt »0« des Zählwerkes feststellt. Diese Nachteile werden noch dadurch verstärkt, daß das Zählwerk imstande sein muß, die Anzahl von Ziffernstellen, für die die Rechenmaschine bestimmt ist, verarbeiten zu können und daß bei jeder Additionswiederholung eine Detektorvorrichtung sämtliche Zahlenstellen überprüfen muß. Dadurch ergibt sich naturgemäß ein beträchtlicher Zeitverlust, indem gewisse Zeitintervalle für die direkte Rechenoperation nicht nutzbar zu machen sind.
Weiterhin kennt man zwei verschiedene Methoden zur Durchführung der Division bei elektronischen Rechenmaschinen; die eine Methode beruht auf der wiederholten Subtraktion, und bei der anderen Methode findet eine Stellenverschiebung statt, ähnlich wie bei der Multiplikation.
Die Methode der wiederholten Subtraktion ist vorzuziehen, wenn man geringe Dimensionen der Rechenmaschine anstrebt, es ist jedoch in diesem Fall ebenso wie bei der Multiplikation die Anwendung eines Zählwerkes erforderlich. Mit anderen Worten wird die Division in einer elektronischen Rechenmaschine bei Anwendung der erstgenannten Divisionsmethode durch wiederholte Subtraktion der Absolutwerte der beiden Operanden durchgeführt, wobei der Divisor in das Register eingeführt wird und der Dividend in den Akkumulator eingeführt wird. Es finden dann nacheinander wiederholte Subtraktionen des Inhaltes des Registers von dem Inhalt des Akkumulators statt, bis der Inhalt des Akkumulator:, geringer ist als der Inhalt des Registers, und es wird die Gesamtzahl der Subtraktionswiederholungen in dem Zählwerk zusammengezählt.
Es ist indessen dabei zu beachten, daß ein Unterschied zwischen der Division und der Multiplikation dadurch hegrünJet ist, daß für den Dividenden und
den Divisor die beschränkende Bedingung vorliegt, daß »Dividend>D;visor« erfüllt sein mi<3. Die Bedingung »Dividend<Di»'isor« hat jeweils einen Überlaufeffekt in der Rechenmaschine zur Folge. Die erfolgreiche Durchführung einer Division ist daher an die genannte Bedingung zwischen dem leidenden und dem Divisor gebunden, und es muß eine zusätzliche Anordnung vorgesehen sein, die die Grenzen der zulässigen Subtraktionswiederholungen feststellt und dieselben sieuert, woraus sich ergibt, daß die Sleueriiiigsorgane, die für die Division vorzusehen sind, etwas komplizierter sind als die für die Multiplikation vorzusehenden Steuerorgane.
Die r.rlindunu bezweckt eine elektronische Rechen-
maschine, die von den vorstehend erörterten Nach- Subtraktion in der niedrigsten ZiiTcrnstelle des ersten teilen frei ist und eine Durchführung von Mullipli- Versehiebercgisters eine »Hins« addiert wird und bei kaMoncn und Divisionen unter Mehrfaehausnutzung einer konigierenden Addition nach dem Auftreten der hierfür üblicherweise vorgesehenen Schiebe- eines geborgten Übertrags zur Einleitung eines neuen register für Steuer- und Speicher/wecke gestattet. 5 Subtraktionszyklus die in der letzten ZilTcrnstelle ohne daß zusätzliche spezielle Anordnungen vor- des ersten Verschieberegisters gespeicherte Zahl um gesehen werden, wobei lediglich die zwischen dem eine »Eins« vermindert wird und der verbleibende Register und dem Addierwerk bzw. Subtraliierwerk Dividend und der in i\cn niedrigsten Z-iffcrnstcllen vorgesehene logische Steuerung etwas weniger ein- des ersten Verschieberegisters gebildete Zählwct fach ausfällt. 10 einen Schritt in Richtung höherer Ziflcrnstellcn (nach Diese Aufgabe wird bei einem Verfahren der ein- links) verschoben werden und gleichzeitig der Steuergang.·, genannten Art dadurch gelöst, daß für Multi- zählwert in dem zweiten Vci schieberegister um eine plikation der Multiplikator in dem zweiten Vor- *Lms« vci ringen wird und ein für den Beginn des schieberegister schrittweise von der niedrigste" letzten Subtraktionszyklus maßgebliches Signal cr-ZifTcrnstelle zu der höchsten Zilfcrnstel1? verschoben 15 zeugt wird, wenn der Stcuerzählwcrt in dem zweiten wird und ein Steucrzählwuri. der die Anzahl Vcr- Verschieberegister wieder den Wert »Eins« erreicht Schiebungsschritte charakterisiert, in der der nied- hat.
rigsten Ziffernstellc des Multiplikators benachbarten Eine Schaltungsanordnung zur Durchführung ZiiTcrnstelle eingeschrieben wird und so mitvcrscho- dieses \ e-iiahrens ist dadurch gekennzeichnet, daß ben wird, daß er bei der Verschiebung des Multipli- 20 das erste eine äußere Dateneingabe aufweisende kainrs zu höheren Ziffernstellen demselben folgt und Verschieberegister über eine erste Eingangstorstuie hierbei bei jedem Verschicbcschritt um »Eins« vci- mit dem Biniirvolladdierer und der Ausgang des größer! wird, und Partialprodukie durch * ukzessivcs ersten Verschieberegisters über eine Eingangstoislufe Addieren des im zweiten Vcrschiebcre6Lier ge- mil dem Pufferspeicher des zweiten Verschie.bespcichertcn Multiplikators in den höchsten ZitTcrn- 25 registers verbunden ist, daß der Ausgang de:; zweiten stellen des ersten Verschicbcrcgistcrs gebildet werden Verschiebeiepsters wahlweise über die gleiche Hin- und dabei dei von der niedrigsten Stelle her :n das gangstorstufc oder über eine zweite Hingangstorstufe erste Verschieberegister eingegebene Multiplikand η mit dem Volladdierer und der Ausgang des VoIlseincr nicdrigsten ZilTernsfeüe bei jedem Additions- addierers über eine hJngangstorstufc mit dem PufTerschritt um »Eins« verringert wird und. wenn diese 30 register des ersten Verschicbcrcgistcrs verbunden ist. Subtraktion den Wert Null erreicht, das in den daß der Ausgang des Pu'Terregistcrs des ersten Verhöchsten ZifTcrnstellen des ersten Vers^hieberegisiers Schieberegisters wahlweise über eine Eingangstorslufe gespeicherte Partialprodukt und dei in der niedrigster mit dem ersten Verschieberegister oder über eine Ziffernsiellc dcwlhcn gespeicherte M-jltip'ikami Eingangstorslufe mit dem Pufferregister des zweiten eine Ziffcrnstcllc in Richtung auf niedrigere Ziffern- 35 Vcrscliiebercgislers und über die erste Eingangstorsteilen (nach rechts) verschoben werden und dabei stufe mit dem Vollaodicrer verbunden ist und der der Stcuerzählwcrt neben dem Multiplikator in dem Ausgang des PulTcrregisters des zweiten Vcrschiebczweiten Verschieberegister um eir.e »Lins» vermin- registers über die Eingangstorstuie wahlweise mit dort wird und weitere Multiplikaloradditionen und dem Eingang des ersten Vcrschiebereuislcrs und dem Multipükandcnverringerungen durchpefülirt werden. 4« zweiten Verschieberegister verbunden ist. bis dieser in seiner höchsten Stelle auf Null abgebaut Der durch die Erfindung erzielte technische Fortist, und dadurch angezeigt wird, daß die Summe schritt ist darin begründet, daß die zur Multiplikation sämtlicher Partialprodukte und damit das Endresultat und Division wie üblich vorgesehenen Vcrschicbcgebildet ist, und das Endresultat schrittweise in dem register in der Weise mehrfach ausgenutzt werden. ersten Verschieberegister um eine durch den in dem 45 daß, abgesehen von ihrem Hauptzweck der Operan zweiten Vcrschiebereg'ster gespeicherten verringerten den- und Resultatspeicherung, die Register in ihrer: Zählwert angezeigte Stellenzahl in die niedrigste Teilbereichen vorübergehend auch Stcucrfunktioner Ziffernstelle gc.iickt wird, und daß für Division der erfüllende Zwischenwerte aufnehmen, so daß «-kh Divisor in dem zweiten Verschiebcregisier schritt- dadurch die Anwendung besonderer Spcichcrrcizister weise von der niedngsten Ziffernstelle zu der höchsten 50 zur Aufnahme von Stcuerzählwerten erübrigt. Ziffernstelle verschoben \\ ird und ein Steuerzählwert, Ein Ausführungsbeispiel der Erfindung ist in de; der die Anzahl VerschiebeschriUe charakterisiert, in nachfolgenden Beschreibung im Zusammenhang iv-,Λ der der niedngsten Ziffernstelle des Divisors benach- den Figuren erörtert, wobei es sich um die Be«·;!;reibarten Ziffernsteile eingeschrieben wird und so mit- bung einer Tischrechcnmaschine handelt. Voi; *i ■ verschoben wird, daß er bei der Verschiebung des 55 Figuren zeigt
Divisors zu höheren Ziffernstellen demselben folgt F i g. 1 ein Blockschaltbild einer beispielswe; .
und hierbei bei jedem Verschiebeschritt um ^Eins Rechenmaschine.
vergrößert wird, und der in das erste Verschiebe- Fig. 2 ein Fl.ußdiagramm für einen Mulliplika-
resisler eingegebene Dividend schrittweise zu höheren tionsvorgang bei der Rechenmaschine, Ziffernstellen (nach links) verschoben wird und bei 60 Fig. 3 Blockschaltbilder, welche die in den ver-
iedem Verschiebeschritt eine >>Eins« von dem in dem schiedenen Phasen des Multipiikationsvorcanues
zweiten Verschieberegister gespeicherten Steuerzäh!- maßgeblichen Verbindungen der Apparategruppen
wert subtrahiert wird und sukzpssive Subtraktionen zeigen,
des Divisors von dem Dividenden bzw. von dem F i g. 4 die verschiedenen Operandenspeichcrungen
bereits verringerten Dividenden durchgeführt werden, 65 in den Registern während eines Multiplikations-
bis das Auftreten eines geborgten Übertrags das Vorganges.
Überschreiten der für die betreffende Ziffernstelle Fig. 5 das Flußdiagramm eines Divisionsvor-
zulässieen Subtraktionsschritte anzeigt, und bei jeder ganges.
Fig. Blockschallbilder, welche die Verbindungen der verschiedenen Apparatcieile miteinander wähfend eines Divisionsvorganges /.eigen,
Fig. 7 die Operandcnspeieherungen in ilen Registern während eines Divisionsvorganges.
Hinsichtlich F i g. 1 ist zu bemerken, daß die elek-Ironische Rechenmaschine in zwei '!'eile zerfällt, nämlich in einen rechnenden und einen steuernden Teil.
Der rechnende Teil besteht aus den beiden Hauptrr.'gistern COX und COY, den beiden PulTerregislern Jf und Y, dem Wicdcrgabepufi'erregisler XP. dem Dczimalpunkticgister XP, dem Vollnddicrer Ι· Λ und dem Zehntasienfeld. Der Stcuertcil besteht ai^ dei Programmierungsvorrichlung AM, dem Adressenlählwerk/fD, der Flip-Flop-Schal'.crstufc CD, dein Zeittaktgeber Gl' und dem TaktgeberimpulsgeneratnrG7'. Die Stromversorgung beider Apparaicteilc ist mit .SV bezeichne!.
Die in dem Ausführungsbeispiel dargestellte Maschine ist gedacht. Operanden zu verarbeiten, die durch binarverM-biusselte Dezimal/ahlen gebildet wcrden.
Die Hauptreuister COX und COi' bestehen aus ebcncn Magneikeinmairixaportiiuingen, die man üblicherweise als Speicliernvumlp'ingen in großen elektronischen datenveraibeitendcn Maschinen henutz;, und dienen dem /'.'eck, den Multiplikanden fezw. den Dividenden und den Multiplikator bzw. ilen Divisor und das Kesultat der Rechenoperation -jo Iu '-neichern und haben eine maximale Kapazität von If) dermalen /Lille! !!stellen in binarer Vcrschlüssclung. Mit dem einen Register COX ist die Wiedergabevorrichtung Λ7> gekoppelt, so daß der Inhalt der Speicheranordnimg ablesbar ist. :j-
Die Puff rregister X und v sind den Registern COX und COY zugeordnet, und jedes dieser Pufferremstcr X, Y besteht aus vier Flip-Flop-Stufen, so daß ein solche"; Pulferrc^ister Ci11C Ziffernstclle einer binärverschlüssc'iier! De/smal/ah! venirbeitcn kann .,,, Die genannten Flip F'.ops 'liencn dem Zweck, für den Inhalt der Speicheranordnung bein-, Auslesen aius den Hauptrcgisiern C(XV und CY.) V al· vorüber- |.ehende Speichermittr1 zu dienen..
Die Addier- bzw. Subfalr ■.; stufe IA addiert bzw. suhtrahicrt binare Zahlende; ic und wird duich e'üT-VMl-Addicrstufc bzw. Voll-Suhtrahiersiul·: gebildet und hat drei verschiedene Eingangsleuungen. darunter eine Übcrtragsleming von "der vorhergehenden Stufe. Dementsprechend ist eine Ubertragspeicherstufe vorgesehen und eine Dezimalberichtigungsstufe für das Resultat. Im Falle tier Subtraktionen handelt es sich um negative Überträge (geborgte Überträge). Das PulTcrregistcr Λ7.) dient dem Zweck, eine zeitliehe Speicherung des Inhaltes des Hauptregisters für die Zwecke der Wiedergabe zu bewirken und liefert das dezimale Ausgangssteujisignal für die gasgefüllten Glimmlampen oder ähnliche Vorrichhingen, welche die direkte Ablesung des erhaltenen Rechenresiiltats ermöglichen. Dementsprechend enthält die PufTerstufe A7) vier Flip-Flops und hat eine Speicherkapazität eine: dezimalen Ziiiernstelle in binärverschlüsselter Form. Das Dezimalpunklregi-Ster AT dient dem Zweck, die Lage des Dezimalpunktes eines Operanden oder eines Resultats in numerischer Weise zu speichern und anzugeben, und besteht daher aus drei Flip-Flops.
Auf dem Tastenfeld sind Tasten zum Fingcben der Operanden und Funklionslitslen und Löschtasten angeordnet, und diese beiden letztgenannten Tasten sollen als Funktionstasien bezeichnet werden.
Die Programmierungsvorrichtung AM ist vom Diodenmatrixtyp und liefert die für die verschiedenen RecheuschriUe erforderlichen KIcinstbcfehle. Ein solcher Kleinstbefehl wird der Eingangsseite logischer Schaltstufen zugeführt, die zwischen den verschieb linien Stufen der Rechenmaschine vorgesehen sind, um den Fluß der numerischen Informationen zu steuern. Wenn die Diodenmatrix mit einer Mehrzahl Eingangsadrcssen aufweisenden Leitungen, beispielsweise für Mulitplikation, ausgebildet wird und eine dieser Leitungen ausgewählt wird, so findet eine Erregung der mit der ausgewählten Leitung durch die Diode gekoppelten Ausgangsleitung statt, und es ergibt sich eine Mehrzahl Kleinstbefehle, die wiederum die Bewegung der Information in den verschiedensten Maschinenteilen steuern. Das Adressenzählwerk AD bewirkt die nacheinander erfolgende Auswahl einer bestimmten Programmadrcssenleitung gemäß dem Fortschreiten des Rccheiivorganges. Die Flip-Flops CD sind Vorrichtungen, die die Kleinstbcfchle für die in Frage kommenden Programmadressenleitungen entsprechend der getroffenen Auswahl und nach Maßgabe der im Laufe des Rechenvorganges festgestellten Resultatwcrte liefern und dadurch eine bedeutsame Verbesserung der Rechenmaschine darstellen. In dem Steuerungsleil der Rechenmaschine sind weite-e Flip-Flops als Detektormiltel für den jeweils herrschenden Zustand vorgesehen
Der ZeiUaktccbergencrator (T liefert Taklgebcrimpulse, die /ur Synchronisierung der verschiedenen Vorgänge in der Reihenmaschine dienen. Der Taktge-ber(i7 liefert Signale, welche die Bit -Zeiten angeben, sowie Zillcrnzcitsignale und Auslesesignale und Eingabcsignale, die sich von ilen obengenannten Zcitlaktgebersignalcn in an sich bekannter Weise unterscheiden.
Fig. 1 zeigt nicht den vollständigen Fluß der Informalionsüberlragungswegc, sondern nur denjenigen. der mit den Haupltcilcn der Reclienmaschine zusammenhängt.
Fs ist hervorzuheben, daß die dargestellte Rechcnmaschine nur so ausgebildet sein muß. daß sie die Bedingungen uir Addition und Subtraktion erfüllt und daß keine Lxtravorriclitungcn zum Zählen, zur Komplementbildung und Detektorvorrichtungen für die Multiplikation bzw. Division vorgesehen sind.
Das Multiplikationsschema ist in F i g. 2 dargestellt. Die Multiplikation wird durch Addition des Multiplikators in solcher Häufigkeit durchgeführt, wie es dem absoluten Wert des Multiplikanden entspricht; die Vollendung der Multiplikation im Wege der wiederholten Addition des Multiplikators wird festgestellt in Abhängigkeit des Steuerungszählwertes, der sich an der nächstniedrigeren Ziffernstelle unterhalb der niedrigsten ZifternsteUe des Multiplikators befindet. Dies bedeutet, daß der ZifTernstcllenver-Schiebevorgang zunächst in dem Register zu erfolgen hat, in dem der Multiplikator gespeichert wurde, und daß dann die Ziffer »1" in die Ziffemstelle eingegeben wird, die neben der niedrigsten Ziffernstelle des Multiplikators liegt, jedesmal wenn ein VerschiebeVorgang erfolgt, was so lange stattfindet, bis der Multiplikator die höchste ZifTernstelle des Registers erreicht hat, was begleitet ist von der Eingabe eines Stcuerungszähhvertes, der der Anzahl Verschiebe-
409 618/276
vorgänge entspricht bzw. verwandt ist der Anzahl ZilTernstellcn des Multiplikators in bezug auf die Ziffernslcllc, die zu der niedrigsten Ziffernstelle des Multiplikators die nächslniedrigere ZilTernstelle ist. Der Verschiebevorgang bildet eine Nach-links-Bcwegting der ZilTernstellen der bctreü'enderi Variablen. Nachdem die Verschiebung der höchsten ZiiTcrnstcllen des Multiplikators durchgeführt ist, beginnt man mit einem fortlaufenden Additionsvorgang, bis die höchste ZilTernstelle in bezug auf Addition erreicht ist. in solcher Weise, daß die Addition des !Multiplikators so oft durchgeführt ist, wie es die ■iedrigstc ZilTernstelle des Multiplikanden erfordert, feei jeder Addition wird die Zahl »I« von der genannten ZilTernstelle des Multiplikanden abgezogen, bis man den Wert »0« erreicht hat, und dann erfolgt eine Verschiebung zu der nächsthöheren Ziffernstelie tür die Zwecke der Durchführung nochmaliger wiederholter Addition. Auf diese Weise wird im Verlaufe der Rechnung der Zahlenwcrt ~ 1« von dem Steuerungszahlcnwert jedesmal abgezogen, wenn ein Verschieben für eine neue Addition in der nächsthöheren ZilTernstelle erfolgt, und eine Addition des Multiplikators wird wiederholt, bis der Steucrungs- «ählwert auf den Wert »1« reduziert ist, was das Ende der Multiplikation angibt.
Das für die Beendigung der Multiplikation erforderliche Programm gemäß F i g. 2 sieht insgesamt Vierzehn Schritte vor. Abgesehen von diesen Schritten können noch weitere Operationsschritte vorgesehen sein, um die Steuerung v.cr Wiedergabe des Dczimalpunkles zu bewirken. In F 1 g. 2 bedeutet Y 16 den Wert der sechzehnten Ziflernstelle des Hauptregisters COK, und zur Vereinfachung ist in der Figur davon Abstand genommen, die beiden ersten Buchstaben i>CO'< mit aufzuführen.
Nachfolgend werden die einzelnen Schritte des MultiplikationsVorganges wiedergegeben.
1. Einlesen
Zu Beginn des Reehenvorgangcs werden die Zahlentasten auf dem Zahlenfeld eingetastet, damit tier Multiplikand A in die Rechenmaschine von außen eingeführt wird. Der eingetastete Multiplikand wird dann in an sich bekannter Weise in das Register .V eingeführt. Der Multiplikator B wird dann in gleicher Weise eingetastet und in dasselbe Register A' eingegeben.
2. Funktionsanweisung
Nachder.i der Multiplikand A in das Register Y «singclcsen wurde, wird die Funktionstaslc für Multiilikation gedrückt und damit der Maschine tier cfehl gegeben, die Operationsschritte für Multiplikation auszuwählen. Das Eindrücken dieser Funkiionstasie bewirkt, daß sämtliche Flip-Flops der Steueranordnung das Proeramm annehmen, das für die Durchführung der Rechenoperation erforderlich fet. wobei gleichzeitig der Multiplikand A. der sich in dem Register Λ' befindet, in das Register Y übergeführt wird.
(Multiplikator), gefolgt von der Rückkehr des Multiplikanden/i in das Register X für die Zwecke der Wiederspeichcrung.
4. Einksverschiebung Yn, I aufstelle Kl
Bei diesem Schritt erfolgt in einem der Register, in dem der Multiplikator B gespeichert ist, eine Verschiebung nach links. In diesem Zeitpunkt 1 macht der Verschiebevorgang die niedrigste Ziflernstelle KI zu »0«, und es wird in diese Stelle eine »1« addiert, so daß also in der der niedrigsten ZilTernstelle des Multiplikators B benachbarten niedrigeren ZifTernMc'ilc eine »1« erscheint.
5. Yn nach links, K,,,,-* K11.,
In diesem Schritt erfolgt eine Verschiebung nach links wie in dem vorhergehenden Schritt, und es wird kontinuierlich eine »1« bei jedem Verschiebeschritt in der der niedrigsten ZifTcrnstelle des Multiplikators/i benachbarten niedrigeren ZilTeinslelle addiert. Es wird also der Steuerungszählwert der ZilTernstelle. der der niedrigsten ZifTernstcllc des Operanden benachbart ist, bei jedem Verschieben-'»ang in die nächsthöhere Ziflernstelle des Registers verschoben Dabei bedeutet 1. die Zillernstelle, in .ler sich nei Steueru;;gszähl\vcrt befindet.
45
60
?. Rciiislerwechsel
Das Eindrücken der Resultattasle veranlaßt den Fintritt des Rechenvorganges in die arithmetische Routine und die Auswechslung der gespeicherten Werte A (Multiplikand) und B "(Multiplikator) zwischen den beiden Registern "K (Multiplikand) und X
65
6. K 16-AO?
In diesem Schritt wird die Feststellung getr ob der Ziffernwcrt der höchsten Ziffernstelie des Registers »0« ist, nämlich die Feststellung, < die höchste Ziffernstelie des Registers K von höchsten ZilTernstelle des Multiplikators B eirgei'. men wird. Sollte die Prüfung ergeben, daß ZilTernstelle nicht von »0« verschieden ist, se :■:,; ein neuer Verschiebevorgang nach links; wcik doch gefunden wird, daß der Inhalt dieser /.!!: -stelle von »0« verschieden ist, so wird d-.τ Schiebevorgang beendet mit dem Ergebnis. Λ·· Steuemngszäh'wert der Anzahl der nach link : ten Verschiebevorgänge entspricht und duu: Wert der ZifTcrnstelle λ wiedergegeben wird.
T. Xi -,A-O?
Zuvor betrafen die Verschiebevorgänge na< ■: ' nur den Multiplikator, und der Multiplikand . 1 ' gespeichert in der unteren Hälfte des RegKic·· Aus diesem Grunde wird nunmehr festgestellt. ^' niedrigste ZifTcrnstelle des Multiplikanden A »0« ist, woraus sich ein Anzeichen für die N»!" digkeit der Wiederholung der Addition ergibt.
S. Xn ■■■ GYn ■■. T2-^Xn: K;i — K/;
Bei diesem Schritt beginnt die wiederholte Λ-:>: tion für einen oberen Teil Xn des Register·* X sprechend sämtlichen ZilTernstellcn K/! des Niui'; i kators B unter gleichzeitiger Subtraktion einer ·! von dem Multiplikanden auf das Auftreten eines /...; signals T., bei jeder Addition. Der so erhaltene W-wird dann dem Register Y wieder zugeführt. Ls zu beachten, daß hier die .Addition am uni-ivi En·, erst nach Einstellung des Flip-Flops G entspreche)-dem Ziffernwert an der ZilTernstelle -v des ersten A lesevorgangcs erfolgt, weil durch die Addition 1! Steuerungszählwert an der nächstniedrigeren Zifler stelle neben dem Multiplikator B nicht beeinllu werden soll, und daß die Additionen so lange durc
geführt werden sollen, bis die ZilTernstelle X1 auf den Wert »0« gebracht ist.
9. Xn nach rechts
Wurde der ZahUnwert »0« an der ZiiTernstelk X X in dem vorausgehenden Schritt erreicht, so gibt die: an, daß die Durchführung einer so großen Anzahl Additionen erfolgt ist, wie es dem ZÜTernwert der niedrigsten Ziirernstelle des Multiplikanden /I einspricht, und es erfolgt nunmehr eine Verschiebung des Resultats nach rechts in die nächste hohe Ziticrnilelle für eine Wiederholung des Additionsvorgangs dieser ZifTernstellc.
Mi. Yλ (Y λ /*-()· Y^i I)-Vx
In diesem Schritt bewirkt die erfolgte Verschiebung in die nächste Ziffernstelle zwecks weiterer Wiederholter Additionen eine Subtraktion einer »1
von dem Stcuerungszählwert in der ZilTernstelle \, Weil Υ\φ() ist. Dabei ist W/- 1. *'-<' ja m des' Stelle λ der ZifTernwert größer als ,>2« ist. Nachdem in dieser Weise die Subtraktion erfolgt ist, wird der Sicuerungszählwcrl wieder an seine Ausgangsstufe in dem Register Y zurückbefördert.
I 1. Y % 17
In diesem Schritt wird die Entscheidung getrolTcn. ob eine Beendigung der wiederholten Additionen zu erfolgen hat, was davon abhängt, ob eine »1<-· an de; ZifTernslelle ι des Registers K für ilen Steuerungszählwert aufgetreten ist. Wenn tier Sleuerungszähiwert nicht "i ist, sondern größer als »2« ist, so muli eine Verschiebung in die nächsthöhere Ziltemstelle erfolgen für weiteie durchzuführende Additionen, und es wird dann wiederum die Entscheidung getroffen, ob Λ' 1 / 0 ist.
Dieser Schritt gestattet e>, ohne ein zusätzliches Zählwerk auszukommen und die Arbeitszeit zu verringern.
12. Yn nach rechts
In diesem Sehritt wird die Additionswiederholung versuchsweise abgebrochen, nachdem in dem vorhergehenden Schritt das Kriterium für den Additionsabbruch, nämlich Y\ = 1. erhalten wurde, und es beginnt nunmehr eine Verschiebung des Inhaltes des Registers Y nach rechts, bi.; der Multiplikator bis zur allerniedrigsten Ziffernstelle des Registers Y verschoben ist.
13. Y I -i 0 7
Dieser Schritt bildet die Grundlage dur Fntscheidunii, daU die niedrigste Zificriwellc des Registers Y von dem Multiplikator Π erreicht ist und daß nunrnehr der Rechenvorgang für da1- Register und auch für die Additionsstufe als beendet anzusehen '".. Nach diesem Schritt wird die Resultatanzeige der Rechenoperation vorgenommen, so daß das Resultat von der rechnenden Person abgelesen werden kann.
In diesem Schritt hat der Steuerungszühlwert in der niedrigsten ZifTernstelle des Registers den Wert j 1 . und dieser Wert muß durch eine weitere Verschiebung nach rechts gelöscht werden.
14. Funktionslöschung
in diesem Schritt findet die Löschung der Rechenmaschine statt, verbunden mit der Löschung der Multiplikationsroutine, und die verschiedenen Tasten des Tastenfeldes werden in ihren Ruhezustand gebracht.
Ein Rechenbeispiel ist in 1 i g. 4 dargestellt, um das Verständnis der Arbeitsweise der Rechen-S maschine zu erleichtern.
Für die ordnungsgemäße Durchführung des im Rahmen der Erfindung zur Anwendung gelangenden Multiplikationsvetlahrens entsprechend den zuvor erörterten arithmetischen Rechenschritten ist eine
ίο zuverlässige Steuerung der betroffenen Apparaturgruppen im Rahmen der zur Anwendung gelangenden Klcinstbefehlc und logischen Entscheidungen und Zeitsteuerung erforderlich.
In Fig. 3 sind schematisch die verschiedenen Vcrbindungen angegeben, die bei den einzelnen Rechen schritten erfolgen, wobei mit cx und c\ die Torstufen zur Steuerung der Treiberverstärker für die Zwecke des Einlesens und Auslesens in die Register COX und COY bezeichnet sind. X in und Vm bezeichnen
so Torstufen am Eingang der PulTerregistcr X und Y, und α, und a., bezeichnen die Torstufen, die an den beiden Eingangsklemincn der Addierstufe FA vorgesehen sind, und Al bezeichnet weitere Torstufen der Kernregister COX und COY.
Die Eingabeoperationen des Multiplikanden A und des Multiplikators/? in die Register COY und COX erfolgt in üblicher Weise.
Der Multiplikationsvorgang spielt sich wie folgt ab: Das überwechseln der Information zwischen den Registern COX und COY erfolgt durch die in Fig. 3A angegebene Verbindungsweise. Es sind die Register COX und COY miteinander verbunden unter Zwischenschaltung der Pufferrcgister X und Y. Der Vorgang erfolgt derart, daß dei Multiplikator Ii nach Auslesen aus dem Register COX in das PufTerregister Y durch die 'Vorstufe Yin zur vorübergehenden Speicherung übergeführt wird und daß der Multiplikator, sowie die nachfolgende Eingabeperiode beginnt, in das Register COY eingeschrieben wird.
4" Andererseits wird dei Multiplikand A nach Entnahme aus dem Register COY in ein weiteres Register COX über die .-Vidierstufe FA und die Torstufe Xin geleitel.
Fine Linksverschiebung im Register COY und die Addition einer »1 '< in der niedrigsten ZifTernstellc erfolgt durch die in Fig. 3 B angegebene Verbindungsweise. Es wird die aus dem Register COY entnommene Information vorübergehend in den Pufferspeichern ,Y und Y durch die Addierstufc FA gcspeichert und Janach in den nächsthöheren ZifTernstelier des Registers COY unter Steuerung durch das für die Verschiebung maßgebliche Zeitsignal eingeschrieben Nach dem Einschreiben erfolgt die Verschiebuni nach links. Parallel zu diesem Prozeß wird eine ·1< in die niedrigste ZifTernstelle des Registers COY au das Signal zum Ein chreiben eines Signals in die nied rigste ZifTernstelle eingegeben.
Der Vorgang der Linksveischtebunn mit der Ein stellung des der Anzahl der Verschiebevorgänge ent
6c '-prechenden Zahlenwertes in die ZifTernstelle λ un< die Feststellung, ob die höchste ZifTernstelle des MuI tiplikators ß ihren Endplatz erreicht hat. erfoigt mi eier in F ic. 3 C angegebenen Verbindungsweise. E wird die Information von der niedrigsten ZifTcrnstell des Registers COY entnommen, und die Additio einer »\« erfolgt in der zuerst entnommenen Ziffern stelle der an der ZifTernstelle λ befindlichen Zahl i der Addierstufe FA. Das hierbei erhaltene Results
ivird vorübergehend in den Pufferspeichern A' und >' gespeichert gehalten, bis dor Eingabezyklus der Zahl :n die Zilfernslellc λ 1 erfolgt, damit bei Beginn tlieses Zyklus der Einschreibevorgang erfolgen kann. Nachdem die ordnungsgemäße Eingabe der Zahl erfolgt ist, wird das Eingangstor σ., der Addierstufe geschlossen und daher der Additu;nsv<irgang unterbrochen, und es erfolgt die Linksverschiebung, die verbonden ist mit einer Zirkulation durch die Putlerregister X und >'. Zu der Zeit, zu der das Auslesen ίο des Spcichcrinhaltes der höchsten ZilTcrnstcllc COV 16 des Registers erfolgt, wird die Torstufe Hin geölinet, damit eine Entscheidung über den Zahlenwert »0« in der höchsten Zilfernstelle durchgeführt werden kann.
Die Durchführung der Entscheidung hinsichtlich des Zahlcnwcrtes >()-< in der niedrigsten Ziflernstelle des Registers C'OX zur Wiederholung einer Addition verwendet die in F i g. 3 D dargestellte Verbindungsweise. Das Auslesen der Zahl in der niedrigsten »o Zillernstelle des Registers COX erfolgt auf das Zeitsignal, das maßgeblich für diesen Auslescvorgang ist. Es folgt dann die Öffnung der Torstufe ////1 wahrend der nächstfolgenden Einganeperiode, und so wird eine Entscheidung hinsichtlich des Vorliegcns einer »5 »()'< des entnon ionen Zahlenwertes durch den Flip-Flop // eingeleitet. Die ausgelesen^ Information wird wiederum vorübergehend in dem Pullerregistcr X gespeichert und dann an der ursprünglich'·!! ZilTernstelle des Registers COY durch die Addicrstule IA wieder eingeschrieben. Wie bereits zuvor gesagt wurde, ist der Γ-lip-Flop // für den Additionsvorgang \ orgeschen.
Fig. 3E zeigt die wiederholte Addition unter Benutzung der zuvor beschriebenen Entscheidung. Es wiid der Speicherinhalt beider Register CY)Af und COY ausgelesen, wobei mit der niedrigsten ZifTcrnslelle begonnen wird. Zu Beginn des Auslcxevorganges durchläuft die dem Register COA" entnommene Zahl die Addierstufe IA, ohne dall eine Andc- *o rung der Zahl erfolgt, weil dem Register COY keine Zahl entnommen wird, die größer als »I« ist. Wenn jedoch eine Zahl größer als »1« in der ZilTemstellc \ das erstemal auftritt, so wird der Flip-Flop G entsprechend eingestellt. Die Eingangstorstufc«., der Addierstufe wird geschlossen zur Unterdrückung eines Additionsvorganges nur, wenn der Flip-Flop ein entsprechendes Ausgangssignal liefert. Später wird die Sperrung der Eingangstorsiufc aufgehoben, damit der Additionsvorgang beginnen kann. Die Additionsstufc VA arbeitet in rein binärem Prinzip, so daß das Additionsresultat zunächst in dem 1 aficrspeicher X gespeichert wird und eine Entscheidung get rollen wird, ob durch den Dczimalübcrtrags-Füp-Flop Nc cine Änderung des Rcsultalwertcs erforderlieh ist. Nach Maßgabe dieser Entscheidung wird in dem Addierer/·'/! während der Eingabcpcriodc eine Berichtigung des Resultats durch Ci bewirkt. Das Additionsresultal wird nach dieser Berichtigung sofort in das Register COX eingeschrieben.
Es ist zu beachten, daß der Additionsvorgang durch die Addition des Signals I (1111) erfolgt, wenn die unterste Zilfernstcllc des Registers COX ausgelesen wird, es erfolgt jetloch die Subtraktion von nur » I" von dem Inhalt ties Registers ('OX unter Vernachlässigung des t'Ibertrags des Additionsrcssiltiil'i.
Naclulem Addilionswiedcrholungcn in einer bestimmten Zilfernslelle durchgeführt wurden, erfolgt die Verschiebung nach rechts zu weiteren Additionswiederholungen in der nächsten hohen ZHTcmstellc durch die Verbindungsweisc gemäß Fig. 3F. Der Informationslauf für die Verschiebung nach rechts ist derselbe wie der ;ur die Verschiebung nach links. Es liegt jedoch insofern ein Unterschied vor, als das Auslesen des Speicherinhallcs aus dem Register COX erfolgt, wobei mit der höchstenZifTernstellc begonnen wird."im Unterschied zum Auslesen bei der Verschiebung nach links. Die abgelesene Zahl der höchsten Ziiiernstelle dei Register (Y)A' und CY)K wird vorübergehend in beiden Registern X und Y gespeichert gelullten, bis die Periode zum Einschreiben in die nachslniedrigeie Ziirernstclle beginnt, worauf der Verschiebungsvorgang nach rechts durchgeführt wird. F.s erfolgt dann eine Subtraktion einer »1« von der Zahl der Ziiiernstelle > bei jedem Verschiebevorgang einer Additioiiswiedeiholiing, bei der eine Verschiebung zu der nächsthöherer; Zilicrnstelle erfolgt, wobei eine Entscheidung durchgeführt wird, um festzustellen, ob der We.t »l« von der Zahl erreicht wurde.
Die für diesen Vorgang erforderliche Vcrbmdungsweise ist in der Fig. 3G dargestellt. Es wird das Signai Λ,,-r, /ur Durchführung der Subtraktion mn einer »1« von dem in der Ziücrnslclie \ erscheinen den Zahlenwert unmittelbar nach Entnahme aus tu..,, Register COY r-l)ildet mil dem Ergebnis, daß die nach (kr Subtraktion verbleibend.. Rcstzanl wieder in das Register COY eingeschrieben wird. Gleichzeitig mit dem Wiedereinsehrcibcn in das nenannte Register wird die Torslufe Hin geöffnet, damit liurcn den nip-Flop // i'^nrüft werden kann, ob die Zahl »1« nach der Subtraktion erreicht ist. Hat die Zahl der /ilfcrnsielle \ den Zahlcnwcrt »1« erreicht, so liefert <!ιτ entsprechende Prüfvorgang ein Signa! für die Beendigung des Multiplikationsvorganges.
In dem Vcrfahrensschrit»- Yn nach rechts. Yi -f !!'.' wird der Stcucrungszählwcrt »I« in der ZifTernstellc \ des Registers COY gelöscht.
Nachdem im vorstehender der Mulliplikationsvorgang der Rechenmaschine gemäß der Erfindung beschrieben wurde, soll nunmehr der Divisionsvorgang erörtert werden.
Bei der behandelten Ausführungsform der Erfindung erfolgt die Division im Wege der Subtraktion des Divisors von dem Dividenden in einer derartigen Anzahl, wie es dem absoluten Wert des Divisors entspricht. Ebenso wie bei der bisher behandelten Multiplik ition wird das Ende der Subtraktionswiederholungen festgestellt durch einen Steucrungszählwert in der niedrigsten ZifTernsicKe der dem Divisor benachbarten niedrigen Ziffcrnstelle.
Gegenüber dem MiilUpliivationsvorgang besteht zunächst insoweit kein Unterschied, als ein Verschiebevorgang des Divisors so lange wiederholt *.vird, bis der Divisor die höchste Zittcmstcllc des Registers erreicht hat und in der der niedrigsten Zilfernstcllc des. Divisors an der Seite niedrigerer Z.ilternstcllcn benachbarten Zilfernstelle ein Steuerniigszählweri eingeführt ist, der der Anzahl Vcrschiebcvorgängc lies Divisors nach links und demgemäß der Stellenzahl des Divisors entspricht. Es ist jedorfi zu beachten, daß die dann folgenden Operationen -,ich wesentlich gegenüber clem Multiplikalionsvor|.';ang unter scheiden.
Nach der Erzeugung des Slciieriinp/iihlweitc
wird cine Subtraktion des Divisors von dem Dividenden so oft wiederholt, bis das erstemal der Divideird kleiner als der Divisor wird, und dann werden entsprechende korrigieunde Rechenschritte durchgeführt, wenn festgestellt ist, daß die zulässige Sub- 5> traktionswiederholung überschritten ist. Nachdem die Korrektur des Resultates durchgeführt ist, wird der Dividend um eine ZüTernstelle nach links verschoben, damit wiederholte Subtraktionen in der nächstfolgenden Ziffernstelle vor sich gehen können, und gleichzeilig findet eine Subtraktion einer »1« von dem erwähnten Stcuertmgszählwert statt, bis als ein Zeichen für die Beendigung der Division dieser ZähKvcrt den Wert »1-· erreicht" hat. Die wiederholte Subtraktion einer ■>!* von dem Sleuerungszählwcrt bei jedem Verschiebevorgang im Verlauf der Subtraktionswiederholungen, bis der Steuerungszählwert auf die Zahl >:·!■·; »cbracht ist. ähnelt den Vorgängen bei der Multiplikation.
Für die Durchführung der Division sind insgesamt fünfzehn Schritte nach Art des Flußdiagramms -zemäß Fig. 5 erforderlich. Die für die vollständige Durchführung der Division erforderlichen Schritte, die im Prinzip den bei der Multiplikation zur Anwendung L;elan«"idiMi Schritten ähnlich sind, sind vor- 2s halmixmäßiu zahlreich, so daß iv- -iie speziell für die Division Hiaraktcristischc.i Schritte nachstehend erörtert werder sollen.
7'. Xn nach links
Der Dividend A und der Divisor B wurden in den Registern .Y und Y (im Zusammenhang mit F i g. 5 sind die Register COX und ( ()Y abkürzungshalber mit Λ' und Y bezeichnet, ähnlich wie es im Zusammenhang mit F i g. 2 erfolgte) gespeichert. Der Divisor />' w> >d in dem Register }' schrittweise nach links in die nächsthöheren Ziffernstellen verschonen. Nachdem der Divisor verschrien wurde, erfolgt eine Verschiebung des Inhalts des Registers X nach links, bis der Dividend A bis in die zweithöchste Ziffernsicllc verschoben wurde.
8'. Xn-GYn-T.,-* Xn, Yn -* Yn
Hier beginnt die Siibtraktionswiedcrholimg. die für sämtliche Ziffernstellen Yn ^es divisors B und den oberen Teil Xn des Inhalts des Registers Λ' durchgeführt wird, entsprechend -.amtlichen ZiiTcrnstcllcn Yn des Divisor/}. Wenn Subtraktionswiederholungen stattfinden, wird eine »1« in die niedrigste Ziffernstelk λ", des Registers X bei jeder Subtraktion durch das Zeitsignal 7'., durchgeführt. Es wird dann das so aus dem Divisor B abgeleitete Resultat in das Register K zurückgeführt.
Es ist hierbei zu beachten, daß bei der Division die Subtraktion am niedrigen Ende nur einsetzt, wenn entsprechend der Ziffer in der Ziffcrnstcllc \ des ersten Auslcsevorganges der Flip-Flop G eingestellt wurde, da bei der Division der Stciicrungszählvverl in der benachbarten niedrigeren Ziffcrnstcllc des Divisor^ B nicht betroffen ist.
<r./w^ ui
Fs wird hier eine Entscheidung getroffen, ob ein negativer Übertrag von tier nächsthöheren ZüTernstelle erfolgt und tier Dividend auf einen Wer! reduziert wurde, der kleiner al·, tier ties Divisors ist: diese Entscheidung hat eine Einstellung ties Flip-Flops H zur Folsie. Liegt kein derartiger negativer Übertrag
vor, so bedeutet dies, daß eine weitere Subtraktionswiederholung stattfinden kann, während das Vorliegen eines Herartigen Übertrags (geborgter Übertrag) zum Ausdruck bringt, daß die Subtraktionen zu v. eit geführt wurden.
10'. Xn r GYn -+- T., Xn: Yn -- Yn In diesem Schritt wird eine Korrektur tie· Resultats vorgenommen, wenn die zulässige Anzahl der Subtraktionen überschritten wurde. Wurde nämlich das Borgen eines negativen Übertrags infolge einer einmal zu oft durchgeführten Subtraktion festgestellt, so erfolgt eine Addition des Divisors in den oberen Teil der Ziffernstellen des Registers X, und zwar nur einmal, damit der Zustand wiedergeschaffen wird, der vorherrschte, bevor das zulässige Maß der Subtraktionen überschritten wurde. Diese Korrektur ist begleitet von einer gleichzeitigen Subtraktion einer >>1« von dem Resultat im unteren Teil der ZüTernstelle des Registers X, welches die Anzahl der durchgeführten Subtraktionen speichert.
IT. (K λ 1 -Xx-A))I
Dieser Schritt, der eine Prüfung der angegebenen ionischen Beziehung zum Inhalt hat, bedeutet eine Fc-Mstellung, ob die Sub'^aktionswiedcrholungen als beendet czusehcn sind.
In diesem Schritt wird eine Entscheidung durchgeführt, die auf der Feststellung beruht, ob der ' Steueriingszahhvcrt in der Ziffernsteile \ des Registers >' »1« ist und ob der Inhalt der ZüTernstelle ν in dem anderen Register X gleich »()'< ist. Wenn die Bedingungen nicht erfüllt sind, so ist die Wiederholung d;r Subtraktionen weiterzuführen.
12'. Y\ —
7· 1)-- Y \
In diesem Schritt wird die Wiederholung der Subtraktion fortgesetzt, begleitet von der Subtraktion einer »1« von dem Steuerungszähivvert, sofern die in dem vorausgehenden Schritt behandelte Bedingung nicht erfüllt war, nach Durchführung der Korrektur für die erfolgte unzulässige Subtraktion.
Die für die Durchführung dieser Schritte des Rechenverfahrens erforderlichen Verbindungen zeigt die F i g. (S.
Der Divisionsvorgang ähnelt in vieler Beziehung dem Multiplikationsvorgang, so daß in F i g. 6 nur die Verbindungsweisen dargestellt sind, welche Unterschiede- des Divisionsvorganges gegenüber dem Multiplikationsvorg;mg darstellen.
Um die Verschiebung nach links des Dividenden A nach erfolgter Verschiebung des Divisors B nach links bis zu der höchsten ZifTernstelle des Registers COY zu ermöglichen findet die in Fig. 6A dargestellte Verbindungsweise Anwendung. Die Verschiebung nach links wurde bereits im Zusammenhang mit tier Multiplikation erörtert, mit der einzigen Ausnahme, daß dabei das Register COY betroffen war. und dementsprechend ergibt sich nicht die Notwendigkeit einer nochmaligen Erörterung der Verschiebung in dem Register COX.
Die Subtraktiouswiederhohing nach Durchführuni: der Verschiebung erfolgt ai:f Grund der in Fig. Λ13 dargestellten Verbindungsweise, bei der der lnhal der beiden Register COX und COV ausgelesen wire und tier Siiblraktionsslul'e FA zugeführt wird, lit eine rein binare Subtraktion durchführt, und danacl
findet die Übertragskorrektur in eine binärverschlüsselte Dezimalzahl statt. Nach erfolgter Korrektur wird die Anzahl der wiederholten Subtraktionen in das Register COX eingeschrieben. Der Divisor B wird dann aus dem Register COY ausgelesen und wiederum in das Register COY eingeschrieben durch das PuiTerregister X.
Anschließend wird durch den Flip-Flop H eine Prüfung durchgeführt, ob das Borgen eines Übertrags erfolgt, ist bei der Subtraktionswiederholung, und es wird eine »1« von dem Steucrungszählwert subtrahiert jedesmal, wenn ein Verschiebevorgang stattfindet. Das Resultat wird dann geprüft, ob eine Verminderung des Steuerungszählwertes auf den Wer* »1« stattgefunden hat, und zwar durch db in F i g. 6 C dargestellte Verbindungsweise.
Das Auslesen des Tnhalts des Registers COY hat
die erste Folgeerscheinung, daß der Steuerungszi iwert erscheint, und nur nach Maßgabe dessen π b-vvirkt die Subtraktionsstufe FA die Subtraktiv; einer »I« Gleichzeitig wird die Entscheidung durch den Flip-Flop H getrofTen, ob der Steuerungszahiwert »1« erreicht hat; daraus wird die Entscheidung Abgeleitet, ob die Subtraktionswiederholungen als beendet angesehen werden können.
Für die erfindungsgemäße Rechenmaschine <s>. maßgeblich, daß in der Ziffernstcllc des Verschioh-jreeisters, welche an der Seite niedrigerer ZihVnstellen der niedrigsten Ziffernstcllc des Operandbenachbart ist, ein Steuerungszählwert eingegeber, wird der die Gesamtzahl der Verschiebcvorgan;.;.; wiedcraibt, und daß durch diesen Zählwert verschiedene in der Maschine durchzuführende Operatie-en gesteuert werden.
Hierzu 4 Blatt Zeichnungen

Claims (3)

J 774 Palentansprüche:
1. Verfahren zur Multiplikation und zur Division unter Anwendung einer elektronischen Rechenmaschine geringer Größe mit einem erster· Verschieberegister und einem zweiten Verschieberegister und diesen Registern zugeordneten Putlerregistern und einem Volladdierer zur serienmäßigen Verarbeitung von Operandenziffemstellen, insbesondere zur Verarbeitung binärkodierter Dczimalzahlen, und mit Mitteln zur Eingabe des Multiplikanden bzw. des Dividenden in das erste Verschieberegister und des Multiplikators bzw. des Divisors in das zweite ίο Verschieberegister, dadurch gekennzeichnet, daß für Multiplikation der Multiplikator in dem zweiten Verschieberegister (COY) schrittweise von der niedrigsten Ziffernstelle zu der höchsten ZiiTernstelle verschoben wird und ein zo Steuerzähhvert, der die Anzahl Verschiebungsschritte charakterisiert, in der der niedrigsten ZiiTernstelle des Multiplikators benachbarten ZifFernstelle eingeschrieben wird und so mit verschoben wird, daß er bei der Verschiebung des Multiplikators zu höheren Ziffemstellen demselben folgt und hierbei bei jedem Verschiebeschritt um »Eins« vergrößert wird, und Partialprodukte durch sukzessives Addieren des im zweiten Verschieberegister (COY) gespeicherten Multiplikators in den höchsten Ziffernslellen d.s ersten Verschieberegisters (COX) gebildet werden und dabei der von der niedrigsten Stelle her in das erste Verschieberegister (COX) eingegebene Multiplikand in seiner niedrigsten ZiiTernstelle bei jedem Additionsschrilt um »Eins« verringert wird und, wenn diese Subtraktion den Wert Null erreicht, das in den höchsten Ziffernstellen des ersten Verschieberegisters (COA') gespeicherte Partialprodukt und der in der niedrigsten ZilTcrnstelle desselben gespeicherte Multiplikand eine ZiiTernstelle in Richtung auf niedrigere ZifTernstellen (nac!". rechts) verschoben werden und dabei dor Steucrzähhvert neh;n dvni Multiplikator in dem /weiten Verschieberegister (COY) um eine »Eins« vermindert wird und weitere Multiplikatoradditionen und Multiplikandenverringerungen durchgeführt werden, bis dieser in seiner höchsten Stelle auf Null abgebaut ist, und dadurch angezeigt wird, daß die Summe sämtlicher Partiaiprodukte und damit das Endresultat gebildet ist, und das Endresultat schrittweise in dem ersten Verschieberegister (COX) um eine durch den in dem zweiten Verschieberegister (COY) gespeicherten verringerten Zählwert angezei^.c Stellenzahl in die niedrigste Ziffernstelle gerückt wird, und daß für Division der Divisor in dem zweiten Verschieberegister (COY) schrittweise von der niedrigsten ZifTernstelle zu der höchsten ZifTernstellc verschoben wird und ein Stcucrzählweit, der die Anzahl Verschiebeschritte Charakterisiert, in der der niedrigsten ZifTernstelle des Divisors benachbarten ZifTcrnstelle cinge-•chrieben wird und so mitverschoben wird, daß *r bei der Verschiebung des Divisors zu höheren Ziffemstellen demselben folgt und hierbei bei Jedem Verschiebeschiitt um «Eins« vergrößert ♦ ird. und der in das erste Vcrschiebcrcgister (COX) eingegebene Dividend schrittweise zu höheren ZilTernstellen (nach links) verschoben wird und bei jedem Verschiebeschritt eine »Eins« von dem in dem zweiten Verschieberegister(CCK) gespeicherten Steuerzähhvert subtrahiert wird und sukzessive Subtraktionen des Divisors von dem Dividenden bzw. von dem bereits verringerten Dividenden durchgeführt werden, bis das Auftreten eines geborgten Übertrages das Überschreiten der für die betreffende ZifTernstelle zulässigen Subtraktionsschritte anzeigt, und bei jeder Subtraktion in der niedrigsten Ziffernstelle des ersten Verschieberegisters (COX) eine »Eins« addiert wird und bei einer korrigierenden Addition nach dem Auftreten eines geborgten Übertrages zur Einleitung eines neuen Subtraktionszyklus die in der lernen ZifTernstelle des ersten Verschieberegisters (COX) gespeicherte Zahl um eine »Eins« vermindert wird und der verbleibende Dividend und der in den niedrigsten Ziffemstellen des ersten Verschieberegisters (C(XY) gebildete Zählwert einen Schritt in Richtung höherer Ziffemstellen (nach links) verschoben werden und gleichzeitig der Steuerzähhvert in dem zweiten Verschieberegister (COY) um eine »Eins« verringert wird und ein für den Beginn des letzten Subtr.iktionszyklus maßgebliches Signal erzeugt wird, wenn der Steuerzähhvert in dem zweiten Verschieberegister (COY) wieder den Wert »Eins« erreicht hat.
2. Schaltungsanordnung für eine elektronische Rechenmaschine geringer Größe, die ein erstes Verschieberegister und ein zweites Verschieberegister und diesen Registern zugeordnete Pufferregister und eiiiCn Volladdierer zur serienmäßigen Verarbeitung von Operandenziffernstellen, insbesondere zur Verarbeitung von binärkodierten Dezimalzahlen, und Mittel zur Eingabe des Multiplikanden bzw. des Dividenden in das ernte Verschieberegister und des Multiplikators bzw. des Divisors in das zweite Verschieberegistcr und eine Programmsteuervorrichtung zur Durchführung einer Mehrzahl wählbarer fester Programme mit derselben zugeordneten Torstufen aufweist zur Durchführung des Verfahrens zur Multiplikation und zur Division nach Anspruch 1, dadurch gekennzeichnet, daß das erste, eine äußere Dateneingabe (KB) aufweisende Verschieberegister (COX) über eine erste Eingangstorstufe (a{) mit dem Binärvolladdierer (FA) (Fig. 1, 3B) und der Ausgang des ersten Verschieberegisters (COX) über eine Eingangstorstufe (Yin) mit dem Pufferegister (Y) des zweiten Verschieberegisters (COY) verbunden ist (F i g. 3 A), daß der Ausgang des zweiten Verschieberegisters (COY) wahlweise über die gleiche Eingangstorstufe (α,) oder über eine zweite Emgangstorstufe (a.,) mit dem Yolladdierer (FA) (Fig. 3B, 3E) und der Ausgang des Volladdierers (Γ i) über eine Eingangstorstufe (Xin) mit dem PufTerregister (X) des ernten Verschieberegislcrs ((OX) verbunden ist (Fig. 3A), dai.5 der Ausgang des PulTerrcgisteis (X) des ersten Verschiebcregistcr.N (Ci)X) wahlweise über eine F.ingangsstufe (Al) mit dem ersten Verschieberegister I1C OA') oder üY.zi eine F.mgangslorstufc (Yin) mit dem Pufferregister (V) des zweiten Verschieberegisters (COY) (F^.
3 A, 3B) und
über die erste Eingangstorstufc («,) mit dem Volladdierer (FA) verbunden ist (F in. 3D) und der Ausgang des Pufferregisters (Y) des zweiten Verschieberegisters (CGY) über die Eingangsiorstufe (Al) wahlweise mit dem Eingans· des ersten Verschieberegisters (COX) und~ dem zweiten Verschieberegister (COK) verbunden ist (F is. 3C).
DE19681774673 1967-08-15 1968-08-14 Verfahren und Schaltungsanordnung zur Multiplikation und Division Expired DE1774673C3 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP42052317A JPS5247291B1 (de) 1967-08-15 1967-08-15

Publications (3)

Publication Number Publication Date
DE1774673A1 DE1774673A1 (de) 1971-12-02
DE1774673B2 DE1774673B2 (de) 1973-09-27
DE1774673C3 true DE1774673C3 (de) 1974-05-02

Family

ID=12911390

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19681774673 Expired DE1774673C3 (de) 1967-08-15 1968-08-14 Verfahren und Schaltungsanordnung zur Multiplikation und Division

Country Status (6)

Country Link
JP (1) JPS5247291B1 (de)
CA (1) CA935242A (de)
DE (1) DE1774673C3 (de)
FR (1) FR1582638A (de)
GB (1) GB1243341A (de)
SE (1) SE337710B (de)

Also Published As

Publication number Publication date
DE1774673B2 (de) 1973-09-27
CA935242A (en) 1973-10-09
JPS5247291B1 (de) 1977-12-01
DE1774673A1 (de) 1971-12-02
GB1243341A (en) 1971-08-18
FR1582638A (de) 1969-10-03
SE337710B (de) 1971-08-16

Similar Documents

Publication Publication Date Title
DE1282337B (de) Programmgesteuerte elektronische Rechenanlage
DE2930441C2 (de) Anzeigeeinrichtung zur wahlweisen dynamischen oder statischen Anzeige
DE1474092A1 (de) Rechenmaschine
DE2814078A1 (de) Addierschaltung mit zeitweiliger zwischenspeicherung des uebertrags
DE2816711A1 (de) Divisionseinrichtung mit uebertrags- rettungsaddierwerk und nicht ausfuehrender vorausschau
DE1115488B (de) Datenverarbeitungssystem
DE2014325A1 (de) Elektronische Rechenmaschine
DE1114050B (de) Elektronischer Gleitkomma-Rechner
DE1524114B2 (de) Adreßrecheneinrichtung fur eine Datenverarbeitungsanlage
DE2039228A1 (de) Verfahren und Vorrichtung zum Konvertieren und Stellenwert-Verschieben von Zahlsignalen unterschiedlicher Codes in einer Datenverarbeitungsanlage
DE1774673C3 (de) Verfahren und Schaltungsanordnung zur Multiplikation und Division
DE1774675A1 (de) Elektronisches Rechengeraet
DE1549395C3 (de) Elektronischer Kleinrechner, insbesondere Tischrechner
DE1222290B (de) Binaere Recheneinrichtung zur Bildung und Akkumulation von Produkten
DE1184122B (de) Addiervorrichtung
DE2523755A1 (de) Divisionsverarbeitungssystem mit 2n-facher genauigkeit
DE2203143B2 (de) Rechenanordnung zum Dividieren von Dezimalzahlen
DE1549461C3 (de)
DE1499227B2 (de) Schaltungsanordnung für arithmetische und logische Grundoperationen
DE1303692C2 (de) Binaerrechner
DE1499236A1 (de) Datenauswerter
DE1549485A1 (de) Anordnung zur Division binaerer Operanden
DE1524146C (de) Divisionseinrichtung
DE1524253A1 (de) Multiplikationsrechenwerk
DE1302516C2 (de) Verfahren und einrichtung fuer ein serie-serie-rechenwerk

Legal Events

Date Code Title Description
C3 Grant after two publication steps (3rd publication)
E77 Valid patent as to the heymanns-index 1977
8328 Change in the person/name/address of the agent

Free format text: KADOR, U., DIPL.-CHEM. DR.RER.NAT. KLUNKER, H., DIPL.-ING. DR.RER.NAT. SCHMITT-NILSON, G., DIPL.-ING. DR.-ING. HIRSCH, P., DIPL.-ING., PAT.-ANW., 8000 MUENCHEN

8328 Change in the person/name/address of the agent

Free format text: KLUNKER, H., DIPL.-ING. DR.RER.NAT. SCHMITT-NILSON, G., DIPL.-ING. DR.-ING. HIRSCH, P., DIPL.-ING., PAT.-ANW., 8000 MUENCHEN