Où le BIOS est-il stocké?

56

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

Le logiciel du BIOS est stocké sur une puce ROM non volatile de la carte mère. ... Dans les systèmes informatiques modernes, le contenu du BIOS est stocké sur une puce de mémoire flash, ce qui permet de le réécrire sans retirer la puce de la carte mère. Cela permet au logiciel du BIOS d'être facilement mis à niveau pour ajouter de nouvelles fonctionnalités ou de corriger des bogues, mais peut rendre l'ordinateur vulnérable aux rootkits du BIOS.

Comme les moyens de ROM R ead- O eul M Emory, pourquoi peut le contenu du BIOS être réécrits?

La "puce de mémoire flash" a-t-elle la même signification que la "ROM non volatile", les deux signifiant où le BIOS est stocké?

Ben
la source
2
CMOS contient les paramètres système [paramètres BIOS] pouvant être modifiés par un utilisateur [dans l'écran du BIOS]. Ainsi, selon cpsforum.blogspot.co.uk/2012/06/… "[appeler cet écran vous entrez], la configuration CMOS est plus appropriée que d'appeler [elle] la configuration du BIOS." et bayt.com/fr/specialties/q/7459/… "Le BIOS n'est modifié que par le clignotement de la nouvelle version." et "Le BIOS est un ensemble d’instructions qui contrôlent le processus de démarrage des cartes mères."
barlop
4
Sauf que personne ne configure la CMOS. C'est comme dire que vous installez le réservoir d'essence dans une voiture lorsque vous démarrez votre voiture.
Andon M. Coleman
4
ROM is read only, so why can the BIOS contents be rewritten?C'est un abus de langage causé par la convention.
Synetech
1
Si vous aviez lu les articles derrière les liens dans Wikipedia que vous avez soulignés dans votre question , cela aurait dû vous arriver, que la réponse était que ce flash memoryn’est pas une réalité ROM. Même si la confusion est fréquente, j'estime que c'est une mauvaise question, car elle provient uniquement d'un manque de lecture des sources librement disponibles!
Alexander Kosubek
1
En fait, Andon, la première chose que je fais dans toute nouvelle génération d’ordinateur est de configurer mes paramètres CMOS. L'analogie avec le réservoir d'essence est totalement inappropriée dans ce contexte.
TomXP411

Réponses:

60

Pour ajouter à la réponse de Varaquilex, le logiciel du BIOS est stocké dans une ROM programmable effaçable électriquement (EEPROM) qui permet d'effectuer les mises à jour du microprogramme de manière électronique. Les très vieilles puces du BIOS étaient en réalité des puces UV-EPROM qui devaient être effacées par une exposition à la lumière ultraviolette avant de pouvoir être reprogrammées.


Edit: Comme cela a été souligné dans les commentaires, des puces PROM programmables (PROM) à usage unique étaient parfois utilisées, qui ne pouvaient pas être reprogrammées une fois configurées et nécessitaient un remplacement complet pour être mises à niveau (même si cela était rarement nécessaire).

Zelanix
la source
2
Même plus tôt, certaines étaient des ROM / PROM non effaçables, qui devraient être remplacées par de nouvelles ROM si vous souhaitez installer un nouveau BIOS. Bien sûr, à ce moment-là, le BIOS en faisait moins et ne changeait que très rarement.
Keshlam
Ah oui. UV-EPROM ... Il est toujours amusant de retirer l'étiquette du BIOS UV-EPROM et de voir la petite fenêtre utilisée pour reprogrammer la puce. Littéralement, personne n’a l’équipement nécessaire pour les reprogrammer, je n’ai donc jamais compris pourquoi ils l’avaient fait sur du matériel grand public (non destiné au développement). Vous auriez à l'envoyer dans une usine pour que cela soit fait, à quel point le fabricant. aurait pu économiser de l'argent en utilisant un masque standard ROM.
Andon M. Coleman
3
@ AndonM.Coleman Dans les volumes les plus bas, utiliser des EPROM ou (même avant) les PROM de type fusible peut en fait être moins cher que de couper un masque ROM. Par exemple, si la mémoire est bonne, toutes les machines d'arcade du début des années 80 avaient leur logiciel sur des PROM ou des EPROM, même si cela ne changerait jamais, car il était moins cher au volume de production prévu.
Zwol
1
Les UV-EPROM (EEPROM) n’ont jamais été conçues pour la reprogrammation des consommateurs par l’AFAIK. Lorsqu'un appareil retourne à l'usine pour réparation ou autre, il est pratique de pouvoir mettre à niveau le micrologiciel en permutant ou en reprogrammant la mémoire EEPROM.
Rossnz
1
@ AndonM.Coleman - Les ROM masquées ont des frais d'installation uniques considérables . Les EPROM UV, bien que plus chères à l'unité, sont souvent moins chères pour une production à court terme (<10K).
Eric Brown
40

La ROM étant en lecture seule, pourquoi le contenu du BIOS peut-il être réécrit?

Le programme BIOS lui-même est stocké dans une EEPROM (qui peut être [électriquement [électriquement] et programmable]) ou dans une mémoire flash. En lecture seule, la puce est donc non volatile. Le contenu de la mémoire reste en place lorsque l'alimentation est coupée, contrairement à la RAM volatile. La ROM étant EEP, le BIOS peut être réécrit ou mis à jour. À l’époque, pour de telles opérations, vous deviez retirer la puce BIOS de la carte, en mettre une nouvelle (si ce n’était pas une PROM ou une EPROM) ou, si elle contenait une EPROM, vous devez la faire parvenir au fabricant et les laisser reprogrammer la puce. et attachez-le de nouveau au tableau. Après les avancées actuelles, grâce aux EEPROM, vous n’avez pas besoin de retirer la puce pour effectuer de telles opérations, vous devez simplement faire en sorte que l’ordinateur effectue le travail électriquement .


La "puce de mémoire flash" a-t-elle la même signification que la "ROM non volatile", les deux signifiant où le BIOS est stocké?

de Wikipedia :

La mémoire flash est un support informatique non volatile qui peut être effacé et reprogrammé électriquement.

La mémoire flash a été développée à partir de l'EEPROM (mémoire à lecture seule programmable effaçable électriquement). Il existe deux principaux types de mémoire flash, nommés d'après les portes logiques NAND et NOR. Les caractéristiques internes des cellules de mémoire flash individuelles présentent des caractéristiques similaires à celles des portes correspondantes. Alors que les EPROM devaient être complètement effacées avant d'être réécrites, les mémoires flash de type NAND peuvent être écrites et lues en blocs (ou pages) généralement beaucoup plus petits que l'ensemble du dispositif. Le flash de type NOR permet d’écrire un seul mot machine (octet) - dans un emplacement effacé - ou de le lire indépendamment.

La mémoire EEPROM et la mémoire flash ne font pas référence à la même chose: ce sont deux types de mémoire similaires, l’un étant développé à partir de l’autre et contenant un type / une configuration différente de transistors MOS. Cependant, ils sont la mémoire où réside le programme du BIOS.


Pour aborder une autre idée fausse, je souhaite mentionner cette relation CMOS-BIOS:

Les paramètres du BIOS sont stockés dans la puce CMOS (qui est maintenue sous tension via la batterie de la carte mère). C’est pourquoi le BIOS est réinitialisé lorsque vous retirez la batterie et la reconnectez. Le même programme s'exécute mais les paramètres sont définis par défaut. Voir cette réponse pour une vue détaillée des mémoires utilisées lors du processus de démarrage.

Modifier

Pour étendre le sujet CMOS-BIOS, merci à @Andon M. Coleman , je souhaite ajouter son commentaire à la réponse:

Il est à noter que les paramètres du BIOS ne doivent pas nécessairement être stockés dans une mémoire CMOS volatile. Il existe de nombreux systèmes intégrés qui stockent leurs paramètres dans la NVRAM. La seule raison pour laquelle les PC ont eu recours à la technologie CMOS volatile au cours de toutes ces années, c’est qu’ils disposaient déjà d’une batterie permettant de garder l’horloge interne en temps réel pendant que l’appareil était éteint (rappelez-vous que lorsque vous avez appuyé sur l’interrupteur , il coupe littéralement toute alimentation de la carte mère). Cela signifiait qu'une mémoire volatile moins chère pouvait être utilisée pour stocker les paramètres système. Donc, c'est principalement à des fins historiques.

Varaquilex
la source
3
Il est à noter que les paramètres du BIOS ne doivent pas nécessairement être stockés dans une mémoire CMOS volatile. Il existe de nombreux systèmes intégrés qui stockent leurs paramètres dans la NVRAM. La seule raison pour laquelle les PC ont cessé d'utiliser la technologie CMOS volatile au cours de toutes ces années, c'est qu'ils disposaient déjà d' une batterie pour garder le compte à rebours de l'horloge interne en temps réel lorsque l'appareil était hors tension (rappelez-vous que lorsque vous avez appuyé sur l'interrupteur d'alimentation d'un PC-AT , il coupe littéralement toute alimentation de la carte mère). Cela signifiait qu'une mémoire volatile moins chère pouvait être utilisée pour stocker les paramètres système. Donc, c'est principalement à des fins historiques.
Andon M. Coleman
1
@ AndonM.Coleman Ceci est précieux. Je vais ajouter ceci à ma réponse. Merci pour la perspicacité, j'ai appris quelque chose de nouveau :) +1
Varaquilex
2
De retour dans la journée, 80286 cartes utilisées pour mapper en mémoire le CMOS. J'ai découvert la difficulté en ne qualifiant pas correctement une boucle et en effaçant les paramètres de mon disque dur ... souvent.
pestilence669
@ pestilence669, qu'entendez-vous par "qualifier une boucle"?
Pacerier
@ Pacerier C'est une bonne question. Je pense que je voulais dire "se terminant". Si je ne prenais pas soin de conserver mon registre CX, REP STOSW & tel effacerait mes réglages.
pestilence669
27

En complément des autres réponses, j'aime une approche plus visuelle:

Emplacement du BIOS

Cette puce BIOS ne semble pas être particulièrement bien installée dans son support.

Le BIOS, y compris les nouveaux BIOS UEFI sophistiqués, est un logiciel stocké sur une puce de la carte mère. Les détails techniques ont déjà été couverts par Zelanix et Varaquilex.

La puce est souvent, mais pas toujours, amovible pour un entretien plus facile. Certaines cartes mères incluent plus d'un BIOS, principalement comme gadget de vente, mais dans certains cas, le second BIOS permet de récupérer certains problèmes (généralement causés par l'utilisateur):

Double BIOS inamovible

Charles Burns
la source
6
Ce n'est pas un gadget de vente du tout ... savez-vous à quel point une mise à jour du BIOS peut être effrayante? vous obtenez toutes sortes d'avertissements lorsque vous le faites, et si vous parvenez à faire échouer le processus (et parfois même si vous faites bien les choses), vous vous retrouvez avec un PC en brique. Oh, et "les mises à jour du BIOS ne sont pas couvertes par la garantie du fabricant". C'est pourquoi le BIOS de sauvegarde a été inventé. Ce n'est pas une question de marketing. c'est juste ce petit peu de sécurité supplémentaire. (Et oui, j'ai maquillé un ordinateur en train de faire une mise à jour du BIOS. Nous avons dû envoyer la carte mère au fabricant pour obtenir une nouvelle mise à jour du BIOS.)
TomXP411 Le
Vous faites valoir un point positif, même si les mises à jour du BIOS se sont grandement améliorées ces dernières années. Il n'est plus nécessaire de démarrer sous DOS et de trouver un lecteur de disquette. Dans une carte Asus récente, par exemple, la mise à jour peut être effectuée sous Windows ou directement à partir du BIOS UEFI, qui lit le fichier directement à partir de NTFS. Ceci est pour les cartes mères. Des fabricants tels que 3Ware (no Avago) s’attendent toujours à ce que vous trouviez comment adapter un BIOS de 10 Mo sur une image de disque de 1,44 Mo. Ils ne fournissent aucun BIOS de sauvegarde.
Charles Burns
@CharlesBurns tw_clipeut effectuer des mises à jour du BIOS 3ware avec la machine démarrée.
derobert
@derobert Ma dernière mise à jour du BIOS était une tentative de correction d'un serveur qui ne voulait pas démarrer à cause d'une mise à jour de pilote 3Ware (car 3Ware nécessite la correspondance des pilotes, des logiciels et des microprogrammes). Dans ce cas, l'impossibilité d'effectuer une mise à jour avec un système d'exploitation non amorçable compliquait les choses, et le dernier CD 3Ware ne pouvait pas démarrer (bien que la carte mère soit sur la liste prise en charge). Mais vous avez tout à fait raison: tw_cli peut mettre à jour le BIOS. J'avais oublié ça. :)
Charles Burns le
@ CharlesBurns, Pourquoi appelez-vous UEFI EUFI?
Pacerier
7

