DE1574994B2 - Digitalrechner mit ueberprueftem unterprogrammaufruf - Google Patents
Digitalrechner mit ueberprueftem unterprogrammaufrufInfo
- Publication number
- DE1574994B2 DE1574994B2 DE19681574994 DE1574994A DE1574994B2 DE 1574994 B2 DE1574994 B2 DE 1574994B2 DE 19681574994 DE19681574994 DE 19681574994 DE 1574994 A DE1574994 A DE 1574994A DE 1574994 B2 DE1574994 B2 DE 1574994B2
- Authority
- DE
- Germany
- Prior art keywords
- program
- address
- computer
- programs
- memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000006870 function Effects 0.000 claims description 8
- 238000003860 storage Methods 0.000 claims description 6
- 238000001514 detection method Methods 0.000 claims description 2
- 230000008520 organization Effects 0.000 claims 2
- 230000003068 static effect Effects 0.000 claims 1
- 238000000034 method Methods 0.000 description 8
- 230000000694 effects Effects 0.000 description 4
- 230000015572 biosynthetic process Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000012432 intermediate storage Methods 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4482—Procedural
- G06F9/4484—Executing subprograms
- 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)
- Debugging And Monitoring (AREA)
- Executing Machine-Instructions (AREA)
Description
3 4
steuerten Unterprogramms von dieser zusätzlichen kennzeichnung 1000 im Kernspeicher 1 abgerufen
Information freigestellt. wird. Um den Rechner gegen Fehler im Objektpro-Weiterbildungen
der Erfindung sind in den Unter- gramm zu schützen, wird das durch das Objektansprüchen
gekennzeichnet. programm abgerufene Informationskennzeichen ge-Ein Ausführungsbeispiel der Erfindung ist nach- 5 prüft auf die Anwesenheit eines Prüfzeichens. Wenn
stehend an Hand der Zeichnungen näher erläutert. Es als Prüf ergebnis eine richtige Antwort gegeben wird,
zeigt ist auch das Informationskennzeichen ein richtiges F i g. 1 ein Blockschaltbild einer beispielsweisen Unterprogramm-Adressenwort. Die Einrichtung geht
Einrichtung, dann weiter mit der Einleitung des Unterprogramms, F i g. 2 einen Rechnerspeicher und io welches dem gewählten Adressenwort entspricht.
F i g. 3 ein Diagramm für zwei alternativ auf ein- Wenn die Prüfung eine falsche Antwort ergibt, wird
anderfolgende Vorgänge, welche mittels des Folge- das Informationskennzeichen, welches dem Adressensteuerkreises
nach F i g. 1 ablaufen. wort entspricht, nicht aus dem Kernspeicher 1 ausin Fig. 1 ist ein Rechner gezeigt, der einen als gelesen.
Kernspeicher 1 bezeichneten Speicher hat. Die Spei- 15 Im letzteren Fall wird ein Prüfunterprogramm,
chersteuereinrichtung 2 steuert die Lese-Schreib- bezeichnet mit RDSR in F i g. 2 von der gleichen
Funktionen für den Kernspeicher 1. Allgemein wer- Einrichtung eingeleitet, welche die im vorstehenden
den die Lese- und Schreibfunktionen aufeinander- Absatz beschriebenen Vorgänge ausführt. Um das
folgend im Laufe eines Lese-Schreibzyklus mittels der Adressenwort, welches die Lage des Prüfunterpro-Taktschrittquelle
des Rechners gesteuert. Derartige 20 gramms im Kernspeicher identifiziert, mit dieser EinAnordnungen
sind bekannt. Ein Informationskenn- richtung in Einklang zu bringen, ist auch diese '
zeichen wird im Kernspeicher 1 mittels eines Spei- Adresse mit einem eindeutigen Prüfzeichen vercher-Informationsregisters
3 eingeschrieben bzw. aus- sehen. Gemäß dem Beispiel nach Fig. 2 ist das ] gelesen. Der Platz im Kernspeicher 1, von dem das Prüfunterprogramm im Kernspeicher 1 mit der <
Informationskennzeichen zum Informationsregister 3 25 Adresse 5000 gespeichert. Dementsprechend ist die
überwechselt, wird bestimmt durch die Adresse, die dem Prüfunterprogramm entsprechende Adresse
im Speicheradressen-Register 4 gespeichert ist. F05000. Dieses Adressenwort hat im Kernspeicher 1 ;
Im allgemeinen wird die Erfindung bei Rechnern den Platz mit der Adresse 94. Zusammengefaßt kann
mit mehreren Programmen angewendet, bei denen festgestellt werden, daß dann, wenn das Prüfergebnis ;
eine Vielzahl von Objektprogrammen unter der Kon- 30 eine falsche Antwort bedeutet, das Infonnationskenntrolle
eines Hauptsteuerprogramms ablaufen. Das zeichen für die Adresse 94 abgerufen wird. Dieses
Hauptsteuerprogramm, die Objektprogramme und Informationskennzeichen enthält das Prüfzeichen,
die Operandenadressen sind alle im Kernspeicher 1 Auf diese Weise wird das Prüfprogramm eingeleitet. !
gespeichert. Dies ist mittels der schematischen Dar- Die Einzelheiten des Prüfunterprogramms selbst sind :
stellung des Kernspeichers 1 in F i g. 2 gezeigt. Bei 35 nicht Gegenstand der Anmeldung. Beispielsweise
dieser Darstellung sind O±, O2, O3 und O4 Objekt- kann das Prüfunterprogramm ein Abtasten einer j
programme und MCP ist das Hauptsteuerprogramm. Gruppe sogenannter Ergebnistexte, welche im Kern- j
Wie weiterhin in F i g. 2 gezeigt ist, enthält das speicher 1 gespeichert sind, umfassen. Diese Ergeb- f
Hauptsteuerprogramm viele Unterprogramme: SjRi, nistexte können beispielsweise den Zustand der \
SR2, ... SRn. Im Verlauf der Ausführung eines 4° Rechnerbausteine anzeigen, beispielsweise, ob ein I
Objektprogramms ist es oft erforderlich, eines der Kontrolldrucker Informationen aufnehmen kann.
Unterprogramme oder das Hauptsteuerprogramm Weiterhin kann ein Ergebnistext angewendet werden, '
auszuführen. Dies wird erreicht durch die Bildung um anzuzeigen, ob ein Prüfzeichen im gewählten ]
einer direkten Abzweigverbindung (Programmsprung) Adressenwort enthalten ist, wenn ein Abzweigver- |
vom Objektprogramm zum verlangten Unterpro- 45 bindungsprogramm ausgeführt wird. Im Prüfunter- j
gramm oder Hauptsteuerprogramm. Für jedes Un- programm können die Ergebnistexte abgetastet wer- I
terprogramm ist ein Adressenwort, welches die Lage den und in Abhängigkeit des gekennzeichneten
des Unterprogramms identifiziert, als ein Teil des Zustandes den geeigneten Vorgang einleiten. Im all-Hauptsteuerprogramms
gespeichert. Das Objektpro- gemeinen wird immer dann abgetastet, wenn ein gramm bildet die Abzweigverbindung zu einem Un- so neuer Ergebnistext eingespeichert wird,
terprogramm durch Abruf der Lagekennzeichnung An Hand der F i g. 1 soll nachstehend eine genaue des Adressenwortes aus dem Kernspeicher 1, welches Funktionsbeschreibung der Einrichtung gegeben werdem verlangten Unterprogramm entspricht. Beispiels- den. Beim normalen Ablauf eines Unterprogramms weise ist in F i g. 2 das Unterprogramm SR1 im Kern- wird die Adresse jedes Befehles in einem Folgespeicher 1 an einem Platz mit der Adresse 06000 55 adressen-Register 5 für den nächsten Befehl vor der gespeichert. Ein Adressenwort mit einem binärcodier- Weitergabe zum Speicheradressen-Register 4 gespeiten Prüfzeichen und mit binärcodierten Ziffern, chert. Im allgemeinen werden die Befehle an aufweiche die Adresse 06000 kennzeichnen, ist also im einanderfolgenden Stellen im Kernspeicher 1 gespei-Kernspeicher 1 gespeichert. Dieses Adressenwort ist chert, so daß jede Adresse durch Abzählung der gespeichert an einem Platz mit der Adresse 1000. 60 vorangehenden Adresse erhalten wird. Ein Begren-In Fig. 2 ist das Prüfzeichen mit F bezeichnet. zungs-Register 6 speichert Informationskennzeichen, Dieses Prüfzeichen ist eine Kombination binärer welche diejenigen Teile oder Abschnitte des Kern-Ziffern, welche eindeutig sind, z. B. eine Kombina- Speichers 1 bestimmen, zu denen während eines betion, welche keinerlei Dezimalwert darstellt oder im stimmten Zustandes des Rechners ein Zugang vorSystem auf andere Weise erscheint, als zur Bezeich- 65 handen sein muß. Der Speicherinhalt des Registers 6 nung dieses Ziffernkennzeichens. Ein Objektpro- bedeutet deshalb eine Kennzeichnung, welche Befehle gramm bildet eine Abzweigverbindung zum Unter- des Hauptsteuerprogramms oder eines Objektproprogramm SR1, in dem der Speicherinhalt der Lage- gramms jederzeit ausgelesen werden können Wenn
terprogramm durch Abruf der Lagekennzeichnung An Hand der F i g. 1 soll nachstehend eine genaue des Adressenwortes aus dem Kernspeicher 1, welches Funktionsbeschreibung der Einrichtung gegeben werdem verlangten Unterprogramm entspricht. Beispiels- den. Beim normalen Ablauf eines Unterprogramms weise ist in F i g. 2 das Unterprogramm SR1 im Kern- wird die Adresse jedes Befehles in einem Folgespeicher 1 an einem Platz mit der Adresse 06000 55 adressen-Register 5 für den nächsten Befehl vor der gespeichert. Ein Adressenwort mit einem binärcodier- Weitergabe zum Speicheradressen-Register 4 gespeiten Prüfzeichen und mit binärcodierten Ziffern, chert. Im allgemeinen werden die Befehle an aufweiche die Adresse 06000 kennzeichnen, ist also im einanderfolgenden Stellen im Kernspeicher 1 gespei-Kernspeicher 1 gespeichert. Dieses Adressenwort ist chert, so daß jede Adresse durch Abzählung der gespeichert an einem Platz mit der Adresse 1000. 60 vorangehenden Adresse erhalten wird. Ein Begren-In Fig. 2 ist das Prüfzeichen mit F bezeichnet. zungs-Register 6 speichert Informationskennzeichen, Dieses Prüfzeichen ist eine Kombination binärer welche diejenigen Teile oder Abschnitte des Kern-Ziffern, welche eindeutig sind, z. B. eine Kombina- Speichers 1 bestimmen, zu denen während eines betion, welche keinerlei Dezimalwert darstellt oder im stimmten Zustandes des Rechners ein Zugang vorSystem auf andere Weise erscheint, als zur Bezeich- 65 handen sein muß. Der Speicherinhalt des Registers 6 nung dieses Ziffernkennzeichens. Ein Objektpro- bedeutet deshalb eine Kennzeichnung, welche Befehle gramm bildet eine Abzweigverbindung zum Unter- des Hauptsteuerprogramms oder eines Objektproprogramm SR1, in dem der Speicherinhalt der Lage- gramms jederzeit ausgelesen werden können Wenn
5 6
beispielsweise Befehle des Objektprogramms O\ aus- mit einem verlangten Unterprogramm des Hauptgeführt
werden; begrenzt das Begrenzungs-Register 6 Steuerprogramms übereinstimmt, zum Operationsden.
Zugang zum Kernspeicher lauf den Bereich, der speicher? übertragen wird, wird der Ausgang des
durch das Objektprogramm O± in Anspruch genom- Speichers 7 für die UND-Glieder 21 bis 42 wirksam
inen ist. Wenn andererseits Befehle vom Haüptsteuer- 5 und bleibt wirksam für die gesamte Betriebsdauer,
programm ausgeführt werden, erlaubt das Begren- Wenn dieser Ausgang wirksam wird, folgt der Schritt
zungs-Register 6 den Zugang zum gesamten Kern- PO. Eine bestimmte Adresse, welche im Unterbrespeicher
1. Das Operations-Register 7 speichert eine chungs-Adressen-Register 43 aufgenommen ist, geAdresse,
welche die Abzweigverbindungsoperation langt über das Glied 34 zum Speicheradresseneinleitet,
sowie die Adresse des gewählten Adressen- io Register 4, während die Information im Folgeadreswortes
im Kernspeicher 1. Ein Vergleichs-Register 8 sen-Register 5 für den nächsten Befehl, im Begrenspeichert
auch Informationskennzeichen, welche den zungs-Register 6 und im Vergleichsregister 8 über
Zustand des Rechners anzeigen. Da das Register 8 das Verknüpfungsglied 31 in das Speicher-Informanicht
direkt in Zusammenhang mit dem Ausfüh- tions-Register 3 übertragen wird. In Abhängigkeit
rungsbeispiel steht, ist seine Funktion nicht weiter 15 vom Verknüpfungsglied 40 schreibt die Speichererläutert,
steuereinrichtung 2 das Informationskennzeichen ■ Die Flip-Flop-Schaltungen 9, 10 und 11 kenn- vom Register 3. auf den entsprechenden Platz im
zeichnen den Zustand des Rechners in verschiedenen Kernspeicher 1, der vom Adressenregister 4 bezeich-Fällen.
Die normale Flip-Flop-Schaltung 9 bestimmt net wird. Die Informationskennzeichen aus den
den Zustand des Rechners mit Rücksicht auf das 20 Registern 5, 6 und 8, die auf diese Weise im Kern-Hauptsteuerprogramm
und die Objektprogramme. speicher 1 gespeichert sind, kennzeichnen die Stelle Wenn der Ausgang »1« der Flip-Flop-Schaltung 9 im Objektprogramm, für die die Abzweigverbindung
eingeschaltet ist, ist der Rechner im normalen Zu- gebildet wurde, sowie das betreffende Objektprostand,
in dem die Befehle eines Objektprogramms gramm. Durch die Wiedereingabe dieser Informaausgeführt
werden. Wenn der Ausgang »0« der Flip- 25 tionskennzeichen in die Register S, 6 und 8 nach
Flop-Schaltung 9 eingeschaltet ist, ist der Rechner Durchführung des Programms im Hauptsteuerproim
Prüfzustand, in dem die Befehle des Hauptsteuer- gramm, für das die Abzweigverbindung ausgeführt
Programms ausgeführt werden. Die Unterbrecher- wird, wird das gleiche Objektprogramm wieder geFlip-Flop-Schaltung
10 kennzeichnet die Speicherung schaltet, indem die Informationskennzeichen zu den
eines Ergebnistextes, wenn sein Ausgang »1« einge- 30 Registern 5, 6 und 8 erneut übertragen werden. Diese
schaltet ist. Mit anderen Worten, es muß das Prüf- erneute Operation ist nachfolgend beschrieben,
unterprogramm eingeleitet werden. Die Befehls-Flip- Der nächste Eingang Pl wird wirksam; hierdurch Flop-Schaltung 11 kennzeichnet den Zustand der wird das Informationskennzeichen, welches die Lage Einrichtung in bezug auf die Befehle. Wenn am Aus- des gewählten Adressenwortes kennzeichnet, vom gang »I« der Flip-Flop-Schaltung 11 ein wirksames 35 Speicher 7 über das Verknüpfungsglied 33 zum Kennzeichen anliegt, führt die Anlage einen Befehl Adressenregister 4 übertragen. Entsprechend dem aus. Wenn am Ausgang »0« ein wirksames Kenn- Beispiel nach Fig. 2 würde dies der Adresse 1000 zeichen anliegt, wird ein neuer Befehl aus dem Kern- entsprechen. Auf die Funktion des Verknüpfungsspeicher 1 ausgelesen. Zusätzlich zu den in Fig. 1 gliedes 37 folgt der Vorgang, bei dem die Speichergezeigten Verbindungen der Flip-Flop-Schaltungen 4° steuereinrichtung 2 aus dem Informationsregister das 9,10 und 11 bestehen auch Verbindungen zu anderen Informationskennzeichen zum Platz 1000 des Kern-Teilen des Rechners, welche aber für die Beschrei- Speichers ausliest, wobei das Adressenwort F06000 bung des Ausführungsbeispiels nicht von Bedeutung ist. Vom Register 3 geht dieses Adressenwort über sind. das Verknüpfungsglied 24 zum Folgebefehlsadressen-
unterprogramm eingeleitet werden. Die Befehls-Flip- Der nächste Eingang Pl wird wirksam; hierdurch Flop-Schaltung 11 kennzeichnet den Zustand der wird das Informationskennzeichen, welches die Lage Einrichtung in bezug auf die Befehle. Wenn am Aus- des gewählten Adressenwortes kennzeichnet, vom gang »I« der Flip-Flop-Schaltung 11 ein wirksames 35 Speicher 7 über das Verknüpfungsglied 33 zum Kennzeichen anliegt, führt die Anlage einen Befehl Adressenregister 4 übertragen. Entsprechend dem aus. Wenn am Ausgang »0« ein wirksames Kenn- Beispiel nach Fig. 2 würde dies der Adresse 1000 zeichen anliegt, wird ein neuer Befehl aus dem Kern- entsprechen. Auf die Funktion des Verknüpfungsspeicher 1 ausgelesen. Zusätzlich zu den in Fig. 1 gliedes 37 folgt der Vorgang, bei dem die Speichergezeigten Verbindungen der Flip-Flop-Schaltungen 4° steuereinrichtung 2 aus dem Informationsregister das 9,10 und 11 bestehen auch Verbindungen zu anderen Informationskennzeichen zum Platz 1000 des Kern-Teilen des Rechners, welche aber für die Beschrei- Speichers ausliest, wobei das Adressenwort F06000 bung des Ausführungsbeispiels nicht von Bedeutung ist. Vom Register 3 geht dieses Adressenwort über sind. das Verknüpfungsglied 24 zum Folgebefehlsadressen-
Die Funktion der Einrichtung verläuft weiterhin 45 register 5.
unter der Kontrolle der Folgesteuereinrichtung 12. Als nächstes wird der Ausgang P 2 wirksam. Da-Kennzeichnend
ist, daß eine derartige Einrichtung durch wird eine Verbindung über das Verknüpf ungseine
Taktschrittquelle, einen Folgesteuerkreis und glied 25 vom Register 5 zu einer Prüfzeichen-Prüfeineine
kombinierte Logik enthält, um die nachfolgend richtung 44 hergestellt. Die Einrichtung 44 kann ein
beschriebene Aufeinanderfolge von Vorgängen aus- 50 Vergleicher sein, der die höchststellige Ziffer des
führen zu können. Wenn die Einrichtung 12 eine gewählten Adressenwortes vergleicht mit dem Inhalt
aufeinanderfolgende Reihe von Schlitten durchläuft, eines Registers, das das Prüfzeichen enthält. Wenn
werden der Reihe nach die Ausgänge PO, Pl, P2, die Prüfung auf Vorliegen eines Prüfzeichens ein
P 3, P 4, P 5 und P 6 wirksam. Die Ausgänge P 0 bis richtiges Ergebnis ergibt, wenn also beispielsweise
P 6 sind mit den Eingängen von verschiedenen UND- 55 das gewählte Adressenwort das Prüfzeichen enthält,
Gliedern (21 bis 42) verbunden, um den Vorgang des wird der Ausgang T der Einrichtung 44 zur Folge-Programmsprunges
auszuführen. Einleitend wird der steuereinrichtung 12 wirksam. Demzufolge wird auch
Ausgang P Ö wirksam, und jedes Mal, wenn die Ein- der Ausgang T 3 wirksam.
richtung 12 in der Ausgangsstellung ist, wird dieser Zu diesem Zeitpunkt werden Vorbereitungen geEingang
PO erneut wirksam. 6° troffen, das gewählte Unterprogramm des Haupt-
Obwohl in F i g. 1 nicht dargestellt, besteht eine Steuerprogramms auszuführen. Hierzu wird das VerVerbindung
vom Operations-Register 7 zu jedem der knüpfungsglied 29 wirksam, um die Adresse im
UND-Glieder 21 bis 42. Zum Zwecke der Erläute- Register 6 zu löschen. Eine Information aus einem
rung wird angenommen, daß das Verknüpfungsglied Speichergrößenregister 45 gelangt über das Verknüp-30
den Befehl Abzweigverbindung kennzeichnet. 65 fungsglied 30 zum Begrenzungsteil des Registers 6.
Wenn der Abzweigverbindungsbefehl, enthaltend die Demzufolge ist das Register 6 vorbereitet, den ZuKennzeichnung
am Verknüpfungsglied 30 und die gang zum gesamten Inhalt des Kernspeichers zuzu-Adresse
eines Adressenwortes im Kernspeicher 1, das lassen, wie dies beim Prüfvorgang durch das Haupt-
7 8
Steuerprogramm verlangt wird. Das Verknüpfungs- folgend die AusgängePl, Pl, P3, P4 und PS
glied 21 ist auch wirksam, um das Vergleichsregister 8 wirksam, so daß die vorhergehend beschriebenen
zu löschen und das Verknüpfungsglied 22 ist wirk- Funktionen nunmehr bezüglich der neu hinzugefüg-
sam, um die Flip-Flop-Schaltungen 9, 10 und 11 in ten Adresseninformation im Register 7 ablaufen,
ihren Zustand »0« zu setzen. 5 So wird bei dem Beispiel nach Fig. 2 das Adres-
Darauf wird der Ausgang P 4 wirksam. Hierdurch senwort F05000 aus dem Kernspeicher 1 ausgelesen,
gelangt das gewählte Adressenwort über das Ver- während der Ausgang P1 wirksam ist, und dieses
knüpfungsglied 26 zum Adressenspeicher 6, und die Adressenwort wird auf das Vorhandensein eines
Speichersteuereinrichtung 2 liest den ersten Befehl Prüfzeichens geprüft, während der Ausgang P 2 wirk-
des Unterprogramms infolge des Wirksamwerdens io sam ist. Da das Adresseninformationskennzeichen
des Verknüpfungsgliedes 38 aus. Danach wird jeder zum Erhalt des Adressenwortes F05000 aus dem
Befehl des Unterprogramms ausgelesen und ausge- Kernspeicher im Register 46 gespeichert ist, kann
führt, bis das Unterprogramm vollständig ist, zu kein Fehler beim Auslesen dieser Adresse aus dem
welchem Zeitpunkt dann der Ausgang P 5 wirksam Speicher 1 vorkommen. Deshalb ist die Verwendung
wird. 15 eines Prüfzeichens in Verbindung mit diesem Adres-
Dabei wird in dem Objektprogramm weiter ge- senwort zur Fehlerkontrolle nicht erforderlich. Es ist
fahren, und zwar wird hierzu die Adresse, welche im aber die Verwendung der gleichen Einrichtung mög-
Unterbrechungsspeicher-Register 43 gespeichert ist, lieh, um das Prüfunterprogramm und andere Unter-
über das Verknüpfungsglied 35 zum Speicheradres- programme einzuleiten.
senregister 4 übertragen. Infolge des Wirksamwerdens 20 Dementsprechend ist der Rechner dazu vorbereitet,
des Verknüpfungsgliedes 39 überträgt die Speicher- ein Hauptunterprogramm auszusühren, solange der
steuereinrichtung 2 das Informationskennzeichen vom Ausgang P 3 wirksam ist und weiterhin das Prüf-
Zwischenspeicherplatz des Kernspeichers 1 zum In- unterprogramm auszuführen, wenn der Ausgang P 4
formationsregister 3, von wo aus die Adresse über wirksam ist. Ebenso wird das Objektprogramm erneut
das Verknüpfungsglied 27 zu den Registern 5, 6 25 zugeschaltet, wenn der Ausgang P 5 wirksam ist. Eine
und 8 übertragen wird. Danach wird die Folgesteuer- Weiterführung des Objektprogramms wird infolge
einrichtung 12 gelöscht, um ihren Zyklus zu wieder- der Feststellung der Falschfunktions-Bit-Zeichen
holen, und der Rechner setzt die Ausführung des während des Ergebniszeichnerabtastprogramms ver-
wieder zugeschalteten Objektprogramms fort. hindert. Einzelheiten hierzu sind aber nicht Teil der
Wenn das Objektprogramm fälschlicherweise die 30 Erfindung.
Lageangabe im Speicher des gewählten Adressen- Beim gerade beschriebenen Vorgang wird eine
Wortes kennzeichnet, so daß das ausgelesene Infor- Unterbrechung des Rechnervorganges infolge der
mationskennzeichen aus dem Kernspeicher kein Feststellung eines Programmfehlers bei der Bildung
Prüfzeichen enthält, wird der Ausgang F der Prüf- einer Abzweigverbindung verursacht. Während dieser
zeichen-Prüfeinrichtung 44 während des Schrittes P 2 35 Unterbrechung läuft ein Prüfunterprogramm, gewirksam.
In diesem Falle wird unmittelbar auf den nannt RDSR, ab. Es kann erwünscht sein, eine gleich-AusgangP2
der Ausgang P 6 wirksam. Demzufolge artige Unterbrechung zu erhalten und dabei das
wird auch das Verknüpfungsglied 23 wirksam und gleiche Prüfunterprogramm beim Vorkommen von
bringt die Unterbrechungs-Flip-Flop-Schaltung 10 in Unterbrechungen auf Grund anderer Umstände im
den Zustand »1«. Das Adresseninformationskenn- 40 Rechner auszuführen. Allgemein gesprochen, kann
j zeichen im Operationsregister 7 wird von einem In- es wünschenswert sein, das Prüfunterprogramm
formationskennzeichen eines Unterbrechungsadres- immer dann einzuleiten, wenn ein Ergebnisbezeichner
senregisters 46 ersetzt, der über das Verknüpfungs- im Kennzeichner 1 gespeichert wird. Beispielsweise
glied 28 mit dem Register 7 gekoppelt ist. Register 46 kann eine derartige Unterbrechung verlangt werden,
enthält ein Adresseninformationskennzeichen, wel- 45 wenn ein Teil der Ein- und Ausgabeeinrichtung, beiches
den Platz des Adressenwortes im Kernspeicher spielsweise also ein Kontrolldrucker, den Druck aller
für das Prüfungsprogramm kennzeichnet. Entspre- übertragenen Informationskennzeichen durchgeführt
chend den Bezeichnungen in Fig. 2 enthält das hat und bereit ist, weitere Informationen aufzuneh-Register
46 die Zahl 94. Das Adresseninformations- men. Wenn Bedingungen für die Einleitung einer
kennzeichen, welches den Platz im Kernspeicher 5° Unterbrechung dieser Art festgestellt werden, wird
kennzeichnet, und für die Speicherung des Ergebnis- ein Prüfbefehl in das Operationsregister 7 eingegeben,
textes der Prüfzeichenprüfung durch die Prüfeinrich- Danach kann das Prüfprogramm in der vorstehend
tung 44 herausgenommen wurde, wird in einem Er- beschriebenen Weise ablaufen.
gebnisbezeichner-Adressenregister 47 gespeichert. Der Als Beispiel wird angenommen, daß die Unter-Inhalt
des Registers 47 wird über Verknüpfungsglied 55 brechung eingeleitet wird, wenn der Ausgang »1« der
36 zum Adressenregister 4 übertragen. Gleichzeitig normalen Flip-Flop-Schaltung 9, der Ausgang »1«
wird der Inhalt eines Ungültige-Operation-Bitzeichen- der Unterbrecher-Flip-Flop-Schaltung 10 und der
Register 48 über Verknüpfungsglied 32 zum Infor- Ausgang »0« der Befehls-Flip-Flop-Schaltung 11
mationsregister 3 übertragen. Register 48 enthält Bit- wirksam sind. Wenn zu diesem Zeitpunkt außerdem
zeichen, welche anzeigen, daß ein falsches Ergebnis 6° der Ausgang P 0 wirksam wird, wird das Verknüpbei
der Prüfzeichenprüfung erhalten wurde, beispiels- fungsglied 42 geschaltet und das Informationskennweise,
daß eine Falschfunktion durch ein Objekt- zeichen eines Prübefehlsregisters 49 zum Register 7
programm veranlaßt wurde. Infolge des Wirksam- übertragen. Die Adresse dieses Befehles ist die Zahl
Werdens des Verknüpfungsgliedes 41 wird der Inhalt 30 und das Adresseninformationskennzeichen ist die
des Informationsregisters 3 in den vom Register 4 65 Zahl 94, das ist das Informationskennzeichen, welangezeigten
Adressenplatz eingeschrieben. ches im Speicher die Stelle des Adressenwortes kenn-
Nach Schritt P 6 kommt die Folgesteuereinrichtung zeichnet, das dem Prüfunterprogramm RDSR ent-
wieder zu Schritt Pl. Danach werden aufeinander- spricht.
Hierzu 1 Blatt Zeichnungen 309 510/320
Claims (3)
1. Digital-Rechner mit einem Speicher, in dem Informationen nicht mehr zur Verfügung stehen kann,
ein Hauptsteuerprogramm mit mehreren Unter- Aus »Elektronische Rechenanlagen«, Band 7,
Programmen gespeichert ist, das die Ausführung 1965, Heft 3, Seiten 131 bis 137, sind weiterhin
mehrerer Objektprogramme überwacht, da- 5 Maßnahmen zum Schutz von unabhängigen, jedoch
durch gekennzeichnet, daß das Haupt- simultan ablaufenden Programmen bekannt geworsteuerprogramm
für jedes Unterprogramm ein den. Um zu verhindern, daß die einzelnen Programme eigenes Adressenwort enthält, das ein das Unter- sich gegenseitig stören, wird zu jedem Programm
programm als solches bezeichnendes Prüfzeichen, eine sogenannte Erfordernisliste aufgestellt, die diesowie
die Adresse des zugehörigen Unterpro- io jenigen Anlageteile enthält, die von dem Programm
gramm-Anfangs enthält; und daß bei Auftreten benötigt werden. Von einem übergeordneten Haupteiner
Programmverzweigung in einem Objekt- Steuerprogramm oder Organisationsprogramm wird
programm das zu dem gewünschten Unterpro- an Hand dieser Erfordernisliste aus einer Verfügbargramm
gehörende Adressenwort adressiert und keitsliste, die die zur Benutzung frei stehenden Anauf
das Vorliegen des Prüfzeichens geprüft wird. 15 lageteile enthält, eine Benutzbarkeitsliste aufgebaut,
2. Rechner nach Anspruch 1, dadurch gekenn- die diejenigen Anlageteile ein- für allemal festlegt,
zeichnet, daß das Prüfzeichen an Stelle eines die von dem betrachteten Programm benutzt werden
Operationsteiles in das Adressenwort eingesetzt können. Kommen während des Programmablaufs
ist. unerwartete Überschreitungen der durch die Be-
3. Rechner nach Anspruch 1 oder 2, dadurch 20 nutzbarkeitsliste festgelegten Anlageteile vor, muß
gekennzeichnet, daß im Hauptsteuerprogramm dies der Anlage über Organisationsbefehle mitgeteilt
ein Testprogramm enthalten ist, das nach nega- werden. Um eine wirksame Kontrolle darüber zu
tivem Ausgang der Prüfung auf Vorliegen des haben, daß das Programm während seines Ablaufs
Prüfzeichens angesteuert wird. die ihm zugewiesenen Anlageteile nicht überschreitet,
25 können besondere Speicherschlüssel vorgesehen sein,
wobei dieser Schlüssel der zugehörigen Benutzbar-
Die Erfindung betrifft einen Digital-Rechner mit keitsliste zugeordnet wird. Durch ständigen Vergleich
einem Speicher, in dem ein Hauptsteuerprogramm auf Übereinstimmung des Speicherschlüssels mit dem
mit mehreren Unterprogrammen gespeichert ist, das der Benutzbarkeitsliste zugeordneten Schlüssel kann
die Ausführung mehrerer Objektprogramme über- 30 ein auftretender Fehler bemerkt werden,
wacht Dieses Programmschutz-System ist wegen der
wacht Dieses Programmschutz-System ist wegen der
In Digital-Rechnern ist es normalerweise üblich, statischen Zuordnung von Anlageteilen gemäß der
mit einer vielseitigen Programmbasis zu arbeiten. Benutzbarkeitsliste zu einem Programm wenig flexi-Diese
Programme werden Objektprogramme oder bei. Dies ist vor allem für solche Unterprogramme
Funktionsprogramme genannt und unter der Über- 35 von Nachteil, die innerhalb eines Programms relativ
wachung eines Hauptsteuerprogramms ausgeführt selten, von den übrigen Programmen jedqch häufig
Das Hauptsteuerprogramm ist festgelegt, bevor der benutzt werden. Außerdem geht in jedem Befehl
Rechner in Betrieb genommen wird und wird norma- des beteiligten Programmes Speicherplatz für den
!erweise danach nicht mehr geändert Nachdem ein dem Programm zugeordneten Schlüssel verloren.
Rechner in Betrieb genommen ist, wird dieser aber 40 Schließlich bleiben bei dem bekannten System solche
immer wieder zur Durchführung neuer Objektpro- Fehler unerkannt, die beispielsweise dadurch entgramme
herangezogen, und zwar wenn neue Auf- stehen, daß von dem Objektprogramm eine Speichergaben
vorliegen. Demzufolge sind irgendwelche adresse angesteuert wird, die zwar mit dem zuge-Programmfehler,
welche im Laufe der Operation des hörigen Schlüssel versehen ist und dennoch nicht
Rechners auftreten, üblicherweise einem Objektpro- 45 der Anfang des gewünschten Unterprogramms ist.
gramm und nicht dem Hauptsteuerprogramm anzu- Innerhalb der dem Objektprogramm zugeordneten
lasten. Deshalb werden alle Operationen im Rechner Anlageteile bleibt mithin eine fehlerhafte Verzweiim
wesentlichen unter der Überwachung des Haupt- gung unerkannt.
Steuerprogramms derart ausgeführt, daß ein Pro- Demgegenüber liegt der Erfindung mithin die
grammfehler in einem Objektprogramm den Betrieb 50 Aufgabe zugrunde, bei Programmverzweigungen aus
des gesamten Rechners nicht vollständig unmöglich einem Objektprogramm in ein Unterprogramm aufmachen
kann; andere Objektprogramme können also tretende Fehler möglichst frühzeitig erkennbar zu
"weiter ausgeführt werden. machen. Dies wird erfindungsgemäß dadurch erreicht,
Aus der USA.-Patentschrift 3 283 307 ist eine Feh- daß das Hauptsteuerprogramm für jedes Unterprolererkennungsehirichtung
zur Überwachung von Pro- 55 gramm ein eigenes Adressenwort enthält, das ein grammverzweigungen in datenverarbeitenden Ma- das Unterprogramm als solches bezeichnendes Prüfschinen
bekannt, bei der ein Sondermerkmal in Form zeichen sowie die Adresse des zugehörigen Untereines
Zusatzsignals des durch die Verzweigung er- programm-Anfangs enthält, und daß bei Auftreten
reichten Programmteils zu einer Überprüfung dafür einer Programmverzweigung in einem Objektprovorgesehen
ist, daß tatsächlich in ein Unterprogramm 6° gramm das zu dem gewünschten Unterprogramm
eingetreten worden ist. Diese Einrichtung läßt sich gehörende Adressenwort adressiert und auf das Vorjedoch
nicht ohne erhebliche Nachteile für einen liegen des Prüfzeichens geprüft wird. Damit wird eine
im Mehrprogrammbetrieb arbeitenden Rechner nutz- fehlerhafte Verzweigung beispielsweise durch falsche
bar machen. Ein wesentlicher Nachteil ist darin zu Adressierung sofort erkennbar, und zwar noch ehe
sehen, daß die Maschine mit Befehlen verschiedener 65 in das gewünschte Unterprogramm tatsächlich einLänge
arbeiten muß bzw. daß bei einheitlicher getreten wurde. Durch Aufnahme des Prüfzeichens in
Befehlsstruktur ein erheblicher Leerraum ungenutzt das Adressenwort bleiben sowohl die Befehle des
verbleibt. Das Sondermerkmal ist ein mit zusätzlicher Objektprogramms wie auch diejenigen des ange-
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US62385867A | 1967-03-17 | 1967-03-17 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE1574994A1 DE1574994A1 (de) | 1971-12-02 |
DE1574994B2 true DE1574994B2 (de) | 1973-03-08 |
Family
ID=24499670
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19681574994 Pending DE1574994B2 (de) | 1967-03-17 | 1968-03-16 | Digitalrechner mit ueberprueftem unterprogrammaufruf |
Country Status (5)
Country | Link |
---|---|
US (1) | US3562713A (de) |
DE (1) | DE1574994B2 (de) |
FR (1) | FR1558091A (de) |
GB (1) | GB1159330A (de) |
NL (1) | NL165860C (de) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3753236A (en) * | 1972-03-31 | 1973-08-14 | Honeywell Inf Systems | Microprogrammable peripheral controller |
JPS549456B2 (de) * | 1972-07-05 | 1979-04-24 | ||
US3881173A (en) * | 1973-05-14 | 1975-04-29 | Amdahl Corp | Condition code determination and data processing |
US3979725A (en) * | 1973-08-06 | 1976-09-07 | Xerox Corporation | Multi-way program branching circuits |
SE413707B (sv) * | 1977-02-28 | 1980-06-16 | Ellemtel Utvecklings Ab | Anordning hos en programminnesstyrd telekommunikationsanleggning |
-
1967
- 1967-03-17 US US623858A patent/US3562713A/en not_active Expired - Lifetime
-
1968
- 1968-03-15 GB GB12586/68A patent/GB1159330A/en not_active Expired
- 1968-03-15 FR FR1558091D patent/FR1558091A/fr not_active Expired
- 1968-03-16 DE DE19681574994 patent/DE1574994B2/de active Pending
- 1968-03-18 NL NL6803825.A patent/NL165860C/xx not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
FR1558091A (de) | 1969-02-21 |
NL6803825A (de) | 1968-09-18 |
NL165860B (nl) | 1980-12-15 |
NL165860C (nl) | 1981-05-15 |
GB1159330A (en) | 1969-07-23 |
DE1574994A1 (de) | 1971-12-02 |
US3562713A (en) | 1971-02-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2318069C2 (de) | Mikroprogrammierte Rechenanlage mit Erweiterung von Steuerfunktionen mittels festverdrahteter logischer Matrix | |
DE2714805C2 (de) | ||
DE2328058C2 (de) | Fehlerdiagnoseeinrichtung in einer digitalen Datenverarbeitungsanordnung | |
DE2023354C2 (de) | Datenverarbeitungsanlage mit einem Mikrobefehlsspeicher | |
DE1499200B2 (de) | Datenverarbeitungsanlage mit vorranggesteuerter programm unterbrechung | |
DE1915818A1 (de) | Elektronisches Datenverarbeitungssystem | |
DE2416609A1 (de) | Einrichtung zum vereinfachten speicherschutz und zur adressuebersetzung | |
DE3048365A1 (de) | Speicherschutzsystem und datenverarbeitungssystem mit einem solchen speicherschutzsystem | |
EP0010186B1 (de) | Vorrichtung zum Bearbeiten bezeichneter Hinweise | |
DE1931966B2 (de) | Datenverarbeitungsanlage mit Assoziativspeichern | |
DE1275800B (de) | Steuerwerk fuer datenverarbeitende Maschinen | |
DE2339636A1 (de) | Programmsteuereinrichtung | |
DE2145709A1 (de) | Datenverarbeitungsanlage | |
DE2539211A1 (de) | Zugriffssteuereinheit | |
DE1935944C3 (de) | Steuereinrichtung in einer elektronischen Datenverarbeitungsanlage | |
DE2461592C3 (de) | Anordnung zur Durchführung von Wartungsoperationen bei einem Datenverarbeitungssystem | |
DE1909090C3 (de) | Schutzeinrichtung für den Arbeitsspeicher einer Rechenanlage | |
DE2245284C3 (de) | Datenverarbeitungsanlage | |
DE1806535A1 (de) | Digitale Rechenanlage | |
DE2702722C2 (de) | Einrichtung zur Verarbeitung nicht direkt ausführbarer Instruktionen | |
DE1574994B2 (de) | Digitalrechner mit ueberprueftem unterprogrammaufruf | |
DE2336676B2 (de) | Einrichtung zur Modifizierung von Mikroprogrammbefehlen | |
DE2723706A1 (de) | Einrichtung zum adressenvergleich | |
CH632349A5 (de) | Einrichtung zur mikrobefehlssteuerung. | |
DE2622140C3 (de) | Einrichtung zur Steuerung manueller Operationen |