DE1303481B - - Google Patents

Info

Publication number
DE1303481B
DE1303481B DE19661303481D DE1303481DA DE1303481B DE 1303481 B DE1303481 B DE 1303481B DE 19661303481 D DE19661303481 D DE 19661303481D DE 1303481D A DE1303481D A DE 1303481DA DE 1303481 B DE1303481 B DE 1303481B
Authority
DE
Germany
Prior art keywords
command
program
gate
input
information
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.)
Granted
Application number
DE19661303481D
Other languages
English (en)
Other versions
DE1303481C2 (de
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE1303481B publication Critical patent/DE1303481B/de
Application granted granted Critical
Publication of DE1303481C2 publication Critical patent/DE1303481C2/de
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3648Software debugging using additional hardware

Description

ι 2
Die Erfindung betrilft ein Verfahren zur Prüfung Speicherplatz, stammen, der durch den Befehlszähler von Datenverarbeitungsprogrammen, wobei die das angegeben wird, oder er kann, in Abhängigkeit von Programm bildenden Befehle an mit Hilfe von Adres- gewissen Zustanclsbedingungen des Digitalrechners, sen wahlfreie- aufrufbaren Plätzen eines Speiclicrwer- auch von einem Speicherplatz im Speicherwerk abgekes gespeichert sind und die Befehle zur Ausführung 5 rufen werden, dei nicht notwendigerweise der in der der durch sie charakterisierten Operationen in ein Sequenz nächstfolgende Speicherplatz ist. Das Schrei-Befehlsregister überführt werden und von dem Be- ben einer Befehlssequenz zur Schaffung eines Datenfehlsregister aus sowohl zur Verarbeitungseinheit als Verarbeitungsprogramms zur Lösung eines bestimmauch zwecks Regeneration zurück zum Speicherwerk ten Problems beginnt üblicherweise beim Programgebrachl werden, wobei jedes Befehlswort eine Pari- io mierer, der vor-iusscluiiiend die Typen von Informatätsbitstelle aufweist. tionen, die bei dem betreffenden Problem benötigt
Ferner betrifft die Erfindung eine Anordnung zur werden, sowie die Schwierigkeiten oder die von den
Durchführung eines derartigen Verfahrens, wobei Informationsdaten abhängigen Bedingungen, die ge-
sowohl der Eingang als auch der Ausgang des Befehls- gebenenfalls eine Änderung in der Befehlssequenz
registers mit dem Speicherwerk verbunden sind und i5 zur Durchführung des gesamten Problems erforder-
wobei der Eingang des Befehlsregisters ferner mit lieh machen könnten, erkennen muß.
einer einzuspeichernde Information übermittelnden Mit dem Erscheinen von Systemprogrammen für
Torschaltung und der Ausgang des Befehlsregisters die Digitalrechner und Datenverarbeitungsanlagen
ferner mit einer -luszuspeichernde Information weiter- haben sich zahlreiche schwierige Probleme entwickelt
leitenden Torschaltung verbunden sind. 20 bei der planmäßigen Versorgung der Kunden, die
Bei der Entwicklung eines neuen Digitalrechners Digitalrechner benutzen, mit fehlerfreien Programoder wenn von einem bestehenden Rechner verlangt men von gutem Wirkungsgrad. Bisher ist es im allgewird, eine ganz bestimmte Aufgabe durchzuführen meinen so gewesen, daß die Programme in ziemlich oder ein Problem zu lösen, so wird ein geordneter willkürlicher und zufälliger Weise gewachsen sind Satz von Befehlen in einer ganz bestimmten Sequenz 25 und in ihrem Umfang sowie an Komplexität immer kodiert und auf diese Weise ein Programm gebildet. mehr zugenommen haben und daß die Freigabe an Die Ausführung des Programm-, wird dadurch er- den Kunden dann erfolgte, wenn man der Meinung reicht, daß man den Digitalrechner veranlaßt, ver- war, daß das Programm vollständig sei. Jetzt, da sich schiedene Daten und Informationswertc in Überein- die Programme zu einem sehr bedeutsamen Teil in Stimmung mit jei^m ein/einen kodierten Befehl des 30 der gesamten Datenverarbeitungstechnik entwickelt Programms in vorgeschriebener Weise zu manipulie- haben, in dem Sinne nämlich, daß ein Datenverarbeiren. Jeder Befehl ist dargestellt durch eine Mehrzahl tungssystcm nicht mehr an einen Kunden ausgeliefert digitaler Zeichen; in den meisten '-allen sind es die wird, wenn die zugehörigen Programme noch nicht binären Werte »1« und »0«. Die Ziffer- oder Bit- vorliegen bzw. fertiggestellt sind, hat sich die Situation kombinationen werden vom Digitalrechner abgelesen 35 drastisch gewandelt. Bei der Entwicklung eine und ausgewertet, um verschiedene Manipulationen an Datenverarbeitungsprogramms als ein auszulieferndes anderen Befehls- oder Datenworten zu steuern, die Produkt müssen zahlreiche unabhängige Entwickebenfalls durch eine Mehrzahl digitaler Zeichen dar- lungsgruppen an dem Programm arbeiten, wenn es gestellt sind. Die das Programm darstellende züge- die verschiedenen Stadien der Komplettierung durchordnetc Befehlssequenz wird in ein Speicherwerk ein- 40 schreitet. Als das Ergebnis einer solchen verzahnten gegeben, zusammen mit den Informationsdaten, die uncl verschachtelten Entwicklungstätigkeit bestellt das diiich das betreffende Programm verarbeitet werden Bedürfnis nach einer Standardisierung, wonach die sollen. Es ist üblich, als Speicherwerk entweder einen Aufstellung gewisser Richtlinien möglich sein könnte. Magnetkernspeicher, eine Speichcrr.cheihe oder eine um ein geordnetes Wachstum eines Programms zu-Speichertrominel zu benutzen, wobei jeweils eine 45 zulassen. Diese verfahrenstechnischen Richtlinien große Anzahl von Speicherplätzen vorgesehen ist, die werden benutzt, um die entsprechenden Zeitpunkte durch entsprechende Adressen bezeichnet sind, so festzulegen, an denen das Programm von einer Entdaß die an den betreffenden Speicherplätzen gcspei- wicklungsgruppe zur nächsten übergeht. Dieser Stanchcrtcn liiformationsdaten oder Befehle aus dem dard für ein Programm ist das Stadium der Pro-Spcichcrwcrk abgerufen werden können bzw. daß die 50 grammprüfung oder des Programmtests, also im Rah-Daten und Befehle an die adressierten Speicherplätze men der Entstehung eines Programms das Niveau der eingeschrieben werden können. »Entschlackung«, d.h. der Eliminicrung von dem
Während der Durchführung und des Ablaufes Programm noch anhaftenden Fehlern. Nachdem ein eines bestimmten Programms bedient man sich nor- bestimmter Abschnitt eines Dalenvcrarbcitungspromalerweisc eines .Befehlszählers zur Adressierung des 55 gramns kodiert und bis zu einer bestimmten Stufe Speicherwerkes, wann immer ein bestimmter Befehl durch eine Gruppe gcUMci ist. wird er einer anderen im Verlauf der Durchführung des Programms benö- Gruppe übergeben, die ihn mit anderen Abschnitten tigt wird. Sobald man den Befehl vom Speicherwerk kombiniert und weitere Tests durchführt. Sobald diecrhalten hat und dieser Befehl in den Digitalrechner scr erweiterte Programmabschnitt bis zu einer gcgcübertragen worden ist, wird dieser Befehl die Mani- θο bcnen Stufe bzw. Niveau überprüft und getestet ist, so pulation von Informationsdaten innerhalb des Digi- wird er wieder mit anderen größeren Programmtalrcchncrs steuern oder die Adressierung eines be- abschnitten oder -gruppen kombiniert; dieses Vcrfahstimmten Speicherplatzes in dem Speicherwerk vcr- ren wird in mehreren Stufen fortgesetzt. Schließlich langen, um liiformationsdaten für die Verarbeitung wird dann einmal der Zustand erreicht, daß alle Proabzurufen. Jeweils nach der Ausführung eines Befehls 65 grammabschnitte kombiniert sind, so daß sie dann durch den Digitalrechner wird der nächstfolgende einem ausgedehnten Systemtest unterworfen werden Befehl aus dem Speicherwerk abgerufen. Dieser können. Wenn die diesen Test durchführende Entnächste Befehl kann von einem nächsten sequentiellen wieklungsgruppe feststellt, daß das Testniveau einen
I 303 481
roihestimniten Wert erreicht hai, so wird das Pm-Jrummsystem an eine Spezialgiuppe überwiesen, die lewissermaßen die Kundenheiuuziing repräsentiert. Piese Spezialgruppe prüft nun das Programm unter besonders strengen Bedingungen, bis ein weiteres vorherbestimmtes Prüfniveau erreicht ist; ist dieser Test bestunden, so wird das Programmiersystem endgültig an den Kimdei, freigegeben.
Die Piüfung verschiedener Abschnitte eines Programms ist notwendig, um sicherzustellen, daß — wenn ein Abschnitt eines Programms mit einer geordneten Befehlssequenz geschrieben oder kodiert wurde — daienabhangige Änderungen in der Befehlssequenz eine bestimmte Verarbeitungsleistung tatsächlich erzielen werden. Ein Programmtest isi so geplant, daß die einzelnen Programmbefehle zur Lösung eines bestimmten Problems in ihrer wirkungsvollen Anwendung ausprobiert werden. Man hat jedoch herausgefunden, daß die mit einem Programm durchgeführten Tests nicht immer alle und jeden einzelnen Programmbefehl ausprobieren, so daß gewisse, möglicherweise bei der Anwendung bei einem Kunden bestehende datenabhängige Bedingungen irgendwelche Programmzustände herbeiführen, die man nicht vorausgesehen hat und die infolgedessen durch die vorgesehene Befehlssequenz des Programms nicht bewältigt weiden können.
Zahlreiche nützliche Absichten lasten sich erfüllen durch Spezifizierung eines minimalen Testniveaus, das den Programmierern während des Stadiums der Kodierung oder Verschlüsselung und den mit dem Testen eines bestimmten Programms befaßten Personen zugänglich gemacht werden kann. Es kann in jeder Stufe der Kodierung eines Datenverarbeitungsprogramms eine interne Prüfung vorgesehen werden, durch die sichergestellt wird, daß das Programm zur Weitergabe in die nächste Stufe bereit ist. Auf diese Weise werden keine geistigen Anstrengungen vergeudet, beispielsweise wenn der Versuch gemacht werden winde, einen Systemtest bei einen-. Programm durchzuführen, für das alle Einzelkomponenten für einen solchen Test noch nicht bereit sind. Obwi.hl man nicht erwarten kann, daß tatsächlich alle Probleme vor der Freigabe des Programms erkannt und gefunden werden, kann man einen minimalen Teststandard festsetzen, bei dessen Anwendung man einen ersten Benutzer des Programms gewiß zufriedenstellen kann. Die hohen Kosten der Aufrcchlcrhaltung eines nur ungenügend geprüften Programms können jedenfalls drastisch reduziert werden. Die große Anzahl von Programmierern und sonstigem Hilfspersonal sowie die iangen Maschinenzeiten können, ebenfalls drastisch herabgesetzt werden, indem man einen solchen Standard festsetzt, wodurch sichergestellt ist, daß jedenfalls weniger als eine bestimmte Anzahl von Problemen, die sonst vom Kunden entdeckt werden würden, nun noch Von dem Kunden gefunden werden, wobei diese äußerst geringe Anzahl von verbleibenden, erst gegebenenfalls vom Kunden entdeckten Problemen wiederum durch die Wartungsmannschaft der Herstellerfirma in Ordnung gebracht werden kann.
Die Anwendung eines minimalen Testniveaus wird jedoch erst sinnvoll durch d"i Schaffung eines Maßstabes zur Messung der Effektivität eines mit einem Programm durchgeführten Tests. Der Stand derTechliik kannte bislv.r noch keine Möglichkeit, den Wirküngsgfad eines durchgeführten Programmtests zu ermitteln.
AusderVeiülientlicluing »Digitale Rechenanlageii« von Speiser, 1961, S. 272/273, ist es bekannt, sogenannte Zusätze, d. h. zusätzliche Bitstellen, in einem Befehlswort vorzusehen, tieren Inhalt über verschiedene Eigenschaften des Befehlswortes Aufschluß gibt. Diese Zusätze können z. B. dazu dienen, ein betrachtetes Wort als Befehl auszuweisen und von Zahlen zu unterscheiden. Damit kann die Richtigkeit des Programmablaufs insofern kontrolliert werden.
ίο als verhindert werden kann, daß irrtümlich Wörter aus dem Speicher ausgelesen werden und als Befehle angesehen werden, die im Rahmen des Programms nicht als Befehle, sondern als Zahlen anzusehen sind. Auch ein sogenanntes »Umtaufen« solcher Zahlen bzsv. Befehle ist vorgesehen.
Die Aufgabe der vorliegenden Erfindung ist es, ein Verfahren und eine Anordnung der eingangs genannten Art so auszubilden, daß der Wirkungsgrad einer Programmprüfung ermittelt werden kann.
Diese Aufgabe wird <.. tindungsgemaB durch ein Verfahren gelöst, das dadu.ch gekennzeichnet ist, daß vor der Durchführung der Programmprüfung beim Einschreiben des Programms in das Speicherwerk in die Paritälsbitstelle aller Befehlsworte gleiche Markierungszeichen eingeschrieben werden und daß während der Programmprüfung jeweils bei Entnahme eines aufgerufenen Befehlswortes aus dem Befehlsregister in die Paritätsbi'isti-lle des betreffenden Befehlswortes ein anderes Markierungszeichcn eingcschrieben wird, so daß nach Beendigung der Programmprüfung festgestellt werden kann, welche Bcfehlsworte bei dem Test erfaßt worden sind und welche nicht.
Ferner wird diese Aufgabe erfinaungsgemäß durch eine Anordnung gelöst, die dadurch gekennzeichnet ist, daß zwecks Einführung des genannten anderen Markierungszeichens der Ausgang eL>es Markierungszeichcngeneralors mit dem einen Eingang eines ODER-Tores verbunden ist, mit dessen anderem Eingang der der Paritätsbitstcllc entsprechende Ausgang des Befehlsregisters verbunden ist, und der Markierungszeichengenerator durch ein den Testmodus der Anordnung charaktcrisierndcs Signal und durch ein einen Befehlswortabrufzyklus charakterisierendes
45_ Signal aktiviert wird und daß zwecks Einführung des genannten ersten Maikierungszeichens der der Paritätsbitstelle entsprechende Teil der einzuspeichernde Information übermittelnden Torschaltung einen zusätzlichen Eingang aufweist, an den der Ausgang eines mit den1 Testmodussignal beaufschlagten Inverters angeschlossen ist, so daß der Ausgang des genannten Torschaltungsteils bei Vorliegen eines Testmodussignals das Signal Null übermittelt.
Durch das erfindungsgemäße Verfahren kann der prozentuale Anteil der bei einer Programmprüfung an den- Testlauf beteiligten Befehlswort ermittelt werden, womit der Zuverlässigkeitsgrad der vorgenommenen Prüfung erfaßt werden kann. Da die ohnehin in jedem Befehlswort enthaltene Paritätsbit-
60, stelle dazu ausgenutzt wird, jedem benutzten Befehlswort beim Tcstlauf ein Markierungszeichcn aufzuprägen, ist bei dem erfindungsgemäßen Verfahrenkeine zusätzliche Bitstelle erforderlich. Bei dem erfindungsgemäßen Prüfverfahren sind daher — abge-
05. sehen von der Tatsache, daß auf eine Paritälsbitprü-' fung.der Befehlsworte verzichtet wird — die gleichen Verhältnisse verwirklicht, wie sie auch während der Anwendung des Programms, in der Praxis herrschen,
5 6
da die Markierungszeichen keinerlei Einfluß auf die leitet wird, erzeugt wird, benutzt man zum Einsetzet
Ausführung der markierten Befehle haben. einer binären »1« in die siebenunddreißigste Binär
Die erfindungsgemäße Anordnung weist eine sehr stelle bei all den Befehlen, die während des Pro
einfache Struktur auf, so daß ohne Schwierigkeiten grammtests abgerufen wurden,
und mit nur geringem Mehraufwand bereits be- 5 Obwohl sich die nachfolgende Beschreibung au
stehende Datenverarbeitungsanlagen zu einer er- die Markierung aller Befehle in den Speicherplätze
findungsgemäßen Anordnung modifiziert werden bezieht, die aus dem Speicherwerk während de:
können, Befehlsabrufzyklen abgerufen wurden, so läßt siel
Ein Ausführungsbeispiel der Erfindung ist in der grundsätzlich dieselbe Logik auch für die Markieruni
Zeichnung dargestellt und wird im folgenden näher io bestimmter Binärstellen in den Speicherpositioner
beschrieben. Es zeigt benutzen zur Kennzeichnung solcher Speicherplätze
Fig. 1 das schematische Schaltbild des Informa- die während irgendeines Verarbeitungszyklus ange
tionsflusses in einem Digitalrechner mit einem Spei- sprachen wurden, oder auf die unter irgendwelcher
cherwerk, bei dem ein informationszerstörendes Ab- anderen Zustandsbedingungen der Anlage Bezuf
lesen stattfindet, und 15 genommen wurde. Beispielsweise kann ein Markie-
F i g. 2 das schematisch Schaltbild in Form von rungszeichen erzeugt werden, wenn die Datenverarlogischen Stufen für das Auslesen oder Einschreiben beitungsanlage einen Eingabe-Ausgabe-Befehl ausvon binärer Information in eine Binärstelle eines führt und ein Speicherabruf zur Durchführung geadressierbaren Speicherplatzes im Speicherwerk unter langt, um ein bestimmtes Steuerwort aus einer Mehr-Berücksichtigung der erforderlichen Schaltungsmodi- 20 zahl von gespeicherten Steuerworten zu erhalten. Bei fikationen für die betreffende Binärstelle, wenn die der Beendigung des Tests liegt dann ein Kriterium vorliegende Erfindung praktiziert wird. dafür vor, welche Steuerworte mindestens einmal
Das in den Figuren dargestellte bevorzugte Aus- benutzt worden sind.
führungsbeispiel der Erfindung umfaßt ein Speicher- Die F i g. 1 zeigt schematisch die gegenseitigen werk mit einer Vielzahl von Speicherplätzen, wobei as Verbindungen der größeren Schaltkomponenten des jeder einzelne Speicherplatz wahlfrei adressierbar ist. Speicherwerks, wie es in einem Datenverarbeitungs-Bei Angabe der entsprechenden Adresse kann in den system zur Anwendung kommt. Die bevorzugte Ausdadurch gekennzeichneten Speicherplatz ein Informa- führungsform der vorliegenden Erfindung gelangt bei tionswort eingeschrieben werden, oder es kann ein an einem Speicherwerk zur Anwendung, das einen dreidem betreffenden Speicherplatz gespeichertes Infor- 30 dimensionalen Magnetkernmatrixspeicher umfaßt, mationswort aus dem Speicherwerk ausgelesen wer- Derartige Magnetkernmatrixspeicher sind dem Fachden. Jeder Speicherplatz umfaßt eine Mehrzahl digi- mann an sich bekannt, und es erscheint nicht nottaler Ziffernstellen, vorzugsweise Binärstellen, und in wendig, hier auf weitere Details eines solchen Speijeder Binär stelle können entweder die Binärwerte »1« chers einzugehen. Wünscht man jedoch weitere Ein- oder »0« stehen. Die hier betrachtete Ausführungs- 35 zelheiten kennenzulernen, so sei auf das amerikaniform ist in ihrem logischen Entwurf so ausgelegt, daß sehe Patent 3 058 659 verwiesen, das eine detaillierte jeder Speicherplatz eine Kapazität von 36 Binärstellen Beschreibung des Aufbaues, der Verbindungen, der plus einer 37. Binärstelle aufweist. Bei der genannten Steuerung und der Taktgebung eines solchen Masiebenunddreißigsten Binärstelle handelt es sich um gnetkernspeichers enthält. Ein Magnetkernmatrixeine zusätzliche Bitposition, die beispielsweise für den 40 speicher der genannten Art arbeitet in einem Zwei-Zweck der vorliegenden Erfindung vorgesehen sein Zyklus-Lese-Schreib-Modus. Die erste Hälfte eines kann, oder man kann sie auch als eine Paritätsbit- kompletten Zyklus besteht im Auslesen der binären stelle während der normalen Arbeitsweise eines Digi- Information aus demjenigen Speicherplatz, der durch talrechners verwenden. Handelt es sich bei der sie- ein Adressenregister 11 ausgewählt wird, wobei diebenunddreißigsten Binärstelle um die Stelle für das 45 ser Schritt stattfindet, unabhängig davon, ob Informa-Paritätsbit, so wird in diese Stelle eine »1« oder »0« tion nun tatsächlich ausgelesen und in die zentraJe eingeschrieben, in Abhängigkeit davon, ob die An- Verarbeitungseinheit überführt werden soll, oder ob zahl der »1« in den restlichen sechsunddreißig Binär- von der zentralen Verarbeitungseinheit bereitstellen der gespeicherten Information ungeradzahlig gestellte Informationsdaten in den betreffenden Speioder geradzahlig ist. Wie im weiteren Verlauf der 50 cherplatz eingeschrieben werden sollen. Im Anschluß Beschreibung noch ausführlich erläutert werden wird, an das Auslesen der Information aus dem adressierbesteht die Möglichkeit der Ausnutzung der Paritäts- ten Speicherplatz schließt sich die zweite Hälfte des bitstelle jedes Speicherplatzes beim Betrieb der Speicherzyklus an, während der die bereitgestellte Rechenanlage in einem speziellen Testmodus zum Information in den adressierten Speicherplatz einge-Einsetzen eines Markierungszeichens jedesmal dann, 55 schrieben wird. Wenn der Anruf des Speicherwerks wenn auf das Speicherwerk zurückgegriffen wird, erfolgt, um Information aus dem Speicher auszulesen um einen Programmbefehl aus einem Speicherplatz und diese Information in die zentrale Verarbeitungsabzurufen und diesen in die zentrale Steuereinheit zu einheit zu überführen, so wird die ausgelesene Inforüberführen, wo der Programmbefehl dekodiert wird mation in den gleichen durch die Adresse definierten und die bei der Dekodierung erhaltenen Steuersignale 60 Speicherplatz wieder eingeschrieben (regeneriert), um eine bestimmte Operation zur Durchführung bringen. sie im Speicherwerk auch weiterhin zur Verfügung Die Adressierung und das Auslesen eines Befehls- zu haben. Wenn der Aufruf des Speichers zu dem Wortes aus dem Speicherwerk unterscheidet sich von Zweck erfolgt, um neue Information in einen beallan anderen Rückgriffen auf das Speicherwerk stimmten adressierten Speicherplatz einzuschreiben, iurch die Zustandslage eines in der zentralen Verar- 65 so wird die in der ersten Hälfte des Speicherzyklus beitungseinheit befindlichen Triggers, der die Befehls- aus dem adressierten Speicherplatz ausgelesene Inforibrufoperation anzeigt. Ein Markierungszeichen, das mation während des anschließenden Schreibzyklus jedesmal dann, wenn ein Befehlsabrufzyklus einge- nicht regeneriert, vielmehr wi/d dann die neue Infor-
rnation in den durch die Adresse bestimmten Speicherplaiz eingeschrieben.
Der Magnetkernspeicher dient auch zur Speicherung der Programmbefehle, die mit Hilfe eines Programmtests geprüft werden sollen. Darüber hinaus sollen Markierimgszeichen für alle diejenigen Befehle bereitgestellt werden, die tatsächlich zur Ausführung gelangt sind. Ein anderer Teil des Speichers llient zur Speicherung von Daten und rechnerischen Zwischenergebnissen, die sich bei der durch das Programm bewirkten Datenmanipulation ergeben. In tinem weiteren Teil des Speichers befindet sich lchließlich noch eine Serie von Programmbefehlcn. Ulic dazu dienen, das durchzuführende Testprogramm Iu steuern.
Dcfiriitionsgemäß soll in der folgenden Beschreibung unter dem Binänvert »1« und M)« Information Verstanden werden, die sich im Vorhandensein oder in der Abwesenheit entsprechender Impulse äußert oder im Falle von stabilen Spp.inungsniveaus im Vorliandensein einer positiven bzw. negativen Spannung. Gcmuli der logischen Struktur des Digitalrechners beuteln ein Informationswort aus sechsunddreißig Binärstellen, die alle gleichzeitig registriert oder übertragen werden, d. h.. die Verarbeitung aller Informationsbits eines Wortes erfolgt parallel. (Die Zahlen 36 bzw 37. die in Fig. 1 den Sammelleitungen zugeordnet sind, bedeuten die Anzahl der parallel übertragenen Bits.) Eine siebenunddreißigste Binärstelle, sofern auf eine solche hingewiesen ist. soll als eine Paritätsbitstelle betrachtet werden oder, in Übereinstimmung mit der vorliegenden Erfindung, eine speziell vorgesehene Ziffern- oder Binärstelle darstellen. in die ein Markierungszeichen oder Markierungsbit während der Durchführung des Testprogramms einceschrieben werden kann.
Eine allgemeine Erörterung darüber, wie die Information in das Speicherwerk eingeschrieben bzw. aus diesem ausgelesen und in die zentrale Verarbeitungscinheit überführt wird, läßt sich am besten unter Hinweis auf Fig. 1 durchführen. Den Speicher 10 kann man als ein wahlfrei adressierbares Speicherwerk betrachten, das in einer bevorzugten Ausführungsform beispielsweise eine dreidimensionale Magnetkernmatrix sein kann. Jeder einzelne Speicherplatz dieses Speichers ist in der Lage, ein Wort mit siebenunddreißig Binärstellen zu speichern. Je nach eier Größe der Speicherkapazität ist eine entsprechend große Anzahl von durch Adressierung zugänglichen Speicherplätzen im Speicherwerk vorge- 5^ seilen. Der Zugriff zu diesen Speicherplätzen erfolgt über das Adressenregister 11. in das jeweils die entsprechende, aus mehreren Binärstellcn bestehende Adresse eingeschrieben wird. Ob das Einschreiben Von Information in den Speicher oder das Auslesen von Information aus dem Speicher durchgeführt Ivcrdcn soll, die Operationssequenz ist immer dieselbe, und zwar wird zunächst aus dem adressierten Speicherplatz das dort gespeicherte Wort informafionszerstörend ausgelesen, und daran schließt sich tlas Einschreiben eines Wortes in diesen adressierten Speicherplatz an, wobei in diesem Operationsschritt entweder eine Informationsregeneration oder das Einschreiben einer vollständig neuen Information stattfindet. Während des Auslesezyklus treten die Leseverstärker 12 in Tätigkeit, von denen siebenunddreißig Stück vorhanden sind und die die von den siebenunddreißig Bitstellcn des Wortes herrührenden Leseimpulse verstärken und weiterleiten. Die ausgelcseno Information wird auf der Sammelschiene 13 einem UND-Gatter 14 zugeführt. Dieses UND-Gatter hat die Funktion eines Schalttores. Da auf der Sammclschiene 13 insgesamt siebenunddreißig Bits parallel übertragen werden, so muß für jedes Bit ein UND-Gatter 14 vorgesehen werden. Diese siebenunddreißig einzelnen UND-Gatter 14 sind parallel angeordnet und werden auch in ihrer Betriebsweise parallel betätigt. Da es sich bei dem Auslesen der Information aus dem adressierten Speicherplatz um ein infomiationsze-störendes Ablesen handelt, so muß man für den Fall, daß man die gespeicherte Information nicht zu verlieren wünscht, im darauffolgenden Schreibzyklus eine Regeneration der ausgelescncn Information vornehmen. Wenn es sich bei dem durchgeführten Speicherzugriff darum handelt, Daten- oder Befehlswortc der zentralen Verarbeitungseinheit zuzuführen, so wird eine Steuerleitung 15 aktiviert, so daß die parallelen Bits dutch das Schalttor 14 liindurchtreten. Sie gelangen dann zu dem ODER-Gatter 16, von dem ebenfalls wieder für jedes parallel übertragene Bit ein eigenes Gatter vorhanden ist. Die Bits gelangen schließlich in das Speicherregisler 17. Bei einem UND-Gatter oder Schalttor besteht bekanntlich die Bedingung, daß ein Ausgangssignal nur dann auftritt, wenn alle Eingänge des UND-Gatters oder Schalttores aktiviert sind. Bei einem ODER-Gatter hingegen erscheint bereits ein Signal am Ausgang, wenn mindestens ein Eingang des ODER-Gatters aktiviert ist. Soll die aus dem Speicherwerk 10 ausgelcsenc Information in die zentrale Verarbeitungseinheit überführt und außerdem am adressierten Speicherplatz erhalten bleiben, so wird im nächsten Schreibzjklus die Information regeneriert, d.h.. die Treiber 18 werden entsprechend dem Inhalt des Speicherregisters 17 aktiviert, so daß an den adressierten Speicherplatz im Speicherwerk 10 die vorher darin enthalten gewesene Information wieder eingeschrieben, d. h. regeneriert wird. Gleichzeitig wird der Inhalt des Speicherregisters 17 durch die Schalttore 19. von denen ebenfalls wieder siebenunddreißig Stück in einer parallelen Anordnung vorhanden sind, einem zentralen Speicherregister 21 zugeführt. Die Datenübermittlung durch das Schalttor 19 erfolgt dann, wenn die Steuerleitung 20 aktiviert ist. Die von der zentralen Verarbeitungseinheit benötigte Information wird aus dem zentralen Speicherregister 21 über eine Sammelleitung 22 ausgelesen und in entsprechende Register der zentralen Vcrarbeituiiaseinheit überführt.
In einer bevorzugten Ausführungsform der Erfindun« wird normalerweise eine siebenunddreißigste Binärstelle zur Aufnahme des Paritätsbits vorgesehen Wenn die Information aus dem Speicherwerk 10 zui Weiterleitung an die zentrale Verarbeitungseinhei ausgelesen wird, so wird die vom zentralen Speicher register 21 aufgenommne Information einer Paritätsprüfung unterzogen, bevor die Weiterleitung diese Information über die Sammelleitung 22 in die weite ren Register der zentralen Verarbeitungseinheit er folgt. Die Paritätsprüfung wird mit Hilfe einer Pari tätsprüfschaltung 23 durchgeführt, die zu dei vorhandenen sechsunddreißig Informationsbits eii Paritätsbit ermittelt und dieses separat ermittelti Paritätsbit mit dem in der siebenunddreißigstei Binärstelle stehenden Paritätsbit vergleicht, worauf hin eine Anzeige erfolgt, ob zwischen den beidei
109 551/38
Paritätsbits Gleichheit oder Ungleichheit besteht; stimmen die beiden Paritätsbits nicht überein, so erfolgt die Anzeige eines Fehlersignals.
Wenn in einem bestimmten Speicherplatz des Speicherwerks 10 neue Information eingeschrieben werden soll- so wird die Adresse dieses betreffenden Speicherplatzes in das Adressen register Il eingesetzt. Die einzuschreibende Information wird dem zentralen Speicherregister 211 über die Sammelleitung 22 iugeführt. Die über die Sammelleitung 22 zugeführte Information besteht aus sechsunddreißig parallelen feits. Diese sechsundreißig parallelen Bits werden aus <lem zentralen Speicherregister 21 über eine Sammelleitung 24 einer Schaltung 25 zur Erzeugung des faritätsbits zugeführt. Das in der Schaltung 25 erteugte Paritätsbit wird der einzuschreibenden Information als siebenunddreißigstes Bit beigefügt. Erfolgt fiiin ein SpeicherzugnfF mit dem Zweck des Einlchreibens der neuen Information, so wird die Leitung Ϊ7 aktiviert, durch die die Schalttore 28, von denen ebenfalls wieder siebenunddreißig Stück in paralleler Anordnung vorhanden sind, in einen Bereitschaftstustand versetzt werden. Bei einem Einschreibezyklus V ird also entweder die Leitung 15 oder die Leitung 27 aktiviert in Abhängigkeit davon, ob die Information regeneriert oder ob neue Information in den adressierten Speicherplatz des Speicherwerks 10 eingeschrieben werden soll. Die über die Sammelleitung 24 Übertragenen sechsunc dreißig Datenbits und das in der Schaltung 25 erzeugte und auf der Leitung 26 übertragene Paritätsbii werden durch die Schalttore 28 den zweiten Eingängen der ODER-Gatter 16 zugeführt, von wo sie in das Speicherregister 17 gelangen. Jetzt steht in dem Speicherregister 17 die einzuschreibende neue Information. In Übereinstimmung mit dem bereits beschriebenen Regenerationszyklus wird auch für den Fall der einzuschreibenden neuen Information die Aktivierung der Treiber 18 in Abhängigkeit vom Inhalt des Speicherregisters 17 erfolgen. Über die Treiber 18 wird also der Inhalt des Spdeherregisters 17 in den adressierten Speicherplatz des Speicherwerks 10 eingeschrieben. Es werden insgesamt 37 Bits parallel eingeschrieben, nämlich sechsunddreißig Datenbits und das aus den sechsunddreißig Datenbits ermittelte Paritätsbit. Die Adresse des Speicherplatzes, in die die neue Information eingeschrieben wird, steht im Adressenlegister 11.
Fig. 2 zeigt die schematische Schaltungsdarstellung für die zur Durchführung der vorliegenden Erfindung erforderliche Logik, nämlich eine Schaltungsanordnung, die es ermöglicht, eine vorbestimmte Binärstelle aller Speicherplätze ursprünglich in den Zustand »Ο« zu versetzen, d. h. vor Beginn der Durchführung des Prüfprogrammes in diese betreffende Binärstelle aller Speicherplätze den gleichen Binärwort »()■·< einzuschreiben. Die Schaltung ermöglicht anschließend das Einschreiben eines Binärwerts l·!'· in die betreffende Binärstelle immer dann, wenn aus dem Speicherplatz das Befehlswort abgeiui'en Wird zum Zwecke der Ausführung di.scs Befehls bei der Prüfung des Programms. Wie bereits erwähnt, kann als Markierungsstein eine zusätzliche vorbettimmte Binärstelle des Befehlswortes benutzt werden. Venn speziell ein Verarbeitungssystem für die Prüfung von Programmen entworfen wird. Man kann Jedoch auch in einer anderen bevorzugten Ausführuncsform die Durchführung eines Prüfprogramms mit einer Datenverarbeitungsanlage durch eine spezielle Maschinenbedingung kenntlich machen, die entweder durch die Bedienungsperson oder durch das Überwachungsprogramm eingestellt wird, wodurch die normale Betriebsweise der Erzeugung von Paritätsbits inhibiert wird, so daß es möglich ist, die Paritätsbitstelle in allen Speicherplätzen fürTestmarkierungszwecke zu benutzen, und zwar in der Weise, daß in diejenigen Speicherplätze an die Stelle des Prioritätsbits ein Markierungszeichen dann eingeschrieben wird, wenn im Verlauf der Prüfung dts Programms der an diesem betreffenden Speicherplatz gespeicherte Befehl zur Durchführung einer Operation aufgerufen wurde.
Das logische Schaltungsdiagramm von Fig. 2 repräsentiert lediglich eine Binärstelle der entsprechenden Schaltkomponenten, die teilweise auch in Fig. 1 vorkommen: einander entsprechende Schaltelemente sind durch übereinstimmende Bezugszeichen bezeichnet. Die eine herausgegriffene Binärstellenposition. auf die sich Fig. 2 bezieht, ist in dem hier beschriebenen bevorzugten Ausführungsbeispiel die siebenunddreißigste Binärstellenposition, d. h. diejenige Binärstelle, die normalerweise dem Paritätsbit zugcordnet ist. Übereinstimmend finden sich in den Fig. 1 und 2 die folgenden elektrischen Schaltuncskomponenten und -elemente: Schalttor 14. Steuerleitung 15, Leseverstärker-Ausgangsleitung 13. Schalttor 28. Steuerleitung 27, Paritätsbitleitung 26. ODER-Gatter 16, Schalttor 19. Steuerleitung 20, Treiber 18 und Speicherregister 17. (Das zuletzt genannte Speicherregister 17 besteht in F i g. 2 eigentlich aus dem Ausgang des ODER-Gatters 16. das an ein UND-Gatter 29 rückgekoppelt ist. Soll die über die Ausgangsleitung des ODER-Gatters 16 übermittelte Information in der Art eines Selbsthaltekreises festgehalten werden, so wird die Steuerleitung 3° des UND-Gatters
29 aktiviert. Liefert das ODER-Gatter 16 einen positiven Ausgangswert als Antwort auf ein empfangenes positives Eingangssignal, so wird das UND-Gatter 29 ein positives Signal an den unteren Eingang des ODER-Gatters 16 liefern, solange die Steuerleitunc
30 aktiviert ist. Der Umlaufzyklus in dem beschriebenen Haltekreis wird unterbrochen, wenn die Leitung 30 von dem positiven Potentialniveau, das sie in ihrem aktivierten Zustand aufweist, auf ein negatives Potentialniveau zurückgeschaltet wird.)
Wenn man die Paritätsbilstclle als Markierunesposition auszunützen wünscht, so sind zusätzlich zi der üblichen Schaltkreislogik noch ein ODER-Gattei
31 und ein UND-Gatter 32 vorhanden. Bei der Ausnutzung der Paritätsbitstelle für die erwähnten Markierungszwecke bei der Prüfung von Prosrammen is es notwendig, den Maschinenzustand entsprechenc zu kennzeichnen, d. h.. es muß in geeigneter Weise ein Kennzeichnungssignal vorhanden sein, das an zeigt, ob sich die Datenverarbeitungsanlage in einen normalen Betriebszustand oder in einem Tesimodu: befindet. Dazu kann beispielsweise ein Schalter an Bedienungspult dienen, der von der Bedicnungsper son entsprechend eingestellt wird, oder man kam dazu einen besonderen Befehl heranziehen, der ii dem im Speicherwerk gespeicherten Überwachungs programm enthalten ist. Wenn der Testmodus de Datenverarbeitungsanlage angezeigt werden soll, si wird die Steuerleitung 35 al.iivicrt. d. h. mit einen positiven Potential beaufschlagt. Ist die genannt Testmodusleituns 35 aktiviert, so wird das UND
11 12
Gatter 32 in einen Bereitschaftszustand versetzt, d. h., Speicherwerk ausgelesen und in die zentrale Verarwenn auch noch die Leitung 34 aktiviert wird, so er- beitungseinheit übertragen werden muß, um anschliescheint am Ausgang des UND-Gatters 32 ein Signal. ßend diesen Befehl während des Ausführungsteiles An die Testniodusleitung 35 ist im oberen Teil der des Hauptzyklus zur Durchführung gelangen zu Fig. 2 ein Inverter 33 angeschlossen, dessen Aus- 5 lassen. Wie es beispielsweise in der obenerwähnten gang mit einem weiteren Eingang des Schalttores 28 USA.-Patentschrift 3 058 659 bereits der Fall ist, verbunden ist. Ist die Testmodusleitung 35 aktiviert, kann die Datenverarbeitungsanlage niit einer geeigne-■o erscheint am Ausgang des Inverters 33 ein Signal ten bistabilen Einrichtung, z. B. einem Trigger, aus-•0«, durch das das Schalttor 28 in seiner Funktions- gestattet sein, der immer dann ein Signal erzeugt. fveise inhibiert wird, denn in funklioncller Hinsicht io wenn die zentrale Verarbeitungseinheit sich in einem Irbeitet das Schalttor 28 wie ein UND-Gatter. Im Befehlsabrufzyklus befindet. Dieses Signal, gelegenttormalen Betriebszustand der Datenverarbeitungs- lieh auch mit I-Signal bezeichnet, wird der Steuer-Inlage ist die Testmodusleitung 35 nicht aktiviert, so leitung 34 zugeführt. Die Steuerleitung 34 wird also <laß dann am Ausgang des Inverters 33 ein Signal »1« immer dann mit einem positiven I-Signal beauftrscheint, durch das das Schalttor 28 in seinen Be- 15 schlagt, wenn durch die zentrale Verarbeitungseinheit tsitschaftszustand versetzt wird. Wird außerdem die ein Befehlswort-Abrufzyklus ausgelöst wird und zur !»feuerleitung 27 aktiviert, so wird das über die Lei- Durchführung gelangt. Wenn die beiden Leitungen hing 26 7ugeführte Paritätsbit vom Schalttor 28 über- 34 und 35 aktiviert sind. d. h.. wenn ein I-Signal und !ragen und an den oberen Eingang des ODER-Gatters ein Testmodussignal vorliegen, so ist die logische Be-16 weitergele'tet. 20 dingung pm UND-Gatter 32 erfüllt, und die Aus-Geht man zunächst davon aus, daß die Daten und gangsleitung dieses Gatters ist aktiviert, d. h.. sie tue Programmbefehle, die man zu prüfen wünscht, übermittelt ein Markierungszeichen »1«. Dieses Marfrioch nicht im Speicherwerk enthalten sind und daß kierungszeichen wird durch das ODER-Gatter 31 tier Testmodusschalter in seine spezielle »Testmo- dem Treiber 18 zugeführt, der schließlich das Ein-(dus«-Lage eingestellt worden ist, so \\"d beim Ein- 25 schreiben dieses Markierungszeichens in die sieben-Kchreiben jedes Befehls des zu prüfenden Programms unddreißigste Binärstelle des Befehlswortes bewirkt, und auch beim Einschreiben der Daten, die im Spei- Wenn sich also die Datenverarbeitungsanlage im chcrwerk 10 gespeichert werden sollen, die sieben- Testmodus befindet, so wird bei jedem Befehlswortunddreißigste Binärstelle auf einheitliche Binärwerte Abrufzyklus in die siebenunddreißigste Binärstelle »0<; eingestellt. Die Ursache für dieses einheitliche 30 des adressierten Befehlswortes ein Markierungszei-Einsetzen von »0« in die siebenunddreißigste Binär- dien »1« eingeschrieben. Wenn man also eine Unterstelle, in der sonst das Paritätsbit steht, liegt im scheidung des Betriebszustandes der Datenverarbei-Schalttor 28. das durch das Signal »0« am unteren tungsanlage in der Weise vornimmt, daß der normale Eingang sich in einem Zustand befindet, daß kein Betriebszustand vom Zustand des Testmodus unter-Paritätsbit von der Leitung 26 an den Ausgang des 35 schieden werden kann so kann man ohne weiteres Schalttores 28 hindurchgelassen wird. Wie bereits die z'isätzliche Binärstelle im Normalzustand mit früher schon einmal erwähnt wurde, kommt das den Paritätsbits belegen, während man beim Test-Signal »0« am unteren Eingang des Schalttores 28 modus auf die Paritätsbits verzichtet und statt dessen dadurch zustande, daß das auf der Leitung 35 vorlie- in die zusätzliche Binärste'le die Markierungszeichen gcnde Testmodussignal »1« im Inverter 33 komple- 40 einschreibt, die kennzeichnen sollen, welche Befehlsmentiert wird, so daß also ein Signal »0« entsteht. worte des zu prüfenden Programms bei der DurchWenn das zu prüfende Programm sich aus irgend- führung des Tests während eines I-Zyklus tatsächlich einem Grund bereits im Speicherwerk 10 befindet. aufgerufen worden ist.
wobei in den siebenunddreißigsten Binärstellcn der Nachdem mit dem zu prüfenden Programm der
Befehlsworte die entsprechenden Prioritätsbits stehen. 45 Test beendet worden ist, befinden si"'· in ^Jer sieben-
die man bei der durchzuführenden Prüfung des Pro- unddreißigsten Binärstelle nur bei denjenigen Be-
framrns jedoch nicht haben will, so kann man ein fehlsworten die Markierungzeichen »I«, die tatsäch-
lusätzliches kleines Programm bereitstellen, durch lieh während eines Befehlswort-Abrufzyklus aufgeru-
tlas erst einmal jedes Befehlswort aus dem Speichel- fen worden sind. Bei allen anderen SpeicherzugrifTs-
v.erk 10 ausgelesen und in das zentrale Speicherregi- 50 operationen außerhalb eines Befehlswort-Abrufzyklus
Steril überführt wird. Anschließend erfolgt ein suk- kann kein Markierungszeichen»l« in die betreffende
JOssives Einschreiben der Befehlsworte in den zen- Binärstelle eingeschrieben werden, da dann am UND-
tralen Speicher 10 durch das Schalttor 28. Auf diese Gaiter 32 die logische Bedingung nicht erfüllt ist. In
Weise schafft man die gleichen Bedingungen, die diesem Falle wird das Schalttor 14 in normaler Weise
auch für das Einschreiben eines neu zur Verfugung 55 arbeiten und die aus der siebenunddreißigsten Binär-
gestelltcn Programms gelten, wie sie vorhin bereits stelle entnommene >0« im Regenerationszyklus wiedci
dargelegt wurden. Befindet sich die Datcnverarbei- in die betreffende Binärstelle einschreiben. Durch da;
tungsanlage im Testmodus, so ist das Schalttor 28 in- Schalttor 14 wird auch gewährleistet, daß ein ord
hibicrl. und die Bcfchlsworte, die jetzt wieder in da·; nungsgemäß bereits in die siebenunddreißigste Binär
Speicherwerk 10 eingeschrieben werden, erhalten ein- 60 stelle eingeschriebenes Markierungszeichen »1« nich
lieitlich in der siebenunddreißigsten Binärstelle des mehr zerstört werden kann, wenn beispielsweise da
Befehlswortes das gleiche binäre Markierungszei- betreffende Befehlswort später noch einmal außerhall
chen »0«. eines T-Zyklus aufgerufen werden sollte. Dann win Wie ebenfalls bereits dargelegt wurde, umfaßt je- das bereits während eines früheren Befehlswort-Ab der Hauptzyklus eines Datenverarbcitungssystcnis 65 rufzyklus ordnungsgemäß eingespeicherte Markic
einen Befehlsabrufzyklus. auch I-Zyklus genannt. rungszeichen »1« mit Hilfe des Schalttores 14 au während dem der als nächstes von der zentralen Ver- ganz normale Weise regeneriert. Die crfinduncssie arbcitungscinhcit auszuführende Befehl aus dem mäße Schaltung stellt damit unzweideutie sicher, da
1 303 48t
jedes Befehlswort eines einem Test unterzogenen Programms mit einem Markierungszeichen »1« versehen wird, wenn es während des Tests mindestens einmal in einem Befehlswort-Abrufzyklus (I-Zyklus) aufgerufen worden ist ι nd der betreffende Befehl 5 tatsächlich zur Ausführung gelangte. In dem beschriebenen Ausführungsbeispiel ist das UND-Gatter 32 für die Erzeugung des Markierungszeichens »1« verantwortlich. Die logische Bedingung für das genannte UND-Gatter 32 wurde so angenommen, daß das Markierungszeichen >·1« dann erzeugt wird, wenn das Testmodussignal und das I-Signal gleichzeitig vorhanden sind. Der Fachmann wird leicht einsehen, daß man die logischen Bedingungen zur Erzeugung des Markierungszeichens »1« unschwer in beliebiger Weise erweitern kann, etwa dadurch, daß man das Auftreten eines Aktivierungssignals auf der Steuerleitung 34 von weiteren logischen Bedingungen der zentralen Verarbeilungseinheit oder sonstigen Maschinenzustiirideii abhängig macht. Man kann natürlieh auch noch weitere zusätzliche Binärstellen in einem Befehlswort vorsehen und in diese Stellen in Abhängigkeit von verschiedenen logischen Bedingungen entsprechend verschiedene Markierungszeichen zur Einschreibung bringen. Dadurch schafft man die Möglichkeit, während eines Testlauts für ein zu prüfendes Programm im Hinblick auf verschiedene logische Bedingungen feststellen zu können, welche Befehlsworte unter den verschiedenen logischen Bedingungen aufgerufen worden sind. Um nur ein Beispiel zu nennen, sei darauf hingewiesen, daß das auf der Steuerleitung 34 zugeführte Signal beispielsweise eine logische Kombination darstellen kann von entschlüsselten Eingangs-Ausgangs-Befehlen der zentralen Steuereinheit, verbunden mit der Bedingung des Aufrufens eines Stcuerworles.
Für den Fall, daß man für Markierungszwecke mehr als eine zusätzliche Binärslelle in einem Befehlswort vorsieht, müssen für jede einzelne zusätzliche Binärslelle logische Schaltungen vorgesehen werden, die im wesentlichen nach dem Schema der Fi g. 2 zu entwerfen sind.
Nachdem das zu prüfende Programm dem vorgesehenen Test unterworfen worden ist, benutzt man üblicherweise ein kurzes Übcrwachnngsprogramm zum sequentiellen Auslesen aller zu dem getesteten Programm gehörenden Befehlswort aus den einzelnen Speicherplätzen des Spcichcrwcrks. Die ausgelcsencn Befehlswortc werden über die Leseverstärker 12. die Sammelleitung 13, die Schalttore 14. die 5« ODER-Gattcr 16, das Speieherregistcr 17 und die Schalttorc 19 in das zentrale Speicherregister 21 übertragen (vgl. Fig. 1). Die zusätzliche Binärslelle, gegebenenfalls auch noch weitere zusätzliche Stellen, die die erwähnten Markierungszciclien enthalten, wer· den anschließend in der zentralen Verarbeitungseinheit daraufhin untersucht, ob in den betreffenden Binärstellen Markierungszeichen »1« oder »0« stehen. Das Ergebnis dieser automatisch durchgeführten Untersuchung wird in geeigneter Weise registriert, beispielsweise auf einem Datenträger, z. B. einem Magnetband, aufgezeichnet. Nach der Durchführung der Auswertung der Markierungszeichen können die einzelnen Befehlsworte wieder in das Speicherwerk an die ursprünglichen Speicherplätze zurückgeführt werden. Bei der Wiedereinspeicherung der einzelnen Befehlsworte des getesteten Programms in das Speicherwerk 10 werden die für die zusätzlichen Binärsiellen wirksamen SchaltUire 28 in ihrer Arbeitsweise unterdrückt, so daß in die zusätzlichen Binürstellcr. lauter Binärwerte *0« eingeschrieben werden, auch wenn beispielsweise vor dem Auslesen der Befehlswort in diesen Binärstellen Markierungszeichen «1 vorhanden gewesen sein sollten. Es wird also wiedei ein einheitlicher Anfangszustand geschaffen, so daß die Programmbefehle jetzt einer neuen Testserie unterworfen werden können.
Bei der Beschreibung des erfindungsgemäüen Verfahrens und der erfindungsgemäßen Anordnung zur Durchführung des Verfahrens macht man also jvmäß den obigen Ausführungen entweder von eine speziellen logischen Struktur Gebrauch, die sieh irr. wesentlichen in einer zusätzlichen Bitposition äußert. oder man bedient sich einer bereits vorhandenen Bi1.-position, die beispielsweise zum Einsetzen eines μ den Daten abhängigen Paritätsbits benutzt wird, wobei eine entsprechende Modifikation im Schaltung- aufbau durchgeführt wird, um die normalerweise dem Paritätsbit zugedachte Binärstelle zum Einschreiben von Markierungszeichen zu benutzen, die anzeiger.. daß ein bestimmter Speicherplatz aufgerufen und d;:-. darin gespeicherte Befehlswort in das Befehlsregister der zentraler. Verarbeitungseinheit überführt worder: ist und daß der betreffende Befehl zur Ausführung einer bestimmten Opt-raiionsfolge tatsächlich heran gezogen worden ist. Auf diese Weise ist es möglich., eine vorbestimmte Binärstelle zur Speicherung vor. Markierungszeichen zu benutzen und diese markierten B.Darstellen nach Beendigung des Testlauf* de-Programms zu untersuchen, auszuwerten und gegebenenfalls niederzuschreiben oder aufzuzeichnen, um ein Mittel in der Hand zu haben zur Identifizierung jedes dem Test unterworfen gewesenen Programmbefehls, der tatsächlich zur Ausführung gelangt ist. Weiterhin gibt einem die vorliegende Erfindung ein Mittel in die Hand zur Anzeige der Gesamtzahl da mindestens einmal zur Ausführung gelangten Programmbcfehlc während eines Testlaufs im Vergleich zu der Gesamtzahl der in dem getesteten Programm enthaltenen Befehle. Wenn eine Minimalzahl von Befehlen mindestens einmal während des Tests eines gespeicherten Programms ausgeführt werden muß. bevor das Programm einet anderen Entwicklungsgruppc zugestellt oder schließlich für den Kunden freigegeben wird, so gibt die vorliegende Erfindung einem ein sehr einfach zu handhabendes Mi UjI in die Hand, durch das es möglich wird, den effektiven Wirkungsgrad von einem Test unterworfenen Programmen zu messen.

