Vous êtes sur la page 1sur 56

Plan

Chapitre 1 : Rappels généraux sur les processeurs

Chapitre 2 : Les microcontrôleurs

 Définition

 Architecture d’un microcontrôleur

 Etude du microcontrôleur Atmega 328 (ARDUINO)

Chapitre 3 : La programmation

Cours Architecture I . Mme AOUDJIT-LAGAB 1


Chapitre 1 :
Rappels généraux sur les processeurs

Cours Architecture I . Mme AOUDJIT-LAGAB 2


L’architecture d’un système informatique minimal

Cours Architecture I . Mme AOUDJIT-LAGAB 3


L’architecture d’un système informatique minimal:
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.

Cours Architecture I . Mme AOUDJIT-LAGAB 4


L’architecture interL’architecture simplifiée d’un processeur

Unité de commande
Unité de traitement (Contrôle)

Cours Architecture I . Mme AOUDJIT-LAGAB 5


L’unité de commande (1)

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

Cours Architecture I . Mme AOUDJIT-LAGAB 6


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

2. Le registre d'instruction (RI):


Chacune des instructions à exécuter est transférée depuis la mémoire dans
le registre instruction.

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.

4. Bloc logique de commande (ou séquenceur) :


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 microprocesseurCours
enArchitecture
fonction de AOUDJIT-
I . Mme l’instruction à exécuter. 7
LAGAB
L’unité de traitement

-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,...).

Cours Architecture I . Mme AOUDJIT-LAGAB 8


Les blocs de l’unité de traitement
1. Les accumulateurs
- 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.
2. L’Unité Arithmétique et Logique (UAL)
est un circuit complexe qui assure les fonctions logiques (ET, OU,
Comparaison, Décalage, etc…) 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 :

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


Cours Architecture I . Mme AOUDJIT-
10
LAGAB
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 11
Cours Architecture I . Mme AOUDJIT-LAGAB
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

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 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)
14
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

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

1. LOAD R1, #10  0000 00 01 00 00 1010


2. LOAD R2, #20  0000 00 10 00 00 1110
3. ADD R3, R1, R2  0010 10 11 01 10 0000
4. STORE R3, 04  0010 01 11 00 00 0100

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

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

17
Cours Architecture I . Mme AOUDJIT-LAGAB
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).

 Cette vitesse peut également s’exprimer comme une fréquence d’horloge


caractéristique de la mémoire, elle est égale à l’inverse du temps d’accès et mesurée
en hertz (Hz).
 Exemple: un temps d’accès égal à 10 nanosecondes correspond à une fréquence de
100 Mhz (1 Mhz = 106 Hz).

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.

Dans ce cas la mémoire est adressable par octet

Chaque octet dispose de sa propre adresse

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

Exemple X = 1247 stocké en mémoire à l’adresse 0

Big Endian Little Endian


0 1 0 7
1 2 1 4
2 4 2 2
3 7 3 1

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

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

10 R1

23
Cours Architecture I . Mme AOUDJIT-LAGAB
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

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.

Load R1, [10] Mémoire

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

Load R1, R2  0000 10 01 10 00 0000

10 R1

10 R2

Cours Architecture I . Mme AOUDJIT-


26
LAGAB
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

Cours Architecture I . Mme AOUDJIT-


27
LAGAB
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

Cours Architecture I . Mme AOUDJIT-


28
LAGAB
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

Cours Architecture I . Mme AOUDJIT-


29
LAGAB
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

Cours Architecture I . Mme AOUDJIT-


30
LAGAB
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

Cours Architecture I . Mme AOUDJIT-


31
LAGAB
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 Cours Architecture I . Mme AOUDJIT-


32
LAGAB
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

Cours Architecture I . Mme AOUDJIT-


33
LAGAB
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?

Cours Architecture I . Mme AOUDJIT-


34
LAGAB
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

Cours Architecture I . Mme AOUDJIT-


35
LAGAB
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 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

Cours Architecture I . Mme AOUDJIT-


37
LAGAB
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

Cours Architecture I . Mme AOUDJIT-


38
LAGAB
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 Cours Architecture I . Mme AOUDJIT-


39
LAGAB
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

Cours Architecture I . Mme AOUDJIT-


40
LAGAB
Phases d’exécution d’un 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’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

Recherche Décodage Exécution


