Automatische Erzeugung und Bewertung virtueller Duplexsysteme zur Erkennung von Betriebsfehlern in Mikroprozessoren Markus Jochim.

Slides:



Advertisements
Ähnliche Präsentationen
Anzahl der ausgefüllten und eingesandten Fragebögen: 211
Advertisements

Kap. 7 Sortierverfahren Kap. 7.0 Darstellung, Vorüberlegungen
Motivation Bisher: Codes mit möglichst kurzer Codelänge.
CPI Der einzelne Befehl braucht immer noch 5 Zyklen (stimmt nicht ganz, einige brauchen weniger!) Was verbessert wird, ist der Durchsatz = #Befehle /
Vorlesung: 1 Betriebliche Informationssysteme 2003 Prof. Dr. G. Hellberg Studiengang Informatik FHDW Vorlesung: Betriebliche Informationssysteme Teil3.
Empirisches Praktikum
Struktur-Funktions-Modelle von Pflanzen - Sommersemester Winfried Kurth Universität Göttingen, Lehrstuhl Computergrafik und Ökologische Informatik.
Informatik 12 | DAES Compilerbau Wintersemester 2010 / 2011 Dr. Heiko Falk Technische Universität Dortmund Lehrstuhl Informatik 12 Entwurfsautomatisierung.
Technische Universität Dortmund
Software-Engineering II Eingebettete Systeme, Softwarequalität, Projektmanagement Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt.
On the Criteria to Be Used in Decomposing Systems into Modules
Trimino zum Kopf- oder halbschriftlichen Rechnen
Institut für Angewandte Mikroelektronik und Datentechnik Fachbereich Elektrotechnik und Informationstechnik, Universität Rostock Holger Harms, Harald Widiger,
Modelle und Methoden der Linearen und Nichtlinearen Optimierung (Ausgewählte Methoden und Fallstudien) U N I V E R S I T Ä T H A M B U R G November 2012.
Modelle und Methoden der Linearen und Nichtlinearen Optimierung (Ausgewählte Methoden und Fallstudien) U N I V E R S I T Ä T H A M B U R G November 2011.
Modelle und Methoden der Linearen und Nichtlinearen Optimierung (Ausgewählte Methoden und Fallstudien) U N I V E R S I T Ä T H A M B U R G November 2011.
Modelle und Methoden der Linearen und Nichtlinearen Optimierung (Ausgewählte Methoden und Fallstudien) U N I V E R S I T Ä T H A M B U R G November 2012.
Einführung in Berechenbarkeit und Formale Sprachen
1 Energiebewusste Compilierung für digitale Signalprozessoren Markus Lorenz Peter Marwedel Universität Dortmund Lehrstuhl Informatik XII Projekt Prozessorarchitekturen.
0 Energieeffiziente Compilierung für Digitale Signalprozessoren Markus Lorenz Peter Marwedel Rainer Leupers Projekt Prozessorarchitekturen und Compilertechniken.
= = = = 47 = 47 = 48 = =
Kapitel 4 Syntaktische Analyse: LR Parsing.
WS 2009/10 1 Systeme 1 Kapitel 1 Aufbau von Rechnern.
Rechneraufbau & Rechnerstrukturen, Folie 2.1 © W. Oberschelp, G. Vossen W. Oberschelp G. Vossen Kapitel 2.
Grundkurs Theoretische Informatik, Folie 2.1 © 2006 G. Vossen,K.-U. Witt Grundkurs Theoretische Informatik Kapitel 2 Gottfried Vossen Kurt-Ulrich Witt.
Universität Dortmund, Lehrstuhl Informatik 1 EINI II Einführung in die Informatik für Naturwissenschaftler und Ingenieure.
Vorlesung: 1 Betriebliche Informationssysteme 2003 Prof. Dr. G. Hellberg Studiengang Informatik FHDW Vorlesung: Betriebliche Informationssysteme Teil2.
Geometrische Objekte in Datenbanken Martin Pfeifle Institut für Informatik, Universität München Lehr- und Forschungseinheit für Datenbanksysteme Prof.
Vorlesung 2 Rechnerarchitektur Universität Bielefeld – Technische Fakultät AG Rechnernetze und verteilte Systeme Peter B. Ladkin
Vorlesung 3: Verschiedenes Universität Bielefeld – Technische Fakultät AG Rechnernetze und verteilte Systeme Peter B. Ladkin
Vorlesung 2 Rechnerarchitektur Peter B. Ladkin Wintersemester 2001/2002 Universität Bielefeld Technische Fakultät.
Christian Schindelhauer
AC Analyse.
Differentielles Paar UIN rds gm UIN
Wir suchen ‘ mit m = m    ‘ c  ‘ mod 26
Prof. Dr. Bernhard Wasmayr
Datenmanagement in Sensornetzen PRESTO - Feedback gesteuertes Datenmanagement - SS 2007 Sören Wenzlaff.
DVG Ablaufsteuerung
Prof. Dr. Bernhard Wasmayr VWL 2. Semester
Ralf KüstersDagstuhl 2008/11/30 2 Ralf KüstersDagstuhl 2008/11/30 3.
Der Prozessor - zentraler Bestandteil eines jeden Computers
INSTITUT FÜR DATENTECHNIK UND KOMMUNIKATIONS- NETZE 1 Harald Schrom ViEWcon08.
20:00.
© Gabriele Sowada © Gabriele Sowada 2 Manuell Beispiel 1 demonstriert die Vorgehensweise bei der manuellen Programm- Eingabe am.
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Kanton Basel-Stadt Folie September 2005 RR Dr. U. Vischer C. Tschumi.
Wir üben die Malsätzchen
Syntaxanalyse Bottom-Up und LR(0)
Präsentation läuft auch vollautomatisch ab … wie du möchtest
Auslegung eines Vorschubantriebes
HORIZONT 1 XINFO ® Das IT - Informationssystem HORIZONT Software für Rechenzentren Garmischer Str. 8 D München Tel ++49(0)89 /
Publikation auf Knopfdruck Judith Riegelnig Michael Grüebler 19. Oktober 2010 / Statistiktage Neuenburg.
Ertragsteuern, 5. Auflage Christiana Djanani, Gernot Brähler, Christian Lösel, Andreas Krenzin © UVK Verlagsgesellschaft mbH, Konstanz und München 2012.
CPU-Register EINLEITUNG UND INHALT eines Pentium Prozessors
Bedeutung, Technik, Einsatzbereiche, CH-Potenziale
Symmetrische Blockchiffren DES – der Data Encryption Standard
MINDREADER Ein magisch - interaktives Erlebnis mit ENZO PAOLO
Analyseprodukte numerischer Modelle
Programmieren in Assembler
Folie Beispiel für eine Einzelauswertung der Gemeindedaten (fiktive Daten)
Markus Jochim Universität Essen
Folie Einzelauswertung der Gemeindedaten
Mikrocomputertechnik 1 Einführung Prof. J. Walter Stand Oktober Mikrocomputertechnik Jürgen Walter „EVA-WAS-Quickie“ Eingabe – Verarbeitung - Ausgabe.
Rechnerstrukturen 3b. Endliche Automaten.
Robuste Programme durch Ausnahmebehandlung
1 Medienpädagogischer Forschungsverbund Südwest KIM-Studie 2014 Landesanstalt für Kommunikation Baden-Württemberg (LFK) Landeszentrale für Medien und Kommunikation.
Monatsbericht Ausgleichsenergiemarkt Gas – Oktober
Aktueller Stand der Technik. Auf dem Markt sind heute bereits 64-Bit Mikrocontroller. Die meiste Verwendung finden allerdings noch immer die 8-Bit Modelle.
Vom HW-Automaten zum Prozessor
 Präsentation transkript:

