Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

Door , , 34 reacties
Bron: Real World Technologies

Iedere overclocker heeft het wel eens in de BIOS zien staan: 'Memory Interleaving' of iets wat daar op lijkt. Deze functie wordt vaak gezien als een laatste criterium voor het toekennen van het predikaat 'overklokkersbordje' aan een moederbord. Abit, de fabrikant die met haar borden de overklokkers gemeenschap een enorme schop onder de kont heeft gegeven, was een van de eerste fabrikanten die deze functie standaard op hun bordjes onderbracht. Maar, wat is memory interleaving eigenlijk? Over deze functie bestaan een groot aantal misvattingen. Real World Technologies probeert in een artikel de geruchten uit de weg te ruimen en een inzicht te geven in de technologie achter de BIOS-functie.

Memory Interleaving is een manier om de wachttijd binnen de geheugenchip te verkorten. Een enkele geheugenchip, waarvan er 8 of 16 op een reepje RAM zitten, bestaat uit een aantal 'velden'. Slechts een van deze velden kan 'open' zijn en dus klaar voor gebruik, de andere staan uit. Memeory Interleaving zorgt ervoor dat het wisselen van veld in de achtergrond gebeurt. Dit spaart RAM-cycles uit. Gevolg: data kan sneller uit de RAM gelezen worden. Dit komt de systeemprestaties ten goede. Aangezien de processor 90%-95% van de tijd zijn data uit de L1 of L2 cache haalt, zal dit effect vaak maar miniem zijn:

So Why Don't I See a Big Performance Gain?

Cache, that's why. In the normal course of things, 90~95% of the time, your CPU is getting data from your CPU's Level 1 or Level 2 cache. The CPU doesn't go to memory at all. At other times, the data accesses are too small or too random to benefit from interleaving. Only in certain conditions will you benefit. You may actually benefit more from memory interleave as CPU's get faster, because this would magnify the waiting time, but this is only speculation on my part.

The short of the matter is that bank interleave support, or the lack of it, is determined by the chips that make up the memory module. Bank interleave doesn't give you earth shattering performance benefits, but it does give some benefit.

Voor meer informatie verwijst de schrijver aan het eind van het artikel naar zijn bronnen, maar zegt er wel bij dat deze vrij 'lastig' zijn. Op mijn beurt verwijs ik jullie voor een uitgebreidere uitleg naar het artikel bij Real World Tech.

JAMF stuurde ons dit nieuws, wat een verrassing

Lees meer over

Moderatie-faq Wijzig weergave

Reacties (34)

Ik heb er in het verleden wat mee geklooit, maar mijn ervaring is dat je interleaving maar beter uit kunt laten. De stress op de geheugenbanken wordt hierdoor nl ook groter, wat een hogere RAM temperatuur oplevert, waardoor je dus minder andere overclock mogelijkheden hebt. Een hogere fsb levert veel meer op, maar op max bijt dit dus de interleaving.

edit:
reactie op ansonr: 10% extra performance terwijl de proc 90% van zijn tijd in cache geheugen loopt te vrotten betekent dus dat de access tijd naar het gewone geheugen NUL moet worden... en die 90% is een lage schatting. Kan dus echt niet.

Ik weet echter niet hoeveel cache die 2e generatie powermacs hadden, mischien maar weinig en dan moet de proc vaak naar het gewone geheugen. Maar dan nog is de fsb verhogen echt interessanter, heeft nl ook effect op de cache.
CAS 2 geheugen op CAS 3 zetten geeft dus ook meer overclock mogelijkheden?
dat heb je goed begrepen.
Je moet zoeken naar de bottleneck, als je veel PCI kaarten hebt waar veel data doorheen gaat, en die kunnen flink wat sneller geclocked worden, dan is het heel interessant om je fsb flink omhoog te gooien, scheelt toch weer wat.
Als je veel processorkracht nodig hebt, dan kan het interessanter zijn om je fsb standaard te houden, maar bv. met unlocken je processor verder te stressen.

* 786562 TheGhostInc
Het leverd dus wel 10% bandbreedte op volgens de benchprogjes. Bij mijn socket7 bordje wel in ieder geval.

