Rechnerarchitektur und Betriebssysteme (CS201): Peripheriebausteine, IO, Interrupts und Timer



Ähnliche Dokumente
Tag 2 Eingabe und Interrupts

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

Atmel AVR für Dummies

Interrupts. Funktionsprinzip. Funktionsprinzip. Beispiel in C

Rechnerarchitektur und Betriebssysteme (CS201): Memory Map, Stack, Prozeduraufruf, Calling Convent.

B1 Stapelspeicher (stack)

Die Mikroprogrammebene eines Rechners

Interrupt-Programmierung

Microcontroller Kurs Microcontroller Kurs/Johannes Fuchs 1

Einführung in die Welt der Microcontroller

Teil VIII Von Neumann Rechner 1

Mikrocontroller Grundlagen. Markus Koch April 2011

Rechnerarchitektur Atmega Vortrag Atmega 32. Von Urs Müller und Marion Knoth. Urs Müller Seite 1 von 7

Was unterscheidet Microcontroller von einem PC ( Laptop ) oder einem Handy

Anlegen eines Speicherbereichs mit DB, DW eleganter in Kombination mit EQU, Timer-Interrupt

Anleitung zur Nutzung des SharePort Utility

Konzept zur Push Notification/GCM für das LP System (vormals BDS System)

S7-Hantierungsbausteine für R355, R6000 und R2700

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

32-Bit Microcontroller based, passive and intelligent UHF RFID Gen2 Tag. Zürcher Fachhochschule

Teil Rechnerarchitekturen M06. Peripheriebausteine, I/O, Interrupts, Timer. Corinna Schmitt

Bitte verwenden Sie nur dokumentenechtes Schreibmaterial!

Eigene Dokumente, Fotos, Bilder etc. sichern

Architektur Verteilter Systeme Teil 2: Prozesse und Threads

SNr bis mit Gigabyte AMD K7 Mainboard. Konfiguration 7 und 7M

Zur drittletzten Zeile scrollen

Praktikum Mikrocomputertechnik

Parallel-IO. Ports am ATmega128

Systeme 1. Kapitel 6. Nebenläufigkeit und wechselseitiger Ausschluss

Professionelle Seminare im Bereich MS-Office

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

3.14 Die Programmieroberfläche Programmierung

Befehlssatz zum High Speed Interface-88-USB (HSI-88-USB) (ab Firmware 0.71) (Version 1.2)

Autoradio On Off Schaltung

SCHNELLEINSTIEG ZUM TOOL NODEBUILDER

EchoLink und Windows XP SP2

Einführung in die technische Informatik

Inhaltsverzeichnis. Getting Started with TRM416/816 System Beispiel: TRM816 Open Frame mit RFID an COM2

Benutzerverwaltung Business- & Company-Paket

5 Speicherverwaltung. bs-5.1 1

Wie man Registrationen und Styles von Style/Registration Floppy Disketten auf die TYROS-Festplatte kopieren kann.

Software-Beschreibung Elektronische Identifikations-Systeme BIS Softwarekopplung PROFIBUS DP mit BIS C-60_2-...an S7

Softwarelösungen: Versuch 4

DIGITALVARIO. Anleitung Bootloader. Ausgabe 0.1 deutsch für Direkt-Digital-Vario. Firmware ab Hardware 01 Seriennummer ab 0003

Benutzerhandbuch - Elterliche Kontrolle

Leitfaden zum Sichern einer Festplatte als Image mit der System Rescue CD

In diesem Tutorial lernen Sie, wie Sie einen Termin erfassen und verschiedene Einstellungen zu einem Termin vornehmen können.

Anleitung über den Umgang mit Schildern

Beschreibung EtherNet/IP Prozessschnittstelle

Das neue Volume-Flag S (Scannen erforderlich)

ACHTUNG: Es können gpx-dateien und mit dem GP7 aufgezeichnete trc-dateien umgewandelt werden.

Makros sind Textersetzungen, welche vom Präprozessor aufgelöst werden. Dies Passiert bevor der Compiler die Datein verarbeitet.

Computer-Architektur Ein Überblick

Visio Grundlagen. Linda York. 1. Ausgabe, Oktober 2013

CA Übung Christian kann heute nicht kommen => ich bin heute da, Christian das nächste Mal wieder

(1) (2) (3) (4) (5) (6) (7)

