Onde o BIOS está armazenado?

56

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

O software BIOS é armazenado em um chip ROM não volátil na placa-mãe. ... Nos sistemas modernos de computador, o conteúdo do BIOS é armazenado em um chip de memória flash para que ele possa ser reescrito sem remover o chip da placa-mãe. Isso permite que o software do BIOS seja facilmente atualizado para adicionar novos recursos ou corrigir bugs, mas pode tornar o computador vulnerável aos rootkits do BIOS.

Desde ROM significa R ead- O nly M Emory, por que o conteúdo do BIOS ser reescrita?

O "chip de memória flash" significa o mesmo que a "ROM não volátil", ambos significando onde o BIOS está armazenado?

Ben
fonte
2
O CMOS contém configurações do sistema [configurações do BIOS] que podem ser modificadas por um usuário [na tela do BIOS]. Portanto, de acordo com cpsforum.blogspot.co.uk/2012/06/… "[chamando a tela que você entra] a configuração do CMOS é mais apropriada do que chamar a configuração do BIOS." e bayt.com/en/specialties/q/7459/… "O BIOS é modificado apenas com o flash da nova versão." e "O BIOS é um conjunto de instruções que controla o processo de inicialização das placas-mãe."
barlop
4
Exceto, ninguém configura o CMOS. É como dizer que você instala o tanque de gasolina em um carro quando liga o carro.
Andon M. Coleman
4
ROM is read only, so why can the BIOS contents be rewritten?É um nome impróprio causado por convenção.
Synetech
1
Se você tivesse lido os artigos por trás dos links na Wikipedia que destacou em sua pergunta , deveria ter ocorrido a você que a resposta era que flash memorynão é real ROM. Embora a confusão possa ser comum, na minha opinião, é uma pergunta ruim, porque decorre apenas da falta de leitura das fontes disponíveis gratuitamente!
Alexander Kosubek 28/01
1
Na verdade, Andon, a primeira coisa que faço em qualquer nova compilação de computador é definir minhas configurações de CMOS. A analogia do tanque de gasolina do carro é completamente inadequada nesse contexto.
precisa saber é o seguinte

Respostas:

59

Para adicionar à resposta do Varaquilex, o software do BIOS é armazenado em uma ROM eletricamente apagável e programável (EEPROM), que permite que as atualizações de firmware sejam realizadas eletronicamente. Os chips BIOS muito antigos eram, na verdade, chips UV-EPROM, que exigiam apagar com a exposição à luz UV antes que pudessem ser reprogramados.


Edit: Como foi apontado nos comentários, ainda mais cedo que os chips ROM de uso único Programmable ROM (PROM) às vezes eram usados ​​que não podiam ser reprogramados de uma vez configurados e exigiam substituição completa para atualizar (embora isso raramente fosse necessário).

zelanix
fonte
2
Ainda mais cedo, e algumas eram ROMs / PROMs não apagáveis, que precisariam ser substituídas por novas ROMs se você quisesse instalar um novo BIOS. É claro que naquela época o BIOS estava fazendo menos e mudava muito raramente.
keshlam
Ah sim. UV-EPROM ... É sempre divertido retirar a etiqueta do BIOS da UV-EPROM e ver a pequena janela usada para reprogramar o chip. Literalmente, ninguém tem o equipamento necessário para reprogramá-los, então eu nunca entendi por que eles fizeram isso no hardware do consumidor (não de desenvolvimento). Você teria que enviá-lo para uma fábrica para fazer isso, nesse ponto o mfg. poderia economizar dinheiro usando a ROM de máscara padrão.
Andon M. Coleman
3
@ AndonM.Coleman Em volumes mais baixos, usando EPROMs ou (ainda mais cedo) PROMs do tipo fusível, pode de fato ter sido mais barato do que cortar uma ROM de máscara. Por exemplo, se a memória serve, basicamente todas as máquinas de fliperama do início dos anos 80 tinham seu software em PROMs ou EPROMs, mesmo que isso nunca fosse alterado, porque era mais barato no volume de produção pretendido.
Zwol
1
As EPROMs UV (EEPROMs) nunca foram destinadas à reprogramação do consumidor pelo AFAIK. Quando um dispositivo volta à fábrica para reparo ou qualquer outra coisa, é útil poder atualizar o firmware trocando ou reprogramando a EEPROM.
rossnz
1
@ AndonM.Coleman - ROMs mascaradas têm uma taxa de instalação única substancial . As EPROMs UV, embora sejam mais caras por unidade, geralmente são mais baratas para a produção de curto prazo (<10K).
Eric Brown
40