En de rekensom die je hanteerd door de 90% van de data uit de cache zo op te tellen bij de 10% winst die geboekt wordt in bandbreedte is natuurlijk zo krom al het maar kan. Stel dat de CPU 5% van de tijd staat te wachten op data uit geheugen en die niet uit de cache komt. Maar de wachttijd kan je met 10% verkorten, door bankinterleaving te gebruiken. Dan ben je er al, want de performance wordt juist door data die niet uit de cache komt geremt.

En hierboven zie ik nog iets over CAS timing, maar dat is wel degelijk iets anders. Dat is latency en geen interleaving. Latency is de wachttijd tussen verschillende geheugen bewerkingen. Interleaving is voor zover ik het zie, de manier waarop de verschillende banken binnen de geheugenchip worden gebruikt.
10% bandbreedte kan wel kloppen bij een memory benchmark, maar je kunt ook verzinnen dat het 0% oplevert bij een cache of CPU benchmark. :Z

De meeste mensen draaien games en andere apps, waar >90% uit de cache komt en <10% uit de main memory. Die 10% kun je dus hiermee tweaken, met 10% bandbreedte winst scheelt het dus 10% x 10% = 1%, nog dubbel zo veel als jou 10% verkorten van die 5% wachttijd, over krom gesproken.

En gefeliciteerd dat je weet wat CAS is, nu nog leren lezen en rekenen :+
Dus volgens jou is er voor de 10% wachttijd die er is om data uit het gewone geheugen te halen, net zoveel tijd nodig al je kwijt bent om data uit de cache te halen ?

Je zegt tenslotte zelf dat er maar 10% te tweaken is. Maar volgens mij staat de wachttijd om data uit het gewone geheugen te halen niet in verhouding tot de tijd die er nodig is om zoiets uit de cache op te hoesten. Dus de 10% data die je niet hebt ( want daar hebben we het over ) heeft misschien wel 50% of nog meer van de totale tijd tijd nodig, die je kwijt bent om alle data in de CPU te krijgen. Simpelweg kwestie van rekenen dus, inderdaad.

Voorbeeld : Als je die tijd met bv de helft kan verkorten, zou je al 25% winst hebben.

Maar om er dan maar van uit te gaan dat de data die je nodig hebt uit het gewone geheugen, er net zo snel is als geprefetchte data uit je cache, is niet echt doordacht. Dus voordat je 10% cachemisses uit je gewone geheugen hebt gehaald ben je een flinke tijd verder.

Misschien moet je inderdaad wat beter leren lezen en rekenen :Z
eh CARman, de proc is 90% van de tijd bezig met cache, niet met 90% van de instructies. Als je maar 9 van de 10 instructies uit cache wilt halen heb je echt geen 512KB cache nodig 8-)
Jij hebt het over totale syteemtijd. Ik praat over 10% sneller data ophoesten uit hetzelfde reepje geheugen. En ik ben ervan overtuigt dat hierboven niet tijd maar data hoort te staan.

Maar er zijn progjes waarmee je cache-hits en cache-misses kunt meten. Je zult zien dat je rond de 90-95% cachehits hebt. Dus 5-10% van de data moet 'ergens anders' vandaan komen. En als je dat 'ergens anders' nou 10% sneller kunt maken door het een beetje te tweaken met bankinterleaving, dan heb je gauw een flinke winst.

Maar ja, ik kan zeggen wat ik wil blijkbaar. Want hierboven in het docje staat tijd hè.

Neemt al met al niet weg, dat ik op mijn oude K6-2 107 MB/s haal zonder bankinterleaving en 125 MB/s met bankinterleaving. En nog steeds wordt er beweerd dat het nooit 10% kan uitmaken :? Overall niet nee, maar op geheugen niveau dus wel degelijk.
Dan geloof ik dat wij het toch nog ergens over eens zijn ;)
Mijn eerste zin
10% bandbreedte kan wel kloppen bij een memory benchmark, maar...
en jou laatste zin
...10% kan uitmaken. Overall niet nee, maar op geheugen niveau dus wel degelijk.
liggen elkaar wel.

