Aufgabe 2 - Erweiterung um PIC und Interrupts

Ähnliche Dokumente
Aufgabe 2 - Erweiterung um PIC und Interrupts

Übung zu Betriebssystembau (Ü BS)

Aufgabe 1 Entwicklung einer Virtuellen Maschine

i386 Interrupt-Deskriptortabelle (IDT)

Übung zu Betriebssysteme

Betriebssystembau. 3. Übung. Michael Engel Arbeitsgruppe Eingebettete Systemsoftware. Lehrstuhl für Informatik 12 TU Dortmund

Teil 6: PIC Studiengang Technische Informatik (TI) Prof. Dr.-Ing. Alfred Rożek. nur für Lehrzwecke Vervielfältigung nicht gestattet

Übersicht. Busse. Übersicht. Bus, Bridge, I/O-Controller. Einleitung Hersteller-Konfiguration Manuelle Konfiguration Programmierbare Konfiguration

Einführung. Übungen zur Vorlesung Virtuelle Maschinen. Stefan Potyra. SoSe 2009

Proseminar: Konzepte von Betriebsystem-Komponenten (KVBK)

DOSEMU. Vortrag im Hauptseminar Konzepte und Techniken virtueller Maschinen und Emulatoren. Matthias Felix FAU. 13.

2

Busse. Dr.-Ing. Volkmar Sieh. Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2008/2009

Mikroprozessortechnik Grundlagen 1

1,8V Flash and SRAM 28F3208W30

Mikrocomputertechnik. Thema: Serielle Schnittstelle / UART

Hardware Logik-Analysatoren

E Mikrocontroller-Programmierung

U5-2 Register beim AVR-µC

Forth-Vokabular. Vokabular für Attiny2313-Forth Stand: A: Assembler-Wort F: Forth-Wort C: Compiler-Wort

Busse. Dr.-Ing. Volkmar Sieh WS 2005/2006. Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg

Inhalt. Übungen zu Systemnahe Programmierung in C (SPiC) Implementierung von Interruptbehandlungen. Interrupts

Intel x86 Bootstrapping

Virtueller Speicher und Memory Management

Mikrocomputertechnik. 6. Exceptionhandling ( Ausnahmebearbeitung)

Interrupt. Externe Interrupts 0 und 1

Übungen zu Grundlagen der Rechnerarchitektur und -organisation (ÜGRa)

Mikrocomputertechnik

GdI2 - Systemnahe Programmierung in C Übungen Jürgen Kleinöder Universität Erlangen-Nürnberg Informatik 4, 2006 U4.fm

Interruptverarbeitung

"Organisation und Technologie von Rechensystemen 4"

Konzepte von Betriebsystem-Komponenten (KVBK) Schwerpunkt Linux

Name : Klasse : Punkte : Note :

Mikrocomputertechnik

Fachbereich Medienproduktion

Betriebssysteme BS-V SS Hans-Georg Eßer. Foliensatz V: Ulix: Interrupts und Faults Ulix: System Calls. Dipl.-Math., Dipl.-Inform.

Name: ES2 Klausur Thema: ARM Name: Punkte: Note:

Cache. Dr.-Ing. Volkmar Sieh. Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2011

CPU Speicher I/O. Abbildung 11.1: Kommunikation über Busse

Lösung 5. Mikroprozessor & Eingebettete Systeme 1

Teil VIII Von Neumann Rechner 1

VT-X. Übungen zur Vorlesung Virtuelle Maschinen. Stefan Potyra. SoSe 2009

Assembler. Dr.-Ing. Volkmar Sieh. Department Informatik 4 Verteilte Systeme und Betriebssysteme Friedrich-Alexander-Universität Erlangen-Nürnberg

Rainbow-OS Architekturseminar Thema: Interrupt-Controller

Arithmetische und Logische Einheit (ALU)

Name: ES2 Klausur Thema: ARM Name: Punkte: Note:

5. Weitere Konzepte. Ganz grob sieht das Innenleben des INTEL 8086 so aus:

Cache Grundlagen. Schreibender Cache Zugriff. SS 2012 Grundlagen der Rechnerarchitektur Speicher 22

Hardware PCI-Bus. Dr.-Ing. Matthias Sand. Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg

Hardware PCI-Bus. Dr.-Ing. Matthias Sand. Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg

Betriebssystembau (BSB)

Lösungsvorschläge zur Übungsklausur. zum Kurs 1708 Technische Informatik II. im WS 01/02

Bootvorgang des DSM-Systems Systems Plurix

Übungen zu Systemnahe Programmierung in C (SPiC)

Ein- Ausgabeeinheiten

Datentechnik. Prinzipieller Aufbau eines Schnittstellenbausteins

