Nastavení BIOSu počítače pro větší výkon

BIOS, což je zkratka pro Basic Input Output System, se dá se chápat jako nízkoúrovňový ovladač základní desky a dalších komponent počítače. BIOS se stará jak o inicializaci těchto komponent, tak o zavedení operačního systému. Celá řada nastavení BIOSu ovlivňuje ale i výkonnost počítače jako celku. V tomto článku se podíváme na ta nejdůležitější nastavení, se zaměřením na FSB a časování pamětí a jejich dopad na celkový výkon počítače.

Základem zvyšování výkonu je frekvence FSB

Související odkazy

Slovník
AGP
BIOS
cache
latency
PCI
sběrnice

Při přetaktování (a tím zvyšování výkonu) dnešních počítačů je základem změna frekvence FSB (Front Side Bus). FSB spojuje paměť a veškerá další zařízení s procesorem, a tato frekvence je tedy zcela klíčová pro rychlost systému jako celku.

Přetaktování pamětí samotných je ovšem málokdy cílem, skutečným cílem bývá přetaktování procesoru, nicméně, tato snaha je díky propojenosti FSB a frekvence jádra procesoru spojitá nádoba, a proto se FSB musíme zabývat podrobněji.

Dnešní běžné frekvence FSB jsou 333 (stařičké Duron a Athlon XP procesory), 400 (opět třeba Athlon XP), 533 (Intel Pentium-M a některé Celerony), 800 (Intel Pentium 4E socket 478, a Athlon 64 socket 754) a 1066/1000 (Intel Pentium 4 Extreme Edition LGA socket / Athlon 64 socket 939) MHz. Uvedená hodnota je ovšem, přesněji řečeno, rychlost přenosu dat po systémové sběrnici, fyzická frekvence přenosu v MHz ("clock") je typicky na jedné čtvrtině (Intel Pentium 4) či polovině (Athlon XP) této hodnoty, ale protože data se zde posílají ve dvou (Athlon XP) či dokonce čtyřech (Intel Pentium 4) linkách zároveň - quadpipes, tak je celková FSB na uvedené úrovni.

Pokud například u procesoru Intel Pentium 4E 3.2 GHz změníme FSB z 200 MHz na 250 MHz, dostaneme tím nejen paměti běžící na vyšší frekvenci, ale i frekvenci procesoru 4.0 GHz. Pokud to uchladíte, a vydrží to paměti, dostanete zdarma stroj o několik desítek procent výkonnější. Problém při zvyšování FSB (u Intelu, ale i u některých AMD procesorů) je ovšem v takzvaném multiplikátoru. Procesory Intel Pentium 4 mají tento multiplikátor uzamčen, například na hodnotě 16, což znamená, že se zvyšováním frekvence CPU se nutně zvyšuje i hodnota FSB, a tím zároveň i pracovní frekvence pamětí. A protože běžné DDR400 paměti jsou certifikovány jen pro 200 MHz, nemusí 250 MHz unést (a typicky to neunesou).

Nicméně, na řadě desek (ale ne na všech!) je možné nastavovat i děličku frekvence pamětí v určitém omezeném rozsahu a provozovat je asynchronně, a to třeba na DDR400, DDR320, a DDR266. Potom v případě FSB 250 MHz, a nastavení pamětí na DDR320, poběží tyto paměti na DDR400 (320 * 250 / 200 = 400), asynchronně 5:4, což je to co potřebujete, pokud máte jen levné paměťové DDR400 moduly, a nikoliv DDR500 paměti. Při nastavení na 400, poběží tyto paměti již na DDR500 (viz fixní multiplikátor). Tento asynchronní mód pro Intel příliš nevadí, naopak u AMD ano, ten má velké výkonnostní problémy pokud FSB:DRAM neběží v poměru 1:1. V obou případech (Intel i AMD) je ale žádoucí udržet poměr FSB:DRAM frekvence na hodnotě 1:1, kvůli maximálnímu výkonu v synchronním módu.

AMD procesory jsou na tom ale z jednoho pohledu lépe, je u nich možno totiž měnit nejen frekvenci jádra procesoru, ale u některých z nich i hodnotu multiplikátoru.