In ieder geval, ook al scheelt het in verreweg de meeste gevallen geen 10% in performance, alle beetjes zijn meegenomen. Dat is tenslotte tweaken.
Bij mij gaf het anders een aardige snelheidswinst. Op een Abit plankje that is.
Bij mij ook enkele procentjes, en alle beetjes zijn mooi meegenomen. Niet ten koste natuurlijk van stabiliteit, maar als je goed geheugen hebt dan zou ik geen moment twijfelen.
In tegenstelling tot wat jij beweert kan het inderdaad tot wel 10% extra performance opleveren.
De Apple 2e generatie powermac's (tnt/nitro en tsunami logicborden) ondersteunde dit.
De tsunami borden hadden zelfs 12 dimmvoeten.
Deze waren genummerd van A1 t/m A6 en B1 t/m B6.
Het was dus zaak om ervoor te zorgen dat je twee dezelfde dimm's in dezelfde genummerde dimmvoetjes deed.
Dus A6 - B6 enzo.
Dat leverde inderdaad redelijk wat snelheidswinst.
Dit klinkt niet als memory interleaving, maar als dual channel memory bus. Net zoals bv. op de Tyan Thunder 2500 (sdram) en alle mobo's met de Intel i840 chipset (rambus, o.a. Intel OR840 "Outrigger"). Daarmee haal je inderdaad wel 10% prestatiewinst. Met memory interleaving zijn dat soort prestatieverbeteringen alleen mogelijk binnen heel specifieke programma's - de PC als geheel haalt de 5% verbetering niet. Kijk maar eens naar real-world meetbare prestaties, bv. naar de framerate van UT o.i.d. of de transactiesnelheid van een SQL server.
10% extra performance terwijl de proc 90% van zijn tijd in cache geheugen loopt te vrotten betekent dus dat de access tijd naar het gewone geheugen NUL moet worden... en die 90% is een lage schatting. Kan dus echt niet

Progs die min of meer in de cache draaien, daar helpt het natuurlijk niks bij.
Het gaat om progs die hetzij random data prikken > cache, of grote hoeveelheden streamen.

Anders zou het verschil tussen SDRAM, DDR en Rambus ook niet zo groot zijn.
FYI, SDRAM op 222 en standaard DDR zijn bijna even snel bij dezelfde clock }>
Het verschil tussen SDRAM en DDR ram bij dagelijks gebruik is dan ook niet zo vreselijk groot, en zeker geen 100% ondanks dat de dubbele bandbreedte. Hoewel DDR wel interssant genoeg is natuurlijk, net als CAS2.

Btw, voor random data prikken helpt het interleaving niet, zeker niet als die data ver van elkaar (lees: op andere banken) zit.
Aangezien de processor 90%-95% van de tijd zijn data uit de L1 of L2 cache haalt, zal dit effect vaak maar miniem zijn.
Tja, dus hoe kleiner je L1 en/of L2, des te groter is het effect. Dus op bijv. een Duron zul je het beter merken dan op een Athlon.
Ik heb op Viahardware gelezen dat 4-way interleaving vooral van voordeel is bij meerdere reepjes RAM, dat feit mis ik een beetje hier.
Dat is maar ten dele waar. Als je een single sided DIMM hebt, kun je maximaal 2-way interleaving halen, dat klopt. Dus in dat geval heb je 2x een single sided DIMM nodig. Echter, als je 1 double sided DIMM hebt, kun je al 4-way interleaving doen met 1 DIMM.
Je kunt stellen dat voor kleinere geheugen modules met 16Mb chippies (dus 32MB of minder) geldt 1 reepje = 2 banken. En die hebben idd maximaal 2-way interleaving: 1 bank voor data transfer en 1 bank voor adressering, meer past niet.
Grotere geheugen reepjes met 64Mb - 512Mb chippies hebben per definitie 4 banken en kunnen dus al in hun eentje 4-way aan. En met de huidige prijzen vindt je dus niemand meer met een zo'n 32MB reepje.
Interleaving werkt heel goed met geheugen waarvan je weet dat ze ook correct werken.
De Interleaving-functie wordt overigens al jaren in servers toegepast, zie bijvoorbeeld de Compaq-trainingen.
Zoals zich dan ook laat raden, ondersteunen de ServerWorks-chipsets dan ook Interleaving.
Voor de gewone thuis PC doet VIA dat al enige tijd. Intel gebruikt deze functie niet op hun moederborden.

