Vous êtes sur la page 1sur 66

 Le Processeur

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.

2- Registre d'instruction « RI »: contenant l'instruction en cours d’exécution.

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.

4- Décodeur: identifie l’instruction à exécuter qui se trouve dans le registre


RI, puis d’indiquer au séquenceur la nature de cette instruction afin que ce
dernier puisse déterminer la séquence des actions à réaliser.

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

- Les données et les instructions sont séparés.

- Rapide mais plus lente que les registres.

2- Mémoire cache L2 (niveau 2):


Mémoire Cache L2
 Temporaire de taille plus élevé que
L1 (de 256 Ko à 1024 Ko) et plus lente
UAL FPU
que L1 (instruction)
Cache L1

(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

Unité d’entrée sortie


Le processeur
16
- Plusieurs ALU dans le même Mémoire Cache L2
processeur
- Plusieurs FPU dans le même UAL FPU

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

Mémoire Cache L2 Mémoire Cache L2

UAL FPU UAL FPU


Cache L1 (instruction)

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

Unité d’entrée sortie

18
 Mémoire Cache L3: même rôle que mémoire cache L2

permet le transfert de données entre les deux cœurs

 Unité de contrôle pour les différents cœurs

19
 Le Fréquence de fonctionnement

 Le nombre d’instruction par cycle IPC

 Le parallélisme (nombre de cœur)

 La Finesse de gravure

 Nombre et capacité des Mémoires cache .

20
 Un ensemble de fils

 Assure la transmission des informations binaires entre les

éléments de l’ordinateur.

 Il y a plusieurs bus spécialisés en fonction des types de

périphériques concernés et de la nature des informations

transportées : adresses, commandes ou données.

21
 La largeur : désigne le nombre de bits qu’un bus
peut transmettre simultanément.

1 fil transmet un bit, 1bus à n fils = bus n bits

La vitesse : est le nombre de paquets de données


envoyés ou reçus par seconde. On parle de cycle pour
désigner chaque envoi ou réception de données

Cycle mémoire (s)=1 / fréquenc

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.

-Bus d’adresse: c’est un bus unidirectionnel, il permet la sélection des


informations à traiter dans un espace mémoire (ou espace adressable) selon la
demande du processeur pour lire ou écrire une donnée.

-Bus de contrôle: c’est un bidirectionnel, Il transporte les signaux de


contrôle (lecture ou écriture mémoire, opération d’entrées/ sorties, …), dont les
éléments sont disponibles sur les bus donnés ou adresses.

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

II/ Hiérarchie des mémoires:

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

Capacité = 2n Mots mémoire = 2n * m Bits

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

Nombre de mots = 2nombre de lignes d’adresses

- Le nombre de fils de données définit la taille des données que l’on peut
sauvegarder dans chaque case mémoire.

Taille du mot (en bits) = nombre lignes de données

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,

- Est l'intervalle de temps entre la demande de lecture/écriture (en mémoire)


et la disponibilité sur le bus de donnée

 Le temps d’accès est un critère important pour déterminer les


performances d’une mémoire ainsi que les performances d’une machine

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

statiques (SRAM) et les mémoires dynamiques (DRAM).

– Les mémoires statiques sont à base de bascules de type D , elles


possèdent un faible taux d’intégration mais un temps d’accès rapide (
Utilisation pour les mémoires cache ).
– Les mémoires dynamiques à base de condensateurs , ces mémoires
possèdent un très grand taux d’intégration, elle sont plus simples que les
mémoires statiques mais avec un temps d’accès plus long

40
 La mémoire centrale peut être vu comme un large vecteur ( tableau ) de mots
ou octets.

 Un mot mémoire stocke une information sur n bits.

 Un mot mémoire contient plusieurs cellules mémoire.

 Une cellule mémoire stock 1 seul bit .

 Chaque mot possède sa propre adresse.

 Une adresse est un numéro unique qui permet d’accéder à un mot mémoire.

 Les adresses sont séquentielles ( consécutives )

 La taille de l’adresse ( le nombre de bits ) dépend de la capacité de la 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.

Décodeur à 2 entrées (4 sortie)

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:

– Charger dans le registre RAM l’adresse du mot à lire.

– Lancer la commande de lecture ( R/W=1)

– L’information est disponible dans le registre RIM au bout d’un certain


temps ( temps d’accès)

 Pour écrire une information en MC il faut effectuer les opérations suivantes:

– Charger dans le RAM l’adresse du mot ou se fera l’écriture.

– Placer dans le RIM l’information à écrire.

– Lancer la commande d’écriture pour transférer le contenu du RIM dans


la mémoire

46
 Chaque processeur possède un certain nombre limité d’instructions qu’il
peut exécuter. Ces instructions s’appelles jeu d’instructions.

 Le jeu d’instruction décrit l’ensemble des opérations élémentaires que le


processeur peut exécuter.

 Les instructions peuvent être classifiées en 4 catégories:

-Instruction d’affectation

- Instructions arithmétiques et logiques (ET, OU, ADD, …)

- Instructions de branchement (Conditionnelle et inconditionnelle)

- Instructions d’entrées sorties.

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.

- La taille d’une instruction dépend du type d’une instruction et du type de


l’opérande.
- Les instructions et leur opérandes sont stocké dans la 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.

Exemple: ADD A,B,C

CA + B

 La taille de l’instruction est grand  pratiquement il n’existe pas


d’instruction de ce type.

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.

Exemple: ADD A,B

BA + 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

 Ce type d’instruction est le plus utilisé.


51
I/ Mode d’adressage:

- Définie la manière dont le processeur va accéder à l’opérande.


- Le code opération comporte un ensemble de bit pour indiquer le mode
d’adressage.

- 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

- Cette commande va avoir l’effet suivant: ACC ACC + 150

- Si le registre Accumulateur contient la valeur 200 alors après l’exécution son


contenu devient égale à 350 .

53
I/ Mode d’adressage:
a- Adressage direct
- Le champs opérande contient l’adresse de l’opérande
(emplacement en mémoire)

- Pour réaliser l’opération , il faut récupérer (lire) l’information à partir de la


mémoire.
- Exemple: ADD 150
- Cette commande va avoir l’effet suivant: ADD 150
ACC ACC + (150)
ACC  ACC + 30
- Si le registre Accumulateur contient la valeur 200 30 150

alors après l’exécution son contenu devient égale à 230 .


54
I/ Mode d’adressage:
a- Adressage indirect
- Le champs opérande contient l’adresse de l’adresse de l’opérande

- Pour réaliser l’opération , il faut d’abord récupérer l’adresse de l’opérande à partir


de la mémoire, ensuite, chercher l’opérande à partir de la mémoire.
- Exemple: ADD 150
- Cette commande va avoir l’effet suivant:
ACC ACC + ((150)) ADD 150

ACC  ACC + (255)


150 255
ACC  ACC + 40
- Si le registre Accumulateur contient la valeur 200 40 255
alors après l’exécution son contenu devient égale à 240 .
55
I/ Mode d’adressage:
a- Adressage indexé
- on obtient l’adresse effective en ajoutant à la partie adresse de
l’instruction le contenu d’un registre appelé registre d’index.
- Adresse opérande = ADR + R_indexe

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 opérande = ADR + R_base

Adresse absolue

57
 Phase 1 : Rechercher (ou charger) l’instruction à traiter

 Phase 2 : Décoder l’instruction chargée

 Phase 3: Rechercher (ou charger) l’opérande

 Phase 4: Exécuter l’instruction

 Phase 5: Passer à l’instruction suivante

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

Phase 5: Passer à l’instruction suivante


CO  CO + 1
66

Vous aimerez peut-être aussi