Dove è archiviato il BIOS?


56

Da http://en.wikipedia.org/wiki/BIOS :

Il software BIOS è memorizzato su un chip ROM non volatile sulla scheda madre. ... Nei moderni sistemi informatici, i contenuti del BIOS sono memorizzati su un chip di memoria flash in modo che i contenuti possano essere riscritti senza rimuovere il chip dalla scheda madre. Ciò consente di aggiornare facilmente il software BIOS per aggiungere nuove funzionalità o correggere bug, ma può rendere il computer vulnerabile ai rootkit BIOS.

Poiché mezzi ROM R ead- O olo M emory, perché possono il contenuto BIOS essere riscritte?

Il "chip di memoria flash" ha lo stesso significato della "ROM non volatile", che significa entrambi dove è archiviato il BIOS?


2
CMOS contiene le impostazioni di sistema [Impostazioni BIOS] che possono essere modificate da un utente [nella schermata BIOS]. Quindi, secondo cpsforum.blogspot.co.uk/2012/06/… "[chiamando quella schermata si accede] l'installazione CMOS è più appropriata che chiamare [it] installazione BIOS." e bayt.com/en/specialties/q/7459/… "Il BIOS viene modificato solo tramite il flashing della nuova versione." e "Il BIOS è un insieme di istruzioni che controlla il processo di avvio delle schede madri."
barlop

4
Tranne, nessuno imposta CMOS. È come dire che hai installato il serbatoio del gas in un'auto quando avvii l'auto.
Andon M. Coleman,

4
ROM is read only, so why can the BIOS contents be rewritten?È un termine improprio causato dalla convenzione.
Synetech,

1
Se avessi letto gli articoli dietro i link di Wikipedia che hai messo in evidenza nella tua domanda , ti sarebbe dovuto venire in mente che la risposta era che flash memorynon è reale ROM. Anche se la confusione può essere comune, secondo me è una domanda scadente, perché deriva esclusivamente dalla mancanza di lettura delle fonti disponibili gratuitamente!
Alexander Kosubek,

1
In realtà, Andon, la prima cosa che faccio in ogni nuova build di computer è configurare le mie impostazioni CMOS. L'analogia del serbatoio del gas per auto è del tutto inappropriata in questo contesto.
TomXP411,

Risposte:


60

Per aggiungere alla risposta di Varaquilex, il software BIOS è memorizzato in una ROM programmabile e cancellabile elettricamente (EEPROM) che consente agli aggiornamenti del firmware di essere eseguiti elettronicamente. I chip BIOS molto vecchi erano in realtà chip UV-EPROM che richiedevano la cancellazione con l'esposizione alla luce UV prima di poter essere riprogrammati.


Modifica: Come è stato sottolineato nei commenti, anche prima di quel chip a uso singolo programmabile ROM (PROM) a volte venivano usati che non potevano essere riprogrammati una volta configurati e richiedevano la sostituzione completa per l'aggiornamento (anche se ciò era raramente richiesto).


2
Ancora prima, e alcune erano ROM / PROM non cancellabili, che avrebbero dovuto essere sostituite con nuove ROM se si voleva installare un nuovo BIOS. Naturalmente a quel tempo il BIOS stava facendo di meno e cambiava abbastanza raramente.
Keshlam,

Ah sì. UV-EPROM ... È sempre divertente estrarre l'etichetta dal BIOS UV-EPROM e vedere la piccola finestra utilizzata per riprogrammare il chip. Letteralmente nessuno ha l'attrezzatura necessaria per riprogrammarli, quindi non ho mai capito perché l'hanno fatto su hardware di consumo (non evolutivo). Dovresti inviarlo in una fabbrica per farlo, a quel punto il mfg. avrebbe potuto risparmiare denaro utilizzando la maschera ROM standard.
Andon M. Coleman,

3
@ AndonM.Coleman In volumi inferiori, l'utilizzo di EPROM o (anche prima) le PROM di tipo a miccia, potrebbe in effetti essere stato più economico rispetto al taglio di una maschera ROM. Ad esempio, se la memoria serve, praticamente tutte le macchine arcade dei primi anni 80 avevano il loro software su PROM o EPROM, anche se non sarebbero mai state cambiate, perché era più economico al volume di produzione previsto.
zwol,

