Aktuality  |  Články  |  Recenze
Doporučení  |  Diskuze
Grafické karty a hry  |  Procesory
Storage a RAM
Monitory  |  Ostatní
Akumulátory, EV
Robotika, AI
Průzkum vesmíru
Digimanie  |  TV Freak  |  Svět mobilně

RAM vs. herní výkon: vyplatí se 3466MHz paměti?

14.9.2020, Jan Vítek, recenze
RAM vs. herní výkon: vyplatí se 3466MHz paměti?
Zvláště pro zákazníky uvažující o sestavě založené na procesorech AMD je důležité téma výkonu pamětí RAM, jejich frekvence a časování, což bude i téma pro dnešní článek. V něm se podíváme zvláště na to, jak volba RAM ovlivní herní výkon. 
Paměti RAM a jejich nastavení je v případě procesorů Ryzen velké téma už od nástupu prvních modelů. My se jím budeme zabývat pouze z hlediska CPU Ryzen a sestavy vybavené samostatnou grafikou a ne z hlediska APU a propustnosti důležité pro integrovanou Vegu. To je důležité i proto, že počítač založený na APU bez samostatné grafiky bude celkově výrazně levnější než PC s grafikou kalibru naší RTX 2080 Super, což znamená i to, že do naší sestavy se celkově mohou vejít dražší paměti, aniž by jejich výběr působil nepatřičně. 
 
Procesory Ryzen 1000 měly s paměťmi ještě řadu potíží, v nichž se odrážela i snaha uživatelů dosáhnout co možná nejvyšších taktů s nejlepším časováním, aby si optimalizovali výkon. Tehdy se ale lidé zajímali spíše o to, zda budou vybrané paměti na jejich sestavě vůbec fungovat, což bylo spojeno s dětskými problémy nové platformy. Ty byly navíc prohloubeny tím, že výrobci desek neměli moc času na vyladění svých BIOSů a to se poté dohánělo za pochodu. 

Už v rámci druhé generace procesorů Ryzen ale nebyl velký problém provozovat paměti na efektivních 3200 MHz a třetí generace je schopna spolehlivě provozovat i 3600MHz či 4000MHz paměti, což je pro účely (nebo spíše peněženky) drtivé většiny uživatelů více než dostačující.
 
 

RAM a výkon CPU Ryzen

 
Obecně máme v povědomí, že výkon procesorů Ryzen závisí na taktu pamětí více, než v případě procesorů Core. Toto téma se probírá už od března roku 2017, kdy AMD prozradilo, že na taktu pamětí přímo závisí takt vnitřní sběrnice procesorů Ryzen, čili Infinity Fabric. 
 
 
A jak dobře víme, Infinity Fabric se stará o přesun dat mezi CCX - čtyřjádrovými komplexy, takže čím rychlejší je, tím svižnější je třeba i přesouvání procesů mezi jádry v sousedících CCX. To samozřejmě platí pouze pro takové procesory, které využívají oba CCX a rozhodně neplatí, že čtyřjádrové CPU rovná se jen jeden zapnutý CCX, jak nás naučil případ nových Ryzen 3 3100 a 3300X

Od AMD jsme se tak dozvěděli tu prostou informaci, že na výchozí nastavení pracuje Infinity Fabric na fyzickém taktu pamětí DDR4, čili v případě modulů s efektivním taktem 2133 MHz jde o fyzický takt 1066 MHz. 
 
V normálním případě tu tak máme mClock (takt pamětí), uClock (takt pam. kontroleru) a fClock (takt Infinity Fabric) v poměru 1:1:1, tudíž není co řešit, všechny pracují na stejných megahertzích. A pokud někdo využívá maximálně DDR4-3600, může by být v klidu, neboť by stále měl platit poměr 1:1:1. Ovšem i na moderních deskách s X570 je pro fClock stanovený strop právě na 1800 MHz (lze jej však obejít), takže DDR4 na více než 3600 MHz (efektivně) způsobí uzamknutí fClock na 1800 MHz a zapnutí poměru 2:1 pro paměťový kontroler (uClock). Čili pro takové 5000MHz paměti DDR4 by platily takty mClock, uClock a fClock ve výši 2500 MHz, 1250 MHz a 1800 MHz, což má své negativní dopady na výkon vzhledem k vyšším latencím.
 
