17
Fakultät Informatik Institut für Technische Informatik, Professur für VLSI-Entwurfssysteme, Diagnostik und Architektur Erweiterung der Trace-Hardware eines Mikroprozessors für die Fehlerinjektion und -beobachtung Vorstellung der Diplomarbeit Marco Gunia [email protected] 28. November 2013

Erweiterung der Trace-Hardware eines Mikroprozessors für ... · Aktueller Stand ZiLOG Z80 Der ZiLOG Z80 beschreibt einen 8-Bit CISC-Mikroprozessor, der abwärtskompatibel zum 8080

  • Upload
    ledan

  • View
    220

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Erweiterung der Trace-Hardware eines Mikroprozessors für ... · Aktueller Stand ZiLOG Z80 Der ZiLOG Z80 beschreibt einen 8-Bit CISC-Mikroprozessor, der abwärtskompatibel zum 8080

Fakultät Informatik Institut für Technische Informatik, Professur für VLSI-Entwurfssysteme, Diagnostik und Architektur

Erweiterung der Trace-Hardwareeines Mikroprozessors für dieFehlerinjektion und -beobachtung

Vorstellung der Diplomarbeit

Marco [email protected]

28. November 2013

Page 2: Erweiterung der Trace-Hardware eines Mikroprozessors für ... · Aktueller Stand ZiLOG Z80 Der ZiLOG Z80 beschreibt einen 8-Bit CISC-Mikroprozessor, der abwärtskompatibel zum 8080

Inhalt

• Einleitung

• Aufgabenstellung

• Aktueller Stand

• Verbleibende Aufgaben

28. November 2013 Vorstellung der Diplomarbeit Folie 2 von 17

Page 3: Erweiterung der Trace-Hardware eines Mikroprozessors für ... · Aktueller Stand ZiLOG Z80 Der ZiLOG Z80 beschreibt einen 8-Bit CISC-Mikroprozessor, der abwärtskompatibel zum 8080

EinleitungFehler in digitalen Schaltungen

Fehler in digitalen Schaltungen unterteilen sich in

• Permanente Faults und→ Defekte in der Metallisierung,→ Defekte in den Diffusionsgebieten,→ Defekte in den Isolatoren,→ Defekte beim Chip Bonding,→ Defekte bei der el. Kontaktierung,→ Entwurfsfehler und→ Alterungseffekte.

• Transiente Faults.→ Externe Strahlung,→ Rauschen und→ Elektromagetische Störungen.

28. November 2013 Vorstellung der Diplomarbeit Folie 3 von 17

Quelle: [Hill04]

Quelle: [Wol07]

Page 4: Erweiterung der Trace-Hardware eines Mikroprozessors für ... · Aktueller Stand ZiLOG Z80 Der ZiLOG Z80 beschreibt einen 8-Bit CISC-Mikroprozessor, der abwärtskompatibel zum 8080

EinleitungTrace

Klassische Debug-Techniken zur Fehlersuche

• Simulation,

• In-Circuit Emulator oder

• Software Instrumentation.

Nachteile klassischer Techniken:

• Genauigkeit,

• Intrusivität und

• Postmortem Debugging.

→ Tracing beschreibt den Prozess der Protokollierung der Zustandsänderungeines Systems während der Programmausführung. Das Resultat wird Tracebezeichnet. [Ale09]

28. November 2013 Vorstellung der Diplomarbeit Folie 4 von 17

Page 5: Erweiterung der Trace-Hardware eines Mikroprozessors für ... · Aktueller Stand ZiLOG Z80 Der ZiLOG Z80 beschreibt einen 8-Bit CISC-Mikroprozessor, der abwärtskompatibel zum 8080

Aufgabenstellung

Das Ziel der Arbeit ist die kontrollierte Nachbildung sowohl transienter als auchpermanenter Fehler in einem Mikoprozessor ohne Unterbrechung derProgrammausführung durch eine Erweiterung vorhandener Trace-Hardware.

• Literaturstudium zu Fehlermodellen, Fehlerinjektion und Fehlernachweis,

• Literaturstudium zu Trace- und Debug-Hardware in aktuellenMikroprozessoren,

• Analyse der Anforderungen an eine Erweiterung der Trace-Infrastruktur,

• Analyse der Beobachtbarkeit der injizierten Fehler mittels Trace,

• Entwurf und prototypische Implementierung der Trace-Erweiterung mitParametrierung,

• Test der Fehlerinjektion und -beobachtung am konkreten Beispiel und