Il convient également de noter que sur la plupart des machines antérieures au 80286, les données pouvaient être lues à partir de la ROM aussi rapidement que de la RAM, bien que les largeurs de bande de la RAM se soient considérablement améliorées depuis les années 1980, les largeurs de bande de base des produits de base n’existent pas. , mais augmenter la vitesse de la ROM au-delà d’un certain point augmenterait le prix]. Étant donné que la lecture de chaque octet d’une mémoire BIOS ne prendrait qu’une fraction de seconde, certaines machines 80386 et la plupart des machines 80486 et ultérieures offrent la possibilité de copier le BIOS dans la RAM au démarrage. Les machines modernes vont encore plus loin et placent les puces ROM du BIOS sur un bus totalement séparé du bus RAM et beaucoupRalentissez. Contrairement aux machines de l'ère 80486 qui commençaient par exécuter à partir de la ROM un programme qui se copiait dans la RAM, de nombreuses machines plus récentes ont des processeurs qui ne peuvent pas exécuter de code à partir de la ROM. Au lieu de cela, ils ont des circuits qui, au démarrage, lisent certaines parties de la ROM dans la RAM et les exécutent.

supercat
la source
Cela expliquerait comment une puce de BIOS moderne ne peut avoir que 8 fils environ. La mémoire Flash moderne utilise en réalité une interface série.
TomXP411
1

