DE4308464A1 - Verfahren zur Erkennung von Hardwarefehlern auf den Leitungen eines Adressbusses in Mikroprozessoren - Google Patents
Verfahren zur Erkennung von Hardwarefehlern auf den Leitungen eines Adressbusses in MikroprozessorenInfo
- Publication number
- DE4308464A1 DE4308464A1 DE19934308464 DE4308464A DE4308464A1 DE 4308464 A1 DE4308464 A1 DE 4308464A1 DE 19934308464 DE19934308464 DE 19934308464 DE 4308464 A DE4308464 A DE 4308464A DE 4308464 A1 DE4308464 A1 DE 4308464A1
- Authority
- DE
- Germany
- Prior art keywords
- memory
- test
- checksum
- addresses
- lines
- 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.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1004—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2273—Test methods
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Detection And Correction Of Errors (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Description
Die Erfindung betrifft ein Verfahren zur Erkennung von
Hardwarefehlern auf den Leitungen des Adreßbusses eines
Mikroprozessors in Bezug auf einen angeschlossenen Pro
gramm-/Datenspeicher, bei welchem zyklisch eine Testroutine
mit Checksum-Bildung durchgeführt wird.
Mikroprozessoren weisen in ihrem Schaltungsaufbau eine
große Komplexität auf. Es läßt sich daher nicht vorherse
hen, wie sie auf Störungen reagieren.
Der Austausch von Daten zwischen der Recheneinheit sowie
flüchtigen und nichtflüchtigen Speichern eines Mikroprozes
sors kann durch Kurzschlüsse gegen Versorgungsspannung oder
Masse bzw. zwischen einzelnen Leitungsführungen gestört
sein, so daß die Funktionstüchtigkeit des Mikroprozessors
nicht mehr gewährleistet ist.
Bei einem Fehler sind bestimmte Adreßbereiche nicht mehr
vorhanden, während andere mehrfach erscheinen. Bei Kurz
schluß bedeutet das, daß eine Leitung ihren Zustand nicht
mehr wechseln kann oder mehrere Leitungen immer den glei
chen Zustand aufweisen.
Um die Funktionstüchtigkeit des Mikroprozessors zu überprü
fen, ist es üblich, über den gesamten Adreßbereich einen
ROM-Test mit Checksum-Bildung durchzuführen, was eine lange
Rechen- und Fehlerreaktionszeit zur Folge hat. Da diese
Tests sehr zeitaufwendig sind, sind sie für eine Dauerüber
wachung des Mikroprozessors ungeeignet.
Aus sicherheitsrelevanten Gründen wird daher die Fehler
überwachung des Mikroprozessors während des Betriebes über
externe Mechanismen abgedeckt.
sind z. B. sogenannte Watchdog-Schaltungen bekannt, bei
welchen bei ungestörtem Programmablauf ein Rückssetzimpuls
ausgelöst wird. Ist der Programmablauf des Prozessors ge
stört, unterbleibt der Rücksetzimpuls und eine Fehlerreak
tion wird aktiviert.
Der Nachteil dieser Anordnung besteht in dem zusätzlichen
schaltungstechnischen Aufwand der externen Überwachung bzw.
der externen Baugruppen, die die Reaktion bewirken
(Endstufenabschaltung etc.)
Der Erfindung liegt die Aufgabe zugrunde, ein Verfahren an
zugeben, bei welchem die Funktionstüchtigkeit des Adreß-
Busses eines Mikroprozessors überprüft wird, wobei die
Recheneinheit möglichst gering belastet wird und eine ge
ringe Fehlerreaktionszeit gewährleistet ist.
Erfindungsgemäß wird die Aufgabe dadurch gelöst, daß eine
begrenzte Anzahl von Adressen des Speichers abgefragt wird,
auf deren Grundlage eine Checksum-Bildung erfolgt und deren
Ergebnis mit einem abgespeicherten Wert verglichen wird,
wobei nach der ersten Abfrage eine den gesamten Adreßraum
des Speichers ansprechende Abfrage durchgeführt wird.
Der Vorteil der Erfindung besteht darin, daß der Prozessor
selbst die Abfrage vornimmt, ohne daß zusätzlicher externer
schaltungstechnischer Aufwand notwendig ist.
Über einen laufzeitintensiven Test werden die Grundlagen
für die Funktionstüchtigkeit eines schnellen Tests sicher
gestellt und ab diesem Zeitpunkt nur noch schnelle Tests
durchgeführt.
Aufgrund der kurzen Reaktionszeit kann der Test häufig wie
derholt werden, was insbesondere für sicherheitstechnische
Anwendungen wichtig ist.
Vorteilhafterweise wird der Speicherbereich in zwei Hälften
aufgeteilt, wobei aus diesen jeweils die andere Speicher
hälfte geprüft wird. Mit dieser Maßnahme wird sicher
gestellt, daß nicht gerade die Testroutine aufgrund eines
Defektes ausgeblendet wird.
In einer Ausgestaltung wird bei jeder Abfrage eine be
grenzte Anzahl anderer Adressen des Speichers aktiviert.
Dadurch wird die Wahrscheinlichkeit erhöht, ein zuverläs
siges Testergebnis zu erhalten.
Bei der Abfrage von Adressen im Schreib-Lese-Speicher wird
die ausgewählte Menge an Adressen vor der Checksum-Bildung
gesichert, zum Ablauf des Tests manipuliert und zumindest
bei positivem Testergebnis wieder in den Schreib-Lese-Spei
cher rückgeführt. Dadurch wird gewährleistet, daß die im
Speicher enthaltenen flexiblen Daten nicht zerstört werden.
Bei positivem Testergebnis stehen die Daten zur weiteren
Verarbeitung zur Verfügung.
Erfindung läßt verschiedene Ausführungsformen zu. Eine
davon soll anhand der Figuren der Zeichnung näher erläutert
werden. Es zeigt:
Fig. 1 Daten- und Adreßleitungen innerhalb eines Mikro
prozessorsystems,
Fig. 2 Programmablauf des erfindungsgemäßen Verfahrens.
Ein Mikroprozessor besteht, wie aus Fig. 1 ersichtlich, aus
einer Recheneinheit CPU, einem RAM als Arbeitsspeicher und
einem ROM als nichtflüchtigen Speicher, die über Daten- und
Adreßbusse miteinander verbunden sind und dadurch Informa
tionen austauschen. Bei Systemen mit gemultiplextem Adreß-
/Datenbus ist zusätzlich ein Latch vorhanden.
Der Ablauf des Testverfahrens ist in Fig. 2 dargestellt.
Dem vorliegenden Beispiel liegt ein Mikroprozessor mit ei
nem ROM zugrunde, dessen Speicherkapazität 128 KByte be
trägt. Dies bedeutet, daß 17 Adreßleitungen in dem System
vorhanden sind. Für die Durchführung des Testes werden die
neun vorhandenen oberen Adreßleitungen benutzt. Dadurch
ergibt sich ein unterer Adreßraum von 28 = 256 Byte.
In einem ersten Schritt 31 wird das Ergebnisregister ge
löscht und im Schritt 32 der Schleifenzähler initialisiert.
Anschließend wird in einer Schleife 33, 34, 35 ein Checksum
gebildet, bis der gewünschte Adreßraum bei Schritt 35
abgearbeitet ist. Bei der Checksumbildung 33 wird jeweils
ein Byte aus dem unteren Adreßraum (bei 8 Bit → pro 256
Byte je ein Byte) Modulo 16 aufaddiert.
Beim allerersten Durchlauf 36 wird dieses Ergebnis im RAM
für alle weiteren Tests abgelegt (Schritt 36, 37)
Um sicherzustellen, daß dieser erste Test nicht schon ein falsches Ergebnis geliefert hat, wird nach dem oben be schriebenen allerersten Durchlauf noch ein "konventioneller" ROM-Test 38 durchgeführt, d. h. eine Checksum über alle Bytes des Adreßraumes, dessen Ergebnis durch Vergleich 39 mit der im EPROM abgelegten Checksum festgestellt wird.
Um sicherzustellen, daß dieser erste Test nicht schon ein falsches Ergebnis geliefert hat, wird nach dem oben be schriebenen allerersten Durchlauf noch ein "konventioneller" ROM-Test 38 durchgeführt, d. h. eine Checksum über alle Bytes des Adreßraumes, dessen Ergebnis durch Vergleich 39 mit der im EPROM abgelegten Checksum festgestellt wird.
Ist der konventionelle ROM-Test negativ, so erfolgt ein
Programmabbruch (Fehlerreaktion).
Bei positivem Testergebnis wird das Programm normal weiter
laufen.
Ist es nicht der "1. Durchlauf" 36, so wird sofort der Ver
gleich 40 mit der im Speicher abgelegten Checksum
durchgeführt und gegebenenfalls verzweigt.
Somit reicht ein Test aus, der eine Kontrolle des Vorhan
denseins der richtigen Adreßräume vornimmt, um die Funk
tionstüchtigkeit des ROM festzustellen.
Dieses Verfahren hat den Vorteil, daß es im Normalbetrieb
schnell ist, da nur noch ein Bruchteil (z. B. 1/256) des
ROM-Umfanges gelesen und aufaddiert werden muß.
Für einen Prozessor wie den 80C166 [40 MHz] von Siemens
wäre bin Aufwand von ca. 2 × 26 Byte Code und ca. 0,1 msec
pro 100 msec Laufzeit notwendig, um bei einem 128 KByte ROM
eine Reaktionszeit von 200 msec zu garantieren.
Beim Intel 8096 [12 MHz] sind bei einer Reaktionszeit von
200 msec 2 × 19 Byte und ca. 1,3 msec/100 msec Laufzeit
notwendig.
Um sicherzustellen, daß nicht gerade die ROM-Testroutine
aufgrund eines Defektes ausgeblendet wurde, wird der ROM-
Bereich in zwei Hälften aufgeteilt und aus diesem heraus
wird jeweils die andere Hälfte geprüft.
Eine Verbesserung der Zuverlässigkeit des Testes wird er
reicht, wenn durch einfache Manipulation der Adreßrechnung
eine "wandernde" Position des Adreßpointers innerhalb ei
nes 256-Byte-Adreßraumes hervorgerufen wird.
Denkbar ist dabei, daß ohne größeren Aufwand der Offset
zwischen zwei aufeinanderfolgenden CHECK-Bytes nicht 256,
sondern eine beliebige Zahl, z. B. 257 oder 248 beträgt.
Bei geringen Änderungen läßt sich dieses Verfahren auch für
RAM-Bereiche anwenden. Hier muß lediglich die Checksum-Bil
dung durch einen modifizierten RAM-Test ergänzt werden. Da
bei wird zuerst je ein Byte eines Adreßraumes gesichert
und die Zellen mit einer fortlaufenden Nummer beschrieben.
In einem zweiten Durchlauf werden die Nummern geprüft und
im 3. Durchlauf schließlich der Urzustand wieder herge
stellt. Der Code- und Laufzeitaufwand ist relativ zum ROM-
Test höher, aber aufgrund der normalerweise wesentlich
kleineren RAM-Bereiche ebenfalls noch effektiv genug, um
befriedigende Ergebnisse zu liefern.
Claims (4)
1. Verfahren zur Erkennung von Hardwarefehlern auf den Lei
tungen eines Adreßbusses in Mikroprozessoren in Bezug auf
einen angeschlossenen Programm-/Datenspeicher, bei welchem
zyklisch eine Testroutine mit Checksum-Bildung durchgeführt
wird, dadurch gekennzeichnet, daß eine begrenzte Anzahl von
Adressen des Speichers abgefragt wird, auf deren Grundlage
eine Checksum-Bildung erfolgt, deren Ergebnis mit einem ab
gespeicherten Wert verglichen wird, wobei nach der ersten
Abfrage eine den gesamten Adreßraum des Speichers anspre
chende Abfrage durchgeführt wird.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß
der Speicherbereich in zwei Hälften aufgeteilt wird, wobei
aus diesem jeweils die andere Speicherhälfte geprüft wird.
3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeich
net, daß bei jeder Abfrage eine begrenzte Anzahl anderer,
relativer Adressen des Speichers aktiviert wird.
4. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeich
net, daß bei der Abfrage der Adressen von Schreib-Lese-
Speichern die ausgewählte Menge an Adressen vor der
Checksum-Bildung gesichert, zum Ablauf des Tests manipu
liert und zumindest bei positivem Testergebnis wieder in
den Schreib-Lese-Speicher rückgeführt wird.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19934308464 DE4308464A1 (de) | 1993-03-17 | 1993-03-17 | Verfahren zur Erkennung von Hardwarefehlern auf den Leitungen eines Adressbusses in Mikroprozessoren |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19934308464 DE4308464A1 (de) | 1993-03-17 | 1993-03-17 | Verfahren zur Erkennung von Hardwarefehlern auf den Leitungen eines Adressbusses in Mikroprozessoren |
Publications (1)
Publication Number | Publication Date |
---|---|
DE4308464A1 true DE4308464A1 (de) | 1994-09-22 |
Family
ID=6483026
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19934308464 Ceased DE4308464A1 (de) | 1993-03-17 | 1993-03-17 | Verfahren zur Erkennung von Hardwarefehlern auf den Leitungen eines Adressbusses in Mikroprozessoren |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE4308464A1 (de) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10058220A1 (de) * | 2000-11-23 | 2002-05-29 | Daimler Chrysler Ag | Verfahren zum Betreiben einer einen Datenspeicher aufweisenden Vorrichtung |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3709524A1 (de) * | 1987-03-23 | 1988-10-06 | Bosch Gmbh Robert | Verfahren zur ueberpruefung der speicherzelleninhalte eines programmspeichers |
-
1993
- 1993-03-17 DE DE19934308464 patent/DE4308464A1/de not_active Ceased
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3709524A1 (de) * | 1987-03-23 | 1988-10-06 | Bosch Gmbh Robert | Verfahren zur ueberpruefung der speicherzelleninhalte eines programmspeichers |
Non-Patent Citations (2)
Title |
---|
DIEHL, Werner: Mikroprozessoren und Mikrocomputer,Würzburg 1977, Vogel-Verlag, S. 14 * |
HÖLSCHER, H. und RADER, J.: Mikrocomputer in der Sicherheitstechnik, Köln 1984, Verlag TÜV Rhein- land, S. 7-37 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10058220A1 (de) * | 2000-11-23 | 2002-05-29 | Daimler Chrysler Ag | Verfahren zum Betreiben einer einen Datenspeicher aufweisenden Vorrichtung |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3111447C2 (de) | ||
DE3842289C2 (de) | Verfahren zur Entwicklung von Programmen für ein verteiltes Datenverarbeitungssystem | |
EP0500973B1 (de) | EEPROM und Verfahren zum Ändern einer Initialisierungsroutine im EEPROM | |
DE4100151C2 (de) | ||
WO2000070620A1 (de) | Speicheranordnung mit adressverwürfelung | |
DE3227292C2 (de) | ||
DE2906789B2 (de) | ||
EP2539899B1 (de) | Verfahren zur überprüfung der funktionsfähigkeit eines speicherelements | |
DE4107558A1 (de) | Verfahren und vorrichtung zum schutz der daten eines rom | |
EP1444700A2 (de) | Speichertest | |
DE4308464A1 (de) | Verfahren zur Erkennung von Hardwarefehlern auf den Leitungen eines Adressbusses in Mikroprozessoren | |
EP0151810B1 (de) | Verfahren und Schaltungsanordnung zum Prüfen eines Programms in Datenverarbeitungsanlagen | |
EP0353660B1 (de) | Verfahren zur Fehlersicherung in Speichersystemen von Datenverarbeitungsanlagen, insbesondere Fernsprechvermittlungsanlagen | |
DE10127194B4 (de) | Verfahren und Vorrichtung zum Ausblenden von nicht funktionstüchtigen Speicherzellen | |
DE102006004168A1 (de) | Überprüfung eines Adressdecoders | |
DE4429633C2 (de) | Verfahren und Vorrichtung zur Überwachung von Speicherzellen eines Speichers | |
DE4303406C2 (de) | Verfahren zur Inhaltsänderung eines Registers eines Mikrocomputers | |
DE3433679A1 (de) | Verfahren und anordnung zur sicherung von wichtigen informationen in speichereinheiten mit wahlweisem zugriff, insbesondere von steuerbits in als cache-speicher arbeitenden pufferspeichern einer datenverarbeitungsanlage | |
EP0613077B1 (de) | Verfahren zur Reset-Erzeugung in Datenverarbeitungsanlagen | |
DE102017115057B4 (de) | Verfahren zur Überprüfung sicherheitsrelevanter Register- oder Speicherzellen auf Stuck-At-Fehler im Betrieb durch Vergleich zweier Schreibvorgänge mit unterschiedlichem Inversionsstatus | |
DE102017115058B4 (de) | Verfahren zur Überprüfung sicherheitsrelevanter Register- oder Speicherzellen auf Stuck-At-Fehler im Betrieb und Herbeiführung der Ausfallsicherheit | |
EP0645710A2 (de) | Verfahren zur Funktionsprüfung signaltechnisch nicht sicherer Speicher für mindestens zweikanalig abgespeicherte Nutzdaten und Einrichtung zur Durchführung des Verfahrens | |
DE60209201T2 (de) | Verfahren zum Speichern von Registereigenschaften in einer Datenstruktur und dazugehörige Datenstruktur | |
DE10128996B4 (de) | Verfahren und Vorrichtung zur Überwachung von Speicherzellen eines flüchtigen Datenspeichers | |
DE10206189A1 (de) | Speichertest |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8110 | Request for examination paragraph 44 | ||
8127 | New person/name/address of the applicant |
Owner name: MANNESMANN VDO AG, 60326 FRANKFURT, DE |
|
8131 | Rejection |