Puterea de autotestare - Power-on self-test

Ecran tipic POST. (BIOS AMI)
Ecran rezumat după POST și înainte de a porni un sistem de operare (AMI BIOS)

Un autotest la pornire ( POST ) este un proces realizat de firmware-ul sau rutinele software imediat după pornirea unui computer sau a unui alt dispozitiv electronic digital.

Acest articol tratează în principal POST-urile de pe computerele personale, dar multe alte sisteme încorporate precum cele din aparatele majore, avionică , comunicații sau echipamente medicale au și rutine de auto-testare care sunt invocate automat la pornire.

Rezultatele POST pot fi afișate pe un panou care face parte din dispozitiv, pot fi trimise către un dispozitiv extern sau pot fi stocate pentru a fi recuperate ulterior de un instrument de diagnosticare. Deoarece un autotest ar putea detecta faptul că afișajul obișnuit citit de om al sistemului este nefuncțional, se poate furniza o lampă indicatoare sau un difuzor pentru a afișa codurile de eroare ca o succesiune de blițuri sau bipuri . Pe lângă efectuarea testelor, procesul POST poate seta și starea inițială a dispozitivului din firmware.

În cazul unui computer, rutinele POST fac parte din secvența de pre-boot a dispozitivului ; dacă se finalizează cu succes, codul încărcătorului bootstrap este invocat pentru a încărca un sistem de operare .

POST PC compatibil IBM

În computerele compatibile cu PC-ul IBM , principalele sarcini ale POST sunt gestionate de BIOS , care poate transmite unele dintre aceste sarcini altor programe concepute pentru a inițializa dispozitive periferice foarte specifice , în special pentru inițializarea video și SCSI . Aceste alte programe specifice taxei sunt, în general, cunoscute colectiv ca opțiuni ROM sau individual sub numele de BIOS video , SCSI BIOS etc.

Principalele sarcini ale BIOS-ului principal în timpul POST sunt următoarele:

  • verificați registrele CPU
  • verificați integritatea codului BIOS în sine
  • verificați câteva componente de bază, cum ar fi DMA, cronometru, controler de întrerupere
  • inițializați, dimensionați și verificați memoria principală a sistemului
  • inițializați BIOS-ul
  • trece controlul către alte BIOS-uri de extensie specializate (dacă sunt instalate)
  • identificați, organizați și selectați ce dispozitive sunt disponibile pentru boot

Funcțiile de mai sus sunt deservite de POST în toate versiunile BIOS până la prima. În versiunile ulterioare ale BIOS-ului, POST va:

(La BIOS-urile timpurii, POST nu organizează sau selecta dispozitivele de boot, pur și simplu a identificat dischetele sau hard disk-urile, pe care sistemul le-ar încerca să pornească întotdeauna în această ordine.)

BIOS-ul își începe POST-ul când CPU - ul este resetat. Prima locație de memorie pe care încearcă să o execute CPU este cunoscută sub numele de vector de resetare . În cazul unei reporniri rapide , Northbridge va direcționa această preluare de cod (cerere) către BIOS-ul situat pe memoria flash a sistemului . Pentru o pornire caldă , BIOS-ul va fi amplasat în locul corespunzător din RAM și Northbridge va direcționa apelul vectorului de resetare către RAM. (În sistemele de PC anterioare, înainte ca chipset-urile să fie standard, ROM-ul BIOS-ului ar fi localizat la un interval de adrese care includea vectorul de resetare, iar BIOS-ul a ieșit direct din ROM. Acesta este motivul pentru care BIOS ROM-ul plăcii de bază se află în segmentul F000 în memoria convențională Hartă.)

În timpul fluxului POST al unui BIOS contemporan, unul dintre primele lucruri pe care trebuie să le facă un BIOS este să determine motivul pentru care se execută. De exemplu, pentru o pornire la rece, poate fi necesară executarea tuturor funcționalităților sale. Cu toate acestea, dacă sistemul acceptă metode de economisire a energiei sau de pornire rapidă, BIOS-ul poate să ocolească descoperirea standard a dispozitivelor POST și pur și simplu să programeze dispozitivele dintr-un tabel de dispozitive de sistem preîncărcat.

