Galerie 33
Ladíme výkon Athlonu 64
Článek Procesory AMD AMD

Ladíme výkon Athlonu 64 | Kapitola 4

Eagle

23

Seznam kapitol

1. Ladíme výkon Athlonu 64 2. Athlon 64, maximální teplota 3. Časování pamětí 4. Frekvence pamětí

Procesor Athlon 64 má řadu možností nastavení časování pamětí. Řada z nich je ovšem nedokumentovaná (podporované jsou neoficiálně). Dnes si ukážeme, jak měnit nastavení pamětí za chodu z operačního systému - včetně oněch nedokumentovaných nastavení jako například změny frekvence na 180 MHz. Mimo to si také povíme, jak zjistit maximální přípustnou teplotu čipu (TCaseMax).

Reklama

Generování frekvence pamětí u Athlonu 64 Frekvence pamětí se u procesorů Athlon 64 odvozuje z frekvence jádra. Samotné jádro se frekvenčně odvozuje z 200 MHz hodin pocházejících z externího clock generátoru ze základní desky. Typicky třeba Athlon 64 3000+ s frekvencí 1.8 GHz násobí 200 MHz 9x.

Ladíme výkon Athlonu 64

Protože AMD chtělo maximální výkon, není paměť časována z clock generátoru, ale dělením frekvence jádra. Samotný procesor má takto mnoho dělících poměrů od zhruba 5x do čísel větších než 30x. Základním nedostatkem tohoto systému je, že dělící poměry jsou vždy celočíselné. To znamená, že výsledná frekvence ne vždy odpovídá použitým pamětem. Tak například u procesoru s frekvencí 1800 MHz (9x 200) se pro čtyři základní podporované paměťové skupiny použijí následující dělící koeficienty:


DDR200 (reálná frekvence 100 MHz): 1800 / 18x = 100 MHz
DDR266 (reálná frekvence 133 MHz): 1800 / 14x = 129 MHz
DDR333 (reálná frekvence 166 MHz): 1800 / 11x = 164 MHz
DDR400 (reálná frekvence 200 MHz): 1800 / 9x = 200 MHz

Jak vidíte, ne vždy se výsledek přesně trefí. V případě volby DDR266 pojedou paměti ve skutečnosti na frekvenci o 5 MHz nižší, než by měly - výsledek tedy není DDR266, ale "DDR257". U volby DDR333 pak bude výsledkem "DDR327".

Tento problém se týká všech procesorů, ale liší se podle použitého násobiče frekvence jádra. Pokud třeba budeme mít nominální frekvenci 2000 MHz (10x 200), pak použité dělitele budou jiné:


DDR200 (reálná frekvence 100 MHz): 2000 / 20x = 100 MHz
DDR266 (reálná frekvence 133 MHz): 2000 / 15x = 133 MHz
DDR333 (reálná frekvence 166 MHz): 2000 / 12x = 166 MHz
DDR400 (reálná frekvence 200 MHz): 2000 / 10x = 200 MHz

Jak vidíte, s násobičem 10x je možné přesně vystihnout cílové frekvence. Pokud ale bude 11x, pak už dojde opět k rozhození. Procesor vždy volí takový dělící koeficient, aby výsledná frekvence pamětí byla co nejblíže cílové hodnotě, ale nikdy ne vyšší (takže z dvou dělitelů vždy volí ten vyšší).

Ladíme výkon Athlonu 64


CPU-Z si frekvenci pamětí dopočítává podle nastavení procesoru - nezjišťuje jí reálně!

Pozor na to, že žádný program vám spolehlivě nedokáže zjistit, na jaké skutečné frekvenci paměti běží. Procesor to totiž nikde nehlásí, takže neexistuje způsob, jak tuto informaci získat. Všechny programy, pokud nějakou hodnotu zobrazují, jí dopočítávají stejnou metodikou, kterou jsem uvedl výše - bohužel ale často v těchto programech jsou takové chyby, že není vůbec radno se na ně spoléhat.

Poznámka: Pokud se vlivem přetaktování změní frekvence z generátoru z 200 MHz na jinou hodnotu, použité dělitele se nezmění. V podstatě tak vyšší frekvence z generátoru způsobí i vyšší frekvenci paměti. Pomocí jednoduché matematiky uvedené výše je pak možné snadno dopočítat, na jaké konkrétní frekvenci paměti poběží.

Nastavování frekvence pamětí

Frekvence pamětí se nastavuje v Device 24, Function 2, Offset 94h (DRAM Configuration High Register).

Ladíme výkon Athlonu 64

U revizí D0 a starších slouží k nastavení frekvence bity 22 až 20. AMD v tomto registru popisuje pouze nastavení pro čtyři frekvence - 100, 133, 166 a 200 MHz. Protože se ale jedná o tři bity, je celkový počet nastavení osm. Některé frekvence jsou totiž neoficiální. Jejich funkčnost nikdo nezaručuje, ale obvykle to funguje bez problémů. Některé základní desky (například DFI) dokonce umožňují tyto neoficiální frekvence volit přímo v Setupu BIOSu.