Frekvenci FSB, děličku mezi frekvencí FSB:DRAM (a u některých AMD procesorů i multiplikátor mezi FSB a frekvencí CPU), můžete nastavovat ve většině BIOSů. Zde je příklad nastavení pro Asus P4C800-E desku s i875 chipsetem, FSB je zde zvýšena na 235MHz (ze standardních 200 MHz), a procesor Intel Pentium 4E 3,2 GHz s multiplikátorem 16 tak běží na 3,76 GHz a paměti na DDR470, dělička FSB:DRAM je 1:1, a frekvence AGP/PCI sběrnice je fixována na 66,6/33,3 MHz (ne všechny desky zejména u AMD procesorů tuto fixaci umožňují!):

Nastavení FSB a frekvence pamětí

Protože Intel procesory mají uzamčený multiplikátor, nastavení pamětí na 400 MHz a změna CPU External Frequency (FSB) na 235 MHz ve skutečnosti znamená, že paměti poběží na DDR470 (235 MHz x 2).

Časování pamětí a souvislost s FSB

FSB je ovšem jen jednou součástí rovnice, která udává výkon paměťového subsystému. Druhou proměnnou do této výkonové rovnice je časování pamětí. Časování pamětí se udává hned v několika hodnotách, ty nejpodstatnější jsou CAS Latency, RAS-to-CAS Delay (TRCD) a TRP.

Pro lepší pochopení je dobré si ujasnit, jak paměťový řadič pracuje. Nejdříve řadič paměti přistupuje k jednomu řádku paměťových buněk (z celé paměťové matice), a to tak, že na piny paměti zapíše adresu požadovaného řádku a aktivuje RAS (row access signal) signál. Potom musí řadič chvíli počkat (což je RAS-to-CAS Delay), a potom na pin paměti zašle adresu požadovaného sloupce a aktivuje CAS (column access signal) signál. No, a potom zase musí nějaký ten cyklus počkat, a až pak se požadovaná data objeví na pinech paměti, a tento poslední (a nejdůležitější) čekací interval se nazývá CAS Latency.

Logicky z toho vyplývá, že nižší CAS Latency a nižší RAS-to-CAS Delay znamená, že požadovaná data dostaneme rychleji, a systém by měl být tudíž výkonnější.

TRP (občas se nazývá i RAS Precharge) je dále v této rovnici časem, jak dlouho paměťový řadič musí čekat mezi dvěmi různými požadavky na paměť. Dále zde máme ještě TRAS, RAS Pulse Width, Burst Length a další, ale popis těchto položek je nad rámec tohoto článku, a nejsou již tak významné.

To, zda hodnoty časování pamětí můžete ovlivnit v BIOSu, záleží na tom, jakou máte základní desku. Na značkovém Compaq či Dell počítači nenastavíte nic, protože si to výrobce nepřeje, vše je řízeno jen automaticky přes vestavěný SPD chip na paměťových modulech. Pokud máte ale základní desku od Asusu, DFI, MSI či třeba Gigabyte, většinu těchto položek budete schopni nastavit.

Toliko teorie, v praxi ovšem nastává problém, že se zvyšující se frekvencí FSB se zvyšuje u pamětí i jejich provozní hodnota CAS Latency a RAS-to-CAS Delay, takže systém sice funguje na vyšší frekvenci, ale data dostáváme s vyšší latencí (zpožděním). Vliv zvýšení FSB na výkon je tedy vždy poněkud nejistý (alespoň v teorii), v určitém nastavení může být dokonce vhodnější zvolit mírně nižšší frekvenci FSB, ale naopak rychlejší časování pamětí (například CL 2.0 místo CL 2.5), pro zajištění maximálního výkonu systému jako celku.

U AMD procesorů má přitom změna časování paměti větší vliv na konečné změny výkonu. Důvodem je velká Level 1 (a Level 2) cache u Intel Pentium 4 procesorů, která pracuje na plné frekvenci jádra chipu, zatímco AMD procesory mají tuto cache podstatně (typicky dvakrát až čtyřikrát) menší, a jsou tudíž více závislé na časování pamětí a na jejich kvalitě. Nutné je také říci, že paměti s nízkým časováním (vhodné pro AMD) jsou podstatně dražší než paměti s průměrným časováním a dobrou možností přetaktování FSB (vhodné pro Intel).