Regardez cet article Wikipedia tel qu'il se lisait en janvier 2005:

Avant 1990, les BIOS contenaient des puces ROM qui ne pouvaient pas être modifiées. Au fur et à mesure de la complexité et des besoins en mises à jour, le micrologiciel du BIOS est stocké sur des périphériques EEPROM ou à mémoire flash pouvant être mis à niveau par l'utilisateur. Cependant, une mise à jour du BIOS mal exécutée ou abandonnée peut rendre l'ordinateur ou le périphérique inutilisable. Pour éviter la corruption du BIOS, certaines nouvelles cartes mères ont un BIOS de sauvegarde. En outre, la plupart des BIOS ont un "bloc de démarrage" qui est une partie de la ROM qui est exécutée en premier et qui ne peut pas être mise à jour. Ce code vérifiera que le reste du BIOS est intact (via la somme de contrôle, le hachage, etc.) avant d’y accéder.

De nos jours, bien sûr, nous avons un article dans Wikipedia qui confond les gens en disant que la puce est une "ROM non volatile" dans un souffle et qu’elle peut être écrite dans l’autre. La leçon à tirer ici est que Wikipedia n'est souvent pas très bien écrit et que les articles changent, pas toujours pour le mieux.

Je suggère de lire des livres. PC de mise à niveau et de réparation de Scott Mueller , pour choisir l'un de ses livres, contient un chapitre entier sur le BIOS, qui traite de toutes sortes de choses à partir de l'emplacement de la puce du BIOS (en énumérant quatre: ROM, PROM, EPROM et EEPROM) de ces puces.