• Bewertung und Dokumentation der erzielten Ergebnisse.

28. November 2013 Vorstellung der Diplomarbeit Folie 5 von 17

Page 6: Erweiterung der Trace-Hardware eines Mikroprozessors für ... · Aktueller Stand ZiLOG Z80 Der ZiLOG Z80 beschreibt einen 8-Bit CISC-Mikroprozessor, der abwärtskompatibel zum 8080

GrundlagenFehler in digitalen Schaltungen

Es wird unterschieden zwischen Faults, Errors und Failures.

Faults Errors Failures

PhysicalUniverse

InformationalUniverse

ExternalUniverse

FaultLatency

ErrorLatency

28. November 2013 Vorstellung der Diplomarbeit Folie 6 von 17

Unterscheidung zwischen Faults, Errors and Failures (Quelle: [Joh89])

Page 7: Erweiterung der Trace-Hardware eines Mikroprozessors für ... · Aktueller Stand ZiLOG Z80 Der ZiLOG Z80 beschreibt einen 8-Bit CISC-Mikroprozessor, der abwärtskompatibel zum 8080

GrundlagenFehler in digitalen Schaltungen

Begriffe:• Fehlermodelle,• Fehlerinjektion,

→ Physikalische Fehlerinjektion,→ Hardwarefehlerinjektion,→ Softwarefehlerinjektion und→ Simulationsbasierte

Fehlerinjektion.• Fehlertolerante Systeme und

→ Fault Avoidance,→ Fault Masking und→ Fault Tolerance.

• Redundanz.→ Hardware,→ Information und→ Zeit.

28. November 2013 Vorstellung der Diplomarbeit Folie 7 von 17

Modul 1

Modul 2

Modul 3

Voter

Input 1

Input 2

Input 3

Output

Triple Modular Redundancy (Quelle: [Joh89])

Page 8: Erweiterung der Trace-Hardware eines Mikroprozessors für ... · Aktueller Stand ZiLOG Z80 Der ZiLOG Z80 beschreibt einen 8-Bit CISC-Mikroprozessor, der abwärtskompatibel zum 8080

Aktueller Stand

Folgende Arbeiten wurden vor Beginn der Diplomarbeit durchgeführt:

• Entwurf des ZiLOG Z80 Prozessors in Verilog mithilfe von Standardzellen.

Folgende Aufgaben wurden im Rahmen der Diplomarbeit bearbeitet:

• Präsentation von Trace-Hardware in aktuellen Mikroprozessoren,

• Synthese des Z80 auf einem Xilinx Virtex 5,

• Einarbeitung in das zur Verfügung gestellte Trace-Framework und dessenIntegration in den Prozessor,

• Vorstellung von Fehlermodellen, Fehlerinjektion und Fehlernachweis,

• Untersuchung von Alternativen für die Fehlerinjektion und

• Entwicklung einer Methode zur Fehlerinjektion in den Z80.

28. November 2013 Vorstellung der Diplomarbeit Folie 8 von 17

Page 9: Erweiterung der Trace-Hardware eines Mikroprozessors für ... · Aktueller Stand ZiLOG Z80 Der ZiLOG Z80 beschreibt einen 8-Bit CISC-Mikroprozessor, der abwärtskompatibel zum 8080

Aktueller StandZiLOG Z80

Der ZiLOG Z80 beschreibt einen 8-Bit CISC-Mikroprozessor, der abwärtskompatibelzum 8080 von Intel konzipiert wurde. Ausgewählte Eigenschaften:

• General Purpose Register,– Sieben Register und ein Flagregister sowie deren Schattenregister.– Für 16-Bit Operationen Konkatenation von 8-Bit Registern zu 16-Bit

Registern.• Weitere Register und

– Befehlszähler,– Stackpointer und– Indexregister.

• Interrupts.– Maskierbare und

nichtmaskierbare Interrupts,– Laden des nachfolgenden

Befehls aus Speicher oderüber externen Datenbus.

28. November 2013 Vorstellung der Diplomarbeit Folie 9 von 17

IPRAM

MemoryControl Unit

IDRAM

Sele

cts

Sele

cts

MicroprogramControl Unit

Controls

ALU

Register

InitializeOperation

Load

Store

Result

Data Bus

Address Bus

Page 10: Erweiterung der Trace-Hardware eines Mikroprozessors für ... · Aktueller Stand ZiLOG Z80 Der ZiLOG Z80 beschreibt einen 8-Bit CISC-Mikroprozessor, der abwärtskompatibel zum 8080

