L'essentiel d'un processeur
Le Processeur appelé aussi CPU (Central Processing Unit) est le cerveau du PC. Il s’agit de l’unité de traitement, interprétation et de l’exécution d’un programme au sein d’un PC.
Le premier microprocesseur (Intel 4004) a été inventé en 1971 avec une unité de calcul de 4 bits. Depuis, la puissance des processeurs augment exponentiellement.
Pour qu’un programme puisse s’exécuter dans le « cœur » d’un processeur, cela nécessite différentes briques :
ALU (Arithmetic and Logical Unit ) ou L’Unité Arithmétique et Logique :
Elle permet d’exécuter les instructions arithmétiques et logiques d’un programme. La vitesse d’exécution est optimale quand les opérandes se situent dans les registres propres du processeur plutôt que dans la mémoire externe. Les opérations ordinaires d’une ALU sont : Addition/Soustraction, Multiplication/Division et les opérations logiques portant sur des bits (AND, OR, Décalage …).
Banque de registres :
Les registres sont des cellules mémoire internes au CPU. Ils sont peu nombreux mais d'accès très rapide. Ils servent à stocker des variables, les résultats intermédiaires d'opérations (arithmétiques ou logiques) ou encore des informations de contrôle du processeur. Donc, ces registres sont :
- Soit à usage général, servent au stockage des résultats intermédiaires ;
- Soit spécifique, dédiés à une tâche précise.
Parmi les registres spécifiques on cite :
- PC (Program Counter) : au départ on le charge avec l'adresse de la première instruction. Pendant que le µp lit cette instruction dans la mémoire, la décode et l'exécute, le compteur est incrémenté de façon à contenir l'adresse de la prochaine instruction.
- Registre d'état : les différents bits de ce registre sont des drapeaux (flags) servant à stocker des informations concernant le résultat de la dernière instruction exécutée. Le registre d'état comporte en général un minimum de quatre drapeaux, que sont les indicateurs de nullité (résultat égal à zéro), de retenue, de dépassement de capacité, ainsi que de négativité (le résultat est inférieur à zéro).
- SP (Stack Pointer) ou le pointeur de pile : est un registre qui pointe vers une zone particulière de la mémoire appelée pile (par analogie avec une pile d'assiettes), décrémenté lors d'un transfert de mot dans la pile et incrémenté quand un mot est lu (quand on enlève une assiette). Son rôle est important lors des interruptions.
Mémoire en lecture seule ( dite « morte ») :
Constituée de composantes ROM (Read Only Memory) ou FLASH, ces mémoires ont surtout la capacité de conserver leurs contenus lorsque l’alimentation est coupée. Cette mémoire va donc naturellement contenir le code à exécuter.
Mémoire « vive » :
Communément appelée RAM (Random Access Memory) ce type de mémoire est accessible en lecture et en écriture par le processeur. Toutes les variables que vous créerez dans votre programme se retrouveront naturellement stockées dans ces éléments.
Les éléments constitutifs d'un processeur peuvent être schématiser comme suit:
Eléments constitutifs d'un processeur .
Pile de système :
C’est une zone de la mémoire RAM prédéfinie au départ par le programme. Elle est pointée par le registre SP. Elle sert au sauvegarde automatique de l'état du processeur (appels de sous-programmes, interruptions, ...).