Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
Définition
Chapitre 3 : La programmation
Processeur:
Unité de commande
Unité de traitement (Contrôle)
3. Décodeur d'instruction:
C'est lui qui va "décoder" l'instruction contenue dans RI et générer les
signaux logiques correspondants et les communiquer au séquenceur.
-Elle dispose de circuits réalisant des opérations des fonctions logiques (ET,
OU, comparaison, décalage,...) ou arithmétique (addition, soustraction,...).
3. Le registre d'état
- Il est généralement composé de 8bits à considérer individuellement.
- Chacun de ces bits est un indicateur dont l'état dépend du résultat de la
dernière opération effectuée par l’UAL.
- On les appelle indicateur d’état ou flag ou drapeaux .
- Dans un programme le résultat du test de leur état conditionne souvent le
déroulement de la suite du programme.
On peut citer par exemple les indicateurs de : Retenue (carry : C),
Négatif (N), Zéro (Z)..
Cours Architecture I . Mme AOUDJIT-
9
LAGAB
Architecture externe d’un processeur
L'architecture externe d’un processeur représente ce que doit connaître un
programmeur souhaitant programmer directement avec le langage du processeur
Langage du processeur :
4 bits
Bus d’adresses
RESET Lecture
Sources INT1 Ecriture Bus de commande
d’interruption INT2
Bus de données
16 bits
12
Cours Architecture I . Mme AOUDJIT-LAGAB
Exemple d’un processeur
Registres internes
PC 4 bits
R1
R2
16 bits
R3
O N Z
SR
16 bits
13
Exemple d’un processeur
Format d’instruction
Code Op
Code Instruction Signification
0000 LOAD Charger le registre à partir de la mémoire (32 bits)
0001 STORE Enregistrer le contenu du registre source en mémoire
0010 ADD RS OP1 + OP2 (OP 1 et OP2 sont des registres)
0011 SUB RS OP1 –OP2 (OP 1 et OP2 sont des registres)
0100 JUMP PC Adresse mémoire
0101 CMP Comparer entre OP1 et OP2 (OP1 –OP2)
0110 JSUP PC Adresse mémoire si OP1 > OP2 (exécuter CMP
avant)
0111 JEQ PC Adresse mémoire si OP1 OP2 (exécuter CMP
avant)
14
Exemple d’un processeur
Modes d’adressage
15
Cours Architecture I . Mme AOUDJIT-LAGAB
Exemple d’un processeur
Exercice
En se basant sur le processeur précédent, écrire le code machine permettant de :
1. Charger la valeur 10 dans le registre 1
2. Charger la valeur 14 dans le registre 2
3. Effectuer l’addition de ces deux valeurs
4. Ranger le résultat en mémoire à l’adresse 4
16
Cours Architecture I . Mme AOUDJIT-LAGAB
Organisation mémoire
L’organisation mémoire diffère d’un processeur à un autre
La différence réside dans la taille affectée aux bus d’adresse et de données
La taille du bus de données prédomine car elle est en relation avec la puissance du
processeur
17
Cours Architecture I . Mme AOUDJIT-LAGAB
Organisation mémoire
Plusieurs critères importants caractérisent les mémoires :
18
Cours Architecture I . Mme AOUDJIT-LAGAB
Mémoire adressable par octet
Les processeurs actuels permettent d’adresser des mots de tailles variables
Un processeur 32 bits peut, par exemple, charger des mots de 32 bits mais peut
aussi charger des mots de tailles plus petites.
En général, le plus petit objet que le processeur peut charger est l’octet.
Les mots de tailles plus grandes sont stockés comme une séquence d’octets
L’adresse d’un mot large correspond à l’adresse du premier octet de la séquence
19
Cours Architecture I . Mme AOUDJIT-LAGAB
Mémoire adressable par octet
Exemple d’une mémoire adressable par octets
Bus de données sur 32 bits
Bus d’adresses sur 32 bits
Octet 0 Octet 1 Octet 2 Octet 3
0x00000000
0x00000004
0x00000008
0x0000000C
0x00000010
0x00000014
…………………...
0xFFFFFFFC
20
Cours Architecture I . Mme AOUDJIT-LAGAB
Big Endian vs Little Endian
Quand un objet occupe plus d’un octet, il faut le stocker dans un ordre bien déterminé
dit Endianess
Il existe deux ordres possibles :
Big Endian : l’adresse du mot correspond à l’adresse de l’octet des poids forts. Les
octets de poids faibles suivent ceux de poids forts
Little Endian : l’adresse du mot correspond à l’adresse de l’octet de poids faibles.
Les octets de poids forts suivent ceux de poids faibles
21
Cours Architecture I . Mme AOUDJIT-LAGAB
Modes d’adressage de la mémoire
L’accès à la mémoire se fait par une adresse spécifiée dans un champ (une partie)
de l’instruction
Parfois, l’espace mémoire adressé par le processeur est plus grand que la capacité
d’adressage du champ de l’instruction
Il est aussi fréquent de manipuler des structures de données complexes comme
les tableaux, les matrices, les enregistrements …etc.
Pour cela, les processeurs utilisent des techniques d’adressage particulières dites
modes d’adressage
22
Cours Architecture I . Mme AOUDJIT-LAGAB
Modes d’adressage de la mémoire
Adressage immédiat
Ce mode est utilisé pour manipuler des constantes connues sans passer par la
mémoire pour les chercher
L’opérande est une valeur immédiate se trouvant directement dans l’instruction
10 R1
23
Cours Architecture I . Mme AOUDJIT-LAGAB
Modes d’adressage de la mémoire
Adressage direct
10 20
24
Cours Architecture I . Mme AOUDJIT-LAGAB
Modes d’adressage de la mémoire
Adressage indirect
L’instruction contient une adresse qui contient l’adresse de l’information à
chercher
Ce mode nécessite deux accès à la mémoire et tend à être abandonné et ne plus
être utilisé sur les processeurs modernes.
30 R1
10 20
20 30
25
Cours Architecture I . Mme AOUDJIT-LAGAB
Modes d’adressage de la mémoire
Adressage par registre
L’information ne se trouve pas en mémoire mais dans un autre registre interne
du processeur
Ne nécessité pas d’accès à la mémoire
10 R1
10 R2
R2 10 10 20 20 R1
20 R1
+ 15 20
R2 5
Mémoire
Brel 10
14 Brel 10
+ 25 Autre inst
PC 15
25
Processeur
Phase recherche
PC 00 + 2 = 02
00 Mémoire
00 Load R1, 10
00 02 Load R2, 12
R1 04 Add R3, R1, R2
Adresses 06 Store R3, 14
R2 08
Lecture
R3 10 20
12 25
14
Données
RI 0000 01 01 00 00 1010
Processeur
Phase Décodage
PC 00
02 Mémoire
00 Load R1, 10
02 Load R2, 12
R1 04 Add R3, R1, R2
Adresses 06 Store R3, 14
R2 08
R3 10 20
12 25
Adressage direct 14
Données
Load Zone
mémoire
RI 0000 01 01 00 00 1010
Processeur
Phase Exécution
PC 00
02 Mémoire
00 Load R1, 10
10
02 Load R2, 12
R1 20 04 Add R3, R1, R2
Adresses 06 Store R3, 14
R2 08
Lecture
R3 10 20
12 25
14
Données
RI 0000 01 01 00 00 1010
PC 00?
04 Mémoire
00 Load R1, 10
02 Load R2, 12
R1 20? 04 Add R3, R1, R2
Adresses 06 Store R3, 14
R2 25? 08
R3 ? 10 20
12 25
14
Données
RI 0000 01 10 00 00 1100?
Processeur
Phase recherche
PC Mémoire
04
04 + 2 = 06
04
00 Load R1, 10
04 02 Load R2, 12
R1 20 04 Add R3, R1, R2
Adresses 06 Store R3, 14
R2 25 08
Lecture
R3 10 20
12 25
14
Données
RI 0010 10 11 01 10 0000
Processeur
Phase Décodage
PC 00
06 Mémoire
00 Load R1, 10
02 Load R2, 12
R1 20 04 Add R3, R1, R2
Adresses 06 Store R3, 14
R2 25 08
R3 10 20
12 25
Adressage Registre 14
Données
Add
R1
RI 0010 10 11 01 10 0000
R2
R3 Cours Architecture I . Mme AOUDJIT-
36
LAGAB
Phases d’exécution d’un programme
Troisième instruction : Add R3, R1, R2
Processeur
Phase Exécution
PC 00
06 Mémoire
00 Load R1, 10
02 Load R2, 12
R1 20 04 Add R3, R1, R2
Adresses 06 Store R3, 14
R2 25 08
R3 45 10 20
12 25
14
UAL Données
add
RI 0010 10 11 01 10 0000
Processeur
Phase recherche
PC 06 + 2 = 08
06 Mémoire
00 Load R1, 10
06 02 Load R2, 12
R1 20 04 Add R3, R1, R2
Adresses 06 Store R3, 14
R2 25 08
Lecture
R3 45 10 20
12 25
14
Données
RI 0001 01 11 00 00 1110
Processeur
Phase Décodage
PC 00
08 Mémoire
00 Load R1, 10
02 Load R2, 12
R1 20 04 Add R3, R1, R2
Adresses 06 Store R3, 14
R2 25 08
R3 45 10 20
12 25
Adressage direct 14
Données
Store Zone
mémoire
RI 0001 01 11 00 00 1110
Processeur
Phase Exécution
PC 00
08 Mémoire
00 Load R1, 10
14
02 Load R2, 12
R1 20 Adresses 04 Add R3, R1, R2
06 Store R3, 14
R2 25 Ecriture 08
R3 45 45 10 20
12 25
14 45
Données
RI 0001 01 11 00 00 1110
On remarque que quand les opération s’effectue dans les registres l’exécution est
plus rapide
41
Cours Architecture I . Mme AOUDJIT-LAGAB
La technique du Pipeline
Pour accélérer l’exécution des instructions, un processeur peut lancer plusieurs
phases en même temps
Dans les exemples précédents, il peut par exemple:
1. Exécuter la phase recherche de la première instruction
2. Exécuter la phase décodage de la première instruction et la phase recherche
de la deuxième instruction en même temps
3. Lancer la phase recherche de la troisième instruction, décodage de la
deuxième instruction et la phase exécution de la première instruction en
même temps
Temps
42
Cours Architecture I . Mme AOUDJIT-LAGAB
La technique du pipeline
43
Harvard vs Von Neuman
Architecture de Von Neuman
Processeur Mémoire
Architecture de Harvard
Mémoire Mémoire
Processeur programme
données
44
Cours Architecture I . Mme AOUDJIT-LAGAB
Harvard vs Von Neuman
Architecture de Von Neuman
Dans les architectures classiques de type (Von Neuman), le processeur dispose d’un
seul bus de données et d’un seul bus d’adresses
Les programmes et les données se trouvent dans la même mémoire
Ceci peut être une limite dans certains cas :
Il est impossible d’exécuter la phase de recherche et d’exécution en Pipeline
car il y a un conflit de bus pour certaines instructions (Load et Store)
Dans les systèmes embarqués, le programme est mis dans une mémoire
morte (ou non volatile) alors que les données sont temporaires
Architecture de Harvard
Dans les architectures de Harvard, le processeur distingue entre la mémoire contenant
les programmes et la mémoire de données
Il dispose de deux bus séparés, l’un pour la mémoire programmes et l’autre pour la
mémoire de données
La taille des bus peut être différente
45
Cours Architecture I . Mme AOUDJIT-LAGAB
Von Neuman / Harvard
L’architecture Harvard L’architecture Von Neuman
• Séparation des mémoires • Un seul espace adressable
programme et données (données et programme)
• Un bus de données • Un bus de données (programme
programme, et données),
• Un bus de données pour les • Un bus d’adresse (programme
données, et données)
• Un bus d’adresse programme, • Architecture des processeurs
• Un bus d’adresse pour les d’usage général
données. • Architecture dépréciée, lente
• Architecture très utilisée car
plus rapide (l’UC a accès
simultanément à l’instruction et
aux données associées)
• structure interne plus
complexe
46
Cours Architecture I . Mme AOUDJIT-LAGAB
Architectures CISC vs RISC
Architecture CISC (Complex Instruction Set Computer)
Processeur à jeu d’instructions complexe
Dispose généralement d’un grand nombre d’instructions pouvant réaliser des
opérations complexes
Les instructions ont des tailles variables et effectuent les opérations soit sur les
registres, soit sur des opérandes se trouvant en mémoire
Les phases d’exécution sont variables d’une instruction à l’autre
Fournis un grand nombre de modes d’adressages
Pour les processeur RISC, par contre, la complexité est déplacée du processeur au
programmeur
Le programmeur doit se « débrouiller » pour réaliser des opérations complexes avec
un petit jeu d’instructions simple
Toutefois, le processeur et plus performant avec un coût et une consommation
réduite
48
Cours Architecture I . Mme AOUDJIT-LAGAB
CISC : exemple
3 additions
49
RISC contre CISC
• CISC
– code plus dense, prend moins de place en mémoire
• RISC
– décodage plus rapide
– processeur plus simple
50
Les interruptions et les exceptions
Dans son fonctionnement normal, le processeur exécute les instructions l’une
après l’autre
Le compteur ordinal (PC) s’incrémente régulièrement pour pointer vers l’instruction
prochaine sauf dans le cas d’une instruction de branchement, auquel cas, le PC reçoit
l’adresse de branchement indiquée dans l’instruction
51
Cours Architecture I . Mme AOUDJIT-LAGAB
Les mémoires
Mémoires
Morte Vive
Volatile: les données stockées ne
Non volatile: conserve son contenu
sont pas conservées en cas de
même en l'absence d'alimentation
coupure d'alimentation électrique
électrique
53
Les mémoires mortes
Read Only Memory
L’information stockée dans ces mémoires l’est de manière définitive (ROM est
enregistrée de manière irréversible lors de sa fabrication ).
Prix de revient élevé
Programmable ROM. La PROM, livrée vierge (tous bits à 1), peut être programmée avec
un équipement adapté (programmateur de PROM ). Une seule écriture possible (Le
circuit PROM ne peut plus être modifié par la suite )
Electrically EPROM.
Elles sont effaçables électriquement sans intervention d’un rayonnement ultraviolet.
(Même principe qu’une EPROM, mais l’effacement se fait à l’aide de signaux électriques,
ce qui est plus rapide et pratique) mais leur prix de revient et leur capacité (inférieur à 2
Mo) ne les rendent pas très courantes.
C’est une mémoire de type EEPROM qui se reprogramme électriquement par bloc de
64 Ko de manière assez rapide (Flash). Son cycle de vie est limité (100 000 écriture).
Elle peut remplacer des disques durs portables.
Prix de revient encore élevé.
54
Hiérarchie mémoire
La mémoire cache est une mémoire rapide de faible capacité destinée à accélérer
l’accès à la mémoire centrale en stockant les données les plus utilisées.
56
Cours Architecture I . Mme AOUDJIT-LAGAB