-
Einrichtung zur Prüfung des Prograinmablaufes in einer programmgesteuerten
Datenverarbeitungsanlage.
-
In programmgesteuerten Datenverarbeitungsanlagen werden Programme
abgewickelt, die aus einzelnen Programmschritten bestehen. Bekanntlich können dabei
auch Pehler auftreten und es sind hierfür Abhilfemaßnahmen vorzusehen. So ist z.B.
an- -t gegeben worden1 beim Auftreten eines Fehlers innerhalb eines Programmes die
Programmfolge zu unterbrechen und die Wiederholung des korrekten Programmes zu veranlassen.
Hierzu sind besondere Register vorzusehen, welche unter anderem für die erwähnte
Wiederholung auszlmlgtzen sind (siehe DT-OS 1 424756).
-
Das ablaufende Prograrnm wird dabei zwar nicht zerstört, es wird aber
auch kein genauer Aufschluss darüber gegeben, worin der Pehler im einzelnen besteht.
Einen derartigen Aufschluss kann man z.B. mit Hilfe einer Einrichtung zur Sichtbarmachung
des Programmablaufs erhalten. Handelt es sich dabei um eine Datenverarbeitungsanlage,
bei der die Befehle in einem Speicher gespeichert sind, und die Speicheradressen
der auzzuführenden Befehle der Reihe nach einzeln in einem Befehlszähler erscheinen,
so werden für die erwähnte Sichtbarmachung bestimmten Speicheradressen, in denen
bestimmte, für die Sichtbarmachung des Programmablaufs charakteristische Befehle
stehen, je eine Anzeigevorrichtung zugeordnet. Beim Erscheinen einer dieser Speicheradressen
im Befehlszähler wird dann die zugehörige Anzeigevorrichtung mittels geeigneter
Hilfsmittel erregt (siehe DT-AS 1 115 491). Hierbei werden besondere Speicherzellen
in Anspruch genommen, mit deren
Hilfe zwei Sprungbefehle durch¢,eÍiìhrt
werden, durch die aus dem eigentlichen Programm herausgesprungen wird, eine Anzeigevorrichtung
in Tätigkeit gesetzt wird und «anh wieder in das eigentliche Programm hineingespruragen
wird. Diese Sichtbarmachung des Programmablaufes kann mit einer Stillsetzung der
Datenverarbeitungsanlage beim Auftreten eines Fehlers verbunden werden.
-
Dadurch, daß, wie vorstehend erläutert, bestimmten Speicheradressen
je eine Anzeigevorrichtung zugeordnet werden muß, zugibt es sich, daß gleichzeitig
nur eine begrenzte Anzahl von Speicheradressen erfassbar ist, womit sich auch Grenzen
für die Überwachung ergeben. Diese Begrenzung der Überwachung und der damit verbundenen
Prüfung des Programmablaufs werden bei der im folgenden beschriebenen erfindngsgemäßen
Einrichtung vermieden. Diese Einrich.tunz gibt darüber hinaus auch noch genauere
Aufschlüsse über den Programmablauf, wie noch gezeigt wird. Die Erfindung betrifft
demgemäß eine Einrichtung zur Prüfung des Progranablaufs in einer programmgesteuerten
Datenverarbeitungsanlage, bei der die Befehle für die Programmschritte nacheinander
aus einem Speicher mit Hilfe von Adressen abgerufen werden, die in einem Befehlszähler
auftreten. Diese Einrichtung ist dadurch gekennzeichnet, daß zur Erfassung von fehlerhaften
Programmschritten Programmschleifen wiederholt abgewickelt werden, für die die Adresse
für den jeweils ersten Programmschritt in ein Anfangsregister und die Adresse für
den jeweils letzten Programmschritt in ein Enderegister eingegeben ist, daß eine
Programmschleife jeweils durch Übertragung der Adresse für den ersten Programmschritt
in den Befehlszähler wiederholt wird, wenn ein Vergleich die Gleichheit der im Befehlszahler
infolge dessen Weiterzählens erreichten Adresse mit der im Enderegister stehenden
Adresse meldet, und daß die Programmschleife durch Eingeben anderer Adressen in
Register jeweils verändert wird, wenn die Überwachung der durchlaufenden Programmschleife
keinen
Fehler anzeigt. Dadurch, daß die erwähnten Programmschleifen
jeweils wiederholt abgewickelt werden, treten dieselben Programnschritte und die
zugehörigen diäten periodisch auf. Die einzelnen dabei nur flüchtig auftretenden
Vorgänge können daher leichter als sonst überwacht werden, beispielsweise mit Hilte
eines Oszillographen sichtbar gemacht werden. Anhand von hierbei autretenden Codezeichen,
die durch den Oszillographen wiedergegeben werden, können Fehler leichter als sonst
erkannt werden.
-
In das Anfangsregister und in das Enderegist-er können beliebige der
zu benutzenden Adressen eingegeben werden, wodurch allch beliebige Programmabschnitte
geprüft' werden können. Die Lange dieser Programm.abschnitte kann durch Eingeben
entsprechender anderer Adressen verändert werden, um das Aufsuchen eines Fehlers
zu bewirken. Dabei kann die zugehörige Programinschleife insbesondere vergrössert
werden, wenn die Überwachung der durchlaufenen Programmschleife zunächst noch keinen
Fehler anzeigt, bis sich ein Fehler zeigt, der z.B. zunächst lediglich vermutet
wurde. All dies wird dadurch ermöglicht, daß in der erfindungsgemäßen Weise Programmschleifen
v.ieaerholt abgewicKelt werden. Es ist zwar an sich bereits bekannt gewesen, für
verschiedene Zwecke Programmschleifen in einem Programmablauf vorzusehen, die dadurch
gegebenen günstigen Möglichkeiten für die Prüfung des Programmablaufes auszunutzen,
wird jedoch erst durch die Erfindung gezeigt.
-
Es kann auf diese Weise auch der Ablauf von Mikroprogrammen geprüft
werden.
-
Ein Beispiel für die erfindungsgemäße Einrichtung zur Prüfung des'
Programmablaufs ist in der Figur gezeigt. Von der programmgesteuerten Datenverarbeitungsanlage
ist dabei nur soviel gezeigt, wie ,für die Erfindung von Bedeutung ist.
-
Die Befehle für die Programmschritte erden nacheinander aus dem Speicher
S mit Hilfe der in den Befehlszähler B
auftretenden Adressen abgerufen.
Die Adresse für den jeweils ersten Programmschritt wird in das Anfangsregister A
und die Adresse für den jeweils letzten Programmschritt in das Enderegister E eingegeben.
Dies kann z.B. mit Hilfe von Drucktasten t erfolgen, die in der Figur schematisch
angedeutet sind. Beim Programmablauf zählt der Befehlszähler von Programmschritt
zu Programmschritt weiter, um die zugehörigen Adressen zu liefern. Der Vergleicher
V vergleicht die im Befehlszähler infolgedessen erreichte Adresse mit der im Enderegister
E stehenden Adresse. Mit der Meldung, daß diese beiden Adressen gleich sind, wird
der Schalter k durchgeschaltet, sodaß die im Anfangsregister A stehende Adresse
dem Befehlsregister B zugeführt wird und der Befehlszähler wieder von dieser Anfangsadresse
ausgehend weiterzählt. Durch WiederholunA dieser Vorgänge ergibt es sich, daß wiederholt
Programmschleifen abgewikkelt werden, die durch die in den erwähnten Registern stehenden
Adressen begrenzt sind. Die Abwicklung solcher Programmschlei fen kann u. a. beispie'sweist?
uiiächst dadurch allszrelöst werden, daß der Schalter k mit Hilfe einer nicht dargestellten
Eingabetaste durchgeschaltet wird. Wie die Veränderung solcher Programmschleifen
durch Eingeben anderer Adressen in Register jeweils bewirkt wird und wie dies zur
Ermittlung von Fehlern ausgenutzt werden kann, ist bereits erläutert worden.
-
In diesem Zusammenhang ist auch bereits darauf hingewiesen worden,
daß zur Überwachung einer Programmschleife während ihrer Wiederholungen jeweils
Codezeichen mit Hilfe eines Oszillographen wiedergegeben werden. Es handelt sich
dabei insbesondere um Codezeichen, die die Befehle für die zugehörigen Programmschritte
darstellen. Ergibt es sich z.B., daß dabei unzulässige Codezeichen auftreten, so
ist eine Fehlerquelle gefunden. Diese Codezeichen können z.B. unzulässig sein, weil
sie gemäß einem falschen Code gebildet
sind oder weil sie trotz
richtigen Codes überhaupt nicht vorgesehen sind. Die zu solchen Codezeichen gehörenden
Zeichenelemente können dabei dem an den Befehlszähler angeschlossenen Oszillographen
Z jeweils in Serie zugeführt werden. Da sie wegen der Wiederholung von Programmschleifen
periodisch auftreten, lassen sie sich ohne weiteres mit Hilfe eines Oszillographen
wiedergeben. Werden die einzelnen Zeichenelemente solcher Codezeichen vom~iefehlszähler
B parallel ausgegeben, so können sie beispielsweise mit Hilfe zusätzlicher Schaltmittel
in Seriencodezeichen in an sich bekannter Weise umgewandelt werden. Handelt es sich
bei dem Programmspeicher, aus dem die Befehle mit Hilfe des Befehlszählers B abgerufen
werden, um einen Mikro-Programmspeicher, so wird mittels der Programmschleifen der
Ablauf von Mikroprogrammen geprüft. Auch in diesem Falle können Fehler in der bereits
beschriebenen Weise festgestellt werden. In jedem Falle kann das Auftreten von Fehlern
dazu ausgenutzt werden, noch zusätzliche Fehlerüberwachungseinrichtungen in Betrieb
zu setzen, wie es an sich bereitsobekannt ist.
-
Ist bei einer infrage kommenden Datenverarbeitungsanlage ein Hilfsregister
vorgesehen, das bei der Abwicklung eines Unterprogramms dazu benutzt wird, eine
Adresse aufzunehmen, die demjenigen Programmschritt zugeordnet ist, der bei der
Rückkehr in das durch das Unterprogramm unterbrochene Programm abzuwickeln, ist,
59 kann dieses Hilfsregister noch zusätzlich in zweckmäßiger Weise ausgenutzt werden.
Es kann nämlich als Anfangsregister ausgenutzt werden, indem bei der Prüfung des
Programmablaufs die Adresse für den jeweils ersten Programmschritt eingegeben wird.
-
1 Figur 4 Patent ansprüche