Automatische Erzeugung und Bewertung virtueller Duplexsysteme zur Erkennung von Betriebsfehlern in Mikroprozessoren Markus Jochim

Fehlererkennung durch VDS Einführung DIVERSI- Module Automatische Diversität Optimierung Fehler- Injektion Resultate Pessimistische Injektion Zusammen- fassung Seite 2 Verlässlichkeit von Rechensystemen Institut für Informatik und Wirtschaftsinformatik Universität Duisburg-Essen Annahme: In Abwesenheit von Soft- und Hardwarefehlern gilt: f 1 = f 2 = f 1,2 = f Ziel: Berechnung von f(E) bzw. Fehlererkennung mit einem Rechenknoten K. Unerkannte Wertefehler: f 1 (E) = f 2 (E) = f 1,2 (E) aber f 1,2 (E) f(E) V1V1 Knoten K Eingabe E V2V2 Maskierer f 2 (E) Einstimmig- keits- entscheidung Fehlermeldung f 1,2 (E) oder f 1 (E) Virtuelles Duplexsystem (VDS) (Zielfunktion f) Systemüberlistung Ablauf im VDS: 1) Ausführung V1 2) Ausführung V2 3) Maskierer

V1V1 V2V2 Prozessor Fehlererkennung durch VDS Einführung DIVERSI- Module Automatische Diversität Optimierung Fehler- Injektion Resultate Pessimistische Injektion Zusammen- fassung Seite 3 Verlässlichkeit von Rechensystemen Institut für Informatik und Wirtschaftsinformatik Universität Duisburg-Essen V1V1 Knoten K Eingabe E V2V2 Maskierer f 2 (E) Einstimmig- keits- entscheidung Fehlermeldung f 1,2 (E) oder f 1 (E) Virtuelles Duplexsystem (VDS) (Zielfunktion f) FehlerartGegenmittel HW-Fehler (temporär) HW-Fehler (permanent) SW-Fehler Zeitredundanz Diversität Entwurfsdiversität Source 1Source 2 !

