29.08.2013 Aufrufe

Teil 16 - LRR

Teil 16 - LRR

Teil 16 - LRR

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

Rechnerarchitektur<br />

Vorlesung im WS 2003/2004<br />

3. Systemarchitektur<br />

❛<br />

❛<br />

❛ ❛ ❛ ❛<br />

c○R. Wismüller / W. Karl, <strong>LRR</strong>-TUM <strong>16</strong>-1<br />

3. Systemarchitektur<br />

Struktur eines Rechners nach von-Neumann<br />

Verbindungssystem<br />

Zentraleinheit<br />

Leitwerk<br />

Rechenwerk<br />

Hauptspeicher<br />

Ein−/Ausgabe−<br />

werk<br />

Ein−/Ausgabe−<br />

geräte<br />

Tastatur, Drucker<br />

Sichtgeräte, ...<br />

Periphere<br />

Speicher<br />

Plattenspeicher,<br />

Bandspeicher, ...<br />

c○R. Wismüller / W. Karl, <strong>LRR</strong>-TUM <strong>16</strong>-2<br />

❛<br />

❛<br />

❛ ❛ ❛ ❛


Inhalt<br />

3. Systemarchitektur<br />

1. Speicher und Busse<br />

➥ Halbleiterspeicher<br />

➥ Bussysteme<br />

➥ Leistungssteigerung<br />

➥ Bushierarchie<br />

2. Ein-/Ausgabe<br />

c○R. Wismüller / W. Karl, <strong>LRR</strong>-TUM <strong>16</strong>-3<br />

Rechnerarchitektur<br />

Vorlesung im WS 2003/2004<br />

3. Systemarchitektur<br />

3.1. Speicher und Busse<br />

c○R. Wismüller / W. Karl, <strong>LRR</strong>-TUM <strong>16</strong>-4<br />

❛<br />

❛<br />

❛ ❛ ❛ ❛<br />

❛<br />

❛<br />

❛ ❛ ❛ ❛


3.1.1. Halbleiterspeicher<br />

Arten von Halbleiterspeichern, Speichertechnik<br />

➥ statisches RAM (SRAM): Flip-Flops<br />

➥ schnell und teuer, aufwendig, für Caches<br />

➥ dynamisches RAM (DRAM): Ladung in Kondensatoren<br />

➥ Leckströme: periodisches Auffrischen nötig, langsamer<br />

➥ hohe Speicherdichte, billig, für Hauptspeicher<br />

➥ EPROM, EEPROM: Ladung in isoliertem Gate<br />

➥ Einbringen der Ladung durch hohe Spannung<br />

➥ Löschen: durch UV-Licht (EPROM), oder elektrisch<br />

(EEPROM, Flash ROM)<br />

➥ Informationserhaltung auch ohne Betriebsspannung<br />

➥ PROM: zerstörbare Sicherungen<br />

➥ ROM: elektrische Verbindungen bei der Chip-Herstellung<br />

c○R. Wismüller / W. Karl, <strong>LRR</strong>-TUM <strong>16</strong>-5<br />

3.1.1. Halbleiterspeicher ...<br />

Aufbau einer DRAM-Zelle<br />

Transistor<br />

Kondensator<br />

Auswahlleitung<br />

Bitleitung<br />

➥ Lesen ist zerstörend, daher Rückschreiben notwendig<br />

➥ Zykluszeit (Zeit zwischen aufeinanderfolgenden Zugriffen) ist<br />

größer als die Zugriffszeit<br />

c○R. Wismüller / W. Karl, <strong>LRR</strong>-TUM <strong>16</strong>-6<br />

❛<br />

❛<br />

❛ ❛ ❛ ❛<br />

❛<br />

❛<br />

❛ ❛ ❛ ❛


3.1.1. Halbleiterspeicher ...<br />

RAS<br />

CAS<br />

Aufbau eines DRAM-Bausteins<br />

Adresse<br />

n<br />

Register für<br />

Zeilenadresse<br />

Register für<br />

Spaltenadresse<br />

Adreßdekoder<br />

...<br />

Matrix<br />

aus<br />

DRAM<br />

Zellen<br />

...<br />

Leseverstärker<br />

