60 votes

Où est stocké le BIOS ?

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

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

Puisque ROM signifie R ead- O seulement M emory, pourquoi peut-on réécrire le contenu du BIOS ?

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

63voto

zelanix Points 1174

Pour compléter la réponse de Varaquilex, le logiciel du BIOS est stocké dans une ROM effaçable et programmable électriquement (EEPROM), ce qui permet d'effectuer des mises à jour du micrologiciel par voie électronique. Les très anciennes puces BIOS étaient en fait des puces UV-EPROM qui devaient être effacées par exposition à la lumière UV avant de pouvoir être reprogrammées.


Edita: Comme cela a été souligné dans les commentaires, même avant cela, des puces ROM programmables à usage unique (PROM) étaient parfois utilisées, qui ne pouvaient pas du tout être reprogrammées une fois configurées et nécessitaient un remplacement complet pour une mise à niveau (bien que cela ait rarement été nécessaire).

43voto

Geykel Points 940

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

Programme du BIOS est lui-même stocké dans une EEPROM (qui peut être [E]lectriquement [E]rasable et [P]rogrammable) ou une mémoire flash. La lecture seule signifie donc que la puce est 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 ce genre d'opérations, il fallait retirer la puce du BIOS de la carte, en mettre une nouvelle (s'il ne s'agit pas d'une PROM ou d'une EPROM), ou s'il s'agit d'une EPROM, il fallait l'apporter au fabricant et le laisser reprogrammer la puce et la rattacher à la carte. Avec les progrès actuels, grâce aux EEPROMs, il n'est pas nécessaire d'enlever la puce pour faire de telles opérations, il suffit de faire faire le travail par l'ordinateur. électriquement .


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

de ウィキペディア :

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

La mémoire flash a été développée à partir de la mémoire EEPROM (electrically erasable programmable). Il existe deux principaux types de mémoire flash qui sont nommés d'après les portes logiques NAND et NOR. Le site Les caractéristiques internes des cellules de mémoire flash individuelles présentent des caractéristiques similaires à celles des portes correspondantes. Alors que EPROM devaient être complètement effacées avant d'être réécrites, les mémoires flash de type NAND peuvent être écrites et lues par blocs (ou pages) qui ne sont pas en contact avec la mémoire. peuvent être écrites et lues par blocs (ou pages) qui sont ensuite effacés. généralement beaucoup plus petits que le dispositif entier. La mémoire flash de type NOR permet une d'écrire un seul mot machine (octet) à un emplacement effacé ou de le lire indépendamment. indépendamment.

EEPROM et mémoire flash ne désignent pas la même chose : il s'agit de deux types de mémoire similaires, l'un étant développé à partir de l'autre et contenant différents types/configurations de transistors MOS. Cependant, elles sont la mémoire où réside le programme du BIOS.


Pour répondre à une autre idée fausse, je veux mentionner cette relation CMOS-BIOS :

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

Modifier

Pour prolonger le sujet CMOS-BIOS, merci à @Andon M. Coleman Je veux ajouter son commentaire à la réponse :

