Les noms de Raspberry Pi ou Arduino font souvent référence à des termes « techniques » comme les processeurs. Bien souvent, on parle de microprocesseurs, de microcontrôleurs et même de SoC voire de SoC à double cœurs de processeur.
Dans cet article, premier d’une série de trois, je vous présenterai les processeurs :
- Un peu d’histoire
- Les tendances actuelles
- Une présentation simplifié des microprocesseurs
Bonne lecture
1. Un peu d’histoire
2. Où s’arrêtera la miniaturisation ?
3. Les microprocesseurs
a. Le CPU – processeur –
b. Mémoire de données et de programme
c. Éléments extérieurs
Liens vers les autres articles :
Processeurs et Microprocesseurs
1.Un peu d’histoire
Source : https://fr.wikipedia.org/wiki/ENIAC
Intel a été le premier a intégré dans un seul « boitier », un circuit intégré, tous les éléments constitutifs d’un processeur : le microprocesseur est né.
Auparavant, les premiers processeurs pouvant prendre une salle entière car composé non pas de transistors, mais de tubes électroniques et de relais.
Le processeur est la pièce centrale de l’ordinateur, et le tout premier ordinateur, l’ENIAC date de 1945.
Il contenait plus près de 18.000 tubes à vide, 1.500 relais, 7.000 diodes, 100 condensateurs et 70.000 résistances.
Et bien sûr, tout cela était soudé à la main (cinq millions).
Son poids était de 30 tonnes et 167 mètres carrés de superficie)
En 2018, IBM sortit pour le « plus petit » ordinateur d’un millimètre carré (trouvez le sur la photo ci-dessous ), Suivi quelques mois plus tard par celui de l’université de Michigan :
Figure 1 : @IBM | Figure 2 @Université de Michigan |
Certes, leurs fonctionnalités sont limitées et ils n’ont pas toutes les fonctionnalités d’un « vrai »
Pour les gamers il y en a un :
Ou sa version portable :
2.Où s’arrêtera la miniaturisation ?
Il est difficile de répondre à cette question, mais la loi de Moore prédit le doublement du nombre de transistors sur une puce tous les deux ans.
Et celle loi se vérifie depuis le tout début :
Avec un zoom sur le haut (50 millions) :
3.Architecture des microprocesseurs
Le microprocesseur, dans sa version la plus simple c’est un processeur (CPU), de la mémoire et des entrées/sorties
Les périphériques peuvent être considérées comme des interfaces d’entrées-sorties.
a.Le CPU – processeur –
Le processeur a trois missions :
- Charge les instructions à exécuter
- Les décode
- Les exécute
Pour cela il est composé de :
- UAL (Unité Arithmétique et Logique) qui va effectuer les calculs arithmétiques basiques (+,-,*,/) et les opérations logiques AND, OR …
- UC (Unité de Commande) traduit les commandes puis les exécute
- De registres
- d’un compteur ordinal (PC) pointant à l’adresse de la prochaine instruction
- …
Pour un schéma plus parlant :
Figure 3 https://www.iro.umontreal.ca/~monnier/1215/notes-cpumem.pdf
L’UC récupère les instructions dans la mémoire, incrémente le PC, calcule avec l’ALU, gère les interfaces écrit dans la mémoire.
Le processeur exécute des actions très simples comme mettre une valeur dans tel registre, additionner, charger un programme …
b.Mémoire de données et de programme
Il existe deux schémas : soit les données et la mémoire de programme utilisent le même bus ou alors deux bus différents.
Le premier cas est appelé Architecture de Von Neumann et le second celle de Harvard
Architecture de Von Neumann | Architecture de Harvard |
L’architecture de Harvard est principalement utilisée pour les microcontrôleurs, les SoC et le DSP (Digital Signal Processors) : il permet d’effectuer simultanément la lecture dans la mémoire des données et dans celle contenant le programme. De plus, cette architecture permet d’avoir une taille de bus de données différente de celle du programme (par exemple 8 bits sur les données et une largueur de bus « programme » de 16 bits).
Dans tous les cas, le jeu d’instruction est de type RISC (voir plus loin)
c.Éléments extérieurs
Pour fonctionner, un microprocesseur à besoin :
- Horloge pour le cadencer
- Des mémoires RAM et ROM
- De périphériques