Vous êtes sur la page 1sur 49

PARTIE 2

ARCHITECTURE
DES
ORDINATEURS
1
PARTIE 1
1 COMPOSANTS
DU
µPROCESSEUR
2 MEMOIRES

3 ARCHITECTU
RE
COMPLETE
4 INTERRUPTIO
N
PARTIE 2
5 DMA

6 PIPELINE

7 MEMOIRE
CACHES

8 EXAMENS
GESTION DES
ENTRÉES
SORTIES
TROIS METHODES DE GESTION DES
ENTRÉES -SORTIES

 L’attente active ou la scrutation (spolling)


 Les entrées-sorties pilotées par les interruptions
 L’utilisation d’un dispositif permettant des accès directs
à la mémoire, DMA

5
LA SCRUTATION OU SPOLLING

Vérification répétitive de l'état d'un ou


plusieurs éléments d'un système pour y
détecter un changement.

6
INTERRUPTION

Rôle d’une interruption: Consiste à interrompre temporairement le


programme actuel pour exécuter un autre qui est urgent.

Il existe deux types:


Interruption Masquable : On peut l’ignorer .
Exemple : Brancher une USB .
Interruption Non Masquable : C’est urgent , on ne peut pas l’ignorer .
Exemple : Sortir d’une boucle infini.

7
Quelques Notions:

Pour gérer les interruptions le contrôleur d'interruption se charge de ça .

LE PIC (Contrôleur Programmable d’Interruptions)

 Établir des priorités entre les différentes sources .


 Décharger le CPU de la détermination de la source d'une
interruption, quand celle-ci se présente .

LE VECTEUR DES INTERRUPTIONS

C’est une table dans la mémoire centrale qui fait la correspondance


entre les numéros des interruptions et les sous-programmes qui leur
convient
8
GÉRER LES INTERRUPTIONS
Si le PIC reçoit une acceptation il
:
Le MicroProc accepte s’il envoie lui envoie le code d’interruption
qu’il a reçu sur ses bornes IRQ Une interruption arrive sur une de
un 0 dans cette borne « INTA »
sinon refuse s’il envoie 1 ces lignes qu’on appelle IRQ, la
première IRQ0 possède la plus
grande priorité et ainsi de suite

-Le microprocesseur va recevoir


le numéro d’interruption.
-Il va sauvegarder dakchi li taydir
daba. Après que le PIC (le contrôleur
-Il va chercher dans la mémoire des interruptions) reçoit une
centrale la fonction interruption il prévient le
correspondante au numéro qu’il a Microprocesseur par la borne
reçu puis il va l’exécuter. « INT » 9
GÉRER LES INTERRUPTIONS
:

– INTR (Interrupt Request) : Utilisée pour indiquer au processeur l’arrivée d’une interruption
masquable.
– NMI (No Masquable Interrupt) : Utilisée pour envoyer au processeur une interruption non
masquable,
– INTA (Interrupt acknowledge) : indique que le microprocesseur accepte l’interruption.
10
QUESTIONS
D’EXAMENS?
Examen 2016-2017: 1- Comment les interruptions peuvent jouer un rôle dans la
gestion des périphériques?
2- Comment le système gère la priorité des interruptions?
3- Quelles sont les étapes suivies pour la prise en charge d’une interruption?

Réponse:
Tout est dans les slides. Lfou9e, Lfou9e, Lfou9e.
2- Le contrôleur d’interruption (PIC) possède plusieurs « lignes d’interruptions » ,
chacune est affecté d’un niveau de priorité. Un périphérique émettant un signal
dans la ligne la plus prioritaire aura l’avantage de s’exécuter en premier.

11
DMA
DMA : DIRECT MEMORY ADRESS

C’est quoi : Il s’agit d’un transfert direct entre un périphérique


et la mémoire centrale via un contrôleur.

Son Rôle : C’est un transfert sans intervention du


microprocesseur, c’est-à-dire le microprocesseur peut faire
d’autre travail plus intéressants que de transférer des données.