A ROM é somente leitura, então por que o conteúdo do BIOS pode ser reescrito?

O próprio programa do BIOS é armazenado em uma EEPROM (que pode ser [E] eletricamente [E] rastreável e [P] programável) ou em uma memória flash. Portanto, o somente leitura aqui é sobre o chip não ser volátil. O conteúdo da memória permanece quando a energia é cortada, diferentemente da RAM volátil. A ROM sendo EEP ajuda a BIOS a ser reescrita ou atualizada. Naquela época, para essas operações, era necessário remover o chip do BIOS da placa, colocar um novo (se não fosse PROM ou EPROM) ou, se for o EPROM, é necessário levá-lo ao fabricante e permitir que o programa seja reprogramado. e reconecte-o ao quadro. Após os avanços atuais, graças às EEPROMs, você não precisa remover o chip para realizar essas operações, basta fazer o computador executar o trabalho eletricamente .


O "chip de memória flash" significa o mesmo que a "ROM não volátil", ambos significando onde o BIOS está armazenado?

da Wikipedia :

A memória flash é um meio de armazenamento eletrônico não volátil para computador que pode ser apagado e reprogramado eletricamente.

A memória flash foi desenvolvida a partir da EEPROM (memória somente leitura programável apagável eletricamente). Existem dois tipos principais de memória flash, que são nomeados após os portões lógicos NAND e NOR. As características internas das células individuais da memória flash exibem características semelhantes às dos portões correspondentes. Enquanto as EPROMs precisavam ser completamente apagadas antes de serem reescritas, a memória flash do tipo NAND pode ser gravada e lida em blocos (ou páginas), geralmente muito menores que o dispositivo inteiro. O flash do tipo NOR permite que uma única palavra de máquina (byte) seja escrita - em um local apagado - ou lida independentemente.

EEPROM e memória flash não se referem à mesma coisa: são dois tipos de memória semelhantes aos desenvolvidos um e contêm tipos / configurações diferentes de transistores MOS. No entanto, eles são a memória em que o programa BIOS reside.


Para abordar outro equívoco, quero mencionar esse relacionamento do CMOS-BIOS:

As configurações do BIOS são armazenadas no chip CMOS (que é mantido ligado através da bateria na placa-mãe). É por isso que o BIOS é redefinido quando você remove a bateria e a reconecta. O mesmo programa é executado, mas as configurações são padrão. Veja esta resposta para uma visão detalhada das memórias usadas durante o processo de inicialização.

Editar

Para estender o tópico CMOS-BIOS, graças a André M. Coleman , quero adicionar seu comentário à resposta:

Vale ressaltar que as configurações do BIOS não precisam ser armazenadas na memória CMOS volátil. Existem muitos sistemas incorporados que armazenam suas configurações na NVRAM. A única razão pela qual os PCs se safaram do uso de CMOS volátil ao longo de todos esses anos é que eles já tinham uma bateria para manter o relógio interno em tempo real funcionando enquanto a energia está desligada (lembre-se de que quando você pressiona o botão liga / desliga em um PC-AT , literalmente, corta toda a energia da placa-mãe). Isso significava que uma memória volátil mais barata poderia ser usada para armazenar as configurações do sistema. Portanto, é principalmente para fins históricos.

Varaquilex
fonte
3
Vale ressaltar que as configurações do BIOS não precisam ser armazenadas na memória CMOS volátil. Existem muitos sistemas incorporados que armazenam suas configurações na NVRAM. A única razão pela qual os PCs se safaram do uso de CMOS volátil ao longo de todos esses anos é que eles tinham uma bateria para manter o relógio interno em tempo real funcionando enquanto a energia está desligada (lembre-se de que quando você pressiona o botão liga / desliga em um PC-AT , literalmente, corta toda a energia da placa-mãe). Isso significava que uma memória volátil mais barata poderia ser usada para armazenar as configurações do sistema. Portanto, é principalmente para fins históricos.
Andon M. Coleman
1
@ AndonM.Coleman Isso é valioso. Vou adicionar isso à minha resposta. Obrigado pela compreensão, eu aprendi algo novo :) +1
Varaquilex
2
Naquela época, 80286 placas usadas para mapear a memória do CMOS. Eu descobri da maneira mais difícil não qualificando um loop corretamente e limpando as configurações do meu disco rígido ... com frequência.
pestilence669
@ pestilence669, o que você quer dizer com "qualificar um loop"?
Pacerier
@ Pacerier Essa é uma boa pergunta. Eu acho que quis dizer "terminar". Se não tivesse o cuidado de preservar meu registro CX, o REP STOSW e essas opções limpariam minhas configurações.
Pestilence669
27

