Úvod do WPCREDITu - co a jak
autor: Petr Koc , publikováno 7.2.2003
Spec byl nedávno tak laskav a zveřejnil jeden ze svých ladičských návodů na zlepšení výkonu, konkrétně zvýšení propustnosti PCI sběrnice. Podle příspěvků diskutujících se tak trochu potvrdily moje obavy, které jsem z celé záležitosti měl - řada z vás si s WPCREDITem neví rady. {mospagebreak title=WPCREDIT}

Krkolomná zkratka

Poměrně krkolomná zkratka, v které dělá řada lidí chyby (dokonce jí udělal předevčírem i Spec) neznamená nic jiného než Windows PCI Configuration Registers Editor. Zkratka WPCRSET pak neznamená nic jiného než Windows PCI Configuration Registers Set. Oba programy pochází od známého šťourala H-Oda (autor WCPUID) a v zásadě dělají totéž, i když jejich účel je lehce odlišný.

WPCREDIT

WPCREDIT je hlavním programem ve fázi testování. O co jde? Některá zařízení (typicky čipová sada, grafická karta, další přídavné karty atd.) mají sadu konfigurovatelných registrů. Registr je v tomto případě chápán jako paměťový prostor 256ti osmibitových buněk značených v hexa soustavě - 00 až FF. Tyto buňky slouží k určení chování jednotlivých zařízení. A WPCREDIT nedělá nic jiného, než že dokáže hodnoty těchto buněk měnit.

Grafická stránka programu vypadá následovně:

Úvod do WPCREDITu - co a jak
kliknutím se obrázek zvětší

Z pohledu grafika by šlo programu leccos vytknout. Osobně tedy nejsem nějak vysazený na grafiku, ale časem jsem zjistil, že vytknout by se dalo leccos i z pohledu čistě praktického (málo místa na popisy atp.). Ale zpět k věci. Popišme si jednotlivé části.

PCI Bus, Device, Function

Vlevo nahoře se nalézá tabulka s hodnotami PCI Bus, Device a Function.

Úvod do WPCREDITu - co a jak

Tato tabulka určuje, registry kterého zařízení budete měnit. Zvolíte-li v záložce Edit volbu Device, vyjede seznam detekovaných zařízení.

Úvod do WPCREDITu - co a jak

Seznam je různě dlouhý pro různé čipsety (toto je obrázek z nForce 2) a je i závislý na přítomných kartách - např. dalších IDE řadičích. Zařízení se obvykle identifikují BIOSu funkční kategorií, do které spadají. Proto můžete celkem snadno vyvodit, co že je to za zařízení.

názevco označuje
Host bridge
(Host to PCI bridge)
řadič FSB / pamětí, někdy i PCI
AGP bridgesběrnice AGP
IDE controllerřadič IDE disků
USB controllerřadič USB
LPC Interface Bridgeřadič Low Pin Count rozhranní (sériové porty atp.)
VGA compatiblegrafická karta
Ethernet controllersíťová karta
Audio controllerzvuková karta

Toto je jen výčet několika zařízení, se kterými se můžete setkat. Všimněte si, že není příliš podstatné fyzické umístění jednotlivých součástí. V north bridge je jak řadič pamětí, tak AGP bridge, přičemž oba mají jiné hodnoty Bus, Device a Function. To samé platí pro south bridge, kde sídlí IDE, USB, v poslední době i PCI a v budoucnu Serial-ATA.

Vendor ID, Device ID, Revision

Vendor znamená v překladu prodávající, sem se hodí spíše termín poskytovatel. Device znamená zařízení a revision je, jak jinak, revize. Zkratka ID značí Identification (takže například program WCPUID vlastně znamená Windows Central Processor Unit Identification).

Úvod do WPCREDITu - co a jak

K čemu jsou tyto údaje dobré? V podstatě jde o to, že téměř přesně identifikují používaný hardware. 16 bit položka Vendor ID značí výrobce. Každý výrobce má přidělenou unikátní hodnotu, podle které se dá jasně identifikovat. Tak například Intel má čísla 8086 (jedny z jeho prvních procesorů), VIA má 1106, nVidia 10DE atd.

Položka Device ID značí nějaké konkrétní zařízení, které daný výrobce vyrobil, ještě přesněji jeho část. Tak například pro Vendor ID 8086 (Intel) je hodnota Device ID 7100 Host bridge čipsetu 430TX. Pro Vendor ID 1106 (VIA) je zase Device ID 0305 Host to PCI bridge čipové sady KT133, resp. KT133A.