DMAC : C’est le périphérique qui se charge d’effectuer ce


transfert.

13
LE CONTRÔLEUR DMA
Le driver (par exemple du Disque
Dur) spécifie combien d’octet on
va transférer dans ce registre. Bismilah radi nbdaw n transferew
daba.

Cette adresse nous indique où on


va commencer le transfert de nos
-Après avoir transférer notre données dans la mémoire.
premier octet, on va
décrémenter le compteur de 1
-Puis on va incrémenter
l’adresse de 1 pour qu’elle
pointe sur la case mémoire
suivante

On envoie notre premier


octet.
14
Comment le DMA gère les transferts

• Le driver du périphérique est informé que le transfert de données à


la mémoire tampon commencera à l’adresse X.
• Le driver de périphérique ordonne au contrôleur de ce périphérique
de transférer la quantité C octet du périphérique à cette adresse.
• Le contrôleur de périphérique initialise ce transfert .
• Le transfert part dans le registre donnée de DAMC.
• DMAC transfert les octets de son registre données dans la mémoire
tampon, en incrémentant l’adresse à chaque transfert,
• Le registre compteur contient la quantité d’octet à transférer . Il
décrémente à chaque octet transféré.

15
Comment le DMA gère les transferts

16
Mode d’opération de la DMA

Le bus de données peut être utilisé que par un seul périphérique c’est
pourquoi on utilise l’un de ces méthodes de partage de bus.

Rafale (Burst) : Le contrôleur DMA (DMAC) conserve le bus de


données jusqu’à la fin du transfert.
Vol de cycle (Cycle Stealing) : Le DMAC et le processeur se partagent
le bus alternativement.
Transparent : Le processeur conserve le bus de données jusqu’à ce qu’il
finit.

17
QUESTIONS
D’EXAMENS?
Examen 2016-2017: 1- Donner une petite explications de la notion DMA ?
2-Quel est le rôle du contrôleur du DMA?
3-Décrire les étapes suivis lors de l’écriture du « Disque Dur » au « Mémoire
Centrale » par DMA. Expliquer par un schéma.
4- Quelles sont les différents modes d’échanges de la DMA.

Réponses: Koulchi f les slides.

18
PIPELINE
PIPELINE
SANS Pipeline

AVEC Pipeline

20
PIPELINE

C’est quoi: c’est un technique qui permet au processeur d’exécuter


une nouvelle instruction sans attendre que la précédente soit
terminée.

Avantage du pipeline:
• Meilleure utilisation des différentes unités
• Gagner en performances, en exécutant les instructions
parallèlement.
Inconvénient du pipeline
• Plus d'énergie
• Les problèmes de dépendances (houma li radi ndirou lt7ta)
21
PIPELINE PROBLEME 1
Dépendances structurelles
Il arrive que dans certains cas bien précis, plusieurs étages du pipeline aient besoin
d’accéder à la même ressource matérielle. Cette ressource peut être la mémoire, un registre,
une unité de calcul, ou tout autre chose encore.

L’instruction 1 et 4 veulent utiliser


la mémoire en même instant, ce
qui est impossible. PROBLEME!!!

Solutions:

• Attendre que l’unité soit disponible


en retardant l’exécution : peu
efficace.
• Dupliquer la ressource matérielle

22
PIPELINE PROBLEME 2

Dépendances de données
Il arrive que dans certains cas bien précis, une instruction essaie de lire une
données qui n’est pas encore prête. Prenons l’exemple suivant:

Exemple:
Les deux instructions suivantes vont être exécuter en parallèle selon le principe du
pipeline. Le problème c’est que l’instruction 2 va faire une opération sur le registre 1
qui n’est pas encore opérer par l’instruction 1.

ADD R1,R2,R3 //Cette instruction va mettre la somme de R3 avec R2


dans R1

SUB R4,R1,R3 //Cette instruction va mettre la soustraction du registre


R1 avec R3 dans R4
23
PIPELINE PROBLEME 2
Dépendances de données : Solutions

