¿Dónde se almacena el BIOS?

56

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

El software del BIOS se almacena en un chip ROM no volátil en la placa base. ... En los sistemas informáticos modernos, el contenido del BIOS se almacena en un chip de memoria flash para que el contenido se pueda reescribir sin quitar el chip de la placa base. Esto permite que el software del BIOS se actualice fácilmente para agregar nuevas funciones o corregir errores, pero puede hacer que la computadora sea vulnerable a los rootkits del BIOS.

Dado que los medios ROM R EAD- O nly M emory, ¿por qué se pueden reescribir los contenidos de BIOS?

¿El "chip de memoria flash" significa lo mismo que la "ROM no volátil", y ambos significan dónde está almacenado el BIOS?

Ben
fuente
2
CMOS contiene configuraciones del sistema [configuraciones del BIOS] que pueden ser modificadas por un usuario [en la pantalla del BIOS]. Entonces, de acuerdo con cpsforum.blogspot.co.uk/2012/06/… "[llamando a la pantalla que ingresa] la configuración de CMOS es más apropiada que llamar a [it] la configuración del BIOS". y bayt.com/en/specialties/q/7459/… "El BIOS se modifica solo mediante la actualización de la nueva versión". y "El BIOS es un conjunto de instrucciones que controla el proceso de arranque de las placas base"
Barlop
44
Excepto que nadie configura CMOS. Es como decir que configura el tanque de gasolina en un automóvil cuando enciende su automóvil.
Andon M. Coleman
44
ROM is read only, so why can the BIOS contents be rewritten?Es un nombre inapropiado causado por la convención.
Synetech
1
Si hubiera leído los artículos detrás de los enlaces en Wikipedia que destacó en su pregunta , se le habría ocurrido que la respuesta era que flash memoryno es real ROM. A pesar de que la confusión puede ser común, en mi opinión es una pregunta pobre, ¡porque se debe únicamente a la falta de lectura de las fuentes disponibles gratuitamente!
Alexander Kosubek
1
En realidad, Andon, lo primero que hago en una nueva compilación de computadora es configurar mi configuración CMOS. La analogía del tanque de gasolina del automóvil es completamente inapropiada en este contexto.
TomXP411

Respuestas:

60

Para agregar a la respuesta de Varaquilex, el software del BIOS se almacena en una ROM programable y borrable eléctricamente (EEPROM) que permite que las actualizaciones de firmware se realicen electrónicamente. Los chips BIOS muy antiguos eran en realidad chips UV-EPROM que requerían borrarse con la exposición a la luz UV antes de poder reprogramarse.


Editar: como se ha señalado en los comentarios, incluso antes de que se usaran chips de ROM programable (PROM) de un solo uso que a veces no podían reprogramarse una vez configurados y requerían un reemplazo completo para la actualización (aunque esto rara vez se requería).

zelanix
fuente
2
Incluso antes, y algunos eran ROM / PROM no borrables, que tendrían que ser reemplazados por nuevos ROM si desea instalar un nuevo BIOS. Por supuesto, en ese momento el BIOS estaba haciendo menos y cambió muy raramente.
keshlam
Ah, sí. UV-EPROM ... Siempre es divertido quitar la etiqueta del BIOS UV-EPROM y ver la pequeña ventana utilizada para reprogramar el chip. Literalmente, nadie tiene el equipo necesario para reprogramarlos, por lo que nunca entendí por qué lo hicieron en hardware de consumo (no de desarrollo). Tendría que enviarlo a una fábrica para hacer esto, en ese momento el MFG. podría haber ahorrado dinero al usar ROM de máscara estándar.
Andon M. Coleman
3
@ AndonM.Coleman En volúmenes más bajos, el uso de EPROM, o (incluso antes) las PROM de tipo fusible, de hecho puede haber sido más barato que tener una máscara ROM cortada. Por ejemplo, si la memoria funciona, básicamente todas las máquinas recreativas de principios de los 80 tenían su software en PROM o EPROM, a pesar de que nunca se cambiaría, porque era más barato en el volumen de producción previsto.
zwol
1
Las EPROM UV (EEPROM) nunca fueron destinadas a la reprogramación del consumidor AFAIK. Cuando un dispositivo regresa a la fábrica para su reparación o lo que sea, es útil poder actualizar el firmware intercambiando o reprogramando la EEPROM.
rossnz
1
@ AndonM.Coleman: las ROM enmascaradas tienen una carga de configuración sustancial única. Las EPROM UV, aunque son más caras por unidad, a menudo son más baratas para la producción a corto plazo (<10K).
Eric Brown
40

