Voer de transfersnelheid per pin, de breedte van de databus en het aantal DIMM's, chips of stacks in om de piekbandbreedte van het geheugen te krijgen. Voeg een efficiëntiefactor toe voor een ruwe schatting van de bandbreedte die je werkelijk kunt gebruiken. Gangbare standaarden zijn beschikbaar als voorinstelling.
Resultaten
Piekbandbreedte
–
Geschatte effectieve bandbreedte
–
Datasnelheid per pin
–
Bytes per nanoseconde
–
Typische standaarden vergeleken (per eenheid)
Standaard (eenheid)
MT/s
Busbreedte (bits)
Piekbandbreedte
Piekwaarden per DIMM voor DDR4 en DDR5, per 64 bits voor LPDDR5X, per chip voor GDDR6 en per stack voor HBM3. De transfersnelheden zijn typische snelheidsklassen per standaard; er bestaan ook snellere en tragere onderdelen.
Bekijk als grafiek
De andere invoerwaarden blijven gelijk, terwijl de gekozen invoer varieert van 1/4 tot 4 keer de huidige waarde. De rode stip is de huidige waarde.
Hoe de bandbreedteformule werkt
De piekbandbreedte van geheugen is het aantal overdrachten dat elke datapin per seconde uitvoert (de transfersnelheid) maal het aantal pinnen (de busbreedte), gedeeld door 8 om bits naar bytes om te rekenen. DDR-geheugen (double data rate) draagt data over op zowel de stijgende als de dalende klokflank, dus de transfersnelheid is twee keer de klokfrequentie. DDR4-3200 draait op een klok van 1.600 MHz voor 3.200 MT/s. Op een 64-bitsbus geeft dat 3.200 × 64 ÷ 8 = 25.600 MB/s, oftewel 25,6 GB/s. Wie MHz met MT/s verwart, krijgt de helft of het dubbele.
Piek- versus duurzame bandbreedte
Piekbandbreedte is het theoretische plafond waarbij in elke cyclus data stroomt. Een echt DRAM verliest tijd aan refresh, die de opgeslagen lading in stand houdt, aan bankconflicten, waarbij in een bezette bank een nieuwe rij moet worden geopend, en aan de lees-/schrijfomschakeling wanneer de bus van richting verandert. De duurzame bandbreedte ligt daarom lager dan de piek. Die hangt sterk af van het toegangspatroon, maar ruwweg 60 tot 90% van de piek is een gangbare vuistregel: hoger bij doorlopend sequentieel lezen, lager bij willekeurige toegang en gemengd lezen en schrijven.
Breed en traag, of smal en snel
Bandbreedte komt van meer pinnen of van snellere pinnen. GDDR6 stuurt per chip een smalle 32-bitsbus aan met 16 Gb/s per pin, goed voor 64 GB/s per chip. HBM3 verbindt daarentegen een stapel DRAM-dies via een zeer brede 1.024-bitsbus; bij een bescheiden 6,4 Gb/s per pin haalt één stack ongeveer 819 GB/s. De korte verbindingen van HBM verbruiken minder energie per bit, maar vereisen dure packaging zoals een siliciuminterposer. GDDR wordt op een gewone printplaat gemonteerd, maar de snelle signalen maken routing en voedingsontwerp lastiger.
De geheugenmuur en het rooflinemodel
De geheugenmuur is de kloof die ontstaat wanneer de rekenkracht van processors sneller groeit dan geheugenbandbreedte en latentie verbeteren. Programma's die weinig rekenen per verplaatste byte laten de rekeneenheden stilstaan terwijl ze op data wachten, zodat de bandbreedte hun snelheid bepaalt. Het rooflinemodel vat dit samen: de haalbare prestatie is de kleinste van de piekrekenkracht en bandbreedte × rekenintensiteit (bewerkingen per byte). Bij 100 GB/s en één bewerking per byte kan de prestatie bijvoorbeeld niet boven 100 miljard bewerkingen per seconde uitkomen. Data hergebruiken in caches om de rekenintensiteit te verhogen is de basismanier om de bandbreedtegrens te verlichten.
De piekbandbreedte is het aantal overdrachten × busbreedte: 3.200 × 10⁶ overdrachten/s × 8 byte = 25,6 GB/s. De naam "DDR4-3200" geeft het aantal overdrachten (MT/s) aan en de modulenaam "PC4-25600" de bandbreedte (MB/s). In de praktijk ontstaan wachttijden door refresh, het wisselen van rij en het omschakelen tussen lezen en schrijven, zodat de effectieve bandbreedte vaak circa 70 tot 80 % van de piek is.
Er was een periode waarin de rekenprestaties van processors met meer dan 50 % per jaar groeiden, maar de toegangslatentie van DRAM is vanaf enkele tientallen ns nauwelijks verbeterd, zodat de CPU honderden cycli op gegevens wacht. Dit is de memory wall. Tegenmaatregelen zijn onder meer caches in meerdere niveaus, parallelle toegang tot het geheugen, prefetching, geheugen met brede bandbreedte zoals HBM en processing-in-memory, waarbij berekeningen dicht bij het geheugen worden uitgevoerd.
De bandbreedte volgt uit de hoeveelheid gelijktijdig in behandeling zijnde data gedeeld door de wachttijd (wet van Little). Bij één miss is dat 64 B ÷ 100 ns = 0,64 GB/s; bij 10 gelijktijdige misses is het 10 × 64 B ÷ 100 ns = 6,4 GB/s. Om de bandbreedte van het hoofdgeheugen volledig te benutten is niet alleen een kortere wachttijd nodig, maar ook memory-level parallelism, het gelijktijdig afhandelen van veel misses. 0,64 GB/s blijft de waarde bij één gelijktijdige miss, en 0,064 GB/s is de waarde na ten onrechte door 10 delen.
Veelgestelde vragen
Wat is de bandbreedte van DDR4-3200?
3.200 MT/s × 64 bits ÷ 8 = 25,6 GB/s. Dat is de piek voor één 64-bitskanaal (één DIMM); twee kanalen geven 51,2 GB/s. De bruikbare bandbreedte is lager.
Wat is het verschil tussen MT/s en MHz?
MHz is de klokfrequentie, terwijl MT/s staat voor miljoenen dataoverdrachten per seconde. DDR-geheugen draagt over op beide klokflanken, dus het aantal MT/s is twee keer de klokfrequentie. DDR4-3200 gebruikt een klok van 1.600 MHz.
Waarom is een DDR5-DIMM in twee kanalen opgesplitst?
Een DDR5-DIMM heeft twee onafhankelijke 32-bitssubkanalen (zonder ECC). De totale breedte is net als bij DDR4 64 bits, maar de kleinere, onafhankelijke eenheden laten meer gelijktijdige verzoeken toe, wat de effectieve efficiëntie doorgaans verhoogt. Eén DDR5-6400-DIMM haalt een piek van 51,2 GB/s.