DD264533A1 - Verfahren zum erzeugen von nichtmaskierbaren interruptsignalen fuer testaufgaben in einem mikrorechner - Google Patents
Verfahren zum erzeugen von nichtmaskierbaren interruptsignalen fuer testaufgaben in einem mikrorechner Download PDFInfo
- Publication number
- DD264533A1 DD264533A1 DD30701187A DD30701187A DD264533A1 DD 264533 A1 DD264533 A1 DD 264533A1 DD 30701187 A DD30701187 A DD 30701187A DD 30701187 A DD30701187 A DD 30701187A DD 264533 A1 DD264533 A1 DD 264533A1
- Authority
- DD
- German Democratic Republic
- Prior art keywords
- signal
- interrupt
- circuit
- delay
- microcomputer
- Prior art date
Links
Landscapes
- Microcomputers (AREA)
Abstract
Das Verfahren wird fuer das schrittweise Testen von Mikrorechnerprogrammen verwendet. Mittels eines aus einem Befehl abgeleiteten Aktivierungssignals wird eine durch ein Steuersignal des Mikrorechners getaktete Verzoegerungsschaltung aktiviert. Nach vorbestimmten Verzoegerungszeiten wird durch die Verzoegerungsschaltung ein erstes und ein zweites Signal erzeugt. Durch das erste Signal wird ein von einer Halteschaltung erzeugtes Interruptsignal deaktiviert und mittels des zweiten Signals aktiviert, so dass ueber eine Interruptleitung in der CPU des Mikrorechners eine Programmunterbrechung ausgeloest wird. Der Zustand nach dem Zustandswechsel des Interruptsignals von inaktiv zu aktiv wird mittels der Halteschaltung gespeichert, bis ueber ein erneutes Aktivierungssignal die Verzoegerungsschaltung wiederum aktiviert wird. Figur
Description
Hierzu 1 Seite Zeichnung
Die Erfindung betrifft ein Verfahren zum Erzeugen von nichtmaskierbaren Interruptsignalen für Testaufgaben in Mikrorechnern. Das Verfahren wird inbesondero zum schrittweisen Testen von Mikrorechnerprogrammen verwendet, wo es wünschenswert ist, nach jedem Befehl oder nach rnahreren Befehlen die ausgeführten Funktionen zu analysieren.
Sowohl beim Testen von Mikrorechnerprogrammen als auch bei der Fehlersuche in Mikrorechnerprogrammen besteht der Wunsch, ein Programm schrittweise abzuarbeiten und nach jedem Befehl odar nach mehreren Befehlen die ausgeführten Funktionen zu analysieren. Ereignisse, die zu einer Programmunterbrechung führen, sind neben den privilegierten Befehlen wie beispielsweise HALTund WARTE vor allem Unterbrechungssignale, auch Interruptsignale genannt. Interruptsignale sind binäre Signale mit direktem Zugriff zum Mikroprozessor. Ein Interruptsignal ruft, ausgehend von einer Anforderung eines Prozesses an einen Mikroprozessor, ein bestimmtes Programm auf. Das Programmunterbrechungssignal führt zu einer Unterbrechung das momentan ablaufenden Programms und kann zum Start eines höherrangigen Programms führen. In vielen Mikroprozessorsystomen, wie beispielsweise im Mikroprozessorsystem U880-K1520, ist es üblich, zwei voneinander unabhängige Unterbrechungssysteme zu verwenden. Für Programmtestaufgaben wird in dem einen Unterbrechungssystem zur Programmunterbrechung eine mnskierbaro Programmunterbrechung in Abhängigkeit von einer Anzahl Takte des Mikrorechners ausgelöst. Dazu kann der maskierbare Interrupteingang des Mikrorechners über zwei dem Programmierer zur Verfügung stehenden Befehle, die ein Interruptsystem! ein- und ausschalten, in einzelnen Programmabschnitten aktiviert beziehungsweise ausgeblendet werdon. Nachteilig daran ist, daß nicht alle Programmabschnitte getestet werden können, da der Programmierer nicht alle Befehle zu einer schrittweisen Programmabarbeituiig nutzen kann. Nachteilig ist feiner, daß durch die Taktabhäripigkeit die Mikroprozessorperepherie keine WARTE-Signale erzeugen darf, wenn die gonaue Dauor nicht voi bestimmt ist, da sonst eine Programmunterbrechung für eine Zustandsanalyse an nichtbeabsichtigten Stellen eines Programmablaufes entsteht. Das andere Unterbrechungssystem benutzt zur Programmunterbrechung ein nichtmaskierbares Interruptsignal. Bei Testaufgaben werden die Takte eines Steuersignals des Mikroprozessors gezählt und nach einer vorgegebenen Anzahl wird das nichtmaskierbare Interruptsignal ausgelöst und durch die gleiche Zählschaltung nach einer weiteren oft gleichen Anzahl von Takten wieder deaktiviert. Das nichtmaskierbare Interruptsignal kann vom Programmierer nicht gesperrt werden, es führt in jedem Fall zu einer Unterbrechung des laufenden Prograi ims und zu einem erzwungenem Unterprogrammsprung. Der Befehlszählerstand des alten Programms wird hierbei aut Dmatisch in den Stack eingekellert. Nach Beendigung der nichtmaskierbaren Interrupt-Serviceroutine wird über e'na spezielle Instruktion die Auskellemng des Befehlszählers veranlaßt und die Bearbeitung dos unterbrochenen Programms fortgesetzt. Ein Nachteil besteht darin, daß keine andere Signalquelle während der Behandlung der Interruptroutine ein nichtmaskierbares Interruptsignal auslösen darf, da ein rekursivar Aufruf von Testhilfsprogrammen nicht zulässig ist, wenn der der Zustand des Interrupt-Annahme-Flipflop des Mikroprozessors rekonstruiert werden muß'.
\ Ziel der Erfindung ist die Einzelschrittestung sowie eino erwünschte Programmabzweigung in ein Testhilfeprogramm.
' Darlegung des Wesens der Erfindung
Der Erfindung liegt die Aufgabe zugrunde, ein Verfahren eingangs genannten Art zu schaffen, bei de ,τι taktunabhängig und ohne Einschränkungen im Befehlsvorrat, insbesondere ohne Einschränkung in der Nutzung aller maskierbaren. Unterbrechungsmöglichkeiten die zu testenden Programme nach jedem Befehl unterbrochen werden können, ohne daß Programmunterbrechungen an für den Test unzulässigen Programmstellen auftreten. Dabei soll von einem Steuersignal des Mikroprozessors ausgegangen werden, das die Anzahl der abgearbeiteten Befehle erkennen läßt.
Diese Aufgabe wird erfindungsgemöß dadurch gelöst, daß mittels eines aus einem Befehl abgeleiteten Aktivierungssignals eine durch ein Steuersignal des Mikrorechners getakteten Verzögerungsschaltung aktiviert wird, so daß nach einer vorbestimmten ei fiten Verzögerung ein erstes Signal und nach einer vorbestimmten zweiten Verzögerung ein zweites Signal erzeugt wird und dnß durch das erste Signal ein von einer Halteschaltung eizeugtes interruptsignai deaktiviert und mit dem zweiten Signal aktiviert wird, so daß über eine Interruptsignalleitung in der CPU dos Mikrorechners eine Programmunterbrechung ausgelöst wird und daß der Zustand, der sich nach dem Zustandswechsel des Interruptsignals von inaktiv zu aktiv einstellt, mittels der Haltsschaltung gespeichert wird, bis übor ein erneutes Aktivierungssignal die Verzögerungsschaltung wiederum aktiviert wird und daß ein von einer externen Signalquelle erzeugter Zustandswechsel eines Interruptsignals von inaktiv zu aktiv auf der Interruptsignalloitung durch die Halteschaltung erkannt wird und der Interrupt-aktiv-Zustand durch die Halteschaltung bis zur erneuten Aktivierung der Verzögerungsschaltung übernommen und gespeichert wird.
Es können für die Verzögerungsschaltungen beispielsweise Zählerschaltungen und Schieberegister und für dio Halteschaltung getaktete Bit- Speicher verwendet worden.
Durch das erfindungsgsmäße Verfahren wird erreicht, daß mit nur geringem zusätzlichen Hardwareaufwand zur Hardware des Mikrorechners ein Schrittest möglich wird, so daß ein Programm nach jedem Befehl unterbrochen werden kann, ohne daß Einschränkungen in der Nutzung aller maskierbaren Unterbrechungsmöglichkeiten vorgenommen werden müssen. Gleichzeitig erlaubt das Verfahren ein beliebiges Aufrufen eines Testhilfeprogrammes auch durch externe nichtmaskierbare Interruptsignale, kurz NMI-Signale genannt. Es wird eine eindeutige Rekonstruierbarkeit des maskierbaren Interrupt-Annahmezustandes der CPU des Mikrorechners erreicht, indem durch das Verfahren weitere NMI-Annahmen verhindert werden.
Anhand eines in der Zeichnung wiedergogebenen Ausführungsbeispiels wird die Erfindung näher erläutert. Die Znichnung enthält die zur Durchführung des Verfahrens notwendige Verzögerungsschaltung VS und Halteschaltung HS. Die Verzögerungsschaltur.g VS besteht aus einem Johnson-Zähler JZ, dessen Freigabeeingang CE mit einem vom Johnson-Zähler JZ getakteten R-S-Flipfiop FF1 beschaltet ist, an dessen Setzeingang S ein Aktivierungssignal AS herangeführt ist. An dem Takteingang der Verzögerungsschaltung VS liegt ein vom Mikroprozessor geliefertes Steuersignal M1 an. Daneben sind ein Rücksetzsignal RS und ein Deaktivierungssignal DS an die Verzögerungsschaltung VS herangeführt, die über AND-Gatter 1 und Negatoren 2 Einfluß auf den Rücksetzeingang R des Johnson-Zählers JZ, auf den vom Johnson-Zähler JZ getakteten R-S-Flipflop FF1 und auf die Halteschaltung HS nehmen. Die I lalteschaltung HS besteht aus einem von seinem Ausgang her getakteten Bit-Speicher FF2, im ausgefühlten Beispiel ein R-S-D-Flipflop, dessen Speicherverhalten einerseits durch die Verzögerungsschaltung VS und andererseits von seinem Ausgang her beeinflußt wird und der mit einem AND-Gatter 1 und mit weiteren Negatoron 2 beschaltet ist. Am Ausgang der Halteschaltung HS, der zugleich Eingang für ein externes nichtmaskiorbares Interrupt-Signal sein kann, liegt eine nichtmaskierbare Interruptsignalleitung an. Das Verfahren, am Beispiel des Mikroprozessor-Systems U880-K1520 dargestellt, gestaltet sich wie folgt. Zur Aktivierung der Verzögerungsschaltung VS wird das Aktivierungssignal AS aus einem Adressdekoder entnommen. Wenn das Aktivierungssignal AS den binäro;) Zustand Low aufweist, wird das R-S-Flipflop FF1 gesetzt und damit der Johnson-Zähler JZ zum Zählen freigegeben. Der Johnson-Zähler JZ wird mit dem Steuersignal M1 des Mikroprozessors getaktet. Nach einer ersten Verzögerung von sechs Takten d6S Steuersignals M1 wird durch die Verzögerungsschaltung VS ein erstes Signal b erzeugt, das an dem Rücksetzeingang R des als R-S-D-Flipflop ausgebildeten Bit-Speichers FF2 als Low-Signal wirksam wird. Am Ausgang Q des Bit-Sp <>':hors FF2 wird ebenfalls ein Low-Signal erzeugt, so daß ein durch die Halteschaltung HS verursachtes NMI-Signal inaktiv wird, indem es auf High gesetzt wird. Nach einem weiteren Takt wird durch die Verzögerungsschaltung VS ein zweites Signal f erzeugt, so daß am Setzeingang S des Bit-Speichers FF2 ein Low-Signal verursacht wird, wodurch das durch die Halteschaltung HS ausgebildete NMI-Signal aktiv wird, indem es auf Low gesetzt wird und mit seiner High-Low-Flanke in der CPU des Mikrorechners eine Programmunterbrechung erzeugt. Nach weiteren drei Takten des Steuersignals M1 am Takteingang des Johnson-Zählers JZ wird das R-S-Flipflop FF1 zurückgesetzt und der Johnson-Zähler JZ wird blockiert. Die Halteschaltung HS verbleibt in ihrem zuvor eingenommenen Zustand bis die Verzögerungsschaltung VS erneut durch das Aktivierungssignal AS aktiviert wird, durch ein Deaktivierungssignai DS deaktiviert oder über ein Rücksetzsignal RS, beispielsweise mit RESET, zurückgesetzt wird.
Zur gleichen Behandlung externer NMI-Signale wird der als R-S-D-Flipflop ausgebildete Bit-Speicher FF2 zur Speicherung des NMI-Zustandes zurückgestellt, wenn eine High-Low-Flanke des von einer externen Signt !quelle herrührenden NMI-Signals
. auftritt. Das R-S-D-Flipflop FF2 dient somit zur Verhinderung weiterer NMI-Programmunterbrechungen nach einer NMI-
(' ; Programmunterbrechung bis zur Freigabe durch den Programmierer oder durch RESET.
Claims (5)
1. Verfahren zum Erzeugen von nichtmaskierbaren Interruptsignalen für Testaufgaben in einem Mikrorechner, unter Verwendung eines Steuersignals des Mikrorechners, dadurch gekennzeichnet, daß mittels eines aus einem Befehl abgeleiteten Aktivierungssignals (AS) eine durch das Steuersignal (M 1) getakteten Verzögerungsschaltung (VS) aktiviert wird, so daß nach einer vorbestimmten ersten Verzögerung ein erstes Signal (b) und nach einer vorbestimmten zweiten Verzögerung ein zweites Signal (f) erzeugt wird und daß durch das erste Signal (b) ein von einer Halteschaltung (HS) erzeugtes interruptsignal (NMI) deaktiviert und mit dem zweiten Signal (f) aktiviert wird, so daß über eine Interruptsignalleitung in der CPU des Mikrorechners eine Programmunterbrechung ausgelöst wird und daß der Zustand, der sich nach dem Zustandswechsel des Interruptsignals von inaktiv zu aktiv einstellt, mittels der Halteschaltung (HS) gespeichert wird, bis über ein erneutes Aktivierungssijjnal (AS) die Verzögerungsschaltung (VS) wiederum aktiviert wird und daß ein von einer externen Signalquelle erzeugter Zustandswechsel eines Interruptsignals
von inaktiv zu aktiv auf der Interruptsignalleitung durch die Halteschaltung (HS) erkannt wird und j
der Interrupt-aktiv-Zustand durch die Halteschaltung (HS) bis zur erneuten Aktivierung der !
Verzögerungtischaltung (VS) übernommen und gespeichert wird.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß für die Verzögerungsschaltung (VS) I Zählerschaltungen verwendet werden. '
3. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß für die Verzögerungsschaltung (VS) j Schieberegister verwendet werden. · |
4. Verfahren nach Anspruch 1 bis 3, dadurch gekennzeichnet, daß für die Halteschaltung (HS) J getaktete Bit-Speicher verwendet werden.
5. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß für die Verzögerungsschaltung (VS) ein Johnson-Zähler (JZ) und ein erstes R-S-D-Flipflop (FF 1) verwendet werden und daß für die Halteschaltung (HS) ein zweites R-S-D-Flipflop (FF2) verwendet wird.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DD30701187A DD264533A1 (de) | 1987-09-17 | 1987-09-17 | Verfahren zum erzeugen von nichtmaskierbaren interruptsignalen fuer testaufgaben in einem mikrorechner |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DD30701187A DD264533A1 (de) | 1987-09-17 | 1987-09-17 | Verfahren zum erzeugen von nichtmaskierbaren interruptsignalen fuer testaufgaben in einem mikrorechner |
Publications (1)
Publication Number | Publication Date |
---|---|
DD264533A1 true DD264533A1 (de) | 1989-02-01 |
Family
ID=5592323
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DD30701187A DD264533A1 (de) | 1987-09-17 | 1987-09-17 | Verfahren zum erzeugen von nichtmaskierbaren interruptsignalen fuer testaufgaben in einem mikrorechner |
Country Status (1)
Country | Link |
---|---|
DD (1) | DD264533A1 (de) |
-
1987
- 1987-09-17 DD DD30701187A patent/DD264533A1/de not_active IP Right Cessation
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE4011745C2 (de) | ||
DE3901457C2 (de) | ||
DE68922034T2 (de) | Systematische Wiederherstellung von übermässigen Programmspinschleifen in einer n-teiligen MP-Umgebung. | |
EP0011685B1 (de) | Programmierbare Speicherschutzeinrichtung für Mikroprozessorsysteme und Schaltungsanordnung mit einer derartigen Einrichtung | |
DE3586651T2 (de) | Echtzeit-software-monitor und schreibschutzsteuergeraet. | |
CH654943A5 (de) | Pruefeinrichtung fuer mikroprogramme. | |
DE19648422A1 (de) | Verfahren und Vorrichtung zum Implementieren eines echtzeitfähigen Steuerprogramms in einem nicht-echtzeitfähigen Betriebsprogramm | |
DE19847677C2 (de) | Computer, Verfahren und Gerät zum Verhindern eines unautorisierten Zugriffs auf ein Computerprogramm | |
DE2414311A1 (de) | Speicherschutzeinrichtung | |
DE69114328T2 (de) | Überwachung von Mikroprozessoren. | |
EP0500973A1 (de) | Initialisierungsroutine im EEPROM | |
DE69128908T2 (de) | Verfahren zum Durchführen von erlässlichen Befehlen in einem Rechner | |
EP1805617A1 (de) | Verfahren zur abarbeitung eines computerprogramms auf einem computersystem | |
EP1262856A2 (de) | Programmgesteuerte Einheit | |
DE4406094C2 (de) | Vorrichtung zum Betrieb einer Steuerungsanwendung | |
EP0048991A1 (de) | Verfahren und Anordnung zur Behandlung von Unterbrechungsbedingungen während des Arbeitsablaufes in Datenverarbeitungsanlagen mit Mikroprogrammsteuerung | |
DE3700800C2 (de) | Einrichtung zur Erzeugung eines Unterbrechungspunktes in einem Mikroprozessor | |
DE60010847T2 (de) | Verfahren zur Fehlerbeseitigung in einem Thread-Programm | |
DD264533A1 (de) | Verfahren zum erzeugen von nichtmaskierbaren interruptsignalen fuer testaufgaben in einem mikrorechner | |
EP1283471B1 (de) | Programmgesteuerte Einheit | |
WO2016206847A1 (de) | Verfahren und vorrichtung zum absichern einer programmzählerstruktur eines prozessorsystems und zum überwachen der behandlung einer unterbrechungsanfrage | |
EP2338111B1 (de) | Verfahren und vorrichtung zum testen eines rechnerkerns in einer mindestens zwei rechnerkerne aufweisenden recheneinheit | |
DE102006004168A1 (de) | Überprüfung eines Adressdecoders | |
EP0991995B1 (de) | Unterbrechungsverfahren in einem computersystem mit unterbrechungssteuerung | |
DE102009000874A1 (de) | Verfahren zur Verbesserung der Analysierbarkeit von Softwarefehlern in einem Mikrocontroller |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
ENJ | Ceased due to non-payment of renewal fee |