Vous êtes sur la page 1sur 6

Thème 2 CH1 : Modèle d’architecture séquentielle

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.

1) Identification des composants d’un ordinateur actuel (Rappels)


Travail à faire :
1. Après avoir fait des recherches sur Internet, réaliser une frise chronologique de l’évolution du matériel
permettant de réaliser des opérations : du boulier aux ordinateurs actuels. Indiquer quels ont été les
découvertes qui ont permis cette évolution et en quoi elles consistent.
2. Retrouver sur l’ordinateur fixe démonté, les différents composants identifiés sur la figure 1 (mémoire
vive, disque dur, processeur, carte mère, alimentation, carte graphique, lecteur/graveur, carte son) et
les nommer. Les retrouver sur l’ordinateur portable démonté.
3. Chercher sur l’ordinateur utilisé, les caractéristiques des composants suivants de l’ordinateur que vous
utilisez en NSI : microprocesseur, RAM, carte graphique, Ecran, disque dur, haut-parleurs, alimentation.
Les noter à côté de vos descriptions. Taper information système.

Fig.2 Carte mère

Fig.1 Tour d’un ordinateur fixe. (source : https://www.pcastuces.com/pratique/windows/fiches/interieur_pc.htm )

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

2) De la machine virtuelle de Turing à la machine réelle et actuelle de Von Neumann

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

Unité centrale de traitement

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.

3) Rôles des constituants d’une machine dérivée du modèle de von Neumann


a) L’architecture actuelle dérivée de celle de von Neumann : Elle comprend quatre éléments :

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

b) Les limites du modèle de l’architecture de von Neumann


Un va-et-vient permanent est nécessaire entre CPU et mémoire centrale, or le CPU est beaucoup plus rapide
(nombre d’opérations par seconde) que l’accès aux données de la mémoire centrale. Pour diminuer les temps
d’attentes, on a rajouté des mémoires caches (ou antémémoires), très rapides mais très chers. Ces
mémoires, organisées en deux à trois niveaux ((L1, L2, L3) plus ou moins proches du processeur (la mémoire
cache L1 faisant partie du processeur), plus ou moins rapides, de plus ou moins grandes capacités, stockent
les données en provenance de la mémoire centrale et les plus fréquemment utilisées par les logiciels et
applications activées. Ces mémoires caches sont donc déterminantes pour les performances d’un programme,
économisant ainsi les échanges entre CPU et mémoire centrale.

c) Récapitulatif des différents types de mémoire et de leur hiérarchisation dans un ordinateur :

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)

(Stockage permanent des informations-supports


magnétiques ou optiques)

Attention ! Ne pas confondre la taille de la mémoire centrale qui détermine les possibilités logicielles de la
machine (Toute RAMrapidité) et la taille des disques qui déterminent sa capacité de stockage permanent.

d) Fréquence d’horloge et performances


Les circuits logiques combinatoires permettent d'implémenter n'importe quelle fonction, mais ils n'intègrent
ni la notion de temps ni la notion de mémorisation. Ces deux propriétés sont nécessaires au fonctionnement
de plusieurs composants du processeur. Nous avons vu comment mémoriser, voyons comment synchroniser.
L'exécution d'une instruction dans un processeur constitue un enchaînement d'étapes, et chaque composant
produit un résultat qui est utilisé par le composant suivant. Ces étapes doivent donc être synchronisées.
Les opérations élémentaires sont cadencées, synchronisées, par une horloge
centrale (circuit oscillant à quartz) de fréquence de l’ordre de quelques GHz (qq
milliards d’impulsions par seconde) qui, à chaque fin de période, émet un signal. La
fréquence de l’horloge centrale définit la fréquence du processeur, donc le nombre
d’opérations par seconde qu’il peut effectuer.

-Comment se passe la synchronisation ?


Comme nous l’avons vu en début d’année (additionneur 4 bits), la sortie du circuit logique qui effectue la
micro-opération est couplée à une entrée d’un circuit ET dont l’autre entrée est couplée à l’horloge. À chaque
top d’horloge la porte ET délivre un résultat. Donc, chaque opération doit être effectuée entre deux tops
d’horloge (appelé cycle) ou un nombre de cycles déterminé. L’unité de l’horloge est appelée cycle.
Si dans une machine de Turing le cycle représente l’ensemble des quatre actions (lire, écrire, changer d’état
et se déplacer), dans un processeur il représente l’ensemble des cinq actions ci-dessous qui ne sont pas
exécutées de façon séquentielle, mais suivant le principe du pipeline d’instructions (exemple ci-après).

5
Thème 2 CH1 : Modèle d’architecture séquentielle
NSI-p
Les machines P1 : Architecture matérielle

Principe du pipeline d’instructions9


1-lire l’instruction,
Exemple ici au lieu de 15
2-décoder l’instruction, cycles (si exécuté de
3-exécuter l’opération dans l’UAL, façon séquentielle), on
4-accéder à la mémoire lecture ou écriture, en a 7 !
Source : Wikipédia
5-écrire le résultat dans les registres.
e) Augmentation des performances :
Si, jusqu’en 2004, les fréquences des horloges ont augmenté linéairement, on ne peut plus vraiment les
augmenter car la chaleur produite deviendrait trop importante perturbant, a minima, la lecture des tensions
lues aux bornes de l’UAL (et déterminant donc si on a un niveau logique 0 ou 1), voire pouvant le détériorer.
Par contre, il est possible d’augmenter le nombre de cœurs.
Un cœur étant principalement composé d'une UAL, de registres (R0, R1...) et d'une unité de commande, il est
capable d'exécuter des programmes de façon autonome. La technologie permettant de graver toujours plus
de transistors sur une même surface, depuis 2006 les CPU contiennent plusieurs cœurs, jusqu’à 18 (2019).
Les smartphones possèdent aussi des microprocesseurs multicoeurs comme le Snapdragon 845 qui en a 8.
Cependant, une application non conçue pour fonctionner avec un
multicoeur ne permet pas (ou peu) de gain de performance. Certaines
techniques de programmation sont nécessaires car les différents cœurs
doivent se "partager" l'accès à la mémoire centrale et à la mémoire
cache partagée (L2 et L3), bloquant les zones mémoire en activité et
provoquant des ralentissements.

4) Le composant élémentaire : le transistor


Nous avons vu que les circuits logiques de l’ordinateur étaient constitués de portes logiques (on peut tous les
réaliser en utilisant uniquement des portes NAND) et qu’elles sont elles-mêmes constituées de transistors
(composants semi-conducteurs à trois pôles : une commande (entrée), une sortie (tension NL0 ou 1) et une
commune à l’entrée et à la sortie, de type MOSFET. Le transistor fonctionne alors en « tout ou rien »,
fonctionnant comme un interrupteur commandé NL1 ou NL0, vrai ou faux, interrupteur fermé ou ouvert.
Le transistor permet une grande intégration. Plusieurs transistors sont reliés entre eux pour réaliser
différentes fonctions (un processeur peut en contenir un milliard). En 2021, IBM a créé la première puce au
monde gravée en 2 nanomètres, la puce a la taille d’un ongle et intègre 50 milliards de transistors.

Exemple d’opérateur logique, sa table de


vérité et sa constitution.

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.

Vous aimerez peut-être aussi