Skrytý OC: Výrobci desek šidí se spotřebou procesorů Ryzen, může to zkrátit životnost čipů

10. 6. 2020

Sdílet

 Autor: Fritzchens Fritz, použito se souhlasem autora - public domain
Výrobci desek prý běžně falšují údaje o spotřebě a proudu na procesorech Ryzen. Díky tomu mají CPU na jejich desce vyšší výkon, ale překračují limity spotřeby a hrozí jim poškození. Naštěstí to teď bude umět odhalovat utilita HWiNFO.

U procesorů Intel panuje v jednom ohledu chaotická situace: výrobci desek v honbě za výkonem často upravují limity spotřeby turbo boostu a/nebo prodlužují dobu, po kterou je zvýšenou spotřebu v boostu možné čerpat. U procesorů AMD by limity spotřeby v boostu měl hlídat přímo procesor a maximální spotřeba by tedy bez přetaktování měla být konzistentnější. Bohužel to ale vypadá, že výrobci desek si našli cestu, jak i tady v honbě za o trošku vyšším výkonem limity ohýbat.

The Stilt, znalec vnitřností procesorů od AMD, upozornil v podrobném popisu na fóru programu HWiNFO, že desky platformy AM4 „podvádějí“ ve výkonu pomocí triku, kdy procesoru sdělují nepravdivé údaje o spotřebě. Efekt je, že vedle vyšších frekvencí může CPU překračovat svou předepsanou maximální spotřebu a může teoreticky být zkrácena životnost procesoru. Desky tak vlastně i v nepřetaktované výchozí konfiguraci aplikují tajně OC, aniž by o tom uživatel věděl.

Manipulace s údaji zvyšuje přes OC výkon, ale s negativními důsledky

O co přesně jde? Ryzeny mají poměrně pokročilý systém řízení spotřeby (a zároveň frekvencí/boostu), který je ovšem závislý na tom, aby základní deska procesoru posílala informaci o proudu, který do něj jde z napájecí kaskády (VRM). Tuto zpětnou vazbu poskytuje řídící čip VRM, ale jde o 8bitovou číselnou hodnotu, která neudává přímo přesný proud. Procesor potřebuje od desky informaci, pomocí které si tento údaj zkalibruje a převede na údaj v ampérech.

Faktor, kterým je nutné zkalibrovat hodnotu z VRM, musí procesoru sdělit deska, protože se liší mezi jednotlivými napájecími kaskádami. Procesor (který si pak může dopočítat svou spotřebu podle vzorce příkon = napětí × proud) je tedy závislý ve správném řízení na tom, aby mu deska uváděla správnou hodnotu. Pokud je hodnota nesprávná, tak při snaze trefit svou správnou spotřebu buď přestřelí (a může tím překročit svou maximální povolenou spotřebu), nebo mylně omezí svůj výkon dříve, než by musel.

A tuto slabinu podle všeho výrobci desek využívají. Lépe řečeno zneužívají, protože toto specifikace AMD nedovolují a AMD je údajně neustále vyzývá, aby to nedělali. Stilt uvádí, že minimálně dva z velkých výrobců, což by mělo znamenat dva ze čtyřky ASRock, Asus, Gigabyte a MSI (podle komentářů pod článkem to vypadá, že se to stává u Asusu a Gigabyte), dělají to, že procesoru uvádí schválně sníženou kalibrační hodnotu. A pak si CPU myslí, že do něj jde mnohem nižší proud, než reálně, například jen 70 % reálného odběru. Poznámka: to, co deska procesoru sděluje, se může lišit mezi jednotlivými verzemi BIOSů.

MSI b450 tomahawk max socket AM4 ilustrace 1600 Socket AM4 pro procesory Ryzen (Zdroj: MSI)

Procesor si myslí, že má nižší spotřebu

Protože si procesor myslí, že má ve spotřebě rezervu, zvýší své takty, aby využil celý dostupný „rozpočet“. Frekvence díky tomu budou vyšší, jenže reálně tím CPU poběží na mnohem vyšší spotřebě, než by správně mělo podle svého TDP. Například pro 65W Ryzeny je bez přetaktování maximální povolá spotřeba v boostu 88 W a pro 105W pak 142 W (tyto limity se jmenují PTT). S tímto trikem je ale deska přiměje běžet na vyšších spotřebách.

Stilt uvádí příklad, kdy deska deklaruje jen 60 % proudu, který reálně CPU odebírá: například 65W procesor pak může místo 88 W „žrát“ až 147 W (pokud nenarazí na limity frekvencí/napětí, což by se například u Ryzenu 7 3700X stalo dřív, než spotřeba vyleze tak vysoko), ač se tváří, že není přetaktovaný. Podle zmínky v textu nejhorší případy desek podhodnocují proud až o 50 % (takže by CPU nevědomky mohlo brát až dvojnásobek své maximální spotřeby – toto by asi nejvíc hrozilo u 16jádra Ryzen 9 3950X).

Výrobci desek, kteří toto udělají, získají nepoctivou výhodu, protože to vypadá, že jejich deska podává vyšší výkon, ačkoliv reálně jen dělá potichu přetaktování. Toto zároveň může ovlivnit recenze, kdy se jednak procesor jeví výkonnějším, než má správně být. Vedle toho zároveň ale procesor bude trpět zvýšenou spotřebou. Bude to vypadat, že překračuje své TDP (respektive PTT), což by Ryzeny správně dělat neměly. (Že by toto vysvětlovalo, proč některé recenze například vypadaly, že Ryzen 9 3950X překračuje své 142W PTT?)

Procesor AMD Ryzen 3000 ilustrace 1600 Procesor AMD Ryzen 3000 (Zdroj: AMD)

Trik může teoreticky zkrátit životnost CPU

