CH660243A5 - Vorrichtung zur ablaufverfolgung eines programms. - Google Patents
Vorrichtung zur ablaufverfolgung eines programms. Download PDFInfo
- Publication number
- CH660243A5 CH660243A5 CH6664/82A CH666482A CH660243A5 CH 660243 A5 CH660243 A5 CH 660243A5 CH 6664/82 A CH6664/82 A CH 6664/82A CH 666482 A CH666482 A CH 666482A CH 660243 A5 CH660243 A5 CH 660243A5
- Authority
- CH
- Switzerland
- Prior art keywords
- address
- trace
- signal
- address register
- program
- Prior art date
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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Description
Die vorliegende Erfindung bezieht sich auf eine Vorrichtung zur Ablaufverfolgung eines Programms durch Erfassung der Koinzidenz einer zuvor festgelegten Adresse und der Ausführungsadresse in der Zentraleinheit (CPU).
In Fig. 1 ist ein bekanntes Tracing-System dargestellt, das beispielsweise der Fehlerbeseitigung eines Computerprogramms dient und das nachstehend näher beschrieben werden soll.
In Fig. 1 ist mit der Bezugsziffer 1 eine Zentraleinheit (CPU) und mit der Bezugsziffer 2 ein übliches Tracing-System zur Überprüfung, ob die Ausführungsadresse in der Zentraleinheit 1 mit einer vorgegebenen Adresse übereinstimmt oder nicht, bezeichnet. Die Zentraleinheit 1 umfasst ein Speicher-Adressenregister 3, dessen Inhalt an das Tra-cing-System 2 als nachfolgendes Adressensignal abgegeben wird. Das Tracing-System 2 besteht aus einem TRACE-Adressen Register 4, einem Komparator 5 und einer TRACE-Steuereinrichtung 6. Das TRACE-Adressenregister 4 dient dazu, die Ablaufverfolgungsadresse zu speichern, wobei sein Inhalt an den Komparator 5 als TRACE-Adressensignal abgegeben wird. Der Komparator 5 vergleicht das nächste Adressensignal (NEXT AD), das von dem Speicher-Adressenregister 3 der Zentraleinheit 1 abgegeben wird, mit dem TRACE-Adressensignal und gibt ein eine Koinzidenzerfassung anzeigendes Äquivalenzsignal ab, wenn beide Signale miteinander übereinstimmen. Das resultierende Äquivalenzsignal wird der TRACE-Steuereinrichtung 6 eingegeben. Nach Empfang des Äquivalenzsignals löst die TRACE-Steuereinrichtung 6 mindestens eine zuvor festgelegte Operation aus. Diese Operationen können aus einer Anzeige der Koinzidenz zwischen der Ausführungsadresse und der TRACE-Adresse, Setzen der nächsten für die Ablaufverfolgung erforderlichen Adresse in dem TRACE-Adressenregister 4 und einer Operationsbeendigung der Zentraleinheit 1 bestehen.
In Fig. 2 ist ein Flussdiagramm eines Teils des in der Zentraleinheit enthaltenen Programms dargestellt, das eine Sequenz beinhaltet, in der in das Speicher-Adressenregister 3 eingeschriebene Adressen schrittweise in Abhängigkeit von s Befehlen wie die Befehle 99,100,101,... und 104, fortgeschrieben werden, wobei vorgeschriebene Inhalte, d.h. Befehle MO, Ml, M2, M3 und M4 nacheinander aus einem nicht näher dargestellten Speicher in Abhängigkeit von diesen Adressen ausgelesen werden. Für diesen Fall wird io angenommen, dass sich das Programm verzweigt, wobei der der Adresse 103 entsprechende Inhalt solange ausgeführt wird, bis der infolge der Adresse 100 ausgelesene Befehl Ml kleiner als der Inhalt Acc eines nicht näher dargestellten Akkumulators der Zentraleinheit ist, d.h. bis die Bedingung ls ACC > Ml erfüllt ist. Demgemäss kann, selbst wenn das Programm durch Ausführung des Befehls Ml in dem Fall, wo der Inhalt des TRACE-Adressenregisters die Adresse 101 betrifft, verzweigt wird, ein Fall eintreten, wo eine Koinzidenz zwischen dem nächsten Adressensignal und dem 20 TRACE-Adressensignal mittels des Komparators 5 durch Abgabe eines Äquivalenzsignals festgestellt wird, während das Programm den der Adresse 103 entsprechenden Inhalt in dem Fall ausführt, wo der Inhalt des Speicher-Adressenregi-sters 3 die Adresse 101 betrifft. Daher kann in dem 25 bekannten Ablaufverfolgungsprogramm ein Fall eintreten, dass ein Koinzidenzsignal abgegeben wird, obwohl die TRACE-Adresse nicht mit der Ausführungsadresse der Zentraleinheit in Abhängigkeit von der Form, in der das Programm durchgeführt wird, übereinstimmt, woraus sich eine 30 Fehlfunktion des bekannten Tracing-Systems ergibt.
Zur Vermeidung derartiger Fehlfunktionen weist die erfin-dungsgemässe Ablaufverfolgungsvorrichtung die Merkmale auf, die im kennzeichnenden Teil des Patentanspruchs 1 erwähnt sind.
35 Die erfindungsgemässe Ablaufverfolgungsvorrichtung weist den Vorteil auf, dass die logische Vervielfachung des Signifikanzsignals, das anzeigt, dass die Adresse in der Zentraleinheit der im vorgeschriebenen Programm entsprechenden Adresse korrekt entspricht, und das Ausgangssignal 40 des Komparators berücksichtigt werden, so dass der Ausfüh-rungsprozess des Programms in der Zentraleinheit exakt erfasst werden kann.
Anhand eines in der Zeichnung dargestellten Ausführungsbeispiels soll der der Erfindung zugrundeliegende 45 Gedanke näher erläutert werden. Es zeigen:
Fig. 1 ein Blockschaltbild einer bekannten Tracing-Vor-richtung und eine Zentraleinheit, deren Ablauf mit der Ablaufverfolgungsvorrichtung verfolgt werden soll ;
so Fig. 2 ein Flussdiagramm zur Darstellung eines Teils des von der Zentraleinheit gemäss Fig. 1 ausgeführten Programms;
Fig. 3 ein Blockschaltbild der erfindungsgemässen Vorrichtung und der Zentraleinheit, deren Programmablauf von 55 der Tracing-Vorrichtung erfasst werden soll und
Fig. 4 ein Zeitdiagramm zur Darstellung der Arbeitsweise der Zentraleinheit gemäss Fig. 3.
In Fig. 3 ist mit der Bezugsziffer 1 eine Zentraleinheit 60 (CPU) und mit der Bezugsziffer 2 eine Tracing-Vorrichtung dargestellt. Die Zentraleinheit 1 gibt ein von dem Speicher-Adressenregister 3 eingeholtes nächstes Adressensignal sowie ein Gültigkeitssignal, das von einer arithmetisch-logischen Einheit (ALU) 7 eingeholt wird und das einen üblichen 65 Befehl enthält, an das Ablaufverfolgungssystem 2 ab.
Die Ablaufverfolgungsvorrichtung 2 enthält ein UND-Gatter 8, an das ein Äquivalenzsignal (EQ) von einem Komparator 5 und ein Gültigkeitssignal von der ALU 7 abgegeben
werden, sowie das TRACE-Adressenregister 4, den Komparator 5 und die TRACE-Steuereinrichtung 6, wie sie ebenfalls in Fig. 1 dargestellt sind. Im vorliegenden Fall werden die Ausgangssignale (Gültigkeit EQ) des UND-Gatters 8 anstelle des in der bekannten, in Fig. 1 dargestellten Tracing-Vorrichtung abgegebenen Äquivalenzsignals an die TRACE-Steuereinrichtung 6 abgegeben. Die Funktion des TRACE-Adres-senregisters 4, des Komparators 5 und der TRACE-Steuereinrichtung 6 entsprechen im wesentlichen denen der in Fig. 1 dargestellten Vorrichtung, so dass auf eine detaillierte Beschreibung verzichtet werden kann.
Das in Fig. 4 dargestellte Zeitdiagramm erläutert die Verbindung zwischen dem Inhalt des Speicher-Adressenregi-sters, der Ausführungsadresse und dem Gültigkeitssignal für den Fall, dass die Zentraleinheit 1 gemäss Fig. 3 das in Fig. 2 dargestellte Programm ausführt. Das Gültigkeitssignal wird von der ALU 7 dann abgegeben, wenn die von dem Speicher-Adressenregister 3 vorgegebene Adresse die korrekte Adresse ist, die in der nächsten Stufe zur Ausführung gelangen soll. Im vorliegenden Falle wird angenommen, dass die Ausführungsadresse in der Zentraleinheit 1 mit der Ziffer 98 bezeichnet ist, während die Adresse 99 die in der nächsten Stufe auszuführende korrekte Adresse ist, wenn der Inhalt des Speicher-Adressenregisters 3 aus der Adresse 99 besteht. In diesem Fall gibt die ALU 7 ein Gültigkeitssignal an das UND-Gatter 8 ab. Da der Inhalt des TRACE-Adressenregi-sters 4 ebenfalls aus der Adresse 99 besteht, ist das nächste Adressensignal dem TRACE-Adressensignal gleich und der Komparator 5 gibt ein Äquivalenzsignal an das UND-Gatter 8 ab. Folglich gibt das UND-Gatter 8 ein Gültigkeits-Äquiva-
3 660 243
lenzsignal ab. Empfängt die TRACE-Steuereinrichtung 6 das resultierende Gültigkeits-Äquivalenzsignal, so führt sie vorgeschriebene Operationen einschliesslich einer Anzeige der Koinzidenz der Ausführungsadresse mit der TRACE-s Adresse aus. Erreicht die Ausführungsadresse die mit der Ziffer 100 bezeichnete Adresse, so wird das nächste Adressensignal 101, das dem TRACE-Adressensignal gleicht von dem TRACE-Adressenregister 4 abgegeben, wobei gleichzeitig ein Gültigkeits-Äquivalenzsignal von dem UND-lo Gatter 8 abgegeben wird. In diesem Fall führt jedoch die ALU 7 ein Verzweigungsprogramm in Übereinstimmung mit dem in Fig. 2 dargestellten Programm durch und demzufolge gibt die ALU 7 kein Gültigkeitssignal ab. Das nächste Gültigkeits-Äquivalenzsignal wird erst dann wieder abgegeben, 15 wenn die Zentraleinheit den der Adresse 100 entsprechenden Befehl ausführt, so dass die ALU 7 ein Gültigkeitssignal abgibt, was dann der Fall ist, wenn die Bedingung ACC > M1 nicht befriedigt ist.
Wie vorstehend beschrieben wurde, ist die erfindungsge-20 mässe Vorrichtung zur schrittweisen Protokollierung der Ausführung eines Programms in der Lage, solche Fälle zu erfassen, in denen eine Koinzidenzbedingung zwischen der TRACE-Adresse und der Ausführungsadresse erfüllt ist und die Zentraleinheit ein Gültigkeitssignal abgibt. Demzufolge 2s kann mit dem erfindungsgemässen Tracing-System ein Programmablauf exakt verfolgt werden, unabhängig von der Art des Programms in der Zentraleinheit. Dadurch eignet sich das vorstehend beschriebene Tracing-System insbesondere zur Fehlerbeseitigung oder zur Darstellung eines derartigen 30 Programms.
B
1 Blatt Zeichnungen
Claims (2)
1. Vorrichtung zur Ablaufverfolgung eines Programms, gekennzeichnet durch eine Zentraleinheit ( 1 ) zum Vergleichen des Inhaltes eines Speicher-Adressenregisters (3), das eine dem in der nächsten Stufe auszuführenden Befehl entsprechende Adresse enthält, mit einer zuvor festgelegten TRACE-Adresse, um die Koinzidenz der TRACE mittels der Koinzidenz des Inhalts des Speicher-Adressenregisters (3) und der TRACE-Adresse festzustellen; durch ein TRACE-Adressenregister (4), das die zuvor festgelegte TRACE-Adresse beinhaltet; durch einen Komparator (5), der mit dem TRACE-Adressenregister (4) und dem Speicher-Adres-senregister (3) verbunden ist, zum Vergleich der in dem TRACE-Adressenregister (4) gespeicherten TRACE-Adresse mit der in dem Speicher-Adressenregister (3) gespeicherten Adresse und zur Abgabe eines Koinzidenzsignals bei Übereinstimmung der TRACE-Adresse mit der Speicheradresse ; und durch ein UND-Gatter (8), zum Empfang des vom Komparator (5) abgegebenen Koinzidenzsignals und des Gültigkeitssignals, das von einer arithmetisch-logischen Einheit (7) der Zentraleinheit (1) dann abgegeben wird, wenn die Adresse entsprechend dem in der nächsten Stufe in der Zentraleinheit (1) auszuführenden Befehl in dem Speicher-Adressenregister (3) vorliegt.
2. Vorrichtung nach Anspruch 1, gekennzeichnet durch eine TRACE-Steuereinrichtung (6) zur Vorgabe der nächsten TRACE-Adresse in dem TRACE-Adressen-Register (4) zum Zeitpunkt des Empfangs des Ausgangssignals des UND-Gatters (8).
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP56186008A JPS5886648A (ja) | 1981-11-18 | 1981-11-18 | トレ−ス装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CH660243A5 true CH660243A5 (de) | 1987-03-31 |
Family
ID=16180750
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CH6664/82A CH660243A5 (de) | 1981-11-18 | 1982-11-16 | Vorrichtung zur ablaufverfolgung eines programms. |
Country Status (4)
Country | Link |
---|---|
US (1) | US4571677A (de) |
JP (1) | JPS5886648A (de) |
CH (1) | CH660243A5 (de) |
DE (1) | DE3242502A1 (de) |
Families Citing this family (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS61188626A (ja) * | 1985-02-18 | 1986-08-22 | Fujitsu Ltd | マイクロプロセツサ |
US4674089A (en) * | 1985-04-16 | 1987-06-16 | Intel Corporation | In-circuit emulator |
JPS62229343A (ja) * | 1986-03-29 | 1987-10-08 | Toshiba Corp | プログラム・カウンタ表示方式 |
CA1268557A (en) * | 1986-04-01 | 1990-05-01 | Mikio Tomioka | Method for displaying program executing circumstances and an apparatus using the same |
JPS62261381A (ja) * | 1986-05-09 | 1987-11-13 | 株式会社 高山電子計算センタ− | ボウリングカウント装置 |
US4819233A (en) * | 1987-04-08 | 1989-04-04 | Westinghouse Electric Corp. | Verification of computer software |
US4910663A (en) * | 1987-07-10 | 1990-03-20 | Tandem Computers Incorporated | System for measuring program execution by replacing an executable instruction with interrupt causing instruction |
JPH01241636A (ja) * | 1988-03-17 | 1989-09-26 | Internatl Business Mach Corp <Ibm> | データ処理システム |
US4924466A (en) * | 1988-06-30 | 1990-05-08 | International Business Machines Corp. | Direct hardware error identification method and apparatus for error recovery in pipelined processing areas of a computer system |
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 |
JPH02133834A (ja) * | 1988-11-14 | 1990-05-23 | Nec Corp | インサートキットエミュレータ |
US5134701A (en) * | 1989-02-10 | 1992-07-28 | Hewlett-Packard Co. | Test apparatus performing runtime replacement of program instructions with breakpoint instructions for processor having multiple instruction fetch capabilities |
US5222220A (en) * | 1989-11-16 | 1993-06-22 | Mehta Hemang S | Microprocessor stack built-in guards |
US5551050A (en) * | 1989-12-20 | 1996-08-27 | Texas Instruments Incorporated | System and method using synchronized processors to perform real time internal monitoring of a data processing device |
JP2526690B2 (ja) * | 1990-02-27 | 1996-08-21 | 三菱電機株式会社 | プログラマブルコントロ―ラの制御方法 |
JPH03252731A (ja) * | 1990-03-01 | 1991-11-12 | Fujitsu Ltd | マイクロプロセッサ |
US5151981A (en) * | 1990-07-13 | 1992-09-29 | International Business Machines Corporation | Instruction sampling instrumentation |
JPH05341819A (ja) * | 1991-02-05 | 1993-12-24 | Mitsubishi Electric Corp | Sfcプログラムのデバッグ装置及びデバッグ方法 |
US5623665A (en) * | 1992-01-13 | 1997-04-22 | Sony Corporation | Electronic apparatus for patching a read-only memory |
JP3230262B2 (ja) * | 1992-01-24 | 2001-11-19 | ソニー株式会社 | 電子装置及びその固定情報修正方法 |
JPH06318261A (ja) * | 1992-09-18 | 1994-11-15 | Sony Corp | 電子装置 |
JP3284614B2 (ja) * | 1992-09-19 | 2002-05-20 | ソニー株式会社 | 電子装置 |
JP3810805B2 (ja) * | 1992-09-19 | 2006-08-16 | ソニー株式会社 | 情報修正システム |
JPH06161822A (ja) * | 1992-11-20 | 1994-06-10 | Mitsubishi Electric Corp | マイクロプロセッサ |
US5446876A (en) * | 1994-04-15 | 1995-08-29 | International Business Machines Corporation | Hardware mechanism for instruction/data address tracing |
JP2581018B2 (ja) * | 1994-09-12 | 1997-02-12 | 日本電気株式会社 | データ処理装置 |
US5758061A (en) * | 1995-12-15 | 1998-05-26 | Plum; Thomas S. | Computer software testing method and apparatus |
KR100206887B1 (ko) * | 1995-12-31 | 1999-07-01 | 구본준 | 프로그램 오동작 방지를 위한 씨피유 |
US5896535A (en) * | 1996-08-20 | 1999-04-20 | Telefonaktiebolaget L M Ericsson (Publ) | Method and system for testing computer system software |
US6553564B1 (en) * | 1997-12-12 | 2003-04-22 | International Business Machines Corporation | Process and system for merging trace data for primarily interpreted methods |
US6438715B1 (en) * | 1998-05-04 | 2002-08-20 | Stmicroelectronics N.V. | Trace operations in an integrated circuit for a disk drive |
AU763141B2 (en) * | 1999-04-19 | 2003-07-17 | Motorola Australia Pty Ltd | A method of detecting illegal sequences of code execution |
US7171497B2 (en) * | 2002-11-22 | 2007-01-30 | Texas Instruments Incorporated | Progressive extended compression mask for dynamic trace |
JP2004185060A (ja) * | 2002-11-29 | 2004-07-02 | Renesas Technology Corp | マイクロコンピュータ |
US7464874B2 (en) * | 2005-02-24 | 2008-12-16 | Robert William Donner | Method and system for transparent and secure vote tabulation |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3415981A (en) * | 1967-10-10 | 1968-12-10 | Rca Corp | Electronic computer with program debugging facility |
US3518413A (en) * | 1968-03-21 | 1970-06-30 | Honeywell Inc | Apparatus for checking the sequencing of a data processing system |
DE1927549A1 (de) * | 1969-05-30 | 1970-12-03 | Ibm Deutschland | Fehlerpruefeinrichtung in elektronischen Datenverarbeitungsanlagen |
US3763474A (en) * | 1971-12-09 | 1973-10-02 | Bell Telephone Labor Inc | Program activated computer diagnostic system |
US3813531A (en) * | 1973-01-02 | 1974-05-28 | Honeywell Inf Systems | Diagnostic checking apparatus |
SU763900A1 (ru) * | 1978-06-21 | 1980-09-15 | Предприятие П/Я Г-4152 | Устройство дл отладки программ |
JPS6013491B2 (ja) * | 1979-07-30 | 1985-04-08 | 富士通株式会社 | アドレス一致検出方式 |
US4315313A (en) * | 1979-12-27 | 1982-02-09 | Ncr Corporation | Diagnostic circuitry in a data processor |
US4453093A (en) * | 1982-04-02 | 1984-06-05 | Honeywell Information Systems Inc. | Multiple comparison circuitry for providing a software error trace signal |
-
1981
- 1981-11-18 JP JP56186008A patent/JPS5886648A/ja active Pending
-
1982
- 1982-11-16 CH CH6664/82A patent/CH660243A5/de not_active IP Right Cessation
- 1982-11-17 US US06/442,490 patent/US4571677A/en not_active Expired - Fee Related
- 1982-11-18 DE DE19823242502 patent/DE3242502A1/de active Granted
Also Published As
Publication number | Publication date |
---|---|
DE3242502A1 (de) | 1983-05-26 |
DE3242502C2 (de) | 1990-06-07 |
JPS5886648A (ja) | 1983-05-24 |
US4571677A (en) | 1986-02-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CH660243A5 (de) | Vorrichtung zur ablaufverfolgung eines programms. | |
DE2953432C1 (de) | Vorrichtung zum Testen eines Mikroprogramms | |
DE3116100A1 (de) | Sprungabschaetz-zentraleinheit | |
DE2758830A1 (de) | Rechenvorrichtung | |
DE2721319A1 (de) | Einrichtung zur selbsttaetigen aenderung der prozessor/speicher-konfiguration | |
DE2714805A1 (de) | Datenverarbeitungssystem | |
DE2753062A1 (de) | Einrichtung zur durchfuehrung programmierter befehle | |
DE4434895A1 (de) | Verfahren und Vorrichtung zur Erholung von Ablaufunterbrechungen in einem Computersystem | |
DE3900187A1 (de) | Ein-chip-mikrocomputer | |
EP1019819B1 (de) | Programmgesteuerte einheit und verfahren zum debuggen derselben | |
DE2658864A1 (de) | Pruefsystem fuer eine mikroprogrammierte verarbeitungseinheit | |
DE1774870C3 (de) | Einrichtung zur Adressierung einer Speicherzelle eines Speichers in einer Datenverarbeitungsanlage | |
DE2145709B2 (de) | ||
EP2962205B1 (de) | Mehrkern-prozessorsystem mit fehleranalysefunktion | |
DE2110604B2 (de) | Verfahren und Vorrichtung zur Abgabe von Abfragenachrichten an mehrere adressierbare Stationen | |
DE2536625C2 (de) | Paritätsprüfschaltung für ein binär zählendes Register | |
DE3227292C2 (de) | ||
DE2064383C3 (de) | Datenverarbeitungsanlage mit mehreren zentralen Verarbeitungseinrichtungen | |
DE2336020B2 (de) | Adressen-berechnungsschaltung fuer paritaetsfehler-korrekturprogramme | |
DE1949916B2 (de) | Verfahren zum betrieb einer programmgesteuerten datenverarbeitungsanlage und anordnung zur durchfuehrung des verfahrens | |
DE69029164T2 (de) | Vorrichtung und Verfahren zum Ersetzen der Parität | |
DE2657897A1 (de) | Externes geraet, das die ureingabe fest gespeichert enthaelt, fuer elektronische datenverarbeitungsanlagen mit einem zentralen speicher | |
DE2702722C2 (de) | Einrichtung zur Verarbeitung nicht direkt ausführbarer Instruktionen | |
DE3210616A1 (de) | Rechner | |
DE3316681A1 (de) | Computersystem mit programmueberwachungsvorrichtung |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PL | Patent ceased |