Aller au contenu

Architecture matérielle des ordinateurs

Programme

Exprimer un algorithme dans un langage de programmation a pour but de le rendre exĂ©cutable par une machine dans un contexte donnĂ©. La dĂ©couverte de l’architecture des machines et de leur systĂšme d’exploitation constitue une Ă©tape importante.
Les circuits Ă©lectroniques sont au cƓur de toutes les machines informatiques. Les rĂ©seaux permettent de transmettre l’information entre machines. Les systĂšmes d’exploitation gĂšrent et optimisent l’ensemble des fonctions de la machine, de l’exĂ©cution des programmes aux entrĂ©es-sorties et Ă  la gestion d’énergie.
On étudie aussi le rÎle des capteurs et actionneurs dans les entrées-sorties clavier, interfaces graphiques et tactiles, dispositifs de mesure physique, commandes de machines, etc.

Notions Compétences Remarques
ModĂšle d’architecture sĂ©quentielle (von Neumann) Distinguer les rĂŽles et les caractĂ©ristiques des diffĂ©rents constituants d’une machine. La prĂ©sentation se limite aux concepts gĂ©nĂ©raux.
On distingue les architectures monoprocesseur et les architectures multiprocesseur.
Des activités débranchées sont proposées.
Les circuits combinatoires réalisent des fonctions booléennes.

Histoire de l'architecture de von Neumann

L'informatique revient donc Ă  rĂ©aliser une suite d'instructions (combinaisons de portes logiques) sur un certain nombre de donnĂ©es binaires. Reste Ă  dĂ©terminer comment organiser ces circuits logiques pour concevoir des ordinateurs... En 1945, le dĂ©veloppement du projet EDVAC amĂšne John von Neumann (mathĂ©maticien et physicien amĂ©ricano-hongrois 1903-1957) a imaginĂ© l'utilisation d'une structure de stockage (mĂ©moire) pour stocker Ă  la fois les donnĂ©es et les instructions. Ce modĂšle repose sur l'idĂ©e d'un ordinateur composĂ© de quatre composants principaux : l'unitĂ© de traitement central (CPU), la mĂ©moire, l'unitĂ© de contrĂŽle et les entrĂ©es/sorties. L'architecture de von Neumann a rĂ©volutionnĂ© le domaine de l'informatique en introduisant la notion de programme enregistrĂ©, oĂč les instructions et les donnĂ©es sont stockĂ©es dans la mĂȘme mĂ©moire, ce qui permet une plus grande flexibilitĂ© et efficacitĂ© dans l'exĂ©cution des tĂąches. Ce modĂšle a jetĂ© les bases de la conception des ordinateurs, a influencĂ© de nombreuses autres architectures informatiques, mais reste le modĂšle central de l'informatique moderne.

Principe de l'architecture de von Neumann

Cliquez sur les différentes partie du schéma ci-dessous pour plus d'information.

Périphériques de sortie
Périphériques de sortie
Unité Centrale de Traitement (CPU)
Unité Centrale de Traitement
MĂ©moire
MĂ©moire
Périphériques d'entrée
Périphériques d'entrée
Unité de ContrÎle
Unité de ContrÎle
Unité Arithmetique et Logique
Unité Arithmetique et Logique
Registres
Registres

Les flÚches représentent les différentes lignes de communication reliant les composants entre eux, appelées bus.

Améliorations de l'architecture de von Neumann
Pérenniser la mémoire

La mĂ©moire vive (RAM , pour Random Access Memory) de l'ordinateur a besoin d'ĂȘtre alimentĂ©e en permanence pour garder les donnĂ©es. À chaque extinction de l'ordinateur, elle est perdue : on la qualifie de mĂ©moire volatile. Mais c'est dans la mĂ©moire vive qu'est chargĂ© le systĂšme d'exploitation de l'ordinateur (Windows, Linux, etc) et que sont stockĂ©es provisoirement les donnĂ©es dont il a besoin lors de l'exĂ©cution de programmes (navigateur Web, outils bureautiques, etc.). C'est en quelque sorte la mĂ©moire Ă  court-terme de l'ordinateur.