Schreiblogik<br />

Spalten−MUX/<br />

DEMUX<br />

Daten<br />

❛<br />

❛<br />

❛ ❛ ❛ ❛<br />

Adresse aufgeteilt in<br />

Zeilen− und Spalten−<br />

adresse, im Multiplex−<br />

betrieb über dieselben<br />

Leitungen übertragen<br />

RAS = Row address<br />

strobe<br />

WE<br />

CAS = Column address<br />

strobe<br />

WE = Write enable<br />

Intern wird immer eine<br />

ganze Zeile gelesen!<br />

c○R. Wismüller / W. Karl, <strong>LRR</strong>-TUM <strong>16</strong>-7<br />

3.1.1. Halbleiterspeicher ...<br />

Zugriffsprotokoll bei DRAMs<br />

➥ Ablauf eines Lesezugriffs:<br />

➥ Anlegen der Zeilenadresse, RAS aktivieren<br />

➥ Anlegen der Spaltenadresse, CAS aktivieren<br />

➥ Ausgabe der Daten<br />

➥ Rückschreiben der gelesenen Zeile<br />

➥ Nachfolgende Zugriffe auf Zellen in derselben Zeile (page)<br />

können schneller erfolgen<br />

➥ nibble mode, page mode, static column mode, ...<br />

➥ ausgenutzt z.B. durch längere Cache-Zeilen<br />

➥ beim Laden: Zugriffe auf aufeinanderfolgende Adressen<br />

c○R. Wismüller / W. Karl, <strong>LRR</strong>-TUM <strong>16</strong>-8<br />

❛<br />

❛<br />

❛ ❛ ❛ ❛


3.1.2. Bussysteme<br />

Definition und Eigenschaften<br />

➥ Ein Bus ist ein gemeinsamer Datenpfad (Leitungsbündel), der<br />

mehrere (≥ 2) Einheiten eines Rechers verbindet<br />

➥ Die Einheiten heißen Busteilnehmer<br />

➥ aktive Busteilnehmer (Bus Master) können Datentransfers<br />

einleiten<br />

➥ passive Busteilnehmer (Slaves) reagieren nur auf Anfragen<br />

➥ Ein Bus ist ein exklusives Betriebsmittel<br />

➥ zu jedem Zeitpunkt kann nur ein Busteilnehmer den Bus<br />

aktiv steuern<br />

➥ Ein Bus ist ein Broadcast-Medium<br />

➥ Daten auf dem Bus können von allen Busteilnehmern<br />

gleichzeitig gelesen werden<br />

c○R. Wismüller / W. Karl, <strong>LRR</strong>-TUM <strong>16</strong>-9<br />

3.1.2. Bussysteme ...<br />

Arten von Bussen<br />

➥ Serielle Busse: Datenübertragung erfolgt bitweise seriell<br />

➥ zur Anbindung externer Peripherie (z.B. USB, Firewire)<br />

➥ im Netzwerkbereich (z.B. Ethernet)<br />

➥ Parallele Busse: Datenübertragung erfolgt wortweise über<br />

mehrere Leitungen<br />

➥ Cache- und Speicherbusse: Speicheranbindung<br />

➥ i.a. stark prozessorabhängig<br />

➥ Peripheriebusse<br />

➥ z.B. PCI, SBus, ...<br />

➥ Rückwandbusse<br />

➥ standardisierte Busse für modulare Rechnersysteme<br />

➥ z.B. CompactPCI, Futurebus, ...<br />

c○R. Wismüller / W. Karl, <strong>LRR</strong>-TUM <strong>16</strong>-10<br />

❛<br />

❛<br />

❛ ❛ ❛ ❛<br />

❛<br />

❛<br />

❛ ❛ ❛ ❛


3.1.2. Bussysteme ...<br />

Typischer Aufbau eines parallelen Busses<br />

Adreßbus<br />

Steuerbus<br />

Datenbus<br />

Arbitrierung<br />

Interrupts<br />

Versorgung<br />

Busteil− Busteil− Busteil−<br />

nehmer nehmer nehmer<br />

1 2<br />

3<br />

(aktiv) (aktiv) (passiv)<br />

❛<br />

