DE2145709A1 - Datenverarbeitungsanlage - Google Patents
DatenverarbeitungsanlageInfo
- Publication number
- DE2145709A1 DE2145709A1 DE19712145709 DE2145709A DE2145709A1 DE 2145709 A1 DE2145709 A1 DE 2145709A1 DE 19712145709 DE19712145709 DE 19712145709 DE 2145709 A DE2145709 A DE 2145709A DE 2145709 A1 DE2145709 A1 DE 2145709A1
- Authority
- DE
- Germany
- Prior art keywords
- memory
- program
- counter
- branch
- address
- 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
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/3636—Software debugging by tracing the execution of the program
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording 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/3466—Performance evaluation by tracing or monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording 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/3466—Performance evaluation by tracing or monitoring
- G06F11/348—Circuit 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
7262-71/H
RCA 6l,54ο
US.Ser.lio. 71,455
vom II.9.I97O
RCA Corporation, New York, N.Y. , USA D at enverarb e itungaanlage
Die Erfindung betrifft eine Datenverarbeitungsanlage, welche die während der Ausführung eines Programmes vorgenommenen Verzweigungen registriert, mit einem Programmzähler, einem Speicher und einem Befehlsregister. Sie befaßt
sich also mit einem Rechner, welcher die Verfolgung ausgeführter Programmschritte durch Registrierung der Adressen
bestimmter Sprungbefehle erlaubt.
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 Sprungbefehle, 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.
Venn ein Programm daraufhin untersucht wird, wo Fehler aufgetreten waren, ist es zweckmäßig und in einigen Fällen
zur Fehleranalyse auch notwendig, die bei der Ausführung des Programmes tatsächlich eingeschlagenen Wege zu kennen.
Die Erfindung gibt daher einen Rechner an, der die Adressen der jeweiligen Sprungbefehle registriert, denen zu Folge
ein Verzweigungsweg im Programm eingeschlagen worden war. Eine aus diesen registrierten Adressen angefertigte Liste
ermöglicht es, die ausgeführten Befehle des Programms zu-
2098 12/160 1
ORIGINAL INSPSCTiD
2H570.9
rückzuverfolgen, um den Ort zu finden, wo ein Fehler auftrat.
Wie ebenfalls bekannt ist, kann ein Rechner ein Unterbrechungssystem enthalten, durch das ein soeben ausgeführtes
Programm aus einem von -vielen Gründen unterbrochen werden
kann. Beispielstreise können in einem Programm 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 Unterbrechung des Programmes und kann den Rechner
veranlassen, ein Fehlersuchprogramm zu beginnen· Sin Zweck eines bevorzugten Ausführungsbeispiels der Erfindung besteht darin, zur Verwendung in einem Rechner der
beschriebenen Art eine laufende Registrierung einer beschränkten Anzahl der Adressen von Sprungbefehlen zu gewährleisten, denen zu Folge eine Verzweigung bei der Ausführung eines Programmes vorgenommen wurde. Eine solche
laufende Registrierung kann beispielsweise gesammelt und periodisch durch ein Fehlersuchprogramm ausgedruckt werden (als Überspring-Verfolgungsliste aller Verzweigungen
bei der Ausführung eines Programmes).
Die Erfindung kann bei einem Rechner bekannter Art realisiert werden, der einen Programmzähler, einen Speicher
und ein Befehlsregister enthält. Gemäß einem bevorzugten Ausführungsbeispiel der Erfindung sind ferner vorgesehen:
Ein Verzweigungsregistrier-Flip-Flopj ein Verzweigungsadresszähler zum Ausdrücken von Speicheradressen eines
Bereiches im Speicher, welcher beispielsweise zum Speichern der Adressen von Sprungbefehlen reserviert sein kann;
eine vom Programm gesteuerte Anordnung wie z.B. ein Deko-
209812/1601
dierer, der dazu dient, das Verzweigungsregistrier-Flip-Flop
zu setzen und in den Verzweigungsadresszähler einen Anfangspunkt im Speicher einzugeben; sowie Torglieder,
die bei Vorhandensein eines Sprungbefehls im Befehlsregister, und wenn die Verzweigung vorgenommen werden
soll, (a) den Inhalt des Programmzählers zu der Stelle im Speicher übertragen, die von der jeweils vom Verzweigungsadresszähler
ausgedrückten Adresse bestimmt oder spezifiziert worden ist, und (b) danach den Verzweigungsadresszähler
erhöhen.
Wenn bei einer solchen Anordnung ein Sprungbefehl im Befehlsregister
des Rechners vorhanden ist und ein anschließender Vergleich (innerhalb des Rechners) bestimmt, daß die
Verzweigung vorgenommen werden soll, wird also der Inhalt des Programmzählers des Rechners zu der von der Adresse
im Verzweigungsadresszähler bestimmten Speicherstelle übertragen, und der Verzweigungsadresszähler wird in Vorbereitung
für die Registrierung der Adresse des nächsten auszuführenden Sprungbefehles erhöht. In Weiterbildung
der Erfindung ist es möglich, an der vom erhöhten Verzweigungsadresszähler bestimmten Stelle lauter "1"-Bits in
den Speicher zu schreiben. Bin solches ganz aus Einsen bestehendes
Wort kann als Anzeige für die Speicherstelle benutzt werden, die zuletzt zum Speichern der Adresse eines
Sprungbefehles gedient hatte. Diese Markierung oder Indexstelle
kann erhalten bleiben, bis sie "überschrieben" wird, während die nächstfolgende Übertragung des Programmzählerinhalts
in die ein solches NuT-11I"-Wort enthaltende
Speicherstelle stattfindet.
209812/1601
In Verbindung mit der Zeichnung wird die Erfindung näher erläutert. Es zeigen:
Fig. 1 das Schaltschema eines Teiles einer Datenverarbeitungsanlage
mit einer Anordnung zum Registrieren der Adressen von Sprungbefehlen;
und
Fig. 2 einen Ablaufplan zur Erläuterung der Betriebsweise
der Datenverarbeitungsanlage.
In Fig. 1 ist ein Teil eines konventionellen Universalrechners dargestellt, an dem die Erfindung erläutert werden
wird. Er enthält einen Schnellspeicher HSM mit einem Speicheradressregister MAR und einem Speicherdatenregister
MDR. Ein Programmzähler PC erzeugt der Reihe nach Speicheradressen. Die Adressen in dieser Folge werden
dem Speicheradressregister MAR zugeführt, damit der Reihe nach im Speicher HSM gespeicherte Befehle in das Speicherdatenregister
MDR eingegeben werden. Jeder Befehl innerhalb der sich ergebenden, im Speicherdatenregister MDR
erzeugten Befehlsfolge wird zu einem Befehlsregister IR übertragen. Das Befehlsregister IR hat einen Operationskodeteil
OP und einen Adressteil ADDR. Der Inhalt des Operationsteils des Befehlsregisters IR wird einem Dekodierer
D zugeführt, der eine Vielzahl individueller Ausgänge hat. Jeder dieser Ausgänge kann beispielsweise einem
Bef ehl entsprechen. Einer der Ausgänge des Dekodierers D, nämlich der Ausgang 10 wird erregt, wenn der Befehl im
Befehlsregister IR ein Sprungbefehl ist.
Der konventionelle Universalrechner enthält ferner eine Vergleichsstufe C, die über den Ausgang 10 des Dekodierers
aktiviert wird. Über Eingänge 12 und 13 empfängt die Ver-
209812/1601
gleichsstufe C Bedingungsvergleichsinformationen von (nicht dargestellten) Verknü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 Programmes gesetzt werden können. Das Unterbrechungssystem,
das beispielsweise von der in der USA-Patentschrift Nr. 3-29O.658 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 2(t 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-Flip-Flop (oder
Verzweigungssatz-Flip-Flop) BR und einen Verzweigungsadresszähler BAC. Das Flip BR ist mit einem Setzeingang
S mit einem Ausgang 29 des Dekodierers D gekoppelt und hat einen "!."-Ausgang und einen invertierten oder "0"-Ausgang.
Mit dem "1"-Ausgang des Flip-Flops ist ein Eingang eines UND-Gliedes 30 verbunden, dessen zweiter Eingang mit dem Ausgang Y der Vergleichsstufe C verbunden ist.
209812/1601
"6" 2U570-9
Eingänge eines UND-Gliedes 32 sind mit dem "©"-Ausgang des Flip-Flops BR und mit dem Ausgang Y der 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 Verzweigungsadresszählers
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 16 gekoppelt 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 Adressteil 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 Adressteil des Befehlsregisters IR ist. Diese Torglieder
38 erlauben daher die Übertragung des gesamten Inhalts des Adressteils des Befehlsregisters zum Verzweigungsadresszähler
BAC, wenn die Torglieder durch ein Signal vom Ausgang 29 des Dekodierers D aufgetastet werden.
Ein weiterer Satz von Torgliedern 4o (von denen nur eines dargestellt ist) sind so geschaltet, daß sie zur Übertragung
des Inhalts des Verzweigungsadresszählers BAC über Leitungen 42 zum Speicheradressregister MAR vom Ausgangssignal
des Torgliedes 30 aufgetastet werden. Ein Satz von UND-Gliedern 44 werden zu einer späteren Zeit zum Übertragen
des Inhalts des Zählers BAC über Leitungen 46 zum Speicheradressregister MAR aufgetastet. Das UND-Glied
2 0 9 812/1601
- ' - ■ 2U5709
bringt auch den Inhalt des Zählers BAC über Leitungen
47 zum Maximal Zählwerkanzeiger 26. Ein Satz von UND-Gliedern
48 übertragen 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 überträgt unter Steuerung des Ausgangssignals des Gliedes
30 den Inhalt des Programmzählers PC über Leitungen 51 zum Speicherdatenregister MDR.
Die Betriebsweise der in Fig. 1 dargestellten Datenverarbeitungsanlage
wird nun anhand des Ablaufplanes gemäß
Fig. 2 erläutert. Es sei angenommen, daß das Flip-Flop BR rückgesetzt ist und der Rechner Operationen ausgeführt
hat, ohne die Adressen der Sprungbefehle zu registrieren. Wenn unter diesen Umständen ein Sprungbefehl
im Programm auftritt (wie bei 6o in Fig. 2), wird vom Dekodierer D der Operationskodeteil des Befehles dekodiert.
Der Dekodierer D führt über die Leitung 10 der Vergleichsstufe C ein Ausgangssignal zu. Zur Zeit to vergleicht
die Vergleichsstufe C (bei 62 in Fig. 2) die an ihren Eingängen 12 und 13 erscheinenden Signale entsprechend
dem Befehl und erzeugt entweder ein "Nein"-Signal am Ausgang N oder ein "Ja"-Signal am Ausgang Y.
Im "Nein"-Fall, d.h. wenn die Verzweigung nicht vorgenommen werden soll, wird mit dem Signal über die Leitung
54 der Programmzähler PC erhöht (in Fig. 2 bei 64). Der
Programmzähler holt dann den numerisch nächstfolgenden Befehl im Programm, und der Rechner fährt mit der Ausführung
des nächsten Programmbefehles fort, ohne den Verzweigungsweg einzuschlagen.
20981 2/1601
Wird andererseits von der Vergleichsstufe C am Ausgang
Y ein "Ja"-Signal erzeugt, was bedeutet, daß der Verzweigung
sweg eingeschlagen werden soll, wird dieses Signal den Eingängen der UND-Glieder 30 und 32 zugeführt.,
Diese UND-Glieder 30 und 32 führen einen Vergleich durch,
(bei 66 in Fig. 2), um zu bestimmen, ob sich das Flip-Flop BR in seinem Setz- oder Rückstellzustand befindet.
Hier sei angenommen, daß das Flip-Flop zurückgestellt ist, so daß seine Ausgänge zu diesem Zeitpunkt das Torglied
30 sperren und das Torglied 32 auftasten. Zur Zeit t. veranlaßt daher das Ausgangssignal des Torgliedes 32
die Verknüpfungseinheit l6, mit der Ausführung (68 in Fig. 2) des Sprungbefehles fortzufahren, ohne die Adresse
des Sprungbefehles zu registrieren.
Nun sei statt dessen angenommen, daß das Programm bis zum Punkt fortgeschritten ist, wo ein spezieller, bedingender
Befehl auftritt. Dieser spezielle Befehl wurde vom Programmierer
zu dem Zweck in das Programm aufgenommen, danach den Rechner zu veranlassen, die Adressen aller Sprungbefehle
zu registrieren, die eine Verzweigung zur Folge haben. Dieser Bedingungsbefehl ist programmäßig im Speicher
HSM entnommen und vom Speicherdatenregister MDR dem Befehlsregister
IR zugeführt worden. Wenn der Operationsteil OP dieses Bedingungsbefehls zum Dekodierer D gelangt,
ruft er ein Signal am Ausgang 29 des Dekodierers hervor und setzt folglich das Verzweigungsregistrier-Flip-Flop
BR. Zu beachten ist, daß das Flip-Flop BR durch alle folgenden
Operationen hindurch und solange in seinem Setz-Zustand
verbleibt, bis die Registrierung von Sprungbefehladressen unterbrochen werden soll, was dadurch angezeigt
werden kann, daß wieder ein Befehl (vom Speicher HSM) erscheint,
der nach der Dekodierung das Flip-Flop zurückstellt
2098 12/160 1
2U5709
und somit die Aufzeichnung von Verzweigungsadressen unterbricht
.
Der erregte Dekodiererausgang 29 tastet auch die Torglieder 38 auf, die im geöffneten Zustand eine Anfangsspeicheradresse
vom Adressteil ADDR des Befehles zum Verzweigungsadresszähler BAC übertragen. Der Zähler BAC enthält daher
nun die Anfangsadresse eines Bereiches im Speicher HSM, der für die Summierung der Adressen reserviert ist. Wie
noch gezeigt werden wird, sind diese summierten Adressen die Adressen von anschließend auftretenden Sprungbefehlen,
die eine Verzweigung zur Folge haben.
Wie aus der bisherigen Beschreibung hervorgeht, bilden
der Ausgang des Dekodierers D und die Torglieder 38 eine
Anordnung, die vom Programm gesteuert wird und dazu dient,
das Flip-Flop BR zu setzen und die Anfangsspeicheradresse in den Verzweigungsadresszähler BAC einzugeben.
Nachdem der Bedingungsbefehl in der beschriebenen Weise ausgeführt worden ist, fährt die Anlage mit der Ausführung
von Befehlen fort. Der dem Bedingungsbefehl nächstfolgende Befehl wird also vom Programmzähler PC geholt, und auch
die in Programm folgenden Befehle werden ausgeführt.
Nun sei angenommen, daß das Flip-Flop BR gesetzt und der Verzweigungsadresszähler BAC in der oben beschriebenen
Weise geladen worden ist. Wenn ein Sprungbefehl auftritt (wie bei 60 in Fig. 2), und wenn die Vergleichsstufe C
einen Vergleich durchführt (bei 62), dessen Ergebnis besagt, daß die Verzweigung nicht vorgenommen werden soll,
erfolgt in der schon erläuterten Weise eine Erhöhung des Programmzählers PC.
209812/1601
Der Programmzähler holt dann den nächstfolgenden Befehl
und fährt mit dem Programm fort, was bedeutet, daß der Verzweigungsweg nicht eingeschlagen wird und unter diesen
Umständen keine den Verzweigungsadresszähler BAC benutzenden Operationen stattfinden.
Wenn statt dessen der Vergleich in der Vergleichsstufe C
(bei 62 in Fig. 2) zu einem "JA1'-Ausgangssignal führt,
der Verzweigungsweg also eingeschlagen werden soll, wird das Signal vom Ausgang Y den Eingängen der Torglieder 30
ψ und 32 zugeführt. Diese stellen (bei 66) den Zustand des
Flip-Flops BR fest. Da das Flip-Flop, wie angenommen worden war, nun gesetzt ist, sperrt sein "0"-Ausgang das
Torglied 32, während sein "!."-Ausgang das Torglied 30 auftastet.
Das Torglied 30, das Eingangssignale von der Vergleichsstufe C und vom Flip-Flop BR empfängt, benötigt zur Auftastung ferner ein Zeitgebersignal, dessen Dauer vom
Zeitpunkt t- bis zum Zeitpunkt t währt. Das Torglied 30
liefert also auf die Ausgangsleitung 31 ein Ausgangssignal,
das während der Zeitdauer t. bis t_ vorhanden ist.
Zum Zeitpunkt t_ werden die Torglieder 4θ von der Sammelschiene 31 aufgetastet, um den Inhalt des Verzweigungsadresszählers BAC über Leitungen 42 zum Speicheradressregister HAR zu übertragen. Zur gleichen Zeit t_ lassen die
Torglieder 50, die ebenfalls von der Sammelleitung 31 aufgetastet worden sind, den Inhalt des Programmzählers PC
über Leitungen 51 zum Speicherdatenregister MDR durch. Auf
diese Weise wird, wie in Fig. 2 bei 69 gezeigt ist, die Adresse des Sprungbefehls vom Programmzähler PC zur Anfangsstelle im Speicher HSM übertragen, welche vom Anfangs-
209812/1601
zählwert im Verzweigungsadresszähler BAC angegeben wird.
Zum Zeitpunkt t wird das Torglied 34 von der Sammelleitung
31 aufgetastet, um bei 70 in Fig. 2 den Zähler BAC
zu erhöhen. Der Zähler BAC enthält dann die nächstfolgende Adresse im zum Speichern von Sprungbefehladressen reservierten
Speicherbereich.
Zum Zeitpunkt t. übertragen die Torglieder 44 die erhöhte
Adresse im Zähler BAC über Leitungen 46 zum Speicheradressregister MAR. Zur gleichen Zeit t. übertragen die
Torglieder 48 das nur aus Einsen bestehende Wort von der
Quelle 28 über Leitungen 49 zum Speicherdatenregister
MDR. 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 Speicherstelle dient
als Markierung, welche für die Verwendung durch ein Fehlersuchprogramm den Ort der letzten registrierten Sprungbefehladresse
identifiziert.
Zum Zeitpunkt t. wird auch der erhöhte Inhalt des Zählers
BAC über die Torglieder 44 und Leitungen 47 dem Maximalzählwertanzeiger
26 zugefü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 Unterbrechungssystem 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.
209812/1601
Zum Zeitpunkt t_ ist der Adressenregistriervorgang beendet,
und das Torglied 36 veranlaßt die Verknüpfungseinheit l6,
gemäß 68 in Fig. 2 den Sprungbefehl 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 weiterer Sprungbefehl
auftritt, der wieder so behandelt wird, wie oben beschrieben wurde. Der reservierte Speicherbereich wird
fc also nacheinander mit den Adressen von Sprungbefehlen gefüllt,
die entsprechende Verzweigungen zur Folge haben. Venn zu irgend einer Zeit während des Betriebes der Anlage
ein Programmfehler festgestellt wird, der ein entsprechendes Programmfehlersuchkennzeichen im Unterbrechungssystem
20 setzt, kann das darauf folgende Fehlersuchprogramm den Inhalt des reservierten Speicherbereiches analysieren
und somit di& im Verlaufe des Programmes eingeschlagenen Wege verfolgen und den Ort des Programmierungsfehlers auffinden.
Die beschriebene Anordnung gemäß der Erfindung stellt eine
sehr nützliche Ergänzung eines Vielzweck- oder Universal- W rechners dar, ohne die zum Ausführen eines Befehlsprogrammes
erforderliche Zeit wesentlich 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 BR, einen zusätzlichen Zähler BAC und eine mäßige Anzahl von Verknüpfungsgliedern.
209812/1601
Claims (2)
- Patentansprüche1» Datenverarbeitungsanlage, welche die während der Ausführung eines Programmes vorgenommenen Verzweigungen registriert, mit einem Programmzähler, einem Speicher und einem Befehlsregister, dadurch gekennzeichnet, daß eine programmgesteuerte Anordnung (D) vorgesehen ist, die ein Verzweigungsregistrier-Flip-Flop (BR) setzt und eine Anfangsspeicheradresse in einen Verzweigungsadresszähler (BAC) eingibt, der Speicheradressen eines Bereiches im Speicher (HSM) ausdrückt, und daß Torglieder bei Vorhandensein eines Sprungbefehls im Befehlsregister (IR) und im Falle einer erforderlichen Verzweigung den Inhalt des Programmzählers (PC) zu der von der Adresse im Verzweigungsadresszähler (BAC) bestimmten Stelle im Speicher (HSM) übertragen und den Verzweigungsadresszähler erhöhen.
- 2. Datenverarbeitungsanlage nach Anspruch I1 dadurch gekennzeichnet, daß eine Quelle (28) für lauter "Binsen" vorgesehen ist, welche einer Speicherstelle zugeführt werden, daß weitere Torglieder während eines Schreibbetriebes im Speicher (HSM) die Speicherstelle adressieren, die vom Inhalt des Terzweigungsadresszählers (BAC) nach Erhöhung dieses Zählers spezifiziert werden, und daß hierdurch im Speicher eine Nur-"!"-Markierung erzeugt wird, die zum Aufsuchen der zuletzt im Speicher registrierten Sprungbefehladresee dient.209812/1601Datenverarbeitungsanlage nach Anspruch 1 oder 2, . dadurch gekennzeichnet, daß ein Maximalzählwertanzeiger (26) vorgesehen ist, der einen maximal zulässigen Zählwert im Verzweigungsadresszähler (BAC) feststellt und daraufhin ein entsprechendes Ausgangssignal erzeugt.Datenverarbeitungsanlage nach Anspruch 3 t dadurch gekennzeichnet, daß ein Programmunterbrechungssystem (20) vorgesehen ist, das aufgrund des Ausgangssignals vom Maximalzählwertanzeiger (26) den Rechner veranlaßt, ein Fehlersuchprogramm durchzuführen.2 0 9 812/1601Leerseite
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 true DE2145709A1 (de) | 1972-03-16 |
DE2145709B2 DE2145709B2 (de) | 1973-10-11 |
DE2145709C3 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)
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 |
EP0411904A3 (en) * | 1989-07-31 | 1992-05-27 | Texas Instruments Incorporated | Processor condition sensing circuits, systems and methods |
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)
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 |
-
1970
- 1970-09-11 US US71455A patent/US3673573A/en not_active Expired - Lifetime
-
1971
- 1971-08-25 AU AU32706/71A patent/AU451985B2/en not_active Expired
- 1971-09-01 CA CA121,939A patent/CA948783A/en not_active Expired
- 1971-09-08 GB GB4179571A patent/GB1356997A/en not_active Expired
- 1971-09-10 FR FR7132797A patent/FR2107553A5/fr not_active Expired
- 1971-09-10 JP JP7170288A patent/JPS523702B1/ja active Pending
- 1971-09-10 NL NL7112494A patent/NL7112494A/xx unknown
- 1971-09-13 DE DE2145709A patent/DE2145709C3/de not_active Expired
Also Published As
Publication number | Publication date |
---|---|
AU451985B2 (en) | 1974-08-22 |
DE2145709C3 (de) | 1974-05-16 |
JPS523702B1 (de) | 1977-01-29 |
DE2145709B2 (de) | 1973-10-11 |
AU3270671A (en) | 1973-03-01 |
CA948783A (en) | 1974-06-04 |
US3673573A (en) | 1972-06-27 |
GB1356997A (en) | 1974-06-19 |
FR2107553A5 (de) | 1972-05-05 |
NL7112494A (de) | 1972-03-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2145709A1 (de) | Datenverarbeitungsanlage | |
DE2704842C2 (de) | Im Pipeline-Betrieb arbeitende Datenverarbeitungseinrichtung | |
DE2714805C2 (de) | ||
DE1499722C2 (de) | Einrichtung zur Modifizierung von Informationswörtern | |
DE1928202C3 (de) | Einrichtung zur Erstellung statistischer Daten über den Operationsablauf programmgesteuerter Datenverarbeitungsanlagen | |
DE3126878C2 (de) | Mikroprogramm-Steuerschaltung zum Ausführen eines aus einem Steuerspeicher in einem Quellenregister aufgenommenen Mikrobefehls | |
DE3751297T2 (de) | Schaltung zur Programmsteuerung. | |
DE1178623C2 (de) | Programmgesteuerte datenverarbeitende Maschine | |
EP0097725B1 (de) | Einrichtung im Befehlswerk eines mikroprogrammgesteuerten Prozessors zur direkten hardwaregesteuerten Ausführung bestimmter Instruktionen | |
DE3781794T2 (de) | Vorrichtung und verfahren zum versehen eines cachespeichers mit einer schreiboperation mit zwei systemtaktzyklen. | |
DE2539211A1 (de) | Zugriffssteuereinheit | |
DE69130513T2 (de) | Verfahren zur Durchführung boolescher Operationen zwischen zwei beliebigen Bits von zwei beliebigen Registern | |
DE2332971A1 (de) | Mikroprogrammsteuersystem | |
DE2426874A1 (de) | Verfahren und schaltungsanordnung zur bestimmung der adressenart eines befehls | |
DE3121046C2 (de) | ||
DE1179027B (de) | Speicherprogrammierte digitale Rechenanlage | |
DE2227761B2 (de) | Speichersystem | |
DE2617485B2 (de) | Schaltungsanordnung für Datenverarbeitungsanlagen zur Abarbeitung von Mikrobefehlsfolgen | |
DE2136210A1 (de) | Zentraleinheit fur eine EDV-Anlage | |
DE3307194A1 (de) | Datenverarbeitungsanlage | |
DE2245284A1 (de) | Datenverarbeitungsanlage | |
DE1774421B1 (de) | Mehrprogramm datenverarbeitungsanlage | |
DE2702722A1 (de) | Instruktionsinterpretation in elektronischen datenverarbeitungsanlagen | |
DE2723706A1 (de) | Einrichtung zum adressenvergleich | |
DE2710436A1 (de) | Datenverarbeitungseinrichtung |
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 |