Verder kort samengevat:
Je hebt meer dan 1 geheugenmodule nodig, liefst gelijke modules (van merk en type)
Je moet opletten hoe je geheugenbanken ingedeeld zijn
Bij de huidige chipsets en geheugenmodules mag je Interleaving gewoon op 4-way zetten
Het levert gemiddeld ongeveer 3-5% extra op voor de thuisgebruiker
Het levert gemiddeld ongeveer 3-5% extra op voor de thuisgebruiker
Oftewel precies de winst die je krijgt door de multiplier van 12x naar 12.5 te zetten
Is toch de moeite van het proberen waard.
Interleaving werkt heel goed met geheugen waarvan je weet dat ze ook correct werken.
Dit vind ik voor zich spreken.
Maar het kan ook heel goed met goedkopere modules, want je loopt de boel niet heel erg te stressen, omdat je die interleaving niet per pagina doet, maar per bank.
Dat zijn dus fysiek andere chips. Volgens mij moet je wel een heel erg beroerd printplaatje hebben, waar je dimmetje van gemaakt is, wil dat niet goed werken. (op een 16-chips module zitten soms 2 banken verwerkt. zodat er 2x zoveel chips tegelijk bezig kunnen zijn en dus meer vermogen trekken/storing kunnen geven. Dit zou vrijwel alleen te wijten kunnen zijn aan een beroerde print)
Zoals zich dan ook laat raden, ondersteunen de ServerWorks-chipsets dan ook Interleaving.
Voor de gewone thuis PC doet VIA dat al enige tijd.
In combinatie met HP USB producten en de VIA chipsets (vooral de 686B southbridge) kun je deze optie beter net gebruiken.
Memory Interleaving is Raid Striping voor je mem :)

Kan dus heel snel zijn, maar hoeft niet :)

Trouwens een feature die alleen op AMD oc-bordjes zit he?
Sorry hoor, maar dit echt niet zo. Striping (RAID 0) met 2 drives heeft als resultaat dat de helft van de data op de ene schijf en de rest op de andere schijf gezet wordt. Zeg maar dat de eerste 4 bits van iedere byte op schijf A staat en de laatste 4 bits op schijf B.

Dit kan ook wel met geheugen, maar dan noemen we het een dual memory bus, zoals bij de nForce 420. Heeft dus nix te maken met interleaving, wat de opdracht voor het volgende veld vast klaar zet als het eerste veld zijn data nog aan het doorsturen is.
Uhm, dit is dus een lam artikel. Buiten het beschrijven waarvoor het dient heb je er nix (of nauwlijks aan). De gain die je krijgt aan snelheid is bijzonder klein. het is natuurlijk leuk voor iemand die het maximale uit zijn computer wil persen maar voor de standaard computerfreak is het volledig zinloos om dit te doen.

[/even tussendoor modus]
Gaatjenietsaan vraagt zich af of dit nit de snelheid 'onstabiel' maakt. Aangezien de computer zo nu en dan dat stukkie geheugen wordt gebruikt zou hij dus af en toe een beetje extra snelheid krijgen. Of met andere woorden hij zal eerst 'normaal' draaien en als hij dat stukkie geheugen nodig heeft even wat sneller, om vervolgens weer op normale snelheid te draaien.
[even tussendoor modus]
Memory Interleaving <-- is dit niet hetzelfde als ecc geheugen :? die controleert de bitjes ook niet dus heeft het ongeveer hetzelfde effect!
hoe kun je nou in godsnaam een dubbelpost hebben met maar 1 post??
Dubbeltopic dan ;)
Dit nieuws stond net 2x op de voorpagina :P
ok sorry, dan heeft * 786562 Freek
Hmmz.. kewl :) weet ik eindelijk ongeveer wat het is :)

JAMF: waarom wordt je niet gewoon vaste nieuws poster? Krijg je nog doekoez ook :)
Conclusie van dit hele verhaal: Memory Interleaving levert wel wat prestatieverbetering op en als echte tweakers zijn we natuurlijk allemaal heel erg blij met gratis extra prestatie!

Op dit item kan niet meer gereageerd worden.



Apple iOS 10 Google Pixel Apple iPhone 7 Sony PlayStation VR AMD Radeon RX 480 4GB Battlefield 1 Google Android Nougat Watch Dogs 2

© 1998 - 2016 de Persgroep Online Services B.V. Tweakers vormt samen met o.a. Autotrack en Carsom.nl de Persgroep Online Services B.V. Hosting door True