❛<br />

❛ ❛ ❛ ❛<br />

Busteil−<br />

nehmer<br />

4<br />

(passiv)<br />

c○R. Wismüller / W. Karl, <strong>LRR</strong>-TUM <strong>16</strong>-11<br />

Rechnerarchitektur<br />

Vorlesung im WS 2003/2004<br />

29.01.04<br />

Roland Wismüller, <strong>LRR</strong>-TUM<br />

wismuell@in.tum.de, Tel.: 289-17676, Büro: 01.04.061<br />

c○R. Wismüller / W. Karl, <strong>LRR</strong>-TUM <strong>16</strong>-12<br />

❛<br />

❛<br />

❛ ❛ ❛ ❛


Wo waren wir?<br />

➥ Virtuelle Speicherverwaltung<br />

➥ Segmentierung, seitenbasierte Speicherverwaltung<br />

➥ mehrstufige Seiten-/Kacheltabellen<br />

➥ Einsatz von Caches: TLBs<br />

➥ Spezialisierte Mikroprozessoren<br />

➥ Mobile Prozessoren, Mikrocontroller, Signalprozessoren<br />

➥ Systemarchitektur<br />

➥ DRAMs: intern immer ganze Zeile gelesen<br />

➥ Bus:<br />

➥ gemeinsame Verbindung mehrerer Busteilnehmer<br />

➥ exklusives Betriebsmittel, Broadcast-Medium<br />

❛<br />

❛<br />

❛ ❛ ❛ ❛<br />

c○R. Wismüller / W. Karl, <strong>LRR</strong>-TUM <strong>16</strong>-13<br />

3.1.2. Bussysteme ...<br />

Architekturmerkmale von Bussen<br />

➥ Breite des Datenbusses<br />

➥ breiterer Datenbus ⇒ höherer Durchsatz, aber auch<br />

höherer Hardwareaufwand<br />

➥ bei Cache- und Speicherbussen heute meist: ≥ 64 Bits,<br />

bis zu 512 Bits bei Hochleistungs-Servern<br />

➥ Betriebsart von Adreß- und Datenbus<br />

➥ getrennte Leitungen<br />

➥ gemeinsame Leitungen im Zeitmultiplex<br />

➥ weniger Aufwand, langsamer<br />

➥ z.B. bei Peripheriebussen<br />

c○R. Wismüller / W. Karl, <strong>LRR</strong>-TUM <strong>16</strong>-14<br />

❛<br />

❛<br />

❛ ❛ ❛ ❛


3.1.2. Bussysteme ...<br />

Architekturmerkmale von Bussen ...<br />

➥ Transfergröße<br />

➥ wird mit einer Bustransaktion nur ein Wort übertragen oder<br />

mehrere?<br />

➥ Übertragung mehrerer Worte (Blocktransfer) ist effizienter,<br />

aber aufwendiger<br />

➥ Multimaster-Fähigkeit<br />

➥ kann es mehrere aktive Busteilnehmer geben, die<br />

Bustransaktionen initiieren können?<br />

➥ erfordert Mechanismen zur Buszuteilung (Arbitrierung)<br />

➥ zentrale oder dezentrale Verfahren<br />

c○R. Wismüller / W. Karl, <strong>LRR</strong>-TUM <strong>16</strong>-15<br />

3.1.2. Bussysteme ...<br />

Beispiel für zentrale Busarbitrierung<br />

Bus−<br />

Arbiter<br />

1<br />

aktive Busteilnehmer<br />

2<br />

3<br />

BRQ1<br />

BRQ2<br />

BRQ3<br />

BGT1<br />

BGT2<br />

BGT3<br />

BUSY<br />

Bus Request<br />

Anfrage<br />

Bus Grant<br />

Zuteilung<br />

Bus belegt<br />

Adreß−/Datenbus<br />

c○R. Wismüller / W. Karl, <strong>LRR</strong>-TUM <strong>16</strong>-<strong>16</strong><br />

❛<br />

❛<br />

❛ ❛ ❛ ❛<br />

❛<br />

❛<br />

❛ ❛ ❛ ❛


3.1.2. Bussysteme ...<br />

Architekturmerkmale von Bussen ...<br />