Como complemento para as outras respostas, eu gosto de uma abordagem mais visual:

Localização do BIOS

Esse chip da BIOS não parece estar muito bem encaixado no soquete.

O BIOS, incluindo novos UEFI BIOS, é um software armazenado em um chip na placa-mãe. Os detalhes técnicos já foram cobertos pelo zelanix e Varaquilex.

O chip é frequentemente, mas nem sempre, removível para facilitar a manutenção. Algumas placas-mãe incluem mais de um BIOS, principalmente como truque de vendas, mas em alguns casos o segundo BIOS ajuda a recuperar de certos problemas (geralmente causados ​​pelo usuário):

BIOS duplo não removível

Charles Burns
fonte
6
Isso não é um truque de vendas ... você sabe o quão assustadora pode ser uma atualização do BIOS? você recebe todos os tipos de avisos ao fazê-lo e, se você conseguir estragar o processo (e às vezes até se você fizer tudo certo), terá um PC emparedado. Ah, e "as atualizações do BIOS não são cobertas pela garantia do fabricante". É por isso que o BIOS de backup foi inventado. Não se trata de marketing. é apenas um pouco de segurança extra. (. E sim, eu emparedada um computador fazendo uma atualização de BIOS Tivemos que enviar a placa-mãe para o fabricante para obter o BIOS re-brilharam.)
TomXP411
Você faz um bom argumento, embora as atualizações do BIOS tenham melhorado bastante nos últimos anos. Não é mais necessário inicializar no DOS e encontrar uma unidade de disquete. Em uma placa recente da Asus, por exemplo, a atualização pode ser feita no Windows ou diretamente do UEFI BIOS, que lê o arquivo diretamente do NTFS. Isto é para placas-mãe. Fabricantes como o 3Ware (sem Avago) ainda esperam que você descubra como ajustar um BIOS de 10 MB em uma imagem de disco de 1,44 MB. Eles não fornecem BIOS de backup.
Charles Burns
O @CharlesBurns tw_clipode fazer atualizações de 3ware BIOS com a máquina inicializada.
derobert
@derobert Minha última atualização do BIOS foi uma tentativa de corrigir um servidor que não inicializava devido a uma atualização de driver 3Ware (já que o 3Ware requer a correspondência de drivers, software e firmware). Nesse caso, a incapacidade de fazer uma atualização com um sistema operacional não inicializável dificultava as coisas, e o CD mais recente do 3Ware não inicializava (apesar da placa-mãe estar na lista de suporte). Mas você está totalmente correto: tw_cli pode atualizar o BIOS. Eu tinha esquecido disso. :)
Charles Burns
@CharlesBurns, por que você chama UEFI EUFI?
Pacerier
7

Também pode ser interessante notar que, na maioria das máquinas anteriores ao 80286, os dados podiam ser lidos na ROM tão rapidamente quanto na RAM, mas, embora as larguras de banda de RAM tenham melhorado enormemente desde os anos 80, as larguras de banda de commodity ROM não existem [chips ROM rápidos , mas aumentar a velocidade da ROM além de um certo ponto aumentaria o preço]. Como a leitura de todos os bytes de uma ROM do BIOS levaria apenas uma fração de segundo, algumas máquinas 80386 e a maioria das máquinas 80486 e posteriores ofereciam a opção de copiar o BIOS para a RAM na inicialização. Máquinas modernas levam as coisas ainda mais longe e, na verdade, colocam os chips ROM do BIOS em um barramento que é totalmente separado do barramento de RAM e é muitoMais devagar. Diferentemente das máquinas da era 80486, que começavam executando da ROM um programa que se copiava para a RAM, muitas máquinas mais recentes possuem processadores que não conseguem executar código da ROM. Em vez disso, eles possuem um circuito que, na inicialização, lê certas partes da ROM na RAM e a executa.

supercat
fonte
Certo, isso explicaria como um chip BIOS moderno pode ter apenas 8 fios. A memória Flash moderna, na verdade, usa uma interface serial.
TomXP411
1

Veja o artigo da Wikipedia como foi lido em janeiro de 2005:

Antes de 1990, os BIOS eram mantidos em chips de ROM que não podiam ser alterados. À medida que sua complexidade e a necessidade de atualizações aumentavam, o firmware do BIOS é armazenado na EEPROM ou em dispositivos de memória flash que podem ser atualizados pelo usuário. No entanto, uma atualização do BIOS incorretamente executada ou interrompida pode tornar o computador ou o dispositivo inutilizável. Para evitar a corrupção do BIOS, algumas novas placas-mãe têm um BIOS de backup. Além disso, a maioria dos BIOS possui um "bloco de inicialização", que é uma parte da ROM que roda primeiro e não é atualizável. Este código verificará se o restante do BIOS está intacto (via soma de verificação, hash etc.) antes de saltar para ele.