Il convient de mentionner que les paramètres du BIOS n'ont pas besoin d'être mémorisés dans la mémoire CMOS volatile. Il existe de nombreux systèmes embarqués qui qui stockent leurs paramètres dans la NVRAM. La seule raison pour laquelle les PC ont pu s'en sortir d'utiliser une mémoire CMOS volatile pendant toutes ces années est qu'ils avaient déjà une batterie pour maintenir le tic-tac de l'horloge interne en temps réel lorsque l'alimentation l'alimentation (rappelez-vous que lorsque vous appuyiez sur l'interrupteur d'alimentation d'un PC-AT, cela coupait littéralement toute alimentation de la carte mère). Cela signifie que une mémoire volatile moins chère pouvait être utilisée pour stocker les paramètres du système. C'est pourquoi est principalement à des fins historiques.

31voto

Charles Burns Points 795

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

BIOS location

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

Le BIOS, y compris les nouveaux BIOS UEFI, 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 faciliter l'entretien. Certaines cartes mères incluent plus d'un BIOS, principalement pour des raisons commerciales, mais dans certains cas, le second BIOS aide à résoudre certains problèmes (généralement causés par l'utilisateur) :

Dual non-removeable BIOS

8voto

supercat Points 1719

Il convient également de noter que sur la plupart des machines avant le 80286, les données pouvaient être lues à partir de la ROM aussi rapidement qu'à partir de la RAM, mais alors que les bandes passantes de la RAM se sont énormément améliorées depuis les années 1980, celles de la ROM n'ont pas progressé [il existe des puces ROM rapides, mais augmenter la vitesse de la ROM au-delà d'un certain point en augmenterait le prix]. Comme la lecture de chaque octet d'une ROM BIOS ne prendrait qu'une fraction de seconde, certaines machines 80386 et la plupart des machines 80486 et suivantes offraient une option permettant de copier le BIOS en RAM au démarrage. Les machines modernes vont encore plus loin et placent les puces de la ROM du BIOS sur un bus entièrement séparé du bus de la RAM, ce qui permet d'éviter les erreurs de lecture. beaucoup plus lent. Contrairement aux machines de l'ère 80486 qui commençaient par exécuter un programme à partir de la ROM et le copiaient dans la RAM, de nombreuses machines plus récentes ont des processeurs qui ne peuvent pas du tout exécuter de code à partir de la ROM. Au lieu de cela, elles ont des circuits qui, au démarrage, lisent certaines parties de la ROM dans la RAM et l'exécutent.

1voto

JdeBP Points 25711

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

Avant 1990 environ, les BIOS étaient conservés sur des puces ROM qui ne pouvaient pas être modifiées. Au fur et à mesure que leur complexité et le besoin de mises à jour ont augmenté, les microprogrammes BIOS sont stockés sur des dispositifs de mémoire EEPROM ou flash qui peuvent être mis à jour par l'utilisateur. Toutefois, une mise à jour du BIOS mal exécutée ou interrompue peut rendre l'ordinateur ou le périphérique inutilisable. Pour éviter la corruption du BIOS, certaines nouvelles cartes mères disposent d'un BIOS de secours. En outre, la plupart des BIOS comportent un "bloc d'amorçage", c'est-à-dire une partie de la ROM qui s'exécute en premier et qui ne peut pas être mise à jour. Ce code vérifie que le reste du BIOS est intact (via une somme de contrôle, un hachage, etc.) avant d'y accéder.

Aujourd'hui, bien sûr, nous avons un article de Wikipedia qui confond les gens en disant que la puce est une "ROM non-volatile" dans un premier temps et qu'elle peut être écrite dans le suivant. La leçon à tirer ici est que Wikipedia n'est souvent pas très bien écrite et que les articles changent, pas toujours pour le mieux.

Je vous suggère de lire des livres. Celui de Scott Mueller Mise à niveau et réparation des PC Ce chapitre traite de toutes sortes de choses, de l'emplacement de la puce du BIOS aux différentes sortes de puces (en énumérant quatre : ROM, PROM, EPROM et EEPROM).

Quelques citations :

Quel que soit le type de ROM que votre système utilise, les données stockées dans une puce ROM sont [sic] non volatile et reste indéfiniment à moins d'être effacé ou écrasé intentionnellement (dans les cas où cela est possible). - Mise à niveau et réparation des PC , p.373

Pratiquement tous les PC construits depuis 1996 comprennent une ROM 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 des PC , p.387

Les livres ne sont pas parfaits. On peut discuter des détails de la définition "à première vue" de la mémoire flash donnée par Mueller ici, par exemple. Mais les bons livres sont généralement corrigés et offrent des explications plus cohérentes que la majeure partie de Wikipedia, qui au moins ne se contredit pas d'une phrase à l'autre.

En supposant que l'on dispose d'un PC moderne et que l'on ne s'embarrasse pas de la façon dont les PC fonctionnaient il y a vingt ans :

Le micrologiciel de votre machine est conservé sur une puce de mémoire non volatile située sur la carte mère. Elle contient en fait beaucoup d'informations (la Pm49FL004T mentionnée dans l'article de l'éditeur). ma réponse ici contient la moitié d'un MiB, et comme mentionné dans la section ma réponse ici certains chipsets sont capables de supporter 16MiB de firmware). Il est impliqué dans beaucoup plus que le simple amorçage du système, même pour les systèmes d'exploitation en mode protégé. Son contenu est modifiable, mais pas aussi facilement que le contenu (volatile) de la RAM principale du système. Sur les systèmes EFI, la puce ne contient pas seulement le code du microprogramme et les données (en lecture seule) mais aussi les valeurs des variables EFI non volatiles.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X