När du köper en moderkort, en förbyggd dator eller en bärbar dator, en viktig punkt är prestanda RAM minne och detta är inte bara begränsat till hastigheten på detta, utan för att kontrollera om vi har en Dual Channel-konfiguration eller inte. att inte ha det innebär att förlora makten helt.
När du köper ett moderkort har du hört talas om villkoren Enkelkanal och Dubbelkanal angående RAM-minnet som kommer att installeras i det. Och många av er har läst och hört hur att ha en enda minneskanal är skadligt för prestandan hos vår PC jämfört med att ha en dubbelkanal.
Vad är en minneskanal?
Kommunikation mellan RAM och vilken processor som helst är något som även om det är helt osynligt för både användare och programmerare, är det verkligen inte något trivialt. Det är en process på hårdvarunivå där CPU måste följa en serie strategiskt ordnade steg för att begära data lagrad i minnet genom en serie steg vid en specifik tidpunkt.
Problemet kommer när IMC, integrerad minneskontroller, som är hårdvaran i varje processor som ansvarar för att komma åt minne, blir mättad och detta gör det när det finns många förfrågningar. Det här är som en butiksägare framför en mycket stor kö av kunder som han måste betjäna en efter en. Nyckeln är att när förfrågningslistan ökar blir det mer förseningar i att betjäna kunder i slutet av kön. Om klienterna är förfrågningar till minne av CPU:n gör detta att IMC:n mättas helt.
Vad är lösningen? Jo, det enklaste är att inte ha en, utan två olika IMC:er, som har hand om att kunna hantera in-memory-förfrågningar parallellt. Det vanliga är att för varje gränssnitt utanför minnet finns en tillhörande IMC som gör åtkomsterna till RAM-minnet som är tilldelat processorn.
Single Channel kontra Dual Channel
Fram till tillkomsten av DDR5, där varje modul stöder två 32-bitars minneskanaler istället för ett 64-bitars minne, kunde vi i allmänhet räkna antalet tillgängliga kanaler med antalet DIMM-moduler som ett moderkort stödde delat med två, från t.ex. att vi kan identifiera ett Single Channel-moderkort genom att det bara har 2 DIMM-platser och en Dual Channel med 4.
För att underlätta för användaren identifieras de vanligtvis med färg: två röda och två svarta fack, till exempel. På ett sådant sätt har moderkort vanligtvis färgkoder i minneskortplatserna för att markera var DIMM-modulerna ska placeras på rätt sätt för att placera RA; i lämpliga uttag.
Poängen är att om vi bara har en modul i datorn betyder det att vi bara kommer att ha en 64-bitars överföringskanal per minnesklockcykel. Men om vi har två moduler i motsvarande socklar kommer bandbredden att fördubblas. Verklighet? Prestandaökningen är långt ifrån det dubbla. Speciellt om vi har ett moderkort designat för att använda en enda minneskanal, eftersom i så fall en enda IMC kommer att användas för kommunikation med minnet. Förutom såklart, som vi har sagt om den nyligen lanserade DDR5 där de använder två minneskanaler per modul.
Hur vet jag vilken konfiguration jag har?
För att kontrollera om konfigurationen av vår PC är Single eller Dual Channel räcker det med program som CPU-Z, där vi på fliken Minne kan kontrollera det direkt utan att behöva öppna vår dator. Här måste vi lägga till en detalj, många av de bärbara datorerna med DDR4-minne och lägre stödjer Dual Channel, men eftersom de bara har en modul installerad fungerar de i Single Channel.
Så om du har en bärbar dator eller en förbyggd PC och CPU-Z ger dig som ett resultat att du har en Single Channel-konfiguration så misströsta inte, det är möjligt att du kan åtgärda detta genom att installera en annan minnesmodul på moderkortet på din dator och få därmed en extra prestationsbonus.
Varför fördubblas inte prestandan?
Vi måste utgå från tanken att när vi pratar om bandbredd så talar vi egentligen om en teoretisk gräns som består i att 100 % av tiden data överförs. Verkligheten är att RAM inte fungerar så här och det finns en period av åtkomst för att bestämma vilken kolumn och minnesrad processorn vill komma åt där data inte skickas och vi måste också ta hänsyn till att förfrågningarna görs av IMC integrerat i CPU istället för kärnorna i densamma.
Användningen av den integrerade minneskontrollern är så att kärnorna inte behöver vänta på att RAM-minnet ska svara på dem, dessa driftstopp förlorar prestanda och därmed behovet av IMC. Faktum är att på CPU-bearbetningsnivån kommer ett Dual Channel-minne aldrig att fördubbla prestandan eftersom det är en teoretisk hastighet, ett ideal som på grund av olika begränsningar aldrig kommer att uppnås.
Så trots att den teoretiska bandbredden fördubblats, kommer den verkliga prestandaökningen att nå upp till 100 %, men det kommer inte att göra det om vi använde en enda minneskanal. Det som är tydligt är att att alltid ha minne i Dual Channel alltid kommer att ge mer prestanda än att ha det i Single Channel, vilket innebär att ett moderkort med en begränsad modulkonfiguration inte bara är begränsad i expansionsmöjligheter, utan även i prestanda.
Dual Channel iGPU-prestanda
GPU:er, till skillnad från processorer, är genomströmningsprocessorer, detta betyder att deras prestanda beror på bandbredden och därför på mängden data de kan ta emot. När det gäller integrerad grafik presterar de mycket dåligt med PC RAM jämfört med sina motsvarigheter i form av grafikkort även med exakt samma konfiguration. Vi måste ta hänsyn till att i PC:er har GPU:erna ett annat adressutrymme än processorns, så de tilldelas en del av minnet för dem som processorn inte kan komma åt.
Problemet kommer när CPU och GPU dela BMI för att komma åt minne och man kan redan från början tro att åtkomsttiden till RAM-minnet motsvarar åtkomsttiden för CPU:n plus den för GPU:n, men så är inte fallet, verkligheten är annorlunda. Eftersom konflikt skapas som orsakar nedtid för åtkomst genom att kontinuerligt behöva ändra kontexten IMC. Detta är dödligt inför CPU-åtkomsttiden, så CPU:n är säker på minimal åtkomsttid på varje minneskanal och resten lämnas till den inbyggda GPU:n.
Lyckligtvis är GPU:er inte sårbara för latens, men de är sårbara för bandbredd. Det betyder att i en Dual Channel-konfiguration, om vi använder en iGPU för att rendera ett spel, kommer vi att få dubbelt så hög prestanda än i Single Channel, eftersom grafikkretsen tar emot hälften av den data som vi kan arbeta med.