Académique Documents
Professionnel Documents
Culture Documents
NSI-p
Les machines P1 : Architecture matérielle
-Distinguer les rôles et les caractéristiques des différents constituants d’une machine.
Capacités -Situer dans le temps les principaux événements de l’histoire de l’informatique et leurs
protagonistes.
Exprimer un algorithme dans un langage de programmation a pour but de le rendre exécutable par une
machine dans un contexte donné. Nous avons vu comment des circuits électroniques pouvaient réaliser des
opérations, voyons dans quelle architecture ils s’insèrent.
4. Identifier les ports numérotés ci-dessous sur votre portable. Lesquels sont absents ?
1
Thème 2 CH1 : Modèle d’architecture séquentielle
NSI-p
Les machines P1 : Architecture matérielle
Turing, scientifique britannique, expose dans la "Théorie des nombres calculables, suivie d’une application au
problème de la décision » (1936) son idée qu’une machine peut effectuer des calculs seule si on lui indique la
procédure : il est donc considéré ainsi comme « le père de l’informatique ». La machine de Turing1 est une
machine virtuelle qui fonctionne sur un nombre fini d’états (mais plus de deux): un ruban infini de cases
(≡ 𝑚é𝑚𝑜𝑖𝑟𝑒) sur lequel se déplace une tête de lecture/écriture. Suivant la table d’action (états qui
définissent les instructions≡ 𝑝𝑟𝑜𝑔𝑟𝑎𝑚𝑚𝑒), le registre d’état (état courant) et les entrées (données), écrits
sur le ruban, la tête se déplace et écrit le résultat sur ce même ruban. Elle doit être capable d’exécuter tout
algorithme2 Fonctionnement en suivant le lien : http://inriamecsci.github.io/#!/grains/machine-turing
Des machines réelles entièrement électroniques (à tubes électroniques), comme l’ENIAC 3 qui en est le premier,
seront conçues entre 1937 et 1945. Ces machines nécessiteront d’être câblées pour réaliser la configuration
décrite par le programme (câblage nouveau à chaque programme).
von Neumann (1945) conçoit, avec d’autres chercheurs travaillant sur l’EDVAC 4, une machine réelle qui
fonctionne en binaire et dont l’architecture permet le stockage dans un même endroit du programme et des
données (mémoire) : ce sera l’une des premières machines à programme enregistré (plus besoin de câbler et
décâbler à chaque programme). Les premières machines à programme enregistré, donc les premiers
ordinateurs sont l'EDSAC5 et le Mark1 (Angleterre, 1949).
Ce modèle régit toujours les ordinateurs actuels6. On retiendra l’architecture de Newman et l’actuelle.
Pour plus de précisions : http://aconit.inria.fr/omeka/exhibits/show/histoire-machines/naissance-ordinateur/edvac.html
Source : http://alexandrebrunet.com
Architecture de von Neumann
Rq : Nous verrons que l’ajout de mémoires caches (antémémoires, mémoires tampon, registres tampon) permet un accès
plus rapide à des données de la mémoire centrale en les stockant temporairement dans ces antémémoires.
1
Les machines réelles équivalentes à la machine universelle de Turing sont dites à système Turing -complet.
2
Algorithme : suite finie d’opérations ou d’instructions qui permet de résoudre un problème.
3
ENIAC : Electronic Numerical Integrator And Computer. Eckert, Mauchly et Von Neumann y ont travaillé.
4
EDVAC : Electronic Discrete Variable Automatic Computer ; vocation militaire et mis en fonctionnement en 1951.
5
EDSAC : eletronic Delay Storage Automatic Calculator
6
Il existe aussi une architecture dite Harvard qui s’oppose à celle de von Neumann, séparant physiquement la mémoire de
données et la mémoire programme. L’accès à chacune des deux mémoires s’effectue via deux bus distincts.
2
Thème 2 CH1 : Modèle d’architecture séquentielle
NSI-p
Les machines P1 : Architecture matérielle
une unité centrale de traitement (UCT, ou CPU en anglais, central processing unit ; le processeur )
composée d’une unité arithmétique et logique (UAL en français, ALU en anglais ; on trouve aussi unité
de traitement ou de calcul) et d’une unité de contrôle ( ou de commande).
L’U.C. récupère en mémoire la prochaine instruction7 à exécuter (dans le pointeur d’instruction) et les
données (dans le registre d’instruction) sur lesquelles elle doit opérer, puis les envoie à l’UAL. Certaines
opérations, comme celles de branchement, sont effectuées par l’UC. C’est l’exécution par un
séquenceur8 d’un microprogramme (microcode) contenu dans une mémoire morte (ROM) qui permet
cette orchestration. L’U.C. est donc connectée à tous les autres composants (UAL, mémoire centrale
et interfaces E/S) et contient en plus du séquenceur, des registres.
L’U.A.L., grâce à des circuits électroniques, exécute les instructions en provenance de l’UC en
manipulant les données (opérandes en entrée). Elle effectue des opérations arithmétiques (+, -, x, /) et
logiques (ET, OU, NON, XOR…), des comparaisons (=, >, <,…), des opérations sur les bits (décalages,
rotations) ou des opérations de déplacements mémoire (copie de ou vers la mémoire). L’UAL peut aussi
envoyer des signaux d’erreur de calcul (/0, dépassement mémoire…) ou des résultats de comparaison. En plus
de ces circuits électroniques effectuant les opérations, elle est constituée de registres.
Lorsque le processeur exécute des instructions, les données en provenance de la mémoire centrale et les
résultats intermédiaires sont temporairement stockées dans de petites mémoires très rapides appelées
registres dont le nombre varie d’une dizaine à plusieurs centaines suivant le type de processeur. Les
principaux sont :
Dans l’U.C. :
le registre instruction (RI ou IR, Instruction Register) : contient l'instruction en cours de
traitement à décoder et exécuter;
le pointeur d’instruction (PI ou IP, Instruction Pointer), ou compteur ordinal (CO ou PC pour
Program Counter): contient l'adresse de la prochaine instruction à traiter ;
Dans l’U.A.L. :
le registre accumulateur (ACC) : stocke les résultats des opérations arithmétiques et logiques ;
le registre d'état (PSW, Processor Status Word) : stocke des indicateurs sur l'état du
système (retenue, dépassement, etc.) ;
une mémoire centrale (ou principale) : Mémoire vive composée d’un ensemble de cellules stockant des
nombres binaires représentant les programmes et les données qui sont en cours de traitement;
un ensemble d’interfaces (unités) d’entrée/sortie, les ports d’entrée/sortie, permettant à la machine
d’interagir avec le monde extérieur via des périphériques (d’entrée : scanner, souris, clavier…; de sortie :
écran, HP, imprimante… ; d’entrée et de sortie : clé USB, carte réseau…). Ces périphériques peuvent
aussi avoir directement accès à la mémoire centrale pour y lire et y écrire, grâce à un circuit
électronique spécialisé appelé DMA (Direct Memory Access). L’accès aux ports se fait via des
emplacement mémoire (adresses prédéfinies) ; le CPU a connaissance des états de ces ports en lisant
dans ces emplacements, soit périodiquement de par son initiative, soit en étant prévenu par un
périphérique grâce à un mécanisme spécial d’interruption.
des canaux de communications (ensemble de fils) entre ces trois entités, appelé Bus : bus de données,
bus d’adresses et bus de contrôle. (voir schéma suivant)
7
Les instructions peuvent être classées en catégories dont les principales sont : l’accès à la mémoire, les opérations
arithmétiques, les opérations logiques, le contrôle (de séquence, branchements conditionnels, etc.).
8
Ici séquenceur microprogrammé. Il existe des séquenceurs câblés (un sous-circuit par instruction), plus rapides mais qui
deviennent trop complexes. Il est toujours possible de remplacer un circuit logique par une ROM qui contient l’ensemble
des possibilités offertes par le circuit logique (sa table de vérité) sous forme de mots binaires. [Voir ENIAC/EDVAC]
3
Thème 2 CH1 : Modèle d’architecture séquentielle
NSI-p
Les machines P1 : Architecture matérielle
Une mémoire est un dispositif capable d’enregistrer une information, de la conserver (mémoriser) et de la
restituer. Elle est comme une armoire avec des tiroirs contenant des mots-mémoires (unité d’information
accessible en une opération) de n bits (8, 16, 32 ou 64 fixés suivant le processeur) ;
chaque tiroir (chacun des mots-mémoires) étant repéré par une adresse unique (RAM).
Les seules opérations sur une mémoire sont celles de lecture (le CPU demande à la
mémoire la valeur contenue à l’emplacement dont il indique l’adresse) et d’écriture (le
processeur donne une valeur et une adresse à laquelle la mémoire doit ranger cette
valeur).
Le temps d’accès à la mémoire et sa capacité sont les deux éléments qui influent sur
le temps d’exécution d’un programme, donc des performances d’une machine.
On distingue, de façon simplifiée, deux types de mémoire suivant la volatilité des données:
-la mémoire vive ou volatile dont le contenu peut être lu, effacé ou déplacé mais qui est perdu lors de la
mise hors tension de l’ordinateur. L’accès au contenu est rapide, quel que soit son emplacement, par accès
direct RAM (Random-access memory). C’est le cas de la mémoire centrale, des registres ou des
mémoires caches. Elle est réalisée à partir de circuits électroniques spécialisés rapides.
Différents familles de RAM existent comme: la DRAM (Dynamique), utilisée souvent comme mémoire
centrale et la SRAM (Statique), beaucoup plus rapide et utilisée comme mémoire cache.
-la mémoire non volatile dont le contenu est conservé lors de la mise hors tension et dont l’accès est plus
lent que la mémoire volatile. Cette mémoire dite de masse et est utilisée pour le stockage à long terme et
est réalisée grâce à des dispositifs magnétiques ou optiques, sauf pour les mémoires flash qui sont faits
de composants électroniques semi-conducteurs.
Exemples : les SSD (composé de mémoires flash) et les disques magnétiques sont réinscriptibles.
4
Thème 2 CH1 : Modèle d’architecture séquentielle
NSI-p
Les machines P1 : Architecture matérielle
Le contenu d’une ROM (Read-only memory) n’est pas modifiable (certaines le peuvent avec un matériel
spécial) et contient généralement les données nécessaires à l’ordinateur pour son fonctionnement, comme
son démarrage ou les microprogrammes. Dans cette famille on a les: UVPROM, PROM, EPROM et EEPROM.
La rapidité d’accès à l’information dépend notamment du type d’accès :
-Accès séquentiel (le plus lent) : parcours de toutes les « cases mémoires » qui précèdent celle qui
contient « l’information » recherchée (ex : bandes magnétiques).
-Accès direct (direct access ou random access) : chaque « information » mémorisée étant repérée par une
adresse propre, l’accès est donc direct (mémoire centrale, registres). Accès plus rapide.
-Accès par le contenu ou associatif : recherche de l’information via sa clé simultanément sur chaque
position de la mémoire (ex : mémoire cache). Le plus rapide.
-Accès semi-séquentiel : combinaison direct/séquentiel (disque magnétique : accès direct au cylindre qui
est repéré par une adresse et accès séquentiel au secteur recherché).
Comparaison du temps d’accès pour les différents types de mémoire et leur hiérarchisation
Dans
≈ Ko (Opérandes et résultats
intermédiaires) la
≈ Mo CPU
≈ Go
Et coût (Données et instructions les plus utilisées)
Distance à la CPU
Ex : disque dur ≈ To (Données et instructions des programmes actifs)
Attention ! Ne pas confondre la taille de la mémoire centrale qui détermine les possibilités logicielles de la
machine (Toute RAMrapidité) et la taille des disques qui déterminent sa capacité de stockage permanent.
5
Thème 2 CH1 : Modèle d’architecture séquentielle
NSI-p
Les machines P1 : Architecture matérielle
Transistor
5) Synthèse :
Travail à faire : Faire un tableau récapitulant les composants principaux d’un ordinateur, leur rôle et
leurs principales caractéristiques.
9
Un pipeline (ou chaîne de traitement), est l'élément d'un processeur dans lequel l'exécution des instructions est découpée en
plusieurs étapes (1er ordi l’utilisant : IBM Stretch, 1961). Le processeur peut commencer à exécuter une nouvelle instruction sans
attendre que la précédente soit terminée. Chacune des étapes d’un pipeline est appelé étage et son nombre d'étages sa profondeur.