Ziele dieser Arbeit ? Diversität auf Knopfdruck Hauptziel... Einführung DIVERSI- Module Automatische Diversität Optimierung Fehler- Injektion Resultate Pessimistische Injektion Zusammen- fassung Seite 4 Verlässlichkeit von Rechensystemen Institut für Informatik und Wirtschaftsinformatik Universität Duisburg-Essen

Ziele: Vollautomatische Diversifizierung auf Assemblerebene Automatische zielgerichtete Suche wirksamer Diversitäts-Kombinationen Experimentelle Bewertung automatisch erzeugter VDSe Kombination: Automatische Diversität + Entwurfsdiversität Pessimistische Fehlerinjektion Ziele und Gliederung... Einführung DIVERSI- Module Automatische Diversität Optimierung Fehler- Injektion Resultate Pessimistische Injektion Zusammen- fassung Seite 5 Verlässlichkeit von Rechensystemen Institut für Informatik und Wirtschaftsinformatik Universität Duisburg-Essen DIVERSI-Module Gliederung: Automatische Diversität Optimierung Fehler-Injektion, Resultat Pessimistische Injektion Bei Bedarf !

DIVERSI-Tool Einführung DIVERSI- Module Automatische Diversität Optimierung Fehler- Injektion Resultate Pessimistische Injektion Zusammen- fassung Seite 6 Verlässlichkeit von Rechensystemen Institut für Informatik und Wirtschaftsinformatik Universität Duisburg-Essen Optimierer Modifizierer Fehlerinjektor TesteingabenFehlerspezifikation Initiales System (keine Diversität) Optimiertes System (diversitäres VDS) Veränderungsregeln

Einführung DIVERSI- Module Automatische Diversität Optimierung Fehler- Injektion Resultate Pessimistische Injektion Zusammen- fassung Seite 7 Verlässlichkeit von Rechensystemen Institut für Informatik und Wirtschaftsinformatik Universität Duisburg-Essen Anwendung der Regel R auf V2 Beispiel: VDS ( V 1, V 2R ) VDS (V 1,V 2 ) Instr. a Instr. d Instr. a Instr. c Instr. b1 Instr. b2 Instr. b3 Instr. b1 Instr. b2 Instr. b3 Instr. a Instr. b Instr. d Instr. a Instr. b Instr. c Variante V 2 Variante V 2R Regel R Ersetze Instr. b

Veränderungsregeln Einführung DIVERSI- Module Automatische Diversität Optimierung Fehler- Injektion Resultate Pessimistische Injektion Zusammen- fassung Seite 8 Verlässlichkeit von Rechensystemen Institut für Informatik und Wirtschaftsinformatik Universität Duisburg-Essen Instr. a Instr. d Instr. a Instr. c Instr. b1 Instr. b2 Instr. b3 Instr. b1 Instr. b2 Instr. b3 Instr. a Instr. b Instr. d Instr. a Instr. b Instr. c Variante V 2 Variante V 2R Regel R Variante V 2R,R Regel R Register- permutation Ersetze Instr. b