• Arrêter le calcul de R4 tant que R1 n’est pas connu


• Changer l’ordre d’exécution des instructions :
réordonnancement (réalisé soit à la compilation, soit par le
processeur à la volée)

24
PIPELINE PROBLEME 3

Dépendances de contrôle
Il arrive dans les cas où il y a une condition à vérifier. Dans ce cas les instructions
après la vérification de la condition ne doivent pas être exécuté que si la
condition est vérifié. Prenons l’exemple suivant/

Exemple :

if (a==3){ Instruction 1
chi 7aja1; Instruction 2
chi 7aja2; Instruction 3
}
Le pipeline va exécuter les instructions 1, 2, 3 sans vérifier la
condition de if, ce qu’il ne faut pas faire.
25
PIPELINE PROBLEME 3
Dépendances de contrôle : Solutions

• Dupliquer l’architecture pour traiter les deux cas du


branchement (condition vérifié ou non)
• Attendre l’instruction qu’elle conclue.

26
QUESTIONS
D’EXAMENS?
Examen 2018-2019: Présenter le principe du pipeline dans le traitement des
instructions. Donner un exemple.

Réponse: Les deux premiers slides de cette partie.

27
Améliorer le pipeline

Architecture superscalaire
Cette astuce consiste à augmenter le nombre d'unités de
traitement afin de traiter plusieurs instructions par cycle.

28
Améliorer le pipeline

VLIW: Very Large Instruction Word


Le séquencement et l'ordonancement des opérations sont réalisés
par le compilateur.

• Le compilateur est responsable de présenter au matériel des


instructions exécutables en parallèle
• Contrôle des dépendances de données et de contrôle par le
compilateur
• Solution pratique aux problèmes de dépendances dans les
superscalaires.

29
QUESTIONS
D’EXAMENS?
Examen 2016-2017 Rat: Quelle est la différence entre la technique
« Superscalaire » et la technique « VLIW ».

Réponse:
Les deux sont des solutions pour dépasser les limites(problèmes) du pipeline.
Mais la différence c’est que VLIW est réalisé par le compilateur alors que la
Superscalaire réalisé par le matériel.

30
MEMOIRES
CACHES
MEMOIRES CACHES

A QUOI SERT ????


Sert à stocker des instructions et des données provenant de la mémoire centrale,
afin de diminuer le temps d’un accès ultérieur.

32
MEMOIRES CACHES

Principe de localité
Les programmes possèdent deux caractéristiques intéressantes :

• localité spatiale : Ils tendent à utiliser les instructions et les données qui sont situées dans la
zone mémoire proche des données et instructions accédées récemment.

• localité temporelle : Ils tendent à réutiliser les données et instructions utilisées dans le
passé.

Cette instruction, va être utiliser La fonction for à tendance d’utiliser


fréquemment donc on va la mettre l’instruction suivante, donc on va
en mémoire cache, pour éviter à les mettre tous les deux dans la
chaque fois d’aller à la mémoire mémoire caches. C’est la localité
centrale. C’est la localité spatiale
temporelle.
33
MEMOIRES CACHES

HIT LECTURE MISS LECTURE

34
MEMOIRES CACHES

HIT ECRITURE MISS ECRITURE

Lorsque le mot est présent dans le cache il est modifié dans le bloc du cache et modifié aussi dans la
MÉMOIRE CENTRALE 35
QUESTIONS
D’EXAMENS?
Examen 2016-2017:
- Expliquer le fonctionnement de la mémoire cache.
- Expliquer le principe de localité spatiale et temporelle.

Réponse:

36
MEMOIRES CACHES
Fonction de correspondance

Pour écrire ou lire une donnée depuis la mémoire cache il nous


faut une technique, il y a trois différents types de mémoires
caches. Donc chacune utilise une technique pour accéder à la
donnée. Ces techniques dont ce qu’on appellent fonction de
correspondance.

Il existe trois types :

• Les mémoires caches directes .