➥ Zeitliche Steuerung<br />

➥ synchrone Busse<br />

➥ alle Bustransaktionen durch zentralen Takt gesteuert<br />

➥ einfachere Abläufe<br />

➥ nur Busteilnehmer mit ausreichender Geschwindigkeit<br />

➥ begrenzte Ausdehnung und Skalierbarkeit<br />

➥ i.a. bei Cache- und Speicher-Bussen<br />

➥ asynchrone Busse<br />

➥ explizite zeitliche Steuerung (Handshaking)<br />

➥ komplexere Bustransaktionen<br />

➥ auch langsame Busteilnehmer möglich<br />

➥ bei einigen Peripherie- und Rückwandbussen<br />

c○R. Wismüller / W. Karl, <strong>LRR</strong>-TUM <strong>16</strong>-17<br />

3.1.2. Bussysteme ...<br />

Beispiel für synchrones Busprotokoll<br />

Takt<br />

Adresse<br />

MREQ<br />

RD<br />

WAIT<br />

Daten<br />

T1<br />

T2<br />

Signal innerhalb vorgeschriebener Zeit nach der Taktflanke gültig sein<br />

Signal muß eine bestimmte Zeit vor der Taktflanke gültig sein<br />

T3<br />

Speicher−<br />

Adreßraum<br />

Lesen<br />

vom Slave<br />

bitte warten<br />

Daten vom<br />

Slave<br />

❛<br />

❛<br />

❛ ❛ ❛ ❛<br />

❛<br />

❛<br />

❛ ❛ ❛ ❛<br />

Adresse vom<br />

Master<br />

c○R. Wismüller / W. Karl, <strong>LRR</strong>-TUM <strong>16</strong>-18


3.1.2. Bussysteme ...<br />

Beispiel für asynchrones Busprotokoll<br />

Adresse<br />

MREQ<br />

RD<br />

MSYN<br />

Daten<br />

SSYN<br />

Kausalitätsbeziehungen<br />

Speicher−<br />

adreßraum<br />

Lesen<br />

❛<br />

❛<br />

❛ ❛ ❛ ❛<br />

Adresse vom<br />

Master<br />

Master: alle<br />

Signale gültig<br />

Daten vom<br />

Slave<br />

Slave: alle<br />

Signale gültig<br />

Ablauf des "Handshaking"<br />

c○R. Wismüller / W. Karl, <strong>LRR</strong>-TUM <strong>16</strong>-19<br />

3.1.2. Bussysteme ...<br />

Architekturmerkmale von Bussen ...<br />

➥ Geteilte Transaktionen / Pipelining<br />

➥ ein ” normaler“ Bus ist während der gesamten Transaktion<br />

belegt<br />

➥ schlechte Auslastung, v.a. bei Lese-Transaktionen<br />

➥ bei geteilten Transaktionen:<br />

➥ die Bustransaktion werden in Phasen aufgeteilt<br />

➥ jede der Phasen verwendet unterschiedliche Signale<br />

auf dem Bus<br />

➥ somit ist eine Überlappung dieser Phasen möglich<br />

➥ z.B. kann bereits die Adresse des nächsten Zugriffs auf<br />

den Bus gelegt werden, bevor der vorangegangene<br />

beendet ist<br />

c○R. Wismüller / W. Karl, <strong>LRR</strong>-TUM <strong>16</strong>-20<br />

❛<br />

❛<br />

❛ ❛ ❛ ❛


3.1.2. Bussysteme ...<br />

Beispiel für Buspipelining: Intel P6-Prozessorbus<br />

Takt<br />

Arbitrierung<br />

Adresse<br />

Request<br />

Fehler<br />

Snoop<br />

Response<br />

Daten<br />

❛<br />

❛<br />

❛ ❛ ❛ ❛<br />

0 1 2 3 4 5 6 7 8 9 10 11 12 13<br />

max. 8 Transaktionen gleichzeitig<br />

Datenbus: 64 Bit + 8 Prüfbits<br />

Blocktransfer!<br />

c○R. Wismüller / W. Karl, <strong>LRR</strong>-TUM <strong>16</strong>-21<br />