ROM es de solo lectura, entonces, ¿por qué se puede reescribir el contenido del BIOS?

El programa BIOS se almacena en una EEPROM (que puede ser [E] eléctricamente [E] raspable y [P] programable) o una memoria flash. Por lo tanto, aquí solo se trata de que el chip no sea volátil. El contenido de la memoria permanece cuando se corta la energía, a diferencia de la RAM volátil. La ROM que es EEP ayuda al BIOS a reescribirse o actualizarse. En ese entonces, para tales operaciones, tenía que quitar el chip BIOS de la placa, colocar uno nuevo (si no es PROM o EPROM), o si es EPROM, debe llevarlo al fabricante y dejar que reprogramen el chip y vuelva a colocarlo en el tablero. Después de los avances actuales, gracias a las EEPROM, no tiene que quitar el chip para realizar tales operaciones, solo hace que la computadora haga el trabajo eléctricamente .


¿El "chip de memoria flash" significa lo mismo que la "ROM no volátil", y ambos significan dónde está almacenado el BIOS?

de Wikipedia :

La memoria flash es un medio de almacenamiento electrónico no volátil que se puede borrar y reprogramar eléctricamente.

La memoria flash se desarrolló a partir de EEPROM (memoria de solo lectura programable y borrable eléctricamente). Hay dos tipos principales de memoria flash, que llevan el nombre de las puertas lógicas NAND y NOR. Las características internas de las celdas de memoria flash individuales exhiben características similares a las de las puertas correspondientes. Mientras que las EPROM debían borrarse por completo antes de reescribirse, la memoria flash tipo NAND puede escribirse y leerse en bloques (o páginas) que generalmente son mucho más pequeños que todo el dispositivo. El flash tipo NOR permite que se escriba una sola palabra de máquina (byte), en una ubicación borrada, o que se lea de forma independiente.

La EEPROM y la memoria flash no se refieren a lo mismo: son dos tipos de memoria similares, ya que uno se desarrolla a partir del otro y contienen diferentes tipos / configuraciones de transistores MOS. Sin embargo, son la memoria donde reside el programa BIOS.


Para abordar otro concepto erróneo, quiero mencionar esta relación CMOS-BIOS:

La configuración del BIOS se almacena en el chip CMOS (que se mantiene encendido a través de la batería de la placa base). Es por eso que el BIOS se reinicia cuando retira la batería y la vuelve a conectar. Se ejecuta el mismo programa pero la configuración está predeterminada. Consulte esta respuesta para obtener una vista detallada de los recuerdos utilizados durante el proceso de arranque.

Editar

Para ampliar el tema CMOS-BIOS, gracias a @Andon M. Coleman , quiero agregar su comentario a la respuesta:

Vale la pena mencionar que la configuración del BIOS no tiene que almacenarse en una memoria CMOS volátil. Hay muchos sistemas integrados que almacenan su configuración en NVRAM. La única razón por la que las PC se han salido con el uso de CMOS volátiles durante todos estos años es que ya tenían una batería para mantener el reloj interno en tiempo real mientras la energía está apagada (recuerde que cuando presionó el interruptor de encendido en una PC-AT , literalmente cortó toda la alimentación a la placa base). Esto significaba que se podía usar una memoria volátil más barata para almacenar la configuración del sistema. Por lo tanto, es principalmente para fines históricos.

Varaquilex
fuente
3
Vale la pena mencionar que la configuración del BIOS no tiene que almacenarse en una memoria CMOS volátil. Hay muchos sistemas integrados que almacenan su configuración en NVRAM. La única razón por la que las PC se han salido con el uso de CMOS volátiles durante todos estos años es que ya tenían una batería para mantener el reloj interno en tiempo real mientras la energía está apagada (recuerde que cuando presionó el interruptor de encendido en una PC-AT , literalmente cortó toda la alimentación a la placa base). Esto significaba que se podía utilizar una memoria volátil más barata para almacenar la configuración del sistema. Por lo tanto, es principalmente para fines históricos.
Andon M. Coleman
1
@ AndonM.Coleman Esto es valioso. Agregaré esto a mi respuesta. Gracias por la información, aprendí algo nuevo :) +1
Varaquilex
2
En el pasado, las placas 80286 utilizadas para la memoria mapean el CMOS. Descubrí el camino difícil al no calificar un bucle correctamente y al borrar la configuración de mi disco duro ... a menudo.
pestilence669
@ pestilence669, ¿Qué quieres decir con "calificar un ciclo"?
Pacerier
@Pacerier Esa es una buena pregunta. Creo que quise decir "terminar". Si no tuve cuidado de preservar mi registro CX, REP STOSW y demás borraría mi configuración.
pestilencia669
27

