Vorlesung 5: Interrupts Universität Bielefeld – Technische Fakultät AG Rechnernetze und verteilte Systeme Peter B. Ladkin Wintersemester.

Slides:



Advertisements
Ähnliche Präsentationen
Intel ITX Board mit Atom CPU
Advertisements

2. 5 Kommunikation, Ein-/Ausgabe (E/A) - engl
Aufgabe: Wie stellt man eine for-Schleife durch eine while-Schleife dar ?
Rekursion vs. Iteration
Rechnernetze und verteilte Systeme (BSRvS II)
IO - Hardwarestruktur, allgemein
Name des Vortragenden Klasse Ort / tt.mm.jjjj Beschreibung Zentraleinheit CPU, Motherbord, RAM.
Zentraleinheit CPU, Motherbord, RAM
Name des Vortragenden Klasse Ort / tt.mm.jjjj Beschreibung Zentraleinheit CPU, Motherbord, RAM.
WS 2009/10 1 Systeme 1 Kapitel 1 Aufbau von Rechnern.
Übung 6.1Turing-Maschine 1.Machen Sie sich mit der Funktionsweise des Busy Beaver-Programms vertraut Vollziehen sie die 11 Schritte der ersten Turing-Tabelle.
ARRAY oder FELD oder VEKTOR
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Tobias Lauer.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Prof. Dr. Th. Ottmann.
Informatik II, SS 2008 Algorithmen und Datenstrukturen Vorlesung 2 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät.
Vorlesung Informatik 3 Einführung in die Theoretische Informatik (17 –Turingmaschinen) Prof. Dr. Th. Ottmann.
W. Oberschelp G. Vossen Kapitel 7.
© 2006 W. Oberschelp, G. Vossen Rechneraufbau & Rechnerstrukturen, Folie 8.1.
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Kapitel 2 Gisbert Dittrich; Claudio Moraga FBI Unido
Vorl. 6: Single- und Multitasking Universität Bielefeld – Technische Fakultät AG Rechnernetze und verteilte Systeme Peter B. Ladkin
Vorlesung 4: Memory Universität Bielefeld – Technische Fakultät AG Rechnernetze und verteilte Systeme Peter B. Ladkin Wintersemester.
Technische Informatik I
Vorlesung 2 Rechnerarchitektur Universität Bielefeld – Technische Fakultät AG Rechnernetze und verteilte Systeme Peter B. Ladkin
Technische Informatik I
Vorlesung 3: Verschiedenes Universität Bielefeld – Technische Fakultät AG Rechnernetze und verteilte Systeme Peter B. Ladkin
Vorlesung 10 Mutual Exclusion Peter B. Ladkin Sommersemester 2001 Universität Bielefeld Technische Fakultät.
Vorlesung 9.2: Specification Universität Bielefeld – Technische Fakultät AG Rechnernetze und verteilte Systeme Peter B. Ladkin
Technische Informatik II Rechnerarchitektur und Betriebssysteme Universität Bielefeld – Technische Fakultät AG Rechnernetze und verteilte Systeme Peter.
Technische Informatik II Vorlesung 12bis: Mehr über Security Sommersemester 2001 Prof. Peter B. Ladkin PhD Universität Bielefeld.
Vorlesung 9.1: Erinnerung Universität Bielefeld – Technische Fakultät AG Rechnernetze und verteilte Systeme Peter B. Ladkin
Vorlesung 5 Interrupts Peter B. Ladkin
1 Vorlesung 14 Mehr über Security Peter B. Ladkin Sommersemester 2001.
Vorlesung 9.1: Erinnerung Universität Bielefeld Technische Fakultät AG Rechnernetze und verteilte Systeme Peter B. Ladkin Wintersemester.
Vorlesung 2 Rechnerarchitektur Peter B. Ladkin Wintersemester 2001/2002 Universität Bielefeld Technische Fakultät.
Rechnerarchitektur Vorlesung 2 Peter B. Ladkin
PCI-Express als Grafikschnittstelle
1 Vorlesung 3 Verschiedenes Peter B. Ladkin
Beschleunigung Virtueller Privater Netze durch Netzwerkprozessoren
So arbeitet ein PC.
Aufbau und Funktionsweise
OMRON 1 FINS Befehle schicken mit CX – Server Lite Aufgabe :
Systeme 1 Kapitel 4 Prozesse WS 2009/10.
INTEL Pentium 4 Prozessor
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Einführung in die Programmierung
3.4 CPU-Chips und Busse CPU-Chips
Wer macht was beim Einschalten des Rechners?
Wo könnte das sein? Mann, ist das schwer!. Jetzt sieht man schon mehr oder? Ja find ich auc h!
Übersicht: Hardware Zentraleinheit EVA-Prinzip
Datenverarbeitung im PC
Eine Übersicht von Margarete Streitwieser
DDR vs. RDRAM Ein Vergleich von Speichertechnologien Bernhard Fiser Stefan Schönauer.
Parallelisierung für Multiprozessor-Maschinen
DER COMPUTER.
… erste Schritte mit einem programmierbaren Mikrocontroller
A) Erklären Sie den Datentyp char. b) Erklären Sie den Datentyp Struct c) Erklären Sie die Wirkungsweise des Operators & bei Anwendung im Zusammenhang.
Java Syntaxdiagramme Buchstabe A B Z a z ... Ziffer
Der Datentyp Verbund (record)
Java-Kurs - 4. Übung Hausaufgabe Weitere Kontrollstrukturen
Medizinische Statistik und Informationsverarbeitung Quade Institut für Medizinische Biometrie, Informatik und Epidemiologie.
Java-Kurs - 4. Übung Hausaufgabe Weitere Kontrollstrukturen
1 Technische Informatik II Rechnerarchitektur und Betriebssysteme Peter B. Ladkin
Delphi Chars und Strings
Java-Kurs - 4. Übung Hausaufgabe Weitere Kontrollstrukturen
1 Vorlesung 6 Peter B. Ladkin Single- und Multitasking Peter B. Ladkin
Prozessoren (CPU) Ahmet Aktas, HWI I.
Präsentation Binär.
Die Komponenten Von einem PC.
 Präsentation transkript:

