![Page 1: lien ´etroit entre – jeu d’instructions d’une machine – sa ...marcel.ftp-developpez.com/archiCours6.pdf · format d’instruction nombre de champs r´eserv´es aux adresses](https://reader034.vdocuments.us/reader034/viewer/2022051915/6006fdbb2cf89036fb2f4a12/html5/thumbnails/1.jpg)
1
jeu d’instructions
lien etroit entre
– jeu d’instructions d’une machine
– sa programmation
– la conception de sa CPU
architecture des ordinateurs cours 6 : jeu d’instructions 21 fevrier 2005
![Page 2: lien ´etroit entre – jeu d’instructions d’une machine – sa ...marcel.ftp-developpez.com/archiCours6.pdf · format d’instruction nombre de champs r´eserv´es aux adresses](https://reader034.vdocuments.us/reader034/viewer/2022051915/6006fdbb2cf89036fb2f4a12/html5/thumbnails/2.jpg)
2
jeu d’instructions
le jeu d’instructions offre une vue logique de la machine
– registres
– types de donnees
– fonctionnement de l’ALU
architecture des ordinateurs cours 6 : jeu d’instructions 21 fevrier 2005
![Page 3: lien ´etroit entre – jeu d’instructions d’une machine – sa ...marcel.ftp-developpez.com/archiCours6.pdf · format d’instruction nombre de champs r´eserv´es aux adresses](https://reader034.vdocuments.us/reader034/viewer/2022051915/6006fdbb2cf89036fb2f4a12/html5/thumbnails/3.jpg)
3
plan
– definition
– caracteristique
– classification
– type d’instructions
– type d’operandes
– exemple
architecture des ordinateurs cours 6 : jeu d’instructions 21 fevrier 2005
![Page 4: lien ´etroit entre – jeu d’instructions d’une machine – sa ...marcel.ftp-developpez.com/archiCours6.pdf · format d’instruction nombre de champs r´eserv´es aux adresses](https://reader034.vdocuments.us/reader034/viewer/2022051915/6006fdbb2cf89036fb2f4a12/html5/thumbnails/4.jpg)
3
plan
– definition
– caracteristique
– classification
– type d’instructions
– type d’operandes
– exemple
– structure
– adressage
– format
– exemple
– conclusion
architecture des ordinateurs cours 6 : jeu d’instructions 21 fevrier 2005
![Page 5: lien ´etroit entre – jeu d’instructions d’une machine – sa ...marcel.ftp-developpez.com/archiCours6.pdf · format d’instruction nombre de champs r´eserv´es aux adresses](https://reader034.vdocuments.us/reader034/viewer/2022051915/6006fdbb2cf89036fb2f4a12/html5/thumbnails/5.jpg)
4
role de la CPU
– recherche d’une instruction en memoire
– decodage de l’instruction
– recherche des operandes
– execution de l’operation
– stocke le resultat
architecture des ordinateurs cours 6 : jeu d’instructions 21 fevrier 2005
![Page 6: lien ´etroit entre – jeu d’instructions d’une machine – sa ...marcel.ftp-developpez.com/archiCours6.pdf · format d’instruction nombre de champs r´eserv´es aux adresses](https://reader034.vdocuments.us/reader034/viewer/2022051915/6006fdbb2cf89036fb2f4a12/html5/thumbnails/6.jpg)
5
composition de la CPU
– registres
– ALU
– UC
– bus
architecture des ordinateurs cours 6 : jeu d’instructions 21 fevrier 2005
![Page 7: lien ´etroit entre – jeu d’instructions d’une machine – sa ...marcel.ftp-developpez.com/archiCours6.pdf · format d’instruction nombre de champs r´eserv´es aux adresses](https://reader034.vdocuments.us/reader034/viewer/2022051915/6006fdbb2cf89036fb2f4a12/html5/thumbnails/7.jpg)
6
definition
ensemble des instructions executables par une CPU
une instruction doit contenir
– le code de l’operation a executer (opcode)
– la reference aux operandes sources
– la reference a l’operande resultat
– la reference a la prochaine instruction
certaines de ces informations peuvent etre implicites
architecture des ordinateurs cours 6 : jeu d’instructions 21 fevrier 2005
![Page 8: lien ´etroit entre – jeu d’instructions d’une machine – sa ...marcel.ftp-developpez.com/archiCours6.pdf · format d’instruction nombre de champs r´eserv´es aux adresses](https://reader034.vdocuments.us/reader034/viewer/2022051915/6006fdbb2cf89036fb2f4a12/html5/thumbnails/8.jpg)
7
representations de l’instruction
sequence de bits decoupee en champs
representation symbolique
– l’opcode est represente par une abbreviation
(mnemonique)
– les registres sont representes par leur nom
– les adresses memoires par leur valeur ou un nom de
variable
– des symboles particuliers pour les contenus, les modes
d’adressage, ...
architecture des ordinateurs cours 6 : jeu d’instructions 21 fevrier 2005
![Page 9: lien ´etroit entre – jeu d’instructions d’une machine – sa ...marcel.ftp-developpez.com/archiCours6.pdf · format d’instruction nombre de champs r´eserv´es aux adresses](https://reader034.vdocuments.us/reader034/viewer/2022051915/6006fdbb2cf89036fb2f4a12/html5/thumbnails/9.jpg)
8
exemple
adresse memoire contenu
0100 0010 0010 0000 1100
0101 0001 0010 0000 1101
0110 0001 0010 0000 1110
0111 0011 0010 0000 1111
1100 0000 0000 0000 0010
1101 0000 0000 0000 0011
1110 0000 0000 0000 0100
1111 0000 0000 0000 0000
architecture des ordinateurs cours 6 : jeu d’instructions 21 fevrier 2005
![Page 10: lien ´etroit entre – jeu d’instructions d’une machine – sa ...marcel.ftp-developpez.com/archiCours6.pdf · format d’instruction nombre de champs r´eserv´es aux adresses](https://reader034.vdocuments.us/reader034/viewer/2022051915/6006fdbb2cf89036fb2f4a12/html5/thumbnails/10.jpg)
9
exemple
adresse contenu
0100 LOAD (1100)
0101 ADD (1101)
0110 ADD (1110)
0111 STORE (1111)
1100 0002
1101 0003
1110 0004
1111 0000
architecture des ordinateurs cours 6 : jeu d’instructions 21 fevrier 2005
![Page 11: lien ´etroit entre – jeu d’instructions d’une machine – sa ...marcel.ftp-developpez.com/archiCours6.pdf · format d’instruction nombre de champs r´eserv´es aux adresses](https://reader034.vdocuments.us/reader034/viewer/2022051915/6006fdbb2cf89036fb2f4a12/html5/thumbnails/11.jpg)
10
langages
compilation d’un langage haut niveau (HLL) vers un
langage de bas niveau (LLL)
une instruction HLL correspond a plusieurs instructions
LLL
le jeu d’instruction doit etre suffisament expressif pour
coder toute instruction d’un langage de haut niveau
architecture des ordinateurs cours 6 : jeu d’instructions 21 fevrier 2005
![Page 12: lien ´etroit entre – jeu d’instructions d’une machine – sa ...marcel.ftp-developpez.com/archiCours6.pdf · format d’instruction nombre de champs r´eserv´es aux adresses](https://reader034.vdocuments.us/reader034/viewer/2022051915/6006fdbb2cf89036fb2f4a12/html5/thumbnails/12.jpg)
11
exemple
X = X + Y se traduit en
LOAD X, R1
ADD R1, Y
STORE R1, X
architecture des ordinateurs cours 6 : jeu d’instructions 21 fevrier 2005
![Page 13: lien ´etroit entre – jeu d’instructions d’une machine – sa ...marcel.ftp-developpez.com/archiCours6.pdf · format d’instruction nombre de champs r´eserv´es aux adresses](https://reader034.vdocuments.us/reader034/viewer/2022051915/6006fdbb2cf89036fb2f4a12/html5/thumbnails/13.jpg)
12
conception d’un jeu d’instruction
compromis entre
– nombre d’operations
– complexite des operations
– nombre de types de donnees
– nombre de registres
– utilisation des registres
– nombre de modes d’adressage
– nombre de champs
– taille des champs
architecture des ordinateurs cours 6 : jeu d’instructions 21 fevrier 2005
![Page 14: lien ´etroit entre – jeu d’instructions d’une machine – sa ...marcel.ftp-developpez.com/archiCours6.pdf · format d’instruction nombre de champs r´eserv´es aux adresses](https://reader034.vdocuments.us/reader034/viewer/2022051915/6006fdbb2cf89036fb2f4a12/html5/thumbnails/14.jpg)
13
classification
selon le format d’instruction
selon la relation entre memoire et registres
architecture des ordinateurs cours 6 : jeu d’instructions 21 fevrier 2005
![Page 15: lien ´etroit entre – jeu d’instructions d’une machine – sa ...marcel.ftp-developpez.com/archiCours6.pdf · format d’instruction nombre de champs r´eserv´es aux adresses](https://reader034.vdocuments.us/reader034/viewer/2022051915/6006fdbb2cf89036fb2f4a12/html5/thumbnails/15.jpg)
14
format d’instruction
nombre de champs reserves aux adresses
en theorie
– premier operande source
– deuxieme operande source
– operande resultat
– prochaine instruction
architecture des ordinateurs cours 6 : jeu d’instructions 21 fevrier 2005
![Page 16: lien ´etroit entre – jeu d’instructions d’une machine – sa ...marcel.ftp-developpez.com/archiCours6.pdf · format d’instruction nombre de champs r´eserv´es aux adresses](https://reader034.vdocuments.us/reader034/viewer/2022051915/6006fdbb2cf89036fb2f4a12/html5/thumbnails/16.jpg)
15
en pratique
– format 3 adresses : peu courant (instructions longues)
– format 2 adresses : une adresse fait office de source et
de destination
– format 1 adresse : l’accumulateur garde une operande
et le resultat
– format 0 : une pile stocke operandes et resultats
architecture des ordinateurs cours 6 : jeu d’instructions 21 fevrier 2005
![Page 17: lien ´etroit entre – jeu d’instructions d’une machine – sa ...marcel.ftp-developpez.com/archiCours6.pdf · format d’instruction nombre de champs r´eserv´es aux adresses](https://reader034.vdocuments.us/reader034/viewer/2022051915/6006fdbb2cf89036fb2f4a12/html5/thumbnails/17.jpg)
16
nombre d’adresses
nombre d’adresses representation interpretation
3 OP A, B, C A ← B OP C
2 OP A, B A ← A OP B
1 OP A ACC ← ACC OP A
0 OP T ← T OP T - 1
ACC : l’accumulateur
T : sommet de pile
architecture des ordinateurs cours 6 : jeu d’instructions 21 fevrier 2005
![Page 18: lien ´etroit entre – jeu d’instructions d’une machine – sa ...marcel.ftp-developpez.com/archiCours6.pdf · format d’instruction nombre de champs r´eserv´es aux adresses](https://reader034.vdocuments.us/reader034/viewer/2022051915/6006fdbb2cf89036fb2f4a12/html5/thumbnails/18.jpg)
17
choix du nombre d’adresses
moins il y a d’adresses
plus les instruction sont courtes
moins la CPU est complexe
plus les instructions sont nombreuses
plus les programmes sont lents a executer
architecture des ordinateurs cours 6 : jeu d’instructions 21 fevrier 2005
![Page 19: lien ´etroit entre – jeu d’instructions d’une machine – sa ...marcel.ftp-developpez.com/archiCours6.pdf · format d’instruction nombre de champs r´eserv´es aux adresses](https://reader034.vdocuments.us/reader034/viewer/2022051915/6006fdbb2cf89036fb2f4a12/html5/thumbnails/19.jpg)
17
choix du nombre d’adresses
moins il y a d’adresses
plus les instruction sont courtes
moins la CPU est complexe
plus les instructions sont nombreuses
plus les programmes sont lents a executer
actuellement : melange des formats 2 adresses et 3
adresses
architecture des ordinateurs cours 6 : jeu d’instructions 21 fevrier 2005
![Page 20: lien ´etroit entre – jeu d’instructions d’une machine – sa ...marcel.ftp-developpez.com/archiCours6.pdf · format d’instruction nombre de champs r´eserv´es aux adresses](https://reader034.vdocuments.us/reader034/viewer/2022051915/6006fdbb2cf89036fb2f4a12/html5/thumbnails/20.jpg)
18
relation memoire-registres
disposer de registres permet de minimiser les acces a la
memoire et d’accelerer l’execution
– registre-registre (chargement-rangement)
– operations LOAD et STORE
– instructions simples
– execution rapide (nombre de cycles fixe)
– nombre d’instructions generees important
architecture des ordinateurs cours 6 : jeu d’instructions 21 fevrier 2005
![Page 21: lien ´etroit entre – jeu d’instructions d’une machine – sa ...marcel.ftp-developpez.com/archiCours6.pdf · format d’instruction nombre de champs r´eserv´es aux adresses](https://reader034.vdocuments.us/reader034/viewer/2022051915/6006fdbb2cf89036fb2f4a12/html5/thumbnails/21.jpg)
19
relation memoire-registres
– registre-memoire
– code genere compact
– instructions plus difficiles a decoder
– nombre de cycles pour l’execution est variable
– memoire-memoire
– la memoire peut devenir un goulot d’etranglement
actuellement : chargement-rangement
architecture des ordinateurs cours 6 : jeu d’instructions 21 fevrier 2005
![Page 22: lien ´etroit entre – jeu d’instructions d’une machine – sa ...marcel.ftp-developpez.com/archiCours6.pdf · format d’instruction nombre de champs r´eserv´es aux adresses](https://reader034.vdocuments.us/reader034/viewer/2022051915/6006fdbb2cf89036fb2f4a12/html5/thumbnails/22.jpg)
20
categories d’instructions
– transfert de donnees
– operations arithmetiques
– entiers signes
– flottants
– logique
– conversion
– E/S
– controle systeme
– transfert de controle (test et branchement)
– test du registre condition
architecture des ordinateurs cours 6 : jeu d’instructions 21 fevrier 2005
![Page 23: lien ´etroit entre – jeu d’instructions d’une machine – sa ...marcel.ftp-developpez.com/archiCours6.pdf · format d’instruction nombre de champs r´eserv´es aux adresses](https://reader034.vdocuments.us/reader034/viewer/2022051915/6006fdbb2cf89036fb2f4a12/html5/thumbnails/23.jpg)
21
exemple
i = 0;
while(i < 10) i ++;
...
STORE i, 0
LOAD R1, 10
LOAD R2, i
N1 ADD R2, R2, 1
SUB R3, R1, R2
JNZ N1
...
architecture des ordinateurs cours 6 : jeu d’instructions 21 fevrier 2005
![Page 24: lien ´etroit entre – jeu d’instructions d’une machine – sa ...marcel.ftp-developpez.com/archiCours6.pdf · format d’instruction nombre de champs r´eserv´es aux adresses](https://reader034.vdocuments.us/reader034/viewer/2022051915/6006fdbb2cf89036fb2f4a12/html5/thumbnails/24.jpg)
22
categories d’operandes
– adresses
– nombres
– entiers (fixed-point)
– flottants (floatting point)
– DCB
– caracteres (ASCII)
– donnees logiques
voire des types de donnees plus evoluees (liste, chaıne de
caracteres)
architecture des ordinateurs cours 6 : jeu d’instructions 21 fevrier 2005
![Page 25: lien ´etroit entre – jeu d’instructions d’une machine – sa ...marcel.ftp-developpez.com/archiCours6.pdf · format d’instruction nombre de champs r´eserv´es aux adresses](https://reader034.vdocuments.us/reader034/viewer/2022051915/6006fdbb2cf89036fb2f4a12/html5/thumbnails/25.jpg)
23
exemple du pentium IIdonnees de longueur 8, 16, 32 ou 64 bits
– contenu arbitraire sur 8, 16, 32 ou 64 bits
– entier en complement a 2 sur 8, 16 ou 32 bits
– entier non signe sur 8, 16 ou 32 bits
– BDC sur 8 bits
– packed BCD : 2 chiffres BDC (de 0 a 99) sur 8 bits
– adresse sur 32 bits
– sequence de bits independants
– sequence d’octets, mots ou doubles mots
architecture des ordinateurs cours 6 : jeu d’instructions 21 fevrier 2005
![Page 26: lien ´etroit entre – jeu d’instructions d’une machine – sa ...marcel.ftp-developpez.com/archiCours6.pdf · format d’instruction nombre de champs r´eserv´es aux adresses](https://reader034.vdocuments.us/reader034/viewer/2022051915/6006fdbb2cf89036fb2f4a12/html5/thumbnails/26.jpg)
24
pII : donnees
– flottants : types utilises par l’unite en virgule flottante
(FPU)
– entier en complement a 2 sur 16, 32 ou 64 bits
– packed BCD : 1 bit de signe, 18 octet BDC
– standard IEEE 754 :
– simple precision
– double precision
– precision etendue (64 bits de mantisse, 15 bits
d’exposant)
architecture des ordinateurs cours 6 : jeu d’instructions 21 fevrier 2005
![Page 27: lien ´etroit entre – jeu d’instructions d’une machine – sa ...marcel.ftp-developpez.com/archiCours6.pdf · format d’instruction nombre de champs r´eserv´es aux adresses](https://reader034.vdocuments.us/reader034/viewer/2022051915/6006fdbb2cf89036fb2f4a12/html5/thumbnails/27.jpg)
25
exemple : Power PC
donnees de longueur 8, 16, 32, 64 bits
– entier non signe sur 8, 16 ou 32 bits
– entier signes sur 16 ou 32 bits
– adresse sur 32 ou 64 bits
– sequence d’octets (bornee a 128 octets)
– IEEE 754 simple et double precision
architecture des ordinateurs cours 6 : jeu d’instructions 21 fevrier 2005
![Page 28: lien ´etroit entre – jeu d’instructions d’une machine – sa ...marcel.ftp-developpez.com/archiCours6.pdf · format d’instruction nombre de champs r´eserv´es aux adresses](https://reader034.vdocuments.us/reader034/viewer/2022051915/6006fdbb2cf89036fb2f4a12/html5/thumbnails/28.jpg)
26
PII : operations
jeu d’operations complexe
nombreuses operations specialisees
optimiser la traduction de code de haut niveau
en plus des operations conventionnelles
– support des operations de branchement de langage de
haut niveau
– gestion de la memoire et du cache interne
– nombreuses manieres de tester le registre de condition
architecture des ordinateurs cours 6 : jeu d’instructions 21 fevrier 2005
![Page 29: lien ´etroit entre – jeu d’instructions d’une machine – sa ...marcel.ftp-developpez.com/archiCours6.pdf · format d’instruction nombre de champs r´eserv´es aux adresses](https://reader034.vdocuments.us/reader034/viewer/2022051915/6006fdbb2cf89036fb2f4a12/html5/thumbnails/29.jpg)
27
PII : instructions MMX
– introduites en 1996
– 57 nouvelles instructions
– dediees aux operations multimedia
principe Single Instruction Multiple Data
donnees video et audio composees de large tableaux de
petits types de donnees (souvent 8 ou 16 bits)
architecture des ordinateurs cours 6 : jeu d’instructions 21 fevrier 2005
![Page 30: lien ´etroit entre – jeu d’instructions d’une machine – sa ...marcel.ftp-developpez.com/archiCours6.pdf · format d’instruction nombre de champs r´eserv´es aux adresses](https://reader034.vdocuments.us/reader034/viewer/2022051915/6006fdbb2cf89036fb2f4a12/html5/thumbnails/30.jpg)
28
PII : MMX
trois nouveaux types de donnees de 64 bits decoupes en
champs
– packed bytes : 8 octets
– packed word : 4 mots de 16 bits
– packed doubleword : 2 double mots de 32 bits
les nouvelles instructions operent en parallele sur chacun
des champs
architecture des ordinateurs cours 6 : jeu d’instructions 21 fevrier 2005
![Page 31: lien ´etroit entre – jeu d’instructions d’une machine – sa ...marcel.ftp-developpez.com/archiCours6.pdf · format d’instruction nombre de champs r´eserv´es aux adresses](https://reader034.vdocuments.us/reader034/viewer/2022051915/6006fdbb2cf89036fb2f4a12/html5/thumbnails/31.jpg)
29
quelques modes d’adressage classiques
– l’adressage immediat
– pas de reference memoire
– taille de l’operande limitee
– l’adressage direct
– simple
– taille de l’espace adressable limitee
– l’adressage registre
– pas de reference memoire
– taille de l’espace adressable limitee
architecture des ordinateurs cours 6 : jeu d’instructions 21 fevrier 2005
![Page 32: lien ´etroit entre – jeu d’instructions d’une machine – sa ...marcel.ftp-developpez.com/archiCours6.pdf · format d’instruction nombre de champs r´eserv´es aux adresses](https://reader034.vdocuments.us/reader034/viewer/2022051915/6006fdbb2cf89036fb2f4a12/html5/thumbnails/32.jpg)
30
adressage
comment adresser un espace memoire important en
conservant une taille d’instruction raisonnable?
architecture des ordinateurs cours 6 : jeu d’instructions 21 fevrier 2005
![Page 33: lien ´etroit entre – jeu d’instructions d’une machine – sa ...marcel.ftp-developpez.com/archiCours6.pdf · format d’instruction nombre de champs r´eserv´es aux adresses](https://reader034.vdocuments.us/reader034/viewer/2022051915/6006fdbb2cf89036fb2f4a12/html5/thumbnails/33.jpg)
30
adressage
comment adresser un espace memoire important en
conservant une taille d’instruction raisonnable?
– l’adressage indirect par memoire
– plusieurs references a la memoire
– l’adressage indirect par registre
– adressage avec deplacement
– flexible
– complexe
architecture des ordinateurs cours 6 : jeu d’instructions 21 fevrier 2005
![Page 34: lien ´etroit entre – jeu d’instructions d’une machine – sa ...marcel.ftp-developpez.com/archiCours6.pdf · format d’instruction nombre de champs r´eserv´es aux adresses](https://reader034.vdocuments.us/reader034/viewer/2022051915/6006fdbb2cf89036fb2f4a12/html5/thumbnails/34.jpg)
31
modes d’adressage
architecture des ordinateurs cours 6 : jeu d’instructions 21 fevrier 2005
![Page 35: lien ´etroit entre – jeu d’instructions d’une machine – sa ...marcel.ftp-developpez.com/archiCours6.pdf · format d’instruction nombre de champs r´eserv´es aux adresses](https://reader034.vdocuments.us/reader034/viewer/2022051915/6006fdbb2cf89036fb2f4a12/html5/thumbnails/35.jpg)
32
modes d’adressage
architecture des ordinateurs cours 6 : jeu d’instructions 21 fevrier 2005
![Page 36: lien ´etroit entre – jeu d’instructions d’une machine – sa ...marcel.ftp-developpez.com/archiCours6.pdf · format d’instruction nombre de champs r´eserv´es aux adresses](https://reader034.vdocuments.us/reader034/viewer/2022051915/6006fdbb2cf89036fb2f4a12/html5/thumbnails/36.jpg)
33
adressage
registre ADD R4, R3
immediat ADD R4, 3
direct ADD R4, (0011)
indirect par registre ADD R4, (R3)
indirect par memoire ADD R4, @(0011)
avec deplacement ADD R4, (R3)100
architecture des ordinateurs cours 6 : jeu d’instructions 21 fevrier 2005
![Page 37: lien ´etroit entre – jeu d’instructions d’une machine – sa ...marcel.ftp-developpez.com/archiCours6.pdf · format d’instruction nombre de champs r´eserv´es aux adresses](https://reader034.vdocuments.us/reader034/viewer/2022051915/6006fdbb2cf89036fb2f4a12/html5/thumbnails/37.jpg)
34
adressage
antagonisme entre
– espace adressable et flexibilite
– nombre de references memoire et complexite du calcul
d’adresse
disposer de plusieurs modes d’adressage
disposer de registres specifiques
les modes immediat, indirect par registre et avec
deplacement sont les plus utilises
architecture des ordinateurs cours 6 : jeu d’instructions 21 fevrier 2005
![Page 38: lien ´etroit entre – jeu d’instructions d’une machine – sa ...marcel.ftp-developpez.com/archiCours6.pdf · format d’instruction nombre de champs r´eserv´es aux adresses](https://reader034.vdocuments.us/reader034/viewer/2022051915/6006fdbb2cf89036fb2f4a12/html5/thumbnails/38.jpg)
35
adressage
2 manieres de differencier les modes d’adressage
– utilisation d’un ou plusieurs bits (specificateur
d’adresse)
– utile pour disposer d’un grand nombre de modes
d’adressage
– peut donner lieu a une taille d’instruction variable
– utilisation d’opcodes differents
– permet de conserver une taille d’instruction fixe
– facilite la realisation materielle
architecture des ordinateurs cours 6 : jeu d’instructions 21 fevrier 2005
![Page 39: lien ´etroit entre – jeu d’instructions d’une machine – sa ...marcel.ftp-developpez.com/archiCours6.pdf · format d’instruction nombre de champs r´eserv´es aux adresses](https://reader034.vdocuments.us/reader034/viewer/2022051915/6006fdbb2cf89036fb2f4a12/html5/thumbnails/39.jpg)
36
taille d’instruction
plus le jeu d’instructions est complexe
plus la quantite d’instructions dans un programme est
faible
plus la longueur d’instruction est importante
plus la consommation en espace est importante
architecture des ordinateurs cours 6 : jeu d’instructions 21 fevrier 2005
![Page 40: lien ´etroit entre – jeu d’instructions d’une machine – sa ...marcel.ftp-developpez.com/archiCours6.pdf · format d’instruction nombre de champs r´eserv´es aux adresses](https://reader034.vdocuments.us/reader034/viewer/2022051915/6006fdbb2cf89036fb2f4a12/html5/thumbnails/40.jpg)
37
taille d’instruction
La longueur d’une instruction doit prendre en
consideration
– la taille et l’organisation de la memoire
– la structure d’interconnexion
– la complexite et la vitesse de la CPU
architecture des ordinateurs cours 6 : jeu d’instructions 21 fevrier 2005
![Page 41: lien ´etroit entre – jeu d’instructions d’une machine – sa ...marcel.ftp-developpez.com/archiCours6.pdf · format d’instruction nombre de champs r´eserv´es aux adresses](https://reader034.vdocuments.us/reader034/viewer/2022051915/6006fdbb2cf89036fb2f4a12/html5/thumbnails/41.jpg)
38
taille d’instruction
la taille de l’instruction peut etre
– fixe
– variable
– autorise une large gamme d’opcodes (de tailles
differentes)
– une plus grande flexibilite d’adressage
– accroit la complexite de la CPU
architecture des ordinateurs cours 6 : jeu d’instructions 21 fevrier 2005
![Page 42: lien ´etroit entre – jeu d’instructions d’une machine – sa ...marcel.ftp-developpez.com/archiCours6.pdf · format d’instruction nombre de champs r´eserv´es aux adresses](https://reader034.vdocuments.us/reader034/viewer/2022051915/6006fdbb2cf89036fb2f4a12/html5/thumbnails/42.jpg)
39
allocation des bits
le decoupage en champs depend
– du nombre d’operandes
– du nombre d’operations
– du nombre de modes d’adressage
– de l’utilisation des registres
– de l’espace adressable
– de la facon d’adresser la memoire
architecture des ordinateurs cours 6 : jeu d’instructions 21 fevrier 2005
![Page 43: lien ´etroit entre – jeu d’instructions d’une machine – sa ...marcel.ftp-developpez.com/archiCours6.pdf · format d’instruction nombre de champs r´eserv´es aux adresses](https://reader034.vdocuments.us/reader034/viewer/2022051915/6006fdbb2cf89036fb2f4a12/html5/thumbnails/43.jpg)
40
taille de l’opcode
si on souhaite a la fois
– une taille d’instruction raisonnable
– une capacite d’adressage raisonnable
– un nombre d’opcodes important
on peut utiliser une taille d’opcode variable
architecture des ordinateurs cours 6 : jeu d’instructions 21 fevrier 2005
![Page 44: lien ´etroit entre – jeu d’instructions d’une machine – sa ...marcel.ftp-developpez.com/archiCours6.pdf · format d’instruction nombre de champs r´eserv´es aux adresses](https://reader034.vdocuments.us/reader034/viewer/2022051915/6006fdbb2cf89036fb2f4a12/html5/thumbnails/44.jpg)
41
code operation etendu
40 opcodes dont seulement 15 necessitent un parametre
de 12 bit
code operation parametres
4 bits 12 bits
code operation code operation etendu non utilise
4 bits 5 bits 7 bits
16 bits au lieu de 18 bits
architecture des ordinateurs cours 6 : jeu d’instructions 21 fevrier 2005
![Page 45: lien ´etroit entre – jeu d’instructions d’une machine – sa ...marcel.ftp-developpez.com/archiCours6.pdf · format d’instruction nombre de champs r´eserv´es aux adresses](https://reader034.vdocuments.us/reader034/viewer/2022051915/6006fdbb2cf89036fb2f4a12/html5/thumbnails/45.jpg)
42
registres
utilises pour recevoir donnees et adresses
espace d’adressage necessitant quelques bits d’adresse
souvent separes en groupes (donnees, adresses) identifies
au niveau de l’opcode
architecture des ordinateurs cours 6 : jeu d’instructions 21 fevrier 2005
![Page 46: lien ´etroit entre – jeu d’instructions d’une machine – sa ...marcel.ftp-developpez.com/archiCours6.pdf · format d’instruction nombre de champs r´eserv´es aux adresses](https://reader034.vdocuments.us/reader034/viewer/2022051915/6006fdbb2cf89036fb2f4a12/html5/thumbnails/46.jpg)
43
exemple : l’ALPHA de DEC
– 32 registres de 64 bits pour la manipulation des entiers
– 32 registres de 64 bits pour la manipulation des
flottants
instructions de taille fixe (32 bits)
architecture des ordinateurs cours 6 : jeu d’instructions 21 fevrier 2005
![Page 47: lien ´etroit entre – jeu d’instructions d’une machine – sa ...marcel.ftp-developpez.com/archiCours6.pdf · format d’instruction nombre de champs r´eserv´es aux adresses](https://reader034.vdocuments.us/reader034/viewer/2022051915/6006fdbb2cf89036fb2f4a12/html5/thumbnails/47.jpg)
44
formats d’instruction
4 formats d’instruction
– instructions specifiques au systeme d’exploitation
– branchement
– transfert de donnees
– operations de calcul entier ou flottant
architecture des ordinateurs cours 6 : jeu d’instructions 21 fevrier 2005
![Page 48: lien ´etroit entre – jeu d’instructions d’une machine – sa ...marcel.ftp-developpez.com/archiCours6.pdf · format d’instruction nombre de champs r´eserv´es aux adresses](https://reader034.vdocuments.us/reader034/viewer/2022051915/6006fdbb2cf89036fb2f4a12/html5/thumbnails/48.jpg)
45
ALPHA
opcode nombre
6 bits 26 bits
opcode Ra deplacement
6 bits 5 bits 21 bits
opcode Ra Rb deplacement
6 bits 5 bits 5 bits 16 bits
opcode Ra Rb fonction Rb
6 bits 5 bits 5 bits 11 bits 5 bits
architecture des ordinateurs cours 6 : jeu d’instructions 21 fevrier 2005
![Page 49: lien ´etroit entre – jeu d’instructions d’une machine – sa ...marcel.ftp-developpez.com/archiCours6.pdf · format d’instruction nombre de champs r´eserv´es aux adresses](https://reader034.vdocuments.us/reader034/viewer/2022051915/6006fdbb2cf89036fb2f4a12/html5/thumbnails/49.jpg)
46
exemple : le SPARC de SUN
grand nombre de registres (> 520)
32 registres visibles simultanements
4 groupes de registres specifiques
instructions de taille fixe (32 bits)
architecture des ordinateurs cours 6 : jeu d’instructions 21 fevrier 2005
![Page 50: lien ´etroit entre – jeu d’instructions d’une machine – sa ...marcel.ftp-developpez.com/archiCours6.pdf · format d’instruction nombre de champs r´eserv´es aux adresses](https://reader034.vdocuments.us/reader034/viewer/2022051915/6006fdbb2cf89036fb2f4a12/html5/thumbnails/50.jpg)
47
exemple : le SPARC de SUN
3 formats d’instructions (format code sur 2 bits)
– appel de sous-programme
– branchement ou chargement d’une donnee dans les
poids fort d’un registres
– autres operations au format 3 adresses
architecture des ordinateurs cours 6 : jeu d’instructions 21 fevrier 2005
![Page 51: lien ´etroit entre – jeu d’instructions d’une machine – sa ...marcel.ftp-developpez.com/archiCours6.pdf · format d’instruction nombre de champs r´eserv´es aux adresses](https://reader034.vdocuments.us/reader034/viewer/2022051915/6006fdbb2cf89036fb2f4a12/html5/thumbnails/51.jpg)
48
SPARC
architecture des ordinateurs cours 6 : jeu d’instructions 21 fevrier 2005
![Page 52: lien ´etroit entre – jeu d’instructions d’une machine – sa ...marcel.ftp-developpez.com/archiCours6.pdf · format d’instruction nombre de champs r´eserv´es aux adresses](https://reader034.vdocuments.us/reader034/viewer/2022051915/6006fdbb2cf89036fb2f4a12/html5/thumbnails/52.jpg)
49
OpCall Format PC-relative displacement
2 30
BranchFormat
Op a Cond Op2 PC-relative displacement
OpSETHIFormat
Floating-Point
Format
2
Dest
5
Op2
3
Immediate Constant
22
2 1 4 3 22
Figure 12.13 SPARC Instruction Formats
2 5 6 95 5
Op Dest Op3 FP-opSrc-1 Src-2
GeneralFormats
2 5 6
Op Dest Op3
8
ignored
5 1
Src-1
5
Src-20
Op Dest Op3 Immediate ConstantSrc-1 1
architecture des ordinateurs cours 6 : jeu d’instructions 21 fevrier 2005
![Page 53: lien ´etroit entre – jeu d’instructions d’une machine – sa ...marcel.ftp-developpez.com/archiCours6.pdf · format d’instruction nombre de champs r´eserv´es aux adresses](https://reader034.vdocuments.us/reader034/viewer/2022051915/6006fdbb2cf89036fb2f4a12/html5/thumbnails/53.jpg)
50
exemple : le PowerPC9 modes d’adressages classes selon le format d’instruction
format mode
chargement- indirect
rangement indirect indexe
branchement absolu
relatif au PC
indirect
calcul entier registre
immediat
calcul flottant registre
architecture des ordinateurs cours 6 : jeu d’instructions 21 fevrier 2005
![Page 54: lien ´etroit entre – jeu d’instructions d’une machine – sa ...marcel.ftp-developpez.com/archiCours6.pdf · format d’instruction nombre de champs r´eserv´es aux adresses](https://reader034.vdocuments.us/reader034/viewer/2022051915/6006fdbb2cf89036fb2f4a12/html5/thumbnails/54.jpg)
51
exemple : le PII d’INTEL
– 8 registres generaux 32 bits
– 8 registres generaux 16 bits
– 8 registres generaux 8 bits
2 registres 32 bits sont utilises pour les operandes 64 bits
architecture des ordinateurs cours 6 : jeu d’instructions 21 fevrier 2005
![Page 55: lien ´etroit entre – jeu d’instructions d’une machine – sa ...marcel.ftp-developpez.com/archiCours6.pdf · format d’instruction nombre de champs r´eserv´es aux adresses](https://reader034.vdocuments.us/reader034/viewer/2022051915/6006fdbb2cf89036fb2f4a12/html5/thumbnails/55.jpg)
52
PII
un adresse = un segment + un offset
– 6 registres de segment
– 6 registres de description de segment
– 1 registre de base
– 1 registre d’index
architecture des ordinateurs cours 6 : jeu d’instructions 21 fevrier 2005
![Page 56: lien ´etroit entre – jeu d’instructions d’une machine – sa ...marcel.ftp-developpez.com/archiCours6.pdf · format d’instruction nombre de champs r´eserv´es aux adresses](https://reader034.vdocuments.us/reader034/viewer/2022051915/6006fdbb2cf89036fb2f4a12/html5/thumbnails/56.jpg)
53
PII
9 modes d’adressage
– immediat
– registre
– deplacement
contenu du registre segment
+ deplacement inclu dans l’instruction
architecture des ordinateurs cours 6 : jeu d’instructions 21 fevrier 2005
![Page 57: lien ´etroit entre – jeu d’instructions d’une machine – sa ...marcel.ftp-developpez.com/archiCours6.pdf · format d’instruction nombre de champs r´eserv´es aux adresses](https://reader034.vdocuments.us/reader034/viewer/2022051915/6006fdbb2cf89036fb2f4a12/html5/thumbnails/57.jpg)
54
PII
– indirect par registre
contenu du registre segment
+ contenu du registre de base
– base et deplacement
idem precedent
+ deplacement contenu dans l’instruction
architecture des ordinateurs cours 6 : jeu d’instructions 21 fevrier 2005
![Page 58: lien ´etroit entre – jeu d’instructions d’une machine – sa ...marcel.ftp-developpez.com/archiCours6.pdf · format d’instruction nombre de champs r´eserv´es aux adresses](https://reader034.vdocuments.us/reader034/viewer/2022051915/6006fdbb2cf89036fb2f4a12/html5/thumbnails/58.jpg)
55
PII
– base indexe avec deplacement
idem precedent
+ contenu du registre index
– base indexe avec deplacement
idem precedent
+ contenu du registre index × un facteur
architecture des ordinateurs cours 6 : jeu d’instructions 21 fevrier 2005
![Page 59: lien ´etroit entre – jeu d’instructions d’une machine – sa ...marcel.ftp-developpez.com/archiCours6.pdf · format d’instruction nombre de champs r´eserv´es aux adresses](https://reader034.vdocuments.us/reader034/viewer/2022051915/6006fdbb2cf89036fb2f4a12/html5/thumbnails/59.jpg)
56
PII
– indexe avec deplacement
idem precedent - base
– relatif
contenu du compteur ordinal
+ deplacement contenu dans l’instruction
architecture des ordinateurs cours 6 : jeu d’instructions 21 fevrier 2005
![Page 60: lien ´etroit entre – jeu d’instructions d’une machine – sa ...marcel.ftp-developpez.com/archiCours6.pdf · format d’instruction nombre de champs r´eserv´es aux adresses](https://reader034.vdocuments.us/reader034/viewer/2022051915/6006fdbb2cf89036fb2f4a12/html5/thumbnails/60.jpg)
57
SelectorSelector
SelectorSelector
SelectorSelector
SSGS
FSES
DSCS
Segment Registers
Access Rights
Limit
Base Address
SS
Access Rights
Limit
Base Address
GS
Access Rights
Limit
Base Address
FS
Access Rights
Limit
Base Address
ES
Access Rights
Limit
Base Address
DS
Access Rights
Limit
Base Address
CS
Descriptor Registers
Base Register
Index Register
Scale1, 2, 4, or 8
Displacement(in instruction;0, 8, or 32 bits)
Lim
it
¥
¥
+
+
EffectiveAddress
LinearAddress
SegmentBase
Address
Figure 10.2 Pentium II Addressing Mode Calculation
architecture des ordinateurs cours 6 : jeu d’instructions 21 fevrier 2005
![Page 61: lien ´etroit entre – jeu d’instructions d’une machine – sa ...marcel.ftp-developpez.com/archiCours6.pdf · format d’instruction nombre de champs r´eserv´es aux adresses](https://reader034.vdocuments.us/reader034/viewer/2022051915/6006fdbb2cf89036fb2f4a12/html5/thumbnails/61.jpg)
58
PII
grande variete de formats
– efficacite d’execution de langages de haut niveau
– respect de la compatibilite ascendante de la famille
8086
mode d’adressage donne par l’opcode
architecture des ordinateurs cours 6 : jeu d’instructions 21 fevrier 2005
![Page 62: lien ´etroit entre – jeu d’instructions d’une machine – sa ...marcel.ftp-developpez.com/archiCours6.pdf · format d’instruction nombre de champs r´eserv´es aux adresses](https://reader034.vdocuments.us/reader034/viewer/2022051915/6006fdbb2cf89036fb2f4a12/html5/thumbnails/62.jpg)
59
PII
l’instruction comporte
– un prefixe de 0, 1, 2, 3 ou 4 octet,
– un opcode de 1 ou 2 octets,
– un specificateur d’adresse de 0, 1 ou 2 octets,
– un deplacement de 0, 1, 2 ou 4 octets,
– un champ pour l’adressage immediat de 0, 1, 2 ou 4
octets
architecture des ordinateurs cours 6 : jeu d’instructions 21 fevrier 2005
![Page 63: lien ´etroit entre – jeu d’instructions d’une machine – sa ...marcel.ftp-developpez.com/archiCours6.pdf · format d’instruction nombre de champs r´eserv´es aux adresses](https://reader034.vdocuments.us/reader034/viewer/2022051915/6006fdbb2cf89036fb2f4a12/html5/thumbnails/63.jpg)
60
InstructionPrefix
OperandSize
Override
bytes 0 or 1 0 or 1 0 or 1 0 or 1
(a) Prefix
bytes 1 or 2 0 or 1 0 or 1 0, 1, 2, or 4
Opcode MOD/RM SIB
0, 1, 2, or 4
Displacement Immediate
SS Index Base
7 6 5 4 3 2 1 0
Figure 10.8 Pentium II Instruction Format
(b) Instruction
SegmentOverride
AddressSize
Override
Mod Reg/Opcode R/M
7 6 5 4 3 2 1 0
architecture des ordinateurs cours 6 : jeu d’instructions 21 fevrier 2005
![Page 64: lien ´etroit entre – jeu d’instructions d’une machine – sa ...marcel.ftp-developpez.com/archiCours6.pdf · format d’instruction nombre de champs r´eserv´es aux adresses](https://reader034.vdocuments.us/reader034/viewer/2022051915/6006fdbb2cf89036fb2f4a12/html5/thumbnails/64.jpg)
61
conclusion
on oppose traditionnellement
– CISC (Complex Instruction Set Computer) complexe en
nombre d’instructions, modes d’adressage, registres,
etc...
– RISC (Reduced Instruction Set Computer)
difficile de comparer des machines CISC a des machines
RISC
les deux technologies ont converge
architecture des ordinateurs cours 6 : jeu d’instructions 21 fevrier 2005
![Page 65: lien ´etroit entre – jeu d’instructions d’une machine – sa ...marcel.ftp-developpez.com/archiCours6.pdf · format d’instruction nombre de champs r´eserv´es aux adresses](https://reader034.vdocuments.us/reader034/viewer/2022051915/6006fdbb2cf89036fb2f4a12/html5/thumbnails/65.jpg)
62
exercice corrige
but : comparer 4 architectures
– accumulateur
– memoire-memoire
– pile
– chargement-rangement
architecture des ordinateurs cours 6 : jeu d’instructions 21 fevrier 2005
![Page 66: lien ´etroit entre – jeu d’instructions d’une machine – sa ...marcel.ftp-developpez.com/archiCours6.pdf · format d’instruction nombre de champs r´eserv´es aux adresses](https://reader034.vdocuments.us/reader034/viewer/2022051915/6006fdbb2cf89036fb2f4a12/html5/thumbnails/66.jpg)
63
exercice corrige
hypotheses :
– opcode sur 1 octet
– adresse memoire sur 2 octets
– operande sur 4 octets
– taille d’instruction multiple d’1 octet
architecture des ordinateurs cours 6 : jeu d’instructions 21 fevrier 2005
![Page 67: lien ´etroit entre – jeu d’instructions d’une machine – sa ...marcel.ftp-developpez.com/archiCours6.pdf · format d’instruction nombre de champs r´eserv´es aux adresses](https://reader034.vdocuments.us/reader034/viewer/2022051915/6006fdbb2cf89036fb2f4a12/html5/thumbnails/67.jpg)
64
accumulateur
opcode adresse
8 bits 16 bits
LOAD B
ADD C
STORE A
ADD C
STORE B
SUBINV A
STORE D
7× 24 bits = 168 bits
architecture des ordinateurs cours 6 : jeu d’instructions 21 fevrier 2005
![Page 68: lien ´etroit entre – jeu d’instructions d’une machine – sa ...marcel.ftp-developpez.com/archiCours6.pdf · format d’instruction nombre de champs r´eserv´es aux adresses](https://reader034.vdocuments.us/reader034/viewer/2022051915/6006fdbb2cf89036fb2f4a12/html5/thumbnails/68.jpg)
65
memoire-memoire
opcode source 1 source 2 destination
8 bits 16 bits 16 bits 16 bits
ADD B, C, A
ADD A, C, B
SUB A, B, D
3× 56 bits = 168 bits
architecture des ordinateurs cours 6 : jeu d’instructions 21 fevrier 2005
![Page 69: lien ´etroit entre – jeu d’instructions d’une machine – sa ...marcel.ftp-developpez.com/archiCours6.pdf · format d’instruction nombre de champs r´eserv´es aux adresses](https://reader034.vdocuments.us/reader034/viewer/2022051915/6006fdbb2cf89036fb2f4a12/html5/thumbnails/69.jpg)
66
pile
opcode
8 bits
opcode adresse
8 bits 16 bits
architecture des ordinateurs cours 6 : jeu d’instructions 21 fevrier 2005
![Page 70: lien ´etroit entre – jeu d’instructions d’une machine – sa ...marcel.ftp-developpez.com/archiCours6.pdf · format d’instruction nombre de champs r´eserv´es aux adresses](https://reader034.vdocuments.us/reader034/viewer/2022051915/6006fdbb2cf89036fb2f4a12/html5/thumbnails/70.jpg)
67
pile
PUSH B ADD
PUSH C POP B
ADD PUSH A
POP A PUSH B
PUSH A SUB
PUSH C POP D
9× 24 bits + 3× 8 bits = 240 bits
architecture des ordinateurs cours 6 : jeu d’instructions 21 fevrier 2005
![Page 71: lien ´etroit entre – jeu d’instructions d’une machine – sa ...marcel.ftp-developpez.com/archiCours6.pdf · format d’instruction nombre de champs r´eserv´es aux adresses](https://reader034.vdocuments.us/reader034/viewer/2022051915/6006fdbb2cf89036fb2f4a12/html5/thumbnails/71.jpg)
68
chargement-rangement
opcode Ri xx adresse
8 bits 4 bits 4 bits 16 bits
opcode R1 R2 Rd xx
8 bits 4 bits 4 bits 4 bits 4 bits
architecture des ordinateurs cours 6 : jeu d’instructions 21 fevrier 2005
![Page 72: lien ´etroit entre – jeu d’instructions d’une machine – sa ...marcel.ftp-developpez.com/archiCours6.pdf · format d’instruction nombre de champs r´eserv´es aux adresses](https://reader034.vdocuments.us/reader034/viewer/2022051915/6006fdbb2cf89036fb2f4a12/html5/thumbnails/72.jpg)
69
chargement-rangement
LOAD Rb, B ADD Ra, Rc, Rb
LOAD Rc, C STORE B, Rb
ADD Rb, Rc, Ra SUB Ra, Rb, Rd
STORE A, Ra STORE D, Rd
5× 32 bits + 3× 24 bits = 232 bits
architecture des ordinateurs cours 6 : jeu d’instructions 21 fevrier 2005
![Page 73: lien ´etroit entre – jeu d’instructions d’une machine – sa ...marcel.ftp-developpez.com/archiCours6.pdf · format d’instruction nombre de champs r´eserv´es aux adresses](https://reader034.vdocuments.us/reader034/viewer/2022051915/6006fdbb2cf89036fb2f4a12/html5/thumbnails/73.jpg)
70
acces memoire
– accumulateur
7 transferts de donnees (7× 32 = 224)
+ taille du code (168)
= 392 bits sur 7 instructions (56 bits/instruction)
– memoire-memoire
9 transferts de donnees (9× 32 = 288)
+ taille du code (168)
= 456 bits sur 3 instructions (152 bits/instructions)
architecture des ordinateurs cours 6 : jeu d’instructions 21 fevrier 2005
![Page 74: lien ´etroit entre – jeu d’instructions d’une machine – sa ...marcel.ftp-developpez.com/archiCours6.pdf · format d’instruction nombre de champs r´eserv´es aux adresses](https://reader034.vdocuments.us/reader034/viewer/2022051915/6006fdbb2cf89036fb2f4a12/html5/thumbnails/74.jpg)
71
acces memoire
– pile
9 transferts de donnees (9× 32 = 288)
+ taille du code (240)
= 528 bits sur 12 instructions (44 bits/instructions)
– chargement-rangement
5 transferts de donnees (5× 32 = 160)
+ taille du code (232)
= 392 bits sur 8 instructions (49 bits/instructions)
architecture des ordinateurs cours 6 : jeu d’instructions 21 fevrier 2005