C4 Architecture matérielle
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 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 ?
Activité 3 : Circuit logique
Les entrées du circuit sont les boutons jaunes à gauche et les sorties sont les led (la rouge et la bleue) situées à droite.
-
Observation d'un circuit logique
- Quelles sont les valeurs possibles d'une entrée ou d'une sortie ?
-
Recopier et compléter le tableau suivant qui donne les valeurs des sorties en fonction des entrées :
\(e_1\) \(e_2\) \(s_1\) \(s_2\) 0 0 0 ... 0 1 ... ... ... ... ... ... ... ... ... ... Ce tableau s'appelle la table de vérité du circuit.
-
Déduire des observations précédentes le rôle de ce circuit logique.
Activité 4 : Simulation d'un circuit logique
On utilisera le simulateur en ligne circuitverse
-
Aller sur le site de circuitverse, puis cliquer sur le lien Simulator en haut à droite. L'interface est représentée ci-dessous :
- le menu de gauche permettra de placer divers éléments d'un circuit,
- le schéma du circuit apparaît dans la partie centrale,
- à droite se trouve une boîte permettant de modifier les options des éléments du circuit.
-
Placer deux entrées (input), une porte logique
and
et une sortie (output) comme ci-dessous. Cliquer sur les entrées afin de les faire varier et dresser la table de vérité de ce circuit. -
De même construire un circuit pour tester la porter
or
puis la portenot
(une seule entrée) et donner leur table de vérité. -
Le but de cette partie est de construire un additionneur 4 bits.
-
Placer les 4 bits du premier nombre ainsi que les 4 bits du second nombre (voir ci-dessous). La première retenue de l'addition valant forcément 0, utiliser une entrée constante et valant 0 pour la matérialiser.
-
Dans le menu "Misc", vous trouverez le circuit d'un additionneur 1 bit tel que celui rencontré dans l'activité précédente. Le placer afin d'additionner les deux bits les plus à droite et placer le résultat de la somme en dessous comme dans une addition traditionnelle à la main. Relier correctement votre circuit et le tester.
-
Poursuivre la réalisation du circuit en ajoutant les additionneurs pour les autres bits.
Aide
Attention à bien relier la sortie de l'addition des deux bits précédents
Cout
à la retenue de l'addition suivanteCin
-
Vérifier sur les exemples suivants que votre circuit donne les bons résultats :
- 0100 + 0101 = 1001 (c'est à dire 4 + 5 = 9)
- 0111 + 0011 = 1010 (c'est à dire 7 + 3 = 10)
Pour aller plus loin
On peut inclure l'affichage digital des nombres en base 10 comme sur une calculatrice, chacun des nombres à additionner est sur 4 bits, pour les afficher utiliser un
HexDisplay
(menu Output). Attention cependant pour regrouper les 4 bits d'un nombre utiliser unSplitter
dans le menu Misc, il permet de regrouper une entrée de 4 bits en une seule entrée comme demandé par l'afficher hexadécimal. Pour créer le Splitter, entrer 4 comme bitWidth, puis "1 1 1 1" comme bitWidth Split. -
Activité 5 : 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
Vous pouvez télécharger une copie au format pdf du diaporama de synthèse de cours présenté en classe :
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 : Ordre des opérations
-
Faire la table de vérité de l'expression
(a or b) and c
.Aide
On peut dans un premier temps faire la table de vérité à la main puis vérifier les résultats en simulant le circuit sur circuitverse.
-
Même question pour l'expression
a or (b and c)
. - Les parenthèses sont-elles utiles dans l'écriture des expressions précédentes ? Justifier.
Exercice 6 : Additionneur un bit
- En vous aidant éventuellement du cours ou du site circuitverse identifier les portes logiques du circuit suivant :
- Faire la table de vérité de ce circuit.
- En construisant ce circuit sur circuitverse, vérifier vos réponses à la question précédente.
- Quel est le rôle de ce circuit ?
Exercice 7 : Opérateur Nand
On note nand(a,b) = not(a and b)
(nand est la contraction de not et and). En dressant leurs tables de vérités, vérifier que les expressions suivantes sont égales :
nand(a,a)
etnot a
.nand(nand(a,b),nand(a,b))
eta and b
nand(nand(a,a),nand(b,b))
eta or b
- Que peut-on en déduire ?
Exercice 8 : Langage machine
Cet exercice utilise le simulateur de microprocesseur en ligne sur cette page. Ecrire un programme permettant de calculer 1518 + 2543 - 1317 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
.
Humour d'informaticien
Pour comprendre l'illustration ci-dessous, il faut savoir que dans de nombreux langages de programmation, l'opérateur not
se note !
et que l'opérateur and
se note &&
. Par exemple not(a an b)
se note, !(a&&b)
.