Architecture matérielle
Comprendre les grands principes du fonctionnement d'un ordinateur permet de mieux aborder d'autres domaines du numérique comme la programmation, l'algorithmique, ou encore le traitement de données.
Composants d'un ordinateur
Dans un ordinateur, on retrouve :
- Un processeur, souvent appelé CPU pour Central Processing Unit, qui exécute les instructions des programmes.
- Différentes mémoires, qui permettent de stocker les données traitées par des programmes pendant leur traitement ou entre deux traitements.
On trouve aussi en général, sur les ordinateur "de bureau" :
- Un circuit graphique ou une carte graphique, appelée GPU pour Graphical Processing Unit, qui est un composant spécialisé dans l'affichage et le traitement d'images. Il est parfois intégré au CPU.
- Un gestionnaire d'entrées sorties, qui permet de détecter et traiter des évènements extérieurs, comme un appui sur une touche du clavier.
- Une alimentation électrique
Ces composants, et d'autres, sont montés sur la carte mère, ou motherboard en anglais, qui permet la communication entre tous les composants.
La majorité des ordinateurs de bureau ont également besoin d'un système de refroidissement des composants, car ceux-ci génèrent de la chaleur en fonctionnant.
CPU
Si on regarde les caractéristiques d'un processeur (Par exemple le AMD Ryzen 5 7600X), on voit qu'il a :
- Une fréquence (4,7 GHz)
- Une fréquence turbo (5,3 GHz)
- Un nombre de coeurs, ou cores (6)
- Un nombre de threads (12)
- Une enveloppe thermique TDP
Ces caractéristiques définissent en partie les performances du processeur.
Fréquence et turbo
Un processeur execute les instructions d'un seul programme à la fois, de manière séquentielle, les unes à la suite des autres. Par exemple :
La fréquence du processeur est le nombre d'instructions que le processeur exécute en une seconde. Ainsi, une fréquence de 4,7GHz corresponds à 4,7 milliards d'instructions par seconde.
Les processeurs peuvent moduler leur fréquence pour économiser de l'énergie et générer moins de chaleur. La fréquence annoncée est donc la fréquence maximale atteignable par le processeur.
Le turbo est un mode particulier. Quand le processeur fonctionne à une fréquence basse et donc consomme peut d'énergie et chauffe peu, il autorise le processeur à effectuer des petits sprints, sur des périodes très courtes, au delà de la fréquence maximale pour laquelle le processeur a été conçu. Celà peut aider la réactivité pour les programmes peu gourmands en calculs, mais n'augmente pas les performances pour des programmes qui font un usage intensif du CPU, comme les jeux vidéos.
Remarques
Comme toujours, la réalité est bien plus complexe :
Une instructionsPython n'est pas executées directement par le processeur, mais découpée en une séquence d'instructions élémentaires, que nous verrons au chapitre suivant.
La fréquence d'un processeur n'est pas exactement le nombre d'instructions executées par seconde, parce que certaines techniques et contraintes font que des instructions prennent plus ou moins longtemps à s'exécuter.
Coeurs et threads
La plupart des processeurs modernes comportent plusieurs coeurs. Chaque coeur d'un processeur est une unité autonome, capable d'executer une séquence d'instructions indépendamment des autres coeurs. Donc, un processeur avec 6 coeurs peut exécuter 6 séquences d'instructions en même temps.
Le nombre de coeurs augmente la puissance de calcul générale d'un processeur, mais n'augmente pas toujours la performance d'execution d'un programme en particulier, parce que la plupart des programmes ne sont par conçus pour utiliser s'executer sur plusieurs coeurs à la fois. Et même les programmes qui le sont, comme les jeux vidéos, sont souvent prévus pour un certain nombre de coeur assez bas, comme 4 ou 6.
Les threads sont une technologie qui permet d'executer en meme temps plusieurs séquence d'instructions sur un même processeur. Il y a en général deux threads par coeur. Un processeur à 12 threads peut donc executer 12 séquences d'instructions en même temps.
Toutefois, une execution de deux séquences sur deux threads sur un processeur est en général moins performante qu'une execution sur deux processeurs différents.
Enveloppe thermique
L'enveloppe thermique, parfois abrégée TDP pour Thermal Design Power est la quantité de chaleur minimale qui doit être évacuée du processeur pour son bon fonctionnement à pleine puissance. Les sytèmes de refroidissement doivent donc être choisis en accord avec cette valeur.
Mémoire RAM et cache
La RAM pour (Random Access Memory, mémoire à accès aléatoire) est le composant utilisé pour stocker la grande majorité des données des programmes pendant leur exécution. C'est par exemple dans la RAM que sont stockées les variables.
Dans un ordinateur de bureau en 2023, on trouve le plus souvent une RAM allant de 4 à 64 Go.
Il existe plusieurs types de RAM, mais la plus commune est la DRAM (Dynamic Random Access Memory), qui doit être alimentée en électricité en permanence, sans quoi les données qu'elles contient sont effacées.
La performance de la RAM se compte généralement en millions de transferts (un transfert est la lecture ou l'écriture d'un paquet de bits d'une taille donnée, souvent 64 bits) par seconde. En général, cette donnée se trouve sous la forme PCX-YYYYY
Où X
est un chiffre, et YYYYY
le nombre représentant la RAM en millions de transferts. Par exemple PC5-38400
veut dire 38400 millions de transferts par seconde.
Mémoire de stockage
La RAM, pour des raisons de coûts, a une taille limitée et est effacée (et donc perds ses données) quand on met hors tension l'ordinateur.
Un ordinateur comporte donc en général une mémoire de stockage, qui est d'une taille plus conséquente, sous la forme d'un disque dur ou d'un SSD.
Les stockages sont en général très lents d'accès (en comparaison de la vitesse de calcul d'un processeur), et donc la RAM reste un intermédiaire nécessaire.
Disque dur
Un disque dur est composé d'un empilement de plusieurs disques magnétiques tournant à grande vitesse. Une tête de lecture-ecriture parcours chaque disque, et modifie le magnétisme du disque localement pour enregistrer ou lire des données.
Les disques durs sont très peu chers et ont une bonne fiabilité car leurs zones de stockage ne se dégradent pas à l'usage. Un disque dur va de 500Go à 10To.
SSD
Les SSD (Solid State Drive) offrent dans la majorité des cas une plus grande vitesse de lecture et d'écriture que les disques durs, mais sont plus chers et ont le désavantage de perdre en capacité chaque fois qu'on écrit de nouvelles données.
La taille d'un SSD varie de 32Go a 2To.
Dans les ordinateurs modernes, les SSD sont en général utilisés pour stocker le système d'exploitation et les programmes et données utilisés fréquemment (par exemple votre jeu préféré), et les disques durs sont utilisés pour stocker les données massives ou qui demandent de nombreuses écritures (par exemple un projet de montage vidéo).