Datenübertragung per Direct Memory Access (DMA)


Prinzipieller Aufbau und Funktionsweise eines Prozessors

Carry Lookahead Adder

Speichern von Zuständen

Funktions-Blockschaltbild des Mikroprozessors 8085

Interrupts Seminar Rechnerarchitektur

Wie schreibt man ein Betriebssystem?

MikroController der 8051-Familie

Adressierung von Speichern und Eingabe- Ausgabegeräten

Kopplung Interaktion. TI-Übung 6. Kopplung Datenübergabe. RS232 Datenfluss (1) Teilnehmer. Ein-/Ausgabe. Interaktionsarten

Übung 7. Mikroprozessor & Eingebettete Systeme 1

Assembler Kontrollstrukturen

Vorlesung 5: Interrupts

Microcomputertechnik

U2 Fortgeschrittene AVR-Programmierung. U2-1 Externe Interrupts des AVR-μC. 1 Flanken-/Pegel-Steuerung. 1 Flanken-/Pegel-Steuerung (2) 2 Maskieren

Tag 2 Eingabe und Interrupts

EDT-REFERAT Adressierungsarten

Quiz. Gegeben sei ein 16KB Cache mit 32 Byte Blockgröße. Wie verteilen sich die Bits einer 32 Bit Adresse auf: Tag Index Byte Offset.

Aufbau eines Taschenrechners

Interrupts im Handbuch des ATmega128 gründlich lesen.

Mikrocomputertechnik. Thema: Der Aufbau des XC888-Mikrocontrollers -Teil 1 -

Übungen zu Systemnahe Programmierung in C (SPiC) Inhalt. Moritz Strübe, Rainer Müller (Lehrstuhl Informatik 4) Sommersemester 2014

Umstellung auf neue Pipeline

USB > I2C- Bus Modul. Startet den I2C-Bus. Daten einlesen NACK senden

M-AX-16/C1 (Typ 37) Inhaltsverzeichnis M-AX-16/C1

Einschub: HW-Zugriff aus dem Userspace

Betriebssysteme 1. Thomas Kolarz. Folie 1

Microcontroller Selbststudium Semesterwoche 9

Übungen zu Grundlagen der Rechnerarchitektur und -organisation: Bonusaufgaben Übung 6 und Präsenzaufgaben Übung 7

ISA96 HD-Card. Technische Beschreibung

11. Die PC-Schnittstelle

Aufbau eines Assembler-Programms

2. Computer (Hardware) K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16

Einleitung Die Pins alphabetisch Kapitel 1 Programmierung des ATmega8 und des ATmega

Paravirtualisierung (2)

Protokoll zum Z80-Projekt. Andreas Amann, Alexander Zahn

Hardware-basierte Virtualisierung

Informatik 12 Kapitel 3 - Funktionsweise eines Rechners

STM32 - Schieberegister, SPI - u

Transkript:

Aufgabe 2 - Erweiterung um PIC und Interrupts Dr.-Ing. Volkmar Sieh Department Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg WS2010/2011 Aufgabe 2 - Erweiterung um PIC und Interrupts 1/15 2011-09-12

Busse - Überblick technische Sicht Kabelbündel zur Verbindung von Komponenten physikalische Eigenschaften: Timing, Tristate, etc. Arbitrierung Topologie logische Sicht ermöglicht Kommunikation mehrerer Komponenten gezieltes Adressieren einzelner Komponenten Senden oder Empfangen eines Datums/mehrerer Daten ggf. weitere Kommunikationsaspekte: Speicher/IO, Menge der Übertragenen Informationen (1 Byte, 2 Byte),... Aufgabe 2 - Erweiterung um PIC und Interrupts 2/15 2011-09-12

ISA-Bus (auszugsweise) 20 Adressleitungen 8 Datenleitungen Kommunikationssteuerung: MR: Lesen von Speicher MW: Schreiben an Speicher IOR: Lesen von IO IOW: Schreiben an IO ALE: Adresse gültig I/O CH RDY: IO-Daten an Bus weitere Leitungen: zur DMA-Steuerung Reset Masse, Versorgungspannungen: +5V, -5V, +12V, -12V CLK: Taktsignal... Aufgabe 2 - Erweiterung um PIC und Interrupts 3/15 2011-09-12

Übertragungsbeispiel ISA-Bus (vereinfacht) CPU liest von IO-Gerät mit Port 0x0020. Gerät antwortet mit Datum 0x01. Aufgabe 2 - Erweiterung um PIC und Interrupts 4/15 2011-09-12

Relevanz für virtuelle Maschinen? Was hiervon wird für virtuelle Maschinen benötigt? Aufgabe 2 - Erweiterung um PIC und Interrupts 5/15 2011-09-12