Formular»Fragenkatalog BIM-Server«

Inbetriebnahme des Willem Programmers PCB5-E. Die Software GQUSBprg 0.98d6 Willem Enhanced / Dual Power Programmer PCB5.

1 Aufgaben zu Wie funktioniert ein Computer?

Multitasking / virtuelle Maschinen mittels Atmel AVR- Mikrocontrollern (Simple & Stupid)

Speicher in der Cloud

Local Control Network

miditech 4merge 4-fach MIDI Merger mit :

Künstliches binäres Neuron

Zählen von Objekten einer bestimmten Klasse

Kontakte Dorfstrasse 143 CH Kilchberg Telefon 01 / Telefax 01 / info@hp-engineering.com

Switching. Übung 7 Spanning Tree. 7.1 Szenario

SharePoint Demonstration

Handbuch. Artologik EZ-Equip. Plug-in für EZbooking version 3.2. Artisan Global Software

PicKit 3. Programmierung mit dem USB-Programmer PICkit3 (Microchip) AB

1 Vom Problem zum Programm

easyident Türöffner easyident Türöffner Art. Nr. FS-0007 FS Fertigungsservice

Erweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen:

TeamSpeak3 Einrichten

Bedienungsanleitung Einsatzplanung. Bedienungsanleitung Einsatzplanung. Inhalt. Bedienung einer Plan-Tabelle

Installation LehrerConsole (für Version 6.2)

RL

Paravirtualisierung (2)

DOKUMENTATION VOGELZUCHT 2015 PLUS

"Memory Stick" zur Programmierung der comfort 8+ Lichtsteuranlage mit PC Software "scenes editor"

Betriebssysteme. Dipl.-Ing.(FH) Volker Schepper

Tapps mit XP-Mode unter Windows 7 64 bit (V2.0)

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER

GSM Scanner Bedienungsanleitung

Persönliches Adressbuch

Konfiguration des ewon GSM Modems Kurzbeschreibung zum Aufbau einer GSM Verbindung

CU-R-CONTROL. Beschreibung zur Schaltung ATMega16-32+ISP MC-Controller Steuerung auf Basis ATMEL Mega16/32. Autor: Christian Ulrich

icloud nicht neu, aber doch irgendwie anders

NetStream Helpdesk-Online. Verwalten und erstellen Sie Ihre eigenen Tickets

Internet online Update (Internet Explorer)

Statuten in leichter Sprache

Wo finde ich die Software? - Jedem ProLiant Server liegt eine Management CD bei. - Über die Internetseite

SAP Memory Tuning. Erfahrungsbericht Fritz Egger GmbH & Co OG. Datenbanken sind unsere Welt

1 Einleitung. Lernziele. automatische Antworten bei Abwesenheit senden. Einstellungen für automatische Antworten Lerndauer. 4 Minuten.

Netbooks in der (Linux)-Praxis

Anleitung zur Inbetriebnahme einer FHZ2000 mit der homeputer CL-Software

Thermoguard. Thermoguard CIM Custom Integration Module Version 2.70

iloq Privus Bedienungsanleitung Schließanlagen Programmierung Version 1 - Copyright 2013

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

Transkript:

Rechnerarchitektur und Betriebssysteme (CS201): Peripheriebausteine, IO, Interrupts und Timer 8. Oktober 2013 Prof. Dr. Christian Tschudin Departement Mathematik und Informatik, Universität Basel Wiederholung / Diskussion 1. Was sind memory-mapped registers? 2. Was ist ein frame pointer? 3. Was macht ein call, was ein ret? 4. Muss ein von Neumann-Rechner ein Stackpointer-Register haben? Exkurs: Google-Papier zur Häufigkeit von DRAM-Fehler c Christian Tschudin CS201 Rechnerarchitektur und Betriebssysteme 2013-10-08, 2/39

Uebersicht 2013-10-08 Bus und Peripheriegeräte, Beispiele IO-Befehle des AVR-Chips Programmierung von Gerätetreibern Interrupts Interrupt-Vektor, -Tabelle, -Priorität, -Maske Timer c Christian Tschudin CS201 Rechnerarchitektur und Betriebssysteme 2013-10-08, 3/39 Peripherie-Bausteine Bisher gesehen: CPU Cache Daten- und Adress-Bus (externer) Speicher Wie wird eine CPU mit der externen Welt verbunden? Maus, Tastatur, Bidlschirm Hard Disk Netzwerk Ein-/Ausgabegeräte (I/O devices, IO=input/output) c Christian Tschudin CS201 Rechnerarchitektur und Betriebssysteme 2013-10-08, 4/39

