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 BinaerzahlInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/544—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
- G06F7/552—Powers or roots, e.g. Pythagorean sums
- G06F7/5525—Roots 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
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,
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
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
Iteration 1
.Takte 4+ 5
Iteration 2
Iteration 2
■ Takte 4-+5
Iteration 3
Iteration 3
Takte 4 + 5
Iteration 4
Iteration 4
Operation
Eingabe A1
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
Iteration 5
Ar
> M
AL-M
>
A* ...
Vorzeichenprüfung (—)
A*R
>AR
Al -^ Al
Ar -^ A%
A*
> A
AR+ M
Sperrübertrag
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)
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
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
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.
USA.-Patentschriften Nr. 2 912 162, 3 001709,
049 296.
Hierzu 4 Blatt Zeichnungen
609 610/347 S. 66 © Bundesdruckerei Berlin
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)
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)
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US2888200A (en) * | 1953-07-01 | 1959-05-26 | Ncr Co | Circuitry for performing square root |
-
1963
- 1963-07-12 US US294519A patent/US3280314A/en not_active Expired - Lifetime
-
1964
- 1964-06-26 GB GB26474/64A patent/GB1014628A/en not_active Expired
- 1964-07-07 DE DES91914A patent/DE1223177B/de active Pending
- 1964-07-08 BE BE650280D patent/BE650280A/xx unknown
- 1964-07-08 NL NL6407751A patent/NL6407751A/xx unknown
Patent Citations (3)
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 |