Académique Documents
Professionnel Documents
Culture Documents
M.S 2023-2024 1
Un programme est un ensemble d’instructions exécuté dans un
ordre bien déterminé.
Un programme est exécuté par un processeur (machine).
Pour comprendre le mécanisme d’exécution d’un programme
il faut comprendre le mécanisme d’exécution d’une instruction
il faut connaitre l’architecture du processeur sur le quel va
s’exécuter cette instruction
2
CPU: Central Processing Unit, Unité Centrale de Traitement
Est le cerveau de l'ordinateur
Il permet les échanges de données entre les différents
composants (disque dur, mémoire RAM, Carte graphique, …)
Permet de manipuler des informations
Permet d'exécuter les instructions stockées en mémoire.
Sa puissance est exprimée en Hertz
3
4
5
6
I/ Les registres:
Pour assurer leur fonctionnement l’unité de commande (partie de contrôle)
et l’unité de traitement (partie opérative), on utilise des mémoires très
rapides appelés registre.
En règle générale, dans le contexte d’un processeur particulier, les
registres sont associés à des nom court indiquant leur rôle dans une
architecture de processeur.
Nom Désignation
RI Registre instruction
Remarque: Les registres stock les données
ACC Registre Accumulateur
temporairement, rapide, coût de fabrication
élevé et de faible capacité (1Ko). RAM Registre Adresse Mémoire
PC Compteur Programme
RE Registre d’Etat
7
I/ Unité de contrôle: ( UC, unité d'instruction, unité de commande)
8
I/ Unité de contrôle: ( UC, unité d'instruction, unité de commande)
1 - Compteur ordinal « CO » : c’est le compteur programme « PC »
contenant toujours l'adresse de la prochaine instruction à exécuter.
Unité
Registre
De
contrôle
Le processeur 9
I/ Unité de contrôle: ( UC, unité d'instruction, unité de commande)
3- Séquenceur: chargé de synchroniser l'exécution des instructions au rythme -
d'une horloge. Il est ainsi chargé de l'envoi des signaux de commande en
fonction du code de l’instruction.
Unité
Registre
De
contrôle
Le processeur
10
II/ Unité Arithmétique et logique: (UAL: le cœur du processeur)
Son rôle est le traitement des données (opération arithmétique, logique,
décalage …), traite les nombres entier
11
II/ Unité Arithmétique et logique:
1- Les registres de travail:
Le microprocesseur peut contenir d’autres registres autre que: RI, ACC,
RE, RAM et PC.
Ces registres appelé registre de travail, sont considéré comme une mémoire
interne du microprocesseur.
Les registres de travail sont plus rapide que la mémoire centrale, mais leur
nombre est limité.
Généralement ces registres sont utilisés pour sauvegarder les données avant
d’exécuté une opération.
La taille d’un registre de travail est égale à la taille d’un mot mémoire.
12
II/ Unité Arithmétique et logique:
2- L'unité de virgule flottante « FPU »: accomplit les calculs
complexes (les nombres réels)
3- Le registre accumulateur (ACC): stockant les résultats des
opérations arithmétiques et logiques des données en cours de traitement
4- Le registre d'état: Il permet de stocker des indicateurs sur l'état du
système (retenue, dépassement, etc.)
UAL FPU
Unité
Registre
De
contrôle
Le processeur 13
II/ Unité Arithmétique et logique:
Reçoit deux opérandes A(An ….A0,A1) et B(Bn ….B0,B1) et produit le
résultat S (Sm ….S0,S1) selon l’indication (l’opération: addition,
soustraction …) appliqué sur l’entrée C(CK ….C0,C1).
14
III/ Les mémoires cache:
1- Mémoire cache L1 (niveau 1):
vue les limites de registre en capacité, des mémoires cache L1 (temporaire)
sont intégré au processeur avec des tailles plus élevé à 64 Ko.
- Permet de stocké la prochaine instruction à exécuté.
(données)
Cache L1
Unité
- Les instructions et les données ne sont
Registre
De
pas séparé. contrôle
Le processeur 15
IV/ Unité d’entrée sortie: (Unité de gestion des bus)
- Permettent l’échange d’informations avec les dispositifs extérieurs (RAM,
Carte graphique, etc …).
- Cette unité est à l’intérieur dans le cas du processeur mono cœurs, dans le cas
de processeur à 2 cœurs cette unité est à l’extérieur
Mémoire Cache L2
UAL FPU
(instruction)
Cache L1
(données)
Cache L1
Unité
Registre
De
contrôle
Cache L1 (instruction)
Cache L1 (données)
processeur Unité UAL FPU
De
Le processeur peut exécuté contrôle
plusieurs instruction en même
Registre
temps (l’unité de commande
passe plusieurs commande à
ALU on parle de processeur
super scalaire
17
Mémoire Cache L3
Cache L1 (instruction)
Cache L1 (données)
Cache L1 (données)
Unité UAL FPU Unité UAL FPU
De De
contrôle contrôle
Registre
Registre
Unité de contrôle
18
Mémoire Cache L3: même rôle que mémoire cache L2
19
Le Fréquence de fonctionnement
La Finesse de gravure
20
Un ensemble de fils
éléments de l’ordinateur.
21
La largeur : désigne le nombre de bits qu’un bus
peut transmettre simultanément.
22
Débit : le taux de transfert maximal, est la quantité de
donnée qu’il peut transférer par unité de temps,
Débit (octets/s) = (nombre de transferts par seconde * largeur) / 8
Bande passante (en Mo/s) = largeur bus (en octets) * fréquence (en Hz)
Exercice : Un bus de 8 bits, cadencé à une fréquence de 100 MHz. Calculer le taux
de transfert.
Solution : Le bus possède donc un taux de transfert égal à :
Taux de transfert = largeur bus * fréquence
= 8*100.106
= 8.108 bits/s
= 108octets/s
= 105K octets/s
= 102M octets/s 23
CPU
(UAL, Mémoire Entrées
Registre, Centrale Sorties
UC )
Bus Données
Bus Adresse
Bus Contrôle
24
-Bus de donnée: c’est un bidirectionnel, il assure le transfert des
informations (opérations et données) entre le microprocesseur et son
environnement, et inversement. Son nombre de lignes est égal à la capacité de
traitement du microprocesseur.
25
I/ Définition:
Une mémoire est un dispositif capable :
– D'enregistrer une information,
– De la conserver ( mémoriser )
– et de la restituer ( possible de la lire ou la récupérer par la suite).
26
III/ Type de mémoires:
2- Mémoire de masse (auxiliaire):
La mémoire de sauvegarde des informations.
Elle est plus lente,
Permettant de stocker des informations à long terme, y compris lors
de l'arrêt de l'ordinateur.
Elle utilise pour cela des supports magnétiques (disque dur) ou
optiques (CDROM, DVDROM).
3- Mémoire d’appui :
Mémoire intermédiaire entre la mémoire centrale et les mémoires
auxiliaires
Permet d’augmenter la vitesse d’échange des informations entre ces
deux niveaux.
Elle joue le même rôle que la mémoire cache
27
III/ Type de mémoires: (suite)
1- Mémoire interne (central) :
Mémoriser temporairement les données et les programmes
lors de l'exécution des applications (mémoire vive et mémoire morte).
Elle est très rapide, physiquement peu encombrante mais
coûteuse
4- Mémoire Cache:
Mémoire tampon entre le CPU et la mémoire centrale
Elle est plus lente,
Permet au CPU de faire moins d‘accès à la mémoire centrale et
ainsi de gagner du temps.
5- Registre:
Elément de mémoire situé dans le CPU
sert principalement au stockage des opérandes et des résultats
intermédiaires
28
Exercice :
Classez les mémoires suivantes par taille, par rapidité :
CD-ROM, Registre d’Instruction, Disques durs, ROM, Cache L1, USB, Cache
L2.
Solution :
Par taille : RI < L1 < L2 < ROM < CD <USB < DD.
Par vitesse : RI > L1 > L2 > ROM > DD > USB > CD
29
III/ Les unités de mesures:
30
IV/ Caractéristiques d’une mémoire
1) La capacité ( taille )
Est le nombre de mots qu’on peut enregistrer dans cette mémoire.
- Avec une adresse de n bits il est possible de référencer au plus 2 n cases
mémoire
- Chaque case est remplie par un mot de données (sa longueur m est toujours
une puissance de 2).
31
- Le nombre de fils d’adresses d’un boîtier mémoire définit donc le nombre de
cases mémoire que comprend le boîtier
- Le nombre de fils de données définit la taille des données que l’on peut
sauvegarder dans chaque case mémoire.
32
Exercice 1:
Notre mémoire a une capacité de 8 mots de 16 bits chacun. On exprime également cette
capacité en nombre d’octets ou de bits.
Solution 1:
Capacité d’une mémoire = Nombre de mots * Taille du mot Notre mémoire a donc une
capacité de (8*2 octets) 16 octets ou de (8*16 bits) 128 bits.
Exercice 2:
Dans une mémoire la taille du bus d’adresses K=16 et la taille du bus de données N=8.
Calculer la capacité de cette mémoire ?
Solution 2:
Capacité d’une mémoire = Nombre de mots * Taille du mot
On a Taille de la bus d’adresse = Nombre de lignes d’adresses donc
Nombre de mots = 2nombre de lignes d’adresses
Et aussi
Taille de bus de données = Taille du mot
Alors Capacité= 216mots de 8bits Capacité=216*23= 219bits=216 octets=213 Koctets
33
2.Volatilité
- Si une mémoires perd sont contenu ( les informations ) lorsque
la sources d’alimentation est coupée alors la mémoire est dite
volatile
- Si une mémoire ne perd pas ( conserve ) sont contenu lorsque la
sources d’alimentation est coupée alors la mémoire est dite non
volatile ( mémoire permanente ou stable).
34
3. Le temps d’accès:
- C’est le temps nécessaire pour effectuer une opération de lecture ou
d’écriture,
35
4. Le mode d’accès à l’information ( lecture /écriture )
- Lecture : récupérer / restituer une information à partir de la mémoire.
- écriture : enregistrer une nouvelle information ou modifier une
information déjà existante dans la mémoire.
Il existe des mémoires qui offrent les deux modes lecteur/écriture , ces
mémoire s’appelles mémoires vives.
Il existent des mémoires qui offrent uniquement la possibilité de la lecture
( c’est pas possible de modifier le contenu ). Ces mémoires s’appellent
mémoires mortes
36
I/ Définition:
• La mémoire centrale (MC) représente l’espace de travail de l’ordinateur (
calculateur ).
• C’est l’organe principal de rangement des informations utilisées par le
processeur.
• Dans une machine (ordinateur / calculateur) pour exécuter un programme il
faut le charger ( copier ) dans la mémoire centrale .
• Le temps d’accès à la mémoire centrale et sa capacité sont deux éléments
qui influent sur le temps d’exécution d’un programme ( performance
d’une machine ).
37
38
• La mémoire centrale est réalisé a base de semi-conducteurs.
• La mémoire centrale est une mémoire vive : accès en lecture et écriture.
• La mémoire centrale est dite à accès aléatoire (RAM : Random Acces Memory) c'est-à-dire
que le temps d'accès à l'information est indépendant de sa place en mémoire.
• La mémoire centrale est volatile : la conservation de son contenu nécessite la permanence
de son alimentation électrique.
• Un temps d’accès à une mémoire centrale est moyen mais plus rapide que les mémoires
magnétiques .
• La capacité d’une mémoire centrale est limitée mais il y a toujours une possibilité d’une
extension.
• Pour la communication avec les autres organes de l’ordinateur, la mémoire centrale utilise
les bus ( bus d’adresses et bus de données)
39
Il existent deux grandes familles des mémoires centrales : les mémoires
40
La mémoire centrale peut être vu comme un large vecteur ( tableau ) de mots
ou octets.
Une adresse est un numéro unique qui permet d’accéder à un mot mémoire.
41
42
•RAM (Registre d’adresse Mémoire ) : ce registre stock l’adresse du mot à lire ou
a écrire .
•RIM ( Registre d’information mémoire ) : stock l’information lu à partir de la
mémoire ou l’information à écrire dans la mémoire.
•Décodeur : permet de sélectionner un mot mémoire. Si le décodeur comporte N
entrée alors il admet 2N sortie
•R/W : commande de lecture/écriture , cette commande permet de lire ou d’écrire
dans la mémoire ( si R/W=1 alors lecture sinon écriture )
•Bus d’adresses de taille k bits
•Bus de données de taille n bits
43
•Lorsque une adresse est chargée dans le registre RAM , le décodeur va recevoir
la même information que celle du RAM.
•A la sortie du décodeur nous allons avoir une seule sortie qui est active Cette
sortie va nous permettre de sélectionner un seule mot mémoire
44
Si on applique aux entrées de décodeur la valeur 2, (10) 2 alors la troisième
sortie de décodeur est sélectionnée.
Avec 2 fils, le décodeur peut sélectionner 4 adresses différentes (00, 01, 10, 11),
puisque A0 et A1 ne peuvent prendre que 2 valeurs (0 ou 1).
Avec 2 fils 2*2 = 22 soit 4 valeurs (ou adresses) différentes ;
Avec 3 fils 2*2*2= 23 soit 8 valeurs (ou adresses) différentes ;
Avec N fils 2N valeurs (ou adresses) différentes.
45
Pour lire une information en mémoire centrale il faut effectuer les opérations
suivantes:
46
Chaque processeur possède un certain nombre limité d’instructions qu’il
peut exécuter. Ces instructions s’appelles jeu d’instructions.
-Instruction d’affectation
47
I/ Format de l’instruction:
l’instruction est composé de deux champs:
- Code Opération : représente l’instruction que le processeur doit
accomplir.
- Code des Opérandes: définissent les paramètres de l’action. Un opérande
peut s’agir d’une données ou bien d’une adresse mémoire.
48
I/ Format de l’instruction: (suite)
Exemple:
Instruction à 3 opérandes : il faut précisé le premier opérande et
l’emplacement du résultat.
CA + B
49
I/ Format de l’instruction: (suite)
Exemple:
Instruction à 2 opérandes : il faut précisé le premier opérande et le
deuxième opérande. le résultat est implicitement mis dans le deuxième
opérande.
BA + B
50
I/ Format de l’instruction: (suite)
Exemple:
Instruction à un opérande : il faut précisé uniquement le deuxième
opérande. Le premier opérande existe dans le registre accumulateur. Le résultat
est mis dans le registre accumulateur
Exemple: ADD B
ACC ACC + B
- Les modes d’adressage le plus utilisés sont : immédiat, direct, indirect, indexé et
relatif.
52
I/ Mode d’adressage:
a- Adressage immédiat
- La valeur de l’opérande existe dans le champ opérande de
l’instruction
- Exemple:
- ADD 150
53
I/ Mode d’adressage:
a- Adressage direct
- Le champs opérande contient l’adresse de l’opérande
(emplacement en mémoire)
Adresse absolue
56
I/ Mode d’adressage:
a- Adressage Relatif
- L’adresse effectif de l’opérande est relatif à une zone mémoire.
L’adresse de cette zone se trouve dans une zone spéciale appelé registre
de base.
- Ce mode d’adressage est utilisée pour les instructions de branchement.
Adresse absolue
57
Phase 1 : Rechercher (ou charger) l’instruction à traiter
58
I/ Phase 1 : Charger l’instruction à traiter
1- Mettre le contenu du CO dans le registre RAM: RAM CO
2- Commande de lecture à partir de mémoire
3- transfert de contenu du RIM dans le registre RI : RI RIM
59
I/ Phase 2 : Décoder l’instruction chargée
1- Le code de l’opération : la nature de l’opération à effectuer (addition,
soustraction, …) et le nombre de mot de l’instruction.
2- A la base du code de l’instruction le séquenceur élabore une suite de
commande élémentaires.
60
I/ Phase 3 : Chargée l’opérande
1- Si l’instruction nécessite une donnée qui se trouve en mémoire, le
séquenceur émet les commandes pour récupérer cette donnée.
UAL RIM
ACC ACC +100
61
I/ Phase 4 : Exécuter l’instruction
Les bits d’état sont positionnés : S = 0, Z = 0, ….
62
I/ Phase 5 : Passer à l’instruction suivante
Le compteur Ordinal (CO) est mis à jour avec l’adresse de l’instruction
suivante.
63
Déroulement de l’instruction d’addition en mode direct
ADD ADR
Phase 1: Charger l’instruction
RAM CO
Lecture
RI RIM
Phase 2: Décoder l’instruction
Phase 3: Charger l’opérande
RAM ADR
Lecture
RD RIM
Phase 4: Exécuter l’instruction
ACC ACC +RD
Phase 5: Passer à l’instruction suivante
CO CO + 1
64
Déroulement de l’instruction d’addition en mode immédiat
ADD Valeur
Phase 1: Charger l’instruction
RAM CO
Lecture
RI RIM
Phase 2: Décoder l’instruction
Phase 4: Exécuter l’instruction
RD valeur
ACC ACC +RD
Phase 5: Passer à l’instruction suivante
CO CO + 1
65
Déroulement de l’instruction d’addition en mode indirect
ADD ADR
Phase 1: Charger l’instruction
RAM CO
Lecture
RI RIM
Phase 2: Décoder l’instruction
Phase 3: Charger l’opérande
RAM ADR
Lecture
RAM RIM
Lecture
RD RIM Phase 4: Exécuter l’instruction
ACC ACC +RD