• Les mémoires caches complètement associatives .
• Les mémoires caches N-associatives .
37
MEMOIRES CACHES
Structure

38
CACHES DIRECTES

Ce block contient 16 BLOCK 0


case mémoires

BLOCK 1

BLOCK 2

,,,,
Cette ligne contient un block
,,,,

BLOCK N

BLOCK N+1

BLOCK N+2

Mémoire Cache Mémoire Centrale

39
QUESTIONS
D’EXAMENS?
Lasse9e:

Taille de Mémoire Centrale => On déduit la taille de l’adresse physique


Taille de bloc => On déduit la taille de l’offset
Taille de cache => On déduit la taille de l’indice

40
QUESTIONS
D’EXAMENS?
Examen 2018-2019:
Soit une mémoire centrale de 64 words avec une taille de bloc 4 words, et une
mémoire cache à accès direct de 16 words.
1- Quel est le nombre de blocs dans la mémoire principale et le nombre de ligne
dans le cache?
2- Donner la décomposition de l’adresse physique/mémoire cache .
Réponse:
Hbet lt7ta

41
QUESTIONS
D’EXAMENS?
Réponse:
1- Le nombre de bloc dans le mémoire:
Puisque la taille de la mémoire centrale est de 64 words et que chaque bloc
contient 4 words donc: 64/4 = 16. Donc 16 blocs.
- Le nombre de ligne dans le cache:
Puisque chaque ligne de la mémoire cache contient un seul bloc (car c’est le cache
directe) 1 bloc = 4 words. La taille du cache est 16 words:
Donc 16/4 = 4. Donc 4 lignes.

42
QUESTIONS
D’EXAMENS?
Réponse:

2- La mémoire centrale est composé de 64 cases mémoire. Pour adresser ce


nombre de case il nous faut une adresse de 6 bits car 64 = 2^6.
Chaque ligne de la mémoire cache est composé de 4 words, on peut les adresser
avec 2 bits car 4 = 2^2.
La mémoire cache se compose de 4 lignes on peut les adreser avec 2 bits car 4 =
2^2.
La taille de l’étiquette = reste de bits.

43
QUESTIONS
D’EXAMENS?
Examen 2018-2019:

44
QUESTIONS
D’EXAMENS?
Examen 2018-2019:

Indiquer en justifiant
votre réponse si les
mémoires suivantes 9-
39-43-53 sont en HIT
ou en MISS

45
CACHES ASSOCIATIF
Ce type utilise seulement des étiquettes

46
CACHES K-ASSOCIATIF
Ce type est identique au cache directe, mais peut contenir plus de block dans une seule
ligne

02FF 980A

47
QUESTIONS
D’EXAMENS?
Examen 2015-2016:
1- Quelles sont les techniques de correspondances dans les mémoires caches?
2- Donner les particularités de chacune de ses techniques.
3- Montrer par un schéma et pour chaque technique l’organisation de la
correspondance cache-mémoire principale ?

Réponse:
1- Voir les premiers slides.
3- Dessinez les tableaux li kaynin f les slides.
48
QUESTIONS
D’EXAMENS?
Réponse 2015-2016:
Cache Directe :
Des bits dans l’adresse physique sont utilisés pour sélectionner la ligne et d’autres pour sélectionner
l’offset. Il suffit ensuite de comparer l’étiquette de la ligne correspondante avec une partie de l’adresse
physique (l’étiquette de cette adresse).
Cache Associatif :
Les lignes du cache sont indexées par des étiquettes, alors pour trouver ce qu’on cherche il faut
comparer ligne par ligne les étiquettes.
Cache N-Associatif :
Dans ce type, chaque ligne se compose de plusieurs blocs et chaque bloc est identifié par une étiquette
(donc plusieurs étiquettes dans une seule lignes).
Des bits sélectionnent une ligne et d’autre l’offset dans le cache. Ensuite il suffit de comparer les
étiquettes contenues dans cette ligne avec une partie de l’adresse physique (l’étiquette de cette
adresse).

49

Vous aimerez peut-être aussi