Aktueller StandIntegration der Trace-Hardware in den Z80

Das Trace-Modul wurde von Herrn Stefan Alex im Rahmen seiner Diplomarbeit fürSHAP konzipiert. Es ist durch folgende Eigenschaften gekennzeichnet:

• Off-Chip-Trace unter Nutzung der Gigabit-Ethernet-Schnittstelle,

• Protokollierung von Instruktionen, Daten, Nachrichten und Statistiken,

• Auswahl zwischen zyklusakkurater undnicht-zyklusakkurater Aufzeichnung,

• Cross-Trigger-Funktionalität,

• Kompaktierung der Trace-Daten mittels– Program-Flow-Change-Model,– XOR-, Trim- oder Differenz-

kompression.

• Bereitstellung der Host-Softwarezur Dekodierung.

28. November 2013 Vorstellung der Diplomarbeit Folie 10 von 17

IPRAM

MemoryControl Unit

IDRAM

Sele

cts

Sele

cts

MicroprogramControl Unit

Controls

ALU

Register

InitializeOperation

Load

Store

Result

Data Bus

Address Bus

Trace

Trace Data

Trace Bus

Page 11: Erweiterung der Trace-Hardware eines Mikroprozessors für ... · Aktueller Stand ZiLOG Z80 Der ZiLOG Z80 beschreibt einen 8-Bit CISC-Mikroprozessor, der abwärtskompatibel zum 8080

Aktueller StandFehlermodelle und Fehlerinjektion

Im Rahmen der Arbeit werden

• Fehlermodelle auf Schalter-, Gatter- undRegistertransferebene vorgestellt, wobei sich

• die Nachbildung auf Stuck-at-0, Stuck-at-1und Bit-Flips auf Registertransferebenebeschränkt.

Zur Fehlerinjektion stehen folgende Verfahren zur Verfügung:

• Physikalische Fehlerinjektion,• Softwarefehlerinjektion,• Simulationsbasierte Fehlerinjektion und• Hardwarefehlerinjektion.

→ Rekonfigurationsbasierte Verfahren und→ Instrumentierungsbasierte Verfahren.

28. November 2013 Vorstellung der Diplomarbeit Folie 11 von 17

D Q=1

1

a

FIS CLK

MUX

Bit-Flip-Fehlermodell (Quelle: [Shi08], [Shi13])

FIS1 FIS2 FIS3 . FISn. . .

Steuerung der Fehlerinjektionssignale FIS

Maskenregister zur individuellen Auswahldes entsprechenden Faults (Quelle: [Civ+01b])

Page 12: Erweiterung der Trace-Hardware eines Mikroprozessors für ... · Aktueller Stand ZiLOG Z80 Der ZiLOG Z80 beschreibt einen 8-Bit CISC-Mikroprozessor, der abwärtskompatibel zum 8080

Aktueller StandHardwarefehlerinjektion

Instrumentierungsbasierte Verfahren:

• Hinzufügen von Schaltungsteilen zum Entwurf für die Fehlerinjektion.

Rekonfigurationsbasierte Verfahren:

• Klassische Rekonfiguration erzwingt die Veränderung des Quellcodes undsomit eine eigene Synthese, Place & Route und Bitfile-Generierung für jedenFault.

• Partielle Rekonfiguration umfasst die teilweise Veränderung des Bitstreamszur Laufzeit.→ Modifikation von LUTs oder→ Initialisierung von Flipflops.

Vergleich instrumentierungsbasierter und rekonfigurationsbasierter Verfahren:

• Durchführung mehrerer Experimente in Echtzeit mittelsinstrumentierungsbasierter Verfahren möglich, aber

• Keine zusätzliche Hardware für rekonfigurationsbasierte Verfahren notwendig.

28. November 2013 Vorstellung der Diplomarbeit Folie 12 von 17

Page 13: Erweiterung der Trace-Hardware eines Mikroprozessors für ... · Aktueller Stand ZiLOG Z80 Der ZiLOG Z80 beschreibt einen 8-Bit CISC-Mikroprozessor, der abwärtskompatibel zum 8080

Aktueller StandFehlerinjektion in den Z80

Bedingungen an die Fehlerinjektion:

• Keine Veränderung des Zeitverhaltens und• Synthesefähigkeit.

Verilog-Einschränkungen:

• Zuweisung an ein Signal stets nurin einem Prozess und