Implementierte Veränderungsregeln Einführung DIVERSI- Module Automatische Diversität Optimierung Fehler- Injektion Resultate Pessimistische Injektion Zusammen- fassung Seite 9 Verlässlichkeit von Rechensystemen Institut für Informatik und Wirtschaftsinformatik Universität Duisburg-Essen Explizite Adressberechnungen Arithmetische Befehle ersetzen Zerschneiden und umsortieren Registerpermutation Logische Befehle ersetzen (z.B. deMorgan) Diversitäre Daten Registertests Stackoperationen ersetzen Bedingte / unbedingte Sprünge... Σ : 27 Regeln

Zyklus 1 Zyklus 2 Zyklus 3 Gierige Optimierung Einführung DIVERSI- Module Automatische Diversität Optimierung Fehler- Injektion Resultate Pessimistische Injektion Zusammen- fassung Seite 10 Verlässlichkeit von Rechensystemen Institut für Informatik und Wirtschaftsinformatik Universität Duisburg-Essen V 1111 V 1212 V 1r1r V 2121 V 2222 V 2r2r V 3131 V 3232 V 3r3r V 0 R1R2Rr R1R2Rr R1R2Rr...

Injektionstechnik Einführung DIVERSI- Module Automatische Diversität Optimierung Fehler- Injektion Resultate Pessimistische Injektion Zusammen- fassung Seite 11 Verlässlichkeit von Rechensystemen Institut für Informatik und Wirtschaftsinformatik Universität Duisburg-Essen Haupt-Anforderungen: Schnelle Injektion Injektion permanenter Fehler Breites Spektrum von Fehlerarten Zwei SWIFI-Techniken: 1) Einbringen von Inj-Code in Assembler-Code des zu bewertenden Programmes 2) Injektion durch Modifikation ausführbarer Programme Beispiele zu injizierender Fehler: Haftfehler in Registern, Übersprechen zwischen Registern, Fehlerhaftes Inkrementieren des Stackpointers, Fehler im Statuswort, Fetch-Fehler, Speichertransfer-Fehler, Fehler bei der Ausführung von ALU-Operationen, Fehler beim Schieben, Decodierungsfehler,... Σ : 49 Fehlerarten

FAIL-Spezifikationen Einführung DIVERSI- Module Automatische Diversität Optimierung Fehler- Injektion Resultate Pessimistische Injektion Zusammen- fassung Seite 12 Verlässlichkeit von Rechensystemen Institut für Informatik und Wirtschaftsinformatik Universität Duisburg-Essen EndAll All myVar3 substitute by {Carry,Zero,Sign,Overflow} All myVar4 substitute by {cleared, inverted, set} All myVar1 substitute by {%eax,%ecx,%edx,%edi,%ebp} All myVar2 substitute by {0,1,2,6,7,8,9,15,16,22,23,28,31} Stuck-at dice{0,1} Bit myVar2 Register myVar1 EndAll Endall All myVar5 substitute by {text,rodata} All myVar6 substitute by {1,3,5,9,20,30,40,50,60,75,95,100,200,300} FlagProblemAfter dice {addl, subl, cmpl} Instruction myVar3 is myVar4 MemoryError randomly inject myVar5 Errors into myVar6 Segment Haftfehler in Registern Statuswort- Verfälschung Speicherfehler

Einführung neuer Fehlerarten Einführung DIVERSI- Module Automatische Diversität Optimierung Fehler- Injektion Resultate Pessimistische Injektion Zusammen- fassung Seite 13 Verlässlichkeit von Rechensystemen Institut für Informatik und Wirtschaftsinformatik Universität Duisburg-Essen All cc substitute by {o,no,b,ae,e,ne,be,a,s,ns,p,np,l,ge,le,g} Condition-action: Conditions instr_found = statement,"movl" s_register = sMode,"gpr" s_memory = sMode,"memoryOperand" d_register = dMode,"gpr" End-Conditions Conjunctions r32_r32 = instr_found & s_register & d_register m32_r32 = instr_found & s_memory & d_register End-Conjunctions Trigger: r32_r32 | m32_r32 Action (r32_r32 | m32_r32): "CMOVccL "source","dest End-Action End-Condition-Action EndAll Neue Fehlerart: Fehlerbedingte Aktivierung der Condition-Unit bei Ausführung von Datentransfer- Befehlen