Como complemento de las otras respuestas, me gusta un enfoque más visual:

Ubicación del BIOS

Este chip BIOS no parece estar particularmente bien asentado en su zócalo.

El BIOS, incluidos los nuevos y elegantes BIOS UEFI, son software almacenado en un chip en la placa base. Los detalles técnicos ya han sido cubiertos por zelanix y Varaquilex.

El chip es a menudo, pero no siempre, extraíble para un mantenimiento más fácil. Algunas placas base incluyen más de un BIOS, principalmente como un truco de ventas, pero en algunos casos el segundo BIOS ayuda a recuperarse de ciertos problemas (generalmente causados ​​por el usuario):

BIOS dual no extraíble

Charles Burns
fuente
66
Eso no es un truco de ventas en absoluto ... ¿sabes lo aterradora que puede ser una actualización de BIOS? obtienes todo tipo de advertencias cuando lo haces, y si logras estropear el proceso (y a veces incluso si haces todo bien), terminas con una PC bloqueada. Ah, y "las actualizaciones del BIOS no están cubiertas por la garantía del fabricante". Es por eso que se inventó el BIOS de respaldo. No se trata de marketing. es solo un poco de seguridad extra. (Y sí, he bloqueado una computadora que está actualizando el BIOS. Tuvimos que enviar la placa base al fabricante para que el BIOS volviera a
flashear
Usted hace un buen punto, aunque las actualizaciones del BIOS han mejorado mucho en los últimos años. Ya no es necesario arrancar en DOS y buscar una unidad de disquete. En una placa Asus reciente, por ejemplo, la actualización se puede hacer dentro de Windows o directamente desde el BIOS UEFI, que lee el archivo directamente desde NTFS. Esto es para placas base. Los fabricantes como 3Ware (sin Avago) todavía esperan que descubras cómo ajustar un BIOS de 10 MB en una imagen de disco de 1,44 MB. No proporcionan BIOS de respaldo.
Charles Burns
@CharlesBurns tw_clipuede hacer actualizaciones de BIOS de 3ware con la máquina arrancada.
derobert
@derobert Mi última actualización del BIOS fue un intento de corregir un servidor que no arrancaba debido a una actualización del controlador 3Ware (ya que 3Ware requiere la coincidencia de controladores, software y firmware). En ese caso, la imposibilidad de realizar una actualización con un sistema operativo que no se puede iniciar hizo las cosas difíciles, y el último CD de 3Ware no arrancaba (a pesar de que la placa base estaba en la lista de compatibilidad). Pero tiene toda la razón: tw_cli puede actualizar el BIOS. Me había olvidado de eso. :)
Charles Burns
@CharlesBurns, ¿por qué llamas a UEFI EUFI?
Pacerier
7

También vale la pena señalar que en la mayoría de las máquinas anteriores a la 80286, los datos se podían leer desde la ROM tan rápido como desde la RAM, pero aunque los anchos de banda de la RAM han mejorado enormemente desde la década de 1980, los anchos de banda de la ROM de los productos básicos no han existido [existen chips de ROM rápidos , pero aumentar la velocidad de la ROM más allá de cierto punto aumentaría el precio]. Dado que leer cada byte de una ROM de BIOS una vez solo tomaría una fracción de segundo, algunas máquinas 80386 y la mayoría de las máquinas 80486 y posteriores ofrecieron una opción para copiar el BIOS a la RAM en el inicio. Las máquinas modernas llevan las cosas aún más lejos, y en realidad colocan los chips ROM de BIOS en un bus que está completamente separado del bus RAM y es mucho másmás lento. A diferencia de las máquinas de la era 80486 que comenzarían ejecutando desde ROM un programa que se copiaría a sí mismo en RAM, muchas máquinas más nuevas tienen procesadores que no pueden ejecutar código desde ROM. En cambio, tienen un circuito que al inicio lee ciertas partes de la ROM en la RAM y la ejecuta.

Super gato
fuente
Correcto, eso explicaría cómo un chip BIOS moderno puede tener solo 8 o más cables. La memoria Flash moderna en realidad usa una interfaz en serie.
TomXP411
1

Mire ese artículo de Wikipedia tal como se leyó en enero de 2005:

Antes de 1990, más o menos, los BIOS se mantenían en chips ROM que no podían modificarse. A medida que su complejidad y la necesidad de actualizaciones crecieron, el firmware del BIOS se almacena en EEPROM o dispositivos de memoria flash que el usuario puede actualizar. Sin embargo, una actualización de BIOS cancelada o ejecutada incorrectamente puede inutilizar la computadora o el dispositivo. Para evitar la corrupción del BIOS, algunas placas base nuevas tienen un BIOS de respaldo. Además, la mayoría de las BIOS tienen un "bloque de arranque" que es una parte de la ROM que se ejecuta primero y no es actualizable. Este código verificará que el resto del BIOS esté intacto (a través de suma de comprobación, hash, etc.) antes de saltar a él.