Atualmente, é claro, temos um artigo da Wikipedia que confunde as pessoas dizendo que o chip é "ROM não volátil" de uma só vez e que pode ser gravado na próxima. A lição a aprender aqui é que a Wikipedia geralmente não é muito bem escrita e que os artigos mudam, nem sempre para melhor.

Eu sugiro ler livros. A atualização e reparação de computadores de Scott Mueller , para escolher um dos vários livros, possui um capítulo inteiro sobre o BIOS, que discute todo o tipo de coisas, de onde o chip do BIOS está localizado para os vários tipos (lista quatro: ROM, PROM, EPROM e EEPROM) desses chips.

Algumas citações:

Não importa qual o tipo de ROM seu sistema usa, os dados armazenados em um chip ROM é [sic] não volátil e permanece indefinidamente, a menos intencionalmente apagados ou substituídos (nos casos em que é possível). - Atualizando e reparando computadores , p.373

Praticamente todos os PCs construídos desde 1996 incluem uma ROM flash para armazenar o BIOS. Uma ROM flash é um tipo de chip EEPROM que você pode apagar e reprogramar diretamente no sistema sem equipamento especial. - Atualizando e reparando computadores , p.387

Livros não são perfeitos. Pode-se discutir detalhes com a definição de "primeiro rubor" de Mueller de memória flash aqui, por exemplo. Mas os bons são geralmente revisados ​​e têm explicações mais coerentes do que grande parte da Wikipedia, que pelo menos não se contradizem de sentença para sentença.

Presumindo um PC moderno, e não ficando atolado em como os PCs costumavam funcionar duas décadas atrás:

O firmware do seu equipamento é mantido em um chip de memória não volátil na placa-mãe. Na verdade, contém bastante. (O Pm49FL004T mencionado na minha resposta aqui possui metade de um MiB e, como mencionado na minha resposta aqui, alguns chipsets são capazes de suportar 16MiB de firmware.) Está envolvido em muito mais do que apenas a inicialização do sistema, mesmo para sistemas operacionais de modo protegido. Seu conteúdo é modificável, mas não tão facilmente quanto o conteúdo (volátil) da RAM principal do sistema. Nos sistemas EFI, o chip não apenas mantém o código do firmware e os dados (somente leitura), mas também os valores das variáveis ​​EFI não voláteis.

JdeBP
fonte
0

Na verdade, nos últimos dias, existe um sistema mais sofisticado de como armazenar o BIOS. Imagine dois bancos de armazenamento semelhantes à sua unidade flash, apenas menores. Um deles é acessado somente leitura e o segundo está disponível para ser gravado (para piscar a nova versão do BIOS). O motivo para 2 partes é um backup, quando a gravação do novo BIOS não é bem-sucedida. Se o piscar do novo BIOS for bem-sucedido, essas duas partes serão trocadas e o dispositivo poderá ser reiniciado no novo BIOS.

CUIDADO: nem todo tipo de dispositivo possui esse sistema. Às vezes, é uma pequena memória flash simples que é simplesmente substituída. Normalmente, você é solicitado a fazer backup da eletricidade e não interromper o processo de atualização.

Nos velhos tempos das placas-mãe, havia memória EPROM, que podia ser reescrita depois que a memória era apagada por luz forte, ou mais tarde uma memória PROM, que só podia ser gravada uma vez. Ambos podem ser feitos apenas por um dispositivo de programação especial, portanto, o chip da BIOS deve ser removido do dispositivo a ser gravado.

Dee
fonte
0

No PC IBM original, a "ROM" do BIOS era, acredito, algum tipo de ROM (EPROM) eletricamente programável ("write once"). Eu acho que foi soquete, mas não havia nenhuma expectativa real de que seria "atualizado" em campo. Outros computadores da época usavam algo semelhante.

À medida que os sistemas se tornaram mais complexos, tornou-se mais vantajoso ter o BIOS "atualizável em campo" (e sem a necessidade de abrir a caixa e trocar fisicamente a peça). Assim, os sistemas começaram a ter vários tipos de "ROMs" BIOS regraváveis. As vantagens foram três:

  1. A probabilidade de um bug se tornou maior à medida que os sistemas se tornaram mais complexos.
  2. Era atraente ter a capacidade de atualizar e incorporar novos recursos.
  3. Para placas-mãe que poderiam ser usadas em várias caixas diferentes (talvez até com nomes de marcas diferentes), era atraente poder personalizar de fábrica o BIOS para o uso específico.