1
Le UV-EPROM (EEPROM) non sono mai state pensate per la riprogrammazione dei consumatori AFAIK. Quando un dispositivo torna in fabbrica per la riparazione o altro, è utile poter aggiornare il firmware sostituendo o riprogrammando la EEPROM.
Rossnz,

1
@ AndonM.Coleman - Le ROM mascherate hanno un costo di installazione una tantum notevole . Le UV-EPROM, sebbene più costose per unità, sono spesso più economiche per la produzione a breve termine (<10K).
Eric Brown,

40

La ROM è di sola lettura, quindi perché è possibile riscrivere il contenuto del BIOS?

Il programma BIOS stesso è memorizzato in una EEPROM (che può essere [E] elettricamente [E] rasable e [P] rogrammable) o in una memoria flash. Quindi la sola lettura qui riguarda il chip non volatile. Il contenuto della memoria rimane quando viene interrotta l'alimentazione, a differenza della RAM volatile. La ROM essendo EEP aiuta a riscrivere o aggiornare il BIOS. Allora per tali operazioni, dovevi rimuovere il chip BIOS dalla scheda, metterne uno nuovo (se non è PROM o EPROM), o se la sua EPROM devi portarlo al produttore e lasciarlo riprogrammare il chip e ricollegalo alla scheda. Dopo gli attuali progressi, grazie alle EEPROM, non è necessario rimuovere il chip per eseguire tali operazioni, è sufficiente fare in modo che il computer faccia il lavoro elettricamente .


Il "chip di memoria flash" ha lo stesso significato della "ROM non volatile", che significa entrambi dove è archiviato il BIOS?

da Wikipedia :

La memoria flash è un supporto di memorizzazione elettronico non volatile che può essere cancellato e riprogrammato elettricamente.

La memoria flash è stata sviluppata dalla EEPROM (memoria di sola lettura programmabile e cancellabile elettricamente). Esistono due tipi principali di memorie flash, che prendono il nome dalle porte logiche NAND e NOR. Le caratteristiche interne delle singole celle di memoria flash presentano caratteristiche simili a quelle delle porte corrispondenti. Mentre le EPROM dovevano essere completamente cancellate prima di essere riscritte, la memoria flash di tipo NAND può essere scritta e letta in blocchi (o pagine) che sono generalmente molto più piccoli dell'intero dispositivo. Il tipo di flash NOR consente di scrivere una parola macchina (byte) in una posizione cancellata o di leggerla in modo indipendente.

EEPROM e memoria flash non si riferiscono alla stessa cosa: sono due tipi di memoria simili a quelli sviluppati l'uno dall'altro e contengono tipi / configurazioni differenti di transistor MOS. Tuttavia, sono la memoria in cui risiede il programma BIOS.


Per affrontare un altro malinteso, voglio menzionare questa relazione CMOS-BIOS:

Le impostazioni del BIOS sono memorizzate nel chip CMOS (che viene mantenuto alimentato tramite la batteria sulla scheda madre). Ecco perché il BIOS viene ripristinato quando si rimuove la batteria e si ricollega. Lo stesso programma viene eseguito ma le impostazioni sono predefinite. Vedi questa risposta per una visione dettagliata delle memorie utilizzate durante il processo di avvio.

modificare

Per estendere l'argomento BIOS CMOS, grazie a @Andon M. Coleman , voglio aggiungere il suo commento alla risposta:

Vale la pena ricordare che le impostazioni del BIOS non devono essere archiviate nella memoria CMOS volatile. Esistono molti sistemi embedded che memorizzano le loro impostazioni in NVRAM. L'unico motivo per cui i PC hanno smesso di usare la CMOS volatile in tutti questi anni è che avevano già una batteria per mantenere il ticchettio dell'orologio interno in tempo reale mentre l'alimentazione è spenta (ricorda che quando hai premuto l'interruttore di alimentazione su un PC-AT , ha letteralmente interrotto tutta l'alimentazione alla scheda madre). Ciò significava che una memoria volatile più economica poteva essere utilizzata per memorizzare le impostazioni di sistema. Quindi è principalmente per scopi storici.


