-
Verfahren und Schaltungsanordnung zur Triggerung eines
-
Logikanalysators Die Erfindung betrifft ein Verfahren zur Triggerung
eines Logikanalysators gemäß dem Oberbegriff des Patentanspruchs 1.
-
In zunehmenden Maße finden programmgesteuerte Einrichtungen in allen
Bereichen der Technik immer breitere Anwendung. Mit den steigenden Anforderungen
an die Zuverlässigkeit und die Fehlertoleranz der Mikrocomputer ergibt sich auch
die Notwendigkeit des Einsatzes immer umfangreicherer Prüf- und Testgeräte.
-
Bei der In-Circuit-Emulation wird der im Mikrocompu#er angeordnete
Mikroprozessor durch die Emulationseinrichtung ersetzt. Eine Echtzeitanalyse des
Mikroprozessorverhaltens ist oft nur mit Einschränkungen möglich. Fehler im Mikroprozessor,
welche nur im dynamischen Betrieb bei höherer Arbeitsgeschwindigkeit auftreten,
können nicht erkannt werden, so daß im zunehmenden Maße für das Testen der Hardware/Software-Entwicklung
Logikanalysatoren eingesetzt werden.
-
Mittels einem Logikanalysator kann die Adressen-, Daten-und Steuerinformation
(Zustandsinformationen) auf dem Bus (Sammelleistungssystem) analysiert werden. Hierzu
liefert die Folge der auf dem Bus auftretenden Zustandsinformationen eine genaue
Information über die Ausführung des aktuellen Programms. Mittels des Logikanalysators
können dabei auch Befehle und Informationen angezeigt und untersucht werden, welche
in der Programmliste nicht enthalten sind.
-
Die Ankopplung der Logikanalysatoren erfolgt an verschiedene Mikroprozessortypen
mittels spezieller Hardware-Adaptions-Module, welche durch entsprechende schaltungstechnische
Verknüpfung der vom Mikrocomputer zugeführten Signale den angeschlossenen Logikanalysator
triggern.
-
Aus der DE-PS 29 03 383 ist eine Triggerschaltung bekannt bei der
das Triggersignal aus einem Adressenvergleich der über Adressenleitungen des Mikroprozessors
zugeführten Adresse mit der in einem Adressenregister abgespeicherten Adresse abgeleitet
wird. Mit der Triggerschaltung ist eine Anzeigevorrichtung verbunden, welche beim
Erscheinen eines Triggersignals die Signale zu entsprechenden Anzeigelampen durchschaltet.
Mit einer solchen Schaltungsanordnung kann nur der logische Zustand einzelner Schaltungspunkte
bei entsprechender Adressierung festgestellt werden. Das Sichtbarmachen von Adressen-,
Daten- und Steuerinformationen ist mit einer solchen Einrichtung (Signaturanalyse)
nicht möglich.
-
Aus der DE-AS 27 15 750 ist eine Testschaltung für einen Mikrocomputer
bekannt, mittels der die in internen Registern des Mikroprozessors enthaltenen Informationen
aufgezeichnet und ausgegeben werden können, Hierzu ist in der umfangreichen Testschaltung
ein Registerleseprogramrnspeicher sowie mehrere Umsetzer vorgesehen, welcne mit
Steuersignalen des Mikroprozessors beaufschlagt werden. Die Zuordnung zwischen der
im Speicher für Registerinhalte aufgenommenen Information und der Zustandsinformation
anhand der Programmliste wirft häufig Schwierigkeiten auf und ist jedenfalls mühsam
und zeitraubend. Insbesondere ist mittels einer solchen Testschaltung eine Logikanalyse
in Echtzeit nicht möglich.
-
Aus der DE-AS 22 46 863 ist eine Einrichtung zur Proto-
kollierung
des Programmablaufs in einer Datenverarbeitungsanlage bekannt. Wird eine solche
Einrichtung bei Mikroprozessoren, welche mit Prefetch-Technik arbeiten, angewandt,
so treten Fehltriggerungen durch benachbarte Programmteile auf, wie im folgenden
näher erläutert wird.
-
Bei Mikroprozessoren mit Prefetch-Technik überlappt sich zeitlich
gesehen die Befehlsausführungsphase mit der Befehlsholphase des nächsten Befehls
(sogenannte Prefetch-Technik bzw. Instruction-Pipelining). Bei der Prefetch-Technik
werden während jedes Befehlszyklus zwei Bytes aus dem Programmspeicher geholt, so
daß die Ausführung eines Befehls beginnt, wenn der bereits zugehörige Befehlscode
geholt worden ist, wodurch die Geschwindigkeit des Mikroprozessors erhöht werden
kann. Bei der Prefetch-Technik wird nun stets davon ausgegangen, daß es sich bei
dem nächsten zu holenden Byte um einen benötigten Befehlscode handelt.
-
Bei einem Sprungbefehl, bei dem entsprechend der Prefetch-Technik
der Befehlscode des benachbarten Befehls geholt worden ist, wird dieser aufgrund
des zu unterbrechenden linearen Programmablaufs nicht mehr benötigt.
-
Der im Pipeline-Register befindliche nicht benötigte Befehlscode wird
im nächsten Zyklus von dem nach der Programmverzweigung auszuführenden neuen Befehlscode
überschrieben. Auch bei Befehlen, deren Befehlsausführungszeit mehr als einen halben
Befehlszyklus (entspricht einer Periode eines Steuersignals) benötigen, wird der
Befehlscode des nächsten Befehls beispielsweise mehrmals gelesen und erst nach Beendigung
der momentanen Operation bearbeitet. Die Interpretation der am Logikanalysator aufgezeigten
Information ist zeitraubend, da eine Vielzahl nicht benötigter Befehle aufgezeigt
werden und stets überlegt werden muß, ob es sich beim aufgezeigten
Befehlscode
um beispielsweise einem dem Sprungbefehl nachfolgenden, nicht ausgeführten Befehl
oder einem Befehl mit langer Befehlsausführungszeit handelt.
-
Der Erfindung liegt die Aufgabe zugrunde ein Verfahren anzugeben,
bei dem vom Mikroprozessor ausgeführte Befehle erkannt werden können.
-
Diese Aufgabe wird durch die im Patentanspruch t angegebenen Merkmale
gelöst.
-
Das erfindungsgemäße Verfahren weist den Vorteil auf, daß die Logikanalyse
einfacher durchzuführen ist, da die Aufzeichnung von nicht ausgeführten Befehlen
vermieden wird. Weiterhin wird auf einfache Art und Weise eine Fehltriggerung durch
benachbarte Programmodule vermieden. Durch das Vermeiden der Aufzeichnung von nicht
ausgeführten Befehlen kann ein im Logikanalysator angeordneter Zustandsspeicher
optimal ausgenutzt werden. Weiterhin wird eine übersichtliche Darstellung der ausgeführten
Befehle anhand der Programmliste ermöglicht und das Disasemblierungs-Programm ist
einfacher zu erstellen.
-
Die Schaltungsanordnung zur Durchführung des Verfahrens ist mit handelsüblichen
Bauelementen kostengünstig aufzubauen.
-
Enthält der Mikrocomputer neben dem Programmspeicher einen externen
Datenspeicher (Patentanspruch 4) so können, nach Ergänzung der Schaltungsanordnung
nach Patentanspruch 2 mittels nur weniger zusätzlicher Bauelemente, auch die im
Datenspeicher gespeicherten Daten am Logikanalysator aufgezeichnet werden.
-
Die Erfindung wird im folgenden anhand der in der Zeichnung
dargestellten
Ausführungsform näher beschrieben und erläutert.
-
Zur Logikanalyse ist ein Mikrocomputer MC über eine Triggerschaltung
TS mit einem Logikanalysator LA verbunden. Der Mikrocomputer MC enthält neben einem
Mikroprozessor CPU, einen externen Programmspeicher PSP und einen externen Datenspeicher
EXD. Zur Programmspeicherfreigabe wird ein erstes Steuersignal PSEN des Mikroprozessors
CPU verwendet.
-
Wie aus der bereits geschilderten Befehlshol/Ausführungsabfolge hervorgeht,
ist der lineare Programmablauf dadurch gekennzeichnet, daß ein Befehl dann stets
ausgeführt wird, wenn die Adresse des nachfolgenden Befehls sich bezüglich der momentanen
Adresse um Eins erhöht hat. Bei nicht linearem Programmablauf mittels unbedingter
oder bedingter Sprungbefehle ergeben sich Abweichungen von der obigen Regel, da
sich die Programmadresse des nach dem Sprungbefehl ausgeführten Befehls im Regelfall
um mehr als eins zum nicht ausgeführten, dem Sprungbefehl benachbarten Befehl unterscheidet.
Die Aufzeichnung des nicht ausgeführten Befehls wird beim erfindungsgemäßen Verfahren
vermieden.
-
Um nun ausgeführte von nicht ausgeführten Befehlen unterscheiden zu
können, werden während zweier aufeinanderfolgender Perioden eines ersten Steuersignals
PSEN des Mikroprozessors CPU die Programmadressen des Programmspeichers PSP der
Triggerschaltung TS zugeführt, dort zwischengespeichert, erhöht und danach wird
überprüft, ob die zugeführte Programmadresse sich erhöht hat oder nicht.
-
Hierfür sind in der Triggerschaltung TS ein Adressenzwischenspeicher
AZSP, eine zweite Einrichtung ADER und ein
Adressenvergleicher
ADV angeordnet. Im Adressenvergleicher ADV wird die momentan anliegende Adresse
mit der um beispielsweise Eins erhöhten und im Adressenzwischenspeicher AZSP abgespeicherten
Adresse der vorherigen Periode verglichen. Der Adressenzwischenspeicher AZSP und
der Befehlscodewortzwischenspeicher BZSP sind mit der ersten Einrichtung TER verbunden,
welcher das erste Steuersignal PSEN des Mikroprozessors CPU zugeführt wird und beim
Auftreten einer Flanke des über diese Verbindung zugeführten ersten Taktsignals
TZS der ersten Einrichtung TER wird die zugeführte Adresse und das Befehlscodewort
zwischengespeichert. Ergibt der Vergleich der Adressen im Adressenvergleicher ADV
Gleichheit, so wird mit Hilfe eines Steuersignals Q am Ausgang des Adressenvergleichers
ADV und eines zweiten Taktsignals TLA am Ausgang der ersten Einrichtung TER die
Adresse und das Befehlscodewort im Logikanalysator LA aufgezeichnet.
-
Um die für den Adressenvergleich benötigte Verarbeitungszeit sicher
zu stellen, ist in der ersten Einrichtung TER eine erste Verzögerungsschaltung VE1
angeordnet, welcher das erste Steuersignal PSEN des Mikroprozessors CPU zugeführt
wird. Mit der positiven Flanke des dem Logikanalysator LA zugeführten zweiten Taktsignals
TLA wird die im Adressenzwischenspeicher AZSP und BZSP gespeicherte Information
übernommen. Mittels des Steuersignals Q kann ein ausgeführter Befehl von einem nicht
benötigten Befehl unterschieden werden.
-
Enthält der Mikrocomputer MC den externen Datenspeicher EXD, so darf
der Adressenvergleich nicht ausgewertet werden, wenn ein Zugriff auf den externen
Datenspeicher EXD erfolgt. Dieser Zugriff erfolgt mittels des zweiten Steuersignals
WR oder dritten Steuersignals RD, welche sowohl der ersten Einrichtung TER als auch
einem Steuer-
signal-Zwischenspeicher SZSP zugeführt werden. Mittels
einem in der ersten Einrichtung TER angeordneten ersten Gatter NOR1 werden das zweite
und dritte Steuersignal WR, RD miteinander verknüpft. Das erste Gatter NOR1 ist
mit einer zweiten Verzögerungsschaltung VL2 verbunden.
-
Zur Ableitung des ersten Taktsignals TZS für die Zwischenspeicherung
der zugeführten Informationen in den Zwischenspeichern AZSP, BZSP und SZSP sind
erste und zweite Verzögerungsschaltung VL1, VL2 mit einem zweiten Gatter NAND verbunden.
-
Zur Sperrung des Adressenvergleichs ist die erste Verzögerungsschaltung
VL1 und das erste Gatter NOR1 mit einer bistabilen Kippstufe RS verbunden, deren
Ausgangssignal dem Adressenvergleicher ADV zugeführt wird. Das zweite Taktsignal
TLA für den Logikanalysator LA wird durch Verknüpfung des ersten Steuersignals PSEN
und des Ausgangssignals der zweiten Verzögerungsschaltung VL2 mittels eines dritten
Gatters NOR2 abgeleitet. Die bistabile Kippstufe RS wird mit dem Low-Pegel des zweiten
oder dritten Steuersignals WR, RD rückgesetzt. Für die nachfolgenden verzögerten
Impulse des zweiten oder dritten Steuersignals WR, RD sowie dem nachfolgenden Impuls
des ersten Steuersignals PSEN wird das Steuersignal Q beispielsweise auf Low-Pegel
gesetzt. Erst mit dem Low-Pegel des verzögerten Impulses des ersten Steuersignals
PSEN wird die bistabile Kippstufe RS erneut gesetzt und damit der Adressenvergleich
wieder frei gegeben.