Ladíme výkon Athlonu 64


Bity 22, 21 a 20 obsahují nedokumentovaná nastavení.

Experimentováním a benchmarkingováním jsem zjistil, že hodnoty bitů jsou následující:

Nastavení bitů [22:20]

Výsledná frekvence pamětí v MHz

Cílová frekvence za ideálních podmínek v MHz

Skóre ve WinRARu

Propustnost podle Sandry

000

100

100

332

3009

001

120

125*

373

3567

010

129

133

389

3827

011

138

142*

406

4114

100

150

155*

430

4420

101

164

166

457

4660

110

180

183*

479

4839

111

200

200

500

5048

* Uvedené hodnoty nejsou oficiálně podporované, jedná se o moje odhady.

Takto to dopadlo u Athlonu 64 3000+. K uvedeným frekvencím jsem dospěl na základě regresní analýzy metodou nejmenších čtverců.

Ladíme výkon Athlonu 64

Přestože uvedené hodnoty nemůžu stanovit přesně (model vykazuje spolehlivost jen kolem 99 procent, což je na tak drobné odchylky málo), alespoň velmi orientačně s přesností na řekněme +/- 3 MHz je lze označit za správné. Na modelu je ostatně vidět, že při 95% spolehlivosti jsou intervaly konfidence poměrně úzké.

Revize E procesorů procesorů Athlon 64 mají novinky v podobě nastavování frekvence pomocí více bitů. Namísto bitů 22 až 20 jsou použity bity 23 až 20. Celkový počet nastavení je tak ještě o mnoho vyšší. Experimentem jsem zjistil, že nastavení 1000 odpovídá frekvenci 200 MHz, tedy je stejné jako nastavení 0111. Bohužel moje paměti nejsou schopny zvládnout o mnoho vyšší frekvence než právě DDR400, takže nejsem schopen zjistit, které nové cílové hodnoty jsou u těchto nových procesorů dostupné. Pokud někdo ze čtenářů má možnost zjistit, jaké frekvence to jsou, nechť mě kontaktuje.

Read Preamble (bity 11 až 8)

    • 0000 = 2 ns
    • 0001 = 2.5 ns
    • 0010 = 3 ns
    • ...
    • 1111 = 9.5 ns

- Jedná se o nastavení v závislosti na počtu DIMM slotů a frekvenci. Určuje, kdy se mají zapnout přijímače DQS (Data and memory strobe). Vyšší frekvence vyžadují rychlejší nastavení, jinak se systém stane velmi nestabilním. Na druhou stranu příliš rychlé nastavení nemusí řadič zvládat. Doporučené nastavení:

Ladíme výkon Athlonu 64

- Rozhodující je počet fyzicky přítomných DIMM slotů, ne počet osazených modulů.

Revize E a novější - OddDivisorCorrect

Athlony 64 v revizích E (tedy E3, E4 a E6) podporují také další nastavení nazvané OddDivisorCorrect. Jedná se jednobitový přepínač, který donutí procesor změnit dělitele tak, že eliminuje liché. Nastavuje se ve stejném registru jako frekvence, onen bit je číslo 31. Jednička znamená eliminaci lichých dělitelů, nula pak jejich zachování. Standardní nastavení je nula.

Ladíme výkon Athlonu 64


OddDivisorCorrect se nachází v bitu 31

Při zapnutí se pak tedy frekvence pamětí nedělí lichým číslem, ale pouze sudým vyšším. Následuje příklad z procesoru Athlon 64 3000+ (1800 MHz):

Nastavení bitů [22:20]

OddDivisorCorrect = 0

OddDivisorCorrect = 1

Výsledná frekvence pamětí v MHz

Použitý dělitel

Výsledná frekvence pamětí v MHz

Použitý dělitel

000

100

18x

100

18x

001

120

15x

112

16x

010

129

14x

129

14x

011

138

13x

129

14x

100

150

12x

150

12x

101

164

11x

150

12x

110

180

10x

180

10x

111

200

9x

180

10x

Jak vidíte, nějaký veliký přínos to nemá. V podstatě to jen umožňuje nastavit oficiální cestou to, co se jinak dá nastavit nedokumentovanou kombinací bitů. Mimo to to u 3000+ nabízí jeden dělitel navíc - konkrétně 16x. V některých případech se ale mohou nové možnosti hodit.


Předchozí
Další
Reklama
Reklama

Komentáře

Nejsi přihlášený(á)

Pro psaní a hodnocení komentářů se prosím přihlas ke svému účtu nebo si jej vytvoř.

Reklama
Reklama