Vaccinați PowerNow! placi de baza desktop

Timp de aproape patru luni au trecut de la descoperirea posibilității de alterare de procesoare desktop Athlon XP în mobil. Utilizarea practică a acestei descoperiri au apreciat în special proprietarii de procesoare cu un multiplicator blocat, deoarece procesoarele mobile, nu voozmozhnost schimba doar acest raport, și fă-o pe zbor, în mod direct în cadrul sistemului de operare.

identificat imediat cu termenul PowerNow! În contextul acestui articol, această tehnologie înțeleg capacitatea sistemului de a varia în mod automat de tensiune și de multiplicare (continuare KU), procesor, în funcție de gradul de încărcare a procesorului. Sau cel puțin numai KU.

Deci, ia în considerare cazul în care utilizatorul are deja zamobilil (/ mobilizat / mobilizat) un procesor, chipset si placa de baza suporta schimbarea KU.

Deoarece marea majoritate a placi de baza existente K7 nu oferă suport pentru PowerNow. atunci utilizatorul trebuie să setați manual corect CG. Opțiunile disponibile sunt:
  1. bios Patch Bios Patcher'om de la apple_rom'a pentru a stabili multiplicatorul dorit la blocul sistem de încărcare.
  2. schimbarea KU în timpul procesului de boot cu instrumente speciale (CPUMSR, CrystalCPU, și acum CBI).

Aceste două metode nu se exclud reciproc, ele pot fi utilizate împreună.

Cu siguranță utilizatorul dorește să instaleze (și a instala) maximă KU pentru sistemul dumneavoastră. Ulterior, KU poate fi manual atunci când este necesar pentru a reduce aceleasi utilitati. Acest lucru poate fi util în cazul în care computerul simplu așteptat atunci când încărcarea procesorului este scăzută. frecvența procesorului scade în mod corespunzător redus de disipare a căldurii. În consecință, este posibil într-un fel (în urma acestui articol) pentru a reduce viteza ventilatorului și de a reduce zgomotul sistemului de răcire. Din păcate, în cazul în care un sistem de nefuncționare planificat o acțiune (care rulează scanare virus sau un program de utilitate disc), crește în mod dramatic sarcina procesorului, ei vor trebui să se stabilească pentru puterea de procesare disponibilă.

În sistemele mobile bazate pe platforma AMD (procesor mobil + placa de baza cu suport pentru procesoare mobile), utilizatorul eliberat din necesitatea de a monitoriza în mod constant viteza procesorului. Aici, acest parametru este automat (în funcție de sarcină CPU) funcționează în totalitate conducătorului auto speciale. Pentru MS Windows XP SP1, acest driver procesor. Pentru alte versiuni ale OC MS - PowerNow speciale! conducător auto (un fel de „cârje“, așa cum mă numesc) din cele mai AMD. zeci de conducător auto de ori pe secundă evaluează gradul de utilizare a procesorului și ajustează procesorul CG, dacă este necesar: la sarcină maximă rata maximă, la zero - minim.

Se pune întrebarea: ce împiedică posibilitățile șoferilor menționate pentru procesoare mobile în computere desktop. Această întrebare și eu doar încerc să evidențieze în acest articol.

Pentru calculatorul poate fi făcută să funcționeze tehnologia PowerNow. este necesar ca componentele sale să îndeplinească următoarele cerințe:

1. Procesor. Evident, ar trebui să fie mobil (sau modificarea a desktop-ului original).

2. Placa de baza. Trebuie să se efectueze un set de condiții:

2.1 chipset, care a făcut placa de bază. Trebuie să mențină ciclu special de magistrala de sistem (FID / schimbare VID), cu condiția ca pentru modificarea tensiunii sau CG. Dintre toate chipset-urile K7 până în prezent, această condiție nu este îndeplinită încă numai chipset-ul nForce / nForce2 de la nVidia (sau, mai degrabă, nu există informații fiabile cu privire la ceea ce pot face).

2.2 SoftVID. Placa de bază trebuie să fie diluat picior procesor prin care cip procesor informează despre necesar pentru munca grea.

