DE1215964B - Programmwerk fuer Rechenmaschinen - Google Patents

Programmwerk fuer Rechenmaschinen

Info

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
Application number
DEJ26149A
Other languages
English (en)
Inventor
Alvin Paul Mullery
Ralph Floyd Schauer
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE1215964B publication Critical patent/DE1215964B/de
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4482Procedural
    • G06F9/4484Executing 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

BUNDESREPUBLIK DEUTSCHLAND
DEUTSCHES
PATENTAMT
AUSLEGESCHRIFT
Int. CL:
Nummer:
Aktenzeichen:
Anmeldetag:
Auslegetag:
G06f
Deutsche Kl.: 42 ta-
1215 964
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.)
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
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. 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-
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
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-
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
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
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.
Tabelle 1
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
Tabelle 2
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
1 ο I UUI
Klammersteuerregister
Tabelle
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
Tabelle 4
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
Tabelle 5
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
Tabelle 6
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
Tabelle
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
Tabelle 8
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
Tabelle 9
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
Tabelle 10
DU
28
CC
Klammersteuerregister 30
71 \J\J\\
Tabelle 11
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
Tabelle 12
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
Tabelle 13
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
Tabelle 14
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
Tabelle 15
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
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
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)

Patentansprüche: IO
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
DEJ26149A 1963-07-03 1964-07-03 Programmwerk fuer Rechenmaschinen Pending DE1215964B (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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