En informatique, un micrologiciel (ou firmware en anglais) est un logiciel qui est intégré dans un composant matériel (en anglais hardware).
Le micrologiciel peut résider:
Dans la plupart des cas ce logiciel (En informatique, un logiciel est un ensemble d'informations relatives à des traitements...) gère le fonctionnement local du système électronique.
D'une manière générale, le micrologiciel cumule les avantages du logiciel, dont la souplesse est maximale puisqu'il est aisé de le modifier, et du matériel, dont le coût mais aussi la souplesse sont moindres. Cette organisation (Une organisation est) apparaît clairement dans les noms en anglais: soft > firm > hard (-ware). Dans ce contexte (Le contexte d'un évènement inclut les circonstances et conditions qui l'entourent; le...), quand on oppose logiciel et l'anglicisme 'firmware (En informatique, un micrologiciel (ou firmware en anglais) est un logiciel qui est intégré dans...)' (qui est un type de logiciel) on considère que " logiciel " signifie " logiciel de haut niveau exécuté par le CPU ". De son côté, le micrologiciel interagit avec des composants matériels qui ne peuvent plus être modifiés une fois fabriqués, ce qui réduit la nécessité de le mettre à jour (Le jour ou la journée est l'intervalle qui sépare le lever du coucher du Soleil ; c'est la...).
L'utilisateur final n'a d'ordinaire pas accès directement au micrologiciel mais peut parfois le modifier par l'installation de mises-à-jour (MaJ logicielle) pour profiter d'améliorations mineures ou de corrections de bogues. Pour cela il faut que le micrologiciel réside dans certains types de mémoires ROM " reprogrammables ", le plus souvent il s'agit de d'EEPROMs ou, ces derniers temps (Le temps est un concept développé par l'être humain pour appréhender le...), de mémoire flash (La mémoire flash est une mémoire de masse à semi-conducteurs ré-inscriptible,...) (c'est-à-dire des EEPROMs rapides).
En français, on utilise parfois et encore l'expression " logiciel interne " ou " logiciel embarqué " ou encore " logiciel d'exploitation " pour parler de micrologiciel.
On peut noter une petite subtilité de terminologie dans le monde du PC dont les programmes des BIOS sont exécutés par le CPU x86 (La famille x86 regroupe les microprocesseurs compatibles avec le jeu d'instructions de l'Intel...) (ex : code de gestion de la carte mère (La carte mère est un matériel informatique (composé de circuits imprimés et de...), d'une carte vidéo (La vidéo regroupe l'ensemble des techniques, technologie, permettant l'enregistrement ainsi que la...) ou SCSI) alors que les micrologiciels restent uniquement locaux aux périphériques et sont exécutés par le matériel qu'ils contiennent (ex : lecteur DVD (Le DVD officiellement Digital Versatile Disc - même si d'autres dénominations sont...) IDE ou SCSI, employant des micro-contrôleurs ou circuits de diverses familles).
Les deux cas sont parfois réunis, par exemple lorsque la ROM d'un périphérique contient le BIOS x86 ainsi que le micrologiciel destiné à son circuit propre, le BIOS déclenchant le chargement et l'exécution du micrologiciel.
Accessoirement cela permet de mesurer le degré d'indépendance d'un périphérique vis-à-vis du type de machine hôte car toute extension munie d'un BIOS pour PC n'est utilisable que sur une machine de ce type alors que celles qui n'emploient qu'un micrologiciel sont indépendantes de la machine hôte. C'est par exemple le cas des lecteurs/graveurs CD/DVD IDE, qui sont conformes à la norme (Une norme, du latin norma (« équerre, règle ») désigne un...) ATAPI donc fonctionnent sur toute machine IDE (PC, Mac...))