Mit dem Kienzle-Preis prämiierte Studienabschluß-Arbeit:Erhöhung der Sicherheit von Mikrocomputersystemen

14.09.1979

Der Kienzle-Preis wurde in diesem Jahr German Keim zugesprochen für seine Abschlußarbeit aus dem Fachbereich Ingenieur-Informatik an der Fachhochschule Furtwangen im Wintersemester 78/79. Die COMPUTERWOCHE bringt die gekürzte Fassung der Arbeit, die sich im wesentlichen mit Tests und Prüfverfahren befaßt, die dazu dienen sollen Fehlfunktionen der Systemkomponenten zu erkennen und die Wartung und Instandhaltung von Minicomputersystemen vereinfachen können.

Mikrocomputersysteme werden in großer Anzahl hergestellt. In vielen Fällen steuern sie komplizierte und teure Anlagen. Dieses ist Grund genug für den Hersteller, sich Gedanken über die Sicherheit seines Systems zu machen. Es sollte gewährleistet sein, daß zu keiner Zeit eine Gefahr für die gesteuerte Anlage noch für das diese Anlage bedienende Personal besteht.

Hierzu können zusätzlich Software und Hardware oder eine Mischung aus beidem eingesetzt werden. Man wird von System zu System anders vorgehen. Beispielsweise werden Fehler in einer Druckersteuerung anders belegt als in einer Maschinensteuerung. Immer aber wird man sich bemühen Fehlfunktionen rechtzeitig zu erkennen.

Während sich mit zusätzlicher Hardware Fehlfunktionen in den meisten Fällen recht schnell erkennen lassen, muß bei Softwarelösungen überlegt werden, wann überhaupt Tests ausgeführt werden können. Es bieten sich mehrere Zeitpunkte an: Nach der System-Initialisierung, in Prozess-Pausen oder vor kritischen Prozess-Abschnitten.

Andererseits können Hardwarelösungen gegenüber Softwarelösungen sehr aufwendig sein, so daß man sich dann zu einer Softwarelösung entschließen wird.

Nach dem Erkennen einer Fehlerfunktion muß eine Fehlerbehandlung eingeleitet werden. Die kann zur Folge haben, daß der defekte Teil der Anlage abgeschaltet oder sogar die gesamte Anlage stillgelegt wird. In vielen Systemen ist es auch notwendig, den Fehler durch Warnsignale zu signalisieren. Zu solchen Systemen gehören zum Beispiel Klimagerätsteuerungen.

Die Komplexität der CPU

Die wichtigste Komponente eines Mikrocomputersystems ist die Zentraleinheit (CPU). Ihre Sicherheit sollte die zentrale Rolle bei den Zuverlässigkeitsbetrachtungen spielen. Ihre Komplexität sowie der hohe Integrationsgrad und somit die Vielzahl der logischen Funktionen, die hier zu einem Baustein zusammengefaßt sind, machen ihre Sicherung jedoch schwierig.

Durch den Parallelbetrieb zweier oder mehrerer Zentraleinheiten die synchron arbeiten und deren Ausgangssignale mittels Komparatoren vergleichen werden, kann die fehlerhafte Abweichung einer Zentraleinheit erkannt werden. Weniger effektiv aber trotzdem interessant sind die Selbst-Testprogramme der Zentraleinheit. Für dieses Verfahren

müssen jedoch gewisse Grundfunktionen als fehlerfrei vorausgesetzt werden. Darauf aufbauend werden dann weitere Funktionen der Zentraleinheit getestet. Erst werden

die weniger komplexen und dann die komplexeren Funktionen geprüft. Ein Nachteil der ZE-Selbst-Testprogramme ist der, daß sie nur den jeweils augenblicklichen Zustand der Zentraleinheit testen können. Ebenso muß in den meisten Fällen ein sinnvoller Kompromiß

zwischen der für den Test zur Verfügung gestellten Zeit und der Testintensität getroffen werden, was zur Folge hat, daß nur einige wichtige Funktionen geprüft werden können.

Es ist gleichfalls sehr wichtig, den Festwertspeicher zu prüfen. Hierbei muß festgestellt werden, ob die in ihm abgespeicherten Daten und Programme noch wie vorgesehen vorhanden sind. Prüfen läßt sich durch Ergänzung der Speicherinformation

leicht mit einem Prüfschema. Es hat sich gezeigt, daß ein mit einem zyklischen Verfahren (CRC) erstelltes Prüfschema von 16 Bit bei einem ausreichend großen Speicher eine Restfehlerwahrscheinlichkeit von Pre 1,526 10(-5) erreichen kann.

Ein weiteres wichtiges Element in einem Mikrocomputersystem ist der Schreib/Lesespeicher. Seine Funktion kann auf verschiedene Arten geprüft werden. Ein bekanntes Verfahren dafür ist die Erweiterung der Speicherwörter um ein zusätzliches Paritätsbit. In diesem zusätzlichen Bit wird die Summe in Modulo 2 des Datenwortes abgespeichert. Beim Lesen wird sie durch entsprechende Dekodierung geprüft So kann jeder Informationsverlust, der durch eine ungerade Anzahl von Bits des Datenwortes möglich ist, erkannt werden. Die Logik zu diesem Prüfverfahren läßt sich mit geringem Aufwand realisieren, wie dies ein Versuchsaufbau an einem 8080-System gezeigt hat.

Man kann auch Software

prüfen

Wo sich die Zusatzlogik vom Aufwand her nicht lohnt, kann man auch mit Software die Funktion des Schreib-/Lesespeichers prüfen. Die Prüfprogramme können jedoch wie bei den ZE:-Selbsttests nur einen bestimmten Zustand prüfen. Ein großes Problem beim Prüfen der Schreib-/Lesespeicher ist die Gefahr Daten im Speicher zu zerstören. Das kann jedoch durch entsprechende Programme vermieden werden. Von wesentlicher Bedeutung sind auch die Prüfkombinationen mit denen die Speicherzellen getestet werden. Da solche Programme auch bei großen Speichern in endlicher Zeit ablaufen sollen, ist für die Prüfkombination eine entsprechende Auswahl zu treffen, die die Qualität des Prüfprogrammes mit bestimmt.

Weitere Elemente, die in einem Mikrocomputersystem auftreten, sind die peripheren Bausteine. Ihre Komplexität und Vielfalt an Anwendungsmöglichkeiten lassen es nicht zu, schematisierte und allgemeingültige Testprinzipien zu entwickeln. Jedes Prüfverfahren wird sehr stark durch die Anwendung selbst bestimmt, für die der einzelne periphere Baustein verwendet wird. Signale, die an Kontrolleuchten gehen, werden anders behandelt werden, als die, die wichtige Ventile oder andere Steuerelemente betätigen.

Für die Wahl- des richtigen Sicherungsverfahrens wird in diesem Bereich ein größerer Aufwand betrieben werden müssen. Es hat sich gezeigt, daß es unter Umstände sogar möglich ist, Sicherungsverfahren einzusetzen, die in gewissen Grenzen "selbstheilend" sind.

Sämtliche in diesem Artikel angedeuteten Tests und Prüfverfahren können nicht nur dazu dienen Fehlfunktionen zu erkennen, sondern auch die Wartung und Instandsetzung der Systeme wesentlich zu vereinfachen. Dieses kompensiert sicher einen Teil des für die Sicherheit geführten Mehraufwandes.

Informationen: German Keim, Saarstraße 27, 7251 Hemmingen