Vous êtes sur la page 1sur 2

Firmware

logiciel bas niveau traditionnellement stocké en mémoire morte

Dans un système informatique,


un firmware (ou micrologiciel[1], microprogramme[1],[2], microcode, logiciel
interne ou encore logiciel embarqué) est un programme intégré dans
un matériel informatique (ordinateur, photocopieur, automate (API, APS), disque
dur, routeur, appareil photo numérique, etc.) pour qu'il puisse fonctionner.
Description :

Le firmware permet à un matériel informatique d’évoluer (via des mises à jour),


d'intégrer de nouvelles fonctionnalités, sans avoir besoin de revoir complètement le
design du hardware.
La mémoire dans laquelle réside le firmware peut être :
• non volatile, stockant le programme et les données même lorsqu'elle n'est pas alimentée
en électricité. C'est le cas le plus courant, avec des ROM, des EPROM ou une mémoire
flash ;
• volatile, donc effacée lorsqu'elle n'est plus alimentée en électricité. Dans ce cas,
le firmware doit être chargé par un pilote à la mise sous tension.

Dans la plupart des cas, ce logiciel gère le fonctionnement interne du


système électronique.
D'une manière générale, le firmware cumule les avantages du logiciel, qu'il est
possible de modifier, et du matériel, plus efficace. De son côté, le firmware 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.
On peut noter que :

• le firmware des ordinateurs (BIOS ou EFI) est exécuté par son (ou ses) CPU interne
(exemples : code de gestion de la carte mère, d'une carte vidéo ou SCSI) ;
• le firmware interne à chaque périphérique est exécuté par le matériel que celui-ci
contient (exemples : lecteur DVD, IDE ou SCSI, employant des micro-contrôleurs ou
circuits de diverses familles).

Cependant, les deux cas précédents sont parfois réunis, par exemple, lorsque la ROM
d'un périphérique contient une partie du BIOS de l'ordinateur ainsi que
le firmware destiné à la gestion de ce périphérique. 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 firmware sont
indépendantes de la machine hôte. C'est par exemple le cas des lecteurs/graveurs
CD/DVD IDE, lesquels sont conformes à la norme ATAPI et fonctionnent donc sur
toute machine IDE (PC, Mac…)
Architecture d'un firmware :
Plusieurs architectures sont connues en fonction du champ d’application
du firmware, en partant des ordinateurs ou des équipements de grande utilité, mais
aussi en fonction du type de firmware. Les différentes architectures de firmwares sont
basées sur des bus entrées-sorties. Il est donc opportun de préciser qu’il n’existe pas
d’architecture standard ni de modèle figé d’architecture des firmwares.
Les firmwares, comme l’ensemble des systèmes à mémoire, se caractérisent
généralement par la taille de la mémoire qui induit le temps de flashage, le flux de
transfert et la méthode de mise à jour. Les firmwares peuvent être classés en deux
grandes familles : le type « binaire », compressé ou non, et le type archive[3].
Dans les systèmes embarqués, le firmware est généralement organisé comme
représenté sur la figure ci-contre. Au cours du processus de démarrage, le chargeur
d'amorçage (bootloader en anglais), est maintenu. Il peut être amorcé en premier lieu
lorsque le système est sous tension. Le noyau de l'OS suit de près.
Le bootloader initialise le matériel nécessaire et prépare les environnements logiciels
de fonctionnement. Dans les détails, il divise le processus de chargement en deux
parties. L’étape 1 est étroitement liée au matériel.
Dans l'espace restant, les programmes d'applications sont stockés et généralement
organisés par le système de fichiers et la mémoire vive[4]. Avant de démarrer l'étape
2, le bootloader vérifie habituellement un premier code de 4 ko chargé par le
matériel selon le processus de démarrage décrit.
Ensuite, l'étape 2 est chargée et démarrée. Cette étape permet de lancer les fonctions
plus sophistiquées. Le bootloader initialise les différents besoins pour le matériel
(ports, les entrées et les sorties). Il va ensuite charger et démarrer le noyau du
système chargé de la gestion des ressources du système, tels que les différents
processus, la gestion de la mémoire. Ainsi, le système est démarré et les programmes
d'application peuvent fonctionner sur la base des valeurs d'initialisation.

Exemples :

Les BIOS présents dans les ordinateurs de type PC sont des firmwares.
EFI
Les firmwares EFI (de l'anglais Extensible Firmware Interface) sont amenés à remplacer
les BIOS sur les cartes mères des PC car ils possèdent une simplicité de programmation
que le BIOS n'a pas.[réf. nécessaire]
Son inconvénient est d'ajouter une couche supplémentaire entre le hardware et
l'utilisateur, compensée par une plus grande rapidité des processeurs et des mémoires.

Vous aimerez peut-être aussi