Zajímavostí rovněž je, že Intel má řadič paměti implementovaný v severním můstku (i865PE, i875, i915, i925), kdežto AMD jej u procesorů Athlon 64 integrovala přímo do procesoru, což může mít teoreticky mírně vyšší výkon, v praxi se to ale odráží spíše na tom, že ne každé paměťové moduly s Athlonem 64 fungují, zvláště v Dual Channelu. U Intel procesoru s Intel chipsetem většinou na problém kompatibility paměťových modulů nenarazíte. Navíc, Intel dnes podporuje i DDR2/667 paměti s časováním CL3, které jsou na tom výkonově skvěle.

Ale jak ukážou následující testy, vliv časování pamětí na výkon není až tak drastický, FSB je pro výkon mnohem důležitější než časování. Nicméně, zdůrazňuji, že svět procesorů, řadičů paměti a paměťových modulů je velice rozmanitý, a zde uvedené závěry rozhodně neplatí pro každý systém, a není tudíž nutné v diskusi začít pokřikovat, že jen AMD, či jen Intel, či jen CL 2.0.

Frekvence u paměťových modulů je odvozena od fyzické frekvence FSB, typicky paměti tedy běží na 200 MHz, nicméně, data jsou přenášena dvakrát během jednoho cyklu, a odtud pramení efektivní frekvence 400 MHz, a tudíž i název DDR400. Intel začal používat i paměti typu DDR2, které jsou schopny data posílat čtyřikrát během jednoho cyklu, ale zase mají horší časování a nižší fyzickou frekvenci (MHz).

SPD chip versus ruční nastavení časování

Každý paměťový modul má na sobě malý chip, označovaný jako SPD (EEPROM), který udává časování CAS Latency, RAS-to-CAS Delay, RAS Precharge (TRP) a TRAS pro určité frekvence FSB. Pokud použijete program jako je CPU-Z, můžete se na tato výrobcem doporučená časování podívat:

Časování pamětí dle SPD

Vidíme zde, že vyšším frekvencim FSB odpovídají i podstatně horší hodnoty časování. Realita ale nebývá až takto špatná, SPD obsahuje vždy "pesimistické" hodnoty, které je možné stabilně provozovat na každé konfiguraci, a přetaktovávací realita bývá často lepší.

Takto vypadá časování mnou testovaných pamětí v reálu, při frekvenci 235 MHz (DDR470) je stále možné zachovat časování 2.5-3-3-6, i když jej paměti při této frekvenci oficiálně nepodporují, v praxi to prostě musíte zkoušet a testovat, povšimněte si rovněž povoleného Performance Mode (PAT) a také poměru frekvence mezi FSB a DRAM v hodnotě 1:1 (tedy žádoucí synchronní fungování):

Reálné časování pamětí

Dual Channel fungování pamětí

Veškeré moderní řadiče paměti podporují i takzvaný Dual Channel mód (v podstatě zde fungují dva řadiče pamětí současně), tento mód je na kvalitu a stejné časování pamětí více náročný (ale zase poskytuje vyšší výkon). I proto se prodávají Dual Channel kity pamětí, kde je záruka, že paměť bude v Dual Channel módu fungovat. Nicméně, pokud chcete například 4 paměťové moduly (4 x 512 MB), takovouto sadu v podstatě nemáte šanci koupit, a je tedy více než vhodné před vlastní koupí funkčnost pamětí ve Vaší desce prakticky otestovat (platí to zvláště pro Athlon 64 procesory s vestavěným a více citlivým řadičem paměti).

V případě Dual Channel pamětí a dvou modulů musíte u Intel desky typicky osadit první a třetí (nebo druhý a čtvrtý) slot, jinak paměť poběží jen v Single Channel módu, v případě AMD (nForce X) platformy a jen 3 slotů pro paměti to bývá první plus třetí slot:

Osazení pamětí pro Dual Channel - první a třetí slot

Nastavení časování pamětí v BIOSu

Standardně je BIOS každého počítače nastaven tak, že používá časování pamětí podle SPD EEPROM chipu. Pokud to váš BIOS umožňuje, můžete toto časování ovšem změnit. Co jednotlivé položky znamenají jsem vysvětloval dříve.