Fluxul POST pentru computer s-a dezvoltat de la un proces foarte simplu, direct la unul complex și complicat. În timpul POST, BIOS-ul trebuie să integreze o mulțime de standarde și inițiative concurente, în evoluție și chiar excludente reciproce pentru matricea de hardware și sisteme de operare pe care se așteaptă să le accepte PC-ul, deși cel mult sunt afișate doar teste de memorie simple și ecranul de configurare.

În BIOS-urile anterioare, până la sfârșitul mileniului, POST ar efectua un test amănunțit al tuturor dispozitivelor, inclusiv un test de memorie complet. Acest design de IBM a fost modelat după sistemele lor mai mari (de exemplu, mainframe), care ar efectua un test hardware complet ca parte a procesului lor de pornire la rece. Pe măsură ce platforma PC-ului a evoluat într-un dispozitiv consumator de mărfuri, caracteristicile de înaltă fiabilitate inspirate de mainframe și minicomputer, precum memoria parității și testul de memorie aprofundat în fiecare POST au fost abandonate de la majoritatea modelelor. Creșterea exponențială a dimensiunilor memoriei PC-ului, determinată de scăderea la fel de exponențială a prețurilor memoriei, a fost, de asemenea, un factor în acest sens, deoarece durata unui test de memorie folosind un procesor dat este direct proporțională cu dimensiunea memoriei.

PC-ul original IBM ar putea fi echipat cu doar 16 KB de memorie RAM și avea de obicei între 64 și 640 KB; în funcție de cantitatea de memorie echipată, computerul de 4,77 MHz 8088 a necesitat între cinci secunde și 1,5 minute pentru a finaliza POST și nu a existat nicio modalitate de a sări peste acesta. Începând cu IBM XT, un număr de memorie a fost afișat în timpul POST în loc de un ecran gol. Un computer modern cu o rată a magistralei de aproximativ 1 GHz și o magistrală pe 32 de biți ar putea fi cu 2000x sau chiar cu 5000x mai rapidă, dar ar putea avea mai mult de 3 GB de memorie - cu 5000x mai mult. Având în vedere faptul că oamenii sunt acum mai preocupați de timpii de pornire decât în ​​anii 1980, testul de memorie de 30 până la 60 de secunde adaugă întârzieri nedorite pentru un beneficiu de încredere care nu este perceput ca fiind în valoare de acest cost de către majoritatea utilizatorilor. Majoritatea clonării BIOS-urilor PC-ului au permis utilizatorului să sară peste verificarea POST RAM apăsând o tastă, iar mașinile mai moderne deseori nu au efectuat niciun test RAM, cu excepția cazului în care a fost activat prin configurarea BIOS-ului. În plus, DRAM-ul modern este semnificativ mai fiabil decât DRAM în anii 1980.

Ca parte a secvenței de pornire, rutinele POST pot afișa o solicitare către utilizator pentru o apăsare a tastei pentru a accesa funcțiile de configurare încorporate ale BIOS-ului. Acest lucru permite utilizatorului să seteze diverse opțiuni specifice plăcii de bază înainte de încărcarea sistemului de operare. Dacă nu este apăsată nicio tastă, POST va trece la secvența de încărcare necesară pentru a încărca sistemul de operare instalat.

Multe implementări moderne BIOS și UEFI arată o siglă a producătorului în timpul POST și ascund ecranele clasice de text, cu excepția cazului în care apare o eroare. Ecranul text poate fi adesea activat în setările BIOS dezactivând opțiunea „Încărcare silențioasă”.

Raportarea progreselor și a erorilor

Card BIOS POST pentru magistrala ISA
Card BIOS POST pentru magistrala PCI.
Card BIOS POST profesional pentru magistrala PCI.
Două afișaje POST cu șapte segmente integrate pe o placă de bază a computerului

