Actualizarea microcodului CPU din BIOS-ul AMI sau un exemplu de lucru cu MMTool
Am decis să vă amintesc trecutul - modificarea BIOS-ului.
În trecutul elevului îndepărtat, aceasta a fost înlocuirea modulului de raid pe mat. Plăci Epox pentru soclu A cu utilitare cbrom și unele manipulări ale utilităților modbin cu elemente de meniu.
Acum, a existat o dorință (să curgă lin în necesitatea unui upgrade) pentru a adăuga suport pentru noul procesor generație AMD K10.5 (ca un socket AM2 + \ AM3) Placa de baza Biostar TA770 A2 + (socket AM2 + si BIOS Award).
Procesul de a găsi un BIOS adecvat cu o listă necostisitoare CPU_list în gama. panourile Biostar pentru soclul AM2 + nu au dat rezultate de calitate. pentru că doar câteva matematică. plăcile din conectorul AM2 + (și numai pe chipset-urile NForce) au fost echipate cu BIOS-ul Award. Și majoritatea acestor plăci de bază sunt echipate cu Biostar AMI BIOS. Doar ultima convenție și mi-a permis să găsesc un exemplu de "joc cu" AMI BIOSes mat. plăci și împărtășiți experiența modestă în acest articol înainte de a se ocupa de BIOS-ul Award (pe care îl voi discuta într-un articol separat).
Apoi, suntem înarmați cu MMTOOL (am folosit versiunile 3.22, 3.23 și 3.26 - nu am găsit diferențe în lucrare). Pentru a lucra cu extensia MMTOOL a fișierelor firmware, BIOS-ul trebuie redenumit la * .rom.
Acum rulați două MMTOOL-uri și încărcați fișierele firmware din cele două matematici. placi. Acordăm atenție diferitelor dimensiuni din coloana "Dimensiune sursă" (și, de asemenea, în "Dimensiune în Rom", de asemenea), a modulului 11 "P6 Micro Code" în fiecare firmware.
Accesați secțiunea PATCH CPU pentru o comparație detaliată:
- fișierul donator 74GCU511.rom - cpu_list conține 14 linii cu suport CPURev.ID + 1 gol (figura 1).
- versiunea beta a destinatarului A74GM916.rom - cpu_list conține 13 linii cu suport CPURev.ID + 1 gol (figura 2).
Metoda numărul 1 - modificarea liniilor distinctive.
Extracția acestor trei șiruri distincte de la donatorul 74GCU511 se efectuează .rom "Extract a Patch Data" + "Apply" + 1 ultima linie necompletată și salvarea acestora în fișiere separate.
Anterior, în secțiunea CPU PATCH A74GM916.rom fișierele beneficiare sunt șterse două rânduri cu numere CPURev.ID 1043 și 1062 (a cărui firmware-ul este mai veche decât vom continua Încorporați) și ultima linie goală - acțiunea «Ștergerea unui plasture de date» + «Aplicare» ( Figura 3).
Apoi, un nou microcod din cele patru patch-uri de fișiere primite anterior pentru CPURev.ID 1043, 1062, 10A0 și o linie goală sunt introduse alternativ (figura 4).
Acordăm atenție dimensiunilor ("Dimensiunea sursei" și "Dimensiunea în Rom") a modulului 11 "P6 Micro Code" înainte și după aplicarea acestor modificări în fișierul destinatarului.
După aplicare, aceste dimensiuni în recipient (Fig.6) vor deveni identice cu dimensiunile aceluiași modul din fișierul donator 74GCU511.rom (Fig.5).
Merită remarcat faptul că este ușor de înțeles modul în care se formează dimensiunea modulului (fiecare linie care, în secțiunea PATCH CPU, durează 2048 octeți).
Salvați mai bine schimbările sub noul nume de fișier.
Apoi, acest fișier este verificat, astfel încât MMTOOL poate fi deschis fără erori.
Metoda # 2 - modificarea prin înlocuirea întregului modul.
De fapt a fost descris pe Internet (de exemplu, parțial aici).
În MMTOOL subcircurăm dosarul donator 74GCU511.rom, mergeți la fila "Extract" și căutați linia "P6 Micro Code". Apoi selectați-l, în câmpul "module modul", dați-i numele ncpucode.bin și executați modulul Extract "în formă necomprimată".
Acum, în MMTOOL, încărcați fișierul destinatarului A74GM916.rom, mergeți la fila "Înlocuiește" și căutați din nou linia "P6 Micro Code". Selectați-l, așteptați Răsfoiți și selectați modulul nostru donator ncpucode.bin. Apăsăm pe Replase și apoi suntem de acord să înlocuiți acest modul.
Din nou, acordați atenție dimensiunilor ("Dimensiunea sursei" și "Dimensiunea în Rom") a modulului 11 "P6 Micro Code" înainte și după înlocuirea acestui modul în fișierul destinatar.
După aplicare, aceste dimensiuni în recipient (figura 7) vor deveni identice cu dimensiunile aceluiași modul din fișierul donator 74GCU511.rom (figura 5).
Concluzie și consecință.
Acesta este modul în care firmware-ul BIOS-ului de la diferite mat diferite. placi de baza bazate pe socket AM2 + (AM3 și chiar pentru comparație) pot găsi cele mai recente microcod pentru fiecare tip de CPURev.ID, atât în Premiul sau AMI BIOS, apoi combinate într-un singur ncpucode.bin.
În posledtsvii ma transformat dimensiunea de 32,768 bytes de 16 rânduri (microcod) cu data cea mai recentă dintre firmware studiat diverse BIOS: cu 15yu diferite tipuri de audit procesoare socket AM2 + (040A, 0413, 0414, 041B, 0433, 0680, 0C1B, 1000, 1020, 1022, 1040, 1041, 1043, 1062, 10A0) și linia 16 pentru RevID 0000 (aparent pentru un universal revizuiri procesor microcod nu sunt descrise în alte rânduri - IMHO un astfel de viitor).
Când combinați propriul dvs. ncpucode.bin importând patch-urile necesare (microcoduri) pentru fiecare revizuire necesară a procesoarelor ca fiind una de laborator, puteți folosi absolut orice firmware AMI BIOS cu modulul "P6 Micro Code".