Revision není nic jiného než číslo určující revizi daného čipu. Na první pohled nic světového, je nutné si ale uvědomit, že řada čipů je si sobě velmi podobná a právě číslo revize může být tím, čím se dají odlišit. Již zmíněné čipy KT133 a KT133A, ačkoliv v praxi nezanedbatelně odlišné, jsou oba dělány z jednoho těsta a KT133A je jenom novější verzí KT133.

{mospagebreak title=Co je třeba k ladění}

Nyní se konečně dostanu k samému účelu programu WPCREDIT. Co je potřeba na ladění? V zásadě musíte mít jednu z následujících věcí:

  • datasheet (dokumentaci)
  • PCR soubor

Dokumentace

... je to nejlepší, co můžete mít. Jsou v ní uvedena všechna zařízení v daném čipu (North bridge: host bridge + AGP) a údaje jsou z první ruky, takže jsou správně (za předpokladu, že je výrobce do dokumentace uvedl správně, což se předpokládá). V dokumentaci musíte příslušnou pasáž s hodnotami jednotlivých registrů najít, vypadá zhruba takto:

Úvod do WPCREDITu - co a jak
datasheet pro Intel Brookdale 845 PE / GE

Úvod do WPCREDITu - co a jak

datasheet pro VT8363A (KT133A)

Problémem, který u datasheetů nastává, je fakt, že se nedají sehnat. Jediným výrobcem, který poskytuje datasheety běžně ke stažení a jsou v nich i hodnoty registrů, je Intel. VIA, SiS, nVidia, AMD datasheety buďto neposkytují vůbec (typicky VIA, která na web dává jenom brief dokumenty) nebo v nich hodnoty registrů nejsou (AMD).

Výrobci jako VIA si datasheet cení NDA smlouvou (NDA = Non-disclosure Agreement). Bohužel ale i při ochotě podepsat NDA vám je tak 99,9% nedají. Žádal jsem firmu VIA i s tím, že bych datasheety využil k vyladění čipsetů pro účely maximálního výkonu a lepšího hodnocení v recenzích. Odpověď byla pochopitelně zamítavá. Často se neobtěžují odpovědět vůbec. Přesto je někdy možné datasheet získat, některé se povalují na Internetu, i když najít je je obrovský problém a často se jedná o zastaralé verze s chybami.

Pro stažení datasheetů Intel je k dispozici následující stránka - developer.intel.com. Kdysi bylo možné stáhnout si ze stránek VIA datasheety k hodně starým čipsetům, jestli je tato možnost i dnes, netuším.

PCR soubor

...je vlastně jakýsi výtah z datasheetů. Tyto jsou běžně dodávány s WPCREDITem a nedělají nic jiného, než že sloupeček vpravo získá místo hodnot "Reserved" popis, co že se skrývá za jednotlivými bity. Bohužel v řadě PCR souborů je spousta chyb (někdo špatně opsal datasheet) a jsou limitovány na jedno zařízení (obvykle Host bridge). V případě Intel čipsetů proto silně doporučuji využívat datasheet.

V praxi se obsah PCR projeví ve WPCREDIT takto:

Úvod do WPCREDITu - co a jak

Toto je obrázek z pravé strany, opět čipset KT133A, konkrétně registr 64.

Více bitů = více problémů

Ovládání programu WPCREDIT je v zásadě jednoduché, ale je nutné dodržet určité postupy, jinak se moc nehnete.

Úvod do WPCREDITu - co a jak

Toto je obrázek z levého dolního rohu programu WPCREDIT. Ukazuje, co právě editujete. Položka Offset je označení registru(ů) v hexa soustavě, položka Data pak uvádí hodnotu v tomto registru, opět v hexa. Vpravo je hodnota ještě více rozvedena - hodnota je zde rozvedena v hexa soustavě i v binární. A právě v tomto okně se dá hodnota změnit.

Protože některé hodnoty v datasheetech jsou uváděny na souboru více 8 bit registrů, budete někdy potřebovat i šestnáctibitová a dvaatřicetibitová uskupení. Nahoře ve WPCREDITu se nachází tlačítka 8, 16 a 32.

Úvod do WPCREDITu - co a jak

