Architecture matérielle des ordinateurs
Programme
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
Histoire
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
Principe
Cliquez sur les différentes partie du schéma ci-dessous pour plus d'information.
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
Améliorations
Pérenniser la mémoire
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
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
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.