Experimentaufbau Einführung DIVERSI- Module Automatische Diversität Optimierung Fehler- Injektion Resultate Pessimistische Injektion Zusammen- fassung Seite 14 Verlässlichkeit von Rechensystemen Institut für Informatik und Wirtschaftsinformatik Universität Duisburg-Essen 9 DIVERSI-Experimente (bintree, hanoi, quicksort, crc_table, crc,...) FAIL-Spezifikation: 49 verschiedene Fehlerarten, 4788 Fehler Pro VDS: 4788 Fehler · 5 Programmeingaben = FI-Experimente Ø 244 VDSe pro DIVERSI-Experiment: 9 · 244 · = 5,26 · 10 7 FI-Experimente Reduktion des Rechenaufwandes: - Vermeidung absehbarer Injektionen - Vorgezogene Injektion erfolgreicher Fehler => Einsparung von 97,27% aller FI-Experimente ca. 1,72 Prozessor- Jahre ! ( P3, 500 MHz ) ca. 17 Prozessor- Tage

hexintarraywrk addercrc_table Systemüberlistungen im Verlauf der Optimierung Einführung DIVERSI- Module Automatische Diversität Optimierung Fehler- Injektion Resultate Pessimistische Injektion Zusammen- fassung Seite 15 Verlässlichkeit von Rechensystemen Institut für Informatik und Wirtschaftsinformatik Universität Duisburg-Essen Überlistungen Opt.-Zyklus Überlistungen Opt.-Zyklus hanoiquicksort bubblesort bintreecrc

Systemüberlistungen im Verlauf der Optimierung Einführung DIVERSI- Module Automatische Diversität Optimierung Fehler- Injektion Resultate Pessimistische Injektion Zusammen- fassung Seite 16 Verlässlichkeit von Rechensystemen Institut für Informatik und Wirtschaftsinformatik Universität Duisburg-Essen P Gefahr = 1823 Überlistungen Fehler = 7,61% Beispiel:P Gefahr für ein initiales System P Gefahr = 23 Überlistungen Fehler Zugehöriges o ptimiertes System: = 0,09% P Gefahr für initiale Systeme = 8,41% P Gefahr für optimierte Systeme = 0,15% Sicherheitsgewinn um Faktor 56

Kombination mit Entwurfsdiversität Einführung DIVERSI- Module Automatische Diversität Optimierung Fehler- Injektion Resultate Pessimistische Injektion Zusammen- fassung Seite 17 Verlässlichkeit von Rechensystemen Institut für Informatik und Wirtschaftsinformatik Universität Duisburg-Essen crc/crc_tablecrc_table/crc quick/bubblebubble/quick + Faktor 4 Faktor 56 + weniger Opt.-Zyklen + evtl. Erkennung von Softwarefehlern Ø P Gefahr für initiale Systeme = 1,94% Ø P Gefahr für optimierte Systeme = 0,00% Überlistungen Opt.-Zyklus

Pessimistische Injektion Einführung DIVERSI- Module Automatische Diversität Optimierung Fehler- Injektion Resultate Pessimistische Injektion Zusammen- fassung Seite 18 Verlässlichkeit von Rechensystemen Institut für Informatik und Wirtschaftsinformatik Universität Duisburg-Essen Beobachtung: Ca. 90% aller (zeitaufwendig) injizierten Fehler sind zur Systemüberlistung grundsätzlich ungeeignet. Idee der pessimistischen Injektion: Absenkung des Anteils der zur Systemüberlistung grundsätzlich ungeeigneten Fehler. Effekt: Mehr Injektionen mit Überlistungspotential => Strengere Systembewertungen bei gleichem Zeitbedarf. Nennung der Grundidee mehr bei Bedarf !

Zusammenfassung Einführung DIVERSI- Module Automatische Diversität Optimierung Fehler- Injektion Resultate Pessimistische Injektion Zusammen- fassung Seite 19 Verlässlichkeit von Rechensystemen Institut für Informatik und Wirtschaftsinformatik Universität Duisburg-Essen Automatische Diversifizierung (Technik & Tool) Unabhängigkeit von Compiler und Hochsprache Automatische Suche wirksamer Diversitäts-Kombinationen Geeignete Fehlerinjektionsumgebung & FAIL Schnelle & intensive Systembewertung Pessimistische Fehlerinjektion 1)Automatisch erzeugte VDSe: Ø P Gefahr : 8,41% 0,15% (Faktor: 56) 56 und besser... (90% temporäre Fehler) 2)Kombination mit Entwurfsdiversität: Ø P Gefahr : 8,41% 1,94% 0,00% Kostengünstige HW-Fehlererkennung durch virtuelle Duplexsysteme