Zvolením 16 bit se stane toto. Všimněte si, že seskupením offsetů 00 a 01 došlo jakoby k přehození hodnot. Zatímco v 8 bit zobrazení máte hodnoty DE a 10, při 16 bit je to 10DE. Horních osm bitů se nachází v offsetu 01, zatímco dolních osm v offsetu 00. Obdobně vypadá situace při 32 bitech, kde most-significant bit leží v offsetu úplně vpravo. Na toto je nutné si dávat pozor, protože při přehlédnutí byste měnili něco jiného. A bohužel se často stává, že v PCR je chyba právě v těch případech, kdy datasheet uvádí hodnoty v 16, 24 nebo 32 bit seskupeních (autor PCR omylem offsety prohodí).

{mospagebreak title=Na co si dát pozor}

Vlastní proces ladění je jednoduchý, pokud víte, o co jde (a to nevíte nikdy). Vlastní hodnoty buďto musíte zkoušet metodou pokus-omyl (pokud máte PCR nebo ještě lépe datasheet), popřípadě vám někdo řekne, co a kde nastavit. Zde se nechci zabývat konkrétními nastaveními, to nechám na Specovi, přeji jenom o problematice ví více.

Read-only bity / registry

Jsou zde ovšem věci ve vašem bádání, na které je nutné si dát pozor. Tak předně ne do všech registrů lze zapisovat.

Úvod do WPCREDITu - co a jak

Tento registr je pouze ke čtení, jeho hodnota je dána hardwarově. Obvykle jsou to registry jako Vendor ID, Device ID, Revision atp.

Úvod do WPCREDITu - co a jak

Do tohoto registru se dá zapisovat jen jednou, což provádí BIOS (pro uživatele je tedy read-only).

Úvod do WPCREDITu - co a jak

Do tohoto registru se dá zapisovat kdykoliv, stejně jako z něj číst.

Řada registrů je nevyužitá, jsou tzv. reserved. Takové registry se obvykle chovají jako read-only. Pokud používáte ve WPCREDIT PCR soubor a ten je správně označený, objeví se vpravo u popisů jednotlivých bitů registru číslo bílou, pokud lze do bitu zapisovat, a červenou, pokud je bit pouze ke čtení.

Po změně systém vytuhne

Je nutné si uvědomit, že změna jednotlivých bitů přenastavuje chování čipové sady. Děje se to samé, jako když v Setupu BIOSu zvolíte nějaké hodnoty (ostatně BIOS nedělá nic jiného než že vyplní tyto registry podle nastavení v Setupu). Jinými slovy pokud vaše paměť nechodí s rychlým časováním, nemá cenu zkoušet jí k tomu přimět ve WPCREDIT, vedlo by to pouze k poruše integrity dat. Stejně tak třeba nedoporučuji vnucovat systému práci v režimu ATA-100, jestliže to disk nezvládá nebo nemáte příslušný 80 žilový kabel.

Dále je nutné si uvědomit, že BIOS má větší možnosti než má uživatel. BIOS pracuje hned po startu, kdy v paměti nejsou žádná data. BIOS si může leccos vyzkoušet pomocí hardware, který má k dispozici (např. pozná organizaci pamětí, jejich rychlost, osazené sloty). BIOS může snadno resetovat procesor, čímž se může řada problémů vyřešit. Toto jako uživatel dělat nemůžete, proto i vaše možnosti ladění jsou omezené.

Úvod do WPCREDITu - co a jak

Tak například z těchto nastavení časování pamětí u VIA KT133A je relativně bezpečné měnit hodnoty Precharge, Active to Precharge, Active to Command. Jakmile zkusíte změnit CAS Latency nebo Bank Interleave, systém okamžitě vytuhne a někdy ho bude i  nutné dát do pořádku vytažením kabelu ze zásuvky. Výtuhy jsou obvykle spojeny se ztrátou některých dat na disku, proto experimentujte s rozumem a ne na počítači, kde máte nenahraditelná data.

Spojení dvou nastavení nefunguje

Toto je další problém, typický především pro VIA čipsety. Není to ani tak chybou VIA jako spíš faktem, že VIA čipsety mají znatelně nejvíc možných nastavení. Nejen že umí měnit časování pamětí pro každý paměťový slot odlišně, ale umí i všemožně krátit operace o i několik cyklů, bufferovat, co se dá atd. Některá nastavení proto mohou způsobovat určité problémy.