BIOS-ul original IBM a pus la dispoziție informațiile de diagnostic POST prin trimiterea unui număr la portul I / O 0x80 (nu a fost posibilă afișarea ecranului cu unele moduri de eroare). Au fost generate atât indicarea progresului, cât și codurile de eroare; în cazul unei defecțiuni care nu a generat un cod, codul ultimei operațiuni reușite a fost disponibil pentru a ajuta la diagnosticarea problemei. Utilizarea unui analizor logic sau a unui card POST dedicat ‍ - cardun card de interfață care afișează ieșirea portului 0x80 pe un afișaj mic‍ - ‌ un tehnician ar putea determina originea problemei. Odată ce un sistem de operare rulează pe computer, codul afișat de o astfel de placă poate deveni lipsit de sens, deoarece unele sisteme de operare, de exemplu Linux , folosesc portul 0x80 pentru operații de sincronizare I / O. Codurile numerice reale pentru etapele posibile și condițiile de eroare diferă de la un furnizor de BIOS la altul. Codurile pentru diferite versiuni de BIOS de la un singur furnizor pot varia, de asemenea, deși multe coduri rămân neschimbate în diferite versiuni.

Ulterior BIOS-urile au folosit o secvență de bipuri de la difuzorul PC - ului atașat la placa de bază (dacă există și funcționează) pentru a semnaliza codurile de eroare. Unii furnizori au dezvoltat variante sau îmbunătățiri proprietare, cum ar fi suportul D al MSI . Codurile sonore POST variază de la producător la producător.

Informațiile despre codurile numerice și sonore sunt disponibile de la producătorii de BIOS-uri și plăci de bază. Există site-uri web care colectează coduri pentru multe BIOS-uri.

Coduri sonore originale IBM POST

Bipuri Sens
1 bip scurt POST normal - sistemul este OK
2 bipuri scurte Eroare POST - cod de eroare afișat pe ecran
Fără bip Sursa de alimentare, problema plăcii de sistem, procesorul deconectat sau difuzorul deconectat
Bip continuu Sursa de alimentare, placa de sistem, RAM sau tastatura problemă
Repetând scurte bipuri Sursa de alimentare , placa de sistem sau problema tastaturii
1 semnal sonor lung, 1 scurt Problema plăcii de sistem
1 semnal sonor lung, 2 scurte Problemă cu adaptorul de afișare (MDA, CGA)
1 semnal sonor lung, 3 scurte Problemă îmbunătățită a adaptorului grafic (EGA)
3 bipuri lungi Eroare carte de tastatură 3270

Coduri sonore POST AMI BIOS

Bipuri Sens
1 Eroare temporizator reîmprospătare memorie
2 Eroare de paritate în memoria de bază (primul bloc de 64 KiB )
3 Eroare test citire / scriere memorie de bază
4 Temporizatorul plăcii de bază nu este funcțional (verificați toți conectorii PSU- MB așezați)
5 Eroare procesor
6 Eroare de testare 8042 Gate A20 (nu se poate trece la modul protejat)
7 Eroare generală de excepție (eroare de întrerupere a excepției procesorului)
8 Afișare eroare de memorie (adaptor video de sistem)
9 Remediere sumă de verificare ROM AMOS BIOS
10 Remediere citire / scriere registru oprire CMOS
11 Testul memoriei cache a eșuat
bip continuu Placa de bază nu detectează un modul RAM (semnal sonor continuu)

Referință: AMIBIOS8 Check Point și Beep Code List , versiunea 2.0, ultima actualizare la 10 iunie 2008

POST coduri sonore la examenul de certificare CompTIA A +

Aceste coduri sonore POST sunt acoperite în mod special la examenul CompTIA A + :

Bipuri Sens
Beep-uri constante, scurte Sursa de alimentare poate fi defectă
Sunet sonor lung și continuu Eroare de memorie
Beep-uri constante, lungi Alimentare defectă
Fără bip Alimentarea este defectă, sistemul nu este conectat sau alimentarea nu este pornită
Fără bip Dacă totul pare să funcționeze corect, este posibil să existe o problemă cu „sonorul” în sine. Sistemul va emite în mod normal un semnal scurt.
Un bip lung, două scurte Eroare placă video

