DE1303481C2 - Verfahren und anordnung zur pruefung von datenverarbeitungsprogrammen - Google Patents
Verfahren und anordnung zur pruefung von datenverarbeitungsprogrammenInfo
- Publication number
- DE1303481C2 DE1303481C2 DE19661303481D DE1303481DA DE1303481C2 DE 1303481 C2 DE1303481 C2 DE 1303481C2 DE 19661303481 D DE19661303481 D DE 19661303481D DE 1303481D A DE1303481D A DE 1303481DA DE 1303481 C2 DE1303481 C2 DE 1303481C2
- Authority
- DE
- Germany
- Prior art keywords
- program
- command
- gate
- input
- test
- 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.)
- Expired
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3648—Software debugging using additional hardware
Description
I 303 481
Die Erfindung betrifft ein Verfahren zur Prüfung /on Datenverarbeitungsprogrammen, wobei die das
Programm bildenden Befehle an mit Hilfe von Adressen wahlfreie aufrufbaren Plätzen eines Speicherwerkes
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.
Ferner betrifft die Erfindung eine Anordnung zur Durchführung eines derartigen Verfahrens, wobei
sowohl der Eingang als auch der Ausgang des Befehlsregisters mit dem Speicherwerk verbunden sind und
wobei der Eingang des Befehlsregisters ferner mit einer einzuspeichernde Information übermittelnden
Torschaltung und der Ausgang des Befehlsregisters ferner mi: einer auszuspeichernde Information weiterleitenden
Torschaltung verbunden sind.
Bei der Entwicklung eines neuen Digitalrechners oder wenn von einem bestehenden Rechner verlangt
wird, eine ganz bestimmte Aufgabe durchzuführen oder ein Problem zu lösen, so wird ein geordneter
Satz von Befehlen in einer ganz bestimmten Sequenz kodiert und auf diese Weise ein Programm gebildet.
Die Ausführung des Programms wird dadurch erreicht, daß man den Digitalrechner veranlaßt, verschiedene
Daten und Informationswerte in Übereinstimmung mit jedem einzelnen kodierten Befehl des
Programms in voigeschriebener Weise zu manipulieren.
Jeder Befehl ist dargestellt durch eine Mehrzahl digitaler Zeichen; in den meisten fällen sind es die
binären Werte »1« und »0«. Die Ziffer- oder Bitkombinationen werden vom Digitalrechner abgelesen
und ausgewertet, um verschiedene Manipulationen an anderen Befehls- oder Datenworten zu steuern, die
ebenfalls durch eine Mehrzahl digitaler Zeichen dargestellt sind. Die das Programm darstellende zugeordnete
Befehlssequenz wird in ein Speicherwerk eingegeben, zusammen mit den Informationsdaten, die
durch das betreffende Programm verarbeitet werden sollen. Es ist üblich, als Speicherwerk entweder einen
Magnetkernspeicher, eine Speicherscheibe oder eine Speichertrommel zu benutzen, wobei jeweils eine
große Anzahl von Speicherplätzen vorgesehen ist, die durch entsprechende Adressen bezeichnet sind, so
daß die an den betreffenden Speicherplätzen gespeicherten Informationsdaten oder Befehle aus dem
Speicherwerk abgerufen werden können bzw. daß die Daten und Befehle an die adressierten Speicherplätze
eingeschrieben werden können.
Während der Durchführung und des Ablaufes eines bestimmten Programms bedient man sich normalerweise
eines Befehlszählers zur Adressierung des Speicherwerkes, wann immer ein bestimmter Befehl
im Verlauf der Durchführung des Programms benötigt wird. Sobald man den Befehl vom Speicherwerk
erhalten hat und dieser Befehl in den Digitalrechner übertragen worden ist, wird dieser Befehl die Manipulation
von Informationsdaten innerhalb des Digitalrechners steuern oder die Adressierung eines bestimmten
Speicherplatzes in dem Speicherwerk verlangen, um Informationsdaten für die Verarbeitung
abzurufen. Jeweils nach der Ausführung eines Befehls durch den Digitalrechner wird der nächstfolgende
Befehl aus dem Speicherwerk abgerufen. Dieser nächste Befehl kann von einem nächsten sequentiellen
Speicherplatz stammen, der durch den Befehlszähler angegeben wird, oder er kann, in Abhängigkeit von
gewissen Zustandsbedingungen des Digitalrechners, auch von einem Speicherplatz im Speicherwerk abgerufen
werden, der nicht notwendigerweise der in der Sequenz nächstfolgende Speicherplatz ist. Das Schreiben
einer Befehlssequenz zur Schaffung eines Datenverarbeitungsprogramms zur Lösung eines bestimmten
Problems beginnt üblicherweise beim Program-ίο mierer, der vorausschauend die Typen von Informationen,
die bei dem betreffenden Problem benötigt werden, sowie die Schwierigkeiten oder die von den
Informationsdaten abhängigen Bedingungen, die gegebenenfalls eine Änderung in der Befehlssequenz
zrr Durchführung des gesamten Problems erforderlich machen könnten, erkennen muß.
Mit dem Erscheinen von Systemprogrammen für die Digitalrechner und Datenverarbeitungsanlagen
haben sich zahlreiche schwierige Probleme entwickelt bei der planmäßigen Versorgung der Kunden, die
Digitalrechner benutzen, mit fehlerfreien Programmen von gutem Wirkungsgrad. Bisher ist es im allgemeinen
so gewesen, daß die Programme in ziemlich willkürlicher und zufälliger Weise gewachsen sind
und in ihrem Umfang sowie an Komplexität immer mehr zugenommen haben und daß die Freigabe an
den Kunden dann erfolgte, wenn man der Meinung
war, daß das Programm vollständig sei. Jetzt, da sich die Programme zu einem sehr bedeutsamen Teil in
der gesamten Datenverarbeitungstechnik entwickelt haben, in dem Sinne nämlich, daß ein Datenverarbeitungssystem
nicht mehr an einen Kunden ausgeliefert wird, wenn die zugehörigen Programme noch nicht
vorliegen bzw. fertiggestellt sind, hat sich die Situation
drastisch gewandelt. Bei der Entwicklung eines Datenverarbeitungsprogramms als ein auszulieferndes
Produkt müssen zahlreiche unabhängige Entwicklungsgruppen an dem Programm arbeiten, wenn es
die verschiedenen Stadien der Komplettierung durchschreitet. Als das Ergebnis einer solchen verzahnten
und verschachtelten Entwicklungstätigkeit besteht das Bedürfnis nach einer Standardisierung, wonach die
Aufstellung gewisser Richtlinien möglich sein könnte, um ein geordnetes Wachstum eines Programms zuzulassen.
Diese verfahrenstechnischen Richtlinien werden benutzt, um die entsprechenden Zeitpunkte
festzulegen, an denen das Programm von einer Entwicklungsgruppe zur nächsten übergeht. Dieser Standard
für ein Programm ist das Stadium der Programmprüfung oder des Programmtests, also im Rahmen
der Entstehung eines Programms das Niveau der »Entschlackung«, d. h. der Eliminierung von dem
Programm noch anhaftenden Fehlern. Nachdem ein bestimmter Abschnitt eines Datenverarbeitungsprogramms
kodiert und bis zu einer bestimmten Stufe durch eine Gruppe getestet ist, wird er einer anderen
Gruppe übergeben, die ihn mit anderen Abschnitten kombiniert und weitere Tests durchführt. Sobald dieser
erweiterte Programmabschnitt bis zu einer gegebenen Stufe bzw. Niveau überprüft und getestet ist, so
wird er wieder mit anderen größeren Programmabschnitten oder -gruppen kombiniert; dieses Verfahren
wird in mehreren Stufen fortgesetzt. Schließlich wird dann einmal der Zustand erreicht, daß alle Programmabschnitte
kombiniert sind, so daß sie dann einem ausgedehnten Systemtest unterworfen werden
können. Wenn die diesen Test durchführende Entwicklungsgruppe feststellt, daß das Testniveau einen
I 303 481
vorbestimmten Wert erreicht hut, so wird das Programmsystem
an eine Spezinlgruppe überwiesen, die gewissermaßen die Kundenbenutzung repräsentiert.
Diese Spezialgruppe prüft nun das Programm unter besonders strengen Bedingungen, bis ein weiteres
vorherbestimmtes Prüfniveau erreicht ist; ist dieser Test bestanden, so wird das Programmiersystem endgültig
an den Kunden freigegeben.
Die Prüfung verschiedener Abschnitte eines Programms ist notwendig, um sicherzustellen, daß —
wenn ein Abschnitt eines Programms mit einer geordneten Befehlssequenz geschrieben oder kodiert
wurde — datenabhängige Änderungen in der Befehlssequenz eine bestimmte Verarbeitungsleistung tatsächlich
erzielen werden. Ein Programmtest ist 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 Programmbefelil 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 werden können.
Zahlreiche nützliche Absichten lassen sich erfüllen durch Spezifizierung eines minimalen Testniveaus,
das den Programmierern während des Stadiums der Kodierung oder Verschlüsselung und den mit (Jem
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 der1 "ersuch gemacht werden
würde, einen Systemtest bei einem Programm durchzuführen, für das alle Einzelkomponenten für einen
solchen Test noch nicht bereit sind. Obwohl 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 Aufrechterhaltung eines nur ungenügend geprüften Programms können jedenfalls
drastisch reduziert werden. Die große Anzahl von Programmierern und sonstigem Hilfspersonal
sowie die langen 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 wurden, 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 die Schaffung eines Maßstabes
zur Messung der Effektivität eines mit einem Programm durchgeführten Tests. Der Stand der Technik
kannte bisher noch keine Möglichkeit, den Wirkungsgrad eines durchgeführten Programmtests zu
i«ririi ttnl ii
Aus der Veröffentlichung »Digitale Rechenanlagen« von Speiser, 1961, S. 272/273, ist es bekannt,
sogenannte Zusätze, d, h. zusätzliche Bitstellen, in einem Befehlswort vorzusehen, deren 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 a!s Befehle angesehen werden, die im Rahmen des Programms
nicht als Befehle, sondern als Zahlen anzusehen sind. Auch ein sogenanntes »Umtaufen« solcher Zahlen
bzw. 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 erfip.dungsgemäß durch ein
Verfahren gelöst, das dadur.^ gekennzeichnet ist, daß vor der Durchführung der Programmprüfung
beim Einschreiben des Programms in das Speicherwerk in die Paritätsbitstelle 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ätsbitstelle des betreffenden Befehlswortes
ein anderes Markierungszeichen eingcschrieben wird, so daß nach Beendigung der Programmprüfung
festgestellt werden kann, welche Befehlsworte bei dem Test erfaßt worden sind und
welche nicht.
Ferner wird diese Aufgabe erfindungsgemäß durch
eine Anordnung gelöst, die dadurch gekennzeichnet ist, daß zwecks Einführung des genannten anderen
Markierungszeichens der Ausgang eines Markierungszeichengenerators mit dem einen Eingang eines
ODER-Tores verbunden ist, mit dessen anderem Ein-
4c gang der der Paritätsbitstelle entsprechende Ausgang
des Befehlsregisters verbunden ist, und der Markierungszeichengenerator durch ein den Testmodus
der Anordnung charakterisierndes Signal und durch ein einen Befehlswortabrufzyklus charakterisierendes
Signal aktiviert wird und daß zwecks Einführung des genannten ersten Markierungszeichens der der Paritätsbitstelle
entsprechende Teil der einzuspeichernde information übermittelnden Torschaltung einen zusätzlichen
Eingang aufweist, an den der Ausgang
eines mit dem Testmodussignal beaufschlagten Inverters angeschlossen ist, so daß der Ausgang des ge-.lannten
Torschallungsteils bei Vorliegen eines Testmodussignals das Signal Null übermittelt.
Durch das erfindungsgemäße Verfahren kann der prozentuale Anteil der bei einer Programmprüfung
an dem lestlauf beteiligten Befehlsworte ermittelt werden, wo™iit der Zuverlässigkeitsgrad der vorgenommenen
Prüfung erfaßt werden kann. Da die ohnehin in jedem Befehlswort enthaltene Paritätsbitstelle
dazu ausgenutzt wird, jedem benutzten Befehlswort beim Testlauf ein Markierungszeichen aufzuprägen,
ist bei dem erfindungsgemäßen Verfahren keine zusätzlijhe Bitstelle erforderlich. Bei dem erfindungsgemäßen
Prüfverfahren sind daher — abge-
sehen von der Tatsache, daß auf eine Paritätsbitprüfung der Befehlsworte verzichtet wird —■ die gleichen
Verhältnisse verwirklicht, wie sie auch während der Anwendung des Programms in der Praxis herrschen.
da die Markierungszeichen keinerlei Einfluß auf die Ausführung der markierten Befehle haben.
Die erfindungsgemäße Anordnung weist eine sehr einfache Struktur auf, so daß ohne Schwierigkeiten
und mit nur geringem Mehraufwand bereits bestehende Datenverarbeitungsanlagen zu einer erfindungsgemäßen
Anordnung modifiziert werden können.
Hin Ausführungsbeispiel der Erfindung ist in der Zeichnung dargestellt und wird im folgenden näher
beschrieben. Es zeigt
F i g. 1 das schematische Schaltbild des Informationsflusses
in einem Digitalrechner mit einem Speicherwerk, bei dem ein informationszerstörendes Ablesen
stattfindet, und
Fig. 2 das schematisch Schaltbild in Form von logischen Stufen für das Auslesen oder Einschreiben
von binärer Information in eine Binärstelle eines adressierbaren Speicherplatzes im Speicherwerk unter
Berücksichtigung der erforderlichen Schaltungsmodifikationen für die betreffende Binärstelle, wenn die
vorliegende Erfindung praktiziert wird.
Das in den Figuren dargestellte bevorzugte Ausführungsbeispiel der Erfindung umfaßt ein Speicherwerk
mit einer Vielzahl von Speicherplätzen, wobei jeder einzelne Speicherplatz wahlfrei adressierbar ist.
Bei Angabe der entsprechenden Adresse kann in den dadurch gekennzeichneten Speicherplatz ein Inforinationswort
eingeschrieben werden, oder es kann ein an dem betreffenden Speicherplatz gespeichertes Informationswort
aus dem Speicherwerk ausgelesen werden. Jeder Speicherplatz umfaßt eine Mehrzahl digitaler
Ziffernstellen, vorzugsweise Binärstellen, und in jeder Binärstelle können entweder die Binärwerte »1«
oder »0« stehen. Die hier betrachtete Ausführungsform ist in ihrem logischen Entwurf so ausgelegt, daß
jeder Speicherplatz eine Kapazität von 36 Binärstellen plus einer 37. Binärstelle aufweist. Bei der genannten
siebenunddreißigsten Binärstelle handelt es sich um eine zusätzliche Biiposition, die beispielsweise für den
Zweck der vorliegenden Erfindung vorgesehen sein kann, oder man kann sie auch als eine Paritätsbitstelle
während der normalen Arbeitsweise eines Digitalrechners verwenden. Handelt es sich bei der siebenunddreißigsten
Binärstelle um die Stelle für das Paritätsbit, so wird in diese Stelle eine »1« oder »0«
eingeschrieben, in Abhängigkeit davon, ob die Anzahl der »1« in den restlichen sechsunddreißig Binärstcllen
der gespeicherten Information ungeradzahlig oder geradzahlig ist. Wie im weiteren Verlauf der
Beschreibung nod. ausführlich erläutert werden wird, besteht die Möglichkeit der Ausnutzung der Paritätsbitstelle
jedes Speicherplatzes beim Betrieb der Rechenanlage in einem speziellen Testmodus zum
Einsetzen eines Markierungszeichens jedesmal dann, wenn auf das Speicherwerk zurückgegriffen wird,
um einen Programmbefehl aus einem Speicherplatz abzurufen und diesen in die zentrale Steuereinheit zu
überführen, wo der Programmbefehl dekodiert wird und die bei der Dekodierung erhaltenen Steuersignale
eine bestimmte Operation zur Durchführung bringen. Die Adressierung und das Auslesen eines Befehlswortes
aus dem Speicherwerk unterscheidet sich von allen anderen Rückgriffen auf das Speicherwerk
durch die Zustandslage eines in der zentralen Verarbeitungseinheit befindlichen Triggers, der die Befehlsabrufoperation
anzeigt. Ein Markierungszeichen, das jedesmal dann, wenn ein Befehlsabrufzyklus eingeleitet
wird, erzeugt wird, benutzt man zum Einsetzen einer binären »1« in die siebenunddreißigstd Binärstelle
bei all den Befehlen, die während des Programmtests abgerufen wurden.
5 Obwohl sich die nachfolgende Beschreibung auf die Markierung aller Befehle in den Speicherplätzen
bezieht, die aus dem Speicherwerk während der Befchlsabrufzyklcn abgerufen wurden, so läßt sich
grundsätzlich dieselbe Logik auch für die Markierung
ίο bestimmter Binärstcllen in den Speicherpositionen
benutzen zur Kennzeichnung solcher Speicherplätze, die während irgendeines Verarbeitungszyklus angesprochen
wurden, oder auf die unter irgendwelchen anderen Zustandsbedingungen der Anlage Bezug
genommen wurde. Beispielsweise kann ein Markierungszeichen erzeugt werden, wenn die Datenverarbeitungsanlage
einen Eingabe-Ausgabe-Befehl ausführt und ein Speicherabruf zur Durchführung gelangt,
um ein bestimmtes Steuerwort aus einer Mehr-
ao zahl von gespeicherten Steuerworten zu erhalten. Bei der Beendigung des Tests liegt dann ein Kriterium
dafür vor, welche Steuerworte mindestens einmal benutzt worden sind.
Die F i g. 1 zeigt schematisch die gegenseitigen
»5 Verbindungen der größeren Schaltkomponenten des
Speicherwerks, wie es in einem Datenverarbeitungssystem zur Anwendung kommt. Die bevorzugte Ausführungsform
der vorliegenden Erfindung gelangt bei einem Speicherwerk zur Anwendung, das einen drei-
dimensionalcn Magnetkernmatrixspeicher umfaßt. Derartige Magnetkernmatrixspeicher sind dem Fachmann
an sich bekannt, und es erscheint nicht notwendig, hier auf weitere Details eines solchen Speichers
einzugehen. Wünscht man jedoch weitere Einzelheiten kennenzulernen, so sei auf das amerikanische
Patent 3 058 659 verwiesen, das eine detaillierte Beschreibung des Aufbaues, der Verbindungen, der
Steuerung und der Taktgebung eines solchen Magnetkernspeichers enthält. Ein Magnetkernmatrix-
speicher der genannten Art arbeitet in einem Zwti-Zyklus-Lese-Schreib-Modus.
Die erste Hälfte eines kompletten Zyklus besteht im Auslesen der binären Information aus demjenigen Speicherplatz, der durch
ein Adressenregister 11 ausgewählt wird, wobei dieser Schritt stattfindet, unabhängig davon, ob Information
nun tatsächlich ausgelesen und in die zentrale Verarbeitungseinheit überführt werden soll, oder ob
von der zentralen Verarbeitungseinheit bereitgestellte Informationsdaten in den betreffenden Spei-
cherplatz eingeschrieben werden sollen. Im Abschluß an das Auslesen der Information aus dem adtessierten
Speicherplatz schließt sich die zweite Hälfte de; Speicherzyklus an, während der die bereitgestellte
Information in den adressierten Speicherplatz einge-
schrieben wird. Wenn der Anruf des Speicherwerk! erfolgt, um Information aus dem Speicher auszuleser
und diese Information in die zentrale Verarbeitungseinheit zu überführen, so wird die ausgelesene Information
in den gleichen durch die Adresse definierter Speicherplatz wieder eingeschrieben (regeneriert), urr
sie im Speicherwerk auch weiterhin zur Verfügung zu haben. Wenn der Aufruf des Speichers zu den
Zweck erfolgt, um neue Information in einen be stimmten adressierten Speicherplatz einzuschreiben
so wird die in der ersten Hälfte des Speicherzyklu; aus dem adressierten Speicherplatz ausgelesene Infor
mation während des anschließenden Schreibzyklu: nicht regeneriert, vielmehr wird dann die neue Infor
I 303 48
million πι den (lurch die Adiessc heslimmleii Sj>t i
chci plafz i-ms!L schrieben.
Der Magnetkernspeichci dient iiucli zur Speiche-Hing
der Programnihc'dile. die mil I IiIIe ti nc ^ l\<
> (.!IiIIiImIt-1S(S j-'ejiriil'l werden sullen. Daiühcr |iin;ii.is
μΊΙ-.ίι Mai kicruiieszciehcii Im alle dic-iciugcu Be-KhIe
lien ilui Mi III weiden, die tatsächlich /in Aus
iiilinnii'. gelangt sind. I.in malerei Teil des Speichers
diel, /in Speicherung ν on Daten und rechne' isclien
/w im hcncruebnisscn. -lie sieh bei dci dutch ihis I'm- ίο
guanin bewirkten Daiennianipuhlion cigeben. Ii'
einem weiteren 'feil des Spcicheis befindet sich
sclilieLllicli noch eine Serie um l'iogiammbelehlen.
ilie dii/ii dienen, das duichzulühiende Tcslprogranim
zu steuern. >5
Defimtionsgeni;iß soll in der folgenden Beschreibung
unter dem Binäiwcri ■>■ I und ■■;()« Informiition
uTsi;mden werden, die sieh im Vorhandensein oder
in der Abwesenheit einsprechender Impulse äußert oder im falle von stabilen Spannimgsniveaus im Vor- ?-■>
hiindensein einer positncn Ivw. negativen Spannung.
Gemäß der logischen Siriiklui des Digilalrcehncts besieht
ein Informaiionswori :nis scchsimddreilüg B;
darstellen, die alle gleichzeitig registriert odei iilxrhauen
werden, d. li.. die Vciaiheilung aller Inlnrmaiionsbils
eine· Wortes erfolgt parallel. (Die Zahlen 3Ci Ivw. 37. die in ϊ i u. I den Sammelleitungen zügeordnet
sind, bedeuten die Anzahl der parallel iiberlraueiicn
UiIs) [-.inc -,ieivnunddreißigstc Binärstelle.
sol'eiii auf eine solche hinsjcwieseii ist. soll als eine
l'ai-.liilsbitstellc beliaehlel werden oiler, in ('berein-■-limmung
mil der vorliegenden hrfmdimg. eine speziell
vorgesehene Zilfcrn-- oder Hiniirslelle darstellen,
in die ein Markieriingszeichen oder Markierungshit
während der Durchlührung des Festprogramms ein ...-,
geschrieben werden kann.
Mine allgemeine hrörterung darüber, wie die Information
in das Spjichuv.cik eingeschrieben Ivw. aus
diesem ausgelesen und in die zentrale Verarbeitung1--cn
-licit überfuhrt wird. Ia(U ^- i c h am besten unter .%«
ilmweis iiuf I" i i:.. I durchluhrcn. Den Speicher 10
kann man als ein wahll'rei adressierbares Speicher-·
weil betrachten, das in einer bevorzugten Ausfühlims.'siorni
beisjiielsweiie eine dreidimensionale
MaLMielkcriimiitrix sein kann. Jeder ein/eine Speicher- ir,
plai/ dieses Speichers ist in der I.agc. ein Wort mit
siebi'iiunddreißig Binarstellen /;i speichern. Je nach
der Größe der .Speicherkapa/itat ist eine entsprechend
große Anzahl \on durch Adressierung zugänglichen Speiehe;platzen im Speicherwerk vnrge- ■;,<;
■eher,. I^er /iigrilT zu diesen S[>eicheip!iit/en erfolgt
über das Adiessenreiiisier Ii. m das jeweils d.e entsprechende,
aus mehreren liinärFtellen bestellende
Adresse eingeschrieben wird. Ob das hinschreiben von Information in den Speicher ->der das .-\nslesen 3;
von Information aus dem Speicher durchgefühii
v.erdcu soll, die Opcrationssequenz ist immer dieselbe,
und /.ν. ar wild zunächst aus dem adressierten
Speicherplutz das doit iiespeicherte Wort informa-
!■''!iis/erstörend aussielc-en, und daran schließt sich ßo
das Hinschreiben eines Wortes in diesen adressierten Speicherplatz an. wobei in diesem Operationsschritt
entweder eine Informationsregeneration oder das hinschreiben einer vollständig neuen Information stattfindet.
Während des Auslesez\klus treten die Leseverstärker
12 in Tätigkeit, von denen siebenunddreißig
Stuck vorhanden sind und die die von den siebenimddreißie
Bif-telleii des Wortes herrührenden Lescimpiilse
veisläikeii und weilerleiten. Die ausgelesene
Informalion wird auf der Sammelschiene 1.1 einem t ^ND-fialter 14 zugeführt. Dieses UND-Cialter hai
die f'unklion eines Schalltoas. Da auf der Sammelschiene
13 insgesamt siebcnunddreißig Bits parallel !!beitragen werden. ,0 muß lüi jeiles Bit ein UND-Gatter
14 vorgesehen werden. Diese sicbenunddrci-L'iig
einzelnen UND-Galler 14 sind parallel angeordnet und weiden auch in ihrer Betriebsweise parallel
betäligt. Da es sich bei dem Auslesen der Information
aus dem adressierten Speicherplatz um ein inl'ormationszeistürendcs
Alllesen handelt, so muß man für den hall, daß man die gespeicherte Information nicht
zu verlieren wünscht, im darauffolgenden Schreibzyklus eine Regeneration der ausgelesenen Informalion
vornehmen. Wenn es sich bei dem durchgeführten SpeicherzugnfT darum handelt. Daten- oder
Befehlsworte der zentralen Verarbeilungseinheit zuzuführen,
so wird eine Steuerleitung 15 aktiviert, so daß die parallelen Hits durch das Schalllor 14 hindiirehlieten.
Sie gelangen dann zu dem ODh.R-Gatter 16, \·(ΐη dem ebenfalls wieder für jedes parallel übeiliagene
Bit ein eigenes Gatler vorhanden ist. Die Bils gelangen schließlich in das .Speicherregister 17.
Bei eitlem UND-Galler oder Schalltot1 besieht bekanntlich
die Bedingung, daß ein Ausgang.ssignal niu dann auftritt, wenn alle hingängc des UND-Galteis
oder Schalttores aktivier! sind. Hei einem ODhR-Gailei
hingegen erseheinl bereits ein Signal am Ausgang, wenn mindestens ein hingang des ODh.R-G.illcrs
aktiviert ist. Soll die aus dem Speicherwerk 10 auNivleseue !nform;.!ioii in die zeuiiale Verarbeilungseinlieit
überführt und außerdem am adressierten Speicherplatz erhalten bleiben, so wird im näehsien
Sehrcibzykkis die Information rcgenericü. d. h.. die
Treiber 18 werden entsprechend dem inhalt des Speichel registers 17 aktiviert, so daß an den adressieren
Speicherplatz im Speicherwerk 10 die vorbei darin enthalten gewesene Information wieder eingeschrieben,
d. h. regeneriert wird. Gleichzeitig wird der Inhalt des Speicherregisteis 17 durch die Sehalttoie
V). Non denen ebenfalls wiedet siebemmddreißie
Siück in einer parallelen Anordnung vorhanden sind,
einem zentralen Speieherregisler 21 zugeführt. Die Datenübermittlung durch das Schalttor 19 erfolgt
dann, wenn die Steuerleitung 20 aktiviert ist. Die von der zentralen Verarheitungseinheil bcnöticte Information
wird aus dem zentralen Speicherreuister 21
über eine Sammelleitung 22 ausgelesen und in entsprechende Register der zentralen Verarbcitungseinheit
überführt.
Jn einer beuiizugten Ausführungsform der Hrfindung
wird normalerweise eine siebcnunddreißigste Binäisielle zur Aufnahme des Parilätshils vorgesehen.
Wenn die Information aus dem Speicherwerk 3 0 zu; Weiterleitung an die zentrale Verarbeituncseinheit
ausgelesen wird, so wird die vom zentralen Speicherrejjster
21 aufgenomnine Informalion einer Paritätsprüfung
unterzogen, bevor die Weilerleitung dieser Information über die Sammelleitung 22 in die weiteren
Register der zentralen Verarbeilungseinheit eriolgl.
Die Paritätsprüfung wird mit Hilfe einer Paritälsprüfschaltuni;
23 durchgeführt, die zu den vorhandenen sechstmddreißig Informationsbiis ein
Parilätsbit ermittelt und dieses separat ermittelte Paritätsbit mit dem in der siebenunddreißigsten
Binärstelle stellenden Paritätsbit vergleicht, woraufhin eine Anzeige erfolgt, ob zwischen den beiden
409 ό30 3J3
I 303 481
Paritätsbits Gleiehheii (icier Ungleichheit bestellt;
stimmen die beiden Paritälsbits nicht übe rein, so erfolgt
die Anzeige eines Fehlcrsignals.
Wenn in einem bestimmten Speicherplatz des Speieherwerks !0 neue Information eingeschrieben
werden soll, so wird die Adresse dieses betreffenden Speicherplatzes in das Adressenregister 11 eingesetzt.
Die einzuschreibende Information wird dem zentralen Speichcrrogisler 21 über die Sammelleitung 22
zugeführt. Die über die Sammelleitung 22 zugeführte Information besteht aus sechsunddreißig parallelen
Bits. Diese sechsundreißig parallelen Bits werden aus dem zentralen Speicherregister 21 über eine Sammelleitung
24 einer Schaltung 25 zur Erzeugung des Faritätsbits zugeführt. Das in der Schaltung 25 erleugte
Paritiitsbit wird der einzuschreibenden Infor-Hation
als siebenunddreißigstes Bit beigefügt. Erfolgt Bun ein Speicherzugriff mit dem Zweck des Ein-•chreibens
der neuen Information, so wird die Leitung
17 aktiviert, durch die die Schalttore 28, von denen ebenfalls wieder siebenunddreißig Stück in paralleler
Anordnung vorhanden sind, in einen Bereitschaftslustand versetzt werden. Bei einem Einschreibezyklus
wird 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 sechsunddreißig Datenbits und das in
der Schaltung 25 erzeugte und auf der Leitung 26 übertragene Paritätsbit werden durch die Schalttore
18 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
ivird auch für den Fall der einzuschreibenden neuen Information die Aktivierung der Treiber 18 in Ab
liängigkeit vom Inhalt des Speicherregisters 17 erfolgen.
Über die Treiber 18 wird also der Inhalt des Speicherregisters 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 Adressenregister
11.
Fig. 2 zeigt die schematischc Schaltungsdarstellung
für die zur Durchführung der vorliegenden Erfindung erforderliche Logik, nämlich eine Schaltungsanordnung,
die es ermöglicht, eine vorbestimmte tinärsteile aller Speicherplätze ursprünglich in den
Zustand »0« zu versetzen, d. h. vor Beginn der Durchführung des Prüfprogrammes in diese betreffende
Binärstelle aller Speicherplätze den gleichen Binärwert »O< einzuschreiben. Die Schaltung ermöglicht
anschließend das Einschreiben eines Binärwerts rl« in die betreffende Binärstelle immer dann, wenn
aus dem Speicherplatz das Befehlswort abgerufen wird zum Zwecke der Ausführung dieses Befehls bei
der Prüfung des Programms. Wie bereits erwähnt, kann als Markierungsstelle eine zusätzliche vorbettimmte
Binärstelle des Befehlswortes benutzt v/erden, wenn speziell ein Verarbeitungssystem für die Prüfune
von Programmen entworfen wird. Man kann jedoch auch in einer anderen bevorzugten Ausführunasform
die Durchführungeines Prüfprogramms mit einer Datenverarbeitungsanlage durch eine spezielle
Maschinenbedingung kenntlich machen, die entweder durch die Bi.iienungsperson oder durch das Überwaclningsprogramm
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ürTcstmarkicrimgszwecke
zu benutzen, und zwar in der Weise, daß in diejenigen Speicherplätze an die Stelle des Prioritätsbits
ein Markieriings/eiehen dann eingeschrieben
wird, wenn im Verlauf der Prüfung des Programms der an diesem betreuenden Speicherplatz gespeicherte
Befehl zur Durchführung einer Operation aufgerufen wurde.
Das logische Schaltuiigsdiagramm von Fig. 2 repräsentiert
lediglich eine Binärstellc der entsprechenden Schaltkomponcnten, die teilweise auch in Fig. I
vorkommen; einander entsprechende Schaltelemente sind durch übereinstimmende Bezugszeichen bezejchnet.
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 zugeordnet ist. Übereinstimmend finden sich in den Fig.
1 und 2 die folgenden elektrischen Schaltungskomponenten und -elemente: Schalttor 14, Stcuerleitung
15, Leseverstärker-Ausgangsleitung 13, Schalttor 28, Steuerleitung 27, Paritätsbitleitung 26, ODER-Gatter
16, Schalttor 19, Steuerlcitung 20, Treiber 18 und Speicherregister 17. (Das zuletzt genannte Speicherregister
17 besteht in Fig. 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 Seibsthaltekrcises festgehalten werden, so wird die Steuerleitung 30 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 unterer Eingang des
ODER-Gatters 16 liefern, solange die Steuerleitung
30 aktiviert ist. Der Umlaufzyklus in dem beschriebenen Haltekrcis wird unterbrochen, wenn die Lci-
tung 30 von dem positiven Potentia'lniveau, das sie in ihrem aktivierten Zustand aufweist, auf ein negatives
Potentialniveau zurückgeschaltet wird.)
Wenn man die Parilätsbitstelle als Markicrungsposition
auszunützen wünscht, so sind zusätzlich zu der üblichen Schaltkrcislogik noch ein ODER-Gatter
31 und ein UND-Gatter 32 vorhanden. Bei der Ausnutzung der Parilätsbitstelle für die erwähnten Markicrungszwecke
bei der Prüfung von Programmen isi es notwendig, den Maschinenzustand entsprechen^
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^Testmodui befindet. Dazu kann beispielsweise ein Schalter arr
Bedienungspult dienen, der von der Bedienungsper son entsprechend eingestellt wird, oder man kanr
dazu einen besonderen Befehl heranziehen, der ir dem im Speicherwerk gespeicherten Überwachungs
programm enthalten ist. Wenn der Testmodus de Datenverarbeitungsanlage angezeigt werden soll, st
wird die Steuerleitung 35 aktiviert, d. h. mit einen positiven Potential beaufschlagt, ist die genannt!
Testmodusleitung 35 aktiviert, so wird das UND
•ί 2 2 5
(i;itler 32 i'i einen Bereilschaltsziistand versetzt, el. h..
wci!"i mich r-och d;<; Leitung 34 aktiviert wird, so erscheint
.im Ausgang des UND-Gatters 32 eip Signal.
An ilie Tesiinodusleitimg 33 ist im oberen Teil tier
Fig.? ein !inerter 33 eingeschlossen, dessen Ausgang
mit einem weiteren Hingang des Sehalttores 28 verbunden ist. Ist die Testmodusleitung 35 iktiviert,
Mi erscheint am Ausgang des Inverters 3.1 ein Signal
>()■', durch das das Schalllor 2K in seiner Funktionsweise
inhibiert wird, denn in funktioncllcr Hinsicht arbeitet das Sehalttor 28 wie ein UND-Gatter. Im
normalen Betriebszustand der Datenverarbeitungsanlage
ist die Tcstmoduslcitiing 35 nicht aktiviert, so
daß dann am Ausgang des Inverters 33 ein Signal »I « erscheint, durch das das Schalttor 28 in seinen Bereitschaftscustand
versetzt wird. Wird außerdem die Steiicrleitung 27 aktiviert, so wird das über die Leitung
26 zugefiihrte Paritätsbit vom Schalttor 28 übertragen und an den oberen Hingang des ODER-Gatters
16 weitergeltitet.
Geht n:an zunächst davon aus, daß die Daten und «lic Programmbcfchle, die man zu prüfen wünscht,
noch nitfit im Speicherwerk enthalten sind und daß
der Testniodusschalter in seine spezielle »Testmoilus«-I
age eingestellt worden ist, so wird beim Hinschreiben jedes Befehls des zu prüfenden Programms
und auch beim Einschreiben der Daten, die im Speicherwerk 10 gespeichert werden sollen, die siebeniinddreißigste
Binärstellc auf einheitliche Binärwerte »Ο« eingestellt. Die Ursache für dieses einheitliche
Hinsetzen von »()'< in die Hehenunddreißigstc Binärstelle,
in der sonst das Pantätsbit steht, liegt im Schalttor 28, das durch das Signal ■·()« am unteren
Eingang sich in einem Zustand befindet, daß kein Paritätsbit von der I eitiing 26 an den Ausgang des
Schalttores 28 hindurchgelassen wird. Wie bereits früher schon einmal erwähnt wurde, kommt das
Signal »0« am unteren Hingang des Schalttores 28 dadurch zustande, daß das auf der Leitung 35 vorliegende
Testmodussignal »1« im Inverter 33 komplementiert wird, so daß also ein Signal »0« entsteht.
Wenn das zu prüfende Programm sich aus irgendeinem Grund bereits im Speicherwerk 10 befindet,
wobei in den siebenunddreißigsten Binärstellen der Befehlswort die entsprechenden Prioritätsbits stehen,
die man bei der durchzuführenden Prüfung des Programms jedoch nicht haben will, so kann man ein
zusätzliches kleines Programm bereitstellen, durch das erst einmal jedes Befehlswort aus dem Speicherwerk
10 ausgelesen und in das zentrale Speicherregister 21 überführt wird. Anschließend erfolgt ein sukzessives
Einschreiben der Befehlsworte in den zentralen Speicher 10 durch das Schalttor 28. Auf diese
Weise schafft inan die gleichen Bedingungen, die
• uch für das Einschreiben eines neu zur Verfugung
gestellten Programms gelten, wie sie vorhin bereits dargelegt wurden. Befindet sich die Datenverarbeitungsanlage
im Testmodus, so ist das Schalttor 28 inhibiert, und die Befehlsworte, die jetzt wieder in das
Speicherwerk 10 eingeschrieben werden, erhalten einheitlich
in der siebenunddreißigsten Binärstelle des Befehlswortes das gleiche binäre Markierungszeichen
»0«.
Wie ebenfalls bereits dargelegt wurde, umfaßt jeder Hauptzyklus eines Datenverarbeitungssystems
einen Befehlsabrufzyklus, auch I-Zyklus genannt,
während dem der als nächstes von der zentialen Verarbeitungseinheit auszuführende Befehl aus dem
Speicherwerk ausgelesen und in tue zentrale Veraibeilungseinheit
übertragen werfen muß, um anschließend diesen Befehl während ties Ausführu:.gsteiles
des llaiiptzykhis zur Diirciiführung gelungen zu
lassen. Wie es beispielsweise in tier obenciwähiiljn
USA.-i'aientschrift 3 05« 6i9 bereits der Fall ist,
kann die Datenverarbeitungsanlage mit einer geeigneten bislabilen Hinrichtung, z. B. einem Trigger, ausgestattet
sein, tier immer dann ein Signal erzeugt,
ίο wenn tue zentrale Verarbeitungseinheit sich in einem
Befehlsabrufzyklus befindet. Dieses Signal, gel 'j-entlich
auch mit !-Signal bezeichnet, wird der Stciierleitung
34 zugeführt. Die Stcucilcilung 34 wird also
immer dann mit einem positiven I-Signal beaufstillagt,
wenn durch die zentrale Verarbeilungseinhcit ein Befehlswort-Abrufzyklus ausgelöst wird und zur
Durchführung gelangt. Wenn die beiden Leitungen 34 und 35 aktiviert sind, d. h., wenn ein I-Signal und
ein Testmodussignal vorliegen, so ist die logische Be-
2n dingung am UND-Gatter 32 erfüllt, und die Ausgangsleitung
dieses Gatters ist aktiviert, d. h.. sie übermittelt ein Markierungszeichen »1«. Dieses Markierungszeichen
wird durch das ODER-Galter 31 dem Treiber 18 zugeführt, der schließlich das Hinschreiben
dieses Markierungszeichens in die siebenunddreißigste Ii;:iärstelle des Befehlswortes bewirkt.
Wenn sich also die Datenverarbeitungsanlage im Testmodus befindet, so wird bei jedem Befehlswort-Abrufzyklus
in die siebenunddreißigste Binärstellc des adressierten Befehlswortes ein Markierungszeichen
»1" eingeschrieben. Wenn man also eine Unterscheidung des Betriebszustandes der Datenverarbeitungsanlage
in der Weise vornimmt, daß der normale Betriebszustand vom Zustand des Testmodus unterschieden
werden kann, so kann man ohne weiteres die zusätzliche Binärstellc im Normalzustand mit
den Paritätsbits belegen, während man beim Testmodus auf die Paritätsbits verzichtet und statt dessen
in die zusätzliche Binärstelle die Markierungszeichen
4" einsehreibt, die kernzeichnen sollen, welche Befchlsworte
des zu prüfenden Programms bei der Durchführung ties Tests während eines I-Zyklus tatsächlich
aufgerufen worden ist.
Nachdem mit dem zu prüfenden Programm tier Test beendet worden ist, befinden sie!1 in der siebenunddreißigsten
Binärstelle nur bei denjenigen Befehlsworten die Markierungzeichen »If, die tatsächlich
während eines Befehlswort-Abrufzyklus aufgerufen worden sind. Bei allen anderen Spcicherzugriffsoperationen
außerhalb eines Befehlswort-AbrufzyV'us kann kein Markierungszeichen» It in die betreff ;iide
Binärstelle eingeschrieben werden, da dann am LIND-Gatter 32 die logische Bedingung nicht erfüllt ist. In
diesem Falle wird das Schalttor 14 in normaler Weist arbeiten und die aus der siebenunddreißigsten Binärstelle
entnommene >s0« im Regenerationsz.yklus wiedei
in die betreffende Binärstelle einschreiben. Durch da;
Schalttor 14 wird auch gewährleistet, daß ein ord nungsgemäß bereits in die siebenunddreißigste Binäi
stelle eingeschriebenes Markierungszeichen »1« nich mehr zerstört werden kann, wenn beispielsweise da
betreffende Befehlswort später noch einmal außerhall eines I-Zyklus aufgerufen werden sollte. Dann wir«
das bereits während eines früheren Befehlswort-Ab rufzyklus ordnungsgemäß eingespeicherte Markie
rungszeichen »1« mit Hilfe des Schalttores 14 au ganz normale Weise regeneriert. Die erfindungsge
mäße Schaltung stellt damit unzweideutig sicher, da
jedes Befehlswort eines einem Test unterzogenen Programms mit einem Markierungs/eichen "I·· versehen
wird, wenn es wahrend des Tjsts mindestens
einmal in einem Befehlswoit-Abrulzykliis (!-Zyklus)
aufgerufen worden ist und der betretende Uelehl L
tatsächlich zur Ausführung gelangte, in dem beschriebenen
Ausführungsbeispiel ist das UNü-Gaiter 32 für die Erzeugung des Markierungszeichens
> 1 ■< verantwortlich. Die logische Bedingung für das genannte
UND-Gatter 32 wurde so angenommen. JaB iu
das Markierungszeiehen »1« dann erzeugt wird, wenn das Testmodussignal und das !-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 Steuer-Ieiiung34
von weiteren logischen Bedingungen liei zentralen Verarbeitungseinheit oder sonstigen Ma-
-i-hin-jn/usuiiHl·. η abhängig macht. M.in kan.i natiir- ao
lieh auch noch weitere zusätzliche Binarstellen in unen· Befehlswort vorsehen und in diese Steilen in
Abhängigkeit von verschiedenen logischen Bedingungen
entsprechend verschiedene Maikierungszeicheii
/;i: !-.inschreibung bringen. Dadurch schallt man die
Vii'giichkeit, wahrend eine·- Icsilaufs tür ein /ti prüfendes
Programm im Hinblick auf verschiedene logische
Bedingungen lesislellcn zu können, weich'·
Bi. lchlswone unter den verschiedenen logischen Bediiiüungen
aufgerufen worden sind. I m nur ein Bei- 3->
spiel /u nennen, sei darauf hingewiesen, dal.' das ;'ul
der Sieuerleitung 34 zunefiihrte Signal beispielsweise
eine logische Kombination darstellen kann von entschlüsselten EiiTjangs-Ausgangs-Betehlen tier /cn-
!rak-n Steuereinheit, verbunden mit der Bedingung
des Autrufens eines Steuerwortes.
l;ür den Fall, daß man für Markieuingszvvecke
'"chi als eine zusätzliche Binarstelle in einem Befehlswort
voisieht. müssen für jede ein/eine zusätzliche
Binärsteile logische Schaltungen vorgesehen 4<j
werden, die im wesentlichen nach dem Schema der
F i g. 2 zu entwerfen sind.
Nachdem das zu prüfende Programm dem vorgesehenen ΤιΧ unterworfen worden ist. henutzi man
üblicherweise ein kurzes l'beivvachuiisisproiii'amm
.UHi sequentiellen Auslesen alier zu dem getesteten
Programm gehörenden Befehlsworte aus den einzelnen
Speicherplätzen des Speicherweiks. Dk ausgelesenen
Befehlsworte werden über die Leseverstärker 12. die Sammelleitung 13. die Schalttore 14. die
ODER-Gaiter 16. das Speichel register 17 und die Sch;;,lt!ore 19 in this zentrale Speicherregister 21 iUieitraiien
(vgl. Fig. 1). Die zusäizliche Binärstelk. gegebenenfalls
auch noch weitere zusätzliche Stellen, die die erwähnten Nhukierungszeicheti enthalten, werden
anschließend in tier zentralen Verarheilungsemheit daraufhin untersucht, ob in den betreuenden
Biniirstelleiii Markierungszeichen ■>
I'- oder /O-- stehen.
Das Ergebnis dieser i.utomaiisch durchgeführten
Intersuchung wird in geeigneter Weise registriert.
beispielsweise auf einem Datenträger. /.. Ii. einem Magnetband, aufgezeichnet. Nach der Durcliführun:1
der Auswertung der Markicrungsz.eichen können die einzelnen Belehhworte wieder in das Speicherwerk
an die urspünglichen Speicherplätze zurückgeführt werden. Bei der Wietlereinspeicherung der einzelnen
Befehlswuirte des getesteten Programms in this Speicherwerk
K) werden die für die zusätzlichen Binäistellen
wirksamen Sehalttore 28 in ihrer Arbeitsweise unterdrückt, so daß in di: zusätzlichen Binärstellen
lauter Binärwerie AY eingeschrieben werden, auch wenn beispielsweise vor dem Auslesen der Befehlsworte
in diesen Binärstellen Markierungszeichen - I
vorhanden gewesen sein sollten. Es wird also wieder ein einheitlicher Anfangsziistand geschaffen, so daß
die Proürammbelehle jetzt einer neuen Testserie unterworfen
werden können.
Bei der Beschreibung des erfindungsgemälkn Verfahrens
und der erlindungsgemäLten Anordnung zur
Durchführung des Verfahren·, macht man also gemäß den obigen Ausführungen entweder von einer
speziellen logischen Struktur Gebrauch, die sich im
wesentlichen in einer zusätzlichen Bitposition äußert, oder man bedient sich einer bereits vorhandenen Bitposition,
die beispielsweise zum Einsetzen eines von den Daten abhängigen Paritätsbits benutzt wird, wobei
eine entsprechende Modifikation im Sehaltungsj.iiflvi.:
durchgeführt wird, um die normalerweise dem
Paritätsnit zugedachte Hmaisielle zum Einschreib·.!!
von MarkkruiiiisZciciicn zu homil/en. die anzeigen,
daß ein bestimmter Speicherplatz auigerulen und Jidann
siesp.eichcrle Befehlswort in das BeIcIlKi cgisL-r
der ZeDirakη Veraiheitungseinheii überfi'iliM vv.itden
ist und daß Je: betielicnde Befehl zur Aiisfühi ung
eine! bestimmten Opeiationsiulge tatsächlich heranüczotien
wnrtle'.i ist. Aul diese Weise ist es möglich
eine vorbc· 'in'.iiite Binärstelle zur Speicherung ν cn
Markieiuniiszeichen zu benutzen und diese markierten
Binäistelkn nach Beendigung lies Te-.thuifs i!.;s
Prosiramms zu unteisuchen, auszuwerten und gecebenenfalls
niederzuschreÜKMi oder aufzuzeichnen, um
ein Mittel in der Hand zu hallen 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 eier Gesamtzahl tlei
mindestens einmal zur Auslührung gelangten Pro nrammhefehle während eines Testlauts im Vergleich
zu der Gesamtzahl dei 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 einer alitieren Entwicklungsgruppe zugestellt oder schließlich für den Kunden
freiucücheii wird, so gibt die vorliegende Erfindung
einem ein sehr einfach zu handhabendes Mitte! in die Hand, durch das es möglich wird, den effektiven Wirkungsüiad
von einem fest unterworfenen Progiammcn zu messen.
Claims (3)
1. Verfahren zur Prüfung von Datenverarbeitungsprograminen,
wobei die das Programm bildenden Befehle an mit Hilfe von Adressen wahlfrei
aul'rufbaren Plätzen eines Speicherweiks
gespeichert sind und die Befehle zur Ausführung der durch .sie cluir<ik|c.risiertep Operationen in ein
Befehlsregister überführt werden und von dem Befehlsregister aus sowohl zur Vcrarbeilungseinheit
als auch zwecks Regeneration zurück zum Speicherwerk gebracht werden, wobei jedes Befehlswort
eine Paritätsbitstelle aufweist, dall u r c h gekennzeichnet, daß vor der
Durchführung der l'rogrammprüfung beim Einschreiben lies Programms in das Speicherwerk in
(O
die Paritätsbitstelle aller Befehlsworte gleiche Markierungszeichen (0) eingeschrieben werden
und daß während der Programmprüfung jeweils bei Entnahme eines aufgerufenen Befehlswortes
aus dem Befehlsregister (17) in die Paritätsbit- S stelle des betreffenden Befehlswortes ein anderes
Markierungszeichen (1) eingeschrieben wird, so daß nach Beendigung der Programrnprüfune festgestellt
werden kann, welche Befehlsworte bei dem Test erfaßt worden sind und welche nicht. m
2. Anordnung zur Durchführung des Verfahrens nach Anspruch 1, wobei sowohl der Eingang
als auch der Ausgang des Befehlsregisters (17) mit dem Speicherwerk (Ϊ0) verbunden sind und
wobei der Eingang des Befehlsregisters (17) ferner mit einer einzuspeichernde Information übermittelnden
Torschaltung (28) und der Ausgang des Befehlsregisters (17) ferner mit einer auszuspeichernde
Information weiterleitenden Torschaltung (19) verbunden sind, dadurch gekennleichnet,
daß zwecks Einführung des genannten anderen Markierungszeichens (1) der Ausgang eines Markieruugszeichengenerators (32) mit dem
einen Eingang eines ODER-Tores (31) verbunden ist, mit dessen anderem Fingang der der
Paritätsbitstelle entsprechende Ausgang des Befehlsregisters (17) 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 Paritätsbitstelle entsprechende Teil der einzuspeichernde
Information übermittelnden Torschaltung (28) einen zusätzlichen Eingang aufweist, an den der
Ausgang eines mit dem Testmodussignal 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ührt wird und dessen Ausgang mit dem Eingang des genannten ODER-Tores (31) verbunden ist.
Hierzu 1 Blatt Zeichnungen
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 DE1303481B (de) | 1971-12-16 |
DE1303481C2 true 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)
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 |
JPS57182858A (en) * | 1981-05-06 | 1982-11-10 | Japan Electronic Control Syst Co Ltd | Monitor circuit for program runaway in computer |
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 |
EP0228480B1 (de) * | 1985-12-30 | 1990-05-16 | Ibm Deutschland Gmbh | 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 |
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 |
US5067073A (en) * | 1988-08-02 | 1991-11-19 | International Business Machines Corporation | Embedded tracing method for identifying program executed paths |
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 |
US6381628B1 (en) | 1998-10-02 | 2002-04-30 | Microsoft Corporation | Summarized application profiling and quick network profiling |
US6263491B1 (en) | 1998-10-02 | 2001-07-17 | Microsoft Corporation | Heavyweight and lightweight instrumentation |
US6230312B1 (en) | 1998-10-02 | 2001-05-08 | Microsoft Corporation | Automatic detection of per-unit location constraints |
US6988271B2 (en) | 1998-10-02 | 2006-01-17 | Microsoft Corporation | Heavyweight and lightweight instrumentation |
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 |
US7039919B1 (en) * | 1998-10-02 | 2006-05-02 | Microsoft Corporation | Tools and techniques for instrumenting interfaces of units of a software program |
US6381735B1 (en) * | 1998-10-02 | 2002-04-30 | Microsoft Corporation | Dynamic classification of sections of software |
Family Cites Families (1)
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 |
-
1965
- 1965-04-08 US US446638A patent/US3427443A/en not_active Expired - Lifetime
-
1966
- 1966-03-11 GB GB10755/66A patent/GB1077343A/en not_active Expired
- 1966-04-07 DE DE19661303481D patent/DE1303481C2/de not_active Expired
Also Published As
Publication number | Publication date |
---|---|
GB1077343A (en) | 1967-07-26 |
US3427443A (en) | 1969-02-11 |
DE1303481B (de) | 1971-12-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE1303481C2 (de) | Verfahren und anordnung zur pruefung von datenverarbeitungsprogrammen | |
DE1114049C2 (de) | Anordnung zur einschraenkung der ansteuermoeglichkeit von matrixspeichern | |
DE2629459C2 (de) | ||
DE1524239A1 (de) | Verfahren zur Lokalisierung eines Fehlers in einer Anlage mit mindestens zwei parallel arbeitenden Rechengeraeten | |
DE1151397B (de) | Programmgesteuerte Datenverarbeitungs-anlage mit gespeicherten Unterprogrammen | |
DE2048670A1 (de) | Speicherwartungsanordnung fur Daten verarbeitungsanlagen | |
DE1424732A1 (de) | Elektronische Ziffernrechenmaschine | |
DE2210325A1 (de) | Datenverarbeitungssystem | |
DE2339636A1 (de) | Programmsteuereinrichtung | |
DE2145709B2 (de) | ||
DE1200578B (de) | Datenverarbeitungssystem | |
CH625895A5 (de) | ||
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 | |
DE1524856A1 (de) | Wortadressierbare Datenspeicher mit mehreren defekten Speicherelementen | |
DE1774421B1 (de) | Mehrprogramm datenverarbeitungsanlage | |
DE2165589A1 (de) | Anordnung zur programmgesteuerten bestimmung von fehlern in einer datenverarbeitungsanlage | |
EP0151810B1 (de) | Verfahren und Schaltungsanordnung zum Prüfen eines Programms in Datenverarbeitungsanlagen | |
DE1524211C3 (de) | Datenverarbeitungsanlage | |
EP0945799B1 (de) | Verfahren und Einrichtung zum Verhindern der Einlagerung nicht mehr aktueller Datentelegramme aus einer Datenvorverarbeitung in die Speicher eines Rechners | |
DE1449816C3 (de) | Schaltungsanordnung zur Steuerung des Zugriffs zu einem Magnettrommelspeicher | |
DE1474380A1 (de) | Matrixspeicheranordnung | |
DE1474090B2 (de) | Datenverarbeitungsanlage | |
DE2419836A1 (de) | Verfahren zur durchfuehrung von unterprogramm-sprungbefehlen in datenverarbeitungsanlagen |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E77 | Valid patent as to the heymanns-index 1977 | ||
EHJ | Ceased/non-payment of the annual fee |