Ein-Ausgabegeräte Ein-Ausgabegeräte brauchen Daten-, Adress- und Kontrollleitungen Adresse: selektiert das Gerät, welche Datenbereiche Daten: Ein-/Ausgabe von Daten zum Prozessor/zum Speicher Kontrolle: um den Datenaustausch zu steuern (Zeitpunkt, Handshake) c Christian Tschudin CS201 Rechnerarchitektur und Betriebssysteme 2013-10-08, 5/39 Peripherie-Elektronik Peripherie umfasst: Bus adapter: verbindet ein Gerät mit dem/einem Computer-Bus erkennt CPU-Befehle puffert Daten Gerätespezifische Elektronik Sensoren, Aktuatoren elektrische Signalübersetzung/anpassung ev auch komplexe Kontrolleinheit (eigene µc für HD) c Christian Tschudin CS201 Rechnerarchitektur und Betriebssysteme 2013-10-08, 6/39

Kommunikation zwischen CPU und Peripherie Direct (programmed) I/O (programmierte Ein-/Ausgabe) CPU legt spezielle Befehle auf den Bus read/write für Ports ein Port selektiert das I/O-Geräte Port-Befehle werden von der Geräte-Elektronik erkannt, diese wird dann antworten (statt zb der Speicher-Chip) Beispiele: Lese ein Byte von I/O-Port 0x2f8 Schreibe ein 32-Bit-Wort an Port 0x400 c Christian Tschudin CS201 Rechnerarchitektur und Betriebssysteme 2013-10-08, 7/39 Kommunikation zwischen CPU und Peripherie (II) Memory mapped I/O: Bus-Adapter des Geräts sieht wie Speicher aus CPU setzt gewöhnliche Lese/Schreib-Operationen ein (Speicher-) Adresse selektiert das Gerät I/O read/write-befehle sind auf Speicheroperationen abgebildet Beispiel: schreibe 2 KB in den Videospeicher neuer Bildschirminhalt c Christian Tschudin CS201 Rechnerarchitektur und Betriebssysteme 2013-10-08, 8/39

Kommunikation zwischen CPU und Peripherie (III) Direct memory access (DMA) : CPU initialisiert den Transfer nur: Daten gehen direkt vom Speicher zur Peripherie, DMA generiert Adressen DMA wickelt Transfer ab, CPU arbeitet parallel weiter. DMA ist eine Art Co-Prozessor für Speicherkopieren. addr bus CPU init DMA IO device memory data bus c Christian Tschudin CS201 Rechnerarchitektur und Betriebssysteme 2013-10-08, 9/39 Versch. Bus-Architekturen c Christian Tschudin CS201 Rechnerarchitektur und Betriebssysteme 2013-10-08, 10/39

Verschiedene Bus-Architekturen (II) Memory Processor Bus: schnell kurz ev CPU-spezifisch Backplane Bus: erweiterbar für ein oder mehrere Peripheriegeräte standardisiertes elektrisches Interface standardisiertes Datenaustausch-Protokoll c Christian Tschudin CS201 Rechnerarchitektur und Betriebssysteme 2013-10-08, 11/39 Beispiel eines I/O-Gerätes: Serieller Port UART = universal asynchronous receiver/transmitter CPU schreibt ein Byte (liegt parallel an), serieller Port muss es Bit für Bit aussenden Zu bestimmende Parameter: Bit-Geschwindigkeit Kodierung Kontrolleitungen (Modem ready, clear-to-send etc) UART empfängt auch die Bits: muss ein Bit nach dem anderen speichern und als ein komplettes Byte der CPU anbieten c Christian Tschudin CS201 Rechnerarchitektur und Betriebssysteme 2013-10-08, 12/39

Serieller Port (Forts.) c Christian Tschudin CS201 Rechnerarchitektur und Betriebssysteme 2013-10-08, 13/39 2tes Beispiel eines IO-Gerätes: Hard Drive Mögliche Harddrive-Befehle: Lese+Schreibarm auf spezifischem Zylinder positionieren Abfrage der aktuellen Arm-Position Lesen und Schreiben von Datensektoren Abfragen der physikalischen Charakteristiken # Tracks, Modellname, Hersteller, etc. Low-level-Test starten c Christian Tschudin CS201 Rechnerarchitektur und Betriebssysteme 2013-10-08, 14/39

