CH660243A5 - Vorrichtung zur ablaufverfolgung eines programms. - Google Patents

Vorrichtung zur ablaufverfolgung eines programms. Download PDF

Info

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
Application number
CH6664/82A
Other languages
English (en)
Inventor
Hirayama Mitsunori
Yamanaka Kimio
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of CH660243A5 publication Critical patent/CH660243A5/de

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

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)

660243 PATENTANSPRÜCHE
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).
CH6664/82A 1981-11-18 1982-11-16 Vorrichtung zur ablaufverfolgung eines programms. CH660243A5 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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