Hlavním zdrojem problémů bývá bufferování. To sice obecně zvyšuje výkon, ale některé karty ho nesnášejí. Dalším problémem bývají Delay Transactions. Ty způsobují zpoždění akce až do doby, než se uvolní sběrnice nebo do doby, kdy je to nejvýhodnější z hlediska propustnosti. Opět to některé karty nesnášejí. No a konečně zkracování cyklů je třetím problémem. Některé karty to nemusejí snášet, ale hlavně to nemusí snést ani samotný čipset. Konkrétně jde o to, že kombinace některých krácení o cykly čipset nevydýchá, začne docházet k chybá, některé programy odmítnou pracovat atp. (stávalo se mi často u programů na měření teplot a napětí).

WPCRSET

Až na úplný závěr jsem si nechal program WPCRSET. Ten nedělá nic jiného než že mění příslušné registry automaticky při každém startu počítače. Důvod je vcelku zřejmý - po resetu / vypnutí PC se opět inicializuje BIOS, který vyplní registry hodnotami, které sám uzná za vhodné. Vaše úpravy ve WPCREDIT jsou tak pouze dočasné, dokud neresetujete počítač.

Úvod do WPCREDITu - co a jak

WPCRSET se chová jako běžný SYS / VXD ovladač zařízení. Je nutné ho nejdříve nainstalovat a on už se postará o zbytek. Při každém startu počítače se inicializuje a nastaví ty hodnoty, které jste zvolili (tyto hodnoty se ukrývají v registru Windows). Pro automatické spouštění je nutné, aby nahoře byly zvoleny položky Start a Enable.

Nemyslete si ovšem, že WPCRSET dokáže nastavit i to, co WPCREDIT nedokáže. Možnosti obou programů jsou totožné, pokusíte-li se dát pomocí WPCRSET nastavit například CAS Latency nebo Bank Interleave, systém již nenajede do Windows! Budete muset spustit nouzový režim nebo z adresáře Windows vymazat z jiného operačního systému (z DOSu např.) soubor WPCRSET.sys / WPCRSET.vxd.

 
Komentáře k článku
RSS
Pouze registrovaní uživatelé mohou přidat komentář!
6.2.2003 23:21:30   0.0.0.xxx 2022
Este som neprecital clanok, ale som prvy.
6.2.2003 23:27:15   0.0.0.xxx 1922
Článek je fajn. Škoda, že jste ho včera ráno stáhli. Spec má přece už pokračování seriálu Vylaďte si VIA čipset Northbridge, nebo ne? Už se na to moc těšim. Skvělé, jen tak dále.
7.2.2003 00:31:57   0.0.0.xxx 2123
Stiahol som si Intelacky datasheet k chipsetu - BX440. Prosim vie niekto o niecom, co by sa dalo vyladit na tomto chipsete? Vie niekto na co co presne sluzi side band addresing u AGP, a aky vplyv to ma na vykon? ... Zaujimaju ma hlavne nastavenia s ktorymi sa da zvysit vykon (priepustnost RAM, AGP, PCI) ale aj ine informacie suvisiace s tymto chipsetom prijmem radostou.
7.2.2003 06:52:45   0.0.0.xxx 2121
Ty máš nForece 2? Pokud jo, mohl by jsi mi říc jak se ti asi hřeje? Mám EP-8RDA+ a moc se mi to nezdá. Až tak, že když jsem testoval komp tam se mi odpálil nejspíš procák. Na chipsetu je jen 2cm vysoký pasiv??
7.2.2003 08:22:11   0.0.0.xxx 2321
Mám ho přes tejden, ten pasiv je sice žhavej celkem dost ale komp běží bez problémů stabilně klidně 20h.
7.2.2003 11:38:18   0.0.0.xxx 2222
Takyto navod pomoze urcite mnohym ludom, len co tak zverejnit ako sa vysporiadat s AC'79 moznostami chipset-u , ktore doska nema, resp. nema k nim konektory?
7.2.2003 16:23:15   0.0.0.xxx 2422

na konci clanku pisete, ze sa neda zapnut bank-interleave na pamatiach pri spustani windowsu.


Existuje predsa driver od G. Brease-a, ktory pri spustani windowsu aktivuje 4-way bank interleave na doskach s VIA chipsetom (ak to nezapne BIOS), samotny autor pise na svojej stranke, ze pri navrhu vychadzal prave zo WPCREditu/WPCRSetu.


Takze moja pripomienka je: zrejme sa da zapnut 4way interleave aj pri starte windowsow cez PCRegistre.


co vy na to?