3.1.2. Bussysteme ...<br />

Architekturmerkmale von Bussen ...<br />

➥ Geteilte Transaktionen / Pipelining ...<br />

➥ Pipelining muß von allen Busteilnehmern unterstützt<br />

werden<br />

➥ z.B. Pipelining im Prozessor, Interleaving im<br />

Speichersystem (☞ 3.1.3)<br />

➥ Leistungsgewinn, aber höherer Aufwand<br />

➥ Varianten:<br />

➥ in-order Abarbeitung der Anfragen<br />

➥ out-of-order Abarbeitung der Anfragen<br />

➥ höherer Gewinn möglich, aufwendiger<br />

➥ höhere Latenz, da Adreß- und Datenbus getrennt<br />

arbitriert werden müssen<br />

c○R. Wismüller / W. Karl, <strong>LRR</strong>-TUM <strong>16</strong>-22<br />

❛<br />

❛<br />

❛ ❛ ❛ ❛


3.1.3. Leistungssteigerung<br />

➥ Synchrones Busprotokoll<br />

➥ senkt i.a. die Latenz<br />

➥ Höhere Taktrate<br />

➥ senkt die Latenz, erhöht die Bandbreite<br />

➥ elektrische Realisierung sehr aufwendig (Leitungstheorie!)<br />

➥ beschränkt Länge des Busses und Anzahl der <strong>Teil</strong>nehmer<br />

➥ Breiter Datenbus und Speicher<br />

➥ erhöht die Bandbreite<br />

➥ technisch einfach, aber teuer<br />

➥ ermöglicht durch große Länge der Cache-Zeilen<br />

➥ z.B. bei Sun Enterprise 6000 Server: 256 Bit breiter<br />

Datenbus, 512 Bit breiter Speicher<br />

c○R. Wismüller / W. Karl, <strong>LRR</strong>-TUM <strong>16</strong>-23<br />

3.1.3. Leistungssteigerung ...<br />

➥ Blocktransfer<br />

➥ erhöht die Bandbreite<br />

➥ Einsparung von Adreßübertragungen, Nutzung spezieller<br />

DRAM-Modi (nibble mode, page mode, ...)<br />

➥ Optimierte Arbitrierungsverfahren<br />

➥ senken die Latenz<br />

➥ bus parking<br />

➥ letzter Master behält Bus, falls keine andere Anforderung<br />

➥ verteilte Arbitrierung<br />

➥ kann schneller sein, da Kommunikation mit zentralem<br />

Arbiter entfällt<br />

c○R. Wismüller / W. Karl, <strong>LRR</strong>-TUM <strong>16</strong>-24<br />

❛<br />

❛<br />

❛ ❛ ❛ ❛<br />

❛<br />

❛<br />

❛ ❛ ❛ ❛


3.1.3. Leistungssteigerung ...<br />

➥ Speicherverschränkung (Interleaving) und Buspipelining<br />

➥ erhöht die Bandbreite<br />

➥ Idee: aufeinanderfolgende Speicherworte werden auf<br />

verschiedene Speicherbänke verteilt<br />

➥ überlappte Zugriffe auf die Speicherbänke möglich<br />

➥ insbesondere Zugriffe auf aufeinanderfolgende Worte<br />

➥ Beispiel (2-fache Verschränkung, Prinzip):<br />

Datenbus (64 Bit)<br />

Bank 1:<br />

Worte 1,3,5, ...<br />

Speicher<br />

(64 Bit breit)<br />

Speicher<br />

(64 Bit breit)<br />

Bank 0:<br />

Worte<br />

0,2,4,...<br />

Adreßbus (Bits 4...n)<br />

Freigabe<br />

Adreßbit 3<br />

Freigabe<br />

&<br />

1<br />

&<br />

c○R. Wismüller / W. Karl, <strong>LRR</strong>-TUM <strong>16</strong>-25<br />

3.1.3. Leistungssteigerung ...<br />

➥ Speicherverschränkung ...<br />

➥ bei passender Prozessorarchitektur hohe Anzahl von<br />

Speicherbänken möglich<br />

➥ z.B. 256 Speicherbänke beim Vektorrechner NEC SX/4,<br />