I/O beim AVR Chip I/O-Bausteine auf dem µc-chip integriert! Total 53 I/O-Leitungen, mit zum Teil mehrfachen Funktionen (entweder Digital-Port, Analog-Port, Daten- oder Adressleitung etc) PORTA bis PORTF: sechs 8-Bit Ports jeweils 3 Register pro Port A F: DDRA..DDRF (Data Direction Register): Ein- oder Ausgang? PORTA..PORTF (Port Data): Output PINA..PINF (Port Input) c Christian Tschudin CS201 Rechnerarchitektur und Betriebssysteme 2013-10-08, 15/39 I/O beim AVR Chip: Memory Mapped Ports + Register Die meisten Ports sind auch via Register/Memory zugreifbar, und umgekehrt sind spezielle Register via Ports veränderbar. port mem name... $3E ($5E) SPH (stack pointer high) $3D ($5D) SPL (stack pointer low)... $03 ($23) PORTE $02 ($22) DDRE $01 ($21) PINE Deshalb: Stack-Pointer lesen mit in r28, 0x3d in r29, 0x3e c Christian Tschudin CS201 Rechnerarchitektur und Betriebssysteme 2013-10-08, 16/39

Speicheradressen des Datensegments (Memory Map) 0x0100 0x10ff Stack 4096 Hauptspeicher Zellen (SRAM) 0x0060 0x00ff 0x0020 0x005f 0x0000 0x001f 8 Bits 160 "extended IO" Registers 64 "Input/Output" Register 32 "general purpose" Register c Christian Tschudin CS201 Rechnerarchitektur und Betriebssysteme 2013-10-08, 17/39 I/O beim AVR Chip: LEDs der Berkeley Motes (MicaZ) Auschnitt aus dem MicaZ Schaltplan: Ports des ATmega128L: LED-Anschlüsse (Ausschnitt): c Christian Tschudin CS201 Rechnerarchitektur und Betriebssysteme 2013-10-08, 18/39

I/O beim AVR Chip: LEDs der Berkeley Mote (Forts) Port-Befehle: in, out, sbi, cbi Initialisieren des (roten) LED-Ports: sbi DDRA, 2 ; setzt Port A, 2tes Bit, als Output-Linie Rote LED einschalten: sbi PORTA, 2 ; (set bit immediate) Output-Bit A2 Rote LED ausschalten: cbi PORTA, 2 ; (clear bit immediate) LED-Status lesen: in r24, PINA ; liest ganzes Byte ein, Maske nötig: 0x03 c Christian Tschudin CS201 Rechnerarchitektur und Betriebssysteme 2013-10-08, 19/39 Programmierung von Geräte-Treibern Drei verschiedene Ansätze für die Daten Ein-/Ausgabe: Programmierte E/A: CPU holt/setzt Daten vom Port (siehe LED-Beispiel oben) ev. muss die CPU Warteschleifen einlegen, Polling Direct memory access spezieller Chip/Logik bewerkstelligt den Datentransfer, warten Interrupt getriebene Ein-/Ausgabe CPU erhält ein Signal, wenn etwas anliegt c Christian Tschudin CS201 Rechnerarchitektur und Betriebssysteme 2013-10-08, 20/39

Programmierte Ein-/Ausgabe Typisches Code-Fragment eines Gerätetreibers: for (;;) { do { flag = read_device_memory(flag_address); } until (flag == 1); data = read_device_memory(data_address); if (all_data_read) break; } Dieses Verfahren heisst Polling (permanente Abfrage) c Christian Tschudin CS201 Rechnerarchitektur und Betriebssysteme 2013-10-08, 21/39 Interrupts Polling sollte vermieden werden (falls CPU besseres zu tun hat): Erwarte Hardware-Signal, wenn das nächste Datum bereit ist Unterbrechung der CPU (Interrupt) via Spezial-Kontrollleitung CPU speichert aktuellen Zustand Forcierter Sprung an vordefinierte Adresse CPU arbeitet die Unterbrechung-Subroutine dort ab (interrupt handler) CPU-Zustand wieder herstellen und am alten Ort weitermachen c Christian Tschudin CS201 Rechnerarchitektur und Betriebssysteme 2013-10-08, 22/39

