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

10

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

    
por unixman83 27.04.2011 / 20:11

1 resposta

6
Os processadores xp ainda iniciam no modo real. BIOSes são livres (e às vezes forçados) para mudar para modos protegidos ou longos enquanto eles inicializam seu hardware, mas quando eles entregam o controle ao sistema operacional (ou melhor, ao bootloader), eles precisam reverter para o modo real, porque é isso que esses carregadores esperam que o sistema esteja dentro.

coreboot e UEFI alternam para o modo protegido bastante cedo, enquanto para PCBIOSes (Phoenix / Award, Ami e assim por diante), não podemos dizer. Eles são de código fechado e geralmente não contam muito sobre seus internos, e suas interfaces são todas especificadas como modo real.

Para sistemas que rodam com ECC RAM, você pode ter certeza de que eles mudam para algum modo capaz de endereçar toda a RAM, então eles vão pelo menos para o modo protegido - isso porque eles precisam inicializar a memória (escreva algum valor para cada endereço) na inicialização ou o sistema pararia se algum código posterior ler endereços que nunca foram gravados (devido à detecção de erro que pode 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, ele pode ser executado em modo real o tempo todo.

    
por 03.05.2011 / 16:18