DE2145709C3 - Datenverarbeitungsanlage, in welcher Verzweigungsbefehle eine Unterbrechung laufender Programme zur Folge haben können - Google Patents

Datenverarbeitungsanlage, in welcher Verzweigungsbefehle eine Unterbrechung laufender Programme zur Folge haben können

Info

Publication number
DE2145709C3
DE2145709C3 DE2145709A DE2145709A DE2145709C3 DE 2145709 C3 DE2145709 C3 DE 2145709C3 DE 2145709 A DE2145709 A DE 2145709A DE 2145709 A DE2145709 A DE 2145709A DE 2145709 C3 DE2145709 C3 DE 2145709C3
Authority
DE
Germany
Prior art keywords
branch
memory
program
address
counter
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
Application number
DE2145709A
Other languages
English (en)
Other versions
DE2145709B2 (de
DE2145709A1 (de
Inventor
Richard Deming Moorestown N.J. Smith (V.St.A.)
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.)
RCA Corp
Original Assignee
RCA 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 RCA Corp filed Critical RCA Corp
Publication of DE2145709A1 publication Critical patent/DE2145709A1/de
Publication of DE2145709B2 publication Critical patent/DE2145709B2/de
Application granted granted Critical
Publication of DE2145709C3 publication Critical patent/DE2145709C3/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/3636Software debugging by tracing the execution of the program
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/348Circuit details, i.e. tracer hardware

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Executing Machine-Instructions (AREA)

Description

Die Erfindung betrifft eine Datenverarbeitungsanlage, in welcher Verzweigungsbefehle eine Unterbrechung laufender Programme und die Durchführung von Verzweigungen zur Folge haben können, mit einem Programmzähler zur Erzeugung von Speicheradressen für einen Speicher und mi! ci~em Befehlsre- Bekaniitc Datenverarbeitungsanlagen enthalten einen Programmzähler zur Erzeugung von Speicheradressen für einen Befehlsspeicher, aus dem nachein- ander eine Folge von Befehlen in ein Befehlsregister übertragen wird. Ferner enthalten sie ein Unterbre chungssystem, durch das ein soeben ausgeführtes Pm gramm aus einem von vielen Gründen unterbrochen werden kann. Beispielsweise können in ein?m Pro
as gramm während seiner Ausführung Befehle auftreten die bestimmte Vergleiche durchführen und bedingt ein Unterbrechungskennzeichen innerhalb des Unterbrechungssystems setzen. Der Setzzustand eines solchen Kennzeichens führt später zu einer Unterbre - chung des Programms und kann den Rechner veran lassen, ein Fehlersuchprogramm zu beginnen.
Aufgabe der Erfindung ist, eine Datenverarbeitungsanlage anzugeben, in der die bei der Durchführung der Programme vorgenommenen Verzweigun-
gen mit geringem Aufwand so registriert werden können, daß beispielsweise bei einem Programmierungsfehler dieser durch Zurückverfolgung der Programmwege leicht auffindbar ist.
Die Erfindung löst diese Aufgabe bei einer Daten-
Verarbeitungsanlage der eingangs genannten Art da durch, daß in einen Verzweigungsadreßzähler, dessen Inhalt für einen zur Speicherung der Adressen einer v. l^lbaren Anzahl von Verzweigungsbefehlen bestimmten Bereich dieses Speichers die Speicheradres- sen definiert, durch einen im Programm enthaltenen Steuerbefehl eine Anfangsspeicheradresse eingegeben wird, und daß durch eine Torschaltungsanordnung in Abhängigkeit von einem von dem Steuerbefehl gesetzten Flip-Flop bei Vorhandensein eines
Verzweigungsbefehls im Befehlsregister und im Falle einer durchzuführenden Verzweigung der Inhalt des Programmzählers zu der von der Adresse im Verzweigungsadreßzähler bestimmten Stellen im Speicher übertragen und anschließend der Inhalt des Verzwei gungsadreßzählers zur Vorbereitung der Speicherung der Adresse eines folgenden Verzweigungsbefehls erhöht wird.
Die Erfindung hat den Vorteil, daß die Adressen der jeweiligen Verzweigungsbefehle registriert wer den können, denen zufolge ein Verzweigungsweg im Programm eingeschlagen worden war. Eine aus diesen registrierten Adressen angefertigte Liste ermöglicht es, die ausgeführten Befehle des Programms zurückzuverfolgen, um den Ort zu finden, wo ein Fehler auf- trat. Es besteht auch die Möglichkeit, die registrierten Adressen zusammen und periodisch durch ein Fehlersuchprogramm auszudrücken (als Liste für die Verfolgung der ausgeführten Verzweigungen). Diese Mög-
lichkeiten stellen eine sehr nützliche Ergänzung eines Universalrechners dar, ohne die zum Ausführen eines Bcfehlsprogramms erforderliche Zeit wesenilich zu erhöhen. Die gewonnene zusätzliche Funktion und die damit verbundenen Vorteile werden lediglich durch eine geringfügige Ergänzung des Hardware-Teils des Rechners erkauft (nämlich durch ein zusätzliches Flip-Flop, einen zusätzlichen Zähler und eine mäßige Anzahl von Verknüpfungsgliedern).
In Weiterbildung der Erfindung kann es zweckmäßig ifcin, daß eine Schaltung vorgesehen ist, die über weitere Torglieder ein nur aus Bits vom Wert »1« bestehendes, als Markierung zum Auffinden der letzten registrierten Verzvtcigungsbefehlsadresse im Speicher dienendes Wort in die vom Inhalt des Verzweigungsadrcßzählers bestimmte Speicherstelle schreibt, wenn ein auszuführender Verzweigungsbefehl im Befehlsregister erscheint und nachdem der Verzweigungsadreßzähler erhöht worden ist. Diese als Anzeige für die Speicherstelle, die zu/etzt zum Speichern der Adresse eines Verzweigungsbefehls gedient hatte, verwendete Markierung kann erhalten bleiben, bis sie dadurch überschrieben wird, daß die nächstfolgende Übertragung des Programmzählerinhalts in die lauter »Einsen« enthaltende Speicherstelle stattfindet.
In Verbindung mit den Zeichnungen wird nachfolgend ein Ausführungsbeispiel der Erfindung näher erläutert. Es zeigt
F i g. 1 das Schaftschema eines Teiles einer Datenverarbeitungsanlage mit einer Anordnung mm Registrieren der Adressen von Sprungbefehlen, und
Fig. 2 einen Ablaufplan zur Erläuterung der Betriebsweise der Datenverarbeitungsanlage.
In Fi g. 1 ist ein Teil eines konventionellen Universalrechners dargestellt, an dem die Erfindung erläutert werden wird. Er enthält einen Schnellspeicher HSM mit einem Speicheradreßregister MAR und einem Speicherdatenregister MDR. Ein Programmzähler PC erzeugt der Reihe nach Speicheradressen. Die Adressen in dieser Folge werden dem Speicheradreßregister MAR zugeführt, damit der Reihe nach im Speicher HSM gespeicherte Befehle in das Speicherdatenregister AfDR eingegeben werden. Jeder Befehl innerhalb der sich ergebenden, im Speicherdalenregister MDR erzeugte.« Befehlsfoige wird zu einem Befehlsregister IR übertragen. Das Befehlsregister IR hat einen Operationskodeteil OP und einen Adreßteil ADDR. Der Inhalt des Operationsteils des Befehlsregisters IR wird einem Dekodserer D zugeführt, der eine Vielzahl individueller Ausgänge hat. Jeder dieser Ausgänge kann beispielsweise einem Befehls entsprechen. Einer der Ausgänge des Dekodierers D", nämlich der Ausgang 10 wird erregt, wenn der Befehl im Befehlsregister IR ein Sprungbefehl isi.
Der konventionelle Universalrechner enthält fernei eine Vergleichsstufe C, die über den Ausgang IC des Dekodierers aktiviert v.ird. Über Eingänge Hund 13 empfängt die Vergleichsstufe C Bedingungsvergleichsinformationen von (nicht dargestellten) Vcrknüpfungsschaltungen. Sie hat einen »Nein«-Ausgang N und einen »Ja«-Ausgang Y. Eine Verknüpfungseinheit 16 enthält Verknüpfungsglieder zum Ausführen eines Sprungbefehls. Weiterhin enthält der Rechner ein konventionelles Unterbrechungssystem 20. Das System 20 enthält ein Kennzeichenregister (in der Zeichnung nicht näher bezeichnet), dessen Bits beim Auftreten eines Fehlers oder von einem von vielen anderen Gründen zum Unterbrechen des in der Ausführung begriffenen Programms gesetzt werden können. Das Unterbrechungssystem, das beispielsweise von der in der USA.-Patentschrift 3 290 65b" beschriebenen Art sein kann, enthält ferner ein Maskenregister, das zur Steuerung der Prioritäten verschiedener Unterbrechungsgründe gesetzt werden kann. Eine Unterbrechung kann verlangt werden von (a) einem Fehlersignal auf der Leitung 22 oder (b) von einem Ausgangssignal auf der Leitung 24 von einem Maximalzählwertanzeiger 26. Der konventionelle Rechner weist ferner eine Quelle 28 für ein Maschinenwort auf, das lauter Einsen enthält.
Zusätzlich zu den oben beschriebenen konventionellen Bestandteilen enthält die Datenverarbeitungsanlage gemäß der Erfindung ein Verzweigungsregistrier-FIip-FIop (oder Verzweigungssatz-Flip-Flop) BR und einen Verzweigungsadreßzähler BAC. Das Flip BR ist mit einem Setzeingang S mit einem Ausgang 29 des Dekodierers D gekoppelt und hat einen
ao »1 «-Ausgang und einen invertierten oder »O«-Ausgang. Mit dem »1 «-Ausgang des Flip-Flops ist ein Eingang eines UND-Gliedes 30 verbunden, dessen zweiter Eingang mit dem Ausgang V der Vergleichsstufe C verbunden ist.
Fingänge eines UND-Gliedes 32 sind mit dem »(!«-Ausgang des Flip-Flops BR und mit dem Ausgang Yder Vergleichsstufe C gekoppelt. Ein weiteres UND-Glied 34 hat einen mit dem Ausgang des UND-Gliedes 30 verbundenen Eingang, während sein Ausgang an den Erhöhungseingang des Verzweigungsadreßzahlers BAC angeschlossen ist. Ein UND-Glied 36 hat einen mit dem Ausgang des Gliedes 30 gekoppelten Eingang, während sein Ausgang mit der Verknüpfungseinheit 16gekoppelt ist, die zum Ausführen von Verzweigungs- oder Sprungbefehlen dient.
Eingänge eines UND-Gliedes 38, dessen Ausgangssignal dem Zähler BAC zugeführt ist, sind mit dem Ausgang 29 des Dekodierers D bzw. mit dem Adreßteil ADDR des Befehlsregisters IR verbunden. Bei dem Glied 38 kann es sich in Wirklichkeit um einen ganzen Satz von Torschaltungen handeln, deren Anzahl gleich der Anzahl der Bits im Adreßteil des Befehlsregisters IR ist. Diese Torglieder 38 erlauben daher die Übertragung des gesamten Inhalts des Adreßteils des Befehlsregisters zum Verzweigungsadreßzähler BAC, wenn die Torglieder durch ein Signal vom Ausgang 29 des Dekodierers D aufgetastet werden.
Ein weiterer Satz von Torgliedern 40 (von denen nur eines dargestellt ist) sind so geschaltet, daß sie zur Übertragung des Inhalts des Verzweigungsadreßzahlers BAC über Leitungen 42 zum Speicheradreßregister MAR vom Ausgangssignal des Torgliedes 30
aufgetastet werden. Ein Satz von UND-Gliedern 44 wird zu einer späteren Zeit zum übertragen des Inhalts des Zählers BAC über Leitungen 46 zum Speicheradreßregister MAR aufgetastet. Das UND-Glied 44 bringt auch den Inhalt des Zählers BAC über Leitungen 47 zum Maximalzählwertanzeiger 26. Ein Satz von UND-Gliedern 48 überträgt das nur aus Einsen bestehende Wort von der Quelle 28 über Leitungen 49 zum Speicherdatenregister MDR, wenn sie vom Ausgangssignal des Gliedes 30 aufgetastet werden.
Ein Satz von UND-Gliedern 50 überträgt unter Steuerung des Ausgangssignals des Gliedes 30 den Inhalt des Programmzählers PC über Leitungen 51 zum Süeicherdatenrepister MDR.
5 J 6
Die Eletriebsweise der in Fig. 1 dargestellten Da- Wie noch gezeigt werden wird, sind diese summierten
tcnverarbeitungsanlage wird nun an Hand des Ab- Adressen die Adressen von anschließend auftrcten-
laufpianes gemäß Fi g. 2 erläutert. Es sei angenom- den Sprungbefehlen, die eine Verzweigung zur Folge
men, daß das Flip-Flop BR rückgesetzt ist und der haben.
Rechner Operationen ausgeführt hat, ohne die s Wie aus der bisherigen Beschreibung hervorgeht, Adressen der Sprungbefehle zu registrieren. Wenn bilden der Ausgang des Dekodierers D und die Torunter diesen Umständen ein Sprungbefehl im Pro- glieder 38 eine Anordnung, die vom Programm gcgramm auftritt (wie bei 60 in F i g. 2), wird vom Deko- steuert wird und dazu dient, das Flip-Flop BR zu setdierer D der Operationskodeteil des Befehles deko- zen und die Anfangsspcicheradresse in den Verzweidiert. Der Dek<-=dierer D führt über die Leitung 10 *= gungsadreßzähler BAC einzugeben, der Vergleichsstute C ein Ausgangssignal zu. Zuf Zeit Nachdem der Bedingungsbefehl in der beschriebe-In vergleicht die Vergleichsstufe C (bei 62 in Fi g. 2) ncn Weise ausgeführt worden ist, fährt die Anlage mit die an ihren Eingängen 12 und 13 erscheinenden Si- der Ausführung von Befehlen fort. Der dem Bcdingnale entsprechend dem Befehl und erzeugt entweder gungsbcfchi nächstfolgende Befehl wird also vom ein »Nein«-Sigiis! am Ausgang N oder ein »Ja«-Si- »5 Programmzähler PC geholt, und auch die im Prognal am Ausgang Y. Im »Nein«-Fall, d.h. wenn die gramm folgenden Befehle werden ausgeführt. Verzweigung nicht vorgenommen werden soll, wird Nunsei angenommen, daß das Flip-Flop BR gesetzt mit dem Signal über die Leitung 54 der Programm- und der Ver/weigungsadreßzähler BAC in der oben zähler PC erhöht (in Fig. 2 bei 64). Der Programm- beschriebenen Weise geladen worden ist. Wenn ein zähler holt dann den numerisch nächstfolgenden Be- a° Sprungbefehl auftritt (wie bei 60 in Ft g. 2), und wenn fehl im Programm, und der Rechner fährt mit der die Vergleichsslufe C" einen Vergleich durchführt (bei Ausführung des nächsten Progrp.mmbefehles fort, 62), dessen Ergebnis besagt, daß die Verzweigung ohne den Verzweigungsweg einzuschlagen. nicht vorgenommen werden soll, erfolgt in der schon
Wird andererseits von der Vergleichsstufc C am erläuterten Weise eine Erhöhung des Progratnmzäh- Ausgang Kein »Ja«-Signal erzeugt, was bedeutet, daß »5 lere PC.
der Verzweigungsweg eingeschlagen werden soll, wird Der Programmzähler holt dann den niichslfolgendieses Signal den Eingängen der UND-Glieder 30 und den Befehl und fährt mit dem Programm fort, was 32 zugeführt. Diese UND-Glieder 30 und 32 führen bedeutci, daß der Ver/weigungsweg nicht eingeschlaeinen Vergleich durch (bei 66 in Fig. 2), um zu be- gen wird und unter diesen Umständen keine den Verstimmen, ob sich das Flip-Flop BR in seinem Setz- 30 zwcigungsadrcßzähler BAC benutzenden Operitio oder Rückstcllzustand befindet. Hi-r sei angenom- nen stattfinden.
men, daß das Flip-Flop zurückgestellt ist, so daß seine Wenn statt dessen der Vergleich inMer Vergleichs
Ausgänge zu diesem Zeitpunkt -las To'glied 30 sper- stufe C (bei 62 in Fi g. 2) zu einem »Ja« Ausgangssi
ren und das T^iglied 32 auftasten. Zur Zeit I1 veian- gnal führt, der Verzweigungsweg also eingeschlps' iaß. daher das6AusgangssignaI des Ϊ orglicdes 32 die 35 werden soll, wird das Signal vom Ausgang Y den Ein
Verknupfungseinheit 16, mit der Auaiührung (68 in gangen der Torglieder 30 und 32 zugeführt. Diese Fig. 2) des Sprungbefehles fortzufahren, ohne die stellen (bei 66) den Zustand des Flip-Flops BR fest. Adresse des Sprungbefehles zu registrieren. Da das Flip-Flop, wie angenommen worden war, nun Nun sei statt dessen angenommen, daß das Pro- gesetzt ist, sperrt sein »0«-Ausgang das Torglied 32.
gramm bis zur.» Punkt fortgeschritten ist, wo ein spe- 40 während sein »1 «Ausgang das Torglied 30 auftastet
ziellei, bedingender Befehl auftri't Dieser spezielle Das Torglied 30, das Eingangssignale von der Ver
Befehl wurde vom Programmierci zu dem Zweck in glcichsslufe C unri vom Flip-Flop BR empfängt, bc-
das Programm aufgenommen, danach den Rechner nötigt zur Auftastung ferner ein Zeitgebersignal, des
zu veranlassen, die Adressen ailer Sprungbefehle zu sen Dauer vom Zeitpunkt I1 bis zum Zeitpunkt u
registrieren, die eine Verzweigung zur Folge haben. 45 währt. Das Torglied 30 liefert also auf die Ausgangs
Dieser Bedingungsbefehl ist programmäßig im Spei- leitung 31 ein Ausgangssignal, das während der Zcit-
cher HSM entnommen und vom Speicherdatenregi- dauer I, bis I5 vorhanden ist.
ster MDR dem Befehlsregister IR zugeführt worden. Zum Zeitpunkt I2 werden die Torglicder 40 von
Wenn der Operationsteil OP dieses Bedingungsbe- der Sammelschiene 31 aufgetastet, um den Inhalt des
fehles zum Dekodierer D gelangt, ruft er ein Signal 50 Verzwcigungsadreßzählers BAC über Leitungen 42
am Ausgang 29 des Dekodicrers hervor und setzt zum Speicheradreßregister MAR zu übertragen Zur
folglich das Verzweigungsregistrier-Flip-Flop BR. Zu gleichen Zeit I2 lassen die Torglieder 50, die ebenfalls
beachten ist, daß das Flip-Flop Bi? durch alle folgen- von der Sammelleitung 31 aufgetastet worden sind,
den Operationen hindurch und so lange in seinem den Inhalt des Programmzählers PC über Leitungen
Setz-Zustand verbleibt, bis die Registrierung von 55 51 zum Speicherdatenregister MDR durch. Auf diese Sprungbefehladressen unterbrochen werden soll, was Weise wird, wie in Fig. 2 bei 69 gezeigt ist, die
dadurch angezeigt werden kann, daß wieder ein Be- Adresse des Sprungbefehls vom Programmzähler PC
fehl (vom Speicher HSM) erscheint, der nach der De- zur Anfangsstelle im Speicher HSAf übertragen, wel-
kodierung das Flip-Flop zurückstellt und somit die ehe vom Anfangszählwert im Verzweigungsadreßzäh-
Aufzeichnung von Verzweigungsadressen unter- 60 ler BAC angegeben wird,
bricht. Zum Zeitpunkt I3 wird das Torglied 34 von der
Der erregte Dekodiererausgang 29 tastet auch die Sammelleitung 31 aufgetastet, um bei 70 in Fig. 2 Torglieder 38 auf, die im geöffneten Zustand eine An- den Zähler BAC zu erhöhen. Der Zähler BAC enthält fangsspeicheradresse vom Adreßteil ADDR des Be- dann die nächsfolgende Adresse im zum Speichern fehles zum Verzweigungsadreßzähler BAC übertra- 65 von Sprungbefehladressen reservierten Speicherbegen. Der Zähler BAC enthält daher nun die reich.
Anfangsadresse eines Bereiches irr Speicher HSM, Zum Zeitpunkt I4 übertragen die Torglieder 44 die
der für die Summierung der Adressen reserviert ist. erhöhte Adresse im Zähler BAC über Leitungen 46
zum Speicheradreßregister MAR. Zur gleichen Zeil /4 übertragen die Torglieder 48 das nur aus Einsen bestehende Wort von der Quelle 28 über Leitungen 49 zum Speichcrdalenrcgister MI)R. Wie in Fig. 2 bei 72 gezeigt ist, werden daher im Speicher an der Stelle, die von der erhöhten Adresse im Zähler BAC spezifiziert worden ist, lauter Einsen gespeichert. Dieser Nur-1-Inhalt dieser Spcicherslelle dient als Markierung, welche für die Verwendung durch ein Fehlersuchprogramm den Ort der letzten registrierten Sprungbefehladressc identifiziert.
Zum Zeitpunkt tA wird auch der erhöhte Inhalt des Zählers IiAC über die Torglieder 44 und Leitungen 47dem Maximalzählwertanzeiger 26zugeführt. Wenn dieser feststellt, daß die Kapazität des reservierten Bereiches im Speicher erschöpft ist, setzt er über die Leitung 24 ein entsprechendes Unterbrechungskennzeichen im Unterbrechungssystcm 20, wie in Fig. 2 bei 74 gezeigt ist. Das Unterbrechungssystem kann dann ein Programm einleiten, durch das der Inhalt des reservierten Speicherbereiches in einen größeren Speicher übertragen wird, worauf er ausgedruckt und analysiert werden kann.
Zum Zeitpunkt 7'5 ist der Adressenregislricrvorgang beendet, und das Torglied 36 veranlaßt die Verknüpfungseinheil 16, gemäß 68 in Fi g. 2 den Sprungbcfehl auszuführen und die Vom Sprungbefehl spezifizierte Befehlsadresse über Leitungen 17 dem Programmzähler PC zuzuführen.
Der Rechner fährt dann mit der Ausführung folgender Befehle in der normalen Weise fort, bis ein
so weiterer Sprungbefehl auftritt, der wieder so behandelt wird, wie oben beschrieben wurde. Der reservierte Speicherbereich wird also nacheinander mit den Adressen von Sprungbefehlen gefüllt, die entsprechende Verzweigungen zur Folge haben. Wenn zu irgend einer Zeit während des Betriebes der Anlage ein Programmfehler festgestellt wird, der ein entsprechendes Programmfehlersuchkennzeichen im Unterbrechungssystcm 20 setzt, kann das darauf folgende Fehlersuchprogramm den Inhalt des reservierten Speicherbereiches analysieren und somit die im Verlaufe des Programms eingeschlagenen Wege verfolgen und den Ort des Programmierungsfehlers auffinden.
Hierzu 1 Blatt Zeichnungen

Claims (4)

Patentansprüche:
1. Datenverarbeitungsanlage, in welcher Verzweigungsbefehle eine Unterbrechung laufender Programme und die Durchführung von Verzweigungen zur Folge haben können, mit einem Programmzähler zur Erzeugung von Speicheradressen für einen Speicher und mit einem Befehlsregister, in das aus dem Speicher nacheinander eine Folge von Befehlen übertragen wird, dadurch gekennzeichnet, daß in einen Verzweigungsadreßzähler (BAC), dessen Inhalt für einen zur Speicherung der Adressen einer wählbaren Anzahl von Verzweigungsbefehlen bestimmte;! Bereich dieses Speichers (HSM) die Speicheradressen definiert, durch einen im Programm enthaltenen Steuerbefehl eine Anfangsspeicheradresse eingegeben wird, und daß durch eine Torschaltungsanordnung in Abhängigkeit von einem von dem Steuerbefehl gesetzten Flip-Flop (BR) bei Vorhandensein eines Verzweigungsbefehls im Befehlsregister (IR) und im Falle einer durchzuführenden Verzweigung der Inhalt des Programmzählers (PC) zu der von der Adresse im Verzweigungsadreßzähler (BAC) bestimmten Stellen im Speicher (HSM) übertragen und anschließend der Inhalt des Verzweigungsadreßzählers (BAC) zur Vorbereitung der Speicherung der Adresse eines folgenden Verzweigungsbefehls erhöht wird.
2. Datenverarbeitungsanlage nach Anspruch 1, dadurch gekennzeichnet, daß eine Schaltung (28) vorgesehen ist, die über we'tere Torglieder (48) ein nur aus Bits vom Wert »1« bestehendes, als Markierung zum Auffinden der letzten registrierten Verzweigungsbefehlsadresse im Speicher (HSM) dienendes Wort in die vom Inhaii des Verzweigungsadreßzählers (BAC) bestimmte Speicherstelle schreibt, wenn ein auszuführender Verzweigungsbefehl im Befehlsregister (IR) erscheint und nachdem der Verzweigungsadreßzähler (BAC) erhöht worden ist.
3. Datenverarbeitungsanlage nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß ein Maximalzählwertanzeiger (26) vorgesehen ist, der bei Feststellung eines maximal zulässigen Zählwertes im Verzweigungsadreßzähler (BAC) ein Aus gangssignal erzeugt, das einem Programmunterbrechungssystem (20, die Auffüllung des für die Speicherung der Adressen bestimmten Bereiches des Speichers (HSM) anzeigt.
4. Datenverarbeitungsanlage nach Anspruch 3, dadurch gekennzeichnet, daß das Programmuntorbrechungssystem (20) bei Empfang des Ausgangssignals des Maximalwertanzeigers (26) ein Fehlersuchprogramm einleitet.
Rister, in das aus dem Speicher nacheinander eine Folge von Befehlen übertragen wird.
Ein Programm ist bekanntlich eine Liste von Befehlen, welche normalerweise aus entsprechenden
Stellen eines Speichers abgegriffen und der Reihe nach ausgeführt werden. Viele dieser Befehle sind Sprung- oder Verzweigungsbefehle, die danach verlangen, (a) gewisse Bedingungen zu prüfen und (b) entweder zu dem in der Reihenfolge nächsten Befehl
ίο überzugehen oder zu einem Befehl außerhalb der Reihenfolge abzuzweigen. Wenn ein Programm daraufhin untersucht wird, wo Fehler aufgetreten waren ist es zweckmäßig und in einigen Fällen zur Fehler analyse auch notwendig, die bei der Ausführung des
J5 Programms tatsächlich eingeschlagenen Wege zu ken
nen.
DE2145709A 1970-09-11 1971-09-13 Datenverarbeitungsanlage, in welcher Verzweigungsbefehle eine Unterbrechung laufender Programme zur Folge haben können Expired DE2145709C3 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US7145570A 1970-09-11 1970-09-11

Publications (3)

Publication Number Publication Date
DE2145709A1 DE2145709A1 (de) 1972-03-16
DE2145709B2 DE2145709B2 (de) 1973-10-11
DE2145709C3 true DE2145709C3 (de) 1974-05-16

Family

ID=22101435

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2145709A Expired DE2145709C3 (de) 1970-09-11 1971-09-13 Datenverarbeitungsanlage, in welcher Verzweigungsbefehle eine Unterbrechung laufender Programme zur Folge haben können

Country Status (8)

Country Link
US (1) US3673573A (de)
JP (1) JPS523702B1 (de)
AU (1) AU451985B2 (de)
CA (1) CA948783A (de)
DE (1) DE2145709C3 (de)
FR (1) FR2107553A5 (de)
GB (1) GB1356997A (de)
NL (1) NL7112494A (de)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3937938A (en) * 1974-06-19 1976-02-10 Action Communication Systems, Inc. Method and apparatus for assisting in debugging of a digital computer program
US4205370A (en) * 1975-04-16 1980-05-27 Honeywell Information Systems Inc. Trace method and apparatus for use in a data processing system
US4195339A (en) * 1977-08-04 1980-03-25 Ncr Corporation Sequential control system
JPS61264447A (ja) * 1985-05-20 1986-11-22 Hitachi Ltd 命令実行事象記録装置
US4821178A (en) * 1986-08-15 1989-04-11 International Business Machines Corporation Internal performance monitoring by event sampling
US5535331A (en) * 1987-09-04 1996-07-09 Texas Instruments Incorporated Processor condition sensing circuits, systems and methods
US5274811A (en) * 1989-06-19 1993-12-28 Digital Equipment Corporation Method for quickly acquiring and using very long traces of mixed system and user memory references
JPH03148732A (ja) * 1989-07-31 1991-06-25 Texas Instr Inc <Ti> 状態監視器を備えたデータ処理装置
JP2762829B2 (ja) * 1992-02-06 1998-06-04 日本電気株式会社 電子計算機
US5359608A (en) * 1992-11-24 1994-10-25 Amdahl Corporation Apparatus for activation and deactivation of instruction tracing through use of conditional trace field in branch instructions
GB2273184B (en) * 1992-12-05 1996-11-20 Motorola Inc A cache processor and a method for observing program flow in a cache processor
US5473754A (en) * 1993-11-23 1995-12-05 Rockwell International Corporation Branch decision encoding scheme
US5724566A (en) * 1994-01-11 1998-03-03 Texas Instruments Incorporated Pipelined data processing including interrupts
US5564028A (en) * 1994-01-11 1996-10-08 Texas Instruments Incorporated Pipelined data processing including instruction trace
US5922070A (en) * 1994-01-11 1999-07-13 Texas Instruments Incorporated Pipelined data processing including program counter recycling
GB9626367D0 (en) * 1996-12-19 1997-02-05 Sgs Thomson Microelectronics Providing an instruction trace
GB2366879B (en) 2000-09-16 2005-02-16 Ibm Tracing the execution path of a computer program
US6834365B2 (en) 2001-07-17 2004-12-21 International Business Machines Corporation Integrated real-time data tracing with low pin count output
US7464874B2 (en) * 2005-02-24 2008-12-16 Robert William Donner Method and system for transparent and secure vote tabulation
US7685467B2 (en) * 2006-04-27 2010-03-23 Texas Instruments Incorporated Data system simulated event and matrix debug of pipelined processor
JP6478562B2 (ja) 2013-11-07 2019-03-06 株式会社半導体エネルギー研究所 半導体装置
JP6393590B2 (ja) * 2013-11-22 2018-09-19 株式会社半導体エネルギー研究所 半導体装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL267514A (de) * 1960-07-25
US3570006A (en) * 1968-01-02 1971-03-09 Honeywell Inc Multiple branch technique
US3551895A (en) * 1968-01-15 1970-12-29 Ibm Look-ahead branch detection system
US3573853A (en) * 1968-12-04 1971-04-06 Texas Instruments Inc Look-ahead control for operation of program loops
US3573854A (en) * 1968-12-04 1971-04-06 Texas Instruments Inc Look-ahead control for operation of program loops
US3551659A (en) * 1969-05-05 1970-12-29 Charles O Forsythe Method for debugging computer programs

Also Published As

Publication number Publication date
NL7112494A (de) 1972-03-14
DE2145709B2 (de) 1973-10-11
AU451985B2 (en) 1974-08-22
GB1356997A (en) 1974-06-19
FR2107553A5 (de) 1972-05-05
DE2145709A1 (de) 1972-03-16
US3673573A (en) 1972-06-27
CA948783A (en) 1974-06-04
AU3270671A (en) 1973-03-01
JPS523702B1 (de) 1977-01-29

Similar Documents

Publication Publication Date Title
DE2145709C3 (de) Datenverarbeitungsanlage, in welcher Verzweigungsbefehle eine Unterbrechung laufender Programme zur Folge haben können
DE2555963C2 (de) Einrichtung zur Funktionsmodifizierung
DE1499722C2 (de) Einrichtung zur Modifizierung von Informationswörtern
DE2719253C3 (de) Schnittstellenschaltung für Datenverarbeitungsanlagen
DE2953432C1 (de) Vorrichtung zum Testen eines Mikroprogramms
DE3513834C2 (de)
DE2533403A1 (de) Datenverarbeitungssystem
DE2318069C2 (de) Mikroprogrammierte Rechenanlage mit Erweiterung von Steuerfunktionen mittels festverdrahteter logischer Matrix
DE2721319A1 (de) Einrichtung zur selbsttaetigen aenderung der prozessor/speicher-konfiguration
DE1499203B1 (de) Schaltungsanordnung zum Speicherschutz bei Datenverarbeitungsanlagen mit Simultanbetrieb
DE2754890C2 (de) Einrichtung zur Programmunterbrechung
DE1901036A1 (de) Anordnung fuer die wiederholte Ausfuehrung fehlerhaft ausgefuehrter Funktionen
DE2935906A1 (de) Mikrokomputer
DE2332971C2 (de) Mikroprogrammsteuereinrichtung
DE2336020B2 (de) Adressen-berechnungsschaltung fuer paritaetsfehler-korrekturprogramme
DE2417578A1 (de) Verfahren und vorrichtung zum beruecksichtigen der dynamischen aenderungen eines programms
DE2817073A1 (de) Adressenberechnungsanordnung
DE2811318A1 (de) Einrichtung zur uebertragung und speicherung eines teilwortes
DE1185404B (de) Fehlerermittlungsanlage
DE2657897A1 (de) Externes geraet, das die ureingabe fest gespeichert enthaelt, fuer elektronische datenverarbeitungsanlagen mit einem zentralen speicher
DE2227761B2 (de) Speichersystem
DE2245284A1 (de) Datenverarbeitungsanlage
DE2720842A1 (de) Daten-uebertragungssystem
DE1774421B1 (de) Mehrprogramm datenverarbeitungsanlage
DE1948508A1 (de) System zur fruehzeitigen Anzeige von Fehlern in Datenverarbeitungs-anlage

Legal Events

Date Code Title Description
C3 Grant after two publication steps (3rd publication)
E77 Valid patent as to the heymanns-index 1977
EHJ Ceased/non-payment of the annual fee