2.3 BIOS. Este de a detecta prezența procesorului mobil și în mod corespunzător configurați următoarele componente:
2.3.1 chipset-ul (prin setarea gazdă responsabili registre de configurare Bridge'a)

2.3.2 Procesor (schimba KU și tensiunea de funcționare a CPU la accelerația maximă pentru pornirea ulterioară a sistemului de operare, dar nu este necesar)

2.3.3.1 Pentru așa-numitul sisteme mai vechi (vechi) de operare (w9x / W2K), folosind driverul de la AMD, BIOS-ul este de a crea un bloc de PSB memorie de date (Perfomance stat Block), care cuprinde inclusiv informații despre stările posibile ale procesorului (numite state Perfomance sau PStates ). Fiecare stare este descrisă de o pereche de „KU tensiune corespunzătoare +“. O astfel de abur pot fi mai multe (de obicei 3-4) pentru fiecare procesor. Teoretic, BIOS-ul ar trebui să lase numai pentru PStates instalate în memoria sistemului CPU. În practică, după cum am înțeles, multe BIOS-uri sunt lăsate în memoria de tabele similare pentru toate placa de baza procesoare suportate.

2.3.3.2 Pentru sistemele de operare care acceptă pe deplin ACPI (WinXP
SP1): a crea sau pentru a activa tabelele ACPI din facilitățile auxiliare necesare (_PCT, _PPC, _PSS și altele). Aceste obiecte sunt create / modificate BIOS pentru a sprijini doar procesorul instalat în sistem.

3 Sistem de operare, sau mai degrabă driverul corespunzător. este necesară disponibilitatea de procesor mobil. În plus:

3.1 În cazul în care un șofer de la AMD foarte, se verifică pentru PSB în unitatea de memorie, precum și alte controale CG și tensiunea pe baza informațiilor conținute în acesta. (Acest driver nu folosește ACPI din p.1.3.3.2)

3.2 în cazul în care conducătorul auto a SM (în cazul WinXP SP1), acționează pe baza informațiilor despre obiecte conținute în tabelele ACPI (în principal, DSDT). Trebuie remarcat faptul că același driver (amdk7.sys) este setat și procesoare desktop, dar în acest caz, frecvența / tensiune nu este in mod natural reglementeaza. (Ar trebui să menționeze imediat că șoferul nu este utilizat de p.1.3.3.1 PSB)

Ușor pentru a vedea că condițiile de 1, 2.1, 2.3.1, și poate fi realizat pentru o placa de baza pentru desktop.
Punctul 2.2 este practic imposibil de realizat - va fi nevoie de lipit placi: chiar dacă este teoretic posibil, nimic nu se va întreprinde în mintea lor dreapta. Din acest punct, ca și la clauza 2.3.2, se poate renunța.
Sub întrebarea rămâne, punctele 3 și 2.3.3. Este evident că acestea sunt conectate direct unele cu altele.

Frecvența și tensiunea procesorului în timpul funcționării controlează direct numai driverul de sistem de operare. Pe BIOS-ul (așa cum deja vine cu placa de bază, și știe mai bine dacă suportă procesoare mobile și ceea ce este) încărcate cu sarcina recunosc CPU corectă și trece setările necesare procesorului driver de sistem de operare corespunzător (p.2.3.3). În cazul în care conducătorul auto nu primește o astfel de informații, el nu folosește caracteristici PowerNow!
Această dependență reciprocă este tocmai problema pentru PowerNow sete! pentru desktop-uri. Pentru ao rezolva, trebuie să:

De aceea am concentrat pe încercarea de a modifica BIOS-ul. Dintre toate BIOS-ul de astăzi cel mai bun studiat al companiei PREMIUL BIOS. Este cu avardovskimi am inceput sa experimenteze BIOS-uri. Din păcate, BIOS-ul de la AMI, PHOENIX (nativ) și altele. Producătorii au fost lăsate în urmă din cauza lipsei de informații cu privire la ele

Deoarece experimentele au avut succes cu PSB este dificil de a apela, apoi a trebuit să meargă la încercările de a pune în aplicare soluție de rezervă folosind ACPI. Trebuie să spun că, în acest domeniu, studii au fost mai productive (și, în caz contrar, articolul nu va apărea)

Una dintre componentele care alcătuiesc ACPI tehnologie (Advanced Configuration Interfață de alimentare), tabele ACPI, dintre care principalele DSDT. La momentul încărcării sistemului de operare, acestea sunt situate în memoria de mai sus 1Mb. Tabelele pot conține referințe la alte tabele precum și pseudocod executabil AML (ACPI mașină Language), care descrie obiectele și metodele aplicabile acestora, și așa mai departe. Informațiile necesare. Codul LMA poate dezasambla în ASL (ACPI Limba sursă), dacă este necesar, pentru a face modificări. Că am luat-o.

tabele DSDT Spre deosebire de sistemele mobile și desktop este că mobil are o serie de facilități suplimentare (_PCT, _PSS) și metoda (_PPC), care tocmai permite sistemului de operare pentru a utiliza tehnologia PowerNow!
(Există o serie de diferențe în alte FADT tabel:. Obiecte PSTATE_CNT și CST_CNT le ating până când am)

Sper ca toți să fi ghicit, trebuie să faci într-o situație dată
Asta-i drept! Adăugați la desktop-ul de masă DSDT mai multe obiecte noi pentru a le activa sau dacă acestea sunt deja acolo. O altă întrebare este cum să facă acest lucru. Din fericire, nu este nevoie să adăugați un nou cod de BIOS care calculează locația de tabele ACPI în memorie și de a le modifica. În cazul adjudecarii BIOS-ului de tot ceea ce este mult mai simplu: masa de ACPI sunt conținute într-un ACPITBL.BIN modul separat, care pot fi recuperate folosind CBROM, edita și ambalaj înapoi cu aceeași CBROM.

Cu această mometna, mi se pare mai simplu și mai ușor concider toate manipulările cu un exemplu concret. Ca guineea am luat placa de baza EPoX 8KHA +, mai precis, BIOS-ul pentru acesta (fișierul 8KHI3916.BIN).

Pasul 1: Eliminarea tabelele ACPI din BIOS-ul placii de baza:

Pentru a fi sincer, sper cu tărie că acest utilitar aveți deja și știi foarte bine de ce există. În caz contrar, nu recomandăm să pună în aplicare foarte sunt descrise mai târziu în acest articol, modificarea acțiunilor bios. Imediat avertizează că, pentru orice daune pe care le considerați din orice motiv, după ce a încercat să pună în practică descrise în acest articol, acțiunile nu am putut să își asume responsabilitatea. Mai departe pe propriul risc!

Linia de comandă pentru extragerea tabele:

CBROM.exe 8KHI3916.BIN / extract ACPI

Ca răspuns la o interogare cu privire la numele unui fișier stocat, introduceți: ACPITBL.BIN

Pasul 2: Scoateți ACPITBL.BIN vechi al BIOS-ului placii de baza:

Fișier cu tabelele care le-am învățat, iar acum poate fi scos din dosar cu BIOS-ul.
Pre-asigurați-vă că pentru a păstra în siguranță cu fișierul BIOS original.

Etapa 3. Izolarea ACPITBL.BIN tabelul DSDT

Pentru a realiza acest pas, puteți utiliza un scris special de mine, în acest caz, un utilitar simplu pic GetDSDT.exe

Etapa 4: Dezasamblarea DSDT tabel: CSB -> ASL.

Tabelul rezultat este necesar să demontați DSDT (deși există mai adecvate conceptului de de-compilare). Pentru a efectua această operație va necesita IASL utilitatea Intel. Îl puteți descărca de pe site-ul Intel.

iasl.exe -d DSDT.hex

Etapa 5: Construcția obiectelor _PCT, _PSS, _PPC.

Luați în considerare aceste elemente în ordinea.

_PCT (Perfomance Control) Acest obiect descrie un registru de control și un registru de stare. Este după cum urmează (descrierea preluată din fișa tehnică pe K8, dar este de asemenea potrivit pentru K7):

Acest obiect este constant, adică, Ea nu se schimbă în funcție de procesor sau orice alți factori.

_PCT (Perfomance Capabilitățile prezent) Metoda returnează numărul minim (la momentul apelului) PState de stat. PState numărul cel mai scăzut (0) conține cel mai mare KU, iar cel mai mare număr - cel mai mic KU.
Această metodă este folosită numai atunci când este necesar pentru a limita în mod artificial frecvența procesorului. De exemplu, în laptop atunci când este alimentat de la baterie. Pentru sistemele desktop, această metodă trebuie să se întoarcă întotdeauna la zero (cu un număr maxim de PState KU).

_PSS (Perfomance-Supported state) - este cel mai interesant obiect. Că stabilește stările PStates set (pereche CG + tensiune), în care procesorul poate locui. Este evident că acest obiect este diferit pentru fiecare model de procesor.
Exemplu de un astfel de obiect, constând din două PStates pentru zamobilennogo Duron1200 (Morgan):

ATENȚIE! Așa cum utilizarea preconizată a obiectului pe placa de baza, care nu suportă SoftVID, valoarea tensiunii este setată ca NewVID = 00h (1,85 / 2,00 volți).

În viitorul apropiat, voi încerca să descrie în detaliu ceea ce fiecare abreviere, este responsabil pentru ceea ce și ce valori ia (unele dintre informațiile furnizate în ptchACPI.cfg)

Toate cele trei obiecte împreună constituie unul numit \ _PR.CPU0 și este situat chiar în spatele obiectului \ _PR. Pentru a facilita procesul de proiectare a trebuit să scrie un alt utilitku ptchACPI.exe. care se bazează pe informații dintr-un fișier de configurare ptchACPI.cfg construiește obiectul \ _PR.CPU0 și scrie-l într-un fișier CUSTOM.ASL.
În continuare, avem nevoie doar adăugați obiectul rezultat în fișierul DSDT.dsl imediat după obiect \ _PR, iar rezultatul este scris în fișierul newDSDT.dsl.

Exemplu: (fragment de fișier DSDT.dsl de interes înainte de schimbare)

Acest fragment de fișier interes DSDT.dsl (newDSDT.dsl) după efectuarea modificărilor:

Etapa 5: Asamblarea DSDT tabel: ASL -> AML

Pentru a obține codul binar ASL, din nou, utilizați utilitarul Intel:

Rezultatul este un tabel nou în fișierul DSDT.aml DSDT.

Pasul 6. Recreați ACPITBL.BIN fișier

aici:
OTHERS.hex - fișier care a fost creat în Pasul # 3
DSDT.aml - fișierul obținut în etapa anterioară # 5

Pasul 7. ACPITBL.BIN împinge înapoi în fișierul de bază BIOS

CBROM.exe 8KHI3916.BIN / ACPI ACPITBL.BIN

aici:
ACPITBL.BIN - fișierul obținut în etapa anterioară # 6
8KHI3916.BIN - fișier BIOS din care a fost eliminat faza # tabelul 2 ACPI (ACPITBL.BIN)

Etapa 8. Firmware-ul BIOS-ului
Să sperăm că, cu acest pas vei face fără sfatul meu))