Pour résoudre le problÚme de non persistance de la RAM, on recourt à deux types de mémoires non volatiles :

  • La mĂ©moire morte est une mĂ©moire qui ne peut ĂȘtre que lue (ROM Read Only Memory) : elle contient le micrologiciel (firmware) de l'ordinateur (BIOS ou UEFI) qui est le programme qui se charge Ă  chaque allumage de l'ordinateur, avant mĂȘme le lancement du systĂšme d'exploitation.
  • La mĂ©moire de masse. Pour stocker les donnĂ©es et les programmes, on ajoute un pĂ©riphĂ©rique appelĂ© mĂ©moire de masse : un disque dur (HDD = Hard Disk Drive) et/ou une mĂ©moire Flash (SSD = Solid State Drive). Cette mĂ©moire est capable de stocker une grande quantitĂ© de donnĂ©es, mais Ă  l'inconvĂ©nient d'ĂȘtre beaucoup moins rapide que la mĂ©moire vive. C'est pour cela que lors du lancement d'un programme les donnĂ©es nĂ©cessaires Ă  son exĂ©cution sont gĂ©nĂ©ralement transfĂ©rĂ©es vers la RAM pour une exĂ©cution plus rapide.
Accélérer l'accÚs à la mémoire

Les performances des processeurs augmentant, l'accĂšs Ă  la RAM peut ĂȘtre un frein Ă  l'exĂ©cution des tĂąches du processeur.

Pour remédier à ce goulot d'étranglement, les processeurs contiennent maintenant de la mémoire cache, une mémoire encore plus rapide que la RAM.

Dans un ordinateur, il y a donc plusieurs niveaux de mémoire, leur capacité (liée à leur coût) étant inversement proportionnelle à leur vitesse.

Mémoire Temps d'accÚs Débit Capacité
Registre 1 ns ≈ Kio
MĂ©moire cache 2−3 ns ≈ Mio
RAM 5−60 ns 1−20 Gio/s ≈ Gio
Disque dur 3−20 ms 10−320 Mio/s ≈ Tio

Rappel sur les multiples et sous-multiples d'unités

Symbole n ” m k M G T
Nom nano micro milli 1 kilo MĂ©ga Giga TĂ©ra
Valeur \(10^{⁻9}\) \(10^{⁻6}\) \(10^{⁻3}\) 1 \(10^3\) \(10^6\) \(10^9\) \(10^{12}\)
Multiplier les processeurs

Pendant des années, pour augmenter les performances des ordinateurs, les constructeurs augmentaient la fréquence d'horloge des microprocesseurs : la fréquence d'horloge d'un microprocesseur est liée à sa capacité d'exécuter un nombre plus ou moins important d'instructions machines par seconde. Plus la fréquence d'horloge du CPU est élevée, plus ce CPU est capable d'exécuter un grand nombre d'instructions machines par seconde

A partir de 2006, la frĂ©quence d'horloge a cessĂ© d'augmenter du fait d'une contrainte physique : plus on augmente la frĂ©quence d'horloge d'un CPU, plus ce dernier chauffe. Il est alors difficile de refroidir le CPU, les constructeurs de microprocesseurs (Intel, AMD, Apple..) ont donc arrĂȘtĂ© la course Ă  l'augmentation de la frĂ©quence d'horloge, ils ont dĂ©cidĂ© d'adopter une nouvelle tactique : augmenter le nombre de coeurs prĂ©sent sur un CPU.

Nombre de coeur d'un microprocesseur

Dans un microprocesseur, un coeur est principalement composé : d'une UAL, de registres (R0, R1...) et d'une unité de commande. Il est donc capable d'exécuter des programmes de façon autonome.

La miniaturisation des techniques de gravage des microprocesseurs, a permis Ă  partir de 2006 de graver plusieurs coeurs sur une mĂȘme puce. Aujourd'hui (en 2023), le dernier processeur d'intel i9-13900K est constituĂ© de 24 coeurs ! MĂȘme les smartphones possĂšdent des microprocesseurs multicoeurs : le Snapdragon 845 est octacore (8 coeurs).

Attention

Augmenter le nombre de coeurs ne suffit pas, il faut que les applications soient dĂ©veloppĂ©es pour pouvoir utiliser plusieurs coeurs en simultanĂ© (multi-threading) De plus, les diffĂ©rents coeurs du CPU doivent se "partager" l'accĂšs Ă  la mĂ©moire vive : quand un coeur travaille sur une certaine zone de la RAM, cette mĂȘme zone n'est pas accessible aux autres coeurs, ce qui, bien Ă©videmment va brider les performances. Il en va de mĂȘme pour l'utilisation de la mĂ©moire cache.