Sie sind auf Seite 1von 266

Einführung in die Computertechnik

Eine Einführung in Strukturprinzipien von Computern


aus hardwarenaher Sicht

H. Jacob
Fakultät für Elektrotechnik und Informationstechnik
WS 05/06

Für die Mehrzahl der Anwender sind Computer Werkzeuge, die als Mittel zum Zweck
zu funktionieren haben. Diese Anwender machen sich wenig Gedanken über die
inneren Eigenschaften der Computer, die erst die Gesamtleistung ermöglichen.

Für diejenigen, die besondere Leistungen von Computern verlangen, z. B. auf dem
Gebiet der Zuverlässigkeit und Sicherheit, ist das kritische Verständnis aller
Merkmale des inneren Aufbaus wichtig, also der Software und der Hardware.

Diese Vorlesung soll an konkreten aktuellen gerätetechnischen Beispielen zeigen,


welche strukturellen Merkmale die Leistungen von modernen Computern im Bereich
der Personal Computer und der Workstations maßgeblich bestimmen. Dazu gehört
auch ihre physikalische Einbindung in Netze.

Das eine oder andere Beispiel wird durch die rasante Entwicklung unwichtig werden.
Die bewährten Verfahren werden bleiben.

Dieses Skript ist ausschließlich zur internen Verwendung für Studierende der Ruhruniversität
Bochum bestimmt. Weiterverbreitung und Publikation, auch auszugsweise, sind untersagt.
Bezüglich der Rechte Dritter wird keine Haftung übernommen.

Computertechnik Jacob
Inhaltsverzeichnis

Inhaltsverzeichnis
1 Entwicklung der Computertechnik 1
1.1 Die Herstellung der Waferscheiben 1
1.2 Die Herstellung der Chips bzw. der gebrauchsfertigen ICs 3
1.3 Beispiele für aktuelle Bauformen (packages) 8
1.4 Ausgewählte Grundlagen der Elektrotechnik 12
1.5 Ausgewählte Grundlagen der Halbleitertechnnik 35
1.6 Das Funktionselement Transistor 46
1.7 Gefertigte MOS-Transistoren 51
1.8 Schaltungsbeispiel: SRAM-Speicherzelle 52
1.9 Die minimale auflösbare Strukturbreite 54
1.10 Die Entwicklung der Mikroprozessoren und Speicher-ICs 54

2 Grundsätzliche Merkmale von Computern 59


2.1 Die befehlsgesteuerte Arbeitsweise eines Computers 59
2.2 Befehle in der Assemblerform 61
2.3 Das Maschinenprogramm 63
2.4 Merkmale des Programmablaufs 66
2.5 Der Grundzyklus der Programmablaufsteuerung und
die Reaktion auf äußere Ereignisse 73
2.6 Maßnahmen zur Verkürzung der Programmlaufzeit 75
2.7 Die Strukturierung des Datenverkehrs 81
2.8 Der Einfluss der Anwendung auf die Aufteilung in
grundsätzliche Einheiten 83
2.9 Elementare Datenübertragungsvorgänge 84
2.10 Programmsteuernde Ereignismeldungen 88

3 Stand der Computertechnik 94


3.1 Computerklassen 94
3.2 Computer in industriell produzierenden Anlagen 94
3.3 Strukturmerkmale eines Feldbus am Beispiel des PROFIBUS 98
3.4 Eingebettete Mikrocontroller 101
3.5 Computergestützte Automatisierungssysteme
für mittlere und kleine Anlagen 104
3.6 PCs, Workstations und Server 106
3.9 Supercomputer 109
3.9 Maße für Computerleistung 111

4 Physikalische und logische Merkmale von lokalen Computernetzen 113


4.1 Strukturalternativen von lokalen Computernetzen 113
4.2 Systemtechnische Merkmale am Beispiel der ersten
Ethernet-Varianten 116
4.3 Token-basierte LANs 125
4.4 Typische Twisted Pair Verkabelung 130
4.5 Aufbau der Switches (Router) 131
4.7 Fastethernet-Controller 133

Computertechnik i Jacob
Inhaltsverzeichnis

5 Merkmale von PC-Motherboards 137


5.1 Das prinzipielle Aufbaukonzept von PC-Motherboards 137
5.2 Die zentrale Takterzeugung und -verteilung 141
5.3 Das Chipsatz-Konzept 146

6 Der Datenverkehr von/zu den Prozessoren 157


6.1 Das Konzept des Front Side Bus 157
6.2 Das Cache-Konzept 163
6.3 Basisverfahren für Caches 165
6.4 Setadressierte Verfahren 167
6.5 Die hierarchische Cache-Struktur 171
6.6 Mehrwege-Caches 175

7 Hauptspeicher und Speichermodul-Schnittstelle 177


7.1 Strukturprinzipien von DRAM-Speicher-ICs 177
7.2 Nicht-synchrone DRAMs (EDO-DRAMs) 183
7.3 Statische RAM-Speicher (SRAMs) 185
7.4 Synchrone DRAMs (SDRAMs) 187
7.5 Speichermodule für synchrone DRAMs (DDR1, DDR2) 195
7.6 Dual Channel Konfiguration 201
7.7 Die Umsetzung der FSB-Adresse bei der
Speichermodul-Adressierung 202

8 I/O-Datenverkehr: PCI-Varianten, Interrupt-Controller 204


8.1 PCI-Bus 2.0 204
8.2 PCI-Express 211
8.3 PCI-X 214
8.4 Das Programmable-Interrupt-Controller Konzept (PIC) 215
8.5 Das Advanced Programmable Interrupt Controller-Konzept 221

9 Der gerätespezifische Datenverkehr von/zu den Peripherie-Einheiten 223


9.1 Peripherie-Einheiten mit geringen Datenraten und
gerätespezifischen Schnittstellen 223
9.2 Das Konzept des Universal Serial Bus 226
9.3 Festplatten und Festplatten-Controller 240

Computertechnik iii Jacob


Inhaltsverzeichnis

Computertechnik iiii Jacob


Die Herstellung der Wafer-Scheiben

1 Entwicklung der Halbleitertechnik


Dass leistungsfähige Computer heute als preisgünstige Massenprodukte von jeder-
mann erworben und persönlich für (mehr oder weniger) sinnvolle Zwecke eingesetzt
werden können, ist im Wesentlichen den Fortschritten der Halbleiter-Technik zu
verdanken. Sie führten dazu, dass man heute Schaltungen für sehr leistungsfähige
Computer als preisgünstige Massenprodukte fertigen kann.

Man kann die Erzeugung von integrierten Schaltungen (integrated circuits, ICs) in
folgende Herstellungsphasen einteilen:
• die Herstellung der Wafer-Scheiben,
• die Herstellung der Schaltungen in der Oberfläche der Wafer-Scheibe,
• die Herstellung der Chips und der gebrauchsfähigen ICs.

1.1 Die Herstellung der Wafer-Scheiben


Quellen mit anschaulichem Überblick zu den Verfahren, die hier nur exemplarisch behandelt werden.
http://www.unileoben.ac.at/~phywww/HLWSt-VO/Si-Herstellung1.ppt
http://www.siltronic.com/internet/webcache/en_US/Products/Poster_2004.pdf

Der Rohling für die Erzeugung der Waferscheiben ist ein in zylindrischer Form
gezüchteter Siliziumkörper höchster Reinheit (Bild 1.1).

Bild 1.1: Herstellung eines Silizium-Einkristalls mit dem Zonenzieh-Verfahren


Der zylindrische Rohling wird in einzelne Scheiben zersägt (Bild 1.2).
Anschließend werden die Oberflächen der Waferscheiben (verkürzt Wafer) geläppt,
d.h. die Oberflächen werden mit in Fett gelösten Schmiermitteln geglättet (Bild 1.3).

Die verbleibende Oberflächenrauhigkeit wird noch durch eine abschließende Politur


vermindert.

Computertechnik 1 Jacob
Die Herstellung der Wafer-Scheiben

Bild 1.2: Herstellung der Wafer durch Sägen

Bild 1.3: Glätten der Wafer-Oberflächen durch Läppen


Die Läuferscheiben mit den Wafern sind in einen inneren und einen äußeren Kranz verzahnt.
Dreht sich z.B. der äußere Kranz, dann dreht er die Läuferscheiben gegen den inneren
Kranz und die Läuferscheiben drehen sich mit einer zykloiden Bewegung zwischen der
unteren und der oberen Scheibe. Das Glätten der Oberflächen entsteht durch die im
Schleifmittel gebundenen Körner. Das flüssige Schleifmittel wird zwischen die obere und
untere Scheibe und die Läuferscheiben eingebracht und fließt mit dem Abrieb ab.

Die Schaltungen werden durch gezielte Diffusions- und Abscheideprozesse in die


Grenzschicht an der Oberfläche des Wafers eingeprägt. Hierzu wird der Wafer
matrixartig in gleich große Elementarflächen eingeteilt, die alle die gleiche Schaltung
enthalten (Bild 1.4, Quelle: Intel).

Computertechnik 2 Jacob
Die Herstellung der Chips bzw. der gebrauchsfähigen ICs

Bild 1.4: Matrix-Struktur eines Wafers

1.2 Die Herstellung der Chips bzw. der gebrauchsfähigen ICs


Im Folgenden wird der Fertigungsverlauf beispielhaft vorgestellt (Quelle: Payton Technology,
ein Unternehmen der Kingston-Gruppe, die zu den Marktführern bei der Herstellung von
Memory-Modulen gehört).

Man zerteilt den Wafer in die Einzel-Schaltungen = Die (sprich dai) oder Chip: der
Vorgang wird dicing genannt).
Jede Einzel-Schaltung wird auf einem Kontaktträger (lead frame) befestigt: der
Vorgang wird die attach genannt ( Bild 1.5).
Der Kontakt zwischen je einem Anschlusspunkt (pad) am Rand der Schaltung und
je einem Anschlusspunkt einer Leiterbahn (lead) wird durch die Verschweißung der
beiden Enden eines Golddrahtes auf den beiden zu verbindenden Pads hergestellt:
der Vorgang wird wire bond genannt (Bild 1.6).
Dann erfolgt die Verkapselung entweder mit einer fließenden Kunststoff-Masse oder
durch Einpassen in Keramik-Layer. Beim Vergießen in Kunststoff wird der Kontakt-
träger mit dem „gebondeten Die“ in eine Hohl-Form gelegt, die mit Hilfe eines Spritz-
druck-Verfahrens mit dem fließenden Stoff ausgefüllt wird, der danach härtet. Das
Öffnen der Formstöcke gibt die verkapselten Schaltungen frei. Der Vorgang wird
molding genannt (Bild 1.7).
Mit dem technologischen Fortschritt werden, je nach Anwendung, neue IC-Gehäuse
(packages) erfunden. Bei dem beispielhaften Herstellungsprozess handelt es sich
um die Herstellung von Speicher-ICs, z.B. mit dem Gehäusetyp TSOP bzw. SSOP
(thin bzw. shrink small outline package). Das sind Bauformen, die eine Nachbehand-
lung der Kontakte erfordern: man muss von den Kontakten die Haltestege entfernen
(tie bar cut), man muss sie verzinnen oder vergolden (plating) und sie kappen
und in eine geeignete Form biegen (trim and form).
Integrierte Schaltungen mit hohen Anforderungen an die Lebensdauer werden
besonders behandelt. Man unterwirft sie einem Hitzestress (burn in, Bild 1.8), der
Schwachstellen offenbaren soll. Der Hitzestress verändert die Kristallstruktur, was an
den Schwachstellen Funktionsfehler entstehen lässt, die im folgenden Test erkannt
werden. Die fehlerhaften ICs werden entfernt (screening = aussieben). Es ist eine
Erfahrungstatsache, dass so behandelte ICs sehr wenige Frühausfälle zeigen. Man
spricht auch vom Beschleunigen der Frühausfälle durch das Burn-in.

Computertechnik 3 Jacob
Die Herstellung der Chips bzw. der gebrauchsfähigen ICs

Danach folgen noch Schritte zur Markierung zwecks Identifikation, stichprobenartiger


visueller Inspektion, Feuchtigkeitsentzug und Verpackung.

Bild 1.5: Entnahme der Elementarplättchen aus dem fertig geschnittenen Wafer und
drei beispielhafte Kontaktträger (lead frames)

Computertechnik 4 Jacob
Die Herstellung der Chips bzw. der gebrauchsfähigen ICs

Bild 1.6: Die Herstellung der Verbindungen zwischen den Pads der Schaltung auf
dem Die und den Pads auf den Leiterbahnen des Kontaktträgers (bonden)

Computertechnik 5 Jacob
Die Herstellung der Chips bzw. der gebrauchsfähigen ICs

Bild 1.7: Das Eingießen des Kontakträgers mit dem gebondeten Die in eine
schützende aushärtende Masse (molding)

Computertechnik 6 Jacob
Die Herstellung der Chips bzw. der gebrauchsfähigen ICs

Bild 1.8: Das Offenbaren „schwacher“ ICs durch Wärmestress (burn in)

Computertechnik 7 Jacob
Beispiele für aktuelle Bauformen (packages)

1.3 Beispiele für aktuelle Bauformen (packages)


Speicher-ICs sind charakteristische ICs der Computertechnik. Eingesetzt werden sie
auf Speichermodulen mit genormtem Layout-Merkmalen und genormter elektrischer
Schnittstelle. Um diese in portablen Geräten einsetzen zu können, versucht man, die
Speicher-ICs bzw. die Speicher-Module möglichst platzsparend und leicht zu bauen.
Aktuelle Speicher-Module sind vom Typ DDR. Sie werden z. Zt. vom Typ DDR2 ab-
gelöst. Was die Bezeichnungen funktional bedeuten, wird noch im Einzelnen erklärt.
Hier geht es um die Bauformen (Gehäuse) dieser Typen (Bild 1.9, Quelle: Kingston)

Bild 1.9: Beispiel für Dual In Line Memory Module (DIMM) mit ihren charakteristi-
schen Speicher-ICs:
Wird der elektrische Kontakt der inneren Schaltung über Leiterbahnen (leads) nach
außen hergestellt (wie z.B. bei der TSOP-Bauform), dann wird das „Gerippe der
Leiterbahnen“ als Kontaktträger (leadframe) vorgefertigt (Bild 1.10, Quelle: Mitsui).
Das geschieht durch mechanisches Stanzen oder chemisches Ätzen. Die
Leadframes werden mit Hilfe von Stegen zu Bändern aneinandergereiht, die beim
geeigneten Fertigungsschritt des IC-Fertigungsprozesses entfernt werden.

Bild 1.10: Beispielhafte Muster von Leadframe-Bändern


links: Dual-In-Line mit Durchsteck-Pins, rechts Quad-Flat-Pack (typisch für Microcontroller)

Computertechnik 8 Jacob
Beispiele für aktuelle Bauformen (packages)

In miniaturisierten Schaltungen wird heute überwiegend die Surface Mounted


Technologie verwendet, d.h. die Pins der Leiterbahnen, die aus dem IC-Körper
herausragen, werden so gebogen und chemisch vorbereitet, dass sie „platt“ auf der
Oberfläche verlötet werden können (Bild 1.11, Quelle: Spansion).

Bild 1.11: Vergleich eines PLCC-Gehäuses (plastic lead chip carrier) mit J-Pins und
eines TSOP1-Gehäuses mit Gull-Wing-Pins (beim TSOP2-Gehäuse sind die Pin-
Reihen entlang der langen Seiten des Rechtecks angeordnet; man erkennt deutlich
die flachere Bauweise des TSOP-Gehäuses)
Eine Gegenüberstellung der TSOP-Verkapselung mit der FBGA-Verkapselung (fine-
pitch ball grid array) zeigt die Eigenschaften der neuen Technologie (Bild 1.12).

Bild 1.12: Vergleich der TSOP- mit der FBGA-Bauweise


Die Leiterbahnen sind in der FBGA-Technologie auf die Oberseite einer Substrat-
Platte gedruckt. Jede Leiterbahn führt von einem Pad am Rand des Dies zu einem
Bohrloch (via). Auf die Innenfläche des Bohrlochs ist elektrisch leitendes Material
aufgebracht, so dass ein leitender Kontakt zur Lochöffnung an der Unterseite
entsteht. Dort befindet sich eine Kugel aus leitendem Material (ball), die den Kontakt
dieser Leiterbahn nach außen herstellt.

Ein schematischer Schnitt soll das deutlich machen (Bild 1.13, Quelle: Spansion).

Computertechnik 9 Jacob
Beispiele für aktuelle Bauformen (packages)

Bild 1.13: Schematischer Schnitt durch das FBGA-Gehäuse eines ICs mit einem Die
bzw. 2 Dies (stacked dies, Multi-Die-Struktur)
Die Beispiele bezogen sich bisher vor allem auf die Speichertechnologie. Zum
Vergleich soll noch die Bauform von beispielhaften Mikroprozessoren gezeigt
werden. Ein markantes Gehäuse-Merkmal: die Pins, die den Kontakt des Prozessor-
Chips nach außen herstellen, sind als bandartiges Gittermuster am Rand des
Substrats angeordnet (PGA, pin grid array)

Bild 1.14: Pin-Grid-Array-Struktur beispielhafter Mikroprozessoren

Computertechnik 10 Jacob
Beispiele für aktuelle Bauformen (packages)

Der Sockel auf dem Motherboard bildet das Gegenstück zu den Steckerpins des
Prozessors. Jedem Stift entspricht dort eine Bohrung, in der sich Federkontakte an
den Stift pressen und so die elektrische Leitung ermöglichen.
Eine Alternative ist die Land-Grid-Array-Struktur (LGA), bei der auf der Unterseite
Pads anstatt Pins dazu dienen, den Kontakt des Prozessors nach außen zu
ermöglichen. Dann muss der Sockel ein entsprechendes Gitter von Federkontakten
bereitstellen.

Bild 1.15: Land-Grid-Array-Struktur (FC-LGA4 package von Intel: beispielsweise Pentium


Extreme Edition)

Vom logischen zum realen Schaltungsentwurf für den Chip

Die Erzeugung von gebrauchsfähigen integrierten Schaltungen setzt voraus, dass


leistungsfähige Schaltungen auf dem Chip realisiert werden. Und dieser setzt einen
logischen Schaltungsentwurf voraus.

Der Schaltungsentwurf (electronic design) verschaltet elektronische Standard-


elemente (Transistoren, Widerstände, Kondensatoren, Induktivitäten, Dioden usw.)
so, dass eine anwendungsgerechte Gesamtschaltung entsteht. Jedem logischen
Element entspricht auf einem Die (Chip) ein planares Strukturelement, welches das
logische Element realisiert. Die planaren Strukturelemente werden durch
Leiterbahnen zur Gesamtschaltung verschaltet: ein sehr komplexes Problem, je mehr
planare Strukturelemente auf der Chipfläche untergebracht werden müssen.

Das Strukturelement, das am häufigsten vorkommt, ist der Transistor. Je mehr Platz
seine planare Struktur braucht, umso weniger Transistoren kann man auf dem Chip
unterbringen. Die Anzahl der Transistoren, die man pro Fläche unterbringen kann,
heißt Transistordichte oder Integrationsgrad. Je größer er werden kann, umso
besser ist der Leistungsstand der Verfahren, die ihn erzeugen.

Computertechnik 11 Jacob
Ausgewählte Grundlagen der Elektrotechnik

Wenn man nun durch intensive Forschung den Platzbedarf der planaren Struktur
eines Transistors verringert und die Transistoren dann entsprechend dicht anordnen
kann, bekommt man ein anderes Problem: auch die Leiterbahnen rücken enger
zusammen. Auch da gibt es Grenzen, d.h. man kann die Bahnen nicht beliebig eng
anordnen bzw. schmal machen. Wenn man beim Herstellungsprozess nicht
garantieren kann, dass keine leitenden „Brücken“ entstehen oder zu dünne
Leitenbahnen Risse enthalten, dann hat man nichts gewonnen.

Die Größe, die die Grenze pauschal definiert, ist die minimale auflösbare Struktur-
breite.

Die Transistordichte und die minimale auflösbare Strukturbreite sind die Größen, an
denen man die Fortschritte der Halbleitertechnik mit konkreten Zahlen beschreiben
kann. Um ihren Sinn von Grund auf zu verstehen, müssen zuerst einige physikali-
sche Grundlagen der Realisierung von Transistoren verständlich gemacht werden.

1.4 Ausgewählte Grundlagen der Elektrotechnik


Die schlüssige Erklärung der elektrischen Eigenschaften von Stoffen und deren
technische Nutzung sind nur auf der Basis komplexer Theorien möglich. Diese sollen
in diesem Kontext nur qualitativ und auf den Kontext bezogen angesprochen werden

Grundsätzliches Modell zur Erklärung von Elektrizität

Der Autor dieses Textes (und wahrscheinlich viele andere) kam zum ersten Mal mit
dem Phänomen Elektrizität in „Berührung“, als frisch gewaschene Haare sich nach
dem Kämmen sträubten bzw. sich die Haare aufrichteten, wenn der Kamm knapp
über den Haaren gehalten wurde.

Es ist die erste Erfahrung mit einem fundamentalen Phänomen der Elektrizität:
Erst durch Ladungstrennung in ein Paar von elektrisch entgegengesetzt geladenen
Gegenständen (Teilen) entsteht eine (auf Elektrizität beruhende) Wirkung. Wird die
Ladungstrennung aufgehoben, entsteht wieder ein (elektrisch) neutrales Ganzes
ohne diese Wirkungen.

Experimentell stellt man also fest, dass Kamm und Haare elektrisch entgegengesetzt
geladen sind und dass entgegengesetzt geladene Teile sich anziehen (Aufrichten der
Haare, wenn man den Kamm knapp darüber hält) bzw. gleich geladene Teile sich
abstoßen (Haare sträuben sich bzw. gehen auf Abstand).

Die physikalische Theorie gibt sich nun nicht mit einer pauschalen Zustands-
beschreibung zufrieden, sondern erklärt die elektrischen Phänomene als elementare
Vorgänge in Atomen. Aus diesem Blickwinkel lautet die obige Feststellung:
Erst durch die Ladungstrennung in Paare von elektrisch entgegengesetzt geladenen
elementaren Teilchen entsteht eine (auf Elektrizität beruhende) Wirkung.

Grundlage ist die Theorie der atomaren Struktur der Materie. Das Atommodell
beschreibt, welche elementaren Teilchen es gibt und welchen elektrischen
Ladungszustand sie haben.

Computertechnik 12 Jacob
Ausgewählte Grundlagen der Elektrotechnik

Bild 1.16: Schematisches Atommodell mit Atomkern und umgebenden Elektronen auf
ihren Bahnen (Bohrsches Atommodell)
Jedes Atom jedes Elementes besteht aus einer gleich großen Anzahl von
Elektronen mit negativer Ladung und Protonen im Atomkern mit entgegen
gesetzter, d.h. positiver Ladung. Dazu kommt eine bestimmte Anzahl von elektrisch
neutralen Teilchen, den Neutronen.
Ladungstrennung bedeutet in diesem Modell, dass ein Elektron das Atom verlässt
und ein Ladungspaar mit entgegen gesetzter Ladung entsteht: ein negatives
Elektron und ein positiver Atomrumpf.

Elektrostatische Auf- und Entladungen

Mit Hilfe dieser elementaren Ladungstrennung wird das Kamm-Haar-Phänomen


schlüssig erklärbar: die Reibung des Kamms an den Haaren erzeugt so viel Energie,
dass sich Elektronen der Atome an den Haar-Oberflächen lösen und sich auf den
Zahnoberflächen des Kamms sammeln.

Der Kamm hat mehr Elektronen, als seinem neutralen Ladungszustand entspricht.
Sein Ladungszustand ist negativ bzw. er ist negativ geladen. Die Haare haben
einzeln weniger Elektronen, als ihrem neutralen Zustand entspricht. Ihr
Ladungszustand ist positiv bzw. sie sind positiv geladen.
Die Tatsache, dass die Ladungen sich statisch auf den Gegenständen Kamm und
Haare sammeln und nicht durch Abfluss bzw. Zufluss von Elektronen wieder neutral
werden, liegt daran, dass Kamm bzw. Haare aus elektrisch nicht leitendem Material
sind. Das Phänomen der (elektrischen) Aufladung entsteht durch Reibung von
Gegenständen aus elektrisch nicht leitendem, also isolierendem Material.
Andere Szenarien, die auf dem gleichen Phänomen beruhen, sind für die Elektronik
wichtiger (Bild 1.17, entnommen aus http://www.db0bel.de/ESD-Grundlagen.pdf ).

Bild 1.17: Typische Spannungen durch elektrostatische Aufladung bei Reibung

Computertechnik 13 Jacob
Ausgewählte Grundlagen der Elektrotechnik

Sobald man mit Schuhen über einen Boden läuft, die beide nicht leitend sind,
entsteht Aufladung durch Ladungstrennung. Bei der Trennung wird (Reibungs)Arbeit
aufgewendet, die in der Gesamtheit der getrennten Ladungspaare steckt.
Die Fähigkeit, Arbeit zu verrichten, wird als Energie bezeichnet. Sie ist gleich der
Arbeit, die in den oder die Ladungsträger gesteckt wurde - im vorliegenden Fall, die
beim Trennen der Elektronen aufgebracht wurde.
Dabei entsteht Spannung, wie man sieht, können recht große Spannungen
entstehen. Die Größe der Spannung, die bei der Reibungstrennung entsteht, darf
man nicht mit der Größe der Gefährlichkeit gleich setzen, wie man das gewöhnt ist.
Maßgeblich für die Gefährlichkeit ist die Arbeit, die man in alle getrennten Elektronen
gesteckt hat. Nur diese Energie kann man beim Entladen wieder gewinnen. Die
Arbeit, die durch die Reibungstrennung hinein gesteckt wird, ist so gering, dass sie
für den Menschen ungefährlich ist, wenn sie beim Entladen frei wird.
Vorgang der Entladung: Die durch die Reibung entstandenen Ladungen können sich von
den Schuhen aus im gut leitenden Körper verteilen. Sobald man mit einem Körperteil in
die Nähe eines Leiters kommt, entsteht zwischen der Oberfläche des Leiters und der
Körperfläche, die ihr am nächsten ist, eine Wechselwirkung.
Angenommen, der Körper ist negativ aufgeladen. Die negativen Ladungen auf der
Hautoberfläche bewirken bei der Annäherung an den Leiter, dass an der Leiteroberfläche
Elektronen verdrängt werden und in den Leiter wandern, während an der Oberfläche
positive Atomrümpfe zurück bleiben. Je näher man dem Leiter mit dem Köperteil kommt,
umso mehr Elektronen sammeln sich (aus der Gesamtheit der Aufladung des Körpers) in
der Körperoberfläche, die dem Leiter am nächsten ist. Entsprechend viele positive
Atomrümpfe bilden sich auf der Gegenseite im Leiter. Dieser Vorgang wird Influenz
genannt. Spätestens bei der Berührung kommt es zum Ladungsausgleich. Dass der
Ladungsausgleich bei geringem Abstand sogar durch einen überspringenden Funken
eintritt, ist nicht selten.

Der Ladungsausgleich macht sich als ein unangenehmes, aber ungefährliches


Impulsgefühl bemerkbar, z.B. wenn man nach dem Laufen über einen Teppichboden
eine Türklinke anfasst. Für Elektronik kann sie aber „tödlich“ sein, weil sie
„empfindliche“ Halbleiterstrukturen in ICs zerstören kann. Ein dadurch bedingter
Totalausfall ist ärgerlich, aber schnell bemerkt. Heimtückischer sind Ausfälle, die nur
Schaltungsteile betreffen und erst nach mühsamen Tests offenbar werden.
Das Alles sind Gründe, warum z.B. folgender Hinweis gegeben wird (Bild 1.18).

Bild 1.18: Beispielhafter Hinweis in einem Intel-Handbuch zur Vorbeugung gegen


statische Entladung

Computertechnik 14 Jacob
Ausgewählte Grundlagen der Elektrotechnik

Der Elektronenfluss bei der statischen Entladung ist ein Beispiel für eine „Quelle
eines Stromflusses“. Die Energie, die man in die Trennung der Ladungspaare
gesteckt hat, wird beim kurzzeitigen Stromfluss der Entladung zurück gewonnen. Mit
dem Abbau der Energie bricht natürlich auch die Fähigkeit zum Stromfluss
zusammen. Genau das will man bei echten Stromquellen nicht.
Bevor technisch wichtige Stromquellen zur Sprache kommen, sollen einige
Grundlagen zum Spannungsbegriff geklärt werden.

Elektrisches Potential, elektrische Spannung, elektrisches Feld


Am vorangegangenen Beispiel wurde die grundsätzliche Bedeutung des Vorgangs
deutlich, wenn man Elektronen von Atomen trennt. Es entsteht dann eine
Wechselwirkung. Denn beide Ladungsträger ziehen sich an.
Wenn man Kraft aufwendet, um einen Gegenstand entlang eines Weges
fortzubewegen, verrichtet man Arbeit. Messbar wird die Arbeit auf der Grundlage der
physikalischen Definition der Arbeit.
Wenn Kraft und Weg gleich gerichtet sind und die Kraft konstant ist, gilt
Arbeit = Kraft . Weg
bzw.
∆W = F . ∆s

Wenn die Kraft sich auf dem Weg ändert, dann gilt:
∆W = IF . ds
Eine typische Situation, in der Arbeit verrichtet wird, ist das Erklettern eines Bergs, z.B. mit
einem Fahrrad. Die aufgebrachte Kraft dient der Überwindung der Erdanziehungskraft und
der Weg ist die Höhe, die man gewinnt. Die Erdanziehungskraft kann im Bereich der Kontur
der Erdkruste als unabhängig vom Weg angesehen werden. Nimmt man das Niveau des
Meeresspiegels als Ausgangspunkt der Höhenmessung, dann verrichtet man bis zum
Erreichen eines Gipfelpunktes Arbeit, die man beim Herabfahren wieder gewinnt, wenn man
zum Ausgangsniveau zurückkommt.

Bild 1.19: Äquipotentialflächen im Falle von Massen- bzw. Ladungsanziehung

Computertechnik 15 Jacob
Ausgewählte Grundlagen der Elektrotechnik

Die Fähigkeit, die bis zum Erreichen der Höhe aufgebrachte Arbeit wieder zu
gewinnen, nennt man Energie, im beschriebenen Fall: potentielle Energie.
Man kann sich die Oberfläche einer Kugel denken, deren Mittelpunkt im Erdmittel-
punkt liegt und die die Höhe h bezogen auf die (ebenso gedachte) Meeresniveau-
Kugel hat. Die Kugel schneidet aus der Erdoberfläche eine Höhenlinie. Auf dieser
Höhenlinie bzw. auf der gesamten Kugeloberfläche gewinnt und verliert man keine
potentielle Energie.
Man nennt die Flächen deshalb Äquipotentialflächen (Bild 1.19). In diesem Sinne
sind die Höhenlinien Äquipotentiallinien.
Eine Karte mit den Höhenlinien beschreibt zweidimensional die Verteilung der potentiellen
Energie in einem bestimmten Geo-Raumausschnitt. Üblicherweise gibt man die Höhenlinien
für ganz bestimmte diskrete Werte an, z.B. als Vielfache von 100 m. Aber man kann die
Werte auch dichter wählen. Im Prinzip veranschaulicht die Karte (mit frei gewählter
Genauigkeit) die Zuordnung eines eindeutigen skalaren Werts zu jedem zweidimensionalen
Punkt. Man nennt diese Zuordnung skalares Feld.

Die Verteilung der potentiellen Energie ist ein skalares Feld, das auch als
Potentialfunktion bezeichnet wird.

Wie man aus der Praxis weiß, ist die Kraft, die man beim Aufsteigen aufwenden
muss, dann am größten, wenn man der Falllinie entgegen läuft. Die Falllinie aber
steht senkrecht auf der Höhenlinie.
Man kann also aus dem skalaren Potentialfeld die maximalen Abtriebskräfte ableiten
(Bild 1.20, entliehen von http://www.physik.fu-berlin.de/~brewer/vm_elpot.html).

Bild 1.20: Die Richtung der Kräfte entlang der Falllinien


In jedem Raumpunkt gibt es eine Richtung, die das größte Gefälle hat. Die Senk-
rechten auf die Höhenlinien ergeben die Richtung der Falllinien. Mathematisch erhält
man die Richtung und den Wert des „Gefälles“, wenn man die Potentialfunktion in x-,
y- und z-Richtung im Oberflächenpunkt differenziert (man sagt auch: ihren Gradien-
ten in dem Punkt bildet).
Bestimmt man den Kraftvektor für jeden Raumpunkt, dann erhält man das
Vektorfeld der maximalen Abtriebskräfte entlang der Oberflächenkontur der Erde.
Das, was hier über das Potentialfunktion und das Vektorfeld der Kräfte im Falle der
Massenanziehung gesagt wurde, lässt sich analog auf den Fall der elektrischen
Anziehung übertragen. Als Beispiel dient zuerst die Anziehung von zwei
entgegengesetzt geladenen Punktladungen im leeren Raum.

Computertechnik 16 Jacob
Ausgewählte Grundlagen der Elektrotechnik

Sobald man ein Elektron aus dem Bereich der atomaren Kräfte entfernt hat und die
Ladungen weit genug entfernt sind, kann man den positiven Atomrumpf und das
Elektron als Punktladungen ansehen. Allgemein gültiger ist der Fall, dass man das
Elektron mit der Elementarladung q0 von einem Gegenstand mit der Ladung q1
entfernt, der bei genügendem Abstand als punktförmig angenommen werden kann.
Entgegen gesetzte Ladungen ziehen sich an, gleichsinnige stoßen sich ab. Im
Folgenden soll es nur um die Beträge der Kräfte gehen, nicht um deren Vorzeichen.

Das Gesetz, dem die Größe der Kraft folgt, ist eines der ersten, das im
Zusammenhang mit der Erklärung von Elektrizität entdeckt wurde (Coulomb). Der
Betrag der Kraft (in radialer Richtung) folgt folgender Proportionalität:

F ~ Q1 . Q2 / r 2
mit r = Abstand der Ladungen.
Das bedeutet im vorliegenden Fall:
F ~ q0 . q1 / r2 ,
mit q0 = Elementarladung.

Hat man also die Ladungen bis zum Abstand r voneinander entfernt, dann gilt für die
aufgebrachte Arbeit:

∆W = IF . dr ~ I q0 . q1 / r2 . dr

Man bezieht die Arbeit auf die bewegte Elementarladung q0:

∆W / q0 = ~ I q1 / r2 . dr

Jede Bewegung der Elementarladung aus einer Kugeloberfläche mit dem Radius r1
über einen radialen Abstand ∆r in die Kugeloberfläche mit dem Radius r2 = r1 + ∆r
erfordert die gleiche ladungsbezogenen Arbeit ∆W /q0. Für jede Kugeloberfläche im
Abstand r gilt sinngemäß das Gleiche wie für die Kugeloberfläche der potentiellen
Energie im Massenanziehungsfall der Erde. Bei der Bewegung des Elektrons auf
dieser Fläche wird weder Arbeit nötig noch wird Energie frei.
Die Analogie legt auch gleiche Begriffe nahe: analog zur Bezeichnung potentielle
Energie wird die aufgebrachte ladungsbezogenen Arbeit, die als Fähigkeit zur
Verfügung steht, dieselbe Arbeit frei zu setzen, als elektrisches Potential
bezeichnet.

Die Potentialfunktion, die für das Erdprofil definiert wird, ist nicht geschlossen dar-
stellbar. Die Komplexität erfordert - in dieser oder jener Form - tabellarische Zuord-
nungen. Im Falle der beiden Punktladungen kann man von der Radialsymmetrie der
Potentialfunktion ausgehen. Sie ist nur vom Abstand r abhängig.

Differenziert man die Funktion nach der Variablen r, dann erhält man den radial
gerichteten Kraftvektor. Das so bestimmbare Feld der Kraftvektoren ist
radialsymmetrisch. In Fällen mit komplexeren Potentialfunktionen ist es nicht so
einfach und man muss die dreidimensionalen Gradienten bilden.

Computertechnik 17 Jacob
Ausgewählte Grundlagen der Elektrotechnik

Da das Feld der Kraftvektoren auf der Wirkung von elektrischen Ladungen beruht,
wird es elektrisches Feld genannt. Man definiert die elektrische Feldstärke als
Kraft, die auf die Elementarladung bezogen wird:

Elektrische Feldstärke = Kraft / Elementarladung


bzw.
E = F / q0
wenn man die Beziehung der Beträge auswerten möchte,
bzw.
E = F / q0
wenn man die Vektorbeziehung auswerten möchte (Vektoren werden hier durch
Unterstrich gekennzeichnet). Es wird elektrostatisches Feld genannt, wenn sich die
Feldstärke nicht mit der Zeit ändert.

Die Feldstärke- und die Kraftvektoren in einem elektrischen Feld haben die gleiche
Richtung und unterscheiden sich nur durch einen Faktor in den Beträgen.
Soweit die Analogie zum Fall der potentiellen Energie, die den Einstieg in die Begriffe
der elektrischen Felder erleichtern sollte.
Nun gibt es nicht nur den Fall einer Punktladung, sondern Gegenstände beliebiger
Form mit beliebiger Ladungsverteilung. Jeden Gegenstand umgibt ein skalares
Potentialfeld, dem man durch Differenzierung ein vektorielles Kraftfeld bzw. ein
elektrisches Feld zuordnen kann. Alle Aussagen, die für den Beispielfall gemacht
wurden, gelten auch allgemein für diese Gegenstände.
Im Falle der potentiellen Energie auf der Erdoberfläche muss man für die
Bestimmung der Potentialfunktion an jedem Oberflächenpunkt die Höhe über dem
Meeresspiegel messen. Die Wahl des Meeresspiegels als Null-Niveau ist zwar
sinnvoll, aber aus prinzipieller Sicht willkürlich. Man könnte auch eine andere
Referenz bei der Differenzbildung wählen. Und was misst man im Falle des
elektrischen Felds?
Man misst auch eine Differenz, und zwar misst man die Potentialdifferenz zwischen
zwei Punkten als die Spannung U zwischen den beiden Punkten.
Oder mit anderen Worten:
Das Maß für die Arbeit bei der Bewegung einer Elementarladung zwischen zwei
Punkten eines elektrischen Felds ist die Spannung zwischen den beiden
Punkten.
∆W / q0 = U
Aus
∆W = IF . ds
folgt
∆W / q0 = IF/q0 . ds = IE . ds

Damit ist die Beziehung zwischen der Spannung und der elektrischen Feldstärke:

IE . ds = U

Mit Worten: Das Wegintegral der elektrischen Feldstärke ist gleich der
Spannung zwischen den Endpunkten des Wegs.

Computertechnik 18 Jacob
Ausgewählte Grundlagen der Elektrotechnik

Bezugspotential
Es ist ein Referenz-Potential (Bezugspotential) festzulegen, auf das man alle
Spannungen bezieht. Der Meeresspiegel ist das Null-Niveau bezogen auf das Feld
der potentiellen Energie. In Analogie dazu bezeichnet man das Bezugspotential
manchmal auch als Null-Potential.
Dabei muss man berücksichtigen, dass jeder Gegenstand ein elektrisches Umfeld
hat, das seine Funktion beeinflussen kann, wenn es entsprechend empfindlich ist.
Die Wirkung des elektrischen Felds, das den Gegenstand umgibt und unabhängig
von ihm wirkt, kann man als Spannung zwischen einem beliebigen Punkt im
Gegenstand und einem beliebigen Punkt auf der Erdoberfläche messen. Nimmt man
eine elektrische Schaltung als Gegenstand, dann wird als Messpunkt in der
Schaltung der Bezugspunkt der erzeugten (Nutz-)Spannungen gewählt. (Bild 1.21).

Bild 1.21: Erzeugung einer Störspannung durch ein elektrisches Feld


Die Störspannung kann Stromkreise (rot) erzeugen, die sich den nützlichen Stromkreisen
(grün) überlagern und deren richtige Funktion beeinträchtigen können.
Wenn man die Störspannung durch einen guten elektrischen Leiter kurzschließt und
damit unwirksam macht, wird auch die Störwirkung vernachlässigbar. Aus diesen
praktischen Gründen bindet man das Bezugspotential einer Funktionseinheit
meistens an das Potential der Erdoberfläche (Erdpotential).

Das Potential der Erdoberfläche ist kein absolutes Null-Potential: denn insgesamt ist die
Erde negativ geladen. Das ist aber für den Betrieb von elektronischen Schaltungen uner-
heblich. Dafür ist auch unerheblich, dass es ein relativ starkes elektrisches Gleichfeld
zwischen der Ionosphäre in 60-80 km Höhe und der Erdoberfläche gibt, auf dessen
Schwankungen aber entsprechend disponierte Menschen empfindlich reagieren können.
Zwischen Ionosphäre und Erdoberfläche existiert eine elektrische Gleichspannung von
200 - 300 kV. Das elektrische Gleichfeld verändert sich mit den Jahreszeiten, mit dem
Wettergeschehen und mit dem Ort. Die elektrische Feldstärke beträgt im Schönwetterfeld
über dem flachen Land 135 V/m, bei Gewittern (verursacht durch die starke Ladungs-
trennung in Wolken) bis zu 10000-20000 V/m.
Die Feldlinien des elektrischen Gleichfeldes verlaufen senkrecht zur Erdoberfläche. Die
Äquipotentialflächen verlaufen parallel zur Erdoberfläche. Häuser, Bäume usw. bilden
zusammen mit der Erdoberfläche eine Äquipotentialfläche. Über den Spitzen dieser
Objekte kommt es zu hohen Feldstärken.

Kondensator

Für die Erklärung der Definitionen zum elektrischen Feld wurde das Feld einer positi-
ven Punktladung genommen. Ein gutes Beispiel für die Anwendung der Feldgrößen
ist das klassische Element zur Speicherung von Ladungen: der Kondensator.

Computertechnik 19 Jacob
Ausgewählte Grundlagen der Elektrotechnik

Bei einem Plattenkondensator stehen zwei gleich große Leiterplatten sich parallel auf
kurzem Anstand gegenüber. Zwischen den Platten befindet sich entweder Luft oder Materie
mit besonderen (dielektrischen) Eigenschaften.
Bei einem Wickelkondensator werden zwei leitende Folien durch eine dünne (dielektrische)
Trennschicht voneinander isoliert und zu einer Rolle aufgewickelt. Abgewickelt stehen sich
auch hier zwei „Platten“ auf gleichem, geringem Abstand gegenüber.

Wenn man nun eine Spannung U an die beiden Platten legt, lädt sich die Platte am
positiven Pol der Spannungsquelle positiv auf, die Platte am negativen Pol negativ.
Dabei fließen Elektronen von der sich positiv aufladenden Platte ab und die gleiche
Anzahl Elektronen fließen zu der sich negativ aufladenden hin. Das Ende der Aufla-
dung ist erreicht, wenn die Spannung zwischen den Platten gleich der angelegten
Spannung ist.
Der aufgeladene Kondensator hat die Ladung Q = N . q0 aufgenommen. Im Folgen-
den interessiert zunächst dieser aufgeladene Zustand.

Ändert man die Spannung U und misst die aufgenommene Ladung Q, stellt man
folgende Proportionalität fest:
Q~U
bzw.
Q=C.U
Der Proportionalitätsfaktor ist eine Konstante, die den Zuwachs an Ladungseinheiten
pro Spannungseinheit (Amperesekunden pro Volt, As/V) festlegt. Sie wird Kapazität
des Kondensators genannt. Ihre Einheit 1 As/V heißt Farad.
Untersucht man nun, von welchen Größen die Kapazität abhängt, dann stellt man
wieder durch Messung der Ladung folgende Proportionalität fest:
Q ~ (Fläche/Abstand) . U
Zu der Abhängigkeit von geometrischen Größen kommt aber noch eine Abhängigkeit
von der Materie zwischen den Platten. Man betrachtet den Fall, bei dem keine
Materie (Vakuum) zwischen den Platten liegt, als Bezugsfall bzw. die dabei erzeugte
Ladung als Bezugsladung. Für diesen Fall legt man eine Konstante fest, so dass
folgende Gleichung gilt:
Q = ε0 (Fläche/Abstand) . U
Die Konstante ε0 heißt Dielektrizitätskonstante des leeren Raums. Sie ist eine der
Naturkonstanten, die (noch) nicht weiter erklärbar sind.

Irgendwelche Materie zwischen den Platten erzeugt entweder die gleiche oder eine
größere Ladung bei sonst gleichen Bedingungen. Das Verhältnis
Qmit Materie / QVakuum = εr
legt einen von der Materie abhängigen Faktor fest, den man durch Messung
bestimmt und bei der Berechnung der Ladung für den Fall mit dieser Materie
einsetzen kann (relative Dielektrizitätskonstante):
Q = ε0 . εr . (Fläche/Abstand) . U
Mit ε0 . εr = ε wird die (im konkreten Fall wirksame) absolute Dielektrizitätskonstante
definiert, so dass gilt:
Q = ε . (Fläche/Abstand) . U

Computertechnik 20 Jacob
Ausgewählte Grundlagen der Elektrotechnik

Was hier für den Kondensator entwickelt wurde, verbirgt eine grundsätzliche
Eigenschaft des elektrischen Felds, um die es im Folgenden gehen soll.

Vertiefung für Interessierte, kein Prüfungsstoff

Elektrische Feldstärke und die Ladungsverteilung beim Kondensator

Die elektrische Feldstärke wird definiert als die Kraft, die im leeren Raum auf eine einzige
Elementarladung wirkt, bezogen auf (also geteilt durch) die Elementarladung. Was
bedeutet es nun, wenn an einem Raumpunkt eine bestimmte Feldstärke herrscht, dort aber
mehrere freie Ladungen möglich sind?

Am Feld in einem Plattenkondensator kann man das Problem beispielhaft deutlich machen.
Die Eigenschaften dieses Felds sollen zuerst bestimmt werden.

Bei der Bestimmung der Feldgrößen des Kondensators kann man messtechnisch und/oder
analytisch vorgehen. Veranschaulicht man das Ergebnis, dann gibt man meistens nur die
Feldlinien der elektrischen Feldstärke an. Sie verbinden die Raumpunkte mit
Feldstärkevektoren gleichen Betrags.

Da die Äquipotentialflächen und die Feldlinien senkrecht aufeinander stehen, kann man
sich die Form der Äquipotentialflächen gut dazu ergänzen.

Bestimmt man die elektrische Feldstärke für einen


Plattenkondensator, dann ergibt sich, dass die Feldstärkevek-
toren im Innern senkrecht zu den Plattenoberflächen stehen
und in jedem Raumpunkt den gleichen Betrag haben, Das
bedeutet, dass die Feldlinien geradlinig von Platte zu Platte
verlaufen.
Außerhalb der Platten nimmt der Betrag der Feldstärke
schnell ab, je weiter entfernt die Messpunkte liegen. Die
Feldlinien verlaufen dort bogenförmig

Die Feldstärke im Innern lässt sich unter diesen Umständen


aus der Spannung und dem Abstand der Platten einfach bestimmen:
IE . ds = E . Abstand = U
bzw.
E = U / Abstand.

Das bedeutet, dass man für den Kondensator einen Zusammenhang zwischen seiner
Feldstärke im Innern und der gesamten aufgenommenen Ladung herstellen kann:

Q / Fläche = ε . U / Abstand
bzw.
Q / Fläche = ε . E
bzw.
D=ε.E
Die elektrische Feldstärke im Innern legt die Ladungsdichte D in den Platten des
Kondensators fest.
Das gilt nun nicht nur für den Kondensator als Ganzes. Vielmehr man kann das auch für die
Raumpunkte im Innern feststellen.

Computertechnik 21 Jacob
Ausgewählte Grundlagen der Elektrotechnik

Elektrische Feldstärke und Ladungsverteilung an einem Raumpunkt


An jedem inneren Raumpunkt des Kondensators ist mit der Feldstärke auch die Kraft auf
ein einzelnes Elektron bekannt. Angenommen, man positioniert an dem Raumpunkt ein
Metallplättchen von punktartiger Flächengröße, das parallel zu den Platten des
Plattenkondensators steht. In dem Metallplättchen gibt es mehr als eine bewegliche Ladung
in Form von freien Elektronen. Wie wirkt sich die elektrische Feldstärke auf diese aus?

Die Feldstärke sorgt im metallischen Elementarplättchen für eine Trennung von Ladungen
in Elektronen und positiv zurückbleibende Atomrümpfe so, dass die Elektronen auf die
Oberfläche wandern, die der positiv geladenen Platte gegenüber liegt, und auf der anderen
Oberfläche die positiven Atomrümpfe zurückbleiben, die der negativen Platte gegenüber
liegt.

Es kommt also zu einer Verschiebung von Ladung. Die Menge der Ladung dQ, die sich
auf dem Probe-Elementarplättchen pro Oberfläche dFläche bildet, also die am Raumpunkt
mögliche Ladungsdichte, wird durch die elektrische Feldstärke festgelegt:

mögliche Ladungsdichte am Raumpunkt = dQ / dFläche = ε E

Die elektrische Feldstärke legt die an einem Raumpunkt mögliche Ladungs-dichte


fest.

Bezieht man nun die verschiebende Bewegung der Ladungen bei der Ladungstrennung mit
in die Betrachtung ein, dann ergibt sich eine ortsfeste Ausrichtungsbewegung von
Elektronen gegen die Richtung des Feldstärkevektors bzw. ein Fluss von positiven
Ladungen in Richtung des Vektors der elektrischen Feldstärke.

Man definiert die Ladungsdichte deshalb als Vektor in Richtung des elektrischen
Feldstärkevektors und nennt ihn den Vektor der Dichte des Verschiebungsflusses oder
Verschiebungsdichte.

D=ε.E
Die Ladung Q in einer Fläche ergibt sich durch Integration der Ladungsdichte über der
geschlossenen Fläche:
Q = ID . dA
über geschlossene Fläche

In jeder nicht kompressiblen Strömung ist die Teilchendichte überall gleich. Der Begriff
Verschiebungsfluss greift in diesem Sinne das Bild einer Strömung auf.

Die Ladungsdichte ist in jedem Querschnitt senkrecht zur Richtung der Strömung gleich,
d.h.: Die Ladungsdichte auf der sich positiv aufladenden Platte geht am Rand über in die
gleich große Verschiebungsdichte des Verschiebungsflusses, die durchgehend gilt bis zum
Übergang in die Ladungsdichte auf der sich negativ aufladenden Platte des Kondensators.
Das kann man mit Hilfe der Aufladung des Probe-Elementarplättchens auch durch
Messung bestätigen.

Auf der Strecke des Verschiebungsflusses kann leerer Raum oder nicht leitendes Material
liegen, in dem ortsfeste Ladungen voneinander getrennt (verschoben) werden können.
Diese ortsbegrenzte Verschiebebewegung nennt man auch Polarisieren der
(dielektrischen) Materie.

Computertechnik 22 Jacob
Ausgewählte Grundlagen der Elektrotechnik

Verschiebungsstrom

Bisher wurde das elektrostatische Feld des Kondensators untersucht, das im aufgeladenen
Zustand vorliegt. Daraus kann man den Fall des sich (langsam) ändernden Felds
entwickeln. Wenn eine (über der Zeit) konstante Änderung der Spannung vorliegt, gilt
folgender Zusammenhang:
∆Q / ∆t = C . ∆U / ∆t
Wenn die Änderung selbst zeitabhängig ist, muss man zu den Differentialquotienten
übergehen:
dq / dt = C . du / dt
Diese Gleichung bestimmt den Strom von bzw. zum Kondensator:

dq / dt = i = C . du / dt

Beim Kondensator fließt Strom nur bei Änderung der Spannung.


Konstante Spannung bedeutet kein Strom!

Strom bedeutet eine zeitliche Änderung der Ladungsdichte an den Platten des Kon-
densators, die mit einer zeitlichen Änderung des elektrischen Felds verbunden ist:

dq / dt /Fläche Kondensatorplatte
= Strom i / Fläche Kondensatorplatte
= Stromdichte Kondensatorplatte = ε . dE /dt

Wie im elektrostatischen Fall kann man die Stromdichte an einem Raumpunkt im


Kondensatorzwischenraum bestimmen:

dq / dt /Fläche Raumpunkt
= Strom i / Fläche Raumpunkt
= Stromdichte Raumpunkt = ε . dE /dt

bzw. in Vektorform:
J = ε . dE /dt

Die Stromdichte J im Raumpunkt wird die Dichte des Verschiebungsstroms durch den
Raumpunkt genannt.

Der Verschiebungsstrom selbst ist das Integral der Stromdichte über der Fläche des
Querschnitts, in dem er „fließt“.

Der Verschiebungsstrom bedeutet keinen Fluss von Ladungsträgern entlang eines


Strompfads. Er ist ein Quasistrom, der die raumübergreifende Wirkung durch das Feld
zwischen den beiden Platten als Ersatzgröße angibt, die gut als Rechengröße verwendbar
ist.
Das Bild der Bewegung durch den Raum ist dabei zutreffend, weil das Feld die Kraft zur
Ladungsverschiebung (eigentlich Trennung und damit Erzeugung) durch den Raum von
einer Platte zur anderen trägt.

Der Verschiebungsstrom wird gedacht als die kontinuierliche Fortsetzung des Teilchen-
stroms von der einen Kondensatorplatte durch das nicht leitende Material zur Oberfläche
der gegenüber liegenden Platte, wo er wieder als Teilchenstrom fortgeführt wird.

Mit diesem Modell entstehen in Stromkreisen mit Kondensatoren durchgehende


Stromflüsse, was die Berechnung und anschauliche Deutung von solchen Stromkreisen
vereinfacht. Man spricht also nicht mehr vom Strom vom bzw. zum Kondensator, sondern
vom Strom durch den Kondensator.

Computertechnik 23 Jacob
Ausgewählte Grundlagen der Elektrotechnik

Elektrische Quellen

Eine Quelle, die durch elektrostatische Aufladung entsteht, ist eher eine Störquelle
als eine nützliche Stromquelle. Die entsteht erst dann, wenn die Fähigkeit zum
Stromfluss nicht abbricht.

Das ist z.B. der Fall, wenn die Fähigkeit zu einem zeitlich konstanten Strom erhalten
bleibt. Das bedeutet, dass man zeitlich konstant Energie für die Ladungstrennung
aufbringt, was man an einer zeitlich konstanten Spannung misst. Das ist die
Gleichspannung einer Gleichspannungs- bzw. Gleichstromquelle.

Im (technisch wichtigsten) alternativen Fall wird die Energie zur Ladungstrennung mit
Hilfe der Drehung einer Spule in einem konstanten Magnetfeld zeitlich sinusförmig
aufgebracht. Das führt zur typischen Wechselspannung einer Wechselspannungs-
bzw. Wechselstromquelle, eines Generators.

Die Spannung, die unmittelbar mit der Ladungstrennung verbunden ist, heißt die
eingeprägte Spannung oder Urspannung oder Leerlauf-Spannung der
Gleichstrom- oder der Wechselstrom-Quelle.

Im täglichen Umgang mit elektrischen Quellen wird auf die zeitliche Konstanz der
Spannung wert gelegt, sei es, dass z.B. eine Batterie ihren Gleichspannungswert
konstant hält, sei es, dass das Wechselstromnetz seine Wechselspannung konstant
hält, womit man den Amplitudenwert des sinusförmigen Spannungsverlaufs meint.
Die Bezeichnungen Spannungsquelle oder Stromquelle sind dabei gleichwertig.

In der Elektronik dienen beide Ausdrücke aber zur Unterscheidung zweier


unterschiedlicher Typen von Quellen:
• Spannungsquelle heißt eine Quelle, bei der die gelieferte Spannung
möglichst unabhängig von einem sich ändernden Strom im Stromkreis ist, der
mit der eingeprägten Spannung betrieben wird (Konstantspannungs-Quelle);

• Stromquelle wird eine Quelle genannt, bei der der gelieferte Strom möglichst
unabhängig von sich ändernden Spannungsverhältnissen im Stromkreis ist;
d.h. die Spannung der Quelle stellt sich von selbst so ein, dass der Strom
einen gewünschten Wert behält (Konstantstrom-Quelle).

Als Ersatzbilder für Quellen gelten folgende Symbole:

Bild 1.22: Ersatzschaltbilder für Quellen


U0 bzw. U sind die eingeprägten Spannungen.

Computertechnik 24 Jacob
Ausgewählte Grundlagen der Elektrotechnik

Batterien/Akkus als Gleichspannungsquellen

Durch den Gebrauch im Alltag ist man mit Batterien vertraut, die nicht wieder
aufladbar, also nur einmal nutzbar sind, aber auch mit solchen, die wieder aufladbar
sind und die auch als Akkumulatoren oder kurz Akkus bezeichnet werden.
Fachsprachlich unterscheidet man zwischen (nicht wieder aufladbaren Primärzellen) und
(wieder aufladbaren) Sekundärzellen.

Im Folgenden sollen der Aufbau und das Funktionsprinzip einer nicht wieder
aufladbaren Batterie an einem Fall mit vertrauten Elementen erläutert werden.
Bildquelle: http://www.chempage.de/theorie/galvanischezelle.htm

Die elementare Baueinheit ist die galvanische Zelle. Das sind zwei, durch eine
Membran getrennte Kammern mit unterschiedlichen Metallsalz-Lösungen
(Elektrolyt). Je eine Platte des Metalls ist in die Lösung seiner Kammer eingetaucht.

Bild 1.23: Schnitt durch eine galvanische Zn-Cu-Zelle


Die Membran verhindert eine Durchmischung der Salzlösungen. Sie ist aber für
geladene Teilchen durchlässig, wenn ein Ladungsungleichgewicht zwischen den
Lösungen entsteht und sich ausgleichen soll.

Man nennt die in die Halbkammern eingetauchten Körper Elektroden. Welcher


Vorgang erzeugt nun die Ladungstrennung und damit die Spannung?

Maßgeblich ist der chemische Prozess, dass sich Metallatome der Elektroden an den
Grenzflächen zerteilen und als positive Metall-Ionen in die Flüssigkeit übergehen,
während die Elektronen im metallischen Körper bleiben (Bild 1.24).

Der Zerteilungsprozess ist ein Angebot der Natur, die Energie für die Ladungs-
trennung daraus zu gewinnen, dass man zwei Stoffe geschickt miteinander kom-
biniert.

Vertiefung für Interessierte, kein Prüfungsstoff

Das führt aber nicht zu einer unbegrenzten Erzeugung immer neuer Elektronen/Metall-
Ionen-Paare. Paare können sich auch wieder zu neutralen Atomen vereinigen, d.h. der
Zerteilungsprozess wird von einem Rekombinationsprozess begleitet.

Beide Prozesse streben einem (elektrochemischen) Gleichgewichtszustand zu, in dem es


gleich viele Zerteilungs- und Rekombinatiosvorgänge pro Zeiteinheit gibt.

Computertechnik 25 Jacob
Ausgewählte Grundlagen der Elektrotechnik

Wenn dieser Gleichgewichtszustand erreicht ist, hat sich eine (im Mittel über der Zeit)
stabile Anzahl von Elektronen/Metall-Ionen-Paaren gebildet, die an den Grenzflächen
gesammelt sind. Sie erzeugen eine Spannung (elektrochemisches Potential).

Bild 1.24: Ladungsverteilung in einer galvanischen Zn-Cu-Zelle


Nimmt man den gesamten flüssigen Inhalt der galvanischen Zelle mitsamt den Elektroden,
dann ist dieser nach außen elektrisch neutral; denn die Bildung der Ladungspaare bedeutet
keine Hinzufügung oder Beseitigung von Ladungen, sondern nur eine Trennung. Man kann
von jedem beliebigen Punkt des Innern eine leitende Verbindung zur neutralen Erde
herstellen: es gibt keine Spannung zwischen den Endpunkten der Leitung und es wird
folglich kein Ladungsausgleich stattfinden (wenn einer nicht vorher bewusst durch Reibung
für eine elektrostatische Aufladung des evt. Kunststoff-Gehäuses gesorgt hat und so
entstandene Ladungen in das Innere gelangten).

Spannungen stellt man zwischen zwei Punkten im Innern fest, wobei die Spannung
zwischen den beiden Elektroden die wichtige ist.

Das elektrochemische Potential, das sich zwischen dem Metall und dem Elektrolyt bildet,
hängt von der Auswahl des Metalls ab. Bei Zink ergeben sich wesentlich mehr
Elektronen/Metall-Ionen-Paare als bei Kupfer.

(Ende der Vertiefung)

Auf der Zink-Elektrode befinden sich mehr Elektronen als auf der Kupfer-Elektrode.
Die Zink-Elektrode ist der negative Pol der Spannungsquelle, die Kupfer-Elektrode
ist der positive Pol.

Man misst zwischen den Polen einer Zn-Cu-Zelle ohne Stromfluss eine eingeprägte
Spannung von 1,1 Volt.
Andere Beispiele: Nickel-Cadmium-Akkus haben eine Zellen-Spannung von 1,2 Volt,
Bleiakkus (Autobatterien) haben eine von 2 Volt.

Vertiefung für Interessierte, kein Prüfungsstoff:

Diese Spannung setzt sich aus den Teilspannungen an den Elektroden zusammen. Deren
Größe wird auf der Basis einer Referenz-Elektrode definiert.

Computertechnik 26 Jacob
Ausgewählte Grundlagen der Elektrotechnik

Nicht wieder aufladbare Primärzellen bilden die maximale Anzahl von Ladungspaaren,
sobald der Zerteilungs- und Rekombinationsprozess zum ersten Mal ins Gleichgewicht
kommen. Die getrennten Ladungsträger verteilen sich über die Elektroden-Oberfläche
(Ladungsdichte). Die flächenhafte Schicht der Ladungsträger in der Elektrode und die
flächenhafte Schicht der Ladungsträger in der Lösung liegen sich auf Abstand gegenüber.
Sie stellen sich mit ihrer Ladungsdichte und ihrem Abstand so ein, dass man insgesamt das
charakteristische elektrochemische Potential feststellt.

Wenn man die Oberflächen der Elektroden vergrößert, bleibt das gemessene Potential das
gleiche. Die größere Zahl an Paaren mit getrennten Ladungen verteilt sich mit
entsprechendem Schichtabstand über die größere Fläche, so dass das gleiche
elektrochemische Potential entsteht.

Die Zahl der Ladungspaare an der negativen Elektrode, die über die Zahl der
Ladungspaare an der positiven Elektrode hinausgeht, legt die Kapazität der Zelle fest.
Ermöglicht man einen Ladungsausgleich zwischen den Polen, indem man einen
elektrischen Leiter zwischen beide schaltet, dann können mit der Zeit nur so viele
Elektronen insgesamt fließen, wie im Überschuss enthalten sind (Bild 1.25).

Bild 1.25: Stromfluss durch einen elektrischen Widerstand zwischen den Polen einer
galvanischen Zelle
Beim Stromfluss fließen Elektronen vom negativen zum positiven Pol und neutralisieren
Kupfer-Ionen, die sich auf der Kupfer-Elektrode sammeln. Zink-Ionen sind nicht mehr
gebunden und wandern frei in die Lösung. Ionen wandern durch die Membran, um den
Gesamtausgleich zu schaffen.

Durch die Änderung der Ladungsverteilung an den Elektroden nehmen die


elektrochemischen Potentiale an den Elektroden, also die eingeprägte Spannung der
Spannungsquelle, beim Betrieb ständig ab, bis eine unbrauchbare Spannung
entstanden ist.

Das tritt in aller Regel ein, bevor die Zelle vollständig entladen ist, also der vorhandene
Ladungsüberschuss vollständig abgebaut ist.

(Ende der Vertiefung)

Computertechnik 27 Jacob
Ausgewählte Grundlagen der Elektrotechnik

Stromstärke
Die Stromstärke ist der Fluss einer Ladungsmenge ∆Q im Zeitintervall ∆t.
I = ∆Q / ∆t
Wenn sich die Stromstärke I während der Betriebszeit t nicht ändert und dabei
insgesamt die Ladungsmenge Q geflossen ist, dann ist die Stromstärke des
konstanten Stroms
I=Q/t
Die Einheit der Stromstärke ist Ampere. Die Ladungsmenge, die bei einer
Stromstärke von 1 Ampere während einer Sekunde geflossen ist, ist die
Landungsmenge von einem Coulomb: 1 Coulomb = 1 Ampere . sec.
Man gibt die Kapazität einer Batterie als Ladungsmenge Q beispielsweise in Ampere-
Stunden an. Ist der von der Zelle gelieferte Strom konstant über der Zeit, dann hat die Zelle
eine Betriebszeit von t = Q / I. Das ist die Zeit bis zur unbrauchbaren Spannung.

Spannungen in einem Stromkreis


Wenn man bei Stromfluss (der entlang dem Stromkreis überall dieselbe Stärke hat)
die Spannung an den beiden Polen der Spannungsquelle misst, dann stellt man fest,
dass sie kleiner ist als die eingeprägte Spannung. Bei Stromfluss entsteht also ein
Abfall der Spannung gegenüber der eingeprägten Spannung. Was ist die Ursache?
Im beispielhaften Stromkreis in Bild 1.25 kann man in Flussrichtung der Elektronen
mehrere Leiterabschnitte unterscheiden: zuerst fließen die Elektronen durch das
Zink-Elektroden-Material, dann durch ein Stück Kupferleitung, dann durch das
Widerstandsmaterial, dann wieder durch ein Stück Kupferleitung und schließlich
durch das Kupfer-Elektrodenmaterial (Bild 1.26).
Misst man die Spannung zwischen dem Endpunkt jedes Abschnitts und dem
Minuspol, so stellt man fest, dass die Spannung von Messung zu Messung immer
mehr abfällt, bis sie am Minuspol Null geworden ist. Die Differenzen der Messwerte
an den Endpunkten der Leiterabschnitte bilden die Beträge der Spannungsabfälle,
die durch jeden Leiterabschnitt verursacht werden. Dann stellt man fest:
Die Summe aller Spannungsabfälle gleich der eingeprägten Spannung.
U0 = ∆U1 + ∆U2 + ∆U3 + ∆U4 + ∆U5

∆U3=U3-U2
Kupferleitung Kupferleitung
R

∆U2=U2-U1 U2 U3
∆U4=U4-U3
U1 U4

Cu Zn
∆U1=U1-U0 ∆U5=0-U4

+ -
eingeprägte Spannung U0

Bild 1.26: Spannungen im beispielhaften Stromkreis: Minus-Pol als Bezugspunkt

Computertechnik 28 Jacob
Ausgewählte Grundlagen der Elektrotechnik

Vertiefung für Interessierte, kein Prüfungsstoff:

Dahinter verbirgt sich eine grundsätzlich gültige Bilanz.

Während im elektrostatischen Fall die Arbeit zur Trennung der Elektronen von den
Atomrümpfen nur einmal aufgebracht wird, muss sie in einer brauchbaren elektrischen
Quelle ständig aufgebracht werden. Das bedeutet, die Quelle muss pro Zeiteinheit ∆t eine
bestimmte Trennarbeit ∆W aufbringen, die als Energie der getrennten Elektronen auftritt.

Der Quotient ∆W / ∆t heißt Leistung.

Das Maß für die Energie eines einzelnen getrennten Elektrons ist die Spannung U. Wenn
man ∆N Elektronen pro Zeiteinheit ∆t trennt, dann bringt man pro Zeiteinheit die
Trennarbeit ∆W = U . ∆N . Elementarladung = U . ∆Q auf:

∆W / ∆t = U . ∆N . Elementarladung / ∆t = U ∆Q / ∆t = U . I

Die von einer Quelle gelieferte Leistung ist das Produkt aus ihrer eingeprägten Spannung
und dem gelieferten Strom.

Jede Komponente des Stromkreises, durch den der gelieferte Strom fließt, verbraucht nun
einen Teil der Leistung. Ihr Anteil muss sich aus dem Produkt aus dem Spannungsabfall,
den er verursacht, und dem Strom I ergeben.

Die Bilanz muss sein: gelieferte Leistung gleich Summe der verbrauchten Leistungen. In
allgemeiner Form lautet die Bilanz:

U0 . I = ∆U1 . I + ∆U2 . I + …+ ∆Un . I


bzw.
U0 = ∆U1 + ∆U2 + …+ ∆Un
bzw.
U0 - ∆U1 - ∆U2 - …- ∆Un = 0
Mit anderen Worten:
Die Leistungsbilanz erzwingt, dass die Summe aller Spannungen entlang dem Stromkreis
Null ist.
(Ende der Vertiefung)

Diese Tatsache formuliert man mit einer Regel, die Vereinbarungen zu den
Vorzeichen der Spannungen voraussetzt (Schleifen- oder Maschenregel, Bild 1.27).

Zählt man die angelegte Spannung von Plus nach Minus als positiv und verfolgt in
dieser Richtung den Strompfad, dann zählen die Teilspannungen, die in gleicher
Richtung wirken, als positiv, und diejenigen, die in entgegen gesetzter Richtung
wirken, zählen als negativ.

Es gilt:

Die Summe aller Spannungen entlang einer Schleife ist Null.

Computertechnik 29 Jacob
Ausgewählte Grundlagen der Elektrotechnik

Bild 1.27: Schema für die Anwendung der Schleifenregel

Wenn die angelegte Spannung vom Plus- zum Minus-Pol den positiven Umlaufsinn festlegt,
dann muss man bei den Teilspannungen im Umlaufsinn zuerst auf den negativen Pol treffen;
denn dann sind die Teilspannungen entgegen gesetzt gerichtet..

Die eingeprägte Spannung U0 steht für die Energie jedes Elektrons, die beim
Wandern des Elektrons zum Plus-Pol abgegeben wird, wo es keine Energie mehr hat
und einen Atomrumpf neutralisiert. Man kann also mit gutem Recht behaupten, dass
die Spannung die Elektronen antreibt bzw. den Strom verursacht.

Die Frage ist nun, wie groß der Strom ist.

Dabei ist ein andere physikalische Tatsache maßgeblich; die man an allen
Komponenten des beispielhaften Stromkreises feststellt: bei jeder Komponente sind
der Strom durch die Komponente und die angelegte Spannung zueinander
proportional. Das führt zur Definition des elektrischen Widerstands als
Proportionalitätsfaktor in der Proportionalität:

U=R.I

Für jeden Spannungsabfall an einer Komponente gilt also:

∆Ui = Ri . I
Für die Summe aller Spannungsabfälle heißt das:

U0 = ∆U1 + ∆U2 +…+ ∆Un = R1 . I + R2 . I +…+ Rn . I = (R1 + R2 +…+ Rn ) . I

Für die Spannungsquelle ergibt sich ein Gesamtwiderstand, der aus der Summe der
Einzelwiderstände gebildet wird. Damit ergibt sich die Größe des Stroms.

I = U0 / (R1 + R2 +…+ Rn )

Computertechnik 30 Jacob
Ausgewählte Grundlagen der Elektrotechnik

Die hier festgestellten physikalischen Eigenschaften stellt man in einem


symbolischen Schaltschema dar, das man Ersatzschaltbild nennt (Bild 1.28).

RCu RCu

+
Ri

eingeprägte
tatsächliche
Spannung U0
Spannung + -
zwischen den
Polen

Bild 1.28: Ersatzschaltbild mit Spannungsquelle und Innenwiderstand


Das Ersatzschaltbild einer Gleichspannungsquelle fasst alle Widerstandskompo-
nenten innerhalb der Spannungsquelle im sog. Innenwiderstand zusammen. Alle
anderen Komponenten werden durch ihren Widerstand repräsentiert. Zusammen mit
der eingeprägten Spannung stellt man damit in anschaulicher Form alle Größen
zusammen, die die Strom- und Spannungsverhältnisse festlegen.

Der Spannungsabfall in der Quelle ist im Beispielfall:

∆Ui = Ri / (2RCu + R).

Computertechnik 31 Jacob
Ausgewählte Grundlagen der Elektrotechnik

Netzteile als Gleichspannungsquellen

Spannungsquellen bzw. Stromversorgungen für Personal Computer werden


Netzteile genannt. Sie wandeln Wechselstrom in mehrere unterschiedliche
Gleichspannungen um (Bild 1.29).

Bild 1.29: Gleichspannungen an einem typischen Netzteilstecker


Alle Spannungen haben einen gemeinsamen Pol. Alle Spannungen beziehen sich
auf diesen gemeinsamen Pol. Er wird hier (in der englisch/amerikanischen
Nomenklatur) mit Ground bezeichnet. Das soll ausdrücken, dass er üblicherweise mit
der Erde verbunden (geerdet) ist.

Der Bezugspol der Spannungen einer Stromversorgung hat das Bezugspotential.


Durch den guten Leiter zur Erde nimmt es das Erdpotential an.

Die Erdoberfläche kann (bis auf genau bestimmbare Ausnahmefälle) als idealer
Leiter angesehen werden, in der zu jeder Zeit ein schneller und vollständiger
Ladungsausgleich stattfindet. Erdet man einen Gegenstand, dann bezieht man den
Ladungsausgleich zwischen Gegenstand und Erdoberfläche in den allgemeinen
Ladungsausgleich auf der Erdoberfläche ein.

Das nutzt man zu Schutzmaßnahmen, indem man berührbare Teile elektrisch


leitende Teile einer Funktionseinheit, die sich gefährlich aufladen könnten, über ein
Schutzleitersystem mit der Erde verbindet. Das Schutzleitersystem ist unabhängig
von den Wechselstromleitern (drei Phasen-Leiter plus Neutral-Leiter).

In den meisten elektrischen Einheiten (z.B. in Personal Computern) nutzt man das
Schutzleitersystem, um auch das Bezugspotential an das Erdpotential zu binden.

Üblicherweise wird mit der metallischen Verschraubung des Metallgehäuses auch eine
leitende Verbindung zum Bezugspol hergestellt, was die Bezeichnung Ground begründet.

Man bezeichnet elektrische Signale, deren Spannungswerte an das Erdpotential


gebunden sind, als potentialgebunden. Wenn das nicht der Fall ist, heißen sie
potentialfrei.

Die Bindung eines elektrischen Signals an das Erdpotential vermeidet man immer dann,
wenn sein Stromkreis einen Strompfad durch Verbindungen zur Erde oder sogar durch die
Erde einschließt, der Störungen hervorrufen kann. Davon später Genaueres, z.B. bei
Computernetzen.

Computertechnik 32 Jacob
Ausgewählte Grundlagen der Elektrotechnik

Eine andere Möglichkeit, das Bezugspotential zu binden, ist die Verbindung mit
einem metallischen Leiter großer Masse, z.B. dem metallischen Gehäuse. Deshalb
bezeichnet man das Bezugspotential auch oft als Masse.

Sowohl die Bezeichnung Bezugspotential als auch die Bezeichnung Masse legen
nicht fest, dass es auch eine Verbindung zur Erde gibt. Das muss man eigentlich
zusätzlich angeben. In Schaltbildern werden deshalb auch verschiedene Symbole
verwendet.

Bezugspotential,
Masse Erde Schutzleiter

Schaltnetzteile

Für Personal Computer bzw. Workstations werden üblicherweise Schaltnetzteile


eingesetzt. Man unterscheidet primär und sekundär getaktete Schaltnetzteile.
Bild 1.30 zeigt das Aufbauprinzip von primär getakteten Schaltnetzteilen.

Bild 1.30: Aufbauprinzip von primär getakteten Schaltnetzteilen


Zentrales Element bei der Umsetzung der Wechselspannung in Gleichspannung ist
ein Transformator, der mit Hilfe einer magnetischen Kopplung eine zeitlich sich
ändernde Spannung einer Eingangsspule (Primärseite) in ein oder mehrere zeitlich
sich ändernde Spannungen an einer Ausgangsspule (Sekundärseite) wandelt.

Die Netzspannung wird gleichgerichtet, d.h. die negativen Spannungsanteile werden durch
Vorzeichenumkehr positiv gemacht. Danach wird ein ladungsspeicherndes Element
(Kondensator) eingesetzt, dessen Spannung proportional zu seinem Ladungszustand ist. Die
Kondensatorschaltung sorgt dafür, dass sich ein zeitlich konstanter Ladungsmittelwert bildet,
der nur wenig im Takte der angelegten Spannung schwankt. Die am Kondensator erzeugte
Spannung folgt diesem Ladungsverhalten. Diese „Fast-Gleichspannung“ wird mit Hilfe von
elektronischen Schaltern zerhackt und der Primärseite des Transformators zugeführt. Auf der
Sekundärseite erzeugt man dann wieder durch eine gleiche Funktionskette
Gleichspannungen.

Computertechnik 33 Jacob
Ausgewählte Grundlagen der Elektrotechnik

Der Zweck des Zerhackens ist die Tatsache, dass man die Ausgangsspannung zu-
rückführen kann und so für eine Regelung einsetzen kann, dass (in einem bestimm-
ten Arbeitsbereich) die Ausgangsspannung vom Strombedarf unabhängig wird.
Mit anderen Worten: man eliminiert die Wirkung des Innenwiderstands.

Ein sehr wichtiger Aspekt beim Aufbau von Netzteilen, die den Gleichstrom aus
Wechselstrom gewinnen, ist die Tatsache, dass es keine leitende Verbindung
zwischen dem Wechselstomnetz und den erzeugten Gleichspannungen gibt
(galvanisch getrennt) (Bild 1.31).

Bild 1.31: Die galvanische Trennung zwischen der Primär- und der Sekundärseite
eines primär getakteten Schaltnetzteils
Bei sekundär getakteten Schaltnetzteilen wird die Zerhackung der gleichgerichteten
Spannung auf der Sekundärseite des Transformators ausgeführt (Bild 1.32).
Insgesamt entsteht ein geringerer Schaltungsaufwand als für die primär getakteten.
Diese haben aber einen anderen Vorteil.

Die Frequenz der transformierten Spannung ist im einen Fall 50Hz, im anderen ist
die Frequenz 103 Mal höher.

Das ist maßgeblich für die Baugröße der Trafos. Trafos für primär getaktete Netzteile
können deutlich kleiner ausgelegt werden als die für sekundär getaktete; damit sind
auch die Netzteile insgesamt kompakter und leichter zu bauen.

Bild 1.32: Aufbauprinzip von sekundär getakteten Netzteilen


Die Zerhackung des Wechselstroms hat natürlich Rückwirkungen ins
Wechselstromnetz und muss dort kompensiert werden.

Computertechnik 34 Jacob
Ausgewählte Grundlagen der Halbleitertechnik

1.5 Ausgewählte Grundlagen der Halbleitertechnik


Vertiefung für Interessierte, kein Prüfungsstoff

Atom- und Bändermodell

Die Phänomene der elektrischen Leitfähigkeit von elektrischen Leitern beruhen auf
atomaren Eigenschaften (Bild 1.33)
Quelle für Teile folgender Bilder: Experimental Physik I, Uni Würzburg.

Bild 1.33: Bahnen bzw. Energieniveaus im Bohr/Sommerfeld-Atommodell


Die Bahnen bzw. Energieniveaus der Elektronen werden durch die Quantenzahl
voneinander unterschieden, die aus einem Tupel von vier Werten besteht:
Bahnnummer n (entspricht der alten Schalennummer), Form der Bahn l (z.B. Ellipse),
Neigung der Bahn m und Spin s).

Jedes Elektron eines Atoms hat eine eindeutige Quantenzahl, d.h. kein anderes Elektron
des Atoms hat dieselbe. Das heißt auch, dass ein Elektron eine eindeutige Bahn bzw. ein
eindeutiges Energieniveau hat bzw. dass ein Energieniveau nur mit einem einzigen
Elektron besetzt ist.

Die Übergänge im Energiezustand eines Elektrons sind wichtig, um die Strahlung zu


erklären, was hier nicht vertieft wird. Hier geht es um die elektrische Leitfähigkeit in
Festkörpern. Man muss also das Modell auf zwei (Bild 1.34) und mehr Atome erweitern.

Bild 1.34: Aufspaltung der Energieniveaus im molekularen Verband

Computertechnik 35 Jacob
Ausgewählte Grundlagen der Halbleitertechnik

Im molekularen Verband spalten sich die Energieniveaus durch die gegenseitige


Beeinflussung der Atome auf. In einem Festkörper bündeln sich die Energieniveaus der
einzelnen Elektronen zu Energiebändern (Bild 1.35).

Bild 1.35:
Bänder von Energieniveaus in Festkörpern
Mit Hilfe des Bändermodells kann man nun die elektrischen Eigenschaften von Festkörpern
quantitativ gut beschreiben. Hier werden die Modelle nur für qualitative Aussagen
herangezogen.

Bänder können besetzt oder leer sein: das hängt vom Energiezustand der Elektronen im
Festkörper ab. Maßgeblich ist das Band mit den höchsten Energieniveaus, das noch
vollständig besetzt ist. Dieses Band wird als Valenzband bezeichnet. Das darüber liegende
Band ist das Leitungsband (Bild 1.36).

Bild
1.36: Bandmodell für die elektrische Leitung in Festkörpern
Die Bewegung von Elektronen (Träger negativer Einheitsladung) ist nur im Leitungsband
möglich. Das bedeutet, dass man einem Festkörper Energie zuführen muss, um Elektronen
auf ein Energieniveau im Leitungsband zu „heben“. Es bedeutet auch, dass das umso
schwerer ist, je größer der Abstand zwischen dem Valenzband und dem Leitungsband ist.
Das aber ist eine Stoffeigenschaft.

Bei guten elektrischen Leitern (Kupfer, Aluminium) ist der Abstand minimal oder
verschwindet und bei schlechten Leitern (Isolatoren) ist er groß. Die Abstände für die sog.
Halbleiter liegen dazwischen.

In Metallen sind die äußeren Energieniveaus des Valenzbands nicht vollständig besetzt, da
sich schon bei normalen Temperaturen genügend Elektronen im Leitungsband befinden.
Weil man kein komplett gefülltes Valenzband hat, spricht man von Überlappung der Bänder
(Bild 1.37).
Der Grund dafür liegt im Atomaufbau, bei dem die Energieniveaus der äußeren Bahnen
(Elektron in der äußeren Schale) sehr nahe an den unteren des Leitungsbandes liegen.

Computertechnik 36 Jacob
Ausgewählte Grundlagen der Halbleitertechnik

Bild 1.37: Valenz- und Leitungsband in Metallen


(Ende der Vertiefung)

Elektrische Leiter
Kupfer ist ein guter elektrischer Leiter. Maßgeblich für die elektrische Leitfähigkeit ist
die Tatsache, dass Kupfer nur ein einziges Atom in der äußeren Schale besitzt, das
nur schwach an den Rest des Atoms gebunden ist. Schon sehr geringe Energie von
außen (Wärmeenergie) bewirkt, dass das Elektron sich ungebunden frei bewegen
kann und je ein Atomrumpf mit einer positiven Ladung übrig bleibt (Bild 1.38).

Bild 1.38: Atom-Modell des Kupfers: schwache Bindung zwischen Rumpf und
Elektron in äußerer Schale
Als Festkörper tritt Kupfer in kristalliner Form auf. Im Kristall sind die Atome in einer
typischen Weise angeordnet (kubisch-flächenzentrierte Struktur).

Bild 1.39: Elementare Gitterstruktur von Kupfer


Die „Clusterung“ dieser Idealstruktur beschreibt die Nahordnung in Kristalliten (Körnern) von
Kupfer-Festkörpern.

Computertechnik 37 Jacob
Ausgewählte Grundlagen der Halbleitertechnik

Durch Energiezufuhr lösen sich die Elektronen aus den Atomen (vom Valenzband).
Sie erreichen höhere Energieniveaus im Leitungsband, so dass sie durch Anlegen
einer äußeren Spannung bewegt werden können.
Ein ergänzendes Modell der Elektronenbewegung deutet die freien Elektronen als
ein Elektronengas. Die Elektronen werden in Analogie zu den Molekülen eines
Gases als frei beweglich gedacht und ihre Bewegungsenergie nimmt wie die der
Gasmoleküle mit zunehmender Temperatur zu. Dieses Modell ist zur quantitativen
Beschreibung unzureichend. Für qualitative Aussagen ist es aber hinreichend und
wird im Folgenden benutzt.

Bild 1.40: Repräsentatives Gitterelement mit einer beispielhaften Verteilung freier


Elektronen
Die freien Elektronen bewegen sich willkürlich im Gitter-Raum, und zwar umso mehr,
je höher die Temperatur ist. Durch die willkürliche Richtung der Bewegung der
Elektronen im Gitter gibt es keine „Vorzugsrichtung“ der Elektronen, also keinen
Elektronenstrom.
Dadurch, dass sich die Elektronen aus den äußeren Schalen lösen, bleiben Atomrümpfe mit
1+-Ladung zurück. Aber insgesamt ist die Zahl der negativen und der positiven Ladungen
gleich groß, d.h. es herrscht ein elektrisch neutraler Zustand.

Regeln zum elektrischen Stromfluss


Sobald man einer Stelle des Festkörpers den positiven Pol eine Spannungsquelle
legt und an eine andere Stelle den negativen Pol, erhält die Bewegung der freien
Elektronen eine gemeinsame Richtung, und zwar zum positiven Pol (Bild 1.41).
Der Fluss der Elektronen bildet den elektrischen Strom mit einer bestimmten
Stromstärke, also mit einer bestimmten Menge von elektrischen Ladungen, die pro
Zeiteinheit durch den Strompfad fließen.
Auf der Ebene der Volumenelemente mit elementarer Gitterstruktur sind die
Vorgänge mit Hilfe von theoretisch schlüssig begründeten Modellen erklärbar, die
aber nur im Grundsätzlichen messtechnisch bewiesen sind. Die messtechnische
Erfassung einzelner Vorgänge des Ladungstransports ist nicht möglich.
Makroskopischer betrachtet, kann man an den Festkörpern messbare Größen
erfassen: Spannung und Stromstärke. Die wesentliche Feststellung:
Die Stromstärke ist entlang dem Strompfad überall gleich groß, d.h. es fließen in
einer (frei gewählten) Zeiteinheit N Elektronen aus einem stromdurchflossenen
Kristallausschnitt hinein. Genau so viele fließen heraus. Das muss so sein; denn es
gibt weder „Erzeuger“ noch „Vernichter“ von Elektronen in dem Ausschnitt.

Computertechnik 38 Jacob
Ausgewählte Grundlagen der Halbleitertechnik

Bild 1.41: Beispielhafter Elektronenfluss durch einen repräsentativen Kupfer-


Festkörper, verursacht durch eine äußere Spannung: Detail an einem
Volumenelement mit elementarer Gitterstruktur
Im vorliegenden Beispiel gibt es nur einen einzigen zufließenden und einen einzigen
abfließenden Strom. Gibt es mehrere zu- und abfließende Ströme an einem
elektrisch leitenden Objekt, so gilt genauso: die Bilanz über alle Ströme muss Null
ergeben, wenn es keine Erzeuger oder Vernichter von Ladungsträgern gibt. Das
formuliert man als allgemein gültige Regel, wobei das Objekt, an dem die
verschiedenen Ströme zu- und abfließen, Knoten genannt werden soll:

Die Summe aller Ströme an einem Knoten ist Null.

Zu- und abfließende Ströme gehen mit zueinander inversen Vorzeichen in die Bilanz
ein. D.h., dass zu- und abfließende Ströme sich gegenseitig aufheben.

Die ergänzende Regel, die den Zusammenhang zwischen der angelegten Spannung
U und den Teilspannungen ∆Ui herstellt, ist schon eingeführt.

Computertechnik 39 Jacob
Ausgewählte Grundlagen der Halbleitertechnik

Bild 1.42: Spannungsverhältnisse in geschlossenen Strompfad-Schleifen


Die Summe der Teilspannungen ∆Ui der leitenden Teilobjekte eines Strompfads ist
gleich der eingeprägten Spannung.

Die Regel gilt also auch dann, wenn man den Strompfad durch Materie verfolgt,
wobei deren Eigenschaften der elektrischen Leitfähigkeit sich ändern können.

Computertechnik 40 Jacob
Ausgewählte Grundlagen der Halbleitertechnik

Der gleichwertige Fluss positiver Elementarladungen


Beim Stromfluss bewegen sich die negativ geladenen Elektronen vom Minus-Pol
(dem Pol mit einem Überschuss an Elektronen) zum Plus-Pol (dem Pol mit einem
Mangel an Elektronen). Die physikalische Begründung dafür liegt nun vor.
Theoretisch kann man aber auch einen anderen Standpunkt vertreten: man ersetzt
den Fluss der negativen Elektronen durch einen Fluss von positiven Ladungsträgern
in der Gegenrichtung. Positive Ladungsträger haben eine Elementarladung, die der
eines Elektrons entgegengesetzt ist. Sie tragen sozusagen einen Mangel an einer
negativen Elementarladung (Bild 1.43).

Bild 1.43: Gleichwertiger Stromfluss von positiven Ladungsträgern


Es kommt in der Zeiteinheit folgender Fluss von positiven Ladungsträgern zustande:
Wenn N negative Elementarladungen abfließen, dann ist ein gleich großer Mangel an
negativen Ladungsträgern entstanden, d.h. es sind N positive Ladungsträger hinein
geflossen, oder physikalisch exakter: es sind N Atomrümpfe mit1+ übrig geblieben.
Wenn N negative Ladungsträger hineinfließen, ist ein gleich großer Mangel am negativen Pol
entstanden, d.h. es sind N positive Ladungsträger zum negativen Pol geflossen.
Also zusammengefasst: es sind N positive Ladungsträger vom Plus-Pol zum Minus-Pol der
Spannungsquelle geflossen.
Man kann den Stromfluss auf zwei komplementäre Arten beschreiben:
entweder als Fluss von negativen Ladungsträgern oder als (dazu inversen)
Fluss von positiven Ladungsträgern.
Hat man zwei zueinander inverse, aber gleichwertige alternative Stromrichtungen,
dann muss man sich entscheiden, welche man als positiv und welche man als
negativ zählt.
In der Elektrotechnik ist es üblich, die Stromrichtung der positiven Ladungs-
träger als positiv zu zählen.

Computertechnik 41 Jacob
Ausgewählte Grundlagen der Halbleitertechnik

Elektrische Halbleiter
Die Phänomene der elektrischen Leitfähigkeit von Halbleitern werden (wie bei
Leitern) mit Hilfe des Atommodells erklärt.
Silizium-Atome (oder auch Germanium-Atome) haben vier Elektronen in der äußeren
Elektronenschale. Sie gehen mit anderen Atomen eine Bindung (Atombindung) ein,
indem sich Elektronenpaare bilden.
Elektronenpaare bestehen aus Elektronen, deren Quantenzahl sich nur im entgegen
gesetztem Spin unterscheidet. Im Bahnmodell ausgedrückt: die Elektronen des
Paares haben die gleiche Bahn auf der gleichen Schale, aber einen entgegen
gesetzten Spin.
Quelle für Teile der folgenden Bilder: R. Lindner, TU Darmstadt:
http://www.gris.informatik.tu-darmstadt.de/~lindner/RTII-Web/Vorlesung/rt2-kapitel3_1.pdf

Jedes einzelne Atom geht insgesamt 4 Elektronenpaar-Bindungen ein (Bild 1.44).

Bild 1.44: Räumliches und ebenes Modell der Elektronenpaar-Bildung eines Silizium-
Atoms
Die Struktur-Regelmäßigkeit, die in der Nah- und der Fernordnung in einem Silizium-
Einkristall gleich ist, ist mit Hilfe einer charakteristischen Elementar-Struktur der
Atome erklärbar. Ein Atom verbindet sich durch vier Elektronenpaar-Bindungen mit
vier Nachbar-Atomen (Bild 1.45).

Bild 1.45: Räumliches und ebenes Strukturmodell der vollständigen Elektronenpaar-


Bildung eines Silizium-Atoms und seiner vier Nachbar-Atome
Eine Gruppe von 19 Atomen bildet eine Struktur, die als elementare Gitterstruktur für
die Nah- und Fernordnung im Silizium-Einkristall gilt (Diamant-Struktur, Bild 1.46).

Computertechnik 42 Jacob
Ausgewählte Grundlagen der Halbleitertechnik

Bild 1.46: Elementare Gitterstruktur der Silizium-Atome eines Silizium-Einkristalls (im


Quader liegende Atome ohne Punkt); Schema des ebenen Ladungsmodells (Matrix
mit einem zusätzlichen Atom vervollständigt)
Die Elektronen sind paarweise stark gebunden und die Paare binden die
Atomrümpfe stark untereinander.

Hochreines monokristallines Silizium enthält bei normaler Zimmertemperatur


nur wenige Elektronen mit schwacher Bindung an die Atomkerne (Folgen der
Zuführung von Wärmeenergie und von Unregelmäßigkeiten in der Struktur und von
Verunreinigungen). (Bild 1.47)

Bild 1.47: Bildung eines freien Elektrons durch Zuführung von Wärmeenergie
Die Bindung eines Elektronenpaars wird überwunden und aufgelöst: der zurückbleibende
Atomrumpf hat 5+.
Es ist ein Nichtleiter mit einem sehr großen elektrischen Widerstand, d.h. eine
angelegte Spannung erzeugt einen Strom mit einer vernachlässigbaren Stromstärke.

Um die elektrische Leitfähigkeit zu erhöhen, muss man die Zahl der freien Elektronen
erhöhen. Das geschieht dadurch, dass man Atome mit fünf Atomen in der äußeren
Schale einbaut. Dann gehen vier davon eine Elektronenpaar-Bindung ein und das
fünfte bleibt ungebunden, also frei. Geeignet sind Arsen- oder Phosphor-Atome.

Computertechnik 43 Jacob
Ausgewählte Grundlagen der Halbleitertechnik

Bild 1.48: Bildung von vier Elektronenpaaren und eines freien Elektrons beim Einbau
eines fünfwertigen Atoms
Das Einbringen dieser Atome geschieht entweder beim Herstellen der Silizium-
schmelze oder dadurch, dass man die Wafer-Oberfläche an den gewünschten Stel-
len der gasförmigen Form des gewünschten Elements aussetzt. Dabei dringen
Atome in die Oberfläche ein und bauen sich in die Struktur des Substrats ein.
Der Vorgang wird Dotierung genannt. Da je ein eingebautes Atom ein Elektron
spendet, werden die Atome Donatoren genannt. Die dotierte Zone heißt n-dotiert
(n = negativ).
Der Strom der freien negativen Elementarladungen erfolgt nach den gleichen
Prinzipien wie in einem elektrischen Leiter (Bild 1.49).

Bild 1.49: Elektronenfluss in einem Kristallausschnitt von n-dotiertem Silizium


Detail in einem Volumenelement mit elementarer Gitterstruktur: 5 Donator-Atome eingebaut:
2 Elektronen fließen in der Zeiteinheit ab und werden durch 2 zufließende ersetzt.

Computertechnik 44 Jacob
Ausgewählte Grundlagen der Halbleitertechnik

Die Dotierung ist in aller Regel so stark, dass ein sehr guter Leiter entsteht. Der
Strom im Stromkreis muss deshalb durch einen Widerstand begrenzt werden. Die
Bezeichnung Halbleiter soll die Tatsache wiedergeben, dass Silizium im nicht
dotierten Zustand ein schlechter Leiter und im dotierten Zustand ein guter Leiter ist.

Im Falle einer Dotierung mit Atomen, die nur 3 Atome in der äußeren Schale haben,
fehlt ein Elektron zur Bildung eines Elektronenpaares. Geeignet sind Indium-, Bor-
oder Selen-Atome.

Bild 1.50: Bildung von drei Elektronenpaaren und eines Mangel-(Defekt-)Elektrons


beim Einbau eines dreiwertigen Atoms

Im Bild 1.50 ergibt sich folgender Strom von Ladungsträgern:

Im vorliegenden Fall wird die Bewegung der Elektronen von oben nach unten unterstützt,
d.h. oben ist der negative Pol, unten der positive Pol einer angelegten Spannungsquelle.

Eine Spannungsquelle erzeugt ein elektrisches Feld, das eine Kraft auf die
negativen Ladungsträger im Feld ausübt, die zum Pluspol gerichtet ist.

Je größer diese Kraft ist (d.h. je größer die angelegte Spannung ist), umso eher geht ein
Elektron aus einer Elektronenpaar-Bindung in die Fehlstelle über, die der Fehlstelle
benachbart ist (durchgezogene Elektronenbahn).

Damit ist die Fehlstelle (Loch) in umgekehrter Richtung gewandert, die wiederum durch
ein nächst benachbartes Elektron besetzt werden kann, das aus seiner Paarbindung
gelöst wird usw. (gepunktete Elektronenbahnen).
In einem Leiter wie Kupfer wandern die Elektronen und hinterlassen ionisierte
Atomrümpfe. Dem Pfad des Wanderns eines Elektrons entspricht eine rückwärts
hinterlassene Spur von positiv zurückgelassenen Rümpfen, was man als Wandern
eines positiv geladenen Ladungsträgers in umgekehrter Richtung interpretieren kann.
Dieser positive Ladungsträger ist aber fiktiv, weil es ihn physisch nicht gibt und damit
auch keine physische Fortbewegung festgestellt werden kann.

Hier gibt es nun bewusst in die atomare Struktur eingebaute Stellen, die eine
negative Elementarladung aufnehmen können. Ein Mangel an einer negativen
Ladung entspricht einer positiven Elementarladung. In diesem Sinne bedeutet das
Wandern von Löchern auch eine echte Fortbewegung von positiven Ladungsträgern
(Löcherleitung).

Computertechnik 45 Jacob
Das Funktionselement Transistor

Im Falle der freien Elektronen in n-dotiertem Silizium wirkt die Kraft durch das
elektrische Feld auf bindungslose Elektronen.

Hier nun muss man für die Bewegung eines Elektrons zuerst Energie aufwenden, um
die Bindung aus dem Elektronenpaar aufzulösen, bevor es frei wird und ein
benachbartes Loch besetzen kann, was gleichzeitig den Ortswechsel des Lochs in
das aufgebrochene Elektronenpaar bewirkt. Diese Bewegung eines Loches ist
schwerer zu erreichen als die Bewegung eines Elektrons im Falle der n-Dotierung.
Man spricht auch von einer geringeren Beweglichkeit der Löcher.

Da je ein eingebautes Atom eine Fehlstelle (Loch) liefert, die von einem Elektron
besetzt werden kann, werden die Atome auch Akzeptoren genannt. Die dotierte
Zone heißt p-dotiert (p = positiv), weil die Fehlstelle einen Mangel an einer
negativen Elementarladung bedeutet, also eine positive Elementarladung.

1.6 Das Funktionselement Transistor


Der Transistor ist das maßgebliche elementare Schaltelement der Computer-
technik.

In diesem (eingeschränkten) Sinn wird er im Folgenden eingeführt. Genauso wichtig ist


die Anwendung als Verstärker-Element. Das ist aber Gegenstand von allgemeiner
gültigen Einführungen.

Bei einem Schaltelement gibt es immer auslösende und ausführende Teilfunktionen.


Als Beispiele können manuell betätigte Schalter bzw. Relais dienen.
Beim manuellen Schalter ist die auslösende Aktion die Betätigung des Schalthebels. Die
Bewegung des Schalthebels verändert die Stellung eines Kontaktes, der einen Stromkreis
öffnet oder schließt. Der Schalthebel mit der Bewegungsübertragung erfüllt die aus-
lösende Aufgabe. Der Kontakt erfüllt die ausführende Aufgabe.
Tatsächlich verändert der Kontakt beim Schalten den Widerstand im Stromkreis. In der
einen Stellung ist der Widerstand sehr groß, in der anderen Stellung sehr klein. Das ist die
eigentliche Schaltfunktion.
Beim Relais wird bei der auslösenden Aktion der Strom durch eine Magnetspule ein- oder
ausgeschaltet. Eine Magnetspule zieht dabei einen Kontakt an oder sie lässt ihn los.
Dadurch, dass sich die Stellung des Kontaktes verändert, kann ein Stromkreis geöffnet
oder geschlossen werden.

Ein Transistor enthält ebenfalls eine auslösende und eine ausführende Teilfunktion.
Die ausführende Funktion beruht - genau so wie in den Beispielen mit Kontakten -
auf einer Veränderung des elektrischen Widerstandes. Aber die physikalische
Realisierung ist anders. Im Folgenden wird die physikalische Funktion eines NMOS-
Transistors genauer beschrieben.

Der polierte Wafer ist hochreines Silizium, das (im Falle eines NMOS-Transistors)
schon bei der Herstellung schwach p-dotiert wird.

Die gewünschte Transistorfunktion erhält man dadurch, dass man eine ganz
bestimmte Dotierungsstruktur in die Waferoberfläche einprägt (Bild 1.51).

Computertechnik 46 Jacob
Das Funktionselement Transistor

Bild 1.51: Ausschnitt einer Waferoberfläche für die Realisierung eines Transistors
Man überzieht den Wafer zuerst mit einer Glasschicht (Siliziumoxid) und dann mit
einer Fotoschicht. Man unterscheidet Verfahren, bei denen die belichteten Stellen
der Schicht beim Entwickeln verschwinden, und Verfahren, bei denen die belichteten
Stellen beim Entwickeln erhalten bleiben. Entsprechend wird die Maske angefertigt,
die beim Belichten die gewünschten Strukturen in die Fotoschicht einprägt.

Im Beispiel werden die belichteten Teile beim Entwickeln frei gelegt. Die nicht-
belichtete Fotoschicht bleibt erhalten und wirkt als Schutz beim nachfolgenden
Abtragen der Glasschicht, z.B. durch chemisches Ätzen (Bild 1.52).

Bild 1.52: Beschichtungen und


Abbildung des Maskenbilds auf die Fotoschicht
Die freiliegende Glasschicht wird abgetragen, die geschützte Glasschicht bleibt
erhalten. Man hat die Maskenstruktur in die Glasschicht eingeprägt (Bild 1.53).

Bild 1.53: Für die Dotierung vorbereitete Glasschicht

Computertechnik 47 Jacob
Das Funktionselement Transistor

Das Alles ist die Vorbereitung für den Dotierungsprozess. Die so vorbereitete Wafer-
oberfläche wird einer Atmosphäre mit dem gasförmigen Dotierungsstoff ausgesetzt.
Die Bewegungsenergie der Gasatome bestimmt die Fortschrittsgeschwindigkeit des
Diffusionsprozesses.

Bild 1.54: Die Dotierung durch Diffusion


Nach Entfernen der unbrauchbar gewordenen Glasflächen und Aufbringen des
Leiterbahnmaterials, das (voneinander galvanisch getrennte) Leiterbahnen zu den
maßgeblichen drei Zonen erzeugt, hat man die für einen NMOS-Transistor gültige
Struktur erzeugt.

Bild 1.55: Das Strukturschema eines NMOS-Transistors im senkrechten Schnitt


Die Schichtung ist von oben nach unten: Metall-SiliziumOxid-Silizium, was zur
Bezeichnung MOS zusammengefasst wird.

Zwischen den Dotierungswannen entsteht ein schmaler, nicht negativ dotierter


Zwischenraum. Das ist der entscheidende Bereich für die Schaltfunktion des
Transistors.

Angenommen, man versucht einen Stromkreis zu bilden, der über die beiden n-
dotierten Zonen führt (Bild 1.56).

Bild 1.56: Stromkreis ohne Stromfluss über die beiden n-dotierten Zonen

Computertechnik 48 Jacob
Das Funktionselement Transistor

Die Zone zwischen den beiden n-dotierten Zonen enthält nicht genügend Elektronen
für einen Stromfluss. Sie wirkt wie ein sehr großer Widerstand. Es herrscht die
Spannung U zwischen den Rändern der n-dotierten Zonen bzw. der am Plus-Pol
liegenden Zone und dem Substrat-Anschluss. Aber es fließt kein Strom. Erst wenn es
gelingt, zwischen den n-dotierten Zonen für eine Ansammlung von freien Elektronen
zu sorgen, wird ein Stromfluss möglich; anders ausgedrückt: der Widerstand wird so
gering, dass ein Strom fließt.

Wie man das bewirken kann, ergibt sich aus folgender Schaltung (Bild 1.57).

Bild 1.57: Ein ergänzender Stromkreis über den dritten Anschluss und das Substrat
Es wird ein weiterer Stromkreis über den dritten Anschluss und das Substrat
hinzugefügt, der wahlweise über ein Schaltelement an die beiden Pole der
Spannungsquelle geschaltet werden kann. Im Bild 1.57 stellt das Schaltelement eine
solche Verbindung her, dass eine Schleife ohne Spannungsquelle entsteht, d.h. es
herrschen 0 Volt zwischen dem dritten Anschluss und dem Substrat.

In der anderen Stellung wird aber die Spannung der Spannungsquelle zwischen den
beiden wirksam.

Das löst einen besonderen Effekt aus. Es fließen Elektronen am dritten Anschluss ab, und
zwar an der Grenzfläche zur Glasschicht, und sie wandern zum Plus-Pol der
Spannungsquelle. Gleich viele Elektronen fließen vom Minus-Pol der Spannungsquelle
über das Substrat zu dessen Grenzfläche an der Glasschicht, indem Löcher aus dem p-
dotierten Substrat Richtung Minuspol der Spannungsquelle fließen. Es sammeln sich
entgegengesetzt geladene Ladungspaare in den beiden Grenzschichten: ein (vom
Elektron verlassener) positiv geladener Atomrumpf auf der einen Seite, ein dem weg-
gewanderten entsprechendes Elektron auf der anderen Seite. Je mehr solche Paare sich
sammeln, umso größer wird die durch sie erzeugte Spannung. Wenn diese Spannung
gleich derjenigen der Spannungsquelle ist, hört der Stromfluss auf.

Dieser qualitativ geschilderte Vorgang entspricht dem Aufladevorgang eines


Kondensators. Die Glasschicht wirkt mit den angrenzenden Leitern als Kondensator.

Das Ergebnis des Aufladevorgangs ist eine Schicht von Elektronen, die von der
einen n-dotierten Zone zur anderen reicht (Elektronenbrücke). Damit sind im
Zwischenraum genügend freie Elektronen für den Stromtransport im Hauptstrom-
kreis.

Computertechnik 49 Jacob
Das Funktionselement Transistor

Bild 1.58: Elektronenbrücke zwischen den n-dotierten Zonen für den Stromfluss im
Hauptstromkreis eines NMOS-Transistors
Der Strom der Elektronen erfolgt vom Source-Anschluss zum Drain-Anschluss. Der
dritte Anschluss wird Gate genannt, weil seine Steuerspannung (wie beim Öffnen
und Schließen eines Gattertors) den Strom im Hauptstromkreis zulässt (positive
Versorgungsspannung) oder nicht (0 Volt).

Mit Hilfe des Schaltelements sollte die Einprägung der Steuerspannung plausibel
gemacht werden. Im Ersatzschaltbild des Transistors interessiert nicht die Darstel-
lung der Methode, wie die Steuerspannung hergestellt wird, sondern nur ihr Wert
(Bild 1.59). Der Minus-Pol der Spannungsquelle wird als Bezugspunkt genommen.
Als Spannungsbezeichnung ist Vdd (Voltage drain drain) üblich.

Bild 1.59: Ersatzschaltbild und Ersatzschaltung des NMOS-Transistors


Mit der Gate-Spannung kann man die Spannung an Drain steuern:
• eine positive Gate-Spannung erzeugt einen Stromfluss von Vdd zum
Bezugspunkt. Weil der Widerstand zwischen Drain und Source sehr gering ist,
ist auch der Spannungsabfall zwischen Drain und dem Bezugspunkt sehr
gering, praktisch 0 Volt;
• die Gate-Spannung 0 Volt macht den Widerstand zwischen Drain und Source
sehr groß, d.h. an Drain liegt Vdd.

Die Schaltung realisiert einen Inverter, ein Beispiel für ein wichtiges Element einer
integrierten Schaltung.

Computertechnik 50 Jacob
Gefertigte MOS-Transistoren

1.7 Gefertigte MOS-Transistoren


Der Schnitt durch einen beispielhaften gefertigten Transistor zeigt die Übereinstim-
mung mit den schematischen Schnitten und die maßgeblichen Größen (Bild 1.60).
Man erkennt einen symmetrischen Aufbau. Die schwarzen Bereiche rechts und links
unten sowie oben in der Mitte sind die Zonen für den Anschluss von Leiterbahnen.
Es gibt zwei charakteristische Größen für die Leistungsfähigkeit eines Fertigungs-
prozesses:
die physikalische Gatelänge, die gemäß dem aufgebrachten elektrisch leitenden
Gate-Material den Abstand zwischen den beiden stabilisierenden „Seitenstützen“
angibt (im Bild 1.60: 70 nm) und
die effektive Gatelänge, die den Abstand zwischen den Rändern des Source- und
des Drain-Bereiches angibt (im Bild 1.60: 130 nm).

Bild 1.60: Schnitt durch einen Transistor


Der Prozess wird von Intel gemäß der effektiven Gatelänge 130 nm Prozess genannt.

Die Transistorfunktion als gesteuerte Änderung eines Widerstandes


Ein Transistor ist eine Einheit mit drei Polen: Source, Drain, Gate. Source und Drain
sind die Anschlusspunkte auf dem Substrat. Legt man zwischen Source und Drain
eine Spannung an, so wirkt die Substrat-Zone dazwischen als ein variabler elek-
trischer Widerstand.
Die Spannung am Gate steuert die Größe des Widerstandes in der Substrat-Zone.
Das hat dem Transistor auch den Namen gegeben: transfer resistor.
In der Digitaltechnik sind eigentlich nur zwei Zustände des Widerstandes
maßgeblich:
• Widerstand sehr groß: es fließt also kein Strom durch die Zwischenzone,
• Widerstand sehr klein: es kann Strom durch die Zwischenzone fließen; begrenzt
wird er durch der Widerstand im Stromkreis der zu- und abführenden Leitungen.
Beim Übergang der Gate-Spannung von 0 Volt auf den positiven Endwert fließen
negative Ladungsträger über das Gate ab zur Spannungsquelle und von dort zum
Zwischenraum zwischen dem n-dotierten Source- und Drain-Bereich hin. Beim
Übergang der Gate-Spannung auf 0 Volt fließen die negativen Ladungsträger im
umgekehrten Sinn vom Zwischenraum zwischen Source- und Drain-Zone zum Gate
zurück.

Computertechnik 51 Jacob
Schaltungsbeispiel: SRAM-Speicherzelle

Die Schnelligkeit des Umschaltens eines MOS-Transistors

Maßgeblich dafür, dass beim Übergang kleine Ströme in kurzer Zeit fließen, ist das
Funktionselement, das von der Glasschicht und den an sie unmittelbar
angrenzenden Zonen gebildet wird, also der Gate- sowie der gegenüberliegenden
Substrat-Zone. Die Größe der Fläche, die sich in den begrenzenden Zonen
gegenüber liegen, und ihr Abstand, also die Dicke der Glasschicht, bestimmen, wie
viele Ladungen sich maximal sammeln können; denn Fläche und Abstand
bestimmen die Kapazität eines Kondensators.
Man versucht also, die Glasschicht möglichst dünn und den Zwischenraum zwischen
den n-dotierten Source- und Drain-Zonen möglichst schmal zu machen, um eine
kurze Schaltgeschwindigkeit zu erreichen. Diese ist maßgeblich für die
Arbeitsgeschwindigkeit der Schaltung, die mit einer Vielzahl solcher Transistoren
aufgebaut wird.
Die Glasschicht ist im Schliffbild (Bild 1.60) kaum erkennbar, weil sie nur einige
Nanometer dick ist.
Der wesentliche Vorteil der MOS-Technologie ist, dass der Flächenbedarf der
gefertigten Transistoren immer kleiner, d.h. dass die Transistordichte auf einem Chip
immer größer gemacht werden kann (large scale integration = LSI, very large scale
integration = VLSI). Dass damit auch eine Vergrößerung der
Umschaltgeschwindigkeit verbunden ist, ist ein angenehmer Begleiteffekt.
Außer der Technologie der MOS-Transistoren gibt es noch die der bipolaren
Transistoren, die aufgrund ihrer physikalischen Eigenschaften vom Prinzip her
schneller sind als MOS-Transistoren. Aber sie haben prinzipiell einen größeren
Flächenbedarf als MOS-Transistoren.

Verstärkerfunktion
Der sehr kleine Strom, bei dem wenige Elektronen zwischen dem Gate und dem
Zwischenraum zwischen Source- und Drain-Bereich in sehr kurzer Zeit verschoben
werden (Verschiebungsstrom), hat eine „große Wirkung“: der „geschaltete“ Strom
zwischen Source und Drain ist wesentlich größer. Kleine Ursache, große Wirkung:
das deutet auf eine andere grundsätzliche Funktion von Transistoren hin: die
Verstärkerfunktion. Sie ist eine der wichtigsten Funktionen der Transistoren, die für
die Analogtechnik konzipiert werden.

1.8 Schaltungsbeispiel: SRAM-Speicherzelle


Die Transistoren werden zum Aufbau von Schaltungen mit einer bestimmten Funk-
tion eingesetzt. Die Funktion erreicht man durch eine zweckdienliche elektrische
Verbindung der Pole der Transistoren. Aus diesem Blickwinkel ist nicht mehr die
Physik eines einzelnen Transistors interessant, sondern die geeignete Bildung der
Leiterbahnen. Das ändert auch die Methoden der Veranschaulichung.
Bei der Festlegung der Transistorfunktionen sind Schnitte maßgeblich.

Bei der Festlegung von Schaltungsfunktionen sind die Aufsichten zur Festlegung der
Leiterbahnen (Bild 1.61).

Computertechnik 52 Jacob
Schaltungsbeispiel: SRAM-Speicherzelle

Bild 1.61: Aufsicht auf eine SRAM-Speicherzelle mit 6 Transistoren


(Intel 130 nm Prozess. Der Bereich der Transistoren ist rot markiert. Man erkennt die weiß-
grauen Leiterbahnen der elementaren Verbindungsstruktur zwischen den Transistoren im
Substrat, deren Aufsicht durch die Leiterbahnen teilweise verdeckt ist.
Die Funktion dieser Speicherzelle wird bei der Erklärung der Speichersysteme noch einmal
genau erläutert.

Bild 1.62: Aufsicht auf eine SRAM-Speicherzelle mit Markierung je eines Schnitts
durch einen NMOS-Transistor, exemplarische Vergrößerung eines Schnitts
Bild 1.62 zeigt mit Hilfe von Schnittlinien und einer exemplarischen (schematischen)
Vergrößerung die Funktionszonen der NMOS-Transistoren.

Die Leiterbahnen bilden ein Netz von Linien, die bei komplexen VLSI-Schaltungen in
mehreren Ebenen realisiert werden (multilayer). Die Transistoren im Substrat können
nur so eng beieinander liegen, wie die minimale Distanz der Leiterbahnen bei der
Fertigung sein kann. Sie ist (wie schon gesagt) ein grundsätzliches Merkmal des
technologischen Fortschritts.

Computertechnik 53 Jacob
Die minimale auflösbare Strukturbreite

1.9 Die minimale auflösbare Strukturbreite


Bei der Herstellung einer integrierten Schaltung wird die Struktur mit Hilfe von Mas-
ken eingeprägt. Die Herstellung und Anwendung dieser Masken legt die Grenzen für
die Mindestgrößen des Abstandes und der Breite der Leiterbahnen fest (Bild 1.63).

Bild 1.63: Struktur der Leiterbahn-Schichten eines ICs (Intel 130 nm Prozess)
Die hohen Anforderungen an die Fertigung von integrierten Schaltungen werden
noch deutlicher, wenn man sich die Strukturen im Schnitt ansieht. Er zeigt den
schichtenweisen Aufbau sowie die Größe und Abstände der metallischen Struktur-
elemente (Bild 1.64).

Bild 1.64: Schnitt durch die Schichten eines ICs (Intel 130 nm Prozess)
Die Abstände in der Leiterbahn-Ebene 1, die der elementaren Verbindung der
Transistoren dient, sind am engsten. Dort entscheidet entweder der minimale
Flächenbedarf der Transistoren oder die minimale Strukturbreite, wie eng die
Transistoren beieinander liegen können.
Dort entscheidet sich also der Integrationsgrad der Chips, die mit dem durch diese
Größen charakterisierten Herstellungsprozess gefertigt werden können.

Computertechnik 54 Jacob
Die Entwicklung der Mikroprozessoren und der Speicher-ICs

1.10 Die Entwicklung der Mikroprozessoren und der Speicher-ICs


Die augenfälligste Revolution, die durch die Fortschritte der Halbleitertechnologie
entstand, ist die Miniaturisierung der Komponenten von Computern, nämlich der
Prozessoren und der Speicher (Bild 1.65, Quelle: Intel).

Bild 1.65: Entwicklung der Transistor-Dichte von Prozessor- und Speicher-Chips,


Speicherkapazität in Bits

Die Entwicklung der Transistordichte nach 2002 ist noch zügiger als in der Vergan-
genheit, nämlich eine Verdopplung der Transistordichte pro Jahr (Bild 1.66)

Bild 1.66: Die Entwicklung der Transistor-Dichte nach 2002: Verdopplung pro Jahr
Das darf aber nicht den Blick auf die nahe liegenden Probleme verstellen: man
nähert sich dem atomaren Bereich. Doch zuerst ein Blick auf die vergangene
Entwicklung.

Computertechnik 55 Jacob
Die Entwicklung der Mikroprozessoren und der Speicher-ICs

Blick in die Vergangenheit

Der erste marktbeherrschende Ansatz, zentrale Prozessorfunktionen eines


Computers als großintegrierten IC zu realisieren, war der Mikroprozessor 8080 von
Intel. Da es geeignete Speicher-ICs schon gab und bald solche ICs folgten, die den
Datenverkehr mit Peripheriegeräten unterstützten, entstand in kürzester Zeit eine
neue Klasse von Computern: die Mikrocomputer.

Die Entwicklung der Computertechnik wurde seit diesem Start maßgeblich von der
Weiterentwicklung der großintegrierten Prozessoren bestimmt. Dabei waren zu
Beginn durchaus mehrere IC-Hersteller im Rennen. Neben INTEL gab es maßgeb-
liche IC-Hersteller wie AMD, IBM, NATIONAL SEMICONDUCTORS, MOTOROLA,
TEXAS INSTRUMENTS. Dass Intel heute die mächtigste Rolle unter ihnen hat, liegt
an der eigenen Erfindungs- und Herstellerkraft und an der erfolgreichen Allianz mit
dem Software-Hersteller MICROSOFT auf dem Massenmarkt der PCs.

Der Mikroprozessor 8086/8088 brachte Ende der 70er Jahre den entscheidenden
Durchbruch zum Personal Computer, dem Computer für Jedermann.

Der Ruhm der ersten Idee wird immer mit dem Firmennamen APPLE verbunden
sein, die breite Durchsetzung des Konzeptes mit dem Namen IBM.

IBM stellte 1982 sein PC-Konzept IBM-PC/XT auf der Basis des Prozessors 8088
von INTEL vor. Alle Details des inneren Aufbaus des Computers wurden offen gelegt.
Damit war ein Quasi-Standard geschaffen. Dieser Computer wurde zum Urvater
vieler Anwendungen in der Industrie und im Büro.

Computer wurden bis Ende der 70er Jahre vor allem von zahlungskräftigen Institu-
tionen der Industrie und der öffentlichen Hand angewandt. Da Computer teuer
waren, versuchte man auf einem einzelnen Computer möglichst viele Aufgaben zu
konzentrieren. Mit dem Erscheinen der Mikrocomputer setzte der umgekehrte Trend
ein.

Die Aufgaben wurden wieder einzeln gesehen und mehreren Computern kleinerer
Leistung zugeordnet. Das brachte - mit angepasstem Aufbau - die Klasse der
Microcomputer auch in industrielle Anwendungen.

Es folgten weitere PC-Generationen, über den IBM-PC/AT mit dem Mikroprozessor


80286 zu den PCs mit den Mikroprozessoren 80386 und 80486.

Die Entwicklung jeder neuen PC-Generation unterlag immer der Forderung, dass
Anwenderkomponenten, die für die vorhergehenden Generationen entwickelt worden
waren, auf den PCs der neuen Generation weiterhin einsetzbar sind.

Diese Forderung nach Kompatibilität wird von Entwicklern neuer Systeme häufig
als Hemmnis betrachtet, von Anwendern aber als notwendiger Investitionsschutz.
Umso mehr muss man bei den Weiterentwicklungen bewundern, mit welchen Ideen
die Entwickler neue Leistungen ermöglichen, ohne alte Vorgaben zu verletzen.

Computertechnik 56 Jacob
Die Entwicklung der Mikroprozessoren und der Speicher-ICs

Mit dem 80486 war eine Leistungsstufe erreicht, die nahe an den Prozessoren lag,
die aufgrund ihrer Struktur und der Taktraten leistungsfähiger waren als die
damaligen Personal Computer auf der Basis der Intel-Prozessoren und als
Workstations bezeichnet wurden. Der nächste Schritt, der Pentium-Prozessor,
brachte Intel den Einbruch in die Domäne der Workstation-Leistungsklasse.

Die Pentium-Prozessoren gehören zur sog- IA-32-Architektur. Die Itanium-Prozesso-


ren gehören zur IA-64-Architektur. Während die Pentium4-Prozessoren noch mit
einer Prozessor-Wortbreite von 32 Bit arbeiten, haben die Itanium-Prozessoren eine
Prozessorwortbreite von 64Bit. Das ist die Wortbreite, mit der die Workstation-
Prozessoren der Konkurrenz von Intel (Sun und Hewlett-Packard) in Workstations
schon arbeiteten, als die PCs mit Hilfe der Pentium4-Prozessoren immer leistungs-
fähiger wurden. Mit den Itanium-Prozessoren drang Intel dann endgültig in den
Workstation und Server-Markt ein.

Die Leistungsfähigkeit von Prozessoren kann man dadurch verbessern, dass man
die Programmlaufzeit durch schnellere Verarbeitung der Befehle verringert und
dadurch kürzere Programmbearbeitungszeiten erzeugt. Der methodische Ansatz zur
Verkürzung der Verarbeitungszeit der Befehle ist die sog. Fließband-Struktur
(pipeline). Je kürzer die Verarbeitungszeit pro Verarbeitungsstufe ist, umso höher
kann die Taktrate eingestellt werden, so dass mehr verarbeitete Objekte pro
Zeiteinheit das Fließband verlassen. In diesem Sinne wurde der Leistungsumfang
der Verarbeitungsstufen der Pentium4-Prozessoren verringert und die Zahl der
Verarbeitungsstufen erhöht. Das ist die Grundlage für die Vergrößerung der Taktrate.

Zur Zeit setzt Intel weniger auf die Verbesserung der Leistungsfähigkeit durch
Vergrößerung der Taktrate als auf die Strategie, Simultanarbeit mehrerer autonomer
Prozessorkerne auf einem Chip (Dual/Multi-Core Chips, Bild 1.67).

Bild 1.67: Doppel-Prozessor-Chip (Pentium D bzw. Pentium XE)

Computertechnik 57 Jacob
Die Entwicklung der Mikroprozessoren und der Speicher-ICs

Blick in die Zukunft

Für die nahe Zukunft wird ein konkretes Ziel ins Auge gefasst: der 20nm-Transistor
(Bild 1.68).

Die Siliziumoxid-Schicht beträgt nur noch 12 Angström, was etwa drei Atomlagen im
Kristallgitter entspricht. In diesen Größenordnungen werden die Anforderungen an
die Genauigkeit des Herstellungsprozesses so groß, dass man an die Grenzen der
Beherrschbarkeit stößt.

Bild 1.68: Die zukünftige Miniaturisierung von MOS-Transistoren


Die Glasschicht beim 20 nm Transistor hat eine Dicke von etwa 12 Angström. Das entspricht
drei Atomlagen.
Im atomaren Bereich ergeben sich die Grenzen der Silizium-Technologie und man
muss nach Alternativen suchen.

Die Prognose in Bild 1.66, dass dabei eine Verdopplung der Transistordichte pro
Jahr möglich ist, ist eine hoffnungsvolle Prognose aus der Sicht von Intel.

Computertechnik 58 Jacob
Die befehlsgesteuerte Arbeitsweise eines Computers

2 Grundsätzliche Merkmale von Computern


Bevor einzelne Computertypen vorgestellt werden, ist es wichtig, einige grundsätz-
liche Merkmale zusammen zu stellen.

2.1 Die befehlsgesteuerte Arbeitsweise eines Computers


Allen Einheiten mit Computerstruktur ist gemeinsam, dass man ihre zentrale Gesamt-
funktion in drei Basisfunktionen bzw. Basis-Einheiten aufteilen kann:
• die Prozessorfunktion der Prozessor-Einheit (processing unit), die aus einem
Prozessor (Ein-Prozessor-System) oder mehreren Prozessoren mit den gleichen
Grundfunktionen (Mehr-Prozessor-System) bestehen kann. Im folgenden stehen
die Grundfunktionen aus der Sicht eines Prozessors im Vordergrund.
• die Speicherfunktion der Speicher-Einheit (memory unit) oder einfach Speicher,
• die Funktion für die Ausführung des Datenverkehrs zwischen Peripherie-Einheiten
(peripheral units) und den beiden anderen Funktionen. Man liest für die
entsprechende Einheit noch die Bezeichnung Kanal-Einheit (channel unit). Hier
soll sie Ein/Ausgabe-Einheit (input/output unit) oder einfach Ein/Ausgabe heißen.

Prozessor Speicher

Ein/Ausgabe

Bild 2.1: Die drei grundsätzlichen zentralen Funktionseinheiten eines Computers


Alle Aktivität eines Computers ergibt sich aus der Steuerung durch Befehle.

Das bedeutet, dass die Befehle in einer solchen Form verfügbar sind, dass
Prozessor sie sich durch geeignete Zugriffe holen und in Aktionen umsetzen kann,
die zu jedem Befehl vereinbart sind.

Erst die Ausführung einer Folge von Befehlen durch einen Prozessor erzeugt ein
gewünschtes Verarbeitungsergebnis.

Eine Befehlsfolge kann man von zwei unterschiedlichen Blickwinkeln betrachten:


• aus der Sicht der Festlegung der Befehlsfolge
• und aus der Sicht des Ablaufes bei der Ausführung.

Die Festlegung der Befehle ergibt eine bestimmte Befehlsreihenfolge, also ein Pro-
gramm. Für den Beginn des Ablaufes muss der erste auszuführende Befehl in der
Reihenfolge festgelegt werden. Es muss nicht der erste in der Programmreihenfolge
festgelegte Befehl sein. Was danach geschieht, ist durch die Steuerung des Pro-
grammablaufes genau festgelegt. Wenn man die durchlaufenen Befehle aneinander
reiht, ergibt sich eine Spur (trace), die schließlich zu dem letzten ausgeführten Befehl
im Programm führt. Dieser Befehl muss nicht der letzte Befehl in der programmierten
Reihenfolge sein.

Bild 2.2 soll einerseits die Reihenfolge der programmierten Befehle (statischer
Aspekt) und andererseits die Spur des Ablaufes (dynamischer Aspekt) zeigen.

Computertechnik 59 Jacob
Die befehlsgesteuerte Arbeitsweise eines Computers

Es wird vereinfacht angenommen, dass der programmierte erste Befehl auch der Startbefehl
ist und der programmierte letzte Befehl auch der letzte ausgeführte Befehl ist. Der Ablauf
wird symbolisch durch Pfeile beschrieben.

Ein wesentlicher Zweck von Programmen ist die Erzeugung von Rechenergebnissen.
Es muss also arithmetische Verarbeitungsbefehle geben. Als Beispiel kann man eine
Addition nehmen, die zu einem Operanden einen zweiten addiert, z.B. eine 4. Woher
nimmt man nun den ersten Operanden und was macht man mit dem Ergebnis?
Man muss sich geeignete Objekte schaffen, die als Operanden verwendbar sind und
die ein Verarbeitungsergebnis aufnehmen und damit „festhalten“ können. Ein Objekt,
dessen Zustand ein Verarbeitungsergebnis „festhält“, also speichert, dass zu jeder
Zeit beim Programmablauf als Operand für einen Verarbeitungsbefehl verfügbar ist,
wird im folgenden Datenobjekt genannt.
Genau so, wie der Programmierer die Befehlsfolge festlegt, legt er auch die
Datenobjekte fest, die die Befehle seines Programms benutzen. Datenobjekte sind -
wie die Befehle - integraler Bestandteil eines Programms (Bild 2.2).
Befehlsfolge
=Programm
1. Befehl
usw.
i-ter Befehl
usw.
Prozessor letzter Befehl
1. Datenobjekt
usw.

i-tes Datenobjekt
usw.

letztes Datenobjekt

Bild 2.2: Befehlsgesteuerte Arbeitsweise von Prozessoren


Bis hierher war noch keine Rede davon, wie ein Programm für den Prozessor
verfügbar gemacht werden kann. Die Befehle müssen in einer (für den Prozessor)
interpretierbaren Form ausgedrückt (man sagt: kodiert) werden. Damit sie für den
Prozessor lesbar werden, muss man sie in der kodierten Form speichern. Das ist die
Aufgabe des Speichers.

Beim Holen und Ausführen der Befehle eines Programms ergibt sich ein Strom von
Befehlen vom Speicher zum Prozessor und ein Strom von Datenobjekten zum
Prozessor bzw. von verarbeiteten (=veränderten) Datenobjekten vom Prozessor zum
Speicher (Bild 2.3).
Befehlsstrom

Prozessor Datenstrom
Speicher

Ein/Ausgabe

Bild 2.3: Befehls- und Datenstrom beim Programmablauf


Um die zentrale Bedeutung des Speichers für die ablauffähigen Programme zu
unterstreichen, wird der Speicher auch Hauptspeicher genannt.

Computertechnik 60 Jacob
Die befehlsgesteuerte Arbeitsweise eines Computers

Hier erkennt man zum ersten Mal, wie man die Arbeitsgeschwindigkeit eines Com-
puters beeinflussen kann: Je mehr Befehle pro Zeiteinheit beim Programmablauf in
den Prozessor fließen, um so mehr Verarbeitungsergebnisse werden pro Zeiteinheit
erzeugt, um so kürzer ist die Ablaufzeit eines Programms. Bevor aber die Merkmale
des Programmablaufes genauer diskutiert werden, soll ein andere Frage im Vorder-
grund stehen:

Wie kommt ein geeignet kodiertes ablauffähiges Programm überhaupt zustande?

2.2 Befehle in der Assemblerform


Um dem Programmierer das Programmieren einer zweckgerichteten Befehlsfolge zu
erleichtern, sollte man eine selbsterklärende Form der Befehle finden. Aus der
Schreibweise sollten die Merkmale der Aktionen, die der Prozessor bei diesem
Befehl ausführt, sinnfällig erkennbar sein. Ein Beispiel soll das erläutern (Bild 2.4).
Assembler-
Programm
1. Ass.-Befehl
Prinzipielles Format
Beispiel: 80x86
usw.
1.Operand/
add x,0004H Operation
Ergebnis
2.Operand

usw.
Prozessor letzter Ass.-Befehl
1. Datendefinition
usw.
In der Assemblersprache gelten
Datendefinition für Variablennamen als Identifikatoren
die Variable x für die Datenobjekte, die
usw. die Variablen realisieren.
letzte Datendefinition

Bild 2.4: Beispiel eines Additionsbefehls


Eine Addition addiert zwei Operanden und erzeugt dabei ein Ergebnis. Bild 2.4 zeigt
am Fall einer beispielhaften Addition, wie man die Merkmale festlegen kann:
• zuerst den Typ der Operation, hier eine Addition;
• dann einen Hinweis auf den ersten Operanden; x ist der Name eines
Datenobjektes, x dient also als eindeutiges Erkennungsmerkmal (Identifikator)
eines Datenobjektes
• dann den zweiten Operanden, hier die Zahl 4.
Diese Merkmale bestimmen folgendes Operationsergebnis: „alter“ Zustand des
Datenobjektes x plus 4. Jetzt ist noch wichtig, was mit diesem Ergebnis geschehen
soll. Im Beispiel macht man eine stillschweigende (also implizite) Annahme:
Das Ergebnis wird der „neue“ Zustand des Datenobjektes x.
Man kann die Ausführung der Operation auch so beschreiben:
x←x+4
oder
x := x + 4
oder
x=x+4
Bei der letzten Schreibweise muss man sich auf eine Bedeutung des Gleichheitszeichens
einstellen, die nicht der üblichen (mathematischen) Bedeutung des Gleichheitszeichens
entspricht.

Der beispielhafte Befehl zeigt, dass x der Name eines (in seinem Zustand veränder-
lichen) Datenobjektes ist.

Computertechnik 61 Jacob
Befehle in der Assemblerform

Das Beispiel zeigt auch, dass die Schreibweise eines Befehls bestimmten Regeln
folgt. Diese Regeln sind den Regeln einer Sprache vergleichbar und werden auch
auf einer entsprechenden Abstraktionsebene formal festgelegt. Die Gesamtheit der
Befehle, die man beim Programmieren für einen bestimmten (Ziel-)Prozessors
verwenden kann, wird Assemblersprache genannt. Ein Programm, das nach den
Formalien dieser Sprache programmiert ist, heißt Assemblerprogramm.
Das Beispiel entspricht den Regeln der Assemblersprache für die weit verbreiteten Intel-
Prozessoren. Es zeigt auch nur einige wichtige Aspekte einer Assemblersprache, weil es
hier nur um Grundsätzliches geht.

Auf der Ebene der Assemblersprache wird ein veränderliches Datenobjekt als die
Realisierung einer (abstrakten) Größe angesehen, die man Variable nennt. x ist (aus
dieser Sicht) ein Variablenname.
In einem Assemblerprogramm wird die Existenz einer Variablen durch eine
Definitionsanweisung gesichert, die dem Variablennamen durch eine Typangabe den
notwendigen Platz für das Datenobjekt zuordnet (Bild 2.5).
Assembler-
Programm
1. Ass.-Befehl

usw.
add x,0004H
usw.
Prozessor letzter Ass.-Befehl
1. Datendefinition Prinzipielles Format
usw. Beispiel: 80x86
Variablen- Definitions- Initiali-
x dw name typ sierung
usw.
db=define byte
letzte Datendefinition dw= define word

Bild 2.5: Beispiel der Definition einer Variablen mit dem Namen x und einem
notwendigen Platz von 2 Byte für das realisierende Datenobjekt
Will man, dass das Datenobjekt beim Start des Programms einen bestimmten Anfangswert
hat, dann kann man diesen ergänzen. Sobald das Datenobjekt konkret erzeugt wird, hält
man nicht nur seinen Platz bereit, sondern man stellt seinen Zustand entsprechend ein, der
dann zu Beginn des Programmablaufes gilt (Initialisierung).
Die Formalien der Schreibweise von Assemblerbefehlen bzw. Definitionsanwei-
sungen für Variable sind in den Assemblersprachen der auf dem Markt befindlichen
Prozessoren ähnlich festgelegt wie hier gezeigt.
Was ein Assemblerprogrammierer im wesentlichen erlernen muss, ist die Gesamtheit
der Befehle, ihre formal richtige Anwendung und - natürlich vor allem - ihre
zweckdienliche Anwendung im Sinne des gestellten Problems. Die selbsterklärende
Form der Assemblerbefehle hilft ihm sicher beim Erlernen und beim Anwenden.
Wichtig ist, dass einem Assembler-Programmierer immer der direkte Bezug zum
Ablauf der Befehle möglich ist, da die Reihenfolge der Assemblerbefehle unmittelbar
mit dem Programmablauf assoziiert werden kann.
Ein Assemblerprogramm ist für den Programmierer verständlich, nicht aber für den
Prozessor. Das bedeutet, dass man ein Assemblerprogramm in die für den
Prozessor verständliche Form bringen muss.

Computertechnik 62 Jacob
Das Maschinenprogramm

2.3 Das Maschinenprogramm


Um auch eine begrifflich deutliche Unterscheidung zu machen, nennt man die
Befehle, die vom Prozessor „verstanden“ werden, Maschinenbefehle.

Das Ergebnis der Umsetzung von Assemblerbefehlen in Maschinenbefehle ist für


das beispielhafte Szenario in Bild 2.6 dargestellt.

Maschinen-
Programm add x,0004H
1. Masch.-Befehl Operation= aktuellen Wert der Variablen x holen,
Konstante 4 addieren und das Ergebnis
usw. 1000 0001 0000 0110 als neuen Wert der Variablen eintragen.
. . zi . . Identifikator der Variablen x
0000 0100 0000 0000 Konstante= 4
usw.
Prozessor letzter Masch.-Befehl
1. Datenobjekt
usw.

. . xi . .
usw. In der Maschinensprache gelten
Indizes (= Zeiger = Pointer)
letztes Datenobjekt auf die Datenobjekte als Identifikatoren
für die Datenobjekte, die
die Variablen realisieren.

Bild 2.6: Maschinenprogramm mit den beispielhaften Befehlen


xi bzw. zi steht stellvertretend für die Bits des entsprechenden 16-Bit-Wortes
Man erkennt die Struktur des Assemblerbefehles in der Struktur des Maschinen-
befehles wieder.
Der Assembler-Befehl besteht aus drei Abschnitten:
• dem für die Operation,
• dem für den ersten Operanden bzw. das Ergebnis, hier den Variablennamen,
• und dem für den zweiten Operanden, hier die Zahl 4.
Der Maschinenbefehl besteht aus drei Abschnitten:
• 2 Byte für die Angabe der Operation und die Art, wie die folgenden Bytes zu
verwenden sind,
• dann zwei Bytes, die den konkreten Bezug zum Datenobjekt herstellen,
• und dann zwei Byte, die die Zahl 4 enthalten.
Es ergibt sich eine Schwierigkeit, wenn man zur Darstellungsart von Intel konform bleiben
möchte. Intel zählt die Bytes fortlaufend von links nach rechts, also bei 16Bit-Wörtern
0 1
2 3
4 5
Im Byte mit der kleineren Nummer steht das niederwertige Byte einer 16Bit-Dualzahl und im
Byte mit der höheren Nummer das höherwertige Byte.
Eine 4 als 16Bit-Dualzahl ist in der mathematischen Darstellung:
0000 0000 0000 0100.
Durch die Darstellungsart von Intel ergibt sich daraus:
0000 0100 0000 0000.
Intel folgt der üblichen Schreibrichtung von links nach rechts. Die mathematische Darstellung
ordnet die Bytes gemäß der Stellenwertigkeit von rechts nach links an. Diese Darstellung
wählen die meisten anderen Hersteller.

Sehr wichtig ist nun, wie im Befehl der Bezug zum Datenobjekt hergestellt wird.

Computertechnik 63 Jacob
Das Maschinenprogramm

Im Assemblerprogramm legt die Gesamtheit der Definitionsanweisungen auch die


Gesamtheit der Variablen fest. Die Variablen müssen eindeutig unterscheidbar sein.
Es dürfen also keine Variablen mit gleichem Namen vorkommen. Diese Eigenschaft
muss genau so für die realisierenden Datenobjekte gelten.

Da man jeder Variablen ein Datenobjekt mit einer genau gegebenen Zahl von Byte
zuordnet und diese hintereinander im Programm anordnet, kann man Datenobjekte
eindeutig durch ihre Lage identifizieren.

Es gibt mehrere Möglichkeiten, die Lage anzugeben, z.B.


• als Zahl der Byte zwischen dem Befehl, in dem zu dem Datenobjekt zugegriffen
wird, und dem ersten Byte des Datenobjektes selbst,
• als Zahl der Bytes zwischen dem Anfang des Programmabschnittes mit den
Datenobjekten und dem ersten Byte des Datenobjektes.
• Wenn man weiß, in welche Speicherzellen im Hauptspeicher das ablauffähige
Maschinenprogramm geladen werden wird, kann man auch die Lage des
Datenobjektes als Hauptspeicheradresse ihres ersten Bytes angeben.

Man nennt die Größe, die die Lage eines Datenobjektes innerhalb eines Programms
oder im Hauptspeicher festlegt, im Kontext der Maschinenprogramme meistens
Index. Es sind auch die Bezeichnungen Zeiger oder Pointer üblich.

Im Bild 2.6 steht zi für die Bits des Index bzw. Zeigers.
Indizes mit Hauptspeicheradressen machen Probleme, wenn man die Lage des Programms
im Hauptspeicher ändert. Alle Befehle mit solchen Indizes müssen nämlich bei Veränderung
der Lage des Programms angepasst werden. Deshalb bevorzugt man in heutigen
Computersystemen die andere Art der Indizes, die man auch als relativ (zu einer vereinbar-
ten Basis) ansehen kann. Davon später noch ausführlich.

Die Umsetzung eines Assemblerprogramms in das gleichwertige Maschinen-


programm wird mit einem Übersetzerprogramm durchgeführt, das man als Assem-
bler bezeichnet (Bild 2.7).
Maschinen- Assembler-
Programm Programm
1. Masch.-Befehl 1. Ass.-Befehl
usw. usw.
1000 0001 0000 0110
. . zi . . add x,0004H
0000 0100 0000 0000
usw. Übersetzer usw.
letzter Masch.-Befehl letzter Ass.-Befehl
1. Datenobjekt (Assembler) 1. Datendefinition
usw. usw.

. . xi . . x dw
usw. usw.

letztes Datenobjekt letzte Datendefinition

Zur Laufzeit auszuführende Assemblerbefehle werden in


entsprechende Maschinenbefehle umgesetzt.

Datendefinitionen werden in entsprechende


Datenobjekte umgesetzt.

Bild 2.7: Die Übersetzung eines Assemblerprogramms in das Maschinenprogramm


Assemblerbefehle, die zur Laufzeit wirksam werden sollen, werden in ihre entspre-
chenden Maschinenbefehle umgesetzt. Variablendefinitionen - auch Daten-
definitionen genannt - in entsprechende Datenobjekte.

Computertechnik 64 Jacob
Das Maschinenprogramm

Sobald man sehr komplexe Programme entwickelt, muss man das Gesamtproblem in
überschaubare Teilprobleme aufteilen. Dann hat man einen überschaubaren Auf-
gabenrahmen, in dem man auch die Richtigkeit des Programms prüfen kann. Aus
den geprüften Teilprogrammen wird dann das Gesamtprogramm zusammengesetzt,
das man dann als Ganzes prüft. Das Zusammensetzen wird durch ein Programm
unterstützt, das man Binder (Linker) nennt (Bild 2.8).
Maschinen- Assembler-
Maschinen- Teilprogramme Teilprogramme
Gesamtprogramm
1. Masch.-Befehl 1. Masch.-Befehl 1. Ass.-Befehl
usw. usw. usw.
1000 0001 0000 0110 1000 0001 0000 0110
. . zi . . . . zi . . add x,0004H
0000 0100 0000 0000 0000 0100 0000 0000
usw. usw. usw.
Binder letzter Masch.-Befehl Übersetzer letzter Ass.-Befehl
(Linker) 1. Datenobjekt (Assembler) 1. Datendefinition
usw. usw.

. . xi . . x dw
usw. usw.

letztes Datenobjekt letzte Datendefinition

letzter Masch.-Befehl
1. Datenobjekt
usw.

. . xi . .
usw.

letztes Datenobjekt

Bild 2.8: Das Binden von unabhängig entwickelten Teilprogrammen (Modulen)


Ein Binder ordnet die Maschinenbefehle der einzelnen Teilprogramme (die auch als
Module bezeichnet werden) in der Reihenfolge, wie sie im Binde-Kommando
aufgerufen werden, hintereinander. Das Gleiche macht er mit den Datenobjekten der
Module. Man erkennt für das beispielhafte Szenario sofort eine wichtige Aufgabe des
Binders: alle lageabhängigen Indizes müssen angepasst werden.
Das Programmieren in einer Assemblersprache hat den Vorteil, dass der
Programmierer sehr einfach den Bezug zum Ablauf herstellen kann. Aber es hat den
Nachteil, dass der logische Zusammenhang mit dem Anwenderproblem „verwischt“
wird. Den kann man beim Assembler-Programmieren oft nur durch konsequente
begleitende Kommentare im Programmtext herstellen.
Aus der Sicht des Programmierens komplexer Probleme ist hilfreich, wenn
mathematische oder logische Zusammenhänge auch mit den üblichen Formen
ausgedrückt werden können, die sich in den entsprechenden Sachgebieten
herausgebildet haben. Das leisten höhere Programmiersprachen.
Für Programme in einer höheren Programmiersprache gilt das Gleiche wie für
Assembler-Programme: man muss die Möglichkeit haben, sie getrennt zu entwickeln
und zu prüfen, und man muss die Möglichkeit haben, die geprüften Teilprogramme
zu binden, um sie insgesamt prüfen können und damit verlässlich lauffähig zu
machen (Bild 2.9).
Der Übersetzer heißt hier Compiler. Außerdem vermeidet man den Begriff Befehl und
verwendet stattdessen den Begriff Anweisung (statement).

Computertechnik 65 Jacob
Das Maschinenprogramm

Teilprogramme
Maschinen- in einer höheren
Maschinen- Teilprogramme Programmiersprache
Gesamtprogramm
1. Masch.-Befehl 1. Masch.-Befehl 1. Anweisung
usw. usw. usw.
1000 0001 0000 0110 1000 0001 0000 0110
. . zi . . . . zi . .
0000 0100 0000 0000 0000 0100 0000 0000 integer x;
usw. usw. usw.
Binder letzter Masch.-Befehl Compiler
(Linker) 1. Datenobjekt
usw. x = x + 4;
usw.
. . xi . .
usw.

letztes Datenobjekt letzte Anweisung

letzter Masch.-Befehl
1. Datenobjekt
usw.
Arithmetische Ausdrücke werden in entsprechende
Maschinenbefehlsfolgen umgesetzt.
. . xi . .
usw.
Datendefinitionen werden in entsprechende
Datenobjekte umgesetzt.
letztes Datenobjekt

Bild 2.9: Übersetzen und Binden bei höheren Programmiersprachen


Es wird im Allgemeinen nicht so sein wie im dargestellten einfachen Fall (Bild 2.9):
dass nämlich eine Anweisung direkt in einen einzigen Maschinenbefehl umgesetzt
werden kann. Da arithmetische Ausdrücke sehr komplex sein können, ergeben sich
auch entsprechend komplexe Befehlsfolgen. Die Aufgabe der Compiler-
programmierer ist es, aus den Ausdrücken effektive Befehlsfolgen zu machen.
Ob das so ist, kann der Anwenderprogrammierer in aller Regel nur dadurch fest-
stellen, dass er die Laufzeiten von Programmen vergleicht, die er mit unterschied-
lichen Compilern und Bindern erzeugt hat.

Das Ziel dieser Einführung in die Computerarchitekturen ist es, die hardwarenahen
Aspekte zu erläutern, also von der Ebene der Maschinenprogramme auszugehen.
Die Aspekte, die sich mit dem Weg „vom Problem zum Programm in einer höheren
Programmiersprache“ beschäftigen, werden hier nicht behandelt.

2.4 Merkmale des Programmablaufs


Wie auch immer ein ablauffähiges Maschinenprogramm (im folgenden einfach
Programm genannt) zustande kam: damit der Prozessor es Befehl für Befehl lesen
kann, muss es in den Hauptspeicher geladen werden.

Das Laden eines Maschinenprogramms

Man kann ein lauffähiges Programm als eine Folge ansehen, die Befehle und
Datenobjekte in einer strengen Reihenfolge vom ersten bis zum letzten Element
anordnet. Und genau in dieser Reihenfolge wird das Programm ab einer Speicher-
zelle in den Hauptspeicher geladen (Bild 2.10), die von einem Programm bestimmt
wird, das den Betrieb des Computers steuert, das sog. Betriebssystem.

Computertechnik 66 Jacob
Merkmale des Programmablaufs

Hauptspeicheranfang
usw.

Beginn des 1. Befehl


gespeicherten
usw.
Programmes
i-ter Befehl
usw.
letzter Befehl
1. Datenobjekt
usw.

i-tes Datenobjekt
usw.

Ende des letztes Datenobjekt


gespeicherten
Programmes
usw.

Hauptspeicherende

Bild 2.10: Lage eines lauffähigen (Maschinen-)Programms im Hauptspeicher


Ein Programm belegt also im Hauptspeicher einen Speicherbereich, der dann für
andere Programme so lange nicht zur Verfügung steht, bis es abgelaufen ist und
„verdrängt“ werden kann.
Für den Ablauf ist nun wichtig, mit welchem Befehl der Ablauf beginnen soll. Das
muss nicht der erste gespeicherte Befehl sein. Im Bild 2.11 ist vereinfachend
angenommen, dass der erste gespeicherte Befehl auch der Startbefehl ist. Der
Ablauf erreicht am Ende den letzten auszuführenden Befehl des Programms, was
hier vereinfachend der letzte gespeicherte Befehl sein soll. Im Folgenden wird
besprochen, was auf diesem Weg geschieht.
Hauptspeicheranfang
usw.

Startadresse des 1. Befehl


auszuführenden
usw.
Programmes
i-ter Befehl
usw.
Adresse des letzten letzter Befehl
auszuführenden 1. Datenobjekt
usw.
Befehls
i-tes Datenobjekt
usw.

letztes Datenobjekt

usw.

Hauptspeicherende

Bild 2.11: Start, Spur und Ende des Ablaufes eines geladenen Programms
Zuerst ist die Frage zu klären, wie man die kleinste abzählbare (adressierbare)
Einheit in den Befehlen bzw. im Speicher festlegt, um den wichtigen Begriff der
Startadresse zu verstehen.
Die kleinste abzählbare (=adressierbare) Einheit im Hauptspeicher
In den frühen Mikroprozessoren war die kleinste abzählbare Einheit sowohl für die
Maschinenbefehle/Datenobjekte eines Programms als auch für die Speicherzellen
des Hauptspeichers 1 Byte.

Computertechnik 67 Jacob
Merkmale des Programmablaufs

Wenn man zu dieser ursprünglichen Festlegung kompatibel bleiben will, muss man
diese kleinste abzählbare Einheit erhalten - auch wenn man die Zahl der Bits pro
Speicherwort auf 16, 32 bzw. 64 vergrößert.
Das wichtigste Beispiel für eine Weiterentwicklung mit strikter Einhaltung der Kompatibilität
sind die Intel-Prozessoren vom 8008 bis zum Pentium 4.

Die Vergrößerung der Länge (Anzahl der Bits pro Wort) der Speicherwörter hat einen
Vorteil, der im Bild 2.12 deutlich wird.
32-Bit
Speicherwortfomat
16-Bit 1. Masch.-Befehl usw.
Speicherwortfomat usw.
1. Masch.-Befehl
1000 0001 0000 0110 . . zi . .
0000 0100 0000 0000 usw.
usw. usw.
1000 0001 0000 0110 letzter Masch.-Befehl 1. Datenobjekt
. . zi . . usw. . . xi . .
0000 0100 0000 0000 usw.
usw. letztes Datenobjekt
letzter Masch.-Befehl
1. Datenobjekt
usw. 64-Bit
Speicherwortfomat
. . xi . . 1. Masch.-Befehl usw.
usw.
usw.
1000 0001 0000 0110 . . zi . . 0000 0100 0000 0000 usw.
letztes Datenobjekt usw.
letzter Masch.-Befehl 1. Datenobjekt
usw.
. . xi . . usw.
letztes Datenobjekt

Bild 2.12: Beispielhaftes Speicherabbild in Abhängigkeit vom Speicherwortformat


Die Bytes werden hier gemäß Intel-Darstellung angegeben, d.h. die Bytes werden von links
nach rechts im Speicherwort und die Speicherwörter werden von oben nach unten
durchnumeriert. Die Bytes des Maschinenprogramms werden von den niederwertigen zu den
höherwertigen hin gespeichert. Es gibt eine implizite Annahme in diesem Beispiel: die Zahl
der Bytes vom Programmbeginn bis zum ersten Byte des Beispielbefehles ist durch 2, 4 und
8 restfrei teilbar.

Der Zugriff zum Hauptspeicher

Ein Speicherzugriff bedeutet die Übertragung eines Datenwortes von/zum Speicher.


Dabei werden maximal so viele Bits übertragen, wie ein Speicherwort hat.

• Bei einem lesenden Zugriff (vom Speicher) wird das ganze Speicherwort
übertragen.
• Bei einem schreibenden Zugriff (zum Speicher) muss es (wegen der oben
erwähnten Kompatibilität) möglich sein, immer auch die Einheiten auswählen zu
können, die in den früheren Systemen auswählbar waren.

Befehle werden nur gelesen, weil sie nach dem Laden in den Hauptspeicher unver-
änderlich sind.

Man wird bei einem Speicher mit 16Bit Speicherwortlänge drei Zugriffe für den
Beispielbefehl brauchen, bei 32Bit zwei und bei 64Bit einen. Jeder Zugriff braucht
eine bestimmte Zeit, die man Speicherzugriffszeit nennt. Wenn erst alle
Befehlsbytes geholt werden müssen, bevor ein Befehl ausgeführt werden kann, dann
sieht man sofort, wie sich die Wartezeiten und wie sich dementsprechend die
Programmlaufzeiten verteilen.

Computertechnik 68 Jacob
Merkmale des Programmablaufs

Die Adressierung von Speicherwörtern und von Bytes in Speicherwörtern

Die Abzählung der Bytes in den Hauptspeicherwörtern ergibt eine Nummerierung, die
ihre Lage bezogen auf den Speicheranfang festlegt. Man spricht nun nicht von
Nummern, sondern von Hauptspeicheradressen.
In diesem Sinne hat ein geladenes Programm eine Anfangsadresse und eine
Endadresse. Der Start erfolgt bei einer Startadresse und das Verlassen des
Programms bei der Adresse des letzten ausgeführten Befehls. Die Startadresse ist
die Adresse des ersten Byte des ersten Befehls.
Die Adresse ist eine ganze positive Zahl, die als Dualzahl in einem Wort mit n Bits
angegeben wird. In Prozessoren für heutige Computersysteme sind es mindestens
32 Bit. Die Verwendung der Bits für die Adressierung der Speicherwörter bzw. der
Bytes in den Speicherwörtern ist in Bild 2.13 dargestellt. Ein geladenes Programm
beginnt sinnvollerweise beim Byte 0 eines Speicherwortes.
Adreßformat mit Byte als kleinste adressierbare Einheit 16-Bit
31 0
2 2 Speicherwortfomat
xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx 1. Masch.-Befehl
usw.
1000 0001 0000 0110
. . zi . .
0000 0100 0000 0000
usw.
letzter Masch.-Befehl
1. Datenobjekt
usw.

. . xi . .
usw.

letztes Datenobjekt

Adreßformat mit Byte als kleinste adressierbare Einheit 32-Bit


31 0
2 2 Speicherwortfomat
xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx 1. Masch.-Befehl usw.
usw.
1000 0001 0000 0110 . . zi . .
0000 0100 0000 0000 usw.
usw.
letzter Masch.-Befehl 1. Datenobjekt
usw. . . xi . .
usw.
letztes Datenobjekt
Adreßformat mit Byte als kleinste adressierbare Einheit 64-Bit
31 0
2 2 Speicherwortfomat
xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx 1. Masch.-Befehl usw.
usw.
1000 0001 0000 0110 . . zi . . 0000 0100 0000 0000 usw.
letzter Masch.-Befehl 1. Datenobjekt usw.
usw.
. . xi . . usw.
letztes Datenobjekt

Bild 2.13: Beispielhafte Formate für Speicheradressen


rot: Bits für die Adressierung der Byte innerhalb eines Speicherwortes
schwarz: Bits für die Adressierung der Speicherwörter im Hauptspeicher

Die kompakte Speicherung von Befehlen und Datenobjekten


Befehle werden beim Übersetzen bzw. Binden lückenlos aneinander gepackt. Das
Gleiche gilt für die Datenobjekte.
Eine wichtige Eigenschaft einer Variablendefinition ist, dass man unter einem Namen
mehrere Datenobjekte gleichen Typs definieren kann. Bei der Realisierung entsteht
eine Reihenfolge von Datenobjekten gleichen Typs. Man nennt das die Definition
eines Feldes (array). Bild 2.14 zeigt veranschaulichende Beispiele.

Computertechnik 69 Jacob
Merkmale des Programmablaufs

16Bit 32Bit
Speicherwortformat Speicherwortformat

Ein Feld von


64Bit
6 Variablen Speicherwortformat
vom Typ Byte
Ein Feld von
3 Variablen
vom Typ 2 Byte
Eine Variable
vom Typ 4 Byte

Bild 2.14: Beispiele für Felder


Es gibt drei markante Merkmale eines Feldes:
• die Anfangsadresse,
• die Zahl der Elemente,
• der Typ jedes Elementes.

Wenn man die Datenobjekte konsequent kompakt speichert, dann kann ein Feld bei
einer beliebigen Zahl von Bytes enden und das folgende Feld schließt sich
unmittelbar an. Das bedeutet, dass die Anfangsadresse eines Feldes eine Byte-
Adresse ist, also eine Adresse mit einem Byte als kleinste adressierbare Einheit.

Selbststeuernder Programmablauf

Wenn man die Startadresse eines Programms kennt, gibt es ein sehr einfaches
Merkmal, das einen sich selbst steuernden Programmablauf ermöglicht. Wenn man
an einer bestimmten Stelle in jedem Befehl eindeutig ein Merkmal erkennt, aus dem
die Zahl der Bytes für diesen Befehl hervorgeht, dann kann man einfach berechnen,
wo der nächste Befehl beginnt. Dort kann man genau so vorgehen usw. (Bild 2.15).
32-Bit
Speicherwortfomat
16-Bit 1. Masch.-Befehl usw.
Speicherwortfomat usw.
1. Masch.-Befehl
1000 0001 0000 0110 . . zi . .
0000 0100 0000 0000 usw.
usw. usw.
1000 0001 0000 0110 letzter Masch.-Befehl 1. Datenobjekt
. . zi . . usw. . . xi . .
0000 0100 0000 0000 usw.
usw. letztes Datenobjekt
letzter Masch.-Befehl
1. Datenobjekt
usw. 64-Bit
Speicherwortfomat
. . xi . . 1. Masch.-Befehl usw.
usw.
usw.
1000 0001 0000 0110 . . zi . . 0000 0100 0000 0000 usw.
letztes Datenobjekt usw.
letzter Masch.-Befehl 1. Datenobjekt
usw.
. . xi . . usw.
letztes Datenobjekt

Bild 2.15: Merkmal zur Bestimmung der Lage des beim Ablauf folgenden Befehls
Jeder Befehl beginnt mit den Bytes, die die Operation festlegen. Dann folgen die
Merkmale der Operanden. Eine konkrete Operation hat immer eine eindeutige Zahl
von folgenden Bytes für die Angabe der Operanden. Die Anfangsadresse des

Computertechnik 70 Jacob
Merkmale des Programmablaufs

folgenden Befehls ergibt sich aus der Startadresse des aktuellen Befehls plus der
Anzahl der Bytes für diesen Befehl, die der Prozessor aus der Operationsangabe
eindeutig zuordnet.
Im Fall von Bild 2.15 wird eine Operation mit 2 Bytes kodiert. Der Additionsbefehl umfasst 6
Byte. Gleichgültig, in welchem Speicherformat der Befehl abgelegt wird: die Anfangsadresse
des nächsten Befehls ergibt sich durch die Addition von 6 zur Adresse des ersten Byte des
Befehls.

Ausgehend von einer Startadresse kann man Folgebefehl für Folgebefehl bestim-
men, bis man den letzten Befehl des Programms erreicht: ein sich selbst steuernder
Ablauf, der aber einen entscheidenden Nachteil hat: Verarbeitungsergebnisse, die
sich beim Ablauf ergeben, könnten nie auf den Ablauf Einfluss nehmen. Genau das
muss aber möglich sein.

Die Steuerung des Programmablaufes durch Verarbeitungsergebnisse

Es muss Befehle geben, mit denen man den Programmablauf von Verarbeitungs-
ergebnissen abhängig machen kann.
Hauptspeicheranfang
usw.

Startadresse des 1. Masch.-Befehl


auszuführenden
usw.
Programmes
Befehl zur bedingten Fort-
setzung des Programmes

usw.

usw.
Adresse des letzten letzter Masch.-Befehl
auszuführenden 1. Datenobjekt
usw.
Befehls

letztes Datenobjekt

usw.

Hauptspeicherende

Bild 2.16: Bedingte Fortsetzung eines Programms


Die Wirkung eines ablaufsteuernden Befehles ist: wenn die (im Befehl)
angegebene Bedingung erfüllt ist, verzweigt der Ablauf zu einem besonders
markierten Befehl, sonst geht es normal weiter.

Ein Beispiel soll das erläutern.


Angenommen, eine Variable x vom Typ 16Bit hat im Augenblick den
hexa(dezimalen)-Wert f f f c und man addiert dazu eine 4:
f f f c
+ 0004
10000
Dann erhält die Variable x den hexa-Wert 0 0 0 0 mit einem „übergelaufenen“ Bit, das
man Übertrag (carry) nennt. In dem Fall, dass die Variable den Wert 0 0 0 0
annimmt, soll zu einem Befehl mit der Markierung Fertig verzweigt werden, in allen
anderen Fällen soll es normal weitergehen.

Computertechnik 71 Jacob
Merkmale des Programmablaufs

Bild 2.17 zeigt die Ablaufalternativen an einem entsprechenden Assemblerbeispiel.


1. Ass.-Befehl
Prinzipielles Format
Beispiel: 80x86
add x,0004H Ziel-
jz Fertig Operation
Marke
jz= jump zero

Fertig: mov x, 0ffffH lade x mit 1en

letzter Ass.-Befehl
1. Datenobjekt
usw.
. . xi . .

letztes Datenobjekt

Bild 2.17: Beispiel für den bedingten Verzweigungsbefehl jump zero mit zwei Ablauf-
alternativen
Der Befehl jump zero prüft, ob bei der vorangegangenen Operation eine Null als
Ergebnis herauskam. In diesem Fall hätte man auch ein jump carry anwenden
können. Die umgekehrte Abfrage mit jump not zero oder jump not carry muss hier
nicht mit Beispielen erläutert werden; sie ist nahe liegend. Das ist nur eine kleine
Probe von Befehlen mit bedingter Verzweigung, die reelle Prozessoren bieten.

Der letzte auszuführende Befehl

Der Programmlauf erzeugt mit dem normalen und dem bedingten Fortschritt eine
Ablaufspur bis zum Befehl, der oben als letzter auszuführender Befehl bezeichnet
wurde.

Hauptspeicheranfang
usw.

Startadresse des 1. Masch.-Befehl


auszuführenden
usw.
Programmes
Befehl zur bedingten Fort-
setzung des Programmes

usw.

usw.
Adresse des letzten letzter Masch.-Befehl
auszuführenden 1. Datenobjekt
usw.
Befehls

letztes Datenobjekt

usw.

Hauptspeicherende

Bild 2.18: Der letzte auszuführende Befehl in einem Anwenderprogramm


Was bedeutet der letzte auszuführende Befehl aus der Sicht eines
Anwenderprogramms, das vom Betriebssystem geladen und gestartet wurde?

Ein Anwenderprogramm ist dann zu Ende, wenn alle vom Programmierer


gewünschten Ergebnisse erzeugt sind, der Zweck des Programms also erfüllt ist. Der

Computertechnik 72 Jacob
Merkmale des Programmablaufs

letzte Befehl kann dann nur bedeuten, dass der Ablauf in demjenigen Programm
weiter geht, das für den Ablauf des Anwenderprogramms gesorgt hat. Das bedeutet
die Rückkehr in das Betriebssystem.

Und was bedeutet dann der letzte auszuführende Befehl im Betriebssystem?

Das Betriebssystem sorgt für den Ablauf der von dem(den) Benutzer(n) gewünschten
Anwendungen. Die Benutzer machen bestimmte Eingaben, z.B. geben sie
Kommandos ein, um dem Betriebssystem zu sagen, welche Programme gestartet
werden sollen. Leerlauf bedeutet, dass alle bisherigen Eingaben fertig bearbeitet sind
und das Betriebssystem auf neue Eingaben wartet. Tatsächlich gibt es in allen
universell einsetzbaren Prozessoren einen Befehl, bei dessen Ausführung der
Prozessor auf externe Ereignisse mit programmsteuernder Wirkung wartet. Das ist
dann der letzte auszuführende Befehl im Betriebssystem.

2.5 Der Grundzyklus der Programmablaufsteuerung und die Reak-


tion auf äußere Ereignisse
Der einfache Grundzyklus
Ein Anwenderprogrammierer hat sein Anwenderproblem im Auge und betrachtet den
Programmablauf aus dem Blickwinkel der schnellen und anwendungsgerechten
Ausführung. Die grundsätzlichen Merkmale des Programmablaufes wurden zunächst
aus diesem Blickwinkel beschrieben.

Ein Computerarchitekt, der die passenden Schaltungen entwirft und realisiert, hat
einen anderen Blickwinkel. Er stellt fest, dass sich die befehlsgesteuerte
Arbeitsweise eines Computers eine zyklische Abfolge von zwei aufeinander
folgenden Arbeitsvorgängen erzwingt: dem Holen eines gespeicherten Befehls
(instruction fetch) und dem Ausführen dieses Befehls (instruction execute) (Bild
2.19).

nächsten Befehl Befehl


holen ausführen

Bild 2.19: Grundzyklus eines Prozessors


Dieser Grundzyklus ist die treibende Kraft für die Aktionen eines Computers. Er wird
mit dem Einschalten eines Computers gestartet und hält im eingeschalteten Zustand
nur dann an, wenn Leerlauf ist. Das bedeutet bei den meisten Prozessoren die
Ausführung eines Befehls, in dem auf externe Ereignisse gewartet wird. Eine Alter-
native ist, einen Befehl auszuführen, der auf sich selbst verzweigt.
Würde die Programmablaufsteuerung nur diesen Grundzyklus ausführen, könnten
äußere Ereignisse nie auf sie Einfluss nehmen. Eine geeignete Funktion muss
möglich machen, dass die Programmablaufsteuerung gezielt zu einer Befehlsfolge
verzweigt, die dem aufgetretenen Ereignis eindeutig zugeordnet ist

Computertechnik 73 Jacob
Der Grundzyklus der Programmablaufsteuerung und die Reaktion auf äußere
Ereignisse
Zunächst kann man das Problem aus Anwendersicht veranschaulichen (Bild 2.20).
Hauptspeicheranfang
usw.

1. Befehl
spontanes usw.
äußeres Ereignis
mit programmsteuernder i-ter Befehl
Wirkung
usw.
letzter Befehl
1. Datenobjekt
usw.

i-tes Datenobjekt
usw.

letztes Datenobjekt

usw.

Hauptspeicherende

Bild 2.20: Die Unvorhersehbarkeit eines spontanen externen Ereignisses mit


programmsteuernder Wirkung
Spontane programmsteuernde Ereignisse sind z.B. Mouseclicks oder Tastatur-
anschläge oder fertige Kommandoeingaben, um nur einige zu nennen. Sie treten
zeitlich unabhängig vom aktuellen Programmablauf auf. Die Frage ist nun, wie man
ein solches Ereignis im Rahmen des Grundzyklus erfassen soll?

Man kann das Ereignis nur erfassen, wenn man es geeignet kodiert. Es gibt nur zwei
Zustände: Ereignis da/Ereignis nicht da. Das bedeutet, dass man es als binäres
Signal kodieren kann.

Wenn der Zustand Ereignis nicht da erfasst wird, soll es keine Verzweigung geben,
bei Ereignis da soll eine gezielte Verzweigung ausgeführt werden. Das bedeutet,
dass die Abfrage und die Entscheidung nach der Ausführung eines Befehles und vor
dem Holen des nächsten eingebaut werden muss (Bild 2.21).

nächsten Befehl Befehl


holen ausführen

Interrupt Request Meldung


abfragen:
da: spätere Fortsetzung
des aktuellen Programm-
ablaufes vorbereiten,
Verzweigung einstellen;
nicht da: weiter

Bild 2.21: Grundzyklus mit Möglichkeit zur Unterbrechung von außen


Liegt ein Ereignis vor, kommt es zu einer Unterbrechung des aktuellen Programm-
ablaufs (Interrupt).

Computertechnik 74 Jacob
Der Grundzyklus der Programmablaufsteuerung und die Reaktion auf äußere
Ereignisse
Die nach der Unterbrechung ausgeführte Befehlsfolge nennt man Interrupt Service
Routine. Das äußere Ereignis, das einen Interrupt auslöst, heißt Interrupt Anforde-
rung (interrupt request).
Während eines Interrupts läuft also eine Befehlsfolge ab, die dann an dem letzten
Befehl anlangt, wenn die programmierte Aufgabe der Unterbrechung erfüllt ist. Dann
muss die Programmablaufsteuerung in der Lage sein, das unterbrochene und ange-
haltene Programm mit dem Befehl fortzusetzen, der anstelle der unterbrechenden
Verzweigung als nächster geholt und ausgeführt worden wäre.

2.6 Maßnahmen zur Verkürzung der Programmlaufzeit


Je mehr Befehle pro Zeiteinheit vom Prozessor verarbeitet werden, umso kürzer wird
die Zeit für den Programmablauf - gleiche Ablaufbedingungen vorausgesetzt. Im
Folgenden werden Maßnahmen zur Verkürzung der Programmlaufzeit diskutiert.
Die Entkopplung von Holen und Ausführen der Befehle
Im Grundzyklus gibt es ein wichtiges Merkmal, das „bremsend“ auf die Ablaufzeit
wirkt: die Tatsache, dass die Ausführung auf die Lieferung eines Befehls warten
muss, und die Tatsache, dass der nächste Befehl erst geholt werden kann, wenn der
vorherige ausgeführt ist. Die Frage ist, wie man das gegenseitige Warten vermeiden
kann.
Das kann man mit einem Vorratkonzept. Eine Einheit zum Holen der Befehle sorgt
dafür, dass in einem Zwischenspeicher ständig ein Vorrat an Befehlen vorgehalten
wird. Eine Einheit zum Ausführen der Befehle bedient sich aus dem Vorrat im
Zwischenspeicher, wenn sie Bedarf hat. Der Zwischenspeicher wird üblicherweise
Puffer genannt (Bild 2.22).
Die übliche Strategie ist, dass die eine Einheit den Puffer füllt, solange Platz ist, und
die andere nach Bedarf entnimmt und damit Platz schafft.
Zwischen
speicher
als Puffer
nächsten Befehl Befehl ermöglicht nächsten Befehl Befehl
holen puffern Simultan- holen ausführen
arbeit ohne
gegenseitiges Interrupt Request Meldung
Warten abfragen:
da: spätere Fortsetzung
des aktuellen Programm-
ablaufes vorbereiten,
Verzweigung einstellen;
nicht da: weiter

Bild 2.22: Die Trennung der Aktionen für das Holen und das Ausführen der Befehle
Dieses Vorratskonzept wird auch als Prefetch bezeichnet. Die einfachste Strategie
füllt den Puffer immer in der Reihenfolge der gespeicherten Befehle. Das bedeutet,
dass bei bedingten Verzweigungsbefehlen nur die Befehle der einen von beiden
Alternativen im voraus geholt werden können.
Wenn aber der Ablauf zur anderen Alternative verzweigt, war das Holen dieser
Befehle überflüssig. Der Inhalt des Puffers wird „weggeworfen“ (flush) und die
Befehle der Alternative werden geholt. In diesem Fall wartet die ausführende Einheit
auf das Holen.

Computertechnik 75 Jacob
Maßnahmen zur Verkürzung der Programmlaufzeit

Das Puffer-Konzept bewirkt, dass die Ausführ-Aktionen nicht mehr auf die Hol-
Aktionen warten müssen (mit Ausnahme des Widerrufes bei bedingten Verzweigun-
gen). Durch den Wegfall der Wartezeiten entsteht der Effekt der Verkürzung der
Programmlaufzeit.
In modernen Prozessoren wird das Verfahren durch ein Variante erweitert, die man
Vorhersage der Verzweigung (Branch-Prediction) nennt. Davon später.

Ein noch deutlicherer verkürzender Effekt entsteht, wenn man Befehle und
Datenobjekte für Wiederholungen in einem Zwischenspeicher bereit hält.
Die Bereithaltung von Befehlen für wiederholten Zugriff
Beim Programmieren gehören Wiederholungen zu den elementaren Programmier-
methoden, die häufig angewendet werden und entsprechend den Programmablauf
prägen. Statistische Untersuchungen an repräsentativen Stichproben von
Programmen bestätigen das in eindrucksvoller Weise. Deshalb haben sich
Computerarchitekten schon sehr früh damit beschäftigt, Konzepte zu erfinden, die bei
Wiederholungen eine Verkürzung des Hol-Vorganges bewirken.
Die Verkürzung entsteht im Wesentlichen dadurch, dass ein gerade ablaufender
Befehl für kommende Wiederholungen in einem Zwischenspeicher gespeichert wird,
der eine deutlich kürzere Zugriffszeit hat als der Hauptspeicher.
Cache-Konzept für Befehle

Cache
Zwischenspeicher
für eine Untermenge
von Hauptspeicher-
zellen mit Befehlen,
die der Prozessor
aktuell bearbeitet hat.
Schnelle Erkennung,
ob ein Befehl
vorhanden ist
oder nicht.
vorhanden
nächsten Befehl nächsten Befehl Befehl
aus Hauptspeicher holen ausführen
holen nicht vorhanden:
nachladen Interrupt Request Meldung
abfragen:
da: spätere Fortsetzung
des aktuellen Programm-
ablaufes vorbereiten,
Verzweigung einstellen;
nicht da: weiter

Bild 2.23: Der Grundzyklus mit dem Befehls-Cache


Die Einheit zum Holen des nächsten Befehls erzeugt einen Lesevorgang und
erwartet das(die) Speicherwort(-wörter) mit dem Befehl. Aus dieser Sicht gibt es zwei
mögliche Quellen, die das Speicherwort liefern: der Hauptspeicher oder der schnelle
Zwischenspeicher.
Ein zeitlicher Gewinn gegenüber dem Hauptspeicherzugriff entsteht immer dann,
wenn der schnelle Zwischenspeicher liefert. Der Gewinn, d.h. die gesparte Zeit, ist
die Differenz zwischen der Zugriffszeit zum Hauptspeicher und der Zugriffszeit zum
schnellen Zwischenspeicher.

Computertechnik 76 Jacob
Maßnahmen zur Verkürzung der Programmlaufzeit

Die Einheit zum Holen der Befehle kann den Lesevorgang anstoßen, ohne zu unter-
scheiden, ob ein Zugriff zum Hauptspeicher oder zum schnellen Zwischenspeicher
erfolgen soll. Die Entscheidung, wer liefert, muss in den Einheiten fallen, die im
Zwischenspeicher auf den Zugriff reagieren bzw. die im Hauptspeicher auf den
Zugriff reagieren. Wenn der Zwischenspeicher liefert, dann ist eine Fortsetzung des
Lesevorganges zum Hauptspeicher überflüssig und kann abgebrochen werden.
Wenn der schnelle Zwischenspeicher liefert, dann geschieht das sozusagen „ver-
deckt“: man nennt ihn deshalb Cache.
Für die Wirksamkeit des Cache ist maßgeblich, wie schnell die Cache-Steuerung
feststellen kann, ob das Speicherwort im Cache steht.

Kopien im Cache als Untermenge des Hauptspeichers


Adressen der
Speicherwörter
Haupt-
speicher

Adressen der
Zeilen im verdeckten
Zwischenspeicher
verdeckter Zwischenspeicher (Cache)

Fluß der gelesenenSpeicherwörter


Konzept: wenn vorhanden,
lesen der Kopie im Cache,
sonst lesen aus Hauptspeicher
und Kopie in den Cache.

Bild 2.24: Das Zugriffskonzept für den Befehls-Cache:


Treffer (Hit, einfacher Pfeil) oder Nicht-Treffer (Miss) und Cacheline-Fill (Doppelpfeil)
Im Cache können keine anderen Befehle stehen als im Hauptspeicher (Konsistenz-
Bedingung). Anders ausgedrückt: der Inhalt des Cache muss eine Untermenge des
Inhalts des Hauptspeichers sein. Das kann man beim Füllen des Cache sehr einfach
realisieren. Wenn die Cache-Steuerung beim Lesevorgang feststellt, dass keine
Kopie da ist, ist sicher, dass der Lesevorgang aus der übergeordneten Speicher-
ebene, also dem Hauptspeicher beantwortet wird. Dann übernimmt die Cache-
Steuerung, was von dort geliefert wird, so wie die Einheit zum Holen der Befehle das
Gelieferte übernimmt. Damit steht der Befehl für einen späteren Zugriff im Cache
bereit.
Tatsächlich wird bei diesem Eintrag in den Cache (cacheline fill) ein vorhergehender
Eintrag überschrieben, der dann nicht mehr für eine Wiederholung bereitsteht. Die
Strategie ist also, immer den letzten Eintrag als den besten Kandidaten für eine
Wiederholung zu betrachten.
Man kann nun die Chance für einen Treffer zu verbessern, in dem man nicht nur ein
Speicherwort überträgt, sondern gleich mehrere, die hintereinander liegen.
n
Bei einer Zahl von 2 ist das Zählen am einfachsten. (Intel verwendet zur Zeit n=2).

Computertechnik 77 Jacob
Maßnahmen zur Verkürzung der Programmlaufzeit

Das ergibt einen Block von je 4 Speicherwörtern (Bild 2.24). Das Adressformat der
Blöcke ist (32 Bit für die Adressierung von Bytes vorausgesetzt):
31 5
2 .........................2 . . . . .
x .........................x 00000

Wie man den Hauptspeicher in solche Blöcke einteilt, so teilt man auch den Cache in
Speicherbereiche der gleichen Größe ein. Sie heißen dort Cachezeilen (Cacheline).
Ein Cache kann immer nur eine Untermenge des Hauptspeichers aufnehmen.
Heutige Cache-Konzepte bilden die Reduzierung auf der Basis einer Zuordnung:
je eine Cachezeile steht als Zwischenspeicher für eine genau definierte Menge von
(eben definierten) Blöcken zur Verfügung;
je eine solche Menge von Blöcken teilt sich also in die Benutzung einer Cachezeile.
Welcher der Blöcke nun tatsächlich in der Cachezeile gespeichert ist, kann sich nur
aus einem Merkmal ergeben, das dem gespeicherten Block hinzugefügt worden ist.
Das Merkmal ist ein geschickt gewählter Teil der Hauptspeicheradresse des Blocks.
Die Übereinstimmung zwischen dem gespeicherten Wert dieses Adressteils und dem
(beim Zugriff) angelegten Wert dieses Adressteils zeigt an, dass ein Treffer vorliegt.
Soweit das Prinzip. Die Details des Verfahrens sollen im entsprechenden späteren Kapitel
ausführlich besprochen werden.

Cache-Konzept für Datenobjekte

Ein Zeitgewinn ist natürlich auch zu erwarten, wenn man das Cache-Konzept auch
für Datenobjekte einsetzt. Zugriffe zu Datenobjekten kommen bei der Ausführung von
Befehlen vor (Bild 2.25).

Befehls-Cache Daten-Cache

Zwischenspeicher Zwischenspeicher
für Maschinen- für Datenobjekte
befehle

vorhanden vorhanden
nächsten Befehl nächsten Befehl Befehl gewünschtes Daten-
aus Hauptspeicher holen ausführen objekt aus Haupt-
holen nicht vorhanden: nicht vorhanden: speicher holen
nachladen nachladen

Interrupt Request
Abfrage und
Ausführung

Bild 2.25: Das vollständige Cache-Konzept für Befehle und Datenobjekte


Die lesenden Zugriffe sind genau so zu behandeln wie die zu Befehlen. Man muss
aber auch ein Konzept für Veränderungen haben; denn Datenobjekte sind
Verarbeitungsobjekte, d.h. sie werden geholt und müssen nach einer Veränderung
wieder in die Ursprungsspeicher zurückgebracht (= geschrieben) werden, um den
neuen Zustand festzuhalten.

Computertechnik 78 Jacob
Maßnahmen zur Verkürzung der Programmlaufzeit

Adressen der
Speicherwörter
Haupt-
speicher

Adressen der
Zeilen im verdeckten
Zwischenspeicher
verdeckter Zwischenspeicher (Cache)

Fluß der gelesenen Fluß der Veränderungen


Datenobjekte der Datenobjekte
Konzept: wenn vorhanden, Konzept: nur dann zurückschreiben,
lesen der Kopie im Cache, wenn notwendig,
sonst lesen aus Hauptspeicher aber: es darf keine vom Prozessor
und Kopie in den Cache. ausgeführte Veränderung verloren gehen.

Bild 2.26: Das Zugriffskonzept für den Daten-Cache


Es ist die Frage, wie man beim Schreiben einen Zeitgewinn realisieren kann, wobei
keine Änderung eines Datenobjektes verloren gehen darf.
Es geht keine Änderung verloren, wenn man bei jedem schreibenden Zugriff sowohl
die Kopie im Cache als auch das Original im Hauptspeicher aktualisiert. Dann muss
die Einheit, die den schreibenden Zugriff abwickelt, aber abwarten, bis der Haupt-
speicherzugriff fertig ist. Beim Schreiben der Datenobjekte entsteht also kein Zeit-
gewinn. Der entstünde bei diesem Verfahren nur beim Lesen.
Nun ist es nicht zwingend, beide Ursprungsspeicher gleichzeitig zu aktualisieren.
Man hat auch die Möglichkeit, (zunächst) nur die Kopie im Cache zu aktualisieren.
Wenn dann im weiteren Programmablauf die Cachezeile mit dem geänderten
(=modifizierten) Datenobjekt durch ein Cacheline-Fill überschrieben werden soll, wird
die Cachezeile zuerst in den Hauptspeicher zurück geschrieben, bevor das
Cacheline-Fill erfolgt.
Man muss also die Steuerung des Daten-Cache so ausstatten, dass dieses bedingte
Zurückschreiben möglich wird. Dann ist sichergestellt, dass keine Änderung eines
Datenobjektes verloren geht, aber so viele schreibende Zugriffe wie möglich nur in
den Cache erfolgen.

Register-Konzept für Datenobjekte

Das Konzept des Befehls- und des Daten-Cache dient dazu, einen geschickten
Vorrat an Befehlen und Datenobjekten in Zwischenspeichern in der Nähe des
Prozessorkernes zu halten. Die Speicherzugriffszeit war durch den Speichertyp und
durch die kurzen Leitungslängen deutlich kürzer als zum Hauptspeicher.

Es ist nun möglich, im Prozessorkern selbst spezielle Speicherzellen vorzusehen,


deren Aufbau und Lage die kürzeste Zugriffszeit erlaubt, die aus der Sicht der
Befehlsausführung im System möglich ist. Diese speziellen Speicherzellen im
Prozessor heißen Register (Bild 2.27).

Computertechnik 79 Jacob
Maßnahmen zur Verkürzung der Programmlaufzeit

Diese Register bieten also die kürzesten Zugriffszeiten, die im System möglich sind,
und sind die Speicher, die für eine schnelle Verarbeitung vom Assembler-Program-
mierer bevorzugt werden. Er lädt die Register mit den gewünschten Datenobjekten,
verarbeitet sie dort und schreibt die Verarbeitungsergebnisse bei Bedarf wieder in
das Datenobjekt zurück. Das Laden der Register und das Zurückschreiben in das
Datenobjekt muss er explizit tun, d.h. mit Transferbefehlen. (Es gibt keinen Mecha-
nismus, der das automatisch macht wie beim Cache-Konzept.)
Die Register werden auch Arbeitsregister genannt.
Haupt-
speicher

verdeckter Zwischenspeicher (Cache)

Datenobjekt explizit mit Register im Datenobjekt explizit mit


Transferbefehl in Register Prozessor
Transferbefehl aus
kopieren. Register zurückschreiben.

Datenobjekte in Registern mit


arithmetischen und logischen
Befehlen verarbeiten.

Datenobjekte im Speichersystem mit arithmetischen und logischen Befehlen verarbeiten.

Bild 2.27: Das Speicherkonzept aus der Sicht der Verarbeitung mit arithmetischen
und logischen Befehlen
Die Arbeitsregister sind Teil des sog. Registersatzes (register set).

Bei der detaillierten Betrachtung der Arbeitsweise eines Prozessors wird die Funktion der
übrigen Register erläutert, die noch zum Registersatz gehören.

Moderne strukturelle Konzepte zur Verkürzung der Programmlaufzeit

Moderne Konzepte setzen bei der Ausführung der Befehle an. Die Strategie ist, die
ausführende Einheit so aufzubauen, dass beim Programmablauf nicht immer nur ein
geholter Befehl nach dem anderen ausgeführt wird, sondern dass man aus der
Menge der Befehle, die beim Programmablauf im Befehlsvorrat gebildet wird,
mehrere gleichzeitig ausführt, soweit die gegenseitige Abhängigkeit der
Befehlsausführung durch Verarbeitungsergebnisse anderer zulässt.

Man nennt das Instruction Level Parallelism.

Wenn man mehrere Befehle gleichzeitig verarbeiten will, dann braucht man mehrere
ausführende Einheiten, die gleichzeitig verschiedene Befehle ausführen können.
Man erkennt in modernen Prozessoren also immer, dass es mehrere ausführende
Einheiten mit gleicher Funktion gibt.

Computertechnik 80 Jacob
Maßnahmen zur Verkürzung der Programmlaufzeit

Diese ausführenden Einheiten müssen nun im Programmablauf „geschickt“ genutzt


werden. Das heißt, es muss eine Einheit geben, die aufgrund des (mit dem
Programmfortschritt aktualisierten Befehlsvorrates) entscheidet, wann welche Einheit
welche Aufgabe zu erfüllen hat.
Die Effektivität bei der gleichzeitigen Nutzung der ausführenden Einheiten ist
entscheidend für den Erfolg des Konzeptes.
Aus der Sicht des aktuellen Marktes konkurrieren vor allem zwei Konzepte: das des
Pentium 4 und das des Athlon. Ein grundsätzliches Merkmal beider Konzepte ist,
dass die Ausführung der Maschinenbefehle in kleinere Teiloperationen aufgeteilt
wird, die von den ausführenden Einheiten ausgeführt werden. Jedem Maschinen-
befehl ist also eine genau definierte Menge von Teiloperationen zugeordnet, die so
festgelegt sind, dass sie möglichst viele gleichzeitig ausgeführt werden können.
Diese werden als Vorrat von Teiloperationen gespeichert und von einer Einheit, die
die Parallelarbeit der ausführenden Einheiten steuert, aus dem Vorrat entnommen
und den ausführenden Einheiten zugeteilt.
Das bedeutet, dass es eine Einheit geben muss, die die Maschinenbefehle in die
Teiloperationen umsetzt und diese in einen Puffer einträgt, aus dem die planende
und zuteilende Einheit entnimmt (Bild 2.28).

Befehls-Cache

Zwischenspeicher
für Befehle

Befehl in die auszuführenden


Teiloperationen zerlegen,
entsprechende interne holen und gleich-
vorhanden Zwischen- zeitige Ausführung
nächsten Befehl nächsten Befehl Steuermaßnahmen festlegen
und binär kodieren speicher planen und den Aus- Ausführungs-
aus Hauptspeicher holen
nicht vorhanden: (=Micro-Operationen) und führungseinheiten einheiten
holen
nachladen Micro-Operationen in zuordnen
Zwischenspeicher laden

Interrupt Request
Abfrage und Instruction Level Parallelism
Ausführung

Bild 2.28: Das Strukturkonzept der Befehlsausführung in aktuellen Prozessoren


Die Kodierung der Teiloperationen berücksichtigt natürlich die Funktionsmerkmale, die der
Entwurf den einzelnen ausführenden Einheiten gibt. Intel nennt sie Micro-Operationen, AMD
Macro-Operationen. Es ist klar, dass die Effektivität des Konzeptes von den Details des
Entwurfes bestimmt wird. Hier sollte nur das Prinzip deutlich werden.

2.7 Die Strukturierung des Datenverkehrs


Zwischen dem Prozessor und dem Speicher fließen beim Ablauf der Programme
Befehle und Daten. Der Zweck dieses Datenstroms wurde in den vorhergehenden
Abschnitten ausführlich diskutiert.

Diesem überlagern sich die Datenströme von und zur Ein/Ausgabe (Bild 2.29).

Computertechnik 81 Jacob
Die Strukturierung des Datenverkehrs

Befehlsstrom

Prozessor Datenströme
Speicher

Ein/Ausgabe

Bild 2.29: Die Datenströme zwischen den zentralen Einheiten eines Computers
Bei allen Strömen, die von/zum Prozessor gehen, hat der Prozessor die Aufgabe der
Ablaufsteuerung des Datenaustausches. D.h. der Hauptspeicher ist beim Daten-
austausch immer passiv.

Außer den Strömen, bei denen der Prozessor die Aufgabe der Ablaufsteuerung hat,
gibt es zusätzlich noch einen Datenstrom, der zwischen der Ein/Ausgabe und dem
Hauptspeicher direkt abläuft. In diesem Fall muss die Ablaufsteuerung in der
Ein/Ausgabe liegen, weil der Hauptspeicher nur passiv reagieren kann. Diese
Fähigkeit der Ein/Ausgabe wird mit dem Begriff Direct Memory Access, kurz dma
bezeichnet.

Nun kann eine dma-fähige Steuerung nicht von sich aus Aufträge erzeugen, die der
Übertragung von Daten von und zum Hauptspeicher dienen. Das kann nur die
Programmverarbeitung im Prozessor.

Einzig und allein der Ablauf der vom Benutzer gewünschten Programme bestimmt
alle Aktivitäten im Computersystem!

Der Programmierer hat die Möglichkeit, Übertragungsaufträge an die Peripherie-


geräte zu formulieren, die über die Ein/Ausgabe erreichbar sind. Diese Übertra-
gungsaufträge werden in Anweisungen (commands) umgesetzt, die vom Prozessor
in die Ein/Ausgabe geschickt werden. Das ergibt einen Command-Datenstrom zur
Ein/Ausgabe. Sobald das Command vollständig empfangen ist, kann die Ein/Aus-
gabe zusammen mit dem Gerät aktiv werden und die Daten per dma übertragen.

Das Ende der Übertragung muss als Fertigmeldung zur Programmablaufsteuerung


gemeldet werden, weil der Programmfortschritt sicher davon abhängt, dass die Daten
vollständig im Hauptspeicher stehen. Für die Fertigmeldung bietet sich dann das
Konzept der Interrupt-Anforderungen an.

Eine andere Methode besteht darin, gerätebezogene Status-Daten in der


Ein/Ausgabe bereit zu halten, die den aktuellen Bearbeitungszustand eines
Auftrages enthalten und die der Prozessor lesen kann. Durch zyklisches Lesen und
Testen des Wertes kann man das Ereignis der Änderung erkennen und mit einer
bedingten Verzweigung auswerten.
Eine solche zyklische Abfrage nennt man (etwas salopp) Pollen (poll). Das wäre ein
Beispiel für einen Datentransfer von der Ein/Ausgabe zum Prozessor.

Computertechnik 82 Jacob
Der Einfluss der Anwendung auf die Aufteilung in grundsätzliche Einheiten

2.8 Der Einfluss der Anwendung auf die Aufteilung in grundsätz-


liche Einheiten
Bisher wurden die Merkmale von Computern aus einer sehr grundsätzlichen Sicht
erläutert. Wenn man nun mehr ins Detail geht, muss man Schnittstellen definieren.
Das wiederum gelingt nicht, ohne den Anwendungshintergrund zu berücksichtigen.
Microcontroller-Schnittstelle
Am einfachsten ist der Fall, in dem alle zentralen Einheiten auf einem einzigen Chip
realisiert sind. Das gilt für die sogenannten Microcontroller, die überwiegend für die
Realisierung elektronischer Steuerschaltungen verwendet werden. Dort gibt es nur
eine Schnittstelle nach außen, die flexibel an verschiedenste Anwendungen
angepasst werden kann. Der dma-Datenverkehr entfällt (Bild 2.30).
Befehlsstrom

Prozessor Datenströme
Speicher

Ein/Ausgabe Eine Schnittstelle, die eine


flexible, anwendungsgerechte
Anpassung für die Realisierung
elektronischer Steuerschaltungen
erlaubt

Bild 2.30: Microcontroller-Struktur: alle zentralen Einheiten auf einem Chip


Wenn man alle zentralen Funktionseinheiten auf einem einzigen Chip realisiert, dann
muss man ihre Leistungen dem verfügbaren Platz anpassen. Das gilt besonders für
die Anzahl der Ein/Ausgabe-Pins. Die Programmverarbeitung mit Microcontrollern ist
bei weitem nicht so leistungsfähig wie die der Mikroprozessoren, die ja bewusst auf
Hochleistung hin entworfen werden.

Schnittstellen in komplexen Computersystemen


Komplexe Computersysteme kann man nur entwerfen, wenn man bestimmte
Anforderungen an die Modularisierung berücksichtigt (Bild 2.31).
Eine Schnittstelle, Eine Schnittstelle,
die Mehrprozessor- die modulare Speicher-
struktur erlaubt erweiterung erlaubt
Befehlsstrom

Prozessor Datenströme
Speicher

Eine Schnittstelle, die eine


flexible, anwendungsgerechte
Anpassung der Ausstattung mit
Ein/Ausgabe Peripherie-Geräten erlaubt

Bild 2.31: Schnittstellen für die Modularisierung in komplexen Computersystemen

Bild 2.32 zeigt nun die konkreten Schnittstellen.

Computertechnik 83 Jacob
Der Einfluss der Anwendung auf die Aufteilung in grundsätzliche Einheiten

Host-Bus- Speichermodul-
Schnittstelle Schnittstelle
Befehlsstrom
Prozessor-
Speicher-
steckbares Schnittstellen steckbares
Prozessor- Datenströme steuerung Speicher-
modul
anpassung modul

Ein/Ausgabe-
Schnittstellen-
anpassung Ein/Ausgabebus-
Schnittstelle

steckbares verlötetes
Gerätesteue- Gerätesteue-
rungsmodul rungs-IC

gerätespezifische
Schnittstellen
Bild 2.32: Die konkreten zentralen Schnittstellen
Die Konkurrenz auf dem Computermarkt zwingt dazu, Standards für die Schnitt-
stellen zu bestimmen.

Das gilt für die zentrale Ein/Ausgabe-Schnittstelle. Früher galt der ISA-Bus-Standard
(industry standard architecture). Heute hat sich der PCI-Bus-Standard (peripheral
component interface) durchgesetzt.

Auch die Speichermodule werden abhängig vom Entwicklungsfortschritt zügig von


der Organisation JEDEC standardisiert.

Bei den Prozessormodulen ist der jeweilige Prozessor-Hersteller allein maßgeblich.


Die gerätespezifischen Schnittstellen werden ebenfalls von einschlägigen Organi-
sationen standardisiert, die Geräte- und Computer-Hersteller zusammenführen.

Die Trennung von Befehls- und Datenstrom ist nur für Detailanalysen wichtig. Bei
übergeordneten Analysen fällt sie im Folgenden weg.

2.9 Elementare Datenübertragungsvorgänge


Der Datenfluss zwischen dem Prozessor und dem Hauptspeicher

Die Programmablaufsteuerung des Prozessors sorgt dafür, dass sich fortlaufend


elementare Lese- und Schreib-Vorgänge zum Hauptspeicher bilden. Je mehr solcher
Vorgänge pro Zeiteinheit nacheinander abgewickelt werden können, umso mehr
Verarbeitungsergebnisse entstehen pro Zeiteinheit.

Alle Verbesserungen im Sinne eines größeren Programmdurchsatzes setzen u. a. an


der Frage an, diese Elementar-Vorgänge so schnell wie möglich aufeinander folgen
zu lassen, weil sie den Hauptdatenfluss des Systems bestimmen.

Computertechnik 84 Jacob
Elementare Datenübertragungsvorgänge

Host-Bus- Speichermodul-
Schnittstelle Schnittstelle

steckbares Prozessor-
Prozessor- Schnittstellen Speicher- steckbares
modul steuerung Speicher-
anpassung modul

Die Initiative für einen Zugriff


liegt beim Prozessor.
Ein Speicherwort mit Hilfe einer eindeutigen Adresse auswählen
Lese-Zugriff zum
Hauptspeicher Inhalt des ausgewählten Speicherwortes liefern
Zweck: Befehle bzw. Operanden für die Befehle holen

Ein Speicherwort mit Hilfe einer eindeutigen Adresse auswählen


Schreib-Zugriff zum
Hauptspeicher Inhalt des ausgewählten Speicherwortes mit geliefertem Wort überschreiben
Zweck: Verarbeitungsergebnis eines Befehls speichern
Bild 2.33: Lese- und Schreibzugriffe als Elementar-Vorgänge im Datenverkehr
zwischen Prozessor und Hauptspeicher
Der Datenfluss zwischen dem Prozessor und dem Ein/Ausgabe-
Speicherbereich

Die Aktionen der Ein/Ausgabegeräte erfüllen nur den Zweck, der ihnen von den
Programmen, die im Prozessor ablaufen, gegeben wird. Das bedeutet, dass Daten
von und zu den Geräten dann und nur dann fließen, wenn entsprechende Befehle im
Prozessor das anstoßen; auf einer abstrakteren Ebene kann man sagen: wenn sie
dazu einen Eingabe- oder Ausgabe-Auftrag bekommen haben.

Ein Auftrag kann die Übertragung eines einzelnen Wortes bewirken (Einzeldaten-
übertragung). Im Sinne der Ausnutzung der vorhandenen Möglichkeiten ist das eine
sehr ineffektive Lösung. Effektiver ist die Übertragung mit Datenblöcken. Da die
Daten eines solchen Datenblockes sequentiell nacheinander mit der größtmöglichen
Geschwindigkeit übertragen werden, heißt der Übertragungsvorgang auch Burst .

Ziel der Auftragsvergabe durch ein Programm ist es, die Steuereinheit des
Ein/Ausgabegerätes in die Lage zu versetzen, den Übertragungsauftrag völlig
selbständig ausführen zu können. Dazu muss die Steuereinheit einen vollständigen
Satz mit den genauen Angaben zum Auftrag (Auftragsparameter) bekommen und
sie muss in der Lage sein, direkte Hauptspeicherzugriffe zu veranlassen.

Die Auftragsparameter geben an,


• ob es sich um eine Übertragung vom Hauptspeicher zum Ein/Ausgabegerät hin
handelt (Ausgabe) oder eine vom Ein/Ausgabegerät zum Hauptspeicher hin
(Eingabe),
• Wo das erste Hauptspeicherwort für die Ausgabe bzw. die Eingabe liegt (die
folgenden Adressen können fortlaufend durch Erhöhung um 1 gebildet werden),
• wie viele Speicherwörter nacheinander zu übertragen sind.

Die Auftragsparameter sind also:


• die Übertragungsrichtung,
• die Anfangsadresse des Hauptspeicherbereiches,
• die Blocklänge.

Computertechnik 85 Jacob
Elementare Datenübertragungsvorgänge

Host-Bus-
Schnittstelle

steckbares Prozessor-
Prozessor- Schnittstellen
modul
anpassung

Ein/Ausgabe-
Schnittstellen-
anpassung

Ein/Ausgabebus-
Schnittstelle
verlötetes
Gerätesteue-
steckbares rungs-IC
Gerätesteue-
rungsmodul

Die Initiative für einen Zugriff gerätespezifische


liegt beim Prozessor. Schnittstellen
Lese-Zugriff zum Ein Ein/Ausgabe-Speicherwort mit Hilfe einer eindeutigen Adresse auswählen
Ein/Ausgabe-
Speicherbereich Inhalt des ausgewählten Eingabe-Speicherwortes liefern
Zweck: Zustand (Status) einer Steuereinheit einlesen

Schreib-Zugriff zum Ein Speicherwort mit Hilfe einer eindeutigen Adresse auswählen
Ein/Ausgabe-
Speicherbereich Inhalt des ausgewählten Ausgabe-Speicherwortes mit geliefertem Wort überschreiben
Zweck: Mit Hilfe eines Command-Wortes eine Steuermaßnahme in einer Steuereinheit anregen

Bild 2.34: Lese- und Schreibzugriffe im Datenverkehr zwischen dem Prozessor und
dem Ein/Ausgabe-Speicherbereich
Für jeden der Auftragsparameter ist in der Steuereinheit eines Ein/Ausgabegerätes,
das selbständig Daten im dma-Datenverkehr übertragen kann, eine Speicherzelle
(Register) vorgesehen. Wenn ein bestimmtes Ein/Ausgabegerät einen bestimmten
Auftrag ausführen soll, schreibt der Prozessor nacheinander die Werte der
Auftragsparameter in die Register. Sobald der letzte relevante Auftragsparameter in
der Steuereinheit angekommen ist, kann diese mit der selbständigen Abwicklung des
Übertragungsauftrages beginnen. Der Status der Abwicklung ist in einem (oder in
mehreren) Register(n) der Steuereinheit für den Prozessor lesbar vermerkt.

Ein wichtiges Status-Ereignis ist das Ende-Ereignis des Übertragungsvorganges.


Dieses Ereignis ist so wichtig, dass man es nicht nur ablesbar macht, sondern mit
ihm auch einen Eingriff in den Programmablauf verbinden kann, also einen Interrupt.

Die schreib- und lesbaren Register aller Steuereinheiten der Ein/Ausgabegeräte


eines Systemes bilden zusammen den Ein/Ausgabespeicherbereich des Systems.

In der Regel ist die Blocklänge (also die Anzahl der im Burst übertragenen Wörter)
ein deutliches Vielfaches der Anzahl der Wörter, die zur Übertragung der Auftrags-
parameter in die Steuereinheit bzw. zum Auslesen von Statusdaten aus der Steuer-
einheit gebraucht werden.

Der Datenfluss zwischen dem Prozessor und den Steuereinheiten der Ein/Ausgabe-
geräte ist also vernachlässigbar gegenüber dem Datenfluss zwischen den Steuer-
einheiten und dem Hauptspeicher.

Computertechnik 86 Jacob
Elementare Datenübertragungsvorgänge

Der Datenfluss zwischen den Ein/Ausgabegeräten und dem Hauptspeicher


Speichermodul-
Schnittstelle

Speicher- steckbares
steuerung Speicher-
modul

Ein/Ausgabe-
Schnittstellen-
anpassung

Ein/Ausgabebus-
Schnittstelle
verlötetes
Gerätesteue-
steckbares rungs-IC
Gerätesteue-
Die Initiative für einen Zugriff rungsmodul
liegt bei der dma-fähigen
Steuereinheit des Ein/Ausgabe- gerätespezifische
gerätes Schnittstellen

Ein Hauptspeicherwort mit Hilfe einer eindeutigen Adresse auswählen


Lese-Zugriff zum
Hauptspeicher Inhalt des ausgewählten Hauptspeicherwortes liefern
Zweck: dma-Steuereinheit liest ein Hauptspeicherwort, das auf einer Disk gespeichert
oder mit einem Ausgabegerät ausgegeben werden soll.

Ein Hauptspeicherwort mit Hilfe einer eindeutigen Adresse auswählen


Schreib-Zugriff zum
Hauptspeicher
Inhalt des ausgewählten Hauptspeicherwortes mit geliefertem Wort überschreiben
Zweck: dma-Steuereinheit liefert ein Hauptspeicherwort, das auf einer Disk gelesen
oder mit einem Eingabegerät eingegeben wurdel.

Bild 2.35: Lese- und Schreibzugriffe im Datenverkehr zwischen den dma-fähigen


Ein/Ausgabegeräten und dem Hauptspeicher
Immer dann, wenn ein Ein/Ausgabegerät einen dma-Übertragungsauftrag ausführt,
kommt es muss sowohl der Datenfluss von/zum Prozessor als auch der Datenfluss
von/zum Gerät ausgeführt werden. Der Entwurf der Schaltungen hat die Aufgabe,
dafür zu sorgen, dass die „Überlagerung“ nicht zu einer gegenseitigen Verdrängung
(also Verzögerung des einen zu Gunsten des anderen) führt.

Ein guter Systementwurf wird immer dafür sorgen, dass die Zugriffe zum Speicher
durch den Prozessor und die durch die Ein/Ausgabegeräte im Gleichgewicht
gehalten werden können, so dass kein Nadelöhr-Effekt entsteht.

Der Systementwurf hat noch ein weiteres Problem zu lösen: der Programmablauf im
Prozessor kann nämlich nacheinander mehrere Übertragungsaufträge an verschie-
dene Ein/Ausgabegeräte schicken, bevor vorausgehende fertig gemeldet worden
sind. Das bedeutet, dass auch die betroffenen Gerätesteuerungen untereinander
beim Zugriff zu den Übertragungsmedien koordiniert werden müssen.

Computertechnik 87 Jacob
Programmsteuernde Ereignismeldungen

2.10 Programmsteuernde Ereignismeldungen


Die Ein/Ausgabebus-Schnittstelle
Die Bus-Schnittstelle, die die Pin-Funktionen an den steckbaren bzw. fest verlöteten
Gerätesteuerungen eindeutig vorgibt, hat zwei Hauptfunktionen:
die Funktion der Datenübertragung und
die Funktion der Übertragung von Ereignismeldungen zur Programmsteuerung, die
als Interrupt-Anforderungen zum Prozessor übertragen werden.
Ereignismeldungen=
Interrupt-Anforderungen
Daten Daten

steckbares verlötetes
Gerätesteue- Gerätesteue-
rungsmodul rungs-IC

Bild 2.36: Die beiden Hauptfunktionen der Ein/Ausgabe-Schnittstelle: Daten und


Interrupt-Anforderungen übertragen

Der Fluss der Interrupt-Anforderungen in Ein-Prozessor-Strukturen


Die Aufgabe jeder einzelnen Gerätesteuerung legt fest, wie viele unterscheidbare
Interrupt-Anforderungssignale sie benötigt. Bei den üblichen Peripheriegeräten
genügt es, nur eine einzige Signalleitung zur Meldung einer Anforderung vorzu-
sehen. Für komplexere Geräte sollten mehr möglich sein. Die Gesamtzahl der
(unabhängig voneinander) aktivierbaren Interrupt-Anforderungssignale ist davon
abhängig, wie viele Geräte und damit Gerätesteuerungen im Computersystem
konfiguriert werden.
Die grundsätzlichen Funktionen werden zunächst aus der Sicht eines Ein-Prozessor-
Systems entwickelt.
Im Grundzyklus eines Prozessors erkennt man die Tatsache einer Interrupt-Anforde-
rung am Wert einer einzigen binären Zustandsvariablen, die die Tatsache Interrupt
Anforderung da/nicht da angibt. Das bedeutet, dass die Tatsache Interrupt
Anforderung da/nicht da durch „Überlagerung“ aus den einzelnen Anforderungs-
signalen gebildet werden muss (Bild 2.37).
steckbares
Prozessor-
modul

Aus mehreren einzelnen


Interrupt-Anforderungen
eine einzige abfragbare machen!

Ereignismeldungen=
Interrupt-Anforderungen

steckbares verlötetes
Gerätesteue- Gerätesteue-
rungsmodul rungs-IC

Bild 2.37: Der Fluss der Interrupt-Anforderungen


In formal-logischer Ausdrucksweise würde man sagen: Interrupt-Anforderung da,
wenn Einzel-Anforderung 1 da oder Einzelanforderung 2 da oder .. oder Einzel-
anforderung n da.
Computertechnik 88 Jacob
Programmsteuernde Ereignismeldungen

Die hierdurch erzeugte Anforderung bezeichnet man als Sammelanforderung.


Durch die Bildung einer Sammelanforderung entsteht aber ein Problem: sobald man
erkannt hat, dass überhaupt eine Interrupt-Anforderung vorliegt, muss man unter-
suchen, welche einzelne Interrupt-Anforderung diese überhaupt ausgelöst hat. Es
braucht nicht eine einzelne zu sein; es können auch mehrere gleichzeitig sein.
Dadurch entsteht das Problem, diejenige Anforderung auszuwählen, deren
Befehlsfolge letztendlich ausgeführt werden soll.

Das Auswahlproblem ist nur lösbar, wenn man die gleichzeitig anliegenden Anforde-
rungen in einer eindeutigen Rangfolge (Priorität) anordnen kann und dadurch
eindeutig eine Anforderung erhält, die den höchsten Rang hat.

Die Auswahl und Offenbarung der wichtigsten Anforderung ist die Hauptaufgabe der
Interrupt-Steuer-Einheit (Interrupt Controller) bezeichnet. Man kann diese Einheit
an verschiedenen Stellen im Fluss der Anforderungen positionieren.

Als erste Alternative könnte man sie in die Prozessor-Einheit integrieren. Bild 2.38
zeigt das Problem, das dann entsteht.
steckbares
Prozessor-
modul mit

Interrupt-Controller

steckbares verlötetes
Gerätesteue- Gerätesteue-
rungsmodul rungs-IC

Bild 2.38: Interrupt-Controller im Prozessor: alle Interrupt-Request-Signale an der


Schnittstelle des Prozessors
Für einen Interrupt-Controller im Prozessor muss die Prozessorschnittstelle alle
möglichen Interrupt-Request-Signale des Computer-Systemes enthalten. Die
Offenbarung der höchst prioren Interrupt-Anforderung im Prozessor ist der Vorteil.

Mit einem Interrupt-Controller außerhalb des Prozessors lässt sich der Nachteil (dem
man früher mehr Bedeutung beimessen musste als heute) vermeiden.
steckbares
Prozessor-
modul

Sammel-
Interrupt-
Anforderung

Interrupt-Controller

steckbares verlötetes
Gerätesteue- Gerätesteue-
rungsmodul rungs-IC

Bild 2.39: Interrupt-Controller außerhalb des Prozessors: Sammel-Interrupt-


Anforderung zum Prozessor

Computertechnik 89 Jacob
Programmsteuernde Ereignismeldungen

Interrupt-Controller-Konzept (erste Intel-Generation mit ISA-Bus)

Sobald man den Interrupt-Controller außerhalb des Prozessors vorsieht, muss man
beachten, dass auch die Entscheidung über die höchstpriore Interrupt-Anforderung
außerhalb stattfindet. Das bedeutet, dass man einen Weg finden muss, wie man die
höchstpriore Anforderung gegenüber dem Prozessor „offenbart“. Zur Kennzeichnung
eines einzelnen Anforderungssignales ist ein eindeutiges Merkmal nötig, das man als
übertragbares Datenwort kodiert. Für die Übertragung des Datenwortes steht der
normale Datenpfad zur Verfügung. Deshalb ergibt sich bei diesem Konzept immer
zuerst eine Sammel-Interrupt-Anforderung und danach ein Vorgang, bei dem der
Interrupt-Controller das Merkmal des höchstprioren Interrupt als Datenwort schickt
(Bild 2.40).

Das Lesen dieses Datenwortes unterscheidet sich von dem normalen Lesen und wird
Interrupt-Bewilligung (interrupt acknowledge) genannt. Sie wird durch das
entsprechende Signal gesteuert.
Meldung des
Interrupt-Request mit der
höchsten Priorität über den
normalen Datenpfad
Prozessor-
steckbares Speicher-
Prozessor- Schnittstellen steckbares
steuerung Speicher-
modul anpassung modul
Sammel-Interrupt- Interrupt-
Request Acknowledge
Request-Merkmal Ein/Ausgabe-
Schnittstellen-
ISA-Interrupt-Controller anpassung
ODER ISA
ISA-Bus
ISA
Int.
Requ.

steckbare ISA-
Gerätesteue-
rungseinheit

Bild 2.40: Die Bildung der Sammel-Interrupt-Anforderung im Interrupt-Controller


außerhalb des Prozessors, Übertragung des Merkmals der höchst prioren Interrupt-
Anforderung direkt zum Prozessor (ISA-Konzept).
Szenario: Zwei Geräte-Anforderungen (rot markiert) sind beispielhaft gleichzeitig aktiv.
Das Konzept in Bild 2.40 ist das Konzept der frühen PC-Systeme mit dem ISA-Bus
als Ein/Ausgabebus-Schnittstelle. Das Konzept wurde im Prinzip beibehalten, als
sich der PCI-Bus bzw. die AGP-Schnittstelle (die nur eine spezielle PCI-Schnittstelle
ist) als Ein/Ausgabebus-Schnittstellen durchsetzten.

Für den Fluss der Interrupt-Anforderungen musste man das alte Konzept erweitern.
Man nutzte die Freiheit des neuen Standards, um die Interrupt-Anforderungssignale
nicht mehr einzeln zum Interrupt-Controller zu übertragen (Bild 2.41). Die „geerbten“
Interrupt-Anforderungen mussten weiterhin berücksichtigt werden, weil man ja Kom-
patibilität zu den Vorgänger-Systemen wahren wollte.

Computertechnik 90 Jacob
Programmsteuernde Ereignismeldungen

Interrupt-Controller-Konzept (folgende Generation mit PCI-Bus)

Auf dem PCI-Bus sind vier Leitungen zur Übertragung von Interrupt-Anforderungen
(requests) vorgesehen: INTA, INTB, INTC und INTD (die signaltechnisch als avtive-
low-Signale genutzt werden). Die einzelnen Gerätesteuereinheiten teilen sich in die
Benutzung dieser Leitungen zur Übertragung ihrer Anforderungen. Dabei wird der
elektronische Trick des „wired OR“ benutzt. Damit schaffte man sich auch bei den
PCI/AGP-Steuereinheiten ein Offenbarungsproblem, dessen Lösung später diskutiert
wird.

Die Steckkarte in der AGP-Schnittstelle kann zwei PCI-Interrupt-Request-Leitungen


nutze, und zwar INTA oder INTA und INTB.
Host-Bus- Speichermodul-
Schnittstelle Schnittstelle

Prozessor-
steckbares Speicher-
Prozessor- Schnittstellen steckbares
modul steuerung Speicher-
anpassung modul

Ein/Ausgabe-
Sammel- Schnittstellen-
Interrupt- anpassung
Request PCI AGP
PCI AGP
Die AGP-Steckkarte
ererbter ISA-Interrupt-Controller PCI
AGP steck-
bares Geräte-
kann die PCI-Interrupt-
mit PCI-Anpassung Anpassung
steuerungs- Requests INTA oder
INTA-INTD modul INTA und INTB
nicht- benutzen.
PCI-Interrupt-Req. PCI
Int.
Übertragung Requ.

PCI steckbares PCI verlötetes integrierte


Gerätesteue- Gerätesteue- Gerätesteue-
rungsmodul rungs-IC rungseinheit

Bild 2.41 : Fluss der Interrupt-Anforderungen in einem Computersystem mit einem


PCI-Bus und einer AGP-Schnittstelle
Der direkte Pfad vom Interrupt-Controller zum Prozessor, um die Interrupt-Merkmale
während der Interrupt-Acknowledge-Phase zu übertragen, wurde aufgegeben. Die
Protokolle des Hostbus und des PCI-Bus enthalten dafür spezielle Buszyklen, die
Interrupt-Acknowledge-Zyklen. Sobald der Prozessor aufgrund eines Sammel-
Interrupt-Request eine Interrupt zulässt, initiiert er einen solchen Zyklus, der zu
einem entsprechenden auf dem PCI-Bus führt. Das bedeutet für den Interrupt-
Controller, dass er das Merkmal des höchstprioren senden soll. Der Interrupt-
Controller handelt also nach einem Abfrage-Prinzip.

Computertechnik 91 Jacob
Programmsteuernde Ereignismeldungen

Host-Bus- Speichermodul-
Schnittstelle Schnittstelle

Prozessor-
steckbares Speicher-
Prozessor- Schnittstellen steckbares
modul steuerung Speicher-
anpassung modul

Ein/Ausgabe-
Sammel- Schnittstellen-
Interrupt- anpassung
Request PCI AGP
PCI AGP
AGP steck-
ererbter ISA-Interrupt-Controller PCI
bares Geräte-
mit PCI-Anpassung Anpassung
steuerungs-
modul
INTA-INTD
nicht-
PCI-Interrupt-Req. PCI
Int.
Übertragung Requ.

PCI steckbares PCI verlötetes integrierte


Gerätesteue- Gerätesteue- Gerätesteue-
rungsmodul rungs-IC rungseinheit

Bild 2.42: Sammel-Interrupt-Anforderung und Übertragung des Merkmals der


höchstprioren Anforderung Szenario:
Zwei Anforderungen, die sich auf INTA melden und eine interne nicht-PCI-Anforderung
wollen bedient werden. Der Controller muss die höchstpriore bestimmen und deren Merkmal
melden. Das Merkmal wird mit Hilfe von abfragenden Buszyklen über die normalen
Datenpfade zum Prozessor übertragen (interrupt acknowledge cycle).

Alternatives Interrupt-Controller-Konzept für Mehrprozessor-Systeme

Die Notwendigkeit eines prinzipiell anderen Ansatzes ergibt sich im Zusammenhang


mit Mehrprozessor-Strukturen.

Dann nämlich entstehen Interrupt-Anforderungen nicht mehr nur im Interrupt-


Controller an der Ein/Ausgabeschnittstelle (input/output interrupt controller), sondern
auch in den Prozessor-Einheiten, die sich auf diese Art gegenseitig Ereignis-
meldungen schicken können.

Damit gibt es in der Host-Bus-Schnittstelle nicht nur die einzelne Signalleitung für die
Sammelinterrupt-Anforderung, sondern mehrere Signalleitungen für ein mehrprozes-
sor-fähiges Übertragungssystem für Interrupt-Anforderungen (Bild 2.43). Dieses
System muss in der Lage sein, die Merkmale von Interrupt-Anforderungen als Daten-
wörter zu übertragen.
Man hat die Möglichkeit, für jedes Bit des Merkmal-Wortformates je eine Signal-
leitung vorzusehen oder man kann die Bits der Merkmale seriell über einige wenige -
eine Realisierung von Intel hat 3 - Signalleitungen übertragen.

Computertechnik 92 Jacob
Programmsteuernde Ereignismeldungen

Die erste Möglichkeit ist die schnellere, aber sie hat einen größeren Leitungs-
aufwand. Wenn man den Takt für die serielle Übertragung genügend groß machen
kann, ist die Übertragungszeit für die Merkmale genügend klein, so dass man den
Vorteil des geringeren Leitungsaufwandes nutzen kann.
Host-Bus- Speichermodul-
Schnittstelle Schnittstelle

Prozessor-
Speicher-
steckbares Schnittstellen steckbares
Prozessor- steuerung Speicher-
modul
anpassung modul

Mehrprozessor-fähiger
Ein/Ausgabe-
Bus zur Übertragung der ererbter Schnittstellen-
Interrupt-Merkmale Sammel- anpassung
(Interrupt-Requests und Interrupt- PCI AGP
Quittungen): APIC-Konzept Request Ein/Ausgabe-
PCI AGP Schnittstelle =
PCI-Bus
AGP steck-
ererbter ISA-Interrupt-Controller PCI
bares Geräte-
als universelle Schnittstelle,
mit PCI-Anpassung Anpassung
steuerungs- spezielle PCI-Schnittstelle (AGP)
modul
INTA-INTD für das Graphiksystem
nicht-
PCI-Interrupt-Req. PCI
Int.
Übertragung Requ.

PCI steckbares PCI verlötetes integrierte


Gerätesteue- Gerätesteue- Gerätesteue-
rungsmodul rungs-IC rungseinheit

gerätespezifische
Schnittstellen

Bild 2.43: Fluss der Interrupt-Anforderungen mit Mehrprozessor-Fähigkeit und


Kompatibilität zu ererbten Ein/Ausgabe-Schnittstellenstrukturen
Das Übertragungssystem für die Interrupt-Anforderungen ist sowohl für den
Ein/Ausgabe-Interrupt-Controller als auch für die Prozessoren erreichbar. Man muss
ein Übertragungsprotokoll definieren, damit ein geordneter Zugriff zu dem System
stattfinden kann. Ein typisches Merkmal zur Sicherung der Übertragung ist z.B., dass
nach der Übertragung einer Anforderung eine Quittung zurückgeschickt wird, um den
Empfang zu bestätigen.

Computertechnik 93 Jacob
Computerklassen

3 Stand der Computertechnik


3.1 Computerklassen
Heute wird die Sprachregelung der Computertechnik noch mehr als früher von
Marketing-Strategien der Computerhersteller bestimmt, die solche Begriffe wie Mikro-
oder Minicomputer nicht mehr verwenden. Auch einige Computerkonzepte sind heute
vom Markt verschwunden. Der aktuelle Stand des Markts und der herkömmlichen
Computerinstallationen sowie der Begriffe ist in Bild 3.1 erkennbar.
im Büro
Embedded Personal-
Mikrocontroller Computer

in Computersystemen Workstation in herkömmlichen in Höchstleistungs-


Mehrbenutzer- Rechenzentren
z.B. Peripherie- systemen
geräte
in der Produktion
herkömmliche herkömmliche
Embedded Computer Mehrbenutzer- Mainframes
in der Kraftfahrzeug- Computer
Elektronik in der
Leitsystemtechnik
in Computernetzen
in der Meß-, Regel- Embedded Computer: Server mit Ein- Vektorcomputer
und Steuerungs- Steuerung einer einzel- Prozessor-
technik nen Produktionseinheit Struktur
Supercomputer
Programmierbare Server mit Multi- mit Höchstleistungs-
in der Unterhaltungs-
Steuerung für einzel- Prozessor- Multiprozessor-
elektronik
ne Produktionseinheit Struktur Struktur

Bild 3.1: Aktuelle marktkonforme Einteilung in Computerklassen


Die Klassifikation spiegelt die unterschiedlichen Anforderungen der Anwendungs-
gebiete wider. Diese kann man gemäß steigenden Anforderungen an die Verarbei-
tungsgeschwindigkeit ordnen:
• Gerätetechnik
• Büro oder Produktion
• Serverleistungen in Computernetzen
• Höchstleistungs-Rechenzentren.

Die controller- bzw. computergestützte Anwendung erfüllt einen bestimmten Zweck:


• ein Gerät hat eine genau spezifizierte Funktion und für diese Funktion wird die
Steuerschaltung entworfen und gebaut;
• ein Produktionsprozess gilt der Herstellung von Produkten nach genau
bestimmten Regeln, die mit Hilfe von Computern eingehalten werden.

3.2 Computer in industriell produzierenden Anlagen


Im Folgenden wird das industrielle Anwendungsfeld von Computersystemen und
Mikrocontrollern untersucht; denn Computertechnik gibt es nicht nur als die
massenweise eingesetzten Desktop-Computer, die heute sicher zur Alltagserfahrung
der Leser dieses Skriptums gehören.

Produktionsprozesse lassen sich nach typischen Merkmalen einteilen (Bild 3.2).

Computertechnik 94 Jacob
Computer in industriell produzierenden Anlagen

Kontinuierliche Prozesse: Diskontinuierliche Prozesse:


Die verarbeiteten Stoffe sind Die verarbeiteten Stoffe sind fest.
„fließend“, also gasförmig, flüssig Die Verarbeitung ist zeit-
oder granuliert. Die Verarbeitung diskontinuierlich und ändert
ist zeitkontinuierlich und gestaltlos schrittweise gesteuert die
(amorph). Gestaltmerkmale der Stücke.
Prozesse der chemischen Technik Prozesse der Fertigungstechnik.
und der Verfahrenstechnik.

Bild 3.2: Einteilung industrieller Produktionsprozesse


Der Einsatz von Computern gilt nun nicht nur den Produktionsprozessen, sondern
auch allen anderen notwendigen Aktivitäten eines Unternehmens. Die unterneh-
mensweite Informationstechnik lässt sich in Forschung und Entwicklung (Technische
Informationstechnik) und Fertigung/Produktion (Kommerzielle Informationstechnik)
gliedern (Bild 3.3).

Die technische IT beschäftigt sich mit der Die kommerzielle IT beschäftigt sich
Entwicklung neuer Produkte und der mit der der Planung und Ausführung
Planung und dem Bau neuer Anlagen zu der Produktion in den Anlagen.
ihrer Produktion.

Bild 3.3: Grundsätzliche Aufteilung der Informationstechnik in einem Unternehmen


Die Technische Informationstechnik ist ein Anwendungsfeld für Hochleistungs-Server
und –Workstations. - Die kommerzielle Informationstechnik dient letztlich der
konkreten Erwirtschaftung von Gewinn. Für Computersysteme gibt es die Haupt-
Anwendungsfelder:
Vertrieb/Buchhaltung/Controlling: datenbank-orientierte Hochleistungsserver im
Verbund mit Workstations;
laufende Fertigung/Produktion: angepasste Automatisierungssysteme.

Computertechnik 95 Jacob
Computer in industriell produzierenden Anlagen

Das Segment für die Fertigung/Produktion soll genauer untersucht werden (Bild 3.4).

Bild 3.4: Die Leitebenenstruktur eines Fertigungs/Produktions-Betriebs


Grundsätzlich gibt es in einem Unternehmen eine Instanz, die die Unternehmensziele
festlegt und mehrere Instanzen, die das umsetzen. Bildhaft drückt man die
„Befehlsgewalt“ in einem hierarchischen „von oben nach unten“ Modell aus und
spricht von einem hierarchischen Ebenenmodell. An der Spitze des Modells liegt die
Unternehmensleitebene. Die Vorgaben dieser Ebene werden von der Ebene
umgesetzt, die für die zweckbestimmte Planung und den entsprechenden Ablauf der
Produktion verantwortlich ist: die Produktionsleitebene.

Das Produktions-Planungs-System (PPS) ist ein Programmsystem zur vertriebs-


gerechten Belegungsplanung der Produktionsmittel. Es gleicht Aufträge, Bereit-
stellung von Material, Belegung von Produktionsmitteln, Lagerverwaltung und
Versand so miteinander ab, dass keine behindernden Engpässe entstehen und sich
eine schnelle, aber auch kostengünstige Produktion ergibt.

Von dieser zentralen Produktionsplanungsebene ist die Betriebsleitebene zu


unterscheiden, die dafür verantwortlich ist, dass die Produktion nach Plan abläuft.
Ihre Hauptaufgabe ist also, die Produktionsmittel in einem Zustand zu halten, dass
Stillstände vermieden bzw. schnell behoben werden und die notwendige Qualität der
Produkte eingehalten wird.

Die Computer der Produktionsplanungs- und der Betriebsleitebene sind in der Regel
örtlich voneinander getrennt. Der notwendige Verbund wird durch ein Computernetz
hergestellt (Bild 3.5).

Der Leitende des Betriebs wird an der Einhaltung der Ziele gemessen, die die
Planung vorgibt. Er selbst misst seine Mannschaft daran, wie verlässlich sie die
Produktionsmittel beobachtet und zielgerichtet eingreift.

Computertechnik 96 Jacob
Computer in industriell produzierenden Anlagen

Die Standorte für die zentrale


Produktionsplanung und die Stand-
orte der Betriebe bedingen die Ver-
netzung über ein unternehmens-
weites Computernetz.
Der technische Hintergrund bestimmt
die Bezeichnung der Be-
triebsleitebene: in der Fertigungs-
technik spricht man von Fertigungs-
leitebene, in der Verfahrenstechnik
von Prozessleitebene.

Bild 3.5: Aufgabenteilung und Computerverbund in der Produktionsleitebene


Ausgedehnte Produktionsanlagen können dann sinnvoll beobachtet werden und man
kann dann sinnvolle Eingriffe machen (man sagt auch: bedienen), wenn man den
Überblick über alle Bedingungen der Produktion behält. Deshalb werden die ent-
sprechenden Einrichtungen zum Beobachten und Bedienen meistens in zentralen
Warten zusammengefasst.
Zum Beobachten setzt man Bildschirme ein, die den Zustand des Prozesses mit Hilfe
von geeigneten Bildern veranschaulichen. Zum Bedienen setzt man eingabefähige
Bildschirme oder tischartige Pulte oder wandmontierte Geräte mit den gewünschten
Bedienmöglichkeiten ein.
Jede Produktionseinheit (z.B. eine Maschine in einem Fertigungsbetrieb oder ein
Reaktor in einem verfahrenstechnischen Betrieb) verfügt über ein oder mehrere
Steuereinheiten, die den Produktionsablauf automatisch steuern. Der Aufbau solcher
Steuereinheiten ist von den Merkmalen der Anwendung abhängig.

In der Fertigungstechnik überwiegt die Aufgabe, zeit- und stückdiskrete Produktionen


zu steuern. Das hat zu speziellen Computern geführt, die Ablaufsteuerungen
realisieren und Speicherprogrammierbare Steuerung (SPS) genannt werden.
In der Verfahrenstechnik überwiegt die Aufgabe, kontinuierliche Produktionen zu
steuern. Das hat zu speziellen Computern geführt, die überwiegend
regelungstechnische, aber auch ablaufsteuernde Funktionen erfüllen.

Jede Steuereinheit eines Produktionsmittels realisiert also ein Bündel von Einzel-
Funktionen, um den Betrieb des Produktionsmittels steuern. Fasst man die
Aktivitäten aller Steuereinheiten in einer Leitebene zusammen und sucht einen
brauchbaren Begriff, dann kann man von der Leitebene der Funktionsgruppen-
Steuerungen oder verkürzt Gruppenleitebene sprechen.

Die Einheiten der Betriebs- und Gruppenleitebene fasst man auch unter dem Begriff
Leitsystem zusammen.

Die Steuereinheiten können nur das Produktionsmittel nur dann sinnvoll steuern,
wenn sie Messwerte der produktionsbestimmenden Größen auswerten können und

Computertechnik 97 Jacob
Computer in industriell produzierenden Anlagen

daraus die Werte von Größen bestimmen können, die in den Produktionsprozess
eingreifen. Die Steuereinheiten stützen sich also auf Mess- und Stellgeräte, die die
endgültige Schnittstelle zum Produktionsprozess bilden.

Dem Stand der Technik entsprechend, werden Mess- und Stelleinheiten


untereinander und mit den übergeordneten Steuereinheiten durch ein
Leitungssystem mit Linienstruktur (Bus) verbunden, auf dem ein standardisiertes
Übertragungsprotokoll gilt.

Das gleiche gilt für die Verbindung der Steuereinheiten mit den Computern der
Betriebsleitebene (Bild 3.6).

Bild 3.6: Ebenenmodell eines Leitsystems mit Verbundstruktur


In der Verfahrenstechnik kommt es häufig vor, dass die Produktionsmittel in der
freien Luft über größere Flächen verteilt angeordnet sind. Man spricht vom Feld. Die
Ebene der Mess- und Stelleinheiten wird deshalb als Feldebene bezeichnet, das
Leitungssystem als Feldbus.

Diese Begriffsbildung gibt es in der Fertigungstechnik nicht, weil Steuereinheiten und


Mess- und Stellgeräte in aller Regel innerhalb einer Maschine bzw. Aggregates
„verbaut“ sind. Das Bus-Prinzip gilt aber innerhalb der Aggregate auch.

3.3 Strukturmerkmale eines Feldbus am Beispiel des PROFIBUS


Da der PROFIBUS in der Fertigungs-, der Prozessautomatisierung und der Gebäu-
deleittechnik eingesetzt wird, gibt es unterschiedlich optimierte Varianten des
PROFIBUS: FMS steht für Fieldbus Messaging Specification, DP für Dezentrale
Peripherie und PA für Prozess-Automatisierung.
Bild 3.7 zeigt ein Beispiel für einen unterlagerten PROFIBUS-PA (process
automation), der besonderen Ex-Schutz-Bedingungen einer verfahrenstechnischen
Anlage genügt: http://www.profibus.com

Computertechnik 98 Jacob
Strukturmerkmale eines Feldbus am Beispiel des PROFIBUS

Bild 3.7: Feldbus-Struktur für ein Prozessleitsystem


Basissystem für die dezentrale Peripherie (PROFIBUS DP); unterlagerte PA-Struktur für den
Bereich mit besonderem Schutz vor Explosionen (PROFIBUS PA); bestehende Geräte mit
herkömmlichem analogem Signal zwischen 4 und 20 mA .

Ist- Stell-
wert wert
Regler
Soll-
wert Sollw ert
- Istw ert

Bild 3.8: Regelkreis-Schema eines Durchfluss-Regelkreises


Durchflussmessgerät liefert Istwert; Stellgerät wird mit Stellwert eingestellt; Ist- und Stellwert
werden über das Bussystem zur/von SPS übertragen; die Regelfunktion wird dort realisiert.
Bild 3.8 zeigt das Schema eines Durchfluss-Regelkreises: der Istwert wird über den
Bus zur SPS übertragen. Sie berechnet die Differenz vom Sollwert, errechnet daraus
über die Regelfunktion den Stellwert. Sie gibt den Stellwert an das Stellglied aus,
was mit Hilfe der Übertragung über den Bus zum Stellglied ausgeführt wird.

Im Folgenden werden einige prinzipielle Merkmale des PROFIBUS DP zusammen-


gestellt (Bild 3.9).

Das Buskabel wird von Anschlussschaltung (Busterminal) zu Anschlussschaltung


geführt. Das ergibt eine linienhafte Struktur.

Computertechnik 99 Jacob
Strukturmerkmale eines Feldbus am Beispiel des PROFIBUS

Ein Busterminal hat folgende Aufgaben:

• Es muss für eine geeignete Auskopplung eines elektrischen Signals zur ange-
schlossenen Schaltung sorgen, wenn von einem anderen Busterminal ein Signal
gesendet wird.
• Es muss eine geeignete Einkopplung eines elektrischen Signals sorgen, wenn die
angeschlossene Schaltung ein zu sendendes Signal vorgibt.
• Am Ein/Auskoppelpunkt muss der elektrische Übergangswiderstand vernachläs-
sigbar groß sein, d.h. die Leitung muss wie „durchgeschleift“ wirken.

Bild 3.9: Beispielhafte Feldbus-Struktur des PROFIBUS DP


Man kann auf dem Bus nur bitseriell übertragen. Die Übertragungsgeschwindigkeit
gibt an, wie viele Bits pro sec übertragen werden können.
Die maximale Übertragungsgeschwindigkeit ist mit 12 MBit/sec spezifiziert, wobei der
Abstand zwischen den zwei am weitest entfernten Teilnehmern bis zu 1,2 km betragen darf.
Darüber hinaus muss die Fehlerfreiheit nicht mehr garantiert sein. Will man Teilnehmer mit
einem größeren Abstand erreichen, muss man für eine Regenerierung der Signale in einem
sog. Repeater sorgen. - Die Zahl der Repeater in einer Kette ist begrenzt, so dass eine
maximale Ausbreitung von 10 km zugelassen ist.

Die elektrische Verbindung zwischen Bus und Busterminal richtet sich nach dem
Anwendungsumfeld (Bild 3.10).

Auf den beiden Adern der Zwei-Draht-Übertragung werden bitserielle Spannungs-


pulse übertragen, die immer einen entgegen gesetzten Wert haben, d.h. die zuein-
ander invers sind. Auf dieser Basis kann man die elektrische Übertragung robust
gegen Störungen machen. Weitere Signale der Profibus-Schnittstelle sind zwar
definiert, aber nicht zwingend notwendig.

Computertechnik 100 Jacob


Strukturmerkmale eines Feldbus am Beispiel des PROFIBUS

Anschluss-Beispiel für industriellen Einsatz:


das zu- und das abgehende Kabel werden auf der
Klemmleiste einer speziellen Platine aufgelegt, die in
das schützende Gehäuse eingebaut ist; siehe Bild
3.11.

Anschlussbeispiel für unkritischen


Einsatz mit SUB-D-stecker
Bild 3.10: Beispiele für den Zwei-Adern-Anschluss eines PROFIBUS DP

3.4 Eingebettete Mikrocontroller


Anwendungsbeispiel: Steuereinheit für Stellantrieb
Die Steuereinheit in Bild 3.11 veranschaulicht einige typische Aufgaben für
mikrocontroller-gestützte Schaltungen in der Automatisierungstechnik der
Verfahrensindustrie (http://www.auma-stellantriebe.de):
• Der Einstellzustand von Bedienelementen einer Bedienungseinheit (control
pannel) kann erfasst werden.
• Meldungen können auf einer Ausgabeeinheit, z.B. einem Display, ausgegeben
werden.
• Entsprechend der Änderung der Einstellung der Bedienelemente können
Steuersignale zum Antrieb erzeugt werden.
• Änderungen können nicht nur durch die Bedienelemente vor Ort eingestellt wer-
den. Sie können auch von einer zentralen Leitwarte aus über weitere Entfer-
nungen empfangen werden. Dafür gibt es an der Steuerung eine entsprechende
Schnittstelle, die für Datenübertragung geeignet ist. Die Kommandos müssen ent-
schlüsselt und in Steuersignale für den Antrieb umgesetzt werden.

Computertechnik 101 Jacob


Eingebettete Mikrocontroller

Bild 3.11: Steuereinheit für einen Stellantrieb in einer verfahrenstechnischen Anlage


Der Rundstecker an der rechten Unterseite führt die Steuerleitungen zum Antriebsmotor, auf
dessen Gehäuse eine solche Antriebssteuerung aufmontiert wird; die Zuführung der
Starkstrom-Leitungen an der linken Unterseite.
Dazu kommen die Leitungen für Kommando- und Rückmelde-Signale von/zur Zentrale. Die
Kommandos und Rückmeldungen werden bitseriell über den Feldbus (Profibus DP)
übertragen.
Die grünen Platinen dienen der Steuerungselektronik. Die Logikplatine enthält den
Mikrocontroller. Alle anderen Elemente dienen der Leistungselektronik.

Prinzipielle Funktionsmerkmale von Mikrocontrollern

Mikrocontroller werden als Steuerzentralen in Geräten eingesetzt. Deshalb verfügen


sie über eine Schnittstelle zur Ein- und Ausgabe von binären und, bei entsprechen-
dem Typ, auch analogen Signalen. Sie verfügen außerdem über einen Prozessor-
kern und Programm- und Datenspeicher. Sie sind programmierbar und durch ihre
Programmierbarkeit für unterschiedliche Anwendungen (man sagt: universell)
einsetzbar.

Eine technische Alternative sind die sog. ASICs (application specific integrated
circuit, ASIC). Dies sind Schaltungen, die speziell für einen einzigen Zweck
entworfen und in großintegrierter Form gefertigt werden. Sie sind entsprechend teuer
und lohnen sich nur, wenn eine Lösung mit Mikrocontroller nicht wirtschaftlicher ist.

Da auf einem Mikrocontroller alle drei Grundeinheiten (Prozessor, Speicher,


Ein/Ausgabe-Steuerung) integriert sind, muss man Kompromisse beim
Schaltungsumfang und damit beim Leistungsumfang schließen, weil ja nur eine
begrenzte Chipfläche für alle drei Einheiten zur Verfügung steht.

Für universell einsetzbare Computersysteme ist die Realisierungsstrategie anders:


ein spezieller IC für den Prozessor, andere spezielle für den Speicher und wieder
andere spezielle für die Steuereinheiten der Ein/Ausgabe.

Computertechnik 102 Jacob


Eingebettete Mikrocontroller

Ein konkretes Beispiel: Infineon C501

a) Allgemeines Funktionsschema mit Ausbau-Alternativen


ROM: maskenprogrammiert bei der Herstellung

ROM für Befehle


Befehle und unveränder-
liche Daten
Konstanten
=Konstanten
Prozessor- Variable
Einheit Interrupt-Bewilligung RAM für verän-
Interrupt-Anforderung derliche Daten=
Variable
Ein/Ausgabe -Daten Merkmal der höchstprioren
Interrupt-Anforderung oder
Controller-Einstellung
Bitserielle Interrupt
Bitparallele Ein/Ausgabe 3 Timer-
Ein/ Controller
Ausgabe Zähler Schnittstelle des
Microcontrollers
zur gesteuerten
Schaltung
Jedes Bit einzeln Ein- und Ausgabe-fähig Eingabe-Wort je Zähler zwei getrennte
fertig= abgelaufen= Interrupt-
Interrupt- Interrupt- Anforderungs-
Anforderung, Anforderung signale von
Ausgabe-Wort außen
fertig=
Interrupt-
Anforderung
OTP = one time programmable: einmal vom Kunden programmierbar
b) Detailliertes Funktionsschema
Bild 3.12: Das Funktionsschema des C501 (kompatibel zum 8051 von Intel)
Bild 3.12 schlüsselt an einem typischen realen Beispiel die Innenstruktur eines
Mikrocontrollers und damit auch seine Ein/Ausgabe-Schnittstelle auf. Man kann an
der Schnittstelle nach außen typische Merkmale feststellen:
• Man muss binäre Signale einzeln oder gruppenweise von der gesteuerten
Einheit einlesen können.
• Man muss binäre Signale einzeln oder gruppenweise zur gesteuerten Einheit
ausgeben können.
• Man muss nach Ablauf von vorgegebenen Zeiten zu eindeutig zugeordneten
Befehlsfolgen verzweigen können.
• Das gleiche muss gelten, wenn bestimmte externe Ereignissignale vorliegen.
• Man muss Datenwörter bitseriell von der gesteuerten Einheit empfangen können.
• Man muss Datenwörter bitseriell zu der gesteuerten Einheit senden können.

Computertechnik 103 Jacob


Eingebettete Mikrocontroller

All diese Funktionen sind in der Schnittstelle erkennbar. Nicht erkennbar ist eine
andere typische Funktion für bestimmte Anwendungen, nämlich die Ein- und die
Ausgabe von analogen Größen. Das berücksichtigt man in entsprechend
„mächtigeren“ Mikrocontrollern der gleichen „Mikrocontroller-Familie“.

Die Mitglieder einer Mikrocontroller-Familie unterscheiden sich nicht in den Befehlen,


die sie verarbeiten können, wohl aber im Funktionsumfang der Ein/Ausgabe-Einheit
und des Speichers.

Ein charakteristisches Merkmal von Mikrocontrollern ist, dass ihre Programme in


Nur-Lese-Speichern (read only memory, ROM) gespeichert sind, die ihren
Speicherinhalt auch beim Ausschalten des Stromes behalten; denn die Programme
müssen erhalten bleiben, wenn der Strom abgeschaltet wird. Eine aufwendige
Batteriepufferung für die flüchtigen Schreib-Lese-Speicher (random access memory,
RAM) ist damit vermeidbar.
Die nicht flüchtigen Programmspeicher können auch Daten enthalten, die sich nicht
ändern und deshalb Konstanten genannt werden.

Veränderliche Daten, also Variable, müssen in Schreib-Lese-Speichern realisiert


werden und dürfen flüchtig sein.

Man kann Mikrocontroller um einen externen Speicher erweitern. Das geht aber auf
Kosten der Ein/Ausgabe-Funktionen der bitparallelen Schnittstelle, die teilweise für
diese Erweiterung verwendet wird.

Die Interrupt-Anforderungen werden zu einem internen Interrupt-Controller geführt.


Für die interne Offenbarung der höchstprioren Interrupt-Anforderung wird das
schaltungstechnisch einfachste Verfahren angenommen: der Interrupt-Controller
sendet mit Hilfe einer binären Signalleitung eine Anforderung und der Prozessor
sendet auf einer anderen binären Signalleitung die Bewilligung zurück und erwartet
dabei, dass der Controller das Merkmal der höchstprioren Interrupt-Anforderung als
Eingabe-Datenwort liefert.

3.5 Computergestützte Automatisierungssysteme für mittlere und


kleine Anlagen
Leitsysteme dienen der Automatisierung ausgedehnter Produktionsanlagen mit
vielen Produktionseinheiten. Es handelt sich dabei um Großanlagen. - Es gibt aber
auch viele Automatisierungsprobleme, bei denen man eine Produktionseinheit allein
oder einige wenige automatisieren möchte, die in einem überschaubaren
Gebäudebereich angeordnet sind.
Bild 3.13 (http://www3.ad.siemens.de) zeigt eine konkrete Realisierung, und zwar in Form
einer Speicherprogrammierbaren Steuerung (SPS), die man auch kurz als
Programmierbare Steuerung bezeichnet.
Die Bezeichnung hatte früher den Zweck, diesen Typ von Steuerung, der seine Funktion
durch den Ablauf einer frei programmierbaren Befehlsfolge erfüllt, von den Steuerungstypen
zu unterscheiden, die ihre Funktion mit Hilfe von verdrahteten gedruckten Schaltungen
erfüllen.

Computertechnik 104 Jacob


Computergestützte Automatisierungssysteme für mittlere und kleine Anlagen

Alle diese Steuerungen stellen Kompaktlösungen dar. Je kleiner die Bauform, umso
kleiner ist die Zahl und der Typ der erfassbaren und ausgebbaren Größen.
Der Leistungsschwerpunkt liegt in der Realisierung von Ablaufsteuerungen.
Kompakt sind auch die Bedienungs- und Beobachtungs-Einheiten. In Leitsystemen
wird das sehr aufwendig durch Visualisierungssysteme in der Warte realisiert. Hier
erkennt man eine beispielhafte Kompaktlösung.

Bild 3.13: Speicherprogrammierbare Steuerung, Simatic S7


unten rechts Kompaktgerät S7-200, mitte rechts Mittelleistungssteuerung S7-300, oben
Hochleistungssteuerung S7-400 - ein Typ, der auch in dem o.g. Leitsystem eingesetzt wird.
Der Zweck einer Programmierbaren Steuerung ist, einen Fertigungsablauf zu garan-
tieren, der nach der Planungs- und Erprobungsphase feststeht und solange sicher
reproduziert werden muss, wie keine Änderung der Produktion stattfindet. Man wird
also einen einmal programmierten und bestätigten Ablauf nicht mehr umprogram-
mieren. Deshalb werden die Programme (wie bei einem Mikrocontroller) in einen
Nur-Lese-Speicher gebrannt und stehen damit unabhängig von Spannungsausfällen
sicher zur Verfügung.

Eine ganz andere Bautechnik ist die sog. Hutschienenmontage (Bild 3.14).

Bild 3.14: Beispiel für eine Steuerung mit Hutschienemontage


In der kompaktesten Bauweise werden Module gleicher äußerer Bauform in Reihe
auf eine Schiene aufgeklemmt werden. Ein CPU-Modul wird durch Klemmen-Module
ergänzt, an die die Leitungsdrähte von/zum Prozess angeklemmt werden können.

Computertechnik 105 Jacob


PCs, Workstations und Server

3.6 PCs, Workstations und Server


Bezeichnungen und Markt
Mit den Begriffen Personal Computer und Workstation unterscheidet man grob zwei
Leistungsklassen von Arbeitsplatz-Computern. Man lässt die beiden Begriffe
bewusst unscharf.
Das zeigt folgende Definition aus einem Glossar. Workstation: Ein Ein-Nutzer-Computer, der
leistungsfähiger und schneller ist als die meisten Personal Computer. Er wird typischerweise
für graphik-intensive Anwendungen, wissenschaftliche Untersuchungen, CAD oder CAE und
andere Anwendungen verwendet, die hohe Prozessor-, Speicher- und Graphik-Leistung
brauchen.
Da sich die Leistungen der PCs laufend verbessern, müssen sich entsprechend auch die
Leistungen der Workstations verbessern. Mit anderen Worten: Was gestern noch
Workstation genannt wurde, weil es mit dem neuesten und schnellsten Mikroprozessor
ausgestattet war, kann heute zur Gruppe der PCs gezählt werden, weil ein neuer
Mikroprozessor als Hochleistungsprozessor auf den Markt kam und entsprechende
leistungsfähigere Workstations auf den Markt kommen. Das Gesetz dieses Marktes ist: neue
Prozessoren lassen frühere veralten, billiger werden und damit für den Massenmarkt der
PCs lukrativer werden.

PCs werden auf dem Markt als No-Name-Produkte oder als Marken-Produkte
angeboten, Workstations als Markenprodukte. Bekannte, weltweit anbietende
Hersteller sind zur Zeit:
• Dell: http://www.dell.com/
• Fujitsu-Siemens: http://www.fujitsu-siemens.de/
• Hewlett Packard: http://www.hp.com/
• IBM: http://www.ibm.com/
• Sun: http://www.sun.com/
Aufbautechnik von Desktop-PCs
Man unterscheidet die standort-festen Bauformen (Desktop in Turm- oder Flachbau-
weise, Bild 3.15) von den standort-variablen (Laptop, Notebook)

Bild 3.15: Schema eines Desktop-PC mit Einbaurichtung einer Erweiterungskarte

Die zentrale Bedeutung des Motherboards


Das Motherboard ist die zentrale bautechnische und funktionale Einheit in einem PC
bzw. einer Workstation.

Computertechnik 106 Jacob


PCs, Workstations und Server

Das ist das Ergebnis einer geschickten Aufteilung der Funktionen dieser Computer
durch geeignete Schnittstellen (Bild 3.16).

Man erkennt die Funktionsgrenzen eines Motherboards an seinen Schnittstellen:


• Die Prozessor-Sockel oder –Steckplätze (Slots), wenn ein oder mehr Prozesso-
ren mit dem Motherboard arbeiten können.
• Die Steckplätze für die Speichermodule.
• Die Steckplätze für die zentrale Ein/Ausgabebus-Schnittstelle, z.B. den PCI-Bus.
• Die Steckplätze für die Stecker der gerätespezifischen Schnittstellen.
Man erkennt damit auch die Hauptfunktion des Motherboards: für den Datenverkehr
zwischen den Schnittstellen zu sorgen.
Host-Bus- Speichermodul-
Schnittstelle Schnittstelle

Prozessor-
Speicher-
steckbares Schnittstellen steckbares
Prozessor- anpassung steuerung Speicher-
modul modul

Ein/Ausgabe-
Schnittstellen-
anpassung

Ein/Ausgabebus-
Schnittstelle
verlötetes
Gerätesteue-
steckbares rungs-IC
Gerätesteue-
rungsmodul

gerätespezifische
Schnittstellen
Bild 3.16: Die Funktionsgrenzen eines Motherboards (rote Markierung)

PCs und Workstations sind heute unbestrittene Arbeitsmittel am Arbeitsplatz im


Büroumfeld. Es wurde schon gezeigt, dass für die Anwendung im industriellen
Produktionsumfeld andere Aufbautechniken notwendig sind als im Büroumfeld.
Insbesondere achtet man bei der Konstruktion darauf, dass die Betriebsbedingungen
der ICs auch bei strengen Umwelteinflüssen so eingehalten werden, dass keine
Überlastungen entstehen. Das sind Gesichtspunkte, die im Büroumfeld meistens
keiner besonderen Aufmerksamkeit bedürfen.
Sowohl im Büroumfeld als auch im Produktionsumfeld ist es wichtig, dass man Daten
zwischen einzelnen Arbeitsplätzen bzw. computergestützten Automatisierungs-
einrichtungen austauschen kann. Das führt zur Vernetzung der Computer.
Server in Netzen
In Netzen übernehmen einzelne Computer wichtige Dienstleistungsaufgaben. Des-
halb nennt man sie Server. Je mehr Nachfrage nach Dienstleistung von den Teil-
nehmern im Netz entsteht, umso schneller muss der Server arbeiten, um jeden in
einer angemessenen Zeit zu bedienen. Das macht besonders leistungsfähige
Computer notwendig.
Als Beispiel sei Hewlett Packard genommen (Bild 3.17).

Computertechnik 107 Jacob


PCs, Workstations und Server

Bild 3.17: Konstruktiver Aufbau eines HP-Netservers


Das Beispiel zeigt, dass durch die Aufgabenstellung eine völlig andere Modularisie-
rung erforderlich ist, als sie in den tischfähigen Gehäusen eines Arbeitsplatz-
computers möglich ist. In dieser Bauweise gibt es kein zentrales Motherboard, das
als Stützpunkt für alle relevanten Steckerschnittstellen dient.
• Für die Anpassung der Computerleistung gibt es leicht zugängliche
Zuführungsschienen zum Einstecken der CPU- Module.
• Das sinngemäß Gleiche gilt für die Kammer der PCI-Steckplätze (PCI slots).
• Die Festplatten (auf der hier nicht gezeigten Rückseite) können während des
laufenden Betriebes ersetzt werden (hot swap).
• Es kann eine Reserve-Stromversorgung vorgesehen werden. Die Stromversor-
gungen sind während des Betriebes ersetzbar.
• Es kann ein Reserve-Lüfter vorgesehen werden. Auch die Lüfter sind während
des Betriebes ersetzbar.

Computertechnik 108 Jacob


Supercomputer

3.7 Supercomputer
Sobald leistungsfähige Arbeitsplatz-Computer einsetzbar waren und die Vernetzung
der Computer auf der Basis zuverlässiger Standards und Komponenten möglich war,
änderten sich auch die Anwendungskonzepte vieler Anwender. Konzepte mit einer
Konzentrierung von Dienstleistungen in zentralen Rechenzentren wurden seltener
und mit ihnen die klassischen Mainframes.
Auf einem Gebiet blieben aber die Anforderungen an eine große zentrale
Computerleistung erhalten: die technisch-wissenschaftlichen Anwendungen, die sich
mit der Modellierung von aerodynamischen, fluiddynamischen, meteorologischen,
chemischen und kern-physikalischen Prozessen beschäftigen. Das ist und bleibt das
Arbeitsgebiet der sog. Supercomputer.
Supercomputer brauchen zur Bearbeitung von technisch-wissenschaftlichen
Problemen eine leistungsfähige Matrizenrechnung auf der Basis von Floating-
Point-Variablen (real-Typ), weil naturgesetzlich bestimmte Größen nur in Ausnah-
mefällen als ganze Zahlen behandelt werden können.
Alle bisher besprochenen Computertypen verarbeiten skalare Variable, was auf
diesem Gebiet nicht mehr ausreicht, weil man wegen der Matrizenrechnung besser
mit Vektoren rechnet. Man hat deshalb ein geeignetes Konzept entwickelt, durch
eine geschickte Parallelverarbeitung vektorielle Variable zu verarbeiten. Computer,
die das können, werden Vektorcomputer genannt.

Vektorcomputer
Ein wichtiger Hersteller von Supercomputern nach dem Vektorprinzip ist Cray.
Der Name ist fast zu einem Synonym geworden für die Klasse der Supercomputer.
Bild 3.18 zeigt eine beispielhafte Konfiguration.

Bild 3.18: Schrankaufbau einer typischen Konfiguration des skalierbaren


Vektorcomputers SV1 von Cray und allgemeine Prinzipien der inneren Struktur
Platzbedarf je Schrank: Höhe 1,9 m, Breite 0,8 m

Computertechnik 109 Jacob


Maße für die Computer-Leistung

Processing Cabinet: ein Node-Modul integriert mehrere Prozessor-Einheiten; skalierbar be-


deutet, dass man die Zahl der Node-Module an die Leistungsanforderungen der Anwendung
durch genügend vorbereitete Steckplätze anpassen kann.
Heat Exchanger, Pumps: Supercomputer haben ein ausgeklügeltes Kühlungssystem. Die
Schaltungsträger der Module sind aus gut wärmeleitendem Material und von Kanälen durch-
zogen, durch die in einem Kreislauf das Kühlmittel fließt. Man erkennt an der Filter-Position
den Weg der Kanäle in den Schrankecken und kann daraus auf den Kreislauf schließen.
Router: In einem Multiprozessorsystem gibt es das Problem der wahlweisen Kommunikation
zwischen den Prozessoren bzw. zwischen den Prozessoren und dem Speicher.
I/O Cables: Die Controller für die Ein/Ausgabe-Geräte müssen erreichbar sein, z.B. in den
erweiternden Schränken.

Im Wettbewerb um den besseren Computer muss es möglichst objektive Maße für


die Computerleistung geben. Das soll nun aus dem Blickwinkel der PC/Workstation-
Klasse diskutiert werden.

3.8 Maße für die Computer-Leistung


Ein Anwender wünscht sich von einem Computer
• möglichst viel Speicher für viele Anwenderprogramme und -daten,
• möglichst kurze Programmlaufzeiten,
• möglichst zweckdienliche Bedienung.
Häufig hat man von den drei genannten Aspekten der Computerleistung nur einen
einzigen im Auge: die kurze Programmlaufzeit, also den großen Durchsatz.

Seit langem gibt es das sog. MIPS-Bewertungsverfahren (million instruction per


second) für den Vergleich beim Leistungsmerkmal Durchsatz. Dabei wählen die
Prozessor- bzw. Computerhersteller Benchmark-Programme aus, deren Laufzeit
auf ihren Produkten sie bestimmen. Zum Vergleich werden die Laufzeiten derselben
Benchmarks auf einem 1-MIPS-Gerät genommen, in aller Regel eine VAX-11/780.
Das Verhältnis der gemittelten Laufzeiten bestimmt dann die vom Hersteller
angegebene MIPS-Zahl.

Leider ist die Auswahl der Programme des Benchmarks nicht standardisiert, so dass
Leistungsvergleiche zwischen den Produkten verschiedener Hersteller nur dann
möglich sind, wenn man die genauen Bedingungen ihres Zustandekommens kennt,
die meistens ein „Geheimnis“ der Computerhersteller sind. Unbedenklich ist die
Verwendung von MIPS-Zahlen als unscharfes Klassifikationsmerkmal.

Die wichtigste Alternative zu der Leistungsangabe in MIPS sind die Benchmarks der
Standard Performance Evaluation Corp. (SPEC), einer nicht gewinnorientierten
Gruppe von Computerherstellern, Systemintegratoren, Universitäten, Forschungs-
einrichtungen, Verlagen und Beratern in der ganzen Welt: http://www.spec.org

Der aktuell maßgebliche Benchmark heißt SPEC CPU2000, der den Vorgänger
SPEC CPU95 abgelöst hat.
SPEC CPU2000 besteht aus zwei Benchmark-Reihen: CINT2000 zur Messung und
zum Vergleich der Leistung bei intensiven Rechenoperationen mit Integer-Variablen
und CFP2000 zur Messung und zum Vergleich der Leistung bei intensiven
Rechenoperationen mit Floating-Point-Variablen.
Die CINT2000-Reihe ist in der Programmiersprache C geschrieben und besteht aus
12 CPU-intensiven Integer-Benchmarks.
Computertechnik 110 Jacob
Maße für die Computer-Leistung

Auszug:
Benchmark Language Category
164.gzip C Compression
175.vpr C FPGA Circuit Placement and Routing
176.gcc C C Programming Language Compiler
181.mcf C Combinatorial Optimization
186.crafty C Game Playing: Chess
197.parser C Word Processing
252.eon C++ Computer Visualization
253.perlbmk C PERL Programming Language
254.gap C Group Theory, Interpreter
255.vortex C Object-oriented Database
256.bzip2 C Compression
300.twolf C Place and Route Simulator

Sie wird zur Messung und Bewertung der folgenden Größen verwendet:
• CINT2000 : Das geometrische Mittel aus den normalisierten Ergebnissen der
Integer-Benchmarks, wobei jeder dieser Benchmarks mit bestmöglicher
Optimierung kompiliert wurde.
• CINT_base2000 : Das geometrische Mittel aus den normalisierten Ergebnissen
der Integer-Benchmarks, wobei die Benchmarks mit Standard-Optimierung
kompiliert wurden.

Definition: Das geometrische Mittel entspricht der n-ten Wurzel aus dem Produkt aller Werte
einer »Variablen« über alle »Untersuchungseinheiten« (engl.: geometric mean).

Die Benchmarks CINT2000 und CFP2000 sind Maße für die Leistung des
Mikroprozessors, der Speicherarchitektur und des Compilers eines Computer-
systems bei rechenintensiven 32-Bit-Anwendungen.

Im Folgenden wird ein Auszug von CINT2000-Ergebnissen (siehe Datum) angege-


ben (Bild 3.19).

Die Grenze zwischen PCs und Workstations ist fließend. Das Motherboard und sein
Mikroprozessor sind entscheidend für die Leistung des Computersystems. Deshalb
werden immer der Typ des Motherboards und sein Mikroprozessor als Hauptmerk-
mal angegeben.

Computertechnik 111 Jacob


Maße für die Computer-Leistung

All SPEC CPU2000 Results Published by SPEC

CINT2000 (193):
Company Name System Name #CPU Base Peak
Advanced Micro Devic Epox 8KHA+ Motherboard, AMD Athlon 1 633 656
Advanced Micro Devic Epox 8KHA+ Motherboard, AMD Athlon 1 648 671
Advanced Micro Devic Gigabyte GA-7DX Motherboard, AMD Ath 1 605 629
Advanced Micro Devic Gigabyte GA-7DX Motherboard, AMD Ath 1 621 644
Dell Precision WorkStation 330 (2.0 GHz P 1 636 659
Dell Precision WorkStation 340 (1.8 GHz P 1 602 620
Dell Precision WorkStation 340 (2.0 GHz P 1 648 664
Dell Precision WorkStation 530 (2.0 GHz X 1 642 663
Intel Corporation Intel D850GB motherboard (1.9 GHz, P 1 619 634
Intel Corporation Intel D850GB motherboard (2.0 GHz, P 1 640 656
Last updated: Thu Oct 25 11:30:17 EDT 2001
Copyright © 2000-2001 Standard Performance Evaluation Corporation.
URL: http://www.spec.org/osg/cpu2000/results/cint2000.html

Tabelle 3.1: CINT2000-Ergebnisse: Tabelle mit den Spitzenergebnissen

Bild 3.19: Ausführliches Einzelergebnis für ein System mit PENTIUM 4 (2 MHz)

(Base) Ratio = Reference Runtime / (Base) Runtime x 100: aufgerundet.


Das Gewicht eines Benchmark-Testprogramms wird durch die Reference Runtime
ausgedrückt. Je kleiner die tatsächliche Runtime ist, umso größer wird das Verhältnis
Base-Ratio bzw. Ratio. Das geometrische Mittel aus den Ratios aller Testprogramme
ist das Gesamtergebnis.
Computertechnik 112 Jacob
Strukturalternativen von lokalen Computernetzen

4 Physikalische und logische Merkmale von lokalen


Computernetzen (LAN)
4.1 Strukturalternativen von lokalen Computernetzen
Die Verkabelung ist der augenfälligste physikalische Aspekt eines Computernetzes.
Dabei hat die örtliche Anordnung (Topologie) der Computer, die durch das Netz
verbunden werden, einen maßgeblichen Einfluss.

Ein lokales Netz mit Koaxialkabel und Bus-Topologie

Das kann man am Beispiel eines Netzes verdeutlichen, das die Computer eines
Lehrstuhls der Ruhruniversität lokal vernetzt (LAN, local area network). Der
Hauptzweck des Netzes ist, die Computer der Organisationseinheit Lehrstuhl auf
einer Ebene eines Gebäudes untereinander und - über einen speziellen Computer,
der als „Schleuse“ dient - mit den Computern anderer lokaler Netze des Gebäudes
bzw. der Universität bzw. mit den Computern außeruniversitärer Netze zu verbinden.

Bild 4.1: Beispielhaftes Netz mit Bus-Topologie und Koaxialkabel


Lehrstuhl für Datenverarbeitung der RUB (bis 2000): mit Koaxialkabel verbundene T-
Verbinder (rote Linien) und Repeater zur Signalregenerierung (rote Rechtecke)
Wenn die Arbeitsräume nebeneinander angeordnet sind, ergibt die Verlegung eines
Kabels von Anschlussstelle zu Anschlussstelle die kürzeste Gesamtlänge. Ein
geeignetes Übertragungsmedium ist ein Koaxialkabel, das mit Hilfe von sog. T-
Verbindern die Weiterleitung und die Ein/Auskopplung des elektrischen Signales
ermöglicht. Man bezeichnet eine linienhafte Topologie auch als Bus-Topologie.

Die Eignung eines Übertragungsmediums für die Datenübertragung wird daran


gemessen, wie viele Daten pro Sekunde (konkret: wieviel Bit pro sec) darüber fließen
können. Ein Kabel eines bestimmten Typs lässt mit einer gegebenen Länge und
einer gegebenen Zahl von Anschlüssen eine bestimmte maximale Übertragungs-
geschwindigkeit zu. Darüber hinaus ist die Übertragung wegen Verzerrungen des
elektrischen Signales nicht mehr sicher.

Man kann also nicht beliebig die Kabelstrecken verlängern bzw. die Anzahl der
Anschlüsse vergrößern. Sobald man die zulässigen Maximalwerte überschreitet,
muss man eine Einheit zur Regenerierung des elektrischen Signales einfügen. In
Netzen, die als Übertragungsmedium Koaxialkabel und den Ethernet-Standard
verwenden, nennt man diese Einheiten Repeater.

Computertechnik 113 Jacob


Strukturalternativen von lokalen Computernetzen

Die Zusammenfassung der physikalischen Funktionen in einer Funktions-


ebene: physikalische Schicht (physical layer)
Die Verkabelung ist der augenfälligste Aspekt der physikalischen Eigenschaften
einer Computervernetzung. Die elektrischen Eigenschaften sind zwar nicht unmittel-
bar sichtbar, aber genauso wichtig. Die Gesamtheit der elektrischen Übertragungs-
technik (Kabel, Repeater, Anschaltungen in den Teilnehmern) kann man in einem
Schichten- bzw. Ebenenmodell als die unterste operative Dienstleistungsebene
ansehen, die sog. physikalische Schicht bzw. Ebene (physical layer, layer 1).
Darüber liegen hierarchisch gegliederte, auftraggebende Schichten (Ebenen).
Die Zusammenfassung der Funktionen zur gesicherten Datenübertragung in
einer Funktionsebene (data link layer)
Am Bild 4.1 kann man ein grundsätzliches Problem erkennen, das den Zugriff zum
Übertragungsmedium (medium access control, MAC) betrifft. Im Vollausbau ist an
jedem T-Stück ein Computer angeschlossen, der unabhängig von jedem anderen
betrieben wird. Damit ist es möglich, dass gleichzeitig mehrere Computer eine Über-
tragung auf dem Medium wünschen. Aber nur ein einziger darf – aus physikalischen
Gründen – ein elektrisches Signal auf dem Medium einprägen. Die Steuerung der
Belegung des Übertragungsmediums ist der eigentlichen physikalischen Übertragung
übergeordnet, weil diese wie eine Dienstleistungsinstanz der Zugriffskontrolle
behandelt werden kann.
Diese Auftragsebene stellt nicht nur den Zugriff zum Medium her, sondern überwacht
danach die Datenübertragung von Teilnehmer zu Teilnehmer (data link). Die Funk-
tionen dieser Ebene werden unter dem Begriff Datensicherungs-Ebene (data link
layer, layer2) zusammengefasst.
Ein lokales Netz mit Twisted-Pair-Kabeln und Stern-Topologie
Das Netz mit der Verkabelungsstruktur von Bild 4.1 hat den Vorteil einer preisgünsti-
gen Realisierung. Aber es hat den Nachteil, dass die maximale Übertragungsge-
schwindigkeit 10 Megabit/sec war. Als die 100 Megabit/sec-LANs aufkamen, ent-
sprach es nicht mehr dem Stand der Technik und wurde ersetzt. Das neu installierte
Netz hat eine Stern-Topologie (Bild 4.2). Diese ergibt sich dadurch, dass man eine
zentrale Verteilereinheit einzeln mit den ortsfesten Steckdosen in den Arbeitsräumen
verbindet (Punkt zu Punkt Verbindungen). Die Kabel sind keine Koaxialkabel, son-
dern Twisted Pair Kabel.

Bild 4.2: Beispielhaftes Netz mit Stern-Topologie und Twisted-Pair-Kabel


Lehrstuhl für Datenverarbeitung der RUB (nach 2000): Punkt-zu-Punkt-Verbindungen mit
Twisted-Pair-Kabeln (rote Linien), zentrale Verteilereinheit (großes rotes Rechteck) und
ortsfeste Steckdosen (rote kleine Quadrate)

Computertechnik 114 Jacob


Strukturalternativen von lokalen Computernetzen

Jeder Teilnehmer hat eine eigene Punkt-zu-Punkt-Verbindung zur zentralen Vertei-


lereinheit. Das bedeutet, dass die Teilnehmer diese Verbindungen unabhängig
voneinander und gleichzeitig für Übertragungen benutzen können, wenn die zentrale
Verteilereinheit das zulässt.
Die Verteilereinheit: Switch
Eine solche Verteilereinheit ist für den Datenverkehr einer genau definierten Menge
von Teilnehmern zuständig. D.h. auf der physikalischen Ebene, dass es eine genau
definierte Anzahl von Anschlussstellen (Ports) gibt, die über Einzelkabel mit einer
genau definierten Menge von Anschlussdosen und dort mit einer genau definierten
Menge von angeschlossenen Computern verbunden ist. Jeder Computer hat seine
eigene Übertragungstrecke (Strang) zur Verteilereinheit.
In der Verteilereinheit muss das Problem der „Wegschaltung von Port zu Port“
gelöst werden; denn jeder Teilnehmer kann zu jedem frei wählbaren anderen in der
Gruppe Daten übertragen. Die freie Wählbarkeit setzt eine eindeutige
Unterscheidbarkeit, also Identifikation voraus. Als Identifikatoren verwendet man
eindeutige Adressen aus einer genau vorgegebenen Menge von Adressen (address
space, Adressraum bzw. MAC-Adressraum). Die Verteilereinheit kann die
Wegschaltung auf der Basis der Angabe von Quell- und Zieladresse eindeutig
ausführen.
Eine Verteilereinheit, die gleichzeitig Datenübertragungen für mehrere Paare einer
durch ihren Adressraum genau umgrenzten Gruppe von Teilnehmern ausführen
kann, wird Switch genannt.

Elementar-Netze

Die Bildung von Gruppen von Netzteilnehmern mit ihren individuellen Adressräumen
ist die elementarste Stufe der Gruppenbildung.
Wenn alle Mitglieder der Gruppe zusammen angesprochen werden, spricht man von Broad-
cast. Die Gruppe wird auch als Broadcast-Domäne bezeichnet.

Ein Netz einer solchen Gruppe wird hier Elementar-Netz genannt.


Im Bild 4.2 wird der Plan einer Etage angegeben, in der es mehrere (nicht gezeigte)
Organisationseinheiten gibt, die jede für sich einen eigenen Broadcast-Bereich
beanspruchen, d.h. ein eigenes Elementar-Netz haben. Alle Kabel dieser Bereiche
sollen am Ort der symbolisch dargestellten zentralen Verteilung zusammenlaufen.
Jedes Elementar-Netz erhält seine eigene Switch-Funktion. Das muss nicht
bedeuten, dass jede Switch-Funktion ein eigenes Switch-Gerät bekommt. Es gibt
auch Switch-Geräte, die für die individuellen Switch-Funktionen mehrerer Elementar-
Netze konfigurierbar sind.
Die physikalische Funktionsebene zur Datenübertragung zwischen Elementar-
Netzen (network layer)
Damit wird das Problem deutlich, wie man Datenübertragung von Elementar-Netz zu
Elementar-Netz ausführen soll. Auf der Ebene der Steuerung der Datenübertragung
innerhalb eines Elementar-Netzes kann dieses Wegfindungsproblem nicht gelöst
werden. Der Datenübertragungsweg oder die Route zwischen den Elementar-Netzen
muss auf einer Auftragsebene darüber bestimmt werden.

Computertechnik 115 Jacob


Strukturalternativen von lokalen Computernetzen

Die Erreichbarkeit von Elementar-Netzen: Router


Die Einheiten zur Bestimmung der Route zwischen den Elementar-Netzen wird als
Router bezeichnet.
Man kann die Funktionen des „Switchens“ und „Routens“ auf einem einzigen
konfigurierbaren Gerät realisieren. Ein solches Gerät bezeichnet man auch als
Layer3-Switch. Man kann sie aber auch auf getrennten Geräten realisieren.
Dann kann man je eine Verbindung zwischen einer Switch-Funktion und dem Gerät
mit der Router-Funktion vorsehen. In Bild 4.2 erkennt man an der Verteilereinheit
(Switch) das Symbol einer offenen Datenverbindung. Das ist die Darstellung einer
möglichen Verbindung zu einem Router.
Bild 4.3 zeigt, wie die Switches der Elementar-Netze mit dem Router verbunden
werden. Im konkreten Fall werden Lichtfaser-Kabel zu einem zentral gelegenen
Router verwendet. Der zentrale Router stellt die Verbindung der Elementarnetze
untereinander her. Router stellen universitätsweit die Verbindung zwischen den
Elementarnetzen der einzelnen Organisationseinheiten her. Die wichtigste für den
Datenverkehr nach außen ist das Rechenzentrum. Dort stehen die „Schleusen“ zu
den Netzen außerhalb der RUB zur Verfügung.

LAN i-1
Switch i-1

LAN i
Switch i

LAN i+1
Switch i+1

Router

Bild 4.3: Die Erreichbarkeit von Elementar-Netzen über Router


Aus der Sicht eines Routers ist die Frage der Erreichbakeit eines Endteilnehmers
einfach zu lösen, wenn eine streng baumartige Struktur (Baum-Topologie) gewählt
wird. Dabei gibt es nur eine einzige mögliche Route. - Mehrere alternative Routen
zwischen ElementarNetzen sind wichtig, wenn man die Erreichbarkeit im Falle von
Geräteausfällen oder Überlastungssituationen weiterhin gewährleisten möchte.
Router beobachten den Betriebszustand der Routen mit Hilfe eines speziellen
Meldesystems und wählt die „beste“ Route.

4.2 Systemtechnische Merkmale am Beispiel der ersten Ethernet-


Varianten
Netze mit Koaxial-Kabeln
Die Netze dieses Typs werden in (linienhafter) Busstruktur aufgebaut. Sobald die
zulässige Länge eines Stranges (Segmentes) überschritten wird, setzt man zur
Signalregeneration Zwei-Port- oder Multi-Port-Repeater (Bild 4.4).

Computertechnik 116 Jacob


Systemtechnische Merkmale am Beispiel der ersten Ethernet-Varianten

Bild 4.4: Beispiel-Topologie eines 10Base2-Ethernets


In einer solchen Anordnung kann eine beliebige Nutzer-Einheit (Station) mit einer
beliebigen anderen in Beziehung treten und über die Kommunikationseinrichtung
Koaxialkabel-Repeater Daten übertragen. - Die Übertragungseinrichtung ist als
Ganzes ein „shared medium“, ein allen Stationen gemeinsames Betriebsmittel,
dessen sich die Sendewilligen nur zeitlich nacheinander bedienen können.

Signalübertragung zwischen den Network-Interface-Controllern der Stationen


Die Einheit für das Senden/Empfangen in einer Station ist der Network-Interface-
Controller (NIC). Eine Sender/Empfänger-Schaltung kann Spannungspegel auf die
Koaxialleitung einprägen (line driver, Transmitter) und ankommende Spannungspe-
gel empfangen (Receiver). Die Kombination heißt auch Transceiver (Bild 4.5).

Bild 4.5: Koax-Transceiver als Sender/Empfängerschaltungen

Computertechnik 117 Jacob


Systemtechnische Merkmale am Beispiel der ersten Ethernet-Varianten

Ein Treiber prägt das Signal ein, messbar am Spannungspegel (rot) gegen ein
Bezugspotential (blau). Das Signal läuft als Spannungsdifferenzsignal zwischen dem
Innenleiter und dem (konzentrisch darum liegenden) Außenleiter zu den beiden
Leitungsenden.

Der Empfang des Spannungsdifferenzsignals darf das weiterlaufende Signal nur


wenig verfälschen, damit es möglichst unverfälscht auch alle anderen Empfänger bis
zum Ende der Leitung erreicht. Dort sorgt der Abschluss mit einem besonders
angepassten Widerstand (Wellenwiderstand) dafür, dass das Signal nicht reflektiert
wird, d.h. auf der Leitung in Gegenrichtung zurückläuft.
Der Repeater schaltet ein (an einem beliebigen Port) empfangenes Signal auf einen
internen „Verteilerknoten“, der es an alle anderen verteilt. Auf dem Strang, über den
der empfangene Datenstrom ankommt, wird nichts zurückgesendet. Der entspre-
chende Treiber ist nicht aktiv, während die Treiber der anderen Stränge aktiv sind
und das empfangene Signal regeneriert senden.
Galvanische Trennung: eine grundsätzliche Maßnahme gegen Störungen
In vielen elektronischen Geräten, auch in Computern, ist das Bezugspotential
geerdet, indem es mit dem Metallgehäuse galvanisch verbunden wird. Anders
ausgedrückt: der Bezugsleiter und das (elektrisch leitende) Gehäuse sind nicht
galvanisch getrennt.

Die leitende Verbindung zwischen dem Bezugspotential und dem Gehäuse eines
Computers hat bei einer Vernetzung ungute Konsequenzen. Da der Außenleiter des
Koaxialkabels die Bezugsleiter der Computer untereinander leitend verbindet,
entstehen sog. Masseschleifen (Bild 4.6).

Datenpfad in der Anpas-


sung
Verteilereinheit
(Repeater)

Anpas-
sung

NIC NIC NIC


Computer Computer Computer

NIC NIC NIC


Computer Computer Computer

Störspannungs-
Quelle
Ausgleichs-
- +
strom

Bild 4.6: Beispiel für eine Masseschleife: eine Störspannungsquelle treibt einen
Ausgleichsstrom durch die Masseschleife

Computertechnik 118 Jacob


Systemtechnische Merkmale am Beispiel der ersten Ethernet-Varianten

Störungen entstehen dadurch,


• dass die Erdpotentiale der Gebäude (in denen die Stationen betrieben werden)
unterschiedlich sein können und
• dass in solchen Schleifen Störspannungen durch Induktion entstehen.
Man stelle sich die Wirkung eines Blitzschlages im Bereich der Gebäude vor, wo die
Stationen stehen. Die entstehenden Ausgleichsströme in den Schleifen bewirken
nichts Gutes.
Durch Induktion entstehen zwar deutlich kleinere Spannungen. Diese treiben aber
ebenfalls Ströme durch die Schleifen, die dann stören, wenn sie im Innen- und
Außenleiter ungleich sind. Das ist eigentlich immer der Fall ist, weil die Widerstände
in den entsprechenden Strompfaden ungleich sind. Je kleiner die Pegel der empfan-
genen Signale sind (Nutzsignale), umso verfälschender wirkt ein Störsignal.

Die Lösung heißt: galvanische Trennung. Das heißt: der gesamte Transceiver soll
keine leitende Verbindung mit der übrigen Schaltung haben.

Ein Mittel, die galvanische Trennung zu realisieren, sind Übertrager. Die entspre-
chenden Symbole sind im Bild 4.7 deutlich erkennbar. Das Signal auf der einen Seite
eines Übertragers wird mit Hilfe der magnetischen Induktion auf die andere Seite
übertragen, wobei die beiden Stromkreise keinen leitenden Kontakt haben. Die
Übertragung geschieht meistens im Verhältnis 1:1.

Anpas-
sung
Datenpfad in der
Verteilereinheit
(Repeater)

Anpas-
sung

NIC NIC NIC


Computer Computer Computer

NIC NIC NIC


Computer Computer Computer

Bild 4.7: Galvanische Trennung im beispielhaften 10Base2-Ethernet


Treiber links unten ist aktiv, alle Empfänger „hören“ mit; an den Leitungsenden sind die
Abschlusswiderstände zu erkennen.

Übertrager

Den Übertrager-Kern bildet ein ringförmiger Ferrit-Toroid.


Um ihn sind zwei Spulen gewickelt. Das Ganze ist in einem IC-Gehäuse
normaler Größe vergossen. Die beiden Wicklungsenden der beiden
Spulen werden mit je einem Pin des IC-Gehäuses verbunden.

Die Funktion ergibt sich aus dem Induktionsgesetz.

Computertechnik 119 Jacob


Systemtechnische Merkmale am Beispiel der ersten Ethernet-Varianten

Eine Spannung an einer (primären) Spule erzeugt einen Strom, der ein magnetisches Feld
erzeugt. Dieses Feld erzeugt einen magnetischen Fluss im Ferrit-Kern, der die andere Spule
durchsetzt. Wenn sich die eingeprägte Spannung ändert, ändern sich der Strom, damit das
magnetische Feld und damit der magnetische Fluss. Die Flussänderung erzeugt eine
Spannung in der anderen (sekundären) Spule.
Solange in dieser Spule kein Strom fließt, wird der magnetische Fluss bzw. seine Änderung
nur vom primären Strom bestimmt. Fließt aber ein sekundärer Strom, dann hat dieser auch
ein Magnetfeld und dieses beeinflusst den magnetischen Fluss im Kern. Der sekundäre
Strom ist immer so gerichtet, dass der von ihm erzeugte Fluss dem primär erzeugten
entgegen gerichtet ist. Mit anderen Worten: Versucht der Strom in der Primärspule, den
Fluss zu erhöhen/erniedrigen, dann versucht der in der Sekundärspule, die damit
verbundene Flussänderung zu verhindern.
An die beiden Pole der primären Spule legt man zueinander invertierte Spannungssignale.
Damit wird an der Primärspule die Spannungsdifferenz U1-U2 wirksam, die auch auf die
Sekundärseite „übersetzt“ wird. In LANs werden Übertrager mit dem Wicklungsverhältnis 1:1
eingesetzt (Bild 4.8), in dem auch die Spannungsdifferenz „übersetzt“ wird.

Bild 4.8: Funktion von LAN-Übertragern

Netze mit Twisted Pair Kabeln


Ethernet-Netze mit Koaxial-Verkabelung haben einen Kostenvorteil durch billige
Verkabelung, sind aber veraltet. Bei Twisted-Pair-Netzen ist eine sternförmige
Verkabelung notwendig, die etwas aufwendiger ist. Diese haben aber den Vorteil,
dass die Entflechtung von Datenströmen strukturell vorbereitet ist, d.h. dass sie
dadurch für hohe Übertragungsraten besser geeignet ist.

Bild 4.9: Beispielhafte Topologie eines 10BaseT Ethernets

Computertechnik 120 Jacob


Systemtechnische Merkmale am Beispiel der ersten Ethernet-Varianten

Hubs haben hier die gleiche Funktion wie die Multiport-Repeater im Koaxial-Netz: sie
sind zentrale Verteilereinheiten, an deren Anschlussschnittstellen (Ports) die
Verbindungskabel von/zu den Stationen sternförmig zusammenlaufen.
Sie sind in heutigen Netzen überholt, weil sie zum gleichen Preis durch die
leistungsfähigeren Switchs ersetzt werden können.

Kabeltypen

Die Zuordnung zwischen Leitungen und Kontaktfahnen kann man im Bild 4.10
erkennen. Ein Ethernet-Twisted-Pair-Kabel nützt 4 verdrillte Doppeladern.
Sind die Paare nicht einzeln geschirmt, dann spricht man von UTP-Kabeln
(unshielded twisted pair). Sind die Paare einzeln geschirmt, dann spricht man von
STP-Kabeln (shielded twisted pair). UTP-Kabel haben meistens einen Folienschirm,
der die verdrillten Paare insgesamt ummantelt. Dann spricht man auch von FTP-
Kabeln (foil shielded twisted pair).
Die Paare sind farbkodiert und numeriert. Der Grund liegt darin, dass dieser Kabeltyp
nicht nur für die Anwendung im Twisted Pair Ethernet vorgesehen ist, sondern auch
für den Token Ring sowie für ATM- und ISDN-Netze. Jede Anwendung benutzt ihre
eigenen funktionalen Zuordnungen.

Im Ethernet gilt die folgende Zuordnung, wobei nur die Hälfte


der Paare genutzt wird:
orange/weiß für Transmit-positiv auf Pin 1,
orange für die Transmit-negativ auf Pin 2,
grün/weiß für Receive-positiv auf Pin 3,
grün für Receive-negativ auf Pin 6.
Die Zuordnung der übrigen Leitungen ist irrelevant, weil sie
nicht genutzt werden. Das ist in gewisser Weise
Verschwendung, aber es ist so.

Man beachte: Die Begriffe Transmit und Receive sind aus


der Sicht des Nutzer-Computers, nicht aus der Sicht des Hub
oder Switch definiert!

Bild 4.10: RJ45-Sockel und Stecker/Kabel für Twisted Pair-Verkabelung

Network-Interface-Controller

Network-Interface-Controller enthalten als Kernschaltung ein grossintegriertes IC,


das früher nur die Netzwerkfunktionen ausführte, heute aber zusätzlich auch die
Controllerfunktionen für den Systembus, in PCs den PCI-Bus, ausführt (Bild 4.11).

Für die früher weit verbreitete Koaxial-Anwendung wird ein besonderer Transceiver
eingesetzt, der das massebezogene Übertragungssignal erzeugt.
Die Stromversorgung dieses Transceivers muss galvanisch vom Bezugspotential der übrigen
Schaltung getrennt sein. Deshalb wird ein entsprechender IC notwendig.

Computertechnik 121 Jacob


Systemtechnische Merkmale am Beispiel der ersten Ethernet-Varianten
Galvanische
Trennung
(isolator) Separate Controller-Struktur
RJ-45
für frühere Netzwerkkarten mit
einem 10Base-coax- und
Twisted
einem 10Base-twisted pair-
Pair Anschluss
Network
PCI- Network
Bus Interface Coaxial
Controller Controller Transceiver Network
Transmitted Data
Received Data

V1
V in 5V Galvanisch
getrennte
PCI- NIC- V2 Spannungs-
Bus Back-Controller Masse erzeugung
Interface
RJ-45

Twisted Integrierte Controller-Struktur


Fast-Ethernet-Controller Pair für aktuelle Netzwerkkarten mit
Network mit Fast-Ethernet-Anschluss

PCI-
Bus
Bild 4.11: Frühe und aktuelle Ethernet-Controller-Struktur
10Base2 Anwendung mit einem Koaxialkabel und 10BaseT Anwendung mit Twisted Pair
Kabel oben; sie entspricht nicht mehr dem Stand der Technik; die aktuelle Struktur unten.

Bild 4.12: Beispielhafte moderne Ethernet-Netzkarte


(Intel PRO 100 S mit dem Fast-Ethernet-Controller 82550))

Elektrische Codierung der Signale im Ethernet

In den frühen Ethernet-Varianten wird der Manchester-Code benutzt: eine log. 1


wird als Signalpegel-Übergang von niedrigem Pegel zum hohen und eine log. 0
durch den umgekehrten Übergang codiert.
Um einen Eindruck von den tatsächlichen elektrischen Signalen zu bekommen,
werden beispielhafte gemessene Signale vorgestellt: zunächst für das Signal auf
einem Koax-Kabel, das auf Masse (besser: signal ground) bezogen wird (Bild 4.13).

Computertechnik 122 Jacob


Systemtechnische Merkmale am Beispiel der ersten Ethernet-Varianten

Bild 4.13: Beispiel für eine Manchester-codierte Bitfolge: Ideales und tatsächliches
Signal auf einem Koaxkabel

Ethernet-Controller für das Twisted-Pair-Netz 10BaseT erzeugen beim Senden zwei


(in aller Regel um den 0Volt-Pegel symmetrische) Signale: ein originales und ein
invertiertes, d.h. das am 0 Volt Pegel gespiegelte (Bild 4.14).

Bild 4.14: Positives und invertiertes Signal


Triggert man ein Oszilloskop auf den Beginn des Taktes, so überlagern sich die Bilder zu
einem Augenmuster.
Diese beiden Spannungen werden an den Sende-Übertrager angelegt. Die
Spannungsdifferenz wird auf die andere Seite übertragen.

In Empfangsrichtung überträgt der Empfangs-Übertrager die ankommende


Spannungsdifferenz an die zwei Eingangspole der Empfänger-Schaltung, die die
empfangene Differenzspannung auswertet.

Computertechnik 123 Jacob


Systemtechnische Merkmale am Beispiel der ersten Ethernet-Varianten

Elektromagnetische Verträglichkeit
Beim Senden erzeugt das NIC-IC die notwendigen Übergänge des elektrischen
Stromes an der NIC-nahen Wicklung des Übertragers für die Transmit-Richtung.
Jeder Übergang erzeugt auf der leitungsnahen Wicklung einen Spannungspuls.
Beim Empfang kommt ein Spannungspuls an der leitungsnahen Wicklung des Über-
tragers in Receive-Richtung an. Er wird in einen entsprechenden Spannungspuls an
der NIC-nahen Wicklung gewandelt.
Der Strom, der beim Senden eingeprägt wird, darf sich nicht zu schnell ändern. Eine
Stromänderung stört andere elektronische Schaltungen umso mehr, je schneller sie
ist. Das Induktionsgesetz, das oben für die Übertragerwirkung genutzt wurde, ist hier
ein Grund für Störungen.
Die Sende-Treiber sind current-slope-controlled, d.h. die Stromeinprägungen haben
geregelte und begrenzte Übergangsgradienten.

Zugriff auf das gemeinsame Übertragungsmedium in LANs mit Busstruktur

Nur ein einziger Sender darf Spannungspulse auf der Koaxialleitung erzeugen. Wenn
das mehr als einer tut, dann sind die (durch Überlagerung entstehenden)
Spannungswerte nicht mehr eindeutig. - Umgekehrt muss man auch eine
Sendepause erkennen können, was man durch eine entsprechende Festlegung der
Spannungspulse für die 1en und 0en des Bitstromes erreicht.
Im Ethernet ist die Festlegung so, dass die 1en und 0en als Übergänge zwischen
zwei Spannungspegeln kodiert sind. Wenn kein Sender mehr Übergänge erzeugt,
dann ist das ein Zeichen für eine Pause, also die Belegbarkeit des Mediums.
Zur Begriffsbildung: Man bezeichnet einen eingeprägten Pulsstrom als Träger (carrier).
Eine neue Belegung ist nur möglich, wenn kein carrier mehr beobachtet wird (carrier
sense). Es können dann mehrere Sendewillige beginnen (carrier sense multiple access).
Der Übertragungszustand der Leitung muss beobachtet werden, damit eine Kollision
entdeckt wird (collision detect). Das gab dem Verfahren den Namen: CSMA/CD.

Die sendewilligen NICs müssen sich dann über die Benutzung des Übertragungs-
mediums einigen. Kein NIC weiß etwas von dem anderen. Im Grunde können alle
Sendewilligen nur beginnen und warten, was passiert. So beginnt eine Phase der
„Unsicherheit“ bei der Benutzung des gemeinsamen Mediums. Durch die endliche
Ausdehnung der Leitungen und die Laufzeit der Signale wird das Problem noch
etwas komplizierter (Bild 4.15).
Zum Zeitpunkt t0 ist Pause auf dem Koaxialkabel. NIC A hat einen Übertragungswunsch
und startet seine Sendung. Das eingeprägte Signal läuft mit beinahe Lichtgeschwindigkeit
nach rechts und links von dem T-Verbinder. Noch bevor das Signal bei NIC C
angekommen ist, beginnt C zum Zeitpunkt t1 zu senden. Er bemerkt den Konflikt, sobald
die Signalfront des anderen Senders bei ihm angekommen ist (Zeitpunkt t2). Er sendet
weiter, weil seine Signalfront beim anderen angekommen sein muss, damit auch dieser
den Konflikt feststellen kann (Zeitpunkt t3).

Der Ethernet-Standard legt bestimmte Merkmale fest, um das Kollisionsverfahren so


anwenden zu können, dass ein fehlerfreier Betrieb gesichert ist. Eines davon ist der
Ablauf einer Mindestzeit, bis zu der keine Kollision aufgetreten sein darf. Gab es
dabei keine Kollision, dann war der aktuelle Sender entweder der einzige Sender,

Computertechnik 124 Jacob


Systemtechnische Merkmale am Beispiel der ersten Ethernet-Varianten

oder er hat die anderen rechtzeitig erreicht, so dass diese die Belegung erkennen
konnten, bevor sie senden wollten.

Bild 4.15: Beispiel für eine Kollision in einem Ethernet mit Busstruktur
t0: A sendet; t1>t0: C sendet zusätzlich; t2>t1; C erkennt anderen Sender; t3>t2: A erkennt
anderen Sender
In allen Fällen, die zu einem Rückzug wegen Konflikts geführt haben, starten alle
Sendewilligen einen neuen Versuch. Dabei kommt ein statistisches Verfahren zum
Einsatz, das man sehr gut mit einem Würfelspiel vergleichen kann.
Angenommen, man hat zwei „Bewerber“. Beide nehmen einen zweiseitigen Würfel mit
den Seiten 0 und 1. Nach dem Würfeln hat jeder „Bewerber“ eine Zahl gewürfelt,
entweder eine 0 oder eine 1. Die Zahl wird mit der sog. Slotzeit multipliziert. Das bestimmt
den Zeitpunkt der neuen Sendung.

Bei der 0,1- bzw. der 1,0-Kombination ergibt sich eine klare Reihenfolge, bei der 0,0- bzw.
1,1-Kombination nicht. Die Chancen, dass eine 0,1/1,0 - oder eine 0,0/1,1- Kombination
entsteht, sind je ½. Anders ausgedrückt: würde man dieses Würfelexperiment sehr oft
wiederholen, dann wäre in der Hälfte der Fälle der Konflikt gelöst.

Ein ungünstiges Würfelergebnis erzwingt wieder einen Rückzug und neues Würfeln. Jetzt
nehmen die „Bewerber“ einen 4seitigen Würfel. Bei 12 von den 16 möglichen
Ergebniskombinationen ist der Konflikt gelöst; die Chance dafür ist ¾ .

Führt auch das nicht zum Erfolg, so erhöht man exponentiell die Würfelseiten weiter, bis
das Zufallsergebnis (hoffentlich) einen eindeutigen einzigen ersten ermittelt hat. (Es gibt
ein Abbruchkriterium und es ist nicht ausgeschlossen, dass dies auch erreicht wird.)

Was hier als Würfelexperiment erklärt wurde, ist tatsächlich eine elektronische
Entscheidungsfunktion im NIC auf der Basis eines entsprechenden Algorithmus.

Computertechnik 125 Jacob


Systemtechnische Merkmale am Beispiel der ersten Ethernet-Varianten

Zugriff auf das gemeinsame Betriebsmittel in LANs mit Hubs

Die sternförmige Verkabelung bewirkt, dass jeder Computer sein eigenes An-
schlusskabel hat und dass damit kein Benutzerkonflikt an einem gemeinsamen Kabel
entstehen kann (Bild 4.16).

Bild 4.16: Beispielhaftes Ethernet mit Hub und sternförmiger Punkt-zu-Punkt-


Verkabelung (Distanzgraph zur Abschätzung der Laufzeiten)
Aber es gibt ein gemeinsames Betriebsmittel im Hub selbst (Bild 4.17). Alle Treiber-
und Empfänger-Schaltungen nutzen einen gemeinsamen internen Signalpfad, z.B.
eine Leiterbahn, die die Anschlusspunkte der Treiber/Empfänger-Schaltungen
untereinander verbindet. Nur ein Empfänger darf auf seinem Anschlusspunkt ein
Spannungssignal einprägen. Alle Treiber prägen dieses Signal auf die Leitungen zu
den angeschlossenen Computern ein.

Bild 4.17: Interne Signalpfad-Struktur eines Twisted-Pair-Hubs


Empfänger in Richtung Hub, Treiber in Richtung angeschlossener Computer
Das Verfahren, das für den Zugriff zum Medium Koaxialkabel entwickelt wurde, ist
auch hier anwendbar. Sobald der NIC eines Computers zu senden beginnt, wird das
Signal zuerst den Hub erreichen, bevor es von ihm verteilt wird. Sobald der Hub
mehr als zwei Signale gleichzeitig empfängt, verteilt er ein unbrauchbares Überlage-
rungssignal. Das stellen alle NICs fest. Der Rückzug der Sender, das Würfeln und
Neu-Senden geschehen wie oben beschrieben.

Die Datenübertragung mit Datenpaketen (frames)


Die eigentliche Datenübertragung findet in der Phase nach der eindeutigen
Zuordnung des Übertragungsmediums zu einer Station statt. Dann wird ein
Datenpaket in einem genau festgelegten Format übertragen (Bild 4.18).

Computertechnik 126 Jacob


Systemtechnische Merkmale am Beispiel der ersten Ethernet-Varianten

Bild 4.18: Datenpaket-Format (Frame) im Ethernet


• Die ersten 7 Präambel-Bytes dienen der Anpassung der Takterkennung in den
Empfänger-Schaltungen auf den Sende-Takt, also der Bitsynchronisation.
• Das Start-Byte des Datenpaketes (start of frame delimiter) dient der Byte-
Synchronisation. Sobald es vollständig empfangen ist, hat man den Start-
Zeitpunkt des folgenden Bytes und damit die Startzeitpunkte aller folgenden Bytes,
da man auf Grund der Bitsynchronisation exakt mitzählen kann.
• Wenn das gesendete Datenpaket dann als erstes die Zieladresse (destination
address) enthält, kann die Empfangselektronik aller empfangenden NICs sofort mit
dem Empfang und der Analyse der Zieladresse beginnen. Damit wird eine
eindeutige Auswahl derjenigen NICs getroffen, die das Datenpaket erreichen soll.
Derjenige bzw. diejenigen NICs, die nicht adressiert sind, brauchen sich nicht
mehr mit den weiteren empfangenen Bytes zu beschäftigen.
• Im Empfänger kann es wichtig sein, den Verursacher des empfangenen
Datenpaketes zu kennen, z.B. um ihm eine bestätigende Rückmeldung zu geben.
Deshalb sieht das Format als nächstes die Quelladresse (source address) vor.
• Da die Anzahl der übertragenen Daten frei wählbar ist, muss zuerst angegeben
werden, wie viele Daten übertragen werden, bevor sie gesendet werden (length).
• Die Übertragung der Daten wird von einem Feld von Sicherungsbits abgeschlos-
sen. Diese dienen dem Test der fehlerfreien Übertragung in den Empfängern.
Die Bildung der Ethernet-Adressen
Für die Bildung der Ethernet-Adressen gelten bestimmte Format-Festlegungen, die
am Anfang der technischen Entwicklung des Ethernets entstanden. Die Festlegung
der Ethernet-Adressen verfolgt ein Ziel, das aus der Sicht der Internet-Vernetzung
etwas eigenartig erscheint: es dient der Unterscheidung der einzelnen NICs nach
Hersteller und nach einem erkennbaren Einzelprodukt des Herstellers.
Hierfür enthalten die ersten drei Bytes (vom Paket-Anfang her gezählt) ein Bitmuster,
das als Hersteller-Kennung dient. Die folgenden drei Bytes dienen der Unterschei-
dung der NICs. Die Hersteller sorgen dafür, dass es sehr unwahrscheinlich ist, in
einem lokalen Netz NICs mit gleichen Adressmerkmalen zu verwenden. Man nennt
die so festgelegte Adresse auch MAC-Adresse (medium access control).

Im Internet-Protokoll dient die Festlegung der Adressformate der eindeutigen


weltweiten Identifizierung eines Computers im Internet. Dabei interessiert überhaupt
nicht, wer den NIC des Computers hergestellt hat.
Das bedeutet, dass es zwischen den Formaten der Internet- und der MAC-Adressen
grundsätzliche Unterschiede gibt. Die Internet-Adressen sind „logische“ Adressen,
die unabhängig von dem Standard sind, der für die physikalische Übertragung gilt.
Wenn ein lokales Netz dafür den Ethernet-Standard verwendet, müssen die Internet-
Adressen in die eindeutig zugeordneten Ethernet-Adressen umgesetzt werden.

Computertechnik 127 Jacob


Token-basierte LANs

Das übliche Verfahren der Adressumsetzung hat folgende Prinzipien: In jedem Computer
gibt es eine Datenstruktur zur Speicherung gesammelter Zuordnungen von Internet-
Adressen mit den zugehörigen Ethernet-Adressen. Sobald ein Datenpaket an einen
Teilnehmer mit einer Internetadresse gehen soll, deren zugeordnete Ethernet-Adresse noch
nicht bekannt ist, wird ein spezieller Datenverkehr zur Offenbarung der zugeordneten
Ethernet-Adresse abgewickelt. Das Ergebnis ist die Aktualisierung der Datenstruktur in allen
Teilnehmern des lokalen Netzes, die noch nicht über diese Zuordnung verfügen. Damit kann
die Zieladresse im aktuell zu versendenden Datenpaket eingesetzt werden, und alle
Teilnehmer verfügen über die Zuordnung bei künftigem Bedarf.

4.3 Token-basierte LANs


Das nicht-deterministische Auswahlverfahren ist typisch für den Ethernet-
Standard (IEEE 802.3). Es bringt solange wenig Zeitverlust für Belegungsentschei-
dungen, wie durch wenig Nachfrage wenig Konfliktpotential erzeugt wird. Je mehr
Datenverkehr aber von den Stationen nachgefragt wird, umso häufiger wird es
längere Entscheidungsphasen geben, bis sich schließlich die NICs überwiegend mit
Entscheidungen und nicht mehr mit Datenverkehr beschäftigen.

Im Gegensatz zum Ethernet steht das deterministische Verfahren mit Hilfe von
speziellen Frames zur Vergabe der Übertragungseinrichtung, sog. Token. Die beiden
wichtigsten Standards für Token-basierte LANs sind: der FDDI-Standard (fiber
distributed data interface) und der (IBM) Token-Ring Standard (IEEE 802.5).

Die Ring-Topologie

Das Übertragungsprinzip bei Ring-Topologie unterscheidet sich grundsätzlich von


dem bei Bus- oder Stern-Topologie. Dort kann man feststellen, dass ein Sender
immer mehrere Empfänger gleichzeitig hat. Beim Ring sendet immer ein Sender an
nur einen Empfänger. Die Teilnehmer eines lokalen Netzes werden durch die
ringförmige Hintereinanderschaltung von mehreren Übertragungsstrecken erreicht,
die jeweils von einem Sender zu einem Empfänger übertragen (Bild 4.19).

NIC1 NIC2 NICn

Bild 4.19: Kettung der Übertragungsstrecken bei Ring-Topologie


Im IBM-Token-Ring ergeben sich die Sender/Empfänger-Schaltungen dadurch, dass
man über ein geschirmtes Twisted-Pair-Kabel überträgt, im FDDI-Netz dadurch, dass
man über Glasfaser überträgt.
Im Bild 4.19 erkennt man deutlich einen Nachteil der Struktur: wenn auch nur eine
Einheit im Ring ausfällt, ist die Übertragungskette unterbrochen, damit ist die
Erreichbarkeit der „stromabwärts liegenden Einheiten und damit ist die gesamte
Übertragungsfunktion im Ring nicht mehr gewährleistet.

Deshalb hat man sich Verfahren ausgedacht, um diesen Nachteil zu umgehen. Das wird hier
nicht vertieft.

Computertechnik 128 Jacob


Token-basierte LANs

Rekonfigurierung im FDDI-Ring

Glasfaser-Übertragungstrecken werden immer in einer einzigen Übertragungs-


richtung betrieben, die durch die Lage des Licht-emittierenden Senders (Tx) und des
Licht-empfangenden Empfängers (Rx) festgelegt ist.

Man kettet die Übertragungsstrecken hintereinander und erreicht durch die


Ringbildung alle Knoten (nodes) (Bild 4.20).

Bild 4.20: Redundantes Ringsystem eines FDDI-Netzes


Die Netz-Teilnehmer bzw. Stationen heißen hier Knoten.
Hier ist man nutzt man einen redundanten Glasfaser-Ring, um den Ausfall einer
Einheit in einem primären Ring zu „überleben“.

Der Zugriff zum Übertragungsmedium eines Token-Ringes

Auch hier unterscheidet man zwischen der Phase der Zuordnung des Übertra-
gungsmediums und der Phase der eigentlichen Datenübertragung. Dabei sind die
Details der Verfahren auf dem IBM-Token-Ring und dem FDDI-Ring unterschiedlich.
Das Prinzip ist aber gleich.

Token-Verfahren gehen immer davon aus, dass der aktuelle Sender am Ende seiner
Sendung eine Bitfolge sendet, die von den in Stromrichtung liegenden Stationen als
„Gutschein“ für die Benutzung des Ringes verwendet wird. Die Station, die in
Stromrichtung als erste einen Belegungswunsch hat und ein Token erhält, gibt es
nicht mehr im Ring weiter, sondern sendet an dessen Stelle seine Daten.

Vergleich des Netzverhaltens im Ethernet und im Token Ring

Bild 4.21 vergleicht grundsätzlich zwei Leistungsmerkmale des nicht-deterministi-


schen Ethernet-Standards mit denen des deterministischen Token-Ring-Standards.
Die Netzlast gibt den Bruchteil der Bits an der maximalen Datenrate an, die pro
Sekunde von den Stationen zusammen angefordert werden.
Der Durchsatz gibt den Bruchteil der Bits an der maximalen Datenrate an, die pro
Sekunde tatsächlich übertragen werden. Die mittlere Verzögerung gibt an, wie lange
die Anforderungen der Stationen im Mittel auf Bedienung warten.
Ein Token-Ring-Netz behandelt die Anforderungen bei größer werdenden Netzlasten
fairer als das Ethernet-Netz.

Computertechnik 129 Jacob


Typische Twisted-Pair-Verkabelung

Das Ethernet-Netz bricht sogar zusammen, weil es sich immer mehr mit der
Entscheidung auf Zuteilung des Übertragungsmediums beschäftigt als mit der
eigentlichen Datenübertragung. Bei Niedriglast bringt der Zeitaufwand zum
Weiterreichen des Token eine größere mittlere Verzögerung als beim Ethernet.

Bild 4.21: Vergleich des Netzverhaltens von Ethernet und Token-Ring

4.4 Typische Twisted-Pair-Verkabelung


Zunächst ein Blick auf das Verkabelungsschema eines Signalpfades und das Kabel
selbst (Bild 4.22).

Bild 4.22: Typisches Verkabelungs- und Steckerschema eines Twisted Pair Netzes
links unten: elektronische Verteilereinheit (z.B. Switch oder Router),
links oben: Verteilereinheit mit Hilfe steckbarer Kabel (Patch-Panel),
Mitte: beispielhafte Wand-Steckdose mit fest verlegter Leitung zum Patch-Panel, alle übrigen
Verbindungen sind frei steckbare Patch-Kabel
Für den Nutzer bzw. seinen Computer steht eine Netzsteckdose an einer Wand
seines Arbeitszimmers zur Verfügung. Für die Verbindung zwischen der Steckdose
und der Netzkarte des Computers gibt es ein flexibles Twisted Pair Kabel, das an
beiden Enden mit einem RJ45-Stecker mit 8 Kontaktfahnen abgeschlossen ist.
Das leicht steck/lösbare Kabel heißt Patch-Kabel (patch cable, patch cord).
Über fest montierte Kabelkanäle werden die Kabel der einzelnen Nutzer gebündelt
und in einen zentralen Raum mit einem sog. Patchpanel geführt (Bild 4.23).

Bild 4.23: Vorderseite eines Patchpanel-Rahmens mit zwei Zeilen für RJ45-Sockets:
weitere Patchpanel-Rahmen und die Switches würden darunter montiert.

Computertechnik 130 Jacob


Aufbau der Switches (Router)

Man geht davon aus, dass die Verlegung der Kabelbündel in den Kabelkanälen
einmalig ist. Im Patchpanel wird jedes Einzelkabel eines Nutzer-Computers mit
einem RJ45-Sockel „terminiert“, indem die 8 einzelnen Leitungen des fest verlegten
Kabels an die dafür vorgesehenen 8 Montage-Pins an der Rückseite des Sockels
angeschlossen werden. Jeder RJ45-Sockel nimmt an der Vorderseite den Stecker
eines Kabels auf, das mit einem frei bestimmten Sockel am Switch verbindet.
Für eine Verbindung zwischen einem Stecker-Aufnehmer am Patchpanel und einem
am Switch verwendet man wieder ein Patch-Kabel als leicht steckbare/lösbare
Verbindung. Der Sinn dieser Flexibilität liegt in leichten Austausch des Switchs und in
der flexiblen Bündelung der einzelnen Anschlüsse zu geeigneten Arbeitsgruppen.

4.5 Aufbau der Switches (Router)


Prinzipielle Funktionen in einem Switch
Verteilereinheiten mit Switch- bzw. Router-Funktion werden im Folgenden vereinfachend mit
Switch bezeichnet.

Eines der maßgeblichen Strukturmerkmale von Switches ist die Teilnehmer-


bezogene Zwischenspeicherung der Datenpakete. Dadurch können die Computer
der Teilnehmer, die über je eine eigene Leitung mit dem Switch verbunden sind,
unabhängig voneinander Datenpakete von/zum Switch übertragen.
Ist der Teilnehmer-Computer die Datenquelle, dann ist der Zwischenspeicher (Puffer)
die Datensenke. Der Zwischenspeicher ist umgekehrt die Datenquelle, wenn eine
Übertragung zu einem Teilnehmer-Computer hin erfolgen soll. Im Switch selbst wird
dafür gesorgt, dass die Datenpakete, die gemäß der Zieladresse (im Datenpaket) zu
einem bestimmten Zielteilnehmer gelangen müssen, in den entsprechenden
Zwischenspeicher gelangen, der dann als Datenquelle dient (Bild 4.24).

Zentrale unterstützende
Prozessor zum Manage- Funktionen,
ment der adreßgerechten z.B. Bestimmung der
Weiterleitung der Pakete Benutzungsreihenfolge
des internen
Leitungssystems

internes Leitungssystem zur Verteilung der Pakete von Teilnehmer zu Teilnehmer

Sender/Empfänger-
Paket- Funktionen mit Zwischen- Paket-
Zwischen- speicherung der Pakete Zwischen-
speicher für den angeschlossenen speicher
Teilnehmer

Leitung Leitung Leitung


zum Teilnehmer 1 zum Teilnehmer i zum Teilnehmer n
Momentaufnahme einer Verbindung zwischen Teilnehmer 1 und Teilnehmer n

Bild 4.24: Prinzipielle Aufteilung der Funktionen in einem Switch


Die Momentaufnahme in Bild 4.24 veranschaulicht eine Verbindung, während der
mehrere Datenpakete nacheinander zwischen Teilnehmer 1 und Teilnehmer n flie-
ßen. Ein (herkömmliche analoge) Telephonverbindung musswährend des gesamten
Gespräches unterbrechungsfrei aufrechterhalten werden.

Computertechnik 131 Jacob


Aufbau der Switches (Router)

Im Gegensatz dazu wird hier das interne Leitungssystem nicht dauernd belegt,
sondern nur für die sehr kurze Zeit der Übertragung eines Datenpakets oder einer
kurzen Aneinanderreihung von mehreren aufeinander folgenden Datenpaketen.
Dann entsteht eine Pause, bis das nächste Datenpaket/folge dieser Verbindung zur
Übertragung bereit steht; denn die Übertragung eines Datenpaketes/folge auf der
Leitung zum Teilnehmer-Computer dauert wesentlich länger als auf dem internen
Leitungssystem. In dieser Pause können nun die Datenpakete/folgen anderer
Verbindungen auf dem internen Leitungssystem übertragen werden. Die
verschränkte Nutzung des internen Leitungssystems bewirkt, dass mehrere
Verbindungen „gleichzeitig“ bedient werden können.
Die entscheidende Maßnahme, die das ermöglicht, ist die Einführung von Zwischen-
speichern (Puffern), die es ermöglichen, den Übertragungspfad in drei Punkt-zu-
Punkt-Abschnitte „aufzubrechen“, die zeitlich unabhängig voneinander ablaufen
können.
Beispiel für die Gerätetechnik von Switches der mittleren Leistungsklasse
Die prinzipiellen Merkmale sollen am Beispiel des Switches CISCO Catalyst 2900
verdeutlicht werden (Bild 4.25, Bild 4.26).

Bild 4.25: Beispielhafter Switch (CISCO Catalyst 2900)

Bild 4.26: Struktur des beispielhaften Switch (Catalyst 2900)


Modul bedeutet eine Baueinheit als gedruckte Karte. Man erkennt also, wie die
Funktionseinheiten als Baueinheiten realisiert werden.

Computertechnik 132 Jacob


Aufbau der Switches (Router)

Das interne Leitungssystem wird in zwei Funktionsgruppen aufgeteilt, die jeweils als
Bus ausgeführt sind.
Die Datenpakete selbst werden über den sog. Switching Bus übertragen.
Die Benutzungsreihenfolge für den Switching-Bus wird durch den Busarbiter
festgelegt.
Der Management-Bus sorgt dafür, dass der Network-Prozessor die Teilnehmer-
bezogenen Schaltungen (mit ASICs realisiert) im Sinne der Anforderungen der
Datenpakete steuern kann.

• Datenpakete können an mehrere Ziel-Teilnehmer gleichzeitig verschickt werden


(broadcast) oder gezielt an einen (explizite Zieladresse im entsprechenden
Adressfeld). Entsprechend den Adressen müssen die Ziel-Ports bestimmt werden.
Die Bestimmung der Zielports aus den kodierten Adressinformationen in den
Datenpaketen wird in der EARL-Funktionseinheit ausgeführt.
• Das kostet Zeit. Um den Fortschritt der Übertragung nicht darauf warten zu
lassen, überträgt man vom Puffer des Sender-Teilnehmers in die Puffer der mög-
lichen Ziele, also alle anderen. Gleichzeitig erfolgt die Bestimmung der tatsäch-
lichen Ziele.
• Der Network-Prozessor wertet das Ergebnis der EARL-Funktion zu Steuer-
maßnahmen aus, die über den Management-Bus zu den Port-Schaltungen gelan-
gen.
• Bei gezielter Adressierung im Datenpaket fordert er alle nicht betroffenen Port-
Schaltungen auf, die Puffer zu ignorieren (flush). Dann bleibt praktisch verzöge-
rungsfrei nur der richtige übrig.
• Bei Broadcast sind alle schon im richtigen Zustand.
• Der Switch verfügt über eine RS232-Schnittstelle, um ein Standard-
Peripheriegerät anzuschließen.

4.6 Fastethernet-Controller
Hier sollen nur die Funktionen für die Signalübertragung interessieren (Bild 4.27).

Bild 4.27: Transmitter/Receiver-Funktionen in einem Fastethernet-Controller


Abkürzungen zur Beschreibung der Signalformen:
NRZ = non return to zero,
NRZI = inverted non return to zero
MLT3 = multi level transfer, 3 levels

Computertechnik 133 Jacob


Fastethernet-Controller

Bild 4.28: Signalkodierung NRZ – NRZI – MLT3


Alle drei Signale sind symmetrisch um das Bezugspotential 0 Volt definiert.
Offensichtlich kodiert man auch im NRZI-Signal die log. 1 mit einem Pegelübergang,
wie das auch im Manchestercode gilt, aber nicht immer den gleichen Pegelübergang.
Hier codiert man eine log. 1 dadurch, dass man den Pegel, der durch die letzte log. 1
entstanden ist, invertiert. Eine log. 0 verändert den Pegel nicht (Bild 4.28).

Man erkennt aus den Codierungsregeln, dass lange 0- oder 1-Folgen keine Pulse
erzeugen. Das wird beim Empfang zu einem Problem, weil es schwer wird, sich auf
den Takt einzustellen, der vom Sender eingeprägt wird. Man muss irgendwie dafür
sorgen, dass keine längeren 0- oder 1-Folgen entstehen. Die Lösung liegt in einer
geeigneten Wortcodierung. Man fasst 4 Bit zu einem Wort zusammen und ordnet
diesem ein 5Bit-Wort mit einer gewünschten Eigenschaft zu. Mit 4 Bit kann man 2^4
Wörter bilden, mit 5 Bit 2^5. Dadurch, dass man das weitere Bit hinzufügt, bekommt
man die Möglichkeit zur Auswahl geeigneter Bitmuster (Tabelle 4.1).

Tabelle 4.1: Zuordnungstabelle für die 4B/5B-Kodierung

Beim Scrambling wird ein Datenstrom nach einem festgelegten mathematischen


Polynom verwürfelt. Die Verwürfelung wird im Prinzip durch einen Pseudozufalls-
generator mit der Länge 2^(n – 1) mit n-Rückkopplungsstufen ausgeführt.

Computertechnik 134 Jacob


Fastethernet-Controller

Durch das Scrambling wird eine Konzentration der Signalenergie auf ein schmales
Frequenzband mit hoher Amplitude verhindert, wie es bei langen, sich wieder-
holenden Bitmustern, wie beispielsweise beim Idle-Signal, ohne Scrambling auftreten
würde. Das Descrambling macht das Ganze wieder eindeutig rückgängig.

Vergleich der Signalmerkmale des Fast- und des Gigabit- Ethernet

Im 10Base-T Ethernet ist der Signalhub zwischen dem niedrigsten Wert 0 Volt und
dem höchsten Wert 2,2 Volt. Für das MLT3-Signal des 100BaseT (Fastethernet)
gelten +1 Volt und –1 Volt als der höchste und der niedrigste Wert. Es ergibt sich das
Augenmuster gemäß Bild 4.29.
Man beachte, dass das Fastethernet mit 125 MHz getaktet wird, um eine effektive
Bitrate von 100 MBit/sec zu erreichen. Zum Vergleich wird das Augenmuster für das
Gigabit-Ethernet, angegeben. Seine Taktrate ist – wie beim Fastethernet – 125 MHz.

Bild 4.29: Augenmuster im Fastethernet (links) und Gigabit Ethernet (rechts)


Die Codierung der Bits erfolgt mit dem sog. PAM-5 Verfahren (pulse amplitude
modulation). Dieses verwendet 5 Signal-Pegel, vier davon für die Übertragung der
Datenbits und einen für die Fehlerkontrolle. Je ein Daten-Signal-Pegel wird für die
Darstellung einer Wertekombination von zwei Bit genommen(Bild 4.30).

Pro Taktperiode von 8 nsec werden also 2 Bit übertragen, was eine Bitrate von 250
MBit/sec pro Übertragungskanal bedeutet.

Bild 4.30: PAM-5 codiertes Signal für eine beispielhafte Bitfolge

Computertechnik 135 Jacob


Fastethernet-Controller

Im Gigabit-Ethernet mit Twisted-Pair-Kabeln werden alle 4 Leitungspaare verwendet.


Auf jedem Leitungspaar (Strang) können zwei Transmitter gleichzeitig senden. Für
jeden ist die Taktrate 125 MHz, was durch die PAM5-Codierung eine Bitrate von
250MHz erzeugt.

Wenn alle Transmitter senden, ergibt sich eine Summenbitrate von 2·250·4 MBit/sec.
Man gibt das üblicherweise als vollduplex 1 Gigabit/sec an.

Bild 4.31: Sender-Empfänger-Paare an den vier Leitungspaaren eines 1000Base-T-


Ethernets
Wenn an einem Strang zwei Sender gleichzeitig senden, „hören“ sie sich jeweils selbst als
Echo; das H-Element unterdrückt das Echo.
Die Augenmuster kann man nur am Transmitter messen. Das überlagerte Signal aus
dem Paar ist viel komplexer. Die gesendeten Pulse, die sich durch die Codierung
ergeben, werden für die Übertragung „glockenförmig“ geformt, um die Empfindlichkeit
gegenüber Störungen zu reduzieren. Man erkennt, dass die Öffnung des Auges nur
noch die Hälfte dessen beträgt, das mit MLT3 realisierbar ist. Damit dürfen auch die
zulässigen Störungen auch höchstens halb so groß sein: eine Herausforderung an
die Übertragungstechnik, die letztlich dazu führt, dass die Grenze der
Leistungsfähigkeit von Kupferleitungen erreicht ist und die Glasfasertechnik
angemessener ist.

Netze sind heute ein wichtiger Teil der Computerarchitektur. Im Grunde haben sie
(zusammen mit der Entwicklung von Hochleistungs-Workstations) den Bedarf an
zentralen Höchstleistungs-Computern auf wenige Anwendungen im technisch-
wissenschaftlichen Bereich reduziert. Sie sind damit ein wesentliches Merkmal für die
grundsätzliche Umwälzung in der Welt der Computer.

Um die Struktur des Computertyps, der wohl am häufigsten eingesetzt wird, den
Personal Computer, geht es im Folgenden.
Computertechnik 136 Jacob
Das prinzipielle Aufbaukonzept von PC-Motherboards

5 Merkmale von PC-Motherboards


Jeder Konstrukteur eines Gerätes bemüht sich, sein Gerät so aufzubauen, dass es
möglichst einfach an unterschiedliche Anwendungsfälle angepasst werden kann.
Deshalb teilt er die Funktionen seines Gerätes so auf, dass die Anpassung durch
den einfachen Austausch von Baueinheiten an Steckerschnittstellen möglich ist. Man
bezeichnet dies als modularen Aufbau.
Das Motherboard dient dem modularen Aufbau eines PC als Basiseinheit.

5.1 Das prinzipielle Aufbaukonzept von PC-Motherboards


Das Aufbaukonzept eines PC-Motherboards ist das Ergebnis einer Entwicklung von
PC-Generation zu PC-Generation. Dieses Ergebnis soll zunächst an typischen aktu-
ellen Produkten beispielhaft deutlich gemacht werden.
Ein Zweck von funktionalen Blockschemata ist es, von bautechnischen Details zu
abstrahieren und schwerpunktartig prinzipielle Zusammenhänge darzustellen. Das ist
auch der Zweck der Darstellung der grundsätzlichen Aufteilung der Funktionen auf
einem Motherboard, die schon in Kapitel 2 angegeben wurde (Bild 5.1).
Host-Bus- Speichermodul-
Schnittstelle Schnittstelle

Prozessor-
Schnittstellen Speicher-
steckbares steckbares
steuerung
Prozessor- anpassung Speicher-
modul modul

Ein/Ausgabe-
Schnittstellen-
anpassung
als verlötete ICs
Ein/Ausgabebus-
Schnittstelle
als Adapterkarten gerätespez.
Anpassung bzw.
Steuerung
gerätespez.
Anpassung bzw.
Steuerung

gerätespezifische
Schnittstellen

Bild 5.1: Prinzipielle Funktionen eines Motherboards mit seinen Steckerschnittstellen


Dieses Schema bleibt unabhängig davon erhalten, wie sich die Schnittstellen und die
Realisierung der inneren Funktionseinheiten durch großintegrierte ICs verändern.

Als Beispiel soll zunächst ein herkömmliches Motherboard dienen (Bild 5.2).
• Die Hostbus-Schnittstelle wird durch den Stecksockel für den Prozessor Pentium4
bestimmt,
• die Speichermodul-Schnittstelle durch die Stecksockel der standardisierten 184-Pin
Speichermodul-Schnittstelle,
• die universelle Ein/Ausgabeschnittstelle durch die Stecksockel gemäß dem PCI-Standard
2.0 und durch den Stecksockel gemäß dem AGP-Standard und durch den Stecksockel
gemäß dem USB-Standard und durch den Stecksockel gemäß dem Ethernet-Standard.
• Die gerätespezifischen Schnittstellen bilden eine Gruppe für Massenspeicher (Disks) und
eine Gruppe für andere: für herkömmliche serielle (COM) und herkömmliche parallele
(LPT) Anschlüsse sowie für Mouse und Keyboard-Anschluss und andere.

Computertechnik 137 Jacob


Das prinzipielle Aufbaukonzept von PC-Motherboards

Bild 5.2: Beispiel für ein Motherboard (ASUS P4B266)


ein 478 Pin Stecksockel für einen Prozessor Pentium 4 (2),
drei 184 Pin Stecksockel für Synchronous-Dynamic-Ram Memory-Module (4),
sechs Stecksockel für PCI-Erweiterungskarten (17), ein Stecksockel für eine AGP-
Erweiterungskarte der Graphikeinheit (22),
zwei Stecksockel für IDE-Festplatten (8), ein Stecksockel für eine Floppy Disk (9),
ein Stecksockel für das PS/2 Mouse Port (23), ein Stecksockel für einen RJ-45
Netzanschluss (24), ein Stecksockel für ein Paralleles Port LPT z.B. zu einem Drucker oder
Scanner (25), ein Stecksockel für ein Game/Midi Port (26), Stecksockel für akustische
Signale (27,28,29), zwei Stecksockel für Serielle Ports COM (30), ein Stecksockel für ein
Serielles Port USB, ein Stecksockel für ein PS/2 Keybord Port (32)
Wenn man die Funktionen gemäß Bild 5.1 kennt, fragt man sich natürlich, wodurch
sie auf dem Motherboard in Bild 5.2 realisiert werden.

Die Funktionen der Prozessor-Schnittstellen-Anpassung und der Ein/Ausgabe-


Schnittstellen-Anpassung und der Speichersteuerung werden im Bauelement (3)
realisiert. Dieses Bauelement ist also die zentrale Verteilereinheit der Datenflüsse auf
dem Motherboard.
Die universelle Ein/Ausgabe-Schnittstellenanpassung für den PCI-Bus und den USB-
Bus und den Ethernet-Anschluss sowie die Disk-spezifische Ein/Ausgabe-Schnitt-
stellen-Anpassung werden in (14) realisiert; die gerätespezifischen Anpassun-
gen/Steuerungen für die Floppy-Disk, das Parallele Port LPT, die Seriellen Ports
COM und das game/Midi-Port werden in (10) realisiert.

Computertechnik 138 Jacob


Das prinzipielle Aufbaukonzept von PC-Motherboards

Das Bauelement zur Realisierung der zentralen Verteilerfunktionen der Datenflüsse


sowie der Speichersteuerung (memory controller) und das Bauelement zur
Steuerung der Festplatten und anderer Standard-Ein/Ausgabegeräte bilden praktisch
den zentralen Kern der Steuerung der Datenflüsse. Sie werden zusammen als
Chipsatz bezeichnet.

Leider haben sich für die beiden Bauelemente eines Chipsatzes Bezeichnungen
eingebürgert, die sich von der geometrischen Lage auf dem Motherboard ableiten,
nicht aber von den Funktionen, nämlich Northbridge und Southbridge. - Man sollte
aber funktionale Bezeichnungen vorziehen, z.B. MCH (memory controller hub) für die
zentrale Verteilereinheit und ICH (input/output controller hub) für die Steuerung des
Datenverkehrs zu ausgewählten Standard-Ein/Ausgabe-Geräten (Bild 5.3).

Bild 5.3: Die wichtigen großintegrierten Einheiten auf dem Motherboard P4B266
Zum Vergleich wird nun ein Motherboard der neuesten Generation herangezogen.
USB-, Parallel
Standard PCI LAN-Ports Port

Serial ATA
RAID 1-4
COM1-
Port
Primary IDE-
RAID-Laufwerk

Secondary IDE-
RAID-Laufwerk
Primary
Serial ATA1-4 IDE-Laufwerk
Bild 5.4: Motherboard mit den aktuellsten Schnittstellen (ASUS P5AD2)

Computertechnik 139 Jacob


Das prinzipielle Aufbaukonzept von PC-Motherboards

Aktuellere Motherboards berücksichtigen natürlich die Weiterentwicklung der


Schnittstellen-Standards. Am Beispiel im Bild 5.4 kann man feststellen:
• Die Bedeutung des herkömmlichen PCI-Standards 2.0 nimmt ab.
• Eine AGP-Schnittstelle (die im Prinzip eine auf einen einzigen Steckeranschluss
eingeschränkte PCI 2.0 Schnittstelle ist) ist nicht mehr ausgewiesen.
• Neue PCI-Varianten (PCI Express) verdrängen beide Standards.
• Bei den Disk-spezifischen Schnittstellen wurden bitserielle Varianten geschaffen
(serial ATA).
• Außerdem wurden Disk-Schnittstellen-Varianten geschaffen, die Disk-Cluster
unterstützen, damit bei Ausfall einer Disk-Einheit keine Daten verloren gehen bzw.
damit das Computersystem nicht zum Stillstand kommt (Redundant Array of
Inexpensive Disks).
• Die Schnittstelle zu den Speichermodulen hat Stecksockel mit der standardisierten
240Pin Speichermodul-Schnittstelle.

Es gilt die gleiche Aufteilung der Funktionen auf die beiden Chips des Chipsatzes wie
früher (Bild 5.5). Die einzelnen Leistungen haben sich aber vermehrt und verbessert.

Bild 5.5: Die wichtigen großintegrierten Einheiten auf dem Motherboard P5AD2

Computertechnik 140 Jacob


Die zentrale Takterzeugung und -verteilung

5.2 Die zentrale Takterzeugung und -verteilung


Die Erzeugung und Verteilung der Taktsignale auf dem Motherboard
Alle wichtigen Funktionen eines Motherboards werden synchron zu Taktsignalen
ausgeführt. Dabei werden die Taktsignale der einzelnen Funktionseinheiten von
einem einzigen Grundtakt abgeleitet, der durch die Schwingung eines Quarzes
vorgegeben wird.

Aus dieser Schwingung erzeugt die Schaltung des Clock-Generators (andere


Bezeichnung: Clock-Synthesizer ) die notwendigen Taktsignale, die durch sorgfältig
konzipierte und realisierte Leitungen an die Einheiten auf dem Motherboard verteilt
werden. Bild 5.6 zeigt ein Verteilschema von zentral erzeugten Taktsignalen.
FSB
(CPU)
Prozessor
Clock
generator FSB
(MCH)
Memory Mem
SATA controller Memory
Hub
Clock
Reference PCI
(PCIE) Express Graphik
USB
IO System
14MHz Controller
Hub PCI Express Slot
für Graphik

PCI PCI
Einheiten

PCIExpress
Einheiten
PCI
Express
Slots

Bild 5.6: Beispiel für eine zentrale Takterzeugung und Verteilung


einige beispielhafte Werte: Quarz: 14,318 MHz; CPU: wählbar 100, 133, 166, 200, 266, 333
und 400MHz; PCI: 33 MHz; PCI Express(Clock Reference): 100MHz; USB: 48 MHz; SATA:
100 MHz;
Die Taktsignale für das Memory werden aus einem zentral erzeugten Taktsignal vom
Memory Controller Hub erzeugt (z.B. 133MHz oder 200MHz oder 266MHz)

Eines der Taktsignale ist das des Host-Bus (Front Side Bus). Aus diesem macht der
Prozessor seinen eigenen Arbeitstakt, der möglichst unverfälscht zu den
Schaltungen auf der Chipfläche des Prozessors verteilt werden muss.

Computertechnik 141 Jacob


Die zentrale Takterzeugung und -verteilung

Die Erzeugung des hochfrequenten Prozessor-Takts auf dem Prozessor-


Chip (Ein Angebot an physikalisch Interessierte, kein Prüfungsstoff)
Der hochfrequente globale Takt für die Prozessor-Schaltungen wird von einem
phasengekoppelten Oszillator (PLL, phase locked loop) erzeugt (Bild 5.7).
Der Kern der Schaltung ist ein Oszillator, der mit einer Frequenz schwingt, die ein
ganzzahliges Vielfaches der Frequenz des von außen eingeprägten FSB-
Taktsignals ist.
Man erzeugt aus dem Signal mit der Frequenz K · fFSB durch Division ein Signal
mit der Frequenz fFSB. Dieses kann man mit dem von außen eingeprägten Signal
vergleichen und aus dem Vergleichsergebnis eine Korrektur bilden, die den
Unterschied zu verkleinern versucht. Man hat also einen rückgekoppelten
Regelkreis, der die Frequenz des Oszillators so korrigiert, dass sie immer
möglichst nahe an der Frequenz des eingeprägten Signals liegt. Dessen Frequenz
kann also in kleinem, aber unvermeidbarem Maße schwanken; der Oszillator führt
seine eigene Frequenz entsprechend nach.

Division

Frequenz fOUT der


VCO Ausgangsspannung
Rückgebildetes
Taktsignal mit fRÜCK fOUT= K x fFSB ist ein Vielfaches
der Frequenz fFSB
Bestimmung
Phasen-
der Korrektur
Vergleich Steuerspannung stellt die
der Steuerspg.
Frequenz fOUT des VCO so ein,
FSB-Taktsignal
daß die Abweichung der
mit fFSB
rückgebildeten Frequenz fRÜCK von
der angelegten Frequenz fFSB
möglichst gering wird.
Bild 5.7: Prinzip eines Phase Locked Loop mit VCO
Eine beispielhafte VCO-Schaltung
Die wesentliche Komponente zur Erzeugung des hohen Taktes ist eine VCO-
Schaltung (voltage controlled oscillator). Es gibt mehrere Schaltungstypen,
diesen zu realisieren. Bei einem wichtigen Typ schaltet man mehrere
Verzögerungsstufen in einem Ring hintereinander (Bild 5.8).
Als schnelle Schaltkreis-Technologie bietet sich die Current-Mode Logik (CML)
an. Bild 5.8 zeigt ein Entwurfsbeispiel für CML.
Die Verzögerungszeit des Verzögerungselementes (delay element) ist durch eine
Steuerspannung beeinflussbar. Als Verzögerungselemente benutzt man Inverter,
die mit einem positiven und einem dazu invertierten (als negativ zählenden) Signal
angesteuert werden und entsprechende Signale liefern. Durch die entsprechende
Verschaltung in der Kette erhält man von Stufe zu Stufe die invertierende Wirkung
in jedem der beiden Signalstränge.
Die Signale am Ende der Kette werden „gegensinnig“ rückgekoppelt, d.h. der
positiv zählende Ausgang auf den als negativ zählenden Eingang und umgekehrt.

Computertechnik 142 Jacob


Die zentrale Takterzeugung und -verteilung

Für eine stabile Schwingung des Ring-Oszillators gilt u.a. die im Folgenden disku-
tierte notwendige Bedingung.

Delay Delay Delay Delay Delay Delay Ausgangs-


Element Element Element Element Element Element spannungen

Steuer-
spannung

OUTn
OUTp

Vcp, Vcn

OUTn Vcp OUTp


INp INn

Vcn

Bild 5.8: Prinzipieller Aufbau eines Voltage-Controlled-Oscillator (VCO) als n-stufiger


Ring (hier n = 6, ein beispielhafter Typ eines Delay-Elementes)
An der Schnittstelle zwischen zwei beliebigen benachbarten Stufen kann man ein
Signal betrachten, das in den Ring eingeprägt wird, und ein Signal, das aus dem
Ring an der Schnittstelle ankommt. Ein Signal, das in den Ring eingeprägt wird,
kommt nach einem einzigen Ringdurchlauf invertiert an, weil die Rückkopplung
einmal invertiert. Erst nach dem zweiten Durchlauf kommt es positiv an.
Eine notwendige Bedingung für Stabilität ist nun, dass das eingepägte Signal und
das durch die beiden Durchläufe gebildete Signal gleich sind. Hat der Ring n Stufen
und hat jede Stufe eine Verzögerungszeit D, muss sich nach der Zeit 2 · n · D der
gleiche Wert ergeben. Das ist dann die Periodendauer der sich ergebenden
Schwingung.
Beispiel für die Struktur in: Bei 33 psec Verzögerungszeit ergibt sich eine Periodendauer von
400 psec, also eine Frequenz von 2,5 GHz.
Die Verzögerungszeit der Verzögerungselemente ist durch die Steuerspannung in
bestimmten Grenzen veränderbar. Damit ist die Periodendauer und damit ist die
Frequenz des VCO in gegebenen Grenzen veränderbar.
Zur Verteilung des Taktsignals auf dem Chip: Bei einer Taktrate von 2,5 GHz beträgt die
Periodendauer 400 psec. Das zulässige Vor- bzw. Nacheilen der Taktflanken der Taktsignale
in den lokalen Schaltkreisen darf nur einige 10 psec betragen. Entsprechend aufwendig ist
das Konzept der Verteilung.

Computertechnik 143 Jacob


Die zentrale Takterzeugung und -verteilung

Taktrate und Datenwortbreite als entscheidende Merkmale für die Transferrate


auf einer Schnittstelle

Auf Schnittstellen, die wortweise übertragen, legen die Taktsignale die Zeitpunkte der
Gültigkeit der Datenwörter fest. D.h., die Übertragung der Datenwörter wird auf das
Taktsignal der Schnittstelle synchronisiert.

Front Side Bus

Eine der zentralen (wortweise übertragenden) Schnittstellen ist die am Prozessor.


Leider sind die Bezeichnungen für die Prozessor-Schnittstelle uneinheitlich. Üblich
sind die Bezeichnungen System-Bus oder Host-Bus oder Front Side Bus (FSB),
der in den neueren Veröffentlichungen überwiegt.
Markante Merkmale eines FSB sind seine Taktrate bzw. die Rate der Übertragung
der Datenwörter. Man spricht von Transferrate, also Transfers pro Sekunde, und
kürzt mit T/sec ab. Beim Pentium4 sind es 8 Byte pro Transfer.
Mit einem geschickten Timing kann man das Einfache, Zweifache oder Vierfache der
Taktrate als Transferrate erreichen. Bild 5.9 zeigt die aktuellen Spitzenwerte für die
Taktraten/Transferraten des FSB des Pentium 4 (Extreme Edition)
Bei der einfachen Transferrate nutzt man nur eine Flanke des Taktsignals. Die
Verdopplung der Transferrate gelingt dadurch, dass man die zweite Flanke zusätzlich
nutzt. Die Vervierfachung gelingt dadurch, dass man ein zweites Taktsignal aus dem
Basissignal erzeugt, das zeitlich um eine Viertel-Periode verschoben ist. Dann
ergeben sich vier (um eine Viertel-Periode) aufeinander folgende Flanken pro
Periode, die den Transfer synchronisieren.

FSB-Takt: 200 MHz FSB-Takt: 266 MHz


Datenrate: Datenrate:
100 MT/sec 266 MT/sec

FSB-Takt: 200 MHz FSB-Takt: 266 MHz


Datenrate: Datenrate:
400 MT/sec 532 MT/sec

FSB-Takt: 200 MHz FSB-Takt: 266 MHz

Datenrate: Datenrate:
800 MT/sec 1064 MT/sec

Bild 5.9: Transferraten auf einem FSB (Pentium4, Extreme Edition)


Das Busprotokoll des FSB wird von den Prozessorherstellern als Eigentum
angesehen und damit der Lizenzpflicht unterworfen.
Chipsatzhersteller müssen sich mit dem Eigentümer über eine Lizenz einigen.

Die Hauptspeicher-Schnittstelle
Die maßgebliche Institution zur Standardisierung der Schnittstelle der Speicher-
Module ist JEDEC (Joint Electronic Devices Engineering Council):
http://www.jedec.org

Computertechnik 144 Jacob


Die zentrale Takterzeugung und -verteilung

Heute kommen nur noch Speicher zum Einsatz, deren Funktionen auf einen Takt
synchronisiert werden (synchrone dynamische RAMs, SDRAMs). Dabei gibt es (wie
beim FSB) die Taktung auf nur eine oder auf beide Flanken.
Der Begriff Single Data Rate (SDR) entspricht dem Verfahren, nur eine Flanke des
Taktsignals zu nutzen, während der Begriff Double Data Rate (DDR) die Nutzung der
beiden Taktflanken angibt.

JEDEC-Bezeichnungen für SDR-DRAMs: JEDEC spezifizierte Speichermodule mit einer


Taktrate von 100 MHz bzw. 133 MHz unter der Kurzbezeichnung PC100 und PC133.
JEDEC-Bezeichnungen für DDR-DRAMs: DDR Speicher-ICs haben Bezeichnungen mit
einem Hinweis auf die Taktrate: DDR200 bei 100 MHz, DDR266 bei 133 MHz, DDR333
bei 167 MHz. - Aber die Speichermodule, die mit den entsprechenden Chips aufgebaut
sind, werden mit Merkmalen der Datenrate ergänzt (8 Byte pro Transfer) :
PC1600: Modul mit DDR200 und einer Datenrate von 1,600 GByte/sec bei 100 MHz,
PC2100: Modul mit DDR266 und einer Datenrate von 2,128 GByte/sec bei 133 MHz,
PC2700: Modul mit DDR333 und einer Datenrate von 2,664 GByte/sec bei 166 MHz.
Diese Speichermodule haben vorwiegend eine 184-Pin-Schnittstelle.

Die Speichertechnologie ist mittlerweile bei dem Typ DDR2 angekommen. Für die
Speichermodule gelten weiterhin 8 Byte pro Transfer Die Bezeichnungen sind:
PC23200: Modul mit DDR2-400 und einer Datenrate von 3,200 GByte/sec bei 200 MHz,
PC24300: Modul mit DDR2-533 und einer Datenrate von 4,264 GByte/sec bei 266 MHz,
PC25300: Modul mit DDR2-667 und einer Datenrate von 5,328 GByte/sec bei 333 MHz.
Diese Module haben vorwiegend eine 240-Pin Schnittstelle.

Standards für Speichermodule sind im JEDEC-Standard 21-C zusammengefasst.

Die Peripherie-Schnittstelle

Für die Schnittstelle zur Peripherie ist die PCI Special Interest Group zuständig:
http://www.pcisig.com/. PCI steht für peripheral component interconnect.

Der PCI-Standard 2.0 ist der klassische Standard, der immer noch seine
Anwendung auf Motherboards hat. Es arbeitet mit einem Takt von 33 MHz mit 4 Byte
pro Transfer.

Die Entwicklung der PCI-Standards verlief in zwei Richtungen:


• Die Vergrößerung der Wortbreite auf 8 Byte pro Transfer und die Erhöhung
der Taktrate auf die Varianten 64 MHz oder 100 MHz oder 133 MHz sind die
maßgeblichen Leistungsmerkmale des PCI-X Standards. Er setzte sich im
PC-Computerbereich nicht durch, aber im Server-Bereich.
• Der Übergang zu bitserieller Datenübertragung mit sehr hohen Taktraten
führte zu den PCI-Express-Varianten. Die Frequenz des Referenztakts für
den PCI-Express ist 100 MHz. Die steuert einen PLL, um den an die Referenz
angepassten PCI-Express-Takt zu erzeugen.
Die x1 Variante erzeugt einen reinen bitseriellen Datenstrom mit einer Taktrate
von 2,5 GHz, was eine Bitrate von 2,5 GBit/sec ergibt.
Da man (aus übertragungstechnischen Gründen) jedes Byte als ein 10 Bit-
Wort codiert (der gleiche Zweck wie 4Bit/5Bit im Ethernet), ergibt sich eine
wirksame Datenrate von 250 MByte/sec pro Übertragungsrichtung.

Computertechnik 145 Jacob


Das Chipsatz-Konzept

Tx Rx

Rx Tx

Da ein Strang aus zwei voll-duplex betriebenen Punkt-zu-Punkt-Verbindungen


besteht und beide Transmitter gleichzeitig übertragen können, gibt man das mit
vollduplex 250 MByte/sec an.
Die x16-Variante verschränkt die Bits der zu übertragenden Bytes auf 16 parallele
Stränge, die einzeln bitseriell übertragen. Es entsteht eine 16 Mal größere
Transferrate, also 4 GByte pro sec und Übertragungsrichtung.
Für die Varianten x2, x4, x8 gilt sinngemäß das Gleiche.

5.3 Das Chipsatz-Konzept


Die technische Entwicklung hat von Generation zu Generation die Aufteilung auf
zwei ICs mit folgenden Leistungsschwerpunkten bestätigt:
• den Schwerpunkt der Abwicklung des Datenverkehrs mit dem Speicher und
dem Graphiksystem: die Einheit wird bei Intel als Memory Controller Hub
(MCH) bezeichnet;
• den Schwerpunkt der Abwicklung des Datenverkehrs mit den Standard-
Peripherie-Geräten: bei Intel IO-Controller-Hub (ICH) genannt.

Auf dem Motherboard ASUS P5AD2 wird der Chipsatz i925XE eingesetzt (Bild 5.10).

Bild 5.10: Intel-Original des Chipsatzkonzepts i925XE


(FSB-Takt 266 MHz entspricht 1064 MT/s entspricht 8,5 GB/s)
Zum Vergleich kann man das Chipsatz-Konzept (Bild 5.11) des älteren Motherbords
heranziehen, das oben als Beispiel genommen wurde.

Computertechnik 146 Jacob


Das Chipsatz-Konzept

Bild 5.11: Intel-Original des Chipsatz-Konzepts i845


(FSB-Takt 100 MHz entspricht 400 MT/s entspricht 3,2 GB/s)
Der technische Fortschritt bedeutet also nicht nur eine Verbesserung der Leistungs-
fähigkeit der Prozessoren, sondern auch eine genauso wichtige Verbesserung der
Leistungsfähigkeit der Chipsätze, die mit dem Fortschritt der Schnittstellen-Standards
Schritt halten muss.

Eine der wichtigsten Aufgaben des Chipsatzes ist es, die Daten - wie vom Programm
gewünscht - von den Datenquellen zu den Datensenken zu transferieren. Im Grunde
wirkt der Chipsatz als der zentrale Verteilerknoten für die Datenströme auf dem
Motherboard (Bild 5.12), unabhängig davon, wie die einzelnen Funktionen den
beiden ICs zugeordnet werden.

Befehle
Host Mem Memory
Prozessor Daten
Inter- Inter- (Hauptspeicher)
face face

Daten vom Prozessor Grafik IDE


/ATA Daten von den I/O-
an die I/O-Geräte bzw. Inter- Inter- Geräten in den Haupt-
von den I/O-Geräten face face speicher bzw. von
zum Prozessor dort in die I/O-Geräte:
direct memory access

USB PCI
Inter- Inter-
face face

Bild 5.12: Chipsatz als zentraler Verteilerknoten der Datenströme


Schnittstelle heißt im Englischen Interface. Dieser Begriff wird im Folgenden verwendet.
Die Aufteilung der Funktionen auf zwei ICs (Bild 5.13) hat auch praktische Gründe:

Computertechnik 147 Jacob


Das Chipsatz-Konzept

• Durch die vielen Pins der verschiedenen Interfaces ergäbe sich bei einer Ein-IC-
Lösung eine große Pinzahl mit entsprechend höherem Aufwand für Realisierung der
Leitenbahnen auf dem Motherboard.
• Man kann die Funktionen der ICs voneinander getrennt optimieren. Beispielsweise
kann man den MCH an eine neue Speichertechnologie anpassen, den ICH aber
weiter wie vorhanden einsetzen. Die Anpassung der ICs in einer neuen Chipsatz-
version erfolgt in aller Regel erst dann, wenn sich neue Standards geklärt haben. Die
Strategie der unabhängigen Optimierung nützt nur dann etwas, wenn das
(firmeninterne) Interface zwischen den beiden ICs gleich bleibt.

Host Hub zur Einstellung des Mem Memory


Prozessor Inter- Inter- (Hauptspeicher)
befehlsgemäßen Datenpfads
face zwischen den Interfaces und face
interface-spezifische Unterstützung,
z.B. Memory-Controller

Grafik Hub
Inter- Inter-
face face

Hub zur Einstellung des IDE


befehlsgemäßen Datenpfads /ATA
zwischen den Interfaces und
interface-spezifische Unterstützung,
z.B. Interrupt-Controller

PCI USB
Inter- Inter-
face face

Bild 5.13: Funktionsschwerpunkte im Chipsatz


Teilt man die Funktionsschwerpunkte weiter in Teilfunktionen auf, ergibt sich das
Schema in Bild 5.14.

Front Prozessor Memory


Prozessor Memory Mem
side (Hauptspeicher)
Interface Controller Bus
Bus
Graphik Hub
Interface Interface

AGP Hub
oder Inter- RAID
PCIEx16 face

Hub Disk-Interface IDE


Interface /ATA
Int
contr
PCI USB
PCIE
x1 Interface Interface

PCI
USB
Bus

Bild 5.14: Interface/Controller-Funktionen innerhalb des Chipsatzes

Computertechnik 148 Jacob


Das Chipsatz-Konzept

Die Details der Funktionen eines Chipsatzes füllen sehr umfangreiche Datenblätter.
Hier interessieren nur einige prinzipielle Merkmale. Im Folgenden werden diese
prinzipiellen Merkmale zunächst aus der Sicht diskutiert, wie der Prozessor eindeutig
die diversen Datenquellen/senken im System identifizieren kann.

Die Adressierung bei den Datentransfers des Prozessors


Die Zuordnung eindeutiger Adressen zu den Speicherzellen im System ist eine
notwendige Bedingung, um den Datenpfad vom Prozessor durch den Chipsatz zum
betroffenen Interface und zur Speicherzelle in der betroffenen Einheit zu bilden.
Der Hauptspeicher besteht aus Speicherzellen. Auch jede I/O-Einheit verfügt über
eine bestimmte Anzahl von Speicherzellen (Registern). Jeder dieser Speicherzellen
muss eine eindeutige Adresse zugeordnet sein, damit man gezielt auf sie zugreifen
kann (Bild 5.15).
Memory
(Hauptspeicher)
Adresse Zelle
topMEM
Front Prozessor Memory
Prozessor Mem
side Interface Controller Bus
Bus
Graphik Hub 0
Interface Interface Adresse Zelle
top RAID

AGP Hub top ATA+1


oder Inter-
PCIEx16 face RAID
Zelle Adresse Zelle
top PCIEx 16 Hub
Disk-Interface IDE Adresse
top ATA
top MEM+1
Interface /ATA top USB+1
Int
contr
Zelle Adresse PCI USB
top PCIEx 1 PCIE
x1 Interface Interface
top PCIEx 16+1

PCI
Bus USB

Adresse Zelle Adresse Zelle


top PCI top USB

top PCIEx 1+1 top PCI+1

Bild 5.15: Die Zuordnung eindeutiger Adressen zu den Speicherzellen im System


Beim Verfahren der konkreten Zuordnung der Adresswerte muss man berücksich-
tigen, dass man die Gerätekonfiguration ändern kann und die Zuordnung sich auto-
matisch anpasst (plug and play).
Ein übliches Verfahren ist, den Speicherzellen des Hauptspeichers von 0 bis zur
letzten (Adresse topMEM) nacheinander je eine Adresse zuzuordnen und dann in
einer (im Boot-Programm festgelegten) Reihenfolge die einzelnen Interfaces/Geräte
abzufragen und deren Speicherzellen nacheinander so Adressen zuzuordnen, dass
eine Kettung der Adressen der einzelnen Interfaces/Geräte entsteht.
Die Reihenfolge ist unwichtig. Entscheidend ist, dass jede Speicherzelle eine nur
einmal verwendete Adresse bekommt.

Computertechnik 149 Jacob


Das Chipsatz-Konzept

Auf diese Art ergibt sich, dass jeder Speicherzelle (also Hautspeicherzelle oder IO-
Zelle) eine Adresse aus einer durchgehenden Adressmenge (man sagt auch
Adressraum) zugeordnet ist. Bezogen auf die IO-Adressierung sagt man: memory
mapped IO.

Das ist das heute übliche Verfahren. Aus Kompatibilitätsgründen gibt es noch das
Verfahren, dem Hauptspeicher und den IO-Registern getrennte Adressmengen
(Adressräume) zuzuordnen. Den Adressbits zur Angabe des numerischen Adresswerts
wird ein zusätzliches Bit hinzugefügt, dessen Wert entscheidet, ob der Hauptspeicher oder
die IO-Register adressiert werden.

Auf der Basis dieser Adresszuordnung kann ein eindeutiger Pfad zwischen der
Einheit, die eine Adressierung zum Zwecke eines Datentransfers initiiert, und der
adressierten Zieleinheit ermittelt werden.

Angenommen, der Prozessor initiiert einen solchen Vorgang. Dann führt ein
eindeutiger Entscheidungsbaum durch den Chipsatz, so dass das Interface zur
Zieleinheit gefunden wird. An den Entscheidungsknoten entscheiden die
entsprechenden Top-Werte darüber, welche Verzweigung gültig wird (Bild 5.16).
Memory
(Hauptspeicher)
Adresse Zelle
topMEM
Front Prozessor Memory
Prozessor Mem
side Interface Controller Bus
Bus
Graphik Hub 0
Interface Interface Adresse Zelle
top RAID

AGP Hub top ATA+1


oder Inter-
PCIEx16 face RAID
Zelle Adresse Zelle
top PCIEx 16 Hub
Disk-Interface IDE Adresse
top ATA
top MEM+1
Interface /ATA top USB+1
Int
contr
Zelle Adresse PCI USB
top PCIEx 1 PCIE
x1 Interface Interface
top PCIEx 16+1

PCI
Bus USB

Adresse Zelle Adresse Zelle


top PCI top USB

top PCIEx 1+1 top PCI+1

Bild 5.16: Der Adress-Entscheidungsbaum zur Bestimmung des adressierten Ziels


bei einem vom Prozessor initiierten Datentransfer
Ist die Weiterleitung der Adresse (evt. mit protokollbedingter Anpassung) am
adressierten Interface angekommen, dann sorgen die Adressdecoder in den (am
Interface angeschlossenen) Einheiten für die endgültige Auswahl der adressierten
Speicherzelle.

Der Verlauf des Adresspfads bestimmt auch den Verlauf des Datenpfads, der parallel
dazu verläuft.

Computertechnik 150 Jacob


Das Chipsatz-Konzept
Memory
(Hauptspeicher)
Adresse Zelle

Front
Prozessor Prozessor Memory Mem Adress-
side Interface Controller Bus decoder
Bus
Graphik Hub
Interface Interface Adresse Zelle
Adress-
AGP Hub decoder
oder Inter-
PCIEx16 face RAID
Zelle Adresse Zelle
Adress- Hub
Disk-Interface IDE Adresse
Adress-
decoder Interface /ATA decoder
Int
contr
Zelle Adresse PCI USB
Adress- PCIE
x1 Interface Interface
decoder

PCI
Bus USB

Adresse Zelle Adresse Zelle


Adress- Adress-
decoder decoder

Bild 5.17: Adressdecoder zur endgültigen Bestimmung der adressierten


Speicherzelle
Ist die Adresse > topMEM und > topUSB, aber <topATA, dann wird der Pfad zum
ATA-Bereich wirksam (Bild 5.18).
Memory
(Hauptspeicher)
Zelle
Adress-
Front decoder
Prozessor Mem
side Prozessor Memory Bus
Bus Interface Controller

Graphik Hub
Interface Interface
Hub
Inter-
face
Adress- Zelle
IDE
Hub Disk-Interface
decoder
Interface
/ATA
Int
contr
PCI USB
Interface Interface

Bild 5.18: Adressierungspfad zu einem IDE/ATA-Diskcontroller


Das ist der Adressierungs-Pfad, der bei der Übertragung der Command-Daten eines
dma-Auftrags an den Diskcontroller benutzt wird. Der Datenpfad verläuft parallel
dazu. Die Command-Daten geben u.a. an, welche Sektoren der Disk in einen
angegebenen Bereich des Hauptspeichers oder von dort in die Sektoren zu
übertragen sind.
Sobald der Disk-Controller alle Command-Daten hat, beginnt er mit der selbständi-
gen Ausführung des Commands, d.h. mit dem dma-Datenverkehr. Steuerzentrale im
Disk-Interface ist ein dma-Controller (Bild 5.19).
Die Adressierung des Hauptspeichers wird vom dma-fähigen Controller vorgegeben,
d.h. die Richtung der Adressierung ist der des Prozessors entgegengesetzt.

Computertechnik 151 Jacob


Das Chipsatz-Konzept

Ein zusätzlicher Unterschied zum Datenverkehr des Prozessors ist, dass es beim
dma-Datenverkehr der IO-Controller nur einen einzigen Adressaten gibt: den
Hauptspeicher.
Memory
(Hauptspeicher)
Zelle
Adress-
Front decoder
Prozessor side Prozessor Memory Mem-
Bus Interface Controller Bus

Graphik Hub
Interface Interface

Laufwerk
dma-con- IDE/ATA Adress- Zelle
Hub troller decoder
Interface Int Disk-Interface
contr
IDE/ATA-Disk-
PCI USB Controller
Interface Interface

Bild 5.19: Beispiel eines Adressierungspfads bei einem dma-Zugriff (liest von Disk,
schreibt in Hauptspeicher)
Die Konkurrenz um den Hauptspeicher
Mit der dma-Fähigkeit einiger Peripherie-Controller ergibt sich ein besonderes
Problem: die Speicherzugriffe dieser Geräte und die Zugriffe des Prozessors
konkurrieren um den Zugang zum Hauptspeicher, wenn beide gleichzeitig Daten
übertragen wollen.
Es ist unzweckmäßig, den Zugang für andere so lange zu blockieren, bis einer mit
seiner Gesamtübertragung fertig ist. Sinnvoller ist es, dass man kurze elementare
Übertragungsvorgänge bildet, die einen Block mit einer begrenzten Anzahl von
Transfers umfassen, so dass die nicht unterbrechbaren Übertragungen die anderen
nicht zu lange warten lassen.
Dadurch kann man die einzelnen kurzen elementaren Übertragungsvorgänge der
Konkurrenten, die gleichzeitig zum Hauptspeicher zugreifen wollen, abwechselnd
zeitlich hintereinander ordnen. Man spricht von zeitlichem Verschränken.
Dadurch entsteht der Effekt, dass die Konkurrenten „gleichzeitig bedient“ werden.
Bild 5.20 stellt die Konkurrenzlage mit Hilfe eines Graphen dar. An jedem
Ausgangspunkt einer Pfeilkette wirkt eine Einheit, die Datentransfers mit dem
Hauptspeicher initiieren kann. An den Ausgangspunkten liegen also die möglichen
konkurrierenden Einheiten.
Jeder Pfeil definiert die notwendige Belegung eines Adress/Datenpfad-Abschnitts
zum Hauptspeicher. Jede Pfeilkette, die von einem Ausgangspunkt (=initiierende
Einheit) zum Memory-Controller führt, definiert die Belegungskette für den
Adress/Datenpfad zum Hauptspeicher, über den die Einheit einen elementaren
Datenblock von/zum Hauptspeicher übertragen kann.
Es ergibt sich ein Pfeil-Graph mit Baumstruktur, weil es von mehreren genutzte
Adress/Datenpfad-Abschnitte gibt. An den Knoten, auf die mehrere Pfeile gerichtet
sind, beginnt ein gemeinsam genutzter neuer Pfadabschnitt.

Computertechnik 152 Jacob


Das Chipsatz-Konzept

Memory
(Hauptspeicher)
Zelle
Adress-
Front decoder
Prozessor side Prozessor Memory Mem-
Bus Interface Controller Bus

Graphik Hub
Interface Interface

Hub
Interface Int Disk-Interface
contr
PCI USB
Interface Interface

Bild 5.20: Graph der konkurrierenden Belegungen der dma-Adress/Datenpfade


Wenn es zwischen dem Initiator und dem Memory Controller keine Zwischenpuffer
gibt, die den Pfad in unabhängig voneinander belegbare Pfadabschnitte auftrennen,
dann muss der Pfad als Ganzes belegt werden. Die Entscheidung über die Belegung
des Zugangs zum Hauptspeicher bedeutet dann auch, dass über den gesamten
Adress/Datenpfad entschieden wird.
Der Graph gibt die Überlagerung aller Alternativen der dma-Belegungen an. Zu
einem bestimmten Zeitpunkt werden aber nicht alle Einheiten gleichzeitig
Datentransfers mit dem Hauptspeicher ausführen wollen, sondern nur einige davon.
Der Graph gibt nur die dma-Konkurrenz an. Will man die gesamte Konkurrenz
beschreiben, dann muss man zusätzlich die notwendigen Belegungen berücksichti-
gen, die durch die Datentransfers des Prozessors von/zur Peripherie entstehen. Die
Überlagerung beider Graphen zeigt Bild 5.21.
Memory
(Hauptspeicher)
Zelle
Adress-
Front decoder
Prozessor side Prozessor Memory Mem-
Bus Interface Controller Bus

Graphik Hub
Interface Interface

Hub
Interface Int Disk-Interface
contr
PCI USB
Interface Interface

Bild 5.21: Überlagerung des dma-Belegungsgraphen (durchgezogen) mit dem IO-


Belegungsgraphen des Prozessors (gestrichelt)

Computertechnik 153 Jacob


Das Chipsatz-Konzept

Damit sind immer noch nicht alle Belegungen erfasst. Bei den dma-Zugriffen ist noch
etwas Besonderes zu beachten. Wenn nämlich bei dma-Zugriffen Hauptspeicher-
zellen verändert werden, von denen im Augenblick eine Kopie im Cache im Prozes-
sor steht, dann würde ein Unterschied zwischen Cache und Hauptspeicher ent-
stehen. Diese Inkonsistenz darf nicht sein.

Es gibt verschiedene Verfahren, sie zu vermeiden. Eines davon ist das Snoop-
Verfahren.

Zum Hauptspeicher kann immer nur eine Einheit zugreifen. Wenn eine dma-fähige
Einheit zum Hauptspeicher zugreift, kann der Prozessor nicht zugreifen. Damit belegt
er auch nicht den Front-Side-Bus. Aber der Prozessor kann passiv am FSB
„mithören“, was man als Snoop-Zustand bezeichnet.

Wenn nun der dma-Zugriff zum Hauptspeicher erfolgt, kann das Prozessor-Interface
des Chipsatzes den FSB belegen, d.h. eine FSB-Transaktion mit der Adresse und
dem Datenwort des dma-Zugriffs veranlassen. Der snoopende Prozessor kann mit
Hilfe der Adresse feststellen, ob sein Cache eine Kopie enthält und diese, wenn
vorhanden, gemäß Datenwort aktualisieren.
Soweit das Prinzip. Die Details sind komplexer.

Das Snoop-Verfahren bedeutet also, dass der Memory-Controller den


Adress/Datenpfad zum Front-Side-Bus belegen kann. Diese Belegung ist in Bild 5.22
zusätzlich berücksichtigt.
Memory
(Hauptspeicher)
Zelle
Adress-
Front decoder
Prozessor side Prozessor Memory Mem-
Bus Interface Controller Bus

Graphik Hub
Interface Interface

Hub
Interface Int Disk-Interface
contr
PCI USB
Interface Interface

Bild 5.22: Vollständiger Belegungsgraph (strich-punktiert: Belegung zum Zweck des


Snoopens)
Die Chipsatz-Hersteller veröffentlichen ihr Chipsatz-Konzept nicht im Detail. Das ist auch
nicht notwendig, um die Prinzipien zu erkennen. Im Folgenden wird ein beispielhaftes
Konzept für eine Strategie plausibel gemacht, mit der die Entscheidungen über die Belegung
der Adress/Datenpfade getroffen werden können.

Computertechnik 154 Jacob


Das Chipsatz-Konzept

Eine beispielhafte Entscheidungsstrategie bei der Belegung der


Adress/Datenpfade

Auf dieser Basis des vollständigen Belegungsgraphen kann man beispielhaft eine
Entscheidungsstrategie bei der Belegung der Adress/Datenpfade konzipieren.

Wenn bei den dma-Zugriffen grundsätzlich der FSB mitbeteiligt ist, dann ist die
Entscheidungsstelle, die über die Belegung des FSB entscheidet, von zentraler
Bedeutung.

Der Memory-Controller meldet den Bedarf nach einem kombinierten dma-FSB-Zugriff


beim Prozessor-Interface an, das es bei der FSB-Vergabestelle (FSB-Arbiter)
anmeldet. Der Prozessor meldet seinen Bedarf davon unabhängig ebenfalls beim
FSB-Arbiter an.

Das Entscheidungsverfahren im FSB-Arbiter kann ein Umlaufverfahren mit


Gleichverteilung der Chancen oder ein Verdrängungsverfahren sein. Beim
Umlaufverfahren werden die Anforderungen zyklisch in immer gleicher Reihenfolge
abgefragt und bewilligt. Beim Verdrängungsverfahren gibt es eine Rangfolge, so
dass immer die höchstrangige Anforderung in einer Warteschlange bewilligt wird.

Bei zwei Konkurrenten bedeutet das Umlaufverfahren, dass die beiden


abwechselnd ihre Chance bekommen; das Verdrängungsverfahren bedeutet, dass
sich im Konfliktfall die Anforderung mit der höheren Priorität durchsetzt.

Gibt man z.B. den dma-Transfers die höhere Priorität, dann würden die Prozessor-
Transfers verdrängt. Das bewirkt tendenziell eine Verlangsamung des Programm-
durchsatzes, so dass tendenziell weniger dma-Aufträge an die dma-fähigen
Controller nachrücken. Die angenommene Verdrängungsstrategie unterstützt also
die Anpassung der Programmlast an die Belastbarkeit des Systems durch dma-
Datentransfers.

Im FSB-Arbiter muss auf die eine oder die andere Art eine Entscheidung fallen.

Wenn der Prozessor den Zuschlag bekommt, dann hat er die Initiative beim
Datentransfer und das Prozessor-Interface sorgt dafür, dass der Adress/Datenpfad
im Sinne des Prozessors im Chipsatz eingestellt werden kann. In diesem Fall erhält
der Memory-Controller keine Freigabe für einen dma-Transfer.
Wenn aber das Prozessor-Interface vom FSB-Arbiter freigegeben wird, gibt es dem
Memory Controller ein dma-Freigabe-Signal.
Dieser entscheidet zuerst, ob er das Graphik-Interface oder das Hub-Interface frei
gibt. - Wenn er das Hub-Interface frei gibt, dann muss das Hub-Interface im IO
Controller Hub entscheiden, welche der Anforderungen es frei gibt, die bei ihm
anliegen. - Wird das PCI-Interface frei gegeben, muss dieses darüber entscheiden,
welcher seiner PCI-Controller frei gegeben wird. Sinngemäß Gleiches gilt für das
Disk-Interface.

Auf diese Art wird eine der anliegenden dma-Anforderungen bewilligt und die
bewilligte Einheit wird als Initiator eines dma-Datentransfers aktiv. Der
Adress/Datenpfad wurde bei der Entscheidungsfindung eindeutig festgelegt.

Computertechnik 155 Jacob


Das Chipsatz-Konzept

Der Memory-Controller stellt – zusätzlich zum und unabhängig vom bewilligten


Initiator - auch das Ende des Datentransfers fest und meldet dem FSB-Arbiter das
Ende seiner aktuellen FSB-Belegung. Was nicht heißt, dass er nicht noch eine
weitere Anforderung beim Prozessor-Interface anmeldet, die noch auf Bedienung
wartet.
Spätestens nach dem Ende des Datentransfers muss es zu einer neuen
Entscheidung im FSB-Arbiter kommen, wenn man keine Zeit verlieren will. Bei der
Entscheidung, die der vorausgegangenen folgt, gelten die neuen aktuellen
Anforderungen.
Ob dieses Verfahren oder ein anderes eine optimale Ausbalancierung des
Datenverkehrs des Prozessors und der dma-fähigen Controller bedeuten, muss man
mit Hilfe von Simulationen gemäß repräsentativen Programmprofilen zeigen. Das ist
eine typische Aufgabe des Computerentwurfs.

Interrupt-Controller

Zu den Leistungen des Chipsatzes gehört auch die Bereitstellung des Interrupt-
Controllers, der in IO-Controller-Hub realisiert wird (Bild 5.23).

Front Prozessor Memory


Prozessor Memory Mem
side Interface (Hauptspeicher)
Controller Bus
Bus
Graphik Hub
Interface Interface

AGP Hub
oder Inter- RAID
PCIEx16 face

Hub Disk-Interface IDE


Interface /ATA
Sammel-Interrupt-Request Int
contr
PCI USB
PCIE
x1 Interface Interface

PCI
USB
Bus

Bild 5.23: Interrupt-Controller als zentrale Anlaufstelle für die Interrupt-Requests


Request-Signalpfade rot, Acknowledge-Adressierungs-Pfad grün, Interrupt-Vektor-Pfad
schwarz
Man beachte das, was im Kapitel 2 über die Veroderung der Interrupt-Requests
gesagt wurde: auf dem PCI-Bus wird das mit dem wired-OR-Verfahren gemacht; im
PCI-Interface bzw. Interrupt-Controller durch integrierte Schaltungen.

Der Prozessor initiiert aufgrund des Sammel-Interrupt-Request einen Interrupt-


Acknowledge-Zyklus, mit dem über das Hub-Interface der Interrupt-Vektor aus dem
Interrupt-Controller ausgelesen wird.

Ist es ein PCI-Interrupt, dann folgen die Lese-Zugriffe zu den PCI-Controllern, um


den Verursacher zu bestimmen.

Computertechnik 156 Jacob


Das Konzept des Front Side Bus

6 Der Datenverkehr von/zu den Prozessoren


6.1 Das Konzept des Front Side Bus
Die Schnittstelle des Prozessors bestimmt die Eigenschaften des Front Side Bus. Sie
legt u.a. die Adressbits und die Datenbits fest. Der Pentium4 (Extreme Edition) soll
als Beispiel dienen (Bild 6.1).
Bei einem Datentransfer wird ein Datenwort von 64Bit übertragen. Die Adressierung
erfolgt in zwei aufeinander folgenden Adressierungsphasen. In der ersten Phase
werden die Adressbits A3 bis A35 angelegt, um eine 64Bit-Speicherzelle zu
selektieren. In der folgenden Phase wird u.a. ein 8Bit-Adressmuster, das gezielt
Bytes im Speicherwort auswählen kann.

Bild 6.1: Pad-Schnittstelle des Pentium4 (Extreme Edition) mit Adress-Pads (linke
Markierungen) und Daten-Pads (rechte Markierungen)
Um Datentransfers überhaupt ausführen zu können, braucht man aber mehr als
Adress- und Datenbits. Man braucht klare Regeln über den zeitlichen Ablauf der
Einzelaktionen des Transfers. Die Abfolge der Einzelaktionen eines Transfers sei
Transaktion genannt.
Die Phasen einer Transfer-Transaktion
Wenn man die notwendigen Einzelaktionen einer Transaktion konzipiert, dann muss
man sich zunächst fragen, ob der Prozessor der einzige Initiator von Datentransfers
am Front Side Bus sein soll. Im vorausgehenden Kapitel wurde das schon beant-
wortet: das Prozessor-Interface des Chipsatzes sollte auch am Front Side Bus als
Initiator agieren können. Damit ist es, wie dort schon im Grundsatz vorgestellt, not-
wendig, zuerst eine FSB-Arbitrierung vorzunehmen, bevor der eigentliche Transfer
beginnen kann.
Dann aber fragt man sich natürlich, ob man die Arbitrierung nicht gleich so konzipiert, dass
sie zusätzlich mehr als einen Prozessor einbeziehen kann. Das genau ist bei der Fest-
legung des Intel-P6-Konzepts entstanden, dessen Prinzip hier als Beispiel diskutiert wird.

Nach der Phase der Arbitrierung soll der Initiator, der den Front Side Bus benutzen
darf, möglichst schnell seine Anforderungen spezifizieren.

Computertechnik 157 Jacob


Das Konzept des Front Side Bus

Er legt ein Command-Wort an, das den Zugriffstyp spezifiziert, und die Adresswörter
zur Selektion der Speicherzellen bzw. der Bytes in der Zelle, auf die sich der Zugriff
bezieht.
Ein konsequenter Entwurf achtet darauf, dass in der Adress/Command-Phase Über-
tragungsfehler entstehen können, gegen die man sich durch Sicherungsmaßnahmen
schützen kann. Also legt man danach eine Fehlererkennungs-Phase ein, die eine
Überprüfung der Sicherungsergebnisse der vorausgegangenen Phase erlaubt.
Angenommen, das Prozessor-Interface im Chipsatz hätte die bisher beschriebenen
Phasen als Initiator bei einem dma-Zugriff des Memory-Controllers ausgeführt.
Währenddessen wäre der Prozessor im Snoop-Zustand und würde die Adresse
übernehmen und auswerten, die das Prozessor-Interface anlegte. Jetzt braucht der
Prozessor Zeit, die Auswertung vollständig zu machen. Die Zeit soll Snoop-Phase
genannt werden.
Das Alles muss abgeschlossen sein, bevor die eigentliche Datentransferphase
beginnen kann. Diese wird so konzipiert, dass diejenigen Übertragungen möglichst
ununterbrochen stattfinden, die am häufigsten vorkommen: die Übertragungen von
Cachelines, die vier Speicherwörter umfassen.
Der jeweilige Initiator erwartet vier Datenwörter, wenn er ein Lese-Command gege-
ben hat, bzw. liefert vier Datenwörter, wenn er ein Schreib-Command gegeben hat.
Begleitende Statusmeldungen machen den Datentransfer überwachbar.
Für jede Phase ist je eine Schaltung zuständig, die nacheinander eine Transaktion
bearbeiten. Das ergibt für eine einzelne Transaktion folgenden Bearbeitungs-Zeitplan
(Bild 6.2), der auf den FSB-Takt synchronisiert ist.
FSB- FSB-
Transaktion
Pipeline Signale
Arbitertakte Transfer-Requesttakte Datentransfertakte

Arbiter FSB-
Requests
Adress- und Command
Command
control Adresse
Error-
Bus error,..
control
Snoop-
control Hit,..

Status- und Status


Daten
control
Daten

Takt

Bild 6.2: Zeitplan gemäß dem Protokoll des FSB (Intel P6-Konzept)

Computertechnik 158 Jacob


Das Konzept des Front Side Bus

Gründe für einige Details: Der Zeitplan weist aus, dass die Arbitrierungs- und die
Adress/Command-Phase je zwei FSB-Takte brauchen.
Bei der Arbitrierung werden im ersten Takt die FSB-Request-Signale im angetroffenen Zu-
stand „fixiert“ (d.h. es werden keine Änderungen mehr zugelassen) und gespeichert, wenn
man sicher ist, dass „alles eingeschwungen ist“. Im zweiten Takt wird der gespeicherte Zu-
stand für die Bewilligung ausgewertet, und es werden wieder Änderungen zugelassen.
In der Adress/Commandphase werden im ersten Takt die Adressbits zur Adressierung der
64Bit-Speicherzelle und die Command-Bits angelegt. In der zweiten Phase wird auf den
Adressbits ein 8Bit-Muster angelegt. Jedes Bit wählt ein Byte von den 8 Bytes aus, die in
der adressierten 64Bit-Speicherzelle liegen.

Die Pipeline-Struktur der FSB-Steuerung

Die Schaltungen, die die Aktionen der aufeinander folgenden Phasen ausführen,
bilden eine Kette besonderer Art. Es ist nicht so, dass eine Transaktion, deren Bear-
beitung im ersten Glied der Kette begonnen wurde, erst bis zum letzten durchlaufen
muss, bevor man mit der Bearbeitung einer neuen Transaktion im ersten beginnen
kann. Vielmehr kann jedes Glied mit der Bearbeitung einer nachfolgenden Trans-
aktion beginnen, wenn die vorhergehende fertig ist.
Das ist vergleichbar der Bearbeitung eines Werkstücks in einem Fließband (pipeline).
Deshalb spricht man von der Pipeline-Struktur der Kette. So, wie in einem
Fließband mehrere Werkstücke gleichzeitig bearbeitet werden können, können in der
FSB-Pipeline mehrere Transaktionen gleichzeitig bearbeitet werden. Das kann man
mit einem beispielhaften Zeitplan veranschaulichen (Bild 6.3).

Arbiter

Adress- und
Command
control
Error-
control
Snoop-
control
Warten

Status- und
Daten
control

Takt

Bild 6.3: Beispiel-Zeitplan für die gleichzeitige Bearbeitung von zwei Transaktionen in
der FSB-Pipeline
Wenn das erste Glied in der Pipeline-Kette, das Arbitrierungsglied, frei ist, kann es
für eine nachfolgende Transaktion aktiv werden. Die Bearbeitungen der
nachfolgenden Transaktion ordnen sich in den folgenden Gliedern passend hinter die
Phasen der vorhergehenden, bis das Status/Daten-Glied erreicht ist.

Computertechnik 159 Jacob


Das Konzept des Front Side Bus

Dieses ist noch durch die vorhergehende belegt, d.h. die nachfolgende muss warten,
bis das Glied frei gegeben wird. Eine weitere unmittelbar nachfolgende Transaktion
müsste auf die Vorgängerinnen warten usw. Von Fall zu Fall können sich also
Warteschlangen ergeben, die geordnet abgebaut werden müssen.

Prinzipien der FSB-Arbitrierung


(Vertiefung für Interessierte, kein Prüfungsstoff)

Arbitrieren heißt: über einen Benutzer entscheiden. In diesem Fall sind die Benutzer
bewilligte Initiatoren eines Datentransfers auf dem FSB.

Schaltungstechnisch kann man das Arbitrieren dadurch realisieren, dass sich die Initiatoren
mit je einem Anforderungssignal bei einer zentralen Einheit (Arbiter) melden, die die
Anforderungssignale auswertet und gezielt nur ein Bewilligungssignal zu dem anfordernden
Initiator zurückschickt (wenn es mehr als einer ist, zu einem der Initiatoren).

Bei dieser Lösung muss man mit drei Zeitabschnitten rechnen, bis ein anfordernder Initiator
mit dem Datentransfer beginnen kann: der Laufzeit der Anforderung zum Arbiter, der
Entscheidungszeit und der Laufzeit der Bewilligung zum anfordernden Initiator. Das ist eine
grundsätzliche Eigenschaft der zentralen Arbitrierung, die durch die Laufzeiten nicht die
zeitoptimalste Lösung ist.

Eine andere Lösung, die die Laufzeiten vermeidet, geht davon aus, dass jeder Initiator eine
Arbiter-Schaltung (z.B. Agent genannt) enthält, so dass sich die Agenten untereinander
über die Benutzung einigen können.

Angenommen, jeder Agent verfügt über einen Zähler und es gibt vier Agenten. Weiterhin
angenommen, dass die Anfangszustände der Zähler zyklisch verteilt sind und dass alle
Zähler mit dem gleichen Tatsignal getaktet werden. Dann schieben sich die Anfangswerte
zyklisch durch die Zähler, wie die folgende Tabelle mit aufwärts zählenden Zählern zeigt:

Takt Zähler 0 Zähler 1 Zähler2 Zähler3


Anfang 0 3 2 1
1.Takt 1 0 3 2
2.Takt 2 1 0 3
3.Takt 3 2 1 0
4.Takt 0 3 2 1
usw.

Dieses Zählschema dient der Festlegung der Reihenfolge, in der den Agenten eine
Chance, also das Recht zum Zugriff, gegeben wird. Die Chancen sind gleich verteilt.

Das Merkmal für das Recht zum Zugriff ist ein bestimmter Zählerzustand, der hier die 0
sein soll.

Dieses Verfahren garantiert also, dass die Agenten der Reihe nach eine Belegungschance
bekommen. Damit erkennen die einzelnen aber nicht, ob die anderen einen Bus-Request
haben. Dazu braucht man eine gegenseitige Meldung der Bus-Requests.

Der Initiator i (i =0 bis 3) schaltet im Zählzustand 0 sein eigenes Bus-Request-Signal


BR0#[i] auf eine verteilende Leitung, die mit BREQi# bezeichnet werden soll. Die Leitung
führt zu je einem speziellen Eingang an anderen Initiatoren.

Computertechnik 160 Jacob


Das Konzept des Front Side Bus

BR0#[0]

BR0#[1]
BR0#[2]
BR0#[3]
BREQ0#
BREQ1#
BREQ2#
BREQ3#
Nun muss jeder Initiator in jedem Takt eindeutig die Bus-Requests der anderen finden. Der
Anhaltspunkt, der Eindeutigkeit schafft, ist der Zählerstand.

Die Eingänge werden so nummeriert, dass jeder Initiator den Eingang abfragt, der zum
aktuellen Zählerstand gehört.

BR0#[0] BR3#[1] BR2#[2] BR1#[3]


BR1#[0] BR0#[1] BR3#[2] BR2#[3]
BR2#[0] BR1#[1] BR0#[2] BR3#[3]
BR3#[0] BR2#[1] BR1#[2] BR0#[3]

BREQ0#
BREQ1#
BREQ2#
BREQ3#
In der Nummerierung der Pins erkennt man vom 1. bis zum 4. Takt zeilenweise die
Zählerstände. Jeder Initiator kann in jedem Takt mit dem Zählerstand feststellen, welche
Bus Requests er einzulesen hat, um die gleiche Entscheidung zu fällen wie die anderen.
Die Arbitrierung dauert zwei FSB-Takte. Im ersten werden die Bus-Requests alle „fixiert“.
Im zweiten wird der Agent bestimmt, der den FSB bekommt. Alle Agenten haben sich den
letzten Agenten gemerkt, der den FSB benutzt hat, z.B. dadurch, dass alle ihre Zähler bei
der letzten Entscheidung angehalten haben.
Sobald der zweite FSB-Takt der aktuellen Arbitrierung begonnen hat, inkrementieren alle
Agenten ihre Zähler und prüfen den Bus-Request desjenigen Agenten, der dann bedient
werden kann.
Hat dieser einen Bus-Request, dann stellen das alle fest und halten an. Der betroffene
Agent gibt seine Transaktion frei. Ein noch wartender Bus-Request eines anderen Agenten
wird erst bei der nächsten Arbitrierung bedient. - Hat er keinen Bus-Request, wird das in
allen Agenten festgestellt und in allen Agenten wird sofort weiter gezählt und die
Entscheidungsfindung wie zuvor wiederholt.
Das wiederholt sich, bis entweder ein Bus-Request gefunden ist oder in allen der Agent
wieder angetroffen wird, bei dem das Suchen begonnen hat. Dann war die Suche erfolglos
und man kann sie abbrechen, d.h. man kann die Fixierung der Bus-Requests aufheben.
Die beiden FSB-Takte der danach folgenden Arbitrierung laufen dann in gleicher Weise ab.
Die Folge eines solchen Verfahrens ist, dass in mehreren nacheinander folgenden Arbitrie-
rungen je eine Transaktion gestartet werden kann, weil - aus welchem Grund auch immer -
Bus-Requests zu dicht aufeinander folgen. Dann laufen die Puffer für die gestoppten, also
wartenden Transaktionen über.

Computertechnik 161 Jacob


Das Konzept des Front Side Bus

Das Konzept sieht eine „Notbremse“ vor. Jeder Agent kann durch Aktivierung des Signals
„block next request“ die Bewilligung weiterer Transaktionen sperren, also das zyklische
Suchen des nächsten Bus-Requests anhalten und das Anhalten wieder aufheben.

Eine weitere ergänzende Funktion betrifft die Notwendigkeit, bestimmte Folgen von
Transaktionen ohne Unterbrechung ablaufen zu lassen. Wenn ein Agent den FSB belegt
hat und eine nicht unterbrochene Folge von Transaktionen durchführen will (z.B. beim
Lesen und Verändern einer Semaphore), kann er die Arbitrierung durch Aktivierung des
Signals „lock“ kurz aussetzen.

Dieses Arbitrierungskonzept ist in 1 Prozessor-, 2-Prozessor- oder 4 Prozessor-


Konfigurationen anwendbar.

Eine weitere sehr wichtige Ergänzung ist die eines fünften Agenten, der alle Agenten des
zyklischen Umlaufverfahrens von der Benutzung des FSB fernhalten kann. Er kann das
Signal „bus priority“ aktivieren. Die Aktivierung dieses Signals setzt die Vergabe mit dem
Umlaufverfahren außer Kraft, d.h. es stoppt den Zyklus. Der Agent, der es aktivieren kann,
bekommt also vorrangig den FSB.

Im Kapitel 5 wurde der allgemeine Fall einer FSB-Arbitrierung beschrieben, bei der ein
Prozessor und das Prozessor-Interface des Chipsatzes Konkurrenten sind. Im Sinne des
eben entwickelten Arbitrierungskonzepts bedeutet das:
Von den vier möglichen Agenten des Umlaufverfahrens bleibt ein einziger für den einzigen
Prozessor übrig.
Der Agent des Prozessor-Interfaces des Chipsatzes ist derjenige, der das bus-priority-
Signal aktivieren kann.

Das bedeutet, dass im Konfliktfall die dma-Transfers den FSB vor den Prozessor-
Transaktionen belegen.

(Ende der Vertiefung)

Die Balance zwischen der Zahl der Prozessor-Hauptspeicherzugriffe pro Zeiteinheit


und der Zahl der dma-Zugriffe pro Zeiteinheit hängt entscheidend davon ab, wie viele
Prozessor-Transfers aus dem Cache bedient werden können, so dass die
entsprechenden Hauptspeicherzugriffe entfallen können. Im Folgenden soll das
Cache-Konzept genauer untersucht werden. Dabei wird deutlich, wovon die
Trefferchance abhängt.

Computertechnik 162 Jacob


Das Cache-Konzept

6.2 Das Cache-Konzept


Der Nutzen einer geeigneten Speicherhierarchie

In der Regel greift der Prozessor beim Programmablauf nicht nur einmal zu einem
Befehl oder einer Variablen im Hauptspeicher zu, sondern mehrfach: im ersten Fall,
weil z.B. eine Schleife mehrfach durchlaufen wird, im zweiten Fall, weil eine Variable
mehrfach abgefragt oder verändert wird. Findet man den Befehl bzw. die Variable
beim wiederholten Zugriff in einem schnellen Zwischenspeicher, spart man
Zugriffszeit.

Der Nutzen für den Programmdurchsatz ist zweifach:


• Durch die schnellere Zugriffszeit ergibt sich eine kürzere Programmablaufzeit,
• Man hat weniger Zugriffe des Prozessors zum Hauptspeicher und damit weniger
Verdrängungseffekte am Hauptspeicher (in Ein-Prozessor-Systemen behindern
sich die Zugriffe des Prozessors und die dma-Zugriffe weniger, in Mehrprozessor-
Systemen behindern sich die Zugriffe mehrerer Prozessoren und die dma-Zugriffe
weniger).

Das Ziel des Konzepts eines schnellen Zwischenspeichers muss


sein, geeignete „Ausschnitte“ des gerade ablaufenden
Programms bereitzuhalten. Die „Ausschnitte“ müssen mit dem
Programmfortschritt aktualisiert werden. Zwischenspeicher:
Hauptspeicher-Ausschnitte

Aus der Sicht eines Prozessors muss verdeckt bleiben, ob der


Speicherzugriff aus dem Zwischenspeicher oder aus dem
Hauptspeicher „bedient“ wird, was die Bezeichnung Cache für Hauptspeicher:
den schnellen Zwischenspeicher nahe legt. Programm-Ausschnitte

Aus der Sicht eines Prozessors interessiert die kürzeste Zeit, die vom Beginn bis
zum Ende eines Speicherzugriffs vergeht. Je kürzer diese Zeit ist, umso schneller ist
der Fortschritt beim Programmablauf. Deshalb werden zwei Zugriffsvorgänge
gleichzeitig initiiert: der zum Cache und der zum Hauptspeicher. Ein Treffer im
schnelleren Cache macht den zugleich vorbereiteten Zugriff zum Hauptspeicher
bedeutungslos, d.h. er kann vorzeitig beendet werden.

Den schnellsten Cache-Zugriff bekommt man, wenn man den


Cache auf dem Prozessor-Chip realisiert.

Der Entwurf der Prozessor-Schaltungen erlaubt es, den Cache Level1-Cache:


Level2-Cache-
so zu gliedern, dass ein kleiner, kernnaher, sehr schneller Cache Ausschnitte
einen Ausschnitt eines kernferneren, größeren, schnellen Cache
enthält.
Der Cache, der dem Prozessor-Kern am nächsten liegt, wird Level2-Cache:
Level1-Cache genannt (abgekürzt: L1). Hauptspeicher-Ausschnitte

Der Cache, aus dem die Ausschnitte des Level1-Cache gebildet


werden, heißt Level2-Cache (abgekürzt: L2).
Der Level1-Cache enthält eine Untermenge der Speicherwörter
Hauptspeicher:
des Level2-Caches, der eine Untermenge der Speicherwörter Programm-Ausschnitte
des Hauptspeichers enthält.

Computertechnik 163 Jacob


Das Cache-Konzept

Der Inhalt des Hauptspeichers ist selbst auch eine Untermenge, und zwar eine
Untermenge der Programm/Daten-Dateien auf der Disk (Massenspeicher).
Die Programmausschnitte sind die Seiten
der Speichereinteilung gemäß dem
virtuellen Adressierungskonzept.
Der Seitenwechselmechanismus des Hauptspeicher:
Programm-Ausschnitte
virtuellen Konzepts sorgt dafür, dass
immer diejenigen Seiten im Haupt-
speicher stehen, die beim Programm-
ablauf aktuell sind. Dies als Ergänzung, Massenspeicher:
damit der Cache als Teil der Gesamt- Programme als Ganzes
hierarchie deutlich wird.

Die Cache-Struktur in aktuellen PC-Prozessoren

In aktuellen PC-Prozessoren sind der Level1 und der Level2-Cache zusammen mit
dem Prozessorkern auf dem einzigen Prozessor-Die realisiert.

Das erkennt man an der Basisstruktur eines modernen Prozessors (Bild 6.4).
FSB

Bus Unit

Control Unit Befehle

Register/ L2-
Execution Cache
Unit

L1-Cache Datenobjekte

Bild 6.4: Basis-Struktur eines modernen Prozessors


• Die Bus Unit sorgt dafür, dass der Prozessorkern über den FSB mit der
„Außenwelt“ zusammenwirken kann, wenn beim Speicherzugriff kein Treffer in der
L1/L2-Cache-Kombination vorliegt.
• Je mehr Speicherzugriffe durch Treffer im Cache überflüssig werden, umso
kürzer ist der Programmablauf.
• Die Steuereinheit (control unit) macht aus den Maschinenbefehlen geeignete
Sequenzen von internen Steueroperationen, die die Register und die operativen
Einheiten (Execution Units) zur Ausführung der gewünschten Maschinenbefehle
veranlasst.

Im Folgenden geht es zunächst um die Cache-Struktur.

Computertechnik 164 Jacob


Basisverfahren für Caches

6.3 Basisverfahren für Caches


Die Frage ist, wie man die „Ausschnitte“ im Hauptspeicher bildet, die als Kopien im
Cache bereitgehalten werden.

Wiederholungen sind, wie oben schon festgestellt, beim Programmablauf sehr


häufig. Man kann zusätzlich feststellen, dass der Zugriff zu Speicherzellen, die der
aktuellen „benachbart“ sind, häufig vorkommt. Also ist es sinnvoll, nicht nur die
Speicherzelle selbst, sondern gleich mehrere im Cache bereitzustellen. Das ist der
Grund, weswegen immer ein 2n-faches eines Speicherworts bereitgestellt wird. Im
Falle des Pentium4 sind es 4 64Bit-Speicherwörter, die eine Gesamtwortlänge von
256 Bit bilden. Die 256Bit-Wörter werden als Cachelines bezeichnet.
HA HA
Für die Adressierung eines solchen Gesamtworts im n 5
Hauptspeicher die FSB-Adressbits HA5 bis HAn
zuständig (H für Host).

Der Transfer einer Cacheline zwischen Cache und Hauptspeicher erfolgt immer als
Burst von 4 Speicherzugriffen. Wenn ein Zugriff zu einem Speicherwort erfolgt, das
nicht im Cache steht, dann führt die Bus-Unit vier Hauptspeicherzugriffe aus: die
Adressbits HA5 bis HAn haben bei den vier Zugriffen die Werte der vorgegebenen
Adresse, die Adressbits (HA4, HA3) bekommen nacheinander die Werte (0,0), (0.1),
(1,0), (1,1).

Cacheline bedeutet Zeile im Cache. Die entsprechende Zeile im Hauptspeicher soll


cachebare Zeile heißen. Ein Cache stellt immer weniger Cachelines zur Verfügung
als es cachebare Zeilen gibt; oder, wie oben ausgedrückt: der Inhalt des Cache ist
eine Untermenge des Inhalts des Hauptspeichers. Die Größe des Cache bestimmt
die maximale Größe der Untermenge.
Neben der Größe des Cache ist die Zugriffszeit zum Cache wichtig. Bei jedem
Adressierungsvorgang muss innerhalb der Zugriffszeit feststehen, ob das adressierte
Wort im Zwischenspeicher steht oder nicht. Das kann man dadurch realisieren, dass
jede Cacheline zusätzlich zur cachebaren Hauptspeicher-Zeile ein Merkmal enthält,
an dem man ihre Identität erkennen kann.

Die Adresse der cachebaren Zeile ist ihr eindeutiges Identifizierungsmerkmal. Also
kann man immer dann, wenn eine cachebare Zeile aus dem Hauptspeicher in eine
Cacheline übertragen wird, auch das Adresswort der cachebaren Zeile als
ergänzendes Wort zur Cacheline hinzufügen.

Bild 6.5 zeigt das in einem Schema. Beispielhaft sind zwei Cachelines mit den
hinzugefügten Adresswörtern belegt.

Es wird ein Belegungsalgorithmus angenommen, der (der Reihe nach) eine freie
Zeile sucht und die erste gefundene freie belegt. Wenn keine frei ist, wird eine frei
gemacht und die adressierte cachebare Zeile wird zusammen mit der Adresse in die
frei gemachte Cacheline geschrieben. Beim Belegen erzeugt man in der Cacheline
eine Kopie der adressierten cachebaren Zeile. Das Kopieren wird als Cacheline-Fill
bezeichnet.

Computertechnik 165 Jacob


Basisverfahren für Caches

HA Adreßraum der HA Hauptspeicher


n cachebaren Zeilen 5 eingeteilt in cachebare Zeilen
111111111111111111111111111
110
101
100
011
010
001
111111111111111111111111000

000000000000000000000000111
110
000000000000000000000000101
100
011
010
001
000000000000000000000000000

Cache
111111111111111111111111000
vollständige Adressen Kopien
der cachebaren Zeilen der cachebaren Zeilen
000000000000000000000000101

Bild 6.5: Cache mit Cachelines für Kopien cachebarer Zeilen


Ergänzung jeder Cacheline durch Speicherung des jeweiligen Adressworts der cachebaren
Zeile; zwei willkürliche beispielhafte Einträge

Wie kann man nun mit Hilfe eines schnellen Vergleichs feststellen, ob eine Kopie
vorhanden ist oder nicht?

Einen schnellen Vergleich kann man auf der Basis von besonderen Speichern
realisieren, die inhaltsbezogen adressieren und assoziative Speicher heißen.

Bei der Adressierung geschieht die Auswahl durch Vergleich der angelegten Adresse
mit den zusätzlich gespeicherten Adresswerten im Cache. Sobald Gleichheit festge-
stellt wird (Treffer, match), wird die entsprechende Cacheline aus dem Cache
ausgegeben (lesen) bzw. in den Cache eingegeben (geschrieben).

Der Cache füllt sich mit der Ausführung der Cacheline-Fills. Wenn er voll ist, müssen
- wie oben beschrieben - Einträge überschrieben werden.

Assoziative Speicher sind sehr komplex und haben eine verhältnismäßig geringe
Speicherkapazität. Sie sind ungeeignet für den Aufbau von Caches mit großer
Speicherkapazität.
Das beschriebene Basis-Verfahren ist zwar geeignet, eine bestimmte Anzahl beliebig
ausgewählter cachebarer Zeilen im Cache zu speichern, aber auf Kosten eines
komplexen Verfahrens der Auswahl. Die Komplexität ergibt sich u.a. daraus, dass in
jeder Cacheline eine beliebige cachebare Zeile stehen kann. Genau da kann eine
Vereinfachung des Verfahrens ansetzen.

In einer Cache-Zeile soll nicht mehr eine beliebige cachebare Zeile stehen können,
sondern eine beliebige aus einer geeigneten kleineren Untermenge von cachebaren
Zeilen.

Computertechnik 166 Jacob


Setadressierte Verfahren

6.4 Setadressierte Verfahren


Prinzip der Untermenge des Hauptspeichers im Cache
HA HA HA
Angenommen, man teilt die Adresse in einen Teil mit n m 5
niederwertigen und einen Teil mit höherwertigen
Adressbits. höherwertig niederwertig

Dann kann man Untermengen von Adressen bilden, die alle den gleichen niederwer-
tigen Adresswert haben. Angenommen, die Adresse einer cachebaren Zeile umfasst
die Adressbits HA5 bis HAn und der niederwertige Teil umfasst HA5 bis HAm. Dann
enthält eine Untermenge 2 n-m Adressen mit unterschiedlichen höherwertigen
Adresswerten. Eine Hauptspeicher-Untermenge der cachebaren Zeilen, die durch
eine solche Adress-Untermenge adressiert wird, wird als Set bezeichnet (Bild 6.6)
HA Adreßraum der HA Hauptspeicher
n 5 eingeteilt in cachebare Zeilen
cachebaren Zeilen
111111111111111111111111111
110
101
100
011
010
001
111111111111111111111111000

Alle cachebaren Zeilen


mit demselben niederwertigen
000000000000000000000000111 Adreßteil, hier z.B. 000, bilden
110
000000000000000000000000101 ein Set.
100
011
010
001
000000000000000000000000000

Bild 6.6: Beispiel für ein Set (Annahme: m=7, alle drei niederwertigen Adressbits 0)
Merkmal des Verfahrens: Jedem Set ist eine und nur eine Cacheline zugeordnet.
HA Adreßraum der HA Hauptspeicher
n 5 eingeteilt in cachebare Zeilen
cachebaren Zeilen
111111111111111111111111111
110
101
100
011
010
001
111111111111111111111111000

000000000000000000000000111
110
000000000000000000000000101
100
011
010
001
000000000000000000000000000

Cache
111
höherwertiger Adressteil 110
zur Identifizierung der 101
100
Kopie der cachebaren Nur eine einzige cachebare
011
Zeile 010 Zeile aus einem Set
001 hat im Cache Platz.
000

Bild 6.7: Je eine Cacheline pro Set: höherwertiger Adressteil plus Cacheline-Adresse
ist gleich Gesamtadresse der gespeicherten cachebaren Zeile

Computertechnik 167 Jacob


Setadressierte Verfahren

Jedes Set kann durch den niederwertigen Adressteil eindeutig identifiziert werden.
Diese Setadresse ist auch die Adresse der Cacheline, die im Cache für das Set
vorgesehen ist. Man kann die Cacheline des Sets also direkt adressieren (im
Gegensatz zur inhaltsbezogenen Adressierung der assoziativen Speicher).

Man braucht aber für die eindeutige Identifizierung der cachebaren Speicherzelle, die
als Kopie in der Cacheline steht, die vollständige Adresse. Das gelingt dadurch, dass
man den höherwertigen Teil der Adresse der Kopie, die in der Cacheline steht,
zusätzlich speichert (Bild 6.7). Der höherwertige Adressteil wird Tag genannt. Das
Tag und die Setadresse (gleich Cacheline-Adresse) ergeben die Gesamtadresse der
Kopie der cachebaren Zeile, die in der Cacheline steht. Damit ergibt sich folgender
Adressiervorgang im Cache.

Sobald der Prozessor bei einem Speicherzugriff eine Adresse anlegt, wird sie vom
Cache-Controller gemäß der Adressteilung ausgewertet. Der Controller adressiert mit
dem niederwertigen Adressteil sowohl den Speicher für die „gecacheten“ Zeilen als
auch den für die Tags. Er vergleicht das ausgelesene Tag mit dem aktuell
anliegenden höherwertigen Adressteil.

Sind die beiden identisch, dann ist es ein Treffer (Hit) und der Speicherzugriff wird
aus dem Cache bedient. Die Bus-Unit kann ihre gleichzeitig begonnenen Zugriffs-
aktionen abbrechen.

Sind sie nicht identisch (Miss), dann muss der Speicherzugriff über die Bus-Unit aus
dem Hauptspeicher bedient werden (es sei denn, es gibt eine L3-Cache-Ebene am
FSB, was hier nicht vertieft wird).

Ein Miss bedeutet im Kontext des Verfahrens, dass entweder gar keine Kopie aus
dem Set in der adressierten Cacheline steht (Zustand: ungültig) oder eine gültige,
aber nicht brauchbare Kopie aus dem Set. Im ungültigen Zustand kann man die
cachebare Zeile aus dem Hauptspeicher einfach laden. Im gültigen Fall muss man
noch einmal differenzieren. Wenn nur die Kopie (und nicht gleichzeitig das Original
im Hauptspeicher) durch Schreiben vom Prozessor verändert wurde (Zustand:
modifiziert), dann darf die Änderung nicht verloren gehen. Das Original der Zeile im
Hauptspeicher muss zuerst den in der Cacheline stehenden Wert bekommen. Im
nicht-modifizierten Zustand ist das nicht notwendig.

Das Alles berücksichtigt, muss der Cache-Controller als Folge des Miss-Ereignisses
letztendlich die aktuell gespeicherte Zeile mit der neu adressierten cachebaren Zeile
überschreiben: Cacheline Fill. Das heißt, dass die gelesenen Hauptspeicherwörter,
die die Bus-Unit liefert, sowohl den Prozessorkern als auch den Cache-Controller
„interessieren“. Der Cache-Controller aktualisiert die betroffene Cacheline; der
Prozessorkern holt sich, was er in der gelesenen Zeile adressiert hat.

Man kann sich den dynamischen Ablauf gemäß dem hier beschriebenen Konzept an
einem Ablauf-Szenario deutlich machen.

Computertechnik 168 Jacob


Setadressierte Verfahren

Demonstration des Nutzens: wiederholtes Durchlaufen einer Schleife


Bild 6.8 macht das an einem stark vereinfachten Beispiel plausibel. Annahme: eine
Schleife wird in der Reihenfolge der nacheinander gespeicherten durchlaufen, bis ein
Verzeigungsbefehl die Verzweigung an den Anfang bewirkt.
Angenommen, der Ablauf startet bei der Hostadresse 0. Zuerst wird Set0, dann Set1
usw. angesprochen. Beim ersten Durchlauf werden also nacheinander die entspre-
chenden Cachelines im Cache aktualisiert. Im Beispiel bewirkt ein Verzeigungsbefehl
bei der Hostadresse 7 eine Verzweigung zur Hostadresse 0, d.h. wenn eine Wieder-
holung erfolgt, stehen die richtigen cachebaren Zeilen schon im Cache.

HA Adreßraum der HA Hauptspeicher


n 5 eingeteilt in cachebare Zeilen
cachebaren Zeilen
111111111111111111111111111
110
101
100
011
010 Set
001 definitionen
111111111111111111111111000

beispielhafte
Wiederholung
000000000000000000000000111
110
000000000000000000000000101
100
011
010
001
000000000000000000000000000

Cache
000000000000000000000000 111
000000000000000000000000 110
000000000000000000000000 101 Den Sets
000000000000000000000000 100 zugeordnete
000000000000000000000000 011
000000000000000000000000 010
Cachelines
000000000000000000000000 001
000000000000000000000000 000

Bild 6.8: Zustand des Cache beim Durchlaufen einer beispielhaften Schleife
Der Farbcode zeigt die Identität von kopierten und originalen Zeilen.
Die Teilung der Adresse in 3 niederwertige Adressbits und n-3 höherwertige Adress-
bits wurde hier nur zur Erläuterung des Prinzips vorgenommen. Die Cachegröße, die
sich damit ergibt, ist unbrauchbar. Man braucht mehr Sets, also auch entsprechend
mehr Adressbits im niederwertigen Adressteil.

Je größer die Zahl der Cachelines im Cache ist, umso kleiner sind die Sets. Das
bedeutet, dass sich weniger cachebare Zeilen jeweils in ihre Cacheline im Cache
teilen müssen. Das erniedrigt das Risiko, dass ein Cacheline-Fill wegen eines Miss-
Ereignisses notwendig wird.

Ergänzung von Zustandsmerkmalen einer Cacheline

Die Prinzipien des Write-Back und des Write-Through-Verfahrens wurden schon in


Kapitel 2 eingeführt. Kritisch für die Konsistenz ist das Write-Back-Verfahren, weil es
einen zeitweisen Unterschied zwischen Original im Hauptspeicher und Kopie im
Cache geben kann und keine Änderung verloren gehen darf.

Computertechnik 169 Jacob


Setadressierte Verfahren

Das Verfahren ist nur dann anwendbar, wenn man für jede Cacheline getrennt
erkennen kann, ob sie modifiziert worden ist oder nicht. Nur dann kann man eine
bedingte Reaktion erzeugen. Das bedeutet, dass man in jeder Cache-Zeile ein
entsprechendes Zustandsmerkmal vorsehen muss.
Man braucht noch ein zusätzliches Zustandsmerkmal. Beim Hochfahren eines
Computersystemes sind die Cachelines in einem undefinierten Zustand und man
muss durch ein entsprechendes Zustandsmerkmal ein Cacheline-Fill erzwingen.
Auch dieses bedingte Verhalten erfordert ein entsprechendes Zustandsmerkmal pro
Cacheline.

Die in den Cachelines anzugebenden Merkmale müssen also (mindestens) folgende


Zustände verschlüsseln: Ungültig; Gültig/nicht modifiziert; Gültig/modifiziert.

Für die Verschlüsselung von drei Zuständen braucht man 2 Bits. Man kann dafür
zwei explizite Merkmalbits mit den Funktionen (valid, modified) vorsehen und z.B. wie
folgt zuordnen: (0,0) = ungültig; (1,0) = gültig, nicht modifiziert; (1,1) = gültig,
modifiziert.
Man kann aber auch davon ausgehen, dass man mit 2 Bits 4 Zustände frei kodieren
kann. Das wird bei komplexeren (als die hier vorgestellten) Cache-Strategien
genutzt.

In jedem Fall braucht man also zwei zusätzliche Bits pro Cachezeile, um darin den
Zustand der Cache-Zeile angeben bzw. erkennen zu können (Bild 6.9).

Cache
111
110
101
Adressen 100 Cachelines
als Anwesenheits-Merkmal 011 als Hauptspeicher
010 -ausschnitte
001
000

2 Bit für Zustandsmerkmale


Bild 6.9: Zustandsmerkmale pro Cacheline

Computertechnik 170 Jacob


Die hierarchische Cache-Struktur

6.5 Die hierarchische Cache-Struktur


Realisierung der Mehrebenen-Struktur eines Cache
Oben wurde eine Mehrebenen-Struktur eines Cache eingeführt: der Level1-Cache ist
eine Untermenge des Level2-Caches, der eine Untermenge des Hauptspeichers ist.
Ein Cache soll als 2-Ebenen-Cache mit Level2- und Level1-Cache strukturiert
werden, und zwar nach dem gleichen Set-Adressierungs-Prinzip, wie für den
Hauptspeicher ein setadressierter Cache definiert wurde.
Dann müssen die höherwertig niederwertig für Cache Hauptspeicher
Adressen des Cache in HA HA HA HA
einen niederwertigen und n m l 5
einen höherwertigen Teil
geteilt werden.
höherwertig niederwertig für L1Cache L2Cache

Die Teilung der Hostadresse erzeugt im niederwertigen Teil die Adressen für den
Level2-Cache und im höherwertigen Teil die Tags für den Level2-Cache.

Die Teilung der Adressen für den Level2-Cache erzeugt im niederwertigen Teil die
Adressen für den Level1-Cache und im höherwertigen Teil die Tags für den Level1-
Cache (Bild 6.10).

HA Adreßraum der HA Hauptspeicher


n 5 eingeteilt in cachebare Zeilen
cachebaren Zeilen
111111111111111111111111111
110
101
100
011
010 Set
001 definitionen
111111111111111111111111000

000000000000000000000000111
110
000000000000000000000000101
100
011
010 Den Sets im
001 Hauptspeicher
000000000000000000000000000 zugeordnete
Cachelines im
L2-Cache L2-Cache
111
110
101
100
011
010
001
000
Den Sets im
L2-Cache
L1-Cache zugeordnete
1 Cachelines im
0 L1-Cache

Bild 6.10: Aufteilung des Cache in einen setadressierten L2- und L1-Cache

Computertechnik 171 Jacob


Die hierarchische Cache-Struktur

Write-Back in einem hierarchisch strukturierten Cache


Ausgangspunkt jeder Aktion in einem Cache ist der Speicherzugriff durch den
Prozessor, der die Adresse und die Übertragungsrichtung angibt. In einem System
mit einem Hauptspeicher und einem (nicht hierarchisch gegliederten) Cache ergibt
sich nur dann ein Zeitgewinn, wenn der Cache eine kürzere Zugriffszeit hat als der
Hauptspeicher.
Wenn man nun den Cache selbst in mehrere Ebenen gliedert, dann hat das nur
einen Sinn, wenn die Zugriffszeit zum Level1-Cache kleiner ist als die zum Level2-
Cache usw.
Der günstigste Zugriffsfall ist der, bei dem der Level1-Cache ein Hit-Ereignis hat. Hat
dieser ein Miss-Ereignis, dann ist der nächste günstige Fall ein Hit-Ereignis im
Level2-Cache usw. .
In einem solchen Konzept entsteht ein Cacheline-Fill aus dem Hauptspeicher erst
dann, wenn keiner der „gestaffelten“ Caches einen Hit hat.
Das Konzept geht davon aus, dass die cachebare Zeile in der übergeordneten
Cache-Ebene zur Verfügung steht, wenn sie nicht in der untergeordneten angetroffen
wird. Wenn also jede untergeordnete Ebene erwartet, dass die übergeordnete eine
gültige Cacheline enthält, dann muss man gleich zu Beginn beim Cacheline-Fill in
allen Ebenen eine gültige Kopie der originalen cachebaren Zeile eintragen.
Das Cacheline-Fill in alle Ebenen ist eine notwendige Bedingung zur Realisierung
der gestaffelten Untermengen-Bildung.
Nach dem Cacheline-Fill sind die Einträge der adressierten Cachelines in allen
Ebenen identisch. Wenn nun der Prozessor mit der eingetragenen Cacheline arbeitet
und den Eintrag, der z.B. eine Variable realisiert, verändern will, dann können die
Cache-Controller der einzelnen Ebenen gemäß dem Write-Through- oder gemäß
dem Write-Back-Verfahren reagieren.
Beim Write-Through-Verfahren müssten die Cachelines in allen Ebenen und im
Hauptspeicher aktualisiert werden. Da immer der langsamste, nämlich der
Hauptspeicher, die Zugriffszeit bestimmt, entsteht beim Schreiben kein Zeitgewinn.
Der Zeitgewinn würde nur bei den Lese-Vorgängen im Cache entstehen.
Das alternative Write-Back-Verfahren bietet die Möglichkeit, den Zeitgewinn auch
beim Schreiben zu nutzen. Zunächst einmal wird das vom Prozessor geänderte Wort
in die Cache-Ebene geschrieben, die diesem am nächsten ist. Sooft er weiterhin dort
zugreift, entsteht die kürzeste Zugriffszeit. Erst, wenn dieser veränderte Eintrag beim
Cacheline-Fill überschrieben werden soll, wird der veränderte Eintrag in die nächst
übergeordnete Ebene geschrieben (gerettet), und zwar vor dem Cacheline-Fill-
Vorgang.
Der Cache-Controller der übergeordneten Ebene erkennt, ob der übernommene
veränderte Eintrag durch das nachfolgende Cacheline-Fill auch überschrieben
würde. Wenn nicht, kann das Cacheline-Fill erfolgen. Wenn der gerettete Eintrag
aber überschrieben würde, muss er zuerst in die nächste übergeordnete Ebene
gerettet werden. Im schlimmsten Fall wird der Eintrag bis zum Hauptspeicher
gerettet.

Das kann man wieder mit einem Szenario verdeutlichen.

Computertechnik 172 Jacob


Die hierarchische Cache-Struktur

Demonstration von Write-Back-Beispielen in einem 2-Ebenen-Cache


1. Eine Variable wird zum ersten Mal adressiert und mit einem Cacheline-Fill aus
dem Hauptspeicher in alle Cache-Ebenen eingetragen.

HA Adreßraum der HA Hauptspeicher


n 5 eingeteilt in cachebare Zeilen
cachebaren Zeilen
111111111111111111111111111
110
101
100
011
010
001
111111111111111111111111000

000000000000000000000000111
110
000000000000000000000000101
100
011
010
001
000000000000000000000000000

L2-Cache
111
110
101
100
011
010
001
000

L1-Cache
1
0

2. Der Prozessor verändert durch einen Verarbeitungs-Befehl die Variable. Beim


Write-Back-Verfahren wird sie nur im L1-Cache verändert.

HA Adreßraum der HA Hauptspeicher


n 5 eingeteilt in cachebare Zeilen
cachebaren Zeilen
111111111111111111111111111
110
101
100
011
010
001
111111111111111111111111000

000000000000000000000000111
110
000000000000000000000000101
100
011
010
001
000000000000000000000000000

L2-Cache
111
110
101
100
011
010
001
000

L1-Cache
1
0

Computertechnik 173 Jacob


Die hierarchische Cache-Struktur

3. Es ist ein Cacheline-Fill notwendig, weil eine andere Variable geholt werden muss.
Die veränderte Variable in L1-Cache muss dabei überschrieben werden. Folge: der
geänderte Zustand der Variablen muss in den L2-Cache gerettet werden.
HA Adreßraum der HA Hauptspeicher
n 5 eingeteilt in cachebare Zeilen
cachebaren Zeilen
111111111111111111111111111
110
101
100
011
010
001
111111111111111111111111000

000000000000000000000000111
110
000000000000000000000000101
100
011
010
001
000000000000000000000000000

L2-Cache
111
110
101
100
011
010
001
000

L1-Cache
1
0

4. Ein weiterer Cacheline-Fill erzwingt das Überschreiben des geretteten Eintrags im


L2-Cache und das Überschreiben im L1 Cache. Da der Eintrag im L1-Cache nicht
verändert wurde, kann er einfach überschrieben werden. Der gerettete Eintrag im L2-
Cache muss endgültig in den Hauptspeicher gerettet werden. Es folgt Cacheline-Fill.

HA Adreßraum der HA Hauptspeicher


n 5 eingeteilt in cachebare Zeilen
cachebaren Zeilen
111111111111111111111111111
110
101
100
011
010
001
111111111111111111111111000

000000000000000000000000111
110
000000000000000000000000101
100
011
010
001
000000000000000000000000000

L2-Cache
111
110
101
100
011
010
001
000

L1-Cache
1
0

Computertechnik 174 Jacob


Mehrwege-Caches

6.6 Mehrwege-Caches
Um die Chance für Treffer zu erhöhen, kann man die Zahl der Cachelines im Cache
erhöhen. Erhöht man die Anzahl der Adressbits für die Set-Adresse um 1 Bit, dann
bedeutet das eine Verdopplung der Anzahl der Cachelines, d.h. eine Halbierung der
Anzahl der cachbaren Zeilen im Set, die um die im Cache zugeordnete Cacheline
konkurrieren.

Es gibt ein alternatives Verfahren: man sieht zwei für jedes Set mehr als eine Cache-
Zeile vor. Man spricht dann von einem Mehrwege-Cache.

HA Adreßraum der HA Hauptspeicher


n 5 eingeteilt in cachebare Zeilen
cachebaren Zeilen
111111111111111111111111111
110
101
100
011
010
001
111111111111111111111111000

000000000000000000000000111
110
000000000000000000000000101
100
011
010
001
000000000000000000000000000

2-Wege-Cache
111
110
101
100
011
010
001 Zwei cachebare
000 Zeilen aus einem Set
haben im Cache Platz.
Zwei Zustandsbits für je ein Cacheline-Paar:
Das Bit der zuletzt adressierten Cacheline wird mit 0 markiert,
das Bit der davor adressierten (least recently used) Cacheline mit 1.

Bild 6.11: Struktur-Schema eines 2-Wege Cache


Beim Cacheline-Fill muss man entscheiden, welche der beiden Cachelines bei einer
gegebenen Tag-Adresse überschrieben werden soll.

Man unterstützt diese Entscheidung durch die Hinzufügung von zwei Zustandsbits
pro Cacheline-Paar. Sobald ein Cache-Zugriff erfolgt, wird das Statusbit der
adressierten Cacheline auf Null gesetzt, das Statusbit der anderen wird auf Eins
gesetzt, d.h. als “least recently used” gekennzeichnet. Beim Cacheline-Fill wird die
least recently used Cacheline überschrieben.

Bei Mehrwege-Caches ist die Anzahl der Wege eine Potenz von 2. Der LRU-
Algorithmus von Caches mit mehr als zwei Wegen ist zwangsläufig komplexer.

Computertechnik 175 Jacob


Mehrwege-Caches

Computertechnik 176 Jacob


Strukturprinzipien von DRAM-Speicher-ICs

7 Hauptspeicher und Speichermodul-Schnittstelle


Der Datenfluss zwischen dem Prozessor und dem Hauptspeicher ist durchsatzbestim-
mend. Der Prozessor gibt dabei gewünschte Zugriffszeiten vor, die von seiner internen
Arbeitsgeschwindigkeit abhängen. Der Hauptspeicher kann aber nur bestimmte
Zugriffszeiten realisieren, die von seinem Aufbau abhängen. Bedeutet das, dass der
Prozessor “ausgebremst” wird? Um das zu klären, sollen zunächst die Bedingungen
untersucht werden, welche der Aufbau des Hauptspeichers setzt.

7.1 Strukturprinzipien von DRAM-Speicher-ICs


Man unterscheidet Nur-Lese-Speicher (read only memory = ROM) von Schreib-Lese-
Speichern (random access memory = RAM).

ROMs heißen maskenprogrammiert, weil man ihnen die zu speichernde Information


beim Herstellungsprozess einprägt. Die eingeprägte Information ist nach der Herstellung
nicht mehr veränderbar.
Löschbare und wieder programmierbare EPROMs (erasable and programmable ROM)
kann man nach Bedarf programmieren. Programmieren bedeutet in diesem
Zusammenhang, eine elektrisch stabile Struktur einzuprägen.

RAMs speichern Daten flüchtig, d.h. sie speichern mit Hilfe einer elektrisch instabilen
Struktur. Eine Abschaltung der Stromversorgung bedeutet den Verlust der gespeicher-
ten Daten. Man unterscheidet RAMs nach dem Typ ihrer elementaren Speicherzellen.

Speicherelemente der dynamischen RAM-Speicher (DRAM)

Die elementare Einheit eines DRAMs ist der Kondensator, dessen Ladezustand über
den gespeicherten Binärwert entscheidet.

Das Einstellen eines Binärwerts (Schreiben) bedeutet physikalisch, dass eine


schreibende Schaltung eine Ladungsmenge auf dem Kondensator einprägt. Dabei kann
man zwei (einander entgegen gesetzte) Ladungszustände einstellen:
keine Ladung oder entladener Zustand,
maximal mögliche Ladung oder aufgeladener Zustand.

Beim Abfragen eines gespeicherten Binärwerts (Lesen) ist die Wirkungsrichtung


umgekehrt: die gespeicherte Ladungsmenge bestimmt, welcher Binärwert zur lesenden
Schaltung übertragen wird.

Ein Speicherelement besteht aus einem Kondensator und einem Auf/Zu-Schalter. Der
Schalter öffnet oder schließt eine Verbindung zwischen dem Kondensator und einer
Leitung zum Abfluss oder Zufluss von Ladungen beim Schreiben bzw. beim Lesen. Da
der Fluss der Ladungen den geschriebenen bzw. gelesenen Binärwert bestimmt, wird
die Leitung Datenleitung genannt (Bild 7.1).

Der Schaltwert auf der Steuerleitung des Transistor-Schalters bestimmt über die
Verbindung zwischen Datenleitung und Kondensator.

Computertechnik 177 Jacob


Strukturprinzipien von DRAM-Speicher-ICs

Transistor als
Schalter

Kondensator

Auswahlleitung

Datenleitung

Bild 7.1: Aufbau eines Speicherelements eines DRAMs


Ohne die Verbindung ist weder Schreiben noch Lesen möglich. Erst die Verbindung
macht das möglich, d.h. das Speicherelement ist für das Schreiben bzw. Lesen
ausgewählt. Die Steuerleitung wird deshalb Auswahlleitung genannt.
Matrixstruktur der Speicherelemente von DRAMs
Wenn man bei einem Auswahlvorgang mehrere Speicherelemente gleichzeitig
auswählen will, muss man eine Zeile von Speicherelementen bilden, die alle mit der
gleichen Auswahlleitung ausgewählt werden. Um mehr als eine Zeile auswählen zu
können, muss man die Zeilen vervielfachen und erhält insgesamt eine Matrix-
Anordnung (Bild 7.2).
Daten-Leitungspaar 1 Daten-Leitungspaar smax

Auswahl-Leitung 1

Auswahl-Leitung 2

Auswahl-Leitung zmax-1

Csp

Auswahl-Leitung zmax

Bild 7.2: Matrix-Anordnung der Speicherelemente


An jeder Datenleitung sind gleich viele Speicherelemente angeschlossen, damit keine
ungleichen Auf/Entladezeiten nach der Auswahl einer Zeile entstehen.
Die paarweise Anordnung der Datenleitungen ist maßgeblich für die Lesefunktion, bei
der die Spannungszustände beider Leitungen miteinander verglichen werden, sobald
eine Zeile-Auswahlleitung aktiviert wurde.
Computertechnik 178 Jacob
Strukturprinzipien von DRAM-Speicher-ICs

Vertiefung für Interessierte: kein Prüfungsstoff:


Angenommen, dass die Versorgungsspannung Vcc ist und dass alle Datenleitungen so
eingestellt wurden, dass sie eine Spannung Vcc/2 gegen das Bezugspotential haben. Weiter
angenommen, dass kein Speicherelement ausgewählt ist.
Sobald nun eine Auswahlleitung aktiviert wird, entsteht an jedem Speicherelement der ausge-
wählten Zeile eine Verbindung zu seiner Datenleitung im betroffenen Daten-Leitungspaar.
Jetzt ist maßgeblich, welchen Ladezustand die ausgewählten Kondensatoren haben:
• Wenn ein Kondensator auf Vcc aufgeladen ist, herrscht ein Ladungsungleichgewicht
zwischen Kondensator und Datenleitung. Es fließen Ladungen vom Kondensator zur
Datenleitung, so dass deren Spannung, von Vcc/2 ausgehend, steigt;
• Wenn ein Kondensator keine Ladung enthält, herrscht ebenfalls ein Ladungsungleich-
gewicht. Da die Leitung auf Vcc/2 aufgeladen ist, der Kondenstor aber keine Ladung enthält,
müssen Ladungen zum Kondensator fließen, d.h. die Spannung auf der Leitung fällt, von Vcc/2
ausgehend.
Die Spannung zwischen der Datenleitung im Paar, die eine Verbindung mit dem ausgewählten
Kondensator hat, und die Spannung Vcc/2 der anderen Datenleitung im Paar bilden nach der
Auswahl eine kleine positive (Kondensator aufgeladen) oder kleine negative (Kondensator
ohne Ladung) Spannungsdifferenz.
Ein Verstärker verstärkt eine kleine positive Differenz, bis sie den Wert +Vcc hat, und eine
kleine negative Spannungsdifferenz, bis sie den Wert –Vcc hat.
Daten-Leitungspaar 1 Daten-Leitungspaar smax

Auswahl-Leitung 1

nicht
geladen geladen geladen

Auswahl-Leitung 2

Auswahl-Leitung zmax-1

Csp

Auswahl-Leitung zmax

0 Vcc Vcc 0 0 Vcc


Schreib/Lese-Verstärker Schreib/Lese-Verstärker Schreib/Lese-Verstärker

Bild 7.3: Beispiel für eine Lese-Auswahl mit Verstärkung der Spannungsdifferenzen auf
den Datenleitungspaaren gemäß dem jeweils angenommenen Ladungszustand
Die Verstärkung sorgt dafür, dass die ausgewählten Kondensatoren alle wieder den
ursprünglichen Ladezustand bekommen. Aber alle Datenleitungen verlieren ihren
Spannungswert Vcc/2. (Ende der Vertiefung)

Computertechnik 179 Jacob


Strukturprinzipien von DRAM-Speicher-ICs

Der Vergleich der Spannungszustände besteht in der Bildung der Differenz zwischen
den Spannungen auf den Leitungen des Leitungspaars, die je nach Ladungszustand der
durchgeschalteten Kondensatoren positiv oder negativ ist. Schreib/Lese-Verstärker ver-
stärken auf die positive Spannungsdifferenz Vcc bzw. die negative Spannungsdifferenz
–Vcc.

Dadurch erhalten alle durchgeschalteten Kondensatoren wieder den ursprünglichen


Ladungszustand, aber der ursprüngliche Spannungszustand Vcc/2 geht auf allen
Datenleitungen verloren.

Zwangsläufige Folge: Solange nur die Speicherelemente der ausgewählten Zeile


interessieren, kann der eingestellte Gesamtzustand so bleiben. Wenn aber eine neue
Zeile ausgewählt wird, muss zuerst der Grundzustand eingestellt werden, also:
Auswahl abstellen und alle Datenleitungen in Spannungszustand Vcc/2 bringen. Man
nennt diesen Vorgang Vorladen (Preload).

Nach der Zeilen-Auswahl und der Verstärkung stehen die Spannungswerte


(=Binärwerte) der ausgewählten Speicherelemente zur Verfügung. Es interessiert davon
einer, der beim Lesen auf die Datenleitung zum Memory-Controller geschickt werden
soll. Das muss durch eine ergänzende Auswahl der betroffenen Spalte geschehen.

Die Kern-Struktur von x1Bit-DRAMs

Die Matrix der Speicherelemente muss durch ergänzende Schaltungen zur


Kernstruktur von DRAMs erweitert werden Bild 7.4.

Die Indizierung in der Matrix erfolgt hier, wie es in der mathematischen Literatur üblich ist. Ein
Element in einer Matrix-Struktur wird immer durch die Kombination eines Zeilen- und
Spaltenindex identifiziert. Man benutzt die Bezeichnungen i,j. Die Indizes in einer
Speichermatrix sind die Zeilen- und die Spaltenadresse (row address, column address).

Die Dekodierschaltungen erzeugen aus der entsprechenden dualen Adresse ein


eindeutiges einzelnes Auswahlsignal.

Die Datenpfad-Schaltung schaltet gemäß der Spaltenadresse beim Schreiben das


binäre Signal aus dem Din-Puffer zu dem zuständigen Lese/Schreib-Verstärker.

Beim Lesen schaltet sie den Datenpfad in umgekehrter Richtung zum Dout-Puffer.

Wenn eine Zeile adressiert ist, kann man so oft und so viele Spalten in der Zeile
adressieren, wie man will. Man braucht kein neues Vorladen.

Erst wenn man eine neue Zeile adressiert, muss vorher ein Vorladen mit Hilfe der
Vorlade-Schaltung erfolgen, um alle Datenleitungen wieder in den Grundzustand
bringen.

Computertechnik 180 Jacob


Strukturprinzipien von DRAM-Speicher-ICs

Spalte 1 Spalte 2 Spalte smax

Steue- Vcc/2
rung des
Vor- Vorlade-
ladens Schaltung

Zeile 1

Zeile 2
Zeilen-
dekoder

Zeile zmax-1

Zeile zmax

Lese/ Lese/ Lese/


Schreib- Schreib- Schreib-
Verstärker Verstärker Verstärker

Din- IO- Dout-


Puffer Schaltung Puffer

Spaltendekoder

Bild 7.4: Kern-Struktur eines DRAMs (x1Bit-Struktur) mit Speichermatrix, Dekoder-, IO-
Datenpfad- und Vorlade-Schaltungen

Computertechnik 181 Jacob


Strukturprinzipien von DRAM-Speicher-ICs

Die Kern-Struktur von „mal n“-Bit-DRAMs (x4,x8, x16)

Bild 7.5 kennzeichnet den Bereich, der vervielfacht werden muss, und den Bereich, der
für alle Vielfache gleich ist. Die Parallelisierung für die „mal n“-Bit-Struktur betrifft nur
den Bereich der Speichermatrix und der Datenpfad-Schaltung (IO-Schaltung).
Spalte 1 Spalte 2 Spalte smax

Steue- Vcc/2
rung des
Vorlade-
Vor-
Schaltung
ladens

Zeile 1

Zeile 2
Zeilen-
dekoder

Zeile zmax-1

Zeile zmax

Lese/ Lese/ Lese/


Schreib- Schreib- Schreib-
Verstärker Verstärker Verstärker

Din- IO- Dout-


Puffer Schaltung Puffer

Spaltendekoder

Bild 7.5: Strukturbereiche für die Vervielfachung und für gemeinsame Schaltungen bei
wortweiser Speicherung
Bei einem Speicherzugriff gelten die Zeilen- und die Spaltenadresse für alle Bits des
transferierten Datenworts gelten. Deshalb gibt es nur einen Zeilen- und nur einen
Spalten-Dekoder. Die Dekoder erzeugen jeweils ein Auswahl-Signalpaar, das das in
seinem Kreuzungspunkt eindeutig ein Speicherelement auswählt. So können zmax · smax
Speicherelemente eindeutig ausgewählt werden. Wenn man die Speichermatrix mit der
IO-Schaltung n-Mal vervielfacht, kann man zmax · smax · n Bit gleichzeitig transferieren
(Bild 7.6).

Computertechnik 182 Jacob


Nicht-synchrone DRAMs: EDO-DRAMs

Vcc/2

Zei
len
de vervielfachte
ko Speichermatrizen
der mit Datenpfad-
schaltungen

Spaltendekoder

Bild 7.6: Kern-Struktur eines x4-DRAMs

7.2 Nicht-synchrone DRAMs: EDO-DRAMs


Prinzipien des Aufbaus und des Speicherzugriffs
Obwohl dieser Speichertyp in aktuellen PCs nicht mehr angewendet wird, sollte man seine
prinzipiellen Merkmale kennen, um die technologische Entwicklung einschätzen zu können.

Die Kernstruktur wird um die Interfaces zur IC-Pin-Schnittstelle ergänzt (Bild 7.7).
n/2
2 Spalten adressiertes
MAn/2-1 Speicher-
R HAn-1
element
. e .
. g . n/2
Zeilen-
. i 2
s . adreß-
. Zeilen
t . decoder
MA0 e HAn/2
r

RAS
CAS Lese-/Schreib-
Verstärker
Din Puf-
fer Puf- Dout
IO-
R HAn/2-1 Schaltung fer
e .
g
. Spalten-
i adreß-
s .
. decoder
t
e HA0
r

WE WE
Control

Bild 7.7: 2n x1Bit EDO-DRAM-Speicher-IC mit quadratischer Speichermatrix

Computertechnik 183 Jacob


Nicht-synchrone DRAMs: EDO-DRAMs

• Da die Zeilenadresse und die Spaltenadresse nacheinander dekodiert werden, kann


man sie nacheinander an die gleichen Pins anlegen.
• Die Begleitsignale /RAS (row address select) und /CAS (column address select)
geben bei ihrer Aktivierung an, welcher Adresstyp gerade angeboten wird.
• Bei einer quadratischen Speichermatrix und einer Adresse mit n Bits, ergeben sich
genau n/2 Adresspins. Da man üblicherweise die Adresspins gemäß dem
Exponenten des Stellengewichtes numeriert, ergibt sich die Numerierung von 0 bis
n/2-1. Bei einer nicht-quadratische Matrix ist die Anzahl der Adressbits der
längeren Adresse, in der Regel der Zeilenadresse maßgeblich.
• Register sind Wort-Speicher. Die angelegte Zeilenadresse verschwindet in dem
Moment, wenn die Spaltenadresse angelegt wird. Intern braucht man aber eine
stabile Zeilenadresse, um die Zeile ausgewählt zu halten. Deshalb braucht man das
Zeilenadress-Register. Das gilt sinngemäß auch für die Spaltenadresse.
• Das Signal /WriteEnable legt die Übertragungsrichtung fest. Sobald es im Low-
Zustand ist, wird der Daten-in-Puffer aktiviert, sonst der Daten-out-Puffer.

Bild 7.8 zeigt den prinzipiellen zeitlichen Ablauf der beteiligten Signale, wobei ein
Lesezyklus als Szenario dient.
Zeilenadresse
gültig Spaltenadresse
gültig Daten Vorladen zu Ende
gültig = neuer Speicherzugriff möglich

Vorladen (wenn nötig) RAS


CAS
Zeile Spalte Adresspins

gültig Dout

Bild 7.8: Prinzipielles Signal-Zeit-Diagramm eines DRAM-Lesezugriffs


Die Phasen, in denen ein Signal einen undefinierten Zustand haben kann, sind grau gestrichelt.
Der Beginn der Pulse ist gegen die Aufschalt-Zeitpunkte der Adressen verzögert, damit diese
eingeschwungen sind, wenn der Puls-Beginn ihre Gültigkeit meldet. Das Ende des Spalten-
Pulses erzeugt nach einer bestimmten Zeit ungültige Daten.
Damit bemerkt man, was bei einem DRAM-Speicherzugriff Zeit kostet:
• Für die beiden aufeinander folgenden Auswahlphasen braucht man jeweils eine
charakteristische Zeit.
• Ohne Zeilenwechsel braucht man je Zugriff nur die Spalten-Auswahlzeit.
• Bei einem Zeilenwechsel braucht man die Vorladezeit und danach die Zeit für die
beiden Auswahlphasen.

Am häufigsten kommt der Zugriff zu einer cachebaren Zeile vor, also vier
Speicherzugriffe als Burst ohne Zeilenwechsel (Bild 7.9).

Computertechnik 184 Jacob


Nicht-synchrone DRAMs: EDO-DRAMs

Bits Bits Bits Bits


gültig gültig gültig gültig RAS
Spalte Spalte Spalte Spalte
gültig gültig gültig gültig
CAS

Zeile Spalte Spalte Spalte Spalte

Dout

Bild 7.9: Lese-Burst einer cachebaren Zeile


Spalte gültig erzeugt nach Laufzeit das/die ausgelesenen Datenbit/s (grün).
Bits gültig zeigt das Ereignis zur Übernahme des/der gelesenen Bits und das Neu-Einstellen der
Spaltenadresse an (rot).
Wenn man längere Zeit nicht zu einem DRAM zugreift und damit die Speicherelemente
regeneriert, kommt es zur Kondensatorentladung. Das erzwingt eine automatische
periodische Regeneration aller Speicherelemente (ein typischer Wert ist in eine
Periodendauer von 16 msec, cyclic refresh).

7.3 Statische RAM-Speicher (SRAM)

SRAMs speichern je ein Bit “digital” in einem Flip-Flop.

Ein Flip-Flop ist ein binäres Speicherglied, das durch eine rückgekoppelte
Transistorschaltung realisiert wird.

Vertiefung für Interessierte, kein Prüfungsstoff:

Die Rückkopplungen erkennt man an den gekreuzten + +


Verbindungen zum Gate des jeweils anderen Transis- RL RL
tors. - Die beiden oberen Transistoren realisieren mit
Hilfe von Transistoren ohmsche Widerstände.
Di und /Di (lies Di nicht) liefern zueinander inverse
Schaltzustände.
Die Speicherwirkung liegt im stabilen Schaltzustand Auswahl-Leitung i
der Schaltung.
Di Di
Das erkennt man an folgendem Fall-Beispiel.
Ein High-Pegel (gleich Versorgungsspannung) an Di bedeutet an /Di einen Low-Pegel (gleich
Bezugspotential).
Die Grundfunktion der oben eingeführten Transistoren ist: ein High-Pegel am Gate bedeutet
einen leitenden Transistor, ein Low-Pegel einen nicht-leitenden Transistor.
Wenn die Auswahl-Leitung einen High-Pegel hat, dann sind die Auswahl-Transistoren leitend
und schalten die Pegel von Di bzw. /Di durch.

Computertechnik 185 Jacob


Statische RAM-Speicher (SRAM)

Ein High-Pegel an Di macht durch die Kopplung den rechten unteren Transistor leitend.
Dadurch entsteht ein „Kurzschluss“ zum Bezugspotential. Durch die Kopplung von Di auf den
rechten unteren Transistor entsteht also der Low-Pegel, wie er von /Di durchgeschaltet wird.
Der Low-Pegel auf /Di macht den linken unteren Transistor nicht-leitend. Dadurch entsteht
eine „Unterbrechung“ zum Bezugspotential. Durch die Kopplung von /Di auf den linken unteren
Transistor wird der High-Pegel, der von Di durchgeschaltet wird, nicht beeinflusst, also
bestätigt.
Da die Schaltzustände der rechten und linken Transistorpaare sich durch die Kopplung
gegenseitig bestätigen, bleiben sie auch in dem eingestellten Zustand, wenn man die
Verbindungen zu Di bzw. /Di unterbricht.
Wenn man während der Unterbrechung die Schaltzustände von Di und /Di umkehrt und die
Auswahl-Transistoren wieder durchschaltet, wird die rückgekoppelte Schaltung ihren
Schaltzustand invertieren (kippen), weil sie ja symmetrisch aufgebaut ist. Wenn man die
Auswahl-Transistoren wieder nicht-leitend macht, bleibt der eingestellte Schaltzustand
erhalten, usw.
Die Eigenschaft des Kippens hat zur Bezeichnung Flip-Flop geführt. (Ende der Vertiefung)

Der Platzbedarf für ein SRAM-Speicherelement ist größer als der für ein DRAM-
Speicherelement, weil mehr Transistoren zur Realisierung notwendig sind. Auf einer
gegebenen Chipfläche lassen sich also mehr DRAM- als SRAM-Speicherelemente
unterbringen. Die maximal erreichbaren Speicherkapazitäten sind bei DRAMs deshalb
grundsätzlich größer als bei SRAMs.
n/2
2 Spalten Speicher-
MAn-1=HAn-1 element
. Flip-Flop
Zeilen- n/2
. adreß- 2
. decoder Zeilen
MAn/2=HAn/2

Din Schreib-
Verstärker Dout
Lese-
MAn/2-1=HAn/2-1 Verstärker
. Spalten-
. adreß-
. decoder
MA0=HA0

WE=L,CS=L
WE
CS WE-CS WE=H,CS=L
Control

Bild 7.10: 2n x1Bit SRAM-Speicher-ICs mit quadratischer Speichermatrix


Der Vorteil von SRAMs ist, dass sie schneller sind als DRAMs. Gründe:
• Die Adresse wird in einer einzigen Phase vollständig an den Speicher-IC gelegt.
• Es gibt keinen Vorladevorgang, weil beim Speicherzugriff ein Flip-Flop seinen
Speicherzustand nicht ändert, während der Speicherzustand eines Kondensators
beim Zeilenwechsel zeitaufwendig wieder hergestellt werden muss.

Computertechnik 186 Jacob


Synchrone DRAMs (SDRAMs)

7.4 Synchrone DRAMs (SDRAMs)


Die Phasen eines Transfers beim Speicherzugriff zu SDRAMs
Beim Speicherzugriff wird ein Transfer zwischen dem Initiator des Zugriffs und dem
Hauptspeicher ausgeführt.
Die Kern-Struktur eines DRAMs bestimmt, dass zuerst die Zeile ausgewählt werden
muss und dann die Spalte, und sie bestimmt, wie viel Zeit für jede Phase ablaufen
muss.
Bei asynchronen DRAMs werden der Beginn und das Ende der einzelnen Phasen
durch eindeutig zugeordnete Pulse angezeigt. Ein Speicherzugriff beginnt also, sobald
der Puls der Zeilen-Auswahl-Phase beginnt. Die Gültigkeit der Datenbits wird durch
das Ende der Spaltenpulse markiert. Die Übertragungsrichtung wird durch das WE/-
Signal bestimmt. Die Signale RAS/, CAS/ und WE/ bestimmen den Ablauf des
Speicherzugriffs
Wenn man keine Pulse hat, deren Beginn und Ende gezielt den Beginn bzw. das Ende
einer Phase anzeigen, dann kann man den Beginn und das Ende der Phasen auch
durch Auszählen von Takten realisieren. Das bedeutet, die Steuerung des Ablaufs der
Phasen geschieht synchron zu einem Takt.
Die Phasen eines Transfers werden synchron zu einem Takt ausgeführt. Dabei sind drei
Phasen zu unterscheiden: die Zeilen-Auswahl-Phase, die Spalten-Auswahl-Phase und
die eigentliche Datentransfer-Phase (Bild 7.11)
Memory
Interface
Adress- Zeilen- Spalten-
Interface adr. adr.

Activ- Read-
Command Command
Command-
Interface
tRCD CL
Daten-
Interface

Takt

Bild 7.11: Zeilenauswahl, Spaltenauswahl- und Datenübertragungs-Phase beim lesen-


den Burst-Speicherzugriff zu einem SDRAM
RCD Row Column Delay, CL Column Latency: beide Zeiten sind bedingt durch schaltungs-
technische Verarbeitungszeiten und sie sind auf je ein ganzzahliges Vielfaches der Taktzyklus-
zeit aufgerundet.
Beim Ablauf der Phasen muss man erkennen können, ob es sich um eine Zeilenaus-
wahl-Phase oder eine Spaltenauswahl-Phase handelt. Außerdem muss man erkennen
können, ob es sich um einen lesenden oder einen schreibenden Zugriff handelt.

Computertechnik 187 Jacob


Synchrone DRAMs (SDRAMs)

Das wird mit Hilfe eines Command-Worts mit 3 Bit ermöglicht, das die Übertragung des
jeweiligen Adressworts begleitet. In den drei Bits können bis zu 8 unterschiedliche
Commands angegeben werden.
In Bild 7.11 werden die Commands mit ihren Kurzbezeichnungen angegeben: Activ für
das Command zur Zeilenadressierung, Read für das Command zur Spaltenadres-
sierung und die Festlegung der Übertragungsrichtung Lesen. Ein anderes Command ist
z.B. Pre für precharge.
Wenn zwei Speicherzugriffe unmittelbar nacheinander folgen, muss der zweite warten,
bis der vorausgehende beendet ist; denn die Spaltenauswahl darf nicht verändert
werden, bevor nicht der ganze Burst fertig ist (Bild 7.12).
Zeilen- Spalten- Spalten-
adr. adr. adr.

Activ- Read- Read-


Command Command Command

tRCD CL CL

Bild 7.12: Zwei lesende Burst-Zugriffe in derselben Zeile nacheinander


Bei einem Zeilenwechsel muss zuerst ein Precharge-Command ausgeführt werden,
bevor der Speicherzugriff mit dem Activ-Command beginnen kann (Bild 7.13).
Zeilen- Spalten- Zeilen- Spalten-
adr. adr. adr. adr.

Activ- Read- Precharge Activ- Read-


Command Command Command Command Command

tRCD CL tRP tRCD CL

Bild 7.13 Zwei lesende aufeinander folgende Burst-Zugriffe zu verschiedenen Zeilen


RP = repair
Eigentlich ist so kein wesentlicher Vorteil gegenüber den EDO-DRAMs erkennbar. Das
ergibt sich erst, wenn man die Belegungspausen beim Transfer der Datenbits vermeiden
möchte. Wenn man aber in diesen Pausen Datenbits übertragen möchte, dann können
die nur aus einem gleichzeitig wirksamen anderen Speicher kommen, der die gleichen
Eigenschaften hat wie der betrachtete.
Eine Speichereinheit, die Commands empfangen kann und autonom abwickelt, heißt
Speicherbank. Da jetzt die Commands gezielt an eine Speicherbank adressiert werden,
braucht man auch eine Speicherbank-Adresse.
Computertechnik 188 Jacob
Synchrone DRAMs (SDRAMs)

SDRAMs haben vier (interne) Speicherbänke (Bild 7.14).


Je nach Speichertyp

Speicher I ein 1Bit-Datenwort


I
-bank 3 n
n
t Speicher t ein 4Bit-Datenwort
e -bank 2 e
Adress- Speicher r ein 8Bit-Datenwort
wort r
f -bank 1 f pro Taktperiode
a Speicher a
c -bank 0 c
e e
Zeit
in Takt-
perioden
Steuereinheit

Command-Wort
Takt

Bild 7.14: SDRAM-Struktur mit vier internen Speicherbänken


Unter diesen Voraussetzungen müssen die bisherigen Zeitdiagramme ergänzt werden,
was nur für Bild 7.11 geschehen soll (Bild 7.15).
Memory Speicher- Speicher-
Interface bank- bank-
adr. adr.

Adress- Zeilen- Spalten-


Interface adr. adr.

Activ- Read-
Command Command
Command-
Interface
tRCD CL
Daten-
Interface

Takt

Bild 7.15: Lesender Burst-Speicherzugriff mit ergänzter Speicherbank-Adressierung


Dass sich bei einer Struktur mit mehreren Speicherbänken die Belegungspausen beim
Transfer der Datenbits vermeiden lassen, zeigen Bild 7.16 und Bild 7.17.
Sobald ein nachfolgendes Command sich an eine nicht belegte Speicherbank richtet, ist
eine simultane Bearbeitung unabhängig von den belegten möglich.
Der Memory-Controller steuert den Ablauf der Speicherzugriffe. Er bestimmt, wann
welche Commands gesendet werden und wann und wie die Daten transferiert werden.
Sein Betriebsziel ist, einen Datenstrom ohne Pausen zu erzeugen.

Computertechnik 189 Jacob


Synchrone DRAMs (SDRAMs)

Wenn er ein Activ-Command zur Zeilenauswahl gesendet hat (z.B. an a), kann er
eigentlich sofort ein Activ-Command für eine andere Speicherbank senden (z.B. an b).
Da der Datenpfad aber durch den ersten Speicherzugriff auf a belegt ist, kann ein Read-
Command für den nachfolgenden Zugriff auf b erst dann wirksam werden, wenn die
Kettung an den vorhergehenden Datentransfer möglich ist.
Spei- Spei- Spei- Spei-
cher- cher- cher- cher-
bank bank bank bank
adr. adr. adr. adr.
a b a b

Zeilen-Zeilen-Spalten- Spalten-
adr. adr. adr. adr.

Activ- Activ- Read- Read-


Com. Com. Com. Com.

Bild 7.16: Zwei aufeinander folgende lesende Speicherzugriffe zu verschiedenen


SDRAM-Speicherbänken a und b
Man kann auch die Strategie gemäß Bild 7.17 verfolgen, bei der das Activ-Command für
die Speicherbank b erst dann gesendet wird, wenn um die Zeit tRCD später das Read-
Command gesendet werden kann.
Spei- Spei- Spei- Spei-
cher- cher- cher- cher-
bank bank bank bank
adr. adr. adr. adr.
a a b b

Zeilen- Spalten- Zeilen- Spalten-


adr. adr. adr. adr.

Activ- Read- Activ- Read-


Com. Com. Com. Com.

Bild 7.17: Verzögerung des Activ-Commands des nachfolgenden Speicherzugriffs

Computertechnik 190 Jacob


Synchrone DRAMs (SDRAMs)

Struktur von „mal n“ SDRAMs


Ein SDRAM mit „mal n“-Struktur muss n Bits pro Speicherbank bereitstellen (Bild 7.18).

R
Zeilen- e
g Das Speicherbank-
oder Zeilen-
i Adresswort gibt die Auswahl
Spalten- s adreß-
decoder der Speicherbank vor.
Adress t
e
-wort r

4 D atenbits
bei x4Bit-
Struktur
R
e
g Spalten-
i adreß-
s decoder
t
e
r

Steuereinheit

Command-Wort Takt

Bild 7.18: SDRAM mit x4Bit-Struktur


Die Übertragung der Datenwörter von/zum Speicher-IC erfolgt taktsynchron. Dabei gibt
es zwei Alternativen:
• ein einziges Wort pro Taktzyklus, synchron zu einer der beiden Taktflanken (Single
Data Rate, SDR), und
• zwei Wörter pro Taktzyklus, synchron zu den beiden Taktflanken (Double Data
Rate, DDR).

DDR-SDRAMs
Bei DDR-SDRAMs werden die Übertragungszeiten der Commands und der Daten
darauf angepasst, dass beide Taktflanken genutzt werden. Die Übertragungszeit beträgt
nämlich nur noch die Zeit zwischen zwei Taktflanken, also nur die halbe Periodendauer
des Takts (Bild 7.19).
Die Nutzung der beiden Taktflanken hat nichts zu tun mit den schaltungstechnischen
Verarbeitungszeiten bei der Zeilen- bzw. Spaltenauswahl. Die werden nur dadurch
verkürzt, dass man technologische Fortschritte im Speicheraufbau erzielt. Eine
Verkürzung vor allem von tRCD ist weiterhin ein mühsamer Weg.
Gegenüber einem Memory-Controller für SDR-SDRAMs hat der für DDR-SDRAMs mehr
Möglichkeiten, optimale Command-Folgen zu bestimmen. Durch die Halbierung der
Übertragungszeit für ein Command und die kaum veränderten Laufzeiten für die Zeilen-
bzw. Spaltenauswahl entstehen größere Command-Übertragungslücken und damit
mehr Variationsmöglichkeiten bei der Zusammenstellung der Command-Folgen.

Computertechnik 191 Jacob


Synchrone DRAMs (SDRAMs)

Spei- Spei- Spei- Spei- Spei- Spei-


cher- cher- cher- cher- cher- cher-
bank bank bank bank bank bank
adr. adr. adr. adr. adr. adr.
a b a b b b

Zeilen- Zeilen- Spalten- Spalten- Spalten- Spalten-


adr. x adr. x adr. y adr. z adr. z+4 adr. z+8

Activ- Activ- Read- Read- Read- Read-


Com. Com. Com. Com. Com. Com.

tRCD a CL a
tRCD b CL b
CL b CL b

Bild 7.19: Beispiel für eine Folge von lesenden Speicherzugriffen zu zwei
Speicherbänken a und b eines DDR-SDRAMs
(Bank b liefert 12 nacheinander gespeicherte Speicherwörter)

Beispiel für ein DDR SDRAM


Vertiefung für Interessierte, kein Prüfungsstoff

Bild 7.20 zeigt das Schaltbild eines DDR-SDRAMs. Es ist sehr komplex. Man kann es aber
gemäß der prinzipiellen Einführung in die maßgeblichen Einheiten einteilen:

• Die vier internen Speicherbänke mit je einem Row-Address-Register/Decoder und je einem


Column-Address-Decoder und einem Column-Address-Latch und Counter.
(Ein Latch ist ein Register. Mit der Bezeichnung will man auf eine Besonderheit der Taktung
hinweisen: pegelgesteuert.)
• Der Adresspfad mit row address A0 bis A12 und column address A0 bis A9, ergibt 8192
Zeilen x 512 Spalten. Dazu kommen die Signale Bank Select 0 und 1.
• Wenn die Zeit für die Übertragung eines Datenworts halb so groß ist wie die Zeit für den
Speicherzugriff, dann muss man beim Zugriff zur Matrix jeweils zwei Wörter lesen bzw.
schreiben, wie z.B. hier durch Speicherung von 2 mal 8 = 16 Bit.
Im Lesepfad ist das Read-Latch der Puffer zwischen der Speicher-Matrix und der Außenwelt.
Das Read-Latch ist die stabile Datenwort-Quelle für die Treiber (driver) auf die Schnittstelle
nach außen.
Im Schreib-Pfad ist das Input-Latch der Puffer zwischen Außenwelt und Speichermatrix. Es
übernimmt das von der Empfängerschaltung kommende Datenwort und dient danach als
stabile Datenquelle beim Schreiben in die Matrix.
• Das Command wird über WE/, CAS/ und RAS/ eingeben.

Computertechnik 192 Jacob


Synchrone DRAMs (SDRAMs)

Bild 7.20: Blockdiagramm eines DDR1-SDRAMs (32Mx8Bit, IBM


(Ende der Vertiefung)

DDR2-SDRAMs

Im Sinne dieser Bezeichnung sind die Vorgängertypen, die eben beschrieben wurden,
DDR1-SDRAMs. Die folgende Tabelle gibt einen Überblick über die Entwicklung der
letzten Jahre und die Ziele, die man mit DDR2 anstrebt.
Clock Frequency in MHz, Data Rate in MTransfers/sec, Densities in MegaBit bzw. GigaBit, siehe
Kapitel 1: TSOP= Thin Small Outline Package, FBGA= Fine Ball Grid Array.

Die Entwicklung bedeutet nun nicht, dass sich die Zugriffszeiten in der Kern-Struktur
(siehe Bild 7.4) auf die Hälfte oder ein Viertel gegenüber früher verkleinert hätten. Diese
Zugriffszeiten sind aus technologischen Gründen nicht so deutlich reduzierbar.

Computertechnik 193 Jacob


Synchrone DRAMs (SDRAMs)

Trotzdem gelingt es, in der Zeit eines Kern-Zugriffs zwei oder vier Übertragungen
nacheinander entweder von oder zum Memory-Controller ausführen. Der Grund ist,
dass man bei einem Speicherzugriff die beiden oder die vier übertragenen Wörter
zusammen aus den Matrizen liest bzw. in diese schreibt und sie dann einzeln im
schnelleren Takt überträgt.

Das Lesen/Schreiben von zwei übertragenen Wörtern bei einem Kern-Zugriff wird bei
den DDR1-SDRAMs verwendet (siehe Vertiefungsabschnitt), das Lesen/Schreiben von
vier übertragenen Wörtern bei einem Kern-Zugriff wird bei den DDR2-SDRAMs
verwendet.

Die Entwicklung der strukturellen Merkmale, die den Fortschritt der Übertragungsrate
von Speicher-ICs bestimmen, zeigt zusammengefasst Bild 7.21 (Quelle: Elpida)

Bild 7.21: Vergleich der Geschwindigkeits-Merkmale der Speicher-Generationen


(auf der Basis einer Kern-Taktrate von 133 MHz)

Für ein transferiertes Bit bei SDR-SDRAMs werden bei DDR(1)-SDRAMs zwei und bei DDR2-
SDRAMs 4 übertragen. Deshalb spricht man auch von 1Bit-Fetch bzw. 2Bit-Fetch bzw. 4Bit-
Fetch.

Computertechnik 194 Jacob


Speichermodule für synchrone DDR SDRAMs (DDR1, DDR2)

7.5 Speichermodule für synchrone DDR SDRAMs (DDR1, DDR2)


Im Kapitel1 wurden beispielhaft zwei Module vorgestellt, deren Struktur jetzt genauer
beschrieben werden soll.

Bild 7.22: Typische Memory-Module für DDR(1) bzw. DDR2 SDRAMs

Prinzipieller Aufbau von Dual Inline Memory Modulen

Ein wesentliches Merkmal für den Aufbau ist die Datenwortbreite, die sich nach der
Datenwortbreite des Prozessors richtet. Beim Pentium4 sind es 64 Bit pro Datenwort.
Das bedeutet, dass auch die Speichermodule diese Datenwortbreite haben.

Jeder Speicher-IC auf einem Modul liefert einen gleichen Anteil an dem Datenwort. Der
Anteil wird bestimmt von der Wortbreite, die der IC selbst hat, also entweder x1Bit,
x4Bit, x8Bit oder x16Bit.

Jedes Beispielmodul in Bild 7.22 hat auf der Vorder- und der Rückseite je 8 gleiche ICs.
Die 8 ICs jeder Seite erzeugen je ein 64Bit-Datenwort. Also hat jeder IC eine x8Bit-
Struktur.

Die Schaltung jedes Speichermoduls setzt sich also aus 16 ICs zusammen. Das
Zusammenwirken der ICs bei einem Speicherzugriff soll nun mit Hilfe von Schaltplänen
erläutert werden. Dabei werden die von JEDEC angegebenen Schemata benutzt.

Die Schaltung eines DDR1-Moduls

Da sich ein Datenwort parallel aus den Signalen von 8 ICs zusammensetzt, muss man
die Parallelität auch im Schaltplan erkennen (Bild 7.23).

Die Tatsache, dass sie bei einem Speicherzugriff auch gleichzeitig wirken, wird dadurch
hervorgerufen, dass sie alle gleichzeitig selektiert werden, um ein Command zu
übernehmen. Das Command wird an der Pins RAS/, CAS/ und WE/ empfangen. Die
Aktivierung von S0/ geht gleichzeitig an alle SDRAM-ICs und bewirkt die Übernahme.

Computertechnik 195 Jacob


Speichermodule für synchrone DDR SDRAMs (DDR1, DDR2)

Bild 7.23:Parallel-Schaltung von 8 DDR1-Speicher-ICs mit x8Bit-Struktur zu einer


Speicherbank
Die Adressbits BA0, BA1 für die Selektion der internen Speicherbank und die Adressbits
A0 bis A13 für die Zeilen-/Spaltenadressierung werden an alle SDRAM-ICs angelegt.
Die Selektion einzelner Bytes beim Schreiben wird je ein Auswahlsignal DMi (data
mask) pro Byte gesteuert.
Jedes SDRAM-IC hat ein eigenes
Signal, um das Ab-/Einschalten der
Datenbits zu triggern: DQSi (data
strobe).
Die Taktung kann gruppenweise zu-
und abgeschaltet werden: CKE (clock
enable).

Computertechnik 196 Jacob


Speichermodule für synchrone DDR SDRAMs (DDR1, DDR2)

Die Parallelschaltung der SDRAM-ICs wirkt als Verbreiterung der Datenwortbreite der
internen Speicherbänke von 8Bit auf 64Bit. Deshalb bildet die Schaltungseinheit in Bild
7.23 eine Speicherbank, die - zur Unterscheidung von den internen Speicherbänken -
auch physikalische Speicherbank genannt wird..
Würden SDRAM-ICs mit internen Speicherbänken von 214 Zeilen und 214 Spalten eingesetzt,
dann erlaubte die Speicherbank Speicherzugriffe zu maximal 22 · 214 · 214 64Bit-Datenwörtern.

Der Schaltplan in Bild 7.23 stellt die Schaltung der Speicherbank auf der Vorderseite
des Speichermoduls dar. Bezieht man den Schaltplan der Speicherbank auf der
Rückseite mit ein, erhält man den Schaltplan in Bild 7.24.

Bild 7.24: Schaltplan eines x64Bit DIMM mit je einer Speicherbank vorne und hinten
Jede Speicherbank erhält ihr eigenes Selektions-Signal S0/ bzw. S1/.
Jedes Speichermodul enthält ein EEPROM mit den charakteristischen Daten des
Speichermoduls.
Computertechnik 197 Jacob
Speichermodule für synchrone DDR SDRAMs (DDR1, DDR2)

Damit man dieses EEPROM mit wenig Aufwand beim Booten des Computersystems
lesen kann, wird es an ein seriell übertragendes Interface (serial PD) angeschlossen,
das mit dem Memory-Controller verbunden ist. Dieser liest die Daten gemäß dem
standardisierten Protokoll der seriellen Schnittstelle.

Würden SDRAM-ICs mit internen Speicherbänken von 214 Zeilen und 214 Spalten eingesetzt,
dann hätte das Speichermodul eine Speicherkapazität von 2 · 22 · 214 · 214 23 Byte = 234 Byte =
16 GigaByte: ein zweifelhafter Wert.
Tatsächlich muss man die genauen Angaben der Hersteller zu den Modulkonfigurationen
beachten. Der Stand der Technik hat z.Zt. folgende Top-Werte:

Die Signale, die für die Speicherzugriffe zu den physikalischen Speicherbänken


gebraucht werden, müssen über die 184-polige Schnittstelle der Speichermodule
bereitgestellt werden.
Schnittstelle von 184poligen DDR1-DIMMs
Tabelle 7.1 fasst die Signale zusammen.
Funktionsgruppe Pin-Name Funktion
Adressierung A0 - A13 SDRAM Adress Bus
BA0 - BA1 SDRAM Bank Select
DM0 - DM8 SDRAM Data Mask
S0/ - S1/ Select der physikalischen Speicherbänke
Daten DQ0 - DQ63 DIMM Memory Data Bus
CB0 - CB7 DIMM ECC Check Bits
DQS0 - DQS8 SDRAM Data Strobes
Command RAS/ SDRAM Row Address Strobe
CAS/ SDRAM Column Address Strobe
WE/ SDRAM Write Enable
Clock CKE0 - CKE1 SDRAM Clock Enable
CK0 - CK2 SDRAM Clock (positive Signale von 3 differentiellen
Signalpaaren)
CK0/ - CK2/ SDRAM Clock (positive Signale von 3 differentiellen
Signalpaaren)
EEPROM SCL IIC Serial Bus Clock
SDA IIC Serial Bus Data Line
SA0 – SA2 IIC Slave Address Select
Spannungen, Masse Diverse Pins
Tabelle 7.1: Signalfunktionen der 184-poligen Schnittstelle von DDR1-Speichermodulen

Schnittstelle von 240-poligen DDR2-DIMMs


(Vertiefung für Interessierte, kein Prüfungsstoff)

Zum direkten Vergleich wird in Tabelle 7.2 die 240-polige Schnittstelle für DDR2-
Speichermodule zusammengefasst.

Computertechnik 198 Jacob


Speichermodule für synchrone DDR SDRAMs (DDR1, DDR2)

Funktionsgruppe Pin-Name Funktion


Adressierung A0 - A9, SDRAM Adress Bus
A10/AP AutoPrecharge
A11 - A15
BA0 - BA2 SDRAM Bank Select
DM0 - DM8 SDRAM Data Mask
S0/ - S1/ Select der physikalischen Speicherbänke
Daten DQ0 - DQ63 DIMM Memory Data Bus
CB0 - CB7 DIMM ECC Check Bits
DQS0 - DCQ8 SDRAM Data Strobes (positive Signale von 9
differentiellen Signalpaaren)
DQS0/ - DQS8/ SDRAM Data Strobes (negative Signale von 9
differentiellen Signalpaaren)
Command RAS/ SDRAM Row Address Strobe
CAS/ SDRAM Column Address Strobe
WE/ SDRAM Write Enable
Clock CKE0 - CKE1 SDRAM Clock Enable
CK0 SDRAM Clock (positives Signal von einem
differentiellen Signalpaar)
CK0/ SDRAM Clock (negatives Signal von einem
differentiellen Signalpaar)
EEPROM SCL IIC Serial Bus Clock
SDA IIC Serial Bus Data Line
SA0 - SA2 IIC Slave Address Select
ODT0 - ODT1 je ein On Die Termination Control Signal für die
Speicherbänke vorne und hinten
Spannungen, Masse Diverse Pins
Tabelle 7.2: Signalfunktionen der 240-poligen Schnittstelle von DDR2-Modulen
Die Zahl der Adressbits ist von 14 auf 16 erhöht: A0 - A15,
die Zahl der Bank-Adressbits um 1 auf 3: BA0 – BA2,
die Zahl der differentiellen Clock-Signalpaare ist auf 1 reduziert.

Zur Verbesserung der Taktung der Daten


sind die Daten-Strobe-Signale differentiell
ausgelegt: DQS0 und DQS0/ - DQS8 und
DQS8/.

Die Signalqualität der Datensignale hängt von den Abschlusswiderständen der Datenleitungen
ab. Auf den SDRAM-ICs sind geeignete Widerstandskombinationen vorbereitet. Mit Hilfe der
Einstellung von Betriebsmodus-Registern in den SDRAM-ICs kann man eine bestimmte
Widerstandskombination auswählen.
Es gibt Standard-Modusregister und Extended-Modusregister, die jeweils mit einem speziellen
Command geladen werden. Die Adresse, die dazu eingestellt wird, definiert gleichzeitig den
Inhalt des Modus-Registers.
Die Einstellung der on-chip-Widerstände wird im Extended Mode Register 1 mit Hilfe von zwei
Adressbits eingestellt:
Wenn bei einem Extended-Mode-Register-Command die Adressbits (BA2,BA1,BA0) = (0,0,1)
sind, dann wird das Extended Mode Register 1 adressiert. Die Adressbits A13 bis A0 werden als
Inhalt des Extended Mode Registers übernommen. Die Adressbits A6 und A2 bestimmen den
wirksamen on-chip-Widerstand Rtt. Die anderen Bits bestimmen andere einstellbare Merkmale.

Computertechnik 199 Jacob


Speichermodule für synchrone DDR SDRAMs (DDR1, DDR2)

Dies ist ein Beispiel für die Einstellung von Betriebsgrößen in den SDRAM-ICs des Moduls.

Bei Aktivierung des ODT-Signals werden die Widerstandswerte der On-Die Termination der
betroffenen physikalischen Speicherbank eingeschaltet. Das Signal wirkt wie ein Strobe-Signal.

DDR2-SDRAM-Struktur
Im Bild 7.25 wird der Schaltplan eines DDR2-SDRAM-ICs angegeben, der 8 interne
Speicherbänke enthält.

Bild 7.25: Strukturplan eines DDR2-SDRAM-ICs (128Mx8Bit, Hynix)

Computertechnik 200 Jacob


Dual-Channel-Konfiguration

Man erkennt den Pfad, mit dem die Adressbits aus dem Adressregister in die Mode Register
übertragen werden. Das ODT-Signal bewirkt mit Hilfe der ODT-Control-Schaltung das Zu- und
Abschalten der Output Buffer.
Beim Lesen und Schreiben von/zur Matrix werden 4 mal 8 = 32 Bit übertragen, während über
die Pin-Schnittstelle 8 Bit übertragen werden. Die Register werden 4bit-Prefetch-Data-Register
genannt.
Bei der gegebenen x8-Struktur der Speichermatrizen bedeutet das, dass beim Lesen vier
Spalten selektiert werden und damit vier 8Bit-Wörter gelesen und in das 4Bit-Prefetch-Lese-
Register übertragen werden. Beim Schreiben müssen zuerst vier 8Bit-Wörter in das 4Bit-
Prefetch-Schreib-Register geschrieben werden, bevor es in vier Spalten der Speichermatrix
geschrieben werden kann.
Mit diesem DDR2-SDRAM-IC kann man ein 240-poliges DDR2-DIMM vom Typ im Bild 7.25
herstellen, das eine Speicherkapazität von 1GigaByte hat.
(Ende der Vertiefung)

7.6 Dual-Channel-Konfiguration
Eine bekannte Speicherkonfiguration für Server setzt sich jetzt auch im PC-Bereich
durch: der Dual-Channel-Aufbau des Hauptspeichers. Der Memory-Controller im
Memory Controller Hub des Chipsatzes ist so aufgebaut, dass er zwei Speicherzugriffe
zu zwei Speichern unabhängig voneinander, und damit gleichzeitig ausführen kann
(Bild 7.26).

Das bedeutet, dass doppelt so viele Speicherzugriffe pro Zeiteinheit ausgeführt werden
können, wie in den üblichen Single-Channel-Konfigurationen.

Bild 7.26: Auszug aus dem Manual zum Motherboard P5AD2 (ASUS)
Die Beschreibung der Folgen für den Aufbau des Memory-Controllers sprengt den Rahmen
dieses Skripts. Es soll nur die Umsetzung der Host-Adresse in jedem Kanal diskutiert werden.

Computertechnik 201 Jacob


Die Umsetzung der FSB-Adresse bei der Adressierung der Speichermodule

7.7 Die Umsetzung der FSB-Adresse bei der Adressierung der


Speichermodule
Oben wurden 184-polige DDR1-DIMMs mit der Speicherkapazität von 1GByte
eingeführt. Das Verhältnis der Adressbits für Zeile bzw. Spalte ist 13:11. Die
SDRAM-ICs haben eine x8-Struktur. Das Schema der Umsetzung der Adressen ist in
Bild 7.27 angegeben.

Speicherbank 3
R
e Speicherbank 2
R g
i
e
s Speicherbank 1
R g
i t
high significant bit e e Speicherbank 0
g s
FSB: A31 R
i t r
e e
g s
t r
i
s e
Zeilen- t r
adresse e
r
R
e
R g
i
Speicherbank- e
s
g
adresse R
i t
e e
R g s
t r
Spalten- e i
g s e
adresse i t r
s e
t r
FSB: A3 e
low significant bit r

andere Steuersignale

FSB-
Steuereinheit
adresse
IC-Funktionsgrenze
Command-Wort Takt

Bild 7.27: Umsetzung der FSB-Adressen für ein DDR1-DIMM


SDRAM-ICs haben 13 Zeilen- und 11 Spalten-Adressbits, 4 interne Speicherbänke mit x8-
Struktur
Das DIMM enthält 8 SDRAM-ICs, die alle wie in Bild 7.27 adressiert werden.

• Die FSB-Adressbits A29, A30 und A31 müssen in die Einzel-Selektionssignale


/S0 bzw. /S1 für die physikalischen Speicherbänke der Module in den Modul-
Sockeln umgesetzt werden.
• Das Beispiel-DIMM mit 1GByte nutzt das FSB-Adressbit A29 für die Selektion
der physikalischen Speicherbänke auf der Vorder- und Rückseite.
• Vier solche 1GByte-DIMMs nutzen den gesamten Adressenraum, der von 32
Adressbits gebildet wird.

Computertechnik 202 Jacob


Die Umsetzung der FSB-Adresse bei der Adressierung der Speichermodule

• In einer Speichermatrix werden zuerst die Spalten durchnummeriert, bevor die


Zeilennummer inkrementiert wird. Deshalb sind die Spaltenadressbits immer
die weniger wertigen und die Zeilenadressbits die höher wertigen.
• Das nieder wertige Speicherbank-Adressbit setzt nicht an dem höchst
wertigen Zeilenadressbit fort.
Würde es dort fortsetzen, dann würden die Spalten und die Zeilen der
Speichermatrizen der internen Speicherbänke nacheinander aufsteigend
durchnummeriert.
Bank 0 Bank 1 Bank 2 Bank 3
Zeilen-
adressen
usw. usw. usw. usw.

Spaltenadressen
Das nieder wertige Speicherbank-Adressbit setzt vielmehr am höchst wertigen
Spaltenadressbit fort.
Der Grund ist, dass damit beim Durchnummerieren die Zeilennummer
konstant bleibt, während die Spaltennummern von Speicherbank zu
Speicherbank inkrementiert werden. Es wird nacheinander eine Kettung der
Spaltennummern der Speicherbänke erzeugt, die zur selben Zeilennummer
gehören.
Die Adressen entsprechen der Nummerierung.

Bank 0 Bank 1 Bank 2 Bank 3


Zeilen-
adressen
usw.

Spaltenadressen

Wenn man aufeinander folgende Wörter, dieser Kettung folgend, abspeichert,


entsteht ein Wechsel der Zeilenadresse erst, wenn man am Ende der Kettung
ankommt. Man nennt diese Art der Speicherung verschränkte Speicherung.

• Durch die verschränkte Speicherung entstehen beim Programmablauf im


Mittel weniger Zeilenwechsel als bei der unverschränkten.

Das FSB-Adressformat enthält nicht die drei niederwertigen Adressbits zur


Adressierung der Bytes innerhalb eines 64Bit-Speicherworts. Diese werden als Byte-
Selektionsmuster in der zweiten Phase der Adressierung auf den FSB-
Adressleitungen übertragen.

Das Adressformat, das diese enthält und damit die Gesamtadresse für die Adressierung von
Bytes angibt, wird oben zur Unterscheidung Hostadresse genannt.

Computertechnik 203 Jacob


PCI-Bus 2.0

8 I/O-Datenverkehr: PCI-Varianten, Interrupt-Controller


8.1 PCI-Bus 2.0

Das Konzept des PCI-Bus benutzt bestimmte Begriffe, die zuerst erklärt werden
sollen.
Die Programme geben ihre Aufträge an die PCI-Controller, die nach der Übernahme
der Auftragsparameter die Abwicklung eines Übertragungsauftrages selbständig
initiieren (Initiator) und ausführen. Anders ausgedrückt: nur diese Schaltungen
können Busmaster oder Master werden.
Die Schaltung, an die sich der Busmaster zur Datenübertragung wendet, heißt
Target. Es ist entweder ein anderer Busmaster oder eine passive Schaltung, die nur
adressiert werden kann, d.h. die selbst nicht Initiator werden kann.
Targets, die selbst nicht Initiatoren werden können, werden auch Slaves genannt.
Der kürzeste Auftrag ist die Übertragung eines einzelnen Datenworts (Einzel-
datenverkehr).
Die Übertragung von Blöcken mit mehreren Datenwörtern (Blockdatenverkehr)
belegt das Übertragungsmedium länger. Die Zahl der Wörter, d.h. die Länge der
Datenblöcke muss verkehrsgerecht bemessen werden. Man nennt die Übertragung
eines Datenblocks auch Burst.
Beide Übertragungsarten erfordern eine genaue Festlegung von Signalen bzw.
Signalfolgen, so dass die Übertragung zuverlässig ablaufen kann. Der genaue
zeitliche Ablauf der Signale heißt Übertragungsprotokoll oder kurz Protokoll. Es legt
die Vorschriften für jeden elementaren Übertragungsvorgang und deren Aneinander-
reihung fest.
Wenn mehrere Busmaster einen gemeinsamen Bus als gemeinsames Über-
tragungsmedium nutzen, dann wird es zu Benutzerkonflikten kommen, da jeweils
nur einer das Medium benutzen kann. Man wird also eine Benutzerregel nach Vor-
rang festlegen, die den Konflikt löst. Auf dieser Basis kommt es dann zu einer
Reihenfolgebildung der Übertragungen der Master.

Die Arbitrierung

Ein PCI-Controller meldet seinen Übertragungswunsch mit einem individuellen


Request-Signal bei einem PCI-Arbiter an und erhält die Bewilligung seines Übertra-
gungswunsches durch ein individuelles Grant-Signal.

Im Beispiel von ergeben sich für die 4 PCI-Stecker auf den beispielhaften
Motherboards vier Signalpaare am PCI-Arbiter.

Man beachte, dass nicht nur PCI-Controller am PCI-Bus Initiator werden können.
Auch der Prozessor bzw. in seinem Namen das Prozessor-Interface im Memory-
Controller-Hub und in dessen Namen das Hub-Interface des I/O-Controller-Hub
können eine Belegung des PCI-Bus anfordern. Deshalb erkennt man am Arbiter von
Bild 8.1 noch ein zusätzliches Signalpaar.

Computertechnik 204 Jacob


PCI-Bus 2.0

Initiator Target

PCI-Interface im
I/O-Controller

Prozessor

PCI-Arbiter

Bild 8.1: Beispielhaftes Schema der Request/Grant Signale eines PCI-Arbiters


(mit beispielhafter Bewilligung und nachfolgender Belegung)
Der Rang, den ein PCI-Steckplatz in der Prioritätsreihenfolge der Bedienung hat, wird
durch die Abfrageprozedur im Arbiter festgelegt.

Vertiefung für Interessierte, kein Prüfungsstoff:


Der PCI-Standard legt keine Regeln für die Realisierung des Arbiters fest. Ein beispiel-
haftes Verfahren gibt Bild 8.2 wider.

CPU PCI0

PCI5 PCI1
Haupt-
Eingeschobener
PCI0 PCI0

abfrage-
PCI5 PCI1 PCI5 PCI1

PCI PCI Abfrage-


PCI4 PCI2
zyklus PCI4 PCI2

PCI3 PCI3

zyklus
PCI4 PCI2
PCI0

PCI5 PCI1

PCI4
PCI PCI2
PCI3
PCI3

Bild 8.2: Graph der Abfragezustände für die Abfrageprozedur eines PCI-Arbiters
Bild 8.2 zeigt einen Graphen, der die Abfragezustände (Kreise) und die Zustands-
Übergänge (Pfeile) einer Abfrageprozedur definiert.
Der Hauptabfragezyklus bestimmt das Verhältnis der Zuordnungen des PCI-Bus für den
Prozessor und für die PCI-Controller. Der eingeschobene Abfragezyklus bestimmt, welcher
PCI-Controller den PCI-Bus belegen darf.
Die PCI-Signalpaare, die der Arbiter verarbeiten kann, sind in der Regel auf eine
angenommene Höchstzahl ausgelegt, hier 6. Auf den Motherboards werden im Standardfall
in der Regel weniger genutzt (z.B. 4 wie in Bild 8.1).
Das Verfahren entspricht der Weitergabe eines Tokens. Angenommen, kein PCI-Controller
wartet auf Bedienung und eine Prozessor-Anforderung liege an und würde abgefragt und
würde bedient und sei fertig. Dann wird das Token an den ersten Abfragezyklus der PCI-
Controller weitergegeben, der es von Controller zu Controller weitergibt.

Computertechnik 205 Jacob


PCI-Bus 2.0

Einer habe mittlerweile eine Anforderung, die erkannt und bedient wird. Sobald sie fertig ist,
wird das Token an den nächsten eingeschobenen Abfragezyklus weiter gegeben, und zwar
an den ersten Controller, der dem aktuell bedienten folgt. Wenn ein Abfragezyklus mit oder
ohne Abfrage-Erfolg wieder zum ersten abgefragten Controller zurückgekehrt ist, wird das
Token ebenfalls an den nächsten eingeschobenen Abfragezyklus weiter gegeben, und
zwar an den Controller, der dem ersten Controller des gerade erfolgten Umlaufs folgt.
Das Verfahren verteilt bei Volllast die Chancen im Verhältnis 1 zu 3 an die CPU und die
PCI-Controller, und die Chancen der PCI-Controller untereinander sind gleich verteilt.
(Ende der Vertiefung)

Hat einer der PCI-Initiatoren ein /REQ-Signal aktiviert, dann wird er - je nach Lage
der Requests der anderen - nach einer bestimmten Zeit die Aktivierung seines /GNT-
Signals durch den Arbiter feststellen. Dann beginnt die Datenübertragungsphase.

Die Datenübertragung
Bild 8.4 stellt die Einzelwort-Datenübertragung an einem Beispiel dar.
PCI-
Interface

Master Device PCI-Arbiter


AD(31:0) Interface
C-/BE(3:0) /Request
PAR
/FRAME

/Grant
64 Bit
Extension Adress-
wort Daten-
Atomic Access Adress/ wort
/DEVSEL Daten-
Clock Control
IDSEL Interface Command-
Control Command- wort
/REQ Interface
/GNT Control- Byte-
Arbitration Interface auswahl
CLK /Frame
Test Control
/RST vom Initiator
System Control /INTA
/INTB
/Device
Select
/INTC
vom Target
Error Report
/INTD
Interrupt
Control Takt

Bild 8.3: Vereinfachtes Zeitdiagramm einer Einzelwort-Übertragung (PCI-Bus 2.0)


• Maßgeblich für den zeitlichen Ablauf ist der Takt von 33MHz/33nsec (2.0).
• Im Einzeldatenverkehr dauert die Datenübertragungsphase mindestens zwei
Buszyklen.
• Im ersten Zyklus der Datenübertragungsphase sendet der PCI-Initiator ein
Commandwort (z.B. Memory Read, Memory Write, I/O Read, I/O Write,
Configuration Read, Configuration Write) auf den Signalleitungen C/BE[3:0].

Computertechnik 206 Jacob


PCI-Bus 2.0

Im zweiten Zyklus sendet der PCI-Initiator auf denselben Signalleitungen ein Wort,
mit dem man einzelne Bytes auswählen kann, wenn kein ganzes Datenwort
gemeint ist.
• Im ersten Zyklus der Datenübertragungsphase sendet der PCI-Initiator zusätzlich
eine 32Bit-Adresse auf den Signalleitungen AD[31:0].
• Im zweiten Zyklus sendet die Datenquelle auf denselben Signalleitungen AD[31:0]
ein 32Bit-Datenwort.
PCI-
Interface

PCI-Arbiter
Interface
Request/

Grant/
Adress-
wort Daten-
Adress/ wort
Daten-
Interface Command-
Command- wort
Interface
Control- Byte-
Interface auswahl
Frame/
vom Initiator

Device/
Select
vom Target

Takt

Bild 8.4: Vereinfachtes Zeitdiagramm einer Burst-Übertragung (PCI-Bus 2.0)


• Mit dem binären Signal /FRAME (Rahmen) zeigt der PCI-Initiator an, ob er die
Datenübertragungsphase verlängern will, d.h. einen Datenblock im Burst-Modus
übertragen will. /FRAME bleibt bis zum Beginn der Übertragung des letzten
Datenwortes aktiv.
Beim Einzeldatenverkehr muss /FRAME also vor dem zweiten Zyklus deaktiviert werden,
weil das erste Datenwort auch das letzte ist.
• Mit dem /DEVSEL-Signal (device select) gibt das adressierte Target an, dass es
die angelegte Adresse als eine eigene erkannt (= dekodiert) hat.

Nach einer Datenübertragungsphase sollte der Bus für andere Teilnehmer freige-
geben werden, um die Benutzungschancen fair zu halten.

Das aktivierte /FRAME-Signal zeigt an, dass der Bus benutzt wird. Damit hat jeder
PCI-Controller ein eindeutiges Merkmal, dass der Bus belegt ist.

Computertechnik 207 Jacob


PCI-Bus 2.0

Vertiefung für Interessierte, kein Prüfungsstoff:


Möglichkeit der vorgezogenen Arbitrierung
Der Initiator kann gleichzeitig mit der Aktivierung des /FRAME-Signals das /REQ-Signals
deaktivieren. Das kann der Arbiter als eine Aufforderung nehmen, die aktuelle Bewilligung
zu deaktivieren und die nächste Arbitrierungsentscheidung zu fällen und zu bewilligen. Der
bewilligte PCI-Controller beobachtet die Belegung des Bus, bis alle Belegungsmerkmale
(vor allem das /FRAME-Signal) deaktiviert sind. Dann beginnt er mit seiner Belegung.
Durch die vorgezogene Entscheidung entsteht also kein Warten auf die
Arbitrierungsentscheidung.
Entzug des Bus bei geketteten Bursts
Ein PCI-Initiator kann seine Anforderung aber auch aufrechterhalten, weil z.B. mehrere
Bursts nacheinander auszuführen sind. Das bedeutet nicht, dass ihm die Benutzung des
Bus nach der Bewilligung so lange erhalten bleibt, bis er seine Anforderung zurücknimmt.
Da nur der Arbiter alle aktuellen Anforderungen kennt, darf nur er allein über die Belegung
entscheiden. Wenn andere Anforderungen anliegen, wird er Fairness erzwingen und die
Bewilligung bei der Aktivierung des /FRAME-Signales zurücknehmen und den in der
Reihenfolge folgenden bewilligen. Am Ende der aktuellen Datenübertragungsphase geht
der Bus an den Teilnehmer über, den der Arbiter neu bestimmt hat. Wegen der zyklischen
Abfrage ist sicher, dass jede wartende Anforderung bei jedem Umlauf mindestens einmal
bedient wird.
(Ende der Vertiefung)

Busblockaden
Der Initiator oder das Target können den Bus „monopolisieren“ und die Benutzung
durch andere blockieren, weil Hardware-Fehler den Ablauf blockieren können.
Solange die Steuerschaltung im Initiator fehlerfrei funktioniert, wird sie die Übertra-
gungsaufträge, die sie von dem Betriebssystem im Sinne der Anwendungen erhält,
auch umsetzen. Wenn sie einen besonders langen Übertragungsauftrag erhält, wird
sie diesen auch weisungsgemäß ausführen. Es ist also die Aufgabe des Betriebs-
systems, die Aufträge so zu „stückeln“, dass keine zu langen Blockaden für andere
entstehen.
Wenn man trotzdem eine davon unabhängige Überwachung haben möchte, so muss
man die Zeit beobachten, die eine Transaktion „verbraucht“. Setzt man dem eine
Grenze und bricht die Transaktion beim Überschreiten des Grenzwertes ab, dann hat
man damit ein Mittel, eine Blockade durch den Initiator zu verhindern.
In diesem Sinne legt die PCI-Spezifikation die Funktion eines master latency timer
im PCI-Controller fest. Der gültige Grenzwert wird durch Laden in ein Control-
Register beim Hochfahren des Computers eingestellt.
Sobald eine Transaktion beginnt, erhält der Timer (= Zähler) diesen Grenzwert als
Anfangswert. Während der Transaktion wird der Zähler mit dem PCI-Bustakt
heruntergezählt. Der Nullzustand bedeutet den Abbruch der laufenden Transaktion.
Wird die Transaktion vorher ordnungsgemäß beendet, ist die Überwachung hinfällig
und wird gestoppt.
Der Anfangswert ist ein Merkmal, das vom Betriebssystem bestimmt wird, genau so,
wie die Größe der Datenblöcke von ihm bestimmt wird. Beides muss aufeinander
abgestimmt sein. Man stellt den Zähler-Grenzwert der Überwachung so ein, dass die
Übertragung „normaler“ Datenblöcke nicht als Blockade behandelt wird.

Computertechnik 208 Jacob


PCI-Bus 2.0

Soweit mögliche Blockaden durch den Initiator. Fehlfunktionen in einem Target


können auch Blockaden hervorrufen. Die Überwachung des Targets erfolgt im
Initiator.
Nach Beginn einer Transaktion erwartet der Initiator als Reaktion die Aktivierung des
/DEVSEL-Signals. Wenn das ausbleibt, ist das adressierte Target nicht erreichbar.
Die Überwachung bricht die blockierte Transaktion ab.
Es gibt noch weitere Regeln zur Überwachung des Targets, die aber hier nicht weiter
diskutiert werden sollen.

Interrupt-Request-Signale auf dem PCI-Bus (2.0)

Ein PCI-Controller muss ein Interrupt-Request-Signal aktivieren, um eine


Ereignismeldung an die Programmsteuerung im Prozessor abzugeben.
Im PCI-Konzept ist vorgesehen, dass ein PCI-Controller bis zu vier voneinander
unabhängige Interrupt-Requests erzeugen kann, je nach der Komplexität der Funktionen, die
er auszuführen hat. Die Funktionen der meisten PCI-Controller sind aber so begrenzt, dass
nur ein einziger Interrupt-Request notwendig ist, der über die Interrupt-Request-Leitung
/INTA übertragen werden muss.

Das Prinzip der Veroderung der Interrupt-Requests der einzelnen PCI-Controller wird
am Beispiel der Interrupt-Request-Leitung /INTA erklärt (Bild 8.5). Es ist auf die
anderen drei Leitungen sinngemäß übertragbar.
PCI- PCI- PCI-
Controller 1 Controller 2 Controller n Interrupt-Controller
INTA1 INTA2 INTAn

INTA = INTA1 oder INTA2... oder INTAn


Oder Oder Oder

/INTA = /INTA1 und /INTA2... und /INTAn

V V

INTA = INTA1 oder INTA2... oder INTAn

Bild 8.5: Wired-OR-Verknüpfung am Beispiel der Interrupt-Request-Leitung /INTA


Eine Oder-Verknüpfung von mehreren Variablen kann man durch eine Kettung von
Oder-Verküpfungen realisieren, die zwei Variablen verknüpfen. Eine solche
verkettete Verknüpfung wird notwendig, wenn die Variablen örtlich verteilte
Einzelsignale sind, z.B. an PCI-Steckplätzen.

Alle /INTA-Anschlusspunkte der Steckplätze und der verlöteten PCI-Controller auf


einem Motherboard sind untereinander durch eine Leitung verbunden, an deren
einem Ende der Eingang in den Interrupt-Controller liegt.

Computertechnik 209 Jacob


PCI-Bus 2.0

Sobald eine PCI-Steckkarte in einen Steckplatz gesteckt wird, entsteht eine


Verbindung zwischen dem offenen Ausgang ihres INTA-Interrupt-Request-
Transistors und dieser Leitung (rote Knoten in Bild 8.5). Bei verlöteten PCI-
Controllern ist die Verbindung durch das Verlöten entstanden.

Jeder PCI-Controller, dessen Interrupt-Request-Transistor mit der Leitung verbunden


ist, wird in dem Augenblick, in dem er einen Request aktiviert, die Interrupt-Request-
Leitung mit Masse verbinden, d.h. „auf 0 ziehen“. Das bedeutet, dass das Signal auf
0 gezogen wird, wenn auch nur einer einen Interrupt Request erzeugt. Invertiert man
das erzeugte Signal im Interrupt-Controller, dann erhält man den Sammel-Interrupt-
Request INTA.

Vertiefung für Interessierte, kein Prüfungsstoff:


Variable, die die Werte 0 oder 1 annehmen können, werden als Schaltvariable bezeichnet.
Man kann eine Variable positiv angeben, z.B. INTA, oder negiert, z.B. /INTA.
INTA = 1 bedeutet: Es liegt ein Interrupt Request vor.
/INTA = 1 bedeutet: Es liegt kein Interrupt Request vor.
Hier interessiert die Bedingung dafür, dass /INTA = 1 ist, also kein Interrupt Request
vorliegt.
Es liegt kein Request vor, wenn /INTA1=1 und /INTA2=1 und…..und /INTAn=1 sind, d.h.
wenn der Ausdruck /INTA1 und /INTA2 und …und /INTAn = 1 wird. Ordnet man also diesen
Ausdruck der Variablen /INTA zu, hat man eine Funktion, die genau festlegt, bei welchen
Werten der Schaltvariablen INTAi ein Sammel-Interrupt-Request INTA vorliegt und bei
welchen nicht. Die Zuordnung ergibt folgende Schaltfunktion:
/INTA = /INTA1 und /INTA2 und…und /INTAn
Wenn man die Schaltfunktion für INTA haben will, muss man die negierte Schaltvariable
/INTA durch eine Negation in die positive Schaltvariable INTA wandeln.
Die Negation einer Schaltfunktion bedeutet, dass man beide Seiten der Zuordnung negiert:
/ (/INTA)= / (/INTA1 und /INTA2 und…und /INTAn)

Eine doppelte Negation hebt sich auf.


Bei der Negation eines und/oder-verknüpften Ausdrucks werden alle Schaltvariablen
negiert und und in oder und oder in und gewandelt (Inversionssatz der Schaltalgebra). Es
ergibt sich:
INTA = INTA1 oder INTA2 oder …oder INTAn.
(Ende der Vertiefung)

PCI-Interrupt-Sharing

Die Problematik der Offenbarung des Interrupt-Requests, der nach einem Sammel-
Interrupt bedient werden soll, wird im PCI-Umfeld mit dem Begriff Interrupt-Sharing
bezeichnet. Man braucht einen Identifikationszyklus für diese Offenbarung.

Der Interrupt-Request INTA (bzw. INTB, INTC oder INTD) werden zusammen mit
den ererbten Interupt-Requests - die es aus Gründen der Kompatibilität zu früheren
Systemen immer noch gibt - im Interrupt-Controller zu einem Sammel-Interrupt an
den Prozessor verarbeitet. In der Interrupt Acknowledge Phase wird der höchst priore
von diesen zum Prozessor gemeldet. Wird INTA gemeldet, wird zur Interrupt Service
Routine für INTA verzweigt.

Computertechnik 210 Jacob


PCI-Express

Diese Routine hat die Aufgabe, das Statusregister jedes PCI-Controllers abzufragen,
der an der Interrupt-Request-Leitung einen Request auslösen kann. Das Status-
register jedes abgefragten PCI-Controllers enthält pro Request-Leitung /INTi ein
Pending-Interrupt-Request-Bit, dessen Zustand zeigt, ob ein Request anliegt.

8.2 PCI-Express

Der PCI-Express-Standard ist konzipiert als Nachfolge-Standard des PCI-Bus 2.0.


Seine prinzipielle Integration in das System zeigt Bild 8.6.

CPU
PCI Express
Graphics Memory Memory
Hub
ATA serial USB 2.0
I/O Local
HDD Hub I/O
PCI Express
Mobile
Docking

GByte
Switch PCI
Ethernet

Add-in PCI Express

Bild 8.6: PCI-Express mit Switch-IC als zentrale Verteiler-Einheit


Man erkennt, dass der Chipsatz beide Standards nebeneinander bestehen lässt.
Offensichtlich geht das PCI-Express-Konzept aber nicht mehr von einer Bus-Struktur
aus, in der ein Arbitrierungsvefahren über die Belegung durch Controller entscheidet,
die dann selbständig die Datentransfers ausführen.

An diese Stelle tritt hier ein Switch-IC, das bitseriell übertragene Datenpakete von
Punkt zu Punkt verteilt. Die Funktion entspricht also genau der, die in den Switch-
Einheiten der LANs üblich ist. Das Switch-IC stellt die Verbindungen zwischen den
PCI-Express-Sockeln und dem I/O-Hub her, wirkt also als Verteilerzentrale.

An den Funktionen der Sockel-Pins kann man die Merkmale der Datenübertragung
feststellen (Bild 8.7).

Das wesentlichste Merkmal: drei differentiell übertragende Leitungspaare:


ein Leitungspaar für den gemeinsamen Takt der Datenübertragungs-Paare,
ein Leitungspaar für die Richtung vom Switch zum Stecker (output),
ein Leitungspaar für die Richtung vom Stecker zum Switch (input).
Die beiden Datenübertragungs-Leitungspaare werden zusammen als Lane bezeich-
net. In der x1-Version gibt es nur ein Lane, in der x16-Version gibt es 16 Lanes.

Computertechnik 211 Jacob


PCI-Express

HSOn HSIp
Tx Rx
HSOp HSIp

HSIp HSOn
Rx Tx
HSIp HSOp

Bild 8.7: Beispiele für Stecker des PCI-Express mit x1-Datenübertragungspaar


Der Takt hat eine Frequenz von 2,5 GHz. Da (wie im 1 GBit/sec-Ethernet) eine
8zu10-Codierung für die Daten verwendet wird, ergibt sich eine effektive Datenrate
von 250 MBit/sec vollduplex auf jedem Lane. Das gilt für die x1-Version. Die
Versionen mit mehr Lanes haben höhere Datenraten.

Angenommen, man hat eine x16Version und einen Datenblock von n · 16 Bytes.
Wenn man je ein Byte der ersten 16 der Reihe nach auf die 16 Lanes verteilt, dann
kann man in einer Taktperiode die ersten 16 Byte übertragen. Das lässt sich mit den
folgenden 16 Byte wiederholen usw.. Man braucht also n Taktperioden, um n · 16
Bytes zu übertragen. Vorausgesetzt, dass man im Empfänger die Bytes wieder in der
richtigen Reihenfolge aneinander reiht.

Computertechnik 212 Jacob


PCI-Express

Das geschilderte Verfahren ist das der x16-Version. Diese ist also 16mal schneller
als die x1-Version. Das Verfahren gilt sinngemäß auch für die x2, x4 usw. Versionen.

Die Taktrate 2,5 GHz wird gesteigert werden. Man wird versuchen, sie möglichst
nahe an 10 GHz zu erhöhen, der theoretischen Grenze für Datenübertragung auf
Kupfer.

Um einen Einblick in die Bildung der Datenpakete zu bekommen, wird im Bild 8.8 die
systematische Zusammensetzung dargestellt.
http://www.intel.com/technology/pciexpress/devnet/docs/WhatisPCIExpress.pdf

Bild 8.8: Bildung (Transmitter) und Rückbildung (Receiver) der Datenpakete im PCI-
Express
Wenn ein Datenpaket auf den Datenleitungen physikalisch übertragen wird
(physikalische Übertragungsebene, physical layer), dann ist das eine Punkt-zu-
Punkt-Übertragung. Das bedeutet, dass das Paket-Format auf dieser Ebene keine
Weginformation bereithalten muss. Deshalb gibt es nur einen start-of-frame-Delimiter
und einen end-of-frame-Delimiter.

Das Paket wird von der übergeordneten Funktionsebene an die physikalische Ebene
übergeben, damit es dort, mit den frame-Delimitern versehen, übertragen wird. Die
Hauptfunktion der übergeordneten Ebene (link layer) ist es, ein gesichertes Paket zu
bilden.
Die Link-Ebene bekommt ein ungesichertes Datenpaket von der ihr übergeordneten
Funktionsebene. Dieses Paket enthält in einem Header im Wesentlichen die
Datenpfad-Information. Daraus kann die Link-Ebene im Switch die Punkt-zu-Punkt-
Daten ermitteln und entsprechend den Pfad schalten.
Außerdem kann sie dem Paket Sicherungsdaten (packet sequence number, cyclic
redundancy check-Bits) hinzufügen, bevor es das so ergänzte Paket zur Übertragung
weiter gibt. Die Link-Ebene im Empfänger nutzt die Sicherungsdaten zur Prüfung auf
korrekte Übertragung.

Die Transaktions-Ebene (transaction layer) ist dafür zuständig, dass geeignete


Pakete für den dma-Datenverkehr und den Interrupt-bezogenen Datenverkehr
gebildet werden, die den vom Anwenderprogramm gewünschten Pfad realisieren.

Computertechnik 213 Jacob


PCI-X

8.3 PCI-X
PCI-X verfolgt weiter das Konzept der wortweisen Übertragung auf einem Bus
(Bild 8.9).

Die Datenwortbreite ist 64 Bit mit differentieller Übertragungstechnik.

An einem Bus kann immer nur eine maximale Anzahl von Sockeln (slots)
angeschlossen sein (Bus-Segment). Wenn mehr Sockel gebraucht werden, braucht
man eine PCI-X-to PCI-X-Bridge. Dadurch entstehen Bus-Segmente.

Die maximale Anzahl der Sockel wird durch die Taktfrequenz festgelegt:
66 MHz: 4; 100 MHz: 2; 133 MHz: 1.

Für ICs, die auch an den Bus angeschlossen werden können, gelten andere
Belastungsmerkmale als für Sockel. Deshalb können 3 Bridge-ICs an dem Segment
mit 133 MHz angeschlossen sein.

Bild 8.9: Strukturvarianten des PCI-X-Bus


Das ist die PCI-Variante, die in Servern verwendet wird, z.B. im Hochleistungs-
Server von HP in Kapitel 3.

Die PCI-Varianten sind die heute hauptsächlich verwendeten Standards für


universelle I/O-Schnittstellen. Sie dienen dem Datenverkehr, aber auch der
Übertragung der Daten für die Interrupt Requests.

Im Folgenden werden im Rahmen dieses Kapitels auch einige Konzeptmerkmale des


Interrupt Controllers erklärt.

Computertechnik 214 Jacob


Das Programmable-Interrupt-Controller Konzept (PIC)

8.4 Das Programmable-Interrupt-Controller Konzept (PIC)


Szenarien für programmsteuernde Ereignismeldungen

Sobald beim Ablauf eines Programms ein Auftrag für die Übertragung eines
Datenblocks durch einen PCI-Controller entstanden ist, muss die Fertigmeldung
abgewartet werden. Das Betriebssystem sorgt für ein geordnetes Anhalten und
Fortsetzen des auftraggebenden Programms.

Für den geordneten Ablauf eines Programms schafft man sich in Betriebssystemen
eine Verwaltungseinheit, die man üblicherweise Prozess nennt. Diese Einheit wird
repräsentiert durch Datenstrukturen, die den Bedarf an Betriebsmitteln (resources)
und die Merkmale des aktuellen Programm-Ablaufzustands enthalten. Dort wird das
Anhalten als Zustandsmerkmal festgehalten.

Es kann nun nicht nur einen, sondern mehrere angehaltene Prozesse geben, die auf
eine Fertigmeldung warten. Darunter kann es auch schon welche geben, für die eine
Fertigmeldung anliegt, die aber zugunsten der höheren Priorität des gerade
ablaufenden Prozesses noch nicht zum Zuge kommen können. Erst, wenn dieser
anhält, kann der Wechsel zu einem wartenden erfolgen.

Das ist das übliche Szenario in einem Multiprocessing-Betriebssystem.

Das für die Auflösung des Wartezustandes maßgebliche Ereignis ist die Fertig-
meldung. Jede dma-fähige Einheit, die selbständige einen Übertragungsauftrag
abwickelt, kann jederzeit damit fertig werden und eine Fertigmeldung erzeugen.

Die Fertigmeldung geschieht mit einem Interrupt-Request. In der Interrupt-


Acknowledge-Phase kommt es zu einer Verzweigung zu einer Interrupt-Service-
Routine, deren Ablauf den Ablauf des gerade ablaufenden Prozesses unterbricht.

In Multiprocessing-Betriebssystemen kommt es über den Ablauf der Interrupt-


Service-Routine zum Ablauf eines Betriebssystem-Teilprogramms, das Interrupt-
Handler genannt wird.

Hier interessiert nun, wie der Interrupt-Controller die einlaufenden Interrupt-Requests


bewertet und den Start der Interrupt-Service-Routinen unterstützt.

Das ererbte Konzept des Interrupt-Controllers

Der Interrupt-Controller ist die Entscheidungs-Instanz, die den zu bedienenden


Interrupt-Request auswählt und meldet.
Zunächst muss eine geeignete Schnittstelle bereitgestellt werden, an der sich jeder
Interrupt-Request jederzeit melden kann (Bild 8.10).
Das Konzept sieht vor, dass man eine Grund-Einheit mit 8 Eingängen hat, die man
kaskadieren kann. In Bild 8.10 werden nur zwei Grund-Einheiten kaskadiert.

Bei einer vollständigen Kaskade wären die Ausgänge von 8 Grund-Einheiten auf die 8 Ein-
gänge der zweiten Stufe geschaltet, so dass 64 Requests verarbeitet werden könnten.

Computertechnik 215 Jacob


Das Programmable-Interrupt-Controller Konzept (PIC)

IRQ8 IRQ0
IRQ9 IRQ1
IRQ10 IRQ2
IRQ11 O IRQ3 O
D D INTR
IRQ12 E IRQ4 E CPU
IRQ13 R IRQ5 R

IRQ14 IRQ6

IRQ15 IRQ7
Erweiternder Basis-
Interrupt Interrupt- Sammel- Interrupt Interrupt- Sammel-
Request Controller Interrupt- Request Controller Interrupt-
Register (slave) Request Register (master) Request

Bild 8.10: Kaskadierung von elementaren Interrupt-Controller-Einheiten


Die ankommenden Interrupt-Requests werden einzeln in einem Register gespeichert,
bis die Bedienung durch den Prozessor beginnt und die Anforderung auf Bedienung
zurückgesetzt werden kann. Das Register heißt Interrupt-Request-Register.
Sobald ein beliebiger IRQ am Eingang des Controllers entsteht, löst das einen Interrupt-
Request am Prozessor aus, der einen Interrupt-Acknowledge-Zyklus auslöst.

Der Interrupt-Acknowledge-Zyklus führt zur Übertragung des Interruptvektors, der


die Nummer des höchstprioren Interrupt-Request angibt.

Die Entscheidung über den höchst-prioren Interrupt-Request

Grundlage der Entscheidung ist eine eindeutige Rangfolge der Interrupt-Requests.


Zusätzlich ist maßgeblich, ob man eine ablaufende Interrupt-Service-Routine wieder
unterbrechen darf.
Nimmt man an, dass eine ablaufende Interrupt-Service-Routine nicht unterbrochen
werden kann, dann wartet man das Ende ihres Ablaufs ab und ermittelt danach,
welcher dann in der Rangfolge der erste ist und meldet seinen Interrupt-Vektor. Im
Interrupt-Request-Register ist eine eindeutige Rangfolge definiert (Bild 8.11).
IRQ0

IRQ1
Im PIC-Konzept legt man die Rangfolge gemäß dem nebenstehenden
IRQ8
Schema fest. IRQ0 hat die höchste Priorität. Durch das Einschieben der
IRQ9 Slave-Kette ergibt sich folgende Prioritätsreihenfolge: IRQ0, IRQ1, IRQ8,
IRQ10 ..., IRQ15, IRQ3,.., IRQ7 mit insgesamt 15 Interrupt-Requests.
IRQ11
IRQ12
IRQ13
IRQ14
IRQ15
IRQ3
IRQ4
IRQ5
IRQ6
IRQ7

Bild 8.11: Rangfolge der Interrupt-Requests


Für das Konzept mit Unterbrechungsmöglichkeit reicht dieser Ansatz nicht.

Computertechnik 216 Jacob


Das Programmable-Interrupt-Controller Konzept (PIC)

Man braucht eine zusätzliche Struktur, die erkennbar macht, welche Interrupt-
Service-Routinen ablaufen und in welcher Reihenfolge sie unterbrochen wurden.
Hierzu kann man das Register, in dem man sich die noch nicht bedienten Requests
merkt, um ein Register ergänzen, in dem man sich die bedienten Requests merkt.

Das hinzugefügte Register wird Interrupt-Service-Register genannt. Die Rangfolge


ist die gleiche wie im Interrupt-Request-Register (Bild 8.12).
Rangfolge in der
Warteschlange
IRQ0
IRQ1
IRQ8
IRQ9
IRQ10
IRQ11
IRQ12
IRQ13

IRQ14
IRQ15
IRQ3
IRQ4
IRQ5
IRQ6
IRQ7

Merker für die Merker für die


noch nicht bedienten bedienten
Interrupt Requests Interrupt Requests

Bild 8.12: Registerpaar zur „Registrierung“ der bedienten bzw. unterbrochenen


Interrupt-Requests und der noch nicht bedienten Interrupt-Requests; die Ordnung
der aktuellen Einträge nach der Rangfolge ergibt die Bedienungsreihenfolge.
Der Zustand der Einträge (Merker) in den beiden Registern erklärt eindeutig, in
welcher Reihenfolge die wartenden Einträge bearbeitet werden müssen (Bild 8.12).

Alle Einträge ordnen sich in der angenommenen Rangfolge zu einer Warteschlange.


Der oberste Eintrag in der Warteschlange ist derjenige, dessen Interrupt-Service-
Routine im Augenblick abläuft. Er entscheidet über die Anforderungen, die eine noch
höhere Priorität haben und die aktuell ablaufende Routine unterbrechen können. -
Sobald der Eintrag am Ende des Ablaufs der Routine aus der Warteschlange
verschwindet, ist der nächste in der Rangfolge eindeutig. Das kann ein wartender
Request sein oder eine unterbrochene Interrupt-Service-Routine.

Vertiefung für Interessierte, kein Prüfungsstoff:

Die Entwicklung der PC-Technik brachte es mit sich, dass bestimmte Interrupt-Requests
IRQi für bestimmte Anwendungsfunktionen reserviert wurden (Bild 8.13).

Das Betriebssystem kann beim Hochfahren des Computersystems feststellen, welche


davon konkret benutzt werden.
Nur die nicht belegten kann und wird es den PCI-Interrupt-Requests zuordnen, die von
INTA bis INTD gebraucht werden.

Computertechnik 217 Jacob


Das Programmable-Interrupt-Controller Konzept (PIC)

Bild 8.13:
Zweckbestimmung „geerbter“ Interrupt-Requests
generic = allgemein verwendbar, also für PCI-Interrupt-Requests verwendbar
(Ende der Vertiefung)

Ein beispielhaftes Szenario zur Verdeutlichung der Warteschlangenbedienung


IRQ: Interrupt Request, IRR: Interrupt Request Register, ISR: Interrupt Service Register.
Referenz: aktuell höchst priore Anforderung.
IRQ13 entsteht und aktiviert sein Bit in IRR. Der Vergleich 15141312 1110 9 8
mit der Referenz ergibt, dass er sofort bedient werden 7 6 5 4 3 1 0
kann.

15141312 1110 9 8
7 6 5 4 3 1 0

Deshalb wird das entsprechende Bit in ISR aktiviert, in 15141312 1110 9 8


7 6 5 4 3 1 0
IRR deaktiviert. Die Service-Routine für IRQ13 wird
gestartet.

15141312 1110 9 8
7 6 5 4 3 1 0

IRQ9 entsteht und aktiviert sein Bit in IRR. Der Vergleich 15141312 1110 9 8
mit der Referenz ergibt, dass er eine höhere Priorität hat. 7 6 5 4 3 1 0
Damit hat er die Berechtigung zur Unterbrechung der
gerade ablaufenden Service-Routine für IRQ13. Das
entsprechende Bit in ISR wird aktiviert, das in IRR 15141312 1110 9 8
deaktiviert. Die Service-Routine für IRQ13 wird durch den 7 6 5 4 3 1 0
Start derjenigen für IRQ9 unterbrochen.

Computertechnik 218 Jacob


Das Programmable-Interrupt-Controller Konzept (PIC)

IRQ11 entsteht und setzt sein Bit in IRR. Der Vergleich 15141312 1110 9 8
mit der Referenz ergibt, dass seine Priorität kleiner ist. 7 6 5 4 3 1 0
Damit hat er keine Berechtigung zur Unterbrechung. Es
ergibt sich die (nach fallender Priorität geordnete)
Warteschlange: IRQ11 (nicht bedient) und IRQ13 15141312 1110 9 8
(bedient/unterbrochen). 7 6 5 4 3 1 0

IRQ4 entsteht und setzt sein Bit in IRR. Der Vergleich 15141312 1110 9 8
mit der Referenz ergibt, dass seine Priorität kleiner ist. 7 6 5 4 3 1 0
Damit hat er keine Berechtigung zur Unterbrechung. Es
ergibt sich die Warteschlange:
IRQ11, IRQ13, IRQ4. 15141312 1110 9 8
7 6 5 4 3 1 0

Die Service-Routine für IRQ9 ist fertig, d.h. das Bit von 15141312 1110 9 8
IRQ9 in ISR wird deaktiviert. Damit kommt es zur Bildung 7 6 5 4 3 1 0
einer neuen Referenz und einem neuen Vergleich mit ihr.
Das Ergebnis ist, dass IRQ11 die höchste Priorität hat.
Seine Service-Routine wird gestartet. Es ergibt sich die 15141312 1110 9 8
Warteschlange IRQ11, IRQ4. 7 6 5 4 3 1 0

Erst wenn die Service-Routine für IRQ11 ihr Bit in ISR


deaktiviert, geht es mit dem von IRQ13 weiter. Erst, wenn
dessen Routine beendet ist und sein Bit in ISR deaktiviert
wurde, wird IRQ4 bedient.
Das Verfahren wird von Intel als fully nested mode bezeichnet.

Das diskutierte Beispiel zeigt, dass nieder priore Interrupt Requests durch höher priore belie-
big verdrängt werden können. Das ergibt sich zwangsläufig aus der prioritätsabhängigen
Bedienung der Warteschlange.

Ein faireres Verfahren wäre, jedem Request zu garantieren, dass er innerhalb einer gewis-
sen Zykluszeit zur Bedienung käme wie z.B. beim PCI-Arbiter. Auch eine solche Betriebsart
ist im PIC-Konzept vorgesehen, soll hier aber nicht diskutiert werden.

Der prozessorinterne Kontextwechsel bei der Bedienung von Interrupts

Immer dann, wenn man den Ablauf eines Programms unterbricht (d.h. einen gerade
ablaufenden Prozess unterbricht), dann muss die Ablaufsteuerung dafür sorgen,
dass der Ablaufzustand nicht verloren geht. Wie soll man sonst korrekt fortsetzen?

Auf der Register-Transfer-Ebene wird der Programmzustand durch den Zustand der
Prozessor-Register definiert.

Der Registersatz des Pentium4 soll als Beispiel dienen. In jedem Fall ist die Rettung
des Instruction Pointers notwendig. - Die Rettung der anderen Register kann man
davon abhängig machen, ob sie bei Ablauf der Interrupt-Service-Routine verändert
werden.

Deshalb sorgt die Ablaufsteuerung dafür, dass der Instruction-Pointer bei einem
Interrupt automatisch gerettet wird. Die anderen Register muss man bei Bedarf mit
Befehlen retten.

Computertechnik 219 Jacob


Das Programmable-Interrupt-Controller Konzept (PIC)

EAX, EBX, ECX und EDX sowie ESI und EDI können als EAX
Arbeitsregister für Operanden oder als Indexregister für Zeiger
(Pointer auf Variable) verwendet werden. EBX
ECX
Das Stackpointer-Register wird ergänzt durch das spezielle
EDX
Basepointer-Register, das der Rettung des Stackpointer-Zustandes
unmittelbar nach einem Programm-Kontext-Wechsel dient.
ESI

Das Instruction-Pointer-Register enthält das wichtigste Merkmal EDI


des Programmablaufzustandes.
Stackpointer
Das Prozessor Status Wort ist genau so wichtig wie die Register, Basepointer
die Verarbeitungsergebnisse aufnehmen; denn es enthält
Zustandsbits der Verarbeitung. Instructionpointer

Processor Status Word

Für die Rettung wird ein Speicher mit einer besonderen Zugriffstechnik verwendet,
der Stack. Anfangszustand des Stackpointer
= Basisadresse + Länge des Stack
Der Stack wird durch Reservierung einer
bestimmten Anzahl von Speicherzellen
(Stacklänge) im Hauptspeicher realisiert.
Man kann den Stack so konzipieren, dass
er ausgehend vom kleinsten möglichen
Adresswert gefüllt wird.

Der andere Ansatz, von dem höchsten


Adresswert auszugehen und den Stack in
Richtung kleiner werdender Adresswerte
zu füllen, ist genau so brauchbar. (Intel-
Prozessoren für PCs)

Basisadresse

automatisches
Zu Beginn der Benutzung des Stacks Return
Retten Instruction Pointer
zeigt der Stackpointer auf den obersten Push PSW Pop PSW
Rand des Stack. PSW
Push AX Pop AX
Der Stackpointer wird dekrementiert AX
Push BX Pop BX
und das erste Wort gespeichert. BX
Die nächsten Wörter werden auf die Push CX Pop CX
CX
gleiche Art gespeichert.
Wenn man den Prozessorzustand
wieder herstellen will, muss man in der
umgekehrten Reihenfolge lesen (Last
In-First Out). Der Stackpointer wird
nach jedem Lesevorgang durch
Inkrementierung aktualisiert.
Die Interrupt-Service-Routine wird mit
dem Return-Befehl verlassen, und das
unterbrochene Programm wird fortge-
setzt.

Computertechnik 220 Jacob


Das Advanced Programmable Interrupt Controller-Konzept

Vertiefung für Interessierte, kein Prüfungsstoff:

8.5 Das Advanced Programmable Interrupt Controller-Konzept

Die bitserielle Übertragung von Interrupt-Merkmalen

Das herkömmliche Konzept hat ein besonderes Merkmal: der einzige Interrupt-Controller
und der einzige Prozessor ergeben eine feststehende Punkt-zu-Punkt-Übertragung des
Sammel-Interrupt-Request bzw. des Interrupt-Vektors in der Acknowledge-Phase.

Dieses Konzept ist für Mehrprozessor-Systeme ungeeignet. Dort können Interrupt


Requests auch von den Prozessoren ausgehen. Jeder Prozessor sollte also über eine
Interrupt-Controller-Funktion verfügen, die sowohl die Prozessor- als auch die I/O-Interrupts
verarbeitet. Die Einheit für diese Funktion soll als lokaler Interrupt-Controller bezeichnet
werden.
Um die Interrupt-Requests geeignet zu übertragen, braucht man ein geeignetes Übertra-
gungssystem (Bild 8.14).

Bild 8.14: APIC-Signalführung (Schnittstellen zu zwei Prozessoren und einem IOAPIC)


PICD[0] und PICD[1] sind die Signale zur seriellen Datenübertragung von Interruptmerk-
malen zwischen beliebigen Bus-Agenten und PICCLK dient der Taktung der Übertragung.

LINT0 und LINT1 (local apic interrupt) sind zusätzliche lokale binäre Interrupteingänge. Der
Prozessor kann den APIC-Modus ignorieren. Wenn er so eingestellt ist, hat LINT0 die
Bedeutung von INTR (Sammel-Interrupt-Request wie oben eingeführt) und LINT1 von NMI
(nonmaskable interrupt).

Im APIC-Modus werden diese beiden lokalen Interrupts und die über den APIC-Bus über den
lokalen Interrupt-Controller kommenden Interrupts zu den lokalen Eingriffen in die
Programmsteuerung verarbeitet.

Arbitrierung bei einem bitseriellen Bus

Zum ersten Mal erscheint hier ein Beispiel, dass mehrere Busteilnehmer sich über die
Benutzung eines bitseriellen Bus einigen müssen. Die Einigung muss die serielle Arbeits-
weise mit einbeziehen.

Die Meldungen heißen hier Messages. Einige Beispiele für das Message-Format:

EOI-message: Rückmeldung zu einem I/O-APIC, dass ein Interrupt Request vom Ziel-
Prozessor akzeptiert wurde (14 Bitzyklen).
Short message: Meldung eines Interrupt Requests (21 Bitzyklen).
Remote read message: Ein lokaler APIC interessiert sich für den Inhalt eines Registers in
einem anderen lokalen APIC (39 Bitzyklen).

Computertechnik 221 Jacob


Das Advanced Programmable Interrupt Controller-Konzept

Alle APICs arbeiten synchron, d.h. jeder erkennt zum gleichen Zeitpunkt den Beginn einer
Meldung. Alle müssen danach die Synchronität bewahren, um das Ende der aktuellen
Meldung und damit den Beginn der nächsten zu erkennen. Es gibt keine Übertragungs-
pausen.

Der „Trick“ bei der Bestimmung des höchstprioren Busagenten liegt in der Behandlung der
ersten Bits (genauer Bit 2 bis Bit 5). Während dieser Bitzyklen senden alle Agenten, die den
Bus benutzen wollen, ein Binärmuster, das ihre aktuelle Priorität als Dualzahl angibt. Jeder
Teilnehmer hat eine eindeutige Prioritätszahl, d.h. er teilt sie mit keinem anderen.

Angenommen, die Agenten sind in Sinne eines wired-OR verbunden. Wenn auch nur einer
einen High-Pegel (1 in der Zahl) erzeugt, setzt sich der High-Pegel durch. Alle, die ein Low
(0 in der Zahl) zu erzeugen versuchen, ziehen sich dann (und nur dann) zurück.

Wenn man dieses Verfahren für alle Bits anwendet, bleibt ein einziger Agent übrig. Haben
die gesendeten Bits fortlaufend eine kleinere Stellenwertigkeit, so setzt sich derjenige durch,
der den größten Dualzahlenwert hat, weil fortlaufend die 1en bevorzugt werden.

Im Bild 8.15 wird ein Ablauf-Beispiel gegeben. Es gibt drei Busagenten: den lokalen APIC1
(Priorität 1) und den lokalen APIC2 (Priorität 2) sowie den IOAPIC (Priorität 3). Es ergibt sich,
dass durch das Rückzugsverfahren der IOAPIC übrig bleibt, weil er die höchste Priorität hat.

Wenn er bedient wurde, werden die Prioritäten neu vergeben. Der gerade bediente erhält die
kleinste Prioritätszahl, die Prioritätszahlen der anderen werden um 1 erhöht. Damit „rotiert“
auch hier die Priorität im Sinne einer „gleichmäßigen“ Bedienung.

Selbst wenn keine Anforderungen anliegen, müssen die jeweils höchstprioren doch für die
Sendung einer Meldung sorgen, damit der Zyklus der Arbitrierung immer wieder angeboten
wird.

APIC-Clock 1 2 3 4 5

Local Rückzug
APIC 1 0 0 0 0 1

Local Rückzug
APIC 2 0 0 0 1 0

IOAPIC 0 0 0 1 1
Kein Kein Kein
Rückzug Rückzug Rückzug
Bild 8.15: Arbitrierungsverfahren zwischen drei APIC-Busagenten mit Hilfe eines wiredOR
(Ende der Vertiefung)

Computertechnik 222 Jacob


Peripherie-Einheiten mit geringen Datenraten und gerätespezifischen Schnittstellen

9 Der gerätespezifische Datenverkehr von/zu den


Peripherie-Einheiten
Jetzt soll genauer untersucht werden, welche Merkmale die Schnittstellen zu den
peripheren Einheiten haben. Für PC-Anwender sind diese Schnittstellen an
entsprechenden Steckern erkennbar, die sich gemäß den gerätespezifischen
Schnittstellen-Standards entwickelt haben.

Gemäß den typischen Datenübertragungsgeschwindigkeiten über diese Stecker


kann man die Peripheriegeräte in zwei Gruppen einteilen:
• Die Geräte, bei denen die Übertragungsgeschwindigkeit ein wichtiges Merkmal
für die Gesamtleistung des Computersystems ist, z.B. Disks, Graphiksysteme.
• Die Geräte, deren Übertragungsgeschwindigkeit von mechanischen Vorgängen
abhängt, z.B. Drucker, Tastaturen, Mäuse, Scanner.
Hier sollen zuerst die ererbten gerätespezifischen Schnittstellen zu Geräten mit
geringer Datenrate besprochen werden.

Solche Geräte schließt man heute über eine universelle Schnittstelle mit bitserieller
Busstruktur an. Die gerätespezifischen Schnittstellen entfallen. Die Ordnung bei der
gemeinsamen Nutzung des Bussystems wird durch ein entsprechendes Über-
tragungsprotokoll hergestellt (universal serial bus = USB). Dieses heute übliche
Anschlusskonzept für Peripheriegeräte wird danach erklärt.
Dann geht es um Geräte mit großer effektiver Datenrate. Als Beispiel werden die
Funktionen von Festplatten-Laufwerken und Controllern erläutert.

9.1 Peripherie-Einheiten mit geringen Datenraten und geräte-


spezifischen Schnittstellen
Oder: Das Erbe der vorausgegangenen PC-Generationen (legacy equipment)

9.1.1 Ein- und Ausgaben über die bitparallele Standardschnittstelle (LPT)


Ein typisches Gerät, das eine bitparallele Schnittstelle nahe legt, ist der Drucker.

Den Standard für die Druckerschnittstelle hat ein Druckerhersteller bestimmt:


Centronics. Das Kürzel für die Schnittstelle ist LPT.

Das Signalbelegungsschema und das Registerschema der Schnittstelle sind im


Bild 9.1 erkennbar.

Aus der Sicht der Software stellt sich die Schnittstelle als eine Gruppe von drei 8Bit-
Registern dar, die im I/O-Adressraum drei Adressen belegen.

Die Funktion der Register und die Bedeutung der einzelnen Signale ergeben sich
aus den sinnfälligen Bezeichnungen und dem Signal-Zeit-Diagramm. Man erkennt
ein Handshakeverfahren auf der Basis von Pulsen (der Mindestlänge 1 µsec).

Die Schaltung zur Realisierung einer LPT-Schnittstelle wird im I/O-Hub des Chip-
satzes realisiert.

Computertechnik 223 Jacob


Peripherie-Einheiten mit geringen Datenraten und gerätespezifischen Schnittstellen

I/O-Adressen:
Basisadresse 1 19
+0 D0
0 D1
1 D2
2 D3 Datenwort
3 D4
4 Übernahme-Moment
D5
5 D6
6 D7 ACK#
Handshake mit Pulsen
7 ACK#
Basisadressse. BUSY
+1 Paper End BUSY
Verzögerung,
0
z.B. wenn die Ausführung
1 eines carriage return
2 abzuwarten ist.
3 Error#
4
5
18 36
6
7
Basisadresse STROBE#
+2 STROBE#
0 Automatic Line Feed
1 INIT# Initialization
2
Drucker Select
3 Interrupt
4 Request
5
6
7

Bild 9.1: Register- und Signalschema der LPT-Schnittstelle

9.1.2 Ein- und Ausgaben über die bitserielle Standardschnittstelle (COM)


Die COM-Schnittstelle ist die konventionelle Standardschnittstelle für Geräte, die
bitseriell senden und empfangen.

Die Schaltungen zur Steuerung des bitseriellen Datenverkehrs werden im I/O-Hub


realsiert. Sie entsprechen den sog. USARTs (universal serial asynchronous
receiver/transmitter).

Die seriell empfangenen Datenwörter in bitparallele und umgekehrt die zu


sendenden Datenwörter in serielle umgewandelt. Zusätzlich gibt es eine Schaltung
zur Steuerung des Datenverkehrs mit einem Modem. Dabei gilt der Standard RS232
(Bild 9.2).

Für den reinen bitseriellen Datenstrom braucht man nur drei Signale.

Aus der Sicht der Software stellt sich jede COM-Schnittstelle als eine Gruppe von 9
8Bit-Registern dar, die im I/O-Adressraum 9 Adressen belegen.

Als Stecker-Schnittstelle gibt es den ursprünglichen 25poligen Stecker und den


vereinfachten 9poligen Stecker, der sich für PCs durchsetzte.

Computertechnik 224 Jacob


Peripherie-Einheiten mit geringen Datenraten und gerätespezifischen Schnittstellen

I/O-Adressen:
Basisadresse
+0
Empfänger-Puffer- Empfänger-Schiebe- Received Data
Register register
DCE > DTE
+3 Datenformat- Empfänger-
Register Steuerung

13
+0 Divisor Teiler-Latch- 25
Latch Register (LSB)
Access Baudraten-
+1 Bit Teiler-Latch- Generator
=1 Register (MSB) Signal
+4
Ground
Modem-Steuer- 5
Register 9
Modem- Modem-
+6 Steuerung Signale
Modem-Status-
Register 6
1

+1 Interrupt-Aktiv- 14
1
Register Interrupt-
+2 Steuerung
Interrupt-ID- Stifte am
Register PC = DTE
Interrupt Der PC ist üblicherweise
Request das Data T erminal Equipment,
Scratchpad-
Register das angeschlossene Gerät ist
das Data Carrier Equipment.

+5 Serialisierungsstatus-
Sendersteuerung
Register

+0 Sender-Puffer- Sender-Schiebe- Transmitted Data


Register register
DTE > DCE
Bild 9.2: Register- und Signalschema eines beispielhaften USART
Man stellt über Command-Wörter in den Steuerregistern die Betriebsart ein bzw. liest
die Statuswörter in den Statusregistern, die Fertig- oder Fehlermeldungen sind.
Die Unterscheidung von Data Terminal Equipment (Datenendeinrichtung) und Data
Carrier Equipment (Datenübertragungseinrichtung) ist daraus entstanden, dass der
Standard ursprünglich den Anschluss von digitalen Geräten an das Telefonnetz
festlegte.
Das MODEM stellt das „front-end“ des Netzes dar, also der Übertragungseinrichtung.
Deshalb behandelt man den Computer als Datenendeinrichtung.
Bei der Übertragung werden Pegel zwischen -3V bis -13V für die logische 1 und ein
Pegel zwischen +3V und +13V für die logische 0 verwendet. Die Pegelanpassung ist
die Aufgabe der Leitungsempfänger bzw. Leitungstreiber (Bild 9.3).
Takt startet mit dem ersten
minus/plus-Übergang nach
der Pause.

plus
Start
signal bit 0 0 0 1 0 1 0 0
ground Stop
beliebig lange Pause
minus
bit bis zum nächsten
minus/plus-Übergang
ASCII Code Parity
bit
Bild 9.3: Asynchrone serielle Übertragung eines Beispiel-Wortes gemäß RS232

Computertechnik 225 Jacob


Das Konzept des Universal Serial Bus

Häufig verwendet man die COM-Schnittstelle zur Kopplung von zwei PCs. Dann gelten
beide zunächst als Datenendeinrichtungen. Da die Sendedaten des einen PCs als
Empfangsdaten am anderen PC ankommen müssen und umgekehrt, muss man die
entsprechenden Verbindungen „kreuzen“.

9.2 Das Konzept des Universal Serial Bus

9.2.1 Motivation und Topologie des USB

Der Nachteil der gerätespezifischen Schnittstellen ist, dass die entsprechenden


Sockel alle an der Zentraleinheit des PC-Systems fertig montiert sein müssen, damit
man den Stecker des entsprechenden Peripheriegerätes ohne Montageaufwand
sofort stecken kann (Bild 9.4).

Bild 9.4: Sockel-Schema für Standard-Ein/Ausgabe-Geräte


23: Mouse (PS/2), 24: RJ-45, 25: LPT, 26: Midi, 27-29: Audio, 30: COM (2mal), 31: USB,
32: Keyboard (PS/2)
Wenn man eine einheitliche Schnittstelle für alle Geräte hat, die diese geschickt
kaskadierbar macht, kann man die Anzahl der Sockel an der Zentraleinheit im
Extremfall auf einen einzigen reduzieren.
Der Standard einer solchen Schnittstelle ist seit 1994 unter der Bezeichnung
Universal Serial Bus verfügbar. In Bild 9.4 ist der entsprechende Sockel unter 31
erkennbar.
Die wichtigen Versionen des Standards sind USB 1.1 (1997, 1.5 MBit/sec = Low
Speed oder 12 MBit/sec = Full Speed) und USB 2.0 (2001, 480 MBit/sec= High
Speed).
Die Verbindungsstruktur der USB-Geräte ist eine Baumstruktur, deren Wurzel (Root)
im Host-Computer liegt (Bild 9.5).

Ho st Computer

Hu b Ra ng 0

Hu b Mo dem Hu b Ra ng 1

Hu b Lautsprecher Drucke r Ra ng 2

Keyboard Mo use

Bild 9.5: Schema einer beispielhaften USB-Verbindungsstruktur


Computertechnik 226 Jacob
Das Konzept des Universal Serial Bus

Die Verteileinheiten für die Datenströme zwischen dem (Host-) Computer und den
peripheren Geräten sind sternförmig mit Geräten oder anderen Verteileinheiten
verbunden. Sie werden Hubs genannt – wie die entsprechenden Verteileinheiten in
Computernetzen mit twisted-pair-Verkabelung.

Hubs können eigenständige Geräte sein. Sie können aber auch in den (Host-)
Computer bzw. in Standard-Peripheriegeräte integriert sein (Bild 9.6).

Ho st Computer

Root Hub

Internal Hub Mo dem Hu b

Mo nitor
Internal Hub Lautsprecher Drucke r

Keyboard Mo use

Bild 9.6: Beispiel einer USB-Konfiguration mit Root- und internen Hubs
Da man bei der Belegung der Hub-Anschlüsse frei ist, könnte man - ohne Beeinträchtigung
der Gesamtfunktion - auch eine andere Belegung wählen.
Im Folgenden werden beispielhaft die Merkmale des USB 1.1 (Full Speed) erklärt.

9.2.2 Die physikalische Ebene des USB

Kabel und Stecker


Zunächst sollen die Eigenschaften der elektrischen Leitungen und ihre Stecker
erklärt werden.

Bild 9.7: Schnitt durch ein USB-Kabel:


Datenleitungen: D+, D- ; Stromversorgung: V+ = + 5 Volt, Ground
Die beiden Datenleitungen sind verdrillt. Die beiden Stromversorgungsadern nicht.
Auf den Datenleitungen wird das nicht-invertierte Signal D+ und das dazu invertierte
Signal D- übertragen.
Die Kabellänge ist maximal 5 m.
Maximal 7 Kabelstrecken können mit Hilfe von Verteilereinheiten (Hubs) hinterein-
ander geschaltet werden. Das ergibt einen Erfassungsbereich von 35 m.
Computertechnik 227 Jacob
Das Konzept des Universal Serial Bus

Jedes Kabel ist durch ungleiche Endstecker abgeschlossen.

Bild 9.8: Endstecker eines USB-Kabels


Typ A: Stecker zum Computer hin (upstream end)
Typ B: Stecker zu den Geräten hin (downstream end)
Die Kaskadierung der eingespeisten Spannungen erfolgt immer nur in einer
Richtung: vom Computer hin zu den Geräten (downstream). Von der Wurzel im
Computer ausgehend, verzweigen sich die Versorgungspfade bis zu den Geräten.
Angenommen, die Stecker an den Enden der Verbindungskabel sind gleich. Dann ist
nicht mit Sicherheit auszuschließen, dass man zwei spannung-treibende Anschlüsse
bzw. zwei spannung-empfangende Anschlüsse zusammen schaltet (Bild 9.9).

Ho st Computer

Root Hub

Internal Hub Mo dem Hu b

Mo nitor
Internal Hub Lautsprecher Drucke r

Keyboard Mo use

Bild 9.9: Beispiel für eine fehlerhafte Verschaltung bei gleichen Steckern
Pfeile in Richtung der Spannungsversorgung
Dadurch, dass die Stecker unterschiedlich sind und eine eindeutige Zuordnung
haben, sind Verschaltungsfehler der Spannungsversorgung ausgeschlossen.

Autonome Hubs

Bild 9.10 zeigt ein Hub-Beispiel.

Bild 9.10: Beispiel für einen USB - 4 Port - Hub mit eigener Stromversorgung
4 Sockel für 4 Typ A-Stecker und 1 Sockel für 1 Typ B-Stecker

Computertechnik 228 Jacob


Das Konzept des Universal Serial Bus

Erkennung von Konfigurationsmerkmalen


Um zu erkennen, ob downstream eine Einheit angeschlossen ist, gibt es eine
besondere Beschaltung an der upstream- und der downstream-Seite (Bild 9.11).
+3,3 V

1,5K +/- 5%

D+ D+
Host Gerät
oder Typ A Typ B oder
Hub Hub
D- D-

15K +/- 5% 15K +/- 5%

Bild 9.11: Beschaltung der up- und downstream-Seite zur Erkennung einer
angeschlossenen Einheit
Annahme: Ruhezustand, d.h. keine Sendung.
Annahme außerdem: die downstream-Einheit (rechts) ist nicht vorhanden.
Dann liegen an D+ und D- in der upstream-Einheit (links) 0 V an.

Alternative Annahme außerdem: die downstream-Einheit (rechts!) ist angeschlossen.


Dann liegt an D+ eine Spannung nahe an 3,3 V und an D- weiterhin 0 V. Die
upstream-Einheit kann an den eindeutigen Fällen unterscheiden, ob eine Einheit
angeschlossen ist oder nicht.

Man hat in der downstream-Einheit einen weiteren Freiheitsgrad: man könnte den
Widerstand alternativ an D- schalten, was die upstream-Einheit dadurch bemerkt,
dass D+ gleich 0 V und D- etwa gleich 3,3 V ist. Tatsächlich wird diese alternative
Schaltungsmöglichkeit auch genutzt: der Widerstand an D+ meldet ein Full-Speed-
Gerät, der Widerstand an D- meldet ein Low-Speed-Gerät beim USB 1.1.

Dieses Erkennen und das eigentliche Senden und Empfangen der Daten erfolgt in
einer Interface-Schaltung, die USB-Tranceiver genannt wird (Bild 9.12).

Computertechnik 229 Jacob


Das Konzept des Universal Serial Bus

USB-Transceiver

Bild 9.12: Transceiver für das serielle Senden und Empfangen von Datenbits des
USB 1.1, Full Speed
Die unteren beiden Empfänger dienen der Erkennung der Pegel, die Leerlauf- und Belas-
tungsfall unterscheiden. Oben erkennt man den Treiber mit dem nicht invertierten Ausgang
D+ und dem invertierten Ausgang D- und den Empfänger.
Angegebene Grenzwerte gemäß http://www.fairchildsemi.com/ds/US/USB1T11A.pdf
Unterer Grenzwert für den Sende-High-Pegel VoH: 2,4 Volt
Oberer Grenzwert für den Sende-Low-Pegel VoL: 0,4 Volt

Man erkennt das sog. Auge im Oszillogramm.

Ein Oszilloskop startet regelmäßig den anzeigenden Strahl in Abhängigkeit von sog.
Triggerereignissen. Das sind hier die Signalübergänge. Im Moment eines Signalübergangs
kann entweder ein Übergang von VoL nach VoH oder ein Übergang von VoH nach VoL
ablaufen. Wenn sich die Übergänge schnell wiederholen, wird also schnell nacheinander mal
der eine, mal der andere - von Beginn an - auf den Bildschirm gezeichnet.

Der Strahl bewegt sich mit einer einstellbaren Zeit vom Startpunkt zum Endpunkt am rechten
Rand des Bildes. Er zeichnet vom Startzeitpunkt bis zum Endzeitpunkt den gemessenen
Signalverlauf auf den Schirm. Wenn diese Zeit größer ist als die Mindestdauer zwischen
zwei Übergängen, sieht man den nächsten Übergang noch im Bild.

Die Nachleuchtdauer und der schnell wiederholte Start durch den Trigger erzeugen ein
stehendes Bild, in dem das wiederholte Aufzeichnen von beliebigen zwei aufeinander
folgenden Übergängen ein „Auge“ bilden.

Je weiter dieses Auge geöffnet ist, umso weniger „verzerrt“ ist die Übertragung, d.h. umso
weniger Übertragungsfehler treten auf.
Die Transceiver sind für die Genauigkeit der gesendeten Signale verantwortlich.
Beim Empfang müssen sie sich in gegebenen Toleranz-Grenzen so verhalten, dass
sie „Pegel-Verzerrungen“ bei der Übertragung korrekt überwinden können. Dabei hat
sich bewährt, die Differenz D+ minus D- als Grundlage der Bewertung der empfan-
genen Signale zu nehmen. Dabei gilt:
D+ minus D- größer 200 mV = differentiell „1“,
D+ minus D- kleiner 200 mV = differentiell „0“.

Je größer das Auge der Übertragung ist, umso weiter liegen die tatsächlichen Werte
für die differentielle 1 bzw. 0 auseinander, umso sicherer ist ihre Unterscheidbarkeit.

Je höher die Taktrate bei der Übertragung ist, mit umso größeren Verzerrungen der
übertragenen Signale muss man rechnen. Der USB-Standard legt deshalb - wie
Computertechnik 230 Jacob
Das Konzept des Universal Serial Bus

andere Standards für Datenübertragungsprotokolle auch - die Taktrate und die


übertragungstechnischen Bedingungen fest, mit denen dabei eine effektive
Übertragung möglich ist.

Für die Version USB 1.1 gibt es zwei Alternativen für die Taktrate und damit für den
Mindestabstand zwischen zwei Pegelübergängen:
Low-Speed: 1, 5 Mbit/sec ergibt 666 nsec;
Full-Speed: 12 MBit/sec ergibt 83 nsec.
Das Auge in Bild 9.12 bildet einen Zeitrahmen von 83 nsec ab. Man erkennt den Anteil der
Übergangszeiten. Im Datenblatt werden maximal 20 nsec angegeben, d.h. ¼ von 83 nsec.
Man erkennt, dass die gemessene Übergangszeit noch kürzer ist.

Elektrische Codierung

Die elektrische Codierung erfolgt nach dem NRZI-Konzept (non-return-to-zero-


inverted), das mit dem Beispiel in Bild 9.13 verdeutlicht wird.

Bitstrom

NRZI-Signal

Bild 9.13: NRZI-Codierung eines beispielhaften Bitstroms


Die NRZI-Codierung ändert beim Senden einer 1 den vom vorhergehenden
Bitfenster übernommenen Signalpegel nicht, beim Senden einer 0 wird er geändert.
Damit entsteht der kürzeste Abstand zwischen zwei Signalpegel-Wechseln beim
Senden einer 0-Folge.
Es entsteht aber das Problem, dass es beim Senden längerer 1-Folgen keine
Signalwechsel gibt.
Deshalb „stopft“ man bei längeren 1-Folgen 0-Bits hinzu (bit stuffing), die einen
Pegelwechsel erzwingen.

Bitstrom

Stuffed 0-Bit

NRZI

Bild 9.14: Bit-Stuffing


Nach jedem 6ten 1-Bit einer 1-Folge wird eine Pseudo-Null eingefügt. Dadurch
verzögert sich jedes Mal das Senden der nächsten Bits um einen Takt. Im
Empfänger kann man jedes eingeschobene 0-Bit wieder entfernen, weil man durch
Mitzählen der 1-Bits den Übergang für die eingeschobene Pseudo-Null erkennt.

Computertechnik 231 Jacob


Das Konzept des Universal Serial Bus

9.2.3 Die logischen Ebenen des USB

Aufteilung der Bandbreite

Der USB ist ein getaktetes Übertragungssystem. Wie bei jedem getakteten Über-
tragungssystem ist die Rate der Bits pro sec ein maßgebliches Leistungsmerkmal.
Da Taktzeit und Bitübertragungszeit zusammenfallen, sind Taktrate und Bitrate
gleich. Die Bitrate legt für jedes beliebige Zeitintervall fest, wie viele Bits darin
maximal übertragen werden können.

Die geordnete Übertragung von Daten in einem Übertragungssystem erzwingt, dass


man neben den Daten, die man eigentlich übertragen will (Nutzdaten), auch
zusätzliche Daten übertragen muss, die der Einhaltung der Ordnung bei der
Übertragung dienen (Kontrolldaten). Würden nur Nutzdaten übertragen, hätte man
die beste Ausnutzung der vorhandenen Übertragungskapazität, die man auch
Bandbreite nennt und die gleich der Bitrate ist.

Tatsächlich ist das wegen der Übertragung der Kontrolldaten aber nicht möglich. Man
kann die Effektivität der Ordnungsprinzipien (Übertragungsprotokoll) aber daran
messen, wie nahe man an die Bandbreite kommt.

Einige Peripherie-Geräte übertragen einzelne Datenwörter in einem zur Taktzeit


großen zeitlichen Abstand. Diese Geräte erzeugen einen beschränkt zeitkritischen
Einzeldatenverkehr. Es gibt aber auch online betriebene Geräte mit Audio- und/und
Videodaten, die einen zeitkritischen Blockdatenverkehr erzeugen. Dann gibt es
noch Geräte, die Daten in Zwischenspeichern puffern können und solange ihre
Aktionen anhalten können, wie keine Übertragung möglich ist. Das sind Geräte mit
zeitunkritischem Blockdatenverkehr (Bild 9.15).

Bild 9.15: Beispiel für eine USB-Konfiguration:


Video und Telefon: zeitkritischer Blockdatenverkehr; Keyboard und Mouse: beschränkt
zeitkritischer Einzeldatenverkehr; Printer und Plotter und Scanner: zeitunkritischer
Blockdatenverkehr.

Computertechnik 232 Jacob


Das Konzept des Universal Serial Bus

Die Bandbreite des USB-Übertragungssystems wird geeignet auf den zeitkritischen


und zeitunkritischen Datenverkehr aufgeteilt.

Audio- bzw. Videoübertragung sind deshalb zeitkritisch, weil sie mit der realen Zeit
Schritt halten müssen (Merkmal eines online-Betriebes). Also muss auch die
Übertragung zwischen dem Host-Computer und den Geräten synchron zur realen
Zeit ablaufen. Das kann das Übertragungssystem nur dann leisten, wenn es
periodische Bedienintervalle gibt. In diesen Bedienperioden muss die Bedienung der
zeitkritischen Übertragungen den Vorrang vor den zeitunkritischen Bedienungen
haben (Bild 9.16).
Bedienperiode i-1 Bedienperiode i Bedienperiode i+1

Zeit
frame i-1 frame i frame i+1

Bedienung des Bedienung des


zeitkri tischen Bedarfs zeitunkritisch en Beda rfs
isochronous
transfer

ereign is gesteuerter Datenv erkehr z ur Steue- zeitunkritis cher Block-


Einze ldatenverkehr rung des USB- Systems datenverkehr
interrupt transfer contro l transfer bulk transfer

Bild 9.16: Aufteilung der Bandbreite durch zyklische Bedienintervalle


Die gleich langen Bedienperioden heißen hier Frames.

Nach dem Beginn eines Frames werden zuerst die Geräte mit zeitkritischem Bedarf
bedient (isochronous transfer).

Die Bedienung des zeitunkritischen Bedarfs gliedert sich nach


• ereignisgesteuertem Einzeldatenverkehr (z.B. Keyboard und Mouse): interrupt
transfer; die Bezeichnung greift das Merkmal herkömmlichen Konzeptes auf,
das diesen Datenverkehr interrupt-request-getrieben abwickelte; das darf nicht
zu der Annahme verleiten, dass dies hier genauso ist; die Geräte melden hier
ihren Bedarf nicht mit Interrupts an und werden dann durch Interrupt-Service-
Routinen bedient; hier fragt der zentrale Controller des USB die einzelnen
Geräte ab (polling), um Ein- bzw. Ausgaben zu regeln;
• Datenverkehr zur Steuerung des USB-Bussystems: control transfer;
• zeitunkritischer Blockdatenverkehr für alle Geräte, die ihre Aktionen anhalten
können, wenn keine Datenübertragung möglich ist (z.B. Drucker, Plotter,
Scanner): bulk transfer.

Computertechnik 233 Jacob


Das Konzept des Universal Serial Bus

Eine Ergänzung zur Begriffsbildung der Übertragungstechnik

Aus einem prinzipielleren Blickwinkel stellt man fest, dass sich mehrere Geräte in die
Nutzung des Übertragungssystems teilen. Das erzwingt eine ordentliche Reihenfolge
der Nutzung, was sich auf der Zeitachse darin zeigt, dass das Übertragungsmedium
einem Sender-Empfänger-Paar mit Übertragungswunsch nur für einen abgegrenzten
Zeitrahmen zur Verfügung steht. Man nennt diese Möglichkeit zur Übertragung auch
Übertragungskanal (oder einfach Kanal) auf der Basis eines Zeit-Multiplex-
Verfahrens.

Die Sender-Empfänger-Paare mit Geräten mit zeitkritischem Übertragungsbedarf


erhalten einen zeitlich gesicherten Zugriff, d.h. sie können zu genau definierten Zeiten
mit Nutzungsintervallen rechnen. Man nennt das auch fest zugeordnete Kanäle.

Die Sender-Empfänger-Paare mit Geräten mit zeitunkritischem Übertragungsbedarf


werden nicht so komfortabel bedient. Die Kontrollinstanz des Übertragungssystems
bewilligt ihre Übertragungswünsche im Rahmen eines geeigneten Bewilligungs-
verfahrens, das die einzelnen Anfragen nach einer vorgegebenen Reihenfolge bedient
und Verzögerungen der Bedienung zeitunkritischer Sender-Empfänger-Paare zulässt.

In der Übertragungstechnik spricht man von synchroner Übertragung, wenn über


längere Zeit ein taktsynchroner Gleichlauf zwischen Sender und Empfänger vorliegt.
Es ist die technisch schnellste Übertragungsmethode, die immer dann angewendet
wird, wenn sehr schnell sehr viele Daten zu übertragen sind. Zu Beginn der
Übertragung müssen sich Sender und Empfänger in der Regel synchronisieren. Um
diese Verlustzeit gegenüber der eigentlichen Nutzzeit klein zu halten, wechselt man die
Sender-Empfänger-Paar möglichst wenig.

Man spricht von asynchroner Übertragung, wenn das Sender-Empfänger-Paar schon


nach kurzen Übertragungszeiten wechseln kann. Bei einem unveränderlichen Sender-
Empfänger-Paar spricht man von asynchroner Übertragung, wenn kurze
Übertragungen zu willkürlichen Zeitpunkten entstehen, zwischen denen beliebig lange
Pausen liegen können. Der Sender muss dem Empfänger dann zu Beginn ein
Startmerkmal senden, damit der Empfänger die logische Synchronisation einstellen
kann, und am Ende ein Endemerkmal, damit der Empfänger sich auf die mögliche
folgende Pause einstellen kann.

Der Teil jedes Frames, der auf die Bedienung der bevorzugten Sender-Empfänger-
Paare folgt, wird im Sinne einer asynchronen Übertragung genutzt.
Die zyklisch wiederholbare Bedienung im ersten Teil erzeugt keine echte synchrone
Übertragung über eine längere Zeit, aber eine in garantierten Zeitschlitzen (time slots).
Das wird hier isochrone Übertragung genannt.

Pakete als elementare Einheiten der Übertragung

Die Einteilung in Frames ist das grundlegendste Merkmal der Übertragung auf dem
USB. Man erkennt diese Einteilung, wenn man den Bitstrom im Leerlauf misst, d.h.,
wenn es keine Sender-Empfänger-Paare gibt, die aktiv Daten übertragen (Bild 9.17).

Die elementaren Übertragungseinheiten auf dem Bus haben eine einheitliche


Struktur, die man hier Pakete (packets) nennt.

Man erkennt folgende grundsätzlichen Elemente eines Paketes:


Computertechnik 234 Jacob
Das Konzept des Universal Serial Bus

• Synchronisierbits vorneweg: hier erzeugen die sieben 0-Bits sieben zyklische


Flankenwechsel, mit denen sich der Empfänger auf den Sendetakt des
Senders einstellen kann.
• ein Feld zur Kennzeichnung der Funktion des Pakets (packet identifier): das
Start-Paket eines Frames hat das angegebene Bitmuster; andere Pakettypen
haben ein anderes Muster;
• ein Feld zur Ergänzung der Paketfunktion; hier sind es 11 Bit zur Angabe der
Frame-Nummer, die nur das Start-Paket eines Frames enthält;
• Bits zur Sicherung der Übertragung der Paket-Bits (ohne die Synch-Bits)
gemäß einer vorgegebenen zyklischen Codierung;
• 3 Bit zur Kennzeichnung des Paket-Endes: dieses Ende wird mit Hilfe einer
Ausnahme von der normalen elektrischen Codierung angegeben; zuerst
sendet der Sender für zwei Takte auf D+ und D- einen Low-Zustand; danach
wird der Sender an D+/D- hochohmig, d.h. die Signalpegel an D+ und D-
stellen sich so ein, wie die Beschaltung an der upstream- und der
downstream-Seite der Kabel erzwingt; das ist der Idle-Zustand, der für
mindestens eine Taktzeit gilt.

Zeit

frame i-1 frame i frame i+1

A 5 i 1 D
00000001 12000-35 = 11965 Idle-Takte
Hexa dual Hexa “0”

8 Bit 8 Bit 11 Bit 5 Bit Cyc lic 3 Bit


Preamble Start of Frame-Bits Frame-Number Redundancy
Synchronisation Paket- Zeitstempel Sicherung End of Packet
Identifizierung Ende des Übertragungsmodus
Paket = Beginn des Idle-Modus

Bild 9.17: Format des Start-Pakets eines Frames


Solange kein Datenverkehr auf dem Bus stattfindet, werden nur die Start-Pakete der
Frames übertragen, gefolgt von Idle-Takten.
Frames haben eine Länge von 1 msec ( = 12000 Bittakte = default ) nach
Betriebsbeginn eines USB 1.1-Full-Speed-Bus.

Im normalen Betriebsfall werden nach dem Start-of-Frame-Paket die Pakete für die
Übertragung der Sender-Empfänger-Paare mit aktuellem Übertragungsbedarf
hinzukommen. Da dabei die oben erklärte Reihenfolge der Bedienungen gilt, kann
man auch eine entsprechende Reihenfolge der Pakete feststellen.

Computertechnik 235 Jacob


Das Konzept des Universal Serial Bus

Ein beispielhaftes Szenario

Host
SOF Iso-OUT-transaction Iso-IN-transaction Interrupt Interrupt
OUT-transaction IN-transaction

Inter- Inter- Inter- Inter- Host-


Start Iso Iso Iso rupt rupt rupt rupt
of OUT DATA IN OUT DATA IN ACK Pakete
frame out out in

Zeit

Iso Inter- Inter- Device-


DATA rupt rupt
in ACK DATA Pakete
out in

Device
Bild 9.18: Beispielhafter Ablauf von Transaktionen
• Der USB-Controller im Host-Computer ist die Steuerzentrale des USB-
Systems. Alle Aktivitäten auf dem Bus gehen von ihm aus.
• Die Einteilung in Frames ist die elementare Einteilung der Bus-Aktivitäten.
Innerhalb der Frames werden die Übertragungen nach Aufträgen gegliedert,
deren Abwicklung als Transaktionen bezeichnet wird.
• Die Abwicklung einer Transaktion bedeutet auf dem Bus eine - gemäß
Auftragstyp - genau festgelegte Reihenfolge von Paketen. In Bild 9.18 werden
Beispiele für den isochronen und den „Interrupt“-Datenverkehr angegeben.
Die anderen Übertragungsarten erfolgen sinngemäß.
• Ein wichtiger Unterschied zwischen isochronem und Bulk- Datenverkehr: der
isochrone Verkehr wird nicht so gesichert, dass man eine Wiederholung
ausführen könnte. Das wäre wegen des online-Charakters der Daten sehr
aufwendig. Aber die Bulk-Datenübertragung wird wie üblich gesichert, so dass
man eine Wiederholung anfordern kann.
• Bezogen auf den „Interrupt“-Datenverkehr erkennt man, dass Daten nur dann
fließen, wenn der Host-Controller eine Aufforderung gibt, d.h. wenn er
entsprechende IN- bzw. Out-Pakete sendet.
• Für das gesamte Frame gilt: wenn mehr Transaktionen in einem Frame
ablaufen, als innerhalb eines Frames möglich sind, dann wird nach dem Ende
des betroffenen Frames eine Überlagerung von Sendungen eintreten: die des
Start of Frame des nächsten Frame und die nicht fertig gewordener
Transaktionen. Diese Unordnung wird hier „babble“-Zustand genannt und führt
zum Abbruch des USB-Betriebes.

Für jedes Frame ist die Reihenfolge der Transaktionen gemäß Übertragungsbedarf
genau fest gelegt. Jede Transaktion wird durch einen genau festgelegten Satz von
Auftragsdaten beschrieben (descriptor). Der Reihenfolge der Transaktionen auf dem
Bus entspricht eine Kettung von (in Listen gespeicherten) Auftragsbeschreibungen
(Deskriptoren).

Computertechnik 236 Jacob


Das Konzept des Universal Serial Bus

Die Auftragslisten für das USB-System

Kettung der Iso-Deskriptoren und der Header der “Interrupt-”, Control- und Bulk-Queues
Liste der Zeiger
zu den Auftrags-
ketten der Frames Kettung der Kettung der Kettung der
11 “Interrup t”- Contr ol- Bulk-
2 Ze iger Deskriptoren Deskriptoren Deskriptoren

Z eiger zur
Auftragskette Iso-Auftrags- Iso-Auftrags-
des Frame i-1 beschreibung beschreibung

Z eiger zur i.0 i.1 “Interrupt”- Con trol- Bulk-


Auftragskette Iso-Auftrags- Iso-Auftrags- Warteschlangen- Warteschlange n- Warteschl angen-
des Frame i beschreibung beschreibung beschreibung beschreib ung beschreibu ng

Z eiger zur
Auftragskette Iso-Auftrags- Iso-Auftrags- “Interrupt” i.2 Control i.x+1 Bulk i.y+1
des Frame i+1 beschreibung beschreibung -Auftrags- Auftragsbe- Auftra gsbe-
besch reibu ng schreibung schrei bung

“Inte rrupt” i.3 Control i.y Bulk i.end


Auftragsbe- Au ftragsbe- Auftragsbe -
schreibun g sch reibung schreibung

“Inte rrupt” i.x


Auftragsbe-
schreibun g

i.0 i.1 i.2 i.3 usw.

Zeit

Bild 9.19: Kettungsstruktur der Übertragungsaufträge der Frames


Beispielhafter Pfadabschnitt durch die Auftragskette von i.0 bis i.3 und die entsprechenden
Transaktionen auf dem Bus
• Eine Frame-Liste enthält 211 Einträge, von denen jeder zum Anfang der
Auftragskette zeigt, die mit dem entsprechenden Frame verbunden ist.
• Jeder Auftrag wird durch einen Deskriptor beschrieben. Er enthält die
Parameter der Transaktion, die auszuführen ist, und einen Zeiger auf den in
der Kette folgenden Deskriptor.
• Die Kette der Frame-Aufträge beginnt mit einer Folge von isochronen
Aufträgen, gefolgt von je einer Folge von „Interrupt“- , Control- und Bulk-
Aufträgen.
• Man kann die Kettung vom ersten Eintrag in der Frame-Liste durch dessen
Auftragskette zum nächsten Eintrag in der Frame-Liste und dessen
Auftragskette usw. bis zum letzten Auftrag in der Auftragskette des letzten
Eintrags in der Frame-Liste verfolgen und sie dann zyklisch fortsetzen. Das ist
der Leitfaden, mit dem der USB-Controller die Aktionen auf dem USB-Bus
bestimmt.

Computertechnik 237 Jacob


Das Konzept des Universal Serial Bus

• Die Kettungsstruktur (und damit der Leitfaden) wird beim Hochfahren des
Systems zum ersten Mal bestimmt. Wenn dann im Betrieb neue
Betriebsbedingungen entstehen, müssen die Kettungen entsprechend
angepasst werden.
• Man erkennt, dass eine isochrone Auftragsfolge, die neu angelegt wurde,
einfach dadurch aktiviert werden kann, dass die Zeiger in der Frame-Liste
entsprechend eingestellt werden. Die Kettung der Auftragsfolgen für die
nachfolgenden nicht-isochronen Aufträge beginnt für alle isochronen
Auftragsfolgen beim gleichen Element. Der Zeiger im letzten isochronen
Auftrag ist also nicht von irgendwelchen Kettungsänderungen abhängig.
• Die Änderungen in den Auftragsketten der nicht-isochronen Aufträge betreffen
nur die jeweilige Kette. Wenn sie einmal erfolgt sind, gelten sie für alle
Frames, bis sie widerrufen werden.

Diese Kettungsstruktur ist die logische Schnittstelle zwischen der Hardware und der
Treiber-Software. Die Aufteilung der Aufgaben zwischen der Aufrufebene im
Anwender-Computer und der Hardware des USB-Bus zeigt Bild 9.20. Die
Kettungsstruktur der Auftrags-Deskriptoren ist die maßgebliche Komponente dieser
Schnittstelle.

Für den Programmierer des BIOS des DOS-Betriebssystems waren die Register im
IO-Speicherbereich die maßgebliche Schnittstelle zur Hardware. Für den USB-
Treiber-Programmierer moderner Betriebssysteme ist es das UHCI (universal host
controller interface).

Bild 9.20: Hierarchische Aufgabenteilung zwischen der Anwender-Software und der


Hardware des USB
ftp://download.intel.com/technology/usb/uhci11d.pdf
Die Treiber-Software sorgt für die Initialisierung, das Management und die
Abwicklung der Schreib- und Leseanweisungen der Anwenderprogramme.

Computertechnik 238 Jacob


Das Konzept des Universal Serial Bus

Als Beispiel einer Auftragskettung dient hier das Verfahren des USB 1.1. Für den
Nachfolger USB 2.0 gilt eine wesentlich komplexere Schnittstelle, die mit EHCI
(enhanced host controller interface) bezeichnet wird. Sie wird hier nicht diskutiert:
http://www.intel.com/technology/usb/download/ehci-r10.pdf

Hier einige pauschale Merkmale:

• Die Taktrate des USB 2.0 ist 40mal größer als die 12 MBit/sec bei Full Speed
des USB 1.1, also 480 MBit/sec.
• Man unterteilt die 1msec-Frames in 8 Micro-Frames von 125 microsec.
• Der USB 2.0 ist abwärts kompatibel zum USB 1.1. Das bedeutet u.a., dass der
USB-Controller 2.0 die Übertragungs-Geschwindigkeit jeweils automatisch an
die Geschwindigkeit des aktiven Gerätes anpasst.

Bild 9.21: Vergleich zwischen Frames (USB 1.1) und Micro-Frames (USB 2.0)
Angenommen, der isochrone Datenbedarf (data payload) belegt ein Frame 500 microsec.
Das entspricht 6000 Bits. Diese 6000 Bits werden innerhalb eines Micro-Frames in 12,5
microsec übertragen.

Computertechnik 239 Jacob


Festplatten und Festplatten-Controller

9.3 Festplatten und Festplatten-Controller


Motherboards haben fest eingelötete Stecker zum Anschluss von Festplatten. Dabei
ist wahlweise der Anschluss von IDE-Disks (intelligent drive electronics) und/oder
SCSI-Disks (small computer system interface) möglich.

Man unterscheidet das eigentliche Laufwerk mit dem Speichermedium von dem Lauf-
werkscontroller. Heute ist es üblich, beide in einer einzigen Baueinheit zusammen zu
montieren, so dass das „dumme“ Laufwerk durch die „Intelligenz“ des Controllers
„aufgewertet“ wird. Die Schnittstelle der Gesamt-Einheit ist als Bussystem-Anschluss
konzipiert, der entweder vom PC-Systembus abgeleitet ist (IDE-Schnittstelle) oder
ein speziell konzipierter Peripherie-Bus ist (SCSI-Schnittstelle).

9.3.1 Aufbau von Festplattenlaufwerken


Das Laufwerk

Bild 9.22: Aufbau eines Festplattenlaufwerks


Man erkennt im Bild 9.22
• den Plattenstapel und seine Antriebsspindel mit dem darin integrierten
Antriebsmotor,
• den Kamm mit den Schreib/Leseköpfen und dem oberen Lagerzapfen für die
Drehachse,
• den Aktuator für die Positionierung des Kammes durch Drehung,
• die Filtersperre für die Filterung mechanischer Feinstteilchen aus dem Luftstrom,
• das verkapselnde Gehäuse.

Bild 9.23 veranschaulicht ein beispielhaftes Ensemble von Aktuator, Kamm und
Schreib/Lese-Köpfen.

Computertechnik 240 Jacob


Festplatten und Festplatten-Controller

Bild 9.23: Aktuator mit Kamm


http://www.storagereview.com/guide2000/ref/hdd/op/act.html
Im erkennt man zwei Köpfe für die Ober- und Unterseite einer Platte. Aus der
Berührung der Köpfe kann man schließen, dass die Köpfe von den Armen mit einer
zulässigen Spannung auf die Platte „gedrückt“ werden. Das gilt nur im Stillstand.
Sobald die Platte rotiert, entsteht durch den Luftstrom ein Gegendruck, der die Köpfe
über die Plattenoberflächen hebt, so dass sie berührungslos darüber schweben. Die
Köpfe sind auf Schlitten-Elementen montiert.

Die Arme sind mit den Schlitten in tangentialer Richtung orientiert. In den
Schlittenflächen, die der Disk zugewandt sind, gibt es am rechten und linken Rand je
eine „Kufe“, die innen einen „Rille“ erzeugen. Durch diese kann der tangentiale
Luftstrom durchziehen und das Abheben erzeugen. Der dadurch erzeugte Abstand
ist „winzig“ (Bild 9.23).

Bild 9.24: Größenverhältnisse bezogen auf die Flughöhe (flying height) von Köpfen
http://www.storagereview.com/guide2000/ref/hdd/op/heads/opHeight.html
Das Aufsetzen eines Kopfes (head crash) bedeutet in der Regel die Zerstörung der
Spur bzw. des Kopfes. Der Hersteller sorgt für die notwendige Ebenheit der Platten,
die notwendige Laufruhe bei der Rotation, die hermetische Verkapselung und das
Filtern des Luftstromes, damit es keine Feinstpartikel im Luftstrom gibt.
Der Anwender des Laufwerks sorgt dafür, dass es während des Betriebs keine
mechanischen Stoßbelastungen gibt.

Computertechnik 241 Jacob


Festplatten und Festplatten-Controller

Das Prinzip der durch eine Spule bestimmten Kopf-Struktur kann man im Bild 9.25
erkennen.

Bild 9.25: Schreib/Lese-Kopf in Thin-Film-Technologie


http://www.storagereview.com/guide2000/ref/hdd/op/heads/techTF.html
Man erkennt am Schlitten die beiden äußeren „Kufen“ und die dadurch innen erzeugte
„Rille“; außerdem erkennt man die Wicklung der Spule sowie die Zuleitungen.
In aktuellen Systemen wird die Spule nicht mehr durch eine echte Wicklung erzeugt,
sondern durch planare Dünnfilm-Windungsstrukturen, die weniger Raumbedarf
haben: http://www.storagereview.com/guide2000/ref/hdd/op/heads/tech.html

Das Speichermedium
Das Speichermedium ist eine kreisförmige Platte, die beidseitig mit magnetisierba-
rem Material beschichtet ist. Das herkömmliche Konzept zur Speicherung von Daten
geht von einer gleichmäßigen Einteilung in Spuren und Sektoren aus (Bild 9.26).

Bild 9.26: Gleichmäßig sektorisierte Platte


Die Plattenfläche wird in gleich breite, konzentrische Ringe (Spur, track) eingeteilt.
Man nummeriert die Spuren von außen nach innen (Spurnummer, track number)).
Eine bestimmte radiale Linie markiert den Anfang jeder Spur.
Von dort ausgehend wird die Plattenfläche in gleich große radiale Segmente
eingeteilt. Die dadurch entstehenden Spurabschnitte heißen Sektoren.

Computertechnik 242 Jacob


Festplatten und Festplatten-Controller

Man nummeriert die radialen Segmente durch und gibt den Sektoren jedes radialen
Segmentes die zugeordnete Nummer (Sektornummer).
Da Information bitweise gespeichert wird, wird jede Spur, vom Spuranfang
ausgehend hintereinander, in Mikroabschnitte zur Speicherung je eines Bits
eingeteilt, wobei pro Sektor gleich viele Bits vorgesehen sind.

Bild 9.27: Schema der bitseriellen Einteilung am Beispiel eines Sektors


Durch die Positionierung des Kammes mit den Schreib/Lese-Köpfen in eine definierte
Stellung erreicht man, dass alle Köpfe zusammen konzentrisch übereinander
liegende Spuren erfassen, die man zusammen als Zylinder bezeichnet.

Der Vorgang des Lesens und Schreibens

Betrachtet man den Vorgang des Schreibens bzw. Lesens eines einzelnen Kopfes
ergibt sich ein prinzipieller zeitlicher Verlauf wie in Bild 9.28.

Bild 9.28: Prinzipieller Verlauf des Schreib-Stromes und der Lese-Spannung


Ein Strom, den man beim Schreiben in die Spule des Kopfes einprägt, erzeugt im
darunter vorbeilaufenden Spurabschnitt eine Magnetisierung in der zugehörigen
Richtung. Wechselt man die Stromrichtung, dann wird auch die Richtung der
Magnetisierung im darauf folgenden Spurabschnitt umgedreht. Ein Stromrichtungs-
wechsel im zeitlichen Verlauf des Schreibstroms erzeugt also einen Magneti-
sierungswechsel im örtlichen Verlauf der Spur. Oberhalb der magnetisierbaren
Schicht ergeben sich entsprechende Richtungswechsel des magnetischen Feldes.

Wenn nun der Kopf in den Lese-Betrieb geschaltet wird, durchsetzt das magnetische
Feld die Kopfspule. Nach dem Induktionsgesetz erzeugt eine Änderung des
Magnetfeldes in einer Spule an ihren Endpunkten eine Spannung. In diesem Fall
erzeugt ein vorbeilaufender Richtungswechsel im Magnetfeld der Spur einen
Lesepuls, je nach Richtungswechsel einen positiven oder einen negativen Puls.
Computertechnik 243 Jacob
Festplatten und Festplatten-Controller

Das größte Problem beim Lesen sind Verzerrungen, die die Lage der Hochpunkte
gegenüber dem Taktraster verschieben.

Man versucht, das Taktraster möglichst eng zu machen; denn man möchte ja so
viele Bits wie möglich speichern. Die Grenze für diese Verkleinerung der
Bitabschnitte wird durch die Eigenschaften des magnetisierbaren Materials gegeben.

Angenommen, man könnte den Richtungswechsel im Schreibstrom beliebig schnell


machen. Das magnetisierbare Material müsste die Ausrichtung der Elementar-
magnete genau so schnell nachvollziehen können, tut das aber nicht. Je nach Güte
des Materials ist es dabei mehr oder weniger träge. Diese Trägheit ist ein wesent-
licher Grund, dass es zu Verzerrungen kommt, die die Hochpunkte der beim Lesen
erzeugten Pulse gegenüber dem Taktraster verschieben.

Ein bekannter Trick, die Verzerrung bereits beim Senden im voraus zu korrigieren, ist
die Vorkompensation (precompensation). Dabei stellt man den Zeitpunkt des
Richtungswechsels so ein, dass der Puls-Hochpunkt in Richtung des Taktrasters
geschoben wird (Bild 9.29).

Bei herkömmlichen Platten mit gleichmäßiger Sektorisierung nehmen die


Verzerrungen zu, je weiter zu den inneren Spuren kommt. Deshalb wird eine Spur
angegeben, ab der – weil nach innen gezählt wird - die Vorkompensation wirksam
werden soll.

Bild 9.29: Anpassung des Schreibstrom-Richtungswechsels bei der Vorkompensation

Die herkömmliche Formatierung von Platten

Die kleinste auf einer Spur adressierbare Einheit ist der Sektor. Um die Sektoren in
einer Spur zu finden, nummeriert man sie von einem Beginn an durch.

Die radiale Linie, die den Beginn des ersten Sektors auf jeder Platte markiert, ist auf
allen Platten in gleicher Position, ebenso die Grenzlinien der folgenden Sektoren.

Computertechnik 244 Jacob


Festplatten und Festplatten-Controller

Zu Beginn jedes Sektors gibt es zunächst ein Feld, das die Nummer des Sektors und
ergänzende Merkmale enthält: Identifikationsfeld (identifier field). Nach dem
Identifikationsfeld folgt das Datenfeld (data field). Zwischen den Sektoren werden
Abschnitte frei gehalten (gap) (

Bild 9.30). Das sind Lücken, die weder für die Adressierung noch für die
Datenübertragung genutzt werden, die aber einen wichtigen Zweck erfüllen.
0 12
3
4
5
6
usw.

Identifi- Daten Identifi-


Daten
kation kation
Gap Gap Gap Gap Gap

Bild 9.30: Prinzip der herkömmlichen Spurformatierung


Die Identifikationsfelder werden bei der (low level-) Formatierung der Platte
geschrieben und sind danach unveränderlich. Die Datenfelder werden später beim
Betrieb geschrieben. Man kann nie damit rechnen, dass die Taktraster absolut gleich
sind, wenn zu unterschiedlichen Zeiten geschrieben wird. Damit sind die Felder
ungleich lang, was man durch Lücken ausgleichen muss.
Außerdem muss man den Feldern einige Bits vorausschicken, die der Lese-
Elektronik die Möglichkeit geben, sich auf die unterschiedlichen Taktraster der Felder
einzustellen (Synchronisierung der Lesetakte). Einer Lücke folgen deshalb
Synchronisierbits.
Um die Positionierung des Kammes zu unterstützen, wird das Sektor-Format durch
eine besondere Servo-Information ergänzt. - Man legt in gleichem Winkelabstand
radiale Servo-Spuren an, im Bild 9.31 vor jedem Sektor, im allgemeinen nach einem
geeigneten Vielfachen von Sektoren. Die Äquidistanz ist wichtig dafür, dass die
Elektronik die Informationsbits von den Servobits unterscheiden kann

Bild 9.31: Schema der Servo-Bereiche auf einer herkömmlichen Platte

Computertechnik 245 Jacob


Festplatten und Festplatten-Controller

Um den Vorgang beim Suchen eines Sektors zu verstehen, geht man am besten
davon aus, dass der Kamm sich auf den gewünschten Zylinder eingestellt hat und
alle betroffenen Köpfe Pulse empfangen.

Sobald die Elektronik die Bit-Synchronität hergestellt hat, stellt sie die logische
Synchronität her. Die empfangenen Bits werden Takt für Takt durch ein
„Erkennungsfenster“ geschoben. Sobald im Fenster ein vereinbartes, eindeutiges
Wort erkannt wird, ist die logische Synchronität hergestellt.

Von der gefundenen Stelle im Sektorformat ausgehend, kann man den Beginn des
Sektors bestimmen, der als erster vollständig empfangen wird. So werden
nacheinander die Identifikationsfelder der Sektoren bestimmt, bis der gewünschte
Sektor gefunden ist.

Bild 9.32: Format des Identifikationsfeldes


w/r = write/read recovery gap, LBN = logical block number
Moderne Formate sparen sich die Identifikationsfelder (No-ID-Formate) und erzielen
damit eine verbesserte Nutzung des Speichermediums. Der größere Gewinn an
Speicherkapazität entsteht aber durch ein Formatierungskonzept, das von der
Einteilung in gleiche Sektoren mit gleich vielen Bits abgeht.

Zoned Bit Recording

Die Magnetisierung der inneren Spur stellt bei der herkömmlichen Formatierung die
höchste Anforderung an das Speichermaterial. Da die magnetisierbare Speicher-
schicht über der gesamten Plattenfläche homogen ausgelegt ist und überall die
Qualität hat, die für die innerste Spur gilt, könnte man eigentlich auch die anderen
Spuren mit der gleichen Bitdichte magnetisieren.

Offensichtlich behindert die Bedingung, dass auf jeder Spur gleich viele Sektoren mit
gleicher Bitzahl sind, die bessere Nutzung der Speicherschicht.

Die Sektorisierung beginnt mit der innersten Spur. Diese Sektorisierung bleibt auch in
den nächsten, nach außen folgenden Spuren gültig. Die Nutzung wird dabei aber
umso schlechter, je länger die Spur wird.

Wenn die Spur eine Länge erreicht hat, die mit der Bitdichte der innersten Spur
mindestens einen ganzen Sektor mehr aufnehmen könnte, kann man die Sektorzahl
entsprechend erhöhen.

Computertechnik 246 Jacob


Festplatten und Festplatten-Controller

Das setzt sich dann über die folgenden Spuren sinngemäß fort. Es bilden sich
Spurzonen mit gleicher Sektorisierung.

Bild 9.33: Formatierung mit Zonen gleicher Sektorisierung


Durch dieses Verfahren bleiben die Bitdichten in den Zonen gleich und die
Speicherkapazität nimmt gegenüber dem herkömmlichen Verfahren zu.

Die Servo-Information bleibt, wie in den Einheiten mit „non zoned bit recording“
gleichmäßig verteilt. Der Grund dafür gilt auch hier: nur wenn sie gleichmäßig verteilt
ist, hat die Elektonik ein Kriterium, Servo-Information von Identifikation/Daten-
Information zu unterscheiden.
Nur in der innersten Zone liegt die Serverinformation unmittelbar vor dem Daten-
Sektor. In den weiter außen liegenden Zonen werden die Felder der Sektoren
unterbrochen (Bild 9.34).

Bild 9.34: Gleichmäßige Verteilung der Servo-Information auch in Platten mit zoned
bit recording

Computertechnik 247 Jacob


Festplatten und Festplatten-Controller

9.3.2 IDE(ATA) Festplatten


Die Laufwerke werden durch ihre Controller an standardisierte Schnittstellen
angepasst. Im Falle von Festplatten gibt es eine spezielle Festplatten-Schnittstelle,
die entweder mit IDE (intelligent drive electronics) oder ATA (advanced technology
attachement) bezeichnet wird.

Vertiefung für Interessierte, kein Prüfungsstoff


Der Standard legt einen Stecker und die funktionale Bedeutung der Signale auf dessen
Kontaktstiften fest.

Bild 9.35: IDE(ATA)-Steckerschnittstelle und Stromversorgungsstecker

Der Disk-Controller erhält über die 16


Bit Datenschnittstelle zunächst die
Parameter eines Lese- oder Schreib-
Auftrages, danach erfolgt hierüber die
eigentliche Datenübertragung vom
oder zum Speichermedium.

Für die Synchronisation zwischen


dem Disk-Controller und der Zent-
raleinheit bei der Datenübertragung
stehen die Handshake-Signale dma-
Request- und dma-Acknowledge zur
Verfügung.

Das Ende der Abwicklung eines


Übertragungsauftrages wird durch
Interrupt Request gemeldet.

Bild 9.36: Daten-, Handshake- und Interrupt-Request-Signale des IDE/ATA-Interface

Computertechnik 248 Jacob


Festplatten und Festplatten-Controller

Die Parameter werden in spezielle


Register des Disk-Controllers
eingetragen.

Die Auswahl der Register erfolgt mit


Hilfe der Auswahlsignale CS0, CS1
(je eine Einzelauswahl) bzw. DA0,
DA1, DA2 (duale Adresse).

Bild 9.37: Adressierungssignale für die Auswahl der Register im Disk-Controller


(Ende der Vertiefung)

Die Gesamtheit der Parameter beschreibt einen Task (Auftrag), was zur
Bezeichnung ATA-Task-File geführt hat.
In der alten Form des ATA-Task-Files hat man die Lokalisierung des Sektors durch
die Sektor-, die Zylinder- und die Kopfnummer angegeben. Heute gibt man die
logische Blockadresse an.
Register Adresse Breite (Bit) Read/Write
Datenregister 1F0H 16 R/W
Fehlerregister 1F1H 8 R
Vorkompensation 1F1H 8 W
Sektorenzahl 1F2H 8 R/W
logische 1F3H 8 R/W
Block- 1F4H 8 R/W
adres- 1F5H 8 R/W
Laufwerk/ se 1F6H 4+4 R/W
Statusregister 1F7H 8 R
Commandregister 1F7H 8 W
Statusreg. alternativ 3F6H 8 R
Ausgaberegister 3F6H 8 W

Computertechnik 249 Jacob


Festplatten und Festplatten-Controller

Laufwerkadr. 3F7H 8 R
Die Logische-Block--Adressierung zählt die Sektoren der Platte von 0 bis zur
maximalen Zahl durch. Im Controller erfolgt Umrechnung in die Parameter gemäß
Laufwerksstruktur:

Die IDE/ATA-Schnittstelle ist eine Geräte-Schnittstelle und keine universelle


Peripheriebus-Schnittstelle, die für eine autonom gesteuerte Abwicklung von
blockweisem dma-Verkehr geeignet ist.

Der Disk-Controller muss durch einen IDE/ATA-Controller ergänzt werden, der


zwischen der IDE/ATA-Schnittstelle und der dma-fähigen Schnittstelle vermittelt, die
der Chipsatz unterstützt.

Der IDE/ATA-Controller wird im IO-Hub des Chipsatzes realisiert.

Die SCSI-Schnittstelle wird als Vertiefung für Interessierte angeboten, kein Prüfungsstoff:

Computertechnik 250 Jacob


Festplatten und Festplatten-Controller

9.3.3 SCSI-Festplatten

Die SCSI-Schnittstelle (small computer system interface) ist ein Standard, der nicht
nur für Festplatten gilt. Sie wurde als universelle Schnittstelle für alle
Peripheriegeräte mit großem und schnellem Übertragungsbedarf konzipiert.

Die SCSI-Anpassung wird in den Controller des Peripherie-Gerätes integriert, also


bei einer Festplatte in den Disk-Controller.

Bild 9.38: Festplattenlaufwerk mit SCSI-Controller und –Stecker-Schnittstelle


Die Standardisierungsgruppe verbessert laufend den Standard (was natürlich auch
für die IDE/ATA-Standardisierung gilt). Einen Überblick zur Entwicklung und zum
Stand verschafft folgende Tabelle:

SCSI Datenwort Bustyp SCSI II und III Transferrate Max. Anzahl


Klasse in Bits Ergänzung MByte/sec von Geräten
SCSI I 8 NARROW 5 7
SCSI II 8 NARROW FAST 10 7
SCSI III 8 NARROW FAST 20 (ULTRA) 20 7
SCSI III 16 WIDE FAST 20 (ULTRA) 40 15
SCSI III 16 WIDE FAST 40 (ULTRA2) 80 15

Heute gilt die Version SCSI II als auslaufend und die Version SCSI III als aktuell.

Bild 9.39 gibt die Pin-Funktionen der 50poligen Schnittstelle des SCSI II und die
68poligen Schnittstelle des SCSI III wider. Das dient hier dazu, folgende Aussagen
nachprüfbar zu machen:
• Im SCS II werden alle Signale auf Ground bezogen (single ended signals).
• Im SCSI III werden alle Signale positiv und dazu invertiert übertragen, so dass
differentiell empfangen werden kann. Das bedeutet geringere Störanfälligkeit.
• Im SCSII ist die Datenwortbreite 8 Bit.
• Im SCSI III ist die Datenwortbreite 16 Bit. Man kann die Schnittstelle auch mit
8 Bit Datenwortbreite (unterfordert) nutzen.
• Die Nicht-Daten-Signale haben auf beiden Schnittstellen die gleichen
Bezeichnungen und es sind keine dazugekommen. Das ist ein Hinweis, dass
die Funktionen und damit das Protokoll gleich sind.

Computertechnik 251 Jacob


Festplatten und Festplatten-Controller

50 polige
Stecker-
Schnittstelle
des SCSI II

68-polige
Stecker-
Schnittstelle
des SCSI III

Bild 9.39: Pin-Funktionen der Schnittstellen SCSI II und SCSI III


Computertechnik 252 Jacob
Festplatten und Festplatten-Controller

SCSI-Protokoll

Die SCSI-Schnittstelle ist eine Schnittstelle für mehrere Peripheriegeräte, so dass


z.B. ein Festplatten-Laufwerk und CD-Laufwerk über diese Schnittstelle an die
Zentraleinheit eines Computers angeschlossen werden können.
Die Aufgabe der Vermittlung zwischen der Zentraleinheit und dem SCSI-Bus hat der
sog. Hostadapter (Bild 9.40).

Bild 9.40: Beispielhafte Konfiguration mit dem Hostadapter einer Zentraleinheit,


einem Festplatten- und einem CD-Laufwerk und dem SCSI-Bus als gemeinsamem
Übertragungssystem
Moment der Initiative in der Zentraleinheit: sie schickt ein Kommando an das Festplatten-
Laufwerk (hard disk): der Hostadapter hat die Rolle des Initiators, das Laufwerk hat die Rolle
des Ziels (Target); die Initiator und Targets sind mit Hilfe von Identifizierungsnummern
erkennbar (ID: identification)
Da Peripheriegeräte nur das tun, was die Programme von ihnen wollen bzw.
erwarten, erhalten sie über den Host-Adapter vom Prozessor Aufträge (Commands).
Busteilnehmer, die Commands verschicken können, heißen Initiatoren. Ein
Auftragnehmer eines Commands heißt Target.
Es sind mehrere Initiatoren am Bus zugelassen. Es ist also möglich, dass mehrere
gleichzeitig Commands übertragen wollen. Diese Initiatoren müssen sich einer Bus-
Arbitrierung unterwerfen.
Das Kriterium, dass der Bus frei ist, wertet den Schaltzustand des Select-Signales
SEL und des Belegt-Signals BSY (busy) aus. In der Regel beginnt die Frei-Phase,
wenn eine Bustransaktion durch Deaktivierung des BSY-Signales endet. Die dann
beginnende Bus-Phase wird Bus Free Phase genannt (Bild 9.41) (Bild 9.42).

Computertechnik 253 Jacob


Festplatten und Festplatten-Controller

Bild 9.41: Zustandsdiagramm des SCSI-Bus: aktuell in der Bus-Free-Phase


Bu s Free Ph ase:
Länge mindestens bus free delay nach Freigabe des Bus, höchstens bus set delay,
wenn ein Initiator wartet, bzw. mindestens bus clear delay nach einem Reset.
Bus settle Die Bus-Free-Phase endet mit der Aktivierung
delay
der ID-Selektionssignale durch anfordernde Initiatoren.

BSY

SEL

C /D
I/O
MSG
R EQ

ACK
ATN

RST

DATA

Anfordernde Initiatoren aktivieren ihre ID-Selektionssignale


auf den Datenleitungen.

Bild 9.42: Busaktionen zu Beginn und Ende der Bus-Free-Phase

Sobald mindestens ein Initiator belegungswillig ist, geht der Bus in den Zustand
Arbitration Phase. In dieser Phase wird entschieden, wer den Bus benutzen darf
(Bild 9.43) (Bild 9.44).

Bild 9.43: Zustandsdiagramm des SCSI-Bus: aktuell in der Arbitration-Phase

Computertechnik 254 Jacob


Festplatten und Festplatten-Controller

Bus Arbitration Phase:


Nach maxim al der arbitration delay time hat ein Initiator
den Bus gewonnen und aktiviert das SEL-Signal.

BSY

SEL

C/D
I/O
MSG
REQ

ACK
ATN

RST

DATA

Aktivierung der ID-Selektionssignale


auf den Datenleitungen durch anfordernde Initiatoren.

Bild 9.44: Busaktionen während der Bus-Arbitration-Phase


Jedem Initiator ist eine eindeutige Identifikationsnummer zugeordnet. Eine höhere
Nummer bedeutet höhere Priorität.

Diese Identifikationsnummer sendet der Initiator als 1aus8-Signal (SCSI II) bzw. 1
aus 16-Signal (SCSI III) auf den Datenleitungen aus. Jeder Initiator sendet sein
Anforderungssignal gemäß seinem Rang, das alle anderen gemäß diesem Rang
empfangen.

Dadurch kann jeder feststellen, ob sein Signal durch ein Signal mit einem höheren
Rang überboten wird und kann sich zurückziehen. Der mit dem höchsten Rang zieht
sich nicht zurück.

6 7
4 5
2 3
0 1

Bild 9.45: Senden und Empfang der Anforderungssignale der Initiatoren auf den
Datenleitungen (SCSI II als Beispiel):
6 und 7 melden sich in diesem Szenario; 6 zieht sich zurück; 7 setzt sich durch.

Computertechnik 255 Jacob


Festplatten und Festplatten-Controller

Die Arbitrierungsphase endet damit, dass ein Initiator den Bus gewonnen hat. Dieser
beginnt mit der Selection Phase.

Bild 9.46: Zustandsdiagramm des SCSI-Bus: aktuell in der Selection-Phase


Die Auswahl des Gerätes, das Target sein soll, erfolgt durch Aktivierung einer
Datenleitung, indem die Identifikationsnummer des Targets als 1aus8-Signal (SCSI
II) bzw. 1aus 16-Signal (SCSI III) aktiviert wird.

Zuerst müssen die Initiatoren ihre ID-Signale deaktivieren und der Gewinner-Initiator
muss das ID-Signal des Targets aktivieren.

Das SCSI-Protokolle ist so ausgelegt, dass das ausgewählte Target den Bus über-
nehmen wird. Wenn der Gewinner-Initiator einen besonderen Wunsch an das Target
hat, meldet er dies mit Hilfe des Attention-Signals (ATN). Außerdem deaktiviert er
nach einer vorgegebenen Verzögerung (delay) das BSY-Signal (Bild 9.47).

Vo rbereitun g der Selektion:


Alle Initiatoren deaktivieren ihre ID-Signale (bus clear delay).
Der Gewinner- Initiator aktiviert das Target-ID -Selektionssignal auf der entsprechenden
Datenleitung (bus settle delay).
Da er eine Message an das Target senden will, aktiviert er das MSG-Signal.
Der Intiator wartet ab (deskew-delay) und deaktiviert BSY.

BSY

SEL

C/D
I/O
MSG
REQ

ACK
ATN

RST

DATA

Aktivierung des Target-ID-Selektionssignals


auf den Datenleitungen durch den Gewinner- Initiator.
Bild 9.47: Busaktionen zur Vorbereitung der Selektion

Computertechnik 256 Jacob


Festplatten und Festplatten-Controller

Das aktivierte Selektionssignal wird im entsprechenden Target eindeutig dekodiert.


Sobald das Target das deaktivierte BSY-Signal empfangen hat, steuert es die
Abwicklung der folgenden Aktionen selbständig. Das zeigt es durch Aktivieren des
BSY-Signals an. Daraufhin deaktiviert auch der Gewinner-Initiator das SEL-Signal
und das ID-Signal des Target (Bild 9.48).

Sel ektion:
Alle Targets werten die ID-Signale aus.
Sob ald es erkennt, dass BSY von den Initiatoren deakti viert wurde, a ktiviert es dieses se lbst.
Daraufhin deaktiviert der Gewinner-Initiator auch das SEL-Signal und
das ID-Signal auf der entsprechenden Datenleitung..

BSY

SEL

C/D
I/O
MSG
REQ

ACK
ATN

RST

DATA

Deaktivierung Target-ID-Selektionssignals
auf den Datenleitungen durch den Gewinner- Initiator.

Bild 9.48: Busaktionen während und am Ende der Selektion


Das Target bestimmt den Ablauf der folgenden Phasen.

Bild 9.49: Zustandsdiagramm des SCSI-Bus: aktuell die Abwicklung eines


Kommandos
Im Beispielszenario wird einen Message-Phase begonnen, weil der Initiator dazu
aufgefordert hat. Der Zweck einer Message-Phase ist, Kontrollmeldungen zwischen
Initiator und Target auszutauschen. Die Übertragung der Wörter wird begleitet von
den Handshake-Signalen REQ (request) und ACK (acknowledge) (Bild 9.50).

Wenn keine Message-Phase angefordert wird, soll das Target Kommandos


ausführen, die der Initiator vorgibt. Also fordert das Target ihn nach der Message-
Phase dazu auf, ein Kommando zu senden (Bild 9.51): Command Phase.

Computertechnik 257 Jacob


Festplatten und Festplatten-Controller

Reaktio n auf Attention:


Das Target fordert den Initiator auf; seine Message zu senden:
C/D = High = command, I/O = Low= out, MSG = High = message geben den Typ der gewünschten
Transaktion an. Die Aktivierung von REQ gibt das Anforderungssignal. S obald der Initiator
REQ = High bemerkt, reagiert er: er sendet das Datenwort und meldet das mit der Aktivierung des
Quittungssignals ACK. Das Target deaktiviert REQ, der Initiator darauf ACK, das Target darauf MSG.
Das Attention-Signal des Initiators gibt dem Inititiator die Möglichkeit, die Anzahl der angeforderten
Message-Wörter zu steuern. Hier ist es nur ein Message-Wort.
Deshalb deaktiviert er das ATN-Signal nach der ersten Aktivierung des REQ.

BS Y

SEL

C/D
I/O
MSG
REQ

ACK
ATN

RST

DATA

Bild 9.50: Busaktionen bei der Reaktion auf Attention

Co mmand P hase:
Das Target fordert den Initiator auf; ein Kommando zu senden:
C/D = High = command, I/O = Low= out, MSG = Low = no message geben den Typ der gewünschten
Transaktion an. Die Aktivierung von REQ gibt das Anforderungssignal.
Sobald der Initiator das REQ = High bemerkt, reagiert er: er sendet das Datenwort und meldet
das mit der A ktivierung des Quittungssignals ACK. Das Target deaktiviert RE Q, der Initiator darauf ACK.
Solange das Target C/D = High hält, wiederholt das Target die Anforderung von K ommandowörtern,
bis alle empfangen sind. Dann beginnt es mit der Ausführung des K ommandos.
Deshalb erzeugt es C/D = Low = Daten, weil eine Datenübertragungsphase beginnt.

BS Y

SEL

C/D

I/O
MSG

REQ

ACK
ATN

RST

DATA

Bild 9.51: Busaktionen während der Command Phase

Computertechnik 258 Jacob


Festplatten und Festplatten-Controller

Sobald das Target alle Kommandowörter erfasst hat, beginnt es mit der Ausführung
des Kommandos (Bild 9.52): Data Phase.
Data Ph ase:
Das Tar get führt das empfangene Kommando aus:
C/D = Low = data, I/O = High = in, MSG = Low = no message geben den Typ der gewünschten
Transaktion an. Zu jedem Datenwort, das das Target sendet, aktiviert es REQ = High.
Der Initiator antwortet mit der Aktivierung des Quittungssignals ACK = High. Das Target deaktiviert
REQ, der Initiator darauf ACK. S olange das Target C/D = Low hält, wiederholt das Target die Übertragung
von Datenwörtern, bis alle gesendet sind.
Dann beginnt es mit der Anforderung von weiteren Kommandowörtern.

BS Y

SEL

C/D
I/O
MSG
REQ

ACK
ATN

RST

DATA

Bild 9.52: Busaktionen während der Data Phase


Wenn das Target die Ausführung des Kommandos beendet hat, folgt die
Übertragung eines Statuswortes: Status Phase.

Status Phase:
Das Target sendet nach der Kommando-Ausführung ein Statuswort als Fertig-Meldung:
C/D = High = status, I/O = High = in, MSG = Low = no message geben den Typ der gewünschten
Transaktion an. Das Senden erfolgt mit dem üblichen Handshake-Verfahren.

BS Y

SEL

C/D
I/O
MSG
REQ

ACK
ATN

RST

DATA

Bild 9.53: Busaktionen für die Übertragung des Statuswortes zur Fertigmeldung der
Kommando-Ausführung

Computertechnik 259 Jacob


Festplatten und Festplatten-Controller

Zum Abschluss wird noch eine Command Complete Message vom Target an den
Initiator gesendet.

Co mm and Complete Message Phase:


Das Target sendet zum endgültigen Abschluss noch eine Command Complete Message:
C/D = High = status, I/O = High = in, MSG = High = message geben den Typ der gewünschten
Transaktion an. Das Senden erfolgt mit dem üblichen Handshake-Verfahren.

BS Y

SEL

C/D
I/O
MSG
REQ

ACK
ATN

RST

DATA

Bild 9.54: Busaktionen bei der abschließenden Command Complete Message

Erst wenn diese Phase beendet ist, wird das BSY-Signal vom Target deaktiviert und
der Bus ist für eine neue Aushandlung für die Initiatoren frei.

Nach dieser Demonstration der Prinzipien des SCSI-Protokolls an einem beispiel-


haften Szenario soll noch das Format eines Kommandos angegeben werden.

Command-Format
http://www.t10.org/

Es gibt 6, 10, 12 oder 16 Byte Kommandos, je nach Zahl und Art der Parameter für
das jeweilige Kommando. In der folgenden Tabelle ist das 6 Byte Format angegeben.

Byte Funktion
0 Command-Code
1 Logical Unit Number(3 Bit) / Logical Block Address (5 Bit, most significant
bits)
2 Logical Block Address
3 Logical Block Address (least significant bits)
4 andere Kommando-abhängige Parameter (z.B. Zahl der Blöcke)
5 Control (für die Verkettung von Kommandos

Die Sektoren der Platte werden von 0 bis maximale Zahl durchgezählt: logical block
address. Der Controller rechnet daraus die Zylinder-, die Kopf- und die Sektor-
nummer aus.

Computertechnik 260 Jacob


Festplatten und Festplatten-Controller

Folgende Tabelle stellt einige Kommandos (mit Byteanzahl) vor:


http://www.t10.org/ftp/t10/drafts/sbc2/sbc2r16.pdf

FORMAT UNIT(6) Formatieren, d.h. Struktur für logische Blöcke anlegen


READ (6) Lesen ab angegebenem logischen Block gemäß kurzer
Angabe der Blockanzahl
READ (10) Lesen ab angegebenem logischen Block gemäß langer
Angabe der Blockanzahl
READ CAPACITY (10) Lesen der Speicherkapazität der Festplatte
VERIFY (10) Vergleichen gesendete Daten mit geschriebenen Daten
ab angegebenem logischen Block gemäß Angabe der
Blockanzahl
WRITE (6) Schreiben ab angegebenem logischen Block gemäß
kurzer Angabe der Blockanzahl
WRITE (10) Schreiben ab angegebenem logischen Block gemäß
langer Angabe der Blockanzahl
WRITE AND VERIFY (10) Schreiben und danach sofort Vergleichen ab
angegebenem logischen Block gemäß kurzer Angabe
der Blockanzahl

Der Vergleich mit dem Format des IDE/ATA-Task-File zeigt einen deutlichen
Unterschied: die SCSI-Kommandos enthalten keine Parameter, die hardwarenah
sind. Die SCSI-Disk-Controller setzen die angegebenen logischen Parameter in die
die laufwerksabhängigen Größen um.

(Ende der Vertiefung)

Computertechnik 261 Jacob


Computertechnik 262 Jacob

Das könnte Ihnen auch gefallen