Grundlagen der Rechnerarchitektur Ein und Ausgabe
Übersicht Grundbegriffe Hard Disks und Flash RAM Zugriff auf IO Geräte RAID Systeme SS 2012 Grundlagen der Rechnerarchitektur Ein und Ausgabe 2
Grundbegriffe SS 2012 Grundlagen der Rechnerarchitektur Ein und Ausgabe 3
Verbindung zwischen IO Geräte, Speicher und Prozessor Bildquelle: David A. Patterson und John L. Hennessy, Computer Organization and Design, Fourth Edition, 2012 SS 2012 Grundlagen der Rechnerarchitektur Ein und Ausgabe 4
Aktuelle wichtige IO Standards Bildquelle: David A. Patterson und John L. Hennessy, Computer Organization and Design, Fourth Edition, 2012 SS 2012 Grundlagen der Rechnerarchitektur Ein und Ausgabe 5
x86 Beipiel: Intel 5000P Chip Set Bildquelle: David A. Patterson und John L. Hennessy, Computer Organization and Design, Fourth Edition, 2012 SS 2012 Grundlagen der Rechnerarchitektur Ein und Ausgabe 6
Flash Speicher Flash Speicher: nichtvolatiler Halbleiterspeicher. Vorteile gegenüber Disks: Latenz ist 100 bis 1000 fach schneller Kleiner Mehr Leistungseffizient Mehr Shock Resistent Nachteile gegenüber Disks: Höherer Preis pro GB (allerdings sind die Preise fallend) Flash Speicher Bits sind nach vielem Überschreiben nicht mehr verwendbar (Wear Out). Flash Speicher muss ein entsprechendes Wear Leveling durchführen. SS 2012 Grundlagen der Rechnerarchitektur Ein und Ausgabe 11
NOR und NAND Flash Speicher Bildquelle: David A. Patterson und John L. Hennessy, Computer Organization and Design, Fourth Edition, 2012 SS 2012 Grundlagen der Rechnerarchitektur Ein und Ausgabe 12
Zugriff auf IO Geräte SS 2012 Grundlagen der Rechnerarchitektur Ein und Ausgabe 13
Mitteilen von Kommandos an IO Geräte Memory Mapped IO In einen kleinen Teil des regulären Speichers werden Register des IO Gerätes gemapped. Schreiben und Lesen auf diese Speicherbereiche werden von dem Speicher Controller direkt an bzw. von dem IO Gerät weiter gereicht. Betriebssystem kann den direkten Zugriff von gewöhnlichen User Programmen auf den Speicher verhindern, indem virtuelle Adressen nicht auf den physikalischen Speicher mit dem Memory Mapped IO gemapped werden. Simples Beispiel: Printer mit zwei IO Register Status Register: z.b. Done Bit, Error Bit Daten Register: z.b. das aktuell zu druckende Zeichen Prozessor muss das Done Bit testen, bevor das nächste Byte geschrieben werden kann. SS 2012 Grundlagen der Rechnerarchitektur Ein und Ausgabe 14
Mitteilen von Kommandos an IO Geräte Separate IO Instruktionen: Maschinen Instruktion, welche die Geräte Adresse und das zu übermittelnde Kommando angibt Alternative: Anstatt Kommando eine Speicherstelle, die das Kommando speichert Beispiele: Intel x86 und IBM 370 Diese speziellen Instruktionen können nur im Supervisor Modus ausgeführt werden. Betriebssystem kann damit den Zugriff auf IO durch User Programm unterbinden. SS 2012 Grundlagen der Rechnerarchitektur Ein und Ausgabe 15
Kommunikation mit dem Prozessor Polling: Prozessor muss aktiv ein Statusregister solange abfragen, bis der Status die nächste Operation erlaubt (siehe voriges einfaches Beispiel) Problem: CPU Zeit wird unnötig verbraucht Interrupts: IO Gerät meldet sich bei der CPU durch einen Interrupt, wenn eine Operation beendet wurde Alternativen, wie Interrupt Behandlung organisiert sein kann: Ein Interrupt Handler pro Interrupt Typ Ein einziger Interrupt Handler und ein Cause Register SS 2012 Grundlagen der Rechnerarchitektur Ein und Ausgabe 16
Datentransfer zwischen Gerät und Speicher Für besprochenes Polling und Interrupts: Prozessor ist dafür zuständig die Daten in oder aus den gemappten Speicherstellen zu übertragen. Sinnvoll für IO mit geringen Datenraten Bei hohen Datenraten wäre (auch mit Interrupts) der Prozessor nur mit dem übertragen von Daten beschäftigt Hier ist der sogenannte Direct Memory Access (DMA) sinnvoller Ablauf des DMA Prozessor bestimmt (über Memory Mapped IO) das DMA Gerät, die Operation (schreiben oder lesen), die Start Speicherstelle und die Anzahl zu übertragen Bytes Gerät greift selbstständig schreibend/lesend auf den Speicher zu Bei Ende informiert das Gerät den Prozessor über einen Interrupt SS 2012 Grundlagen der Rechnerarchitektur Ein und Ausgabe 17
Datentransfer zwischen Gerät und Speicher DMA ermöglicht der CPU während der Datenübertragung parallel weiter zu rechnen; allerdings nur solange die CPU nicht auf den Hauptspeicher zugreift. Modernde zusätzliche IO Prozessoren können die CPU Last weiter reduzieren. IO Prozessoren führen ganze im Speicher befindliche IO Programme aus. Mögliche Inkonsistenzen zwischen Cache der CPU und Speicher müssen bei DMA beachtet werden CPU liest aus Cache DMA schreibt direkt in den Speicher Virtuelle Adressen erfordern ebenso Vorsicht DMA schreibt in den physischen Adressraum Virtueller Adressraum wird aber möglicherweise nicht auf zusammenhängende Folge von Speicherblöcken gemappt SS 2012 Grundlagen der Rechnerarchitektur Ein und Ausgabe 18
Zusammenfassung und Literatur SS 2012 Grundlagen der Rechnerarchitektur Ein und Ausgabe 25
Zusammenfassung Charakteristiken von IO Systemen: Zuverlässigkeit, die Vielzahl an unterstützten Geräten, maximale Anzahl unterstützter Geräte, Kosten, und Performance: d.h. Latenz und/oder Durchsatz Wichtige Art des IO Interfacings Im Low bis Mid Range Bereich: (Buffered )DMA Im High End Bereich Viele Pfade und limitiertes Buffering, um Latenz und Durchsatz zu verbessern Redundanz und Fehlerkorrektur, um die Verfügbarkeit zu verbessern Wichtigster Faktor für Zukünftige IO Systeme: Speicher und Vernetzungsbedarf wächst. Genereller Trend: Software as a Service Zukünftige Entwicklung Jedes Gerät ist drahtlos/drahtgebunden vernetzt Flash ROM spielt eine immer größere Rolle; insbesondere mit der Durchdringung des Alltags mit mobilen Geräten SS 2012 Grundlagen der Rechnerarchitektur Ein und Ausgabe 26
Literatur PattersonHennessy2012] David A. Patterson und John L. Hennessy, Computer Organization and Design, Fourth Edition, 2012 6.1 Introduction 6.2 Dependability, Reliability, and Availability 6.3 Disk Storage 6.4 Flash Storage 6.5 Connecting Processors, Memory, and I/O Devices 6.6 Interfacing I/O Devices to the Processor, Memory, and Operating System 6.9 Parallelism and I/O: Redundant Arrays of Inexpensive Disks 6.13 Concluding Remarks SS 2012 Grundlagen der Rechnerarchitektur Ein und Ausgabe 27