Fauster, L. (2010). CPU-Errata : eine Klassifizierung und Tolerierung durch Diversität [Diploma Thesis, Technische Universität Wien]. reposiTUm. http://hdl.handle.net/20.500.12708/159790
Tritt während des Betriebes eines sicherheitskritischen Systems ein Design-Fehler auf, so muss es möglich sein, diesen Fehler zu erkennen und tolerieren. Werden seriengefertigte Komponenten (so genannte COTS) verwendet, so sind derartige Mechanismen noch wichtiger, da diese häufig fehleranfälliger sind. So können etwa moderne Mikroprozessoren mehrere Dutzend Fehler (so genannte Errata) enthalten.<br />Diese Arbeit beschäftigt sich zuerst mit der Erstellung einer Klassifizierung dieser, in CPUs vorhandenen, Errata und der Anwendung dieser Einteilung an zwei aktuellen Mikroprozessor-Serien aus dem Desktop-Bereich. Anschließend wird die Frage behandelt, inwieweit Softwarediversität - welche durch unterschiedliche Compiler bzw.<br />unterschiedlichen Compileroptionen entsteht - es erlaubt, diese Fehler zu erkennen und tolerieren. Dazu wurde ein Programm erstellt, welches es ermöglicht, diese Art von Diversität anhand unterschiedlicher Faktoren, wie etwa die Reihenfolge von CPU-Instruktionen, zu quantifizieren und somit Rückschlüsse auf die Wirksamkeit zu ermöglichen. Es konnte unter anderem festgestellt werden, dass eine Vielzahl der Errata an teilweise sehr stringente Bedingungen gebunden sind, d. h. eine kleine Veränderung bereits das Eintreten eines Erratums verhindern kann. Zusammen mit den Ergebnissen aus der Anwendung des erstellten Programmes an fünf verschiedenen Testprogrammen, konnte gezeigt werden, dass - abhängig von den verwendeten Compileroptionen und Programmen - teilweise deutliche Diversität (durchschnittlich 29%) erzeugt wird, die sich hinsichtlich der Erkennung von potenziell vorhandenen Errata positiv auswirkt.<br />
de
If a design fault arises during the operation of a dependable system, fault-tolerance is needed. It's even more important, if components off-the-shelf (COTS) are used. Due to their frequent higher complexity, these components are often more error prone. Modern CPUs may contain up to several dozen so called errata. This thesis presents a taxonomy which allows to classify these errata. Afterwards the taxonomy is used to classify the design faults of two different CPU series. After that, the effectiveness of the use of software diversity, generated by the use of different compiler options, is analyzed. To achieve this objective, a program was written that uses different parameters (e. g.<br />the order of assembler instructions) to quantify the amount of diversity. It was shown that a large part of the errata are only activated, if strict conditions are met. This means that a marginal variation may suffice to avoid an erratum. In conjunction with the results of the quantification process of five different test programs, it was shown that a fairly high amount (an average of 29%) of diversity can be achieved, although it varies from program to program and depends on which compiler options are used. It was demonstrated that the detection and toleration of design faults benefits from the use of the mentioned software diversity.
en
Additional information:
Abweichender Titel laut Übersetzung der Verfasserin/des Verfassers Zsfassung in engl. Sprache