Quelques citations:

Peu importe quel type de ROM utilise votre système, les données stockées dans une puce ROM est [sic] non volatile et reste indéfiniment à moins volontairement effacées ou écrasées (dans les cas où cela est possible). - Mise à niveau et réparation de PC , p.373

Pratiquement tous les ordinateurs construits depuis 1996 incluent une mémoire flash pour stocker le BIOS. Une ROM flash est un type de puce EEPROM que vous pouvez effacer et reprogrammer directement dans le système sans équipement spécial. - Mise à niveau et réparation de PC , p.387

Les livres ne sont pas parfaits. On peut discuter des détails avec la définition de Mueller "first blush" de la mémoire flash ici, par exemple. Mais les bons sont généralement corrigés et ont des explications plus cohérentes que beaucoup de Wikipedia, qui au moins ne se contredisent pas de phrase en phrase.

Présumer un PC moderne et ne pas s'embourber dans son fonctionnement il y a deux décennies:

Le micrologiciel de votre machine est stocké sur une puce de mémoire non volatile de la carte mère. En fait, il en tient beaucoup. (Le Pm49FL004T mentionné dans ma réponse contient un demi-MiB et, comme mentionné dans ma réponse, certains chipsets sont capables de supporter 16MiB de micrologiciels). Son contenu est modifiable, mais pas aussi facilement que le contenu (volatil) de la mémoire vive du système principal. Sur les systèmes EFI, la puce contient non seulement le code du microprogramme et les données (en lecture seule), mais également les valeurs des variables EFI non volatiles.

