Dual Channel

aus Wikipedia, der freien Enzyklopädie
Dual Channel: Zwei Speicherkanäle mit je zwei Einsteckplätzen (englisch slots) in Orange und Gelb.
Klassisches Schema eines Chipsatzes auf einer PC-Hauptplatine. Heute befindet sich der RAM-Controller oft in der CPU und stattdessen ein integrierter Grafikprozessor in der Northbridge.

Als Dual Channel bezeichnet man eine Architektur in der Computertechnik, in dem eine CPU oder GPU zwei getrennt steuerbare Speicherkanäle besitzt. Diese Anzahl ist nicht gleichbedeutend mit der Anzahl der Speichermodule, weil mehrere Speichermodule an einem Bus arbeiten können, mehrere Speichermodule einen Bus bilden können oder aber auch ein Speichermodul mehrere Busse bereitstellen kann.

Dafür werden getrennte Datenbusse vom Prozessor (CPU) oder Speichercontroller zu den einzelnen Modulen eingesetzt. Durch die gleichzeitige Übertragung über mehrere Busse können Daten unabhängig voneinander und mehr Daten pro Zeiteinheit übertragen werden. Diese Technik wird u. a. seit Anfang der 2000er Jahre in Personal-Computern eingesetzt.

Historisch hat CPUs mit Von-Neumann-Architektur einen Speicherkanal für Daten- und Befehle, mit Harvard-Architektur zwei oder mehr Speicherkanäle. Mit dem Aufkommen von CPU mit mehreren Kernen und größeren Bandbreitenanforderungen haben CPUs mehr als einen Speicherkanal bekommen. Das Maximum liegt bei CPUs bei derzeitig 12 Speicherkanälen (Xeon Platinum Prozessor 9282), bei GPU bei 24 Speicherkanälen (NVidia RTX 3080) btw. bei 32 Speicherkanälen (AMD Radeon Pro VII mit HBM).

Anzahl der Speicherkanäle

Die Anzahl der Speicherkanäle entspeicht nicht unbedingt der Anzahl der Module. Waren in den 1990er Jahren eher mehrere Module für einen Speicherkanal notwendig, so geht aktuell die Tendenz zu mehreren Speicherkanälen pro Modul. Treiber sind zum einen die hohen Bustaktraten und das hohe Prefetching, was sonst zu zu großen "Speicherbatzen" führt, die minimal gelesen werden können. Zum anderen viele Threads, die sich sonst zu wenige Speicherkanäle teilen müssen (Beispiel: Der Intel i9-13900 kann 32 Threads abarbeiten, hat aber mit DDR4 nur zwei Speicherkanäle, mit DDR aber vier Speicherkanäle).

Mehrere Speichermodule können einen Bus bilden:

  • Ein Pentium MMX benötigt zwei 72-polige SIMM-Module mit je 32+4 bit Breite, um einen Speicherkanal mit 64+8 bit zu bilden. Für die Funktion sind 2 Module notwendig und bilden zusammen einen Speicherkanal.
  • Ein Intel 80386 benötigt vier 30-polige SIMM-Module mit je 8+1 bit Breite, um einen Speicherkanal mit 32+4 bit zu bilden. Für die Funktion sind 4 Module notwendig und bilden zusammen einen Speicherkanal.

Ein Speichermodul kann einen Bus bilden:

  • Ein Pentium II benötigt ein 168-polige DIMM-Module mit 64 bit Breite, um einen Speicherkanal mit 64 bit zu bilden. Ein Modul bildet einen Speicherkanal.
  • Ein Intel 80486 benötigt ein 72-poliges SIMM-Module mit 32+4 bit Breite, um einen Speicherkanal mit 32+4 bit zu bilden. Ein Modul bildet einen Speicherkanal.

Ein Speichermodul kann mehrere Busse bilden:

  • Ein 288-poliges DDR5-RAM-DIMM-Modul hat zwei unabhängige Speicherbusse zu je 32 bit. Gleiches gilt für LPDDR4-RAM. Ein Modul bildet zwei Speicherkanäle.
  • Gleiches gilt für GDDR6-Speicher. Jeder Speicherchip hat zwei unabhängige 16-bit-Speicherkanäle.
  • Ein HBM-Stack mit 1024 Bit Busbreite bildet bei HBM2 8 Speicherkanäle zu 128 bit, bei HBM3 16 Speicherkanäle zu 64 bit.

Weiterhin können bei den meisten Desktop-Mainboards und bei einigen Workstation-Notebooks bis zu zwei Module parallel geschaltet werden. Dies dient nicht der Erhöhung der Geschwindigkeit (häufig werden die Zugriffe sogar etwas langsamer), sondern um mehr Speicher unterzubringen.

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.
  • Speicher kann sich direkt auf dem CPU- oder GPU-Package befinden. Es kann sich "normaler" LPDIMM-Speicher wie HBM-Speicher auf dem Package befinden.

Bedingungen

Gleichartige Speichermodule mit unterschiedlicher Chip-Bestückung

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

Zwei Speicherkanäle mit je einem Speicherbaustein und leerem Slot 2 wie in nebenstehendem Beispiel 1.

Ein 512MB-Modul je Speicherkanal:

Speicherkanal 1
Slot 1 512 MB
Slot 2 unbelegt
Speicherkanal 2
Slot 1 512 MB
Slot 2 unbelegt

Beispiel 2

Zwei 1 GB-Module je Speicherkanal:

Speicherkanal 1
Slot 1 1 GB
Slot 2 1 GB
Speicherkanal 2
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:

Speicherkanal 1
Slot 1 1 GB
Slot 2 512 MB
Speicherkanal 2
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:

Speicherkanal 1
Slot 1 512 MB
Slot 2 512 MB
Speicherkanal 2
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 000 MB
  • ChB DIMM0 512 MB
  • ChB DIMM1 000 MB

oder

  • ChA DIMM0 256 MB
  • ChA DIMM1 256 MB
  • ChB DIMM0 512 MB
  • ChB DIMM1 000 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 000 MB
  • ChB DIMM0 000 MB
  • ChB DIMM1 000 MB

oder

  • ChA DIMM0 000 MB
  • ChA DIMM1 000 MB
  • ChB DIMM0 000 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 000 MB
  • ChB DIMM0 000 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 000 MB
  • ChB DIMM1 512 MB

Siehe auch

Einzelnachweise

Weblinks