Descrieri cod de diagnostic IBM POST

Cod Sens
100–199 Plăci de sistem
200–299 Memorie
300–399 Tastatură
400–499 Afișaj monocrom
500–599 Afișare color / grafică
600–699 Unitate sau adaptor de dischetă
700–799 Coprocesor matematic
900–999 Portul imprimantei paralel
1000–1099 Adaptor de imprimantă alternativ
1100–1299 Dispozitiv de comunicare asincron, adaptor sau port
1300–1399 Portul jocului
1400–1499 Imprimantă color / grafică
1500–1599 Dispozitiv de comunicație sincron, adaptor sau port
1700–1799 Hard disk sau adaptor (sau ambele)
1800–1899 Unitate de expansiune (XT)
2000–2199 Adaptor de comunicare bisincron
2400–2599 Video EGA pe placa de sistem (MCA)
3000–3199 Adaptor LAN
4800–4999 Modem intern
7000–7099 Cipuri BIOS Phoenix
7300–7399 Unitate de disc de 3,5 inci
8900–8999 Adaptor MIDI
11200–11299 Adaptor SCSI
21000-21099 Disc fix și controler SCSI
21500–21599 Sistem CD-ROM SCSI

Macintosh POST

Apple a lui Macintosh calculatoarele efectua , de asemenea , un POST după o pornire la rece . În cazul unei erori fatale, Mac-ul nu va face sonorul de pornire .

Mac-uri Old World (până în 1998)

Mac-urile realizate după 1987, dar înainte de 1998, la eșecul POST, se vor opri imediat cu un „ clopot de moarte ”, care este un sunet care variază în funcție de model; poate fi un bip, un sunet de accident de mașină, sunetul unei sticle spargătoare, un ton muzical scurt sau mai multe. Pe ecran, dacă funcționează, va fi pictograma Sad Mac , împreună cu două șiruri hexazecimale, care pot fi utilizate pentru a identifica problema. Mac-urile făcute înainte de 1987 s-au prăbușit în tăcere cu șirul hexazecimal și cu o pictogramă Sad Mac.

Mac-uri New World (1998-1999)

Când Apple a introdus iMac în 1998, a fost o abatere radicală față de alte Mac-uri ale vremii. IMac a început producția de Mac-uri New World , așa cum se numesc; Mac-urile New World, precum iMac , Power Macintosh G3 (albastru și alb) , Power Mac G4 (grafică PCI) , PowerBook G3 (tastatură bronz) și PowerBook G3 (FireWire) , încarcă ROM-ul Mac OS de pe hard disk. În cazul unei erori, dar nu a unei erori hardware fatale, acestea afișează același ecran ca atunci când se ține apăsat ⌘ Command+ ⌥ Option+ O+ Fla pornire, dar cu mesajul de eroare în loc de promptul "0>". În cazul unei erori hardware fatale, acestea emit aceste bipuri:

Bipuri Sens
1 Niciun RAM instalat / detectat
2 Tip RAM incompatibil instalat (de exemplu, EDO)
3 Nici o bancă RAM nu a trecut testarea memoriei
4 Suma de control greșită pentru restul ROM-ului de boot
5 Suma de control greșită pentru blocul de boot ROM

Mac-urile New World (1999 și mai departe)

Codurile sonore au fost revizuite în octombrie 1999. În plus, pe unele modele, LED-ul de alimentare ar clipi în cadență.

Bipuri Sens
1 Niciun RAM instalat / detectat
2 Tipuri de RAM incompatibile
3 Fără bănci bune
4 Nu există imagini de pornire bune în ROM-ul de pornire, bloc de configurare sistem rău sau ambele
5 Procesorul nu este utilizabil

Mac-uri bazate pe Intel

Odată cu introducerea Mac-urilor Intel cu firmware bazat pe EFI , tonurile de pornire au fost schimbate din nou.