JdeBP
la source
0

En fait, ces derniers jours, il existe un système plus sophistiqué pour stocker le BIOS. Imaginez 2 banques de stockage similaires à votre clé USB, mais plus petites. L'un d'eux est accessible en lecture seule et le second est disponible pour l'écriture (pour flasher la nouvelle version du BIOS). Reason for 2 parts est une sauvegarde lorsque l'écriture du nouveau BIOS échoue. Si le flashage du nouveau BIOS réussit, ces 2 composants basculeront et le périphérique pourrait être redémarré sous le nouveau BIOS.

ATTENTION: tous les types d'appareils ne disposent pas de ce système. Parfois, une simple petite mémoire flash est simplement écrasée. Généralement, vous êtes invité à sauvegarder l'électricité et à ne pas interrompre le processus de mise à niveau.

Dans les temps anciens des cartes mères, il existait une mémoire EPROM, qui pouvait être réécrite une fois la mémoire effacée, ou plus tard une mémoire PROM pouvant être écrite une seule fois. Les deux ne peuvent être effectués que par un périphérique de programmation spécial. Par conséquent, la puce BIOS doit être retirée du périphérique à écrire.

Dee
la source
0

Dans le PC IBM d'origine, la "ROM" du BIOS était, à mon avis, une sorte de ROM ("EPROM") programmable électriquement ("write once"). Je pense qu’il était encaissé, mais il n’y avait pas vraiment d’espoir qu’il soit "amélioré" sur le terrain. D'autres ordinateurs de l'époque utilisaient quelque chose de similaire.

À mesure que les systèmes se complexifiaient, il devenait de plus en plus avantageux de pouvoir "mettre à niveau le BIOS" (sans avoir à ouvrir la boîte et à échanger physiquement la pièce). Ainsi, les systèmes ont commencé à avoir divers types de «ROM» BIOS réinscriptibles. Les avantages étaient trois:

  1. La probabilité d'un bogue devenait plus grande à mesure que les systèmes devenaient plus complexes.
  2. Il était intéressant de pouvoir mettre à niveau et intégrer de nouvelles fonctionnalités.
  3. Pour les cartes mères pouvant être utilisées dans plusieurs boîtiers différents (peut-être même sous différentes marques), il était intéressant de pouvoir personnaliser le BIOS en usine pour une utilisation spécifique.

Les boîtes plus grandes, à peu près au même moment que le PC IBM d'origine, ont également commencé à avoir une sorte de mémoire de "démarrage" en lecture seule au lieu de la technologie plus primitive de "chargeur d'amorçage". Certains d'entre eux étaient des ROM programmées par masque, des EPROM, voire des RAM lues sur une disquette via un petit "processeur de service".