Durchsatz 512 GB/s<br />

➥ wird auch innerhalb von Speicherbausteinen verwendet:<br />

SDRAMs (Synchronous DRAM)<br />

➥ SDRAM besteht intern aus 2-4 verschränkten<br />

Speicherbänken<br />

➥ synchrones Zugriffsprotokoll mit Pipelining<br />

c○R. Wismüller / W. Karl, <strong>LRR</strong>-TUM <strong>16</strong>-26<br />

❛<br />

❛<br />

❛ ❛ ❛ ❛<br />

❛<br />

❛<br />

❛ ❛ ❛ ❛


3.1.4. Bushierarchie<br />

➥ Heutige Recher: Hierarchische Busorganisation<br />

➥ schnelle, breite Busse zu Caches / Speicher<br />

➥ langsamere Busse für Anbindung von E/A-Geräten<br />

➥ Verbindung der Busse über Busbrücken<br />

➥ Insbesodere bei PC-Architekturen: prozessorspezifische<br />

Chipsätze realisieren<br />

➥ Speicheranbindung (DRAM-Controller)<br />

➥ Brücken zu Peripheriebussen<br />

c○R. Wismüller / W. Karl, <strong>LRR</strong>-TUM <strong>16</strong>-27<br />

3.1.4. Bushierarchie ...<br />

Beispiel:Bushierarchie in einem PC<br />

L2<br />

Cache<br />

Lokaler<br />

Speicher<br />

E/A<br />

USB<br />

L2 Cache<br />

Interface<br />

E/A−Bus<br />

L1 Befehls−<br />

Cache<br />

Graphik−<br />

beschleu−<br />

niger<br />

PCI<br />

AGP<br />

CPU Kern<br />

Systembus−Interface<br />

Chip−<br />

satz<br />

E/A−Bus<br />

L1 Daten−<br />

Cache<br />

CPU<br />

Haupt−<br />

speicher<br />

ISA / EISA<br />

❛<br />

❛<br />

❛ ❛ ❛ ❛<br />

❛<br />

❛<br />

❛ ❛ ❛ ❛<br />

E/A E/A<br />

Bus−<br />

Brücke<br />

E/A E/A<br />

IDE Ethernet<br />

Parallel RS232<br />

c○R. Wismüller / W. Karl, <strong>LRR</strong>-TUM <strong>16</strong>-28


3.2. Ein-/Ausgabe<br />

Arten von Ein-/Ausgabegeräten<br />

➥ Zeichenorientierte Geräte<br />

➥ Ein-/Ausgabe erfolgt zeichenweise (byteweise)<br />

➥ typisch für Dialoggeräte<br />

➥ z.B.: Tastatur, Bildschirm, Maus, Drucker<br />

➥ Blockorientierte Geräte<br />

➥ Ein-/Ausgabe größerer Datenblöcke<br />

➥ Blockgröße typisch 256 Byte - einige KByte<br />

➥ typisch für Netzwerk-Anbindung und Externspeicher<br />

➥ z.B.: Festplatte, Magnetband, CD-ROM, Diskette, ...<br />

c○R. Wismüller / W. Karl, <strong>LRR</strong>-TUM <strong>16</strong>-29<br />

3.2 Ein-/Ausgabe ...<br />

Anbindung von Ein-/Ausgabegeräten an den Rechner<br />

➥ In der Regel über Controller<br />

➥ spezielle Hardware, oft mit eigenen Mikroprozessoren<br />

➥ erhält Kommando und Daten vom Hauptprozessor (CPU)<br />

➥ führt Kommando autonom aus, steuert Gerät<br />

➥ meldet Ende d. Ausführung durch Unterbrechung der CPU<br />

➥ Zweck der Controller<br />

➥ Entlastung der CPU<br />

➥ Realisierung zeitkritischer Steueraufgaben<br />

➥ Beispiel: Ethernet-Controller<br />

➥ Serien/Parallel-Wandlung der Daten, Sicherung der<br />

Übertragung durch Prüfbits, Kollisionserkennung, ...<br />

c○R. Wismüller / W. Karl, <strong>LRR</strong>-TUM <strong>16</strong>-30<br />

❛<br />

