40 Nach dieser Skalierung wären die Schreib

Transcrição

40 Nach dieser Skalierung wären die Schreib
Nach dieser Skalierung wären die Schreib-/Leseköpfe gut eineinhalb mal so lang und ein halbes mal
so breit wie die Münchener Frauenkirche hoch ist und würden mit einer Geschwindigkeit, mit der sie in
2,6 Sekunden die Erde umrunden, nur 1 cm über dem Boden gleiten. Dabei würden Sie Daten auslesen und schreiben, die nach links und rechts nur 3,35 m von anderen Daten entfernt sind und nach
vorne und hinten bereits nach 25 cm an ihre Nachbarn stoßen. Eine unvorstellbare Leistung!
Typische Festplattenlaufwerke haben eine durchschnittliche Zugriffszeit von ca. 8 ms, das bedeutet,
sie benötigen ca. 8 ms, um ein Drittel aller auf der Oberfläche befindlichen Spuren zu überqueren und
dann zielsicher auf der richtigen Spur zu landen. In unserem Skalierungs-Beispiel beträgt die Entfernung, die in den 8 ms von den Schreib-/Leseköpfen in Frauenkirche-Grösse zurückgelegt werden
müssen, gute 5 km. Das entspricht einer Seitwärts-Geschwindigkeit von 625.000 km/h (in knappen 4
Minuten um die Erde).
Wie kann so eine schwierige Aufgabe gelöst werden? Modernste Regelungstechnik macht’s möglich!
Da die Schreib-/Leseköpfe im Betrieb nicht auf den Platten aufliegen, ergibt sich bei der Bewegung
der Arme so gut wie keine Reibung. Die Arme können also mit minimalstem Kraftaufwand bewegt
werden. Sie lassen sich also auch ruckfrei anfahren und abbremsen. Der Antrieb erfolgt dabei durch
magnetische Kräfte:
− Am drehbar gelagerten Arm ist an der Hinterseite eine Spule angebracht, deren Magnetfeld sich
vom Festplatten-Controller steuern lässt.
− Im Gehäuse der Festplatte sind zwei sehr starke Permanent-Magnete montiert, zwischen denen
die Spule des drehbaren Arms eingebettet ist.
Wird die Spule bestromt, stößt sie sich vom Permanent-Magneten ab und bewegt dabei die SchreibLeseköpfe über die Platten.
PermanentMagnet zum
Halten des
Arms in der
Parkposition
PermanentMagnete
Spule (am Arm montiert)
Drehlager zur Rotation
des Arms
drehbar gelagerter
Arm
Abb. 48: Mechanik zur Armpositionierung
40
Doch woher weiß der Festplatten-Controller, wieviel Strom er durch die Spule schicken muss, um die
Schreib-/Leseköpfe genau auf den gewünschten Zylinder (auf die gewünschten Spuren) zu positionieren?
Die Antwort ist: Auf den Platten sind sog. Servo-Informationen gespeichert, in denen auch die Nummer des jeweiligen Zylinders gespeichert ist.
Diese Servo-Informationen werden in der Regel zwischen den einzelnen Sektoren gespeichert.
Zur Positionierung wartet der Festplatten-Controller zunächst, bis ein Schreib-/Lesekopf über einen
Servo-Bereich fährt. Der Festplatten-Controller liest die Servo-Information ein und ermittelt dadurch
die aktuelle Position des Arms (Ist-Position). Durch Vergleich mit der Soll-Position (Ziel-Zylinder) ermittelt der Festplatten-Controller, wie weit die Schreib-/Leseköpfe noch vom Ziel-Zylinder entfernt sind
und erhöht oder verringert den Spulenstrom dementsprechend. Die Platte dreht sich dabei weiter.
Wenn die Schreib-/Leseköpfe das nächste mal einen Servo-Bereich überfahren, vergleicht der Festplattencontroller wieder die aktuelle Position des Arms mit der Soll-Position und berechnet daraus
wieder eine geeignete Spulenspannung. Diese Prozedur wird nun solange wiederholt, bis der Arm
über dem richtigen Zylinder steht. Anschließend findet noch eine Feinpositionierung statt, die mithilfe
spezieller (ebenfalls im Servo-Bereich abgespeicherten) Fein-Positionierungs-Informationen durchgeführt wird.
Im Festplatten-Controller ist also unter anderem ein Regler implementiert, der aus den Laufwerkspa5
ramtern, der Ist- und der Soll-Position den nötigen Spulenstrom bestimmt.
Soll-Position
+
aktueller
Fehler
Ist-Position
Regler
•
Spulenstrom
Laufwerk
Abb. 49: Regelkreis
Um gute Zugriffszeiten der Festplatte zu erreichen, muss der Arm möglichst schnell von seiner IstPosition in die Soll-Position bewegt werden. Er darf dabei jedoch nicht über sein Ziel hinausschiessen
und zu weit fahren. Gute oder schlechte Zugriffszeiten von Festplatten sind somit nicht zuletzt auf die
verwendeten Regelungs-Algorithmen zurückzuführen.
Zur Verbesserung der Zugriffszeit der Festplatte kann die Umdrehungsgeschwindigkeit der Platte
erhöht werden, so dass die zeitlichen Abstände, in denen die Servo-Informationen an die Schreib/Leseköpfe gelangen, verringert werden.
Eine weitere Möglichkeit zur Beschleunigung der Kopfpositionierung besteht darin, die Servoinformationen nicht nur zu Beginn eines Sektors, sondern auch in kürzeren Abständen auf die Platten zu speichern. Eine verbreitete Vorgehensweise spendiert eine komplette Plattenoberfläche allein für die Servo-Informationen. Diese Festplatten erkennt man oft daran, dass sie über eine ungerade Anzahl an
Schreib-/Lese-Köpfen verfügen.
Die Servo-Informationen werden vom Festplatten-Hersteller auf die Platte geschrieben und können
nicht gelöscht werden. Auch nicht mit der zuvor erwähnten Grundformatierung.
5
Wie solche Regler funktionieren und wie sie ausgelegt werden müssen, um nicht nur sehr schnell, sondern auch noch stabil zu
arbeiten, können Sie beispielsweise in „Regelungs- und Steuerungstechnik“ bei Prof. Buss oder in einem guten Buch über
Regelungstechnik (z.B. Horn, Dourdoumas, Regelungstechnik, ISBN 3-8273-7059-0) erfahren.
41
In diesem Kapitel haben wir uns diejenigen Peripherie-Geräte angeschaut, die uns unmittelbar nach
dem Öffnen des PCs aufgefallen sind: Netzteil, Grafikkarte, DVD-Laufwerk, DVD-Brenner und die
Festplatte.
DR
NT
DB
DL
GK
FP
FW
Abb. 50: Geräte in einem PC
Wir haben dabei gemerkt: Die betrachteten Geräte sind ziemlich intelligent. Sie können selber schwierige Aufgaben ausführen (z.B. Kopf-Positionierung bei der Festplatte) und dadurch den PC-Prozessor
entlasten. Die Intelligenz und hohe Leistungsfähigkeit der Geräte rührt von den eingebauten Chips
her, die z.T. sehr ähnlich aufgebaut sind wie PC-Prozessoren, mit denen wir uns in dieser Vorlesung
hauptsächlich beschäftigen werden.
42
Jetzt tauchen wir jetzt tiefer in den PC hinein, indem wir das Netzteil und die Steckkarten entfernen
und die dahinter liegende Hauptplatine untersuchen.
1.1.2
Komponenten auf der Hauptplatine - Überblick
Nach dem Ausbau des Netzteils und der Grafikkarte ergibt sich vom Innenleben unseres PCs folgendes Bild:
÷
Prozessor
D5
D6
C1
D1
D3
A
RAM
B4
KEITH
D
D4
B4
"¥#,μ
D2
B4
B4
FS
ünäe
B1
C5
B
C6
LA
B2
C3
HI
C7
B3
C7
C3
C
C2
C7
C4
C8
C9
C7
C7
C7
Abb. 51: Hauptplatine eines Computers
Die grosse grüne Platine ist die Hauptplatine unseres Computers, die auch Mainboard oder
Motherboard genannt wird. Auf der Hauptplatine sind alle wichtigen Komponenten des PCs untergebracht, die nicht so wie die Festplatte oder das DVD-Laufwerk als Peripherie-Geräte angesehen werden. Auf ihr befindet sich der Prozessor (A) der Hauptspeicher (B4), der Chipsatz (B, C), viele Anschlussmöglichkeiten für Steckkarten (B2, C7), für interne Geräte (C3, D4) wie beispielsweise DVDROM und für externe Geräte (z.B. D1, D2).
Da die Hauptplatine auf den ersten Blick ziemlich kompliziert aussieht, haben wir davon auf der nächsten Seite eine Schema-Darstellung angefertigt, aus der hervorgeht, wie die einzelnen Bausteine auf
der Hauptplatine heißen und wie sie miteinander verschaltet sind.
43
ftp.
Silizium
wislall
Block
-
Die
÷
A
Prozessor
Intel P4
RechenWerk
NT
230 V ~
Netzteil
SteuerWerk
Adress-Umsetzer
BefehlsCache
DatenCache
FSB Logik/Treiber
FS
B
TFTBildschirm
B1
DVI
Analoger VGAAnschluss
GrafikController
AGP-
AGP-Port
DDR-RAM
DDR-RAM
2,1 GByte/s Controller Controller
GK
Gigabit-EthernetCSAController
Controller
266
MByte/s
B3
1 GBit/s
LANAnschluss
C
100 MBit/s
C1
FP
C2
Festplatte
DVDROM
DVDBrenner
DR
DB
C3
C4
480 MBit/s
Anschlüsse
für USB 2.0
2 Anschlüsse 150 MByte/s
für Serial-ATA
100 MByte/s
2 Anschlüsse
für ATA 100
Audio-Codec
AC `97 3
Intel 82801EB
ICH5
Southbridge
c-
C6
Takt-Generator
CPU, PCI, …
Ethernet- SystemController Managmnt.
PCIUSB2.0Controller Controller
2 SATAController
CMOSRAM
B4
DDR-RAM B4
Kanal B
3,2 GByte/s
HI = Hub Interface
266 MByte/s
HI
B4
DDR-RAM B4
Kanal A
3,2 GyteB/s
DDR-RAM
HI Controller
LA
Northbridge
Intel 82865G
GMCH
B2
Grafikkarte
Prozessor-Bus, 4⋅200 MHz
(FSB = Front Side Bus)
C7
6 PCI-Slots
PCI-Bus
133 MByte/s
FW
Batterie
C8
ATA 100 Bios-interf.
Controller Controller
Flash-Bios
C9
AC `97
SMBus
Controller Controller
SMBus 2.0/
I2C-Bus
FireWireAdapter
LPC-interface
Controller
LPC-Interface
(Low Pin Count)
D
Super
Input/Output
Controller
D4
D1 Anschluss für
seriellen Port
RS 232
Floppy
Controller Controller
Anschluss Disketten-Laufwerk
D2 Anschluss für
parallelen Port
LPT
Tastatur
Controller Controller
PS/2 Anschluss D5
Tastatur
Anschluss für
Ventilator
DrehzahlMaus
regelung Controller
PS/2 Anschluss
Maus
D3
Abb. 52: Schematischer Aufbau eines Computers
44
DL
DiskettenLaufwerk
Tastatur
Maus
D6
Die wichtigste Komponente dieser Schema-Darstellung ist der Prozessor (A).
• Prozessor
Nachfolgende Abbildung zeigt den auf der Hauptplatine befindlichen Prozessor (A), nachdem wir den
Kühlkörper entfernt haben.
Abb. 53: Prozessor (Pentium 4, Vorder- und Rückseite)
Der Prozessor ist die zentrale Rechen- und Steuereinheit des gesamten Computers. Wie bzw. was
der Prozessor rechnen oder steuern soll, steht in sog. Programmen, die aus einzelnen ProzessorBefehlen bestehen.
Die Prozessor-Befehle sind außerhalb des Prozessors gespeichert und werden vom Prozessor über
den sog. Front-Side-Bus (FSB – in Abb. 51 und Abb. 52 mit FS markiert) in den Prozessor geladen
und dann ausgeführt. Die zu den Befehlen gehörigen Operanden (die sog. Daten) liegen zunächst
ebenfalls außerhalb des Prozessors und müssen über den Front-Side-Bus in den Prozessor geladen
werden.
Um die über den FSB in den Prozessor geladenen Befehle und Operanden im Prozessor ablegen zu
können, verfügen Prozessoren über sog. Register. Register sind sehr schnelle Speicherelemente, die
genau soviele Bits aufnehmen können, wie sich intern parallel verarbeiten lassen. Die Anzahl dieser
Bits nennt man Wortbreite und den Inhalt eines Registers dementsprechend Datenwort oder auch nur
kurz Wort. Bei einem 32 Bit-Pentium-Prozessor beträgt die Wortbreite 32 Bit, die Register sind also 32
Bit breit und können somit genau 32 Bits aufnehmen.
jeweils 1 Bit
MSB
Numerierung der Bits:
…
…2 1 0
n-1
Datenwort mit Wortbreite n
Abb. 54: Datenwort
45
LSB
Die Bitstelle mit der geringsten Wertigkeit (ganz rechts) wird auch LSB (engl. Least Significant Bit ⇔
dt. niederwertigstes Bit) genannt. Die Bitstelle mit der höchsten Wertigkeit (ganz links) wird MSB (engl.
Most Significant Bit ⇔ dt. höchstwertigstes Bit) genannt.
Um Befehle sowohl abspeichern, als auch über den Bus übertragen zu können, werden Befehle genauso wie Operanden und Adressen als Zahlen codiert. Der Befehl „Addiere zwei Zahlen“ kann beispielsweise als 0x20 codiert sein, also der Bitfolge 00100000 entsprechen. Diese Bitfolge kann dann
problemlos abgespeichert bzw. übertragen werden.
Die nachfolgenden Abbildungen zeigen die Abarbeitung von Befehlen durch den Prozessor: Der als
nächstes auszuführende Befehl wird aus einem externen Speicher über den FSB in das BefehlsRegister transportiert. Anschliessend werden die zugehörigen Operanden (ebenfalls über den FSB)
geladen.
FSB = Front Side Bus
Befehls
enthält
2
-
-
register
Befehl
Befehls
zühbr
•
-
BZ:
3
Steuerung
Adresse
1
•
Registerblock
mit Registern
•
-
ALU
Flags:
enthält
Befehls
BR:
•
Steuerwerk
-
Abb. 55: Laden von Befehlen in den Prozessor
6
Dazu wird vom sog. Steuerwerk zuerst der im Befehlszähler BZ (ein Register im Steuerwerk) stehende Wert als Adresse auf den FSB gelegt (1). Diesen Vorgang nennt man Befehlsadressierung, da im
Befehlszähler immer die Zahl steht, die der Adresse des als nächstes auszuführenden Befehls entspricht. Auf den FSB wird also die Adresse des nächsten Befehlsworts gelegt.
Kurz danach erhält der Prozessor über den FSB das gewünschte Befehlswort, das er dann im Befehlsregister BR ablegt (2).
Nachdem das Befehlswort ins Befehlsregister übertragen wurde, wird es von der Steuerung analysiert
(3). Die Steuerung ermittelt dabei, von woher sie die Operanden des Befehls laden soll, ob die Operanden also z.B.
− direkt im Befehlswort abgelegt sind,
− bereits in den Prozessor geladen wurden und jetzt in Registern stehen, oder
− erst über den FSB in den Prozessor geladen werden müssen.
6
Der Name Steuerwerk leitet sich von der Aufgabe des Steuerwerks ab: Es steuert die Abarbeitung von Befehlen. Es wird oft
auch als Leitwerk bezeichnet, da es zum einen die Befehlsausführung leitet (leiten im Sinne von überwachen, verantwortlich
sein), zum anderen die Befehle und Operanden zu den jeweiligen Prozessor-Komponenten hinleitet (leiten im Sinne von entlangleiten, hinführen).
46
Nach dieser Analyse sorgt das Steuerwerk dafür, dass die benötigten Operanden der sog. ALU (Arithmetic Logic Unit), der Recheneinheit des Prozessors, zugeführt werden.
− Stehen die Operanden direkt im Befehlswort, werden sie von dort zur ALU geleitet (4).
− Stehen die Operanden in Registern, adressiert die Steuerung die entsprechenden Register (5),
d. h. sie teilt dem Registerblock mit, welche Register ausgelesen werden sollen. Anschliessend
sorgt sie dafür, dass die adressierten Operanden aus dem Registerblock an die ALU geleitet
werden (6).
FSB = Front Side Bus
BR:
4
BZ:
Steuerung
•
•
5
5
Registerblock
mit Registern
6
4
ALU
Flags:
•
Steuerwerk
Abb. 56: Bereitstellung von Operanden:
Direktoperanden und Register-Operanden.
− müssen die Operanden erst über den FSB in den Prozessor geladen werden,
+ legt die Steuerung zunächst die Adresse der Operanden auf den FSB (7) und
+ leitet die dann über den FSB gelieferten Daten als Operanden
• entweder direkt an die ALU (8)
• oder erst mal in ein Register (9), von wo aus sie dann von anderen Befehlen der ALU
zugeführt werden können (10).
FSB = Front Side Bus
Adn
Operand
↳
7
9
BR:
BZ:
Steuerung
•
7
•
[
Operand
Registerblock
mit Registern
8
10
ALU
Flags:
•
Steuerwerk
Abb. 57: Bereitstellen von Operanden über den FSB
47
aus
RAM
Nachdem die Steuerung alle Operanden an die ALU angelegt hat, teilt sie der ALU den auszuführenden Befehl (z.B. Addieren, Multiplizieren etc.) mit (11) und startet dann die Befehlsausführung (12).
FSB = Front Side Bus
BR:
BZ:
μ
•
Steuerung
13
11
12
welche
ALU
-
Operation
Registerblock
mit Registern
•
ALU
Flags:
14
Steuerwerk
•
Abb. 58: Berechnung des Ergebnisses
Treten bei der Befehlsausführung in der ALU unvorhergesehene Ereignisse/Fehler auf (z.B. Division
durch Null), werden diese der Steuerung gemeldet (13), die dann weitere Maßnahmen trifft.
Hat die ALU die ihr aufgetragenen Berechnungen abgeschlossen, meldet sie bestimmte Eigenschaften des Ergebnisses (z.B. Ergebnis ist Null, Ergebnis ist negativ), indem Sie das im Steuerwerk untergebrachte Flag-Register aktualisiert (14).
Nachfolgende Abbildung zeigt ein Beispiel für ein Flag-Register.
Overflow: Überlauf bei vorzeichenbehafteten Zahlen
Carry (Übertrag): Überlauf bei vorzeichenlosen Zahlen
Zero: Ergebnis ist Null
Sign (Vorzeichbit): Ergebnis ist negativ
OC Z SW I X E
Gleitkomma-Zahl ungenau (z.B. 1.0/3.0)
Gleitkomma-Division durch Null
Ungültige Gleitkomma-Operation (z.B. −1 )
Überlauf bei Gleitkomma-Festkomma-Wandlung
Abb. 59: Flag-Register
48
Je nach ausgeführtem Befehl muss die Steuerung jetzt das am ALU-Ausgang anliegende Ergebnis
− über den FSB verschicken (15). Dazu muss die Steuerung neben dem Ergebnis auch die
Zieladresse (Adresse im Arbeitsspeicher oder Peripherie-Gerät) mit auf den FSB legen (16).
− in ein Register des Registerblocks transportieren (17). Hierbei muss die Steuerung durch Anlegen der Registeradresse an den Registerblock diesem mitteilen, in welches Register das Ergebnis abgelegt werden soll (18).
FSB = Front Side Bus
20
BR:
BZ:
Steuerung
Registerblock
mit Registern
•
18
16 21
•
Flags:
19
15
Steuerwerk
ALU
•
17
Abb. 60: Sichern des Ergebnisses
Wird das Ergebnis in einem Register abgelegt, kann es
− sofort wieder verwendet werden (19). Eine zeitaufwendige Datenübertragung über den FSB ist
hier nicht notwendig.
− auch vom Register aus über den FSB verschickt werden (20). Dazu muss die Steuerung wieder
die Zieladresse an den FSB anlegen (21).
Um den nächsten Befehl über den FSB in den Prozessor zu laden, muss der Befehlszähler (die Adresse auf den nächsten Befehl) angepasst werden. Dazu wird zu dem aktuellen Wert des Befehlszählers die Wortbreite eines Befehls (in Byte) addiert und der Wert des neuen Befehlszählers dann wieder
auf den FSB gelegt [(1) aus Abb. 55 (Seite 46)].
drvse
des nächsten Befehls
f-
Addierer
Wortbreite des
aktuellen Befehls
Befehl 1
Bekhl 2
Befehl3
+
BZ
°
•
zum FSB
Abb. 61: Anpassen des Befehlszählers
Ab diesem Zeitpunkt wiederholen sich die in den Abb. 55 bis Abb. 60 dargestellten Schritte. Die im
Speicher stehenden Befehle werden der Reihen nach ausgeführt.
49
Fast genauso wichtig wie der Prozessor ist der Arbeitsspeicher, in dem sowohl die auszuführenden
Befehle, als auch die zugehörigen Operanden (die sog. Daten) stehen.
• Arbeitsspeicher
Die in den Abb. 51 und Abb. 52 mit B4 gekennzeichneten Komponenten sind die DDR-RAM-Module,
die zusammen den Arbeitsspeicher des Computers bilden.
Alignment
¥
.ph#*.!iE.:Fi::ff::::
IÄÄISCP
Abb. 62: DDR-RAM (Arbeitsspeicher)
Die Aufgabe des Arbeitsspeichers ist die temporäre Speicherung von Daten und Befehlen. Mit temporär ist gemeint, dass
− zum Einen die im Arbeitsspeicher abgelegten Daten mit dem Ausschalten des PCs verloren gehen. Der Arbeitsspeicher wird deshalb auch als volatiler (= flüchtiger) Speicher bezeichnet.
− zum Anderen im Arbeitsspeicher nur diejenigen Daten bzw. Befehle liegen, mit denen gerade
gearbeitet wird, woher sich auch der Name Arbeitsspeicher ableitet.
Im Gegensatz dazu ist die Festplatte ein nicht volatiler (= nicht flüchtiger) Speicher. Die Daten auf der
Festplatte gehen also nicht verloren, wenn man sie ausschaltet. Auf der Festplatte sind alle Daten und
Programme (Folge von Befehlen) gespeichert, die man irgendwann einmal verwendet hat oder evtl.
einmal verwenden wird. Mit den Daten auf der Festplatte wird also nicht aktuell gearbeitet, die Daten
werden auf der Festplatte nur gelagert.
Um mit Daten/Programmen zu arbeiten, müssen diese erst von der Festplatte in den Arbeitsspeicher
geladen werden (1) (vgl. nachfolgende Abbildung). Die Daten werden dann vom Arbeitsspeicher in
den Prozessor transportiert (2), dort verarbeitet (3) und dann wieder im Arbeitsspeicher abgelegt (4).
Sollen die Daten erneut bearbeitet werden, müssen sie wieder vom Arbeitsspeicher in den Prozessor
geladen werden (5). Dort werden Sie weiterverarbeitet (6) und im Anschluss wieder in den Arbeitsspeicher zurückgeschrieben (7). Würde der Rechner jetzt ausgeschaltet werden, gingen die Daten
verloren. Um sie permanent zu speichern, müssen sie auf der Festplatte abgelegt werden (8).
50
36
2
4
5
7
8
1
Abb. 63: Datenfluß im PC
Nachfolgende Abbildung zeigt, dass der Arbeitsspeicher wie eine Tabelle funktioniert.
SpeicherAdressen
Adresse 1
z.B. 0x00..02
Steuerleitungen
Lesen
Schreiben
0x00..00
0x00..01
0x00..02
0x00..03 5
0x00..04 10
0x00..05
2
3
8
Daten
0x10
0x2F
0x4B 11
0xC3
0x96
0x83
4
•
0x4B 6
7 0x4B
Speicher-Inhalt
(Daten)
9
0xFF..FF
0x5D
Datum (1 Byte)
Abb. 64: Speicher
Um auf Daten im Arbeitsspeicher zuzugreifen, muss man dem Speicher zuerst mitteilen, auf welches
Datum der Zugriff erfolgen soll. Dazu legt man am Eingang Adresse die Adresse der gewünschten
Speicherstelle an (1). Diese sog. Adressierung hat zur Folge, dass im Speicher die Speicher-Stelle mit
dem gewünschten Datum ausgewählt wird (2).
− Soll das ausgewählte Datum aus dem Speicher ausgelesen werden, muss man dies dem Speicher durch ein Signal auf der Steuerleitung Lesen mitteilen (3). Der Speicher reagiert darauf, indem er zwischen der adressierten Speicherstelle und der mit Daten gekennzeichneten Spei-
51
cher-Schnittstelle eine Verbindung freischaltet (4), so dass das gewünschte Datum nach aussen
geleitet wird (5) und dann dort abgegriffen werden kann (6).
− Soll an die ausgewählte Stelle jedoch ein neues Datum geschrieben werden, muss dieses Datum zunächst an die Daten-Schnittstelle angelegt werden (7). Durch ein Signal auf der Steuerleitung Schreiben (8) wird dann eine Verbindung zwischen der Daten-Schnittstelle und der
adressierten Speicherstelle hergestellt (9), über die das Datum dann transportiert wird (10). Das
Datum wird anschliessend an der adressierten Speicherstelle abgespeichert (11).
Die Daten-Schnittstelle zum Speicher muss also bidirektional ausgelegt sein, d.h. sie dient beim Lesen
als Ausgang und beim Schreiben als Eingang.
Die Adress- und Steuer-Schnittstelle des Speichers ist unidirektional. Sie dient immer nur als Eingang
und niemals als Ausgang.
Neben der zuvor besprochenen Eigenschaft, dass der Arbeitsspeicher ein nicht flüchtiger Speicher ist,
gibt es noch eine weitere Eigenschaft, die ihn von anderen Speichermedien wie z.B. Festplatte oder
DVD unterscheidet: Ganz egal, auf welche Speicherstelle man gerade geschrieben hat oder von welcher Speicherstelle man gerade gelesen hat, dauert der Zugriff auf eine beliebige andere Speicherstelle immer gleich lang. Man spricht deshalb auch von einem Speicher mit wahlfreiem Zugriff, was im
englischen mit RAM (Random Access Memory) abgekürzt wird.
Im Gegensatz dazu muss bei einer Festplatte in Abhängigkeit der Position des gerade adressierten
Datums zur Adressierung eines anderen Datums der Schreib- und Lesekopf einmal mehr, einmal weniger weit verschoben werden, was natürlich Zeit kostet. Darüberhinaus kann nach der Positionierung
des Schreib- Lesekopfs erst dann auf den gewünschten Sektor zugegriffen werden, wenn sich dieser
unter dem Schreib-Lesekopf befindet.
Bei DVD-Laufwerken, bei denen die DVD mit gleicher Linear-Geschwindigkeit, also mit unterschiedli7
cher Winkel-Geschwindigkeit rotiert, muss zusätzlich noch die Geschwindigkeit erhöht bzw. verringert
werden.
RAMs lassen sich in zwei Gruppen einteilen:
− SRAMs (= Statisches RAMs) und
− DRAMs (Dynamisches RAMs).
Eine SRAM-Speicherzelle benötigt zur Abspeicherung eines Bits sechs Transistoren, von denen sich
vier gegenseitig Sperren bzw. Durchschalten, wie in nachfolgender Abbildung gezeigt.
÷
t.io
UB
Spaltenleitung
P1
N1
,
N3
Bit
:*
P2
N2
N4
Spaltenleitung invertiert
Zeilenleitung (Auswahl)
Bit
Abb. 65: SRAM-Speicherzelle
Die Speicherzelle wird über die sog. Zeilenleitung (oder auch Auswahlleitung) adressiert. Das Bit wird
dann über die Spaltenleitungen (Bit bzw. Bit invertiert) ein- und ausgelesen.
7
Sollen die auf der DVD geschriebenen Daten vom Laser mit konstanter Rate abgetastet werden, muss sich die DVD umso
schneller drehen, je weiter innen auf der DVD die Daten gelesen werden.
52
Nachfolgende Abbildung zeigt, wie man in dieser rückgekoppelten Transistor-Schaltung ein Bit abspeichern kann. Spannungspegel auf der Höhe der Versorgungsspannung sind dabei mit „+“, Masse
durch „–“ gekennzeichnet.
Spaltenleitung
UB
12
+
- 11
P1
5
+
13
+
+ N1
X
7
N3 10
16
+
15
+ P2
Y
+
6
N2 9 18
8
+ N4
14
- 17
-
2 Bit = 1 (+)
Spaltenleitung invertiert
Zeilenleitung (Auswahl)
1 4 +
19 -
3 Bit = 0 (-)
Abb. 66: Abspeichern eines Bits im SRAM
Im Grundzustand liegt die Zeilenleitung auf Masse (1). Da an den Gates der beiden N-KanalTransistoren N1 und N2 dann ebenfalls Masse anliegt, sperren beide. Die aus den vier Transistoren
P1, P2, N3 und N4 aufgebaute Rückkopplungsschaltung ist somit von der Aussenwelt isoliert.
Will man ein Bit mit dem Wert „1“ in dieser Speicherzelle abspeichern, legt man zunächst den Eingang
Bit auf 1, also auf den Pegel der Versorgungsspannung UB (2) und den Eingang Bit invertiert auf 0,
also auf Masse (3).
Wählt man anschließend durch Anlegen der Versorgungsspannung an die Zeilenleitung (4) die SRAMZelle aus, liegen die Gates der beiden Transistoren N1 und N2 auf UB (5, 6).
Da die Spaltenleitung Bit auf UB liegt (2), liegt auch am Source-Anschluss von N1 UB an (7), weswegen dieser sperrt. Punkt X wird von N1 also auf keinen bestimmten Spannungspegel gezogen.
Da die Spaltenleitung Bit invertiert auf Masse liegt (3), liegt der Source-Anschluss von N2 ebenfalls
auf Masse (8). Da das Gate von N2 auf UB-Pegel liegt (6) schaltet N2 durch und zieht den Punkt Y auf
Masse (9). Aus diesem Grund werden auch die Gates von N3 und P1 auf Masse gezogen (10, 11).
Da bei N3 sowohl Gate (10) als auch Source auf Masse liegen, sperrt dieser. Bei P1 hingegen liegt
Source auf UB (12), so dass P1 leitend wird und der Punkt X auf UB-Potential gezogen wird (13).
Dies hat wiederum zur Folge, dass die Gates von N4 und P2 ebenfalls auf UB-Potential liegen (14,
15). Da bei P2 jetzt sowohl Source (16) als auch Gate (15) auf UB-Potential liegen, sperrt dieser.
N4 leitet jedoch, da sein Gate auf UB-Potential (14) und Source auf Masse (17) liegt. Daraus folgt,
dass Punkt Y auch dann auf Masse-Pegel bleibt (18), wenn an der Zeilenleitung wieder UB-Pegel angelegt wird (19), die Transistoren N1 und N2 damit nicht mehr durchschalten und die aus P1, P2, N3
und N4 bestehende Rückkopplungsschaltung wieder von der Aussenwelt abtrennen.
Durch die Rückkopplung der vier Transistoren P1, P2, N3 und N4 liegt Punkt X somit auf +UB und
Punkt Y auf Masse. Dieser Zustand entspricht dem abgespeicherten Wert „1“. Läge Punkt X auf Masse und Punkt Y auf +UB, entspräche das dem abgespeicherten Wert „0“.
53
Wie der im SRAM gespeicherte Wert wieder ausgelesen werden kann, zeigt die nachfolgende Abbildung.
UB/2
5
UB/2
5
4 +
N5
2 3 +
7 -
4 +
N6
Precharge
6
UB/2
6
UB/2
UB
P2
Y
Spaltenleitung
P1
N1
N2
X
N3
N4
Spaltenleitung invertiert
Zeilenleitung (Auswahl)
1 8 +
16 -
Bit
Bit
10
-
9
+ +
+UB ⇒ 1 11
- UB ⇒ 0 12
Abb. 67: Auslesen einer SRAM-Speicherzelle
Um das gespeicherte Bit auszulesen, muss getestet werden, ob
− entweder Punkt X auf positivem Potential und damit Punkt Y auf negativem Potential liegt (dann
ist eine „1“ gespeichert),
− oder Punkt X auf negativem Potential und damit Punkt Y auf positivem Potential liegt (dann ist
eine „0“ gespeichert).
Für diesen Test werden durch Anlegen von +UB an die Zeilenleitung (8) die beiden Transistoren N1
und N2 durchgeschaltet und die Potentiale der Punkte X und Y an einen Differenzverstärker weitergeleitet (9, 10), dessen Ausgang dann je nach abgespeichertem Bit entweder +UB (abgespeichertes Bit
war eine 1) oder auf -UB (abgespeichertes Bit war eine 0) liefert (11, 12).
Damit beim Durchschalten der Transistoren N1 und N2 am Differenzverstärker möglichst schnell die
Pegeldifferenz der Punkte X und Y anliegt, sollten die beiden Spaltenleitungen (Bit und Bit invertiert)
vor dem Durchschalten auf selbem Potential liegen.
− Da die beiden Spaltenleitungen aufgrund der daran angeschlossenen Transistoren und der
Verdrahtung über eine gewisse Kapazität verfügen, ist auf ihnen stets eine gewisse Ladung gespeichert.
− Im ungünstigen Fall hat diese Ladung ein zur Ladung an den Punkten X und Y genau entgegengesetztes Vorzeichen.
− Diese Ladung auf den Spaltenleitungen muss beim Durchschalten der Transistoren erst überwunden werden, was einen Zeitverlust darstellt.
54
− Liegen beide Spaltenleitungen vor dem Durchschalten von N1 und N2 jedoch auf selbem Potential, genügt bereits der Transport einer sehr geringen Ladungsmenge, um den zwischen den
Punkten X und Y vorhandenen Potentialunterschied durch den Differenzverstärker detektieren
zu können.
− Die Detektion erfolgt dann sehr schnell, was eine sehr kurzen Auslesezeit der Speicherzelle zur
Folge hat.
Im Grundzustand liegen die Zeilenleitung und die Steuerleitung Precharge jeweils auf Masse (1, 2).
Die aus P1, P2, N3 und N4 bestehende Rückkopplungsschaltung ist somit von den Spaltenleitungen
getrennt.
Um die Spaltenleitungen auf gleiches Potential (in diesem Beispiel UB/2) zu legen, wird auf der Steuerleitung Precharge für kurze Zeit die Spannung +UB angelegt (3). Da das Gate (4) der Transistoren N5
und N6 dann auf höherem Pegel liegt als die zugehörigen Source-Anschlüsse (5), schalten N5 und N6
durch. Die Spaltenleitungen Bit und Bit invertiert werden somit beide auf UB/2-Potential aufgeladen (6)
und die beiden Transistoren N5 und N6 durch Anlegen von Masse an die Precharge-Leitung (7) danach wieder gesperrt.
Selbst wenn bei einer abgespeicherten „1“ N1 aufgrund des geringen Spannungsunterschiedes (ΔU =
UB – UB/2 = UB/2) zwischen Gate und Source nicht durchschalten sollte, führt die Spaltenleitung Bit
aufgrund der Aufladung zumindest positives Potential. Die Spaltenleitung Bit invertiert wird bei einer
abgespeicherten „1“ hingegen definitiv über N2 auf Masse gezogen, so dass am Differenzverstärker
das Vorzeichen der Pegeldifferenz der Punkte X und Y sofort detektiert werden kann.
55
Im Gegensatz zu SRAM-Speicherzellen sind DRAM-Speicherzellen wesentlich einfacher aufgebaut:
Sie bestehen lediglich aus einem Transistor und einem Kondensator.
Zeilenleitung
Spaltenleitung
C
Abb. 68: DRAM-Speicher
Der Transistor dient – wie die beiden Transistoren N1 und N2 beim SRAM – zur Isolierung des Speicherelements von der Aussenwelt. Das Speicherelement ist hier jedoch nicht eine rückgekoppelte
Transistorschaltung, sondern ein Kondensator.
Um ein Bit im DRAM abzulegen, wird der Transistor durchgeschaltet und der Kondensator über die
Zeilenleitung dann entweder ge- oder entladen. Anschliessend wird der Transistor wieder gesperrt, so
dass die im Kondensator gespeicherte Ladung erhalten bleibt.
Aufgrund von Leckströmen verliert der Kondensator jedoch mit der Zeit seine Ladung, weshalb er
immer wieder aufgefrischt werden muss. Die Speicherzelle muss dabei ausgelesen und dann mit dem
selben Wert wieder beschrieben werden.
Da Laden und Entladen bei Kondensatoren immer Zeit benötigt (U(t) = U0 ⋅ e
fe auf DRAMs im Vergleich zu Zugriffen auf SRAMs wesentlich langsamer.
-RC/t
), sind Speicherzugrif-
Da für DRAM-Speicherzellen vier Bauteile weniger benötigt werden als für SRAM, kann DRAM billiger
hergestellt werden als SRAM. Zudem benötigt eine DRAM-Speicherzelle wesentlich weniger SiliziumFläche als eine SRAM-Speicherzelle, weshalb deutlich mehr DRAM-Speicherzellen als SRAMSpeicherzellen auf einen Chip passen. Aus diesem Grund erreicht man bei einer bestimmten Speichergrösse mit DRAM auch eine höhere Ausbeute als mit SRAM, was den Preis von DRAM im Vergleich zu SRAM weiter senkt.
Gerade diese Wirtschaftlichkeit hat dafür gesorgt, dass als Arbeitsspeicher fast ausschliesslich
DRAM-Speicher verwendet wird.
Da die Zeilen- und Spaltenleitungen des Chips beim Be- und Entladen der Speicherzelle belegt sind
und somit nicht zum Be- und Entladen von anderen Speicherzellen des Speicherchips verwendet werden können, sind die Daten aufeinanderfolgender Adressen in der Regel in verschiedenen Speicherchips abgelegt. Auf diese Weise kann bei den häufig auftretenden konsekutiven Speicherzugriffen
(Zugriffe auf aufeinanderfolgende Adressen) die eine Speicherzelle bereits ausgelesen werden, während in die andere noch die beim Auslesen verlorengegangene Ladung zurückgeladen wird.
Solche Verfahren haben zu einer Vielzahl unterschiedlicher DRAM-Speicherarten geführt. Eine von
diesen ist auch das in unserem PC verwendete DDR-RAM (Double-Data-Rate RAM), das eine Weiterentwicklung des SD-RAMs (Synchronous DRAM) ist.
56

Documentos relacionados