Vorlesung 5: Interrupts Universität Bielefeld – Technische Fakultät AG Rechnernetze und verteilte Systeme Peter B. Ladkin Wintersemester 2001/2002

Technische Informatik II 2 Kommunikation über den Bus CPU läuft zu einer Taktfrequenz I/O Geräte laufen zu anderen Frequenzen Die Propagation der Signale über den Bus ist allgemein langsamer als die CPU Taktfrequenz Ausnahme: die ersten Pentiums liefen mit der gleichen Frequenz wie der Bus (60MHz bzw. 66MHz) 1 Hz = 1 Taktschlag pro Sekunde

Wintersemester 2001/2002Technische Informatik II 3 Kommunikation über den Bus Die Pentiums laufen immer zu einem Multiplikator der Busfrequenz PCI läuft zu 33MHz PCIX läuft zu 66MHz Prozessoren laufen bis zu 1.8GHz (= 1.800MHz)

Wintersemester 2001/2002Technische Informatik II 4 Wie kommt I/O ein/aus? Auf der CPU läuft ein Programm Das Programm enthält einen Tastatur- Eingabebefehl z.B., "getc" (1 Byte); "input", "Textfield" (quasi- String, d.h., ein Array von Bytes)

Wintersemester 2001/2002Technische Informatik II 5 I/O per Tastatur Die CPU liest die Tastatur-Eingaberegister und leert danach die Register Der Charakter wird zwischengespeichert Und nochmal, bis alle Charakter gelesen worden sind Das "Wort" (Array von Character) wird von der CPU als Datenstruktur im Speicher gehandelt