Hoy en día, por supuesto, tenemos un artículo de Wikipedia que confunde a las personas al decir que el chip es "ROM no volátil" de una vez y que se puede escribir en la siguiente. La lección para aprender aquí es que Wikipedia a menudo no está muy bien escrita, y que los artículos cambian, no siempre para mejor.

Sugiero leer libros. La actualización y reparación de PC de Scott Mueller , para elegir uno de varios libros, tiene un capítulo completo sobre el BIOS, que analiza todo tipo de cosas desde donde se encuentra el chip del BIOS hasta los diversos tipos (enumerando cuatro: ROM, PROM, EPROM y EEPROM) de tales chips.

Algunas citas:

No importa qué tipo de ROM use su sistema, los datos almacenados en un chip ROM no son volátiles [sic] y permanecen indefinidamente a menos que se borren o sobrescriban intencionalmente (en los casos en que sea posible). - Actualización y reparación de PC , p.373

Prácticamente todas las PC construidas desde 1996 incluyen una ROM flash para almacenar el BIOS. Una ROM flash es un tipo de chip EEPROM que puede borrar y reprogramar directamente en el sistema sin equipo especial. - Actualización y reparación de PC , p.387

Los libros no son perfectos. Uno puede discutir detalles con la definición de "primer sonrojo" de Mueller de memoria flash aquí, por ejemplo. Pero los buenos son generalmente corregidos y tienen explicaciones más coherentes que la mayoría de Wikipedia, que al menos no se contradicen de oración en oración.

Presumiendo una PC moderna, y no atascarse en cómo funcionaban las PC hace dos décadas:

El firmware de su máquina se guarda en un chip de memoria no volátil en la placa base. En realidad tiene bastante. (El Pm49FL004T mencionado en mi respuesta aquí tiene la mitad de un MiB, y como se menciona en mi respuesta aquí, algunos conjuntos de chips son capaces de soportar 16MiB de firmware). Está involucrado en mucho más que solo el arranque del sistema, incluso para sistemas operativos en modo protegido. Su contenido es modificable, pero no tan fácilmente como el contenido (volátil) de la RAM del sistema principal. En los sistemas EFI, el chip no solo contiene el código de firmware y los datos (de solo lectura) sino también los valores de las variables EFI no volátiles.

JdeBP
fuente
0

En realidad, en los últimos días hay un sistema más sofisticado para almacenar BIOS. Imagine 2 bancos de almacenamiento similares a su unidad flash, solo que más pequeños. A uno de ellos se accede solo lectura y el segundo está disponible para ser escrito (para actualizar la nueva versión del BIOS). La razón de 2 partes es una copia de seguridad, cuando la escritura de un nuevo BIOS no es exitosa. Si el parpadeo del nuevo BIOS tiene éxito, estas 2 partes cambiarán y el dispositivo podría reiniciarse con el nuevo BIOS.

CUIDADO: no todo tipo de dispositivos tiene este sistema. A veces es una memoria flash pequeña y simple que simplemente se sobrescribe. Por lo general, se le solicita que realice una copia de seguridad de la electricidad y que no interrumpa el proceso de actualización.

En los viejos tiempos de las placas base había memoria EPROM, que se podía reescribir después de que la memoria se borrara con una luz fuerte, o más tarde una memoria PROM, que se podía escribir solo una vez. Ambos pueden hacerse solo mediante un dispositivo de programación especial, por lo que el chip BIOS debe eliminarse del dispositivo para escribirlo.

Dee
fuente
0

En la PC original de IBM, la "ROM" del BIOS era, creo, una especie de ROM programable eléctricamente ("escribir una vez") (EPROM). Yo creo que fue socketed, pero no había ninguna expectativa real de que se "actualiza" en el campo. Otras computadoras de la época usaban algo similar.

A medida que los sistemas se volvieron más complejos, se volvió más ventajoso tener el BIOS "actualizable en campo" (y sin la necesidad de abrir la caja e intercambiar físicamente la pieza). Entonces los sistemas comenzaron a tener varios tipos de "ROM" de BIOS regrabables. Las ventajas fueron tres:

  1. La probabilidad de un error se hizo mayor a medida que los sistemas se volvieron más complejos.
  2. Era atractivo tener la capacidad de actualizar e incorporar nuevas funciones.
  3. Para las placas base que podrían usarse en varias cajas diferentes (tal vez incluso bajo diferentes marcas), fue atractivo poder personalizar el BIOS de fábrica para el uso específico.

