DE1285219B - Steuerwerk zur Ausfuehrung von Unterprogrammen - Google Patents
Steuerwerk zur Ausfuehrung von UnterprogrammenInfo
- Publication number
- DE1285219B DE1285219B DEJ29712A DEJ0029712A DE1285219B DE 1285219 B DE1285219 B DE 1285219B DE J29712 A DEJ29712 A DE J29712A DE J0029712 A DEJ0029712 A DE J0029712A DE 1285219 B DE1285219 B DE 1285219B
- Authority
- DE
- Germany
- Prior art keywords
- address
- subroutine
- parameter
- program
- register
- 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.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4482—Procedural
- G06F9/4484—Executing subprograms
- G06F9/4486—Formation of subprogram jump address
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Executing Machine-Instructions (AREA)
- Devices For Executing Special Programs (AREA)
Description
Die Erfindung bezieht sich auf ein Steuerwerk zur stufen gestattet. Dies wird bei einem Steuerwerk, das
Ausführung von Unterprogrammen bei datenverarbei- einen Programmstufenzähler der erwähnten Art
tenden Maschinen. verwendet, im wesentlichen dadurch gelöst, daß ein In der Programmierung datenverarbeitender Ma- Parameterzähler vorgesehen ist, der in einer der
schinen ist es bekannt, für bestimmte, häufig auf- 5 eigentlichen Unterprogrammausführung vorausgehentretende
Verarbeitungsaufgaben, wie Wurzelberech- den Unterprogramm-Bewertungsoperation für die in
nungen oder Ein- und Ausgabe-Operationen, vor- dem jeweiligen Unterprogramm enthaltenen Parameter
programmierte Unterprogramme zu verwenden, die (Operanden) in der Reihenfolge ihres Auftretens
einmal in den Programmspeicher der Datenverarbei- unterschiedliche Zählwerte bildet, die gemeinsam mit
tungsmaschine eingespeichert werden und während der io dem jeweiligen Zählstand des Programmstufenzählers
Ausführung des Hauptprogramms wahlweise an als Speicheradresse dienen, auf welchen die Adressen
bestimmten Punkten desselben aufgerufen werden. der dem betreffenden Parameterzählstand zugeordneten
Ein solches Unterprogramm kann während der Dauer Parameter des bewerteten Unterprogramms in einer
des Hauptprogramms mehrmals mit verschiedenen bei der Unterprogrammausführung benötigten Reihen-Operanden
bzw. Parametern ablaufen. Die Operanden- 15 folge gespeichert werden, daß Unterprogrammteile,
bzw. Parameteradressen eines Unterprogramms sind die auf Parameter aus Programmen der nächstniedridaher
variabel. Der Programmierer muß beim Auf- geren Programmstufe Bezug nehmen, eine symbolische
stellen des Hauptprogramms Vorsorge treffen, daß mit Adresse mit einem Parameterfolgenummernfeld aufeinem
Aufruf eines Unterprogramms diesem auch die weisen, das den Ort der betreffenden Parameter in der
richtigen Parameteradressen zur Verfügung gestellt 20 Parameterreihe dieses Programms markiert, daß bei
werden. Dies geschieht üblicherweise durch eine Folge Bewertung einer solchen symbolischen Adresse eine
programmierter Umspeicher- oder Adressenmodi- Parameterbewertungsschaltung den Stufenzähler auf
fizierungs-Operationen. Eine derartige Arbeitsweise ist die Programmstufe des Programms niedrigerer Stufenumständlich und fehleranfällig und erfordert kostbare Ordnung zurückschaltet und den Parameterzähler
Maschinenprogrammzeit. Die Programmierung der 25 entsprechend demParameterfolgenummernfeld einstellt
Umspeicher- oder Adressenmodifizierungs-Operatio- und daß die so gebildete Adresse zur Entnahme der
nen wird insbesondere dann sehr kompliziert, wenn gesuchten Parameteradresse aus dem Speicher dient,
innerhalb eines Unterprogramms weitere Unter- die darauf hin auf die nächste Adresse in der Parameterprogramme ausgeführt werden sollen, in die womöglich adressenreihe des zu bewertenden Unterprogramms
wiederum Unterprogramme eingeschoben sind, wobei 30 zum Speichern übertragen wird,
die Unterprogramme mit Parametern aus über- Eine vorteilhafte Weiterbildung der Erfindung geordneten Unterprogrammen oder aus dem Haupt- besteht darin, daß ein Kellerspeicher vorgesehen ist programm arbeiten. zur Aufnahme von Programmschluß- und/oder Pro-
die Unterprogramme mit Parametern aus über- Eine vorteilhafte Weiterbildung der Erfindung geordneten Unterprogrammen oder aus dem Haupt- besteht darin, daß ein Kellerspeicher vorgesehen ist programm arbeiten. zur Aufnahme von Programmschluß- und/oder Pro-
Es ist bereits ein Programmwerk für programm- grammadressen beim Übergang auf eine höherwertige
gesteuerte Rechenmaschinen bekanntgeworden, das 35 Unterprogrammstufe und zur Abgabe dieser Adressen
zur beliebigen Ineinanderschachtelung von Unter- bei der Rückkehr zu einer Programmstufe niedrigeren
Programmen einen Programmstufenzähler verwendet, Wertes.
der von einem Hauptprogramm mit der Programmstufe Weitere vorteilhafte Ausgestaltungen der Erfindung
Null ausgehend beim Übergang auf ein sind aus den Ansprüchen in Verbindung mit einem
Unterprogramm auf die Programmstufe 1 geschaltet 40 nachfolgend an Hand von Zeichnungen beschriebenen
wird. Soll dieses Unterprogramm durch ein weiteres Ausführungsbeispiel ersichtlich. Es zeigt
Unterprogramm unterbrochen werden, so wird der F i g. 1 ein stark vereinfachtes Blockschaltbild
Zähler auf 2 geschaltet usw. Es erfolgt dadurch eine einer Datenverarbeitungsanlage mit dem erfindungs-
Markierung der einzelnen Programmstufen, die zur gemäßen Steuerwerk,
Steuerung der Befehlsadressenfolgeschaltungen beim 45 F i g. 2 ein Flußdiagramm, aus dem die prinzipielle
Übergang von der Befehlsfolge eines übergeordneten Arbeitsweise des Steuerwerkes nach F i g. 1 hervor-
Programms auf die eines untergeordneten Programms geht und
oder umgekehrt dient. Das Problem der variablen Fig. 3A, 3B und 3Cein detailliertes Blockschalt-
Parameteradressen wird durch diese Anordnung nicht bild eines Ausführungsbeispiels des erfindungsgemäßen
gelöst. Auch hier sind in Verbindung mit jedem 50 Steuerwerkes.
Unterprogrammanruf programmierte Umspeicher- Bevor auf das Ausführungsbeispiel nach Fig. 1
Operationen auszuführen. eingegangen wird, sei der allgemeine Aufbau eines
Es ist ferner bekannt, in einer Datenverarbeitungs- Maschinenbefehls, der die Ausführung eines Unteranlage
bei der Operandenadressierung Adressen zu programme erfordert, erläutert. Prinzipiell ist ein
verwenden, die sich aus zwei Adressenkomponenten 55 Unterprogramm eine bestimmte Operation des Rechzusammensetzen.
Für die eine Adressenkomponente ners, die nicht unbedingt mathematisch zu sein braucht
kann eine Basisadresse dienen, die in einem Register und die bei der Ausführung mathematischer Berechgespeichert
wird, und die zweite Adressenkomponente nungen oder anderer Operationen mit dem Rechner
kann durch den Stand eines Zählers erhalten werden, relativ häufig vorkommt. Weiter ist das Unterprogramm
der das Vorliegen bestimmter Betriebsbedingungen der 60 häufig ziemlich kompliziert. Es erfordert Maschinen-Datenverarbeitungsanlage
anzeigt (z. B. deutsches Operationen, die von einem Programmierer sonst Patent 1094 493). jedesmal, wenn er die Ausführung einer bestimmten
Die vorliegende Erfindung hat sich die Aufgabe Operation wünscht, mühsam als besondere Folge von
gestellt, ein Steuerwerk für datenverarbeitende Maschi- Befehlen niedergeschrieben werden müßten. Ein
nen anzugeben, das unter weitgehender Vermeidung 65 Beispiel für eine mathematische Operation, die in den
der oben erläuterten Nachteile eine maschinelle meisten Rechnersystemen den Status eines Unter-Adressenanpassung
der von einem Unterprogramm programms hat, ist das Ziehen von Quadratwurzeln,
benötigten Parameter für beliebige Unterprogramm- Weitere allgemein bekannte Unterprogramme sind
3 4
ζ. B. Sinus-, Kosinus-, Logarithmus-, Antilogarithmus- enthielte, hätte dieses dritte und niedrigste Unterfunktionen,
Umwandeln ins binäre System, Umwan- programm die Stufe 3.
dein ins Dezimalsystem, Eingabe, Ausgabe usw. An Hand der im folgenden erläuterten Befehls-
dein ins Dezimalsystem, Eingabe, Ausgabe usw. An Hand der im folgenden erläuterten Befehls-
Je nach dem verwendeten Rechnersystem kann das Symbolik ist ersichtlich, wie die verschiedenen Befehle
Unterprogramm im normalen Lese-Schreib-Speicher 5 in der Beschreibung bezeichnet werden. Natürlich
oder als Teil einer Quasimaschinenstruktur, wenn es können beliebige Symbole bei der Vorbereitung einer
sich um ein mikroprogrammiertes System handelt, Maschinenoperation verwendet werden. Jedem der
gespeichert werden. Auf jeden Fall enthält das gespei- Symbole ist eine bestimmte binäre Codebezeichnung
cherte Unterprogramm eine genaue Liste von Maschi- zugeordnet,
nenbefehlen, die, wenn sie nacheinander auftreten, die io
nenbefehlen, die, wenn sie nacheinander auftreten, die io
Ausführung einer erforderlichen Operation bewirken. § = Die folgenden beiden Zeichenstellen
Das können Schleifenbefehle oder auch nur ein im Befehlsregister, d. h. der Unternormaler
Satz von aufeinanderfolgenden, durch das programmaufruf, sind die Anfangs-System
auszuführenden Schritten sein. Der Unter- adresse einer bestimmten Unterproprogrammaufruf,
d. h., die Anweisung, daß ein 15 grammfolge im Speicher;
Unterprogramm ausgeführt werden muß, und der , _ ,
Unterprogramm ausgeführt werden muß, und der , _ ,
Name oder die Adresse dieses Unterprogramms und > = f s Ei!de ^Ines Unterprogramms im
seine Parameter im Maschinenbefehl haben die all- Autrulbefenl;
gemeine Form [Unterprogramm, A, (B + C), D]; ? = die folgenden beiden Zeichenstellen
dabei ist »Unterprogramm« der Name eines bestimmten ao sind eine Adresse im Speicher für
Unterprogramms, und A, (B + C) und D sind einen Parameter im Aufrufbefehl;
Parameter des Unterprogramms. In ihrer normalen
Reihenfolge sind diese Parameter gewöhnlich der Par = eine Anforderung aus dem System
erste, der zweite und der dritte für das Unterprogramm nacn einem bestimmten Parameter
erforderliche Parameter. Man sieht also, daß dadurch, 25 während der Ausführung des Unter-
daß ein Unterprogramm angegeben sowie Parameter Programms;
aufgeführt werden, der Maschinenbefehl die Möglich- Spezial- 1
keit erhält, zum Unterprogramm abzuzweigen und adressen- I = das Ende deg UnterprOgramms wäh.
dieses auszuführen uberein- rend desgen Ausführung-
Das vorliegende System ist in zwei Teile unterteilbar. 30 summung j
Der erste Teil bezieht sich auf den Unterprogrammaufruf, der angibt, welches Unterprogramm ausgeführt Wie aus der nachstehenden Beschreibung hervorwerden muß, und zwar gewöhnlich durch Bezeichnung geht, ist das vorliegende System imstande, die vordes Speicherplatzes des Unterprogramms im Speicher, stehenden Symbole zu erkennen, wenn sie im Befehlsund der außerdem die Parameter aufführt. Während 35 register des Rechners erscheinen, und verzweigt seine des Unterprogrammaufrufs bewahrt das vorliegende Steuerungen dementsprechend, um gemäß der jeweili-System diejenigen laufenden Befehlsadressen auf, die gen Situation oder dem aufgerufenen Befehl vornötig sind, um zu dem gewünschten Punkt in dem zugehen. Es folgt ein aus einem Unterprogramm Befehl zurückzukehren. Es bestimmt außerdem, in bestehendes Beispiel, das die obenstehende Sprache welcher Richtung das System laufen muß, wenn es 40 veranschaulichen soll. Es sei ein Unterprogramm mit der Ausführung des Unterprogramms beginnt, und definiert, das »Wiederholen« heißt und folgende stellt Steuerungen ein, um den Abschluß des Unter- Operation ausführt:
Programms festzustellen. Dieser Operationsabschnitt
Der erste Teil bezieht sich auf den Unterprogrammaufruf, der angibt, welches Unterprogramm ausgeführt Wie aus der nachstehenden Beschreibung hervorwerden muß, und zwar gewöhnlich durch Bezeichnung geht, ist das vorliegende System imstande, die vordes Speicherplatzes des Unterprogramms im Speicher, stehenden Symbole zu erkennen, wenn sie im Befehlsund der außerdem die Parameter aufführt. Während 35 register des Rechners erscheinen, und verzweigt seine des Unterprogrammaufrufs bewahrt das vorliegende Steuerungen dementsprechend, um gemäß der jeweili-System diejenigen laufenden Befehlsadressen auf, die gen Situation oder dem aufgerufenen Befehl vornötig sind, um zu dem gewünschten Punkt in dem zugehen. Es folgt ein aus einem Unterprogramm Befehl zurückzukehren. Es bestimmt außerdem, in bestehendes Beispiel, das die obenstehende Sprache welcher Richtung das System laufen muß, wenn es 40 veranschaulichen soll. Es sei ein Unterprogramm mit der Ausführung des Unterprogramms beginnt, und definiert, das »Wiederholen« heißt und folgende stellt Steuerungen ein, um den Abschluß des Unter- Operation ausführt:
Programms festzustellen. Dieser Operationsabschnitt
bewertet weiterhin die Parameter und liefert Adressen /J|_ _a ^ __ par 2 \ „.
dieser Parameter im Speicher an einem besonderen 45 \ 2 par 1 /'
Adressenspeicherplatz. Diese Parameter können
Adressenspeicherplatz. Diese Parameter können
während der eigentlichen Ausführung des Unter- In diesem mathematischen Ausdruck sind par 1
Programms durch das System entnommen werden. und par 2 die beiden Parameter des Unterprogramms
Der zweite Teil betrifft die Ausführung des Unter- oder die Zahlen, mit denen die angegebenen Rechenprogramms,
die Ansteuerung von Parametern im 50 vorgänge ausgeführt werden müssen. Dieses UnterSpeicher
und schließlich die Rückführung der System- programm würde wie folgt als Unterprogrammaufruf
steuerung zu der ursprünglichen Befehlsfolge nach in dem Systembefehlssatz geschrieben:
Abschluß des Unterprogramms. Dieser Teil besitzt
Abschluß des Unterprogramms. Dieser Teil besitzt
weiterhin Steuerungen für die Entnahme eines Para- §7T, NN, QQ). (2)
meters aus einem höherstufigen Unterprogramm oder 55
meters aus einem höherstufigen Unterprogramm oder 55
eines während der Ausführung eines höherstufigen In dem vorstehenden Ausdruck zeigt das Zeichen (§)
Unterprogramms abgespeicherten Parameters, wenn an, daß die nächsten beiden Zeichenstellen die Speicher-
dieser von einem der Unterprogramme niedrigerer adresse des Anfangs des Unterprogramms sind. Diese
Stufen benötigt wird. Adresse wird durch (IT) dargestellt. Das (,) zeigt an,
Bei der Erwähnung einer Stufe des Unterprogramms 60 daß die nächsten beiden Zeichenstellen die Adresse
und des allgemeinen Maschinenbefehls wird die Stufe des ersten Parameters im Speicher darstellen. Diese
des normalen Maschinenbefehls als die Stufe 0 oder tatsächliche Adresse des ersten Parameters im Speicher
die höchste Stufe angesehen. Das erste angetroffene wird dargestellt durch (NN). Das zweite (,) zeigt
Unterprogramm hat dann die Stufe 1, und weitere wiederum an, daß die nächsten beiden Zeichenstellen
Unterprogramme innerhalb von Unterprogrammen 65 die Adresse eines zweiten Parameters darstellen. Diese
weisen entsprechend niedrigere Stufenanzeiger auf, Adresse wird dargestellt durch (QQ). Schließlich
Wenn z. B. das erste Unterprogramm ein zweites und kennzeichnet das Zeichen »)« das Ende des Unter-
dieses zweite Unterprogramm seinerseits ein drittel programms im Aufrufbefehl. Dieser vorstehende
Unterprogrammausdrack würde folgenden Rechen- programm ist im Speicher gespeichert und besteht aus
Vorgang zur Folge haben: folgenden Schritten:
»Wiederholen« = 0,5 (nN - ®L\ (3) (SR:) EN:. 5* (par 1) ->
XX
\ NN) 5 (Schleife:) § IT, XX, par 1) ->
XX'
Falls XX-XX' < par 2, bis zum Ende
Für die Adressenbezeichnungen stehen in einem fortfahren
Arbeitsbeispiel entsprechende Zahlen, wie nachstehend (5) χχ' _>
χχ gehe zur Schleife
beschrieben wird. χχ'
Das System beim Erkennen des Unterprogramm- 10 (ΕΝί)
Aufruf signals (§) muß die Steuerung zum Zwischenspeichern der Unterprogrammadresse in Betrieb In diesem Unterprogramm stellt par 1 die Zahl dar,
setzen, wodurch das Unterprogramm ausgeführt deren Quadratwurzel zu ziehen ist, und par 2 stellt
werden kann, nachdem das Ende des Ausdrucks für den Genauigkeitsgrad dar, bis zu dem dieses »Quadratden
Unterprogrammaufruf festgestellt worden ist »)«, 15 wurzek-Unterprogramm fortgesetzt werden muß. Wie
d. h., nachdem der Unterprogrammaufruf vollständig man sieht, erscheint im »Quadratwurzek-Unterausgewertet
worden ist. Nach Feststellung des Sym- programm die Verwendung eines anderen Unterbols
§ werden daher die beiden nächsten Zeichen (/Γ) Programms, des )>Wiederhole«-Unterprogramms. Das
zeitweilig in ein Register eingegeben, und die Para- System hat die Eigenschaft, daß es vollständige
meter AW und QQ werden bewertet und in einer 20 Freiheit bezüglich der Zahl von Unterprogrammen
ersten und zweiten besonderen Adressenspeichersteile innerhalb von Unterprogrammen sowie bezüglich der
für Parameter gespeichert. Bei Feststellung des Verwendung von Parametern läßt. Der gewünschte
Symbols ) weiß das System, daß der Ausdruck für den Parameter wird stets für das richtige Unterprogramm
Unterprogrammaufruf vollständig bewertet worden zur Verfugung gestellt. Aus dem vorstehenden Beispiel
ist, und benutzt nun die Unterprogrammadresse, um 25 ist zu ersehen, daß par 1 des »Quadratwurzele-Unterdas
Unterprogramm aus dem Speicher zu entnehmen programms in Wirklichkeit par 2 des »Wiederhole«-
und es in das Befehlsregister des Systems einzugeben. Unterprogramms wird.
Danach entnimmt es die Adresse des Symbols) aus In dem vorgenannten »Quadratwurzel«-Unterpro-
dem Befehlsregister und setzt sie in einen Kellerspeicher gramm ist der erste Schritt die Modifizierung von
ein und bringt die Endadresse des Unterprogramms 30 par 1 durch Multiplikation mit 0,5. Dieses Resultat
in ein besonderes Arbeitsregister58 (Fig. 3C) ein, wird dann in ein durch die Adresse XX bezeichnetes
so daß bei der Ausführung des Unterprogramms eine Resultatregister übertragen. Der zweite oder Schleifenfortlaufende Adressenprüfung in bezug auf diese schritt des »Quadratwurzek-Unterprogramms ist die
Adresse erfolgen kann, um festzustellen, wann das Ausführung des »Wiederhole«-Unterprogramms, wobei
Ende des Unterprogramms erreicht ist. Bei der Aus- 35 par 1 des »Wiederholei-Unterprogramms in der herführung
des Unterprogramms und bei der Anforderung kömmlichen Form einer Speicheradresse, d. h. XX,
des ersten Parameters entnimmt das System die angegeben ist. Der zweite Parameter des UnterAdresse
NN und verwendet sie, um die gewünschte programms wird durch die symbolische Adresse par 1
Information aus dem Speicher zu entnehmen. Ebenso gegeben, wobei es sich natürlich um par 1 des »Quadratwird,
wenn der zweite Parameter aufgerufen wird, die 40 wurzel-Unterprogramms handelt. Bei der Bewertung
Adresse QQ entnommen und ihrerseits benutzt, um dieses inneren Unterprogramms stellt das System die
die zweite für die Ausführung des Unterprogramms Adresse XX an den speziellen Speicherplatz für den
nötige Information zu entnehmen. Nach der Aus- ersten Parameter dieses Unterprogramms. Um die
führung des Unterprogramms wird die Rückkehr- richtige Speicheradresse für das pari, das vorher
adresse in dem Befehl aus dem speziellen Kellerspeicher 45 gespeichert wurde, zu erhalten, wird par 1 bewertet, als
entnommen, und der Hauptbefehl selbst wird wieder ob es normal in dem Programm für das »Quadratin
das Befehlsregister eingestellt und die Steuerung auf wurzel«-Unterprogramm erschienen wäre. Diese
den herkömmlichen Befehlssatz zurückgeführt, bis Adresse wird in den Speicherplatz eingebracht, der
weitere Unterprogramme auftauchen. für den zweiten Parameter par 2 für das innere Unter-
Vorstehend handelt es sich um den einfachen Fall 50 programm bezeichnet worden ist. Es ist also klar, daß
eines einzigen Unterprogrammaufrufs. Nun sei der durch das vorliegende System die Art und Weise, in
Fall betrachtet, daß ein bestimmtes Unterprogramm der Unterprogramme enthaltende Unterprogramme
tatsächlich ein weiteres Unterprogramm enthält, dessen aufgerufen werden, stark vereinfacht wird. Da das
Ausführung für seine eigene Ausführung notwendig innere Unterprogramm vollständig allgemein ausist.
Als Beispiel gelte das »Quadratwurzek-Unter- 55 gedrückt werden kann, unabhängig von der Stufe, auf
programm, das wie folgt geschrieben wird: der es benutzt wird, erfordert es nicht die Rückkehr
zum Hauptprogramm, um die Parameter für das
δ VR NN Oi) ~) Cd\ betreffende Unterprogramm bereitzustellen.
8 ' ' y^;" w Die restlichen Befehle des »Quadratwurzek-Unter-
60 programms sind herkömmlicher Art. Der dritte Schritt
Dies ist ein Unterprogrammaufruf nach einem ist eine Bedingte-Verzweigungs-Operation, bei der
»Quadratwurzek-Unterprogramm, worin das Sym- zwei Zahlen für einen bestimmten Umstand verglichen
bol (§) anzeigt, daß die nächsten Zeichen die Adresse werden und das Resultat zur Verzweigung der Operadieser
Unterprogrammfolge im Speicher anzeigen, das tion entweder zu deren Ende oder zurück in den
Komma und die Zeichen AW und QQ die beiden 65 »Schleifenfr-Teil der Operation führt.
Parameter sind, die für die Ausführung dieses Unter- Die Gegenstände und Vorteile des Systems gehen
programms nötig sind, und das Zeichen) das Ende deutlicher aus der nachstehenden Beschreibung der
des Unterprogrammaufrufs darstellt. Dieses Unter- Erfindung an Hand der Zeichnungen hervor.
F i g. 1 zeigt ein Blockschaltbild einer Rechenanlage mit gespeichertem Programm, die gemäß der
Erfindung ausgebildet ist. Eine solche Universal-Rechenanlage besteht in bekannter Weise aus einer
Befehls - Steuereinheit, die die Programmbefehle empfängt und Signale zu der Speicherzugriffssteuerschaltung
sendet, um sowohl Befehle als auch Daten aus dem Speicher zu entnehmen, sowie Befehle zu der
Recheneinheit sendet, die verschiedene mathematische Operationen mit den entnommenen Daten ausführt.
Die Befehls- und Steuereinheit bewirkt daraufhin die erneute Speicherung der Ergebnisse der verschiedenen
mathematischen Operationen im Speicher an dem gewünschten Speicherplatz für Resultate. Der als
»Unterprogramm-Zugriff s- und Bewertungssteuerschaltung« bezeichnete Teil von F i g. 1 wird durch einen
in der Befehlsfolge auftretenden Unterprogrammaufruf betätigt und veranlaßt die Steuerung zur
Verzweigung in ein Unterprogramm. Wie schon allgemein erwähnt worden ist, bewertet dieser Teil des
Systems ein Unterprogramm insoweit, als das Speichern und das Erlangen solcher Adressen nötig ist, um
das Unterprogramm dem Speicher zu entnehmen und es auszuführen. Außerdem bewertet er die Parameter
und bewirkt deren Speicherung am richtigen Speicherplatz im Speicher.
Der andere Block innerhalb des gestrichelt umrandeten Teils von F i g. 1 ist als »Parameterzugriffssteuerschaltung«
bezeichnet. Er bewirkt die Ansteuerung der Parameter im Speicher bei der Ausführung
des Unterprogramms. Diese Schaltung erkennt auch in erster Linie, daß ein symbolischer Parameteraufruf
in einem inneren Unterprogramm anzeigt, daß die tatsächliche Parameteradresse aus einem höherrangigen
Unterprogramm geholt werden muß. Er bewirkt, daß die Systemsteuerung diesen Befehl von einem Aufruf
zur Entnahme des Unterprogramms aus dem Speicher unterscheidet, und erkennt ihn als Bewertungsroutine.
Diese letztgenannte Operation ist in einem später beschriebenen Beispiel ausführlich dargestellt.
F i g. 2 zeigt ein allgemeines Flußdiagramm, das unter gleichzeitiger Bezugnahme auf F i g. 3 die Aufeinanderfolge
der Operationen darstellt. Jeder der Blöcke dieses Flußdiagramms enthält in der rechten
oberen Ecke eine Nummer, die die Bezugnahme auf die verschiedenen Teile dieses Flußdiagramms im Text
erleichtern soll. In F i g. 2 bestimmt der als »Befehlsbewertungsblock« bezeichnete Block 1 den Ausgangszustand
der Operationsfolge, die durch das Programm eingeleitet wird. Während dieser Operation zeigt das
Befehlsregister 51 (F i g. 3 A) und dessen Decodierer 52 an, ob es sich um einen Programmbefehl mit einem
Zeichen handelt, das die Verlagerung der Steuerung in den Unterprogramm - Bewertungsmechanismus bewirkt.
Der mit »Unterprogramm festgestellt« bezeichnete Block 2 von F i g. 2 zeigt an, daß hier die Unterprogrammanzeige
(§) gefunden worden ist, durch die eine Verzweigung in die Unterprogramm-Steuerschaltimgen
bewirkt wird. Außerdem zeigt dieser Block an, daß bestimmte einleitende Schritte unternommen werden,
wie z. B. die Zwischenspeicherung der Unterprogramm-Anfangsadresse im Register53 (Fig. 3A)
bis zur vollständigen Bewertung des Unterprogramms und bis das Unterprogramm aus dem Speicher entnommen
und mit seiner Ausführung begonnen werden kann. Sofort nach dem Antreffen des Unterprogramms
werden die Parameter im Block 3 in F i g. 2 bewertet, indem der Parameter selbst bewertet und seine Adresse
im Hauptspeicher 54 (F i g. 3 C) an der aus der Stufen-Parameter-Adresse (LPA) bei 55 in F i g. 3 B abgeleiteten
Adresse gespeichert wird. Wie noch erläutert wird, wird die LPA-Adresse aus dem Stufenzähler 56 sowie
aus dem Parameterzähler 57 abgeleitet, und zwar sind diese beiden Zähler entsprechend der Stufe des Unterprogramms
eingestellt, die gerade bewertet sind, sowie entsprechend der Zahl des gerade bewerteten Parameters.
Nach Abschluß der Parameterbewertung und
ίο Feststellung des Schlusses des Unterprogramms »)«
verzweigt die Steuerung zum Block 4 von F i g. 2. In diesem Block wird die Anfangsadresse des Unterprogramms
aus dem Register 53 entnommen. Mit Hilfe dieser Adresse wird das Unterprogramm aus dem
Speicher 54 entnommen. Wie bereits erläutert wurde, wird für unser Beispiel die Endadresse dieses Unterprogramms
aus dem Speicher gelesen und in ein Unterprogramm-Endadressenregister 58 (F i g. 3 B) eingegeben,
in welchem sie mit der derzeitigen Adresse im
ao Befehlsadressenregister 59 (F i g. 3 A) verglichen wird,
während die Steuerung eine Bewertung des Unterprogrammbefehls vornimmt. Außerdem werden die
derzeitige Befehlsadresse und die derzeitige Unterprogramm-Endadresse im Kellerspeicher 60 (F i g. 3 C)
gespeichert. Der untere Teil des Blockes 4 von F i g. 2 stellt die Rückverzweigung zum Block 1 dar, in welchem
der Unterprogrammbefehl bewertet und in der üblichen Weise ausgeführt wird. Nach Abschluß des
Programms (Block 5) signalisiert entweder die Maschine »Ende«, was bedeutet, daß das konventionelle
Programm abgeschlossen ist, oder sie sendet, wenn sie gerade ein Unterprogramm ausführt, ein Signal zu
Block 6. Diese Verzweigung wird dadurch erreicht, daß der Inhalt des Befehlsadressenregisters 59 mit dem
Inhalt des Unterprogramm-Endadressenregisters 53 verglichen wird. Wenn diese beiden Adressen übereinstimmen
und genügend Zeit für die Ausführung des laufenden Befehls im Befehlsregister eingeräumt worden
ist, kehrt die Systemsteuerung zurück zum Hauptprogramm. Wenn zum Anzeigen des Schlusses eines
Unterprogramms eine spezielle Markierung verwendet wird, wird durch die Feststellung dieser Markierung
anstatt durch eine Adressenüberemstimmung das Ende des Unterprogramms angezeigt. Block 6 gibt an, daß
bei Abschluß des Unterprogramms die Anschlußadresse aus dem Kellerspeicher 60 entnommen werden muß,
welche den ursprünglichen Befehl anzeigt, der nach Beendigung des Unterprogramms an der Reihe ist.
Diese Adresse dient zum erneuten Beladen des Befehlsregisters mit dem folgenden Programmbefehl.
Außerdem wird die Endadresse eines Unterprogramms niedrigerer Stufe, wenn ein solches vorliegt, in das
Unterprogramm-Endadressenregister eingegeben, falls das soeben abgeschlossene Unterprogramm ein Unterprogramm
niedrigerer Stufe innerhalb eines Unterprogramms ist. Gleichzeitig wird der Stand des Stufenzählers
56 um 1 verringert, so daß nachfolgende Anforderungen von Parametern zu der Entnahme von
Parametern aus der richtigen Speicheradresse führen. Nach Abschluß von Block 6 kehrt das System wieder
zum Befehlsbewertungsblock 1 zurück, in welcher es mit dem laufenden Programm im Befehlsregister 51
fortfährt.
Block 7 führt die Entnahme eines Parameters aus dem Speicher 54 unter Verwendung der Stufen-Parameteradresse
aus, wenn im Unterprogramm eine Parameteranforderung vorliegt. Wie schon erwähnt, unterscheidet
sich die Ausführung des Unterprogramms von
809 647/1921
9 10
der Bewertung des Unterprogrammaufrufs. Im erst- Das Unterprogramm 53 hat den Zweck, die Adresse
genannten Fall muß zuerst die Adresse aus dem spe- des Anfangs des Unterprogramms im Speicher 54
ziellen Speicherplatz entnommen werden, und danach nach Feststellung dieses Unterprogramms vorübermüssen
die Daten entnommen werden, damit die be- gehend zu speichern. Diese Adresse wird später aus
treffenden Operationen durchgeführt werden können. 5 diesem Register 53 entnommen und über die Tore G24,
In der vorstehenden Beschreibung von typischen Un- G14 in das Speicheradressenregister 62 eingeführt,
terprogrammen und im nachstehenden Beispiel ist das Das Objektadressenregister 63 dient in erster Linie
Symbol »par«, das normalerweise eine Anforderung zum Speichern der Adresse von Daten, d. h. Paranach
einem bestimmten Parameter während der Aus- metern. Diese Adressen werden entweder während der
führung eines Unterprogramms bedeutet, in Form von io Bewertung eines Parameters im Speicher gespeichert
drei Zeichenstellen dargestellt. Tatsächlich würde ein oder verwendet, um unter Wirkung der Befehlsaussolches
Symbol nur eine Zeichenstelle in Form einer führungssteuereinheit 65 Daten aus dem Speicher zu
Kombination von binären Bits in dem Befehl besetzen. entnehmen. Der Stufenzähler 56 und der Parameter-Die
Steuerungen gemäß Block 7 und Block 3 wirken zähler 57 bilden die Stufen-Parameteradresse, die
bei der Feststellung, wann das Symbol »par« in einer 15 zur Speicherung von Parameteradressen während der
Anforderung nach einer Parameterbewertung während Bewertung von Parametern dient. Das Stufen-Zählereiner
Unterprogrammbewertung erscheint und bei der register 56 überwacht die Unterprogrammhierarchie,
Unterscheidung dieser Situation gegenüber dem Fall, in der sich das System derzeit befindet, und das Paradaß
ein Unterprogramm ausgeführt und ein Parameter meterzählerregister 57 überwacht die Eingabe der
angefordert wird, zusammen. Dies wird in einem spä- 20 eigentlichen Parameteradressen in aufeinanderfolgende
teren Abschnitt noch beschrieben. Speicherstellen während der Parameterbewertung.
In der folgenden Beschreibung wird näher auf die Weiter wird es benutzt, um eine Zahl aus dem Befehls-Anordnung
nach F i g. 3 und deren Wirkungsweise register 51 während einer Parameterentnahmeopeunter
Bezugnahme auf F i g. 2 eingegangen. ration zu empfangen, wenn das Unterprogramm in der
Die dargestellte Anordnung verwendet zur Ausfüh- 25 Ausführung begriffen ist. Diese Zahl wird benutzt,
rung der Operationsfolgen Taktgeberketten, die aus um die Datenadresse aus dem Speicher anzusteuern,
hintereinandergeschalteten bistabilen oder monostabi- mit deren Hilfe die Daten zum Ausführen der erforderlen
Schaltelementen bestehen, die nacheinander kurz- liehen Operation entnommen werden,
zeitig in den Arbeitszustand geschaltet werden. Das Unterprogramm-Endadressenregister 58 dient
Die in Block 2 angegebenen Schritte werden durch 30 zum Speichern der Endadresse eines bestimmten
die Taktgeberkette SS2 bis SS 4B bewirkt. Unterprogramms, das gerade ausgeführt wird. Diese
Die durch Block 3 in F i g. 2 dargestellten Schritte Adresse wird fortlaufend mit dem Inhalt des Befehlswerden durch die Taktgeberkette ÄSöbis SS12 bewirkt. adressenregisters 59 verglichen, damit die Anordnung
Die von Block 4 bewirkten Operationen werden durch feststellen kann, wenn das Ende eines Unterprogramms
die Taktgeberkette SS14 bis SS20 bewirkt. 35 erreicht ist. In einem solchen Fall wird die Steuerung
Die durch Block 6 in F i g. 2 dargestellten Schritte auf den nächsten Befehl der nächsthöheren Programmwerden
durch die Taktgeberkette SS22 bis SS26 be- stufe zurückgeschaltet, bei der es sich entweder um ein
wirkt, die durch Block 7 in Fig. 2 dargestellten Unterprogramm oder um das Hauptprogramm handeln
Schritte durch die Taktgeberkette SS28 bis SS38. Die kann.
durch Block 5 des Flußdiagramms von Fig. 2 dar- 40 Der Unterprogramm-Kellerspeicher 60 wird benutzt,
gestellten Schritte sind diejenigen Schritte, die in her- um die Anschlußadresse einer Befehlsfolge vor dem
kömmlicher Weise Befehlsregister mit entsprechenden Eintritt in ein Unterprogramm zu speichern oder die
Steuerschaltungen ausgeführt werden. Endadresse eines beliebigen Unterprogramms, das
Der in der unteren Hälfte der F i g. 3 A, 3 B, 3 C er- gerade in Ausführung begriffen ist, festzuhalten, wenn
scheinende Hauptsteuerteil zeigt mehrere monostabile 45 ein weiteres Unterprogramm festgestellt wird. Wäre
Multivibrator-Taktgeberstufen, die von SS2 bis SS3S der laufende Befehl, der festgestellt wird, das Hauptnumeriert
sind. Jede dieser Stufen ist ein bekannter programm, so wäre die im Kellerspeicher 60 gespeimonostabilder
Multivibrator, der, wenn er angestoßen cherte Endadresse eine 0, die anzeigt, daß die nächtwird,
einen ersten Ausgangsimpuls und zum Rück- höhere Stufe das Hauptprogramm ist. schaltzeitpunkt eine zweiten Ausgangsimpuls erzeugt. 50 Das Speicheradressenregister 62 und der Speicher 54
Abweichend von der dargestellten Schaltung können sind in bekannter Weise ausgebildet. Der Speicher ist
natürlich auch andere Folgeschaltungen im Rahmen z. B. ein dreidimensionaler, wortweise adressierbarer
der Erfindung verwendet werden. Speicher mit wahlfreiem Zugriff.
Zur Verdeutlichung der Erfindung wird nachstehend Der Decodierer 52 ist ein herkömmlicher binärer
ein Beispiel erläutert, in dem ein Unterprogramm mit 55 Decodierer, in dem ein binärer Eingangscode, der ein
einem darin enthaltenen weiteren Unterprogramm ent- Zeichen im Befehlsregister 51 darstellt decodiert und
halten ist. Das Befehlsregister 51 ist ein herkömmliches je nach dem festgestellten Zeichen eine seiner Ausgangs-Befehlsregister,
das zur Eingabe des jeweiligen Pro- leitungen erregt. Die vier Ausgangsleitungen die für
grammbefehls in die Anordnung dient. Ein in dieses die Erläuterung der Erfindung von Bedeutung sind,
Register eingegebener Befehl wird zeichenweise unter 60 sind die Leitung»)«, die das Ende eines Unterproder
Steuerung eines zugeordneten Zählringes 61 aus- gramms anzeigt, die Leitung (§), die den Anfangeines
gewertet. In das Befehlsregister 51 oder aus diesem Unterprogramms anzeigt, die Leitung (par), die eine
können Befehle zeichenweise unter der Steuerung des Anforderung nach einem Parameter während der
zugeordneten Zählringes 61 übertragen werden. Außer- Ausführung eines Unterprogramms anzeigt, und die
dem kann jeweils ein vollständiges Befehlswort über 65 Leitung Q5 die anzeigt, daß ein Parameter während
die Torschaltung G18 übertragen werden, die das eines Unterprogramm- und Parameterbewertungs-Befehlsregister
51 mit dem Speicher 54 verbindet, programme folgt. Ein auf diesen Leitungen erscheiwenn
das durch ein Steuersignal CIP gefordert wird. nendes Signal leitet die Durchschaltung der ver-
schiedenen in F i g. 3 gezeigten Taktgeberketten S1S1
ein, zu denen die Leitungen führen.
Das Adressenvergleichsregister 64 ist ein Vergleichsregister, das eine Unterprogramm-Endadresse aus
dem Register 58 und die jeweilige Befehlsadresse aus dem Register 59 zugeführt erhält, und das im Fall einer
Übereinstimmung beider Adressen ein Signal zur Hauptprogramm-Bef ehlssteuerschaltung65 liefert. Dies
zeigt an, daß das Ende eines in Ausführung begriffenen Unterprogramms erreicht ist. Das Signal IAR = SER
auf der Ausgangsleitung des Vergleichsregisters 64 bedeutet, daß die Ausführung jedes weiteren zum jeweiligen
Unterprogramm gehörenden Befehls verhindert wird.
Wie das vorliegende System im einzelnen arbeitet, geht aus dem nachstehenden Beispiel eines Unterprogramms
hervor, das in einem Hauptbefehlsprogramm auftritt. Es handelt sich dabei um denselben
Befehl, der oben beschrieben worden ist, nämlich
20 §SÄ, NN, QQ).
Die nachstehende Zeitfolgetabelle führt die Operationen auf, die während jedes Taktgeberumlaufs
stattfinden müssen, und gibt außerdem die Folgeoperationen und die bedingten Verzweigungen zur
Festlegung der Richtung an, in welcher eine Steuerfolge verläuft. Aus dieser Zeitfolgetabelle in Verbindung
mit dem Flußdiagramm von F i g. 2 und dem logischen Schaltschema von F i g. 3 kann die Wirkungsweise
des Systems verfolgt werden.
CL-12 = Erhöhe den Wert im Parameterzählerregister
57.
Falls das nächste Zeichen ein weiteres (,) ist, kehre zurück zu CL-6,
falls das nächste Zeichen ein »)« ist -> CL-U.
falls das nächste Zeichen ein »)« ist -> CL-U.
CL-XA = Übertrage die Adresse der nächsten Zeichenstelle
im Befehlsregister 51 zum Unterprogramm-Endadressenregister 58.
-> CL-U.
-> CL-U.
CL-16 — Übertrage die Adresse im Unterprogramm-EndadressenregisterSSzumUnterprogramm-Kellerspeicher
60.
-> CL-18.
-> CL-18.
CL-IS = Übertrage die Adresse im Unterprogrammadressenregister
53 zum Befehlsregister 51. Steuere den Speicher 54 an der im Befehlsadressenregister
stehenden Adresse an, um deren Inhalt in das Befehlsregister 51 zu
übertragen.
->
->
Zeitfolgetabelle
CL-I — Stelle Parameterzählerregister 57 auf 1 zurück.
-> CL-A.
-> CL-A.
35 CL-Il ■■ Übertrage die Endadresse des Unterprogramms
aus dem Befehlsregister 51 in das Unterprogramm-Endadressenregister 58.
Stelle die Steuerung zurück zur Befehlsausführungssteuereinheit 65 bis die Anordnung feststellt, daß die Adresse im Befehlsadressenregister 59 der Adresse im Unterprogramm-Endadressenregister 58 gleicht.
An dieser Stelle fahre mit CL-Il fort.
Stelle die Steuerung zurück zur Befehlsausführungssteuereinheit 65 bis die Anordnung feststellt, daß die Adresse im Befehlsadressenregister 59 der Adresse im Unterprogramm-Endadressenregister 58 gleicht.
An dieser Stelle fahre mit CL-Il fort.
Übertrage den Inhalt des Unterprogramm-Kellerspeichers 60 in das Unterprogramm-Endadressenregister
58.
-> CL-IA.
-> CL-IA.
CL-A = Erhöhe den Stand des Stufen-Zählerre- 40 CL-IA
gisters 56.
-» CL-AB.
-» CL-AB.
CL-AB = Schalte das Befehlsregister 51 weiter und CL-16
übertrage die nächsten beiden Zeichen in das Unterprogrammadressenregister 53.
Falls das nächste Zeichen (,) ist -> CL-6, falls das nächste Zeichen ein) ist ->■ CL-14.
Falls das nächste Zeichen (,) ist -> CL-6, falls das nächste Zeichen ein) ist ->■ CL-14.
CL-6 = Übertrage die nächsten beiden Zeichen im Befehlsregister 51 zum Objektadressenregister
63.
Schalte das Befehlsregister 51 weiter.
Schalte das Befehlsregister 51 weiter.
Vermindere
register 56.
-*- CL-26.
register 56.
-*- CL-26.
den Wert im Stufen-Zähler-
Falls das nächste Zeichen ein (par) ist ->
CL-36,
falls das nächste Zeichen kein (par) ist -* CL-8.
55
CL-8 = Übertrage den Inhalt der Stufen-Parameteradresse von 55 zum Speicheradressenre- CX-30 ·
gister 62.
-^ CL-IO.
-^ CL-IO.
CL-IO = Übertrage die im Objektadressenregister 63
gespeicherte, aus zwei Zeichen bestehende CL-1H Adresse in den Speicher 54.
-> CL-12.
-> CL-12.
■ Übertrage den Inhalt des Unterprogramm-Kellerspeichers 60 in das Befehlsadressenregister
59.
-^CIP.
-^CIP.
(An dieser Stelle setzt wieder das herkömmliche Befehlsprogramm ein, und die Anordnung
fährt mit der Interpretation des normalen Befehls fort bis eins der oben aufgezählten vier Zeichen vom Decodierer 52
festgestellt wird.)
Falls aus dem Decodierer 52 ein par-Signal erscheint und CL-6 im Aus-Zustand
ist -> CL-IS.
CL-IS — Schalte das Befehlsregister 51 weiter.
-> CL-30.
-> CL-30.
Übertrage die Parameternummernanzeige aus dem Befehlsregister 51 in das Parameterzählerregister
57.
-> CL-32.
-> CL-32.
Übertrage die Stufen-Parameteradresse von 55 in das Speicheradressregister 62.
-> CL-34.
-> CL-34.
Ct-34 = Übertrage den Inhalt des Speichers 54 an
der im Speicheradressregister 62 stehenden Adresse in das Objektadressregister 63.
Falls die Taktgeberstufe 6 diesen Umlauf nicht eingeleitet hat, kehrt die Steuerung
zürn Hauptprogramm (CIP) zurück. Falls CL-6 das Signal ausgelöst hat
-^CL-38.
CL-38 = Erhoheden Wert im Stufen-Zahlerregister 56.
Übertrage den Wert aus dem Parameterzahlstand-Speicherregister
66 m das Parameterzahlregister57
Keüre zurucJc zu CL-X.
Keüre zurucJc zu CL-X.
CL-36 = Vermindere den Wert im Stufen-Zähler- *5
register 56 um 1. Übertrage den Inhalt des Parameterzählerregisters 57 in das Parameterzählstand-Speicherregister
66.
->■ CL-2S.
ΰ e * s p x e l
Das vorliegende Beispiel erläutert die Wirkungsweise des Systems an Hand eines bestimmten Unterprogramme,
das in das Befehlsregister 51 eingegeben worden ist. Dieses Beispiel gleicht dem oben beschriebenen
und gibt die Wirkungsweise des Systems in allgemeiner Form an. Wie schon erwähnt, besteht der
Unterprogrammaufruf in der Feststellung der folgenden Aussage in der Befehlsfolge:
Ausführung dieses Befehls verfolgt. Bei normalen Befehlssteuerungen befindet sich der vorstehende
Befehl im Befehlsregister und wird normalerweise ausgeführt bis zum Erreichen des § SR. Dies zeigt an,
5 daß ein Unterprogramm im Befehlsregister 51 erscheint. Ein entsprechendes Signal wird vom Decodierer
52 zu der Taktgeberstuf e SS2 gesendet, wodurch die Durchschaltung der Kette SS2-SS4-SS4B ausgelöst
wird, so daß die Anfangsadresse des Unterlo * mms SR im Unterprogrammadressenregister 53
J, ichert wird>
Als nächstes werden die Parameter
^ Das Re^ster 57 zei t die Parameter]Ilummer
diesg wird durch ^2 auf χ rückgestellt
Das Register56 zeigt aDj weiche Unterprogrammstufe
bevorsteht. Da der Eintritt in ein Unterprogramm bevorsteht, wird der Inhalt dieses Registers durch
SS4 um 1 erhöht. (Zu Beginn eines Programms wird dieses Register stets auf O rückgestellt.) Als nächstes
wird der Befehlsregisterabtastring 61 auf das nächste Zeichen weitergeschaltet, so daß das »,« nach dem
§ SR in den Decodierer 52 übertragen wird. Von der Stufe SS4B wird ein Signal sowohl zu Und-Schaltung
Al als auch zu Und-Schaltung A4 gesendet. Da der zweite Eingang der Und-Schaltung A4 ein Signal auf
der aus dem Decodierer 52 kommenden »,«-Leitung
erhält, liefert sie ein Signal nur zu SS6. Dies bewirkt die Eingabe der Adresse des Parameters in das Objektadressenregister
63. Im dargestellten Beispiel besteht diese Adresse aus zwei Zeichen, die direkt aus dem
Befehlsregister 51 übertragen werden können. In einem allgemeineren Fall könnte es sich dabei sowohl
um einen arithmetischen Ausdruck als auch um einen einfachen Operanden handeln. In diesem Fall würden
die normalen Befehlssteuerungen den Ausdruck nach Aufrufeines »Quadratwurzel «-Unterprogramms. Dieses 35 seinen normalen Regeln bewerten und die Adresse
Unterprogramm ist an einer bei SR beginnenden des Resultats zum Objektadressenregister übertragen.
§ SR, NN, QQ ) — RR. Wie schon beschrieben, handelt es sich hier um den
Adresse im Speicher gespeichert und hat die folgende Bedeutung:
(SR:) EN: 5*par 1 -> XX KLf.) %ii, αλ, par i) ->
χ χ
Wenn XX-YY > par 2, geht zu EN
YY ->■ XX geht zu LP
YY
Die zweite Zeile in der vorstehenden Unterprogrammfolge bezeichnet das Unterprogramm »Wiederholen«,
das durch seine Aufrufaussage angezeigt ist. Wie schon erwähnt, ist dieses Unterprogramm im
Speicher praktisch in folgender Form gespeichert:
(7Γ:) TE:. 5 (par (par 1 - par 2/par 1)
(TEi)
Bei Ausführung des Unterprogramms ist der Parameter par 1 dieses Unterprogramms gleich XX,
und der zweite Parameter par 2 ist par 1 des höherstufigen Unterprogramms oder des Hauptprogramms
oder der durch die Adresse NN dargestellte Wert.
Nun sei angenommen, daß die Quadratwurzel der Zahl 22 auf den Genauigkeitsgrad 0,005 gefunden
werden soll, und weiter sei angenommen, daß diese beiden letztgenannten Zahlen in den Speicherplätzen
NN bzw. QQ gespeichert sind und daß das Resultat dieses Unterprogramms im Speicherplatz RR gespeichert
werden soll. Wie der Unterprogrammaufruf geschrieben wird, ist oben angegeben. Nun sei die
Da der Parameter selbst kein Parameter des höherstufigen Unterprogramms ist, bewirkt SSS nun die
Übertragung des Inhalts der beiden Register 56, 57 in das Speicheradressenregister 62. Auf diese Weise wird
eme Adresse aus den derzeitigen Stufen und Parameterzählständen
abgeleitet. Auf den durch diese Adresse bezeichneten Speicherplatz wird die Adresse
des Parameters auf der jeweiligen Stufe eingegeben.
In diesem Fall wird NN in den Speicherplatz 11 eingesetzt. Das geschieht durch SSlO. Als nächstes
wird das Register 57 erhöht, und die Steuerung wird zu den Eingangs-Und-Schaltungen Al und A4 zurückgeführt.
Zu diesem Zeitpunkt überträgt das Befehlsregister 51 das Komma nach dem JVJV in den Decodierer
52, und daher wird wieder die an die Und-Schaltung^ 4 angeschlossene Kette wirksam. Hierdurch
gelangt die Adresse QO in den Speicherplatz 12, und die Steuerung wird erneut zu A 2 und A 4 zurückgeführt.
Diesmal wird die Klammer nach OO aus dem Befehlsregister
in den Decodierer übertragen, so daß die Und-Schaltung A2 signalführend wird. Zunächst wird
die Befehlsregisterabtastung 61 weitergeschaltet auf das Zeichen hinter der Klammer. Die Adresse dieses
Zeichens, ein »->«, wird dann in den Unterprogramm-Kellerspeicher
60 übertragen. Dadurch wird bewirkt, daß nach Bewertung des Unterprogramms die Programmsteuerung
an die Stelle, wo sie unterbrochen wurde, zurückgeführt werden kann. Nun wird der
derzeitige Inhalt des Unterprogramm-Endregisters 58 zum Kellerspeicher 60 übertragen. In diesem Fall wird
eine 0 in diesen Speicher eingegeben. Wenn dagegen bereits die Ausführung eines Unterprogramms abliefe,
15 16
würde die Endadresse dieses Unterprogramms ge- betätigt. Hierdurch gelangt die Rückkehradresse, die
speichert, damit sie wieder im Register 59 gespeichert eine Kombination des Inhalts des Registers 59 des
werden kann, wenn die Steuerung an den Punkt, wo Standes des /Ä-Zählrings 61 und der laufenden
sie unterbrochen wurde, zurückgeführt wird. Schließ- Unterprogramm-Endadresse EN ist, aus dem Register
lieh wird die Anfangsadresse des Unterprogramms SR 5 58 in den Kellerspeicher 60 und die Anfangs- und
in das Befehlsadressenregister 59 eingegeben, und die Endadressen des neuen Unterprogramms, die aus dem
Unterprogramm-Endadresse EN, die in erläutertem Unterprogrammspeicherplatz im Speicher 54 entBeispiel
direkt hinter der SjR-Adresse im Unter- nommen worden sind, werden in das Register 59 bzw.
programm zur Verfügung steht, wird in das Register 58 58 übertragen. Nun wird das neue Unterprogramm
eingeführt. Nun wird die Steuerung auf die Befehls- io durch die Befehlsausführungssteuerung 65 ausgeführt,
ausführungssteuerung 65 zurückgeführt, die den Befehl In diesem Unterprogramm werden par 1 und par 2
mit SR beginnend durchführt. dadurch bewertet, daß die Adressen in den Speicher-
Die Ausführungssteuerung läuft ab, bis par 1 er- platzen 21 und 22 entnommen werden,
reicht wird. Dadurch gelangt ein Signal zu 5528. Dann wird das Ende dieses Programmteils erreicht.
reicht wird. Dadurch gelangt ein Signal zu 5528. Dann wird das Ende dieses Programmteils erreicht.
Hier wird die Adresse der Daten, die den Parameter 1 15 Jetzt ist IAR = SER, und das resultierende Signal
bilden, benötigt. Zuerst wird das Register 51 zur Zahl 1 wird von Schaltung 64 nach SS22 gesendet. Die letzte
weitergeschaltet. Dann überträgt 5530 diese Zahl in in den Kellerspeicher 60 eingegebene Adresse, EN,
das Register 57. Nun bewirkt 5532, daß der Inhalt der wird zunächst wieder im Register 58 gespeichert. Dann
Register 56, 57, der nun die Nummer 11 ist, in das wird der Wert im Stufenzähler 56 um 1 vermindert,
Speicheradressenregister 62 übertragen wird. Schließ- 20 da die Steuerung im Begriff ist, wieder zur nächstlich
bewirkt 5534 die Übertragung des Inhalts des höheren Stufe des Unterprogramms zurückzukehren.
Speicherplatzes 11 in das Objektadressenregister 63. Schließlich wird die nächste Adresse im Kellerspeicher
Der Inhalt des Speicherplatzes 11 lautet NN; er be- 60, die der Rückkehrpunkt der nächstniedrigeren
zeichnet die Adresse des ersten Parameters. Auf diese Unterprogrammstufe war, in das Register 59 eingeeinfache
Art und Weise wird also die Adresse der 25 geben. Daraufhin setzt die Steuerung die Programmjeweils
benötigten Daten gebildet. Nun übernimmt ausführung von diesem Rückkehrpunkt aus fort, und
wieder die Befehlsausführungssteuereinheit 65 die zwar von ->■ nach § IT, XX, par 1).
Steuerung zur Befehlsausführung. Schließlich kehrt die Steuerung zu LP zurück, und
Steuerung zur Befehlsausführung. Schließlich kehrt die Steuerung zu LP zurück, und
Die nächste besondere Situation besteht beim an dieser Stelle ist wieder das Unterprogramm *IT
Erreichen des Namens *IT. Dies ist der Name eines 30 erreicht. Der ganze Vorgang wird nochmals wiederweiteren
Unterprogramms, das ausgeführt werden holt einschließlich der Parameterbewertung. Schließmuß,
damit die Ausführung des Unterprogramms SR lieh wird der Schlußpunkt des 5R-Unterprogramms
weitergeführt werden kann. Wie beim vorigen Unter- erreicht und die Stuerung zu dem Pfeil nach § SR, NN,
programm wird die Steuerung nach 552 übertragen, QQ) in derselben Weise zurückgeführt, wie die Steuenachdem
die Adresse des Unterprogramms in das 35 rung von SIT nach § SR zurückgeführt wurde.
Register 53 eingeführt worden ist. Das Register 57 Mit den vorausgehend beschriebenen Schaltungen
ist jetzt auf 1 gestellt, und dann wird das Stufenzähl- ist somit eine vollständig automatische Unterproregister
56 um 1 erhöht; es hat also nun den Wert 2. grammbewertung und -ausführung möglich. Die
Die Parameter dieses Unterprogramms werden jetzt allgemeine Anwendbarkeit des Systems geht daraus
bewertet. 40 hervor, daß ein gegebenes Unterprogramm in seiner
Die Adresse] des nächsten 'Parameters, XX, wird eignen Definition verwendet werden kann, z. B. kann
in den besonderen Speicherplatz Nr. 21 durch die das Unterprogramm § FACT, N) wie folgt definiert
Wirkung von 556 bis 5512 eingegeben, und das werden:
Parameterzählregister 57 wird auf 2 erhöht. Der .
Parameterzählregister 57 wird auf 2 erhöht. Der .
nächste Parameter ist par 1. Es wird also ein Signal zu 45 (£^:) Γ^Ο^, 1 ',f* ZU. t
den Parameterbewertungssteuerungen gesendet. Da % FACT, (pax 1-1) *pax 1, &&& za EN
den Parameterbewertungssteuerungen gesendet. Da % FACT, (pax 1-1) *pax 1, &&& za EN
SS6 ein Signal liefert, wird die Und-Schaltung A6 (.FI:) 1
leitend und bewirkt, daß über 5536 das Stufenzähl- (ΕΝί)
register 56 um 1 erniedrigt wird. Dieses Register war
gerade auf 2 weitergeschaltet worden, aber hier muß es 50 Wie schon erwähnt, ist das im beschriebenen Ausvorübergehend auf 1 zurückgeschaltet werden, damit führungsbeispiel der Erfindung gewählte Verfahren
die richtige Parameteradresse gefunden werden kann. zum Feststellen des Schlusses eines Unterprogramms
Diese Adresse wird im Speicherplatz Nr. 11 gefunden nur eine Möglichkeit zu dessen Erkennung. Zum
und hat den Wert der Stufenparameteradresse 55. Beispiel kann in dem Unterprogramm ein Sonder-Das
Signal aus 556 betätigt über die Verzögerungs- 55 zeichen für diesen Fall benutzt werden,
schaltung 67 die Stufe 5538, die eine Wiedererhöhung Ebenso versteht es sich, daß die verschiedenen
schaltung 67 die Stufe 5538, die eine Wiedererhöhung Ebenso versteht es sich, daß die verschiedenen
des Registers 56 auf 2 bewirkt. Die Adresse von Symbole, die bei der Beschreibung des Systems ver-Speicherstelle
11 wird in das Objektadressenregister 63 wendet werden, d. h., die Symbole für Anfang und
eingegeben. Nun wird der Wert der Register 56, 57, Ende des Unterprogramms, die Parametersymbole
nämlich 22, in das Speicheradressenregister 62 einge- 60 und die Parameterbewertungssymbole lediglich als
führt, und der Inhalt des Objektadressenregisters 63 Beispiele dienen und daß solche Symbole auch aus
wird in den Speicherplatz 22 eingesetzt. Auf diese bestimmten Adressen dienen und daß solche Symbole
Weise ist die Adresse des ersten Parameters des auch aus bestimmten Adressen feststellbar sein können.
Unterprogramms SR automatisch als zweiter Para- Zum Beispiel kann die Adresse eines Unterprogramms
meter des Unterprogramms IT zugänglich gemacht 65 im Speicher eine Anzeige enthalten, die durch den
worden. Decodierer erkennbar ist und besagt, daß diese
Da als nächstes eine Klammer erscheint, wird die Adresse einzig und allein eine Unterprogrammadresse
an die Und-Schaltung Al angeschlossene Steuerkette ist.
809 648/1921
Die Zahl der Übergänge von einem Programm zu einem Unterprogramm und umgekehrt sowie die
Zahl der Unterprogrammstufen kann wesentlich höher als im erläuterten Beispiel sein. Sie ist lediglich durch
die Kapazität der verwendeten Speicher und Zähler begrenzt. Es ist in beliebiger Weise möglich, Unterprogramme
innerhalb von Unterprogrammen zu verarbeiten, wenn das innere oder niedrigerstufige
Unterprogramm als ein Schritt eines höherstufigen Unterprogramms erkannt wird. Ebenso sei beachtet,
daß das innere Unterprogramm auch als Parameter in einem Unterprogramm-Aufruf wie z. B. dem folgenden
erscheinen könnte:
§Zß, NN, QQ, §XR, par I5 par 2)).
Dabei ist das innere Unterprogramm, nämlich § XR, par 1, par 2, als Parameter bezeichnet, der direkt bei
der Ausführung des Zg-Unterprogramms benutzt wird.
Claims (11)
1. Steuerwerk zur Ausführung von Unterprogrammen bei datenverarbeitenden Maschinen
mit einem Programmstufenzähler, der, von einem Hauptprogramm der Programmstufe Null ausgehend,
die in diesem auftretenden Unterprogramme bzw. Unter-Unterprogramme der Programmstufen
1, 2 ... η zum Zweck der Befehlsfolgeadressierung markiert, dadurch gekennzeichnet,
daß ein Parameterzähler (57) vorgesehen ist, der in einer der eigentlichen Unterprogrammausführung
vorausgehenden Unterprogramm-Bewertungsoperation für die in dem jeweiligen
Unterprogramm enthaltenen Parameter (Operanden) in der Reihenfolge ihres Auftretens
unterschiedliche Zählwerte bildet, die gemeinsam mit dem jeweiligen Zählstand des Programmstufenzählers
(56) als Speicheradressen dienen, auf welchen die Adressen der dem betreffenden Parameterzählstand
zugeordneten Parameter des zu bewertenden Unterprogramms in einer bei der Unterprogrammausführung benötigten Reihenfolge
gespeichert werden, daß Unterprogrammteile, die auf Parameter aus dem Programm der
nächstniedrigeren Programmstufe Bezug nehmen, eine symbolische Adresse mit einem Parameterfolgenummernfeld
aufweisen, das den Ort der betreifenden Parameter in der Parameterreihe dieses Programms markiert, daß bei Bewertung
einer solchen symbolischen Adresse die Parameterbewertungsschaltung (SS 36) den Stufenzähler
auf die Programmstufe des Programms niedrigerer Stufenordnung zurückschaltet und den Parameterzähler
entsprechend dem Folgenummernfeld einstellt und daß die so gebildete Adresse zur Entnähme
der gesuchten Parameteradresse aus dem Speicher dient, die daraufhin auf die nächste
Adresse in der Parameterreihe des zu bewertenden Unterprogramms zum Speicher übertragen wird.
2. Steuerwerk nach Anspruch 1, dadurch gekennzeichnet, daß ein Kellerspeicher (60) vorgesehen
ist zur Aufnahme von Programmanschluß- und/oder Programmendadressen beim Übergang
auf eine höherwertige Programmstufe und zur Abgabe dieser Adressen bei der Rückkehr zu einer
Programmstufe niedrigeren Wertes.
3. Steuerwerk nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß eine Stufenfolgesteuerschaltung
(SS4) vorgesehen ist, die in Abhängigkeit von in einem Haupt- oder Unterprogramm auftretenden
Unterprogrammaufrufbefehlen eine Weiterschaltung des Stufenzählers (56) vornimmt.
4. Steuerwerk nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, daß eine Parameterbewertungsschaltung
(SS6, SS8, SSlO, SS12, SS2S, SS30, SS32, SS34, SS36 und SS3S) vorgesehen
ist, die in Abhängigkeit von Parametern des jeweiligen Unterprogramms den Parameterzähler
(57) weiterschaltet und die Zählstände dieses Zählers und des Stufenzählers (56) als Programmstufen-Parameteradresse
in ein Speicherregister (62) überträgt, wo sie den Speicherort für die Abspeicherung der bewerteten Parameteradresse
angibt.
5. Steuerwerk nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, daß ein Zählstand-Speicherregister
(66) zur Zwischenspeicherung des jeweiligen Parameterzählstandes während des Aufsuchens
einer Parameteradresse in einem Programm niedrigerer Stufenordnung vorgesehen ist.
6. Steuerwerk nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, daß ein Register (55) vorgesehen
ist zur Zwischenspeicherung einer Unterprogramm-Anfangsadresse während der Bewertung
des betreffenden Unterprogramms.
7. Steuerwerk nach einem der Ansprüche 1 bis 6, dadurch gekennzeichnet, daß eine Unterprogramm-Ende-Bewertungsschaltung
(SS14, SS18, SS2Q)
vorgesehen ist, die bei Feststellung eines Unterprogrammendes vor einer Auslösung der Unterprogrammausführung
eine Einspeicherung der auf das Unterprogrammende folgenden Adresse (Anschlußadresse)
in den Kellerspeicher (60) veranlaßt und die Unterprogramm-Anfangsadresse aus dem Register (53) in das dem Befehlsausführungssteuerteil
(65) zugeordnete Befehlsadressenregister (59) überträgt.
8. Steuerwerk nach Anspruch 7, dadurch gekennzeichnet, daß eine Unterprogramm-Ende-Markierungsschaltung
(58) vorgesehen ist, die mit einer Vergleichsschaltung (64) verbunden ist, der während der Unterprogrammausführung der jeweilige
Befehlsadressenregisterinhalt neben dem Inhalt der Markierungsschaltung zugeführt wird
und die bei Ermittlung einer Übereinstimmung zwischen Befehlsadresse und Unterprogramm-Ende-Markierung
eine Zurückschaltung des Stufenzählers (56) auf den nächstniedrigeren Wert und eine Übertragung der zuletzt in den Kellerspeicher
(60) eingegebenen Adresse in das Befehlsadressenregister (59) veranlaßt sowie den Befehlsausführungssteuerteil
(65) stoppt.
9. Steuerwerk nach den Ansprüchen? und 8,
dadurch gekennzeichnet, daß als Unterprogramm-Ende-Markierung ein bestimmter Adressenwert
verwendet wird, der nach seiner Ermittlung durch den Befehlsdecodierer (52) über die Unterprogramm-Ende-Bewertungsschaltung
(55"2O) in ein Endadressenregister (58) eingestellt wird.
10. Steuerwerk nach Anspruch 9, dadurch gekennzeichnet, daß die Unterprogramm-Ende-Bewertungsschaltung
(SS16) vor Übertragung einer Unterprogramm-Ende-Adresse in das Endadressenregister
(58) dessen Inhalt nach der jeweiligen Anschlußadresse iü den Kellerspeicher (60) eingibt
und daß durch ein Ausgangssignal von der das
Ende der Unterprogrammausführung anzeigenden Vergleichsschaltung (64) eine Übertragung der
zuletzt in den Kellerspeicher eingegebenen Unterprogramm-Ende-Adresse in das Endadressenregister
auslöst, bevor durch eine erneute Kellerspeicherentnahme die Anschlußadresse in das
Befehlsadressenregister (59) übertragen wird.
11. Steuerwerk nach einem der Ansprüche 1 bis
10, dadurch gekennzeichnet, daß während einer Unterprogrammausführung der Parameterzähler
(57) jeweils auf den nächsten benötigten Parameter einstellbar ist und mit dem Programmstufenzähler
(56) die Adresse zur Entnahme der richtigen Parameteradresse aus dem Speicher angibt, die ihrerseits
zum Aufsuchen des Parameters im Speicher dient.
Hierzu 2 Blatt Zeichnungen
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US422343A US3366929A (en) | 1964-12-30 | 1964-12-30 | Computing system embodying flexible subroutine capabilities |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| DE1285219B true DE1285219B (de) | 1968-12-12 |
Family
ID=23674480
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| DEJ29712A Withdrawn DE1285219B (de) | 1964-12-30 | 1965-12-24 | Steuerwerk zur Ausfuehrung von Unterprogrammen |
Country Status (8)
| Country | Link |
|---|---|
| US (1) | US3366929A (de) |
| BE (1) | BE673593A (de) |
| CH (1) | CH446773A (de) |
| DE (1) | DE1285219B (de) |
| ES (1) | ES321214A1 (de) |
| GB (1) | GB1091937A (de) |
| NL (1) | NL6517115A (de) |
| SE (1) | SE317212B (de) |
Families Citing this family (23)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| NO119615B (de) * | 1966-02-25 | 1970-06-08 | Ericsson Telefon Ab L M | |
| US3623156A (en) * | 1966-06-23 | 1971-11-23 | Hewlett Packard Co | Calculator employing multiple registers and feedback paths for flexible subroutine control |
| US3633176A (en) * | 1969-08-19 | 1972-01-04 | Kaiser Aluminium Chem Corp | Recursive kopy program for remote input management system |
| US3614740A (en) * | 1970-03-23 | 1971-10-19 | Digital Equipment Corp | Data processing system with circuits for transferring between operating routines, interruption routines and subroutines |
| US3659272A (en) * | 1970-05-13 | 1972-04-25 | Burroughs Corp | Digital computer with a program-trace facility |
| US3707725A (en) * | 1970-06-19 | 1972-12-26 | Ibm | Program execution tracing system improvements |
| US3675214A (en) * | 1970-07-17 | 1972-07-04 | Interdata Inc | Processor servicing external devices, real and simulated |
| US3794980A (en) * | 1971-04-21 | 1974-02-26 | Cogar Corp | Apparatus and method for controlling sequential execution of instructions and nesting of subroutines in a data processor |
| JPS4828151A (de) * | 1971-08-16 | 1973-04-13 | ||
| JPS4828152A (de) * | 1971-08-16 | 1973-04-13 | ||
| FR2253418A5 (de) * | 1973-11-30 | 1975-06-27 | Honeywell Bull Soc Ind | |
| US4097920A (en) * | 1976-12-13 | 1978-06-27 | Rca Corporation | Hardware control for repeating program loops in electronic computers |
| US4176394A (en) * | 1977-06-13 | 1979-11-27 | Sperry Rand Corporation | Apparatus for maintaining a history of the most recently executed instructions in a digital computer |
| US4181942A (en) * | 1978-03-31 | 1980-01-01 | International Business Machines Corporation | Program branching method and apparatus |
| US4250546A (en) * | 1978-07-31 | 1981-02-10 | Motorola, Inc. | Fast interrupt method |
| US4241399A (en) * | 1978-10-25 | 1980-12-23 | Digital Equipment Corporation | Calling instructions for a data processing system |
| US4338663A (en) * | 1978-10-25 | 1982-07-06 | Digital Equipment Corporation | Calling instructions for a data processing system |
| US4504903A (en) * | 1979-07-19 | 1985-03-12 | Digital Equipment Corporation | Central processor with means for suspending instruction operations |
| CH679957A5 (en) * | 1990-03-07 | 1992-05-15 | Studer Revox Ag | Digital signal processing e.g. for multichannel tape player - using control words to identify different processing program for data words |
| US5961639A (en) * | 1996-12-16 | 1999-10-05 | International Business Machines Corporation | Processor and method for dynamically inserting auxiliary instructions within an instruction stream during execution |
| JP2001067335A (ja) * | 1999-06-23 | 2001-03-16 | Denso Corp | マイクロコンピュータ |
| US8176567B2 (en) * | 2005-12-22 | 2012-05-08 | Pitney Bowes Inc. | Apparatus and method to limit access to selected sub-program in a software system |
| US11921559B2 (en) * | 2021-05-03 | 2024-03-05 | Groq, Inc. | Power grid distribution for tensor streaming processors |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE1094493B (de) * | 1957-12-09 | 1960-12-08 | Ibm Deutschland | Programmunterbrechungssystem fuer programmgesteuerte elektronische datenverarbeitende Maschinen und Rechenanlagen |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US3293616A (en) * | 1963-07-03 | 1966-12-20 | Ibm | Computer instruction sequencing and control system |
-
1964
- 1964-12-30 US US422343A patent/US3366929A/en not_active Expired - Lifetime
-
1965
- 1965-12-03 GB GB51340/65A patent/GB1091937A/en not_active Expired
- 1965-12-10 BE BE673593D patent/BE673593A/xx unknown
- 1965-12-24 DE DEJ29712A patent/DE1285219B/de not_active Withdrawn
- 1965-12-28 ES ES0321214A patent/ES321214A1/es not_active Expired
- 1965-12-29 NL NL6517115A patent/NL6517115A/xx unknown
- 1965-12-30 SE SE16994/65A patent/SE317212B/xx unknown
- 1965-12-30 CH CH1805165A patent/CH446773A/de unknown
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE1094493B (de) * | 1957-12-09 | 1960-12-08 | Ibm Deutschland | Programmunterbrechungssystem fuer programmgesteuerte elektronische datenverarbeitende Maschinen und Rechenanlagen |
Also Published As
| Publication number | Publication date |
|---|---|
| BE673593A (de) | 1966-04-01 |
| US3366929A (en) | 1968-01-30 |
| SE317212B (de) | 1969-11-10 |
| CH446773A (de) | 1967-11-15 |
| NL6517115A (de) | 1966-07-01 |
| GB1091937A (en) | 1967-11-22 |
| ES321214A1 (es) | 1966-10-01 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| DE1285219B (de) | Steuerwerk zur Ausfuehrung von Unterprogrammen | |
| DE69133302T2 (de) | Registerabbildung in einem einzigen Taktzyklus | |
| DE2515696C2 (de) | Datenverarbeitungssystem | |
| DE2230102A1 (de) | Rechenwerk fuer variable wortlaengen | |
| DE2417795C2 (de) | Datenverarbeitungsanlage | |
| DE2715073C3 (de) | Mikroprogrammierte Rechner-Steuervorrichtung | |
| DE2448690A1 (de) | Kellerspeichereinrichtung fuer eine datenverarbeitungsanlage | |
| DE2023354A1 (de) | Programmierbare Einheit und Verfahren zum Betreiben einer programmierbaren Einheit | |
| DE2630323B2 (de) | Datenspeichereinrichtung mit einem Hauptspeicher, einem Hilfsspeicher und einer Vorausschaulogik | |
| CH650600A5 (de) | Zentralprozessoreinheit einer datenverarbeitungsanlage mit operationscode-erweiterungsregister. | |
| DE1901228B2 (de) | Datenverarbeitungsanlage mit einrichtungen zur wiederholung von operationen beim auftreten eines fehlers | |
| DE2753062A1 (de) | Einrichtung zur durchfuehrung programmierter befehle | |
| DE1499193B2 (de) | Speicher-adressierschaltung | |
| DE2424931A1 (de) | Datenverarbeitungsanlage, insbesondere mikroprogramm-datenverarbeitungseinheit mit parallelen befehlsstroemen fuer mehrere ebenen von subbefehlsvorraeten | |
| DE1275800B (de) | Steuerwerk fuer datenverarbeitende Maschinen | |
| DE2433436A1 (de) | Verfahren und anordnung zum mehrfachverzweigen des programms in einem digitalen computer | |
| DE3323824A1 (de) | Speicherprogrammierbare steuerung | |
| DE2702722C2 (de) | Einrichtung zur Verarbeitung nicht direkt ausführbarer Instruktionen | |
| DE69111778T2 (de) | Verfahren und Gerät zur Erweiterung einer Rechnerarchitektur von zweiunddreissig auf vierundsechzig Bits. | |
| DE2710436C2 (de) | Datenverarbeitungseinrichtung | |
| DE2425380C2 (de) | Datenverarbeitungsanlage zur parallelen Ausführung von Verarbeitungsoperationen | |
| DE1774421B1 (de) | Mehrprogramm datenverarbeitungsanlage | |
| DE2519195A1 (de) | Assoziativspeicher | |
| DD294115A5 (de) | Vorrichtung und verfahren zur signalverarbeitung | |
| DE10163206B4 (de) | Verfahren zum Betrieb einer speicherprogrammierbaren Steuerung |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| E77 | Valid patent as to the heymanns-index 1977 | ||
| EHJ | Ceased/non-payment of the annual fee |