ArchiOrd Chap1 Et Chap2
ArchiOrd Chap1 Et Chap2
ArchiOrd Chap1 Et Chap2
M. Belkadi 1
Un ordinateur est une machine ayant plusieurs
composants qui collaborent pour faire des traitements
automatiques d’informations.
M. Belkadi 2
Les composants d’un ordinateur
Les composants principaux d’un ordinateurs sont:
Ces composants sont reliés entre eux par des Bus (bus
d’adresses, bus de données, bus de contrôle)
M. Belkadi 3
Architecture d’un ordinateur
L’architecture d’un ordinateur se définie comme la façon
dont sont bâtis ses différents composants (matériels et
logiciels). On distingue au moins deux types d’architectures
dans un ordinateur
M. Belkadi 4
Pour l’architecture matérielle, on distingue
deux types d’architectures :
1. Le Modèle de Harvard
M. Belkadi 5
Le Modèle de Harvard (1944)
Mémoire Mémoire
Processeur programmes
données Bus de données Bus de données
M. Belkadi 6
Le Modèle de Von Neumann
Bus adresses
Mémoire
Processeur Programmes et
Bus de données de données
M. Belkadi 7
Avantages et Inconvénients
Von neumann Harvard
L’exécution d’une instruction L’exécution d’une instruction
nécessitera plus de temps. (rechercher nécessitera moins de temps. (Recherche
en premier temps l’instruction après en simultanée de l’instruction et de la
second lieu chercher les données) donnée)
Un seul bus est utilisé à la fois pour Pas de goulet d’étranglement pour la
l’extraction d'instructions et de recherche de l’instruction et des
données. Cela peut être un goulet données.
d'étranglement et ainsi dégrader les
performances
Le développement de la CPU Le développement de la CPU est plus
(processeur) est simplifié et moins complexe et coûteux
coûteux.
La taille de la mémoire pour les Un espace disponible sur une mémoire
instructions et les données peut être ne peut être utilisé par l’autre.
ajustée.
M. Belkadi 8
Chap. 2 Principaux composants d’un ordinateur
Dans cette partie nous considérons l’architecture de Von Neumann
Bus de Contrôle
M. Belkadi 9
1) Le Processeur (UC (Unité Centrale), CPU (Central Processing Unit),
UCT(Unité Centrale de Traitement ))
M. Belkadi 10
2) La Mémoire Centrale
Elle est chargée de contenir les instructions et les données du
programme en cours d’exécution.
M. Belkadi 13
1.Bus de données : Il est Birectionnel assure la transmission des
données ou d’instructions entre le processeur et son environnement,
et inversement. Sa taille correspond à la capacité de traitement du
processeur (nbre de bits qu’il peut traiter à la fois)
C
Commande haute impédance
C A Y Sortie
1 0 0 Faible Impédance
1 1 1 Faible Impédance
0 x Z Haute Impédance
M. Belkadi 18
II. Le processeur (microprocesseur)
C’est le cerveau de l’ordinateur. Il est chargé d’assurer une bonne
exécution des instructions d’un programme et de commander les
différents organes de l’ordinateur.
M. Belkadi 19
1. Unité de Contrôle et de Commande (UCC)
Cette unité est composée d’un ensemble d’organes avec des
fonctionnalités spécifiques Comme:
CO (Compteur Ordinal)
…. ordres
H
Séquenceur (bloc logique de contrôle)
…. add, mul, and…
Décodeur
/ n bits
COP
RI (Registre Instruction)
M. Belkadi 22
2. Unité Arithmétique et Logique
Carry (retenue)
0: Pas de retenue
1: Retenue
Zero
0: Résultat non nul
1: Résultat nul
Negatif
0: Résultat non négatif
1: Résultat négatif
M. Belkadi 24
Schéma d’une UAL
Registres généraux
Opérandes
ADD
SUB Cdes
Résultat UAL AND
…..
N Z C V
Registre d’état
M. Belkadi 25
On peut déduire qu’un processeur contient des registres à
usage général et d’autres avec des fonctions
particulières comme le CO, RI, PSW, SP….
.
M. Belkadi 26
III. MEMOIRE
Nous appelons mémoire tout dispositif capable
d’enregistrer, de conserver et de restituer des informations.
M. Belkadi 27
On distingue deux grandes catégories de mémoires :
M. Belkadi 28
Méthodes d’accès
• Accès séquentiel
Pour accéder à une information on doit parcourir toutes
les informations précédentes
Accès lent Exemple : bandes magnétiques
• Accès direct
Chaque information a une adresse propre
On peut accéder directement à chaque adresse Exemple :
mémoire centrale
• Accès semi-séquentiel
Intermédiaire entre séquentiel et direct
Exemple : disque dur Accès direct au cylindre
Accès séquentiel au secteur sur un cylindre
• Accès associatif/par le contenu
Une information est identifiée par une clé
On accède à une information via sa clé Exemple : mémoire cache29
M. Belkadi
Caractéristiques des mémoires
Les principales caractéristiques d'une mémoire sont les
suivantes :
M. Belkadi 31
De ces caractéristique, on peut dire qu’une mémoire idéale
serait une mémoire de grande capacité et ayant des temps
d’accès et de cycle très faibles, un débit élevé et est non
volatile.
M. Belkadi 32
La hiérarchie mémoire
M. Belkadi 33
Les différents niveaux de mémoires
M. Belkadi 34
Registres
Mémoires à accès très rapide (vitesse de CPU), de petites
tailles et non permanentes (Non volatile). elles sont
internes au CPU.
M. Belkadi 35
Mémoire cache
Le Cache : placé entre la CPU et la mémoire centrale
(MC). Il stocke des données récemment utilisées. Sa taille
varie de quelques centaines de Ko à quelques Mo mais elle
est rapide par rapport à la MC
La Mémoire cache est cadencée à la même fréquence que
la CPU
• But de la mémoire cache :
Débit de la mémoire centrale très lent par rapport au
débit requis par le processeur. Alors en plaçant les
informations (en avance) dans le cache, on accélère la
vitesse de lecture par la CPU.
M. Belkadi 36
Mémoire centrale
La mémoire centrale ou principale (MC): C'est une
mémoire à accès moins rapide que les deux précédentes
(Registres et Mémoire cache). Elle a une taille de
quelques centaines de Mo à quelques Go.
Elle comporte la mémoire vive (RAM) et la mémoire
morte (ROM).
M. Belkadi 37
RAM (Random Acces Memory ou mémoire à accès
aléatoire)
M. Belkadi 38
SRAM (Static RAM) :
• Utilise des bascules pour mémoriser l'information (Chaque
bascule contient entre quatre et six transistors);
• Très rapide mais coûteuse en composants et encombrante ;
• Temps d'accès : de l'ordre de 1 ns ;
• Utilisée pour le cache, par exemple.
• ROM
ROM est un circuit intégré dont le contenu est déterminé
une fois pour toute au moment de la fabrication. Au départ,
ces mémoires étaient utilisées pour stocker les parties bas-
niveau du système d’exploitation de l’ordinateur (BIOS du
PC par exemple).
M. Belkadi 42
• PROM (Programmable ROM)
Alors que la mémoire ROM est enregistrée de manière
irréversible lors de sa fabrication, la mémoire PROM est
configurée par l’utilisateur en utilisant un programmateur de
PROM, utilisé pour enregistrer son contenu. Le circuit PROM
ne peut plus être modifié par la suite.
M. Belkadi 44
Assemblage de boitiers mémoire
M. Belkadi 45
Mémoire de masse
La mémoire de masse ou secondaire: Elle est non
volatile et a une grande capacité; plusieurs centaines de
Mo à plusieurs centaines de Go
Exemple
Disque dur
DVD ou CD
M. Belkadi 46
Hiérarchie mémoire : conclusion
• Organisation de façon à ce que la CPU accède le plus
rapidement possible aux données les plus utilisées
• Hiérarchie
M. Belkadi 47
La Mémoire Cache
M. Belkadi 48
Exemple Introductif -Cache
Soit une CPU à 2.6 GHz et une mémoire à 10ns de
temps d’accès.
M. Belkadi 49
Exemple Introductif
= 26 Cycles
M. Belkadi 50
Exemple Introductif
• Conclusion
- Même si la CPU peut faire n’importe quelle
instruction (add, mult….) en quelques cycles, elle
doit attendre 26 cycles pour avoir les opérandes.
M. Belkadi 51
Exemple Introductif
Solution:
• Utiliser une mémoire dite rapide. Cependant, la
mémoire rapide est très chère. Donc, c’est trop couteux
d’avoir toute la RAM très rapide.
M. Belkadi 52
Principe de la mémoire cache
Rapide, chère,
faible capacité (SRAM) (DRAM)
M. Belkadi 53
• En cas de succès (hit), c’est-à-dire la donnée est dans le
cache. La donnée est transférée du cache au processeur. Dans ce
cas, la mémoire principale n’est pas accédée.
M. Belkadi 54
Le répertoire du cache a deux fonctions
-Indiquer si le mot accédé par le processeur est dans le cache (signal match)
-Si c’est le cas, indiquer l’adresse où se trouve le mot dans le cache
M. Belkadi 55
• En cas d’échec(miss), c’est-à-dire la donnée n’est pas
dans le cache (on l’appelle défaut de cache). On accède
à la mémoire centrale et on range dans le cache un bloc
de N mots autour du mot désiré.
M. Belkadi 56
Un système cache est composé généralement d’une mémoire
SRAM organisée en lignes, et d’un circuit contrôleur
assurant les fonctions de chargement, de placement, de
remplacement et de mise à jour des informations du cache.
Pour garder la trace des blocs se trouvant dans le cache, le
contrôleur utilise une petite mémoire associative dite
répertoire. M. Belkadi 57
Le transfert des N mots (bloc) de la mémoire vers le cache repose sur
le principe de Localité (localité spatiale et localité temporelle).
M. Belkadi 59
Questions
Les données et les instructions sont transférées de la
mémoire principale au cache en petits blocs (mots
mémoire). Par conséquent, plusieurs questions s'imposent:
Où peut-on placer un bloc dans le cache?
Placement de bloc
Comment trouver un bloc s'il est présent dans le cache?
Identification de bloc
Quel bloc doit être remplacé en cas d'échec?
Remplacement de bloc
Qu'arrive-t-il lors d'une écriture?
Stratégie d'écriture
M. Belkadi 60
Placement de bloc
N° Ligne
Exemple
14 mod 4 = 2
Mémoire cache Le bloc N° 14
sera mappé à la
Mémoire centrale M. Belkadi ligne N° 2 62
Avantages/Inconvénients du cache direct
Avantages:
- On sait immédiatement où aller chercher la ligne
- Accès très rapide à la ligne
Inconvénient:
- Devra parfois décharger et charger souvent les mêmes
lignes alors que d’autres lignes sont peu accédées
- Peu efficace en pratique
M. Belkadi 63
Correspondance associative totale
Si un bloc peut être placé n'importe où dans le cache,
celui-ci est appelé totalement associatif (fully
associative). Ce type de placement est le plus efficace,
mais aussi le plus compliqué à mettre en œuvre,
nécessitant une logique de contrôle très complexe.
N° Bloc
N° Ligne
Mémoire cache
M. Belkadi 64
Mémoire centrale
Avantages/Inconvénients du cache
associatif
Avantages:
• Meilleur taux de succès
Inconvénient:
• Il faut regarder toutes les lignes : trop lent
séquentiellement
• Recherche en parallèle, très coûteux financièrement car
circuits compliqués
M. Belkadi 65
Correspondance associative par ensemble
Si un bloc peut être placé dans un ensemble restreint de
places dans le cache, celui-ci est dit associatif par
ensemble (set-associative). Un ensemble est un groupe
de blocs dans le cache. Le bloc est placé n'importe où
dans un ensemble habituellement choisi par:
numéro de bloc mod nombre d'ensembles dans le cache
Avantages:
- Plus souple et efficace que la correspondance directe
- Temps d’accès court
- Méthode utilisée en pratique car meilleur compromis
M. Belkadi 67
Identification de bloc
On sait que la mémoire est organisée en blocs où chaque
bloc contient N mots. Une adresse mémoire est donc
composée de deux champs : un champ pour désigner le
bloc et l’autre permet d’identifier le mot dans le bloc.
N° Bloc N° Mot
Exemple
Soit une mémoire de 64 mots = 26 mots 6 bits d’adresse.
Si cette mémoire est organisée en bloc de 4 mots, on aura
64/4= 16 blocs. Alors, il nous faut 4 bits pour désigner un
bloc et 2 bits pour identifier les mots. Sur 4 bits Sur 2bits
=
N Cache à plusieurs lignes
M. Belkadi 70
Identification de bloc
Correspondance Associative Totale
Dans le cas d’une correspondance associative totale , une
adresse est décomposée en deux champs pour identifier la
donnée recherchée dans le cache
Tag (étiquette) N° Mot
M. Belkadi 71
Identification de bloc
Correspondance Associative Totale
Pour savoir si une donnée est disponible dans le cache, on
procède comme suit :
Accès à la mémoire centrale suite au miss du cache Mémoire
Y
TAG MotN-1 MotN-2 …….. Mot1 Mot0
=
TAG MotN-1 MotN-2 …….. Mot1 Mot0
N
M. Belkadi 72
Identification de bloc
Correspondance associative par ensemble
Dans le cas d’une correspondance associative par ensemble, une
adresse est décomposée en trois champs pour identifier la donnée
recherchée dans le cache
Tag (étiquette) Set (N° ensemble) N° Mot
Cache
Tag N° Set N° Mot TAG MotN-1 MotN-2 …….. Mot1 Mot0
M. Belkadi 74
Remplacement de bloc
Si le cache est plein, il faut libérer des lignes pour y mettre
d’autres lignes. Plusieurs méthodes (Algorithmes de
remplacement) sont utilisées pour choisir la ligne à
remplacer :
Aléatoire
First In First Out (FIFO)
Least Recently used (LRU)
Least Frequently used (LFU)
NMRU
Il est à noter que la correspondance directe n'a pas besoin d'une
méthode de remplacement spécifique, une ligne mémoire ne peut
être mise que dans une seule ligne du cache, donc il n'existe qu'une
seule possibilité de remplacement. M. Belkadi 75
Remplacement Aléatoire
M. Belkadi 76
Remplacement FIFO
(First In First Out)
Premier entré Premier sorti
M. Belkadi 77
Remplacement LRU
Least Recently Used
M. Belkadi 78
Remplacement LFU
Least Frequently Used
Variante de LRU
la ligne remplacée est la moins fréquemment utilisée
on associe à chaque ligne un compteur s’incrémentant à
chaque utilisation
on extrait la ligne dont le compteur est le plus petit
Tri plus simple sur les compteurs que sur les dates
M. Belkadi 79
Remplacement NMRU
M. Belkadi 80
Stratégies d'écriture
Outre les opérations de lecture en mémoire, le processeur
effectue également des écritures, par exemple lorsqu’il
modifie des données.
•Cache write-back
M. Belkadi 81
Cache write-through
M. Belkadi 82
Cache write-back
M. Belkadi 84
Stratégie de chargement (la recherche)
L'algorithme de recherche doit décider quand et
comment une donnée doit être ramenée vers le cache.
On distingue trois (03) méthodes pour ramener une
donnée vers le cache :
• A la demande: consiste à ramener un bloc vers le
cache quand celui-ci est référencé,
M. Belkadi 86
• La mémoire cache peut être séparée en cache de données
et cache d’instructions
M. Belkadi 87