Modul 6 — ALIMENTARE ȘI PROBLEME REALE

Lecția 6.1 — Secvența de pornire

power sequence, inițializare hardware, semnale de pornire

Începe Lecția

Introducere

Câ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.

Teorie Structurată

6.1.1 — Definiție POST

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.

6.1.2 — POST îndeplinește următoarele funcții

  • Verificarea registrelor CPU
  • Verificarea integrității codului BIOS
  • Verificarea funcționării controlerului DMA (Direct Memory Access)
  • Verificarea funcționării timerului și controlerului de întreruperi
  • Inițializarea, dimensionarea și verificarea memoriei principale (RAM)
  • Inițializarea BIOS-ului
  • Transferul controlului către extension BIOS (Option ROM)
  • Identificarea, organizarea și selectarea dispozitivelor de boot

6.1.3 — Ulterior, POST a fost extins pentru a include

  • Inițializarea chipset-ului
  • Descoperirea, inițializarea și catalogarea magistralelor de sistem și dispozitivelor
  • Furnizarea unei interfețe utilizator pentru configurare
  • Construirea mediului pentru sistemul de operare

6.1.4 — Procesul de pornire al CPU

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.1.5 — Cold boot vs warm boot

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.

6.1.6 — IBM

  • 1 scurt = POST OK, toate testele trecute
  • 2 scurte = eroare POST afișată pe ecran
  • Continuu = eroare sursă alimentare / placă de bază / RAM
  • 1 lung + 2 scurte = eroare adaptor video/display

6.1.7 — AMI (American Megatrends)

  • 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.

6.1.8 — Definiția BIOS

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.

6.1.9 — Secvența de pornire a sistemului

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ă:

  • CPU
  • Chipset
  • RAM (unul dintre cei mai complecși pași, setare DRAM prin SPD)
  • Placa de bază
  • Placa video
  • Tastatura
  • Mouse
  • Hard disk
  • Unitate optică

6.1.10 — Scanarea Option ROM

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.

6.1.11 — După POST și scanarea Option ROM

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

6.1.12 — Actualizări microcode

Î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.

6.1.13 — UEFI - succesorul BIOS

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.

6.1.14 — Definiție Power Good

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.

6.1.15 — Conform specificației ATX

  • Semnalul Power-Good este un semnal de +5V generat de sursa de alimentare
  • Se generează după ce sursa a trecut testele interne și ieșirile s-au stabilizat
  • Timpul de stabilizare: între 0.1 și 0.5 secunde (100ms – 500ms) după pornirea sursei
  • Semnalul este trimis la placa de bază, unde este recepționat de cip-ul timer al procesorului care controlează linia de reset a procesorului
  • PWR_OK trebuie să devină HIGH nu mai devreme de 100ms după stabilizarea rail-urilor
  • PWR_OK trebuie să rămână HIGH pentru cel puțin 16ms după pierderea alimentării AC
  • PWR_OK trebuie să cadă (sub 0.4V) cu cel puțin 1ms înainte ca rail-urile să iasă din specificații (95% din valoarea nominală)

6.1.16 — Surse de calitate scăzută

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.

6.1.17 — Definiția procesului de boot

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".

6.1.18 — La pornirea unui PC IBM-compatibil

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

6.1.19 — Procesul de boot folosește adesea încărcare în etape (multi-stage)

  • First-stage boot loaders: BIOS, UEFI, coreboot, Libreboot, Das U-Boot (inițializare hardware)
  • Second-stage boot loaders: GNU GRUB, rEFInd, BOOTMGR, Syslinux, NTLDR (încărcare OS)

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.

Legătura Fizică — Informatică

POST îndeplinește următoarele funcții

  • Verificarea registrelor CPU

Procesul de pornire al CPU

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.

Secvența de pornire a sistemului

  • CPU

După POST și scanarea Option ROM

6. CPU-ul este în real mode, CS:IP la 0x07C00

Actualizări microcode

Î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.

Surse de calitate scăzută

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.

Definiția procesului de boot

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".

La pornirea unui PC IBM-compatibil

1. CPU x86 execută instrucțiunea de la reset vector (FFFF0h pe 16-bit, FFFFFFF0h pe 32/64-bit)

Aplicare Directă în Console

Definiție Power Good

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.

Exemplu Real de Hardware

UEFI - succesorul BIOS

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.

Conform specificației ATX

  • Semnalul Power-Good este un semnal de +5V generat de sursa de alimentare
  • Se generează după ce sursa a trecut testele interne și ieșirile s-au stabilizat
  • Timpul de stabilizare: între 0.1 și 0.5 secunde (100ms – 500ms) după pornirea sursei
  • Semnalul este trimis la placa de bază, unde este recepționat de cip-ul timer al procesorului care controlează linia de reset a procesorului
  • PWR_OK trebuie să devină HIGH nu mai devreme de 100ms după stabilizarea rail-urilor
  • PWR_OK trebuie să rămână HIGH pentru cel puțin 16ms după pierderea alimentării AC
  • PWR_OK trebuie să cadă (sub 0.4V) cu cel puțin 1ms înainte ca rail-urile să iasă din specificații (95% din valoarea nominală)