Každá změna časování pamětí jde ovšem nad rámec doporučení výrobce pamětí či základní desky, a je nutné potom váš počítač řádně otestovat.

Nastavujeme časování pamětí v BIOSu

Vliv napětí DRAM na stabilitu

Pokud je Váš systém při daném časování či frekvenci FSB nestabilní, a pokud to výrobce Vašich pamětí povoluje, můžete se pokusit i zvýšit napětí dodávané DRAM paměťovým modulům, měla by se poté zvýšit možnost jejich přetaktování, nicméně, paměti se zase více zahřívají, a při zátěži mohou dříve chybovat:

Napětí DRAM v BIOSu

Rozhodně nezvyšujte napětí nad výrobcem doporučenou mez, paměti se mohou zničít! Můžete vyzkoušet použít i pasivní chladiče na paměti, v praxi to ale nemá příliš smysl, mnohem lepší je na paměti a na severní můstek nasměrovat 9 cm větrák nebo použít obrovský větrák na chladiči procesoru, který ofukuje i své okolí (a tudíž i paměti).

Pro zvyšování frekvence procesoru a FSB je zase možné a vhodné zvýšit VCore napětí, tedy napětí dodávané procesoru, a pro přetaktování grafické karty je vhodné zvyšovat napětí pro AGP / PCIe sběrnici.

Propustnost paměťového subsystému

Rychlým a snadným testem různého nastavení pamětí (FSB versus časování) a jejich vlivu na výkon je výpočet propustnosti paměťového subsystému. Pro tento test existuje řada aplikací (známá je například SiSoft Sandra), osobně ale používám Everest Home Edition.

Test paměťového subsystému nám ukáže rychlost čtení z paměti, rychlost zápisu do paměti, a latenci (zpoždění) pamětí, přičemž všechny tyto hodnoty mají vliv na výkon v reálných aplikacích.

Položka Hodnota
CPU Intel Pentium 4E, 3,2 GHz, socket 478
základní deska Asus P4C800-E Deluxe, Intel 875 chipset
paměti 4x Kingmax Hardcore DDR500 512 MB, CL 3.0
grafika XFX 6800GT @ 420/1200 MHz
HDD Seagate 7200.8 SATA, 250 GB
OS Windows XP Pro SP2
Drivery nVidia 76.45

Testovací konfigurace

Propustnost paměti pro čtení:

Propustnost paměti pro zápis:

Latence pamětí:

Propustnost paměti vzhledem k FSB a časování

Podstatně zajímavější je ovšem srovnání paměťové propustnosti pro různé hodnoty FSB a časování pamětí. Použité Kingmax Hardcore DDR500 paměti umožňují běh na DDR470 při 2.5-3-3-6, a při DDR400 na 2.0-3-3-6, a testována bylo i konfigurace DDR470 při časování 3-4-4-8, a DDR400 při běžném 2.5-3-3-6 časování (typické časování levných, neznačkových pamětí).

Výsledky jsou očekávané, zcela rozhodující pro paměťovou propustnost je frekvence FSB, kdežto změna časování pamětí se projeví ve výsledku v hodnotách promile. Frekvence FSB 200 MHz odpovídá frekvenci CPU ve výši 3,2 GHz, a frekvence FSB 235 MHz odpovídá frekvenci procesoru 3,75 GHz.

FSB Časování Čtení paměti Zápis do paměti Latence pamětí
235 MHz 2.5-3-3-6 6612 MB/s 2422 MB/s 75,7 ns
235 MHz 3.0-4-4-8 6573 MB/s 2407 MB/s 78,4 ns
200 MHz 2.0-3-3-6 5594 MB/s 2134 MB/s 86,3 ns
200 MHz 2.5-3-3-6 5526 MB/s 2044 MB/s 86,5 ns

Propustnost pamětí grafem

Propustnost pamětí při změně FSB a časování - čtení
 
 
 
Propustnost pamětí při změně FSB a časování - zápis
 
 
Propustnost pamětí při změně FSB a časování - latence [ns]

Témata článku: , , , , , , , , , , , , , , , , , , , , , , , ,