DE1223177B - Elektronischer Digitalrechner mit Schaltung fuer die Errechnung der Quadratwurzel aus einer Binaerzahl - Google Patents

Elektronischer Digitalrechner mit Schaltung fuer die Errechnung der Quadratwurzel aus einer Binaerzahl

Info

Publication number
DE1223177B
DE1223177B DES91914A DES0091914A DE1223177B DE 1223177 B DE1223177 B DE 1223177B DE S91914 A DES91914 A DE S91914A DE S0091914 A DES0091914 A DE S0091914A DE 1223177 B DE1223177 B DE 1223177B
Authority
DE
Germany
Prior art keywords
register
signal
command
square root
positive
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
Application number
DES91914A
Other languages
English (en)
Inventor
William Weigler
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.)
Sperry Corp
Original Assignee
Sperry Rand 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 Sperry Rand Corp filed Critical Sperry Rand Corp
Publication of DE1223177B publication Critical patent/DE1223177B/de
Pending 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/544Methods 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 for evaluating functions by calculation
    • G06F7/552Powers or roots, e.g. Pythagorean sums
    • G06F7/5525Roots or inverse roots of single operands

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Mathematical Optimization (AREA)
  • General Engineering & Computer Science (AREA)
  • Executing Machine-Instructions (AREA)
  • Complex Calculations (AREA)

Description

