C4-2 Architecture de Von Neumann
John Von Neumann (1903-1957) est un mathématicien et physicien (et bien d'autres choses) américano-hongrois. Il a le premier théorisé l'architecture des processeurs, tels qu'ils fonctionnent encore aujourd'hui.
Activités
Activité 1 : Composants d'un ordinateur
Dans cette activité on démonte un ordinateur pour en extraire les composants et les reconnaître.
Activité 2 : Architecture de Von Neumann
En utilisant la video, l'image ci-dessus, et en faisant éventuellement vos propres recherches sur le Web, répondre brièvement aux questions suivantes :
- En quelle année a été conçu le modèle de Von Neumann ?
- Quels sont les différentes parties d'un ordinateur dans le modèle de Von Neumman ?
- A quels composants d'un ordinateur correspondent ces différentes parties ?
Correction
Question 1
Cette architecture fut élaborée en juin 1945
Question 2 et 3
On distingue 4 zones essentielles :
- le CPU (Central Processing Unit) qui contient lui-même :
- l'Unité Arithmétique et Logique (UAL) dans laquelle sont effectuées les opérations de base (addition, multiplication...) Cette zone comporte notamment les registres (peu nombreux, de l'ordre de la dizaine) qui sont les espaces de travail ultra-rapides dans lesquels l'UAL va effectuer ses calculs. Une fois ceux-ci effectués, les valeurs des registres repartent dans la mémoire.
- l'Unité de contrôle, qui va séquencer les opérations. Lorsqu'on parle d'un processeur à 3 GHz, cela signifie (approximativement) que Unité de Contrôle va envoyer l'ordre d'une nouvelle opération à l'UAL 3 milliards de fois par seconde.
- la mémoire, qui contient à la fois les données à traiter et les instructions du programme. Cette idée de stocker au même endroit données et programme est l'idée centrale de l'architecture von Neumann.
- les bus de communication (des fils électriques permettant de transporter les données entre les différents composants).
- les Entrées/Sorties, permettant de gérer les informations avec l'extérieur.
Activité 3 : Un peu de langage machine
Dans cette partie, on utilise un outil en ligne permettant de visualiser le fonctionnement d'un ordinateur. Cet outil a été crée par Peter Higginson et vous le trouverez sur cette page.
- Reconnaître les différentes parties de l'architecture de Von Neumman dans le schéma.
-
Dans le menu
Select
choisir le programmeadd
qui effectue l'addition de deux nombres. Ce programme s'affiche alors en langage machine dans la partie supérieur droite du navigateur :Le langage assembleur n'est qu'une traduction en terme mnémotechnique d'instructions simples compréhensible par le processeur comme par exemple iciINP R0,2 INP R1,2 ADD R2,R1,R0 OUT R2,4 HLT
INP R0,2
qui signifie "range dans le registre 0 le nombre saisi au clavier". -
Exécuter (en vitesse lente) le programme de façon à voir le fonctionnement du simulateur
- Modifier ce programme de façon à additionner 3 nombres entrés au clavier
Cours sur les parties 4-1 et 4-2
Vous trouverez ci-dessous le diaporama de la synthèse de cours :
Vous pouvez télécharger une copie au format pdf du diaporama de synthèse de cours présenté :
Attention
Ce diaporama ne vous donne que quelques points de repères lors de vos révisions. Il devrait être complété par la relecture attentive de vos propres notes de cours et par une révision approfondie des exercices.
QCM
1. Parmi les éléments suivants d'un ordinateur, lequel n'est pas un périphérique d'entrée ?
- a) Souris
- b) Ecran
- c) Disque dur
- d) Clé usb
- a)
Souris - b) Ecran
- c)
Disque dur - d)
Clé usb
2. Dans le modèle d'architecture de Von Neumann, quel est le rôle de l'unité de contrôle ?
- a) Gérer le séquençage (l'ordre) des opérations
- b) Effectuer les opérations
- c) Lire les données
- d) Stocker les données
- a) Gérer le séquençage (l'ordre) des opérations
- b)
Effectuer les opérations - c)
Lire les données - d)
Stocker les données
3. Dans le modèle d'architecture de Von Neumann, que signifie UAL ?
- a) Unité Active de Lecture
- b) Unité Additive et Logique
- c) Unité Arithmétique et Logique
- d) Unité Active et logique
- a)
Unité Active de Lecture - b)
Unité Additive et Logique - c) Unité Arithmétique et Logique
- d)
Unité Active et logique
4. Quel est le rôle de l'unité arithmétique et logique dans un ordinateur ?
- a) Afficher les informations
- b) Définir l'ordre des opérations
- c) Effectuer les opérations
- d) Stocker les informations
- a)
Afficher les informations - b)
Définir l'ordre des opérations - c) Effectuer les opérations
- d)
Stocker les informations
5. Le composant élémentaire d'un ordinateur, circuit électronique ne pouvant être que dans deux états (0 ou 1) s'appelle :
- a) Un transistor
- b) Une radio
- c) Un processeur
- d) Une porte logique
- a) Un transistor
- b)
Une radio - c)
Un processeur - d)
Une porte logique
6. Quel est l'opérateur booléen qui vaut 1 seulement lorsque les deux opérandes valent 1 ?
- a) Or
- b) And
- c) Nor
- d) Nand
- a)
Or - b) And
- c)
Nor - d)
Nand
7. Parmi les propositions suivantes, quelle expression est égale à not(a and b)
?
- a)
(not a) and (not b)
- b)
(not a) or (not b)
- c)
(not a) and b
- d)
a and (not b)
- a)
(not a) and (not b)
- b)
(not a) or (not b)
- c)
(not a) and b
- d)
a and (not b)
8. Quelles sont les valeurs manquantes dans la table de vérité suivante :
a | b | not a | b or (not a) |
---|---|---|---|
0 | 0 | 1 | 1 |
0 | 1 | 1 | 1 |
1 | 0 | ? | ? |
1 | 1 | 0 | 1 |
- a) 0 et 0
- b) 0 et 1
- c) 1 et 0
- d) 1 et 1
- a) 0 et 0
- b)
0 et 1 - c)
1 et 0 - d)
1 et 1
9. Si a
vaut True
et b
vaut False
, que vaut l'expression not(a and b)
?
- a)
False
- b)
True
- c) Cette expression renvoie une erreur
- d)
None
- a)
False
- b)
True
- c)
Cette expression renvoie une erreur - d)
None
10. Si l'expression not(a or b)
vaut True, alors les valeurs possibles de a
et b
sont :
- a)
True
etTrue
- b)
True
etFalse
- c)
False
etTrue
- d)
False
etFalse
- a)
True
etTrue
- b)
True
etFalse
- c)
False
etTrue
- d)
False
etFalse
11. Sur le schéma de circuit suivant, quelles sont les valeurs des sorties A
et B
?
- a)
A=0
etB=0
- b)
A=0
etB=1
- c)
A=1
etB=0
- d)
A=1
etB=1
- a)
A=0
etB=0
- b)
A=0
etB=1
- c)
A=1
etB=0
- d)
A=1
etB=1
Exercices
Exercice 1 : Parties d'un ordinateur
(Illustration CC BY-SA 3.0 http://creativecommons.org/licenses/by-sa/3.0/, via Wikimedia Commons)
- Nommer les différentes parties d'un ordinateur visualisées ci-dessus.
- Citer un composant qui est un périphérique d'entrée.
- Citer un composant qui est un périphérique de sortie.
Exercice 2 : Modèle de Von Neumann
- Citer les différentes parties d'un ordinateur dans le modèle de Von Neumann.
- Que signifie ual, quel est son rôle ?
- Dans les ordinateurs actuels, dans quel composant se trouve l'ual ?
Exercice 3 : Toujours vrai ou toujours faux !
- Dresser la table de vérité de l'expression
a or (not a)
. - Même question pour
a and (not a)
.
Exercice 4 : Tables de vérités !
- Faire la table de vérité de l'expression
not(a or b)
. - Même question pour l'expression
(not a) and (not b)
. - Que peut-on en déduire ?
Exercice 5 : Langage machine
Cet exercice utilise le simulateur de microprocesseur en ligne sur cette page. Ecrire un programme permettant de calculer 72 + 254 - 131 en utilisant les instructions suivantes :
MOV Rn,#val
: stocker la valeurval
dans le registreRn
. Par exempleMOV R3,#42
stocke la valeur 42 dans le registre 3.ADD Rm,Rn,Rp
: additionner les valeurs présentes dans les registresRn
etRp
et range le résultat dans le registreRm
.SUB Rm,Rn,Rp
: soustrait les valeurs présentes dans les registresRn
etRp
et range le résultat dans le registreRm
.