Modul 6 — ALIMENTARE ȘI PROBLEME REALE
power sequence, inițializare hardware, semnale de pornire
Începe LecțiaCând apeși butonul de pornire pe un PlayStation 5, nu se întâmplă un singur lucru — se declanșează o secvență precisă de evenimente care durează câteva secunde: mai întâi se activează standby-ul, apoi PSU-ul furnizează 12V, VRM-urile generează tensiunile secundare, SoC-ul primește semnalul de reset, firmware-ul POST verifică hardware-ul, și abia apoi apare logo-ul pe ecran. Dacă oricare pas eșuează, secvența se oprește.
Această lecție acoperă secvența de pornire (power sequence) — ordinea exactă în care se activează circuitele, inițializarea hardware (POST — Power-On Self-Test) și semnalele de pornire care controlează fiecare etapă a procesului de boot.
Scopul nu este memorarea ordinii semnalelor, ci înțelegerea de ce fiecare etapă depinde de cea anterioară, cum simptomele (LED-uri, sunete, comportamentul ventilatorului) indică exact în ce punct s-a oprit secvența și de ce un tehnician experimentat poate localiza defectul doar observând cât de departe ajunge consola în boot.
POST (Power-On Self-Test) este o secvență de teste de diagnostic efectuată de firmware-ul computerului imediat după pornire. Scopul este verificarea funcționării corecte a componentelor hardware înainte de încărcarea sistemului de operare.
La resetare, CPU-ul execută instrucțiunea de la adresa reset vector. Pe procesoarele x86 pe 32/64-biți, aceasta este la adresa fizică FFFFFFF0h. Northbridge-ul direcționează această cerere de citire către memoria flash BIOS (la cold boot) sau RAM (la warm boot). CPU-ul începe execuția codului BIOS care rulează POST.
Cold boot = pornire completă de la zero, POST complet efectuat.
Warm boot (Ctrl+Alt+Delete) = repornire fără a opri alimentarea; poate ocoli anumite teste POST prin intermediul unui flag CMOS.
POST card: dispozitiv de diagnostic tehnic, placă de interfață dedicată care afișează codul de pe portul I/O 0x80.
BIOS (Basic Input/Output System) este firmware-ul stocat pe placa de bază, responsabil pentru inițializarea hardware-ului și furnizarea serviciilor runtime. Inițial stocat în ROM, acum se folosește memorie flash.
La pornire, procesoarele x86 încep execuția de la adresa FFFFFFF0h (pe 80386+). Prima instrucțiune din BIOS ROM este de obicei un jump către programul principal de start-up. Acest program rulează POST, care identifică, testează și inițializează:
După POST, BIOS-ul scanează pentru Option ROM-uri în zona de adrese 0x0C0000–0x0F0000 pe granițe de 2KB. Fiecare ROM trebuie să conțină semnătura 0x55 0xAA. Dacă este găsită, BIOS-ul execută codul ROM-ului respectiv, care inițializează hardware-ul asociat și înregistrează vectori de întrerupere.
1. BIOS-ul apelează interrupt 19h
2. Încearcă dispozitivele de boot în ordinea configurată
3. Încarcă primul sector (boot sector, 512 bytes) de pe dispozitivul bootabil
4. Verifică semnătura 0x55 0xAA la sfârșitul sectorului
5. Transferă controlul la boot loader-ul din sectorul de boot
6. CPU-ul este în real mode, CS:IP la 0x07C00
7. Boot loader-ul încarcă kernel-ul OS
În timpul POST, actualizări de microcode sunt încărcate din BIOS în SRAM-ul procesorului. Aceste actualizări nu sunt persistente – se reîncarcă la fiecare pornire.
UEFI (Unified Extensible Firmware Interface) este succesorul BIOS-ului legacy. Intel a eliminat suportul BIOS legacy începând din 2020. UEFI nu se bazează pe boot sectors; încarcă direct boot loader-ul (fișier EFI application) de pe partiția EFI System Partition.
Power Good (PWR_OK) este un semnal furnizat de sursa de alimentare a computerului către placa de bază, indicând că toate tensiunile sunt în specificații și că sistemul poate proceda la boot și operare.
Sursele ieftine/de calitate scăzută nu urmează specificația ATX de circuit de monitorizare separat; în schimb, conectează ieșirea Power Good direct la una din liniile de 5V. Acest lucru înseamnă că procesorul nu va primi niciodată reset la alimentare necorespunzătoare decât dacă linia de 5V scade suficient de mult.
Booting (bootstrapping) este procesul de pornire a unui computer inițiat prin hardware (buton fizic) sau comandă software. După pornire, CPU-ul nu are software în memoria principală, deci un proces trebuie să încarce software-ul în memorie înainte de execuție. Termenul vine de la expresia "to pull oneself up by one's bootstraps".
1. CPU x86 execută instrucțiunea de la reset vector (FFFF0h pe 16-bit, FFFFFFF0h pe 32/64-bit)
2. Aceasta indică de obicei către punctul de intrare al firmware-ului (UEFI sau BIOS) din ROM
3. Locația de memorie conține de obicei o instrucțiune jump către programul de start-up
4. Programul rulează POST pentru verificarea și inițializarea dispozitivelor necesare (DRAM, bus PCI, dispozitive PCI, Option ROM-uri)
5. Setarea DRAM prin SPD = unul dintre cei mai complecși pași
6. După inițializarea hardware-ului, firmware-ul parcurge lista preconfigurată de dispozitive de boot
Boot sector pe MBR: limitat la 446 bytes (restul: tabelă partiții 64 bytes + semnătură boot 2 bytes)
UEFI nu se bazează pe boot sectors; încarcă direct boot loader-ul EFI de pe EFI System Partition.
La resetare, CPU-ul execută instrucțiunea de la adresa reset vector. Pe procesoarele x86 pe 32/64-biți, aceasta este la adresa fizică FFFFFFF0h. Northbridge-ul direcționează această cerere de citire către memoria flash BIOS (la cold boot) sau RAM (la warm boot). CPU-ul începe execuția codului BIOS care rulează POST.
6. CPU-ul este în real mode, CS:IP la 0x07C00
În timpul POST, actualizări de microcode sunt încărcate din BIOS în SRAM-ul procesorului. Aceste actualizări nu sunt persistente – se reîncarcă la fiecare pornire.
Sursele ieftine/de calitate scăzută nu urmează specificația ATX de circuit de monitorizare separat; în schimb, conectează ieșirea Power Good direct la una din liniile de 5V. Acest lucru înseamnă că procesorul nu va primi niciodată reset la alimentare necorespunzătoare decât dacă linia de 5V scade suficient de mult.
Booting (bootstrapping) este procesul de pornire a unui computer inițiat prin hardware (buton fizic) sau comandă software. După pornire, CPU-ul nu are software în memoria principală, deci un proces trebuie să încarce software-ul în memorie înainte de execuție. Termenul vine de la expresia "to pull oneself up by one's bootstraps".
1. CPU x86 execută instrucțiunea de la reset vector (FFFF0h pe 16-bit, FFFFFFF0h pe 32/64-bit)
Power Good (PWR_OK) este un semnal furnizat de sursa de alimentare a computerului către placa de bază, indicând că toate tensiunile sunt în specificații și că sistemul poate proceda la boot și operare.
UEFI (Unified Extensible Firmware Interface) este succesorul BIOS-ului legacy. Intel a eliminat suportul BIOS legacy începând din 2020. UEFI nu se bazează pe boot sectors; încarcă direct boot loader-ul (fișier EFI application) de pe partiția EFI System Partition.
POST (Power-On Self-Test) este o secvență de teste de diagnostic efectuată de firmware-ul computerului imediat după pornire. Scopul este verificarea funcționării corecte a componentelor hardware înainte de încărcarea sistemului de operare.
2 scurte = eroare POST afișată pe ecran
Continuu = eroare sursă alimentare / placă de bază / RAM
1 lung + 2 scurte = eroare adaptor video/display
1 beep = eroare reîmprospătare memorie
2 beeps = eroare paritate memorie
3 beeps = eroare read/write memorie
4 beeps = eroare timer
5 beeps = eroare procesor
POST card: dispozitiv de diagnostic tehnic, placă de interfață dedicată care afișează codul de pe portul I/O 0x80.
Care afirmație este corectă despre: Cold boot vs warm boot?
a) — Cold boot = pornire completă de la zero, POST complet efectuat.
Care afirmație este corectă despre: IBM?
b) — 1 scurt = POST OK, toate testele trecute
Care afirmație este corectă despre: AMI (American Megatrends)?
d) — 1 beep = eroare reîmprospătare memorie
Care afirmație este corectă despre: Timpul de stabilizare?
b) — între 0.1 și 0.5 secunde (100ms – 500ms) după pornirea sursei
Care afirmație este corectă despre: La pornirea unui PC IBM-compatibil?
c) — 5. Setarea DRAM prin SPD = unul dintre cei mai complecși pași
Scenariu: Analizezi un sistem hardware care utilizează conceptul de power sequence. Pe baza cunoștințelor din această lecție, răspunde la următoarele întrebări:
1. Verificarea registrelor CPU
2. Verificarea registrelor CPU
3. Inițializarea chipset-ului
Procesul de pornire al computerului: de la apăsarea butonului la încărcarea sistemului de operare, pas cu pas.