Vom Prozessor zum System Technische Grundlagen der Informatik Prof. Dr. Michael Löwe (Grundlage: Tanenbaum/Goodman. Computerarchitektur. 1999.)
Vom Prozessor zum System Inhalt Zusammenfassung Automaten und Prozessoren Memory-Mapped Input/Output Interrupts Direct Memory Access (DMA) Bus-Systeme Beispiel-Bus-Systeme in einem Personal Computer Synchrone und asynchrone Bus-Systeme Bus-Arbitration Geräteadressierung FHDW Vom Prozessor zum System
Micro Controller: Übersicht MAR MDR MBR PC LV CPP SP TOS ALU C 512 32 Bit Steuerspeicher Addr J M B 9 2 7 8 3 3 Decode MPC H A 2* read, write, fetch Z 1 MIR FHDW Vom Prozessor zum System
Prozessor und Speicher Datenbus Adressbus Datenspeicher (Zustand des Systems) Speicher Prozessor Programm- speicher FHDW Vom Prozessor zum System
Memory-Mapped Input/Output Bus Datenspeicher (Zustand des Systems) Prozessor + Programm = Logische Funktion Prozessor ? Programm- speicher Programm- speicher Eingabe und Ausgabe Geräte FHDW Vom Prozessor zum System
Memory-Mapped I/O: Beispiel Intel 8255A Port A (8 Bit) Port B (8 Bit) Port C (8 Bit) CS* A0 A1 WR* Reset D0 – D7 Status (8 Bit) } LEDs, Schalter, Digital-Analog-Wandler... verstärkende Transisoren... Servos, Relais, Schütze... Aufgabe: Die Hardware für ein eingebettetes System soll (1) einen Prozessor mit 16 Bit Adress- und 8 Bit Datenbus, (2) 8K 8 Bit Programmspeicher (EPROM), (3) 8K 8 Bit Datenspeicher (RAM) und (4) einen 8255 Parallel-Port erhalten. Entwickeln Sie eine „Memory Map“ für dieses System und entwerfen Sie die Adressdekodierung für die CS-Signale der drei Speicher- und I/O-Bausteine! FHDW Vom Prozessor zum System
Memory-Mapped I/O: Beispiel 8K 8 EPROM CS 8K 8 RAM CS 8255 CS D0 - D7 FHDW Vom Prozessor zum System
Peripherie für Memory-Mapped I/O Parallele Schnittstellen Serielle Schnittstellen Timer Bus-Controller Interrupt Controller ... Output: gut Input: mangelhaft ? FHDW Vom Prozessor zum System
Einfache Interrupt-Steuerung Prozessor Datenspeicher Programmspeicher Datenbus Adressbus Interrupt Interrupt-Vektor (8 Bit = 256 Arten) 256 Interrupt-Handler Call of interrupt handler Memory-mapped Ein/Ausgabegeräte FHDW Vom Prozessor zum System
Vom Prozessor zum System Interrupt Controller INT IR0 Prozessor Intel 8259A Interrupt Controller Gerät1: Uhr INTA IR1 RD/WR/CS Gerät2: Tastatur . Adresse D0 - D7 IR7 Gerät7: Festplatte Protokoll: 1. Gerät setzt IR 2. 8259A setzt INT 3. Prozessor setzt INTA 4. 8259A IR-Nummer als Interruptvektor auf D 5. Prozessor ruft Handler 6. Ende: Prozessor beschreibt 8259A-Statusreg. 7. 8259A setzt INT zurück Durch Statusregister steuerbar: 1. Interrupt-Prioritäten 2. Ausblenden/Maskieren von Interrupts 3. Kaskaden von 8259 Controllern..... FHDW Vom Prozessor zum System
Memory-Mapped I/O mit Interrupts Einfache Ausgabe von Daten durch Beschreiben von Geräteregistern (wie Speicher) Einfache Eingabe von Daten durch Lesen von Geräteregistern (wie Speicher) Kein Polling bei der Eingabe durch Interrupt-Steuerung ¿Große Ausgabe- oder Eingabedatenmengen (z. B. Platte)? Belegung großer Bereiche des Adressraums Kopieren der Daten an die und von der richtige(n) Stelle Arbeit immer über den Prozessor Direct Memory Access (DMA) FHDW Vom Prozessor zum System
Bus-Belegung im derzeitigen I/O Prozessor Datenspeicher Programmspeicher Datenbus Adressbus Interrupt Interrupt-Vektor Memory-mapped Ein/Ausgabegeräte mit Interrupts Schreiben auf Adressbus: Ausschließlich Prozessor Schreiben auf Datenbus: Prozessor Speicher nur nach Aufforderung Geräte nur unter Interrupt Resultat: Master (Prozessor) /Slave (Geräte) -Struktur FHDW Vom Prozessor zum System
DMA: „Viele Partner mit einem Speicher“ Steuerregister schreiben DMA starten Bus reservieren Block transferieren Ende des Transfers über Interrupt anzeigen Speicher Prozessor Interrupt Controller Video- Controller Disketten- Controller Festplatten- Controller BUS Steuer- und Statusregister über Memory-mapped I/O: Startadresse des Blocks, Größe des Blocks, Lesen/Schreiben, Quelle des Blocks FHDW Vom Prozessor zum System
Vom Prozessor zum System PC-Bus-Struktur LAN Prozessor Speicher Speicherbus PCI-Bus Brücke Netzwerk PCI-Bus ISA-Bus Brücke SCSI- Controller USB- Controller Audio Video ISA-Bus Maus SCSI-Bus Modem Drucker Universal Serial Bus Tastatur Festplatte FHDW Vom Prozessor zum System
Memory Map und I/O-Space USB- Controller Universal Serial Bus Prozessor Speicher Speicherbus PCI-Bus Brücke Video Audio ISA-Bus Drucker Modem SCSI- Maus Tastatur SCSI-Bus Festplatte Netzwerk LAN I/O-Space Prozessor Speicher I/O-Bus Speicherbus MREQ I/O-Bus I/O-Space I/O-Space FHDW Vom Prozessor zum System
Vom Prozessor zum System Bus-Merkmale Bus-Breite Bus-Taktung synchron asynchron Bus-Arbitration (Auflösung von Konkurrenz) Verschiedenes Blocktransfer Geräte-Adressierung FHDW Vom Prozessor zum System
Vom Prozessor zum System Bus-Breite Physisch: Anzahl Leitungen / Breite der Steckerleiste Logisch: Adressbreite (PC/ISA: 20; AT/ISA: 20 + 4; EISA: 20 + 4 + 8) Datenbreite (PC/ISA: 8; AT/ISA: 8 oder 16; EISA: 32; PCI: 32 oder 64) Steuerung Logisch Physisch Multiplexen von Adressen Multiplexen von Daten Multiplexen von Adressen mit Daten FHDW Vom Prozessor zum System
Bus-Taktung und -Bandbreite Anzahl Taktzyklen pro Sekunde (ein Zyklus ein Datentransfer) ISA: 8,33 MHz := 16,7 Mbyte/s EISA: 8,33 MHz := 33,3 Mbyte/s PCI 1: 33 MHz := 132 Mbyte/s PCI 2: 66 MHz := 528 Mbyte/s USB 1: ca 15 MHz := 1,5 Mbyte/s USB 2: .... FHDW Vom Prozessor zum System
Vom Prozessor zum System Synchroner Bus Adresse Daten Mastertakt MREQ RD WAIT t1 t2 t3 t1: Prozessor leitet Lesen ein: Adresse, MREQ, RD t2: Speicher legt WAIT an, da er die Daten nicht in t2 bereitstellen kann. t3: Speicher nimmt WAIT zurück, da er die Daten in t3 bereitstellt Prozessor übernimmt Daten in t3, setzt MREQ und RD zurück, gibt Adressen frei Speicher gibt Datenleitungen frei t4: Neuer Zyklus für ggf. anderes Kommunikationspaar kann beginnen FHDW Vom Prozessor zum System
Vom Prozessor zum System Asynchroner Bus Adresse Daten MREQ RD MasterSyn SlaveSyn 1. Prozessor leitet Lesevorgang ein: Adresse, MREQ, RD, MSYN 2. Prozessor wartet auf SSYN, Speicher beschafft Daten 3. Speicher bietet Daten an, signalisiert SSYN 4. Prozessor holt Daten ab, nimmt MSYN zurück, gibt Signale frei 5. Speicher nimmt SSYN zurück, gibt Datenleitungen frei. FHDW Vom Prozessor zum System
Auflösen von Konkurrenz Busanfrage Zentraler Arbiter Busgewährung Gerät 1 Gerät 2 Gerät 3 ? Zentraler Arbiter mit Prioritäten Dezentrale Konfliktlösung FHDW Vom Prozessor zum System
Vom Prozessor zum System Blocktransfer Normale BusTransaktion: Übertragung eines Datensatzes Blocktransfer: Übertragung von Datenfeldern Zusätzliches Bussignal: BLOCK Master schickt als erstes Datum Blocklänge BL Und dann (beim Schreiben) in weiteren Buszyklen BL viele Daten Beim Lesen schickt der Slave BL viele Daten FHDW Vom Prozessor zum System
Vom Prozessor zum System Geräteadressierung Memory-mapped: Basis der Speicheradressen I/O-mapped: Basis der Adressen im I/O-Space Adressierung über den Bus Geräteselektion über Busleitung für jedes Gerät (CS) Geräteselektion über Adressnummer (kodiertes CS) Statische Adresszuteilung Dynamische Adresszuteilung Adressierung in Bussen versus Adressierung im Netz FHDW Vom Prozessor zum System