architectures matérielles
DESCRIPTION
Architectures Matérielles. N. Hameurlain http://www.univ-pau.fr/~hameur CNAM 1999/2000. Plan. Architecture Séquentielle Architecture Parallèle Motivation Modèles Multiprocesseurs Multicalculateurs. U nité de T raitement. U nité de Contrôle. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Architectures Matérielles](https://reader035.vdocuments.site/reader035/viewer/2022081502/56816039550346895dcf5a1a/html5/thumbnails/1.jpg)
1
Architectures Matérielles
N. Hameurlainhttp://www.univ-pau.fr/~hameur
CNAM 1999/2000
![Page 2: Architectures Matérielles](https://reader035.vdocuments.site/reader035/viewer/2022081502/56816039550346895dcf5a1a/html5/thumbnails/2.jpg)
2
Plan
• Architecture Séquentielle• Architecture Parallèle
– Motivation– Modèles
• Multiprocesseurs• Multicalculateurs
![Page 3: Architectures Matérielles](https://reader035.vdocuments.site/reader035/viewer/2022081502/56816039550346895dcf5a1a/html5/thumbnails/3.jpg)
3
Architecture séquentielle: "de von Neuman"
Ordres
Processeur
InstructionsDonnées
Mémoire
Unité de Contrôle
Unité de Traitement
Données
![Page 4: Architectures Matérielles](https://reader035.vdocuments.site/reader035/viewer/2022081502/56816039550346895dcf5a1a/html5/thumbnails/4.jpg)
4
Architectures parallèles: Motivation
• Les besoins des applications en puissance de traitement;
• Les limites de l'approche microprocesseur;
• L'existence de la propriété du parallélisme dans les applications.
![Page 5: Architectures Matérielles](https://reader035.vdocuments.site/reader035/viewer/2022081502/56816039550346895dcf5a1a/html5/thumbnails/5.jpg)
5
Les besoins des applications en puissance de traitement
• La latence du traitement: temps nécessaire pour l'exécution d'un traitement;
• le débit du traitement : nombre de traitement exécutable par unité de temps.
![Page 6: Architectures Matérielles](https://reader035.vdocuments.site/reader035/viewer/2022081502/56816039550346895dcf5a1a/html5/thumbnails/6.jpg)
6
Les limites de l'approche microprocesseur(1)
• Les machines séquentielles (un seul processeur) sont construites autour des microprocesseurs (standardisés).
• L'inadéquation du format de données, et des opérations des microprocesseurs aux caractéristiques de certaines applications (traitement d'images, analyse numériques, ...)
![Page 7: Architectures Matérielles](https://reader035.vdocuments.site/reader035/viewer/2022081502/56816039550346895dcf5a1a/html5/thumbnails/7.jpg)
7
Les limites de l'approche microprocesseur(2)
• les limites de l'exécution séquentielle découlent donc des limites des microprocesseurs:– capacités d'accès à la mémoire,– performance,– tolérance aux pannes, etc...
![Page 8: Architectures Matérielles](https://reader035.vdocuments.site/reader035/viewer/2022081502/56816039550346895dcf5a1a/html5/thumbnails/8.jpg)
8
La limite de capacités d'accès à la mémoire (résolution)
• Multiplier les bancs mémoire;
• Rajouter des mécanismes matériels d'extension d'adressage.
![Page 9: Architectures Matérielles](https://reader035.vdocuments.site/reader035/viewer/2022081502/56816039550346895dcf5a1a/html5/thumbnails/9.jpg)
9
La limite de performance
• Ne peut être résolue par un microprocesseur même si l'évolution des performances des microprocesseurs suit une courbe exponentielle dans le temps depuis 1985.
![Page 10: Architectures Matérielles](https://reader035.vdocuments.site/reader035/viewer/2022081502/56816039550346895dcf5a1a/html5/thumbnails/10.jpg)
10
L'existence de la propriété du parallélisme dans les applications
• Parallélisme de données: – la même opérations est réalisée par plusieurs
processeurs sur des données différentes: exemple : addition de deux matrices;
• Parallélisme de contrôle: – des opérations différentes sont réalisées
simultanément.– indépendance /dépendance du flot (architecture
pipeline: dupliquer les unités de traitements).
![Page 11: Architectures Matérielles](https://reader035.vdocuments.site/reader035/viewer/2022081502/56816039550346895dcf5a1a/html5/thumbnails/11.jpg)
11
Architectures parallèles : organisation
• Construites à partir des ressources qui composent les architectures séquentielles: UT, UC, mémoire, entrée/sortie (disque, réseau, etc);
• Durant l'exécution, toutes les unités échangent des informations à travers une ressource supplémentaire: le réseau de communication interne.
![Page 12: Architectures Matérielles](https://reader035.vdocuments.site/reader035/viewer/2022081502/56816039550346895dcf5a1a/html5/thumbnails/12.jpg)
12
Architectures parallèles : classification (1)
• La machine a t-elle un ou plusieurs flux de données (Single Data stream ou Multiple Data stream) [Flynn 69];
• La machine a t-elle un ou plusieurs flux d'instructions (Single Instruction stream ou ou Multiple Instruction stream);
![Page 13: Architectures Matérielles](https://reader035.vdocuments.site/reader035/viewer/2022081502/56816039550346895dcf5a1a/html5/thumbnails/13.jpg)
13
Architectures parallèles : classification (2)
1 flux d'instructions >1 flux d'instructions
1 flux de données Séquentielle MISD (Pipeline)> 1 flux de données SIMD MIMD
![Page 14: Architectures Matérielles](https://reader035.vdocuments.site/reader035/viewer/2022081502/56816039550346895dcf5a1a/html5/thumbnails/14.jpg)
14
Le Modèle Vectoriel MISD : principe
• Conserve la même structure, mais les UT et les UC sont découpés en étages;
• Un seul flux de données reçoit plusieurs traitement simultanément;
• Il ne s'agit pas de machines multiprocesseurs, mais le parallélisme se situe au niveau plus bas (au sein même du processeur)
![Page 15: Architectures Matérielles](https://reader035.vdocuments.site/reader035/viewer/2022081502/56816039550346895dcf5a1a/html5/thumbnails/15.jpg)
15
Le Modèle Vectoriel MISD: Architecture fonctionnelle
Processeur
Mémoire
OrdresUC1
UC nÉtage n UT
Étage 1 UT
InstructionsDonnées
Données
![Page 16: Architectures Matérielles](https://reader035.vdocuments.site/reader035/viewer/2022081502/56816039550346895dcf5a1a/html5/thumbnails/16.jpg)
16
Le Modèle Vectoriel MISD: Exemple
x=0;Tant que la scène est filmée faire
Ix=F();Jx=N(Ix); // filtrageKx=C(Jx); //compression d ’imageS(Kx); //stocker l’imagex=x+1;
fin faire
![Page 17: Architectures Matérielles](https://reader035.vdocuments.site/reader035/viewer/2022081502/56816039550346895dcf5a1a/html5/thumbnails/17.jpg)
17
Le Modèle SIMD: principe• Seules les UT sont dupliquées;• Une seule UC gère le séquencement du
programme pour plusieurs UT;• Toutes les UT fonctionnent en synchronisme et
reçoivent les mêmes instructions en même temps;
• La même opération est appliquée à plusieurs données simultanément, puisque chaque UT calcule sur un flux de données différent.
![Page 18: Architectures Matérielles](https://reader035.vdocuments.site/reader035/viewer/2022081502/56816039550346895dcf5a1a/html5/thumbnails/18.jpg)
18
Le Modèle SIMD:Architecture fonctionnelle
Mémoire
UCUTn UT1
Ordres
Données InstructionsDonnées
![Page 19: Architectures Matérielles](https://reader035.vdocuments.site/reader035/viewer/2022081502/56816039550346895dcf5a1a/html5/thumbnails/19.jpg)
19
Fonctionnement d’une machine SIMD: Exemple
Parfor i:=0, 3 //for parallèle Y[i]=Y[i]+T[i] ;Endpar for
Y[0] Y[1] Y[2]T[0] T[1] T[2] ADD Y, Y, T
Y[0] Y[1] Y[2]UT1 UT2 UT3 Mémoire du
programmeY=Y+T
![Page 20: Architectures Matérielles](https://reader035.vdocuments.site/reader035/viewer/2022081502/56816039550346895dcf5a1a/html5/thumbnails/20.jpg)
20
Le Modèle MIMD:principe
• L'architecture du processeur du modèle séquentiel est dupliquée;
• Chaque processeur est libre d'exécuter des instructions qui lui sont propres sur un flux de données qui lui est propre;
• Permet d'exécuter un programme différent sur tous les processeurs;
![Page 21: Architectures Matérielles](https://reader035.vdocuments.site/reader035/viewer/2022081502/56816039550346895dcf5a1a/html5/thumbnails/21.jpg)
21
Le Modèle MIMD:Architecture Fonctionnelle
MémoireDonnées
UT UCUT UC
Instructions DonnéesDonnées Instructions
Processeur1ProcesseurN
![Page 22: Architectures Matérielles](https://reader035.vdocuments.site/reader035/viewer/2022081502/56816039550346895dcf5a1a/html5/thumbnails/22.jpg)
22
Le Modèle MIMD: classification
Multiprocesseurs(mémoire partagée)
MIMD
Multicalculateurs(mémoire privée)
Bus Bus (LAN) commutateurcommutateur
Fortement couplés Faiblement couplés
![Page 23: Architectures Matérielles](https://reader035.vdocuments.site/reader035/viewer/2022081502/56816039550346895dcf5a1a/html5/thumbnails/23.jpg)
23
Multiprocesseurs/ Multicalculateurs
P PP
Réseau
M M M
Mémoire partagée
M M M
Réseau
P P P
Mémoire privée
![Page 24: Architectures Matérielles](https://reader035.vdocuments.site/reader035/viewer/2022081502/56816039550346895dcf5a1a/html5/thumbnails/24.jpg)
24
Multiprocesseurs à mémoire partagée : principe
• Les (N) processeurs accèdent à la même mémoire partagée qui doit se comporter comme une mémoire à N ports.
• La mémoire partagée est construite à partir de plusieurs composants mémoire;
• un réseau d'interconnexion relie les composants mémoire et les processeurs;
![Page 25: Architectures Matérielles](https://reader035.vdocuments.site/reader035/viewer/2022081502/56816039550346895dcf5a1a/html5/thumbnails/25.jpg)
25
Multiprocesseurs à mémoire partagée : problèmes
• Un problème de type structurel: la latence des accès mémoire;
• Un problème de type fonctionnel: c'est la coordination des accès à une variable partagée
![Page 26: Architectures Matérielles](https://reader035.vdocuments.site/reader035/viewer/2022081502/56816039550346895dcf5a1a/html5/thumbnails/26.jpg)
26
Multiprocesseurs à Bus : principe
• Un certains nombre d'UC sont connectés à un bus;
• La lecture (ou l'écriture) se fait en mettant l'adresse du mot mémoire sur le bus et en déclenchant le signal approprié (Lecture ou Ecriture);
![Page 27: Architectures Matérielles](https://reader035.vdocuments.site/reader035/viewer/2022081502/56816039550346895dcf5a1a/html5/thumbnails/27.jpg)
27
Multiprocesseurs à Bus : caractéristique
• Simplicité de réalisation;
• Mécanisme de diffusion;
• Accès séquentiel: un seul processeur à la fois peut accéder au bus, et donc à la mémoire.
![Page 28: Architectures Matérielles](https://reader035.vdocuments.site/reader035/viewer/2022081502/56816039550346895dcf5a1a/html5/thumbnails/28.jpg)
28
Multiprocesseurs à Bus : limites et solutions
• Limite: surcharge du bus dès qu'on atteint 4 ou 5 UC;
• Solution: ajouter une mémoire cache entre l'UC et le Bus:– le cache conserve les mots mémoire auxquels on
a récemment fait accès.– tous les accès mémoire passent par le cache;
![Page 29: Architectures Matérielles](https://reader035.vdocuments.site/reader035/viewer/2022081502/56816039550346895dcf5a1a/html5/thumbnails/29.jpg)
29
Cache mémoire des Architectures Multiprocesseurs: principe
• Si le mot mémoire demandé existe dans le cache, le cache répond à l'UC; et aucune demande de bus n'est faite;
• Si le mot mémoire demandé n’existe pas, le bus fait une demande à la mémoire;
• On atteint des taux de succès de plus de 90%, si le cache est assez grand (64 KO à 1 Mo),
![Page 30: Architectures Matérielles](https://reader035.vdocuments.site/reader035/viewer/2022081502/56816039550346895dcf5a1a/html5/thumbnails/30.jpg)
30
Problème de cohérence de cache mémoire
• Deux UC A et B disposent d'un cache;• Tant que A et B effectuent des références en
lecture, ce sont les caches qui renvoient la donnée.
• Si A (par exemple) modifie la donnée:– c'est sa copie dans son cache qui sera modifiée.– La donnée en mémoire et la copie dans le cache
de l'autre processeur ne sont plus cohérentes avec la copie modifiée.
![Page 31: Architectures Matérielles](https://reader035.vdocuments.site/reader035/viewer/2022081502/56816039550346895dcf5a1a/html5/thumbnails/31.jpg)
31
Maintien de Cohérence de cache mémoire
• Technique par invalidation des copies blocs:– l’écriture sera précédée par l ’invalidation des
copies blocs, dans lesquels la donnée réside, présents dans les caches des autres processeurs.
• Technique par diffusion des copies blocs:– le contrôleur de cache du processeur qui modifie
la variable met à jour la mémoire et les copies dans le cache des autres processeurs.
![Page 32: Architectures Matérielles](https://reader035.vdocuments.site/reader035/viewer/2022081502/56816039550346895dcf5a1a/html5/thumbnails/32.jpg)
32
Multiprocesseurs à commutateurs : principe
• Construire 1 Multiprocesseur comportant plus de 64 Processeurs;
• Diviser la mémoire en Modules que l ’on relie aux processeurs (N):– CROSSBAR switch: Matrice de commutateurs
(NxN noeuds de commutateurs);– OMEGA: basé sur les commutateurs 2x2
(Log2(N) commutateurs/étages).
![Page 33: Architectures Matérielles](https://reader035.vdocuments.site/reader035/viewer/2022081502/56816039550346895dcf5a1a/html5/thumbnails/33.jpg)
33
Multiprocesseurs à commutateurs : Exemples
CROSSBARMémoires
Proc
esse
urs
Nœud de commutation
Mém
oires
OMEGA
Commutateur 2x2
Proc
esse
urs
![Page 34: Architectures Matérielles](https://reader035.vdocuments.site/reader035/viewer/2022081502/56816039550346895dcf5a1a/html5/thumbnails/34.jpg)
34
Multiprocesseurs à commutateurs:caractéristiques
• Matrices de commutateurs sont très chères;• Les grands réseaux OMEGA sont à la fois
lents et chers :– Si N=1024, il y a 10 étages de commutateurs à
franchir;– Lecture ou écriture: multiplier par deux le temps
de franchir le réseau;
![Page 35: Architectures Matérielles](https://reader035.vdocuments.site/reader035/viewer/2022081502/56816039550346895dcf5a1a/html5/thumbnails/35.jpg)
35
Mémoire partagée : Problème de synchronisation
• Exemple:Do i=1,n
Parfor j:=2, n-1A[j]:=A[j]+A[j-1]+A[j+1]/3EndPar for
EndDo
• Solution: barrière de synchronisation entre EndPar et EndDo.
![Page 36: Architectures Matérielles](https://reader035.vdocuments.site/reader035/viewer/2022081502/56816039550346895dcf5a1a/html5/thumbnails/36.jpg)
36
Barrière de synchronisation:Réalisation
• A partir d ’une variable partagée initialisée au nombre de processeurs à synchroniser;
• chaque processus qui atteint cette barrière:– décrémente cette variable (protégée). – se met en attente active sur cette variable;
• Lorsque la variable atteint 0, tous les processus se libèrent de l’attente active.
![Page 37: Architectures Matérielles](https://reader035.vdocuments.site/reader035/viewer/2022081502/56816039550346895dcf5a1a/html5/thumbnails/37.jpg)
37
Exclusion Mutuelle (1)
• Exemple: Producteur ConsommateurIf compt <= N If compt > 0Tampon[tete]=item; item=Tampon[queue];tete=(tete+1) mod N; queue=(queue+1) mod
N;compt = compt+1; compt = compt -1endif endif
![Page 38: Architectures Matérielles](https://reader035.vdocuments.site/reader035/viewer/2022081502/56816039550346895dcf5a1a/html5/thumbnails/38.jpg)
38
Exclusion Mutuelle (2)
• ‘ compt <= N ’ et ‘ compt > 0 ’ peuvent être vérifiées simultanément;
• La lecture donne la même valeur par contre seulement l'une des deux écritures en mémoire sera prise en compte:
• La valeur de compt sera incohérente avec l'état du tampon pour le Prod ou le Cons .
![Page 39: Architectures Matérielles](https://reader035.vdocuments.site/reader035/viewer/2022081502/56816039550346895dcf5a1a/html5/thumbnails/39.jpg)
39
Exclusion Mutuelle: réalisation
• Matérielles:– Masquage d'interruptions;– Instruction indivisible de consultation et de
modification d'un mot mémoire: Test and Set (TAS)
• Logicielles:– Attente active (Dekker, Dijkstra, ..);– Sémaphores, Moniteur, ...
![Page 40: Architectures Matérielles](https://reader035.vdocuments.site/reader035/viewer/2022081502/56816039550346895dcf5a1a/html5/thumbnails/40.jpg)
40
Multicaculateurs à mémoire privée: principe
• Chaque UC est directement reliée à sa propre mémoire locale.
• un réseau d'interconnexion gère les échanges entre UC.
• Contrairement aux Multiprocesseurs, le délai de transmission d'un message est long et le débit de transmission est faible.
![Page 41: Architectures Matérielles](https://reader035.vdocuments.site/reader035/viewer/2022081502/56816039550346895dcf5a1a/html5/thumbnails/41.jpg)
41
Multicalculateurs à bus: principe/caractéristique
• La topologie est identique à celle d'un multiprocesseurs à bus;
• Les calculateurs peuvent être des stations de travail, reliées par un réseau Local d'entreprise (LAN);
• Le trafic est moins important que dans les Multiprocesseurs à bus (10 à100 Mbit/s au lieu de 300 Mbit/s et plus).
![Page 42: Architectures Matérielles](https://reader035.vdocuments.site/reader035/viewer/2022081502/56816039550346895dcf5a1a/html5/thumbnails/42.jpg)
42
Multicalculateurs commutés : Exemples
• Treillis: – implanté sur des cartes de circuits imprimés;– adapté aux problèmes par nature bidimensionnels
(théorie des graphes, traitement d ’image)• Hypercube: cube à n dimensions:
– chaque sommet représente une UC, – chaque arête représente une liaison entre deux UC;– chaque UC possède n liaisons avec les autres UC.– Adapté à l’implémentation de plusieurs Algo. (Tri,
permutation, etc…).