3
Vale la pena ricordare che le impostazioni del BIOS non devono essere archiviate nella memoria CMOS volatile. Esistono molti sistemi embedded che memorizzano le loro impostazioni in NVRAM. L'unico motivo per cui i PC hanno smesso di usare la CMOS volatile in tutti questi anni è che avevano già una batteria per mantenere il ticchettio dell'orologio interno in tempo reale mentre l'alimentazione è spenta (ricorda che quando hai premuto l'interruttore di alimentazione su un PC-AT , ha letteralmente interrotto tutta l'alimentazione alla scheda madre). Ciò significava che una memoria volatile più economica poteva essere utilizzata per memorizzare le impostazioni di sistema. Quindi è principalmente per scopi storici.
Andon M. Coleman,

1
@ AndonM.Coleman Questo è prezioso. Aggiungerò questo alla mia risposta. Grazie per la comprensione, ho imparato qualcosa di nuovo :) +1
Varaquilex,

2
In passato, 80286 schede utilizzate per mappare la memoria del CMOS. Ho scoperto la strada difficile non qualificando un loop correttamente e cancellando le impostazioni del mio disco rigido ... spesso.
pestilence669,

@ pestilence669, cosa intendi con "qualificazione di un ciclo"?
Pacerier,

@Pacerier Questa è una buona domanda. Penso di voler dire "terminare". Se non fossi attento a preservare il mio registro CX, REP STOSW e simili cancellerebbero le mie impostazioni.
pestilence669,

27

Come supplemento alle altre risposte, mi piace un approccio più visivo:

Posizione del BIOS

Questo chip BIOS non sembra essere particolarmente ben inserito nel suo socket.

Il BIOS, inclusi i nuovi fantasiosi BIOS UEFI, sono software memorizzati su un chip sulla scheda madre. I dettagli tecnici sono già stati trattati da zelanix e Varaquilex.