Einführung DIVERSI- Module Automatische Diversität Optimierung Fehler- Injektion Resultate Pessimistische Injektion Zusammen- fassung Seite 20 Verlässlichkeit von Rechensystemen Institut für Informatik und Wirtschaftsinformatik Universität Duisburg-Essen Die folgenden Folien sind KEIN BESTANDTEIL des Vortrages. Dienen als Folienvorrat zur Klärung erwarteter Fragen.

Stand der Technik... Einführung DIVERSI- Module Automatische Diversität Optimierung Fehler- Injektion Resultate Pessimistische Injektion Zusammen- fassung Seite 21 Verlässlichkeit von Rechensystemen Institut für Informatik und Wirtschaftsinformatik Universität Duisburg-Essen Prozeduren umgruppieren mathematische Äquivalenzen verschiedene Datentypen Übersetzer- Diversität Umwandlung von Schleifen Code- Optimierungen Anzahl Code-Segmente Register- Permutation komplementäre Bedingungen Unabhängiger Entwurf Resultierende VDSe zeigen bei HW-Fehlern deutlichen Sicherheitsgewinn gegenüber Simplexsystemen VDS zur Erkennung temporärer + permanenter HW-Fehler geeignet preiswerte Alternative zum Duplexsystem Manuell / Automatisch Hochsprache / Assembler / Übersetzer Geeignete Kombinationen Aufwand + Abhängigkeiten von Hochsprache und Übersetzer

Kombination mit Entwurfsdiversität Einführung DIVERSI- Module Automatische Diversität Optimierung Fehler- Injektion Resultate Pessimistische Injektion Zusammen- fassung Seite 22 Verlässlichkeit von Rechensystemen Institut für Informatik und Wirtschaftsinformatik Universität Duisburg-Essen crc virtuelles Duplexsystem Bisher: crc Simplexsystem DIVERSI Simplexsystem crc virtuelles Duplexsystem crc Simplexsystem crc virtuelles Duplexsystem Jetzt: crc_table Simplexsystem DIVERSI Simplexsystem crc virtuelles Duplexsystem crc_table Simplexsystem Faktor 56 Faktor 4

Motivation zur pessimistischen Injektion Einführung DIVERSI- Module Automatische Diversität Optimierung Fehler- Injektion Resultate Pessimistische Injektion Zusammen- fassung Seite 23 Verlässlichkeit von Rechensystemen Institut für Informatik und Wirtschaftsinformatik Universität Duisburg-Essen HärtegradEreignisGefährdung zu weich balanciert zu hart - Korrekter Ausgabewert im richtigen Format - Fehlerhaftes Ausgabeformat - Keine Ausgabe - Timeout - Absturz - Fehlerhafter Ausgabewert im richtigen Format harmlos potentiell gefährlich harmlos Beobachtungen: ca. 90% aller injizierten Fehler sind harmlos Fehlerinjektionsexperimente sind zeitaufwendig Idee: Zu harte Fehler abschwächen zu balancierten Fehlern

Einführung DIVERSI- Module Automatische Diversität Optimierung Fehler- Injektion Resultate Pessimistische Injektion Zusammen- fassung Seite 24 Verlässlichkeit von Rechensystemen Institut für Informatik und Wirtschaftsinformatik Universität Duisburg-Essen Permanent injizierte Fehler wirken bei jeder Instruktion. Ziel: Wirkung nicht bei jeder Instruktion Aber: Temporäre Fehler sind ungeeignet Pessimistische Injektionstechnik Inst. 1 Inst. 2 Inst. 3 Inst. 4 Inst. 5 Inst. 6 VDS 1 DIVERSI Inst. 1 Inst. 2 Inst. 3 Inst. 4 Inst. 5 Inst. 6 VDS 2 Inst. 2 Inst. 3 Inst. 3 Inst. 4 Inst. 5 Inst. 6 Inst. 1 Inst. 2 Inst. 3 Inst. 4 Inst. 5 Inst. 6 Inst. 1