Vous êtes sur la page 1sur 22

Jeu dinstructions

Cours architecture avance sur puce


Zouhour Ben Azouz
3 Systmes Embarqus ISI
Dfinition
Ensemble des instructions excutables par une
CPU
lien troit entre:
jeu dinstructions dune machine
sa programmation
la conception de sa CPU
une instruction contient:
le code de lopration excuter (opcode)
la rfrence aux oprandes sources
la rfrence loprande rsultat
la rfrence la prochaine instruction
certaines de ces informations peuvent tre implicites
2
Langages
compilation dun langage haut niveau
(HLL) vers un langage de bas niveau (LLL)
une instruction HLL correspond plusieurs
instructions LLL
le jeu dinstruction doit tre suffisamment
expressif pour coder toute instruction dun
langage de haut niveau

3
Conception dun jeu
dinstruction
Compromis entre
Limpact sur la taille moyenne des instructions
La facilit davoir des instructions de longueurs
gales pour le dcodage
Nombre doprations
Le dsir davoir autant de registre que possible
Complexit des oprations
Nombre de champs
Taille des champs

4
Classification des jeux
dinstructions(I)
Le critre le plus caractristique est le type
de stockage interne lUC :

Pile: adressage implicite (0 adresse)


Accumulateur: adressage 1 adresse
Registres: adressage
explicite
(2 ou 3 oprandes)
5
Classification des jeux
dinstructions(II)

6
Classification des jeux
dinstructions(III)

7
Classification des jeux
dinstructions:
architecture correspondante

8
Historique
La plupart des machines anciennes
utilisaient des architectures pile ou
Acc.
Depuis les annes 1980, pratiquement
toutes ont une architecture plusieurs
registres. Deux raisons :
Les registres sont plus rapide que la mmoire
Le compilateur peut utiliser larchitecture plus
facilement et plus efficacement
Rduction du trafic mmoire
Exemple : (A*B) (C*D) (E*F)
9
Classification

10
Classification par adressage

11
Choix du nombre dadresse
Moins il y a dadresses

plus les instructions sont courtes


Moins la CPU est complexe
plus les instructions sont nombreuses
plus les programmes sont lents excuter

Actuellement : mlange des formats 2


adresses et 3 adresses

12
Relation mmoire registre
Disposer de registres permet de minimiser les accs la
mmoire et dacclrer lexcution
registre-registre (chargement-rangement)
oprations LOAD et STORE
instructions simples
excution rapide (nombre de cycles fixe)
nombre dinstructions gnres important
registre-mmoire
code gnr compact
instructions plus difficiles dcoder
nombre de cycles pour lexcution est variable
mmoire-mmoire
la mmoire peut devenir un goult dtranglement

13
RISC VS CISC
RISC: Reduced Instruction Set Computer
Type registre-registre (3,0): trois oprandes
registeres et 0 oprandes mmoire
Laccs la mmoire se fait uniquement
travers les instructions Load/store
CISC: Complex Instruction Set Computer
Type registre-mmoire
Laccs la mmoire peut se faire par toutes
les instructions

14
Taille des instructions
la taille de linstruction peut tre
fixe
variable
autorise une large gamme dopcodes (de tailles
diffrentes)
une plus grande flexibilit dadressage

accrot la complexit de la CPU

15
Modle dexcution du
RISC

16
Format dinstructions
RISC(I)

17
Format dinstructions
RISC(II)

J
18
Modle dexcution du
CISC

19
Caractristiques du IA-
32(Architecture Intel 32 bits)

20
Dbat RISC CISC pour les
PC
RISC et pipeline
Les jeux dinstructions RISC facilitent la
ralisation de pipelines performants
Solution Intel et AMD pour IA-32
Convertir les instructions CISC en instructions
RISC lors du dcodage des instructions
(conversion dynamique)
On conserve la compatibilit binaire
On a lefficacit des pipelines RISC

21
Traduction de instructions
x86

22