L'objectif de cet article est de donner une synthèse des éléments les plus importants en matière d'architecture des microprocesseurs. Le concept de microprocesseur, qui correspond à une implémentation de la fonction unité de traitement sur un seul circuit, ne s'éloigne pas, en termes d'architecture, des processeurs au sens général. C'est pourquoi cette introduction à l'architecture des microprocesseurs ne fait pas seulement référence aux seuls microprocesseurs, mais place ceux-ci dans le contexte plus général de l'évolution de l'architecture des processeurs.
Les microprocesseurs sont au cœur de la révolution du numérique. Ils permettent le développement d'applications et de solutions accessibles au plus grand nombre de par leur universalité et leurs performances. Leur généralisation dans les systèmes numériques fait qu'ils sont un élément incontournable. Les caractéristiques architecturales et leurs liens avec le logiciel sont des éléments fondamentaux pour estimer les performances d'une solution complète à base de microprocesseurs, aussi bien pour le développement d'un nouveau système que pour son utilisation. La variété des domaines d'application a conduit à un foisonnement de modèles de microprocesseurs, en particulier dans les systèmes mobiles. Par contre ceux-ci se basent tous sur des concepts identiques au niveau architecture. Cet article a pour objectif de parcourir ces différents concepts et de montrer comment ils se déclinent au travers d'exemples d'implémentations. On se base ici principalement sur les microprocesseurs d'ordinateurs personnels et de serveurs, ceux de systèmes embarqués reprenant de manière plus ou moins simplifiée les mêmes concepts.
Les principaux aspects développés dans l'article concernent l'architecture interne des pipelines de traitement des instructions qui extraient du programme à exécuter le maximum d'instructions à exécuter en parallèle, la hiérarchie mémoire qui permet de limiter l'impact des temps d'accès à la mémoire centrale, le support système qui permet en particulier de virtualiser la taille limitée de la mémoire centrale et gérer plusieurs applications en même temps, les jeux d'instructions qui sont le lien entre le logiciel et le matériel, les interfaces vers les périphériques qui concourent à la performance globale d'un système, le parallélisme qui est une source de performances délicate à optimiser et pour terminer quelques éléments d'évaluation des performances des microprocesseurs haut de gamme.