-
Die Erfindung betrifft Mikroprozessorsysteme.
Mikroprozessorsysteme arbeiten mikrokodegesteuert. Das
Mikroprozessorsystem weist viele unterschiedliche
Hilfsschaltkreise auf, beispielsweise Speicher-, Taktgeber- und
Registerschaltkreise, welche über elektrisch leitende
Verbindungen miteinander in Verbindung stehen. Wenn bei dem
Mikroprozessor ein Fehler auftritt, können die
Hilfsschaltkreise fehlerhaft manipuliert werden und einen
fehlerhaften elektronischen Zustand einnehmen. Der Schutz der
Speicherelemente ist wichtig, um einen Fehler wieder rückgängig
machen zu können oder die Art des Fehlers zu erkennen. Ein
Nachteil herkömmlicher Mikroprozessorsysteme ist die
Unfähigkeit, den elektronischen Zustand der Hilfsschaltkreise
vor Fehlern zu bewahren, die von einem fehlerhaften
Mikroprozessor hervorgerufen werden.
-
Aus der US-A-4332009 ist ein Speicherschutzsystem bekannt, bei
welchem ein bestimmtes Kodewort in der Datenleitung zeitlich
vor einem Schreibvorgang erscheinen muß.
-
Es ist eine Aufgabe der Erfindung, die Hilfsschaltkreise zu
schützen. Erfindungsgemäß wird dies durch ein
Speicherschutzsystem mit den in Anspruch 1 beschriebenen
Merkmalen erreicht.
-
Wie durch die nachfolgende Beschreibung erläutert wird, ist ein
logischer Zwischenspeicher wie ein Flipflop zwischen einem
Mikroprozessor und den Hilfsschaltkreisen vorgesehen, um diese
zu schützen. Der Mikroprozessor kann sowohl den
Zwischenspeicher, als auch die Hilfsschaltkreise manipulieren,
jedoch können die Hilfsschaltkreise nicht manipuliert werden,
bevor der logische Zwischenspeicher manipuliert wurde. Der
logische Zwischenspeicher ermöglicht also, daß die
Hilfsschaltkreise von dem Mikroprozessor manipuliert werden
können. Infolgedessen muß der Mikroprozessor eine korrekte
Abfolge von Koden in einer bestimmten Reihenfolge senden, um
die Hilfsschaltkreise manipulieren zu können. Der
Mikroprozessor muß zuerst freigeben, d. h. den Zwischenspeicher
setzen, und kann dann erst die Hilfsschaltkreise manipulieren.
Diese geordnete Reihenfolge wird bei einem herkömmlichen
fehlerhaften Betrieb des Mikroprozessors nicht vorhanden sein.
Aus diesem Grund wird der Mikroprozessor nicht dazu in der Lage
sein, die Hilfsschaltkreise in fehlerhafter Weise während des
fehlerhaften Betriebs des Mikroprozessors zu manipulieren.
Diese Unfähigkeit schützt die Hilfsschaltkreise vor einem
fehlerhaften Eingriff durch den Mikroprozessor. Verbindende
Datenübertragungspfade können von rechnerfernen intelligenten
Einrichtungen abgefragt werden, um den elektronischen Zustand
der Hilfsschaltkreise abzufragen. Diagnostische Funktionen und
Wartungsfunktionen können auch von den rechnerfernen
intelligenten Abfrageeinrichtungen durchgeführt werden. Der
Schutz kann im einzelnen für kritische gespeicherte
Informationen gewährleistet sein, welche nicht fehlerhaft von
dem Mikroprozessor überschrieben werden sollen.
-
In der Zeichnung ist eine schematische Darstellung gezeigt, bei
welcher ein Flipflop für die Freigabe des Schreibens in ein
Speicherelement vorgesehen ist.
-
Wie aus Fig. 1 ersichtlich ist, verwendet ein Mikroprozessor 10
die Adressenleitungen 12 für die Datenübertragung. Die
Adressenleitungen 12 sind mit den Adressendekodierern 14 und 16
verbunden. Die Adressendekodierer 14 und 16 dekodieren die in
den Adressenleitungen 12 übertragenen Adressen. Diejenige
Adresse, welche den Ausgang des mit einer Leitung 18
verbundenen Dekodierers 14 wählt, unterscheidet sich von
derjenigen Adresse, welche den Ausgang des mit einer Leitung 20
verbundenen Dekodierers 16 wählt. Die Dekodierer 14 und 16
weisen aktive L-Ausgänge auf und werden von dem Mikroprozessor
10 freigegeben.
-
Der Mikroprozessor 10 weist auch einen mit einer Leitung 22
verbundenen Schreibsteuer-Ausgang und einen mit einer Leitung
24 verbundene Lesesteuer-Ausgang auf. Der mit der Leitung 22
verbundene Schreibsteuer-Ausgang und der mit der Leitung 24
verbundene Lesesteuer-Ausgang sind aktive L-Ausgänge. Der mit
der Leitung 22 verbundene Schreibsteuer-Ausgang gibt den
Schreib-Dekodierer 14 frei und der mit der Leitung 24
verbundene Lesesteuer-Ausgang gibt den Lese-Dekodierer 16 frei.
Der Schreibdekodierer 14 hat einen aktiven L-Steuerausgang zur
Leitung 18, wobei diese Steuerleitung die Funktion hat, das
Speicherelement 26 freizugeben. Ein Flipflop 30 ist dazu
vorgesehen, das Speicherelement 26 zu schützen. Ein
Hilfsschaltkreis, hier das Speicherelement 26, kann bestimmte
Zustände einnehmen. Ein Freigabegatter 28 gibt das Steuersignal
des Dekodierers 14 in Leitung 18 frei, um damit das
Speicherelement 26 freizugeben. Der Lese-Dekodierer 16 hat
einen aktiven L-Ausgang zur Leitung 20. Der Steuerausgang zur
Leitung 20 hat die Funktion, den Zustand des Flipflops 30 zu
setzen und diesen so freizugeben. Der Mikroprozessor 10 bedient
sich also des Lese-Dekodierers 16, um den Zustand des Flipflops
30 zu setzen.
-
Der Mikroprozessor 10 muß eine genaue Abfolge von Befehlen
ausgeben, um in das Speicherelement 26 schreiben zu können.
Beim Starten des Systems wird ein Einschaltsignal durch die
Leitung 32 übermittelt. Das Einschaltsignal setzt den Flipflop
30 zurück. Der mit einer Leitung 34 verbundene Q-Ausgang des
Flipflops 30 wird dann auf einen inaktiven L-Zustand mit
üblicherweise geringer Ausgangsspannung eingestellt. Von dem Q-
Ausgang des Flipflops 30 über die Leitung 34 wird dann ein
Signal zu dem Freigabegatter 28 übermittelt. Das Freigabegatter
28 liefert aufgrund des Steuerausgangs in Leitung 18 ein
Freigabesignal zur Leitung 36, welche ihrerseits mit dem
Speicherelement verbunden ist. Das durch die Leitung 36
gesandte Freigabesignal ermöglicht es, daß Daten in das
Speicherelement 26 geschrieben werden können. Wenn der mit der
Leitung 34 verbundene Q-Ausgang des Flipflops 30 seinen
L-Zustand einnimmt, sperrt das Freigabegatter das in der
Leitung 18 vorhandene aktive L-Signal und verhindert daher ein
Übermitteln eines Freigabesignals durch die Leitung 36 zu dem
Speicherelement 26.
-
Der Mikroprozessor 10 muß zuerst den Flipflop 30 setzen, um in
das Speicherelement 26 schreiben zu können. Der Mikroprozessor
10 verursacht, daß das Lese-Steuersignal durch Leitung 24 in
seinen aktiven L-Zustand einnimmt und übermittelt dieses
Signal, um den Dekodierer 16 freizugeben. Gleichzeitig sendet
der Mikroprozessor 10 eine Adresse durch die Adressenleitung
12, welche ebenfalls mit dem Dekodierer 16 verbunden ist. Die
durch Leitung 12 übertragene Adresse entscheidet, welcher
Ausgang des Dekodierers 16 aktiviert wird. Der Lese-Dekodierer
16 sendet ein aktives L-Signal durch die Leitung 20, wenn eine
bestimmte Adresse übermittelt wird. Ein durch Leitung 20
gesandtes aktives L-Signal verursacht das Setzen des Flipflops
30. Aufgrund des Setzens des Flipflops 30 gibt der mit der
Leitung 34 verbundene Q-Ausgang das Freigabegatter 28 frei und
veranlaßt so das Freigabegatter 28 ein Freigabesignal durch
Leitung 36 zu senden, welches das durch die Leitung 18
übermittelten Signal repräsentiert. Wenn das Freigabegatter 28
freigegeben ist und ein Freigabesignal durch die Leitung 18
übermittelt wird, ermöglicht ein durch die Leitung 36
übermitteltes aktives Freigabesignal, daß in das
Speicherelement 26 eingeschrieben werden kann.
-
Der Mikroprozessor 10 startet den Einschreibvorgang, nachdem
der Flipflop 30 gesetzt wurde. Der Mikroprozessor 10
übermittelt eine weitere bestimmte Adresse zu dem Dekodierer
14. Diese bestimmte Adresse wählt, welcher der Ausgänge des
Dekodierers 14 angesteuert wird, wobei der aktive Ausgang mit
der Leitung 18 verbunden ist. Gleichzeitig sendet der
Mikroprozessor 10 ein logisches Schreib-Steuersignal durch die
Leitung 22. Das durch die Leitung 22 übermittelte aktive L-
Signal und die durch die Leitung 12 gesandte spezielle Adresse
veranlassen den Dekodierer 14, ein aktives L-Signal durch die
Leitung 18 zu senden. Dieses durch die Leitung 18 gesendete
aktive L-Signal wird dann dem Freigabegatter 28 zugeführt,
welches das Speicherelement 26 freigibt. Durch die
Datenleitungen 38 werden von dem Mikroprozessor 10 Daten zu dem
Speicherelement 26 zugeführt, wodurch das Schreiben in das
Speicherelement 26 bewirkt wird.
-
Mit Beendigung des Schreibvorgangs sendet der Mikroprozessor 10
ein inaktives Signal des logischen Zustands H durch die Leitung
22. Der Dekodierer 14 sendet mit Wegfallen des Schreibsignals
in Leitung 22 ein Sperrsignal durch die Leitung 18. Das
Freigabegatter 28 sendet damit ein inaktives Sperrsignal durch
die Leitung 36. Das Speicherelement 26 wird dann gesperrt.
-
Der Flipflop 30 wird aufgrund es Sperrsignals durch Leitung 22
zurückgesetzt. Durch das Zurücksetzen nimmt der mit der Leitung
34 verbunden Ausgang Q wieder seinen L-Zustand ein und sperrt
damit das Freigabegatter 28.
-
Der D-Eingang des Flipflops 30 ist geerdet, am
Zurücksetzeingang liegt über eine Leitung 32 ein aktives
L-Einschaltsignal an, am Setzeingang liegt ein mittels der mit
dem Dekodierer 16 verbundenen Leitung 20 übermitteltes aktives
L-Signal an, am Taktgebereingang liegt ein mittels der Leitung
22 und von dem Mikroprozessor ausgegebenes aktives L-Schreib-
Steuersignal an, und der Q-Ausgang ist mittels der Leitung 34
mit dem Freigabegatter 28 verbunden. Am Freigabeeingang des
Dekodierers 16 wird ein durch die Leitung 24 übermitteltes
aktives L-Lesesignal ausgegeben. Am Freigabeeingang des
Dekodierers 14 wird mittels der Leitung 18 ein aktives L-
Schreibsignal ausgegeben. Der D-Flipflop wird durch eine
Taktung dadurch getriggert, daß ein Wechsel von einem aktiven
L-Schreibsignal zu einem inaktiven Sperrsignal in der Leitung
22 stattfindet.
-
Der Mikroprozessor 10 muß einen Lesebefehl mit der bestimmten
Adresse ausführen, bevor der Schreibbefehl zum Schreiben in das
Speicherelement 26 ausgeführt werden kann. Fehlerhafte Zustände
des Mikroprozessors sind damit voraussehbar. Durch das
Einsetzen des Flipflops 30 wird das Speicherelement 26 vor
fehlerhaft arbeitenden Mikroprozessoren geschützt. Der
Mikroprozessor 10 muß eine geordnete Lese- und dann Schreib-
Abfolge einhalten, um in das Speicherelement 26 Scheiben zu
können. Das Erfordernis, erst lesen und dann schreiben zu
können, bietet einen zusätzlichen Schutz.