Claims (3)

Patentansprüche:
1. Verfahren zur Pulling von Datenverarbeitungsprogrammen, wobei die das Programm bildenden Befehle an mit Hilfe von Adressen wahlfrei aufrufbaren Plätzen eines Speicherwerks gespeichert sind und die Befehle zur Ausführung der durch sie charakterisierten Operationen in ein Befehlsregister überführt werden und von dem Befehlsregister aus sowohl zur Verarbeitungseinheit als auch zwecks Regeneration zurück zum Speicherwerk gebracht werden, wobei jedes Befehlswort eine Paritätsbitstelle aufweist, d a -durch gekennzeichnet, daß vor der Durchführung der Pfogrammprüfung beim Einschreiben des Programms in das Speicherwerk in
«lie Paritätsbitstelle aller Befehlsworte gleiche Klarkierungszeichen (0) eingeschrieben werden und dall während der Programmprüfung jeweils j)ei Entnahme eines aufgerufenen Befehlswortes lius dem Befehlsregister (17) in die Paritätsbit-Helle des betreffenden Befehlswortes ein anderes Maikierungszeiehen (1) eingeschrieben wird, so «laß nach Beendigung der Programmprüfung festgestellt werden kann, welche Befehlsworte bei (lern Test erfaßt worden sind und welche nicht.
2. Anordnung zur Durchführung des Verfahrens nach Anspruch 1. wobei sowohl der Eingang »Is auch der Ausgang des Befehlsregisters (17) rnit dem Speicherwerk (10) verbunden sind und Wobei der Eingang des Befehlsregisters (17) feriier mit einer einzuspeichernde Information übermittelnden Torschaltung (28) und der Ausgang des Befehlsregisters (17) ferner mit einer auszuspeichernde Information weiterleitenden Torschaltung (19) verbunden sind, dadurch gekennzeichnet, daß zwecks Einführung des genannten anderen Markierungszeichens (1) der Ausgang eines Markierungszeichengenerators (32) mit dem einen Eingang eines ODER-Tores (31) verbunden ist, mit dessen anderem Eingang der der Paritätsbitstelle entsprechende Ausgang des Befehlsregisters (!7) verbunden ist, und der Markierungszeichengenerator (32) durch ein den Testmodus der Anordnung charakterisierendes Signal (35) und durch ein einen Befehlswortabrufzyklus charakterisierendes Signal (34) aktiviert wird und daß zwecks Einführung des genannten ersten Markierungszeichens (0) der der Pantätsbitstelle entsprechende Teil der einzuspeichernde Information übermittelnden Torschaltung (28) einen zusätzlichen Eingang aufwe an den der Ausgang eines mit dem Testmodi. ,signal beaufschlagten Inverters (33) angeschlossen ist, so daß der Ausgang des genannten Torschaltungsteils bei Vorliegen eines^Testmodussignals das Signal Null übermittelt.
3. Anordnung nach Anspruch 2, dadurch gekennzeichnet, daß es sich bei dem Markierungszeichengenerator (32) um ein UND-Tor handelt, dessen einem Eingang das den Testmodus charakterisierende Signal (35) und dessen anderem Eingang das den Befehlswortabrufzyklus charakterisierende Signal (34) zugefühit wird und dessen Ausgang mit dem Eingang des genannten ODER-Tores (31) verbunden ist.
Hierzu 1 Blatt Zeichnungen
DE19661303481D 1965-04-08 1966-04-07 Verfahren und anordnung zur pruefung von datenverarbeitungsprogrammen Expired DE1303481C2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US44663865A 1965-04-08 1965-04-08

Publications (2)

Publication Number Publication Date
DE1303481B true DE1303481B (de) 1971-12-16
DE1303481C2 DE1303481C2 (de) 1974-07-25

Family

ID=23773314

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19661303481D Expired DE1303481C2 (de) 1965-04-08 1966-04-07 Verfahren und anordnung zur pruefung von datenverarbeitungsprogrammen

Country Status (3)

Country Link
US (1) US3427443A (de)
DE (1) DE1303481C2 (de)
GB (1) GB1077343A (de)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3566093A (en) * 1968-03-29 1971-02-23 Honeywell Inc Diagnostic method and implementation for data processors
US3921142A (en) * 1973-09-24 1975-11-18 Texas Instruments Inc Electronic calculator chip having test input and output
JPS5378747A (en) * 1976-12-23 1978-07-12 Toshiba Corp Error display system
WO1981003078A1 (en) * 1980-04-22 1981-10-29 Relational Memory Systems Inc Relational break signal generating device
US4583198A (en) * 1981-05-06 1986-04-15 Japan Electronic Control Systems Company, Limited Computer program run-away supervisory circuit and method
DE3404782A1 (de) * 1984-02-10 1985-08-14 Nixdorf Computer Ag, 4790 Paderborn Verfahren und schaltungsanordnung zum pruefen eines programms in datenverarbeitungsanlagen
US4595981A (en) * 1984-03-05 1986-06-17 At&T Bell Laboratories Method of testing interfaces between computer program modules
EP0199009A3 (de) * 1985-02-28 1989-05-31 Kabushiki Kaisha Toshiba Ausführungsbahnmesssystem für ein Programm
DE3577760D1 (de) * 1985-12-30 1990-06-21 Ibm Deutschland Verfahren und einrichtung zur analyse von steuerprogrammen.
NL8600217A (nl) * 1986-01-30 1987-08-17 Philips Nv Dataverwerkende inrichting bevattende een geheugeninrichting voorzien van een coincidentieschakeling die in een foutherkennings- en een coincidentiemode schakelbaar is.
CA1268557A (en) * 1986-04-01 1990-05-01 Mikio Tomioka Method for displaying program executing circumstances and an apparatus using the same
US4819233A (en) * 1987-04-08 1989-04-04 Westinghouse Electric Corp. Verification of computer software
US5067073A (en) * 1988-08-02 1991-11-19 International Business Machines Corporation Embedded tracing method for identifying program executed paths
US5121489A (en) * 1988-08-02 1992-06-09 International Business Machines Corporation Tracing method for identifying program execution paths using a trace points bit map with one-to-one correspondence with embedded trace points
US5063535A (en) * 1988-11-16 1991-11-05 Xerox Corporation Programming conflict identification system for reproduction machines
GB2258063B (en) * 1991-07-26 1995-07-05 Research Machines Plc Monitoring execution of a computer program to provide profile analysis
GB2258064B (en) * 1991-07-26 1995-07-12 Research Machines Plc Monitoring execution of a computer program to provide test coverage analysis
US5613118A (en) * 1994-06-20 1997-03-18 International Business Machines Corporation Profile-based preprocessor for optimizing programs
US5790858A (en) * 1994-06-30 1998-08-04 Microsoft Corporation Method and system for selecting instrumentation points in a computer program
US5758061A (en) * 1995-12-15 1998-05-26 Plum; Thomas S. Computer software testing method and apparatus
US6381740B1 (en) 1997-09-16 2002-04-30 Microsoft Corporation Method and system for incrementally improving a program layout
US6499137B1 (en) 1998-10-02 2002-12-24 Microsoft Corporation Reversible load-time dynamic linking
US6230312B1 (en) 1998-10-02 2001-05-08 Microsoft Corporation Automatic detection of per-unit location constraints
US6381735B1 (en) 1998-10-02 2002-04-30 Microsoft Corporation Dynamic classification of sections of software
US6381628B1 (en) 1998-10-02 2002-04-30 Microsoft Corporation Summarized application profiling and quick network profiling
US6983463B1 (en) 1998-10-02 2006-01-03 Microsoft Corporation Network independent profiling of applications for automatic partitioning and distribution in a distributed computing environment
US6546553B1 (en) 1998-10-02 2003-04-08 Microsoft Corporation Service installation on a base function and provision of a pass function with a service-free base function semantic
US6988271B2 (en) * 1998-10-02 2006-01-17 Microsoft Corporation Heavyweight and lightweight instrumentation
US7039919B1 (en) * 1998-10-02 2006-05-02 Microsoft Corporation Tools and techniques for instrumenting interfaces of units of a software program
US6263491B1 (en) 1998-10-02 2001-07-17 Microsoft Corporation Heavyweight and lightweight instrumentation

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3222653A (en) * 1961-09-18 1965-12-07 Ibm Memory system for using a memory despite the presence of defective bits therein

Also Published As

Publication number Publication date
DE1303481C2 (de) 1974-07-25
GB1077343A (en) 1967-07-26
US3427443A (en) 1969-02-11

Similar Documents

Publication Publication Date Title
DE1303481B (de)
DE2629459C2 (de)
DE2645537C2 (de)
DE2442191C2 (de) Verfahren zur Fehlerortsbestimmung in einem Arbeitsspeicher und Anordnung zur Durchführung des Verfahrens
DE2048670A1 (de) Speicherwartungsanordnung fur Daten verarbeitungsanlagen
DE1524239A1 (de) Verfahren zur Lokalisierung eines Fehlers in einer Anlage mit mindestens zwei parallel arbeitenden Rechengeraeten
DE2145709B2 (de)
DE1524788C3 (de) Schaltungsanordnung zum Erkennen und zum automatischen Ersetzen von schadhaften Speicherstellen in Datenspeichern
DE1524111C3 (de) Elektronische Datenverarbeitungsanlage
DE2719291A1 (de) Datenspeichersystem
DE69533630T2 (de) Verfahren und Vorrichtung zur Schnittstellenbildung mit RAM-Speicher
DE1200578B (de) Datenverarbeitungssystem
DE2064473B2 (de) Schaltung zur Bestimmung der Adresse einer in einem Speicher einer Datenverarbeitungsanlage enthaltenden, gesuchten Information
DE1549548A1 (de) Vorrichtung zur Aktivierung eines bestimmten Befehls aus einer Vielzahl von Befehlen,die in einem Befehlsspeicher eines Rechners gespeichert sind
DE1953364A1 (de) Wahlausfuehrungsschaltung fuer programmgesteuerte Datenverarbeiter
DE1524155B2 (de) Verfahren und schaltungsanordnung zum einspeichern und oder lesen von informationen in einem speichersystem das mit mehre ren verarbeitungsei nrichtungen einer datenverarbeitungsanlage zusammenarbeitet
DE2442673C2 (de) Einrichtung zur Einfügung von Kontrolldaten in den Sprachspeicher einer Zeitvielfachvermittlungsstelle
EP0151810B1 (de) Verfahren und Schaltungsanordnung zum Prüfen eines Programms in Datenverarbeitungsanlagen
DE1296427B (de) Datenbearbeitungssystem
DE2416268C3 (de) Datenübertragungseinrichtung für eine Anlage mit wenigstens zwei zentralen Steuereinheiten, peripheren Steuereinheiten und mehreren Gruppen gesteuerter Einheiten, für Fernmelde-, insbesondere Fernsprechvermittlungsanlagen
DE1499690C2 (de) Speicherplatzansteuerungs-Anordnung
DE2242279B2 (de) Schaltungsanordnung zur Ermittlung von Fehlern in einer Speichereinheit eines programmgesteuerten Datenvermittiungssystems
DE1474380A1 (de) Matrixspeicheranordnung
DE1549582B1 (de) Anordnung zur bestimmung der niedrigstwertigen bit position
DE2010363A1 (de) Zustandsanzeige- und Speichervorrichtung in einer Datenverarbeitungsanlage

Legal Events

Date Code Title Description
E77 Valid patent as to the heymanns-index 1977
EHJ Ceased/non-payment of the annual fee