Nachrichten
Artikel
Mitmachen
Shop
Kontakt
Sprache
 
Neu von MSI

Speicher-Guide für den Athlon 64 und Opteron im Sockel 754 und 939 - 2/10
23.02.2006 by doelf
Der komplette Artikel als Druckversion

Wie funktioniert ein Speicherzugriff?
Um die auf den nächsten Seiten folgenden Angaben zu verstehen, ist ein wenig Hintergrundwissen nützlich. Wir werden dabei stark vereinfachen und nur an der Oberfläche kratzen, damit die Erklärungen verständlich bleiben.
Wie man beim ersten Blick auf einen Speicherriegel sieht, verwendet dieser mehrere Speicherchips gleicher Bauart. Intern sind diese Speicherchips im Prinzip wie eine Tabelle organisiert. Es gibt Spalten (Columns) und Reihen (Rows), über die jedes einzelne Bit (die einzelne Tabellenzelle bzw. DRAM-Zelle) angesprochen werden kann. Dieses enthält dann entweder eine "0" oder eine "1".

Der Speichercontroller versucht die Spalten immer sequentiell zu schreiben, d.h. die Daten werden - wenn möglich - hintereinander in eine Spalte des Arrays geschrieben. Erst wenn diese voll ist, wechselt er auf die nächste Reihe. Aus diesem Grund sind die CAS-Timings (Column Address Strobe) auch wichtiger für die Performance als die RAS-Timings (Row Address Strobe): Sie treten häufiger auf.

Mit wachsender Speichergröße wurde es unumgänglich, mehrere solcher Tabellen (Arrays) anzulegen und diese letztendlich in Array-Gruppen, den Bänken (Banks) zu organisieren. Diese Bänke beziehen sich auf die interne Architektur der einzelnen Speicherchips und haben nichts mit ein- oder doppelseitigen Speicherriegeln (2 Ranks) zu tun! Sie haben aber sehr wohl mit der BIOS-Einstellung "Bank Interleave" zu tun.

Eine zweite Verwendung des Begriffes "Bank" finden wir bei den Speicherriegeln bzw. den DIMM-Slots. Hier wird der Begriff "Bank" oft verwendet, um eine einseitige oder doppelseitige Belegung zu definieren. Richtiger wäre es allerdings, von ein oder zwei "Ranks" zu sprechen. Zumeist kann man die Zahl der Ranks des Speichermodules an der Anzahl der bestückten Seiten festmachen. Gibt es nur auf einer Seite der Platine Speicherchips, so handelt es sich bei unbuffered DRAM immer um einen Speicherriegel mit einem einzelnen Rank. Finden sich Speicherchips auf beiden Seiten der Platine, so wird es sich bei unbuffered DRAM in der Regel um ein Modul mit zwei Ranks handeln. Es gibt darüberhinaus aber auch doppelseitig bestückte Riegel mit nur einem Rank sowie - ausschließlich im Serverbereich - doppelseitig bestückte Speichermodule mit vier Ranks. Ein Rank definiert sich bei DRAM letztendlich dadurch, daß er genau 64 Daten-Bits breit ist.
Um die Sache etwas zu vereinfachen, werden wir im Folgenden die Abkürzungen SS (single sided) für Speicherriegel mit einem Rank verwenden, Module mit zwei Ranks kennzeichnen wir mit DS (double sided):

Wird nun ein bestimmtes Bit verlangt, so sendet der Speichercontroller die Adresse der Reihe und kennzeichnet die Anfrage zudem als "Row", danach sendet er die Adresse für die Spalte, welche nun als "Column" deklariert wird. Doch es wird nicht nur ein einzelnes Bit gelesen, da dies einen sehr langsamen Speicherzugriff zu Folge hätte, sondern - zumindest bei heutigen unbuffered DDR SDRAM Modulen - gleich 64 Bit auf einen Schlag. Die meisten Speicherriegel verwenden 8 oder 16 Speicherchips, würden wir zugleich aus allen Chips lesen, bekämen wir nur 8 bis 16 Bit auf unsere Anfrage - zu wenig. Um auf 64 Bit zu kommen, wird die gewünschte Adresse aus allen Arrays aller geöffneten Bänke aller Speicherchips gelesen. Es sind nämlich nicht immer alle Bänke offen, genauer gesagt ist immer nur eine einzige Bank pro Chip geöffnet. Dies vermindert die im Betrieb entstehende Abwärme und senkt den Stromverbrauch, zudem wird eine bessere Signalqualität erreicht.