Verschiedene Kontrollflüsse Sequentiel Schleife Subroutine Interrupt c Christian Tschudin CS201 Rechnerarchitektur und Betriebssysteme 2013-10-08, 23/39 Interrupt getriebene Ein-/Ausgabe Typisches Code-Fragment eines Gerätetreibers: /*... während der Initialisierung: */ catch_interrupt(my_interrupt_handler); /*... weitere Initialisierungen, dann Start der Hauptroutine */ void my_interrupt_handler(void) { *data = read_device_memory(status_address); data++; if (all_data_read()) disable_this_interrupt(); } c Christian Tschudin CS201 Rechnerarchitektur und Betriebssysteme 2013-10-08, 24/39

Interrupt vs Polling Vorteile des Interrupt-Modus: SW-Architektur: Keine Haupt-Schleife nötig, um mehrere Geräte zu verwalten: verschiedene Handler für Uhr, Tastatur, Harddisk etc Nach der Initialisierung kann die CPU andere Aufgaben abarbeiten Nachteil: ev zu langsame Reaktion, dann ist (hardwarenahes) Polling OK Bemerkung: Applikationen sollten NIE Polling machen. c Christian Tschudin CS201 Rechnerarchitektur und Betriebssysteme 2013-10-08, 25/39 Geräte-Treiber und Interrupt-Handler Ein einfacher Lesebefehl wird von versch SW-Schichten bearbeitet: c Christian Tschudin CS201 Rechnerarchitektur und Betriebssysteme 2013-10-08, 26/39

Interrupt Vektor Wo findet die CPU bei einem Interrupt die entspr. Subroutine? Interrupt-Vektor definiert die Sprungadresse Die Hardware kann mehrere verschiedene Interrupts erzeugen Jeder Interrupt soll durch eine andere Routine abgearbeitet Definiere einen Interrupt-Vektor für jeden Interrupt: Tabelle c Christian Tschudin CS201 Rechnerarchitektur und Betriebssysteme 2013-10-08, 27/39 Vektorisierte und nicht-vektorisierte Interrupts Verschiedene Behandlungsarten Vektorisierte Interrupt-Behandlung: entweder mehrere Interrupt-Leitungen oder das auslösende Gerät gibt die Interrupt-ID auf den Bus Tabelle, um aus verschiedenen Vektoren auszuwählen Nicht-vektorisierte Interrupts: nur eine Interrupt-Leitung CPU muss alle Geräte abfragen, wer/warum Interrupt auslöste c Christian Tschudin CS201 Rechnerarchitektur und Betriebssysteme 2013-10-08, 28/39

Interrupt Tabelle Jedes Geräte hat seinen eigenen Interrupt (und -Vektor). zb im PC: c Christian Tschudin CS201 Rechnerarchitektur und Betriebssysteme 2013-10-08, 29/39 Interrupt Prioritäten Was passiert, falls ein zweiter Interrupt während dem Abarbeiten eines Interrupts auftritt? verschachtelte Interrupts! Der erste Handler wird unterbrochen wie jedes anderes Programm: der zweite Handler wird ausgeführt der erste Handler nimmt Abarbeitung wieder auf und gibt Kontrolle schliesslich ans Hauptprogramm zurück Einige Interrupts sind wichtiger als andere: Prioritäten geben an, wer wen unterbrechen darf (bedingt zusätzliche HW) c Christian Tschudin CS201 Rechnerarchitektur und Betriebssysteme 2013-10-08, 30/39

Interrupt Prioritäten, Beispiel ISR = Interrupt Service Routine (Handler) c Christian Tschudin CS201 Rechnerarchitektur und Betriebssysteme 2013-10-08, 31/39 Interrupt Maske Wie kann ein Interrupt in kritischen Situationen verhindert werden? CPU kann Interrupts maskieren : temporäres Unterbinden von Interrupts z.b. beim Setzen des Stackpointers sobald die Maske aufgehoben wird, werden hängige Interrupts ausgeführt Nonmaskable Interrupt (NMI), z.b. Intel für Interrupts, die nie ignoriert werden sollen Beispiel 1: Hardware-Fehler im Hauptspeicher Beispiel 2: Breakpoint im Debugger c Christian Tschudin CS201 Rechnerarchitektur und Betriebssysteme 2013-10-08, 32/39