Las cajas más grandes, casi al mismo tiempo que la PC original de IBM, también comenzaron a tener algún tipo de memoria de "arranque" de solo lectura en lugar de la tecnología más primitiva de "cargador de arranque". Algunos de ellos eran ROM programada por máscara, algunos EPROM, algunos incluso RAM que se leía desde un disquete a través de un pequeño "procesador de servicio".

Daniel R Hicks
fuente
Sí, todos los chips (excepto tal vez los chips de E / S) en las placas base de PC y XT estaban conectados. Y fue útil. Tuve que cambiar un par de chips en tableros XT por varias razones. De hecho, algunas de las primeras PC requerían actualizaciones de BIOS, y la PC original tenía un lenguaje de programación completo en ROM. Creo recordar que hubo algunas actualizaciones necesarias para las PC de primera generación para unidades de disquete ...
TomXP411
@ TomXP411 - Sí, olvidé que la PC original tenía un intérprete BÁSICO en ROM. Pero técnicamente eso estaba en una ROM separada del BIOS, IIRC. El BASIC tenía algunos errores bastante bien documentados en la primera versión, pero no recuerdo que enviaron una actualización para solucionarlos: solo tenía que comprar una nueva PC con la versión actualizada. Algo así como la versión 1.2.
Daniel R Hicks
0

La ROM original se fabricó literalmente de esa manera a nivel de silicio. Una vez que lo hicieron eléctrico programable por los usuarios, algunas cosas:

  1. en muchos tienen un circuito de aumento de voltaje de hardware interno que permite que 3.3V o 5V se suban internamente a 12V para realizar la programación real. Esto es cierto para la PROM, EPROM, UVEPROM, o EEPROM más antiguas.

  2. Si está disponible en modelos anteriores, la función de borrado UV (luz ultravioleta) permitió que los circuitos solo permitieran +12 V internos al programar el dispositivo, y una ventana UV permitió que la luz UV ingresara al área del chip, pero la ventana UV tenía que estar cubierta después de la programación o el chip se borraría debajo de cualquier habitación con iluminación fluorescente. El borrado UV también fue muy rápido de borrar, mucho más rápido que reprogramar todo el chip a 0 o 1.

En muchos casos, hay un circuito intensificador interno para todas las PROM "programables".

  1. La EEPROM posterior permitió el borrado eléctrico, a la EPROM o UVEPROM.

  2. Más tarde apareció la tecnología Flash y agregó tecnología de circuito diferente (a nivel de transistor) y densidades más altas que la EEPROM más antigua.

  3. En casi todos los casos desde que se detuvo la ROM original, casi todas las PROM de BIOS son sospechosas en muchos (¿25%?) De problemas informáticos. Estas PROM posteriores (que tienen algunas características programables) pueden dañarse o simplemente 'olvidar' su programa con el tiempo.

Las PROM, no importa cuán borradas o reprogramadas se deben manejar con cuidado (daños por ESD), y envejecimiento o humedad.

En aproximadamente 1/4 de los casos de computadoras defectuosas, la reprogramación de un BIOS "bueno" generalmente corrige el problema. Por lo tanto, incluso si su BIOS es "buena", siempre vale la pena volver a actualizar si es posible.

Charles
fuente
-1

el BIOS se almacena en un chip CMOS o NVRAM, que son pequeñas cantidades de memoria no volátil en su placa base (es decir, contienen datos indefinidamente sin necesidad de energía).

En cuanto al mensaje que recibe si todo pasa la publicación, en las máquinas más antiguas generalmente obtendrá un solo pitido de su máquina si todo se verifica.

En las máquinas más nuevas, no obtendrá nada: no verá la publicación, no habrá mensajes, pitidos, nada ... una especie de trato tipo "no hay noticias son buenas noticias". Si aún desea ver la POST ejecutada en una máquina más nueva, la clave para presionar (al menos en las computadoras que he usado) es Tab. Golpee eso varias veces justo después de encender el poder para ver la POST en la pantalla. Alternativamente, debería haber una opción para que aparezca la POST en la pantalla en la configuración de su BIOS.

amar
fuente
44
Está confundiendo el programa bios con sus datos de configuración . La distinción obvia: retire la batería de respaldo y el programa aún se ejecuta, pero su configuración se revierte a la predeterminada. Si bien la configuración está respaldada por batería, el programa se almacena en una tecnología de memoria de "lectura mayoritaria" que requiere medidas activas para borrar.
Chris Stratton