E1 Load R1, 10
E2 Load R2, 12 Load R1, 10
E3 Add R3, R1, R2 Load R2, 12 Load R1, 10

Temps

42
Cours Architecture I . Mme AOUDJIT-LAGAB
La technique du pipeline

Pipeline  Découper le traitement d’une instruction en plusieurs étages


(mise à jour PC, chargement instruction, décodage et lecture registres, exécution,
écriture registre)
 A un instant donné, chaque étage travaille sur une instruction différente
– en début de cycle, chaque étage envoie « son » instruction à l’étage suivant

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

Architecture RISC (Reduced Instruction Set Computer)


Processeur à jeu d’instructions réduit
Dispose de peu d’instructions effectuant des opérations simples
Deux instructions seulement manipulent la mémoire (Load et Store). Les autres
instructions travaillent sur les registres
Très peu de modes d’adressages (un à deux)
Un grand nombre de registres
47
Cours Architecture I . Mme AOUDJIT-LAGAB
Architectures CISC vs RISC
Les architectures CISCs permettent de développer facilement des applications en
assembleur
Toutefois, les processeurs sont encombrés par la logique nécessaire pour réaliser des
instructions complexes
Les techniques d’optimisation comme le Pipline sont difficiles à réaliser sur des
instructions de taille variable
Les processeurs CISC sont lents, consomment beaucoup et coutent plus cher

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

add R4, 10 (R5, R6) R4 = R4 + mem[R5+R6+10]

3 additions

add R7, R5, R6 R7 = R5 + R6


load R7, 10 (R7) R7 = mem[R7+10]
Équivalent RISC: add R4, R4, R7 R4 = R4 + R7

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

Toutefois, il existe des situations dans lesquelles le processeur interrompt


l’exécution normale du programme et se branche vers un autre programme
Ces événements sont :
La réinitialisation (le signal RESET)
Les interruptions
Les exceptions
Les appels système

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

ROM SRAM DRAM


PROM SDRAM
EPROM RDRAM
EEPROM
FLASH
52
Cours Architecture I . Mme AOUDJIT-LAGAB
Les mémoires vives
SRAM Static Random Access Memory: 6 à 15 nanosecondes
Elles sont construites à partir de bascules de transistors qui permettent, si
l’alimentation est maintenue, de conserver l’information très longtemps.
Ce sont des mémoires très rapides mais chères. Elles sont de faibles capacités
et sont plutôt réservées aux mémoires caches.

DRAM Dynamic Random Access Memory: 60 à 70 nanosecondes


Elles doivent donc être rafraîchies régulièrement pour entretenir la
mémorisation. Elles sont la base des mémoires centrales. Le bit est associé à un
seul transistor (contrairement aux SRAM)

SDRAM Synchronous DRAM: permet des échanges synchronisés avec le


processeur (le processeur peut engager des accès consécutifs même si l’accès
précédent n’est pas achevé).
10 à 12 nanosecondes

RDRAM Rambus DRAM: La RDRAM, produit de la société Rambus ( technologie


mémoire propriétaire Intel) . Accès mémoire synchrone. Elle permet des taux
de transfert 10 fois plus élevés que ceux des DRAM traditionnelles, mais
nécessite des contrôleurs spécifiques ce qui en limite l’usage.

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 )

Erasable PROM. PROM effaçable (PROM reconfigurables).


Elles peuvent être effacées une fois écrites au moyen d’un faisceau ultraviolet qui
force tous les bits à une même valeur.

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

Mémoire de masse: Disque dur, Clés USB, DVD


55
Cours Architecture I . Mme AOUDJIT-LAGAB
Hiérarchie mémoire
Les registres sont les éléments de mémoire les plus rapides. Ils sont situés au
niveau du processeur et servent au stockage des opérandes et des résultats
intermédiaires.

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

 La mémoire centrale est l’organe principal de rangement des informations. Elle


contient les programmes (instructions et données) et est plus lente que les deux
mémoires précédentes.

 La mémoire de masse est une mémoire périphérique de grande capacité utilisée


pour le stockage permanent ou la sauvegarde des informations. Elle utilise pour cela
des supports magnétiques (disque dur) ou optiques (CDROM, DVDROM).

56
Cours Architecture I . Mme AOUDJIT-LAGAB

Vous aimerez peut-être aussi