Caixas maiores, na mesma época que o IBM PC original, também começaram a ter algum tipo de memória "boot" somente leitura, em vez da tecnologia mais primitiva "bootstrap loader". Alguns deles eram ROMs programados por máscara, alguns EPROM, outros até RAM que foram lidos em um disquete por meio de um pequeno "processador de serviço".

Daniel R Hicks
fonte
Sim, todos os chips (exceto talvez os chips de E / S) nas placas-mãe PC e XT foram encaixados. E foi útil. Eu tive que trocar algumas fichas nas placas XT por vários motivos. De fato, alguns dos primeiros PCs exigiam atualizações do BIOS, e o PC original tinha uma linguagem de programação inteira na ROM. Se bem me lembro, havia algumas atualizações necessárias para o primeiro PC geração de drives de disquete ...
TomXP411
@ TomXP411 - Sim, esqueci que o PC original tinha um intérprete BASIC em ROM. Mas tecnicamente isso estava em uma ROM separada do BIOS, IIRC. O BASIC tinha alguns bugs muito bem documentados na primeira versão, mas não me lembro que eles enviaram uma atualização para corrigi-los - você só precisava comprar um PC novo com a versão atualizada. Algo como a versão 1.2.
Daniel R Hicks
0

A ROM original foi literalmente fabricada dessa maneira no nível do silício. Depois que eles tornaram programável elétrico pelos usuários, algumas coisas:

  1. em muitos, eles têm um circuito interno de tensão de hardware que permite que 3.3V ou 5V subam internamente para 12V para fazer a programação real. Isso vale para PROM, EPROM, UVEPROM ou EEPROM mais antigas.

  2. Se disponível em modelos mais antigos, o recurso apagável de UV (luz ultravioleta) permitia que os circuitos habilitassem apenas + 12V internos na programação do dispositivo, e uma janela de UV permitia a entrada de luz UV na área do chip, mas a janela de UV precisava ser coberta após a programação ou o chip apagaria sob qualquer iluminação fluorescente da sala. O apagamento por UV também foi muito rápido de apagar, muito mais rápido do que reprogramar todo o chip para zeros ou zeros.

Em muitos casos, existe um circuito interno para todas as PROMs "programáveis".

  1. A EEPROM posterior permitiu apagar eletricamente a EPROM ou a UVEPROM.

  2. Posteriormente, a tecnologia Flash surgiu e adicionou uma tecnologia de circuito diferente (no nível do transistor) e densidades mais altas do que a EEPROM mais antiga.

  3. Em quase todos os casos, desde que a ROM original foi interrompida, quase todas as PROMs do BIOS são suspeitas em muitos (25%?) Dos problemas do computador. Esses PROMs posteriores (todos com algum recurso programável) podem ser danificados ou simplesmente 'esquecer' seu programa ao longo do tempo.

As PROMs, não importa quão apagadas ou reprogramadas, devem ser manuseadas com cuidado (danos por ESD), envelhecimento ou umidade.

Em cerca de 1/4 dos casos ruins de computador, a reprogramação de um BIOS "bom" geralmente corrige o problema. Portanto, mesmo que seu BIOS seja "bom", sempre vale a pena reflash, se possível.

Charles
fonte
-1

o BIOS é armazenado no chip CMOS ou na NVRAM, que são pequenas quantidades de memória não volátil na sua placa-mãe (ou seja, eles retêm dados indefinidamente sem precisar de energia).

Quanto a qual mensagem você recebe se tudo passa na postagem, em máquinas mais antigas, você normalmente recebe um único bipe de sua máquina se tudo estiver em ordem.

Nas máquinas mais novas, você não receberá nada: não verá a postagem, não haverá mensagens, bipes, nada ... uma espécie de negócio do tipo "nenhuma notícia é boa notícia". Se você ainda deseja que o POST seja executado em uma máquina mais nova, a chave a ser atingida (pelo menos nos computadores que usei) é Tab. Aperte isso algumas vezes logo depois de ligar a alimentação para ver o POST na tela. Como alternativa, deve haver uma opção para que o POST apareça na tela nas configurações do BIOS.

amar
fonte
4
Você está confundindo o programa da BIOS com seus dados de configuração . A distinção óbvia: remova a bateria de reserva e o programa ainda será executado, mas suas configurações serão revertidas para o padrão. Enquanto as configurações são suportadas por bateria, o programa é armazenado em uma tecnologia de memória "leia principalmente", que requer medidas ativas para apagar.
Chris Stratton