Wintersemester 2001/2002Technische Informatik II 6 I/O per Tastatur Wie weiss die CPU, wenn ein Charakter zum Lesen gibt? Polling: sie liest ständig die Tastatur- Eingaberegister: z.B. i=10; while (i > 0) do read(TEG-R); if char(TEG-R)then Store; decrement(i) weitermachen

Wintersemester 2001/2002Technische Informatik II 7 I/O per Tastatur Aber dies ist sehr ineffizient CPU-Taktfrequenz ist, sagen wir, 100MHz Fingerfrequenz ist, sagen wir 5Hz (schnell!) Loop wird 2 Sekunden laufen D.h., 200M Schleife-Ausführung Fur nur 10 Bytes!

Wintersemester 2001/2002Technische Informatik II 8 Eingabe allgemein Es ist nicht anders wie bei der Tastatur Festplatteneingabe ist schneller Sowie Diskettenlaufwerkeingabe Alle sind sehr langsam in Vergleich mit der CPU Taktfrequenz Die Schleife heisst Busy Waiting Busy Waiting: die CPU tut was, obwohl es nichts zu tun gibt

Wintersemester 2001/2002Technische Informatik II 9 Das Vermeiden von Busy Waiting Wird "Textfield (10)" als Befehl gegeben Der Programzustand wird gespeichert Ein anderes Programm wird eingeholt (Alles macht der Scheduler, wie wir später sehen werden) Dieses andere Programm wird ausgeführt, bis es eine Tastatureingabe gibt

Wintersemester 2001/2002Technische Informatik II 10 Das Vermeiden von Busy Waiting Tastatureingabe in TEG-R wird "bekanntgegeben" Der Zustand vom zweiten Programm wird gespeichert Das erste Programm(-zustand) wird wieder hereingeholt Das Programm tut etwas mit der Tastatureingabe

Wintersemester 2001/2002Technische Informatik II 11 Das Vermeiden von Busy Waiting Die Schleife heisst jetzt i 0 do read (TEG-R); Store; i <- i - 1 weitermachen Die Schleife läuft nur 10 Mal durch

Wintersemester 2001/2002Technische Informatik II 12 "Bekanntgegeben" Wie wird "bekanntgegeben"? Es gibt in der CPU eine Reihe Bits, die Interrupt Bits heissen z.B., ein Bit für die Tastatur Wenn irgendwas in der TEG-R liegt, wird gleichzeitig das entsprechende Bit "gesetzt" Alles auf der Elektronik-Ebene

Wintersemester 2001/2002Technische Informatik II 13 "Bekanntgegeben" Am Ende eines Befehls-Zyklus Wir erinnern uns, dass ein Maschinenbefehl aus einer Reihe von Mikrocodebefehlen besteht.....werden die Interrupt Bits gelesen. Dann wird bemerkt, dass das Tastatur-I-Bit gesetzt worden ist Das entsprechende Programm wird hereingeholt

Wintersemester 2001/2002Technische Informatik II 14 Alternativen Es könnte eine Reihe von Interrupt Bits geben Oder es könnte ein (oder wenige) Interrupt Bit(s) geben, plus ein Interrupt Vector (ein Register, das eine Nummer enthält), der sagt, welches Gerät sich gemeldet hat Geräte-IV-Nummern sind bei PCs Also 1-Byte-Register

Wintersemester 2001/2002Technische Informatik II 15 Interrupt Handler Da es unterschiedliche Interrupts gibt, gibt es auch unterschiedliche Verfahren z.B., das Verfahren für ein "invalid opcode" (ungültiges Befehl), das von dem Dekodier- Steuerwerk beschlossen wird, besteht aus einer Sonderfehlermeldung z.B., das Verfahren für eine Tastatureingabe ist, das entsprechende Programm hereinholen

Wintersemester 2001/2002Technische Informatik II 16 Interrupt Handler Es wird also beim Interrupt (gesetzt) eine Sondersoftware hereingeholt, die Interrupt Handler heisst Der entsprechende Interrupt Handler wird hereingeholt und ausgeführt Unterschiedliche Interrupts haben unterschiedliche Handler