7.2.2003 18:04:15   0.0.0.xxx 2320
Ten program to umí, to je fakt, ale určitě při tom využívá nějaký trik. Přes WPCREDIT to nejde.
8.2.2003 10:33:00   0.0.0.xxx 2021
Poridil jsem si novou desku (chipset VIA KT400), proc (XP2100+), DDR 512/333MHz a pokud ve Windows XP ci 98 povolim DMA na integrovanem radici desky, dochazi pri kopirovani k chybam CRC a win98 totalne zatuhnou. Pres PIO rezim je vse ok. Jelikoz mam externi PCI RAID radic, vadi mi tento problem pouze kuli prehravani DVD a vypalovani na CDR. Oboje zarizeni mam prave zapojeny na integrovany radic. Resi v tomto (a predeslem) clanku uvedeny postup tento problem nebo nezna nekdo jine reseni? Zkousel jsem ruzne drivery VIA a zadny nepomaha. Diky moc za pomoc!
8.2.2003 10:38:19   0.0.0.xxx 2121
zapnout PCI parking podle postupu v predeslym clanku. Pripadne zkus PCI latency patch od George Breeze (verze 0.20betaX)
9.2.2003 16:44:14   0.0.0.xxx 2321
Mam stejnej problem s CRC chybama. Zkousel jsem jine biosy, PCI parking, PCI latency patch a ruzne pokusy a nic...
Mate nekdo nejakou radu ?

9.2.2003 22:56:49   0.0.0.xxx 2220
4-way interleaving jsem s patricnym pcr aktivoval diky WPCREDIT a WPCRSET uz na desce s VIA 133A...
10.2.2003 08:25:19   0.0.0.xxx 2122
takze desku vymenim za chipset NFORCE2.
11.2.2003 13:28:03   0.0.0.xxx 2223
No, já jsem odělal žvejkačku pod pasivem, nakydal s rozumem stříbrnou pastu a jedu v pohodě. Kdyby to nestačilo, tak tam píchnu měděný pasiv a teprve pak tam dám to točidlo...
12.2.2003 11:08:21   0.0.0.xxx 2320
Mam tuhle desku (KT400), Athlon XP2100+ a 512/333 DDR, WinXPsp1. Zapnul jsem bez potizi PCI parking a zrychleni disku bylo poznat :-)
A k tem potizim s CRC. Zadny nemam. (mam 2 disky, DVD, CDRW pripojeny vsechno na integrovany radic, na vsech DMA enabled)
24.2.2003 17:15:10   0.0.0.xxx 2324
Jo to teda chlapče asi máš a ani o tom nevíš. Já jsem si to původně myslel taky, ale pravda je bohužel úplně jiná. Zkus si nahrát při zapnutým DMA nějakej větší soubor (např. film) z Primárního řadiče na Sekundární. Cože? Vše jede jak má a nikde žádná chyba = OMYL. Zkus tento soubor "Porovnat podle obsahu" třeba v Total Commanderu. A hle dva soubory nejsou "identické" jako např. při nahrávání na stejným kanálu prim. master na prim. slave. Nebo můžeš zkusit při vypalování větších dat v Neru zapnout zkontrolovat zapsaná data a vyjede ti hláška s chybou. Podle toho jsem na to taky přišel. Jen by mě zajímalo jak moc jsou tyto dva soubory "NEIDENTICKÉ", protože třeba u filmu či MP3 jsem chybu nepozoroval. Jestli to někdo víte tak to prosím napište. Jo a nenech se zmást, některý soubory (třeba i 1GB) se takhle chybně nezkopírujou a jsou v pořádku. Dle zkušeností se to ale stane opravdu málokdy.
25.2.2003 14:21:36   0.0.0.xxx 2321
skusal ten soft ale bohuzial mi neslo nic z editovat, neviete nic to funguje na tejto doske?
1.3.2003 00:23:17   0.0.0.xxx 2021
Kde jsi stahl prosimte ten datasheet na BX440?
9.5.2003 09:24:05   0.0.0.xxx 2121
ja sem ten prispevek snad nenapisu.:-(

Redakce si vyhrazuje právo odstranit neslušné a nevhodné příspěvky. Případné vyhrady na diskuze(zavináč)pctuning.cz

0 čtenářů navrhlo autorovi prémii: 0Kč Prémie tohoto článku jsou již uzavřené, děkujeme za váš zájem.
Tento web používá k poskytování služeb soubory cookie.