Il chip è spesso, ma non sempre, rimovibile per facilitare la manutenzione. Alcune schede madri includono più di un BIOS, principalmente come espediente di vendita, ma in alcuni casi il secondo BIOS aiuta a recuperare da alcuni problemi (generalmente causati dall'utente):

Doppio BIOS non rimovibile


6
Non è affatto un espediente di vendita ... sai quanto può essere spaventoso un aggiornamento del BIOS? ricevi tutti i tipi di avvisi quando lo fai e se riesci a rovinare il processo (e talvolta anche se fai tutto bene), finisci con un PC in muratura. Oh, e "Gli aggiornamenti del BIOS non sono coperti dalla garanzia del produttore." Ecco perché è stato inventato il BIOS di backup. Non si tratta di marketing. è solo un po 'di sicurezza in più. (E sì, ho installato un computer in muratura mentre eseguivo un aggiornamento del BIOS. Abbiamo dovuto inviare la scheda madre al produttore per ottenere il
flashing

Hai un buon punto, anche se gli aggiornamenti del BIOS sono stati notevolmente migliorati negli ultimi anni. Non è più necessario avviare DOS e trovare un'unità floppy. In una recente scheda Asus, ad esempio, l'aggiornamento può essere eseguito in Windows o direttamente dal BIOS UEFI, che legge il file immediatamente da NTFS. Questo è per schede madri. Produttori come 3Ware (no Avago) si aspettano ancora che tu possa capire come adattare un BIOS da 10 MB su un'immagine del disco da 1,44 MB. Non forniscono BIOS di backup.
Charles Burns,

@CharlesBurns tw_clipuò eseguire aggiornamenti del BIOS 3ware con il computer avviato.
derobert,

@derobert Il mio ultimo aggiornamento del BIOS è stato un tentativo di correggere un server che non si avviava a causa di un aggiornamento del driver 3Ware (poiché 3Ware richiede la corrispondenza di driver, software e firmware). In tal caso, l'impossibilità di eseguire un aggiornamento con un sistema operativo non avviabile ha reso le cose difficili e l'ultimo CD 3Ware non si avviava (nonostante la scheda madre fosse nell'elenco supportato). Ma hai perfettamente ragione: tw_cli può aggiornare il BIOS. Me ne ero dimenticato. :)
Charles Burns,

@CharlesBurns, Perché chiami UEFI EUFI?
Pacerier,

7

Potrebbe anche valere la pena notare che sulla maggior parte delle macchine prima dell'80286, i dati potrebbero essere letti dalla ROM con la stessa velocità della RAM, ma mentre le larghezze di banda della RAM sono migliorate enormemente dagli anni '80, le larghezze di banda delle materie prime-ROM non lo sono [chip ROM veloci esistono , ma aumentare la velocità della ROM oltre un certo punto aumenterebbe il prezzo]. Poiché la lettura di ogni byte di una ROM BIOS una sola volta richiederebbe solo una frazione di secondo, alcune macchine 80386 e la maggior parte delle macchine 80486 e successive offrivano un'opzione per copiare il BIOS nella RAM all'avvio. Le macchine moderne vanno ancora oltre e posizionano effettivamente i chip ROM BIOS su un bus che è completamente separato dal bus RAM ed è moltoPiù lentamente. A differenza delle macchine dell'era 80486 che inizierebbero eseguendo dalla ROM un programma che si copiava su RAM, molte macchine più recenti hanno processori che non possono affatto eseguire il codice dalla ROM. Invece, hanno un circuito che all'avvio legge alcune parti della ROM nella RAM e la esegue.


Giusto, ciò spiegherebbe come un moderno chip BIOS può avere solo 8 o più fili. La moderna memoria Flash utilizza effettivamente un'interfaccia seriale.
TomXP411,

1

Guarda l'articolo di Wikipedia come letto nel gennaio 2005:

Prima del 1990 circa i BIOS erano tenuti su chip ROM che non potevano essere modificati. Con l'aumentare della complessità e della necessità di aggiornamenti, il firmware del BIOS viene archiviato su EEPROM o dispositivi di memoria flash che possono essere aggiornati dall'utente. Tuttavia, un aggiornamento BIOS eseguito in modo errato o interrotto può rendere inutilizzabile il computer o il dispositivo. Per evitare la corruzione del BIOS, alcune nuove schede madri hanno un BIOS di backup. Inoltre, la maggior parte dei BIOS ha un "blocco di avvio" che è una parte della ROM che viene eseguita per prima e non è aggiornabile. Questo codice verificherà che il resto del BIOS sia intatto (tramite checksum, hash, ecc.) Prima di saltare ad esso.

Oggi, ovviamente, abbiamo un articolo di Wikipedia che confonde le persone dicendo che il chip è "ROM non volatile" in un respiro e che può essere scritto nel prossimo. La lezione da imparare qui è che Wikipedia spesso non è molto ben scritto e che gli articoli cambiano, non sempre in meglio.

Suggerisco di leggere libri. I PC di aggiornamento e riparazione di Scott Mueller , per scegliere uno dei numerosi libri, ha un intero capitolo sul BIOS, che discute di tutti i tipi di cose da dove si trova il chip BIOS ai vari tipi (elencando quattro: ROM, PROM, EPROM e EEPROM) di tali chip.

Alcune citazioni:

Indipendentemente dal tipo di ROM utilizzato dal sistema, i dati memorizzati in un chip ROM sono [sic] non volatili e rimangono indefinitamente a meno che non vengano cancellati o sovrascritti intenzionalmente (nei casi in cui ciò sia possibile). - Aggiornamento e riparazione di PC , p.373

Praticamente tutti i PC costruiti dal 1996 includono una ROM flash per archiviare il BIOS. Una ROM flash è un tipo di chip EEPROM che è possibile cancellare e riprogrammare direttamente nel sistema senza attrezzature speciali. - Aggiornamento e riparazione di PC , p.387

I libri non sono perfetti. Si possono discutere i dettagli con la definizione di "flash blush" di Mueller qui, per esempio. Ma quelli buoni sono generalmente revisionati e hanno spiegazioni più coerenti rispetto a gran parte di Wikipedia, che almeno non si contraddicono da frase a frase.

Presumendo un PC moderno e non impantanarsi nel modo in cui i PC funzionavano due decenni fa:

Il firmware della macchina è tenuto su un chip di memoria non volatile sulla scheda madre. In realtà contiene molto. (Il Pm49FL004T menzionato nella mia risposta qui contiene mezzo MiB, e come menzionato nella mia risposta qui alcuni chipset sono in grado di supportare 16 MiB di firmware.) È coinvolto in molto più del semplice bootstrap di sistema, anche per i sistemi operativi in ​​modalità protetta. I suoi contenuti sono modificabili, ma non così facilmente come i contenuti (volatili) della RAM del sistema principale. Sui sistemi EFI, il chip contiene non solo il codice firmware e i dati (sola lettura) ma i valori delle variabili EFI non volatili.


0

In realtà, negli ultimi giorni c'è un sistema più sofisticato su come archiviare il BIOS. Immagina 2 banchi di memoria simili all'unità flash, appena più piccoli. Uno di questi è accessibile in sola lettura e il secondo è disponibile per la scrittura (per eseguire il flash della nuova versione del BIOS). Il motivo per 2 parti è un backup, quando la scrittura del nuovo BIOS non ha esito positivo. Se il flashing del nuovo BIOS ha esito positivo, queste 2 parti cambiano e il dispositivo può essere riavviato con il nuovo BIOS.

ATTENZIONE: non tutti i tipi di dispositivi hanno questo sistema. A volte è una semplice piccola memoria flash che viene semplicemente sovrascritta. Di solito, viene richiesto di eseguire il backup dell'elettricità e di non interrompere il processo di aggiornamento.

Nei vecchi tempi delle schede madri c'era la memoria EPROM, che poteva essere riscritta dopo che la memoria era stata cancellata da una luce forte, o più tardi una memoria PROM, che poteva essere scritta una sola volta. Entrambi potrebbero essere eseguiti solo da un dispositivo di programmazione speciale, quindi il chip BIOS dovrebbe essere rimosso dal dispositivo da scrivere.


0

Nel PC IBM originale la "ROM" del BIOS era, credo, una sorta di ROM (EPROM) programmabile elettricamente ("write once"). Penso che sia stato incassato, ma non ci si aspettava davvero che sarebbe stato "aggiornato" sul campo. Altri computer dell'epoca usavano qualcosa di simile.

Man mano che i sistemi diventano più complessi, diventa più vantaggioso avere il BIOS "aggiornabile sul campo" (e senza la necessità di aprire la scatola e scambiare fisicamente la parte). Quindi i sistemi hanno iniziato ad avere vari tipi di "ROM" BIOS riscrivibili. I vantaggi erano tre:

  1. La probabilità che si verifichi un bug aumenta con l'aumentare della complessità dei sistemi.
  2. È stato interessante poter aggiornare, integrare nuove funzionalità.
  3. Per le schede madri che potrebbero essere utilizzate in diverse scatole (forse anche con nomi di marchi diversi), è stato interessante poter personalizzare il BIOS in fabbrica per l'uso specifico.

Scatole più grandi, più o meno contemporaneamente al PC IBM originale, iniziarono anche ad avere una sorta di memoria "boot" di sola lettura invece della più primitiva tecnologia "bootstrap loader". Alcuni di questi erano ROM programmate da maschere, altri EPROM, alcuni addirittura RAM che veniva letta da un dischetto tramite un piccolo "processore di servizio".


Sì, tutti i chip (tranne forse i chip I / O) su schede madri PC e XT sono stati inseriti. Ed è stato utile. Ho dovuto scambiare un paio di chip sulle schede XT con varie risarcimenti. In effetti, alcuni dei primi PC richiedevano aggiornamenti del BIOS e il PC originale in realtà aveva un intero linguaggio di programmazione nella ROM. Mi sembra di ricordare che c'erano alcuni aggiornamenti necessari per i PC di prima generazione per unità a dischetti ...
TomXP411,

@ TomXP411 - Sì, ho dimenticato che il PC originale aveva un interprete BASIC nella ROM. Ma tecnicamente si trovava in una ROM separata dal BIOS, IIRC. Il BASIC aveva alcuni bug abbastanza ben documentati nella prima versione, ma non ricordo che hanno spedito un aggiornamento per risolverli - hai solo bisogno di acquistare un nuovo PC con la versione aggiornata. Qualcosa come la versione 1.2.
Daniel R Hicks,

0

La ROM originale è stata letteralmente prodotta in questo modo a livello di silicio. Una volta che lo hanno reso elettrico programmabile dagli utenti, allora alcune cose:

  1. in molti hanno internamente un circuito di aumento della tensione hardware che consente a 3,3 V o 5 V di saltare internamente a 12 V per eseguire la programmazione effettiva. Questo è vero per la vecchia PROM, EPROM, UVEPROM, o EEPROM.

  2. Se disponibile nei modelli precedenti, la funzione cancellabile UV (luce ultravioletta) consentiva ai circuiti di abilitare solo + 12 V interni sulla programmazione del dispositivo e una finestra UV consentiva la luce UV nell'area del chip, ma la finestra UV doveva essere coperta dopo la programmazione o il chip si cancellerebbe sotto qualsiasi illuminazione flourescent della stanza. La cancellazione UV è stata anche molto veloce da cancellare, molto più veloce della riprogrammazione dell'intero chip a 0 o 1.

In molti casi esiste un circuito di step-up interno a tutte le PROM "programmabili".

  1. La successiva EEPROM consentiva l'eliminazione elettrica, alla EPROM o alla UVEPROM.

  2. Successivamente è arrivata la tecnologia Flash e ha aggiunto diverse tecnologie di circuito (a livello di transistor) e densità più elevate rispetto alla vecchia EEPROM.

  3. In quasi tutti i casi da quando la ROM originale è stata arrestata, quasi tutte le PROM del BIOS sono sospette in molti (25%?) Problemi del computer. Queste PROM successive (che hanno tutte alcune funzioni programmabili) possono essere danneggiate o semplicemente "dimenticare" il loro programma nel tempo.

Le PROM, indipendentemente da quanto cancellate o riprogrammate, devono essere maneggiate con cura (danni ESD), invecchiamento o umidità.

In circa 1/4 i casi di computer difettosi riprogrammando un BIOS "buono" di solito risolve il problema. Quindi, anche se il tuo BIOS è "buono", paga sempre il reflash, se possibile.


-1

il BIOS è archiviato nel chip CMOS o NVRAM, che sono piccole quantità di memoria non volatile sulla scheda madre (ovvero, conservano i dati indefinitamente senza bisogno di energia).

Per quanto riguarda quale messaggio ricevi se tutto passa per posta, sui computer più vecchi di solito ricevi un singolo segnale acustico dal tuo computer se tutto è andato a buon fine.

Su macchine più recenti, non otterrai nulla: non vedrai il post, non ci saranno messaggi, segnali acustici, niente ... una specie di affare "nessuna notizia è una buona notizia". Se vuoi ancora vedere il POST in esecuzione su una macchina più recente, la chiave da premere (almeno sui computer che ho usato) è Tab. Colpiscilo alcune volte subito dopo aver acceso l'alimentazione per vedere il POST sullo schermo. In alternativa, dovrebbe esserci un'opzione per far apparire il POST sullo schermo nelle impostazioni del BIOS.


4
Stai confondendo il programma di bios con i suoi dati di impostazione . L'ovvia distinzione: rimuovere la batteria di backup e il programma continua a funzionare, ma le sue impostazioni vengono ripristinate ai valori predefiniti. Mentre le impostazioni sono alimentate a batteria, il programma è memorizzato in una tecnologia di memoria "leggi principalmente" che richiede misure attive per cancellare.
Chris Stratton,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.