Wintersemester 2001/2002Technische Informatik II 17 (Non)Maskable Interrupts Ein Interrupt wie "invalid opcode" ist nonmaskable, d.h., er wird immer gelesen und beachtet (der entsprechende Handler wird hereingeholt) Ein I/O Interrupt wird maskable, d.h., er wird zu bestimmten Zeiten (Zyklen) ignoriert "Mask Interrupts", "Unmask Interrupts" sind Sonderbefehle

Wintersemester 2001/2002Technische Informatik II 18 Maskable Interrupts Interrupts wie Tastatureingabe werden gemasked, wenn etwas sehr wichtiges läuft, das nie unterbrochen werden soll z.B. ein Kernel-Panic bei Unix/Linux Ein Lock-Sensor Eingabe-Leseroutine bei ABS Wenn ein Mutex-Verfahren läuft ("Mutual Exclusion")

Wintersemester 2001/2002Technische Informatik II 19 Nonmaskable Interrupts Nonmaskable Interrupts sind die Interrupts, ohne deren Handlung die CPU nicht richtig weiter laufen kann (oder weiter laufen soll) Für den Pentium 0 divide error 1 debug exception 2 null interrupt 3 breakpoint 4 INTO-detected overflow

Wintersemester 2001/2002Technische Informatik II 20 Pentium Interrupts 5 bound range exception 6 invalid opcode 7 device not available 8 double fault 9 coprocessor segment overrun (reserved) 10 invalid task state segment 11 segment not present 12 stack fault 13 general protection

Wintersemester 2001/2002Technische Informatik II 21 Pentium Interrupts 14 page fault 15 (Intel reserved: do not use) 16 floating point error 17 alignment check 18 machine check (Intel reserved; do not use) maskable interrupts

Wintersemester 2001/2002Technische Informatik II 22 Allgemeine Ausgabe Die CPU möchte was ausgeben "print" usw: geben die Character zum Monitor Ausgabe wird zwischengespeichert Device Driver Software wird hereingeholt Device Driver berechnet die entsprechende Parameter für das Geräte-Controller..und gibt die Parameter an das Gerät weiter

Wintersemester 2001/2002Technische Informatik II 23 Allgemeine Ausgabe Die Device Drivers gehören zur Betriebssystem- Software Die DDrs werden im "Kernel"-Programm des Betriebssystemes eincompiliert......oder sie liegen nebenan als priviligierte Software und werden vom Kernel angerufen Was "nebenan" bedeutet?

Wintersemester 2001/2002Technische Informatik II 24 Betriebssystemsoftware-Schichten

Wintersemester 2001/2002Technische Informatik II 25

Wintersemester 2001/2002Technische Informatik II 26 Ein Hardware-Interrupt-Kontroller

Wintersemester 2001/2002Technische Informatik II 27 Interrupts mit Prioritäten I/O Interrupts können Prioritäten haben Die Prioritäten bedeuten, welcher Handler "Vorfahrt" hat, wenn gleichzeitig mehrere Interrupts gesetzt werden

Wintersemester 2001/2002Technische Informatik II 28 Interrupts mit Priotitäten Wenn mehrere Interrupts gleichzeitig gesetzt werden, wird der Handler des höchstpriotitisierten Interrupts aufgerufen Wenn ein Handler schon läuft, und ein Interrupt mit niedrigerer Priorität gesetzt wird, wird dieser Interrupt warten müssen..oder ein Interrupt mit höherer Priorität gesetzt wird, wird der Zustand der Handler gespeichert und der Handler vom höchsten aufgerufen

Wintersemester 2001/2002Technische Informatik II 29 Interrupt-Verfahren mit Prioritäten Ein Drucker-Interrupt, gerfolgt von......einem Serial-Port (RS232) Interrupt, gerfolgt von einem Festplatten Interrupt Die Interrupts sind prioritisiert RS232 (Priorität 5); Festplatte (Priorität 4); danach Drucker (Priorität 2)

Wintersemester 2001/2002Technische Informatik II 30