Vedle toho je ale problém také v tom, že tím, jak trik mate řízení spotřeby v procesoru, může poškodit procesor nebo potichu zkracovat jeho životnost.

Zatímco u Intelu zřejmě zvyšování spotřeby prováděné deskami není rizikem pro uživatele, protože Intel s ním víceméně počítá, u těchto manipulací na platformě AM4 se očekává, že by mohly vést k degradaci a zničení instalovaných CPU kvůli přílišnému zatížení křemíku. Procesory Intelu mají méně pokročilou správu spotřeby a frekvencí a na 14nm technologii jsou omezené hlavně spotřebou, spíše než stropem frekvence. Nehrozí tak příliš, že by se přidáváním jen spotřeby najednou CPU dostal do stavu, kdy ho poškodí vysoké napětí a proudy.

Procesory AMD na 7nm procesu jsou tím, že má jejich systém řízení spotřeby nesprávné informace, ohrožené více, protože AMD bylo kvůli nižšímu frekvenčnímu stropu křemíku nutné více vyždímat jeho potenciál a zmenšit bezpečnostní rezervy. Firma při uvedení Ryzenů 3000 sdělovala, že bezpečná napětí pro celé CPU (pokud ho například přetaktujete na zamčenou konstantní frekvenci) jsou o dost nižší, než napětí, která při aktivním boostu bez OC procesor používá pro jendojádrový boost.

To je proto, že řídící systém nazvaný FIT podrobně vyhodnocuje zatížení CPU příkonem a proudem a povoluje tato extra vysoká napětí jenom tehdy, pokud je celková zátěž čipu nízká, takže nehrozí poškození (zatímco při vytížení všech jader by už to nebezpečné bylo).

A zde spočívá riziko. FIT, umožňující využít víc z frekvenční rezervy křemíku, je pro své fungování závislý na tom, aby měl o proudech a spotřebě procesoru reálné údaje, podle nichž bezpečnost vysokých boostů vyhodnocuje. Pokud mu ale deska lže a uvádí výrazně nižší spotřeby, tak logicky v jeho rozhodování mohou být chyby, kdy povolí vysoké boost a napětí v situaci, kdy si myslí, že je to pro čip pořád bezpečné, ale ono už není, protože zátěž křemíku vysokými proudy je ve skutečnosti horší.

Jak manipulaci odhalit? Pomůže vám nové HWiNFO

Protože výrobci desek se údajně nechtějí tohoto tajného manipulování až fixlování vzdát, rozhodli se vývojáři HWiNFO, že v tomto programu budou na takové chování upozorňovat, aby ho uživatel mohl odhalit.

V sekci senzorů bude v HWiNFO přidána položka jmenující se „Power Reporting Deviation“. Tu najdete v sekci senzorů procesoru, přesněji v druhé z nich, která je označená „Enhanced“ (viz screenshot). První verze, která tuto kolonku ukazuje, je HWiNFO v6.27-4185 Beta. Momentálně to ovšem správně funguje jenom s procesory generace Zen 2 (7nm Ryzeny 3000).

Měření Power Reporting Deviation v HWiNFO64 Měření Power Reporting Deviation v HWiNFO64 (Zdroj: The Stilt/Fórum HWiNFO). Je detekováno, že deska hlásí procesoru jen 75 % reálného proudu. Procesor si myslí, že spotřebovává jen 125 W, ale reálně bude příkon o třetinu vyšší. Průměrené frekvence přitom taková manipulace nezvýšila ani o 100 MHz...

Pokud tato hodnota ukazuje okolo 100 %, máte desku v pořádku; asi lze akceptovat i určité malé deviace, které mohou být stále spíš chybou/nepřesností, než záměrem (například 95–100 %). Ale pokud ukazuje nižší procenta, znamená to, že deska procesoru lže o spotřebě a že tedy provádí toto utajené přetaktování. Vyšší hodnota by znamenala, že deska naopak „přidává rezervu navíc“ a spotřebu přehodnocuje, čímž výkon sníží. Stilt podotýká, že toto se „překvapivě“ stává mnohem méně často.

Měření Power Reporting Deviation v HWiNFO64 bez manipulace Měření Power Reporting Deviation v HWiNFO64 bez manipulace (Zdroj: The Stilt/Fórum HWiNFO). Údaj CPU Power Reporting Deviation uvádí 99 %. Všimněte si, že spotřeba je přesně 142 W, jelikož procesor se aktivně snaží využít všechen výkonnostní potenciál, který mu PTT limit  dovoluje

Pozor ovšem na jednu věc – pokud chcete tuto deviaci kontrolovat, musíte to dělat vždy pod plným zatížením procesoru, kdy máte puštěný nějaký problém, který trvale a relativně stabilně vytěžuje 100 % procesorového času. Při nečinnosti či nízké nebo jednovláknové zátěži CPU to nemá smysl.

Podle Stilta je nejlepší zátěž například Cinebench R20 MT. Ne Prime95, kdy procesory ne vždy mají plnou spotřebu (je nižší než v Cinebench), protože jsou limitované jinde. Protože zřejmě s Cinebench R20 vývojáři pracovali při tvorbě algoritmu, měl by tedy tento program dávat nejpřesnější výsledky.

bitcoin školení listopad 24

Za druhé: toto má smysl kontrolovat jenom tehdy, pokud máte procesor zcela nepřetaktovaný. Tj. nesmí ani být použité OC přes PBO, stejně tak nesmí být změněné natavení Load Line Calibration a další OC volby. Pokud taktujete, toto celé nemá smysl řešit a hodnota v HWiNFO nebude reprezentativní.

Setkali jste se s tím, že deska skrytě přetatkovává procesor Ryzen tímto trikem?

Zdroj: The Stilt/HWiNFO