Central Processing Unit. C'est-à-dire Unité Principale de Traitement.
Le CPU est un processeur ou microprocesseur. Il est l'unité de traitement de données principale d'un ordinateur, ce qui veut dire qu'il va executer les programmes, ce qui peut inclure de déleguer une partie du traitement à d'autres processeurs périphériques, grâce à des instructions d'entrée-sortie. En plus de sa capacité de traitement , il a donc également une fonction de contrôle et de coordination de l'action de l'ensemble des composants d'un ordinateur. Son mode de fonctionnement, par exemple son langage, est défini par un micro-code embarqué au sein du processeur. Un programme est un ensemble d'instruction situé dans la mémoire centrale de l'ordinateur, que le processeur va lire puis executer séquentiellement, à moins d'un saut dans le programme. Le temps d'exécution propre à chaque instruction, est exprimé en cycles de l'horloge interne qui cadence l'activité du processeur.
Les parties essentielles d'un processeur sont :
- L' Unité Arithmétique et Logique (UAL, en anglais Aritmetic and Logical Unit - ALU), qui prend en charge les calculs arithmétiques élémentaires et les tests.
- Les registres, qui sont des mémoires de petite taille (quelques octets), suffisament rapides pour que UAL puisse manipuler leur contenu en temps réel. Un certains nombre de registres sont communs à la plupart des processeurs :
- Compteur d'instructions : Ce registre contient l'adresse mémoire de l'instruction en cours d'execution.
- Accumulateur : Ce registre est utilisé pour stocker les données en cours de traitement par l'UAL.
- Registre d'adresses : Il contient toujours l'adresse de la prochaine information à lire par l'UAL, soit la suite de l'instruction en cours, soit la prochaine instruction.
- Registre d'instructions : Il contient l'instruction en cours de traitement.
- Registre d'etat : Il sert à stocker le contexte du processeur, ce qui veut dire que les différents bits de ce registre sont des drapeaux (flags) servant à stocker des informations concernant le resultat de la dernière instruction executée.
- Pointeurs de pile : Ce type de registre, dont le nombre varie en fonction du type de processeur, contient l'adresse du somment de la pile (ou des piles).
- Registres généraux : Ces registres sont disponibles pour les calculs.
- Le séquenceur, qui qui permet de synchroniser les différents éléments du processeur. En particulier, il initialise les registres lors du démarrage de la machine et il gère les interruptions.
- L'unité d'entrée-sortie, qui prend en charge la communication avec la mémoire de l'ordinateur ou la transmission des ordres destinés à piloter ses processeurs spécialisés, permettant au processeur d'acceder aux périphériques de l'ordinateur.
Les processeurs actuels intègrent des éléments plus complexes :
- Plusieurs UAL, ce qui permet de traiter plusieurs instructions en même temps. L'architecture superscalaire, en particulier, permet de disposer des UAL en pipeline, c'est à dire en ligne, chaque UAL traitant une partie d'une instruction.
- Une unité de prédiction de saut, qui perment au processeur d'anticiper un saut dans le déroulement d'un programe, permettant d'optimiser l'utilisation de la mémoire cache.
- Une unité de calcul réel (en anglais Floating Point Unit - FPU), qui permet d'accélerer les calculs sur des nombres réels codés en virgule flottante.
- La mémoire cache, qui permet d'accélerer les traitements, en diminuant les accès à la RAM.
Un processeur est caractérisé par la cadence de son horloge exprimée en MHz (mégahertz) et la taille de ses registres (8, 16, 32, 64 bits).
Les architectures multi-processeurs permettent à une machine d'utiliser de façon concurrente plusieurs processeurs qui fonctionnent en parallèle. Il existe deux types d'architecture multi-processeurs :
- L'architecture symétrique (en anglais Symetric Multi-Processing - SMP), qui utilise plusieurs processeurs identiques à fin d'augmenter la puissance de calcul brute de la machine.
- L'architecture asymétrique (en anglais Asymetric Multi-Processing - AMP), qui adjoint au processeur central des processeurs souvent spécialisés, tels qu'on en trouve dans tous les ordinateurs modernes, par exemple pour contrôler les périphériques ou traiter les images et les sons.
Synonymes : Processeur, Microprocesseur, Microcontrôleur