Pasul 9: Descărcați Windows XP SP1, testarea

XP descărcabil. Tear În Panoul de control, schimbați tipul de economisire a energiei, cu „desktop“ la „portabil“ / „Max baterie“. Ar trebui să funcționeze.

Dacă nu, atunci încercați să eliminați driverul procesorului. Dacă ați instalat manual SP1, atunci trebuie doar să facă o operație pentru a elimina driver-ul vechi. După repornirea sistemului de operare se va instala din nou driver-ul. Viteza procesorului ar trebui să varieze în funcție de gradul de încărcare.

Nu uitați să clipească înapoi la BIOS originale, prin schimbarea procesorului. Sau, cel puțin pentru a schimba tipul de economisire a energiei cu „portabile“ / pe „Economisirea bateriei“, „de masă“ În caz contrar, WinXP, aveți posibilitatea să încărcați până.

cerere uriașă pentru proprietarii de laptop-uri / desknoutov procesoare mobile K7:

  1. Dacă utilizați un driver de la punerea în aplicare AMD PowerNow. vă rugăm să informeze, versiunea driverului (și un link către locația în internet), versiunea sistemului de operare și, eventual, un model de laptop.
  2. Trimite-mi tabelele ACPI care sunt utilizate în notebook. WindowsXP (și, eventual, în W2K), pentru a le menține cu comanda: regedit / e „ACPItbl.reg“ HKEY_LOCAL_MACHINE \ HARDWARE \ ACPI (aici „ACPItbl.reg“ nume de fișier, care va rămâne în ramura de registru care conține tabele de imagine ACPI)
  3. În cazul în care laptopul este utilizat de atribuire BIOS-ul, salvați, vă rugăm, imaginea sa prin utilitate AWDFLASH și trimite-mi sau posta un link unde este posibil pentru a trage imaginea.

Pentru că, mâinile mele încă nu a ajuns laptop-uri pe procesoare mobile AMD, informațiile dvs. este de neprețuit în cercetarea mea.

PS: puteți discuta despre articol pe forum

Ghidul dezvoltatorului Kernel pentru AMD Athlon 64 și AMD Opteron procesoare BIOS și rev.3.08 [26094] - un document foarte util, nu numai pentru K8, multe lucruri sunt adevărate pentru K7 (multumesc din nou pentru serj_'u vârful).

articole similare