Tonuri Sens
Un ton, care se repetă la fiecare cinci secunde Niciun RAM instalat / detectat
Trei tonuri succesive urmate de o pauză repetată de cinci secunde Tipuri de RAM incompatibile
Un ton lung în timp ce butonul de alimentare este ținut apăsat Actualizare EFI ROM în curs
Trei tonuri lungi, trei tonuri scurte, trei tonuri lungi Corupția EFI ROM detectată, recuperarea ROM în proces

Mac-urile cu cipul de securitate T2 nu au tonuri EFI ROM

Amiga POST

Linia istorică de computere Amiga , de la A1000 la 4000, prezintă o secvență POST interesantă care îi solicită utilizatorului o secvență de ecrane intermitente de culori diferite (mai degrabă decât bipuri sonore ca în alte sisteme) pentru a arăta dacă diferite teste hardware POST au fost corecte sau altfel dacă au eșuat:

Secvența POST a Amiga

Sistemul Amiga efectuează următorii pași la pornire:

  1. Întârzie începerea testelor o fracțiune de secundă pentru a permite hardware-ului să se stabilizeze.
  2. Salt la codul ROM din cardul de diagnosticare (dacă este găsit)
  3. Dezactivează și șterge toate DMA și întrerupe.
  4. Se aprinde pe ecran.
  5. Verifică configurația hardware generală. Dacă ecranul rămâne o culoare gri deschis și testele continuă, hardware-ul este OK. Dacă apare o eroare, sistemul se oprește.
  6. Efectuează testul sumelor de control pe ROM-uri.

Dacă sistemul nu reușește testul ROM, ecranul devine roșu și sistemul se oprește.

Secvență pentru toate modelele principale Amiga

Aproape toate modelele Amiga prezintă aceeași secvență de culoare atunci când sunt pornite: ecran negru, gri închis, gri deschis, care umple tot monitorul într-o secvență rapidă (Amigas ocupă de obicei 2 sau cel puțin maximum 3 secunde pentru a porni și a porni) .

Schema ecranelor color

Culoare Sens
roșu ROM rău
Galben Excepție CPU înainte de încărcarea codului Bootstrap
Verde RAM de cip defect sau eșec al cipului Agnus (verificați așezarea Agnus)
Negru Fără CPU
alb Extinderea a trecut testul cu succes
Gri Porniți
Alb constant Eșecul procesorului
Violet Revenire din InitCode ()

Secvență pentru A4000

Testează corect schema de secvență a culorilor

A4000 prezintă doar un ecran gri deschis în timpul timpului de pornire (apare doar în 2 sau maxim 3 secunde)

  • Gri deschis
  • = Testele inițiale de configurare hardware au trecut
  • = Testele inițiale de software ale sistemului au trecut
  • = Testul final de inițializare a trecut

Nu a reușit testarea schemei de culori

Culoare Sens
roșu Eroare ROM - Resetați sau înlocuiți
Verde Eroare CHIP RAM (resetează AGNUS și testează din nou)
Albastru Eroare cu cipuri personalizate
Galben 68000 de erori detectate înainte ca software-ul să o prindă (GURU)

Semnalele de eroare ale LED-ului tastaturii Amiga

Tastaturile modelelor istorice Amiga nu sunt proprietare, așa cum se întâmpla în primele ere ale computerelor, dar, mai pragmatic, se baza pe standardul internațional ANSI / ISO 8859-1 . Tastatura în sine era un dispozitiv inteligent și avea propriul procesor și 4 kilobyți de memorie RAM pentru păstrarea unui tampon al secvenței de taste care erau apăsate, astfel poate comunica cu utilizatorul dacă se constată o defecțiune prin aprinderea LED-ului său principal în ordine:

Clipește Sens
1 ROM eșec sumă de verificare
2 Testul RAM nu a reușit
3 Cronometrul câinelui de supraveghere a eșuat
4 Există o comandă rapidă între două linii de rând sau una dintre cele șapte taste speciale (neimplementate)

Vezi si

Referințe

linkuri externe