Les processeurs modernes sont des dispositifs complexes qui peuvent être affectés par des bogues. De plus, au lieu d'exécuter les instructions x86 directement, les processeurs x86 modernes contiennent un programme interne qui implémente le support du jeu d'instructions x86. Ce programme interne est appelé microcode ou microprogramme. Le microcode peut être mis à jour pour corriger ou compenser des bogues du processeur.
Certains bogues de processeur peuvent provoquer un plantage de Firefox. Par exemple, Firefox 57 et versions plus récentes, sont connus pour planter occasionnellement avec des processeurs Broadwell-U équipés d'un ancien microcode d'une façon jamais rencontrée avec des versions plus récentes du microcode Broaswell-U.
Les mises à jour de microcode peuvent être chargées sur le processeur en utilisant le firmware (ordinairement appelé BIOS même sur des ordinateurs qui ont techniquement un firmware UEFI à la place du bon vieux BIOS) ou par le système d'exploitation. Les mises à jour de microcode ne se conservent pas après redémarrage, donc dans le cas d'un système à double amorçage, si la mise à jour du microcode n'est pas transmis via le BIOS, les deux systèmes d'exploitation devront founir la mise à jour.
Avec Mac, pour avoir un système à jour, installez toutes les mises à jour du système OS X et toutes les mises à jour du firmware Apple proposées dans le panneau « Mises à jour » de l'application App Store.
Pour permettre à Windows de charger le microcode mis à jour sur le processeur, assurez-vous que Windows Update est activé et paramétré de façon à installer les mises à jour.
Pour voir la microarchitecture du processeur et quelle révision du microcode est utilisée, lancez la commande
reg query HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System\CentralProcessor\0
dans l'invite de commande Windows. (Vous pouvez ouvrir l'invite de commande en appuyant sur Windows + R, en saisissant cmd
et en appuyant sur Entrée.) La ligne étiquetée « VendorIdentifier » indique le fabricant du processeur (GenuineIntel pour Intel ou AuthenticAMD pour AMD). La ligne étiquetée « Identifier » donne la microachitecture par trois nombres « Family », « Model » et « Stepping ». Ces derniers sont pertinents pour savoir si un bug de processeur en particulier pourrait s'appliquer au processeur de votre ordinateur. La ligne étiquetée « Update revision » montre la révision actuelle du microcode (pour cette microarchitecture spécifique) avec des zéros des deux côtés. Par exemple, Update Revision REG_BINARY 000000001E000000
signifie qu'il s'agit de la révision 1E (en hexadécimal). La ligne étiquetée « Previous Update Revision » indique la révision du microcode chargé depuis le BIOS.
Si le fabricant est GenuineIntel, la famille 6, le modèle 61 et le stepping 4, pour éviter les plantages avec Firefox 57 ou ultérieur, la révision du microcode doit être 1A ou plus élevée.
Selon la distribution Linux, les mises à jour du microcode sont actives ou non par défaut et cela peut être différent pour les processeurs Intel ou AMD.
- Dans les distributions basées sur Debian, dont Ubuntu, les mises à jour du microcode des processeurs Intel sont fournies par le paquet
intel-microcode
et les mises à jour du microcode des processeurs AMD sont fournies par le paquetamd64-microcode
. - Dans Arch, les mises à jour du microcode des processeurs AMD sont installées par défaut, mais les mises à jour de microcode Intel demandent une procédure particulière.
- Dans Fedora, les mises à jour de microcode des processeurs sont installées par défaut.
Pour voir la microarchitecture du processeur et quelle révision du microcode est utilisée, lancez la commande less /proc/cpuinfo
dans un terminal. La ligne étiquetée « vendor_id » indique le fabricant du processeur (GenuineIntel pour Intel ou AuthenticAMD pour AMD). La microachitecture est donnée par trois nombres sur les lignes étiquetées « cpu family », « model » et « stepping ». Ces derniers sont pertinents pour savoir si un bogue de processeur en particulier pourrait s'appliquer au processeur de votre ordinateur. La ligne étiquetée « microcode » montre la révision actuelle du microcode (pour cette microarchitecture spécifique) en hexadécimal.
Si le fabricant est GenuineIntel, la famille 6, le modèle 61 et le stepping 4, pour éviter les plantages avec Firefox 57 ou ultérieur, la révision du microcode doit être 0x1A ou plus élevée.