Dual Channel
Als Dual Channel bezeichnet man eine Architektur in der Computertechnik, mit der zwei (oder auch mehr) Arbeitsspeicher-Module an einem Prozessor parallel betrieben werden können. Dafür werden getrennte Datenbusse vom Prozessor (CPU) oder Speichercontroller zu den einzelnen Modulen eingesetzt. Durch die gleichzeitige Übertragung über mehrere Busse können mehr Daten pro Zeiteinheit übertragen werden. Diese Technik wird u. a. seit Anfang der 2000er Jahre in Personal-Computern eingesetzt.
Unterscheidung
Abhängig vom Sitz des Speichercontrollers kann man zwei grundsätzliche Ansätze unterscheiden:
- Bei der klassischen Chipsatz-Architektur befindet sich der Speichercontroller in der Northbridge (ein Teil des Chipsatzes). Dieser wiederum ist über den Front Side Bus an die CPU gekoppelt. Beim Betrieb im Dual-Channel-Modus wird somit nicht die Bandbreite zwischen CPU und Speicher, sondern nur die Bandbreite zwischen Northbridge und Speicher erhöht. Der erreichbare Leistungsgewinn durch die erhöhte Speicherbandbreite ist dementsprechend gering (siehe unten). Diese Technik basiert im Prinzip auf Speicher-Interleaving.
- Sitzt der Speichercontroller direkt im Hauptprozessor (bei AMD zum Beispiel seit der Einführung des Athlon 64), wird die Bitbreite des Speicherbusses (Datenbusses) und somit auch die theoretisch verfügbare Speicherbandbreite direkt verdoppelt. Bei X86-Prozessoren wird somit der seit dem Intel Pentium bestehende, 64 Bit breite Datenbus (vorher 32 Bit beim 80486) auf 128 Bit erhöht. So hängt also zum Beispiel beim Athlon 64 die Dual-Channel-Fähigkeit von der CPU – genauer gesagt vom verwendeten Sockel – ab und nicht vom Chipsatz der Hauptplatine. Die meisten AMD-Prozessoren seit dem Sockel 939 unterstützen daher Dual-Channel-Betrieb. Die gegenüber dem Sockel 754 zusätzlichen Pins bilden den notwendigen zweiten Speicherbus.
Bedingungen
Für den Betrieb sind keine speziellen Module nötig – allein der Speichercontroller muss diese Technik unterstützen. Auch müssen die verwendeten Module nicht unbedingt baugleich sein. Dual Channel funktioniert mit jeder Art von Arbeitsspeicher, sofern die Größe des Speichers in beiden Kanälen identisch ist.
Speicherbelegungsbeispiele
Zu beachten ist, dass die physische Verteilung der Slots sowie die erlaubten Konfigurationen vom verwendeten Chipsatz, Mainboard und manchmal auch von den verwendeten Modulen abhängt. Die nötigen Informationen stehen üblicherweise im Handbuch sowie in der Qualified Vendor List (QVL) des Mainboards.
Beispiel 1
Ein 512MB-Modul je Speicherkanal:
Slot 1 | 512 MB |
---|---|
Slot 2 | unbelegt |
Slot 1 | 512 MB |
---|---|
Slot 2 | unbelegt |
Beispiel 2
Zwei 1 GB-Module je Speicherkanal:
Slot 1 | 1 GB |
---|---|
Slot 2 | 1 GB |
Slot 1 | 1 GB |
---|---|
Slot 2 | 1 GB |
Beispiel 3
Dual-Channel funktioniert auch mit zwei verschieden großen Modulen pro Kanal, zum Beispiel 512 MB und 1 GB pro Kanal, insgesamt dann 3 GB:
Slot 1 | 1 GB |
---|---|
Slot 2 | 512 MB |
Slot 1 | 1 GB |
---|---|
Slot 2 | 512 MB |
Beispiel 4
Wenn an beiden Speicherkanälen gleich viel Speicher vorhanden ist, aber in unterschiedlich vielen Modulen, funktioniert Dual Channel nur bei bestimmten Chipsätzen:
Slot 1 | 512 MB |
---|---|
Slot 2 | 512 MB |
Slot 1 | 1 GB |
---|---|
Slot 2 | unbelegt |
Weitere Voraussetzungen
Stabilität und Geschwindigkeit von Dual-Channel lassen sich beispielsweise verbessern durch:
- Gleiche Organisation der Speicherchips. Diese lässt sich oft, jedoch nicht immer, durch die Anzahl der Chips oder der bestückten Seiten des DIMMs bestimmen. Unterschiedliche Organisation ist ein häufiger Grund für Inkompatibilitäten.
- Gleiche Betriebsgeschwindigkeit der beiden Module, ansonsten bestimmt das langsamste Modul die Geschwindigkeit.
- Gleicher Speichermodulhersteller und gleiches Modell, wird oft mit Aufpreis als Dual-Channel-Paket verkauft.
- Bei manchen Chipsätzen funktioniert Dual Channel nur, wenn eine gewisse Gesamtzahl an Ranks nicht überschritten wird (die Zahl der Ranks der einzelnen Module wird dabei addiert). Das ist insbesondere dann relevant, wenn alle Slots belegt sind.
Da diese Voraussetzungen von vielen Herstellern erfüllt werden, können auch Module unterschiedlicher Hersteller kombiniert werden.
Eine Besonderheit gibt es bei einigen Chipsätzen, wie zum Beispiel nForce2 oder SiS 655; diese können auch drei Module im Dual-Channel-Modus betreiben. Die ersten zwei DIMM-Sockel können mit dem dritten kombiniert werden. Dabei müssen die Kapazitäten der Module übereinstimmen, andernfalls (also falls die Speicherkapazität des dritten Moduls die der ersten beiden über- oder unterschreitet) wird der restliche Arbeitsspeicher im Single-Channel-Modus betrieben. Bei aktuellen Intel-Chipsätzen spielt es ebenfalls keine Rolle, ob die Kapazitäten der Speichermodule in beiden Speichercontroller-Kanälen übereinstimmen (siehe Abschnitt Dual Channel Asymmetric).
Leistung
Im Gegensatz zum Single-Channel-Modus, bei dem der Datenbus 64 Bit breit ist (also 64 Datenleitungen), werden im Dual-Channel-Modus zwei Module gleichzeitig mit je 64 Bit-Datenbus betrieben. Da die Taktrate, mit der der Speicher betrieben wird, gleich bleibt, sich die übertragene Datenmenge pro Takt jedoch verdoppelt (also 128 Bit pro Takt statt wie bisher 64 Bit), führt der Einsatz des Dual-Channel-Modus theoretisch zur Verdopplung des Speicherdurchsatzes. So kann PC2-6400-Speicher im Single-Channel-Modus ca. 6,4 Gigabyte/s an Daten zum Speichercontroller transferieren, im Dual-Channel-Modus sind es ca. 12,8 Gigabyte/s.
Um wie viel sich die Arbeitsgeschwindigkeit durch den Einsatz von Dual Channel jedoch tatsächlich steigert, hängt von den benutzten Programmen, den Speicherzugriffsmustern und der CPU ab (siehe Cache und Prefetching). Bei der klassischen Chipsatz-Architektur kann eine Leistungssteigerung bis ca. 5 % gegenüber dem Single-Channel-Betrieb erwartet werden. Bei Pentium-4-Systemen kann diese durch den speziellen Front Side Bus (Quad Data Rate) auch (theoretisch) höher ausfallen. Durch die Optimierungen im Cache der CPUs sind die Vorteile heute fast nicht mehr messbar.[1]
Bei Systemen mit CPU-Internen Speichercontrollern (Athlon 64 usw.) liegt die praktische Leistungssteigerung durch die „tatsächliche“ Verdoppelung der Bandbreite im Bereich von bis zu 20 %, bei intensiv vom Speicherdurchsatz abhängigen Anwendungen (zum Beispiel Datenkompression) auch wesentlich höher und bei synthetischen Speicher-Benchmarks entsprechend annähernd 100 %. Systeme mit integrierter Grafik profitieren ebenfalls stark, da sich die CPU und die GPU die Speicherbandbreite teilen müssen.
Dual Channel Asymmetric
Die Dual-Channel-Asymmetric-Konfiguration wird zum Beispiel vom Intel-Chipsatz 965 unterstützt. Der Unterschied gegenüber dem „Dual Channel Symmetric Mode“, wie ihn Intel beschreibt, ist, dass die zwei Speicherkanäle nicht mit der gleichen Speicherkapazität arbeiten. Im Dual-Channel-Symmetric-Modus erfolgen Zugriffe nach dem Dual-Channel-Verfahren und sind somit schneller. Dabei spielt die Anzahl der Module keine Rolle.
Bestückt der Anwender die Kanäle mit unterschiedlichen Speicherkapazitäten, erfolgt der Speicherzugriff im so genannten „Single Channel Mode“ beziehungsweise im „Dual Channel Asymmetric Mode“. In beiden Modi erfolgt der Speicherzugriff nach dem Single-Channel-Verfahren, so dass die Speicherperformance gegenüber dem Dual-Channel-Symmetric-Modus entsprechend niedrig liegt.
In allen Betriebsmodi richtet sich die Taktrate des Gesamtspeichers nach der langsamsten Arbeitsfrequenz eines einzelnen Speichermoduls, die das SPD-Register in kodierter Form enthält. Ist das Mainboard zum Beispiel mit einem DDR2-533- und einem DDR2-400-Speichermodul bestückt, arbeitet der gesamte Systemspeicher nur mit DDR2-400-Timings.
Dual Channel Symmetric
Damit der Speichercontroller optimal mit 128-Bit-Speicherzugriffen arbeiten kann, sollten beide Kanäle mit gleicher Speicherkapazität ausgestattet werden.[2] Dazu zwei Beispiele:
- ChA DIMM0 512 MB
- ChA DIMM1 0 MB
- ChB DIMM0 512 MB
- ChB DIMM1 0 MB
oder
- ChA DIMM0 256 MB
- ChA DIMM1 256 MB
- ChB DIMM0 512 MB
- ChB DIMM1 0 MB
Single Channel
Mit dieser Bestückung arbeitet der Speichercontroller im langsamen Single-Channel-Modus, da nur eine Bank in einem Speicherkanal belegt ist:
- ChA DIMM0 512 MB
- ChA DIMM1 0 MB
- ChB DIMM0 0 MB
- ChB DIMM1 0 MB
oder
- ChA DIMM0 0 MB
- ChA DIMM1 0 MB
- ChB DIMM0 0 MB
- ChB DIMM1 512 MB
Es ist auch möglich, bei Dual-Channel-Bestückung im BIOS manuell in den Single-Channel-Modus zu schalten, zum Beispiel wenn es im Dual-Channel-Modus zu Stabilitätsproblemen kommt (das kann zum Beispiel passieren, wenn die entsprechende Speicherkonfiguration nicht in der Qualified Vendor List (QVL) des Mainboardherstellers aufgelistet ist).
Dual Channel Asymmetric
Obwohl beide Speicherkanäle bestückt sind, würde ohne Flex-Memory-Technologie der Speichercontroller nur langsame Single-Channel-Zugriffe durchführen.[3]
Befinden sich in den beiden Kanälen Speichermodule mit unterschiedlichen Gesamtkapazitäten, wie zum Beispiel 512 MByte und 256 MByte, können durch die Flex-Mode-Technologie dennoch schnelle Dual-Channel-Speicherzugriffe (128 Bit) durchgeführt werden. Das erfolgt jedoch nur im gemeinsamen Speicheradressbereich von 512 MByte. (256 MByte an Kanal A, 256 MByte an Kanal B.) Der restliche Speicher von 256 MByte des 512 MByte-Moduls arbeitet weiter nur im Single-Channel-Modus.
- ChA DIMM0 512 MB
- ChA DIMM1 0 MB
- ChB DIMM0 0 MB
- ChB DIMM1 256 MB
Im folgenden Beispiel arbeitet die Hälfte des Speichers von Kanal A (512 MB) im Single Mode mit 64 Bit, die restlichen 512 MB von Kanal A sowie die 512 MB von Kanal B im Dual Channel Mode mit 128 Bit:
- ChA DIMM0 512 MB
- ChA DIMM1 512 MB
- ChB DIMM0 0 MB
- ChB DIMM1 512 MB