Classification des systèmes informatiques selon les processeurs
Un système informatique peut être organisé de différentes manières, que nous pouvons classer en fonction du nombre de processeurs à usage général utilisés.
1. Systèmes à processeur unique
Système monoprocesseur
Il y a de nombreuses années, la plupart des systèmes informatiques utilisaient un seul processeur contenant un processeur avec un seul cœur de traitement. Le cœur est le composant qui exécute les instructions et les registres pour stocker les données localement.
Le processeur principal avec son cœur est capable d'exécuter un jeu d'instructions à usage général, y compris des instructions de processus.
Processeurs spéciaux
Ces systèmes ont également d'autres processeurs spéciaux. Ils peuvent se présenter sous la forme de processeurs spécifiques à l'appareil, tels que les contrôleurs de disque, de clavier et graphiques.
- Tous ces processeurs spéciaux exécutent un jeu d'instructions limité et n'exécutent pas de processus.
- Parfois, ils sont gérés par le système d'exploitation (le système d'exploitation leur envoie des informations sur leur prochaine tâche et surveille leur état).
- Dans d'autres cas, ils sont des composants de bas niveau intégrés au matériel et fonctionnent de manière autonome.
- Contrôleur de disque : reçoit une séquence de requêtes du CPU principal et implémente sa propre file d'attente et son propre algorithme de planification.
- Microprocesseur du clavier : convertit les frappes en codes à envoyer au CPU.
L'utilisation de microprocesseurs spéciaux est courante et ne transforme pas un système à processeur unique en un système multiprocesseur. S'il n'y a qu'un seul processeur à usage général avec un seul cœur de traitement, le système est un système à processeur unique.
2. Systèmes multiprocesseurs
Sur les ordinateurs modernes, les appareils mobiles et les serveurs, les systèmes multiprocesseurs dominent désormais le domaine informatique. Traditionnellement, ces systèmes ont deux processeurs (ou plus), chacun avec un processeur monocœur. Les processeurs partagent le bus informatique et parfois l'horloge, la mémoire et les périphériques.
Avantages des systèmes multiprocesseurs
- Augmentation du débit : en augmentant le nombre de processeurs, nous nous attendons à faire plus de travail en moins de temps.
Le rapport d'accélération avec N processeurs n'est cependant pas N ; il est inférieur à N. Lorsque plusieurs processeurs coopèrent sur une tâche, une certaine surcharge est encourue pour que toutes les parties fonctionnent correctement. Cette surcharge, plus la contention pour les ressources partagées, réduit le gain attendu des processeurs supplémentaires.
2.1 Multitraitement symétrique (SMP)
Symmetric Multiprocessing
Les systèmes multiprocesseurs les plus courants utilisent le multitraitement symétrique (SMP), dans lequel chaque processeur CPU homologue exécute toutes les tâches, y compris les fonctions du système d'exploitation et les processus utilisateur.

Figure : Architecture SMP avec deux processeurs partageant la mémoire
Caractéristiques :
- Chaque processeur CPU dispose de son propre ensemble de registres.
- Chaque processeur dispose d'un cache privé ou local.
- Tous les processeurs partagent la mémoire physique sur le bus système.
Avantages :
- De nombreux processus peuvent être exécutés simultanément (N processus avec N CPU).
- Les performances ne se détériorent pas de manière significative.
Inconvénients :
- Une CPU peut rester inactive tandis qu'une autre est surchargée.
- Ces inefficacités peuvent être évitées si les processeurs partagent certaines structures de données.
2.2 Systèmes multicœurs
La définition de multiprocesseur a évolué au fil du temps et inclut désormais les systèmes multicœurs, dans lesquels plusieurs cœurs de calcul résident sur une seule puce.

Figure : Architecture double cœur avec caches L1 et L2
- Communication plus rapide : la communication sur la puce est plus rapide que la communication entre les puces.
- Efficacité énergétique : une puce à plusieurs cœurs consomme beaucoup moins d'énergie que plusieurs puces à un seul cœur (important pour les appareils mobiles et ordinateurs portables).
- Chaque cœur dispose de son propre jeu de registres.
- Chaque cœur a son propre cache local (L1).
- Un cache de niveau 2 (L2) est local à la puce mais partagé par tous les cœurs.
En dehors des considérations architecturales (contention de cache, de mémoire et de bus), un processeur multicœur avec N cœurs apparaît au système d'exploitation comme N CPU standard. Cette caractéristique met la pression sur les concepteurs de systèmes d'exploitation et les programmeurs d'applications pour utiliser efficacement ces cœurs.
Pratiquement tous les systèmes d'exploitation modernes (Windows, macOS, Linux, Android, iOS) prennent en charge les systèmes SMP multicœurs.
2.3 Architecture NUMA (Non-Uniform Memory Access)
L'ajout de processeurs supplémentaires à un système multiprocesseur augmente la puissance de calcul, mais la contention pour le bus système devient un problème et les performances commencent à se dégrader.
L'approche NUMA (Non-Uniform Memory Access) fournit à chaque CPU (ou groupe de CPU) sa propre mémoire locale accessible via un petit bus local rapide.

Figure : Architecture NUMA avec mémoires locales et interconnexion système
- Les processeurs sont connectés par une interconnexion système partagée.
- Tous les processeurs partagent un espace d'adressage physique.
- L'accès à la mémoire locale est rapide et sans conflit sur l'interconnexion.
- Les systèmes NUMA peuvent évoluer plus efficacement à mesure que de nouveaux processeurs sont ajoutés.
- Latence accrue lorsqu'un processeur doit accéder à la mémoire distante via l'interconnexion.
- Exemple : CPU0 ne peut pas accéder à la mémoire locale de CPU3 aussi rapidement qu'à sa propre mémoire locale.
- Les systèmes d'exploitation peuvent minimiser cette pénalité grâce à une planification minutieuse du processeur et à une gestion de la mémoire adaptée.
Récapitulatif des architectures
| Architecture | Caractéristique | Avantages | Inconvénients |
|---|---|---|---|
| Monoprocesseur | Un seul CPU à usage général | Simple, peu coûteux | Limité en performance, pas de parallélisme |
| SMP | Plusieurs CPU partageant la mémoire | Parallélisme, mémoire partagée uniforme | Contention sur le bus, scaling limité |
| Multicœur | Plusieurs cœurs sur une puce | Communication rapide, faible consommation | Complexité de programmation |
| NUMA | Mémoire locale par CPU + interconnexion | Bon scaling, accès local rapide | Latence mémoire non uniforme |
- Les systèmes se classent selon le nombre de processeurs à usage général : monoprocesseur ou multiprocesseur.
- Les processeurs spéciaux (contrôleurs) ne comptent pas dans cette classification.
- Les systèmes multiprocesseurs dominent aujourd'hui (ordinateurs, mobiles, serveurs).
- Le multitraitement symétrique (SMP) est l'architecture la plus courante.
- Les systèmes multicœurs placent plusieurs cœurs sur une même puce (économie d'énergie, communication rapide).
- L'architecture NUMA attribue une mémoire locale à chaque processeur pour améliorer le passage à l'échelle.
- L'accélération avec N processeurs est toujours inférieure à N (surcharge, contention).
- Les systèmes d'exploitation modernes supportent toutes ces architectures.
Discussion (0)
Soyez le premier à laisser un commentaire !
Laisser un commentaire
Votre commentaire sera visible après modération.