Probleme Frecvente Asociate

⚠️ Definiție POST

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.

⚠️ IBM

2 scurte = eroare POST afișată pe ecran

Continuu = eroare sursă alimentare / placă de bază / RAM

1 lung + 2 scurte = eroare adaptor video/display

⚠️ AMI (American Megatrends)

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.

Recapitulare

  • Definiție POST: 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.
  • POST îndeplinește următoarele funcții: Verificarea registrelor CPU
  • Ulterior, POST a fost extins pentru a include: Inițializarea chipset-ului
  • Procesul de pornire al CPU: 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 vs warm boot: Cold boot = pornire completă de la zero, POST complet efectuat.
  • IBM: 1 scurt = POST OK, toate testele trecute
  • AMI (American Megatrends): 1 beep = eroare reîmprospătare memorie
  • Definiția BIOS: 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.
  • Secvența de pornire a sistemului: 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ă:
  • Scanarea Option ROM: 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.
  • După POST și scanarea Option ROM: 1. BIOS-ul apelează interrupt 19h
  • Actualizări microcode: Î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 - succesorul BIOS: 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.
  • Definiție Power Good: 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.
  • Conform specificației ATX: Semnalul Power-Good este un semnal de +5V generat de sursa de alimentare
  • Surse de calitate scăzută: 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.
  • Definiția procesului de boot: 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".
  • La pornirea unui PC IBM-compatibil: 1. CPU x86 execută instrucțiunea de la reset vector (FFFF0h pe 16-bit, FFFFFFF0h pe 32/64-bit)
  • Procesul de boot folosește adesea încărcare în etape (multi-stage): First-stage boot loaders: BIOS, UEFI, coreboot, Libreboot, Das U-Boot (inițializare hardware)

Quiz — 5 Întrebări

Întrebarea 1

Care afirmație este corectă despre: Cold boot vs warm boot?

  • a) Cold boot = pornire completă de la zero, POST complet efectuat.
  • b) 1 scurt = POST OK, toate testele trecute
  • c) Continuu = eroare sursă alimentare / placă de bază / RAM
  • d) 2 scurte = eroare POST afișată pe ecran
Arată răspunsul

a) — Cold boot = pornire completă de la zero, POST complet efectuat.

Întrebarea 2

Care afirmație este corectă despre: IBM?

  • a) Cold boot = pornire completă de la zero, POST complet efectuat.
  • b) 1 scurt = POST OK, toate testele trecute
  • c) 2 scurte = eroare POST afișată pe ecran
  • d) Continuu = eroare sursă alimentare / placă de bază / RAM
Arată răspunsul

b) — 1 scurt = POST OK, toate testele trecute

Întrebarea 3

Care afirmație este corectă despre: AMI (American Megatrends)?

  • a) 1 scurt = POST OK, toate testele trecute
  • b) 2 scurte = eroare POST afișată pe ecran
  • c) Cold boot = pornire completă de la zero, POST complet efectuat.
  • d) 1 beep = eroare reîmprospătare memorie
Arată răspunsul

d) — 1 beep = eroare reîmprospătare memorie

Întrebarea 4

Care afirmație este corectă despre: Timpul de stabilizare?

  • a) 2 scurte = eroare POST afișată pe ecran
  • b) între 0.1 și 0.5 secunde (100ms – 500ms) după pornirea sursei
  • c) Cold boot = pornire completă de la zero, POST complet efectuat.
  • d) 1 scurt = POST OK, toate testele trecute
Arată răspunsul

b) — între 0.1 și 0.5 secunde (100ms – 500ms) după pornirea sursei

Întrebarea 5

Care afirmație este corectă despre: La pornirea unui PC IBM-compatibil?

  • a) 1 scurt = POST OK, toate testele trecute
  • b) Cold boot = pornire completă de la zero, POST complet efectuat.
  • c) 5. Setarea DRAM prin SPD = unul dintre cei mai complecși pași
  • d) 2 scurte = eroare POST afișată pe ecran
Arată răspunsul

c) — 5. Setarea DRAM prin SPD = unul dintre cei mai complecși pași

Exercițiu Aplicat de Gândire

🧠 Exercițiu: Secvența de pornire

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. Defineste pe scurt: power sequence.
  • 2. Ce rol are inițializare hardware în contextul hardware-ului?
  • 3. Explică relația dintre power sequence și semnale de pornire.
Arată rezolvarea

1. Verificarea registrelor CPU

2. Verificarea registrelor CPU

3. Inițializarea chipset-ului

Video Recomandat

0:00 / 0:00

Procesul de pornire al computerului: de la apăsarea butonului la încărcarea sistemului de operare, pas cu pas.