Kapitel 7 - Ruhr-Universität Bochum

Werbung
Strukturprinzipien von DRAM-Speicher-ICs
7 Hauptspeicher und Speichermodul-Schnittstelle
Der Datenfluss zwischen dem Prozessor und dem Hauptspeicher ist durchsatzbestimmend. 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-LeseSpeichern (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 gespeicherten 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
176
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 MatrixAnordnung (Bild 7.2).
Daten-Leitungspaar smax
Daten-Leitungspaar 1
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
177
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 ausgewä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 Ladungsungleichgewicht. 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 smax
Daten-Leitungspaar 1
Auswahl-Leitung 1
nicht
geladen
geladen
geladen
Auswahl-Leitung 2
Auswahl-Leitung zmax-1
Csp
Auswahl-Leitung zmax
0
Vcc
Schreib/Lese-Verstärker
Vcc
0
Schreib/Lese-Verstärker
0
Vcc
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
178
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 verstä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
179
Jacob
Strukturprinzipien von DRAM-Speicher-ICs
Spalte 1
Spalte 2
Spalte smax
Vcc/2
Steuerung des
Vorladens
VorladeSchaltung
Zeile 1
Zeile 2
Zeilendekoder
Zeile zmax-1
Zeile zmax
Lese/
SchreibVerstärker
DinPuffer
Lese/
SchreibVerstärker
Lese/
SchreibVerstärker
IOSchaltung
DoutPuffer
Spaltendekoder
Bild 7.4: Kern-Struktur eines DRAMs (x1Bit-Struktur) mit Speichermatrix, Dekoder-, IODatenpfad- und Vorlade-Schaltungen
Computertechnik
180
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
Vcc/2
Steuerung des
Vorladens
VorladeSchaltung
Zeile 1
Zeile 2
Zeilendekoder
Zeile zmax-1
Zeile zmax
Lese/
SchreibVerstärker
DinPuffer
Lese/
SchreibVerstärker
Lese/
SchreibVerstärker
IOSchaltung
DoutPuffer
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
181
Jacob
Nicht-synchrone DRAMs: EDO-DRAMs
Vcc/2
Zei
len
de
ko
der
vervielfachte
Speichermatrizen
mit Datenpfadschaltungen
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).
2
MAn/2-1
.
.
.
.
MA0
R
e
g
i
s
t
e
r
n/2
2
Zeilen
Lese-/SchreibVerstärker
Puffer
R HAn/2-1
e
.
g
Spalten.
i
adreß.
s
decoder
.
t
HA0
e
r
WE
adressiertes
Speicherelement
Spalten
HAn-1
.
.
Zeilenadreß.
decoder
.
HAn/2
RAS
CAS
Din
n/2
IOSchaltung
Puf- Dout
fer
WE
Control
Bild 7.7: 2n x1Bit EDO-DRAM-Speicher-IC mit quadratischer Speichermatrix
Computertechnik
182
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 LowZustand 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
= neuer Speicherzugriff möglich
gültig
Vorladen (wenn nötig)
RAS
CAS
Zeile
Spalte
Adresspins
Dout
gültig
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 SpaltenPulses 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
183
Jacob
Nicht-synchrone DRAMs: EDO-DRAMs
Bits
gültig
Spalte
gültig
Zeile
Spalte
Spalte
gültig
Spalte
Bits
gültig
Bits
gültig
Spalte
gültig
Spalte
Bits
gültig
RAS
Spalte
gültig
CAS
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 Transistors. - 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
der Schaltung.
+
+
RL
RL
Auswahl-Leitung i
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
184
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 DRAMSpeicherelement, 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
MAn-1=HAn-1
.
.
.
MAn/2=HAn/2
Din
2
Spalten
Zeilenadreßdecoder
n/2
2
Zeilen
SchreibVerstärker
LeseVerstärker
MAn/2-1=HAn/2-1
.
Spalten.
adreß.
decoder
MA0=HA0
WE
CS
Speicherelement
Flip-Flop
Dout
WE=L,CS=L
WE-CS
Control
WE=H,CS=L
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
185
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
AdressInterface
CommandInterface
Zeilenadr.
Spaltenadr.
ActivCommand
ReadCommand
tRCD
CL
DatenInterface
Takt
Bild 7.11: Zeilenauswahl, Spaltenauswahl- und Datenübertragungs-Phase beim lesenden Burst-Speicherzugriff zu einem SDRAM
RCD Row Column Delay, CL Column Latency: beide Zeiten sind bedingt durch schaltungstechnische Verarbeitungszeiten und sie sind auf je ein ganzzahliges Vielfaches der Taktzykluszeit aufgerundet.
Beim Ablauf der Phasen muss man erkennen können, ob es sich um eine Zeilenauswahl-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
186
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 Spaltenadressierung 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).
Zeilenadr.
Spaltenadr.
Spaltenadr.
ActivCommand
ReadCommand
ReadCommand
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).
Zeilenadr.
Spaltenadr.
ActivCommand
ReadCommand
tRCD
CL
Precharge
Command
tRP
Zeilenadr.
Spaltenadr.
ActivCommand
ReadCommand
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
187
Jacob
Synchrone DRAMs (SDRAMs)
SDRAMs haben vier (interne) Speicherbänke (Bild 7.14).
Je nach Speichertyp
Adresswort
I
n
t
e
r
f
a
c
e
Speicher
-bank 3
Speicher
-bank 2
Speicher
-bank 1
Speicher
-bank 0
I
n
t
e
r
f
a
c
e
ein 1Bit-Datenwort
ein 4Bit-Datenwort
ein 8Bit-Datenwort
pro Taktperiode
Zeit
in Taktperioden
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
Interface
Speicherbankadr.
Speicherbankadr.
AdressInterface
Zeilenadr.
Spaltenadr.
ActivCommand
ReadCommand
CommandInterface
tRCD
CL
DatenInterface
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
188
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 ReadCommand für den nachfolgenden Zugriff auf b erst dann wirksam werden, wenn die
Kettung an den vorhergehenden Datentransfer möglich ist.
Speicherbank
adr.
a
Speicherbank
adr.
b
Speicherbank
adr.
a
Zeilen-Zeilen-Spaltenadr.
adr. adr.
Activ- ActivCom. Com.
ReadCom.
Speicherbank
adr.
b
Spaltenadr.
ReadCom.
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 ReadCommand gesendet werden kann.
Speicherbank
adr.
a
Zeilenadr.
ActivCom.
Spei- Speicher- cherbank bank
adr. adr.
a
b
Spalten- Zeilenadr. adr.
Read- ActivCom. Com.
Speicherbank
adr.
b
Spaltenadr.
ReadCom.
Bild 7.17: Verzögerung des Activ-Commands des nachfolgenden Speicherzugriffs
Computertechnik
189
Jacob
Synchrone DRAMs (SDRAMs)
Struktur von „mal n“ SDRAMs
Ein SDRAM mit „mal n“-Struktur muss n Bits pro Speicherbank bereitstellen (Bild 7.18).
Zeilenoder
SpaltenAdress
-wort
4 D atenbits
bei x4BitStruktur
R
e
g
i
s
t
e
r
Zeilenadreßdecoder
R
e
g
i
s
t
e
r
Spaltenadreßdecoder
Das SpeicherbankAdresswort gibt die Auswahl
der Speicherbank vor.
Steuereinheit
Takt
Command-Wort
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 Zeilenbzw. Spaltenauswahl entstehen größere Command-Übertragungslücken und damit
mehr Variationsmöglichkeiten bei der Zusammenstellung der Command-Folgen.
Computertechnik
190
Jacob
Synchrone DRAMs (SDRAMs)
Speicherbank
adr.
b
Speicherbank
adr.
b
Speicherbank
adr.
b
Zeilen- Spaltenadr. x adr. y
Spaltenadr. z
Spaltenadr. z+4
Spaltenadr. z+8
Activ- ReadCom. Com.
ReadCom.
ReadCom.
ReadCom.
Speicherbank
adr.
a
Speicherbank
adr.
b
Zeilenadr. x
ActivCom.
Speicherbank
adr.
a
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
191
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
192
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 DDR2SDRAMs 4 übertragen. Deshalb spricht man auch von 1Bit-Fetch bzw. 2Bit-Fetch bzw. 4BitFetch.
Computertechnik
193
Jacob
Speichermodule für synchrone DDR DRAMs (DDR1, DDR2)
7.5 Speichermodule für synchrone DDR DRAMs (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 x8BitStruktur.
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
194
Jacob
Speichermodule für synchrone DDR DRAMs (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 zuund abgeschaltet werden: CKE (clock
enable).
Computertechnik
195
Jacob
Speichermodule für synchrone DDR DRAMs (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
196
Jacob
Speichermodule für synchrone DDR DRAMs (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
Adressierung
Daten
Command
Clock
Pin-Name
A0 - A13
BA0 - BA1
DM0 - DM8
S0/ - S1/
DQ0 - DQ63
CB0 - CB7
DQS0 - DQS8
RAS/
CAS/
WE/
CKE0 - CKE1
CK0 - CK2
Funktion
SDRAM Adress Bus
SDRAM Bank Select
SDRAM Data Mask
Select der physikalischen Speicherbänke
DIMM Memory Data Bus
DIMM ECC Check Bits
SDRAM Data Strobes
SDRAM Row Address Strobe
SDRAM Column Address Strobe
SDRAM Write Enable
SDRAM Clock Enable
SDRAM Clock (positive Signale von 3 differentiellen
Signalpaaren)
SDRAM Clock (positive Signale von 3 differentiellen
Signalpaaren)
IIC Serial Bus Clock
IIC Serial Bus Data Line
IIC Slave Address Select
CK0/ - CK2/
EEPROM
Spannungen, Masse
SCL
SDA
SA0 – SA2
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 DDR2Speichermodule zusammengefasst.
Computertechnik
197
Jacob
Speichermodule für synchrone DDR DRAMs (DDR1, DDR2)
Funktionsgruppe
Adressierung
Daten
Pin-Name
A0 - A9,
A10/AP
A11 - A15
BA0 - BA2
DM0 - DM8
S0/ - S1/
DQ0 - DQ63
CB0 - CB7
DQS0 - DCQ8
DQS0/ - DQS8/
Command
Clock
RAS/
CAS/
WE/
CKE0 - CKE1
CK0
CK0/
EEPROM
SCL
SDA
SA0 - SA2
ODT0 - ODT1
Spannungen, Masse
Diverse Pins
Funktion
SDRAM Adress Bus
AutoPrecharge
SDRAM Bank Select
SDRAM Data Mask
Select der physikalischen Speicherbänke
DIMM Memory Data Bus
DIMM ECC Check Bits
SDRAM Data Strobes (positive Signale von 9
differentiellen Signalpaaren)
SDRAM Data Strobes (negative Signale von 9
differentiellen Signalpaaren)
SDRAM Row Address Strobe
SDRAM Column Address Strobe
SDRAM Write Enable
SDRAM Clock Enable
SDRAM Clock (positives Signal von einem
differentiellen Signalpaar)
SDRAM Clock (negatives Signal von einem
differentiellen Signalpaar)
IIC Serial Bus Clock
IIC Serial Bus Data Line
IIC Slave Address Select
je ein On Die Termination Control Signal für die
Speicherbänke vorne und hinten
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
198
Jacob
Speichermodule für synchrone DDR DRAMs (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
199
Jacob
Dual-Channel-Konfiguration
Man erkennt den Pfad, mit dem die Adressbits aus dem Adressregister in die Mode Register
übertragen werden (ohne Hinweis auf die Auswahl mit Hilfe der Adressbits BA2-BA0).
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-LeseRegister übertragen werden. Beim Schreiben müssen zuerst vier 8Bit-Wörter in das 4BitPrefetch-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
200
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 SDRAMICs haben eine x8-Struktur. Das Schema der Umsetzung der Adressen ist in Bild 7.27
angegeben.
high significant bit
FSB: A31
R
e
g
i
s
t
e
r
Zeilenadresse
Speicherbankadresse
R
e
g
i
s
t
e
r
Spaltenadresse
FSB: A3
low significant bit
R
e
g
i
s
t
e
r
R
e
g
i
s
t
e
r
R
e
g
i
s
t
e
r
R
e
g
i
s
t
e
r
Speicherbank 3
Speicherbank 2
Speicherbank 1
Speicherbank 0
R
e
g
i
s
t
e
r
R
e
g
i
s
t
e
r
andere Steuersignale
FSBadresse
Steuereinheit
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 x8Struktur
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 ModulSockeln 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
201
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
Zeilenadressen
Bank 1
usw.
Bank 2
usw.
usw.
Bank 3
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
Zeilenadressen
Bank 1
Bank 2
Bank 3
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
202
Jacob
Herunterladen