Übersicht serielle Schnittstelle generiert Interrupts Intel PIC 8259a verwaltet Interrupts Unterscheidung mehrerer Interruptquellen Prioritäten Ein-/Ausschalten von einzelnen Interrupts Zwischenspeicher Signalisieren der CPU IO-Dekoder übernimmt Adresssteuerung des PIC CPU empfängt Interruptsignal und führt Interruptbehandlung durch Aufgabe 2 - Erweiterung um PIC und Interrupts 6/15 2011-09-12

Übersicht (2) Aufgabe 2 - Erweiterung um PIC und Interrupts 7/15 2011-09-12

serielle Schnittstelle Nun auch Eingabe vom Gastsystem Eingabe: Lesen von Zeichen auf stdin Wenn Zeichen eingegeben Interrupt weitere Eingabe dann blockiert Lesen von Adresse 0x00 holt Zeichen ab und setzt Interrupt zurück ermöglicht Empfang von weiteren Zeichen Aufgabe 2 - Erweiterung um PIC und Interrupts 8/15 2011-09-12

Intel PIC 8259a Dokumentation: http://digchip.com/datasheets/parts/datasheet/227/8259a.php 8 Interrupteingänge IRQ 0-7 kann kaskadiert werden (hier nicht notwendig) diverse Priorisierungsvarianten Interrupts können einzeln maskiert werden Interrupts ausgelöst durch steigende Flanke (Edge-triggered) konstanten hohen Pegel (Level-triggered) einstellbar nur chip-weit später: einstellbar für einzelne Interrupteingänge Aufgabe 2 - Erweiterung um PIC und Interrupts 9/15 2011-09-12

Intel PIC 8259a: Fully nested Mode 1 Anlegen eines Interrupts aktualisiert irr 2 Wenn nicht maskiert Interrupt an CPU 3 CPU führt Interrupt Acknowledge Zyklus aus 4 Interrupt mit höchster Priorität wird in isr kopiert Fully nested mode: Priorität gemäß Interrupt Nummer (wobei 0 höchste Priorität) 5 Entsprechender Interrupt wird aus irr gelöscht 6 Interruptvektor wird an CPU übermittelt 7 Wenn automatic end of interrupt : CPU-Interruptleitung wird bei Ende des Interrupt Acknowledge Zyklus zurückgenommen Ein Interrupt höherer Priorität kann einen Interrupt-Handler niedriger Priorität unterbrechen. Aufgabe 2 - Erweiterung um PIC und Interrupts 10/15 2011-09-12

IO-Dekoder Intel PIC 8259a hat nur eine Adressleitung weiß nicht, ob er gemeint ist Chip-Select Eingang signalisiert Daten für PIC IO-Dekoder steuert Chip-Select Eingänge großer Demultiplexer IO-Adressbereich 0x0020-0x003f setzt Chip-Select des PIC Aufgabe 2 - Erweiterung um PIC und Interrupts 11/15 2011-09-12

Interruptbehandlung der CPU (Wiederholung) 1 CPU führt Interrupt-Acknoledge-Zyklus durch und liest Vektor vom Bus. 2 Zustandssicherung: 1 EFLAGS Stack 2 CS Stack 3 EIP Stack 3 bei Interrupts: IF=0 4 Eintrag aus Interrupttabelle wird angesprungen 5 Behandlungsroutine wird ausgeführt 6 IRET 7 EFLAGS, CS und EIP werden vom Stack geholt und der Zustand somit wiederhergestellt Aufgabe 2 - Erweiterung um PIC und Interrupts 12/15 2011-09-12

Da fehlt doch was...? Woher weiß denn der PIC, dass er einen Vektor auf den Bus legen soll? Wie findet die CPU denn die Interrupttabelle? Aufgabe 2 - Erweiterung um PIC und Interrupts 13/15 2011-09-12

idtr Register IDTR enthält Zeiger auf IDT, sowie Größe der IDT in Bytes. lidt dient zum Laden des IDTR Aufbau Operand von lidt: Offset Inhalt Größe 2 Pointer auf Anfang IDT 32 Bit 0 Größe der IDT 16 Bit Aufgabe 2 - Erweiterung um PIC und Interrupts 14/15 2011-09-12

IDT IF Interrupts ausschalten (0)? D 1: 32 Bit Ziel, 0: 16-Bit Ziel DPL maximaler Ring P Eintrag gültig? Siehe auch: http://download.intel.com/design/processor/manuals/253668.pdf, Kapitel 5.11. Aufgabe 2 - Erweiterung um PIC und Interrupts 15/15 2011-09-12