• Default-Anweisung für Signale am Anfangdes Prozesses nicht spezifikationskonform.

Lösung:

• Neue Signale an Flipflop-Ausgängen,• Rückführung auf ursprüngliche Signale

über Fehlerinjektionslogik und• Realisierung von „dauerhaften“Bit-Flips

mittels Signalzuweisung an Flipflop in jedem Takt.

28. November 2013 Vorstellung der Diplomarbeit Folie 13 von 17

FI_x

x FIFIS

CLK

DCombinational

logicInputs

Clock

xCLK

DCombinational

logicInputs

Clock

&FIS=0

FI_x FI_x

FIS=1

FIS=1

FI_x

≥1

=1

x x

x

Nachbildung stuck-at-0 (sa0) Nachbildung stuck-at-1 (sa1)

Nachbildung Bit-Flip

Page 14: Erweiterung der Trace-Hardware eines Mikroprozessors für ... · Aktueller Stand ZiLOG Z80 Der ZiLOG Z80 beschreibt einen 8-Bit CISC-Mikroprozessor, der abwärtskompatibel zum 8080

Aktueller StandFehlerinjektion in den Z80

Den Ausgangspunkt bildet eine synthetisierbare Verilog-Beschreibung. ZurIntegration der Fehlerinjektion wird der Quellcode in folgenden Schritten modifiziert:

• Preprocessor,→ Verändert die Hardwarebeschreibung entsprechend

den im Quellcode vorhandenen Präprozessoranweisungen.• Prettyprint,

→ Gruppiert Anweisungen und→ Formatiert den Quelltext.

• Mainprocessor und→ Erfasst die für die Fehlerinjektion relevanten Signale

und deren Eigenschaften (z.B. Signaltyp und -breite) und→ Ergänzt die Hardwarebeschreibung um Kennzeichner

zur Integration der Logik zur Fehlerinjektion.• Postprocessor.

→ Interpretiert die vom Mainprocessor ergänzten Kennzeichner,→ Erweitert die Beschreibung um Signale und Logik zur Fehlerinjektion.

28. November 2013 Vorstellung der Diplomarbeit Folie 14 von 17

.v

Preprocessor

Prettyprint

Mainprocessor

Prettyprint

Postprocessor

.v

Page 15: Erweiterung der Trace-Hardware eines Mikroprozessors für ... · Aktueller Stand ZiLOG Z80 Der ZiLOG Z80 beschreibt einen 8-Bit CISC-Mikroprozessor, der abwärtskompatibel zum 8080

Verbleibende Aufgaben

Folgende Aufgaben sind zu bearbeiten:

• Nachweis der aufgetretenen Fehler mittels Trace und

• Implementierung von Fehlertoleranzmaßnahmen und Evaluation.

28. November 2013 Vorstellung der Diplomarbeit Folie 15 von 17

Page 16: Erweiterung der Trace-Hardware eines Mikroprozessors für ... · Aktueller Stand ZiLOG Z80 Der ZiLOG Z80 beschreibt einen 8-Bit CISC-Mikroprozessor, der abwärtskompatibel zum 8080

Vielen Dank für dieAufmerksamkeit!

28. November 2013 Vorstellung der Diplomarbeit Folie 16 von 17

Page 17: Erweiterung der Trace-Hardware eines Mikroprozessors für ... · Aktueller Stand ZiLOG Z80 Der ZiLOG Z80 beschreibt einen 8-Bit CISC-Mikroprozessor, der abwärtskompatibel zum 8080

Quellen

[Ale09] Alex, S.: Entwurf und Implementierung einer parametrierbarenTrace-Hardware am Beispiel der SHAP-MikroarchitekturDiplomarbeit, TU Dresden: Institut für Technische Informatik, 2009

[Civ+01b] Civera, P. u.a.: FPGA-based Fault Injection for Microprocessor SystemsProceeding of the 10th Asian Test Symposium, 2001

[Hil04] Hilleringmann, U.: Silizium-Halbleitertechnologie.Wiesbaden: Teubner Verlag, 4. Auflage, 2004

[Joh89] Johnson, B.W.: Design and Analysis of Fault-Tolerant Digital SystemsAddison-Wesley Publishing Company, 1989

[Wol07] Wolter, K.-J.: Vorlesungmsskript Aufbau und Verbindungstechnik 1TU Dresden: Institut für Aufbau- und Verbindungstechnik der Elektronik, 2007

28. November 2013 Vorstellung der Diplomarbeit Folie 17 von 17