❛<br />

❛ ❛ ❛ ❛<br />

❛<br />

❛<br />

❛ ❛ ❛ ❛


3.2 Ein-/Ausgabe ...<br />

DMA (Direct Memory Access)<br />

➥ Idee:<br />

➥ Für blockorientierte Geräte: Datenblock wird nicht von der<br />

CPU vom Speicher zum Geräte-Controller kopiert, sondern<br />

durch speziellen DMA-Controller<br />

➥ CPU sendet an DMA-Controller nur die Anfangsadresse<br />

und die Länge des Datenblocks<br />

➥ Vorteil: weitere Entlastung der CPU<br />

➥ CPU und DMA-Controller arbeiten parallel<br />

➥ Realisierungsvarianten:<br />

➥ DMA-Controller als eigenständige Einheit<br />

➥ Geräte-Controller mit DMA-Fähigkeit<br />

c○R. Wismüller / W. Karl, <strong>LRR</strong>-TUM <strong>16</strong>-31<br />

3.2 Ein-/Ausgabe ...<br />

DMA (Direct Memory Access) ...<br />

➥ Sowohl DMA-Controller als auch CPU greifen über den Bus<br />

auf den Speicher zu<br />

➥ erfordert Bus mit Multimaster-Fähigkeit<br />

➥ mögliche Inkonsistenzen durch Caches<br />

➥ DMA-Controller schreibt Daten direkt in den<br />

Hauptspeicher, Cache enthält evtl. noch alte Kopie<br />

➥ Bei rückschreibenden Caches: DMA-Controller liest<br />

evtl. noch alte Daten aus Hauptspeicher<br />

➥ einfache Lösungen:<br />

➥ Löschen der Caches bzw. einzelner Einträge<br />

❛<br />

❛<br />

❛ ❛ ❛ ❛<br />

❛<br />

❛<br />

❛ ❛ ❛ ❛<br />

➥ über MMU Caching für betroffene Seiten abschalten<br />

➥ heute übliche Lösung: Cachekohärenzprotokolle (☞ 4.2.)<br />

c○R. Wismüller / W. Karl, <strong>LRR</strong>-TUM <strong>16</strong>-32


3.2 Ein-/Ausgabe ...<br />

Hintergrundspeicher<br />

➥ Einsatz:<br />

➥ Erweiterung des Hauptspeichers (virtueller Speicher,<br />

☞ 2.5.4.)<br />

➥ dauerhafte Speicherung größerer Datenmengen<br />

➥ Archivierung von Daten<br />

➥ Häufigste Verfahren:<br />

➥ magnetische Aufzeichnung<br />

➥ Festplatte, Magnetband, Diskette, ...<br />

➥ optische Aufzeichnung<br />

➥ CD-ROM, DVD, CD-R, CD-RW, ...<br />

c○R. Wismüller / W. Karl, <strong>LRR</strong>-TUM <strong>16</strong>-33<br />

3.2 Ein-/Ausgabe ...<br />

Magnetische Aufzeichnung<br />

➥ Daten werden in dünner magnetisierbarer Schicht gespeichert<br />

➥ Schicht sitzt auf Trägermaterial (Kunststofffolie, Alu-Platte)<br />

➥ zwei verschiedene Magnetisierungsrichtungen für 0 und 1<br />

➥ Schreiben/Lesen durch Magnetkopf (Elektromagnet)<br />

1 1 0<br />

Magnetschicht<br />

(mit Richtung der<br />

Magnetisierung)<br />

Trägermaterial<br />

Schreibstrom<br />

Lesestrom<br />

c○R. Wismüller / W. Karl, <strong>LRR</strong>-TUM <strong>16</strong>-34<br />

1<br />

0<br />

❛<br />

❛<br />

❛ ❛ ❛ ❛<br />

❛<br />

❛<br />

❛ ❛ ❛ ❛


3.2 Ein-/Ausgabe ...<br />

Magnetische Aufzeichnung ...<br />

➥ Beim Lesen: nur Wechsel der Magnetisierungsrichtung ergibt<br />

ein Signal<br />

➥ Problem: zeitliche Synchronisation bei langer Folge<br />

identischer Bits<br />