Ein Beispiel:
Betrachten wir einen unserer einseitig bestückten DDR400 Speicherriegel mit 512 Megabyte (Infineon HYS64D64300HU, DIMM: 64Mx64, SDRAM: 64Mx8). Dieser hat 8 Chips mit einer Speicherdichte von jeweils 64 MByte, angeordnet in einem Rank, also einseitig (single sided).
Intern verwenden die SDRAM Chips 2 Banks mit jeweils 8 Arrays von 32 MBit Größe (2x 32M x8 oder kurz: 64Mx8):
2 (Banks) x 8 (Arrays) x 32 Mbit x 8 (Chips) = 4096 Mbit
Teilen wir die 4096 Mbit durch 8, so erhalten wir 512 Megabyte. Soweit, so gut.
Adressieren wir nun eine bestimmte Adresse (Row/Column), so wird von 8 Chips aus je 8 Arrays ein Bit ausgelesen. 8 x 8 = 64 Bit. Damit hätten wir den Single-Channel Betrieb nachgestellt.
Beim Dual-Channel Betrieb muß nicht umsonst identischer Speicher in zwei DIMM-Slots verwendet werden, denn hier geschieht das gleiche wie zuvor, nur wird diesmal gleichzeitig auf zwei Speicherriegeln zugegriffen: Es werden also von zwei Speicherriegeln aus jeweils 8 Chips aus je 8 Arrays einzelne Bits ausgelesen, womit wir einen 2 x 8 x 8 = 128 Bit breiten Speicherzugriff bekommen.

Noch ein Beispiel:
Infineon DDR400 256 MByte HYS64D32301HU (DIMM: 32Mx64, SDRAM: 32Mx16)
Dieses Modul hat nur 4 Chips mit einer Speicherdichte von jeweils 64 MByte, angeordnet in einem Rank (single sided).
Intern verwenden die SDRAM Chips 2 Banks mit jeweils 16 Arrays von 16 MBit Größe (2x 16M x16 oder kurz: 32Mx16):
2 (Banks) x 16 (Arrays) x 16 Mbit x 4 (Chips) = 2048 Mbit
Teilen wir die 2048 Mbit durch 8, so erhalten wir 256 Megabyte.
Adressieren wir nun eine bestimmte Adresse (Row/Column), so wird von 4 Chips aus je 16 Arrays ein Bit ausgelesen. 4 x 16 = 64 Bit.

Ein letztes Beispiel:
Infineon DDR400 1024 MByte HYS64D128320HU (DIMM: 128Mx64, SDRAM: 64Mx8)
Dieses Modul ist doppelseitig bestückt (2 Ranks) und verfügt über 16 SDRAM-Chips mit einer Speicherdichte von jeweils 64 MByte.
Intern verwenden die SDRAM Chips 2 Banks mit jeweils 8 Arrays von 32 MBit Größe (2x 32M x8 oder kurz: 64Mx8):
2 (Banks) x 8 (Arrays) x 32 Mbit x 16 (Chips) = 8192 Mbit
Teilen wir die 8192 Mbit durch 8, so erhalten wir 1024 Megabyte.
Adressieren wir nun eine bestimmte Adresse (Row/Column), so wird von 16 Chips aus je 8 Arrays ein Bit ausgelesen. 8 x 16 = 128 Bit. Doch halt, da stimmt etwas nicht! Es sollen doch nur 64 Bit sein. Sind es auch, denn wir haben die beiden Ranks vergessen: Da jeder der beiden Ranks 64 Daten-Bit breit ist, bekommen wir oben 128 Bit als Ergebnis. Gelesen werden jeweils 8 x 8 = 64 Bit.

In Bezug auf den Speichertakt gibt es beim Athlon 64 einige Besonderheiten, welche wir auf der nächsten Seite erläutern werden.

Weiter: 3. Der Speichertakt beim Athlon 64

1. Einleitung
2. Wie funktioniert ein Speicherzugriff?
3. Der Speichertakt beim Athlon 64
4. Speicheroptionen (BIOS)
5. Sockel 754: 1-3 DIMMs
6. Sockel 939 vor der Revision E: 2-4 DIMMs
7. Sockel 939 ab der Revision E: 1-2 DIMMs
8. Sockel 939 ab der Revision E: 3 DIMMs
9. Sockel 939 ab der Revision E: 4 DIMMs
10. Praxistest

Diesen Testbericht diskutieren...

Diese Werbefläche wurde deaktiviert. Damit geht Au-Ja.de eine wichtige Einnahmequelle verloren.

Werbung erlauben ]
© Copyright 1998-2016 by Dipl.-Ing. Michael Doering. [ Nutzungsbedingungen ]
Diese Werbefläche wurde deaktiviert. Damit geht Au-Ja.de eine wichtige Einnahmequelle verloren.

Werbung erlauben ]

Ihr Homepage-Baukasten von Wix.

Einfach.
Schnell.
Ohne Vorkenntnisse.
Au-Ja Testurteil:
Sehr Gut
Diese Werbefläche wurde deaktiviert. Damit geht Au-Ja.de eine wichtige Einnahmequelle verloren.

Werbung erlauben ]
generated on
03.12.2016 18:47:04
by Jikji CMS 0.9.9c