Il BIOS è responsabile dell’avvio lento del computer. Ecco come funziona e come velocizzare il pc senza comprarne uno nuovo
come funziona il bios
Pochi secondi dopo l’accensione del pc, il Bios analizza quasi tutti i componenti. CHIP mostra come funziona e in che modo velocizzare il computer con alcune modifiche alle impostazioni del Bios
Se tutto funziona come deve, si sente solo un bip. Per la maggior parte degli utenti ciò significa che il computer è a posto e che si sta avviando il sistema operativo. Pochi sanno ciò che avviene nei primi secondi prima del bip: alimentatore di corrente, Cpu, Ram, connessioni dell’hard disk, controller e scheda madre sono tutti componenti che vengono controllati dal Bios (Basic Input Output System).
Questa guida vi mostra al rallentatore passo dopo passo cosa viene verificato dal Bios prima che il computer avvii il sistema operativo. Il Bios della maggior parte dei computer è piuttosto vecchiotto, anche se funziona ancora ottimamente. Il suo successore è già pronto: è l’Efi (Extensible Firmware Interface) che supporta i sistemi a 64 bit ed è quindi pronto per la futura generazione di pc. Grazie all’interfaccia grafica, l’Efi è oltretutto più facile da configurare rispetto al Bios dei computer attuali. Finora solo i computer Mac e pochi pc sono dotati del super-Bios. Perciò vi mostriamo il protocollo del vecchio Bios, quello presente nel 90% dei computer in circolazione.
0,0300s
Subito dopo l’accensione si attiva la prima parte del Bios, il POST Test (Power-On Self-Test), che si assicura che i componenti basilari del computer funzionino perfettamente. Quindi il Bios analizza il chipset del computer.
Alcune schede madri sono dotate di due chip Bios. Se uno dei due è difettoso, per esempio a causa
di un aggiornamento sbagliato del firmware, interviene automaticamente il secondo chip.
1,7300s
Dapprima il sistema effettua il reset della Cpu, operando la disconnessione da parte del Bios del processore dalla linea NM Interrupt (non maskable Interrupt). A tale scopo si serve del Bit 7 della porta I/O 70h. Quasi contemporaneamente si resetta anche il controller della tastiera attraverso i Bit Hard Reset corrispondenti, nel momento in cui parte l’alimentazione elettrica.
Il Bios controlla attraverso la Reset Determination se per il controller è sufficiente un soft reset. Per fare ciò legge i bit corrispondenti nel controller della tastiera. Un soft reset è più veloce di alcuni millisecondi, poiché il sistema verifica la memoria solo fino a 64 kb.
2,6100s
Il Bios compie ora un test su sé stesso calcolando il checksum di tutti i bit del suo chip. Tale analisi deve riportare il valore “00” unito a una determinata cifra. Successivamente il pc invia un comando al controller della tastiera. Quest’ultimo avvia un altro test e definisce un buffer di dati per i comandi di programma in cui il Bios scrive un byte di comando e verifica in questo modo il controller interno della tastiera.
4,1100s
Ora è la volta del chip Cmos (Complementary Metal Oxide Semiconductor). Qui si trovano le impostazioni del Bios definite dall’utente. Questi file di configurazione vengono letti dal Bios a ogni avvio del chip Cmos. Il problema: il chip mantiene i dati e le impostazioni solo finché la batteria è connessa, come avviene per la memoria Ram. Il sistema verifica anche il checksum del chip Cmos, la parte riscrivibile del Bios. Anche in questo caso calcola un checksum.
Tale procedura dovrebbe rivelare se c’è una batteria difettosa nel computer. Se questa è vecchia la tensione non basta più per rifornire determinate parti del chip Cmos. L’utente lo capisce dal fatto che è stato eseguito il reset delle impostazioni utente del Bios e dell’orologio di sistema del suo computer.
4,6200s
Nel passo successivo il POST verifica la funzione dell’Interrupt Timer che serve per lo svolgimento corretto dell’attribuzione degli Irq. Gli Irq (Interrupt Request) sono comandi che l’hard disk o la scheda grafica inviano alla Cpu per comunicare la presenza di dati da elaborare. Queste richieste sono sempre accompagnate da un tempo di latenza che corrisponde al tempo che intercorre tra il segnale Irq e l’inizio dell’elaborazione dei dati. Infine il Bios crea una tabella di vettori Irq e carica le impostazioni utente del Bios nella memoria Cmos.
Le richieste di interrupt dei dispositivi arrivano innanzitutto al Programmable Interrupt Controller che li invia poi alla Cpu. Il processore interrompe i processi in corso e conferma l’interrupt nel controller. Poi la Cpu legge il numero dell’Irq corrispondente (vettore) nel controller e lo utilizza come indice nella tabella vettori interrupt.
Essa contiene il relativo incarico per ciascun Irq, per esempio quello di eseguire un’azione specifica per il dispositivo. Dato che esiste solo un numero limitato di Irq, nei sistemi moderni diversi dispositivi condividono un Irq (interrupt sharing). Il problema: la routine di un interrupt di questo tipo deve poter avviare poi tutti i driver i cui dispositivi lo hanno avviato. Può succedere che singoli driver programmati in modo non ottimale siano contrassegnati come attivi per un periodo di tempo troppo lungo. Un altro di questi dispositivi scrive nel frattempo in un buffer che si riempie rapidamente e causa un overflow a partire da un certo punto, e ciò può comportare la perdita dei dati. Nelle periferiche moderne è perciò il sistema operativo a occuparsi dell’assegnazione dinamica di singoli numeri Irq.
4,8200s
Il Bios verifica che non ci siano errori nelle linee di attribuzione e di indirizzo della memoria Ram nel primo megabyte. In tal senso il POST scrive dei modelli di dati nella Ram e poi li raffronta.
Il sistema verifica ora l’adattatore video e inizializza la scheda grafica: dapprima il Bios controlla il tipo di adattatore video e poi esegue una serie di test su adattatore e monitor. Solo a partire da questo momento possono comparire dei messaggi di errore sullo schermo.
5,0200s
Ora è la volta dei controller Dma (Direct Memory Access): la Cpu e la memoria Ram sono collegate mediante il cosiddetto host bridge al bus dati della scheda madre. La maggior parte delle transazioni sul bus avviene tra il bridge e i restanti dispositivi periferici. Affinché questi ultimi possano elaborare i propri dati nel modo più rapido possibile, essi possono accedere direttamente all’host bridge e scrivere in tal modo nella memoria Ram senza ulteriori perdite di tempo.
Per eseguire il test, il Bios utilizza nuovamente dei modelli di dati che vengono scritti dal sistema nella memoria. Anche la connessione della tastiera deve essere verificata. Il Bios sarebbe ora in grado di riconoscere una tastiera difettosa. Il tasto Bloc Num, che abilita il tastierino numerico sulla destra, ora è attivato.
7,6300s
Ora avvengono i test finali: l’eventuale drive del floppy, il disco fisso e le connessioni vengono ricontrollate dal Bios, prima che il sistema passi il controllo al boot loader interrupt 19. Questo si occupa di caricare il sistema operativo e sorveglia il trasferimento dei dati dal disco fisso e dal controller corrispondente. Molte versioni di Bios offrono la possibilità di disattivare l’Irq19. Ciò ha senso solo se esiste un controller del disco aggiuntivo nel computer, per esempio un controller Pci Raid.
Se in qualche punto dell’autotest si verifica un errore, il computer emette diversi bip e visualizza un messaggio di errore sullo schermo.
Per decifrare l’Sos del Bios, abbiamo pubblicato in questo altro articolo le tabelle con le sequenze di beep del Bios per individuare la fonte dell’errore. Per sapere con precisione quale componente è difettoso bisogna per forza procurarsi una scheda diagnostica della scheda madre. La scheda va semplicemente inserita in uno slot libero della scheda madre e mostra il codice numerico dell’errore. In questo modo è semplice risalire al componente difettoso mediante la tabella dei codici della scheda diagnostica.
12,4300s
Se tutto è a posto, il computer emette un bip breve e cerca poi un supporto di avvio con il sistema operativo funzionante. Se si verifica un errore in questo frangente, risiede nel fatto che manca il Mbr (Master Boot Record). Se dovesse apparire un messaggio di errore, potete provare a ripristinare il sistema con il dvd di installazione di Windows. Se sul computer è installato XP, avviate il computer dal cd di installazione e avviate la console di ripristino. Quindi scrivete il comando fixmbr e riavviate il computer.
Con Vista basta avviare dal dvd di installazione e selezionare l’opzione Ripristino del sistema nel setup. Se ciò non dovesse servire, allora procedete come in XP e aprite la console di ripristino. Lì inserite il comando bootrec /fixmbr. Se non funziona questa variante, non potete fare altro che reinstallare Windows.
Appare un cursore lampeggiante su sfondo nero invece del messaggio ntldr. Anche in questo caso andate nella console di ripristino e inserite le seguenti righe di comando:
c:
cd boot
attrib c:\boot\bcd -s -h -r
ren c:\boot\bcd bcd.old
bootrec /rebuild
Se avete Windows 7 e successivi sul vostro computer, potete inserire direttamente il dvd di avvio e ripristinare il boot sector corretto mediante la funzione di ripristino. Le funzioni di riparazione di Windows 7 si trovano all’inizio del setup: fate sempre comunque attenzione che la sequenza di boot impostata nel Bios sia corretta. Infine anche l’Irq19 dovrebbe trovare il sistema e avviare senza problemi il sistema operativo vero e proprio.
Risulta essere dall’11 gennaio 1996 che esiste un avvio del sistema “unitario”. Diverse aziende decisero di adottare lo standard BIOS Boot Specification. A tutt’oggi decide il modo in cui i sistemi operativi interni al sistema (bootstrap loader) avviano l’Os vero e proprio.
Oggi, anche se i sistemi operativi vengono dotati costantemente di nuove opzioni grafiche, il Bios rimane sempre uguale. E ciò non a caso: un addetto ai lavori sostiene che i produttori non vogliono che l’utente metta mano al Bios. Questo per evitare che possa combinare guai.
Il nuovo Bios Efi supporta il sistema a 64 bit, possiede una nuova interfaccia grafica ma purtroppo ci sono ancora pochissimi pc dotati di Efi poiché mancano le schede madri compatibili. Solo Apple lo utilizza dal 2006.
Spesso i chip Bios sono Flash Eeprom (Electrically Erasable Programmable Read Only Memory) che possono essere aggiornati via software.
Ma attenzione: l’upgrade è rischioso. Se durante l’operazione di aggiornamento qualcosa va storto, dovete intervenire direttamente sull’hardware. D’altra parte però si possono aumentare le prestazioni.
Molte schede madri sono dotate di un sistema di emergenza nel chip Bios che avvia una procedura di sicurezza in caso di aggiornamenti errati. Grazie a questo potete caricare un file di ripristino.
Intervenendo sulle impostazioni del Bios nel modo giusto si possono aumentare notevolmente le prestazioni del pc. L’overclock è la procedura che offre un incremento maggiore della velocità della Cpu: nel Bios inserite un valore superiore di 20 MHz rispetto a quello indicato alla voce Advanced/JumperFree Configuration/CPU Frequency. La temperatura della Cpu dovrebbe rimanere intorno ai 60 gradi centigradi e, anche a pieno carico, non si dovrebbero superare i 90 gradi.
Un aumento delle prestazioni si ottiene anche configurando la Ram: andate in Advanced/Chipset/North Bridge Configuration e diminuite il valore di CAS Latency portandolo a 3. Nel caso in cui Windows non si avvii, riportate il valore a 4. Allo stesso modo procedete in RAS# to CAS# Delay e in RAS# Precharge. Impostate il valore in RAS# Activate to Precharge a 10. In genere i valori più bassi fanno girare il sistema più velocemente.