Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque...
Transcript of Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque...
![Page 2: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/2.jpg)
(2/4)Architecture des Ordinateurs – H.Delebecque 2015-2016
“Architecture”, c'est quoi ?
Basée sur des standards
Décomposition hiérarchique
Conception en “couches”
Qu'allez-vous apprendre ?
3 B.E, 2 E.L
Introduction (1/2)
![Page 3: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/3.jpg)
(3/4)Architecture des Ordinateurs – H.Delebecque 2015-2016
Cours dense, mais progressif
Présentation incrémentale
Arrêtez-moi dès que vous ne
comprenez plus !
wwwdi.supelec.fr/architecture
Les pré-requisit
Introduction (2/2)
![Page 4: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/4.jpg)
(4/4)Architecture des Ordinateurs – H.Delebecque 2015-2016
2- Logique, arithmétique
3- Structure d'un ordinateur
4- Conception d'un processeur
5- Mémoires
6- Entrées-Sorties, Bus
7- De Python au processeur
Plan
![Page 5: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/5.jpg)
(1/19)Architecture des Ordinateurs– H.Delebecque 2015-2016
2. Logique, arithmétique
2.1 Notions de base
Binary Digit : le “bit”
Plus petite quantité d'information
2 Valeurs: 0 ou 1
→ Notation en binaire
![Page 6: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/6.jpg)
(2/19)Architecture des Ordinateurs– H.Delebecque 2015-2016
2.1 Notions de base
Logique booléenne
→ 1 = vrai, 0 = faux
→ Opérateurs logiques:
Et, Ou, Non, Non Et, Non OuA B A And B A Or B A Nor B0 0 0 0 10 1 0 1 01 0 0 1 01 1 1 1 0
A Nand B1110
![Page 7: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/7.jpg)
(3/19)Architecture des Ordinateurs– H.Delebecque 2015-2016
2.2 Blocs logiques utiles
Vision externe seulement
Registre,
Mémoire,
Unité de calcul.
![Page 8: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/8.jpg)
(4/19)Architecture des Ordinateurs– H.Delebecque 2015-2016
2.2.1 Registre
entrées
sorties
H
entrées
H
sorties
0100
val0100
![Page 9: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/9.jpg)
(5/19)Architecture des Ordinateurs– H.Delebecque 2015-2016
2.2.2 Mémoire
Analogie: meuble à tiroirs
~ 1 mot ↔ une variable Python
Nombre de mots mémoire = K
Taille d'un mot usuel :
8, 16, 32 bitsK
Mémoire
contenu adresses
![Page 10: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/10.jpg)
(6/19)Architecture des Ordinateurs– H.Delebecque 2015-2016
2.2.2 Mémoire en lecture
sorties
R/W = 1
R/W
adresses
sorties
adresses
entrées
0100
[0100]
R/W = 1 : Lecture
![Page 11: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/11.jpg)
(7/19)Architecture des Ordinateurs– H.Delebecque 2015-2016
2.2.2 Mémoire en écriture
sorties
R/W = 0
entrées
adresses
sorties
adresses
entrées
0100
[0100] = 0010
0010
R/W
![Page 12: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/12.jpg)
(8/19)Architecture des Ordinateurs– H.Delebecque 2015-2016
2.2.3 Bloc de calculentrées A
sorties
Fonction
entrées A
sorties
valA
entrées B
entrées B
valB
Fonction op
ValA op valB
UAL
![Page 13: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/13.jpg)
(9/19)Architecture des Ordinateurs– H.Delebecque 2015-2016
2.3 Les entiers naturels �Notation binaire
→ base 2
→ un nombre de bits donné: n
→ un ensemble de valeurs fini !
Sur n bits, de 0 à 2n-1
![Page 14: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/14.jpg)
(10/19)Architecture des Ordinateurs– H.Delebecque 2015-2016
2.3 Les entiers naturels �
décimal binaire
0 0000
1 0001
2 0010
3 0011
4 0100
5 0101
6 0110
7 0111
décimal binaire
8 1000
9 1001
10 1010
11 1011
12 1100
13 1101
14 1110
15 1111
Notation binaire délicate …
![Page 15: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/15.jpg)
(11/19)Architecture des Ordinateurs– H.Delebecque 2015-2016
2.3 Les entiers naturels �
décimal binaire hexa
0 0000 0
1 0001 1
2 0010 2
3 0011 3
4 0100 4
5 0101 5
6 0110 6
7 0111 7
décimal binaire hexa
8 1000 8
9 1001 9
10 1010 A
11 1011 B
12 1100 C
13 1101 D
14 1110 E
15 1111 F
Donc une base plus grande: 16
![Page 16: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/16.jpg)
(12/19)Architecture des Ordinateurs– H.Delebecque 2015-2016
2.3 Les entiers naturels �Notation hexadécimale
→ un chiffre représente 4 bits
→ l'arithmétique reste la même
C'est juste un moyen de
représenter les valeurs, de �
comme de ⇥ !
![Page 17: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/17.jpg)
(13/19)Architecture des Ordinateurs– H.Delebecque 2015-2016
2.4 Les entiers relatifs ⇥Des chiffres... et un signe !
→ le complément à 2
Si on veut calculer “-Val”,
On calcule 2n - Val
→ Val (inversion des bits) + 1
Toute valeur entre -2n-1 et 2n-1 - 1
![Page 18: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/18.jpg)
(14/19)Architecture des Ordinateurs– H.Delebecque 2015-2016
2.4 Les entiers relatifs ⇥Un peu de pratique !
Bit de signe en poids fort
Val Val -Val
0001 1110 1111
0011 1100 1101
0111 1000 1001
1000 0111 1000
Val décimale
1
3
7
8
![Page 19: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/19.jpg)
(15/19)Architecture des Ordinateurs– H.Delebecque 2015-2016
2.4 Les entiers relatifs ⇥Attention:
Une valeur binaire ne fournit pas
d'information sémantiqueVal Si non signée Si signée
0111 7 7
1000 8 -8
1111 15 -1
![Page 20: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/20.jpg)
(16/19)Architecture des Ordinateurs– H.Delebecque 2015-2016
2.5 Addition
Addition binaire mais classique :
Résultat: 1 bit et Retenue (Carry)
X Y X + Y0 0 00 1 01 0 01 1 1
0110
![Page 21: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/21.jpg)
(17/19)Architecture des Ordinateurs– H.Delebecque 2015-2016
2.5 Addition
Addition sur 4 bits, dans �
Retenue sortante
X + Y
0001 0
0011 0
0111 1
0
1
0
1
0
0
0
0
0
1111 0 0 001C
1
3
7
15
0001
0001
0001
0001
1
1
1
1
X Y
![Page 22: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/22.jpg)
(18/19)Architecture des Ordinateurs– H.Delebecque 2015-2016
2.5 Addition
Addition sur 4 bits, dans ⇥
Débordement (V)
X + Y
0001 0
1111
0
0
1
0
0
0
0111 0 0 01
1
-1
7
0001
0001
0001
1
1
1
X Y
C
01
0 1
retenue
non significative
positif positif négatif
![Page 23: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/23.jpg)
(19/19)Architecture des Ordinateurs– H.Delebecque 2015-2016
2.6 Soustraction
Soustraction binaire classique :
Résultat: 1 bit et le bit de signe
X Y X - Y0 0 00 1 11 0 01 1 0
0110
![Page 24: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/24.jpg)
(1/8)Architecture des Ordinateurs– H.Delebecque 2015-2016
3. Architecture Générale
3.1 Principes (1/7)
Les 4 éléments sont obligatoires !!
Processeur
Mémoire
Coupleur
![Page 25: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/25.jpg)
(2/8)Architecture des Ordinateurs– H.Delebecque 2015-2016
Deux exemples
Un système embarqué:
- très compact,
- très connecté au monde réel,
- autonome, tolérant aux pannes
Un ordinateur de calcul:
- coûteux, énorme, puissant,
- géré par d'autres ordinateurs.
![Page 26: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/26.jpg)
(3/8)Architecture des Ordinateurs– H.Delebecque 2015-2016
3.1 Principes (2/7)
Le processeur (i.e. CPU)
Lit, stocke, calcule des données,
Contrôle les autres éléments,
Une réalisation interne,
Une spécification externe.
![Page 27: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/27.jpg)
(4/8)Architecture des Ordinateurs– H.Delebecque 2015-2016
3.1 Principes (3/7)
La mémoire (au sens large)
Mémorise des données,
Mémorise les instructions.
De façon permanente ou non,
Avec différents moyens d'accès.
![Page 28: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/28.jpg)
(5/8)Architecture des Ordinateurs– H.Delebecque 2015-2016
3.1 Principes (4/7)
Un coupleur (d'entrées-sorties)
Echange des données,
Avec le monde extérieur.
Dans les deux sens,
Données échangées avec la
mémoire.
![Page 29: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/29.jpg)
(6/8)Architecture des Ordinateurs– H.Delebecque 2015-2016
3.1 Principes (5/7)
Les bus (au sens large)
Transporte des informations,
Typées ou non.
1 émetteur, 1 à N récepteurs,
“Internes” ou “externes”.
![Page 30: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/30.jpg)
(7/8)Architecture des Ordinateurs– H.Delebecque 2015-2016
3.1 Principes (6/7)
Architecture externe du CPU:
Ce que voit le programmeur
Registres (type, taille, usage,...)
“variables temporaires”
Instructions (rôle, usage,...)
Valeurs des registres ↔ état CPU
![Page 31: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/31.jpg)
(8/8)Architecture des Ordinateurs– H.Delebecque 2015-2016
3.1 Principes (7/7)
Architecture interne du CPU:
Ce qu'a défini le concepteur
Registres (“visibles” ou pas),
Unités de calcul (UAL)
Bus internes reliant ces modules
Séquenceur pilotant ces modules
![Page 32: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/32.jpg)
(1/51)Architecture des Ordinateurs– H.Delebecque 2015-2016
4. Conception d'un CPU
Quelle architecture externe ?
→ Quels “utilisateurs” ?
→ Donc quels algorithmes ?
→ Quels types de données ?
→ Organisées comment ?
![Page 33: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/33.jpg)
(2/51)Architecture des Ordinateurs– H.Delebecque 2015-2016
4.1 Modèle de Von Neuman
Defini dans les années 60
3 principes simples:
- mots mémoire banalisés,
- de taille constante
- des instructions en séquence
Modèle très (trop) simple
![Page 34: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/34.jpg)
(3/51)Architecture des Ordinateurs– H.Delebecque 2015-2016
4.2 Codage d'une instruction
Notion de mémoire
Analogie: meuble à tiroirs
Nombre de mots mémoire = KNombre de bits d'adresse = n Donc : 2n = K
K
Contenu du mot
Mémoire
0100
0101
contenu adresses
![Page 35: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/35.jpg)
(4/51)Architecture des Ordinateurs– H.Delebecque 2015-2016
4.2 Codage d'une instruction
Une instruction machine c'est:
1 (ou plusieurs) mot mémoire
MOV Rx,Ry
Instruction suiv.
Mémoire
0100
0101
contenu adresses
Compteur Ordinal
MOV Rx Ry
D'une adresse vers son contenu
Même mot mémoire ou registre
![Page 36: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/36.jpg)
(5/51)Architecture des Ordinateurs– H.Delebecque 2015-2016
4.2 Codage d'une instruction
L'instruction spécifie
le type d'opération (ADD,…)
→ le “code-opération”
où trouver le(s) argument(s)
où ranger l'éventuel résultat
![Page 37: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/37.jpg)
(6/51)Architecture des Ordinateurs– H.Delebecque 2015-2016
4.2 Codage d'une instruction
Pour spécifier un argument:
- on donne sa valeur (constante)
- on donne son adresse mémoire
- on donne le n° de registre qui la
contient
→ “mode d'adressage”
![Page 38: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/38.jpg)
(7/51)Architecture des Ordinateurs– H.Delebecque 2015-2016
4.3.1 Mode Registre (1/2)
La fonction du registre dépend
de l'instruction et de sa place
Ry ± Rz → Rx
op Rx,Ry,Rz
Mémoire
0100
0500
ADD/SUB Rx Ry Rz
0010±Rx
Ry
Rz
![Page 39: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/39.jpg)
(8/51)Architecture des Ordinateurs– H.Delebecque 2015-2016
4.3.1 Mode Registre (2/2)
MOV entre registres: MOV Rx,Ry
Ry → Rx
Attention au sensRy reste intact
MOV Rx,Ry
Mémoire
0100
0500
MOV Rx Ry
Rx Ry
![Page 40: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/40.jpg)
(9/51)Architecture des Ordinateurs– H.Delebecque 2015-2016
4.3.2 Mode Direct (1/3)
Si l'argument est la valeur à
l'adresse contenue dans Ry
LoaD Register
LDR Rx,Ry
Mémoire
0100
1000 0200
1000
LDR Rx Ry
0200RyRx
![Page 41: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/41.jpg)
(10/51)Architecture des Ordinateurs– H.Delebecque 2015-2016
4.3.2 Mode Direct (2/3)
Si l'argument est à stocker à
l'adresse contenue dans Ry
STR Rz,Ry
Mémoire
0100
0200
0020
STR Ry Rz
0200Ry0020Rz
![Page 42: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/42.jpg)
(11/51)Architecture des Ordinateurs– H.Delebecque 2015-2016
4.3.2 Mode “Direct” (3/3)
Si l'argument est l'adresse de la
prochaine instruction pour des
instructions B…
B…
Mémoire
0100
0200 0101
B…
adresse
Compteur Ordinal Instruction suiv. 0200
![Page 43: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/43.jpg)
(12/51)Architecture des Ordinateurs– H.Delebecque 2015-2016
4.3.3 Mode immédiat
L'argument est une valeur signée
ou non signée, Ri est le registre i
du processeur
MOVMOV Ri, #
1000
Mémoire
0100Ri
valeur
1000Rx
0101
![Page 44: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/44.jpg)
(13/51)Architecture des Ordinateurs– H.Delebecque 2015-2016
4.4 Architecture externe
Processeur RISC, type ARM
8 registres
16 instructions sur 1 ou 2 mots
Modes immédiat, registre, direct
De 1 à 3 arguments
![Page 45: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/45.jpg)
(14/51)Architecture des Ordinateurs– H.Delebecque 2015-2016
4.4 Instructions (1/2)
instruction i Rx actionldr rx,ry 0 dst [Ry] → Rx str rz,ry 0 - Rz → [Ry]
mov rx,ry 0 dst Ry → Rx op rx,ry,rz 0 dst Ry ± Rz → Rx cmp ry,rz 0 - Ry - Rz → flags
b… rz 0 - Rz → CO (si flag)
Ry Rzadr -adr srcsrc -
arg1 arg2arg1 arg2
- arg2
Si vous ne comprenez pas tout, demandez !
![Page 46: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/46.jpg)
(15/51)Architecture des Ordinateurs– H.Delebecque 2015-2016
4.4 Instructions (2/2)
instruction i Rx actionmov rx,ry 0 dst Ry → Rx
mov rx,#val 1 dst [CO + 1] → Rx
op rx,ry,rz 0 dst Ry ± Rz → Rx op rx,ry,#val 1 dst Ry ± [CO + 1] → Rx
cmp ry,rz 0 - Ry - Rz → flags cmp ry,#val 1 - Ry - [CO + 1] → flags
b… rz 0 - Rz → CO (si flag) b… val 1 - [CO + 1] → CO (si flag)
Ry Rzsrc -
- -
arg1 arg2arg1 -
arg1 arg2arg1 -
argarg -
![Page 47: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/47.jpg)
(16/51)Architecture des Ordinateurs– H.Delebecque 2015-2016
4.5 Conception Globale
Signaux
decommande
Etat
Cheminde
données
Séquenceur
![Page 48: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/48.jpg)
(17/51)Architecture des Ordinateurs– H.Delebecque 2015-2016
4.5 Architecture Interne
Chemin de données:
Tout ce qui:
- mémorise,
- transporte,
- calcule des données
Doit recevoir des “ordres”
![Page 49: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/49.jpg)
(18/51)Architecture des Ordinateurs– H.Delebecque 2015-2016
4.5 Architecture Interne
Séquenceur:
- commande le C.D.D,
- selon l'instruction,
- en plusieurs cycles,
- en fonction de l'état du C.D.D.
Une analogie…
![Page 50: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/50.jpg)
(19/51)Architecture des Ordinateurs– H.Delebecque 2015-2016
4.5 Exemple de CDD trivial
RegistreA
RegistreB
Bus
Transfert du contenu de A
dans B
![Page 51: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/51.jpg)
(20/51)Architecture des Ordinateurs– H.Delebecque 2015-2016
4.5 Le CDD en action
A branche ses sorties sur le bus
B branche ses entrées au bus
On attend qq nanosecondes
B mémorise ses entrées
On attend qq nanosecondes
A et B libèrent le bus dans un
ordre quelconque.
![Page 52: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/52.jpg)
(21/51)Architecture des Ordinateurs– H.Delebecque 2015-2016
4.6 “Blocs de construction”
Des modules standards
- Buffer 16 bits,
- Registre 16 bits,
- Bloc de registres 16 bits,
- Unité Arithmétique et Logique,
- Mémoire.
![Page 53: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/53.jpg)
(22/51)Architecture des Ordinateurs– H.Delebecque 2015-2016
4.6.1 Buffer 16 Bits
16
Les sorties fournissent les entrées si Vxx est à 1. Sinon, elles sont non connectées
16
Vxx
entrées
sorties
![Page 54: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/54.jpg)
(23/51)Architecture des Ordinateurs– H.Delebecque 2015-2016
4.6.2 Registre 16 Bits
16
Voir 2.2.1 pour fonctionnementSorties toujours accessibles
→ H… reste inactif pendant la lecture
16
Horlorge H...
Registre
![Page 55: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/55.jpg)
(24/51)Architecture des Ordinateurs– H.Delebecque 2015-2016
4.6.3 Bloc de registres 16 Bits
N registres dont 2 en lecture (choisis par Ry et Rz), et 1 en écriture (Rx)
16HBR
Registre 0
16
Registre 0Registre 0Registre 0Registre 0Rx
Ry Rz
16
![Page 56: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/56.jpg)
(25/51)Architecture des Ordinateurs– H.Delebecque 2015-2016
4.6.4 Mémoire
216 mots de 16 bits
16
adresses sur
16 bits
Voir 2.2.2 pour fonctionnementSorties toujours accessibles,
Adr., Entrées et R/W stables durant l'accès
R/W
16
HRadm
![Page 57: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/57.jpg)
(26/51)Architecture des Ordinateurs– H.Delebecque 2015-2016
4.6.5 U.A.L
1616
16
CommandesNA B
SZ
VC
S et (N,Z,V,C) sont stables tant que les
entrées (A, B, Commandes) le sont.
![Page 58: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/58.jpg)
(27/51)Architecture des Ordinateurs– H.Delebecque 2015-2016
4.7 Conception CDD (1/15)
Commençons par l'exécution d'un LDR R1,R0, supposé placé à l'adresse 0010
Affiché en rouge: éléments ajoutés ou importants
Affichés en vert: éléments activatés par cette étapeLes traits ont leur signification précédente
mémoire
LDR R1,R0 0010
Adresses mémoires
![Page 59: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/59.jpg)
(28/51)Architecture des Ordinateurs– H.Delebecque 2015-2016
4.7 Conception CDD (2/15)
mémoire
LDR R1,R0 0010
inactif
10
CO
HCO
BA
S
S = A
HRadm
CO → Adr. Mem
VCO
![Page 60: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/60.jpg)
(29/51)Architecture des Ordinateurs– H.Delebecque 2015-2016
VCO
4.7 Conception CDD (3/15)
mémoire
LDR R1,R0 001010
CO
HCO
BA
S
S = A+1
RI
HRI LDR R1,R0
11
HRadm
Instruction → R.ICO + 1 → CO
![Page 61: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/61.jpg)
(30/51)Architecture des Ordinateurs– H.Delebecque 2015-2016
VCO
4.7 Conception CDD (4/15)
mémoire
LDR R1,R0 0010
CO
HCO
BA
S
S = A
RI
HRI
Bloc de registres
VRyR0
HRadm
Lecture [R0]
![Page 62: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/62.jpg)
(31/51)Architecture des Ordinateurs– H.Delebecque 2015-2016
VCO
4.7 Conception CDD (5/15)
mémoire
LDR R1,R0 0010
CO
HCO
BA
S
S = B
RI
HRI
Bloc de registresHBR
VRy
R1HRadm
[R0] → R1Vmem
![Page 63: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/63.jpg)
(32/51)Architecture des Ordinateurs– H.Delebecque 2015-2016
VCO
4.7 Conception CDD (6/15)
mémoire
STR R1,R0 0011
CO
HCO
BA
S
S = A
RI
HRI
Bloc de registresHBR
VRy
11
HRadm
Cf 2/15Vmem
![Page 64: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/64.jpg)
(33/51)Architecture des Ordinateurs– H.Delebecque 2015-2016
VCO
HBR
4.7 Conception CDD (7/15)
mémoire
STR R1,R0 001111
CO
HCO
BA
S
S = A+1
RISTR R1,R0
12
HRadm
Bloc de registres
VRyCf 3/15
Vmem
HRI
![Page 65: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/65.jpg)
(34/51)Architecture des Ordinateurs– H.Delebecque 2015-2016
VCO
4.7 Conception CDD (8/15)
mémoire
STR R1,R0 0011
CO
HCO
BA
S
S = A
RI
HRI HRadm
Bloc de registres
VRyR0
HBR
Cf 4/15Vmem
![Page 66: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/66.jpg)
(35/51)Architecture des Ordinateurs– H.Delebecque 2015-2016
VCO
4.7 Conception CDD (9/15)
mémoire
STR R1,R0 0011
HCO
BA
S
S = B
RI
HRI HRadm
Bloc de registres
VRy
R1
HBR
CO
VRzR1 → [R0]
Vmem
R/W
![Page 67: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/67.jpg)
(36/51)Architecture des Ordinateurs– H.Delebecque 2015-2016
Étapes 1 & 2 id.
4.7 Conception CDD (10/15)
mémoire
MOV R1,R0 0012
HCO
BA
S
RI
HRI HRadm
Bloc de registres
VRy
HBR
CO
VRz
VmemVCO
![Page 68: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/68.jpg)
(37/51)Architecture des Ordinateurs– H.Delebecque 2015-2016
R0 → R1
4.7 Conception CDD (11/15)
mémoire
MOV R1,R0 0012
HCO
BA
S
RI
HRI HRadm
Bloc de registres
VRy
HBR
CO
VRz
MOV R1,R0
R0
R1
VmemVCO
S = A
![Page 69: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/69.jpg)
(38/51)Architecture des Ordinateurs– H.Delebecque 2015-2016
Étapes 1 & 2 id.
4.7 Conception CDD (12/15)
mémoire
MOV R1,# 0013
HCO
BA
S
RI
HRI HRadm
Bloc de registres
VRy
HBR
CO
VRz
0500 0014
VmemVCO
![Page 70: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/70.jpg)
(39/51)Architecture des Ordinateurs– H.Delebecque 2015-2016
VCO
4.7 Conception CDD (13/15)
mémoire
CO
HCO
BA
S
S = A
RI
HRI
Bloc de registresHBR
VRy
14
HRadm
Cf 2/15 !
MOV R1,# 0013
0500 0014
VRz
Vmem
![Page 71: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/71.jpg)
(40/51)Architecture des Ordinateurs– H.Delebecque 2015-2016
4.7 Conception CDD (14/15)
mémoire
CO
HCO
BA
S
S = A+1
RI
HRI
Bloc de registresHBR
VRy
14
HRadm
~ Cf 3/15 !
MOV R1,# 0013
0500 0014
VRz
VmemVCO
![Page 72: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/72.jpg)
(41/51)Architecture des Ordinateurs– H.Delebecque 2015-2016
4.7 Conception CDD (15/15)
mémoire
CO
HCO
BA
S
S = B
RI
HRI
Bloc de registresHBR
VRy
R1HRadm
Cf 5/15 !
MOV R1,# 0013
0500 0014
VCO
0500
Vmem
![Page 73: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/73.jpg)
(42/51)Architecture des Ordinateurs– H.Delebecque 2015-2016
4.8 Séquenceur
Pour exécuter toute instruction,
En plusieurs étapes,
Par des transferts entre modules,
En activant des signaux.
Diagramme d'états.
![Page 74: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/74.jpg)
(43/51)Architecture des Ordinateurs– H.Delebecque 2015-2016
4.8.1 LDR R1,R0
CO → UALA (VCO)
UALA → S
UAL(Commandes UAL)
SUAL
→ Adresses Mem. (HRADM)
1
2
T12/15
![Page 75: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/75.jpg)
(44/51)Architecture des Ordinateurs– H.Delebecque 2015-2016
4.8.1 LDR R1,R0
CO → UALA (VCO)
1 + UALA → S
UAL(Commandes UAL)
SUAL
→ CO (HCO)
Sorties Mem.→ R.I (HRI)
2
3
T23/15
![Page 76: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/76.jpg)
(45/51)Architecture des Ordinateurs– H.Delebecque 2015-2016
4.8.1 LDR R1,R0
Ry → UALA (Ry = R0, VRy)
UALA → S
UAL(Commandes UAL)
SUAL
→ Adresses Mem. (HRADM)
3
4
T34/15
![Page 77: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/77.jpg)
(46/51)Architecture des Ordinateurs– H.Delebecque 2015-2016
4.8.1 LDR R1,R0
Sorties Mem. → UALB (Vmem)
UALB
→ SUAL
(Commandes UAL)
Chargement Rx (Rx = R1, HBR)
4
1
T45/15
![Page 78: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/78.jpg)
(47/51)Architecture des Ordinateurs– H.Delebecque 2015-2016
4.8.2 STR R1,R0
Pour un STR R1,R0,
- T1, T2 et T3 sont identiques
Rz → UALB (Rz = R1, VRz)
UALB
→ SUAL
(Commandes UAL)
Ecriture mémoire (R/W à 0)
T49/15
![Page 79: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/79.jpg)
(48/51)Architecture des Ordinateurs– H.Delebecque 2015-2016
4.8.3 MOV R1,R0
- T1, T2 sont identiques,
- On ne fera rien en T3,
Ry → UALA (Ry = R0, VRy)
UALA
→ SUAL
(Commandes UAL)
Chargement Rx (Rx = R1, HBR)
T411/15
![Page 80: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/80.jpg)
(49/51)Architecture des Ordinateurs– H.Delebecque 2015-2016
4.8.4 MOV R1, #0500
- T1, T2 sont identiques,
- T3 identique à T1,
T313/15
CO → UALA (VCO)
UALA → S
UAL(Commandes UAL)
SUAL
→ Adresses Mem. (HRADM)
![Page 81: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/81.jpg)
(50/51)Architecture des Ordinateurs– H.Delebecque 2015-2016
4.8.4 MOV R1, #0500
CO → UALA (VCO)
1 + UALA → S
UAL(Commandes UAL)
SUAL
→ CO (HCO)
T414/15
- T4 ressemble à T2,
![Page 82: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/82.jpg)
(51/51)Architecture des Ordinateurs– H.Delebecque 2015-2016
4.8.4 MOV R1, #0500
T515/15
- On a besoin d'un T5 !
- Identique au T4 du LDR
Sorties Mem. → UALB (Vmem)
UALA
→ SUAL
(Commandes UAL)
Chargement Rx (Rx = R1, HBR)
![Page 83: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/83.jpg)
(1/49)Architecture des Ordinateurs – H.Delebecque 2015-2016
5.1 Typologie
5.2 La cellule
5.3 De la cellule à …
5.4 Mémoires de masse
5.5 Caches
5.6 Valeurs usuelles
5. Mémoires
![Page 84: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/84.jpg)
(2/49)Architecture des Ordinateurs – H.Delebecque 2015-2016
Par localisation
interne/externe
Par mode d'accès
Par capacité d'écriture
Par comportement hors-tension
5.1 Typologie
![Page 85: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/85.jpg)
(3/49)Architecture des Ordinateurs – H.Delebecque 2015-2016
Quel mot est accessible, compte
tenu de l'accès précédent ?
Tous: Random Access Memory
Celui écrit il y a le plus de temps:
First In First Out memory
(sans adresse)
5.1.1 Mode d'accès
![Page 86: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/86.jpg)
(4/49)Architecture des Ordinateurs – H.Delebecque 2015-2016
Celui écrit il y a le moins de
temps: Last In First Out
Celui associé à la clé fournie:
Content Addressable Memory
Le mot d'adresse suivante:
séquentiel, …
5.1.1 Mode d'accès
![Page 87: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/87.jpg)
(5/49)Architecture des Ordinateurs – H.Delebecque 2015-2016
Read Only Memory : ROM
→ mémoire inscriptible : RAM !!
Programmable ROM,
Erasable PROM,
Electrically EPROM (“Flash”),
Flash → clés USB, “SSD”, …
5.1.2 Capacité d'écriture
![Page 88: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/88.jpg)
(6/49)Architecture des Ordinateurs – H.Delebecque 2015-2016
Mémoire Volatile:
Perd son contenu si hors tension
5.1.4 Conservation info
RAM ROM
Volatile
Variable
en mémoire
Disque, …
Instruction
en mémoire
ROM, …Non volatile
![Page 89: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/89.jpg)
(7/49)Architecture des Ordinateurs – H.Delebecque 2015-2016
Un “truc” propre à stocker 1 bit.
4 critères pour les comparer:
temps d'accès
densité (nb de cellules / puce)
coût / cellule
débit (≠ vitesse)
5.2 Cellule mémoire
![Page 90: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/90.jpg)
(8/49)Architecture des Ordinateurs – H.Delebecque 2015-2016
5.2.1 Bascule “RS”
Write 1
SortieSortieSortie
0
Write 0 1
NAND
NAND
![Page 91: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/91.jpg)
(9/49)Architecture des Ordinateurs – H.Delebecque 2015-2016
5.2.1 Bascule “RS”
Write 1
SortieSortieSortie
0
Write 0 1
![Page 92: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/92.jpg)
(10/49)Architecture des Ordinateurs – H.Delebecque 2015-2016
5.2.1 Bascule “RS”
Write 0
Write 1
SortieSortieSortie
01
1
1
![Page 93: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/93.jpg)
(11/49)Architecture des Ordinateurs – H.Delebecque 2015-2016
5.2.1 Bascule “RS”
Write 0
Write 1
SortieSortieSortie
01
1
10
0
![Page 94: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/94.jpg)
(12/49)Architecture des Ordinateurs – H.Delebecque 2015-2016
5.2.1 Bascule “RS”
Write 0
Write 1
SortieSortieSortie
11
1
10
0
![Page 95: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/95.jpg)
(13/49)Architecture des Ordinateurs – H.Delebecque 2015-2016
5.2.1 Cellule statique
Vcc
Vss
Q3
Q2
Q4
Q1
Q5
Q6
CS
Read
Write 0
Read
Write 1
![Page 96: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/96.jpg)
(14/49)Architecture des Ordinateurs – H.Delebecque 2015-2016
5.2.2 Cellule dynamique
Q
CS
Read
Write Vss
![Page 97: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/97.jpg)
(15/49)Architecture des Ordinateurs – H.Delebecque 2015-2016
Le "0" or "1" est stocké dans une
capacité parasite,
Qui a un courant de fuite.
→ rafraîchissement régulier
La lecture est destructrice,
→ obligation de ré-écriture
→ Perte de bande passante.
5.2.2 Comportement
![Page 98: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/98.jpg)
(16/49)Architecture des Ordinateurs – H.Delebecque 2015-2016
Temps d'accès:
- sélection de la cellule,
- sa lecture ou son écriture.
Temps de cycle (~ 2 * taccès
)
temps pour l'accès,
+ temps pour la ré-écriture.
5.2.2 Comportement
![Page 99: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/99.jpg)
(17/49)Architecture des Ordinateurs – H.Delebecque 2015-2016
Dans un boîtier, on peut avoir:
- 1 mot de N cellules,
- N mots de 1 cellule.
Dans une "barrette",
- K mots de 8 bits,
- K/2 mots de 16 bits, …
5.3 De la cellule à …
![Page 100: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/100.jpg)
(18/49)Architecture des Ordinateurs – H.Delebecque 2015-2016
5.3.1 Matrice de cellules
N lignes,
N colonnes
L'adresse
est
fournie
en 2
temps
N
![Page 101: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/101.jpg)
(19/49)Architecture des Ordinateurs – H.Delebecque 2015-2016
Plusieurs unités (barrettes),
→ Répartition de l'espace
d'adresses total ?
→ Comment attribuer les
morceaux aux unités ?
Deux stratégies
5.3.2 Adressage d'unités
![Page 102: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/102.jpg)
(20/49)Architecture des Ordinateurs – H.Delebecque 2015-2016
Exemple:
Un espace total de 256 K
8 = 23
, 16 = 24
, 256 = 28
, 1K = 210
8 unités (bancs) → 64K chacune
256 (28
) = 8 (2
3
) * 64 (25
)
Valeurs irréalistes, mais simples.
5.3.2 Adressage d'unités
![Page 103: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/103.jpg)
(21/49)Architecture des Ordinateurs – H.Delebecque 2015-2016
5.3.3 Adressage linéaire
19 bits
N°
banc
Adresse dans le banc
(déplacement / début)
16 bits3 bits
Adresse fournie par le CPU:
![Page 104: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/104.jpg)
(22/49)Architecture des Ordinateurs – H.Delebecque 2015-2016
5.3.3 Adressage linéaire
3 16
64 K
Adr.
00000
à
0FFFF
64 K
Adr.
10000
à
1FFFF
64 K
Adr.
70000
à
7FFFF
0
7
CS CS CS
8 valeurs
![Page 105: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/105.jpg)
(23/49)Architecture des Ordinateurs – H.Delebecque 2015-2016
5.3.3 Adressage linéaire
Adresses reçues
Activité unité 0
Activité unité 1
Activité CPU
0000000000 00001
lecture refresh lecture
attente
travail attente travail
![Page 106: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/106.jpg)
(24/49)Architecture des Ordinateurs – H.Delebecque 2015-2016
5.3.4 Adressage entrelacé
316
64 K
Adr.
0
Modulo
8
64 K
Adr.
1
Modulo
8
64 K
Adr.
7
Modulo
8
0
7
![Page 107: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/107.jpg)
(25/49)Architecture des Ordinateurs – H.Delebecque 2015-2016
5.3.4 Adressage entrelacé
Adresses reçues
Activité unité 0
Activité unité 1
Activité CPU
0000000000 00001 00002
lecture refresh attente
attente lecture refresh
travail travail travail
![Page 108: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/108.jpg)
(26/49)Architecture des Ordinateurs – H.Delebecque 2015-2016
Pour conserver vos fichiers
Différentes technologies pour:
- Forte densité
- Faible coût à l'octet
- Lentes (relativement)
Accès par nom du fichier
5.4 Mémoires de masse
![Page 109: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/109.jpg)
(27/49)Architecture des Ordinateurs – H.Delebecque 2015-2016
Avec une ROM
→ petite taille, écriture difficile
RAM non volatile
→ petite taille, pas de versions
Mémoire “de masse” sans fichier
→ pas de version, pas de nom
5.4.1 Réalisations
![Page 110: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/110.jpg)
(28/49)Architecture des Ordinateurs – H.Delebecque 2015-2016
Est-ce une nécessité ?
Oui, dès que vous avez besoin de
Stockage “permanent”
Ou de
“Partage” entre utilisateurs
Ou d'un
Gros volume d'information
5.4.2 Fichiers
![Page 111: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/111.jpg)
(29/49)Architecture des Ordinateurs – H.Delebecque 2015-2016
→ hiérarchie de “répertoires”
→ un “répertoire racine”
→ qui contient toutes les autres
→ le tout formant un arbre
→ une définition universelle
5.4.2 Système de fichiers
![Page 112: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/112.jpg)
(30/49)Architecture des Ordinateurs – H.Delebecque 2015-2016
5.4.2 Système de fichiers
/
bin home
ls1A staff
delebecque
![Page 113: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/113.jpg)
(31/49)Architecture des Ordinateurs – H.Delebecque 2015-2016
- Principes
- Schéma général
- Lois sur les adresses
- Une organisation simple
5.5 Caches
![Page 114: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/114.jpg)
(32/49)Architecture des Ordinateurs – H.Delebecque 2015-2016
Augmenter les performances :
Une mémoire centrale rapide ?
Grosse mémoire → Coût !
Idée :
Une grosse mémoire lente et
Une petite mémoire rapide
5.5.1 Principes
![Page 115: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/115.jpg)
(33/49)Architecture des Ordinateurs – H.Delebecque 2015-2016
Tous les mots en mémoire lente,
Juste les mots utiles en rapide.
→ Comment prévoir quels mots
vont être utiles ?
→ Comment savoir s'ils sont là ?
→ Comment savoir où ils sont ?
5.5.1 Principes
![Page 116: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/116.jpg)
(34/49)Architecture des Ordinateurs – H.Delebecque 2015-2016
5.5.2 Schéma général
processeur cacheMémoire
Centrale
(lente)
adresse
Si le cache contient l'adresse
Contenu de l'adresse
![Page 117: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/117.jpg)
(35/49)Architecture des Ordinateurs – H.Delebecque 2015-2016
5.5.2 Schéma général
processeur cacheMémoire
Centrale
(lente)
adresse
Si le cache ne contient pas l'adresse
Contenu de l'adresse
![Page 118: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/118.jpg)
(36/49)Architecture des Ordinateurs – H.Delebecque 2015-2016
Un processeur ne produit pas les
adresses aléatoirement
Quand il produit une adresse, il y
a de fortes chances pour qu'il
en demande une proche bientôt
Pourquoi ?
→ Localité spatiale
5.5.3 Lois des adresses
![Page 119: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/119.jpg)
(37/49)Architecture des Ordinateurs – H.Delebecque 2015-2016
Quand il produit une adresse, il y
a de fortes chances pour qu'il
la redemande bientôt
Pourquoi ?
→ Localité temporelle
5.5.3 Lois des adresses
![Page 120: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/120.jpg)
(38/49)Architecture des Ordinateurs – H.Delebecque 2015-2016
Un cache est très petit.
Il ne contient pas tous les mots.
→ Quels mots stocker ?
→ Comment savoir si un mot est
là ?
→ Comment le retrouver ?
→ Quel mot retirer s'il est plein ?
5.5.4 Organisation
![Page 121: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/121.jpg)
(39/49)Architecture des Ordinateurs – H.Delebecque 2015-2016
L'analogie du bibliothécaire
Le client donne le n° du livre
Les livres sont sur des étagères,
Et le bibliothécaire est fatigué
d'aller de son bureau aux
étagères.
5.5.4 Organisation
![Page 122: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/122.jpg)
(40/49)Architecture des Ordinateurs – H.Delebecque 2015-2016
Le bibliothécaire place 10
classeurs sur son bureau.
Un livre est placé dans le
classeur selon le chiffre des
milliers de son numéro.
Les autres chiffres sont reportés
sur une étiquette du classeur.
5.5.4 Organisation
![Page 123: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/123.jpg)
(41/49)Architecture des Ordinateurs – H.Delebecque 2015-2016
5.5.4 Organisation
liv
re
liv
re
vid
e
vid
e
liv
re
0 1 2 3 9
N° d
u cla
sse
ur
étiq
ue
tte
235 342 xx … 130
Numéro
du livre
9130
![Page 124: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/124.jpg)
(42/49)Architecture des Ordinateurs – H.Delebecque 2015-2016
Supposons:
Un cache de 128 blocs of 16 (2^4)
mots (donc de taille 2K),
Une mémoire de 2^16 mots (donc
de 64K)
Taille d'un mot quelconque,
Les valeurs sont simplistes.
5.5.4 Organisation
![Page 125: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/125.jpg)
(43/49)Architecture des Ordinateurs – H.Delebecque 2015-2016
5.5.4 Organisation simple
On décide que l'adresse de 16
bits est découpée en un n° de
ligne rangée parmi 2^7 lignes
dans le cache.
5 7 4
16
Poids forts d'adressesNuméro de ligne
Déplacement
dans le bloc
![Page 126: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/126.jpg)
(44/49)Architecture des Ordinateurs – H.Delebecque 2015-2016
Supposons :
Le cache initialement vide,
Et le processeur produisant les
adresses de 0 à FFFF.
Comment le cache se remplit-il ?
5.5.4 Organisation simple
![Page 127: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/127.jpg)
(45/49)Architecture des Ordinateurs – H.Delebecque 2015-2016
5.5.4 Organisation simple
Contenu du cache mémoire
16 mots / blocétiquette
128
lignes
bloc #0
bloc #1
bloc #256
bloc #127
bloc #128
![Page 128: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/128.jpg)
(46/49)Architecture des Ordinateurs – H.Delebecque 2015-2016
5.5.4 Organisation simple
00000 0000000 0000
Adresse
0000
00000
127
Transfert
du
bloc,
mise à
jour
du
Tag
bloc #127
bloc #128
bloc #127
N° ligne N° colonne
![Page 129: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/129.jpg)
(47/49)Architecture des Ordinateurs – H.Delebecque 2015-2016
5.5.4 Organisation simple
00000 0000000 0000
Adresse
0000
00000
CPU
Transfert
du
mot
au
CPU
bloc #127
bloc #128
bloc # 0
![Page 130: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/130.jpg)
(48/49)Architecture des Ordinateurs – H.Delebecque 2015-2016
5.5.4 Organisation simple
bloc #00000 0000000 0001
Adresse
00010
00000
CPU
Hit !=
bloc #127
bloc #128
![Page 131: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/131.jpg)
(49/49)Architecture des Ordinateurs – H.Delebecque 2015-2016
5.6 Valeurs usuelles
Type Technologie Taccès typ. Taille typ. Coût/octet
Registre dynamique < ns 10 to 256 W ?
Cache statique 1 ns qq M 1.10-5
€
Centrale dynamique 10-100 ns qq G 6.10-8
€
Disque dur magnétique 1-10 ms qq T
DVD,Blu-Ray optique 10 ms < 30G
2.10-10
€
6.10-10
€
![Page 132: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/132.jpg)
(1/32)Architecture des Ordinateurs – H.Delebecque 2015-2016
6.1 Organisation générale
6.2 Lien processeur-coupleur
6.3 Interruptions
6.4 Communication entre
mémoire et coupleur
6.5 Liaison coupleur-périphérique
6. Entrées-Sorties
![Page 133: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/133.jpg)
(2/32)Architecture des Ordinateurs – H.Delebecque 2015-2016
Objectif:
Permettre la communication avec
l'extérieur via des périphériques:
- d'IHM (souris, écran, ...)
- de stockage (disques, …)
- ad-hoc (capteurs, moteurs, ...)
6.1 Organisation générale
![Page 134: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/134.jpg)
(3/32)Architecture des Ordinateurs – H.Delebecque 2015-2016
Entrée-sortie logique:
- demandée par l'utilisateur,
- indépendante du matériel,
- bufferisée ou pas.
Entrée-sortie physique:
- réellement réalisée (ou pas),
- pour plusieurs E/S logiques ?
6.1 Organisation générale
![Page 135: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/135.jpg)
(4/32)Architecture des Ordinateurs – H.Delebecque 2015-2016
Un coupleur :
Entre le CPU et le périphérique
Pour :
Le partage entre périphériques
Faire les adaptations
S'appuyant sur des normes
6.1 Organisation générale
![Page 136: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/136.jpg)
(5/32)Architecture des Ordinateurs – H.Delebecque 2015-2016
Plusieurs architectures:
- un bus d'E/S dédié pour les
ordinateurs chargés en E/S,
- avec un processeur d'E/S
pour les gérer, au besoin
- un bus unique sinon
6.2 Lien CPU-Contrôleur
![Page 137: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/137.jpg)
(6/32)Architecture des Ordinateurs – H.Delebecque 2015-2016
AdressesAdresses
6.2.1 Bus d'E/S dédié
Processeur Mémoire Coupleur
Périphérique
Données Données
Le processeur lit en mémoire
![Page 138: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/138.jpg)
(7/32)Architecture des Ordinateurs – H.Delebecque 2015-2016
6.2.1 Bus d'E/S dédié
AdressesAdresses
Processeur Mémoire Coupleur
Périphérique
Données
Le processeur écrit en mémoire
Données
![Page 139: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/139.jpg)
(8/32)Architecture des Ordinateurs – H.Delebecque 2015-2016
6.2.1 Bus d'E/S dédié
Adresses Données Adresses Données
Processeur Mémoire Coupleur
Périphérique
Le processeur lit dans le coupleur
![Page 140: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/140.jpg)
(9/32)Architecture des Ordinateurs – H.Delebecque 2015-2016
6.2.1 Bus d'E/S dédié
Adresses Données Adresses Données
Processeur Mémoire Coupleur
Périphérique
Le processeur écrit dans le coupleur
![Page 141: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/141.jpg)
(10/32)Architecture des Ordinateurs – H.Delebecque 2015-2016
6.2.2 Bus commun
Adresses
Coupleur
Périphérique
Données
Le processeur lit en mémoire
Processeur Mémoire
![Page 142: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/142.jpg)
(11/32)Architecture des Ordinateurs – H.Delebecque 2015-2016
Analogie avec le monde réel:
Vous attendez quelqu'un, tout en
regardant un match ou un film.
Problème:
Vous ne voulez manquer ni l'un,
ni l'autre.
6.3 Interruptions
![Page 143: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/143.jpg)
(12/32)Architecture des Ordinateurs – H.Delebecque 2015-2016
Scrutation:
Régulièrement, vous mettez la TV
en pause, allez ouvrir la porte,
puis relancez à la TV.
Problèmes :
- la période “d'échantillonage”
- la perte de temps
6.3 Interruptions
![Page 144: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/144.jpg)
(13/32)Architecture des Ordinateurs – H.Delebecque 2015-2016
1ère amélioration:
Vous installez une sonnette
Quand elle sonne:
Vous mettez sur “Pause”,
Vous discutez avec le visiteur,
Vous relancez la TV
6.3 Interruptions
![Page 145: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/145.jpg)
(14/32)Architecture des Ordinateurs – H.Delebecque 2015-2016
Vous avez (aussi) un mobile
2ème amélioration:
S'il sonne pendant que vous
parlez au visiteur,
Vous prenez l'appel,
Sans être trop long !
6.3 Interruptions
![Page 146: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/146.jpg)
(15/32)Architecture des Ordinateurs – H.Delebecque 2015-2016
6.3.1 Coupleur d'entrée
Adresses
Données
Contrôle
ComparateurAdresses
SélectionAdresses
&
R/W
=
Entrées externes
![Page 147: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/147.jpg)
(16/32)Architecture des Ordinateurs – H.Delebecque 2015-2016
6.3.2 Scrutation
DemandeD'E/S
Périph.Prêt
?
Non
Lecturedonnées
LectureRegistre
état
![Page 148: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/148.jpg)
(17/32)Architecture des Ordinateurs – H.Delebecque 2015-2016
6.3.3 Généralités
Elles sont asynchrones
→ Le programme interrompu ne
sait pas quand elles arrivent
→ il ne peut sauvegarder son
“état” avant une interruption
→ Le S.P de traitement doit
laisser le processeur intact
![Page 149: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/149.jpg)
(18/32)Architecture des Ordinateurs – H.Delebecque 2015-2016
6.3.3 Généralités
Matériel nécessaire :
- un signal IRQ vers le CPU,
- un signal d'acquittement vers le
coupleur,
- Une capacité minimale de
sauvegarde de l'état CPU
![Page 150: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/150.jpg)
(19/32)Architecture des Ordinateurs – H.Delebecque 2015-2016
6.3.4 Gestion
Partiellement par le CPU
- Les registres vitaux sont
sauvegardés en pile
- les interruptions de même
niveau masquées
- le SP de traitement est appelé
![Page 151: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/151.jpg)
(20/32)Architecture des Ordinateurs – H.Delebecque 2015-2016
6.3.4.3 Appel du SP
Qui impose l'adresse du SP ?
→ pas le programme
interrompu
→ pas le processeur, qui doit
pourtant la trouver
→ un mot d'adresse connu
Le “vecteur” d'interruption
![Page 152: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/152.jpg)
(21/32)Architecture des Ordinateurs – H.Delebecque 2015-2016
6.4 Transfert de Données
Analogie: Envoi d'une lettre.
Vous prenez un caractère,
Vous allez le porter à destination,
Vous revenez chez vous pour le
suivant
Et ainsi de suite…
![Page 153: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/153.jpg)
(22/32)Architecture des Ordinateurs – H.Delebecque 2015-2016
6.4.1 E/S par programme
Le processeur assure le transfert
Pour chaque mot,
- il le lit (mémoire ou coupleur)
- il l'écrit (inverse)
- il incrémente l'adresse (mém.)
- il décrémente un compteur
![Page 154: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/154.jpg)
(23/32)Architecture des Ordinateurs – H.Delebecque 2015-2016
6.4.1 E/S par programme
Inconvénients:
Le temps processeur gâché,
Une IT par E/S élémentaire pour
chaque coupleur.
Chaque E/S est spécifique
Avantages: simple et pas cher
![Page 155: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/155.jpg)
(24/32)Architecture des Ordinateurs – H.Delebecque 2015-2016
6.4.2 Groupe d'E/S
Le processeur envoie un “buffer”
Le coupleur le traite tout seul
Il émet une IT par buffer
Toutes les E/S sont gérées de la
même manière (via un driver).
La charge CPU de transfert reste
la même
![Page 156: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/156.jpg)
(25/32)Architecture des Ordinateurs – H.Delebecque 2015-2016
6.4.2 Groupe d'E/SAdresses
Données
Contrôle
Comp.adresses
Select.adresses
=Buffer
données
Séquenceur
Microprogramme
Sorties
R/W H
Etat
![Page 157: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/157.jpg)
(26/32)Architecture des Ordinateurs – H.Delebecque 2015-2016
6.4.3 Rôles du driver
Initialisation de l'E/S globale:
- le CPU envoie les données
- Il autorise les IRQ du coupleur
Gestion des interruptions:
- traite la fin de l'E/S élémentaire,
- s'il y en a une autre, il la lance
![Page 158: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/158.jpg)
(27/32)Architecture des Ordinateurs – H.Delebecque 2015-2016
6.4.3 Rôles du driver
- S'il n'y a plus d'E/S élémentaire,
interdit les IRQ du coupleur.
→ fin de l'E/S globale
Selon le périphérique, d'autres
points d'entrées existent:
- test, reset, formattage,...
![Page 159: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/159.jpg)
(28/32)Architecture des Ordinateurs – H.Delebecque 2015-2016
6.4.4 D.M.A
On décharge le CPU du transfert
des données.
Le coupleur lit ou écrit tout seul
→ Le CPU lui fournit l'adresse
de départ (à l'initialisation)
→ Il émet les adresses sur le
bus du “CPU”
![Page 160: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/160.jpg)
(29/32)Architecture des Ordinateurs – H.Delebecque 2015-2016
6.4.4 Architecture
Le DMA doit pouvoir:
→ émettre l'adresse d'un mot
→ envoyer ou recevoir celui-ci
→ décompter les mots
→ enchaîner seul ces opérations
Il consomme des accès mémoire
![Page 161: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/161.jpg)
(30/32)Architecture des Ordinateurs – H.Delebecque 2015-2016
Dépend :
- du type de périphérique,
- de la distance entre unité
centrale et périphérique
Standardisée ou pas
6.5 Lien coupleur-périph.
![Page 162: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/162.jpg)
(31/32)Architecture des Ordinateurs – H.Delebecque 2015-2016
Une paire “producteur-
consommateur”
Débits moyens supposés égaux
Mais des “pointes” ponctuelles
→ dispositif “amortisseur”
→ arrêt/relance du plus rapide
6.5.1 Régulation de flux
![Page 163: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/163.jpg)
(32/32)Architecture des Ordinateurs – H.Delebecque 2015-2016
Parallèle
→ transfert par octet
→ liaison rapide, faible distance
Série
→ transfert par bit (groupés)
→ liaison simple, bon marché
6.5.2 Types de liaisons
![Page 164: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/164.jpg)
(1/21)Architecture des Ordinateurs – H.Delebecque 2015-2016
7.1 Bases7.2 Interprète, compilateur 7.3 Exemples de traduction7.4 Implantation en mémoire
7. De Python au CPU
![Page 165: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/165.jpg)
(2/21)Architecture des Ordinateurs – H.Delebecque 2015-2016
Expression / programmeSyntaxe / sémantiqueLangue naturelle / langage de
programmationTraduction / évaluationLangage typé / non-typé
7.1 Bases
![Page 166: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/166.jpg)
(3/21)Architecture des Ordinateurs – H.Delebecque 2015-2016
Soit un programme à exécuterInterprété : Traduit, évalué, la valeur affichéeCompilé:Traduit (et stocké dans un fichier)Puis executé, la valeur affichée
7.2 Interprète-Compilateur
![Page 167: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/167.jpg)
(4/21)Architecture des Ordinateurs – H.Delebecque 2015-2016
→ Analyse les caractères→ Isole les instructions et “mots”→ Vérifie la syntaxe→ Retrouve les variables→ Repère les “mot-clés”→ Traduit les instructions
Assembleur / Compilateur
7.2.1 Traduction
![Page 168: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/168.jpg)
(5/21)Architecture des Ordinateurs – H.Delebecque 2015-2016
→ D'une forme “interne”→ Qui référence des variables→ Et des fonctions traduites
→ avec des arguments→ qui seront évalués
→ Retourne une valeur
7.2.2 Evaluation
![Page 169: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/169.jpg)
(6/21)Architecture des Ordinateurs – H.Delebecque 2015-2016
→ D'un fichier “exécutable”→ Résultat d'une compilation→ Stocké sur un disque→ Chargé en mémoire→ Avec d'éventuels arguments→ Effectuant des E/S
7.2.3 Exécution
![Page 170: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/170.jpg)
(7/21)Architecture des Ordinateurs – H.Delebecque 2015-2016
→ Dans le cas interprété→ Inverse d'une traduction→ D'une forme interne, vers une
chaîne de caractères→ En plus des éventuelles E/S
7.2.4 Impression
![Page 171: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/171.jpg)
(8/21)Architecture des Ordinateurs – H.Delebecque 2015-2016
7.3.1 Gestion des variables7.3.2 Affectation simple7.3.3 Affectation par expression7.3.4 Condition7.3.5 Boucle
7.3 Quelques exemples
![Page 172: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/172.jpg)
(9/21)Architecture des Ordinateurs – H.Delebecque 2015-2016
7.3.1 Variable
Déclaration implicite en Python,→ une table des variables
→ clé d'accès: le nom→ données: (adresse, type)
→ évaluation = lecture mémoire→ affectation = écriture mémoire
![Page 173: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/173.jpg)
(10/21)Architecture des Ordinateurs – H.Delebecque 2015-2016
7.3.2 Affectation simple
Ex: var = 10
→ évaluation de la partie droite→ constante (pré-évaluée)→ variable (lecture mémoire)
→ stockage en mémoireÀ l'adresse associée à la variable
![Page 174: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/174.jpg)
(11/21)Architecture des Ordinateurs – H.Delebecque 2015-2016
7.3.3 Affectation complexe
Ex: var = facto(3)
→ évaluation de la partie droite→ évaluation des arguments,→ “liaison” des valeurs→ “application” de la fonction→ “retour” de la valeur
→ stockage en mémoire
![Page 175: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/175.jpg)
(12/21)Architecture des Ordinateurs – H.Delebecque 2015-2016
7.3.4 Condition
if (var == 0) :
resultat = 1
else :
resultat = var * facto(var – 1)
→ évaluation de la condition→ calcul de la “bonne” valeur→ retour de celle-ci
![Page 176: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/176.jpg)
(13/21)Architecture des Ordinateurs – H.Delebecque 2015-2016
7.3.5 Boucle
while (var > 0) :resultat = resultat * varvar = var - 1
→ si la condition est vraie→ évaluation du corps→ saut en début de boucle
→ sinon, saut après le corps
![Page 177: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/177.jpg)
(14/21)Architecture des Ordinateurs – H.Delebecque 2015-2016
7.4 Implantation mémoire
Variables: statiquesListes, Objets:→ créés dynamiquementPile:→ comportement dynamique→ adresse de début statique
![Page 178: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/178.jpg)
(15/21)Architecture des Ordinateurs – H.Delebecque 2015-2016
7.4.1 Listes et Objets
Demandés par le programmeur→ Durées de vie variables→ Tailles variables→ Nombre très variableAlloués dans une zone spécialeLe “heap” ou “tas”
![Page 179: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/179.jpg)
(16/21)Architecture des Ordinateurs – H.Delebecque 2015-2016
7.4.2 Pile
Réservée par le système→ une zone mémoire,→ un sommet de pile→ accès FIFOIndispensable pour la récursivitéTrès pratique pour les fonctions
![Page 180: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/180.jpg)
(17/21)Architecture des Ordinateurs – H.Delebecque 2015-2016
7.4.2.1 Définition
Pointeur de pile Mot 0SommetMot 2
La pile
Mot 9
SP
![Page 181: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/181.jpg)
(18/21)Architecture des Ordinateurs – H.Delebecque 2015-2016
7.4.2.2 Empilage (faux)
Mot 0Valeur de R0
Mot 2
Mot 9
SP
R0
PUSH R0 ↔ STR R0, SP ?
![Page 182: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/182.jpg)
(19/21)Architecture des Ordinateurs – H.Delebecque 2015-2016
7.4.2.2 Empilage
Valeur de R0
Mot 2
Mot 9
SPj
SP++
kR0
Ancien sommet
ADD SP,SP, #1STR R0, SP
![Page 183: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/183.jpg)
(20/21)Architecture des Ordinateurs – H.Delebecque 2015-2016
7.4.2.2 Dépilage (pop)
LDR R0,SPSUB SP, SP, #1
Nouveau sommet
Valeur dépilée
Mot 2
Mot 9
SP
j
--SPk
R0
![Page 184: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/184.jpg)
(21/21)Architecture des Ordinateurs – H.Delebecque 2015-2016
7.4.3 Pile et Heap
SP
Objet 1Liste 1
Heap
Mémoire centrale
![Page 185: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/185.jpg)
(1/28)Architecture des Ordinateurs – H.Delebecque 2015-2016
8.1 Mode privilégié8.2 Appels système8.3 Pipeline8.4 Architectures alternatives
8. Pour aller plus loin
![Page 186: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/186.jpg)
(2/28)Architecture des Ordinateurs – H.Delebecque 2015-2016
Pour limiter au code système :L'accès à certaines instructionsCertaines fonctionnalitésLui donner des droits d'accès
privilégiésDans l'intérêt des utilisateurs
8.1 Mode privilégié
![Page 187: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/187.jpg)
(3/28)Architecture des Ordinateurs – H.Delebecque 2015-2016
Pour autoriser un code normal :À passer en mode privilégié→ via des fonctions système
→ Appelées normalement→ ayant un code fiablePour des opérations sensiblesTout en étant sûr du résultat
8.2 Appels système
![Page 188: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/188.jpg)
(4/28)Architecture des Ordinateurs – H.Delebecque 2015-2016
Pour :Lancer une entrée-sortie,Accéder à une ressource,→ Demander de la mémoire,→ Exécuter un programme,→ Accéder aux données système
8.2 Appels système
![Page 189: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/189.jpg)
(5/28)Architecture des Ordinateurs – H.Delebecque 2015-2016
L'accélération par les caches est limitée par le coût et la technologie !
Quoi d'autre ?Une meilleure utilisation de la
mémoire !
8.3 Pipeline
![Page 190: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/190.jpg)
(6/28)Architecture des Ordinateurs – H.Delebecque 2015-2016
Découpons l'exécution de toute instruction en 4 étapes…
4 ticks d'horloge / instructions
8.3 Pipeline
AccèsInstr.
Accès Arg Exec.
ActivitéCPU
ActivitéMemoire Lecture
StockeRésultat
inactive
![Page 191: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/191.jpg)
(7/28)Architecture des Ordinateurs – H.Delebecque 2015-2016
8.3.1 Principe du Pipeline
1ère instr.
Lecture
2èmeInstr.3èmeInstr.
Lecture Lecture Lecture
AccèsInstr.
Accès Arg Exec. Stocke
Résultat
AccèsInstr.
Accès Arg Exec. Stocke
Résultat
AccèsInstr.
Accès Arg Exec. Stocke
Résultat
ActivitéMemoire
AccèsInstr.
Accès Arg Exec.
4èmeInstr.
![Page 192: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/192.jpg)
(8/28)Architecture des Ordinateurs – H.Delebecque 2015-2016
On découpe l'exécution en N→ N instructions en parallèle → 1 fin d'instruction / périodeNb d'éxécutions d'instruction * NAvec un faible surcoût matérielSi toutes les instructions sont
sur registres !!
8.3.1 Principe du Pipeline
![Page 193: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/193.jpg)
(9/28)Architecture des Ordinateurs – H.Delebecque 2015-2016
F
A
…b endLDR R0,R1MOV R2,R0
8.3.2 Pb de Pipeline (1/3)
F
F
A E S
E S
A E S
F A E S
F: Accès Instr.A: Accès argsE: ExecuteS: Stockage Res.
CO modifié
Erreur: code exécuté en partie
LDR R1,R2
![Page 194: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/194.jpg)
(10/28)Architecture des Ordinateurs – H.Delebecque 2015-2016
A
A
…LDR R0,R2ADD R0,R1,R0STR R0,R2
8.3.2 Pb de Pipeline (2/3)
F
F
A E S
E S
E S
R0 modifié
R0 est lu avant d'avoir été modifié
F
![Page 195: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/195.jpg)
(11/28)Architecture des Ordinateurs – H.Delebecque 2015-2016
A
A
…LDR R0,R1MOV R0, #10CMP R2,R3
8.3.2 Pb de Pipeline (3/3)
F
A E S
E S
E S
Accès mémoire simultanés
Lit [R1]
Lecture #10
F
F
![Page 196: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/196.jpg)
(12/28)Architecture des Ordinateurs – H.Delebecque 2015-2016
Minimiser les accès mémoire→ A quelques instructions
→ modèle “Load-and-Store”→ beaucoup de registres
Les registres restent partagés !
8.3.3 Solutions (1/3)
![Page 197: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/197.jpg)
(13/28)Architecture des Ordinateurs – H.Delebecque 2015-2016
Pour supprimer les conflits:→ on demande au programmeur→ l'assembleur insère des NOP→ le compilateur déplace des
instructions→ le processeur ré-ordonne les instructions à l'exécution
8.3.3 Solutions (2/3)
![Page 198: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/198.jpg)
(14/28)Architecture des Ordinateurs – H.Delebecque 2015-2016
AF
A
…STR R2,R1LDR R2,R1ADD R3,R2,R3
STR R2,R1ADD R3,R2,R3
8.3.3 Solutions (3/3)
F
A E S
E S
E S
F
AF
A E S
E S
Le code optimiséF
Le code initial
![Page 199: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/199.jpg)
(15/28)Architecture des Ordinateurs – H.Delebecque 2015-2016
CISC vs RISCArchitecture HarvardMulti-coeurs
8.4 Architectures autres
![Page 200: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/200.jpg)
(16/28)Architecture des Ordinateurs – H.Delebecque 2015-2016
Complex Instructions Set CPULes mémoires étaient lentes…→ Fréquence CPU basse→ Plus de temps pour exécuter
→ instructions très riches→ et de taille variable
8.4.1 CISC
![Page 201: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/201.jpg)
(17/28)Architecture des Ordinateurs – H.Delebecque 2015-2016
Typiquement:Arguments souvent en mémoireModes d'adressage complexes→ 3 modes d'adressage !
→ grandes instructionsInstruction de boucle, par ex.
8.4.1 CISC
![Page 202: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/202.jpg)
(18/28)Architecture des Ordinateurs – H.Delebecque 2015-2016
Reduced Instruction Set CPU→ Instructions simples→ modèle LOAD and STORE→ Moins d'accès mémoire→ Plus de registres→ Fréquence d'horloge élevée
8.4.1 RISC
![Page 203: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/203.jpg)
(19/28)Architecture des Ordinateurs – H.Delebecque 2015-2016
CISC RISCMicroprocesseurs 8 bits
68X00 (Motorola) MIPS (Berkeley)386, IAPX-432 (Intel) Alpha (DEC)Vax (DEC) Sparc (Sun)Pentium (Intel) PowerPC (IBM)
ARM
8.4.1 CISC / RISC
![Page 204: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/204.jpg)
(20/28)Architecture des Ordinateurs – H.Delebecque 2015-2016
8.4.1 RISC / CISC
IBM POWER5+ Intel-Xeon 516064 bits 32/64 bits~ 2.3 GHz ~ 3 GHzL1: 64k (I) / 32k (D) 32k (I) / 32k (D)L2: 2 M 4 ML3: 36 M (externe) Aucun276 million portes 291 million
![Page 205: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/205.jpg)
(21/28)Architecture des Ordinateurs – H.Delebecque 2015-2016
8.4.2 Architecture Harvard
Dès que Instructions et Données- sont stockées séparément- sont traitées différemment
Exemple :Caches d'instruction et de données séparés
![Page 206: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/206.jpg)
(22/28)Architecture des Ordinateurs – H.Delebecque 2015-2016
Un CPU ne suffit plus ?Prenez un double-coeur, octo-
coeurs,… !
Performances / nb coeurs cste ?Problèmes spécifiques de ces
architectures ?
8.4.3 Multi-coeurs
![Page 207: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/207.jpg)
(23/28)Architecture des Ordinateurs – H.Delebecque 2015-2016
La mémoire centrale est partagéeComme les ressources→ Comment gérer le partage ?→ Quel est le coût du partage ?→ Comment les caches des coeurs coopèrent-ils ?
8.4.3 Problèmes
![Page 208: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/208.jpg)
(24/28)Architecture des Ordinateurs – H.Delebecque 2015-2016
Le système va-t-il répartir la charge entre les coeurs ?
Mes applications courantes ont besoin de combien de coeurs ?
8.4.3 Rendement
![Page 209: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/209.jpg)
(25/28)Architecture des Ordinateurs – H.Delebecque 2015-2016
Unix est fait pour gérer beaucoup de petites tâches.
Il divise un gros traitement en tâches séparées,
Confiées à des coeurs différents.Grâce à une bonne
communication entre tâches.
8.4.3 Rendement
![Page 210: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/210.jpg)
(26/28)Architecture des Ordinateurs – H.Delebecque 2015-2016
L'architecture employée:Intel Core2 Duo CPU E6550
Dual core,2.33GHz (bus 1.33 GHz),Cache de niveau 1: 2 x 64KCache de niveau 2: 4 MB x86-64
8.4.4 Benchmarks
![Page 211: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/211.jpg)
(27/28)Architecture des Ordinateurs – H.Delebecque 2015-2016
Bleu: 1 coeur, Rouge: 2 coeurs
8.4.4 Résultats globaux
![Page 212: Architecture des Ordinateurs - Supélec€¦ · Architecture des Ordinateurs– H.Delebecque 2015-2016 (4/51) 4.2 Codage d'une instruction Une instruction machine c'est: 1 (ou plusieurs)](https://reader034.fdocument.pub/reader034/viewer/2022042709/5f3fccc28c66c1010b3bdcae/html5/thumbnails/212.jpg)
(28/28)Architecture des Ordinateurs – H.Delebecque 2015-2016
Conclusions:2 coeurs pas toujours > 2 * CPU2 demi-bancs mémoire: mieux qu'un grand2 coeurs meilleurs avec plus de mémoire, adressage entrelacé
8.4.4 Résultats globaux