BUNDESREPUBLIK DEUTSCHLAND
DEUTSCHES
PATENTAMT
AUSLEGESCHRIFT
Int. CL:
G06f
Deutsche Kl.: 42 m-14'
νΛ Oi, ft -2.2.
Nummer:
Aktenzeichen: S 91914IX c/42 m
Anmeldetag: 7. Juli 1964
Auslegetag: 18. August 1966
Die Erfindung betrifft ein elektronisches digitales Datenverarbeitungsgerät und bezieht sich insbesondere auf eine Schaltung zur Errechnung der Quadratwurzel aus einer Binärzahl.
Vorbekannte Rechner können auf das Ziehen der Quadratwurzel aus einer Binärzahl dadurch programmiert werden, daß ein Programm oder eine Folge von Befehlen zur Lösung einer Annäherungsformel ausgeführt wird. Die Schritte werden wiederholt ausgeführt, wobei die Antwort jedesmal eine bessere Annäherung an die eigentliche Wurzel darstellt. Die wiederholte Annäherung bei der Errechnung der Quadratwurzel aus einer Zahl ist im allgemeinen sehr zeitraubend. In der vorliegenden Erfindung werden Schaltungen und ein Gerät für das Ziehen der Quadratwurzel aus einer Zahl vorgesehen. An Stelle des Programmierens von mehreren getrennten Befehlen für das Ziehen der Quadratwurzel aus einer Zahl muß mit anderen Worten nur in einziger Befehl, nämlich der Quadratwurzelbefehl, ausgeführt werden, um zu dem gewünschten Ergebnis zu gelangen.
Ein Digitalrechner mit einem automatischen Befehl für das Ziehen der Quadratwurzel aus einer Zahl ist an sich bekannt. Beispielsweise wird in dem USA.-Patent 2 888 200, das am 26. Mai 1959 erteilt und dessen Anmeldung am 1. Juli 1953 unter der Überschrift »Circuitry for Performing Square Root« vorgenommen wurde, ein Verfahren zur Durchführung ernes automatischen Befehls für die Errechnung der Quadratwurzel aus einer Zahl beschrieben. Das in diesem Patent angeführte Verfahren beruht auf der bekannten Methode, nach der aufeinanderfolgende Reihen von ansteigenden ungeraden Zahlen vom Radikanden abgezogen werden, bis ein Überlauf festgestellt wird. Bei einem Überlauf, d. h. einer Änderung des Vorzeichens von demjenigen, welches der Rest vor der Subtraktion hatte, wird eine Probewurzel auf vorbestimmte Weise gebildet und so lange verschoben, bis die Subtraktion ohne Überlauf ausgeführt werden kann. Dieses Verfahren der Subtraktion, der Feststellung, der Änderung und Verschiebung wird so lange wiederholt, bis die Differenz »0« wird oder bis die vorbestimmte Zahl der Ziffern in der Antwort gegeben ist.
Bei der Anwendung dieses Verfahrens auf einen mit Binärzahlen arbeitenden Digitalrechner sieht der Erfinder des USA.-Patentes ein erstes Register für die anfängliche Speicherung des Komplements des Radikanden vor. Außerdem wird ein zweites Register vorgesehen, welches zunächst die Ziffern 0 und 1 in dieser Reihenfolge in den zwei höchsten Ziffernstellen enthält. Während des ersten Rechentaktes wird ge-Elektronischer Digitalrechner mit
Schaltung für die Errechnung der Quadratwurzel
aus einer Binärzahl
Anmelder:
Sperry Rand Corporation,
New York, N.Y. (V. St. A.)
Vertreter:
Dipl.-Ing. E. Weintraud, Patentanwalt,
Frankfurt/M., Mainzer Landstr. 136-142
Als Erfinder benannt:
William Weigler, St. Paul, Minn. (V. St. A.)
Beanspruchte Priorität:
V. St. v. Amerika vom 12. Juli 1963 (294 519)
prüft, ob die Addition des Inhalts des ersten und zweiten Registers ein Ubertragsignal erzeugt. Wenn dieses Ubertragsignal nicht erzeugt wird, wird der Inhalt des ersten und zweiten Registers addiert. Gleichzeitig wird die Binärziffer 1 in die höchste Ziffernstelle des zweiten Registers eingefügt, während die Ziffern 0 und 1 in die beiden nächstniedrigeren Stufen des zweiten Registers eingegeben werden.
Wenn durch diese Addition des Inhalts des ersten und zweiten Registers ein Ubertragsignal aus der höchsten Ziffernstelle erzeugt wird, wird die Addition nicht ausgeführt. Statt dessen wird die Ziffer 0 in die höchste Stufe des zweiten Registers eingefügt, und die Ziffern 0 und 1 werden in die beiden nächstniedrigeren Stellen eingegeben. Während des nächsten Rechentaktes wird der Inhalt des zweiten Registers um eine Stelle nach rechts verschoben, und es wird erneut geprüft, ob infolge der Addition des laufenden Inhalts des zweiten Registers zum Inhalt des ersten Registers ein Übertragsignal erzeugt wird.
Die Erfindung bezweckt, die Überträge auf eindeutige Weise im alten Rhythmus festzuhalten und keine weiteren Steuerpfade für den Quadratwurzelbefehl vorsehen zu müssen. Dies erreicht die Erfindung dadurch, daß bei einem Rechengerät zur Bildung der Quadratwurzel aus einer Binärzahl durch Subtrahieren einer Reihe zunehmender, ungerader Zahlen vom Radikanden während eines ersten Arbeitstaktes der Radikand in ein erstes Register, die
609 610/347
erste ungerade Zahl Ol als Probequadratwurzel in das zweite Register und die zweite ungerade Zahl 11 als Konstante in das dritte Register eingesetzt wird, so daß sich die vorderste Ziffer des Radikanden, die der Probequadratwurzel und die der Konstanten an einander zugeordneten Stellen der Register befinden, daß ferner während eines zweiten Arbeitstaktes der Inhalt eines zweiten Registers vom Inhalt des ersten Registers subtrahiert und die Differenz im ersten Register belassen wird, während eines dritten Arbeitstaktes der Inhalt des ersten Registers um eine Stelle nach oben und der Inhalt des dritten Registers um eine Stelle nach unten verschoben wird und hierauf die Inhalte des zweiten und des dritten Registers addiert werden, wobei im zweiten Register die Zahlensumme gebildet wird, wenn die im ersten Register gebildete Differenz positiv ist, wogegen bei negativer Differenz beim Addieren keine Überträge verrechnet werden, so daß im zweiten Register die logische Summe gebildet wird und der zweite und der dritte Arbeitstakt wiederholt werden, wobei im zweiten Register bei jeder Wiederholung des dritten Arbeitstaktes eine weitere Ziffer der Quadratwurzel gebildet wird.
Durch diese Maßnahme erreicht es die Erfindung, daß zu den normalerweise in einem Digitalrechner vorhandenen Schaltungen keine weiteren hinzugefügt werden müssen, um einen »automatischen Befehl« für die Ausführung der Quadratwurzeloperation vorzusehen. Um die Quadratwurzel aus einer Zahl zu berechnen, muß der Rechner drei Register haben, wobei mindestens ein Register sich für den Verschiebevorgang eignet, und es müssen eine Addierschaltung und geeignete Steuerschaltungen für die Erzeugung der Tor- und Steuersignale vorgesehen werden, die erforderlich sind, um eine Information zwischen den Registern und dem Addierer hin und her zu übertragen. Es handelt sich also im wesentlichen um Schaltungen, die auch zur Durchführung normaler Rechenfunktionen benötigt werden.
Die von den erfindungsgemäßen Schaltungen durchzuführenden Schritte beim Ziehen der Quadratwurzel aus einer Zahl werden im nachstehenden kurz angeführt.
Wenn der Quadratwurzelbefehl in das Befehlsregister eingegeben und ein bestimmter Teil des Operationscodes geprüft wird, werden die Steuerschaltungen erregt und geben den gewünschten Radikandenoperanden in ein erstes Register, eine Annäherungs- oder Probewurzel in das zweite Register und eine vorbestimmte Konstante in ein drittes Register ein. Anschließend wird der Inhalt des zweiten Registers vom Inhalt des ersten Registers abgezogen. Dann erfolgt eine Prüfung, um festzustellen, ob diese Subtraktion einen Überlauf erzeugt hat, d. h. ob der Inhalt des zweiten Registers größer als der Inhalt des ersten Registers ist. Wenn der Inhalt des zweiten Registers kleiner ist als der Inhalt des ersten Registers, wird die im ersten Register verbleibende Differenz um eine Stelle nach oben, d. h. zur höchsten Ziffernstelle hin verschoben, während der Inhalt des dritten Registers um eine Stelle nach unten, d. h. in Richtung auf die niedrigste Ziffernsteile verschoben wird. Nach der Durchführung dieser Schiebeschritte wird der Inhalt des zweiten und dritten Registers addiert und die Summe im zweiten Register belassen. Der Subtrahierschritt wird zusammen mit den Schiebe- und Addierschritten so lange wiederholt, bis der Inhalt des dritten Registers die ganze Länge des Registers durchläuft oder bis die Ausführung des Subtrahierschrittes einen Überlaul hervorruft.
Falls ein Überlaufsignal bei der Subtraktion des Inhalts des zweiten Registers vom Inhalt des ersten Registers erzeugt wird, wird der Inhalt, der im ersten Register vor dem Subtrahierschritt vorhanden war. um eine Stelle zur höchsten Ziffernstelle hin verschoben, während die Konstante im dritten Register um eine Stelle zur niedrigsten Ziffernstelle hin verschoben wird. Nun wird wiederum der Inhalt des zweiten und dritten Registers addiert. Aber in diesem Fall wird an Stelle der Zahlensumme die logische Summe gebildet. Wenn mit anderen Worten ein Überlaufzustand festgestellt und die Verschiebung durchgeführt wird, wird der Inhalt des Registers 3 zum Inhalt des Registers 2 addiert, doch werden während dieser Addition die erzeugten Übertragsignale gesperrt. Der Rechenvorgang wird unterbrochen, wenn die Konstante im dritten Register um die gesamte Länge des dritten Registers so verschoben wird, daß die Ziffer 1 in der niedrigsten Ziffernstelle vorhanden ist.
Während eines bestimmten Taktes oder einer bestimmten Wiederholung η des Ziehens der Quadratwurzel kann die binäre Teilwurzel im zweiten Register durch A1, R2, Rs ... Rn = 0, 1 dargestellt werden, wobei.R1 bis Rn die höchsten «Bits der genauen Endwurzel sind, die während der Wiederholung 1 bis η festgestellt wird. Bei der folgenden Wiederholung, d. h. Wiederholung η + 1, bleiben die bereits erzeugten Bits der Teilwurzel R1 bis Rn unverändert, Mit anderen Worten, wenn eine weitere Ziffer dei Antwort bei einer bestimmten Wiederholung gebildei wird, bleibt sie während der übrigen Rechentakte zuj Bildung des gesamten Quadratwurzeloperanden unverändert. Dies ist gegenüber vorbekannten Rechnern mit automatischem Quadratwurzelbefehl ein bemerkenswerter Vorteil.
Gegenstand der Erfindung ist eine verbesserte Schaltungsanordnung für das Ziehen der Quadratwurzel aus einer Zahl, die weniger kompliziert und nicht so teuer ist wie vorbekannte Geräte. Die Anordnung arbeitet nach dem Prinzip der Bildung von Resultatziffern im Laufe von mehreren getrennten Takten oder Wiederholungen, wobei bereits gebildete Stellen der Teilwurzel nicht geändert werden wenn die Teilwurzel in einem Takt errechnet wird. Sie erzeugt auch einen automatischen Quadratwurzelbefehl für den Digitalrechner, in dem die Steuerung der Ubertragsignale so ausgeübt wird, daß zusätzliche Steuerpfade, wie sie in bekannten Maschinen allgemein benötigt werden, wegfallen.
Ein Ausführungsbeispiel der Erfindung ist in den Zeichnungen dargestellt. Es zeigt
Fig. 1 ein Blockdiagramm eines bevorzugten Ausführungsbeispiels des erfindungsgemäßen Rechners,
F i g. 2 ein Impulsdiagramm des neuen Quadratwurzelalgorithmus,
Fig. 3 ein Blockdiagramm der Steuerschaltungen des Rechners in F i g. 1,
F i g. 4 ein Taktdiagramm der Steuerschaltungen in Fig. 3,
F i g. 5 einen ODER-Kreis mit Negation,
Fig. 6 eine Werttafel für einen logischen ODER-Kreis mit Negation,
I 223
F i g. 7 ein schematisches Diagramm eines elektronischen Schaltkreises zur Durchführung einer logischen ODER-Funktion mit Negation,
F i g. 8 die Zusammenschaltung der Kreise in F i g. 5 zur Bildung einer Ziffernspeicherstufe oder eines Flip-Flops,
F i g. 9 eine Flip-Flop-Schaltung,
F i g. 10 ein Blockdiagramm eines Registers im Rechner,
Fig. 11 ein Blockdiagramm der Schiebesteuerschaltung in Fig. 3,
Fig. 12 ein Blockdiagramm der Akkumulator-Steuerschaltung in Fig. 3,
Fig. 13 ein Blockdiagramm der Addierer-Steuerschaltung in Fig. 3,
Fig. 14 ein Blockdiagramm der M-, S- und P-Registersteuerung in Fig. 3,
F i g. 15 ein Ausführungsbeispiel eines Addierers für den Rechner.
F i g. 1 zeigt ein vereinfachtes Blockdiagramm der wichtigsten Register und Schaltungen des Rechners mit dem erfindungsgemäßen Quadratwurzelalgorithmus. Der Rechner, in dem der Quadratwurzelbefehl verwirklicht werden soll, ist ein Bruchrechner, in welchem sämtliche Zahlen so eingestellt sind, daß sie im Bereich 0 < 1 · K1 liegen.
In F i g. 1 sind die Ubertragungswege zwischen den Registern als Kabel mit Pfeilspitzen dargestellt, welche die Richtung des Informationsflusses anzeigen. An einer Stelle sind die Kabel zu einem Kreis erweitert, in welchem eine Zahl die Anzahl der im Kabel enthaltenen Leiter angibt. Die Übertragung einer Information zwischen zwei Registern oder zwischen einem Register und dem Addierer wird von Torschaltungen gesteuert. Diese Tore sind in F i g. 1 durch Dreiecke auf den einzelnen Kabeln dargestellt, während die Befehlswirksignale für das »Öffnen« dieser Tore neben den Dreiecken angegeben sind.
In F i g. 1 ist ein einziger Addierer 10 vorhanden, der für sämtliche arithmetischen Operationen, für die Modifikationen der Operandenadresse und für die Fortschaltung des Programmregisters oder P-Registers 12 verwendet wird. In dem zuletzt erwähnten Register befindet sich die Adresse des nächsten Befehles in einem Programm von auszuführenden Befehlen. Nach Ausführung eines laufenden Befehls gibt der Steuerteil des Rechners ein Signal ab, welches die Tore zwischen dem F-Register 12 und dem Speicheradressenregister oder S-Register 14 öffnet, so daß die Adresse des nächsten Befehls über die Kabel 16 und 18 eingegeben wird. Das Speicheradressenregister ist auf bekannte Weise an einen Speicher (nicht dargestellt) mit beliebigem Zugriff so geschaltet, daß er von einem Signal aus dem Steuerteil des Rechners eingeleitet wird, während das Befehlswort oder der an der Adresse im 5-Register gespeicherte Operand aus dem Speicher in das Speicheraustauschregister oder M-Register über das Kabel 22 gelesen wird. Das M-Register 20 dient außerdem zum Einlesen eines bestimmten Datenwortes in den Speicher.
Das M-Register dient nicht nur zum Abfragen der Befehlswörter, sondern auch zur zeitweiligen Speicherung der aus dem Speicher ausgelesenen Operandenwörter. Neben seiner Funktion als Speicheraustauschregister wird das M-Register außerdem bei arithmetischen Operationen der Addition und Subtraktion dadurch verwendet, daß es einen der Operanden enthält, der auf dem Kabel 24 zum Addierer 10 übertragen werden soll.
Bei den wichtigsten Rechenregistern handelt es sich um das A-Register und das ^4*-Register, die mit den Kennziffern 26 bzw. 28 versehen sind. Das .<4-Register 26 kann auch als zweite Stufe des .^-Registers gelten. Außerdem sind das A- und ^-Register 26 und 28 vorzugsweise doppelt so lang wie die anderen Register und in eine linke und rechte Hälfte eingeteilt. Die linke Hälfte des .<4-Registers (A L) trägt die Kennziffer 30, während die rechte Hälfte dieses· Registers (AR) die Kennziffer 32 hat. Jede der Registerhälften umfaßt in der Länge 16 Bits und kann gesteuerte Eingangsleitungen für jede Stufe haben, so daß ein Steuersignal für die Erregung dieser Tore erforderlich ist, ehe die Übertragung von Daten zwischen den Registern durchgeführt werden kann.
Die A- und ^4*-Register 26 und 28 dienen außerdem zur Durchführung von Verschiebefunktionen, die von bestimmten Befehlen verlangt werden. Zur Durchführung eines Verschiebevorganges werden die Leiter in den Kabeln 34, 36, 38 und 40 von der Stufe N des ^4-Registers 26 an die Stufen N— 1 und N+l des ^4*-Registers 28 geschaltet. Wenn ein Operand nach links verschoben werden soll, wird ein Steuersignal an die Tore in den Leitungen der Kabel 34 und 38 gegeben, welche die einzelnen Stufen des ^l-Registers mit den Stufen des A *-Registers der nächstniedrigeren Ziffernstelle verbinden. Soll ein Operand im ^-Register nach rechts verschoben werden, dann öffnet ein Steuersignal das Tor in den Leitern der Kabel 36 und 40, welche die einzelnen Stufen des v4-Registers 26 mit den Stufen des /1*-Registers 28 der höheren Ziffernstelle verbinden. Nach dieser Übertragung wird der Inhalt des A *-Registers direkt an das ^-Register, d. h. von der Stufe N des ^-Registers zur Stufe N des A-Registers über die Kabel 42 und 44 zurückübertragen.
Der Akkumulator, d. h. das A-Register 26, wird bei anderen arithmetischen Operationen zum Halten eines Operanden vor dessen Übertragung an den Addierer 10 verwendet. Beispielsweise werden bei einem doppelt langen Additions- oder Subtraktionsbefehl die niedrigsten 16 Bits des Addenden aus dem Speicher in das M-Register 20 gelesen. Der Inhalt der rechten Hälfte 32 des A -Registers (die niedrigsten 16 Bits des Augenden) und der Inhalt des M-Registers werden dann während einer Addition in den Addierer gegeben. Während einer Subtraktion wird der Inhalt des AR- und das Komplement des Inhalts des M-Registers (M) in den Addierer gesteuert, und ein Übertragsignal wird in die niedrigste Bitstelle des Addierers eingegeben. Mit anderen Worten, das Zweierkomplement des Inhalts des M-Registers wird in den Addierer eingegeben. Die Summe oder Differenz wird anschließend über das Kabel 46 in die rechte Hälfte des ^-Registers gesteuert. Die höchsten 16 Bits des Addenden werden nun aus dem Speicher abgefragt, indem das niedrigste Bit des 5-Registers 14 angesteuert wird. Die Addition oder Subtraktion wird nun wiederholt, wobei diesmal die höchsten Bits des Augenden in der linken Hälfte 30 des Λ-Registers (A1) zusammen mit einem Übertrag (falls erzeugt) aus der ersten Addition oder Subtraktion verwendet werden.
Beim Z-Register 48 handelt es sich um ein 16-Bit-Register, das die aus dem Speicher ausgelesenen Befehlswörter halten kann, während die Markierer um-
gesetzt und die verlangten Operationen ausgeführt werden. Das Z-Register ist ebenfalls in zwei Hälften 50 und 52 eingeteilt, die als ZL und ZR bezeichnet werden.
Ein Befehl wird aus dem Speicher über das Kabel 22 in das M-Register gelesen und anschließend über das Kabel 54 an das Befehlsregister 48 übertragen. Währenddessen wird die Adresse im Programmadressenregister 12 auf dem Kabel 56 an die rechte Hälfte des ^-Registers 26 übertragen und von hier in den Addierer 10 eingegeben. Das M-Register 20 ist zu diesem Zeitpunkt vom Addierer abgeschaltet, und es wird ein Übertragsignal in die niedrigste Stelle des Addierers eingegeben. Dadurch wird der Inhalt des F-Registers um »1« erhöht. Der Ausgang des Addierers führt dann zum P-Register, so daß die Adresse des nächsten Befehls einer Befehlsfolge vorhanden ist. Wenn der aus dem Speicher in das Befehlsregister 48 über das M-Register 20 gelesene Befehl ein Sprungbefehl ist, dann braucht der Inhalt des Programmadressenregisters P nicht um »1« erhöht zu werden. Während der Ausführung eines Sprungbefehls wird der Inhalt des M-Registers, d. h. der Sprungbefehl, in den Addierer gesteuert. Gleichzeitig wird das .,4-Register 26 auf »0« gelöscht. Da die Addition des Inhalts des M-Registers zum Inhalt des ^-Registers bereits begonnen hat, ist es nun zu spät, den Inhalt des M-Registers und den laufenden Inhalt des .^-Registers (Null) aus dem Addierer zu holen. Aus diesem Grunde wird von der »Übertragsperre« Gebrauch gemacht, so daß die einzige Sprungadresse im M-Register am Ausgang des Addierers erscheint, wo sie für das P-Register zur Verfügung steht. Mit anderen Worten, wenn der Operandencode einen Sprungbefehl enthält, werden die Steuerschaltungen des Rechners erregt und erzeugen das Übertragsperrsignal. Dieses Signal wird an die Tore des Addierers gegeben und schaltet sie ab, so daß die Übertragsignale nicht weitergegeben werden können.
Wie noch später in dieser Beschreibung dargelegt wird, dienen dieselben Schaltungen, die während der Ausführung des Sprungbefehls das Sperrsignal erzeugen, auch zur Erzeugung des Sperrsignals während des Ziehens der Quadratwurzel.
Bekanntlich kann das Befehlswort aus mehreren Markierern bestehen, wobei jeder in der Länge aus einer vorbestimmten Anzahl von Binärziffern besteht. Beispielsweise kann ein Befehl einen Operandencodemarkierer, einen β-δΟΖ-Markierer und einen Operandenadressenmarkierer umfassen.
Falls der Befehl eine Änderung des Adressenteiles verlangt, wird der Adressenmodifikator, der von einem bestimmten Bit des Befehlswortes angegeben wird, d. h. vom S-ßOX-Markierer, aus einem bestimmten Satz von Speicherregistern in das M-Register gelesen. Gleichzeitig wird der Inhalt der rechten Hälfte des Z-Registers 48 (die zu modifizierende Adresse) an die rechte Hälfte des ^(-Registers 26 über das Kabel 58 übertragen. Anschließend wird der Inhalt des AR- und des M-Registers 20 in den Addierer 10 gegeben, und die modifizierte Operandenadresse (M+ZR) wird vom Addiererausgang über die Kabel 46 und 60 an das Z^-Register gesteuert.
Nach dieser allgemeinen Beschreibung der wichtigsten Register und Datenwege des Rechners, in dem der Quadratwurzelbefehl erfindungsgemäß gesteuert wird, soll nun das Impulsdiagramm in F i g. 2 einer näheren Betrachtung unterzogen werden, das die verschiedenen Schritte bei der Errechnung der Quadratwurzel darstellt.
Bei der Programmierung eines Digitalrechners sollen bekanntlich übersichtliche Signale verwendet werden, mit denen die Schritte der Lösung eines Problems bildhaft dargestellt werden können. Das Impuls-Blockdiagramm in F i g. 2 ist eine derartige bildhafte Darstellung. Der rechteckige Block ist das Symbol zur Beschreibung eines Schrittes für die Lösung eines Problems. In diesem Block befindet sich eine kurze Angabe der durchzuführenden Funktion, leder dieser Operationsblocks hat normalerweise einen einzigen Eingang und einen einzigen Ausgang. Die oval ausgebildeten Blöcke in F ig. 2 zeigen das Symbol, welches angibt, wann eine Entscheidung getroffen werden muß. Das Symbol der Entscheidung hat normalerweise einen Eingang,, jedoch zwei Ausgänge, welche die Alternativen in der Entscheidung darstellen. Im Symbol ist die zu beantwortende Frage angegeben; diese Frage kann normalerweise eine Ja- oder eine Nein-Antwort haben.
Durch den Quadratwurzelbefehl wird die Quadratwurzel aus der Zahl in der linken Hälfte des .^-Registers gezogen und in die rechte Hälfte 32 des .4-Registers gegeben. Dieser Befehl kann symbolhaft als ]/Äf ->- Ar dargestellt werden.
Zunächst muß die Zahl, deren Wurzel gewünscht wird, im ^-Register vorhanden sein. Wenn der Quadratwurzelbefehl in das Z-Register 48 eingegeben ist, so daß der Operationscodeteil des Befehlswortes in Z1 vom Z-Registerumsetzer geprüft werden kann, werden vom Steuerteil des Rechners zu vorbestimmten Zeitpunkten Befehlswirksignale erzeugt, die die erforderlichen Datenübertragungen vornehmen. Zunächst werden Steuersignale erzeugt, welche die Konstante 1U (binär 0,01) in die rechte Hälfte des Z-Registers (ZR) geben. Dies wird dadurch erreicht, daß ZR zunächst gelöscht und dann Bit 2 eingestellt wird. Gleichzeitig wird die Konstante 3A (binär 0,11) in die rechte Hälfte des ^-Registers (Ar) gegeben. Dies geschieht dadurch, daß AR zunächst gelöscht und anschließend die Bits 1+2 eingestellt werden, während die übrigen Bits in diesem Register im gelöschten Zustand verbleiben. Aus noch darzulegenden Gründen wird während der ersten Schritte des Ziehens der Quadratwurzel das Tor, welches die Stufe 15 des .4-Registers mit der Stufe 16 des ^-Registers verbindet, abgeschaltet, wodurch auf diesem Weg keine Informationsübertragungen . stattfinden können.
Während des nächsten Operationstaktes wird die Probewurzel von 1A im ZR sowohl an das AR- als auch M-Register übertragen. Auf diesen Schritt folgt dann die Subtraktion des Wertes im M-Register von dem nun im .<4L-Register 30 enthaltenen Radikanden. Die Ergebnisse dieser Subtraktion werden anschließend in die linke Hälfte des ^4*-Registers gesteuert. Danach wird der Zustand der Stufe 0 des ^-Registers, d. h. die Stufe mit dem Vorzeichenbit, geprüft. Falls durch vorstehende Subtraktion eine negative Zahl links im ^!-Register erzeugt wird, wird eine erste Folge von weiteren Operationen ausgeführt. Wenn jedoch die Prüfung des Vorzeichenbits anzeigt, daß die 'Subtraktion keinen Überlauf erzeugte, so daß die Quantität im ^!-Register positiv ist, dann wird eine zweite und leicht veränderte Folge von Schritten durchgeführt. Wenn der Subtrahierschritt keinen Überlauf erzeugt, wird die Zahl
im /!^-Register vor dem Subtrahierschritt während der Übertragung auf dem Kabel 34 an das A*-Register 28 um eine Stelle nach links verschoben. Wenn bei der Subtraktion kein Überlauf entstanden ist, dann wird die Differenz aus der Subtraktion während der Übertragung an das ^-Register nach links verschoben. In beiden Fällen wird während der Linksverschiebung des Inhalts des /!^-Registers der Inhalt des /!^-Registers während der Übertragung auf dem Kabel 40 an das ^-Register um eine Stelle nach rechts verschoben. Die verschobenen Ergebnisse im y4*-Register werden dann über die Kabel 42 und 44 an das ^-Register zurückübertragen.
Nun wird die Quantität im /!^-Register zum Inhalt des M-Registers addiert, wobei das Ergebnis vom Addierer 10 über die Kabel 46 und 60 an das Z-Register übertragen wird. Wenn während des Subtrahierschrittes ein Überlauf entstanden ist, wird der im vorstehenden erwähnte Additionsschritt ausgeführt, wobei die Übertragsignale gesperrt werden, so daß die im Z^-Register verbleibende Zahl nach der Durchführung des Additionsschrittes die logische Summe des Inhalts von AR und M im Unterschied zur Zahlensumme des Inhalts dieser beiden Register ist. Wenn andererseits der ursprüngliche Subtrahierschritt keinen Überlauf erzeugt, werden die Übertragsignale während der Additionsschritte nicht gesperrt, und die Zahlensumme des Inhalts des AR- und M-Registers wird an das Z^-Register übertragen.
Nach der Durchführung der Verschiebe- und Addierschritte wird die niedrigste Zifiernstelle des /!♦-Registers geprüft. Wenn diese Stufe des ^-Registers eine Ziffer 1 enthält, wird der Inhalt des Zfl-Registers an das A ^-Register übertragen, und das Ziehen der Quadratwurzel ist beendet. Wenn andererseits die Prüfung des .<4*-Registers ergibt, daß eine Null in der niedrigsten Ziffernstelle gespeichert ist, wird der Inhalt des Z^-Registers 50 zur rechten Hälfte 32 des A -Registers und an das M-Register übertragen, und die Subtrahier-, Prüf-, Verschiebe-, Addier- und Prüfschritte werden wiederholt. Bei jeder Wiederholung dieser Schritte wird im Z^-Register eine weitere Stelle der gesuchten Quadratwurzel gebildet.
Die erforderlichen Steuersignale für die Fortschaltung der einzelnen Register und Schaltungen für die Ausführung der Befehle werden wie folgt erzeugt: Da der erfindungsgemäße Gegenstand sich vor allem auf den Quadratwurzelbefehl bezieht, ist die Arbeitsweise der Steuerschaltungen diesem Gesichtspunkt untergeordnet. Die Steuerschaltungen werden natürlich auch zur Erzeugung des Wirksignalbefehls für andere arithmetische Übertragungsfunktionen verwendet. Neben der Durchführung normaler Rechenbefehle ist ihre Anwendung für Quadratwurzelfunktionen sehr gering.
F i g. 3 ist ein Blockdiagramm der Steuerschaltungen. Sie umfaßt den Taktgeber 62, der als Multivibrator oder Rechteckoszillator ausgebildet sein kann. Der Taktgeber erzeugt periodische Rechtecksignale, die auf zwei Ausgangsleitungen 64 und 66 um 180° gegeneinander phasenverschoben sind. In F i g. 4 werden die Rechtecksignale des Taktgebers 62 mit T1 und T2 bezeichnet. In dem erfindungsgemäßen Rechner sind diese Signale T1 und T2 positive Impulse mit einer Periode von 1,2 Mikrosekunden und einer Dauer von 0,3 Mikrosekunden. Diese Angabe stellt jedoch keine Beschränkungen der Erfindung dar.
Die Ausgangssignale des Taktgebers 62 werden über die Leiter 64 und 66 an die Eingangsklemmen des Ringzählers 68 gegeben. Wie aus F i g. 4 hervorgeht, wird jedesmal, wenn der Ringzähler 68 entweder den Impuls T1 oder T2 erhält, eine andere Stufe des Zählers erregt, wodurch Signale auf den Ausgangsleitern 70 bis 80 in einer vorbestimmten
ίο Folge erscheinen. Wie aus dem Diagramm in Fig. 4 hervorgeht, überschneiden sich die Signale JE1 bis E6 auf den Leitern 70 bis 80 teilweise, und die geraden Phasen (E2, E4 und E6) werden von einem ersten Signal T1 eingeleitet und 1,2 Mikrosekunden später
vom folgenden Signal T1 beendet. Ebenso werden die ungeraden Phasen (E1, Es und E5) von einem Signal T2 eingeschaltet und vom nächstfolgenden Signal T2 ausgeschaltet.
Die Ausgangsleitungen vom Ringzähler 68 sind an die entsprechenden Eingangsklemmen des Taktzählers 82 geschaltet. Die Funktion des Taktzählers besteht darin, die Taktimpulse vom Ringzähler 68 mit dem Ausgang des Umsetzers des Z-Registers und ZL-Registers zu verbinden, um den Rechenvorgang in bestimmte genaue Takte aufzuteilen. Die linke Hälfte des Z-Registers (ZL) enthält den Operationscodeteil des Befehlswortes. Für die verschiedenen Operationen, die von den Veränderungen der Bits des Operationscodes angegeben werden, können nur bestimmte Rechentakte erfolgen. Beispielsweise kann während eines ersten Taktes ein neuer Befehl aus dem Speicher abgefragt und der Inhalt des Programmadressenregisters erhöht werden. Anschließend kann während eines zweiten Taktes eine Adressenmodifikation, die vom Befehl im Z-Register angegeben wird, erfolgen. Wenn der auszuführende Befehl ein Quadratwurzelbefehl ist, dann werden während des Taktes 3 das ZR- und .^-Register mit den Werten 1U und %U aufgeladen. Während des Taktes 4 der Errechnung der Quadratwurzel wird der erste Subtrahierschritt ausgeführt, wobei die Differenz vorübergehend in der linken Hälfte des ^-Registers gespeichert wird. Während des Taktes 5 wird das höchste Bit des /!♦-Registers geprüft, um festzustellen, ob die im vorhergehenden Takt durchgeführte Subtraktion einen Überlauf erzeugt hat. Während des fünften Rechentaktes werden auch die erforderlichen Verschiebeoperationen durchgeführt, und es wird die letzte Addition des Inhalts des ZR- und M-Registers ausgeführt, entweder mit oder ohne Ubertragweitergabe. Die Takte 4 und 5 werden so lange wiederholt, bis die Konstante im ^!-Register um die ganze Länge des ^-Registers verschoben ist. Jedesmal, wenn die Takte 4 und 5 wiederholt werden, wird eine weitere Stelle oder Ziffer zu der im Z^-Register gebildeten Antwort hinzugefügt.
Während der Quadratwurzelbefehl bei seiner Ausführung alle fünf Takte benötigt, können bei anderen Operationen des Rechners der eine oder andere Takt ausgelassen werden. Beispielsweise führt der erfindungsgemäße Rechner eine vollständige Addition aus, mit den Grundtakten 1 und 2 und dem Takt 3, der zum Additionsbefehl gehört. Der Ausgang des Z-Registerumsetzers auf den Leitungen 84 bis 92 bestimmt, welcher der fünf Takte für die Ausführung des Befehls im Befehlsregister verwendet wird.
Die Ausgangssignale vom Taktgeber 62, Ringzähler 68 und vom Taktzähler 82 werden in anderen
609 610/347
Steuerkreisen auf vorbestimmte Weise zusammengefaßt und liefern "die Befehlswirksignale für die Steuerung der Information und Operanden zwischen den einzelnen Registern und arithmetischen Schaltungen des Rechners. Diese verschiedenen Steuerschaltungen werden in Blockform iii Fig. 3 gezeigt. Sie umfassen die Verschiebesteuerung 94, die M-, S- und P-Registersteuerung 96, die Akkumulatorsteuerung 98 und die Addierersteuerung 100.
Die Ausgangsleitungen von diesen Steuerschaltungen führen zu den Toren, die mit den verschiedenen Registern des Rechners in F i g. 1 verbunden sind, und dienen zur Steuerung der Informationsübertragung zwischen den Registern. Da die vorliegende Erfindung sich auf das Ziehen der Quadratwurzel aus einem Operanden bezieht, werden nur die Befehlswirksignale, die zur Quadratwurzeloperatipn gehören, gezeigt. In dem Rechner selbst sind natürlich weit mehr Leitungen zur Ausführung verschiedener Funktionen, wie z. B. Addition, Subtraktion, Multiplikation und Division, die anderen Befehlen zugeordnet sind, vorgesehen.
Zum besseren Verständnis der Arbeitsweise der Steuerschaltung in Fig. 3, wird besonders die Verschiebeschaltung 94 behandelt, da sie für die von den anderen Schaltungen ausgeführte Funktion exemplarisch ist. Während des Taktes 5 der Ausführung des Quadratwurzelbefehls wird der Inhalt der linken Hälfte des .-4-Registers (AL) nach links dadurch verschoben, daß zunächst die Signale über das Kabel 34 an das ^Jf-Register übertragen werden und anschließend die Signale auf dem Kabel 42 an das ylL-Register zurückgegeben werden. Auf ähnliche Weise wird der Inhalt des A ^-Registers um eine Stelle nach rechts dadurch verschoben, daß die Signale auf dem Kabel 40 an das ^!-Register übertragen und anschließend die verschobenen Signale auf dem Kabel 44 an das A ^-Register zurückgegeben werden. Die Funktion der Verschiebeschaltung 94 besteht darin, zum geeigneten Zeitpunkt im Rechenvorgang die gewünschten Befehlswirksignale zu erzeugen, sobald diese benötigt werden. Nur wenn das nächste Signal T2 nach dem positiven Signal E1 während des Taktes 5 der Quadratwurzelberechnung positiv
ist, werden die Befehlswirksignale AL >Aivmd Ar^Är erzeugt. Die Verschiebesteuerschaltung 94 erhält auf den Leitern 66, 102, 104 und 106 die Signale T2. Auf ähnliche Weise erhält die Verschiebesteuerschaltung auf den Leitern 70,108,110 und 112 einen Impuls E1. Während des Taktes 5 wird ein positives Signal auf dem Leiter 114 an diese Steuerschaltung übertragen. Wenn ein Quadratwurzelbefehl im Z-Register enthalten ist, gibt der Umsetzer auf dem Leiter 116 ein Ausgangssignal ab, das über den Leiter 118 an einen anderen Eingang der Steuerschaltung 94 gegeben wird. Diese Signale werden in einer logischen UND-Schaltung zusammengefaßt, so daß das Befehlswirksignal zum Zeitpunkt T2 während des Taktes 5 eines Quadratwurzelbefehls nach den gleichzeitig positiven Signalen T1 und E1 erzeugt wird. Dies ergibt sich aus dem Taktdiagramm in Fig. 4, wenn die relative Position der Befehlswirksignale in bezug auf den Taktgeber- und Ringzählerausgang geprüft wird.
In dem Maße, wie die Verschiebeschaltung Eingänge vom Taktgeber, Ringzähler, Taktzähler, Z-Register und Umsetzer erhält, um Befehlswirksignale für die Durchführung der Verschiebefunktion zu erzeugen, erhalten auch die anderen Steuerschaltungen 96; 98 und 100 Taktsignale von denselben Vorrichtungen und verbinden diese so, daß die gewünschten Befehlswirksignale zum geeigneten Zeitpunkt im Rechenvorgang erzeugt werden, um die Quadratwurzel aus einem Operanden zu ziehen.
Der »geeignete Zeitpunkt« für jedes Befehlswirksignal ergibt sich aus dem Taktdiagramm der Fig. 4.
ίο Vor der ausführlichen Beschreibung der verschiedenen Steuerschaltungen in F i g. 3 werden kurz die Symbole und die logischen Blockdiagramme beschrieben.
In Fig. 5 wird ein Symbol gezeigt, das die logisehen Schaltungen in dem erfindungsgemäßen Rechner darstellt. Der Block 120 stellt einen ODER-Umkehrer dar, der oft als ODER-Kreis mit Negation bezeichnet wird. Der ODER-Umkehrer kann mehrere Eingangsklemm en, z.B. A und B, und eine einzige Ausgangsklemme, z. B. C, haben. Wenn, wie aus der Werttafel in Fig. 6 hervorgeht, ein negatives Signal an eine oder mehrere der Eingangsklemmen A und B gelegt wird, ist das an der Ausgangsklemme auftretende Signal positiv. Nur wenn sämtliche Eingänge gleichzeitig positiv sind, erscheint an der Ausgangsklemme 10 ein negatives Signal.
.Fig. 8 zeigt die Schaltung für die Ausführung der Logik des ODER-Umkehrers oder des ODER-Kreises mit Negation. Da zur Durchführung dieser Logik auch andere Schaltkreise verwendet werden können, stellt die in Fig. 7 schematisch gezeigte Schaltung keine Einschränkung der Erfindung dar. In dem erfindungsgemäßen Gerät wird das positive Signal durch eine Spannung von ungefähr 0 Volt dargestellt, während das negative Signal einer Spannung von ungefähr — 3 Volt entspricht. Wenn auf einer oder mehreren Eingangsklemmen 122 bis 126 ein positives Signal vorhanden ist und auf diesen Eingangsklemmen keine negativen Signale gegeben sind, wird die Verbindungsstelle 128 im Schaltdiagramm von der Spannungsquelle -f- V1 und von den aus den Widerständen 130, 132 und 134 bestehenden Spannungsteilern leicht positiv gehalten. Da die Basis, des Transistors 136 in bezug auf die Emitterelektrode (auf Erdpotential) positiv ist, wird die Emitterverbindung in umgekehrter Richtung vorgespannt, und deshalb ist die Impedanz zwischen dem Emitter und Kollektor relativ hoch. Die Kollektorverbindung wird von der Spannungsquelle — V1 stets rückwärts vor-
gespannt, so daß der Strom über die Kollektorverbindung nur dann fließt, wenn die Vorspannung an der Emitterverbindung umgekehrt wird, (Streuströme können hier außer acht gelassen werden.) Die Ausgangsleitung 138 wird auf einem Pegel von — 3VoIt (V2), der ein relativ negatives Signal darstellt, von der Sperrdiode-140 gehalten, die an das Netz von — F2 geschaltet ist.
Wenn ein negatives Signal an eine oder mehrere Eingangsklemmen 122 bis 126 gelegt wird, wird die Basis des Transistors 136 in bezug auf den Emitter negativ. Deshalb kann nun ein relativ großer Strom zwischen dem Emitter und Kollektor fließen, so daß die Ausgangsspannung fast auf Masse oder OVoIt, d. h. auf ein positives Signal, ansteigen. kann. Obgleich in dem schematischen Diagramm in Fig. 7 nur drei Eingangsklemmen gezeigt werden, so können natürlich mehr oder weniger Eingänge vorgesehen werden. Der Ausgang dieser Schaltung kann
auch so angeordnet werden, daß er die Eingänge von anderen, gleichartigen ODER-Kreisen mit Negation ansteuert.
Fig. 8 zeigt die Zusammenschaltung der ODER-Kreise mit Negation zu einem bistabilen Multivibrator oder Flip-Flop. Normalerweise sind positive Signale auf den »Lösch«- und »Einstelk-Leitungen 142 bzw. 144 vorhanden. Zur Löschung der Information in der Flip-Flop-Stufe und zur Eingabe einer neuen Information wird ein Löschsignal verwendet. »Löschen« bedeutet, ein negatives Signal in die Einstelleitung zu geben. Nach dem Löschen des Flip-Flops ist der Ausgang des ODER-Kreises mit Negation 146 positiv, und der andere Ausgang von der ODER-Schaltung mit Negation 148 ist negativ.
Im folgenden schrittweisen Vorgehen wird dargelegt, wie die Umkehrer als Bitspeichervorrichtung oder Flip-Flop arbeiten. Es wird vorgegeben, daß der Flip-Flop gelöscht ist, so daß der ODER-Kreis mit Negation 146 ein positives Signal auf dem Leiter 150 liefert. Sein Ausgang wird außerdem als positives Eingangssignal an den ODER-Kreis mit Negation 148 gelegt. Wenn kein Signal an die Einstelleitung 144 gegeben wird, liefert der ODER-Kreis mit Negation 148 ein negatives Signal auf der Ausgangsleitung 152. Dieses negative Signal wird über den Leiter 154 an einen anderen Eingang des ODER-Kreises mit Negation 146 zurückgekoppelt. Deshalb kann das negative Löschsignal beseitigt werden, und das negative Signal auf der Leitung 154 hält den Flip-Flop im gelöschten Zustand. Wenn aber ein negatives Signal an die Einstelleingangsklemme 144 gelegt wird, wird dieses Signal vom ODER-Kreis mit Negation 148 umgekehrt, so daß ein positives Signal über die Leitung 154 an den ODER-Kreis 146 mit Negation gelegt wird. Der Ausgang des ODER-Kreises mit Negation 146 ist daher ein negatives Signal, das, wenn es als Eingang an den ODER-Kreis mit Negation 148 gelegt wird, den Flip-Flop im Einstellzustand hält, auch wenn das Signal, das ursprünglich an die Einstellklemme 144 gelegt wurde, beseitigt ist. Die Signale, die vorher auf den Leitungen 150 und 152 aufgetreten sind, werden bei Anlegen des Einstellsignals umgekehrt. Wenn der Flip-Flop eingestellt wird, gibt die beliebig festgelegte Seite »1« ein positives Signal ab, während die »O«-Seite ein negatives Signal liefert. Wenn der Flip-Flop gelöscht wird, gibt die »O«-Seite ein positives Signal ab, während die »1 «-Seite ein negatives Signal liefert. Zur Vereinfachung der Zeichnung wird der Flip-Flop nicht wie in F i g. 8, sondern wie in F i g. 9 dargestellt.
Im folgenden werden die Einzelheiten eines Registers beschrieben. Da die anderen dem in Fig. 10 dargestellten Register sehr ähnlich sind, wird nur die Arbeitsweise und die Konstruktion dieses Registers ausführlich beschrieben. In dem Blockdiagramm der Fig. 1 dient das Speicheraustauschregister oder M-Register 20 während der Übertragung einer Information zwischen dem Maschinenspeicher und den anderen Registern als kurzfristiges Speicherregister. Beispielsweise kann vom ^[-Register 26 und vom Eingang-Ausgang-Register (nicht dargestellt) eine Information an das M-Register übertragen und dort zeitweilig gespeichert werden.
In Fig. 10 sind die Mittel zur Speicherung von Binärziffern darstellenden Signalen Flip-Flops, wie z. B. die Flip-Flops 156,158 und 160. Die gestrichelten Linien zwischen den StUfCnM1 und M15 zeigen an, daß dreizehn weitere, gleiche Stufen vorgesehen, aber zur Vereinfachung der Zeichnung nicht dargestellt sind. Zusammen können die Stufen M0 bis M15 ein 16-Bit-Wort oder einen Operanden speichern. Für die Übertragung der Information vom A -Register zum M-Register werden mehrere ODER-Kreise mit Negation, z. B. die Kreise 162 bis 166, vorgesehen (jede Stufe hat einen entsprechenden ODER-Kreis mit Negation), die als Koinzidenztore für die Steuerung der Übertragung einer Information zwischen zwei zusammengeschalteten Registern wirksam sind. Das Befehlswirksignal wird an die Hauptleitung 168 gegeben und erregt teilweise die Tore 162 bis 166, so daß die Information vom Z-Register an das M-Register übertragen wird. Das Befehlswirksignal ist positiv, und wenn die Signale von den einzelnen Stufen des ^4-Registers ebenfalls positiv sind, werden die Tore 162 bis 166 geöffnet und negative Signale über die ODER-Kreise 170, 172 und 174 an die Löschklemme des M-Register-Flip-Flops übertragen. Wenn statt dessen der Eingang vom A -Register zu einem oder mehreren ODER-Kreisen mit Negation 162 bis 166 ein negatives Signal ist, werden die das negative Signal empfangenden Tore nicht geöffnet und erzeugen kein Signal, das den Zustand des M-Registers ändert. Daraus ergibt sich, daß eine Information aus dem Λ[-Register an das M-Register dadurch übertragen werden kann, daß ein Befehlswerksignal an die Hauptleitung 168 gegeben wird.
Während des Auslesens eines Wortes aus dem Speicher erhält die Leitung 176 ein positives Signal, das die ODER-Kreise mit Negation 178, 180 und 182 teilweise ansteuert. Die Ausgangssignale von den Leseverstärkern gelangen dann über die letztgenannten Tore, vorausgesetzt, daß das betreffende Bit ebenfalls ein positives Signal ist. Wenn andererseits das an den anderen Eingang eines jeden dieser letztgenannten Tore angelegte Signal negativ ist, hat der Ausgang von den Toren nicht die erforderliche Polarität, um den Zustand der Flip-Flops 156 bis 160 umzuschalten. Daraus ergibt sich, daß die aus dem Speicher ausgelesene Information von einem Befehlswirksignal auf der Hauptleitung 176 in das M-Register gesteuert wird.
Wenn von einem äußeren Gerät (nicht dargestellt) eine Information an den Speicher übertragen werden soll, wird sie zunächst in das M-Register geladen, bis der Speicherlesetakt eingeleitet und die Übertragung erfolgen kann. Die Eingabe der Daten von einem äußeren Gerät in das M-Register erfolgt dann, wenn ein positives Signal an die Hauptleitung 184 gegeben wird. Dieses Signal wird auf dieser Leitung zum Befehlswirksignal I/O-^-M. Daraus ergibt sich, daß ein positives Signal auf dieser Leitung jedes der Tore 186, 188 und 190 teilweise ansteuert. Je nach der Polarität der an die anderen Eingänge der ODER-Kreise mit Negation gelegten Signale erzeugen sie ein Ausgangssignal oder keines, um die einzelnen Stufen des M-Registers einzustellen. Nur wenn beide Eingangssignale an einem der Tore 186 bis 190 positiv sind, wird am Ausgang ein negatives Signal gegeben, das über die ODER-Kreise 192 bis 196 gelangt und die M-Register-Flip-Flops einstellt.
Wenn der Inhalt der M-Registerstufe 156 bis 160 gelöscht werden soll, muß das Befehlswirksignal LÖSCHEN M an die Hauptleitung 198 gelegt werden. Dieses negative Signal gelangt über jeden der ODER-Kreise 170, 172 und 174 zur Löschklemme
der einzelnen Stufen. Wenn jede Stufe des Flip-Flops in den Zustand »1« geschaltet werden soll, muß lediglich ein negatives Signal in die Hauptleitung 200 gegeben werden. Dieses Signal gelangt über die ODER-Kreise 192, 194 und 196 zur Einstellklemme der Flip-Flops 156, 158 und 160.
Wenn eine Information vomM-Register zu irgendeinem anderen mit ihm verbundenen Register übertragen werden soll, muß ein Befehlswirksignal an die entsprechende Steuerleitung für dieses Register gelegt werden. Die auf den Ausgangsleitungen 202 bis 212 vorhandene Information kann dann über die Tore, an welche diese Steuerleitung geschaltet ist, gelangen und in das andere Register eingegeben werden. Wenn beispielsweise der Inhalt des M-Registers zu irgendeinem anderen bereits an den Addierereingang gelegten Operanden addiert werden soll, wird ein Befehlswirksignal M-^ADDIERER an eine Steuerleitung gelegt, die mit den Eingangstoren des Addierers verbunden ist; dieses Signal öffnet die vorbestimmten Tore, so daß die Signale auf den Leitungen 204, 208 und 212 übertragen werden können. Wenn andererseits irgendeine Quantität im M-Register von einem anderen im Addierer enthaltenen Operanden abgezogen werden soll, wird das Befehlswirksignal M-^ADDIERER an eine andere mit dem Addierer verbundene Steuerleitung gelegt, so daß der Komplementausgang vom M-Register auf den Leitungen 202, 206 und 210 in den Addierer gesteuert wird. Zur Bildung des Zweierkomplements der Zahl im M-Register wird ein Ubertragsignal in die niedrigste Stufe des Addierers gleichzeitig mit der Einsteuerung der Quantität M eingefügt.
Nach der Arbeitsweise und dem Aufbau des Registers wird nun die Arbeitsweise und Konstruktion der verschiedenen Steuerkreise in F i g. 3 und ihrer Schaltungen dargelegt.
Fig. 11 zeigt ein Blockdiagramm der Schaltung des Verschiebekreises 94 in Fig. 3 . Das Kernstück dieser Steuerschaltung ist der Verschiebe-Flip-Flop 214. Wenn dieser Flip-Flop eingestellt wird, ist der Ausgang der »1«-Seite positiv, und wenn der Taktimpuls Γ 2 ebenfalls positiv wird, gibt der ODER-Kreis mit Negation 216 ein negatives Signal ab, das vom ODER-Kreis mit Negation 218 umgekehrt wird und auf dem Leiter 220 als positives Befehlswirksignal auftritt. Dieses Signal wird an die Torkreise des Kabels 34 gegeben, um den Operanden im A-Register bei der Übertragung zum .^-Register nach links zu verschieben. Wenn der Verschiebe-Flip-Flop 214 zu dem Zeitpunkt eingestellt wird, da der Taktimpuls T2 während einer Quadratwurzeloperation positiv ist, wird der ODER-Kreis mit Negation 222 ganz erregt und gibt ein negatives Signal ab, welches vom ODER-Kreis mit Negation 224 umgekehrt wird, wodurch auf dem Ausgangsleiter 226 ein positives Signal auftritt. Bei diesem letztgenannten Signal handelt es sich um das Befehls-
wirksi«nal y4 —> A*
a R R'
Um den Flip-Flop auf die erste Stelle umzuschalten, müssen die Signale T1, E1 und der Takt 5 gleichzeitig positiv sein, und der Z-Registerumsetzer muß ein Signal liefern, welches die Quadratwurzeloperation anzeigt. Wenn diese Bedingungen erfüllt sind, wird der ODER-Kreis mit Negation 228 ganz erregt, und er gibt ein Signal zur Einstellung des Flip-Flops ab. Der Verschiebe-Flip-Flop bleibt während des Taktes 5 so lange eingestellt, bis das Signal Et am Ausgang des Ringzählers erzeugt wird. Dieses Signal wird vom ODER-Kreis mit Negation 230 umgekehrt und an die Löschklemme des Verschiebe-Flip-Flops gelegt. Der Verschiebe-Flip-Flop 214 wird während des Taktes 5 einer Quadratwurzeloperation eingestellt, wenn das Taktsignal T1 positiv und das Signal E1 vom Ringzähler ebenfalls positiv ist. Die Befehlswirksignale auf den Leitern 220 und 226 werden je-
ίο doch erst bei den folgenden Taktperioden T2 nach der Einstellung des Verschiebe-Flip-Flops erzeugt. Erst zu diesem Zeitpunkt werden die Tore 216 und 222 ganz erregt.
F i g. 12 zeigt als Blockdiagramm die Schaltkreise der Akkumulatorsteuerung 98 in Fig. 3. Nach F i g. 12 werden die verschiedenen Befehlssignale dadurch erzeugt, daß die Ausgangssignale vom Taktgeber, den Ringzählern, dem Taktzähler und dem Z-Registerumsetzer richtig zusammengefaßt werden.
Ein Beispiel für die Arbeitsweise der Schaltkreise in F i g. 12 ist das Befehlswirksignal LÖSCHEN At-Dieses Signal wird am Ausgang des ODER-Tores mit Negation 232 erzeugt. Das Befehlswirksignal wird während des Taktes 4 der Errechnung der Quadratwurzel dann erzeugt, wenn die Signale T1 und E5 vorhanden sind. Unter dieser Bedingung sind sämtliehe Eingänge zum ODER-Kreis mit Negation 232 positiv, wodurch ein negatives Signal auf dem Ausgangsleiter 234 auftritt. Dieses Signal wird wiederum umgekehrt und an die Löschklemme des .42-Registers gelegt, um sämtliche Stufen der linken Hälfte des .^-Registers in den »0«-Zustand umzuschalten. Ein weiteres Beispiel für die Arbeitsweise der Akkumulator-Steuerschaltungen in Fig. 12 ist die Erzeugung des Befehlswirksignals AL->AL. Dieses Signal wird vom Ausgang eines ODER-Tores mit Negation 236 abgegeben. Es kann durch Erfüllung mehrerer Bedingungen erzeugt werden. Wenn das ODER-Tor mit Negation 238 auf allen seinen Eingangsklemmen positiv angesteuert ist, gibt es ein negatives Signal an den ODER-Kreis mit Negation 236, so daß auf dem Ausgangsleiter 240 ein positives Signal auftritt. Bei diesem letztgenannten Signal handelt es sich um das Befehlswirksignal für die Übertragung des Inhalts der linken Hälfte des .^-Registers an die linke Hälfte des ^[-Registers. Nur wenn die Signale T1 und E1 während des dritten Taktes der Quadratwurzelerrechnung positiv sind, wird der ODER-Kreis mit Negation 238 ganz erregt und erzeugt das Befehlswirksignal. Derselbe Befehl wird auch während des Taktes 5 der Quadratwurzelerredhnung erzeugt, wenn die Signale T1 und E1 positiv skid, vorausgesetzt, daß die Stufe Ai0 gelöscht ist, was anzeigt, daß während des Subtrahierschrittes des Rechenvorganges kein Überlauf eintrat. Unter diesen Bedingungen wird das ODER-Tor mit Negation 242 ganz erregt und gibt ein negatives Signal an das Tor 236.
Der Befehlt->- Al wird außerdem während des Taktes 5 der Quadratwurzelerrechnung erzeugt, wenn die Signale T1 und E1 positiv sind. Wenn dies der Fall ist, wird das ODER-Tor mit Negation 224 ganz erregt und gibt auf der Leitung 246 ein negatives Signal ab, das einen dritten Eingang des ODER-Tores mit Negation 236 ansteuert.
Aus dieser Erklärung der Erzeugung der Befehlswirksignale LÖSCHEN Ai und Al -> Al kann die Art bestimmt werden, wie andere Befehlswirksignale, die in Fig. 12 oben angegeben sind, erzeugt werden
17 18
können. Deshalb dürfte sich eine weitere Erörterung wird beim nächsten Takt gelöscht, wenn die Signale
der Arbeitsweise der Schaltkreise in Fig. 12 er- T2 und E2 beide positiv sind. Ist dies der Fall, gibt
übrigen. der ODER-Kreis mit Negation 272 ein negatives Si-
Fig. 13 zeigt die Anordnung der ODER-Schal- gnal ab, welches den Sperr-Flip-Flop löscht,
tungen mit Negation für den Aufbau der Addier- 5 Der Flip-Flop 254 erzeugt den Übertrag 15, der
Steuerschaltungen 100 in Fig. 3. Dabei werden nur während eines Subtraktionsvorganges zur Eingabe
diejenigen Schaltkreise der Addierersteuerung darge- eines 1-Bits in die niedrigste Ziffernstelle des Addierers
stellt, die beim Ziehen der Quadratwurzel verwendet dient, wenn das Komplement des Inhalts des M-Re-
werden. In dem Rechner mit der erfindungsgemäßen gisters an den Addierer übertragen wird. Daraus ist
Quadratwurzelbefehlssteuerung werden natürlich io zu erkennen, daß die Ziffer 1 zum Komplement einer
auch andere Schaltkreise für die Erzeugung der Be- Zahl addiert wird und das sogenannte Zweierkom-
fehlswirksignale vorgesehen, welche die anderen plement dieser Zahl bildet. Der Flip-Flop 254 wird
arithmetischen und logischen Vorgänge durchführen. während eines jeden Taktes einmal eingestellt, wenn
Die Steuerschaltung in Fig. 13 besteht aus mehre- die Signale T1 und E3 beide positiv sind. Zu diesem
ren Flip-Flop-Schaltungen 248 bis 258 sowie aus der 15 Zeitpunkt wird der ODER-Kreis mit Negation 274
erforderlichen Anzahl von ODER-Kreisen mit Nega- ganz erregt und gibt das erforderliche negative Si-
tion, die als Tore das Einstellen und Löschen dieser gnal für seine Einstellung ab. Dieser Flip-Flop wird
Flip-Flops im vorbestimmten Takt steuern. beim nächsten Takt gelöscht, wenn die Signale E2
Mit dem Flip-Flop 248 wird das Befehlswirksignal und T2 beide positiv sind, so daß der ODER-Kreis
M^-ADDIERER erzeugt, wenn dieser Flip-Flop 20 mit Negation 276 ganz erregt wird und ein negatives
eingestellt wird. Die Einstellklemme dieses Flip-Flops Signal abgibt. Ist der Flip-Flop 254 eingestellt und
erhält Signale vom ODER-Tor mit Negation 260. tritt auf dem Leiter 280 ein Signal auf, was der Fall
Wenn der Ausgang T2 vom Taktgeber und der Aus- ist, wenn der Sperr-Flip-Flop 252 eingestellt wird,
gang E2 vom Ringzähler beide positiv sind, wird der löscht das sich ergebende negative Signal den Flip-
ODER-Kreis mit Negation 260 ganz erregt und gibt 25 Flop.
ein negatives Signal zur Einstellung des Flip-Flops Der Flip-Flop 256 liefert das Signal A~L->ADDIE-ab. Da die Signale T2 und E2 während eines jeden RER. Dieses Befehlswirksignal wird an die erste Taktes erzeugt werden, wird auch das Befehlswirk- Eingangsklemme der Tore gelegt, die mit dem Einsignal M-^ADDIERER ebenfalls während eines gang zum Addierer verbunden sind. Eine weitere jeden Taktes erzeugt. Deshalb wird während des 30 Klemme eines jeden dieser Tore erhält einen Eingang Taktes 4 der Quadratwurzelerrechnung der Flip- von der Komplementseite der einzelnen Stufen des Flop M-^ADDIERER eingestellt. Er bleibt einge- ^-Registers. Wenn daher ein Befehlswirksignal vorstellt, bis er durch das Anlegen eines negativen Si- handen ist, wird entweder ein positives oder negatives gnals an die Löschklemme 262 über das Tor 264 ge- Signal an die Tore je nach dem Zustand des betreflöscht wird. Wenn während des Taktes 4 der Qua- 35 fenden A -Register-Flip-Flops übertragen,
dratwurzelerrechnung die Signale T1 und E1 gleich- Der eingestellte Flip-Flop 256 wird zur vorbezeitig positiv sind, gibt das ODER-Tor mit Negation stimmten Zeit gelöscht, und zwar während des Tak-264 das negative Signal ab, welches den Flip-Flop tes 1, wenn die Signale T1 und E3 positiv sind und M-^ADDIERER löscht. Das Befehlswirksignal der ODER-Kreis mit Negation 282 ein negatives Siselbst wird am Ausgang der Einstellseite des Flip- 40 gnal an die Löschklemme des Flip-Flops 256 gibt, Flops 248 erzeugt. und während des Taktes 5 des Quadratwurzelbefehls,
Das Befehlswirksignal Ή-^ADDIERER wird er- wenn das Taktgebersignal T1 positiv ist und der
zeugt, wenn der Flip-Flop 250 eingestellt wird. Dies Ringzähler das Signal E3 abgibt. Dabei erzeugt der
geschieht während des Taktes 4 der Quadratwurzel- ODER-Kreis mit Negation 284 ebenfalls ein negati-
errechnung, wenn die Signale T1 und E3 gleichzeitig 45 ves Signal, welches die Löschklemme des Flip-Flops
positiv sind. Er bleibt eingestellt, bis er später wäh- 256 ansteuert. Der Eingang zum ODER-Kreis mit
rend des fünften Taktes gelöscht wird, wenn die Negation 284 auf dem Leiter 286 stammt von der
Signale T2 und .E2 positiv werden, so daß das ODER- »1 «-Seite der niedrigsten Stufe des ZL-Registers. Die
Tor mit Negation 266 an der Löschklemme des Flip- linke Hälfte des Z-Registers speichert bekanntlich
Flops 250 ein negatives Signal erzeugt. Ebenso wie 50 den Operationscodeteil der Befehlswörter. In dem
der ODER-Kreis mit Negation 264 verbindet der erfindungsgemäßen Rechner ist der Befehlsopera-
ODER-Kreis mit Negation 268 die Signale T1, E3 tionscode für einen Quadratwurzelbefehl dergestalt,
und die Signale des Taktes 4 mit dem Quadratwurzel- daß die Stufe ZLo eingestellt wird. Wenn daher die
signal aus dem Z-Registerumsetzer. Nur wenn diese auszuführenden Befehle einen Quadratwurzelbefehl
Signale alle positiv sind, erzeugt der ODER-Kreis 55 darstellen, wird ein positives Signal an den Leiter
mit Negation 268 ein negatives Signal, das den Flip- 286 gegeben. Bestimmte andere Befehle, die keine
Flop 250 einstellt. Beziehung zu dieser Darlegung haben, bewirken
Das Befehlswirksignal SPERREN wird am Aus- ebenfalls die Einstellung des BitsZLo.
gang des Sperr-Flip-Flops 252 erzeugt. Dieser Flip- Der Flip-Flop 256 zur Erzeugung des Signals Flop wird eingestellt, wenn die ODER-Tore mit 60 A~L-^ADDIERER wird jedesmal eingestellt, wenn Negation 270 einen negativen Ausgang erzeugen. der ODER-Kreis mit Negation ein negatives Signal Dies geschieht während des Quadratwurzeltaktes, abgibt. Dies ist natürlich nur dann der Fall, wenn wenn das Signal E5 während des Taktes 5 positiv ist, der ODER-Kreis mit Negation 288 dadurch ganz ervorausgesetzt, daß die Stufe At0 sich in einem Zu- regt wird und positive Signale an sämtlicheEingangsstand befindet, der anzeigt, daß ein Überlauf einge- 65 klemmen gelangen. Wie aus Fig. 13 hervorgeht, treten ist. Die Stufe Al0 dient zur Speicherung des erhält der ODER-Kreis mit Negation 288 einen Ein-Vorzeichenbits einer Zahl und zeigt an, ob die Zahl gang T1 vom Taktgeber, einen Eingang von der positiv oder negativ ist. Der eingestellte Flip-Flop 252 Stufe 3 des Ringzählers, einen Eingang von der
Stufe 5 des Taktzählers (zeigt Takt 5. an) und-einen Eingang von der niedrigsten Stufe des Z-Registers (Zx 0). Der Flip-Flop 256 wird während des Taktes 4 eingestellt und während des Taktes 5 gelöscht, wenn ein Quadratwurzelbefehl ausgeführt wird.
Das letzte von den Addier-Steuerschaltungen in Fig. 13 zu erzeugende Befehlswirksignal ist ~Äic^- ADDIERER. Dieses Signal wird erzeugt, wenn der Flip-Flop 258 eingestellt wird. Sind während des Taktes 1 die Signale T1 und Es beide positiv, gibt der ODER-Kreis mit Negation 290 ein negatives Signal ab, das den Flip-Flop 258 einstellt. Während des Taktes 1 wird aus dem Speicher ein Befehl abgefragt, und das Programmadressenregister oder das P-Register wird erhöht. Während dieser Erhöhung wird der Inhalt des ^-Registers an den Addierer übertragen. Während des Taktes 1 wird der nächste Befehl aus dem Speicher in das M-Register und von hier zum Befehlsregister Z übertragen. Gleichzeitig wird der Inhalt des Programmadressenregisters an die rechte Hälfte des yl-Registers übertragen und von hier in den Addierer gesteuert. Der Übertrag-Flip-Flop 254 erzeugt, dann ein Übertragsignal, welches nach der Einfügung in die niedrigste Stufe des Addierers bewirkt, daß die Ziffer 1 zu der im Z-Register vorher enthaltenen Adresse addiert wird. Anschließend wird der Inhalt des Addierers an das P-Register zurückgegeben.
Wenn beim folgenden Takt 4 des Quadratwurzelbefehls die Signale T1 und E3 positiv sind, gibt der ODER-Kreis mit Negation 292 ein negatives Signal ab, um erneut den Flip-Flop 258 zu löschen. Wähdes Taktes 5 der Quadratwurzelerrechnung erzeugte der QDER-Kreis mit Negation 234 ein negatives Signal, um den Flip-Flop 258 erneut einzustellen. Während dieses Taktes wird der Inhalt des A R- und des M-Registers addiert und bildet entweder die Zahlensumme oder die logische Summe, während die Ergebnisse an die rechte Hälfte des Z-Registers übertragen werden. Als nächste Stufe wird die Schaltung, zur Übertragung einer Information in die M-, S- und P-Register und aus diesen beschrieben.
Fig. 14 zeigt die einzelnen Schaltkreise, die zur Erzeugung der Befehlswirksignale dienen, die von der Steuerschaltung 96 der M-, S- und P-Register in Fig. 3 erzeugt werden. Das erste zu betrachtende Steuerwirksignal ADDIERER-^-ZR ermöglicht die Übertragung einer Information vom Addierer an die rechte Hälfte des Z-Registers. Dieses Signal wird am Ausgang des Umkehrers 296 erzeugt, der nur einen einzigen Eingang hat und über den. Leiter 298 an den Ausgang des ODER-Tores mit Negation 300 geschaltet ist. Fig. 14 zeigt, daß, das ODER-Tor mit Negation 300 ganz erregt wird, wenn die Signale T2 vom Taktgeber und E6 vom Ringzähler positiv sind und wenn die ODER-Tore mit Negation 302 mindestens einen negativen Eingang erhalten. Außerdem geht aus dieser Figur hervor, daß während des Taktes 2 oder 5 diese Bedingung erfüllt wird, da der eine oder andere der Umkehrer 304 und 306 zu diesen Zeitpunkten negative Signale erzeugt. Zusammenfassend kann gesagt werden, daß das Befehlswirksignal ADD1ERER->ZR während der Takte 2 und 5 dann erzeugt wird,, wenn die Signale T2 und EB beide positiv sind. . ..
Das Befehlswirksignal P—>S für die Übertragung der Information im Programmadressenregister an das Speicheradressenregister erscheint, am Ausgang des Umkehrers 308, wenn sämtliche Eingänge zu den Toren310 positiv sind. Aus Fig. 14 ergibt sich ohne weiteres, daß diese Bedingung während des Taktes 1 erfüllt ist, wenn das Taktsignal T1 und das Signal E1 vom Ringzähler gleichzeitig positiv sind. Dieser Befehl bewirkt die Steuerung der Adresse des nächsten auszuführenden Befehls in das Speicheradressenregister. Wenn daher der Speicher eingeschaltet wird, kann der Befehl, der an der im Speicheradressenregister enthaltenen Adresse gespeichert ist, aus dem Speicher in das M-Register gelesen werden. Anschließend kann der Befehl vom M-Register an das Z-Register übertragen werden.
Vor dem Einlesen einer neuen Information in das Z-Register muß das Register zunächst gelöscht werden, so daß die eintreffende Information nicht mit der im Register bereits vorhandenen vermischt wird, wodurch eine fehlerhafte Signalgruppe entstehen würde. Mit anderen Worten, ehe ein Wort an das Register übertragen wird, müssen die Stufen des Registers sich in einem vorbestimmten Zustand (entweder alle eingestellt oder gelöscht) befinden, so daß später genau festgestellt werden kann, welches Informationswort übertragen worden ist. Beim Z-Register werden die Stufen vor der Übertragung einer Information zunächst gelöscht. Das Signal zum Löschen der rechten Hälfte des Z-Registers erscheint am Ausgang des ODER-Kreises mit Negation 312. Dieses Signal wird während des Taktes 1 vor der Übertragung des neuen Befehls vom M-Register an das Z-Register erzeugt. Außerdem wird während des Taktes 2.das Z-Register vqr dem Zeitpunkt gelöscht, an dem die modifizierte Adresse vom Addierer in das Z-Register gesteuert wird. Das Signal wird außerdem während des Taktes 3 des Quadratwurzelbefehls vor dem_ Zeitpunkt erzeugt, da die Konstante 1U in die rechte Hälfte des Z-Registers eingegeben wird. Schließlich wird während des Taktes 5 der Quadratwurzeloperation das Signal LÖSCHEN ZR vor dem Zeitpunkt erzeugt, da der Inhalt des Addierers (die Zahlensumme oder die logische Summe von AR und M) an die rechte Hälfte des Z-Registers übertragen wird. In jedem Fall wird das Signal LÖSCHEN ZR dann erzeugt, „wenn der Ausgang T1 vom Taktgeber positiv ist. ;_ . "
Während der Takte 1, 2 und 5 ist der Ausgang von den ODER-Kreisen mit Negation 314 und 316 positiv, da der Ausgang von den Stufen 3 und 4 des Taktzählers zu diesem Zeitpunkt negativ ist. Zum Zeitpunkt, da der Ausgang von der Stufe 3 des Ringzählers (JS3) positiv ist, wird der ODER-Kreis mit Negation 318 ganz erregt und gibt ein negatives Signal an den Kreis 320. Dieser Kreis 320 kehrt das negative Signal um, so daß an die Eingangsklemme des Tores 312 ein positives Signal gelegt wird, und wenn das Signal T1 positiv wird, gibt der ODER-Kreis mit Negation 312 das erforderliche Befehlswirksignal zum Löschen des Registers ab.
Während des Taktes 3 ist die Stufe 6 des Ringzählers eingestellt und der ODER-Kreis mit Negation 322 ganz erregt, wodurch ein negatives Signal an den Kreis 320 gelegt und ein positives Signal an das Tor 312 gegeben wird. Ist das Signal T1 positiv, erzeugt das Tor 312 das Befehlswirksignal für das Löschen der rechten Hälfte des Z-Registers. Während des Taktes 4 ist jedoch ein Eingang des ODER-Kreises mit Negation318 jnegatiy, d.i. der Ausgang vom ODER-Kxeis,mit Negation 316,. so daß beide .Ein-
gänge zum ODER-Kreis mit Negation 320 positiv sind. Unter dieser Bedingung ist das am Ausgang des ODER-Kreises mit Negation 320 auftretende Signal negativ und sperrt die Erzeugung des Löschsignals.
Der nächste zu betrachtende Befehl dient zum Löschen des S-Registers. Diese Funktion wird während eines jeden Taktes einmal ausgeführt, wenn das Signal T2 vom Taktgeber positiv und die Stufe 6 des Ringzählers eingestellt ist. Zu diesem Zeitpunkt wird der ODER-Kreis mit Negation 323 ganz erregt und gibt ein negatives Signal an den Eingang des Umkehrers 324. Das daraus abgeleitete Signal vom Umkehrer auf dem Leiter 326 wird erneut umgekehrt und ist das Signal, das beim Anlegen an die Löschklemme einer jeden Stufe des S-Registers dazu dient, die Stufen des S-Registers zu löschen.
Das Signal für die Übertragung des Inhalts des /!-Registers an das M-Register wird am Ausgang des Umkehrers 328 während des Taktes 4 dann erzeugt, wenn das Taktsignal T2 und das Ringzählersignal E2 gleichzeitig positiv sind. Zu diesem Zeitpunkt sind sämtliche an das ODER-Tor mit Negation 330 gelegten Signale positiv, so daß dieses Tor ganz erregt wird und den Befehl Ä-^-M erzeugt.
Das Befehlswirksignal EINSTELLEN Ή ist ein Signal, welches beim Anlegen an das M-Register jede Stufe dieses Registers einstellt. Dies geschieht bei jedem Takt vor der Übertragung einer Information an das M-Register, so daß jede Registerstufe sich im Abfragezustand befindet. Deshalb werden die Informationssignale, die später in das M-Register gegeben werden, daran gehindert, sich mit der vorher darin enthaltenen Information zu vermischen. Der Befehl EINSTELLEN M wird erzeugt, wenn sämtliche Eingänge zum ODER-Kreis mit Negation 322 gleichzeitig positiv sind. Aus F i g. 14 geht hervor, daß dies während der Takte 1, 2, 3 und 4 der Fall ist, wenn die Signale T1 und E1 positiv sind. Während eines jeden der im vorstehenden genannten Takte ist ein Eingang zum ODER-Kreis mit Negation 334 negativ, so daß ein positives Signal über den Leiter 336 an das Tor 322 gelegt wird. Während des Taktes 5 sind jedoch sämtliche Eingänge zum ODER-Kreis mit Negation 334 positiv, wodurch ein negatives Signal an das Tor 332 gegeben wird. Infolge dieses negativen Signals wird das letztgenannte Tor gesperrt, und das Befehlswirksignal kann nicht erzeugt werden.
Um ein Wort in den Speicherteil des Rechners oder aus diesem zu lesen, muß die Speicherlaufzeitkette (nicht dargestellt) eingeleitet werden. Die Speicherlaufzeitkette ist eine besondere Schaltung, die die erforderlichen Signale für den Betrieb des Speichers erzeugt. Da die Funktion des Speichers für das Verständnis der vorliegenden Erfindung keine besondere Bedeutung hat, dürfte sich eine ausführliche Be- ■ Schreibung der einzelnen Schaltkreise im Speicherteil des Rechners erübrigen. Das Signal, welches die Speicherlaufzeitkette einleitet, ist das Befehlswirksignal EINLEITEN SPEICHER, das am Ausgang des ODER-Kreises mit Negation 338 erzeugt wird.
Aus dem Taktdiagramm in F i g. 4 und aus den Schaltungen in Fig. 14 geht hervor, daß das Signal EINLEITEN SPEICHER während der Takte 1 und 2 dann erzeugt wird, wenn das Signal E2 vom Ringzähler positiv ist, jedoch nicht, wenn das Signal T1 positiv ist. Während der Takte 1 und 2 gibt der eine oder andere ODER-Kreis mit Negation 340 oder 342 ein negatives Signal an einen der Eingänge des Schaltkreises 344. Deshalb muß der Ausgang des Schaltkreises 344 während der Takte 1 und 2 positiv sein. Wenn der Ringzähler auf die Stufe E2 eingestellt wird, tritt auf dem Leiter 346 ein positives Signal auf. Wenn jedoch das Signal T1 vom Taktgeber positiv ist, gibt der ODER-Kreis mit Negation 348 ein negatives Signal ab, das den Schaltkreis 338 daran hindert, das Befehlswirksignal EINLEITEN SPEICHER zu liefern. Wenn während der Takte 1 und 2 das Signal T1 vom Taktgeber nicht mehr positiv ist, wird das Tor 338 ganz erregt und erzeugt das erforderliche Signal zum Einleiten der Speicherlaufzeitkette. Das letzte zu beschreibende Befehlswirksignal dient zum Stroben der Speicherleseverstärker für das Lesen eines Wortes aus dem Speicher in das M-Register. Eine Information braucht aus dem Speicher nur während der Takte 1 und 2 der Ausführungen des Quadratwurzelbefehls gelesen zu werden. Während des Taktes 1 wird der Speicher auf den nächsten Befehl hin abgefragt, und während des Taktes 2 wird der Speicher abgefragt, um den Inhalt eines vorbestimmten B-BOX-Registers zur Änderung des Adressenteiles des während des Taktes 1 ausgelesenen Befehlswortes auszulesen. Der Schaltkreis 350 wird während der Takte 1 und 2 ganz erregt, wenn die Signale T1 vom Taktgeber und E2 vom Ringzähler gleichzeitig positiv sind. Der andere Eingang des ODER-Kreises mit Negation 350 wird vom Ausgang des ODER-Kreises mit Negation 344 angesteuert.
Das Signal auf der Ausgangsleitung des ODER-Kreises mit Negation 344 ist nur während der Takte 1 und 2 positiv. Deshalb wird der Befehl SPEICHER-+M nur während dieser beiden Takte erzeugt.
Nach der Beschreibung der Steuerschaltungen des Rechners mit dem erfindungsgemäßen Quadratwurzelbefehl wird nun die Addiererschaltung dargelegt, die ebenfalls für die Durchführung des Quadratwurzelbefehls ausgerichtet worden ist.
Fig. 15 zeigt vier typische Stufen eines aus 16 Stufen bestehenden Volladdierers, die im arithmetischen Teil des Rechners mit dem Quadratwurzel-Algorithmus verwendet werden können. Der Addierer besteht aus mehreren Volladdiererstufen 352 bis 358, wobei der Ausgang jeder Stufe an den Eingang der nächstniedrigeren Stufe usw. geschaltet ist. Bekanntlich ist ein Volladdierer eine Vorrichtung, die als Eingänge das Augendenbit, das Addendenbit und das Übertragbit erhält, das sich aus der Addition der Bits der vorhergehenden Addierstufe ergeben kann. Er verbindet diese drei Binärziffern oder Bits und gibt an einer ersten Ausgangsklemme ein Signal ab, das die Summe der vorher erwähnten 3 Bits darstellt, und gibt an der anderen Klemme ein Übertragsignal ab, wenn mindestens zwei Eingänge dieser Stufe binäre »1 «-Ziffern sind. Da es verschiedene Möglichkeiten für den Aufbau der Addiererschaltungen 352 bis 358 gibt, dürfte sich eine ausführliche Beschreibung dieser Schaltkreise erübrigen. Es wird jedoch auf das Buch »Computer Logic« von Iwan Flor es, 1960, Prentice Hall Inc. Corp., S. 152 bis 162, hingewiesen, in dem der logische Aufbau einer Volladdiererschaltung erklärt wird.
In Fig. 15 tragen die Eingangsklemmen des Addenden und Augenden für jede Volladdiererstufe die Kennziffer 1 bzw. 2. Wie bereits dargelegt, kann der Addierer zu addierende Signale aus vier verschiedenen Registerstellen erhalten. Zu addierende Signale
können von der rechten Häute des /i-Registers, von der linken Hälfte des .^-Registers, vom M-Register und von der Komplementseite des M-Registers geliefert werden. Die ODER-Kreise mit Negation 260 dienen als Tore für die Steuerung der Übertragung der Addenden- und Augendenbits an den Addierer. Die Befehlswirksignale zum wahlweisen Anlegen des Ausgangs von den vier verschiedenen Stellen an den Eingang des Addierers werden an die Tore 260 über die Hauptleitungen 262, 264, 266 und 268 gegeben.
Während des Taktes 5 der Errechnung der Quadratwurzel wird beispielsweise der Inhalt des M-Registers zum Inhalt der rechten Hälfte des .^-Registers addiert, während das Ergebnis anschließend in die rechte Hälfte des Z-Registers gegeben wird. Wenn während des Taktes 5 die Signale T2 und E2 beide positiv sind, wird der Flip-Flop 248 in Fig. 13 eingestellt. Wenn dann die Signale T1 und Es während des Taktes 5 der Quadratwurzelerrechnung positiv werden, wird der Flip-Flop 258 ebenfalls eingestellt. Der Ausgang von diesen beiden Flip-Flops führt über die Leiter 264 und 268 zu bestimmten Toren 260 im Addierer, wodurch die Addenden- und Augendenbits in den Addierer eingefügt werden, wo sie entsprechend in einer Signalgruppe zusammengefaßt werden, welche die Zahlensumme oder die logische Summe der Eingangsbits darstellt. Diese Signalgruppe erscheint auf den Ausgangsleitern 270 bis 276.
Bei der obenerwähnten logischen Summe handelt es sich um eine Summe, die nur durch die Kombination der Addenden- und Augendenbits gemäß der binären Addition gebildet wird, jedoch ungeachtet der Weitergabe eines Übertragsignals aus dieser Addition. Die ODER-Tore mit Negation 278 bis 284 in F i g. 15 steuern die Weitergabe der Überträge von einer Stufe zur anderen. Wenn das Befehlswirksignal SPERREN am Ausgang der Addierer-Steuerschaltung abgegeben wird, dann wird ein Signal mit der richtigen Polarität zur Sperrung der ODER-Tore mit Negation 278 bis 284 über die Hauptleitungen 286 und die damit verbundenen Leiter 288, 290, 292 und 293 an diese Tore gelegt.
Wie bei der Darlegung der Arbeitsweise der Addierer-Steuerschaltungen ausgeführt wurde, hängt die Erzeugung des Befehlswirksignals SPERREN vom Vorzeichenbit A* des y4*-Registers ab. Wenn die Subtraktion, die während des Taktes 4 der Quadratwurzelerrechnung stattfindet, einen Überlauf ererzeugt, wird das ODER-Tor mit Negation 278 bis die Addition des Taktes 5 durchgeführt wird, die Signale der logischen Summe auf den Ausgangs-' leitern 270 bis 276 auftreten. Wenn andererseits die Subtraktion während des Taktes 4 keinen Überlauf erzeugt, wird das ODER-Tor mit Negation 278 bis 285 ganz erregt, und die Übertragsignale, die unter Umständen in einer bestimmten Volladdiererstufe erzeugt werden, können an die Übertrageingangsklemme der nächsten Volladdiererstufe weitergegeben werden. Diese Übertragsperre des Addierers beschränkt sich natürlich nicht auf einen einfachen Serienaddierer mit Übertrag. Sie wird hier nur der Einfachheit halber angegeben. Sie gilt in gleicher Weise für Pyramidenaddierer, bei welchen die Addiererstufen Gruppen bilden und Zwischen- sowie Untergruppenüberträge für die Weitergabe zu den nächst höheren Gruppen und Stufen erzeugt werden.
Das Befehlswirksignal ÜBERTRAG 15, welches über den Leiter 294 an die Übertrageingangsklemme der Volladdiererstufe 358 gelegt wird, dient wahrem der Subtraktion zur Bildung des Zweierkomplement eines der in den Addierer einzufügenden Operanden Wenn beispielsweise der Inhalt des M-Registers von Inhalt der linken Hälfte des ^(-Registers abgezogei werden soll, wird ein Befehlswirksignal an die Haupt leitung 262 gelegt, um den Komplementausgang von M-Register in den Addierer zu steuern, an die Haupt leitung 266, um den Inhalt der linken Hälfte de
ίο ^-Registers an den Addierer zu steuern, und an dei Leiter 294 ÜBERTRAG 15. Dieses Übertragsigna verbindet sich, wenn es in die niedrigste Ziffernstufi des Addierers eingegeben wird, mit dem Komple menteingang vom M-Register, um das Zweierkomple ment der im M-Register enthaltenen Quantität zi bilden.
Der Radikand, d. h. der Operand, dessen Würze gesucht wird, befindet sich in der linken Hälfte de ^4*-Registers 28 (Fig. 1). Nach der Ausführung de
ao laufenden Befehls wird das Befehlswirksignal P-=*; so ausgeführt, daß die Adresse des nächsten Befehl in das Speicheradressenregister 14 eingegeben wird Gleichzeitig werden die Befehlswirksignale EIN STELLENM, EINLEITEN SPEICHER und SPEI CHER-^-M von den Steuerschaltungen erzeugt, wo ■durch die Befehle, die an der von der Adresse in ^-Register angegebenen Speicherstelle gespeicher sind, in das M-Register 20 gelesen werden. Zur sei ben Zeit, da diese Operation stattfindet, wird de Inhalt des Programmadressenregisters P an die recht Hälfte 32 des A-Registers über das Kabel 56 über tragen. Dann wird der Inhalt des .^-Registers zu sammen mit einem Signal ÜBERTRAG 15 an dei Addierer übertragen. Infolgedessen wird der vor herige Inhalt des P-Registers um »1« erhöht, wäh rend die Ergebnisse an das P-Register zurücküber tragen werden. Außerdem wird während des Taktes ; der Befehlsausführung das Z-Register 48 gelöschi und der Befehl, der vorher aus dem Speicher in da M-Register gelesen wurde, wird an das Z-Registe übertragen.
Wenn der Befehl im Z-Register zu diesem Zeit punkt eine Adressenmodifikation verlangt, werdei die Befehlswirksignale, die bei Takt 2 im Taktdia gramm der F i g. 4 dargestellt sind, erzeugt, so dal der vorbestimmte Adressenmodifikator vom Speiche abgefragt wird. Während der Modifikator abgefrag wird, wird die unveränderte Adresse an die recht Hälfte des /!-Registers übertragen. Dann wird dl·
go unveränderte Adresse im /!^-Register zusammen mi dem nun im M-Register enthaltenen Adressenmodi fikator in den Addierer gesteuert. Die Summi (M+ZR) wird anschließend vom Addierer an dl· rechte Hälfte 50 des Z-Registers übertragen.
Daraus ergibt sich also, daß während der Takte: und 2 die Befehle, die zunächst zum Auslesen de nächsten Befehls und dann zur Änderung de Adressenteiles benötigt werden, ausgeführt werden wenn eine Adressenmodifikation verlangt wird. Wäh rend die in den Takten 1 und 2 erzeugten Befehls wirksignale allen Befehlen gemeinsam sind, gehöre] die folgenden drei Takte, nämlich Takte 3, 4, 5, zun Quadratwurzelbefehl. Viele der Befehle, die wahrem der Takte 3, 4 und 5 des Quadratwurzelbefehls aus geführt werden, können auch während der Ausfüh rung der anderen Befehle, die die Maschine verarbei ten kann, erzeugt werden. Mit anderen Worten, dl· Schaltungen für das Ziehen der Quadratwurzel könne)
auch zur Durchführung anderer Befehle verwendet werden. Ein sehr wichtiger Vorteil des hier beschriebenen Quadratwurzelbefehls besteht darin, daß zusätzlich nur sehr wenige Schaltungen erforderlich sind.
Beim Ziehen der Quadratwurzel werden während des Taktes 3, wenn die Signale T1 und E1 gleichzeitig positiv sind, die Befehlswirksignale A *0-»· VOR ZEICHEN FF und A*L-+AL erzeugt. Der erste dieser Befehle schaltet den VORZEICHEN-Flip-Flop in einen der beiden stabilen Zustände. ,4*0 ist die Stufe des A -Registers mit dem Vorzeichenbit. Wenn diese Stufe gelöscht wird, ist die Zahl im /!*-Register positiv, während bei eingestellter Stufe die Zahl im /!""-Register eine negative Quantität hat. Diese Prüfung wird zunächst gemacht, da die Quadratwurzel aus einer negativen Zahl eine imaginäre Zahl als Ergebnis ergibt.
Der Befehl Ai-^A L wird an die Tore im Kabel 42 (Fig. 1) gegeben und dient zur Eingabe des Radikanden in das .^-Register. Dann wird die rechte Hälfte des Z-Registers (ZR) gelöscht. Dadurch ist das Z-Register bereit, eine neue Information aufzunehmen. Zum selben Zeitpunkt, da das Z-Register gelöscht wird, wird der Flip-Flop A15-^-Ai6 gelöscht. Das Löschen dieses Flip-Flops verhindert, daß das Bit 15 des /!-Registers in das Bit 16 des A *-Registers während der Verschiebefolge übertragen wird. Dies ist darauf zurückzuführen, daß beim Errechnen der Quadratwurzel die linken und rechten Hälften der A- und /!^Register so arbeiten, als ob sie vollständige getrennte Register wären und nicht nur eine Hälfte eines Registers.
Nach dem Löschen der Z^-Stufen wird außerdem ein Befehl zum Löschen der ,4|-Register stuf en erzeugt. Da diese beiden Register nun neue Informationen entgegennehmen können, werden die Befehle zum Laden von Ar und ZR mit den Konstanten s/i und 1A gegeben. Dieser Befehl dient nur zum Einstellen der Stufen 1 und 2 des /!^-Registers und der Stufe 2 des Z^-Registers.
Der erste abzugebende Befehl während des Taktes 4 dient zur Übertragung des Inhalts von ZR an das /!^-Register. Dadurch wird die Probewurzel von 1A in das /!^-Register gegeben, so daß sie anschließend an das M-Register übertragen werden kann. Die Übertragung dieser Probewurzel vom /!-Register zum M-Register erfolgt während des Taktes 4 des Quadratwurzelbefehls, wenn die Signale T2 und E2 gleichzeitig positiv sind. Die Subtraktion der Probewurzel von 1At im M-Register von dem im .^-Register enthaltenen Radikanden wird während des Taktes 4 durchgeführt, wenn die Signale T1 und E3 positiv sind. Aus dem Taktdiagramm der F i g. 4 geht hervor, daß zu diesem bestimmten Zeitpunkt mehrere Befehle erzeugt werden. Zunächst wird der Flip-Flop 256 (Fig. 13) eingestellt. Durch die Einstellung dieses Flip-Flops wird das Befehlswirksignal AL-+ADDIERER erzeugt, das den Inhalt des ,^-Registers zum Addierer steuert. Gleichzeitig wird das Signal LÖSCHEN A R->ADDIERER erzeugt, um die Übertragung des Inhalts der rechten Hälfte des /!-Registers zu sperren. Anschließend wird der Flip-Flop 250 eingestellt, wodurch das Komplement des Inhalts des M-Registers an die Addierereingangstore gegeben wird. Gleichzeitig wird auch der Flip-Flop 254 eingestellt, wodurch die Zahl 1 in die niedrigste Stufe des Addierers eingefügt wird, wo sie sich mit dem Komplementeingang vom M-Register verbindet, um das Zweierkomplement der vorher im M-Register enthaltenen Quantität zu bilden. (Die Subtraktion wird im Addierer dadurch ausgeführt, daß das Zweierkomplement des Subtrahenden zum Minuenden addiert wird.) Nach dem Subtrahierschritt wird das /!^-Register gelöscht und auf einen weiteren Empfang einer Information vorbereitet. Dies geschieht während des Taktes 4, da die Signale T2 und E6 positiv sind, wenn der Befehl ADDIERER-^-At
ίο erzeugt wird. Dieser Befehl steuert die Signale darstellende Differenz auf den Addiererausgangsleitungen 270 bis 276 (Fig. 15) in die linke Hälfte des /!""-Registers.
Während des Taktes 5 des Ziehens der Quadratwurzel finden je nach dem Ergebnis des während des Taktes 4 durchgeführten Subtrahierschrittes verschiedene Ereignisse statt. Ein erster Operationssatz erfolgt, wenn der Subtrahierschritt einen Überlauf erzeugt, so daß eine »1«-Ziffer in der /!*O-Stufe
ao erscheint. Wenn jedoch durch den Subtrahierschritt eine »O«-Ziffer in der /!*O-Stufe enthalten ist, werden weitere Operationen ausgeführt. Beispielsweise wird während des Taktes 5, wenn die Signale T1 und Et positiv sind, der Befehl Al-^-A L erzeugt, vorausgesetzt, daß der Subtrahierschritt einen Überlauf erzeugt hat. Das Signal AR->AR wird abgegeben unabhängig vom Zustand der Stufe /4*0. Wenn das Signal T2 vom Taktgeber positiv ist, werden verschiedene »Spar«-Funktionen ausgeführt. Die Flip-Flops 254 und 250 werden gelöscht. Außerdem werden die Befehlswirksignale für das Verschieben des Inhalts des A ^-Registers um eine Stelle nach rechts und des Inhalts des /!{,-Registers um eine Stelle nach links erzeugt. Während der folgenden Taktperiode werden die verschobenen Quantitäten über die Kabel 42 und 44 in Fig. 1 an das /!-Register zurückgesteuert. Dies geschieht zu dem Zeitpunkt, da die Befehlswirksignale Ai-^-AL und AR-^-AR erzeugt werden. Wie aus dem Impulsdiagramm in F i g. 2 hervorgeht, be-
steht das nächste Ereignis in der A'ddition des Inhalts des M-Registers und des Inhalts der rechten Hälfte des /!-Registers, wobei die sich ergebenden Übertragsignale entweder gesperrt oder nicht gesperrt werden, je nach dem Zustand der Stufe A*0. Aus dem Taktdiagramm der F i g. 4 geht hervor, daß während des Taktes 5, wenn die Signale T1 und E3 gleichzeitig positiv sind, der Flip-Flop 258 eingestellt wird, wodurch der Inhalt der rechten Hälfte des /!-Registers an die Addierereingangsklemmen übertragen wird.
Gleichzeitig wird der Flip-Flop 256 gelöscht, wodurch diese Registerhälfte an der Verbindung mit dem Addierer gehindert wird und somit an der Verzerrung und Zerstörung der Information, die eine der zu addierenden Quantitäten bilden soll. Da der Flip-Flop 248 bereits während des Taktes 5 eingestellt wurde, werden die beiden Operanden gleichzeitig an die Addierereingänge gelegt, so daß die logische Summe oder die Zahlensumme auf den Ausgangsleitungen 270 bis 276 in F i g. 15 auftreten kann. Der Sperr-Flip-Flop 252 wird eingestellt, vorausgesetzt, daß ein Überlauf vorhanden ist, d. h., die Stufe ,4*0 wird während des Taktes 3 eingestellt.
Danach wird eine Prüfung vorgenommen, um festzustellen, ob die Quadratwurzelberechnung abgeschlossen ist. Ein Abschlußsignal wird erzeugt, wenn die niedrigste Ziffernstelle des /!-Registers eingestellt ist. Dies ist der Fall, wenn die Konstante 11, die ursprünglich in die Stufen 1 und 2 des ^-Registers
609 610/347
27
28
eingegeben wurde, um die ganze Länge des ^-Registers verschoben 'Wördenist. Wird angenommen daß ein Abschlußsignal'während des Taktes 5 nicht erzeugt wird, dann wird der Addiererausgang an das Z-Register gelegt, wenn die Signale T2 und E6 gleichzeitig positiv sind". Ist jedoch-ein Abschlußsignal gegeben worden, dann ist die Signale darstellende Summe an das Ar- und nicht an das Z^-Register übertragen worden. Die Takte 4 und 5 werden so lange wiederholt, bis die Eonstante 11 um die ganze Länge" des Registers" verschoben ist und ein Abschlußsignal gegeben wird. Daraus ergibt-sich; also, daß durch· die Ausführung des Quadratwurzelbefehls dk QuadratwurzetderrZahl"im;-J4i-Register mit. den ar das y4|-R"egister,übertragenen Ergebnissen erfechnei wird. .--.τ-..-· 3 ■ - .·-"'■-".
Zum besseren Verständnis der- Arbeitsweise dei Schaltkreise und zum Beweis dafür, daß, wenn die Operanden gemäß dem im Diagramm der Fig. dargestellten Algorithmus behandelt werden,-- die Quadratwurzel aus einer Zahl folgt, wird auf nächstehendes Beispiel verwiesen. In diesem Beispiel besteht die Aufgabe darin, die Quadratwurzel aus dem Bruch <9/β4 (binär 0,1100010) zu ziehen.
Bitstellen
links
rechts
Takt3
Ursprünglicher
Aufbau
Takte4 +"5
Iteration 1
.Takte 4+ 5
Iteration 2
■ Takte 4-+5
Iteration 3
Takte 4 + 5
Iteration 4
Operation
Eingabe A1
Zr
!Vorzeichenprüfung (·+-)
Ar
Al
Zr -^> Ar '—> M .
Vorzeiehenprüfung (+")" A* -^'A' .......\~
Al-
Zr—> Ar—^'M.
Ah-^-M >Al .:..,
Vorzeichenprüfung (+)
Ar + M -> Zr
Zr —> Ar.—+ M Al-M ^- At ...
Vorzeichenprüfung (—)
Ar-
Al^ Al ...ν
Ar'-——τ* Ar,. .,>
A* —-> A
Ar + M τγ-—».Zr ....
iSperrübertrag -
012345 6 7 0,1100010.
OjO. 1 0 0 0 0 0 ο,ι öooöl α.
0,1000010 1,0.0 0,Q1I1OQ..
ι,οόοοiöo
0,1 0 1 0 0 0 0
... _,0,01.1.010.0
0,1101000. 0,1101000.
" o/ioiooo .. 0,0000000
0,00 0 0 000 0,0 00000 0
-.. 0,0 00 000 0
0,1110100 1,0 0OH-OO-1
- 0,0000000 0,0 0 000 00
012 3 4 5 6
0,01.00000 0,11 00 0 QO 0,010 0000
0,110 00 0 0,0110000
ρ,οιίοοοο
0,1010000, 0,1010 000"
'0,QlTQOOO
0,001100 0,00 11000 •0,1 ΙΌ 1- OQ 0,1101OOQ1
0,0011000
0,000 11 .0,0001100 0,111010 0,1110100,
0,0001100 '
■0,0000110 ■·
ό,ο'ο Q^Oi ι ο; .;
., ,.'0,1 IiLrO-010. '-..-
Bitstellen
links
rechts
Takte 4 + 5
Iteration 5
Ar > M
AL-M > A* ...
Vorzeichenprüfung (—)
A*R >AR
Al -^ Al
Ar -^ A%
A* > A
AR+ M
Sperrübertrag
Während des Taktes 3 wird der ursprüngliche Aufbau ausgeführt, wobei die Konstanten 1A und 3A in das ZR- und y4*-Register eingefügt werden. Während ao der Iterationen 1 bis 5 werden die verschiedenen Zahlen verarbeitet, bis die Quantität 0,111000 in der rechten Hälfte des Z-Registers verbleibt. Diese Zahl ist die binäre Darstellung des Dezimalbruchs 7/s, der die Quadratwurzel aus dem Bruch 49/β4 ist. as

Claims (2)

Patentansprüche:
1. Rechengerät zur Bildung der Quadratwurzel aus einer Binärzahl durch Subtrahieren einer Reihe zunehmender ungerader Zahlen vom Radikanden, dadurch gekennzeichnet, daß während eines ersten Arbeitstaktes der Radikand in ein erstes Register, die erste ungerade Zahl 01 als Probequadratwurzel in das zweite Register und die zweite ungerade Zahl 11 als Konstante in das dritte Register eingesetzt wird, so daß sich die vorderste Ziffer des Radikanden, die der Probequadratwurzel und die der Konstante an einander zugeordneten Stellen der Register befinden, daß während eines zweiten Arbeitstaktes der Inhalt des zweiten Registers vom Inhalt des ersten Registers subtrahiert und die Differenz im 0,111 0 0 1 0
1,0 0 0 111 0
0,0 0 0 0 0 0 0 0,0 0 0 0 0 0 0
0,111 0 0 1 0
0,0 0 0 0 11 0
0,0 0 0 0 011
0,0 0 0 0 0 11
0,111 0 0 0 1
ersten Register belassen wird, daß während eines dritten Arbeitstaktes der Inhalt des ersten Registers um eine Stelle nach oben und der Inhalt des dritten Registers um eine Stelle nach unten verschoben wird und hierauf die Inhalte des zweiten und des dritten Registers addiert werden, wobei im zweiten Register die Zahlensumme gebildet wird, wenn die im ersten Register gebildete Differenz positiv ist, wogegen bei negativer Differenz beim Addieren keine Überträge verrechnet werden, so daß im zweiten Register die logische Summe gebildet wird, und daß der zweite und der dritte Arbeitstakt wiederholt werden, wobei im zweiten Register bei jeder Wiederholung des dritten Arbeitstaktes eine weitere Ziffer der Quadratwurzel gebildet wird.
2. Rechengerät nach Anspruch 1, dadurch gekennzeichnet, daß der Rechenvorgang beendet wird, sobald die Konstante im dritten Register die niedrigste Stelle durch fortlaufende Stellenverschiebungen erreicht hat.
In Betracht gezogene Druckschriften:
USA.-Patentschriften Nr. 2 912 162, 3 001709,
049 296.
Hierzu 4 Blatt Zeichnungen
609 610/347 S. 66 © Bundesdruckerei Berlin
DES91914A 1963-07-12 1964-07-07 Elektronischer Digitalrechner mit Schaltung fuer die Errechnung der Quadratwurzel aus einer Binaerzahl Pending DE1223177B (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US294519A US3280314A (en) 1963-07-12 1963-07-12 Digital circuitry for determining a binary square root

Publications (1)

Publication Number Publication Date
DE1223177B true DE1223177B (de) 1966-08-18

Family

ID=23133787

Family Applications (1)

Application Number Title Priority Date Filing Date
DES91914A Pending DE1223177B (de) 1963-07-12 1964-07-07 Elektronischer Digitalrechner mit Schaltung fuer die Errechnung der Quadratwurzel aus einer Binaerzahl

Country Status (5)

Country Link
US (1) US3280314A (de)
BE (1) BE650280A (de)
DE (1) DE1223177B (de)
GB (1) GB1014628A (de)
NL (1) NL6407751A (de)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3526760A (en) * 1966-04-01 1970-09-01 Singer Co Square root calculator employing a modified sum of the odd integers method
US3508036A (en) * 1966-09-06 1970-04-21 David H Schaefer Computing apparatus
JPS4939296B1 (de) * 1968-05-25 1974-10-24
US3576983A (en) * 1968-10-02 1971-05-04 Hewlett Packard Co Digital calculator system for computing square roots
US4336599A (en) * 1980-06-09 1982-06-22 Sperry Corporation Circuit for performing a square root calculation
US4433438A (en) * 1981-11-25 1984-02-21 The United States Of America As Represented By The Secretary Of The Air Force Sobel edge extraction circuit for image processing
US4470019A (en) * 1982-07-06 1984-09-04 The Babcock & Wilcox Company Rate multiplier square root extractor with increased accuracy for transmitter applications
GB2174221A (en) * 1985-04-16 1986-10-29 Norman Henry Gale Improvements in means whereby a binary manipulative system may derive a square root
US4734878A (en) * 1985-10-31 1988-03-29 General Electric Company Circuit for performing square root functions

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US2912162A (en) * 1958-09-16 1959-11-10 Smith Corona Marchant Inc Square root extracting circuit arrangements
US3001709A (en) * 1955-12-28 1961-09-26 Int Computers & Tabulators Ltd Electronic square root device
US3049296A (en) * 1958-01-13 1962-08-14 North American Aviation Inc Binary square root mechanization

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US2888200A (en) * 1953-07-01 1959-05-26 Ncr Co Circuitry for performing square root

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3001709A (en) * 1955-12-28 1961-09-26 Int Computers & Tabulators Ltd Electronic square root device
US3049296A (en) * 1958-01-13 1962-08-14 North American Aviation Inc Binary square root mechanization
US2912162A (en) * 1958-09-16 1959-11-10 Smith Corona Marchant Inc Square root extracting circuit arrangements

Also Published As

Publication number Publication date
US3280314A (en) 1966-10-18
GB1014628A (en) 1965-12-31
NL6407751A (de) 1965-01-13
BE650280A (de) 1964-11-03

Similar Documents

Publication Publication Date Title
DE3306084C2 (de)
DE1549476C3 (de) Anordnung zur Ausführung von Divisionen
DE2758830A1 (de) Rechenvorrichtung
DE1275800B (de) Steuerwerk fuer datenverarbeitende Maschinen
DE1255356B (de) Steuervorrichtung fuer taktgesteuerte Rechenmaschinen
DE1197650B (de) Parallel-Addierer
DE1549508C3 (de) Anordnung zur Übertragsberechnung mit kurzer Signallaufzeit
DE2221693B2 (de) Schaltungsanordnung zur Ausführung einer Multiplikation zwischen zwei Binärzahlen
DE1223177B (de) Elektronischer Digitalrechner mit Schaltung fuer die Errechnung der Quadratwurzel aus einer Binaerzahl
DE1115488B (de) Datenverarbeitungssystem
DE1524114C3 (de) Adreßrecheneinrichtung für eine Datenverarbeitungsanlage
DE2310553A1 (de) Vorrichtung zur durchfuehrung arithmetischer und logischer operationen
DE2743575A1 (de) Verfahren und einrichtung zur multiplikation einer ersten zahl mit einer zweiten zahl
DE2519195C2 (de) Assoziativspeicher
DE1957600C3 (de)
DE1222290B (de) Binaere Recheneinrichtung zur Bildung und Akkumulation von Produkten
DE1474017C3 (de) Datenverarbeitungsanlage
DE1276375B (de) Speichereinrichtung
DE1549461C3 (de)
DE1549446A1 (de) Digitalrechner
DE1194605B (de) Verbesserung an Geraeten zur Verarbeitung von Angaben, Informationen od. dgl.
DE1537307A1 (de) Logische Schaltung
DE1424756A1 (de) Rechenanlagen-Speicherschaltung
DE1303692C2 (de) Binaerrechner
DE1524146C (de) Divisionseinrichtung