Dle AMD nám takové asynchronní nastavení přidá k latencím cca 9 ns, takže by si uživatel měl dobře rozmyslet, zda s taktováním pamětí skončí tam, kde končí možnosti paměťového kontroleru či sběrnice Infinity Fabric, a bude je provozovat synchronně, anebo vymáčkne co nejvyšší takt, ale s penalizací vyšší latence. To bychom v našem případě snad neměli mít důvod řešit, neboť použijeme 3466MHz moduly, ale uvidíme, co umožní deska a procesor.
 
  

Časování

 
Vysoká pracovní frekvence pamětí je jedna věc a zvláště na systémech s procesory AMD ovlivňuje výkon i ostatního hardwaru, ovšem pokud využijeme paměti s hlemýždím časováním (nebo si ho nastavíme), nebude nám jejich vysoký takt nic platný. Stále ale je pravda, že v případě SDRAM se díky vysoké frekvenci potřebné cykly odbudou rychleji. 
 
Časování pamětí nám určuje prodlevy mezi jednotlivými operacemi, takže je zřejmé, že čím nižší číslo, tím lépe. A také je zřejmé, že s časováním musíme nakládat velice opatrně a že si nelze nastavit jen tak nějaká čísla dle vlastního uvážení, neboť v lepším případě docílíme naopak horšího výkonu a v horším případě dospějeme k resetu BIOSu. 
 
nastavení pamětí použitých v testu dle profilu XMP pro nejvyšší takt
 
Paměti se dnes zcela běžně označují vedle pracovního taktu (efektivního) také zkratkou CL či CAS Latency (Column Access Strobe). Jde o zcela základní údaj, který nám řekne, jaká prodleva v nanosekundách (v případě asynchronních DRAM) či cyklech (náš případ synchronních DRAM - SDRAM) uběhne mezi zadaným příkazem READ a tím, kdy data skutečně budou přečtena a k dispozici. V případě dnešních DDR4 musíme počítat alespoň s CL14 a levné moduly zpravidla nabízejí CL19. Nejde ale pouze o CL, neboť základních typů časování je pět. 
 
Ještě dříve bychom si ale měli trochu osvěžit strukturu pamětí DRAM, a to alespoň s ohledem na jejich nejmenší struktury. Když pomineme, že tu máme nejdříve paměťové Ranky a Banky, pak nakonec stejně přistupujeme k řádkům (Row nebo také Page - stránka) a sloupcům (Column). Je to zkrátka v podstatě stejné, jako když hledáme konkrétní dům, nejdříve si najdeme město, následně ulici a až v ní samotný dům. Bank je tak dvourozměrná mřížkovitá struktura zvaná DRAM Memory Matrix tvořená řádky a sloupci, na jejichž místech protnutí nalezneme samotná data uložená coby bity. 
 
Řádek v paměti může být aktivovaný, čili otevřený, což je nutné k tomu, aby z něj mohla být čtena data (nebo zapisována). Aktivovaný zůstává do příkazu Precharge, který jej převede do nečinného stavu, aby mohl být otevřen jiný řádek. 
  • CL / CAS Latency - počet cyklů mezi příkazem Read ke čtení z paměti a příjmem dat. Jde o základní údaj platící pro případ, že už je otevřen žádaný řádek paměti, čili jde o ideální scénář, kdy je odezva nejkratší.
  • tRCD / RAS to CAS Delay - v případě, že není otevřen žádný řádek, se k výslednému času přístupu k datům přičte tRCD, čili počet cyklů nutný k otevření řádku a přístupu ke sloupci. Celková doba je v takovém scénáři rovna přinejmenším součtu tRCD + CL. 
  • tRP / RAS Precharge - v případě, že je otevřen nevhodný řádek v banku (Page Miss), nastupuje příkaz Precharge. To znamená, že se přičítají cykly nutné pro zavření nechtěného řádku a poté otevření žádaného řádku. Přístup k datům tak zabere tRP + tRCD + CL. 
  • tRAS / Cycle Time - počet cyklů mezi aktivací řádku a jeho zavřením, která by měla být dostatečně dlouhá na to, aby byl čas k přístupu k uloženým informacím. Měla by tak teoreticky být přinejmenším stejná, ale spíše delší než součet tRCD + CL. 
  • CR / Command Rate - obvykle s hodnotou 1T nebo 2T a jde o počet cyklů mezi výběrem konkrétního čipu DRAM na modulu a provedení příkazu. Rozdíly ve výkonu přitom nejsou velké, ale 2T může přispět k vyšší stabilitě na vysokých frekvencích nebo při využití více než dvou modulů DIMM, což není náš případ.