Eu tenho uma CPU moderna de 64 bits. Meu BIOS ainda funciona no modo REAL de 16 bits?

11

Como ainda é necessário inicializar, pergunto-me, em um sistema x64 / AMD64 de 64 bits, o BIOS ainda usa instruções de 16 bits? Também opera no modo REAL?

unixman83
fonte
Wikipedia: "As limitações do BIOS (modo de processador de 16 bits, apenas 1 espaço endereçável MiB, dependências de hardware PC AT, etc.) foram vistas como claramente inaceitáveis ​​para as plataformas mais recentes de computadores. A Extensible Firmware Interface (EFI) é uma especificação que substitui o tempo de execução interface do BIOS legado. "
Daniel Beck
@ Daniel Beck, pensei que o EFI era apenas para Macs e Itanium.
precisa saber é o seguinte
7
@ unixman83 - A maioria das novas placas-mãe Intel está sendo executada na EFI desde que o Sandy Bridge chegou. É provável que a AMD siga o exemplo quando o Bulldozer chegar. O ponto principal é que os discos formatados com MFT não são inicializáveis ​​se forem maiores que 2 TB ... um limite que apenas começou a ser atingido. Você precisa EFI para inicializar por um disco GPT formatado (que pode ser muito, muito maior)
Shinrai
@ unixman83: apaguei sua "resposta" porque não é uma resposta, mas apenas uma cópia / pasta do comentário de Shinrai.
studiohack
Não há nada que impeça o BIOS de ler e entender o GPT, e os gerenciadores de inicialização também podem acessar muito mais de 2 TB usando chamadas do BIOS, portanto, a "necessidade de EFI" para discos grandes é um mito (infelizmente generalizado).
Patrick Georgi

Respostas:

6

Os processadores x86 ainda iniciam no modo real. Os BIOS são livres (e às vezes são forçados) a mudar para os modos protegido ou longo enquanto inicializam seu hardware, mas quando entregam o controle ao sistema operacional (ou melhor, ao seu gerenciador de inicialização), eles precisam voltar ao modo real, porque é isso que esses carregadores esperam que o sistema esteja instalado.

coreboot e UEFI mudam para o modo protegido bastante cedo, enquanto para PCBIOSes (phoenix / award, ami e assim por diante), não sabemos. Eles são de código fechado e geralmente não dizem muito sobre seus internos, e suas interfaces são todas especificadas como modo real.

Para sistemas que executam com RAM ECC, você pode ter certeza de que eles alternam para algum modo capaz de endereçar toda a RAM e, portanto, passam pelo menos para o modo protegido - isso é porque precisam inicializar a memória (escreva algum valor para cada endereço ) na inicialização ou o sistema seria interrompido se algum código posterior ler endereços que nunca foram gravados (devido à detecção de erros que podem produzir um falso positivo). Mas como foi dito, isso é interno ao BIOS, e nada que meros mortais possam descobrir facilmente ou que precisem pensar.

tl; dr: O BIOS está no modo real em todos os pontos em que é visível externamente; portanto, para todos os efeitos, pode ser executado no modo real o tempo todo.

Patrick Georgi
fonte
1
Até o IBM PC AT BIOS original mudou para o modo protegido para o teste de memória.
Yuhong Bao 17/02/2013