Vous êtes sur la page 1sur 53

Module:

Architecture I (M1: SI, CPI)

Mme AOUDJIT-LAGAB. Département d'Informatique, FGEI, UMMTO 1


Objectif et Plan

L’informatique a été l’une des disciplines marquantes du 20e


siècle et elle est au premier plan de tout développement
scientifique, technologique et sociétal.

- Tous les secteurs de l’économie, de la science jusqu’à la vie de


tous les jours (au bureau, à la maison, dans la voiture, etc.) ont subi
d’importantes mutations.

Mme AOUDJIT-LAGAB. Département


2
d'Informatique, FGEI, UMMTO
Objectif et Plan

 L’évolution technologique du monde informatique a conduit à la recherche


permanente de l‘amélioration des performances du matériel (Processeur,
Mémoires, E/S) et du logiciel (Compilateur, Système d'exploitation, jeu
d'instructions).

 L’ Évolution des architectures d’ordinateurs est donc la conséquence des


besoins des applications qui demandent des ressources en CPU et en temps de
calcul de plus en plus importants:
• calcul scientifique (simulation, modélisation, analyse de données): simulation
de phénomènes physiques ou biologiques, prévisions météorologiques
«précises», modélisation du climat, analyse de protéines, analyse du génome
• traitement d'images
• bases de données (Toujours plus de données à traiter, des données plus
complexes, exple: Big Data)… etc.
Mme AOUDJIT-LAGAB. Département
3
d'Informatique, FGEI, UMMTO
Objectif et Plan

 L'objectif du cours est de faire comprendre les aspects qui


influencent la performance des processeurs et les points principaux
de leur évolution (la parallélisation, l'anticipation, la
hiérarchisation..).

Plan

Chapitre 1 : Rappels sur les processeurs et


introduction à l’amélioration de leurs
performances
Chapitre 2 :Le pipelining
Chapitre 3 :Le cachage
Chapitre 4: Les architectures: CISC, RISC

Mme AOUDJIT-LAGAB. Département


4
d'Informatique, FGEI, UMMTO
Chapitre 1 :

Partie1: Rappels sur les processeurs

Mme AOUDJIT-LAGAB. Département


5
d'Informatique, FGEI, UMMTO
L’architecture d’un système informatique minimal

 Un système informatique est l'ensemble des moyens

matériels et logiciels utilisé pour satisfaire les besoins des

utilisateurs en traitements automatiques d'informations.

Mme AOUDJIT-LAGAB. Département


6
d'Informatique, FGEI, UMMTO
L’architecture d’un système informatique minimal

Mme AOUDJIT-LAGAB. Département


7
d'Informatique, FGEI, UMMTO
Architecture interne d’un processeur

Processeur:
- Unité intelligente de traitement des informations.

- Chargé d’organiser les tâches précisées par le programme,


de les décoder et d’assurer leur exécution

- Prend en compte les informations extérieures au système et


assurer leur traitement.

Mme AOUDJIT-LAGAB. Département


8
d'Informatique, FGEI, UMMTO
L’architecture interL’architecture simplifiée d’un processeur
CPU (Central Processing Unit)
Unité de commande
Unité de traitement
(Contrôle)

Remarque: L’ensemble Mme


CPU + mémoire centrale constitue l’Unité
AOUDJIT-LAGAB. Département
9
Centrale. d'Informatique, FGEI, UMMTO
L’unité de commande

Unité de commande
Unité de traitement (Contrôle)
 Elle permet de séquencer le déroulement
des instructions.

 Elle effectue la recherche en mémoire de


l'instruction, le décodage de l’instruction.

 Elle pilote l’exécution de l’instruction (elle


envoie des commandes à l’unité de
traitement qui va exécuter les traitements).

Mme AOUDJIT-LAGAB. Département


10
d'Informatique, FGEI, UMMTO
Les blocs de l’unité de commande (1)
Unité de commande
Unité de traitement (Contrôle)
1.Le compteur de programme (PC :
Program Counter):
o appelé aussi Compteur Ordinal (CO).
o Il est constitué par un registre dont le
contenu est initialisé avec l'adresse de la
première instruction du programme.
o - Il contient toujours l’adresse de la
prochaine instruction à exécuter (il est
incrémenté chaque fois qu'une instruction
est chargée).

Mme AOUDJIT-LAGAB. Département


11
d'Informatique, FGEI, UMMTO
Les blocs de l’unité de commande (2)
Unité de commande
Unité de traitement (Contrôle)
2. Le registre d'instruction (RI):

o Chacune des instructions à exécuter est


transférée depuis la mémoire dans le
registre instruction.

Mme AOUDJIT-LAGAB. Département


12
d'Informatique, FGEI, UMMTO
Les blocs de l’unité de commande (3)
Unité de commande
Unité de traitement (Contrôle)
3. Décodeur d'instruction:

o 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.

Mme AOUDJIT-LAGAB. Département


13
d'Informatique, FGEI, UMMTO
Les blocs de l’unité de commande (4)
Unité de commande
Unité de traitement (Contrôle)
4. Bloc logique de commande (ou
séquenceur) :

o Il gère le séquencement des opérations et


génère tous les signaux de synchronisation
internes ou externes (les signaux du bus de
commande (RD, WR, etc.) du
microprocesseur en fonction de l’instruction
à exécuter.

Mme AOUDJIT-LAGAB. Département


14
d'Informatique, FGEI, UMMTO
L’unité de traitement

Unité de commande
(Contrôle)

 Elle regroupe les circuits qui assurent les traitements nécessaires à


l'exécution des instructions

 Elle dispose de circuits réalisant des opérations des fonctions logiques


(ET, OU, comparaison, décalage,...) ou arithmétique (addition,
soustraction,...).
Mme AOUDJIT-LAGAB. Département
15
d'Informatique, FGEI, UMMTO
Les blocs de l’unité de traitement (1)

Unité de commande
(Contrôle)

1. Les accumulateurs

o sont des registres de travail qui servent à stocker un opérande au début


d'une opération et le résultat à la fin de l'opération.

Mme AOUDJIT-LAGAB. Département


16
d'Informatique, FGEI, UMMTO
Les blocs de l’unité de traitement (2)

Unité de commande
(Contrôle)

2.L’Unité Arithmétique et Logique (UAL)

o est un circuit complexe qui assure les fonctions logiques (ET, OU,
Comparaison, Décalage, etc…) ou arithmétique (Addition, soustraction…).

Mme AOUDJIT-LAGAB. Département


17
d'Informatique, FGEI, UMMTO
Les blocs de l’unité de traitement (3)

Unité de commande
(Contrôle)

3. Le registre d'état
o Il est généralement composé de 8 bits à considérer individuellement.
o 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.
o On les appelle indicateurs d’état ou flags ou drapeaux .
o Dans un programme le résultat du test de leur état conditionne souvent le
déroulement de la suite du programme.
o On peut citer par exemple lesMmeindicateurs
AOUDJIT-LAGAB.deDépartement
: Retenue (carry : C),
18
o Négatif (N), Zéro (Z)… d'Informatique, FGEI, UMMTO
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 :

Langage machine : représenté par un code binaire propre à chaque


processeur
Exemple: 1 0 11 10 1 1000011 0 10 01
1 01 1 1 1 1 R1  R2 + R3

Code binaire de l’addition


Registre R1
Registre R2
Registre R3

Langage assembleur : équivalent au langage machine sauf qu’il utilise des


représentations mnémoniques des opérations et des opérandes

Exemple: Add R1, R2, R3


Mme AOUDJIT-LAGAB. Département
19
d'Informatique, FGEI, UMMTO
Architecture externe d’un processeur
 L’architecture externe d’un processeur concerne les éléments suivants :

Les registres visibles


Ce sont les registres qu’on peut manipuler par notre programme
 Nombre de registres
 Tailles des registres
L'adressage de la mémoire
 Taille du bus de données du processeur
 Taille du bus d’adresse du processeur
 Les modes d’adressage de la mémoire
Le jeu d'instructions
 Format de l’instruction
 Nombre d’instructions
Les mécanismes de traitement des interruptions et des exceptions
 Lignes d’interruption
Priorité des interruptions
Localisation du gestionnaire d’interruption
Mme AOUDJIT-LAGAB. Département
20
d'Informatique, FGEI, UMMTO
Exemple d’un processeur
Interface externe

4 bits
Bus d’adresses
RESET Lecture
Sources INT1 Ecriture Bus de commande
d’interruption INT2
Bus de données
16 bits

 Quelle est la taille de la mémoire gérée par ce processeur ?


24x16 = 256 bits =32 Octets

Mme AOUDJIT-LAGAB. Département


21
d'Informatique, FGEI, UMMTO
Exemple d’un processeur
Registres internes

PC 4 bits

R1

R2
16 bits
R3

O N Z
SR

16 bits
Mme AOUDJIT-LAGAB. Département
22
d'Informatique, FGEI, UMMTO
Exemple d’un processeur
Format d’instruction

Code Mode Registre Registre Registre Adresse ou


OP Adressage destination opérande 1 opérande 2 constante
4 bits 2 bits 2 bits 2 bits 2 bits 4 bits

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)
Mme AOUDJIT-LAGAB. Département
23
d'Informatique, FGEI, UMMTO
Exemple d’un processeur
Modes d’adressage

Code Mode Signification


00 Immédiat Le contenu du champ adresse est une constante
01 Direct Le contenu du champ adresse est une case
mémoire
10 Registre Les opérations sont effectuées dans les registres
11 basé L’adresse se trouve dans la zone mémoire indiquée
dans le registre OP1 + déplacement

Mme AOUDJIT-LAGAB. Département


24
d'Informatique, FGEI, UMMTO
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

Processeur 8 bits  bus de données sur 8 bits


Processeur 16 bits  bus de données sur 16 bits
Processeur 32 bits  bus de données sur 32 bits
Processeur 64 bits  bus de données sur 64 bits
…etc.

Mme AOUDJIT-LAGAB. Département


25
d'Informatique, FGEI, UMMTO
Organisation mémoire
Plusieurs critères importants caractérisent les mémoires :

 La capacité de la mémoire indique la quantité d’information qu’une mémoire peut


stocker. En général cette capacité peut s’exprimer en bits, en octets, plus rarement
en mots.

 Le temps d’accès de la mémoire caractérise le temps nécessaire pour obtenir une


information en mémoire. Pour une mémoire électronique qui est une mémoire très
rapide (RAM, ROM, registre…) ce temps se mesure en nanosecondes (milliardième
de seconde : 10– 9 s).

Mme AOUDJIT-LAGAB. Département


26
d'Informatique, FGEI, UMMTO
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

Mme AOUDJIT-LAGAB. Département


27
d'Informatique, FGEI, UMMTO
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

Load R1, #10  0000 00 01 00 00 1010

10 R1

Mme AOUDJIT-LAGAB. Département


28
d'Informatique, FGEI, UMMTO
Modes d’adressage de la mémoire
Adressage direct

L’adresse de l’information à chercher se trouve directement dans l’instruction


Ce mode est le plus simple mais l’espace mémoire accessible dépend de la
taille du champ adresse de l’instruction

Load R1, 10  0000 01 01 00 00 1010


Mémoire
20 R1

10 20

Mme AOUDJIT-LAGAB. Département


29
d'Informatique, FGEI, UMMTO
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.

Load R1, [10] Mémoire

30 R1
10 20

20 30

Mme AOUDJIT-LAGAB. Département


30
d'Informatique, FGEI, UMMTO
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

Load R1, R2  0000 10 01 10 00 0000

10 R1

10 R2

Mme AOUDJIT-LAGAB. Département


31
d'Informatique, FGEI, UMMTO
Modes d’adressage de la mémoire
Adressage indirect par registre
L’information à chercher se trouve en mémoire à l’adresse indiqué par un
registre interne

Load R1, [R2]


Mémoire

R2 10 10 20 20 R1

Mme AOUDJIT-LAGAB. Département


32
d'Informatique, FGEI, UMMTO
Modes d’adressage de la mémoire
Adressage basé

L’adresse de l’information est donnée en deux parties


Une partie dite base se trouvant dans un registre
Une partie, dite déplacement figurant dans le champs adresse de l’instruction

Load R1, [R2, 10]  0000 11 01 10 1010


Mémoire

20 R1
+ 15 20

R2 5

Mme AOUDJIT-LAGAB. Département


33
d'Informatique, FGEI, UMMTO
Modes d’adressage de la mémoire
Adressage relatif
Ce mode est souvent utilisé dans les instructions de branchement
L’adresse de l’information est la combinaison du contenu du compteur programme
(PC) et d’un déplacement

Mémoire
Brel 10
14 Brel 10

+ 25 Autre inst

PC 15
25

Mme AOUDJIT-LAGAB. Département


34
d'Informatique, FGEI, UMMTO
Cycle d’exécution d’un programme
Le fonctionnement du processeur est caractérisé par une boucle indéfinie dans
laquelle il exécute de manière cyclique des instructions se trouvant en mémoire
La boucle (ou le cycle) est composée de plusieurs phases
On distingue en général, trois phases de base

La phase de recherche (fetch)


Le processeur recherche l’instruction depuis la mémoire
La phase de décodage (Decode)
L’instruction est décodée dans un registre spécial dans le processeur dit registre
instruction
La phase d’exécution (Exécute)
L’instruction est exécutée par le processeur

Mme AOUDJIT-LAGAB. Département


35
d'Informatique, FGEI, UMMTO
Phases d’exécution d’un programme
Première instruction : Load R1, 10

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

Mme AOUDJIT-LAGAB. Département


36
d'Informatique, FGEI, UMMTO
Phases d’exécution d’un programme
Première instruction : Load R1, 10

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

Registre source Mme AOUDJIT-LAGAB. Département


37
d'Informatique, FGEI, UMMTO
Phases d’exécution d’un programme
Première instruction : Load R1, 10

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

Mme AOUDJIT-LAGAB. Département


38
d'Informatique, FGEI, UMMTO
Phases d’exécution d’un programme
Deuxième instruction : Load R2, 12
Quel est le contenu des registres après l’exécution de l’instruction: Load R2, 12
Processeur

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?

Mme AOUDJIT-LAGAB. Département


39
d'Informatique, FGEI, UMMTO
Phases d’exécution d’un programme
Troisième instruction : Add R3, R1, R2

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

Mme AOUDJIT-LAGAB. Département


40
d'Informatique, FGEI, UMMTO
Phases d’exécution d’un programme
Troisième instruction : Add R3, R1, R2

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 Mme AOUDJIT-LAGAB. Département
41
d'Informatique, FGEI, UMMTO
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

Mme AOUDJIT-LAGAB. Département


42
d'Informatique, FGEI, UMMTO
Phases d’exécution d’un programme
Quatrième instruction : Store R3, 14

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

Mme AOUDJIT-LAGAB. Département


43
d'Informatique, FGEI, UMMTO
Phases d’exécution d’un programme
Quatrième instruction : Store R3, 14

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

R3 Mme AOUDJIT-LAGAB. Département


44
d'Informatique, FGEI, UMMTO
Phases d’exécution d’un programme
Quatrième instruction : Store R3, 14

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

Mme AOUDJIT-LAGAB. Département


45
d'Informatique, FGEI, UMMTO
Temps d’exécution du programme
Le processeur dispose d’une fréquence d’horloge de 1 GHZ. La mémoire à un temps de
cycle de 20 ns (en lecture ou en écriture) . On suppose que chaque phase est
enclenchée par un top d’horloge.
Indiquez le nombre de cycles mémoire et le temps d’exécution de chaque instruction du
programme suivant
Nombre de cycles Temps d’exécution
mémoire
LOAD R1, 10 Deux cycles 41 ns

LOAD R2, 12 Deux cycles 41 ns

ADD R3, R1, R2 Un cycle 22 ns

STORE R3, 14 Deux cycles 41 ns

On remarque que quand les opération s’effectuent dans les registres l’exécution est
plus rapide
Mme AOUDJIT-LAGAB. Département
46
d'Informatique, FGEI, UMMTO
Partie 2

Amélioration des performances


des processeurs

Mme AOUDJIT-LAGAB. Département


d'Informatique, FGEI, UMMTO 47
Aamélioration des performances

Temps d’exécution d’un programme:


Accès mémoire ( recherche instruction +
données )

Temps de traitement ( dans la CPU )

Mme AOUDJIT-LAGAB. Département


48
d'Informatique, FGEI, UMMTO
Indicateurs de performance du processeur
 L'exécution d'une instruction nécessite plusieurs temps de cycle, ou CPI
(Cycles per Instruction ou nombre de cycles par instruction).
 Le temps d'exécution d'un programme est: (si on considère que toutes les
instructionsont le même CPI):

Texec = Nins x CPI x Tcycle avec


:
 Texec : temps d'exécution du programme
 Nins : nombred'instructions
 CPI: nombre de cycles parinstructions
 Tcycle : temps decycle

Mme AOUDJIT-LAGAB. Département


49
d'Informatique, FGEI, UMMTO
Comment faire des processeurs plus rapides?
 Points principaux de l’ évolution
 Fréquence de fonctionnement :
o diminuer le temps de cycle en
augmentant la fréquence de
fonctionnement du processeur
 Parallélisation et optimisation des
séquences d'instructions
o Pipeline
o Architectures superscalaires et multi-core
Améliorer les accès mémoire
oMémoire hiérarchique
oOptimisation des accès
Jeu d'instructions (CISC, RISC)
odiminuer le nombre d'instructions (approche CISC)
o diminuer le nombre de cycles par instruction (approche RISC).
Mme AOUDJIT-LAGAB. Département d'Informatique, 50
FGEI, UMMTO
Fréquence d’horloge
Le traitement s'effectue d'une façon synchronisée c.à.d.
sous le contrôle d'une horloge.

A chaque impulsion d'horloge ,une tâche élémentaire est


réalisée ,d'où la grande importance de la fréquence d'horloge
dans le temps de traitement.
 La fréquence de l’horloge détermine la durée d’un cycle ( Cycle
CPU)
o La vitesse d’horloge d’un processeur détermine la vitesse
globale du processeur.
o Chaque opération utilise un certain nombre de cycles

Mme AOUDJIT-LAGAB. Département


51
d'Informatique, FGEI, UMMTO
Fréquence d’horloge
 Fréquence d'horloge

 Dans le 8086 la freq. horloge = 5 Mhz la vitesse CPU = 5 Mhz

T = 1 / f = 200 ns => 1 impulsion = 200ns

 Si 1 accès mémoire dure 5 impulsions d'horloge => temps d'accès


= 1μs.

Si la fréquence f augmente, alors le nb d'impulsions/seconde


augmente, le nb de tâches /seconde augmente et la vitesse de
traitement augmente.

Mme AOUDJIT-LAGAB. Département


52
d'Informatique, FGEI, UMMTO
Fréquence d’horloge
 Problèmes technologiques et physiques
 Consommation d’énergie et dissipation de la chaleur
L’accélération des fréquences provoque un surcroît de
consommation d’énergie ce qui entraîne une élévation de
température.

 Temps de propagation

 Les signaux électriques mettent un certain temps à traverser les


éléments du processeur ou à circuler sur un conducteur
Certaines opérations effectuées par le processeur ne sont plus
réalisables en un temps trop court
Même la fibre optique n’y peut rien et donc communiquer coûte
cher…

Mme AOUDJIT-LAGAB. Département


53
d'Informatique, FGEI, UMMTO

Vous aimerez peut-être aussi