Processadores modernos são dispositivos complexos que podem ter bugs. Além disso, em vez de executar instruções x86 diretamente, processadores x86 modernos contêm código interno que implementa suporte para o conjunto de instruções x86. O código interno é chamado microcódigo. O microcódigo pode ser atualizado para corrigir ou contornar bugs de CPU.
Alguns bugs de CPU podem fazer o Firefox travar. Por exemplo, o Firefox 57 em diante é conhecido por ocasionalmente travar em CPUs Broadwell-U com microcódigo antigo de maneira não vista com versões mais novas de microcódigo Broadwell-U.
Atualizações de microcódigo podem ser carregadas na CPU por firmware (normalmente chamado BIOS, mesmo em computadores que tecnicamente têm firmware UEFI em vez da antiga BIOS) ou pelo sistema operacional. Atualizações de microcódigo não persistem após um reboot, portanto em caso de sistemas dual-boot, se a atualização de microcódigo não for fornecida via BIOS, ambos os sistemas operacionais precisam fornecer a atualização.
No Mac, para ter um sistema atualizado, aplique todas as atualizações do sistema OS X e atualizações de firmware da Apple oferecidas no painel Atualizações do aplicativo App Store.
Para permitir que o Windows carregue microcódigo atualizado na CPU, garanta que o Windows Update esteja habilitado e configurado para instalar atualizações.
Para ver a microarquitetura do processador e qual revisão de microcódigo está em uso, execute o comando
reg query HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System\CentralProcessor\0
na janela de linha de comando do Windows (você pode abrir a janela de linha de comando teclando Windows + R, digitando cmd
e apertando Enter). A linha comçando com "VendorIdentifier" exibe o fabricante da CPU (GenuineIntel para Intel ou AuthenticAMD para AMD). A linha iniciada por "Identifier" mostra a microarquitetura com três números: "Family", "Model" e "Stepping". Eles são relevantes para identificar se um bug de CPU em particular pode ser relevante para a CPU de seu computador. A linha com "Update Revision" (ou "Update Signature") mostra a revisão de microcódigo atual (para a microarquitetura particular) com zeros em ambos os lados. Por exemplo, Update Revision REG_BINARY 000000001E000000
significa que a revisão é 1E (hexadecimal). A linha com "Previous Update Revision" (ou "Previous Update Signature") mostra a revisão de microcódigo carregada pela BIOS.
Se o fabricante é GenuineIntel, family é 6, model é 61 e stepping é 4, para evitar travamentos com o Firefox 57 em diante, a revisão de microcódigo precisa ser 1A ou maior.
Se atualizações de microcódigo estão em uso por padrão depende da distribuição Linux e pode diferir em CPUs Intel ou AMD.
- Em distribuições baseadas em Debian, incluindo Ubuntu, atualizações de microcódigo para processadores Intel são fornecidas pelo pacote
intel-microcode
e atualizações de microcódigo para processadores AMD são fornecidas pelo pacoteamd64-microcode
. - No Arch, atualizações de microcódigo AMD estão instaladas por padrão, mas atualizações de microcódigo Intel exigem etapas especiais.
- No Fedora, atualizações de microcódigo estão instaladas por padrão.
Para ver a microarquitetura do processador e qual revisão de microcódigo está em uso, execute o comando "less /proc/cpuinfo
" no terminal. A linha iniciada por "vendor_id" mostra o fabricante da CPU (GenuineIntel para Intel ou AuthenticAMD para AMD). A microarquitetura é mostrada como três números nas linhas com rótulos "cpu family", "model" e "stepping". Eles são relevantes para indentificar se um bug de CPU em particular pode ser relevante para a CPU de seu computador. A linha com rótulo "microcode" mostra o número da revisão de microcódigo (para a microarquitetura particular) em hexadecimal.
Se o fabricante for GenuineIntel, family 6, model 61 e stepping 4, para evitar travamentos com o Firefox 57 em diante, a revisão de microcódigo precisa ser 0x1A ou maior.