DE1215964B - Programmwerk fuer Rechenmaschinen - Google Patents
Programmwerk fuer RechenmaschinenInfo
- Publication number
- DE1215964B DE1215964B DEJ26149A DEJ0026149A DE1215964B DE 1215964 B DE1215964 B DE 1215964B DE J26149 A DEJ26149 A DE J26149A DE J0026149 A DEJ0026149 A DE J0026149A DE 1215964 B DE1215964 B DE 1215964B
- Authority
- DE
- Germany
- Prior art keywords
- register
- command
- circuit
- operator
- address
- 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
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4482—Procedural
- G06F9/4484—Executing subprograms
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Executing Machine-Instructions (AREA)
- Devices For Executing Special Programs (AREA)
Description
DEUTSCHES
PATENTAMT
AUSLEGESCHRIFT
Int. CL:
Nummer:
Aktenzeichen:
Anmeldetag:
Auslegetag:
Aktenzeichen:
Anmeldetag:
Auslegetag:
G06f
Deutsche Kl.: 42 ta-
1215 964
J26149IXc/42m
3. Juli 1964
5. Mai 1966
J26149IXc/42m
3. Juli 1964
5. Mai 1966
Die Erfindung bezieht sich auf ein Programmwerk für Rechenmaschinen mit einem Programmspeicher,
einem Befehlsregister, einem Befehlsdecodierer, an diesen angeschlossene, festeinstellbare Befehlsfolgeschaltungen
und mindestens einem weiteren Zwischenspeicher für die zur Ausführung vorgesehenen
Befehle.
Die Berechnung mathematischer Formeln mit Hilfe programmgesteuerter Rechenmaschinen erfolgt
häufig dadurch, daß die Formel vom Programmierer in eine Vielzahl Rechenschritte zerlegt wird. Hierbei
sind die arithmetischen Regeln für die zeitlich aufeinanderfolgende Behandlung der einzelnen Formelteile,
wie Klammerausdrücke und der Vorrang von Multiplikationen und Divisionen vor Additionen und
Subtraktionen, zu beachten. Um diese bei komplizierten Formelausdrücken sehr aufwendige Programmierarbeit
zu verringern, wurden spezielle Maschinensprachen (Fortran, Cobol usw.) entwickelt, in
denen die Formeln in die Maschine eingegeben werden. Die Maschine übersetzt dann die Formeln in
ein normales Maschinenprogramm. Infolge der Komplexität der benötigten Übersetzungsprogramme sind
hierzu nur größere Rechenanlagen geeignet. Außerdem geht bei der Programmsetzung kostbare Rechenzeit
verloren. Es ist daher bereits ein Verfahren bekanntgewoden, bei dem die Formeln in der vorliegenden
Form in die Maschine eingegeben werden und ein Analysator dafür sorgt, daß die zur Lösung
erforderlichen Operationen in der richtigen Reihenfolge vorgenommen werden. Es wird geprüft, ob die
jeweils eingegebene Teiloperation einer Formel sofort ausführbar ist. Ist dies nicht der Fall, erfolgt
ihre Speicherung in zwei Kellerspeichern, von denen der eine für die Aufnahme von Zahlen und der andere
für die Aufnahme von Operationsbefehlen bestimmt ist. Der Analysator prüft bei der Eingabe
neuer Formelteile, ob inzwischen die Ausführbarkeit gegeben ist. Die gespeicherten Formelteile werden
bei Vorliegen der Ausführbarkeit in der entgegengesetzten Reihenfolge ihrer Eingabe aus den Speichern
entnommen und ausgeführt. Bei diesem Verfahren ist ein häufiger Zugriff zum Programmspeicher
notwendig. Außerdem wird ein erheblicher Speicherraum für die beiden Kellerspeicher benötigt.
Die Erfindung schlägt ein nach diesem Verfahren arbeitendes verbessertes Programmwerk vor, das
diese Nachteile vermeidet und eine flexible Anwendung auf die verschiedenartigsten Formelausdrücke
bei geringem Programmumfang und Ausführungszeitaufwand gestattet. Erfindungsgemäß geschieht
dies bei einem Programmwerk der eingangs erwähn-
Programmwerk für Rechenmaschinen
Anmelder:
International Business Machines Corporation,
Armonk,N.Y. (V. St. A.)
Vertreter:
Dipl.-Ing. H. E. Böhmer, Patentanwalt,
Böblingen, Sindelfinger Str. 49
Als Erfinder benannt:
Alvin Paul Mullery, Chappaqua, N. Y.;
Ralph Floyd Schauer, Putnam Valley, N. Y.
(V. St. A.)
Alvin Paul Mullery, Chappaqua, N. Y.;
Ralph Floyd Schauer, Putnam Valley, N. Y.
(V. St. A.)
Beanspruchte Priorität:
V. St. v. Amerika vom 3.JuIi 1963 (292 606)
ten Art dadurch, daß das Befehlsregister zur Aufnahme von Programmbefehlen in Form mathematischer
Formeln eingerichtet und mit einer eine stellenweise Abtastung gestattenden Entnahme- und
Decodiereinrichtung verbunden ist, durch die nacheinander die Befehlsfolgeschaltungen wahlweise in
Tätigkeit setzbar sind, daß für die in den Formern enthaltenen Angabengruppen, wie Subjekte, Operatoren,
Objekte und Begrenzungsangaben, je ein weiteres mit dem Befehlsregister unter Steuerung der
Befehlsfolgeschaltungen koppelbares Register vorgesehen ist und daß ein von den Befehlsfolgeschaltungen
gesteuerter Zwischenspeicher vorgesehen ist, der zur Aufnahme nicht unmittelbar ausführbarer Operatoren
zusammen mit den zugehörigen Subjekt- oder Objektadressen sowie einem Begrenzungssteuerwort
dient.
Weitere Merlanale der Erfindung sind aus den Ansprüchen in Verbindung mit einem nachfolgend an Hand von Zeichnungen erläuterten Ausführungsbeispiel ersichtlich. Es zeigt
Weitere Merlanale der Erfindung sind aus den Ansprüchen in Verbindung mit einem nachfolgend an Hand von Zeichnungen erläuterten Ausführungsbeispiel ersichtlich. Es zeigt
Fig. 1 ein Blockschaltbild eines Ausführungsbeispiels
nach der Erfindung,
Fig. 2 die Zusammengehörigkeit der Fig. 2a
bis 2 c,
F i g. 2 a bis 2 c ein Programmflußdiagramm zu der Einrichtung nach Fig. 1,
Fig. 3 die Zusammengehörigkeit der Fig. 3a bis 3 f und
Fig. 3 die Zusammengehörigkeit der Fig. 3a bis 3 f und
Fig. 3a bis 3f ein detailliertes Blockschaltbild
der Einrichtung nach Fig. 1.
609 567/433
3 4
Das System besitzt mindestens ein Register zum die »Übertragungs«-Operation selbst als Verb und
Speichern des eigentlichen Maschinen- oder System- das X als Objekt der »Übertragungs«-Funktion an-
befehls. Außerdem sind Register zum Speichern des sehen, die normalerweise eine Anzeige der Adresse
Subjekts eines Systemvorgangs oder -befehls, des ist, an der das Ergebnis des algebraischen Ausdrucks
Objekts dieses Befehls oder Vorgangs und des Ope- 5 im Speicher zu speichern ist.
rators selbst vorgesehen, der natürlich besagt, ob es In dem vorstehenden algebraischen Ausdruck ist
sich bei der auszuführenden Operation um eine deutlich, daß bestimmte Verben oder Operatoren
Addition, eine Subtraktion, eine Multiplikation, eine nacheinander ausgeführt werden können, indem man
Division usw. handelt. Zudem ist ein spezieller Spei- den Ausdruck durchgeht, und daß das bei anderen
cherteil oder Speicher vorhanden, der vorübergehend io nicht geht. Bei aufeinanderfolgender Analyse des
die Operanden oder die Operatoren in einer Reihen- vorstehenden Ausdrucks kann die erste Addition
folge und zu einem Zeitpunkt speichert, wie es durch erst ausgeführt werden, wenn die Multiplikation des
die Systemsteuerungen bestimmt wird, wenn solche Klammerausdrucks mit dem Wert B erfolgt ist, und
Operationen hinausgeschoben werden müssen. Ein ebenso kann B erst dann mit C multipliziert werden,
für diesen Zweck besonders geeigneter Speicher ist 15 wenn der ganze Klammerausdruck C+D, der die
der zum Stand der Technik gehörende Kellerspeicher. Addition von C und D erfordert, ausgeführt worden
Außerdem sind verschiedene Decodierer nötig, um ist. Nach Auflösung des Klammerausdrucks und
solche Befehle zu untersuchen und die Beschaffen- Multiplikation von B mit dem Klammerausdruck
heit der verschiedenen Elemente des vollständigen kann jedoch die vorhergehende Addition stattfinden,
Befehls zu bestimmen. 20 da die nach dem Klammerausdruck auftretende Ope-
Es sei darauf hingewiesen, daß die einzelnen ration eine Subtraktion ist und in bezug auf die
Funktionselemente, aus denen das vorliegende Ma- Präzedenz der Ausführung dieselbe Größe hat wie
schinensystem besteht, an sich durchaus herkömm- die vorhergehende Additionsanzeige. Außerdem muß
lieh sind. Zum Beispiel sind die in dem System ent- die ganze arithmetische oder algebraische Operation
haltenen Register, Decodierer, Torschaltungen, Oder- 25 vor der »Übertragungs«-Funktion (-»■) ausgeführt
Schaltungen, Flip-Flops, monostabilen Multivibra- werden, bevor dieses einzelne Ergebnis zu dem an-
toren, die als Taktgeber verwendet werden, und gegebenen Platz im Speicher übertragen werden
verschiedene andere logische Funktionselemente in kann. Nach Abschluß der arithmetischen Operation
der Elektronik und insbesondere in der Computer- wird ihr Ergebnis zum Subjekt der »Übertragungs«-
technik bekannt. Die Erfindung dürfte in dem Ge- 30 Funktion, und dieses Ergebnis wird an dem ange-
samtkonzept des Systems liegen und nicht in einem gebenen Speicherplatz, z. B. bei Z, gespeichert,
dieser Funktionsblöcke oder deren spezieller Schal- Wenn man nun das Vorstehende wiederholt, und
tungsanordnung, die an sich bekannt sind. Daher zwar mit Hilfe der speziellen Operationen, die die
werden die speziellen baulichen oder schaltungs- Maschine ausführen muß, um die Befehlsfolge rich-
mäßigen Details der verschiedenen Funktions- 35 tig zu bewerten, wird deutlich, daß zum Abtasten
elemente hier nicht beschrieben, sondern nur ihre des auszuführenden algebraischen Ausdrucks oder
bekannten Funktionen werden erwähnt. der algebraischen Operation die Maschine den ersten
Bevor nun im einzelnen auf das Ausführungsbei- Operanden in der Folge als Operanden erkennen
spiel der Erfindung eingegangen wird, ist es ratsam, muß, daß sie das zweite Zeichen oder Element des
die Probleme allgemein zu besprechen, die bei der 40 Befehls als Operator erkennen muß und daß sie im-Ausführung
einer bestimmten mathematischen oder stände sein muß, eine Vorrangsbewertung für diesen
anderen Aufgabe auf einem elektronischen Rechen- Operator zu bestimmen. Ferner muß sie das dritte
automaten auftreten. Jede Folge von Maschinen- Element des Befehls prüfen, um festzustellen, ob es
befehlen besteht aus mehreren Befehlssätzen. Zum ein weiterer Operand oder ein Sonderzeichen ist,
Beispiel, was den algebraischen Ausdruck 45 d. h. eine linke Klammer »(«. Wenn direkt nach dem
. , „ ,-, _v_„ „ Operator eine »(« auftritt, ist offensichtlich, daß
*■ ' ""*" ohne Rücksicht darauf, was der Operator war, der
betrifft, so kann man sagen, daß diese Maschinen- erste Operand und dieser Operator vorübergehend
operation mehrere einzelne Befehlssätze enthält, die gespeichert werden müssen, bis der Ausdruck in der
ein Subjekt, ein Objekt und einen Operator oder ein 50 Klammer bestimmt werden kann. Wenn der AusVerb aufweisen. Der Satz A +B besagt, daß A das druck zufällig ein weiterer Operand ist, muß der
Verb und B das Objekt sind. Der Ausdruck vierte Ausdruck geprüft werden, um zu bestimmen,
B ,,,,„, ob der erste Satz ausgeführt werden kann oder nicht.
jsx(U-t ) Jjn vorstehenden Beispiel wäre dies eine angezeigte
ist ein anderer Satz, in dem B das implizierte Sub- 55 Multiplikation (X) zwischen dem Wert .B und dem
jekt, das X oder Multiplikationssymbol das Verb Klammerausdruck. In einem solchen Falle muß der
und der Klammerausdruck C+D das Objekt sind. Wert A plus dem Operator Addition (+) in einen
Der Klammerausdruck C+D ist selbst wieder ein speziellen Speicherplatz eingeführt werden, bis diese
Satz mit C als Subjekt, dem + als Verb und D als zweite Bedingung, d. h. die Multiplikation (X), erObjekt,
und schließlich ist der Satz 60 füllt ist. Jetzt wird B zum Subjekt des neuen Satzes,
Γ λ _ι_ Tt ν (r-i-nW — π ^er bewertet wird, und der Multiplikationsoperator
[A -ta X [L· -1TU)I —t ^Γ(1 zcm yerbj und nun ^1nJ der näc]lste Operand
ein Satz, in dem der eckig eingeklammerte Satz das in Angriff genommen, und da ein Klammerausdruck
Subjekt, das — das Verb und F das Objekt ist. folgt, wird der Werts plus dem ihm zugeordneten
Ebenso kann man den ganzen Ausdruck 65 Operator in gleicher Weise in einen speziellen Spei-
wiDW/'i.iiYvp cherplatz eingegeben, bis es möglich ist, diese Ope-
A + X{C+ ; t ration auszuführen. Jetzt muß der Klammerausdruck
als das Subjekt der »Übertragungs«-Operation (->), bewertet werden, und beim Erkennen der »(« weiß
5 6
das System dann, daß ein Operand folgen muß, da daß die Werte A, B, C, D und F Zahlen seien oder
auf eine solche Klammer normalerweise ein Verb arithmetische oder numerische Werte darstellten und
folgt, und da in diesem Falle das dritte Element des daß das Element X eine Adresse sei. In solchen Ma-Klammerausdrucks
ein weiterer Operand mit nach- schinenbefehlen wären natürlich die eigentlichen folgender »(« ist, führt das System die angezeigte 5 Zahlen A, B, C, D und F absolute Adressen im
Addition (+) aus. Jetzt muß das System sich selbst Hauptspeicher der zu verarbeitenden Werte oder
in seine vorherige Lage zurückstellen, als ob der ge- Zahlen, und der Befehl bzw. der Entschlüsseier
löste Klammerausdruck nur irgendein Operand wäre, würde diese Adressen als allgemeine Zeichen er-
und der nächste Ausdruck der algebraischen Ope- kennen. Die Befehle umfassen die verschiedenen
ration muß geprüft werden, d. h. eine Subtraktion io arithmetischen Operationsanzeigen, z. B. Addition
(—), um zu sehen, ob die vorher angeforderte Multi- (+), Subtraktion (—), Multiplikation (X), Diviplikation
(X) ausgeführt werden kann. Da die Multi- sion (/), »Übertragungs«-Funktion (->·), »Verplikation
(X) Vorrang gegenüber der Subtraktion gleichs«-Funktion (=) und die eigentlichen Markie-(—)
hat, wird die Multiplikation (X) zwischen dem rungen für den Klammerausdruck, nämlich eine linke
Wert B und dem Ergebnis des Klammerausdrucks, 15 Klammer »(« und eine rechte Klammer »)«. Weiter
der nun aufgelöst ist, ausgeführt, und weiter wird, da wird bei solchen Befehlen eine Sondermarke an den
das Subtraktionsverb (—) den gleichen Rang wie die Anfang und das Ende der Befehlsfolge gesetzt, und
Addition (+) hat, die Addition zwischen dem Wert zwar wird diese sogenannte »Aufzeichnungsmarke«
und der eben vollzogenen Multiplikation zwischen in den nachstehenden Beispielen durch das Zeidem
Wert B und dem Klammerausdruck ausgeführt, ao chen φ ausgedrückt.
und dieses Gesamtresultat wird jetzt zum neuen Sub- Im vorliegenden System und für die Zwecke der
jekt der Operationsbewertung und steht an entspre- Beschreibung des Ausführungsbeispiels der Erfinchender
Stelle. Jetzt wertet das System den Wert F dung wird angenommen, daß alle Daten in dem
aus, und da es feststellt, daß dies ein Operand ist, Speicher in Wörtern zu je acht 8-Bit-Zeichen organibewertet
es den nächsten Wert und trifft auf die 35 siert sind. Für einen typischen in dem vorstehenden
»Übertragungs«-Funktion. Da eine solche »Übertra- Beispiel enthaltenen Maschinenbefehl sind also die
gungs«-Funktion anzeigt, daß der ganze vor ihr Aufzeichnungsmarke und die Operatoren +, —, X,
stehende Ausdruck entweder bis zum Beginn des /, »(«, »)« usw. aus je acht Bits bestehende, binär
Befehls oder bis zur linken Klammer »(« eines verschlüsselte Zeichen, die eine Zeichenstelle im
Klammerausdrucks, der denselben enthält, zu über- 30 Maschinenbefehl einnehmen. Die Adresse oder die
tragen ist, erhält das System automatisch die An- in den Befehlen erscheinenden Werte oder Zahlen
Weisung, die Subtraktion zwischen dem vorherigen erfordern zwei Zeichenstellen. Der Grund dafür ist,
Ergebnis und dem Wert F auszuführen, und das Er- daß es die Standard-Wortadresse in einem konvengebnis
dieser Subtraktion wird wiederum in einen tionellen 128 · 128-Speicher, der nach Wörtern orgaspeziellen
Resultatspeicherplatz eingegeben, und das 35 nisiert ist, wie sie in dem nachstehend beschriebenen
auf die »Übertragungs«-Funktion folgende Element System verwendet wird, erfordert, daß insgesamt
wird ausgewertet. Da es sich dabei um einen Ope- vierzehn Bits zur Bildung einer kompletten Wortranden
handelt, arbeitet das System weiter und be- adresse nötig sind. Von diesen vierzehn Bits sind
stimmt mittels einer entsprechenden, ihm gelieferten sieben,die Z-Adresse und sieben die F-Adresse, wie
Aufzeichnungsmarke, daß das Ende der Operation 40 es in der Computertechnik bekannt ist. Aus diesem
erreicht ist, und nun wird der vorher in dem spe- Grunde sind in den nachstehenden Beispielen die
ziellen Speicherplatz gespeicherte Wert zu der eigentlichen Werte oder Zahlen, die in dem jeweili-Adresse
übertragen, die von dem »Übertragungs«- gen Systembefehl zu verarbeiten sind, als Doppel-Befehl
angefordert worden ist. buchstaben dargestellt, z. B. AA, BB, CC usw., wo-
Aus der vorstehenden allgemeinen Besprechung 45 durch angedeutet wird, daß jede Adresse für eine
ist ersichtlich, daß das System, damit es einen sol- solche Zahl zwei Zeichenstellen in einem Maschinenchen
Befehl richtig bewerten kann, eine Entschlüsse- wort und damit im Speicher benötigt,
lungseinrichtung enthalten muß, die die verschiede- Wie aus der vorstehenden Beschreibung der Vor-
lungseinrichtung enthalten muß, die die verschiede- Wie aus der vorstehenden Beschreibung der Vor-
nen Teile des Systembefehls erkennt, sowie eine bedingungen für ein System, das imstande ist, auto-Speichereinrichtung
zum Speichern derjenigen Ope- 50 matisch die Reihenfolge eines arithmetischen oder
randen und Operatoren, die nicht sofort benutzt oder algebraischen Maschinenbefehls zu bestimmen, herausgeführt
werden können wegen der Beschaffenheit vorgeht, müssen natürlich bestimmte Sprach- und
oder Anordnung des Befehls. Der Speichereinrich- Rechenregeln befolgt werden. Wenn z. B. ein Teil
tung muß eine Steuereinrichtung zugeordnet sein, oder Element des mathematischen Ausdrucks als
damit die verschiedenen Teile des Befehls in der be- 55 Ganzes zu verarbeiten ist, d. h. wenn es ein Divisor,
treffenden Reihenfolge gespeichert und in der umge- Dividend, Multiplikand usw. sein soll, muß dieser
kehrten Folge wieder ausgelesen werden. Außerdem Teil des Befehls in Klammern eingeschlossen wersind
Mittel erforderlich zur vorübergehenden Spei- den, um dadurch anzuzeigen, daß er ein Klammercherung
der Ergebnisse der verschiedenen von dem ausdruck ist, der nach Ausführung der innerhalb
System ausgeführten Operationen sowie zum Be- 60 der Klammern angegebene Operationen als ein einstimmen
des Vorrangs der verschiedenen mathema- ziger Wert zu behändem ist. Außerdem muß nach
tischen Operatoren und Sondersymbole, wie z. B. den normalen mathematischen Operationen, d. h.
der Klammern, der »ÜbertragungSÄ-Funktionen, der +, —, X oder /, auf jeder Seite ein Operand stehen,
»Vergleichs«-Funktionen u. dgl., die normalerweise ob es nun ein in einem allgemeinen Zeichenadreßin
solchen Maschinenbefehlen vorkommen. 65 system dargestellter tatsächlicher Wert oder irgend-
Es folgt nun eine Beschreibung der von dem er- ein Klammerausdruck ist. Das bedeutet in anderen
findungsgemäßen System verwendeten Maschinen- Worten, daß es nicht richtig wäre, einen Additionssprache. Im vorstehenden Beispiel wurde nur gesagt, und einen Multiplikationsoperator in aneinander an-
7 8
grenzende Speicherstellen zu bringen, da sie entweder funktion ist es jedoch erforderlich, den Ort des
tatsächlich oder für das System bedeutungslos wären. vorherigen Klammerausdrucks festzuhalten, bis der
Ein weiterer sehr wichtiger Gedanke der Erfindung nötige Vergleich zwischen dem Resultat des vorheriist
es, daß es die automatische Folgesteuerung gen Klammerausdrucks und den Vorbedingungen der
iterativer oder sich wiederholender Operationen ge- 5 Bedingungsfunktion abgeschlossen ist. Daher muß
stattet, eine bestimmte mathematische Operation zu das System unbedingt die linke Klammer »(« und
wiederholen, bis eine bestimmte Bedingung erfüllt deren relativen Platz in der Befehlsfolge sowie die
ist. Ein Beispiel für eine solche iterative Funktion Aufzeichnungsmarke und deren Platz im Speicher
ist im ersten Beispiel gezeigt, das als nächstes in der festhalten können, bis mindestens bestimmt wird,
Beschreibung folgt. Dabei handelt es sich um die io daß auf den Klammerausdruck kein Bedingungs-Ausführung
einer Operation in bezug auf einen hefehl folgt oder, im Falle der Anfang-Aufzeichveränderlichen
Wert gemäß einer bestimmten Formel nungsmarke, daß diese nicht an anderer Stelle in
oder einem Befehl und um die Veränderung der der Befehlsfolge auftritt. Außerdem erfordert es das
Veränderlichen um einen angezeigten Betrag oder in vorliegende System, daß das eigentliche Subjekt oder
angezeigter Art und Weise entsprechend dem Befehl 15 die iterative Funktion, die in einer bedingten Aus-
und darum, nach jeder Operation das Resultat mit sage auszuführen ist, von Klammern eingeschlossen
einem gewünschten Resultat zu vergleichen und den ist, wenn nicht die ganze vorhergehende Befehlsfolge
Befehl zu wiederholen, bis eine Übereinstimmung iteriert werden soll, und daß ebenso das Objekt oder
erreicht ist. Diese Programmfolge wird ausgelöst die zu erfüllende Bedingung eingeklammert ist, damit
durch die Verwendung eines speziellen Bedingungs- ao das System die Funktion richtig »bewerten« und die
symbols »bed«, das zusammen mit einer Beschrei- iterativen Operationen wiederholen kann, bis die
bung der zu erfüllenden Bedingung in den System- geforderte Bedingung tatsächlich erfüllt wird,
befebl eingesetzt wird. Da ein solcher iterativer Die im vorliegenden Ausführungsbeispiel vor-Ausdruck natürlich nur ein kleinen Teil eines voll- gesehenen mathematischen Berechnungen sind Addiständigen Maschinenbefehls bilden kann, muß das 25 tion (+), Subtraktion (—), Multiplikation (X) und System mit einer Einrichtung versehen werden, die Division (/). Da die Mehrheit der eigentlichen Opeeine Rückkehr bis nur zu dem durch den iterativen rationen in der Maschinenrecheneinheit oder zen-Teil des Befehls angegebenen Punkt bewirkt und tralen Verarbeitungseinheit in Wirklichkeit yerschiediesen Teil nur so lange ausführt, bis die Bedingung dene Kombinationen der vorgenannten vier Rechenerfüllt ist. 30 operationen sind, sind diese Operationen als die im
befebl eingesetzt wird. Da ein solcher iterativer Die im vorliegenden Ausführungsbeispiel vor-Ausdruck natürlich nur ein kleinen Teil eines voll- gesehenen mathematischen Berechnungen sind Addiständigen Maschinenbefehls bilden kann, muß das 25 tion (+), Subtraktion (—), Multiplikation (X) und System mit einer Einrichtung versehen werden, die Division (/). Da die Mehrheit der eigentlichen Opeeine Rückkehr bis nur zu dem durch den iterativen rationen in der Maschinenrecheneinheit oder zen-Teil des Befehls angegebenen Punkt bewirkt und tralen Verarbeitungseinheit in Wirklichkeit yerschiediesen Teil nur so lange ausführt, bis die Bedingung dene Kombinationen der vorgenannten vier Rechenerfüllt ist. 30 operationen sind, sind diese Operationen als die im
In dem vorliegenden System ist ein Teil von dessen vorliegenden Ausfuhrungsbeispiel besonders zu ana-
Steuerschaltung so angeordnet, daß er gerade diese lysierenden gewählt worden, und die Reihenfolge für
Operation ausführt, und zwar wird während der eine maschinelle Lösung einer solchen Aufgabe wird
Ausführung eines Befehls ein bestimmter Klammer- im einzelnen erläutert werden. Jeder andere Operator
ausdruck, der das Subjekt eines Bedingungsbefehls 35 könnte in ähnlicher Weise mit aufgenommen werden,
sein kann, in der üblichen Weise ausgeführt, und Wie schon erwähnt, sind die Multiplikations- und
zu dieser Zeit wird der Bedingungsbefehl festgestellt. die Divisionsoperation gleich wichtig in bezug auf
Es sind jedoch Mittel vorgesehen, die automatisch die Reihenfolge- oder Vorrangsteuerung in der
in einem bestimmten Speicherplatz eine Anzeige Maschine, so daß beim Auftreten einer unterbroche-
dafür speichern, wo eine Klammeroperation in der 40 nen Folge von Multiplikationen und Divisionen jede
Befehlsfolge beginnt, damit in dem Falle, daß ein einzelne Multiplikation oder Division sofort und
Bedingungssymbol nach dem Klammerausdruck ent- ohne Warten auf die Ausführung einer bevorzugten
deckt wird, das Produkt dieses Klammerausdrucks Reihenfolge ausgeführt werden könnte. In einer
automatisch mit einer bestimmten angegebenen Be- Befehlsreihe, wie z.B. AXB/CXDXE, könnte also
dingung verglichen werden kann, und wenn es diese 45 das A mit dem B multipliziert werden, bevor das B
nicht erfüllt, kann die gespeicherte Darstellung der durch C dividiert wird, oder es könnte B durch C
Adresse des gewünschten Klammerausdrucks erneut dividiert werden, bevor C mit D multipliziert wird
aufgerufen und die Operation wiederholt werden, bis usw. Ebenso können Reihen von Additionen oder
die Bedingung erfüllt ist. Es ist auch möglich, daß Subtraktionen nacheinander ausgeführt werden, ohne
der gesamte vorherige Befehl das Subjekt des Be- 50 den Vorrang von Operationen zu beachten; d.h.
dingungsbefehls ist, wobei die Anfang-Aufzeich- A+B—C+D können in der angegebenen Reihen-
nungsmarke φ abwechselnd der Anfangspunkt für folge ausgeführt werden, ohne die Richtigkeit des
die wiederholte Operation ist. Im vorliegenden Aus- Ergebnisses zu beeinträchtigen. Natürlich müssen
führungsbeispiel ist eine geeignete Steuerschaltungs- Multiplikationen und Divisionen vor Additionen
anordnung vorgesehen, mit deren Hilfe zuerst nach 55 oder Subtraktionen ausgeführt werden, wenn man die
einer linken Klammer »(« gesucht und, wenn keine richtigen Ergebnisse erhalten will,
vorhanden war, zum Beginn der Befehlsfolge zurück- Die von arithmetischen oder mathematischen
gekehrt wird. Funktionen verschiedenen speziellen Symbole, die
Wie in der vorstehenden allgemeinen Besprechung im vorliegenden Ausführungsbeispiel vorgesehen
der Vorbedingungen für ein solches System erwähnt, 60 sind, sind die rechte und die linke Klammer »)«, »(«,
wäre es beim normalen Ablauf der Vorgänge, wenn die Aufzeichnungsmarke φ, die »Übertragungs«-
ein Klammerausdruck gelöst und danach ein Ope- Funktion ->- und die »Vergleichs«- oder »Gleich«-
rator, wie z. B. Multiplikation, Addition, Subtraktion Funktion =. Unter Verwendung dieser Symbole
oder Division, entdeckt wird, nicht nötig, den Ein- dürfte jede normalerweise in einem Rechenautomaten
trittspunkt in den Klammerausdruck aufzubewahren, 65 vorkommende Rechenoperation richtig ausgedrückt
und er würde bei Abschluß der Operation einfach und ausgeführt werden, wenn das automatische
aus dem Befehls- oder anderen Speicherregister ge- Befehlsfolgesteuersystem verwendet wird. Um nun
löscht. Im Falle der Feststellung einer Bedingungs- nochmals auf den relativen Vorrang einzugehen, der
9 10
den arithmetischen Operatoren sowie den speziellen Speicherplatz in eine Pufferregistereinrichtung zum
Operatoren oder Funktionen gegeben wird, so dürfte Ergebnis hat und bei dem dieses Wort oder Daten-1
aus der vorstehenden Beschreibung und auch aus der segment in der zentralen Verarbeitungseinheit für
Erläuterung von Fig. 2 und 3 hervorgehen, daß das eine mathematische Berechnung oder in beliebiger
Bedingungssymbol, das Symbol für die linke Klam- 5 anderer Weise verwendet werden kann. Solche
mer, das Symbol für die Aufzeichnungsmarke, das Speicher sind in der Rechenautomatentechnik durchSymbol
für die rechte Klammer und das »Über- aus bekannt, und für die Zwecke der vorliegenden
tragungs«-Symbol getrennt voneinander von dem Beschreibung wird angenommen, daß der Speicher
System festgestellt und benutzt werden, um bestimmte automatisch eine Information liefert, wenn ihm die
Arbeitsfolgen des Systems einzuleiten, wie es noch io richtige Adresse zugeführt wird, oder daß er eine
im einzehien beschrieben wird. Von diesen Symbolen bestimmte Information in einem spezifierten Adreswerden
nur die Symbole »Übertragung« (-*-) und senplatz speichert, wenn ihm ein entsprechender
»Vergleich« (=) tatsächlich als Befehle der zentralen »Lese«- oder »Schreib«-Befehl zugeführt wird.
Verarbeitungseinheit des Rechenautomaten züge- Die in der Beschreibung verwendete zentrale Verleitet, die die erforderliche Rechenoperation ausführt. 15 arbeitungseinheit ist eine Einheit, die die vier Grund-
Verarbeitungseinheit des Rechenautomaten züge- Die in der Beschreibung verwendete zentrale Verleitet, die die erforderliche Rechenoperation ausführt. 15 arbeitungseinheit ist eine Einheit, die die vier Grund-
Dem »Vergleichs«-Symbol (=) wird der gleiche rechenoperationen ausführen kann. Der zentralen
Vorrang wie einer Multiplikation (X) oder einer Verarbeitungseinheit müssen die Operanden, d. h.
Division (/) gegeben, denn es hat den Vorrang gegen- Subjekt und Objekt sowie eine Anzeige für die ausüber
einer Addition (+) oder einer Subtraktion (—) zuführende Operation, zugeführt werden. Die Opesowie
gegenüber einer »Übertragungs«-Funktion (->-). 20 randen werden der zentralen Verarbeitungseinheit in
Dies kann aber etwas irreführend sein, da eine »Ver- Form ihre vierzehn Bits umfassenden binären Adresgleichs«-Funktion
gewöhnlich in einer konventionel- sen zugeführt, wie es oben erwähnt worden ist, und
len oder iterativen Operation benutzt wird und ein die zentrale Verarbeitungseinheit greift automatisch
einfaches Subjekt und Objekt hat und es daher die Operanden aus ihren jeweiligen Speicherplätzen
normalerweise nicht nötig ist, den Vorrang dieser 25 heraus, bringt sie in die verschiedenen Register
Funktion gegenüber einer anderen Funktion zu be- innerhalb der zentralen Verarbeitungseinheit ein und
achten. führt die angegebenen Operationen aus. Nach der
Wie schon gesagt, zeigt die »Übertragungs«-Funk- Ausführung der angegebenen Operationen speichert
tion (-=>-) an, daß ihr Subjekt oder ein bestimmter die zentrale Verarbeitungseinheit automatisch das
Wert zu einer durch den Befehl angegebenen Adresse 30 Ergebnis in einem Akkumulator, bei dem es sich um
im Speicher zu übertragen ist. Natürlich muß alles, einen Teil des Hauptspeichers handeln kann, und die
was an Operanden und Operatoren vor der »Über- Adresse dieses Ergebnisses wird wieder der Befehlstragungs«-Funktion
gestanden hat, unbedingt aus- Steuereinheit zugeleitet, um darin in der noch zu geführt werden, bevor die eigentliche »Übertragung« beschreibenden Art und Weise verwendet zu werden,
stattfinden kann. Wenn in dem vorliegenden System 35 Zusammen mit der Ergebnisadresse wird in herkömmeine
»Übertragungs «-Funktion festgestellt wird, zeigt licher Weise ein Signal geliefert, welches anzeigt,
dies an, daß alle Operationen, die sich in den vor- daß die betreffende arithmetische Operation ausübergehenden
Speicherstellen befinden, ausgeführt geführt ist.
sein müssen bis zurück entweder zum Anfang des Nach dieser allgemeinen Beschreibung der Pro-Klammerausdrucks,
in dem sie enthalten ist, oder 40 bleme, die es bei der Folgesteuerung eines Rechenzu
einer Aufzeichnungsmarke (φ), die den Anfang befehls an den Rechenautomaten zu lösen gibt,
der eigentlichen Befehlsfolge anzeigt. Wenn also der sowie der allgemeinen Art der Lösung solcher Pro-
»Übertragungs«-Operator innerhalb eines Klammer- bleme durch das vorliegende System folgt nun eine
ausdrucke steht, ist es — wie in dem nachstehenden allgemeine Beschreibung der Grundbauelemente, die
Beispiel — offensichtlich, daß die Operation auszu- 45 in einem solchen System nötig sind, um diese Folgeführen
und das Ergebnis zu der gewünschten Adresse steuerung zu erreichen, und zwar an Hand des allzu
übertragen ist und daß das Ergebnis in dieser gemeinen Blockdiagramms von Fig. 1.
Adresse als Wert zu behandeln ist, der bei der Aus- F i g. 1 gibt einen Überblick über die Hauptteile führung nachfolgender Schritte in dem angezeigten des Systems. Diese Figur zeigt diejenigen Bauelemente Befehl noch verwendet werden soll. Wenn also eine 50 des Systems, die dazu dienen, einen Befehl zu be- »Übertragungs«-Funktion in einem Klammeraus- werten, solche Befehle, die sofort ausgeführt werden druck steht, ist nur der Teil des Befehls innerhalb können, nach den normalen mathematischen Regeln des Klammerausdrucks, der links von der »Über- auszuführen, diejenigen Funktionen, die nicht sofort tragungs«-Funktion steht, als Subjekt dieser »Über- ausgeführt werden können, vorübergehend zu speitragungs«-Funktion anzusehen. 55 ehern, andere nachfolgende Funktionen, die vor den
Adresse als Wert zu behandeln ist, der bei der Aus- F i g. 1 gibt einen Überblick über die Hauptteile führung nachfolgender Schritte in dem angezeigten des Systems. Diese Figur zeigt diejenigen Bauelemente Befehl noch verwendet werden soll. Wenn also eine 50 des Systems, die dazu dienen, einen Befehl zu be- »Übertragungs«-Funktion in einem Klammeraus- werten, solche Befehle, die sofort ausgeführt werden druck steht, ist nur der Teil des Befehls innerhalb können, nach den normalen mathematischen Regeln des Klammerausdrucks, der links von der »Über- auszuführen, diejenigen Funktionen, die nicht sofort tragungs«-Funktion steht, als Subjekt dieser »Über- ausgeführt werden können, vorübergehend zu speitragungs«-Funktion anzusehen. 55 ehern, andere nachfolgende Funktionen, die vor den
Es ist beabsichtigt, das vorliegende Befehlsfolge- gespeicherten Funktionen ausgeführt werden können,
steuersystem in einem normalen Rechenautomaten auszuführen und die vorübergehend gespeicherten
zu verwenden, der den üblichen großen Speicherteil Teile des Befehls erneut aufzugreifen und in richtiger
besitzt und eine zentrale Verarbeitungseinheit, die Reihenfolge auszuführen.
imstande ist, die erforderlichen mathematischen oder 60 Dadurch, daß verschiedene der in dem gesamten
arithmetischen Berechnungen automatisch auszu- Befehlssatz enthaltenen Operationsbefehle sowie
führen. Das von der Erfindung vorgesehene Speicher- die oben beschriebenen Spezialbef ehle, wie z. B.
system ist ein normaler dreidimensionaler, nach die Aufzeichnungsmarken (φ), Übertragungsfunktio-Wörtern
organisierter Speicher mit Wörtern von nen (-V), Bedingungsfunktionen, »VergleichsÄ-Funkfeststehender
Feldlänge, in welchem die absolute 55 tionen (=) usw., bewertet werden und einen beAdresse
in den Hauptspeicher der dafür vorgesehe- stimmten Wertvorrang zugeteilt erhalten, ist die
nen Adressierschaltung zugeführt wird und die Über- logische Schaltungsanordnung des Systems automatragung
eines gegebenen Wortes am entsprechenden tisch imstande, die richtige Reihenfolge für die Äus-
11 12
führung der verschiedenen Operationen von Befehlen traktion, eine Multiplikation, eine Division, einen
zu bestimmen. Das Befehlsregister 10 in der linken »Vergleich«, eine »Übertragung«, eine linke Klamoberen
Ecke der Figur dient zum Speichern und auf- mer oder eine rechte Klammer während einer wirkeinanderfolgenden
Prüfen der gesamten Befehlsfolge, liehen Auswertfolge handelt. Warum diese Bestimdie
nach dem oben angegebenen Schema angeordnet 5 mungen nötig sind, wird aus der nachfolgenden
ist und die erwähnten speziellen Symbole verwendet. Beschreibung von F i g. 3 deutlich werden.
Der Befehlsentschlüsseler 36 untersucht zeichenweise Die Befehlsfolge- und Taktsteuereinheit 31 benutzt den Inhalt des Befehlsregisters und bestimmt die Be- die Ausgangssignale des Befehlsentschlüsselers 36 schaffenheit des betreffenden Zeichens an einer be- und des Operatorentschlüsselers 35, um festzustellen, stimmten Stelle in der Befehlsfolge. Das Ausgangs- ίο in welcher Weise eine Operation von einer Maschine signaldiesesBefehlsentschlüsselers führt dieSchlüssel- auszuführen ist. Die Einheit besteht aus mehreren funktion aus, daß es den Folgesteuerungen mitteilt, monostabilen Multivibratoren, die als Taktgeberweiche Art von Zeichen an einer bestimmten Stelle stufen wirken und in der Rechenautomatentechnik in dem Entschlüsseier vorliegt, und dafür sorgt, daß durchaus bekannt sind. Wenn ein monostabiler Multidie verschiedenen Vorrangsteuerungen bezüglich der 15 vibrator oder eine Taktgeberstufe eingeschaltet wird, Befehlswörter oder Operationen eingestellt werden wird ein Ausgangsimpuls endlicher Dauer erzeugt, und daß es außerdem das Auftreten der speziellen und wenn die Stufe ausgeschaltet wird, wird ein AusSymbole, wie z.B. der Klammern, Aufzeichnungs- gangs- oder Abschaltimpuls erzeugt. Diese Impulse marken, Übertragungsfunktionen, Bedingungsfunk- können in bekannter Weise benutzt werden, um vertionen, oder das Vorliegen der allgemeinen Zeichen- ao schiedene Steuerfunktionen zu erreichen, die für die adresse anzeigt. Der Ausgang dieses Entschlüsselers zeitliche Steuerung des Analysier- und Folgesteuerbestehtaus mehreren Leitungen, die in die Befehls- Verfahrens nötig sind. Eine Reihe dieser monostabilen folgesteuerungs- und Takteinheit führen, die das Multivibratoren bildet eine synchrone Steuereinheit, Hinein- und Herausleiten der verschiedenen Befehls- und zwar sind die Multivibratoren normalerweise mit zeichen in die und aus den Speicherregistern steuert 25 den Enden aneinandergeschlossen, so daß erst eine und sie der zentralen Verarbeitungseinheit in der Funktion abgeschlossen sein muß und eine andere richtigen Reihenfolge zuführt. erst bei Abschluß der ersten Funktion beginnen kann Die Subjekt- und Objektregister 18 und 24 sind und der dabei erzeugte Ausgangsimpuls einen nach-Speicherregister, die Wörter von je acht Zeichen zu folgenden Umlauf einleitet. Für verschiedene Steuerje acht Bits pro Zeichen speichern können und in 30 funktionen wird in der Taktsteuereinheit eine Verder nachstehend beschriebenen Weise verwendet zweigung mittels herkömmlicher Und- oder Oderwerden. Diese Register werden insbesondere sowohl Tore, Flip-Flops, Umkehrstufen u. dgl. erreicht, für die zeitweilige Speicherung als auch für die deren jeweilige Wirkungsweise bekannt ist. Diese Konstruktion von Wörtern verwendet, die danach Einheit erzeugt die verschiedenen Torsteuersignale in entweder bei der Durchführung von Berechnungen 35 Zusammenwirkung mit den Ausgangssignalen der Bein der zentralen Verarbeitungseinheit CPU (nicht fehls- und Operations- oder Entschlüsselungseingezeigt) benutzt werden, oder für die Übertragung heiten, die bestimmen, wann und ob Sätze eines Einin den oder aus dem Befehls-Kellerspeicher 32. Die gangsbefehls zu einer bestimmten Zeit ausgeführt dem Subjekt- bzw. Objektregister 18 bzw. 24 züge- werden müssen, wo sie dann richtig ausgeführt ordneten Subjektadressen- und Objektadressen- 40 werden können, ohne ein falsches Resultat in der register 22 und 28 sind die Register, die zum Spei- Recheneinheit zu ergeben. Das Klammersteuerregister ehern der Adressen der verschiedenen in einem 30 besteht aus sechs Flip-Flops und dient dazu, den Systembefehl enthaltenen Operanden dienen. Adres- Zustand der verschiedenen Teile der Steuerschaltung sen können aus dem Befehlsregister 10 in diese in der Befehlsfolge- und Taktsteuereinheit zu einem Register und danach in das Objektregister 24 und 45 bestimmten Zeitpunkt während einer Untersuchung dann in den Kellerspeicher 32 geleitet werden auf eines Eingangsbefehls im Gedächtnis zu behalten. Befehl der Befehlsfolge- und Taktsteuereinheit 31. Die in diesem Register enthaltenen Daten werden auf Der Akkumulator der zentralen Verarbeitungseinheit Befehl aus der Befehlsfolgesteuereinheit 31 in der speichert das Ergebnis jeder Rechenoperation und fünften Zeichenstelle des Objektregisters gespeichert, liefert die Adresse des Ergebnisses einer eben abge- 50 wenn es nötig ist, eine bestimmte Operation hinausschlossenen Berechnung im Speicher oder im Akku- zuschieben und sie zu speichern, während andere mutator zu der Befehlsfolge- und Taktsteuereinheit Operationen ausgeführt werden. Mittels der Speicheweiter. Im Operatorregister 14 wird das eigentliche rung dieser Informationen erhält das System die Verb oder der Operator in der acht Bits umfassenden Möglichkeit, zu der gewünschten Stelle in den Bebinären Form gespeichert, der in dieses Register 55 fehlsfolgen zurückzukehren. Wie noch näher erentweder aus dem Befehlsregister 10 auf Befehl oder läutert wird, wird dieser letztgenannte Schritt bei der aus einem bestimmten Speicherplatz eines Wortes Klammerauswertfolge verwendet,
übertragen wird, welches in dem Kellerspeicher 32 Der als Befehlskellerspeicher 32 bezeichnete Block gespeichert worden ist, nachdem diese Information besteht aus einem mehrstelligen Speicher mit einer zur Ausführung des gespeicherten Befehls aus dem 60 zugeordneten Adressiereinrichtung, die ein erstes zu Kellerspeicher 32 entnommen worden ist. Die einzi- speicherndes Informationsbit in einen ersten Speichergen Daten, die normalerweise im Operatorregister 14 platz einbringt und auf einen weiteren »Eingabe«- gespeichert werden, sind die eigentlichen mathema- Befehl hin nacheinander die aufeinanderfolgenden tischen Operatoren und die speziellen Operator- Informationen in dem Speicher speichert; wenn abei zeichen, wie z.B. die Klammern und dieBedingungs- 65 ein »Lese«-Befehl empfangen wird, liest der Speichel funktionen. Der Operator-Entschlüsseier 35 dient die Informationen in der umgekehrten Reihenfolge, dazu, einen Operator zu analysieren, um zu bestim- in der sie eingebracht worden sind, wieder aus. Ein men, ob es sich dabei um eine Addition, eine Sub-· solcher Kellerspeicher ist in der Technik bekannt; im
Der Befehlsentschlüsseler 36 untersucht zeichenweise Die Befehlsfolge- und Taktsteuereinheit 31 benutzt den Inhalt des Befehlsregisters und bestimmt die Be- die Ausgangssignale des Befehlsentschlüsselers 36 schaffenheit des betreffenden Zeichens an einer be- und des Operatorentschlüsselers 35, um festzustellen, stimmten Stelle in der Befehlsfolge. Das Ausgangs- ίο in welcher Weise eine Operation von einer Maschine signaldiesesBefehlsentschlüsselers führt dieSchlüssel- auszuführen ist. Die Einheit besteht aus mehreren funktion aus, daß es den Folgesteuerungen mitteilt, monostabilen Multivibratoren, die als Taktgeberweiche Art von Zeichen an einer bestimmten Stelle stufen wirken und in der Rechenautomatentechnik in dem Entschlüsseier vorliegt, und dafür sorgt, daß durchaus bekannt sind. Wenn ein monostabiler Multidie verschiedenen Vorrangsteuerungen bezüglich der 15 vibrator oder eine Taktgeberstufe eingeschaltet wird, Befehlswörter oder Operationen eingestellt werden wird ein Ausgangsimpuls endlicher Dauer erzeugt, und daß es außerdem das Auftreten der speziellen und wenn die Stufe ausgeschaltet wird, wird ein AusSymbole, wie z.B. der Klammern, Aufzeichnungs- gangs- oder Abschaltimpuls erzeugt. Diese Impulse marken, Übertragungsfunktionen, Bedingungsfunk- können in bekannter Weise benutzt werden, um vertionen, oder das Vorliegen der allgemeinen Zeichen- ao schiedene Steuerfunktionen zu erreichen, die für die adresse anzeigt. Der Ausgang dieses Entschlüsselers zeitliche Steuerung des Analysier- und Folgesteuerbestehtaus mehreren Leitungen, die in die Befehls- Verfahrens nötig sind. Eine Reihe dieser monostabilen folgesteuerungs- und Takteinheit führen, die das Multivibratoren bildet eine synchrone Steuereinheit, Hinein- und Herausleiten der verschiedenen Befehls- und zwar sind die Multivibratoren normalerweise mit zeichen in die und aus den Speicherregistern steuert 25 den Enden aneinandergeschlossen, so daß erst eine und sie der zentralen Verarbeitungseinheit in der Funktion abgeschlossen sein muß und eine andere richtigen Reihenfolge zuführt. erst bei Abschluß der ersten Funktion beginnen kann Die Subjekt- und Objektregister 18 und 24 sind und der dabei erzeugte Ausgangsimpuls einen nach-Speicherregister, die Wörter von je acht Zeichen zu folgenden Umlauf einleitet. Für verschiedene Steuerje acht Bits pro Zeichen speichern können und in 30 funktionen wird in der Taktsteuereinheit eine Verder nachstehend beschriebenen Weise verwendet zweigung mittels herkömmlicher Und- oder Oderwerden. Diese Register werden insbesondere sowohl Tore, Flip-Flops, Umkehrstufen u. dgl. erreicht, für die zeitweilige Speicherung als auch für die deren jeweilige Wirkungsweise bekannt ist. Diese Konstruktion von Wörtern verwendet, die danach Einheit erzeugt die verschiedenen Torsteuersignale in entweder bei der Durchführung von Berechnungen 35 Zusammenwirkung mit den Ausgangssignalen der Bein der zentralen Verarbeitungseinheit CPU (nicht fehls- und Operations- oder Entschlüsselungseingezeigt) benutzt werden, oder für die Übertragung heiten, die bestimmen, wann und ob Sätze eines Einin den oder aus dem Befehls-Kellerspeicher 32. Die gangsbefehls zu einer bestimmten Zeit ausgeführt dem Subjekt- bzw. Objektregister 18 bzw. 24 züge- werden müssen, wo sie dann richtig ausgeführt ordneten Subjektadressen- und Objektadressen- 40 werden können, ohne ein falsches Resultat in der register 22 und 28 sind die Register, die zum Spei- Recheneinheit zu ergeben. Das Klammersteuerregister ehern der Adressen der verschiedenen in einem 30 besteht aus sechs Flip-Flops und dient dazu, den Systembefehl enthaltenen Operanden dienen. Adres- Zustand der verschiedenen Teile der Steuerschaltung sen können aus dem Befehlsregister 10 in diese in der Befehlsfolge- und Taktsteuereinheit zu einem Register und danach in das Objektregister 24 und 45 bestimmten Zeitpunkt während einer Untersuchung dann in den Kellerspeicher 32 geleitet werden auf eines Eingangsbefehls im Gedächtnis zu behalten. Befehl der Befehlsfolge- und Taktsteuereinheit 31. Die in diesem Register enthaltenen Daten werden auf Der Akkumulator der zentralen Verarbeitungseinheit Befehl aus der Befehlsfolgesteuereinheit 31 in der speichert das Ergebnis jeder Rechenoperation und fünften Zeichenstelle des Objektregisters gespeichert, liefert die Adresse des Ergebnisses einer eben abge- 50 wenn es nötig ist, eine bestimmte Operation hinausschlossenen Berechnung im Speicher oder im Akku- zuschieben und sie zu speichern, während andere mutator zu der Befehlsfolge- und Taktsteuereinheit Operationen ausgeführt werden. Mittels der Speicheweiter. Im Operatorregister 14 wird das eigentliche rung dieser Informationen erhält das System die Verb oder der Operator in der acht Bits umfassenden Möglichkeit, zu der gewünschten Stelle in den Bebinären Form gespeichert, der in dieses Register 55 fehlsfolgen zurückzukehren. Wie noch näher erentweder aus dem Befehlsregister 10 auf Befehl oder läutert wird, wird dieser letztgenannte Schritt bei der aus einem bestimmten Speicherplatz eines Wortes Klammerauswertfolge verwendet,
übertragen wird, welches in dem Kellerspeicher 32 Der als Befehlskellerspeicher 32 bezeichnete Block gespeichert worden ist, nachdem diese Information besteht aus einem mehrstelligen Speicher mit einer zur Ausführung des gespeicherten Befehls aus dem 60 zugeordneten Adressiereinrichtung, die ein erstes zu Kellerspeicher 32 entnommen worden ist. Die einzi- speicherndes Informationsbit in einen ersten Speichergen Daten, die normalerweise im Operatorregister 14 platz einbringt und auf einen weiteren »Eingabe«- gespeichert werden, sind die eigentlichen mathema- Befehl hin nacheinander die aufeinanderfolgenden tischen Operatoren und die speziellen Operator- Informationen in dem Speicher speichert; wenn abei zeichen, wie z.B. die Klammern und dieBedingungs- 65 ein »Lese«-Befehl empfangen wird, liest der Speichel funktionen. Der Operator-Entschlüsseier 35 dient die Informationen in der umgekehrten Reihenfolge, dazu, einen Operator zu analysieren, um zu bestim- in der sie eingebracht worden sind, wieder aus. Ein men, ob es sich dabei um eine Addition, eine Sub-· solcher Kellerspeicher ist in der Technik bekannt; im
vorliegenden System könnte er aus einem Teil des Hauptspeichers bestehen, der mit einem zusätzlichen
Aufwärts- und Abwärtszähler versehen ist. Jedesmal, wenn eine neue Information im Speicher gespeichert
werden soll, wird die Adresse des Speicherplatzes des neuen Wortes dadurch erlangt, daß der Zähler eine
Stelle weitergeschaltet, das Wort gespeichert und dieser Prozeß jedesmal dann wiederholt wird, wenn
eine neue Information im Speicher gespeichert wird, und umgekehrt wird immer dann, wenn Informationen
aus dem Speicher entnommen werden sollen, der Adressierzähler rückwärts geschaltet. Informationssegmente
oder -teile können also in einer frühen Phase einer Befehlsfolgesteueroperation in den
Kellerspeicher eingegeben werden, und nachfolgende Informationen lassen sich eingeben und entnehmen,
ohne die ursprünglich oder zuerst gespeicherte Information zu stören. Bei der in dem Kellerspeicher gespeicherten
Datenform handelt es sich um ein Maschinenwort aus acht Zeichen zu je acht Bits; dieses
hat sich als ausreichend für das Speichern aller Informationen erwiesen, die nötig sind, um die in dem
System gewünschte Befehlsfolgesteuerung zu bewirken.
Bei jeder Speicherung eines Operanden wird ebenfalls mit diesem ein Operator oder Spezialzeichen gespeichert.
Beim Speichern einer »(« im Kellerspeicher 32 wird mit ihr zusammen eine Anzeige der Zeichenposition
in bezug auf die Position in dem tatsächlichen Systembefehl gespeichert, wo die »(« angetroffen
worden ist. Der derzeitige Zustand des Klammersteueregisters
wird ebenfalls in einem gegebenen Maschinenwort mit der »(«-Anzeige gespeichert. Der
Zweck der verschiedenen im Kellerspeicher 32 gespeicherten Adressen und Anzeigen mit den verschiedenen
SpezialSymbolen geht aus der nachstehenden Besprechung hervor. Es sei hier nur kurz gesagt, daß
die verschiedenen gespeicherten Zahlen, Adressen und Zustandsanzeigen die Steuerschaltung in den Zustand
bringen sollen, den sie zu der Zeit hatte, als beim Durchlaufen der Befehlsfolge die »(« zuerst
festgestellt wurde.
Obwohl sich die Grundfunktionen des Systems in die aufeinanderfolgende Zuführung eines Operators
und eines oder mehrere Operanden zur zentralen Verarbeitungseinheit CPU zu einer bestimmten Zeit für
die Ausführung aufteilen lassen, ist für die richtige Folgesteuerung des Systems gemäß komplizierten
Maschinenbefehlen eine komplizierte logische Schaltungsanordnung nötig, die sich notwendigerweise an
mehreren Stellen verzweigen muß, um eine von mehreren möglichen Funktionen auszuführen. Die folgende
Besprechung von F i g. 2 zusammen mit den Tabellen 1 bis 15 dürfte die deutlichste Erläuterung
der Funktionen des in F i g. 3 a bis 3 b gezeigten Ausführungsbeispiels sein. (Nachstehend wird nur von
F i g. 3 gesprochen.) Ebenso besteht F i g. 2 eigentlich aus Fig. 2a bis 2c.
F i g. 2 enthält ein genaues Flußdiagramm des erfindungsgemäßen Systems. Wenn man dieses bei
jedem Beispiel verfolgt, wird die Operationsfolge des Systems deutlich. Zwei Beispiele sind gewählt worden
und werden in Verbindung mit F i g. 2 und den erwähnten Tabellen besprochen werden, die die Operationen
des Systems für verschiedene mögliche Kombinationen mathematischer Funktionen veranschaulichen.
Das erste ist ein Beispiel für eine bedingte Aussage oder Operation, die eine wiederholte Ausführung
erfordert, bis eine bestimmte Bedingung erfüllt ist. Das andere Beispiel soll zeigen, wie verschiedene
der Steuerverriegelungsschaltungen entsprechend verschiedenen mathematischen Operationen
eingestellt werden, welche an verschiedenen Stellen in einer Folge in bezug auf Klammerausdrücke auftreten.
Die nachstehend in Verbindung mit F i g. 2 und den Tabellen 1 bis 15 besprochenen Beispiele
dürften die Operationen des vorliegenden Systems
ίο verdeutlichen.
Die Beschreibung der Wirkungsweise des logischen Blockschaltbildes von F i g. 3 ist nur für das iterative
Beispiel vorgenommen worden und genügt, um zu verdeutlichen, wie die logischen Steuerblöcke des
Systems arbeiten.
Vor der Beschreibung von F i g. 2 zusammen mit den Tabellen 1 bis 15 sei nun zunächst das Blockschaltbild
von F i g. 3 allgemein besprochen, um die wichtigeren Teile dieses Ausführungsbeispiels des
Systems zu erläutern. Danach werden die Tabellen 1 bis 15 in ihrer Beziehung zu F i g. 3 beschrieben, um
zu verdeutlichen, welches die Speicherplätze der verschiedenen Elemente der Tabellen sind, wo sie sich
befinden und wie sie in das Gesamtsystem passen.
Im oberen Teil von F i g. 3 a und 3 b befinden sich vier Register, der Befehlskellerspeicher und der schematisch
dargestellte Hauptspeicher. Bei den Registern handelt es sich um das Befehlsregister 10, das Subjektregister
18, das Objektregister 24, das Klammer-Steuerregister 30, den Befehlskellerspeicher 32 und
den Hauptspeicher 34. Jedes der Register 10, 18, 24 hat seinen eigenen Steuerring 12, 20, 26, der die
Steuerung von Daten in die und aus den Registern vornimmt, und zwar der jeweils gewünschten Zeichenstelle.
Der Befehlsregisterring 12 schaltet normalerweise lediglich weiter, um das nächste Zeichen eines
im Befehlsregister 10 gespeicherten Befehls zu untersuchen. Es versteht sich aber natürlich, daß jede gewünschte
Zeichenstelle unter der Steuerung dieses Ringes untersucht werden kann, indem ein entsprechendes
Eingangssignal an den Ring gelegt wird. Der Steuerring 12 des Befehlsregisters 10 besitzt
zwei Torschaltungen 11 und 13, und zwar wird die Torschaltung 11 erregt, um das Zeichen aus dem Befehlsregister
auszulesen, auf das der Steuerring des Befehlsregisters gerade eingestellt ist, während über
die Torschaltung 13, die Zeichenstelle, d. h. 1 bis 8, entnommen werden kann, auf die der Steuerring
gerade eingestellt ist. Außerdem stellt die Torschalrung 13 den Steuerring auf Befehl des Systems auf
eine gewünschte Stelle zurück.
Der Subjektregisterring 20 und der Objektregisterring 26 arbeiten etwa ebenso wie der Befehlsregisterring
12, d,. h., sie können zur nächsten Stelle in der Folge weitergeschaltet werden, oder eine beliebige
ausgewählte Stelle der ihnen zugeordneten Register kann durch den Ring ausgewählt werden. Ebenfalls
kann jede von vier 2-Zeichen-Stellen von diesen Ringen ausgewählt werden. Das Klammersteuerregister
30 ist nicht von derselben Art wie die anderen Register, sondern besteht lediglich aus einer Reihe
von sechs Flip-Flops, die sich an verschiedenen Stellen in der Folgesteuereinheit befinden, wie oben
besprochen. Der Zustand dieser sechs Flip-Flops wird jedoch auf Befehl abgetastet und in der fünften Stelle
des Objektregisters zu bestimmten aufeinanderfolgenden Zeitpunkten gespeichert, wie aus der nachstehenden
genauen Beschreibung noch hervorgehen
wird. Das Operatorregister 14 dient zur Speicherung einer Operatoranzeige oder eines Operatorsymbols,
und sein Inhalt läßt sich durch den Operatorregisterentschlüsseler 35 untersuchen, der bestimmt, welche
Operation die in diesem Register gespeicherten Daten fordern. Das Befehlsregister-Wortadressenregister 16,
das Subjektadressenregister 22 und das Objektadressenregister 28 gleichen einander insofern, als sie
imstande sind, die aus vierzehn Bits bestehenden Hauptspeicher-Wortadressen für ein Befehlswortsubjekt
bzw -objekt zu speichern.
Der vorstehende Teil des Systems umfaßt im wesentlichen
den Speicherteil, denn die verschiedenen Register sind zusammen mit dem Kellerspeicher 32
und dem Hauptspeicher 34 imstande, alle Informationen zu speichern, die nötig sind, um die richtige
Reihenfolgesteuerung eines gegebenen arithmetischen Befehls durchzuführen. Die Register ermöglichen sowohl
eine Halbpermanente als auch eine vorübergehende, sich auf ein bis zwei Umläufe entsprechende
Speicherung, während bestimmte Operatmen ausgeführt und andere hinausgeschoben werden. Im Objektregister
24 findet insofern der größte Teil der Informationseinspeicherung statt, als die im Kellerspeicher
32 zu speichernden Wörter tatsächlich im Objektregister konstruiert und auf Befehl des Systems
in den Kellerspeicher übertragen werden. Der untere Teil der Figur zeigt die Taktsteuer- und Steuerschaltung.
Wie schon erwähnt, besteht der Taktsteuerteil aus bekannten logischen Funktionselementen, darunter
monostabilen Multivibratoren zum Steuern der Zeit und der Reihenfolge der Operation, aus verschiedenen
Flip-Flops zum Einstellen festgestellter Zustände aus dem Hauptentschlüsseier 36 und aus verschiedenen
Und-Schaltungen, Oder-Schaltungen und Umkehr- oder Nicht-Schaltungen zum Erlangen der
gewünschten logischen Funktionen.
Mit der detaillierten Beschreibung dieser Figur wird genau erläutert, wie die einzelnen Bauelemente
arbeiten, aber es sei darauf hingewiesen, daß das Ausgangssignal des Hauptentschlüsselers zusammen
mit der aufeinanderfolgenden Abtastung des Befehls tatsächlich die Folgesteuerung eines gegebenen Befehls
einstellt. Nachdem festgestellt worden ist, daß eine bestimmte Operation auszuführen ist auf Grund
des Ausgangssignals des Entschlüsselet 36 zusammen mit den verschiedenen Taktsteuer- und Analysierschaltungen,
die noch im einzelnen beschrieben werden, bestimmt der Operatorregisterentschlüsseler
35, welche mathematische Operation speziell auszuführen ist und sendet das richtige Verb oder den
richtigen Befehl zur zentralen Verarbeitungseinheit, was ebenfalls noch näher beschrieben wird.
Die Funktionen der verschiedenen allgemeinen Teile der Steuerschaltung sind mit entsprechenden
Bezeichnungen oberhalb der Und-Schaltungen A 20, ,452, AlQ, AlZ, Al, All und Λ106 angegeben.
Diese Buchstabenbezeichnung gibt allgemein die Funktion an, die in der Schaltung direkt unterhalb
dieses Abschnitts analysiert wird. Die Ausgänge des Entschlüsselers 36 sind in Und-Form mit einem allgemeinen
»Bewertungs«-Signal auf Leitung C 4 verknüpft. Wie schon erwähnt, besteht die Zeitsteuerschaltung
allgemein aus einer großen Zahl von monostabilen Multivibratoren, die als verschiedene Taktgeberstufen
wirksam sind. Wenn die Zeitdauer für einen Folgeschritt relativ kurz ist, wird der normale
monostabile Multivibrator benutzt. Wenn andererseits die Dauer für das Ausführen eines angegebenen
Folgeschrittes etwas länger ist, werden Flip-Flops oder Verriegelungsschaltungen verwendet, die mit L
und der nachgestellten numerischen Bezeichnung gekennzeichnet sind. Zum Beispiel wird der Abschaltimpuls
einer vorhergehenden Taktgeberstufe benutzt, um die Verriegelungsschaltung in den »!.«-Zustand
zu bringen, was natürlich die Ausführung einer gewünschten Funktion zum Ergebnis hat, und wenn die
ίο Funktion ausgeführt ist, stellt das damit verbundene
»Ausgeführt«-Signal die Verriegelungsschaltung in ihren vorherigen Zustand zurück und setzt so die
Zeitsteuerfolge fort. Die allgemeine Ausnahme bei diesen Verriegelungsschaltungen sind die »BedingtausführenÄ-Verriegelungsschaltung
F20 (Fig. 3c), die »Vielleicht-ausführene-Verriegelungsschaltungen
F21 (Fig. 3e) und die »AusführenÄ-Verriegelungsschaltung
VIl (Fig. 3c).
Es folgt nun eine Beschreibung der Funktionen dieser drei Verriegelungsschaltungen sowie der
drei Befehlsentschlüsselerregister-Verriegelungsschaltungen IDR-O, IDR-I, IDR-I, die alle zusammen das
Klammersteuerregister 30 bilden.
Die »Bedingt - ausführen« - Verriegelungsschaltung F20 wird eingestellt, wenn ein (+) oder ein (—) und
sein entsprechendes Subjekt im Befehlskellerspeicher 32 gespeichert ist. Wenn diese Verriegelungsschaltung
so eingestellt ist, zeigt sie an, daß, wenn zu irgendeinem späteren Zeitpunkt eine weitere Addier- oder
Subtrahierfunktion erreicht wird, diese vorhergehende Addier- oder Subtrahierfunktion im Kellerspeicher
ausgeführt werden kann. Daher wird diese Verriegelungsschaltung benutzt, um die Zahl von Einführungen
in den Kellerspeicher möglichst klein zu halten. Die »Ausführen«- und die »Vielleicht-ausführen«-Verriegelungsschaltungen
F22, F21 werden für einen anderen Zweck als die »Bedingt-ausführen«-
VerriegelungsschaltungF20 verwendet. Im Laufe der Ausführung eines Verbs ist es nötig, das Objekt dieses
Verbs zu suchen, d.,h., die absolute Adresse dieses Objekts muß gefunden werden. Es kann aber sein,
daß auf das Verb nicht eine absolute Adresse, sondern eine linke Klammer folgt. In diesem Falle muß
nun der Klammerausdruck bewertet werden, aber nachdem dies getan ist, ist es erforderlich, dorthin
zurückzukehren, wo die Bewertung dieses ursprünglichen Verbs zeitweilig unterbrochen worden ist. Bei
Feststellung einer linken Klammer wird die »Ausführen«-Verriegelungsschaltung eingestellt, wenn eine
Multiplikation oder eine Division oder ein »Vergleich« ausgeführt werden, und die »Vielleicht-ausführen«-Verriegelungsschaltung
wird eingestellt, wenn eine Addition oder eine Subtraktion ausgeführt wird. Wenn das Ende des Klammerausdrucks erreicht ist,
geht aus dem Zustand der beiden Verriegelungsschaltungen hervor, zu welchem Verb zurückgekehrt
werden muß. Wenn also beim Erreichen des Endes des Klammerausdrucks die »AusführenÄ-Verriegelungsschaltung
eingestellt ist, muß die Steuerung zur Multiplikation, Division oder zum »Vergleich«
zurückkehren. Wenn die »Vielleicht-ausführenÄ-Verriegelungsschaltung
eingestellt ist, muß die Steuerung zur Addition oder zur Subtraktion zurückgegeben
werden.
Die drei Verriegelungsschaltungen im Klammersteuerregister 30, nämlich die 0-, die 1- und die
2-Verriegelungsschaltung, werden so eingestellt, daß
sie drei verschiedene Typen von linken Klammern
darstellen. Sie werden in erster Linie für die Bewertung der bedingten Operationen benutzt. Wenn angenommen
wird, daß diese drei Verriegelungsschaltungen entweder eine »1« oder eine »0« speichern
können, muß zunächst gesagt werden, daß jeweils nur eine von ihnen eine »1« speichern kann. Daher gibt
es drei mögliche Bedingungen von Operationen, unter denen eine »1« im Befehlsentschlüsselerregister gespeichert
wird, wenn eine linke Klammer in einer Befehlsfolge auftaucht.
Wenn die O-Verriegelungsschaltung eingestellt ist
oder die binäre Zahl»l«, »0«, »0« im Befehlsentschlüsselerregister
auftritt, zeigt das an, daß eine normale linke Klammer gefunden worden ist, d. h., daß
der Klammerausdruck lediglich ein Subjekt oder ein Objekt eines Befehlssatzes ist. Wenn die 1-Verriegelungsschaltung
des Befehlsentschlüsselerregisters auf »1« steht, d. h. »0«, »1«, »0« eingestellt ist, zeigt das
an, daß die betreffende linke Klammer direkt auf einen Bedingungsbefehl folgt, dessen Subjekt ein
Klammerausdrack ist, und daß die »bedingte« Aussage besagt, zur vorherigen linken Klammermarkierung
zur erneuten Auswertung zurückkehren, falls diese nötig ist. Wenn die 2-Verriegelungsschaltung
des Befehlsentschlüsselerregisters auf »1«· steht oder der Wert »0«, »0«, »1« im Befehlsentschlüsselerregister
gespeichert ist, zeigt das schließlich an, daß die linke Klammer direkt auf eine Bedingungsfunktion folgt, die keinen Klammerausdruck zum
Subjekt hat, und daß gemäß der bedingten Aussage ganz zur Beginn-Aufzeichnungsmarke (φ) oder zum
Ausgangspunkt des betreffenden Befehls zurückzukehren ist.
Die vorstehenden Elemente von Fig. 3 sind im
einzelnen erläutert worden, da sie die wichtigeren funktionellen Bestandteile des Systems sind.
In F i g. 3 werden die Ausgänge vieler der monostabilen Multivibratoren mit dem durch den betreffenden
Ausgangsimpuls auszuführenden funktionellen Ergebnis bezeichnet. Es wird davon ausgegangen, daß
die Funktion und die Art und Weise, in der diese Ergebnisse erlangt werden, in der Rechenautomatentechnik
durchaus bekannt sind. Die Einzelheiten der Schaltungsleitungen zu zeigen, die in einen Torschaltungsblock
für jeden der monostabilen Multivibratoren hineinführen, erscheint daher unnötig. Zum
Beispiel bedeutet eine Bezeichnung wie 32->- 24 offensichtlich,
daß der Inhalt der ersten lesbaren Stelle des Kellerspeichers 32 in das Objektregister 24 über
die entsprechenden Leitungen übertragen werden soll, welche sowohl durch die Torschaltung des Kellerspeichers
als auch die Torschaltung des Objektregisters dargestellt sind. Wie Daten in die Speicherregister
oder den Hauptspeicher hinein- und wieder hinausgebracht werden,- ist ebenfalls allgemein be-
ao kannt. Ebenso ist es bekannt, wie ein bestimmtes Datenzeichen in eine bestimmte Zeichenstelle eines
bestimmten Registers durch die verschiedenen Steuerringe 12, 20 und 26 eingegeben* wird. Daher ist für
die verschiedenen Register und Ringe, die im oberen
as Teil von Fig. 3 gezeigt sind, eine Torschaltung über
den Registern überall dort dargestellt, wo das ganze Registerwort' auf einmal aus- oder eingespeichert
wird, und unter den jeweiligen Steuerringen für die einzelnen Register sind Torschaltungen dargestellt, wodurch
das Ein- und Ausspeichern von jeweils einem oder zwei Datenzeichen· in den Registern bewirkt wird,
wie aus der nachstehenden Beschreibung hervorgeht.
Die vorausgehende allgemeine Beschreibung von
F i g. 3 dürfte die nachstehende Erläuterung des Flußdiagramms
von F i g. 2 zusammen mit den folgenden Tabellen 1 bis 15 erleichtern.
1 Register
2 Befehlsregister 10
3 Befehlsregistersteuerring 12
4 Befehlsregisteradreßregister 16
5 Subjektadreßregister 22
6 Objektadreßregister 28
7 Objektregister 24
8 Kellerspeicher 32
9 Operatorregister 14
(I /1
i + BBx CC-*ii)bed(ii=
10 Verriegelungsschaltungen
11 »ausführen« (F22)
12 »kann ausführen« (F21)
13 »bedingt ausführen« (K20)
14 | IDR | 0 |
15 | 1 | |
16 | 2 | |
Klammersteuerregister 30
D 10,585
609 567/433
19
1 Register
2 Befehlsregister 10
3 Befehlsregistersteuerring
4 Befehlsregisteradreßregister
5 Subjektadreßregister
6 Objektadreßregister
7 Objektregister 24
8 Kellerspeicher 32
9 Operatorregister
10 Verriegelungsschaltungen
11 »ausführen« (K22)
12 »kann ausführen« (K21)
13 »bedingt ausführen« (K20)
IDR
0 1
T
ED
ED
1 ο I UUI
Klammersteuerregister
1 Register
2 Befehlsregister 10
3 Befehlsregistersteuerring
4 Befehlsregisteradreßregister
5 Subjektadreßregister
6 Objektadreßregister
7 Objektregister 24
8 Kellerspeicher 32
9 Operatorregister
10 Verriegelungsschaltungen
11 »ausführen« (F22)
12 »kann ausführen« (F21)
13 »bedingt ausführen« (V20)
IDR
=\A\A\->\i\i\(\i\i+BBx
T
LlLu \a\a\ DD
UU
Klammersteuerregister
D 10,585
21
22
1 Register
2 Befehlsregister 10
3 Befehlsregistersteuerring
4 Befehlsregisteradreßregister
5 Subjektadreßregister
6 Objektadreßregister
7 Objektregister 24
8 Kellerspeicher 32
9 Operatorregister
10 Verriegelungsschaltungen
11 »ausführen« (F22)
12 »kann ausführen« (K21)
13 »bedingt ausführen« (K20)
15 IDR
'Ι« KU
\i+-BBx
y | -Ml | I ι | I Il | I I I | I | |
I | ||||||
l+l | ||||||
Klammersteuerregister 30
1 Register
2 Befehlsregister 10
3 Befehlsregistersteuerring
4 Befehlsregisteradreßregister
5 Subjektadreßregister
6 Objektadreßregister
7 Objektregister 24
8 Kellerspeicher 32
9 Operatorregister
10 Verriegelungsschaltungen
11 »ausführen« (F22)
12 »kann ausführen« (F21)
13 »bedingt ausführen« (F20)
IDR-
kk
υπ
i\+\B\B\x.\C\C\-*\ii)bed(ii=DD)^
vm
IWIl \J\J\\ ITT
Klammersteuerregister 30
IvMl
D 10,585
23
24
1 Register
2 Befehlsregister 10
3 Befehlsregistersteuerring
4 Befehlsregisteradreßregister
5 Subjektadreßregister
6 Objektadreßregister
7 Objektregister 24
8 Kellerspeicher 32
9 Operatorregister
10 Verriegelungsschaltungen
11 »ausführen« (K22)
12 »kann ausführen« (K21)
13 »bedingt ausführen« (K20)
IDRi
kk ■ii(i\ i\+\B\B\x\C\C\^\ii)bed(ii=DD)^
ΐ | i | |
l+l | ||
IjIjI 1 K
ö
O |
7I | j I | l+l |/|/ |
O
1 |
|||
O ο |
|||
Klammersteuerregister
1 Register
2 Befehlsregister 10
3 Befehlsregistersteuerring
4 Befehlsregisteradreßregister
5 Subjektadreßregister
6 Objektadreßregister
7 Objektregister 24
8 Kellerspeicher 32
9 Operatorregister
10 Verriegelungsschaltungen
11 »ausführen« (K22)
12 »kann ausführen« (K21)
13 »bedingt ausführen« (K20)
IDR-
kk
W\
I I
\J\J\
WJTUW
I Ι+Ι^Τ|7ΓΠ
Klammersteuerregister
D 10,585
25
26
1 Register
2 Befehlsregister 10
3 Befehlsregistersteuerring 12
4 Befehlsregisteradreßregister 16
5 Subjektadreßregister
6 Objektadreßregister
7 Objektregister 24
8 Kellerspeicher 32
9 Operatorregister
10 Verriegelungsschaltungen
11 »ausführen« (K22)
12 »kann ausführen« (V2V)
13 »bedingt ausführen« (VW)
/OR
kk
i]+]B\B]x]C]C\-y\
T
i | i | |
l+l | ||
UL/
Klammersteuerregister 30
HU
1 Register
2 Befehlsregister 10
3 Befehlsregistersteuerring
4 Befehlsregisteradreßregister
5 Subjektadreßregister
6 Objektadreßregister
7 Objektregister 24
8 Kellerspeicher 32
9 Operatorregister
10 Verriegelungsschaltungen
11 »ausführen« (F22)
12 »kann ausführen« (F21)
13 »bedingt ausführen« (K20)
IDR
D 10,585
X CC-+] i\
LlLl
Klammersteuerregister 30
27
1 Register
2 Befehlsregister 10
3 Befehlsregistersteuerring 12
4 Befehlsregisteradreßregister 16
5 Subjektadreßregister
6 Objektadreßregister
7 Objektregister 24
8 Kellerspeicher 32
9 Operatorregister
10 Verriegelungsschaltungen
11 »ausführen« (K22)
12 »kann ausführen« (F21)
13 »bedingt ausführen« (K20)
14 | IDR | O |
15 | 1 | |
16 | 2 | |
DU
28
CC
Klammersteuerregister 30
71
\J\J\\
1 Register
2 Befehlsregister 10
3 Befehlsregistersteuerring
4 Befehlsregisteradreßregister
5 Subjektadreßregister
6 Objektadreßregister
7 Objektregister 24
8 Kellerspeicher 32
9 Operatorregister
10 Verriegelungsschaltungen
11 »ausführen« (F22)
12 »kann ausführen« (K21)
13 »bedingt ausführen« (V2ß)
14 | IDR · | O |
15 | 1 | |
16 | 2 | |
/1 / I ( I i 11
UAL
X C Cii)bed(ii=DD)^
Klammersteuerregister 30
D 10,585
29
30
1 Register
2 Befehlsregister 10
3 Befehlsregistersteuerring
4 Befehlsregisteradreßregister
5 Subjektadreßregister
6 Objektadreßregister
7 Objektregister 24
8 Kellerspeicher 32
9 Operatorr'egister
10 Verriegelungsschaltungen
11 »ausführen« (V 72)
12 »kann ausführen« (F21)
13 »bedingt ausführen« (F20)
IDR
JJ
ε\Ε\+\( | F | F\x | ( |
KKx
CD
+ 1 \E\E\
Klammersteuerregister 30
1 Register
2 Befehlsregister 10
3 Befehlsregistersteuerring
4 Befehlsregisteradreßregister
5 Subjektadreßregister
6 Objektadreßregister
7 Objektregister 24
8 Kellerspeicher 32
9 Operatorregister 14
EE+(FFx ([g\G\+\h\h\)\+\k\Kx LL +MM)
CD
DU
4| 17 17
Verriegelungsschaltungen »ausführen« (F22) »kann ausführen« (F21)
»bedingt ausführen« (F20)
14 | IDR | 0 |
15 | 1 | |
16 | 2 | |
Klammersteuerregister 30
D 10,585
31
32
1 Register
2 Befehlsregister 10
3 Befehlsregistersteuerring
4 Befehlsregisteradreßregister
5 Subjektadreßregister
6 Objektadreßregister
7 Objektregister 24
8 Kellerspeicher 32
9 Operatorregister
10 Verriegelungsschaltungen
11 »ausführen« (K22)
12 »kann ausführen« (K21)
13 »bedingt ausführen« (K20)
IDRi
EE+{FF χ ( \G\G\+\h\h\)\+\K\KxLL +
\f\f\
ELKTTDi
Klammersteuerregister 30
1 Register
2 Befehlsregister 10
3 Befehlsregistersteuerring
4 Befehlsregisteradreßregister
5 Subjektadreßregister
6 Objektadreßregister
7 Objektregister 24
8 Kellerspeicher 32
9 Operatorregister
EE+{FF χ {G G + H H) + K \k\x\l\l\+\m\m\)
F | H | I | |
1+ | |||
l+l
41 UlyII I I+I
\fM
10 Verriegelungsschaltungen'
11 »ausführen« (K22)
12 »kann ausführen« {V2i)
13 »bedingt ausführen« (K20)
IDR
Klammersteuerregister 30
D 10,585
33 34
Aus den Tabellen ist ersichtlich, daß gespeicherte Das erste Beispiel ist der Befehl
Informationen in verschiedenen Phasen während eines
Bewertungsvorganges eines bestimmten Befehls ge- φ AA -*- ti (H + BBXCC^ H) bed. (H = DD),
zeigt sind, dessen Reihenfolge durch das vorliegende
System automatisch gesteuert werden soll. Der erste 5 dessen Ausführung nun an Hand der Tabellen 1
Posten in der Tabelle stellt den Inhalt der Register bis 11 in Verbindung mit den Fig. 2a bis 2c erläudar.
Das erste ist das Befehlsregister 10. Auf dieser tert wird. Wenn davon ausgegangen wird, daß alle
Zeile ist der ganze Befehl gezeigt, aber der derzeitige Register in dem in F i g. 1 dargestellten Zustand sind,
Inhalt des Registers wird durch ein diesen Inhalt um- stehen im Befehlsregister 10 die ersten acht Zeichen
gebendes Kästchen dargestellt. Der senkrechte Pfeil io des Abtastbefehls. Der Befehlsregistersteuerring 12
unter dieser Zeile einer Befehlsfolge deutet die Stel- steht am ersten Zeichen der Aufzeichnungsmarke φ,
lung des Befehlsregistersteuerringes 12 an. Das heißt, und im Wortadressenregister 16 des Befehlsregisters
er sagt aus, welches Zeichen gerade durch das System ist die Adresse des Wortes im Befehlsregister, nämbewertet
wird oder, anders ausgedrückt, welches Zei- Hch //, gespeichert. Das Subjektadreßregister 22, das
chen gerade dem Entschlüsseier 36 zugeführt wird. iS Objektadreßregister 28, das Objektregister 24 und
Das Befehlsregister-Wortadressenregister 16 speichert der Kellerspeicher 32 sind leer, und die das Klammerlediglich
die Adresse des betreffenden Befehlsfolge- Steuerregister bildenden sechs Verriegelungsschaltunwortes
und stellt dieses dem System zur Verfügung im gen sind im Rückstell- oder »Ck-Zustand. Da der
Falle eines langen Klammerausdruckes oder eines Steüerring 12 auf der Aufzeichnungsmarke auf dem
iterativen Prozesses, der einen erneuten Zugriff zu ao Blockdiagramm steht, gibt der Befehlsregisterenteiner
weiter vorn liegenden Stelle des Befehls erfor- schlüsseler 36 ein Signal auf der Aufzeichnungsdert.
Das Subjektadreßregister speichert natürlich die markenleitung aus. Dieses wird dem Block 1 zuge-Zwei-Zeichen-Adresse
für jeden Datenteil im Haupt- führt, bei dem es sich um eine Und-Schaltung hanspeicher,
und das Objektadreßregister erfüllt dieselbe delt. Das Ausgangssignal dieser Und-Schaltung wird
Funktion wie das Subjektadreßregister. Der Inhalt des 25 zum Block 2 geleitet. Als erstes wird nun der Kener-Objektregisters
veranschaulicht das 8-Zeichen-Wort, speicher gelöscht, der im Normalzustand ist. Dadurch
das in verschiedenen Phasen der Folge im Objekt- werden alle alten Informationen beseitigt, die von
register gespeichert werden kann, und wie aus den einem früheren Befehl übriggeblieben sind. Im Block 3
verschiedenen Tabellen hervorgeht, erfolgt die Ein- wjrd das Befehlsregisterzeichen, in diesem Falle eine
speicherung in dieses Register durch das System zur 30 Aufzeichnungsmarke, in Stelle 3 des Objektregisters
nachfolgenden Speicherung im Kellerspeicher 32 eingespeichert. Im Block 4 wird die Befehlsregisterbeim
Auftreten bestimmter Befehle im Befehlsregister Wortadresse in die Stellen 7 und 8 des Objekt-24.
Der Kellerspeicher 32 zeigt eine Mehrzahl von registers eingegeben. Block 5 bewirkt die Eingabe
8-Zeichen-Wörtern, wobei angedeutet wird, wie sie einer »0« in Stelle 5 des Objektregisters. Dies ist der
im Kellerspeicher gespeichert werden. Zum Beispiel 35 Zeichenteil der φ. Jetzt liegt die in Fig. 2 dargestellte
stellt das erste 8-Zeichen-Wort von links die erste Situation vor. Nun wird die Steuerung zum Block 5
Wortspeicherstelle im Kellerspeicher dar und gibt zurückgegeben. Hier wird der Inhalt des Objektnach
rechts weiterschreitend die nachfolgenden Wort- registers in den Kellerspeicher eingespeichert. Daher
speicherstellen an. Beim Speichern eines ersten wejst das erste Maschinenwort des Kellerspeichers 32
Postens oder Wortes würde dieses in der ersten, der 40 Informationen auf, die vorher im Objektregister gezweiten,
der dritten, der vierten, der fünften usw. standen haben. Block 6 zeigt an, daß der Befehls-Stelle
des Kellerspeichers gespeichert werden, und die registersteuerring 12 eine Stelle weitergeschaltet wer-Entnahme
der Wörter geschieht in umgekehrter den muß. Er steht nun auf dem ersten »A«. Als
Folge aus der fünften, der vierten, der dritten, der nächstes zeigt Block 7 an, daß das Unterprogramm
zweiten usw. Stelle. Der Inhalt des Kellerspeichers 45 »Subjekt bewerten« auszuführen ist. Dieses Unterwird
bei der Besprechung des nachstehenden Bei- programm ist links neben dem Unterprogramm
spiels noch veranschaulicht, und es wird deutlich, wie »Kellerspeicherinhalt ausführen« dargestellt,
das System den Kellerspeicher benutzt, um verschie- Das Unterprogramm »Subjekt bewerten« besteht im
dene Befehle zu speichern, die in der Befehlsfolge er- Eintritt in die Unterprogrammfolge »Subjekt bewerscheinen,
während das System diese bewertet. Der 5o ten« im Block 10 und 11. Wäre im Befehlsregister
untere Teil der Tabellen stellt den Inhalt der ver- jetzt eine linke Klammer enthalten, was aber nicht
schiedenen Verriegelungsschaltungen V 20 bis F 22, der Fall ist, würde ein Signal aus Block U heraus-
IDR-1,2,3 des Klammersteuerregisters 30 dar. Die kommen, wenn im Befehlsregister ein allgemeines
Tabellen lassen erkennen, welche Verriegelungs- Zeichen steht, was zutrifft, wird das erste »^« als
schaltungen eingestellt sind und wie die Informatio- 55 allgemeines Zeichen angesehen. Der Block 12 gibt
nen in dem System verwendet werden, wenn be- nun dieses erste »^4« in die erste Zeichenstelle des
stimmte Operatoren in einem Befehlssatz auftreten. Objektadreßregisters ein, die ObJeM1 genannt wird
Weiter ist bei der nachstehenden Erläuterung von Block 15 schaltet den Befehlsregistersteuerring 12
Fig. 2 und den Tabellen zu beachten, daß das Fluß- zum zweiten »^4« weiter. Block 14 speichert wiederdiagramm
mehrere Blöcke enthält, die Bedingungen 60 um das Befehlsregisterzeichen, diesmal das zweite
darstellen. Diese Bedingungen werden durch den Be- »A«, in die zweite Zeichenstelle des Objektadreßfehlsregisterentschlüsseler
36 bestimmt, und der Ein- registers 28 ein, die Objekt2 genannt wird, und der
tritt in eine bestimmte Folge des Flußdiagramms er- Befehlsregistersteuerring 12 wird wieder eine Stelle
folgt entweder durch Und-Verknüpfung mit dem weitergeschaltet. Hiermit ist also die Adresse »AA«
Ausgangssignal des Befehlsregisterentschlüsselers 65 in das Objektadreßregister 28 übertragen worden,
oder durch das Einstellen entsprechender Flip-Flops, Wenn ein Unterprogramm »Subjekt bewerten« auswie
aus der detaillierten Beschreibung von Fig. 3 geführt wird, geht die Folge über zum Block 16. Dann
hervorgeht. geht es weiter zu Block 18, der die Eingabe des In-
35 36
halts des. Objektadreßregisters 28 in das Subjekt- ihren Inhalt zur Stelle 4 des Objektregisters 24 zu
adreßregister 22 bewirkt. übertragen. Block 35 bewirkt die Eingabe des Spei-Nach
Ausführung von Block 18 wird ein »Aus- cherorts der linken Klammer, also der Befehlsgeführt«-Signal
zu der aufrufenden Folge, nämlich registerzeichenstelle, in Stelle 5 des Objektregisters.
Block 8, zurückgeschickt. Nachdem das Subjekt be- 5 Da diese linke Klammer das siebte Zeichen des Mawertet
ist, kehrt die Folge zu den Blöcken 19 und 20 schinenwortes ist, wird in diese Zeichenstelle eine 7
zurück, die die Rechte-Klammer-Verriegelungsschal- eingespeichert. Block 36 bewirkt, daß die BefehlstungL20
abtasten. Wenn diese auf »1« steht, führen register-Wortadresse »/;« in die Zellen 7 und 8 des
die Blöcke 21 und 22 eine »0« in das Operator- Objektregisters eingespeichert wird. Dann wird der
register ein und stellen die Rechte-Klammer-Ver- io Inhalt des Objektregisters in den Kellerspeicher 32
riegelungsschaltung zurück. Dann wird die Steuerung eingegeben, wie es in Block 5 angedeutet ist. Nun
an den Anfang zurückgeführt. Wäre die Rechte- bewirkt Block 6 die Weiterschaltung des Befehls-Klammer-Verriegelungsschaltung
rückgestellt ge- registersteuerringes, Block 7 bewirkt die Ausführung
wesen, würde die Steuerung direkt durch Block 20 des Unterprogramms »Subjekt bewerten«. Nachdem
zum Anfang zurückgekehrt sein. Jetzt steht — wie in 15 dies geschehen ist, befinden sich an Block 8 die Re-Fig.
3 dargestellt — der Befehlsregistersteuerring 12 gister in dem in Fig. 5 dargestellten Zustand. Nachauf
dem ersten Pfeil. Daher liegt auf der Pfeilleitung dem die Speicherstelle dieser linken Klammer sich im
aus dem Befehlsregisterentschlüsseler ein Signal vor. Kellerspeicher befindet, enthält das Subjektadreß-Dieses
wird dem Block 23, einer Und-Schaltung, zu- register »««, das das Subjekt dieser nächsten auszugeführt.
Block 24 bewirkt, daß alle nicht ausgeführ- 20 führenden Addition ist, und die Befehlsregister-Wortten
Operationen im Kellerspeicher ausgeführt wer- adresse enthält »kk«, welches die Adresse des derden,
bis entweder eine Unke Klammer »(« oder eine zeitigen Maschinenwortes im Befehlsregister ist. Von
(^)-Marke erreicht wird. Im folgenden Falle sind Block 8 wird wie gewöhnlich durch die Blöcke 19
jetzt keine unausgeführten Operationen im Keller- und 20 zum Anfang fortgefahren. Da der Befehlsspeicher 32 enthalten. Daher geht die Steuerung auf 25 registersteuerring 12 auf dem + steht, wird ein
Block 25 über, der die Rückstellung 'der Recht- Signal aus dem Befehlsregisterentschlüsseler von der
Klammer-Verriegelungsschaltung bewirkt. Block 26 +-Leitung aus zum Block 37, einer Und-Schaltung,
überträgt das Befehlsregisterzeichen in das Operator- gesendet. Von hier aus wird zu den Blöcken 38 und
register 14. Auf diese Weise gelangt der Pfeü in das 39 übergegangen. Diese fragen den Zustand der
Operatorregister. Als nächstes bewirkt Block 27 die 30 »Bedingt-ausführene-Verriegelungsschaltung ab. Da
Ausführung eines Unterprogramms »Objekt bewer- diese jetzt im »0«- oder Rückstellzustand ist, wird
ten«. Dieses gleicht dem oben beschriebenen Unter- durch Block38 hindurch zu Block40 weitergegangen,
programm »Subjekt bewerten«. Im Unterprogramm Block 40 stellt die Rechte-Klammer-Verriegelungs-
»Objekt bewerten« geht die Steuerung durch die schaltung zurück, was in diesem Falle bereits geBlöcke
10,12,13,14 und 15, wie oben erläutert. Da- 35 schehen ist. Block 42 bewirkt die Einführung des
durch verbleibt der Befehlsregistersteuerring 12 bei Befehlsregisterzeichens, eines +, in das Operatorder
linken Klammer stehen, und die Objektadresse register. Block 43 veranlaßt die Ausführung eines
»z'z« gelangt in das Objektadreßregister 28. Da ein Unterprogramms »Objekt auswerten«. Als Ergebnis
Unterprogramm »Objekt bewerten« in Ausführung davon steht nun die Adresse »ßß« im Objektadreßbegrifien
ist, geht die Steuerung durch Block 17 wei- 40 register, und der Befehlsregistersteuerring steht auf
ter, um zum aufrufenden Block 28 zurückzukehren. dem auf »BB« folgenden Multiplikationssymbol. Vom
Jetzt sind die Register in dem in Fig. 4 gezeigten Block 44 geht die Steuerung auf die Blöcke47und 48
Zustand. Block 30 zeigt an, daß die Verarbeitungs- über. Wenn der Befehlsregistersteuerring auf einem
einheit die im Operatorregister oder in den im Sub- Zeichen steht, das kein Multiplikations- oder
jektadreß- und im Objektadreßregister stehenden 45 Divisionssymbol ist, würde die Folge normal weiter-Daten
angegebene Operation ausführen soll. Dann laufen, um die im Operatorregister angegebene Opemuß
AA zu ü übertragen werden. Nachdem dies ge- ration auszuführen. Im Befehlsregister steht jedoch
schehen ist, geht die Steuerung weiter zu den Blöcken ein Multiplikationssymbol, und daher geht die Folge
19 und 20, die — wie bereits beschrieben — die weiter durch Block 47 hindurch zum Block 48. In-Rechte-Klammer-Verriegelungsschaltung
L 20 rück- 50 folgedessen wird das Zeichen im Operatorregister, stellen, falls diese eingestellt war. Um nun zum An- ein +, in Stelle 3 des Objektregisters eingegeben,
fang zurückzukehren, so steht der Befehlsregister- Block 49 bewirkt dann die Eingabe des Inhalts des
steuerring nun auf der ersten linken Klammer. Daher Subjektadreßregisters, nämlich »ü«, in die Stellen 5
erzeugt der Befehlsregisterentschlüsseler 36 auf der und 6 des Objektregisters. Block 50 bewirkt die Ein-Linke-Klammer-Leitung
ein Signal, das dem Und- 55 bringung des Inhalts des Objektregisters in den Block 31 zugeleitet wird. Von hier geht die Folge Kellerspeicher 32. Dann überträgt Block 51 die
weiter zum Block 32. Hierdurch werden die drei Adresse im Objektadreßregister in das Subjektadreß-Befehlsentschlüsselerregister
- Verriegelungsschaltun- register, und Block 52 bewirkt das Einstellen der gen in den Zustand »1«, »0«, »0« gebracht. Diese »Bedingt - ausführen« - Verriegelungsschaltung. Der
Kombination zeigt an, daß eine normale linke Klam- 60 Zustand der Register ist in Tabelle 6 dargestellt. Die
mer vorliegt. Dadurch wird diese von der auf ein Steuerung kehrt dann wieder zum Anfang zurück.
&ecZ-Zeichen folgenden linken Klammer unterschieden. Der Befehlsregistersteuerring steht auf dem MultiBlock
33 bewirkt die Eingabe des Befehlsregister- plikationssymbol, und daher liegt ein Signal am
zeichens, also der linken Klammer, in Stelle 3 des Multiplikationsausgang des Operatorregisterentschlüs-Objektregisters.
Dann veranlaßt Block 74 das 65 seiers. Dieses Signal wird zum Block 54 gesendet, der
Klammersteuerregister 30, das aus der »Ausführen«-, eine Und-Schaltung ist, und die Steuerfolge geht weider
»Vielleicht-ausführen«-, der »Bedingt-ausführen«- ter zum Block 25. Dieser stellt zunächst fest, daß die
und den »/DÄÄ-Verriegelungsschaltungen besteht, Rechte-Klammer-Verriegelungsschaltung rückgestellt
ist. Block 26 überträgt das Multiplikationssymbol in das Operatorregister. Dann bewirkt Block 27 die Bewertung
des Objekts, und das Ergebnis ist »CC« im Objektadreßregister. Dann wird der Befehlsregistersteuerring
auf den Pfeil (->) gestellt. Wenn dies durch den Block 28 erfolgt ist, geht die Folge weiter
zum Block 30, der die Ausführung der Multiplikation veranlaßt. Das Ergebnis dieser Multiplikation wird
unter der Steuerung der zentralen Verarbeitungseinheit in irgendein verfügbares Register oder einen
Speicher eingebracht. Die zentrale Verarbeitungseinheit zeigt dem Subjektadreßregister an, wohin das
Ergebnis übertragen worden ist. Wenn die Verarbeitungseinheit das Ergebnis in irgendeine mit »BC«
bezeichnete Speicherstelle geleitet hat, befinden sich als Resultat von Block 30 die Register in dem in
Fig. 7 dargestellten Zustand. Vom Block 30 aus kehrt die Steuerung durch die Blöcke 19 und 20 hindurch
zum Anfang zurück.
Jetzt erzeugt der Befehlsregisterentschlüsseler ein ao Ausgangssignal auf der »Übertragungs«-Funktionsleitung
(->-). Dieses wird dem Block 23 zugeführt. Zunächst
wird durch Block 54 die »Bedingt-ausführen«- Verriegelungsschaltung rückgestellt. Dann bewirkt
Block 24 die Ausführung der im Kellerspeicher 32 enthaltenen Befehle bis zum Erreichen einer linken
Klammer oder der Aufzeichnungsmarke=)=. Das Unterprogramm
»Kellerspeicherinhalt ausführen« wird nachstehend erläutert.
Block 55 bewirkt die Einspeicherung des derzeitigen Wortes im Kellerspeicher in das Objektregister.
Dies ist das Wort, das zur Zeit das + und die Adresse »κ« enthält. In Stelle 3 des Objektregisters
steht daher ein +, und die Stellen 5 und 6 des Objektregisters enthalten »κ«. Block 56 bewirkt
nun die Eingabe dieses + aus Stelle 3 des Objektregisters in das Operatorregister. Nun sei mit den
Blöcken 57, 58 und 59 fortgefahren. Wenn im Operatorregister eine linke Klammer stünde, würde die
Steuerung durch 57 weitergehen. Wenn das Operatorregister eine Satzmarkierung enthielte, würde die
Steuerung durch Block 58 weitergehen. Wenn jedoch weder eine linke Klammer noch eine Satzmarkierung
im Operatorregister steht, geht die Steuerung durch Block 59 weiter. Da ein + im Operatorregister steht,
geht tatsächlich die Steuerung durch 59 weiter. Block 60 erzwingt die Eingabe der im Subjektadreßregister
stehenden Adresse in das Objektadreßregister. Dabei handelt es sich um die Adresse »BC«. Block 62 bewirkt
die Übertragung der Adresse aus den Stellen 5 und 6 des Objektregisters in das Subjektadreßregister.
Hierbei handelt es sich um »κ«. Jetzt zeigt Tabelle 8 den Inhalt der Register. Block 64 bewirkt nun die
Durchführung der im Operatorregister angegebenen Operation (+) durch die zentrale Verarbeitung mit
den Daten, deren Adressen im Subjekt- und im Objektadreßregister stehen. Wenn das geschehen ist,
wird wie gewöhnlich das Ergebnis in irgendeinen Speicherplatz und die Adresse dieses Speicherplatzes
in das Subjektadreßregister eingespeichert. Es sei angenommen, daß diese Adresse »IC« lautet.
Die Steuerung kehrt nun zu der Aufruffolge auf der »Ausgeführt«-Leitung zurück. Da keine linke
Klammer gefunden worden ist, wird dieses Unterprogramm wiederholt. Die Steuerung geht nun durch
Block 55, und zwar wird das nächste Wort aus dem Kellerspeicher 32 in das Objektregister übertragen.
Es handelt sich um das die linke Klammer enthaltende Wort. Block 56 bewirkt die Einspeicherang der linken
Klammer in das Operatorregister. Da dann eine linke Klammer im Operatorregister steht, geht die
Steuerung weiter über Block 57 zu Block 65, der dieses Wort aus dem Objektregister in den Kellerspeicher
32 zurücküberträgt. Jetzt geht die Steuerung auf Block 25 über. Da eine linke Klammer aufgezeichnet
worden ist, bewirkt Block 25 wieder die Rückstellung der Rechte-Klammer-Verriegelungsschaltung, wenn
dies nicht schon geschehen ist. Block 26 veranlaßt die Eingabe des Befehlsregisterzeichens in das Operatorregister.
Dies ist nun eine Übertragungsfunktion (->-). Block 27 bewertet das Objekt. Dadurch gelangt »h«
in das Objektadreßregister, und der Befehlsregistersteuerring bleibt auf der rechten Klammer stehen.
Über Block 28 geht die Steuerung zum Block 30 weiter, der die Ausführung der angegebenen Operation
veranlaßt. Es wird also der Wert
ii + BBX CC,
der durch die Adresse »IC« im Subjektadreßregister dargestellt wird, in den durch das Objektadreßregister
angegebenen Speicherplatz »ζϊ« eingegeben. Jetzt wird der Klammerausdruck aufgelöst, und die Steuerung
kehrt zum Anfang zurück. Der Befehlsregistersteuerring steht jetzt auf der rechten Klammer, und
daher erzeugt der Befehlsregisterentschlüsseler ein Ausgangssignal auf der Rechte-Klammer-Leitung.
Diese Leitung führt zum Block 67. Beim Übergang von Block 67 zu Block 68 wird der Kellerspeicherinhalt
ausgeführt, bis eine linke Klammer oder das Symbol φ erreicht ist. Da im Kellerspeicher 32 sofort
eine linke Klammer gefunden wird, geschieht tatsächlich nichts, nur enthält das Objektregister jetzt
das letzte Wort des Kellerspeichers 32. Block 69 bewirkt die Eingabe der rechten Klammer in das
Operatorregister.
Block 70 schaltet den Befehlsregistersteuerring zu dem Bestimmungssymbol weiter, und Block 71 bewirkt
die Eingabe des Inhalts von Stelle 4 des Objektregisters in das Klammersteuerregister. Die »Ausführen«-,
»Vielleicht-ausführen«- und »Bedingt-ausführen«-Verriegelungsschaltungen werden also rückgestellt.
Die 0-Verriegelungsschaltung des Befehlsentschlüsselerregisters wird eingestellt, und die
1- und 2-Verriegelungsschaltung dieses Registers werden rückgestellt. Der derzeitige Zustand der Register
geht aus Tabelle 9 hervor.
Da die 0-Verriegelungsschaltung des Befehlsentschlüsselerregisters
eingestellt ist, geht die Steuerung über Block 72 über auf die Blöcke 75 und 76. Da die
»Ausführen«- und die »Vielleicht-ausführenÄ-Verriegelungsschaltung
ausgeschaltet sind, geht die Steuerung sofort zum Anfang weiter unter Umgehung
und Rückstellung der Rechte-Klammer-Verriegelungsschaltung. Der Befehlsregistersteuerring steht
auf dem Bedingungszeichen, und ein Signal dafür befindet sich am Bedingungsausgang des Befehlsregisterentschlüsselers.
Dieses Signal wird dem Block 105 und dann den Blöcken 106 und 110 zugeführt. In diesem Falle steht eine rechte Klammer im Operatorregister,
und so würde die Steuerung über Block 110 weitergehen. Wenn im Operatorregister eine
rechte Klammer enthalten ist, zeigt das an, daß je nach dem Ergebnis der bedingten Aussage hinter dem
Bedingungsbefehl zur entsprechenden linken Klammer zurückgekehrt wird. Wenn im Operatorregister
keine rechte Klammer enthalten gewesen wäre,
würde das bedeuten, daß die Steuerung — je nach
dem Ergebnis der auf den Bedingungsbefehl folgenden bedingten Aussage ■— zu der vorhergehenden
Aufzeichnungsmarke zurückkehren müßte. In diesem Falle würde von Block 110 aus die Steuerung den
Befehlsregisterblock 111 zu der folgenden linken Klammer weiterschalten. Hierdurch wird diese linke
Klammer in Stelle 3 des Objektregisters gelangen, und die 2-Verriegelungsschaltung des Befehlsentschlüsselerregisters
würde eingestellt werden und damit anzeigen, daß eine »bedingte« Aussage bewertet
wird, die zur Aufzeichnungsmarke zurückkehren müßte, und dann würde der Inhalt des Klammersteuerregisters,
das diese Information enthielte, in Stelle 4 des Objektregisters eingespeichert. Es sei nun
wieder zu Block 35 zurückgekehrt. Diese bringt die Stelle der linken Klammer in Stelle 5 des Objektregisters
und die Adresse des Befehlsmaschinenwortes, das die linke Klammer enthält, in die Stellen 7
und 8 des Objektregisters und schließlich den Inhalt
dieses Objektregisters in den Kellerspeicher 32 ein. (Tabelle 10). In diesem Falle würde jedoch die Steuerung
weitergehen über Block 106, und Block 107 würde das Einstellen der 1-Verriegelungsschaltung
des Befehlsentschlüsselerregisters bewirken. Block 108 würde das Befehlsregister zur linken Klammer
weiterschalten, und Block 109 würde dann die Übertragung des Inhalts des Klammersteuerregisters, nämlich
die Anzeige, daß die derzeit in Bewertung begriffene »bedingte« Aussage ein Teil eines Bedingungsbefehls ist, in Stelle 4 des Objektregisters bewirken.
Dann wird der Inhalt des Objektregisters in den Kellerspeicher 32 eingespeichert, wie es in Block 5
angedeutet ist.
Block 6 zeigt an, daß der Befehlsregistersteuerring
zu dem ersten »z« nach der linken Klammer weitergeschältet werden muß. Block 7 bewirkt die Ausführung
des Unterprogramms »Subjekt bewerten«, wodurch »zz« in das Subjektadreßregister gelangt und
der Befehlsregistersteuerring auf die »Vergleichs«- Operation (=) gesetzt wird. Die Systemsteuerung ist
jetzt in dem in Tabelle 10 gezeigten Zustand. Die Steuerung wird über Block 8 zum Anfang zurückgestellt.
Da jetzt der Befehlsregistersteuerring auf dem » = « steht, befindet sich ein Signal auf der
»== «-Leitung am Befehlsregisterentschlüsseier. Dies
ist dieselbe Leitung wie beim Multiplizieren— Dividieren, und die ablaufenden Vorgänge sind die
gleichen und brauchen nicht beschrieben zu werden. Nach Ausführung dieser Operation im Block 30 wird
ein »Erfüllt«- oder »Nicht-er£üllt«-Signal aus der Verarbeitungseinheit in das System zurückgeschickt.
Der Befehlsregistersteuerring steht nun auf der letzten rechten Klammer, und die Steuerung kehrt zum
Anfang zurück, zu welchem Zeitpunkt ein Signal auf der Rechte-Klammer-Leitung aus dem Befehlsregisterentschlüsseler
vorliegt. Dieses Signal wird dem Block 67 zugeführt. Block 68 veranlaßt die Ausführung
der Folge im Kellerspeicher 32 bis zum Erreichen einer linken Klammer, und als Ergebnis davon
wird das die linke Klammer enthaltende letzte Wort des Kellerspeichers 32 in das Objektregister
eingebracht. Das Befehlsregisterzeichen, bei dem es sich um die rechte Klammer handelt, wird in das
Operatorregister eingespeichert, und der Befehlsregistersteuerring wird zur abschließenden Satzmarke
weitergeschaltet. Der Inhalt von Stelle 4 des Objektregisters wird in das Klammersteuerregister übertragen,
das die »Ausführen«-, »Vielleicht-ausführen«- und »Bedingt-ausführen«-Verriegelungsschaltungen
und die 0- und 2-Verriegelungsschaltungen des Befehlsentschlüsselerregisters
rückstellt und die 1-Verriegelungsschaltung des Befehlsentschlüsselerregisters
einstellt. Da jetzt die 1-Verriegelungsschaltung eingestellt ist, geht die Steuerung über Block 73 weiter
zu den Blöcken 86 und 87. Wenn, die »Erfüllt«-Verriegelungsschaltung
auf »1« eingestellt worden ist,
ίο geht die Steuerung weiter, und zwar geht sie von
Block 86 zum Anfang und macht von dort aus weiter. Bei" Nichteinstellen der »ErfülltÄ-Verriegelungsschaltung
(»0«), nämlich bei Nichterfüllung der auf den Bedingungsbefehl folgenden bedingten Aussage,
würde die Systemfolge zu der Stelle in dem Befehl zurückkehren, wo die dem Bedingungsbefehl vorausgehende
linke Klammer aufgetreten ist. Diese Adresse steht derzeit im Objektregister. Daher speichert die
Steuerung den Inhalt der Stellen 7 und 8 des Objekt-
ao registers in das Wortadreßregister des Befehlsregisters ein. Hierbei handelt es sich um die Adresse »77«.
Block 90 zeigt an, daß bei »77« ein Zugriff zum Hauptspeicher erfolgt und dieses Wort in das Befehlsregister
übertragen wird. Dann stellt der Inhalt der Stelle 5 des Objektregisters den Befehlsregistersteuerring
ein.
Das System verbleibt nun in dem in Tabelle 11 gezeigten Zustand. Die Steuerung kehrt zum Anfang
zurück und läuft weiter wie zuvor, als der Befehlsregistersteuerring sich an dieser Stelle befand. Die
Blöcke 85 bis 91 zeigen, was geschehen wäre, wenn die Folge anstatt zu einer linken Klammer zu einer
Satzmarke zurückgekehrt wäre. Dies würde durch das Einstellen der 2-Verriegelungsschaltung des Befehlsentschlüsselerregisters
angezeigt worden sein. Auch dann wäre, wenn die bedingte Aussage erfüllt gewesen wäre, die Steuerung zum Anfang zurückgekehrt
und normal weitergelaufen. Wenn nicht, hätte sie den Kellerspeicherinhalt ausgeführt bis zum Erreichen
einer Aufzeichnungsmarke. Wenn dies eintritt, befindet sich die Adresse der Aufzeichnungsmarke in den Stellen 7 und 8 des Objektadreßregisters,
Diese Adresse wird dann gemäß Block 89 in das Wortadreßregister des Befehlsregisters eingebracht,
und dann erfolgt an dieser Stelle im Befehlsregister ein Zugriff zum Hauptspeicher. Der Befehlsregistersteuerring
wird dann zur ersten Stelle geschaltet, und die Steuerung kehrt wieder zum Anfang
zurück und läuft normal weiter.
Das vorstehende Beispiel verdeutlicht in Verbindung mit den Tabellen 1 bis 11 die Folge von Vorgängen
in dem vorliegenden System bei der Bewertung und Folgesteuerung einer bedingten Aussage.
Das folgende Beispiel ist weniger komplex und soll zeigen, wie die Bedingungen sind, wenn andere Verriegelungsschaltungen
des Klammersteuerregisters eingestellt werden. Dieses Beispiel wird keine schon besprochenen Schritte wiederholen.
Das nächste an Hand von F i g. 2 und den Tabellen
12 bis 15 zu betrachtende Beispiel veranschaulicht eine Systemoperation bei Verwendung der
»Bedingt-ausführen«-, »Vielleicht-ausführen«- und »Ausführen«-Verriegelungsschaltungen. Der zu betrachtende
Befehl lautet wie folgt:
EE + [FF X (GG + HH) + KKXLL + MM].
Es wird angenommen, daß die absolute Adresse von EE bereits in das Subjektadreßregister einge-
bracht worden ist. Dann folgt das Additionsverfahren (+). Wie gewöhnlich wird ein Signal zur Und-Schaltung
37 übertragen. Zu diesem Zeitpunkt ist die »Bedingt - ausführen« - Verriegelungsschaltung F 20
nicht eingestellt. Die Rechte-Klammer-Verriegelungsschaltung L 20 wird rückegestellt, und das + wird in
das Operatorregister übertragen, und dann wird das Unterprogramm »Objekt bewerten« ausgeführt. Jetzt
steht das Befehlsregister auf der linken Klammer. Kellerspeichers im Objektregister zurückblieb. Block
71 bewirkt die Einbringung der vierten Zeichenstelle des Objektregisters in das Klammersteuerregister, das
die »Ausführen«-Verriegelungsschaltung, die »Vielleicht-ausführen«-
und die »Bedingt-ausfübren«~Verriegelungsschaltung rückstellt, die O-Verriegelungsschaltung
des Befehlsentschlüsselerregisters auf »1« einstellt und die 1- und die 2-Verriegelungsschaltung
rückstellt. Zu dieser Zeit ist die »Ausführen«-Ver-
Daher wird im Unterprogramm »Objekt bewerten« io riegelungsschaltung im Ein-Zustand. Daher geht die
Block 95 erfüllt, und die Steuerung geht über zu den Steuerung über auf Block 75 und dann auf 77. Block
Blöcken 96 bis 101. Diese speichern den im Subjektadreßregister stehenden Operator + in den Keller
speicher 32 ein. Ebenfalls, jedoch in Abhängigkeit davon, ob das Unterprogramm »Objekt bewerten«
durch einen +-Vorgang oder einen Multiplikations-, Divisions- oder »Vergleichs«-Vorgang aufgerufen
worden ist, wird entweder die »Vielleicht-ausführen«- oder die »Ausführen«-Verriegelungsschaltung V 21
oder V 22 eingestellt. Dann wird die Steuerung über die Oder-Schaltung 99 zu den Blöcken 19 und 20 zurückgeführt,
die, wie üblich, die Rechte-Klammer-Verriegelungsschaltung L 20 prüfen, und von dort
aus gelangt die Steuerung zurück zum Anfang. Der Befehlsregistersteuerring steht noch auf der linken
Klammer. Diese linke Klammer bewirkt das Erscheinen eines Signals auf der Linke-Klammer-Leitung
des Befehlsregisterentschlüsselers, das zur Und-Schaltung 31 weitergeleitet wird. Jetzt findet das
77 veranlaßt, daß das nächste Wort im Kellerspeicher 32, das das Multiplikationssymbol und die Adresse
FF enthält, in das Objektregister 24 eingespeichert wird. Block 80 bewirkt, daß die Adresse im Subjektadreßregister,
bei der es sich um die Adresse des Ergebnisses GG + HH handelt, in das Objektregister
24 übertragen wird. Als nächstes bewirkt Block 78 die Übertragung des Multiplikationssymbols aus der
dritten Stelle des Objektregisters in das Operatorregister. Block 79 veranlaßt, daß die Adresse in den
Stellen 5 und 6 des Objektregisters in das Subjektadreßregister eingebracht wird. Tabelle 14 zeigt die
jetzt bestehende Situation. Da die »Ausführen«-Ver-
25 riegelungsschaltung eingestellt ist, wird die Steuerung über die Blöcke 81 und 84 zum Block 30 übertragen,
der die Ausführung der im Operatorregister angezeigten Multiplikation bewirkt. Danach wird das folgende
+ abgetastet. Nachdem das Objekt bewertet Verfahren statt, wie es beim vorstehenden Beispiel 30 und die Adresse KK in das Objektadreßregister einerläutert
worden ist. Der Zustand der »Vielleicht-aus- gebracht worden sind, fragt Block 47 ab, ob im Befehlsregister
ein Multiplikations- oder Divisionssymbol steht, was tatsächlich der Fall ist. Block 48
führen«- und der »AusführenÄ-Verriegelungsschaltung wird jedoch mit dieser linken Klammer dargestellt,
wenn der Inhalt des Klammersteuerregisters in Stelle 4 des Objektregisters gespeichert und später
in den Kellerspeicher 32 eingebracht wird. Tabelle 12 veranschaulicht den Zustand direkt nach Einbringung
des Inhalts des Objektregisters in den Kellerspeicher 32. In Block 60 wird der Befehlsregistersteuerring
weitergeschaltet und das Unterprogramm »Subjekt bewerten« ausgeführt. Dadurch gelangt die Additionsadresse FF in das Subjektadreßregister. Als nächstes
steht im Befehlsregister das Multiplikationssymbol, und die Steuerung geht auf die Und-Schaltung 54
über. In dem in Block 27 angeforderten Unterprogramm »Objekt bewerten« wird eine linke Klammer
angetroffen. Diesmal ist sie jedoch bei der Ausführung des Multiplikationsverfahrens angetroffen worden.
Daher wird die »AusführenÄ-Verriegelungsschaltung V 22 in Block 101 eingestellt. Als nächstes
wird wieder durch das normale Linke-Klammer-Verfahren die linke Klammer, der Inhalt des
Klammersteuerregisters und der Ort der linken Klammer in den Kellerspeicher 32 eingebracht. Tabelle
13 stellt den Zustand nach Ausführen des Blocks 5 dar. Der Klammerausdruck GG + HH wird
ausgeführt. Dann wird die rechte Klammer angetroffen. Auf der Rechte-Klammer-Leitung aus dem Befehlsregisterentschlüsseler
liegt ein Signal vor. Dieses Signal wird der Und-Schaltung 67 zugeführt. Block 68 veranlaßt die Ausführung alles dessen, was nach
der vorhergehenden Klammer im Kellerspeicher 32 noch nicht getan ist. Block 69 bewirkt die Einspeicherung
der rechten Klammer in das Operatorregister. veranlaßt die Übertragung des + im Operatorregister
in Stelle 3 des Objektregisters. Block 49 bewirkt, daß die Adresse im Subjektadreßregister, die
■ die Adresse' der Operation
FF X (GG + HH)
ist, in die Stelle 5 und 6 des Objektregisters eingespeichert wird. Diese Adresse sei hier FH genannt.
Block 50 bewirkt dann die Speicherung des im Objektadreßregisters enthaltenen + und der Adresse
FH im Kellerspeicher. Die Adresse KK im Objektregister wird dann in das Subjektadreßregister übertragen.
Block 52 bewirkt das Einstellen der »Bedingtausführen«-Verriegelungsschaltung V 20. Der jetzt
herrschende Zustand geht aus Tabelle 15 hervor. Die Steuerung wird wieder zum Anfang zurückgeführt
und die Multiplikation ausgeführt. Die Adresse dieser Multiplikation von KK und LL wird im Subjektadreßregister
belassen. Als nächstes soll das folgende + ausgeführt werden. Es wird jedoch sofort die
»Bedingt - ausführen« - Verriegelungsschaltung abgefragt, und sie ist tatsächlich in der »1«-Stellung. Der
Befehl im Kellerspeicher wird daraufhin ausgeführt bis zum Erreichen einer linken Klammer. Daher wird
das Ergebnis der Multiplikation von KK und LL zum Ergebnis der vorausgegangenen Operationen addiert,
bis die linke Klammer erreicht ist. Das heißt mit anderen Worten, daß die Information an Adresse FH,
nämlich das Ergebnis von FF X (GG + HH), zum Ergebnis der Multiplikation von KKXLL addiert
wird, bevor die Addition mit MM ausgeführt- wird.
50
55
Block 70 schaltet den Befehlsregistersteuerring zum 65 Der Zweck der »Bedingt-ausführene-Verriegelungsfolgenden
+ weiter. Wenn der Kellerspeicherinhalt schaltung dürfte nun deutlich zu sehen sein. Er bein
Block 68 ausgeführt worden ist, besteht ein Ergeb- steht darin, die im Kellerspeicher enthaltenen Operanis
dessen darin, daß das erste Maschinenwort des tionen auszuführen, sobald sie ausgeführt werden
609 567/433
43 44
können, anstatt zu warten, bis eine rechte Klammer Befehls im Befehlsregister 10. Anfangs steht der
erreicht wird, um alle noch nicht ausgeführten Opera- Befehlsregistersteuerring 12 so, daß das erste Zeichen
tionen im Kellerspeicher auszuführen. Daher braucht sich auf der Sammelleitung B1 befindet und daher
der Kellerspeicher 32 nur eine sehr geringe Größe zu durch den Entschlüsseier 36 entschlüsselt wird. Da
haben. 5 das erste Zeichen ein φ ist, befindet sich ein Signal Es wird nun das in F i g. 3 enthaltene logische auf der φ-Leitung aus dem Entsehlüsseler. Ebenfalls
Schaltschema des hier beschriebenen Ausführungs- liegt zunächst auf der Leitung C4 des 552 (Fig. 3a)
beispiels der Erfindung erläutert. Das System ist voll- ein Signal, und daher empfangen beide Eingänge der
ständig dargestellt, lediglich einzelne Teile des Und-Schaltung A 2 ein Signal. Das Ausgangssignal
Systems, auf die hier in der Beschreibung Bezug ge- ίο dieser Und-Schaltung A 2 schaltet 5544 ein, und
nommen wird, sind in der Zeichnung nicht enthalten. dadurch wird der Kellerspeicher 32 rückgestellt.
Zu diesen Teilen gehört die zentrale Verarbeitungs- Diese Rückstellung bedeutet, daß nun alle vorher
einheit, die die eigentlichen Additions-, Subtraktions-, darin gespeicherten Informationen aus dem Keller-Multiplikations-,
Divisions-, »Vergleichs«-usw. Funk- speicher 32 entfernt sein müssen. Wenn dies getionen
ausführt. Das Verfahren und die Anordnung 15 schehen ist, wird 5546 eingeschaltet und bewirkt das
zur Durchführung dieser Funktionen sind von dem Öffnen des Tors 11 des Befehlsregisters und des
System unabhängig, durchaus konventionell und Tors 25 zur Stelle 3 des Objektregisters. Daher ist
werden, wie schon erwähnt, nicht beschrieben. Zur das vorher im Befehlsregister stehende Zeichen jetzt
Verdeutlichung sind nicht alle Zwischenverbindungen in Stelle des Objektregisters gespeichert. Nachdem
eingezeichnet worden. Wenn z. B. eine Adresse aus 20 dies erledigt ist, wird 5548 eingeschaltet. Diese
einem Adreßregister in ein anderes »übertragen« Taktgeberfolge öffnet das Tor 17 im Ausgang des
werden soll, sind nicht die Leitungen eingezeichnet Wortadressenregisters 16 des Befehlsregisters und beworden,
die bestimmte zur Steuerschaltung zurück- wirkt die Übertragung der darin enthaltenen Inforführende
Tore öffnen oder schließen, sondern an der mation zur siebenten und achten Zeichenstelle des
betreffenden Stelle der Zeichnungen ist ein Hinweis, 25 Objektregisters über das Tor 17, das gleichfalls gewiez.
B. Subjektadreßregister-^- Objektadreßregister, öffnet wird. Wie bereits erwähnt, ist das Objektenthalten,
der anzeigt, daß die im Subjektadreß- register in acht Zeichen unterteilt. Nach Übertragung
register enthaltene Adresse zum Objektadreßregister der Befehlsregister-Wortadresse zur siebenten und
zu übertragen ist. Diese Funktion und die dafür er- achten Zeichenstelle des Objektregisters wird 5550
forderliche Torsteuerung sind bekannt, und es er- 30 eingeschaltet. Das Ausgangssignal von 5550 gelangt
übrigt sich daher, die jeweiligen Leitungen einzu- zum Multivibrator 5536, der bewirkt, daß der Inhalt
zeichnen. Wie schon gesagt worden ist, wird die Zeit- des Objektregisters 24 in den Befehls-Kellerspeicher
steuerung durch monostabile Multivibratoren SS eingebracht und der Befehlsregistersteuerring 12
durchgeführt. Eine mit einer Nummer bezeichnete weitergeschaltet wird. Bis hierher ist folgendes geAngabe
SS zeigt an, daß die Operationen von seit- 35 schehen: Die Aufzeichnungsmarke (φ) mit ihrer
liehen Ausgangsleitungen des Multivibrators 55 ge- Adresse im Befehl ist in den Kellerspeicher 32 einsteuert
werden und daß bei Ausführung dieser geführt worden. Diese Adresse wird in den Keller-Operationen
die betreffende Zeitsteuerverriegelungs- ' speicher eingespeichert, damit, wenn später ein Beschaltung
ausgeschaltet und die nächste eingeschaltet dingungsbefehl eine Rückkehr zur Aufzeichnungswird
unter der Steuerung des »Abschalt«-Signals von 40 marke bewirkt, deren Adresse zur Verfugung steht.
derunterenAusgangsleitungdesMultivibrators55aus. Jetzt ist das nächste Zeichen zur Untersuchung
Das Schaltschema zeigt die Befehlsfolgesteuerung bereit, und das geschieht durch Weiterschalten des
für eine bestimmte geringe Zahl von Operationen. Befehlsregisters. Dieses nächste Zeichen muß ein Teil
Diese Operationen dienen nur dazu, um die Wir- des Subjekts sein. Weiter muß es entweder ein allkungsweise
des Systems zu erläutern. Das System 45 gemeines Zeichen sein, das die Adresse eines Datenkann
darüber hinaus jedoch beliebig viele Opera- teils darstellt, oder eine linke Klammer. Die Betionen
durchführen. Die hier beschriebenen Opera- wertung dieses Subjekts erfolgt jedoch im Untertionen
sind: Addition, Subtraktion, Multiplikation, programm »Subjekt bewerten«. Dies wird später
Division, »Übertragung«, linke Klammer, Satz- beschrieben. Hier wird als Folge der Einschaltung
marke (φ), rechte Klammer und Bedingung »bed«. 50 von 5538 die »Subjekt-bewertenÄ-Verriegelungs-Ebenfalls
werden im Befehlsstrom die sogenannten schaltung Ll eingestellt und ein Signal von deren
allgemeinen Zeichen erkannt. Diese Zeichen werden »1«-Seite zum Unterprogramm »Subjekt bewerten«
vom Programmierer für beliebige Zwecke verwendet. geschickt. Nach Beendigung dieses Unterprogramms
Für einen Rechenbefehl gibt es herkömmliche »Subjekt bewerten« wird ein Signal vom UnterAdressen,
welche die im Hauptspeicher gespeicherten 55 programm zu der Und-Schaltung A 4 übertragen,
Operanden bezeichnen. Die Additions-, Subtraktions-, wourch 5540 eingeschaltet wird. Der Multivibrator
Multiplikations- und Divisionsanzeigen führen die 40 bewirkt, daß die Verriegelungsschaltung Ll auf
selbstverständlichen Operationen aus. Die linken und ' »0« zurückgestellt wird, und wenn dies geschehen
rechten Klammern werden in normaler Weise ver- ist, wird von der »O«-Seite der Schaltung Ll ein
wendet. Die Aufzeichnungsmarke (φ) gibt das Aus- 60 Signal zu der Und-Schaltung A 6 gesendet, und das
maß eines Befehls oder einer Aufzeichnung an. Das Ausgangssignal dieser Und-Schaltung schaltet 5542
Vergleichsverb »gleich« (=) ist ebenfalls in dem hier ein, der ein Ausgangssignal auf Leitung C 2 erzeugt,
beschriebenen Befehlssatz enthalten. das zur Und-Schaltung A 9 zurück gelangt. A 9 ist
Der hier verwendete Musterbefehl: eine zusammengesetzte Schaltung, die aus Und-
JL. α λ ··/··! de. Ky ππ -·\ u j {·■ nr^ju 65 Schaltungen A 8 und A10' und einer Oder-Schaltung
$AA-+n(n + BBXCC->n)»bed«(n = DD)$ Q2 und S Multivibrator 5514 besteht, der, wenn die
ist derselbe wie das oben angeführte erste Beispiel. Rechte-Klammer-VerriegelungsschaltungL20auf»l«
Zunächst befinden sich die ersten acht Zeichen dieses eingestellt wird, diese auf »0« rückstellt und, wenn
45 46
die Rechte-Klammer-Verriegelungsschaltung bereits plikations«- oder ein »DivisionsÄ-Operatorverb. Dies
auf »0« steht, über die Und-Schaltung A10 den wird bei der Beschreibung der »Multiplikation«-
Multivibrator 552 einschaltet. Wenn die Rechte- oder der »Division«-Operation noch erläutert. Tat-Klammer-
Verriegelungsschaltung L 20, wie erwähnt, sächlich wird das Objekt bewertet, bei dem es sich
auf »1« eingestellt worden ist, wird sie auf »0« rück- 5 in diesem Falle um die »1« handelt. Nachdem das
gestellt, und das erfolgt über die Und-Schaltung A 8, geschehen ist, befindet sich im Operatorregisterderen
beide Eingänge erregt sind, wenn die Rechte- entschlüsseler 36 eine »Übertragungs«-Funktion (->),
Klammer-Verriegelungsschaltung L 20 auf »1« ein- und es werden die für die »Übertragungsfunktion
gestellt ist, und durch Einschaltung von 5514, der angegebenen Operationen ausgeführt,
ein Signal auf Leitung C14 zur Rechte-Klammer- io Nach Abschluß dieser Operationen wird ein Signal Verriegelungsschaltung L 20 sendet, um sie auf »0« auf LeitungCll erzeugt, wodurch erreicht wird, daß rückzustellen. die Rechte-Klammer-Verriegelungsschaltung L 20 auf
ein Signal auf Leitung C14 zur Rechte-Klammer- io Nach Abschluß dieser Operationen wird ein Signal Verriegelungsschaltung L 20 sendet, um sie auf »0« auf LeitungCll erzeugt, wodurch erreicht wird, daß rückzustellen. die Rechte-Klammer-Verriegelungsschaltung L 20 auf
Die Befehlsfolge ist jetzt zum 552 zurückgekehrt. »0« rückgestellt und Multivibrator 552 wieder ein-
Der Befehlsregistersteuerring 12 ist jedoch eine Stelle geschaltet sind. Jetzt befindet sich die erste linke
weitergeschaltet worden, wie bereits angedeutet. 15 Klammer »(« aus dem Befehlsregister 10 als Signal-
Daher sollte der Entschlüsseler 36 jetzt das Zeichen D kombination auf Leitung Bl, und daher liegt ein
enthalten, das ein allgemeines Zeichen ist. Im Be- Signal auf der Linke-Klammer-»(«-Leitung aus dem
fehlsregister befindet sich jedoch das Pfeilzeichen, Entschlüsseler 36 vor. Beide Eingänge der Und-
der »Übertragungs«-Operator. Mit D ist folgendes Schaltung A18 werden erregt, und daher wird 5524
geschehen: Das Unterprogramm »Subjekt bewerten« 20 eingeschaltet. Infolgedessen wird eine »0« zu der
hat dieses Zeichen verwendet und selbst das Befehls- 0-Stelle des Befehlsentschlüsselerregisters IDR im
register weitergeschaltet. Wie bereits gesagt, wird Klammernsteuerregister 30 geschickt. Dann werden
dieses Unterprogramm »Subjekt bewerten« später nacheinander die monostabilen Multivibratoren 55 26,
beschrieben. 5528 eingeschaltet, mit dem Ergebnis, daß das
Jetzt ist 552 eingeschaltet, und der Befehlsregister- 25 Objektregister 24 gelöscht wird, und das derzeit im
steuerring 12 steht auf dem ersten Pfeilzeichen. Dies Befehlsregister 10 befindliche Zeichen, nämlich die
wird wie gewöhnlich zur dritten und vierten Zeichen- linke Klammer »(«, zur Stelle 4 des Objektregisters
stelle des Objektregisters weitergeleitet, und der Ent- 24 übertragen wird. Danach wird über Multivibrator
schlüsseler erzeugt ein Ausgangssignal auf der 5530 der Multivibrator SS 32 eingestellt. Dies führt
»Übertragungs«-Operatorleitung (->-). An beiden 30 zur Einspeicherung des derzeit im Befehlsregister
Eingängen der Und-Schaltung A10 liegt ein Signal. wirksamen Zeichens nach Stelle 5 des Objektregisters.
Daher wird 5520 eingeschaltet. Hierdurch wird Es handelt sich dabei um dasjenige Zeichen, auf
die »Bedingt-ausführenÄ-Verriegelungsschaltung V 20 welches der Befehlsregistersteuerring 12 zu diesem
rückgestellt. Außerdem bewirkt dies, daß die Ver- Zeitpunkt eingestellt ist. Als nächstes wird 5534
riegelungsschaltungL2 auf »1« eingestellt wird, und 35 eingeschaltet und bewirkt die Eingabe der Befehls-
dies wiederum veranlaßt die Ausführung des Unter- register-Wortadresse aus Register 16 in die siebente
Programms »Kellerspeicher ausführen«. Dieses Unter- und die achte Stelle des Objektregisters 24. Danach
programm wird weiter unten beschrieben. Es dient wird Multivibrator 5536 eingeschaltet, der bewirkt,
zur Ausführung aller Funktionen, die im Keller- daß der Objektregisterinhalt in den Kellerspeicher 32
speicher 32 bis zu einem gegebenen Punkt gespei- 40 gebracht und der Befehlsregisterring 12 weiter-
chert worden sind. geschaltet wird.
Die Und-Schaltungen A12, A14 und A16 be- Es geschieht folgendes: die linke Klammer und
stimmen, an welchem Punkt die Ausführung dieses ihre Adresse werden in den Kellerspeicher 32 einUnterprogramms
gestoppt wird. Unter den vor- geführt, damit, wenn später ein Bedingungsverb aufliegenden
Bedingungen ist es erforderlich, die Aus- 45 tritt, wie es in diesem Beispiel der Fall ist, die Rückführung
des Kellerspeicherinhalts zu stoppen, wenn kehradresse im Kellerspeicher enthalten ist und die
eine linke Klammer »(« oder eine φ festgestellt wird. Rückführung nach Bedarf erfolgen kann. Nach Ein-Daher
veranlaßt ein der Oder-Schaltung O 4 ent- gäbe des Objektregisterinhalts in den Kellerspeicher
weder vom Linke-Klammer- »(«- oder vom φ-Aus- und Weiterschaltung des Befehlsregisterringes 12
gang des im Kellerspeicher gespeicherten Befehls 50 wird Multivibrator 5538 eingestellt. Dies hat wie
zugeführtes Signal die Und-Schaltung A16 zur vorausgehend erläutert die Bewertung des folgenden
Erzeugung eines Ausgangssignals. Wenn jedoch ein Subjekts zum Ergebnis, und wenn das geschehen ist,
Signal auf der »Kellerspeicher-ausgeführt«-Leitung wird wieder Multivibrator 552 eingeschaltet, wobei
301 (F i g. 3) auftritt, das anzeigt, daß eine linke der Befehlsregisterring 12 nicht auf dem folgenden
Klammer oder eine Aufzeichnungsmarke φ nicht 55 allgemeinen Zeichen, sondern auf dem ersten nicht
erreicht worden ist, wird der Multivibrator 5522 allgemeinen Zeichen steht, in diesem Falle einem
eingeschaltet. Dadurch wird die Verriegelungsschal- »+« oder Additionsoperator.
tungL2 auf eine »0« rückgestellt. Nachdem dies Daher befindet sich ein Signal auf der »+«-Lei-
geschehen ist, liegt an beiden Eingängen von .414 tung des Entschlüsselers 36. Es liegen also Signale
ein Signal an, wodurch 5520 eingeschaltet wird. 60 an beiden Eingängen der Und-Schaltung A 20, und
Dies wird dann wiederholt, bis ein Signal auf dei Multivibrator 554 wird eingeschaltet. Wenn die
Linke-Klammer- oder der φ-Leitung 302 oder 303 »Kann-ausführen«~Verriegelungsschaltung auf »0«
auftritt, wodurch — wie schon erwähnt — an beide rückgestellt wird, liegt ein Signal am Ausgang der
Eingänge der Und-Schaltung A16 ein Signal gelangt Und-Schaltung A 22. Wenn die »Bedingt-ausführen«-
und 55150 eingeschaltet wird. Dadurch wird der 65 Verriegelungsschaltung V 20 auf »1« eingestellt wird,
Inhalt des Objektregisters wieder dem Kellerspeicher liegt ein Signal am Ausgang der Und-Schaltung A 24.
32 zugeleitet. Dann wird 5516 eingeschaltet. Von Hierdurch wird die Verriegelungsschaltung L 4 auf
hier ab ist der Ablauf derselbe wie für ein »Multi- »1« eingestellt, was die Ausführung des Unter-
47 48
Programms »Kellerspeicherinhalt ausführen« auslöst. die Adresse ihres Subjekts im Kellerspeicher 32 zu
Die Funktionen der Und-Schaltungen A 26, A 28, speichern. Dies geschieht über die Multivibratoren
.430, des Multivibrators 556 und der Oder-Schal- 5594, 5598 und 55100. Dabei wird zunächst der
rung O 6 sind bereits beschrieben worden. Beim Inhalt des Operatorregisters 14, ein (+), durch das
Erreichen einer linken Klammer »(« oder einer Auf- 5 Ausgangssignal der Und-Schaltung .<4 42 in die Stelle 3
Zeichnungsmarke (=j=) im Kellerspeicher 32 wird 558 des Objektregisters übertragen. Der Inhalt des Subeingeschaltet.
Wenn die »Bedingt-ausführen«-Ver- jektadreßregisters wird über 5594 in die fünfte und
riegelungsschaltung F 20 auf »0« rückgestellt worden die sechste Stelle des Objektregisters gesteuert. Dann
wäre, würde ein Signal am Ausgang von .422 liegen, wird über 5598 der Inhalt des Objektregisters 24 in
was direkt die Einschaltung von Multivibrator SS 8 io den Befehls-Kellerspeicher 32 übertragen, und über
bewirkt hätte. Die »Bedingt-ausführenÄ-Verriege- 55100 wird der Inhalt des Objektadreßregisters 28
lungsschaltung F 32 ist auf »1« eingestellt worden, zum Subjektadreßregister 22 geleitet. Außerdem wird
falls im Kellerspeicher 32 etwas Auszuführendes durch 55100 die »Bedingt-ausführen«-Verriegelungssteht.
Wenn im Kellerspeicher keine auszuführenden schaltung F 20 auf »1« eingestellt, was anzeigt, daß
Befehle enthalten sind, wird sie auf »0« rückgestellt. 15 beim nächsten Auftreten eines » + «- oder »—«-Sym-Im
letzteren Falle wird das Unterprogramm »Keller- bols die Systemsteuerung zurückkehren und das jetzt
speicherinhalt ausführen« übersprungen. Der mono- imKellerspeicher32 enthaltene » + «-oder » — «-Verb
stabile Multivibrator 558 stellt zuerst die Verriege- ausführen muß. Nach dem Einstellen der »BedingtlungsschaltungL4
auf »0« zurück, wenn sie vorher ausführen «-Verriegelungsschaltung F20 kehrt die
auf »1« gestanden hat. Er überträgt den Befehls- 20 Steuerung über Leitung C11 zum Multivibrator 55 2
registerinhalt zum Operatorregister 14 und stellt die zurück, wobei auch die Rechte-Klammer-Verriege-Rechte-Klammer-VerriegelungsschaltungL20zurück.
lungsschaltung L20 auf »0« rückgestellt wird. Im Nach Abschluß all dieser Schritte liegt ein Signal Falle des vorliegenden Beispiels ist ein Multiplikaam
Ausgang der Und-Schaltung A 32 vor, das die tionssymbol (X) festgestellt worden, und daher wer-VerriegelungsschaltungLö
auf »1« stellt. Diese Ver- 25 den das » + «-Zeichen und die Adresse»«« in den
riegelungsschaltung L6 ruft das Unterprogramm Befehls-Kellerspeicher eingebracht, und die Steue-
»Objekt bewerten« auf. Dieses gleicht insofern dem rung gelangt dann zurück zu 552. Diesmal steht das
Unterprogramm »Subjektbewerten«, als das folgende Multiplikationsverb (X) im Befehlsregister 10, und
»allgemeine« Zeichen bewertet wird und die Adresse es tritt ein Signal am Multiplikation-Divisions-Ausder
diesen Zeichen zugeordneten Informationen ge- 30 gang des Entschlüsselet 36 auf. An beiden Einfunden
und in das Objektadreßregister 28 einge- gangen der Und-Schaltung A 52 liegt ein Signal, und
speichert wird. Wenn die folgenden Zeichen ein daher wird Multivibrator 5516 eingeschaltet. Dies
echtes Objekt sind, wird ein Signal auf die »Aus- bewirkt zunächst die Übertragung des Inhalts des
geführt«-Leitung 304 gegeben. Wenn sie kein echtes Befehlsregisters 10 zum Operatorregister 14. Außer-Objekt
sind, wenn z. B. das nächste Zeichen eine 35 dem wird die Rechte-Klammer-Verriegelungsschallinke
Klammer »(« ist, wird ein Signal auf die »Nicht- rung JL20 über Leitung C6 auf »0«c rückgestellt.
ausgeführt«-Leitung 305 geschickt. Im vorliegenden Nach Ausführung dieser Schritte liegt ein Signal am
Falle wird Multivibrator 5512 eingeschaltet und be- Ausgang der Und-Schaltung A 54, wodurch die Verwirkt
nur die Rückstellung der Verriegelungsschal- riegelungsschaltung L 8 auf »1« eingestellt wird,
rung L6 auf »0«. Das Unterprogramm »Objekt be- 40 Dies bewirkt die Ausführung des Unterprogramms
werten« bewirkt die Rückführung der Steuerung zu »Objekt bewerten« in der oben beschriebenen Art
Multivibrator 552 unter deren eigenen Bedingungen. und Weise. Wenn in diesem Unterprogramm eine
Wenn jedoch das Unterprogramm »auswerten« linke Klammer »(« auftritt, gelangt ein Signal auf die
durchgeführt würde, läge ein Signal am Ausgang der »Nicht-ausgeführt«-Leitung 305, wodurch die Ver-Und-Schaltung
A 34, wodurch Multivibrator 5510 45 riegelungsschaltung L 8 über Multivibrator 55144
eingeschaltet wird. Hierdurch wird zunächst die und die Oder-Schaltung 010 auf »0« rückgestellt
Verriegelungsschaltung L 6 auf »0« rückgestellt, wo- wird. Wen es ein allgemeines Zeichen ist, wird dessen
durch ein Signal an den Ausgang der Und-Schaltung Adresse in das Objektadreßregister eingebracht, und
A 38 gelangt. Bekanntlich wäre bei Ausführung des ein Signal gelangt auf die »Ausgeführt«-Leitung 304.
Unterprogramms »Objekt bewerten« der Befehls- 50 Dann schaltet das Ausgangssignal der Und-Schaltung
registersteuerung 12 auf dem nächsten Zeichen A 56 den Multivibrator 5518 ein, wodurch über die
stehengeblieben, bei dem es sich im vorliegenden Oder-Schaltung 010 die Verriegelungsschaltung L 8
Fall um einen Multiplikationsoperator (X) handelt. auf »0« rückgestellt wird. Wenn dies geschehen ist,
Das Ausgangssignal der Und-Schaltung A 38 wird gelangt das Ausgangssignal der Und-Schaltung A 60
mit dem Ausgangssignal der Umkehrstufe Nl aus 55 zu den Und-Sehaltungen A 62, A 64 und A 65. Wenn
der Multiplikation-Divisions-Leitung des Entschlüsse- im Operatorregister ein Multiplikationsverb (X)
Iers36 an der Und-Schaltung A 40 verknüpft. Außer- steht, was hier der Fall ist, wird von der zentralen
dem wird es mit dem direkten Signal auf der Multi- Verarbeitungseinheit eine Multiplikation durchgeplikation-Divisions-Leitung
des Entschlüsselers 36 an führt. Stünde im Operatorregister ein Divisionsder Und-Schaltung A 42 verknüpft. Wenn das nächste 60 verb(/), würde eine Division durchgeführt, und entZeichen
kein Multiplikations- oder Divisionssymbol hielte das Operatorregister ein Gleichsymbol (=),
ist, kann die Addition (+) oder Subtraktion (—) würde eine »VergleichsÄ-Operation durchgeführt;
ausgeführt werden. Dies geschieht unter der Steue- auch wenn im Operatorregister eine »Übertragungs«-
rung der Und-Schaltungen A 44, A 46, A 48 und Funktion (->) gestanden hätte, wäre diese ausgeführt
A 50. Würde jedoch ein Multiplikations- oder Divi- 65 worden, wie es in den Und-Schaltungen A 62, A 64,
sionsoperator festgestellt, wäre es möglich, die Addi- A 65 und A 67 angedeutet ist. Nach Ausführung des
tion oder Subtraktion auszuführen. Es wäre dann Verbs, hier also der Multiplikation, wird Multivibranötig,
die betreffende Addition oder Subtraktion und tor 552 wieder über Leitung CH eingeschaltet.
nachdem die Rechte-Hammer-Verriegelungsschaltung
auf »0« rückgestellt worden ist. Jetzt befindet sich der »Übertragungs «-Operator (->) im Entschlüsseier.
Die Wirkungsweise dieses Verbs ist bereits erläutert worden. Nach seiner Ausführung wird
552 wieder eingeschaltet. Jetzt steht der Befehlsregistersteuerring auf der rechten Klammer »)«, und
daher liegt ein Signal auf der vom Entschlüsseier 36 kommenden Rechte-Klammer-Leitung vor. Infolgedessen
schaltet die Und-Schaltung A 72 den Multivibrator SS 52 ein, und dieser stellt die Verriegelungsschaltung L10 auf »1« ein. Dies bewirkt die Ausführung
des Unterprogramms »Kellerspeicherinhalt ausführen« in der schon beschriebenen Art und
Weise. Es wird weiterhin ausgeführt, bis die linke Klammer »(« erreicht ist; dann wird Multivibrator
SSS6 eingeschaltet. Dies bewirkt die Übertragung des Befehlsregisterinhaltes zum Operationsregister.
Daraufhin wird der Multivibrator SS 58 eingeschaltet, der eine Weiterschaltung des Befehlsregisters 10 auslöst.
Der Inhalt von Stelle 4 des Objektregisters wird dann über Multivibrator SS 60 zum Klammersteuerregister
30 übertragen. Ein Teil dieses Registers ist das Befehlsentschlüsselerregister IDR. Wenn in
allen Stellen dieses Registers eine »0« steht, zeigt das an, daß der eben bewertete Klammerausdruck
ein normaler Klammerausdruck war. Daher geht die Steuerung weiter über die Und-Schaltung A 80 in die
Und-Schaltungen A 98 und ^4100. Wenn weder die
» Vielleicht-ausführen«-Verriegelungsschaltung F 21
noch die »AusführenÄ-Verriegelungsschaltung F 22 im Ein-Zustand ist (d. h. auf »1« steht), wird über
die Glieder 018, N 2, A 98 ein Signal auf Leitung
L18 ausgelöst, das sofort den Multivibrator 552 einschaltet.
Dies ist im vorliegenden Beispiel der Fall. Bei Feststellen der linken Klammer »(« ist die O-Verriegelungsschaltung
des Befehlsentschlüsselerregisters auf »0« gestellt worden. Dies ist im Kellerspeicher
32 in dem Wort mit der linken Klammer gespeichert worden. Wenn jedoch die »AusführenÄ-Verriegelungsschaltung
F 22 oder die »Vielleicht-ausführen«- Verriegelungsschaltung F 21 eingeschaltet gewesen
ist, was anzeigt, daß der Klammerausdruck das Objekt eines der Verben »Addition«, »Subtraktion«,
»Multiplikation« oder »Division« war, würde die Steuerung über die Oder-Schaltung 018 und die
Und-Schaltung A 100 gehen. Dadurch wird zunächst
der Inhalt des Kellerspeichers 30 in das Objektregister eingebracht und des weiteren Multivibrator
5S88 eingeschaltet. Dies bewirkt die Einspeicherung des Inhalts von Stelle 3 des Objektregister 24 in das
Operatorregitser 14. In Stelle 3 des Objektregisters ist nun der vorher im Kellerspeicher enthaltene Operator
gespeichert. Als nächstes bewirkt Multivibrator 5589, daß der Inhalt des Subjektadreßregisters in
das Objektadreßregister übertragen wird. Das Objektregister enthält in den Zeichenstellen 5 und 6 die
Adresse des Subjekts dieses Verbs, die jetzt übei Multivibrator 5590 wieder im Subjektadreßregister
gespeichert wird.
Wäre die »Ausführen«-Verriegelungsschaltung F 22 eingestellt, würde ein Signal am Ausgang der Und-Schaltung
A 104 liegen, welches über Leitung C10
die Rückführung der Steuerung zu der Und-Schaltung A 62 in dem Multiplikations- oder Divisionsverfahren
bewirkt, nachdem zuerst über die Oder-Schaltung O 20 die »Ausführens-VerriegelungsschaltungV22
rückgestellt worden ist, deren Ausgangssignal über die Und-Schaltung A 106 zur Und-Schaltung
A 62 gelangt. War die »Vielleicht-ausführen«- Verriegehmgsschaltung F 21 eingestellt, würde ein
Signal am Ausgang der Und-Schaltung A 102 auftreten,
welches über Leitung C12 zu den Und-Schaltungen
A 46, A 44 im Addition-Subtraktions-Verfahren
zurückkehrt, nachdem zunächst die »Vielleichtausführen«-Verriegelungsschaltung F 21 rückgestellt
; worden ist. Der Fall, daß die 1- oder 2-Verriegelungsschaltung
des Befehlsentschlüsselerregisters IDR auf »1« steht und die Und-Schaltungen A 82
und A84 ein Ausgangssignal erzeugen, wird später noch beschrieben. Im vorliegenden Beispiel erzeugt
jedoch die Und-Schaltung A 98 ein Ausgangssignal, das, wie bereits erläutert, zum Multivibrator 552
zurückgeleitet wird. Zu diesem Zeitpunkt ist nun das Verb »bed«, im Befehlsregister 10 enthalten, und
daher liegt ein Signal auf der Bedingungsleitung aus dem Entschlüsseier 36, welches ein Ausgangssignal
aus der Und-Schaltung A 106 zum Ergebnis hat, daß
Multivibrator 5574 eingeschaltet wird. Wenn jetzt eine rechte Klammer »)« im Operatorregister 14 enthalten
ist, erzeugt die Und-Schaltung A 108 ein Ausgangssignal,
wenn nicht, erzeugt infolge der Inverterschaltung N 4 die Und-Schaltung ^tIlO ein Ausgangssignal.
Im erstgenanten Falle befand sich eine rechte Klammer im Operatorregister 14, die von der
vorhergehenden Operation darin zurückgelassen worden ist. Daher wird das Ausgangssignal der
Und-Schaltung ^4108 die 1-Verriegelungsschaltung
des Befehlsentschlüsselerregisters IDR im Klammersteuerregister 30 auf »1« eingestellt und das Befehlsregister
weitergeschaltet; über die Und-Schaltung yllO9 wird der Multivibrator 5576 eingeschaltet.
Dies bewirkt das Speichern des Inhalts des Klammersteuerregisters 30 in Stelle 4 des Objektregisters.
Dann wird Multivibrator 5578 eingeschaltet. Das Einstellen der 1-Verriegelungsschaltung des Befehlsentschlüsselerregisters IDR, das jetzt in Stelle 4 des
Objektregisters gespeichert ist, zeigt an, daß dem »bed« eine rechte Klammer vorausgegangen ist, und
daher muß nach der Bewertung der auf das »bed« folgenden bedingten Aussage und bei Nichterfüllung
dieser bedingten Aussage das System zu der Adresse zurückkehren, die mit der linken Klammer gespeichert
ist, welche der dem »bed« vorausgehenden rechten Klammer entspricht. Diese Adresse bleibt im
Objektregister 24, da sie bei Feststellung der rechten
Klammer in das Objektregister 24 eingegeben worden ist. Diese spezielle linke Klammer wird jedoch
dadurch angezeigt, daß der Inhalt des Befehlsentschlüsselerregisters in Stelle 4 des Objektregisters
eingebracht wird. Geht dem »bed« keine rechte Klammer voraus, so erzeugt die Und-Schaltung
AItO ein Ausgangssignal, das das Befehlsregister zum nächsten Zeichen weiterschaltet. Außerdem
wird über die Und-Schaltung A 111 der Multivibrator
5580 eingeschaltet, wodurch der Inhalt der nächsten Zeichenstelle, der stets eine linke Klammer ist, in
Stelle 3 des Objektregisters übertragen wird. Hierdurch wird dann Multivibrator 5582 eingeschaltet,
der die 2-Verriegelungsschaltung des Befehlsentschlüsselerregisters
auf »1« einstellt und Multivibrator SS 84 einschaltet. Durch letzteren Vorgang wird
der Inhalt des Klammersteuerregisters 30 in Stelle 4 des Objektregisters gespeichert.
Nun wird der Multivibrator 5584 eingeschaltet, der ein Signal auf Leitung C16 zu der Folge für die
609 567/433
51 52
normale linke Klammer am Eingang des Multivibra- Objektregister 24 eingebracht worden. Da diese
tors 5586 sendet. Dann wird das derzeitige Zeichen Adresse ursprünglich im Kellerspeicher 32 enthalten
des Befehlsregisters 10 in Stelle 5 des Objektregisters war, wäre das Unterprogramm »Kellerspeicherinhalt
24 und die Befehlsregister-Wortadresse in die sie- ausführen« gestoppt worden, während die linke Klambente
und achte Stelle des Objektregisters 24 einge- .5 mer und ihre Adresse im Objektregister 24 standen,
speichert, und Multivibrator 5536 wird eingeschaltet. Daher wird über die durch das Ausgangssignal
An dieser Stelle mündet auch die Leitung C14 in der Und-Schaltung ^482 geöffnete Und-Schaltung
diese Schaltfolge, auf der ein Signal gelegen hätte, .488 Multivibrator 55 66 eingeschaltet, wodurch die
wenn im Operatorregister 14 eine rechte Klammer siebente und achte Zeichenstelle des Objektregisters
gestanden hätte. Von nun an laufen dieselben Vor- io 24 in das Wortadreßregister 16 des Befehlsregisters
gänge ab wie für eine normale linke Klammer, die 10 übertragen werden. Dies ist die Wortadresse desderzeit
im Befehlsregister steht, da dieses über das jenigen Teils des Befehls, der die linke Klammer
»bed« hinaus weitergeschaltet worden ist. Auf das enthält, zu der zurückgekehrt werden soll. Wenn
»bed« folgt stets eine bedingte Aussage, die mit einer Multivibrator 5568 eingeschaltet wird, erfolgt an
linken Klammer beginnt und mit einer rechten *5 dieser Stelle ein Zugriff zum Speicher, und der Inhalt
Klammer endet. Im Operationsablauf für die linke dieser Speicherstelle wird in das Befehlsregister 10
Klammer wird das Befehlsregister 10 wieder weiter- eingeführt. Als nächstes wird Multivibrator 5570
geschaltet und das Unterprogramm »Subjekt be- eingeschaltet und bewirkt, daß der Inhalt von
werten« ausgeführt. Dabei bleibt das Befehlsregister Stelle 5 des Objektivregisters 24 in den Befehls-10
auf dem Gleichverb (=) stehen. Dieses hat inso- »° registersteuerring 12 übertragen wird. Dies ist diefern
dieselbe Wirkung wie ein Multiplikations- oder jenige Zeichenstelle innerhalb des Befehlswortes, an
Divisionsverb, als es den Vorrang angeht, und be- der sich die linke Klammer befindet, zu der die
wirkt die Ausführung des Vergleichs; jedoch die Rückkehr erfolgen soll. Nachdem dies geschehen ist,
Ergebnisse dieses Vergleichs werden in die »Erfüllt«- wird Multivibrator 5572 eingeschaltet, und die
oder die »Nicht-erfulltÄ-Verriegelungsschaltung oder 25 Steuerung kehrt zur Leitung C 2 zurück, die über
zentralen Verarbeitungseinheit eingegeben. Danach 02, .-410 und CIl zu 552 führt. Wenn die Steuewird
in das Befehlsregister die abschließende rechte rung nicht zu einer linken Klammer, sondern zu φ
Klammer gebracht. Wieder geht die Steuerung zur zurückzuführen wäre, wäre eine »1« in der 2-Ver-Und-Schaltung
A 72, die Multivibrator 5552 ein- riegelungsschaltung des Befehlsentschlüsselerregisters
schaltet. Dadurch wird die Verriegelungsschaltung 30 IDR gespeichert worden, und in diesem Falle würde
LlO auf »1« eingestellt, was die Ausführung des die Und-Schaltung .484 ein Ausgangssignal erzeu-Kellerspeichers
32 über das Unterprogramm »Keller- gen. Wenn die »ErfüUte-Verriegelungsschaltung in
speicher ausführen« auslöst. Da jetzt im Kellerspei- der zentralen Verarbeitungseinheit eingestellt ist, soll
eher 32 nichts enthalten ist, wird ein Signal φ aus fortgefahren werden, und daher kehrt die Steuerung
dem Kellerspeicherwort festgestellt, wodurch über 35 über ^486, C 2, O 2, AW und CIl wieder zu Multi-Und-Schaltung^4130,
Multivibrator 55132, Leitung vibrator 55 2 zurück. Nach Rückstellen der »Erfüllt«-
303 und Oder-Schaltung 012 ein Signal am Ausgang Verriegelungsschaltung auf »0« erzeugt die Undder
Und-Schaltung ^478 erzeugt wird. Dadurch Schaltung A 90 ein Ausgangssignal. Dieses schaltet
wird der Multivibrator 5556 eingeschaltet, der das Multivibrator 55 62 ein, der seinerseits die Verriege-Befehlsregisterzeichen
in das Operatorregister 14 4o lungsschaltung L12 auf »1« einstellt. Die Undüberträgt,
und da es eine rechte Klammer ist, wird Schaltungen ^492, ^494, ^496, die Oder-Schaltung
dieRechte-Klammer-VerriegelungsschaltungL20ein- 016 und Multivibrator 5564 bewirken die Ausfühgestellt.
Dann wird der monostabile Multivibrator rung des Kellerspeicherinhalts über das Unterpro-5558
eingeschaltet, der das Befehlsregister zu dem φ gramm »Kellerspeicherinhalt ausführen«, bis eine
weiterschaltet. Danach wird Multivibrator SS 60 ein- 45 Aufzeichnungsmarke φ im Kellerspeicherinhalt entgeschaltet,
der den Inhalt von Stelle 4 des Objekt- deckt wird. Danach befindet sich die Adresse der
registers 24 zum Klammersteuerregister 30 überträgt. vorhergehenden Aufzeichnungsmarke ψ im Objektin
diesem Falle wird die 1-Verriegelungsschaltung register, und es wird wieder der Multivibrator 55 66
des Befehlsentschlüsselerregisters/Di? auf »1« ein- eingeschaltet, wodurch die Wortadresse der Aufgestellt,
und die Und-Schaltung A 82 erzeugt ein 50 zeichnungsmarke φ in das Wortadreßregister 16 des
Ausgangssignal. Dieses wird der Oder-Schaltung Befehlsregisters 10 eingespeichert wird, im Speicher
014 und der Und-Schaltung ^4 88 zugeführt. Das ein Zugriff zu diesem Speicherplatz erfolgt und der
Ausgangssignal der Oder-Schaltung 014 wird zu Befehlsregistersteuerring 12 auf die Zeichenstelle der
der Und-Schaltung A 86 gesendet, deren anderes Aufzeichnungsmarke φ eingestellt und Multivibrator
Eingangssignal das Ausgangssignal der »Erfüllt«- 55 552 wieder eingeschaltet wird.
»Nicht-erfüUt«-yerriegelungsschaltung in der zen- In der vorstehenden Beschreibung sind drei Untertralen Verarbeitungseinheit ist. Bei Erfüllung der programme erwähnt worden, die noch nicht erläutert vorausgegangenen bedingten Aussage wäre es er- worden sind, und zwar »Subjekt bewerten«, »Objekt wünscht, fortzufahren, so daß der Ausgang der bewerten« und »Kellerspeicherinhalt ausführen«. Sie Und-Schaltung A 86 die Leitung C 2 ist, die dann die 60 seien nun beschrieben. Das Unterprogramm «Subjekt Steuerung über 02, ^410 und CIl zurückfuhrt, um bewerten« beginnt mit dem Einschalten von Multi-552 einzuschalten. Wenn jedoch die vorausgehende vibrator55116. Die VerriegelungsschaltungL14 wird bedingte Aussage nicht erfüllt ist, ist es erwünscht, auf »0« rückgestellt. Dies zeigt an, daß ein Unterzu der linken Klammer des dem »bed« vorausgehen- programm »Subjekt bewerten« auszuführen ist und den Klammerausdrucks zurückzukehren. Die Adresse 65 nicht »Objekt bewerten«. Dann wird über Und-Schaldieser Stelle in dem Befehl befindet sich zur Zeit im rung A112 der Multivibrator 55118 eingeschaltet. Objektregister 24, und zwar ist sie durch das Unter- Wenn zu dieser Zeit eine linke Klammer im Befehlsprogramm »Kellerspeicherinhalt ausführen« in das registerentschlüsseler 36 enthalten ist, befindet sich
»Nicht-erfüUt«-yerriegelungsschaltung in der zen- In der vorstehenden Beschreibung sind drei Untertralen Verarbeitungseinheit ist. Bei Erfüllung der programme erwähnt worden, die noch nicht erläutert vorausgegangenen bedingten Aussage wäre es er- worden sind, und zwar »Subjekt bewerten«, »Objekt wünscht, fortzufahren, so daß der Ausgang der bewerten« und »Kellerspeicherinhalt ausführen«. Sie Und-Schaltung A 86 die Leitung C 2 ist, die dann die 60 seien nun beschrieben. Das Unterprogramm «Subjekt Steuerung über 02, ^410 und CIl zurückfuhrt, um bewerten« beginnt mit dem Einschalten von Multi-552 einzuschalten. Wenn jedoch die vorausgehende vibrator55116. Die VerriegelungsschaltungL14 wird bedingte Aussage nicht erfüllt ist, ist es erwünscht, auf »0« rückgestellt. Dies zeigt an, daß ein Unterzu der linken Klammer des dem »bed« vorausgehen- programm »Subjekt bewerten« auszuführen ist und den Klammerausdrucks zurückzukehren. Die Adresse 65 nicht »Objekt bewerten«. Dann wird über Und-Schaldieser Stelle in dem Befehl befindet sich zur Zeit im rung A112 der Multivibrator 55118 eingeschaltet. Objektregister 24, und zwar ist sie durch das Unter- Wenn zu dieser Zeit eine linke Klammer im Befehlsprogramm »Kellerspeicherinhalt ausführen« in das registerentschlüsseler 36 enthalten ist, befindet sich
ein Signal auf Leitung 306, und daher erzeugt die Und-Schaltung A114 ein Ausgangssignal. Dieses
kehrt über O 2 und A10' zu Leitung CIl zurück, die
den Multivibrator 552 einschaltet. Über die Und-Schaltung 18 und den Multivibrator 14 wird hierbei 5
außerdem die Rechte-Klammer-Verriegelungsschaltung rückgestellt. Wenn jedoch zur Zeit ein allgemeines
Zeichen im Befehlsregisterentschlüsseler 36 stünde, würde ein Signal auf Leitung C18 vorliegen,
und die Und-Schaltung A116 würde ein Ausgangssignal
erzeugen. Dies würde die Übertragung der Adresse im Befehlsregister zum Objektadreßregistei
über die Multivibratoren SS119, SS113 und SS121
auslösen. Nach Betätigen des Multivibrators SS123,
der eine Weiterschaltung des Befehlsregisters auslöst, wird der Multivibrator 55120 eingeschaltet. Da die
Steuerung in einem Unterprogramm »Subjekt bewerten« liegt, wird die Verriegelungsschaltung L14
auf »0« zurückgestellt, und daher erzeugt die Und-Schaltung A120 ein Ausgangssignal, das die Speicherung
der im Objektadreßregister stehenden Adresse im Subjektadreßregister bewirkt. Als nächstes kehrt
die Steuerung zu der Stelle im System zurück, die das Unterprogramm aufgerufen hat.
Das Unterprogramm »Objekt bewerten« beginnt an der Oder-Schaltung O 27 und am Multivibrator
55102. Die Einschaltung von Multivibrator 55102 bewirkt das Einstellen der Verriegelungsschaltung
L14. Dann wird Multivibrator SS109 eingeschaltet.
Wenn an Leitung 306 ein Signal liegt, d. h., wenn derzeit sich eine linke Klammer im Befehlsregisterentschlüsseler
36 befindet, bewirkt das Ausgangssignal der Und-Schaltung A124 zunächst über Multivibrator
55106 die Übertragung des Operatorregisterinhalts in Stelle 3 des Objektregisters 24 und dann
über Multivibrator 55107 die Übertragung der im Subjektadreßregister 22 enthaltenen Adresse in die
fünfte und die sechste Zeichenstelle des Objektregisters und danach über Multivibrator 55110 die
Einspeicherang des Inhalts des Objektregisters in den Kellerspeicher 32. Wenn also eine linke Klammer im
Objekt des Verbs enthalten ist, müssen dieses Verb und sein Subjekt weggespeichert werden, um diesen
Klammerausdruck bewerten zu können. Das vorher im Operatorregister 14 stehende Verb und die
Adresse seines Subjekts, die im Subjektadreßregister 22 gestanden hatte, sind nun im Kellerspeicher 32
gespeichert. Außerdem sind durch das Einschalten von Multivibrator SS110 entweder die »Ausführen«-
Verriegelungsschaltung oder die »Vielleicht-ausführenÄ-Verriegelungsschaltung
V 21 eingestellt worden, je nachdem, ob dieses Unterprogramm »Objekt bewerten« durch das Addition-Substraktions-Verfahren
bzw. durch das Multiplikation-Divisions-Verfahren angefordert worden ist. Dies geschieht für den
letztgenannten Fall, indem ein Signal auf Leitung C 20 zu der Und-Schaltung A136 gesendet wird.
Wenn außerdem ein Signal von der »1«-Seite der Verriegelungsschaltung L 8 vorliegt, die im Multiplikation-Divisions-Verfahren
betätigt wird, wird die »Ausführen«-Verriegelungsschaltung V 22 eingestellt.
Außerdem gelangt ein Signal über Leitung C 22 zu der Und-Schaltung A108. Wenn außerdem ein Eingangssignal
aus der im Addition-Subtraktions-Verfahren betätigten Verriegelungsschaltung L 6 vorliegt, 6g
wird die »Vielleicht-ausführenÄ-Verriegelungsschaltung
V 21 eingestellt. Nach dem Einstellen der »Ausführen«- oder der »Vielleicht-ausfuhrenÄ-Verriegelungsschaltung
F 22 oder F 21 schaltet die Und-Schaltung A126 den Multivibrator 55112 ein. Dieser sendet
ein Signal zu den »nicht ausgeführt«-Eingängen der Und-Schaltungen A 36 und A 58. Wenn das geschehen
ist, wird Multivibrator 55124 eingeschaltet, und die Steuerung wird über 02 und A10' zur Leitung
CIl zurückgeführt. Bei vorausgehendem Rückstellen der Rechte-Klammer-Verriegelungsschaltung
L 20 wird so der Multivibrator 552 eingeschaltet. Wäre in dem Befehlsregisterentschlüsseler 36 keine
linke Klammer enthalten gewesen, so wäre ein Signal über die Oder-Schaltung O 20 die Und-Schaltung
A116 geschickt worden, wie es oben beschrieben ist.
Danach wird Multivibrator 55128 eingeschaltet, und da die Verriegelungsschaltung L14 eingestellt ist,
weil ein Unterprogramm »Objekt bewerten« in Ausführung begriffen ist, erzeugt die Und-Schaltung A118
ein Ausgangssignal, wodurch ein Signal auf der »Ausgeführt«-Leitung 304 den Und-Schaltungen /156,
AA, A 34 zurückgeführt wird.
Das Unterprogramm »Kellerspeicherinhalt ausführen« beginnt an der Oder-Schaltung 029 und am
Multivibrator 55126. Durch das Einschalten von 55126 wird zunächst der Inhalt des Kellerspeichers
32 in das Objektregister 24 übertragen, und dann wird Multivibrator55128 eingeschaltet. Dies bewirkt,
daß das Zeichen aus Stelle 3 des Objektregisters 24 in das Operatorregister 14 eingespeichert wird. Außerdem
wird der Multivibrator 55130 eingeschaltet. Wenn sich im Operatorregister eine Aufzeichnungsmarke φ befindet, erzeugt die Und-Schaltung A130
ein Ausgangssignal. Dieses veranlaßt die Speicherung des Objektregisterinhalts im Kellerspeicher 32 und
danach das Einschalten von Multivibrator 55132. Durch das Einschalten von 55132 gelangt ein Signal
über Leitung 303 an die Und-Schaltungen A 96, A7S,
A16 und .430. Bei den drei letztgenannten Und-Schaltungen
laufen die Signale über die vorgeschalteten Oder-Schaltungen 012, 04 und 06. Enthielte
das Operationsregister eine linke Klammer, würde Multivibrator 55134 eingeschaltet und ein Signal
über Leitung 302 an die Oder-Schaltungen 016, 012, 04, O 6 und damit auch an die nachgeschalteten
Und-Schaltungen A 92, ,478, Λ16 und ^30
senden. Wenn im Operatorregister 14 weder eine linke Klammer noch eine Aufzeichnungsmarke φ gespeichert
wäre, was durch die Oder-Schaltung 026, die NICHT-Schaltung N 6 und die Und-Schaltung
/1132 festgestellt wird, würde die Adresse im Subjektregister
18 zum Objektadreßregister 28 übertragen. Dann würde über Multivibrator 55138 der
Inhalt der fünften und der sechsten Zeichenstelle des Objektregisters 24 in das Subjektadreßregister 22 eingebracht.
Das System bewertet so ein neues Verb und ein neues Subjekt. Daher wird das alte Subjekt zum
Objektadreßregister 28 übertragen, und die Adresse des neuen Subjekts wird aus der fünften und der
sechsten Stelle des Objektregisters 24 zum Subjektadreßregister 22 übertragen. Danach wird Multivibrator
55142 eingeschaltet. Je nachdem, ob im Operationsregister eine Additions-, eine Subtraktions-,
eine Multiplikations- oder eine Divisionsfunktion enthalten ist, führt nun das System die
betreffende Operation aus. Danach gelangt, wie beschrieben, ein Signal auf die »Ausgeführt«-Leitung
304.
Damit ist also im einzelnen erläutert worden, wie das in Fig. 3 gezeigte System arbeitet. Alle
speziellen Schaltungsfolgen und Unterprogramme
sind aufgeführt worden.
Aus den vorstehenden Beispielen und den in Fig. 2 und 3 abgestimmten detaillierten Beschreibungen
geht hervor, daß die beschriebenen Beispiele die Bewertung von nur einem Klammerausdruck
durch das System erfordert haben. Das System ist jedoch auch imstande, Klammern innerhalb von
Klammern zu bewerten, da jedesmal, wenn eine linke Klammer »(« gespeichert wird, die Zeit logisch durch
das System hindurch fortschreitet, bis eine rechte Klammer»)« angetroffen wird, und bei jeder Feststellung
einer rechten Klammer wird der im Kellerspeicher gespeicherte Teil des Befehls nacheinander
ausgesteuert und ausgeführt, bis eine linke Klammer »(« gefunden wird. Wenn also angenommen wird,
daß drei Sätze von Klammerausdrücken vorhanden sind, die jeweils ineinander enthalten sind, würde ein
Befehl mit drei Linke-Klammer-» («-Operatoren im Kelerspeicher gespeichert, und beim Hindurchgehen
durch eine solchen Befehl wäre dann die erste auftretende ■ rechte Klammer die der letzten Unken
Klammer zugeordnete. Die Maschinenoperationsfolge wäre dann so, daß dieser mittlere oder innere
Klammerausdruck gelöst würde und daß nach der Lösung das System weiter durch die Aussage hindurchginge,
bis es auf eine zweite rechte Klammer trifft, und dann würde der zweite Klammerausdruck
gelöst usf., bis alle drei in sich abgeschlossenen Klammerausdrücke gelöst wären. Die Flexibilität des
Systems ist also offensichtlich, denn mit dem hier beschriebenen relativ geringen Aufwand an Steuerschaltung
werden sehr komplizierte mathematische Befehle automatisch entschlüsselt und in bezug auf ihre
Reihenfolge gesteuert, ohne beispielsweise ein FORTRAN-Kompilations- und Zusammenstellungsprogramm durchlaufen zu müssen, die beide ziemlich
kompliziert sind und viele Maschinenzeit kosten. Weiterhin lassen sich die bedingten Klammerbefehle
oder iterativen Aussagen, wie sie oft genannt werden,
in der Maschinensprache viel einfacher ausdrücken als sogar mit einer Aussage vom FORTRAN-Typ.
Außerdem ist aus den Lehren der Erfindung leicht zu ersehen, daß sich durchaus mehrere Änderungen
an dem vorliegenden Befehlsfolgesteuersystem anbringen lassen, damit das System verschiedene mathematische
Symbole und spezielle Symbole verarbeiten kann. .......
Andere mögliche mathematische Befehle mit dem gleichen Vorrang wie »Multiplikation« und »Division«
wären Quadratwurzeln, Exponentenoperationen usw. Diese Operationen benötigen, wie man sieht, nur ein
Subjekt. In diesem Falle würde der Exponent- oder n. Wurzeloperator auf den Operanden folgen, denn
dieser Operand konnte durchaus ein Klammerausdruck sein. Natürlich wäre zum Erkennen und Erleichtern
dieser zusätzlichen Operationen eine abgewandelte Steuerschaltung erforderlich. Aber die Beschaffenheit
und der Aufbau einer solchen Schaltung gehen aus den Lehren der Erfindung klar hervor.
Andere allgemeine Operationen sind z. B. Sortieren, Mischen, Ab- und Aufrunden, Einfügen,
Löschen, Und, Oder, Nicht, Markieren, Erweitern, Kartesisches Produkt und andere dem Programmierer
bekannte Operationen. Andere Spezialsymbole nach Art der »bed«- und »Vergleichs«- und »Ubertragungs«-Funktionen
könnten »falls«, »stopp«, »wenn«, »sonst« usw. sein.
Es wird jedoch angenommmen, daß die in den Beispielen verwendeten und in der vorliegenden
Steuerschaltung im einzelnen bewerteten Symbole für den bei weitem größten Teil der normalen Computeroperationen,
die normalerweise in einem typischen Maschinenbefehl vorkommen, repräsentativ sind.
Obwohl im allgemeinen viel komplexere mathematische Aufgaben durch Rechenautomaten gelöst
werden können, lassen sich diese zu sehr einfachen
Maschinenaussagen des hier gezeigten Typs auflösen.
In dem hier befschriebenen Ausführungsbeispiel einer Steuerschaltung nach den Lehren der Erfindung
lassen sich viele Änderungen anbringen, ohne den Rahmen der Erfindung zu überschreiten. Zum Beispiel
könnte die logische Schaltung natürlich auf viele andere Weisen konstruiert werden, und das Verzweigen
verschiedener Befehle könnte an anderen als den hier gezeigten Stellen mit den gleichen Ergebnissen
erfolgen. Ebenso könnte das Verfahren des Speicherns verschiedener Informationssegmente in
dem im Kellerspeicher stehenden Datenwort sowohl hinsichtlich der Speicherstelle als auch hinsichtlich
des Formats abgewandelt werden. Ein Beispiel dafür ist, daß an Stelle des Speicherns sowohl eines Operanden
als auch eines Operators in einem Wort im Kellerspeicher durchaus auch ein besonderes Wort
für jeden zu sich speichernden Operanden, jeden Operator und jedes Spezialsymbol verwendet werden
könnte. Ebenso könnte ein getrennter Kellerspeicher für Operanden und einer für Operatoren vorgesehen
werden. Ebenso könnte der Kellerspeicher, der hier allgemein als getrenntes Speicherelement mit eigenen
Eingabe- und Ausgaberegistern, eigener Steuerschaltung usw. beschrieben worden ist, auch ein Teil des
Hauptspeichers mit einem speziellen Aufwärts- und Abwärtszähler sein, der die Adressen für diesen Teil
liefert, um so das für die Operation dieses Systems benötigte Erste- und Letzte-Ausspeicherung-Merkmal
zu erhalten.
Ebenso könnten die verschiedenen logischen Funktionsblöcke des Systems einen anderen Schaltungsaufbau
erhalten; z. B. könnte die logische Schaltung eine Transistorschaltung, eine konventionelle
Röhrenschaltung oder möglicherweise eine Supraleiterschaltung sein. Für die praktische Durchführung
der Erfindung ist die logische Funktion der Blöcke und nicht deren Aufbau maßgebend.
Es ist hier also das neuartige Befehlsfolgesteuersystem für einen elektronischen Rechenautomaten beschrieben
worden,' welches imstande ist, mathematische Aufgaben im üblichen mathematischen Formal
aufzunehmen, ohne daß es nötig ist, besonder« Sprachen, Kompilatoren, Zusammenstellungsprograme
u. dgl. zu verwenden. Das System ist völlig automatisch und in sich geschlossen und liefert alle
Informationen zu der zentralen Verarbeitungseinhei des Rechenautomaten, die für die Lösung des schrittweise
dargebotenen Problems nötig sind. Das Systen durchläuft den Befehl und führt dabei die Ope
rationen aus, die es in einem bestimmten Schritt ode: einer bestimmten Stelle in dem Befehl durchführei
kann; es speichert diejenigen Teile des Befehls, di< nicht sofort ausgeführt werden können, und durch
läuft den Befehl weiter; wenn es möglich ist, geht ei zurück und führt vorausgegangene Befehle aus, di<
vorübergehend gespeichert worden sind. Es ist als< nicht erforderlich, einen Befehl vollständig abzu
tasten, bevor die zentrale Verarbeitungseinheit des Rechenautomaten ihn auszuführen beginnt. Das
System eignet sich besonders gut für die Lösung komplexer Klammerausdrücke und ermöglicht auch eine
Lösung sonst komplizierter iterativer Ausdrücke, für die bei herkömmlichen Systemen eine ziemlich komplizierte
Programmierung erforderlich ist.
Claims (21)
1. Programmwerk für Rechenmaschinen mit einem Programmspeicher, einem Befehlsregister,
einem Befehlsdecodierer, an diesen angeschlossene, fest einstellbare Befehlsfolgeschaltungen
und mindestens einem weiteren Zwischenspeicher für die zur Ausführung vorgesehenen Befehle,
dadurch gekennzeichnet, daß das Befehlsregister (10) zur Aufnahme von Programmbefehlen
in Form mathematischer Formeln einge- ao richtet und mit einer eine stellenweise Abtastung
gestattenden Entnahme- und Decodiereinrichtung (12, 36) verbunden ist, durch die nacheinander
die Befehlsfolgeschaltungen wahlweise in Tätigkeit setzbar sind, daß für die in den Formeln enthaltenen
Angabengruppen, wie Subjekte, Operatoren, Objekte und Begrenzungsangaben, mindestens
je ein weiteres mit dem Befehlsregister unter Steuerung der Befehlsfolgeschaltungen koppelbares
Register (18, 24, 14, 30) vorgesehen ist, und daß ein von den Befehlsfolgeschaltungen gesteuerter
Zwischenspeicher (32) vorgesehen ist, der zur Aufnahme nicht sofort ausführbarer Operatoren
zusammen mit den zugehörigen Subjektoder Objektadressen sowie einem Begrenzungs-
und Vorrangsteuerwort dient.
2. Programmwerk nach Anspruch 1, dadurch gekennzeichnet, daß ein Subjektregister (18) und
ein Objektregister (24) vorgesehen sind, die beide über eine Entnahmevorrichtung (20, 26) stellenweise
anrufbar sind und denen die von den Befehlsfolgeschaltungen als Subjekte oder Objekte
bewerteten Formelteile zuführbar sind.
3. Programmwerk nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß dem Befehlsregister
(10), dem Subjektregister (18) und dem Objektregister (24) je ein Adreßregister (16, 22, 28) zur
Notierung bestimmter angerufener Registerstellen zugeordnet ist.
4. Programmwerk nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, daß in einem Register
unter Steuerung der Befehlsfolgeschaltungen nicht sofort ausführbare Teilbefehlsworte
nach Operation, Operandenadresse und relativer Operatoradresse innerhalb des Befehls zusammengestellt
und mit einem den jeweiligen Inhalt eines Klammer-Steuerregister (30) bildenden Begrenzungs-
und Vorrangsteuerwortes versehen werden und daß nach beendeter Zusammenstellung die
Übertragung des zusammengestellten Registerinhaltes unter Vornahme einer Adressenmarkierung
in den Zwischenspeicher (32) erfolgt.
5. Programmwerk nach Anspruch 4, dadurch gekennzeichnet, daß als Zusammenstellregister
das Objektregister (24) dient.
6. Programmwerk nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, daß der Zwischenspeicher
(32) als Kellerspeicher ausgebildet ist.
7. Programmwerk nach einem der Ansprüche 1 bis 6, dadurch gekennzeichnet, daß das Klammer-Steuerregister
(30) mehrere Verriegelungsschaltungen (V, IDR) aufweist, die den durch das Auftreten
von Klammern gegebenen Begrenzungen in den Geltungsbereichen der Operatoren und/
oder den Vorrangstufen zwischen den Operatoren zugeordnet sind und in Verbindung mit den Befehlsfolgeschaltungen
die Ausführung von Teilbefehlen oder deren Abspeicherung steuern.
8. Programmwerk nach Anspruch 7, dadurch gekennzeichnet, daß das Klammer-Steuerregister
(30) eine Verriegelungsschaltung (IDR-O) aufweist, die bei Auftreten einer normalen linken
Klammer anspricht.
9. Programmwerk nach Anspruch 7 oder 8, dadurch gekennzeichnet, daß das Klammer-Steuerregister
(30) eine Verriegelungsschaltung (IDR-I) aufweist, die bei Auftreten einer eine Bedingung
für den auszuführenden Befehl einschließenden linken Klammer anspricht, sofern dem Bedingungsoperator
ein Klammerausdruck vorausgeht.
10. Programmwerk nach einem der Ansprüche 6 bis 8, dadurch gekennzeichnet, daß das
Klammer-Steuerregister (30) eine Verriegelungsschaltung (IDR-2) aufweist, die bei Auftreten
einer eine Bedingung für den auszuführenden Befehl einschließenden linken Klammer anspricht,
sofern dem Bedingungsoperator kein Klammerausdruck vorausgeht.
11. Programmwerk nach einem der Ansprüche 6 bis 10, dadurch gekennzeichnet, daß
das Klammer-Steuerregister (30) eine Verriegelungsschaltung (F 20) aufweist, die bei Auftreten
eines Additions- oder Subtraktionsoperators anspricht und die im Zwischenspeicher (32) gespeicherte
vorausgehende Additions- oder Subtraktionsoperation zur Ausführung freigibt.
12. Programmwerk nach einem der Ansprüche 6 bis 11, dadurch gekennzeichnet, daß
das Klammer-Steuerregister (30) eine Verriegelungsschaltung (V 21) aufweist, die bei Auftreten
einer linken Klammer anspricht, wenn eine MuI-tiplikations-, Divisions- oder Vergleichsoperation
auszuführen ist.
13. Programmwerk nach einem der Ansprüche 6 bis 12, dadurch gekennzeichnet, daß
das Klammer-Steuerregister (30) eine Verriegelungsschaltung (V 22) aufweist, die bei Auftreten
einer linken Klammer anspricht, wenn eine Additions- oder Subtraktionsoperation auszuführen
ist.
14. Programmwerk nach einem der Ansprüche 1 bis 13, dadurch gekennzeichnet, daß
für die verschiedenen Formelteilgruppen je eine Befehlsfolgeschaltung vorgesehen ist, die durch
den Befehlsdecodierer ausgewählt wird und sich selbsttätig durchschaltet, bis die für die betreffende
Formelteilgruppe notwendigen Bewertungs- und/oder Ausführungsoperationen vorgenommen
sind.
15. Programmwerk nach einem der Ansprüche 1 bis 14, dadurch gekennzeichnet, daß je
eine Befehlsfolgeschaltung für die Formelteile: Linke Klammer, rechte Klammer, Formelanfang,
Übertragungsoperator, Bedingungsoperator, Additions- oder Subtraktionsoperator, Adressen
609 567/433
und Multiplikations-, Divisions- oder Vergleichsoperator vorgesehen ist.
16. Programmwerk nach einem der Ansprüche 1 bis 15, dadurch gekennzeichnet, daß
die Befehlsfolgeschaltungen zur Bewertung der einzelnen Formelteile als Subjektoperator oder
Objekt in der Lage sind.
17. Programmwerk nach einem der Ansprüche 1 bis 16, dadurch gekennzeichnet, daß
die Befehlsfolgeschaltungen in Abhängigkeit von 10 * dem Begrenzungs- und Vorrangsteuerwort im
Klammersteuerregister (30) die Reihenfolge in der Ausführung der einzelnen Operatorbefehle
festlegen.
18. Programmwerk nach einem der An-Sprüche 1 bis 17, dadurch gekennzeichnet, daß
die Befehlsfolgeschaltungen in Verbindung mit dem Klammer-Steuerregister (30) den Vorrang
zwischen einem in Behandlung befindlichen Operator und dem folgenden Operator ermitteln und
entweder die laufende Operation ausführen oder den Inhalt des Subjektregisters (18) und des Operatorregisters
(14) im Zwischenspeicher (32) abspeichern, den Inhalt des Objektregisters (24) in
das Subjektregister (18) übertragen sowie den nächsten Operanden in das Objektregister (24)
und den nächsten Operator in das Operatorregister (14) übertragen, wonach wiederum ein-Vorrangvergleich
mit dem nächstfolgenden Operator vorgenommen wird.
19. Programmwerk nach einem der Ansprüche 1 bis 18, dadurch gekennzeichnet, daß
die Befehlsfolgeschaltungen bei Auftreten einer linken Klammer deren relative Adresse innerhalb
des auszuführenden Befehls festlegen.
20. Programmwerk nach einem der Ansprüche 1 bis 19, dadurch gekennzeichnet, daß
bei Iterationsbefehlen die Befehlsfolgeschaltungen
in Abhängigkeit von dem Begrenzungs- und Vorrangsteuerwort im Klammer-Steuerregister (30)
und von Bedingung-erfullt- oder Bedingungnicht-erfüllt-Steuersignalen
die Maschinensteuerung auf den Beginn des der Iteration zugrunde liegenden Formelteiles zurückführen.
21. Programmwerk nach einem der Ansprüche 1 bis 20, dadurch gekennzeichnet, daß
die Befehlsfolgeschaltungen aus mehreren fest untereinander verbundenen Schaltstufen bestehen
und über Und/Oder-Schaltungen untereinander verzweigt sind.
Hierzu 4 Blatt Zeichnungen
609 567/433 4.66 © Bundesdruckerei Berlin
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US292606A US3293616A (en) | 1963-07-03 | 1963-07-03 | Computer instruction sequencing and control system |
Publications (1)
Publication Number | Publication Date |
---|---|
DE1215964B true DE1215964B (de) | 1966-05-05 |
Family
ID=23125402
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DEJ26149A Pending DE1215964B (de) | 1963-07-03 | 1964-07-03 | Programmwerk fuer Rechenmaschinen |
Country Status (4)
Country | Link |
---|---|
US (1) | US3293616A (de) |
DE (1) | DE1215964B (de) |
FR (1) | FR1405517A (de) |
GB (1) | GB1007415A (de) |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4309761A (en) * | 1964-06-26 | 1982-01-05 | Hewlett-Packard Company | Calculator for evaluating numerical answers to problems |
US3343135A (en) * | 1964-08-13 | 1967-09-19 | Ibm | Compiling circuitry for a highly-parallel computing system |
US3366929A (en) * | 1964-12-30 | 1968-01-30 | Ibm | Computing system embodying flexible subroutine capabilities |
US3421149A (en) * | 1966-04-06 | 1969-01-07 | Bell Telephone Labor Inc | Data processing system having a bidirectional storage medium |
US3854124A (en) * | 1966-11-21 | 1974-12-10 | Friden Inc | Electronic calculator |
US3496550A (en) * | 1967-02-27 | 1970-02-17 | Burroughs Corp | Digital processor with variable field length operands using a first and second memory stack |
US3544974A (en) * | 1968-04-01 | 1970-12-01 | Ibm | Data processing system including buffered operands and means for controlling the sequence of processing of same |
US3546679A (en) * | 1968-05-08 | 1970-12-08 | Gen Corp | Method for dynamic controlling of magnetic core register |
US3593312A (en) * | 1969-11-14 | 1971-07-13 | Burroughs Corp | Data processor having operand tags to identify as single or double precision |
US3725869A (en) * | 1969-11-25 | 1973-04-03 | B Sokoloff | Computer device |
US4156903A (en) * | 1974-02-28 | 1979-05-29 | Burroughs Corporation | Data driven digital data processor |
US4156910A (en) * | 1974-02-28 | 1979-05-29 | Burroughs Corporation | Nested data structures in a data driven digital data processor |
US4156909A (en) * | 1974-02-28 | 1979-05-29 | Burroughs Corporation | Structured data files in a data driven digital data processor |
US4156908A (en) * | 1974-02-28 | 1979-05-29 | Burroughs Corporation | Cursive mechanism in a data driven digital data processor |
US4023143A (en) * | 1975-10-28 | 1977-05-10 | Cincinnati Milacron Inc. | Fixed priority interrupt control circuit |
US4197589A (en) * | 1977-12-05 | 1980-04-08 | Texas Instruments Incorporated | Operation sequencing mechanism |
US4298927A (en) * | 1978-10-23 | 1981-11-03 | International Business Machines Corporation | Computer instruction prefetch circuit |
US4375676A (en) * | 1979-12-26 | 1983-03-01 | Varian Associates, Inc. | Feedback FIFO for cyclic data acquisition and instrument control |
US4525673A (en) * | 1979-12-26 | 1985-06-25 | Varian Associates, Inc. | NMR spectrometer incorporating a re-entrant FIFO |
US4481608A (en) * | 1979-12-26 | 1984-11-06 | Varian Associates, Inc. | Reentrant asynchronous FIFO |
ATE146611T1 (de) * | 1990-05-04 | 1997-01-15 | Ibm | Maschinenarchitektur für skalaren verbundbefehlssatz |
US5214763A (en) * | 1990-05-10 | 1993-05-25 | International Business Machines Corporation | Digital computer system capable of processing two or more instructions in parallel and having a coche and instruction compounding mechanism |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3047228A (en) * | 1957-03-30 | 1962-07-31 | Bauer Friedrich Ludwig | Automatic computing machines and method of operation |
-
1963
- 1963-07-03 US US292606A patent/US3293616A/en not_active Expired - Lifetime
-
1964
- 1964-06-24 GB GB26047/64A patent/GB1007415A/en not_active Expired
- 1964-07-01 FR FR980273A patent/FR1405517A/fr not_active Expired
- 1964-07-03 DE DEJ26149A patent/DE1215964B/de active Pending
Also Published As
Publication number | Publication date |
---|---|
US3293616A (en) | 1966-12-20 |
GB1007415A (en) | 1965-10-13 |
FR1405517A (fr) | 1965-07-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE1215964B (de) | Programmwerk fuer Rechenmaschinen | |
DE2704842C2 (de) | Im Pipeline-Betrieb arbeitende Datenverarbeitungseinrichtung | |
EP0228480B1 (de) | Verfahren und Einrichtung zur Analyse von Steuerprogrammen | |
DE2753062C2 (de) | Einrichtung zur wiederholten Durchführung von Programmschleifen | |
DE69738188T2 (de) | Verfahren und apparat für eine erhöhte genauigkeit bei der verzweigungsvorhersage in einem superskalaren mirkroprozessor | |
DE2847934A1 (de) | Datenverarbeitungseinrichtung mit einem mikrobefehlsspeicher | |
DE1524099A1 (de) | Verbessertes Kontroll- und Anzeigegeraet | |
DE2930441C2 (de) | Anzeigeeinrichtung zur wahlweisen dynamischen oder statischen Anzeige | |
DE1282337B (de) | Programmgesteuerte elektronische Rechenanlage | |
DE2715073A1 (de) | Mikroprogrammierte rechner-steuervorrichtung | |
DE2245284A1 (de) | Datenverarbeitungsanlage | |
DE2723706A1 (de) | Einrichtung zum adressenvergleich | |
DE2248962A1 (de) | Verfahren bzw. einrichtung zum betrieb eines vielzweckrechners | |
DE2425380C2 (de) | Datenverarbeitungsanlage zur parallelen Ausführung von Verarbeitungsoperationen | |
DE1499289A1 (de) | Maschinenbearbeitung von Bestandteilen symbolischer Daten | |
DE2264184C3 (de) | Elektrischer Tischrechner | |
EP1780637A1 (de) | Verfahren zur Zurücknahme ausgeführter Aktionen mittels einer grafischen Benutzeroberfläche | |
DE3104256C2 (de) | ||
DE2458651A1 (de) | Elektronische datenverarbeitungsanlage mit einrichtung zur fehlerbefreiung von rechenprogrammen | |
EP1668494B1 (de) | Verfahren und system zur sprachkonfigurierung eines computerprogramms | |
DE2419836C3 (de) | Schaltungsanordnung zur Durchführung von Unterprogramm-Sprungbefehlen in Datenverarbeitungsanlagen | |
DE2613703C2 (de) | Schaltungsanordnung zum Übersetzen von Programmtexten | |
DE3785869T2 (de) | System und Verfahren zur Prüfung menschlicher Faktoren. | |
EP0560342B1 (de) | Verfahren zum Untersuchen des Ablaufs eines in einer Hardware-Beschreibungssprache geschriebenen Programms | |
DE1549461B2 (de) | Divisionseinrichtung |