Daniel R Hicks
la source
Oui, toutes les puces (sauf peut-être les puces E / S) des cartes mères PC et XT étaient enfichées. Et c'était utile. J'ai dû échanger quelques jetons sur les cartes XT pour diverses raisons. En fait, certains des premiers PC nécessitaient des mises à jour du BIOS, et le PC d'origine disposait d'un langage de programmation complet en ROM. Il semble que je me souvienne de certaines mises à jour nécessaires pour la première génération de PC pour les lecteurs de disquettes ...
TomXP411
@ TomXP411 - Oui, j'ai oublié que le PC d'origine avait un interpréteur BASIC en ROM. Mais techniquement, il se trouvait dans une ROM distincte du BIOS, l’IIRC. Le BASIC contenait quelques bugs bien documentés dans la première version, mais je ne me souviens pas qu’ils aient fourni une mise à jour pour les corriger: il vous suffisait d’acheter un nouveau PC avec la version mise à jour. Quelque chose comme la version 1.2.
Daniel R Hicks
0

La ROM originale a été littéralement fabriquée de cette façon au niveau du silicium. Une fois qu’ils l’ont faite programmable électriquement par les utilisateurs, quelques éléments:

  1. dans beaucoup, ils ont un circuit élévateur de tension matérielle interne qui permet à 3,3V ou 5V de passer en interne à 12V pour effectuer la programmation réelle. Ceci est vrai pour les anciennes PROM, EPROM, UVEPROM, ou EEPROM.

  2. Si disponible dans les modèles plus anciens, la fonction effaçable UV (ultraviolette) permettait aux circuits d'activer uniquement +12 V interne lors de la programmation de l'appareil, et une fenêtre UV permettait à la lumière UV de pénétrer dans la zone de la puce, mais la fenêtre UV devait être recouverte après la programmation ou la puce serait effacer sous toute pièce éclairage fluorescent. Les rayons UV effaçables étaient également très rapides à effacer, beaucoup plus rapidement que de reprogrammer la totalité de la puce à 0 ou à 1.

Dans de nombreux cas, il existe un circuit élévateur interne à toutes les PROM "programmables".

  1. La dernière EEPROM autorisée effaçable électriquement, de l'EPROM ou de l'UVEPROM.

  2. Plus tard, la technologie Flash est apparue et a ajouté une technologie de circuit différente (au niveau du transistor) et des densités supérieures à celles de l'ancienne EEPROM.

  3. Dans presque tous les cas depuis l'arrêt de la ROM d'origine, presque toutes les PROM du BIOS sont suspectes dans de nombreux problèmes informatiques (25%?). Ces dernières PROM (qui ont toutes une fonction programmable) peuvent être endommagées ou tout simplement «oublier» leur programme au fil du temps.

Les PROM, peu importe la façon dont ils sont effacés ou reprogrammés, doivent être manipulés avec soin (dommages causés par les décharges électrostatiques), ainsi qu’au vieillissement ou à l’humidité.

Dans environ un quart des cas d'ordinateur défectueux, la reprogrammation d'un "bon" BIOS corrige généralement le problème. Ainsi, même si votre BIOS est "bon", il est toujours préférable de reflasher si possible.

Charles
la source
-1

le BIOS est stocké dans une puce CMOS ou dans une NVRAM, qui représentent une petite quantité de mémoire non volatile sur votre carte mère (c’est-à-dire qu’elles conservent les données indéfiniment sans recourir à l’alimentation).

En ce qui concerne le message que vous recevez si tout passe à la poste, sur les machines plus anciennes, vous recevrez généralement un bip unique de votre machine si tout est en ordre.

Sur les machines les plus récentes, vous n'obtiendrez rien: vous ne verrez pas le message, il n'y aura aucun message, aucun bip, rien ... une sorte d'accord "sans nouvelles, bonnes nouvelles". Si vous souhaitez toujours que le POST s'exécute sur une machine plus récente, la touche à utiliser (du moins sur les ordinateurs que j'ai utilisés) est Tab. Appuyez à quelques reprises juste après avoir allumé l'alimentation pour voir le POST à ​​l'écran. Alternativement, il devrait y avoir une option pour que le POST apparaisse à l'écran dans les paramètres de votre BIOS.

amar
la source
4
Vous confondez le programme de BIOS avec ses données de paramètres . La distinction évidente: retirez la pile de sauvegarde et le programme fonctionne toujours, mais ses paramètres sont rétablis à leurs valeurs par défaut. Alors que les paramètres sont sauvegardés sur batterie, le programme est stocké dans une technologie de mémoire "à lecture en boucle" qui nécessite des mesures actives à effacer.
Chris Stratton