➥ ” wann hört ein Bit auf und wann fängt das nächste an?“<br />

➥ Daher Verwendung spezieller Codierungen bei der<br />

Aufzeichnung<br />

➥ stellen sicher, daß unabhängig von den aufgezeichneten<br />

Daten genügend Wechsel der Magnetisierungsrichtung<br />

vorliegen<br />

➥ Zusätzlich: Einfügen von Prüfbits zur Fehlererkennung<br />

c○R. Wismüller / W. Karl, <strong>LRR</strong>-TUM <strong>16</strong>-35<br />

3.2 Ein-/Ausgabe ...<br />

Festplatten: Aufbau<br />

Sektor<br />

Plattenstapel<br />

Spur<br />

Schreib−/Leseköpfe<br />

Arm<br />

c○R. Wismüller / W. Karl, <strong>LRR</strong>-TUM <strong>16</strong>-36<br />

❛<br />

❛<br />

❛ ❛ ❛ ❛<br />

❛<br />

❛<br />

❛ ❛ ❛ ❛


3.2 Ein-/Ausgabe ...<br />

Festplatten: Aufbau ...<br />

➥ Schreib-/Leseköpfe fliegen über der Plattenoberfläche<br />

➥ Pro Platte des Plattenstapels zwei Köpfe: oben und unten<br />

➥ Spurwechesel durch Verschieben des Arms (d.h. aller Köpfe)<br />

➥ Menge der jeweils übereinanderliegenden Spuren: Zylinder<br />

➥ Einteilung der Festplatte (Adressierung):<br />

➥ Oberfläche (Kopf), Zylinder, Sektor<br />

➥ jeder Sektor nimmt einen Datenblock auf<br />

➥ typisches Beispiel (80 GByte Laptop-Festplatte):<br />

➥ 4 Oberflächen, ∼ 47000 Zylinder, ∼ 800 Sektoren<br />

➥ 512 Byte pro Sektor<br />

c○R. Wismüller / W. Karl, <strong>LRR</strong>-TUM <strong>16</strong>-37<br />

3.2 Ein-/Ausgabe ...<br />

Festplatten: weitere Eigenschaften<br />

➥ Zugriffszeit abhängig von<br />

➥ Spurwechselzeit (typisch 0.5 ... 5 ms)<br />

➥ Umdrehungszahl (typisch 5400 ... 15000 U/min)<br />

➥ typische Zugriffszeit: ∼ 10 ms<br />

➥ Leistungssteigerung<br />

➥ Caches (typisch einige MByte, in Festplatten-Elektronik)<br />

➥ RAID (Redundant Array of Inexpensive Disks)<br />

➥ Datenblöcke werden über mehrere Festplatten verteilt<br />

➥ paralleler Zugriff möglich (wie beim Hauptspeicher)<br />

➥ durch redundante Speicherung: kein Datenverlust bei<br />

Ausfall einer Festplatte<br />

c○R. Wismüller / W. Karl, <strong>LRR</strong>-TUM <strong>16</strong>-38<br />

❛<br />

❛<br />

❛ ❛ ❛ ❛<br />

❛<br />

❛<br />

❛ ❛ ❛ ❛


3.2 Ein-/Ausgabe ...<br />

Optische Speichermedien: CD-ROM / CD-R / CD-RW<br />

➥ Datenspeicherung durch ca. 1 µm große Vertiefungen (Pits)<br />

➥ Optische Abtastung durch Laserlicht<br />

Pit Pit Pit<br />

➥ Erzeugung der Pits:<br />

Laserstrahl Laserstrahl<br />

❛<br />

❛<br />

❛ ❛ ❛ ❛<br />

Aluminiumschicht<br />

CD (Kunststoff)<br />

➥ CD-ROM: mechanisch durch Presse (Massenherstellung!)<br />

➥ CD-R: Metallisierung und Farbstoff, der durch starkes<br />

Laserlicht (Hitze) sein Absorptionsverhalten ändert<br />

➥ CD-RW: kristalline Schicht, ändert Reflexionsverhalten<br />

c○R. Wismüller / W. Karl, <strong>LRR</strong>-TUM <strong>16</strong>-39

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!