# Dual Channel

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 Zeitspanne übertragen werden. Diese Technik wird u. a. seit Anfang der 2000er Jahre in Personal-Computern eingesetzt.
Historisch haben CPUs mit Von-Neumann-Architektur einen gemeinsamen Speicherkanal für Daten und Befehle, CPUs mit Harvard-Architektur zwei oder drei Speicherkanäle. Mit dem Aufkommen von CPUs mit mehreren Kernen und größeren Bandbreitenanforderungen haben CPUs mehr als einen Speicherkanal bekommen. Bei Einzel-CPUs liegt das Maximum derzeit bei 12 Speicherkanälen (Xeon Platinum Prozessor 9282), bei GPUs bei 24 Speicherkanälen (NVIDIA RTX 3080) bzw. bei 32 Speicherkanälen (AMD Radeon Pro VII mit HBM). Bei Multi-Socket-Mainboards liegt es bei 48 Speicherkanälen (6 pro CPU).

## Anzahl der Speicherkanäle

Die Anzahl der Speicherkanäle entspricht 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 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 DDR5 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

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 512-MB-Modul je Speicherkanal
| Speicherkanal 1 | Speicherkanal 1 | Speicherkanal 2 | Speicherkanal 2 |
| Slot 1 | 512 MB | Slot 1 | 512 MB |
| Slot 2 | unbelegt | Slot 2 | unbelegt |
Beispiel 2: Zwei 1-GB-Module je Speicherkanal
| Speicherkanal 1 | Speicherkanal 1 | Speicherkanal 2 | Speicherkanal 2 |
| Slot 1 | 1 GB | Slot 1 | 1 GB |
| Slot 2 | 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 | Speicherkanal 1 | Speicherkanal 2 | Speicherkanal 2 |
| Slot 1 | 1 GB | Slot 1 | 1 GB |
| Slot 2 | 512 MB | 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 | Speicherkanal 1 | Speicherkanal 2 | Speicherkanal 2 |
| Slot 1 | 512 MB | Slot 1 | 1 GB |
| Slot 2 | 512 MB | 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.
Bei Systemen mit CPU-Internen Speichercontrollern (AMD 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. Dazu zwei Beispiele:
| Speicherkanal 1 | Speicherkanal 1 | Speicherkanal 2 | Speicherkanal 2 |
| Slot 1 | 512 MB | Slot 1 | 512 MB |
| Slot 2 | unbelegt | Slot 2 | unbelegt |
| oder |||||
| Speicherkanal 1 | Speicherkanal 1 | Speicherkanal 2 | Speicherkanal 2 |
| Slot 1 | 256 MB | Slot 1 | 512 MB |
| Slot 2 | 256 MB | Slot 2 | unbelegt |

### Single Channel

Mit dieser Bestückung arbeitet der Speichercontroller im langsamen Single-Channel-Modus, da nur eine Bank in einem Speicherkanal belegt ist:
| Speicherkanal 1 | Speicherkanal 1 | Speicherkanal 2 | Speicherkanal 2 |
| Slot 1 | 512 MB | Slot 1 | unbelegt |
| Slot 2 | unbelegt | Slot 2 | unbelegt |
| oder |||||
| Speicherkanal 1 | Speicherkanal 1 | Speicherkanal 2 | Speicherkanal 2 |
| Slot 1 | unbelegt | Slot 1 | unbelegt |
| Slot 2 | unbelegt | Slot 2 | 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.
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.
| Speicherkanal 1 | Speicherkanal 1 | Speicherkanal 2 | Speicherkanal 2 |
| Slot 1 | 512 MB | Slot 1 | unbelegt |
| Slot 2 | unbelegt | Slot 2 | 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:
| Speicherkanal 1 | Speicherkanal 1 | Speicherkanal 2 | Speicherkanal 2 |
| Slot 1 | 512 MB | Slot 1 | unbelegt |
| Slot 2 | 512 MB | Slot 2 | 512 MB |

## Triple Channel

Triple Channel (englisch für „Dreifach-Kanal“) ist ein Begriff aus der Rechentechnik, welcher für die technische Beschreibung von Datenspeicher genutzt wird und eine Weiterentwicklung der Speichertechnik Dual Channel darstellt. Sie kam von 2008 bis 2011 zum Einsatz.
Mit Triple Channel wird die Fähigkeit unter anderem von PC-Chipsätzen und Speichercontrollern bezeichnet, mindestens drei Arbeitsspeicher-Module gleicher Kapazität parallel zu betreiben, wodurch eine höhere Datentransferrate und eine damit verbundene Leistungssteigerung erzielt wird. Dafür sind drei separate Busse vom Speichercontroller zu den einzelnen Modulen nötig. Die Technik kam aber nur bei Intel Mainboards mit dem X58 Chipsatz und damit dem Sockel 1366 zum Einsatz und wurde ab der nächsten Generation mit Quad Channel abgelöst.

### Wirkung

Die Technik, die schon beim Dual-Channeling eine Verdopplung der Transferrate durch zeitversetztes Zugreifen auf mindestens zwei Module funktionierte, wird nun mit drei Modulen durchgeführt, was zur Verdreifachung der Transferrate führt. Die Latenzzeiten der Speicher gehen nicht mehr stark in die Zugriffszeit ein, was zu der Leistungssteigerung führt. Damit dieses Verfahren sauber funktioniert, müssen immer drei Module gleicher Spezifikation genutzt werden.

### Prozessoren

| Intel Core i7 Intel Core i7-9xx Bloomfield, Gulftown Intel Core i7-9x0X Gulftown | Intel Xeon Intel Xeon E55xx Nehalem-EP Intel Xeon E56xx Westmere-EP Intel Xeon ECxxxx Jasper Forest Intel Xeon L55xx Nehalem-EP Intel Xeon L5609 Westmere-EP Intel Xeon L5630 Westmere-EP Intel Xeon L5640 Westmere-EP Intel Xeon LC55x8 Jasper Forest Intel Xeon Wxxxx Bloomfield, Nehalem-EP, Westmere-EP Intel Xeon X55xx Nehalem-EP Intel Xeon X56xx Westmere-EP Intel Xeon x4xx v3 Intel Xeon x4xx v2 Intel Xeon x4xx |
| Intel Pentium Intel Pentium 14xx v3 Intel Pentium 14xx v2 Intel Pentium 14xx | Intel Xeon Intel Xeon E55xx Nehalem-EP Intel Xeon E56xx Westmere-EP Intel Xeon ECxxxx Jasper Forest Intel Xeon L55xx Nehalem-EP Intel Xeon L5609 Westmere-EP Intel Xeon L5630 Westmere-EP Intel Xeon L5640 Westmere-EP Intel Xeon LC55x8 Jasper Forest Intel Xeon Wxxxx Bloomfield, Nehalem-EP, Westmere-EP Intel Xeon X55xx Nehalem-EP Intel Xeon X56xx Westmere-EP Intel Xeon x4xx v3 Intel Xeon x4xx v2 Intel Xeon x4xx |

## Quad-Channel

Quad-Channel ist ein Begriff aus der Speichertechnologie von Computern.

### Leistung

Damit wird die Fähigkeit von PC-Chipsätzen und Speichercontrollern bezeichnet, vier Arbeitsspeicher-Module gleicher Kapazität parallel zu betreiben, wodurch eine höhere Datentransferrate und eine damit verbundene Leistungssteigerung erzielt wird. Dafür sind vier separate Busse vom Speichercontroller zu den einzelnen Modulen nötig. Quad-Channel stellt eine Weiterentwicklung der Speichertechnologien Dual Channel (Intel/AMD) und Triple Channel (Intel) dar.

### Wirkung

Die Methode, die schon bei Dual-Channeling eine Verdopplung der Transferrate durch zeitversetztes Zugreifen auf mindestens zwei Module bewirkte, wird nun mit vier Modulen durchgeführt, was zur Vervierfachung der möglichen Transferrate führt. Die Latenzzeiten der Speicher gehen damit nicht mehr so stark in die Zugriffszeit ein, was letztlich zu der Leistungssteigerung führt. Damit dieses Verfahren sauber funktionieren kann, müssen immer vier Module mit exakt gleicher Spezifikation benutzt werden.

### Geschichte

Die ersten Quad-Channel-fähigen Mainboards waren mit Einführung von AMDs Magny-Cours-Prozessor Anfang 2010 verfügbar. Intel-Mainboards mit X79-Chipsatz folgten Ende 2011. Unabdingbar für die Nutzung waren hier vier Speichermodule gleicher Bauart und ein kompatibler Prozessor (Magny-Cours bzw. Sandy Bridge-E oder später Bulldozer bzw. Ivy Bridge).

### Prozessoren

| AMD Threadripper AMD Ryzen Threadripper 3rd gen 3990X AMD Ryzen Threadripper 3rd gen 3970X AMD Ryzen Threadripper 3rd gen 3960X AMD Ryzen Threadripper 2nd gen 2990WX AMD Ryzen Threadripper 2nd gen 2970WX AMD Ryzen Threadripper 2nd gen 2950X AMD Ryzen Threadripper 2nd gen 2920X AMD Ryzen Threadripper 1950X AMD Ryzen Threadripper 1920X AMD Ryzen Threadripper 1900X  AMD Epyc Epyc 7003 series processors Epyc 7002 series processors Epyc 7001 series processors | Intel Core Intel Core i9-10900X Intel Core i7-9800X Intel Core i9-7980XE Intel Core i9-7940X Intel Core i9-7900X Intel Core i7-7820X Intel Core i7-7800X Intel Core i7-6950X Intel Core i7-6900K Intel Core i7-6850K Intel Core i7-6800K Intel Core i7-5960X Intel Core i7-5930K Intel Core i7-5820K Intel Core i7-4960X Intel Core i7-4930K Intel Core i7-4820K Intel Core i7-3970X Intel Core i7-3960X Intel Core i7-3930K Intel Core i7-3820 | Intel Xeon Intel Xeon E5-x6xx v4 Intel Xeon E7-x8xx v3 Intel Xeon E5-x6xx v3 Intel Xeon E7-x8xx v2 Intel Xeon E5-x6xx v2 Intel Xeon E7-x8xx Intel Xeon E5-x6xx |

## Hexa-Channel

Serverprozessoren der Qualcomm Centriq und Prozessoren der Intel Xeon Scalable-Plattform (Platinum bis Q3/20, Gold bis Q3/20, Silber bis Q1/20 und Bronze) unterstützen die Hexa-Channel-Architektur.

## Octa-Channel

Cavium ThunderX2-Serverprozessoren, AMDs Serverprozessoren von ihrer Epyc-Plattform und der Threadripper PRO-Reihe professioneller Workstation-Prozessoren aus der AMD Ryzen PRO-Produktfamilie unterstützen die Octa-Channel-Architektur.