Interrupts beim AVR Chip 35 mögliche Interrupts! Davon 8 externe Interrupt-Leitungen (andere: Timer, UART, Reset, EEPROM ready) Priorität: je niedriger die Nummer, desto höhere Priorität RESET (1. Interrupt) hat höchste Priorität Sprungadressen (Vektor-Tabelle) ab Adresse 0x0000, d.h. CPU started nach einem Reset bei Adresse 0 Address Code Comments $0000 jmp RESET ; Reset Handler $0002 jmp EXT_INT0 ; IRQ0 Handler $0004 jmp EXT_INT1 ; IRQ1 Handler... $0012 jmp TIM2_COMP ; Timer2 Compare Handler c Christian Tschudin CS201 Rechnerarchitektur und Betriebssysteme 2013-10-08, 33/39 Interrupts beim AVR Chip: Abarbeitung Interrupt Handling: The AVR provides several different interrupt sources. These interrupts and the separate reset vector each have a separate program vector in the program memory space. All interrupts are assigned individual enable bits which must be written logic one together with the Global Interrupt Enable bit in the Status Register in order to enable the interrupt.... When an interrupt occurs, the Global Interrupt Enable I-bit is cleared and all interrupts are disabled. The user software can write logic one to the I-bit to enable nested interrupts. All enabled interrupts can then interrupt the current interrupt routine. The I-bit is automatically set when a Return from Interrupt instruction RETI is executed.... Note that the Status Register is not automatically stored when entering an interrupt routine, nor restored when returning from an interrupt routine. This must be handled by software. c Christian Tschudin CS201 Rechnerarchitektur und Betriebssysteme 2013-10-08, 34/39

Interrupts beim AVR Chip: Abarbeitung (II) Erläuterungen, Ergänzungen: Global Interrupt Enable -Bit: globale Maske (I-Flag) im Status-Wort (SREG), um Interrupts zu erlauben (oder nicht) RETI: wie RET, aber die Interrupts werden wieder zugelassen cli clear global interrupt flag sei set global interrupt flag Beispiel: sei sleep ; erlaubt Interrupts (z.b. Timer) ; versetzt CPU in Schlafmodus, wird ; durch Interrupt abgebrochen c Christian Tschudin CS201 Rechnerarchitektur und Betriebssysteme 2013-10-08, 35/39 Rekapitulation Prolog für C, Stack Manipulation test: /* prologue: frame size=1 */ push r28 push r29 in r28, SP_L in r29, SP_H sbiw r28,1 in tmp_reg, SREG cli out SP_H,r29 out SREG, tmp_reg out SP_L,r28 /* prologue end (size=10) */... Kritischer Moment: Manipulation des Stackpointers (SP) Lesen des Stackpointers kein Problem: in r28, SP L (Q: warum ist das so?) Schreiben: zuerst Interrupts blockieren (cli), (Q: wo ist sti?) c Christian Tschudin CS201 Rechnerarchitektur und Betriebssysteme 2013-10-08, 36/39

Timer Clock-Device (ev mit Stützbatterie) Oszillator + Prescaler + Zähler Interaktion: Setzen/Abfrage des Zählers Mögl. Aktionen bei Erreichen einer Limite (Intervall): Zähler neu setzen Zählrichtung ändern Interrupt bei Erreichen einer Limite, etc Grundlage von Multitasking: Timer-Interrupt löst Task -Wechsel aus c Christian Tschudin CS201 Rechnerarchitektur und Betriebssysteme 2013-10-08, 37/39 Timer: Prescaler Falls Systemtakt verwendet wird: Zähler läuft schnell über. Prescaler: Frequenzteiler d.h. Interrupt-Frequenz von Zähler und Teiler abhängig. c Christian Tschudin CS201 Rechnerarchitektur und Betriebssysteme 2013-10-08, 38/39

Was kann mit einem Timer gemacht werden? Interrupt-Handler für Timer: zum Beispiel alle 10 millisec aufrufen lassen Nach jedem Interval einen anderen Prozess abarbeiten Aufteilen der CPU auf mehrere Programme. Eckwerte: erster PC: 1/18 sec Linux auf Pentium: 1/1000 sec c Christian Tschudin CS201 Rechnerarchitektur und Betriebssysteme 2013-10-08, 39/39