1
1
11
Mécanismes de Mécanismes de
communicationcommunication
22
Mécanismes de communicationsMécanismes de communications
DéfinitionsDéfinitions
Système autour d’un busSystème autour d’un bus
CrossCross--BarBar
Réseaux DynamiquesRéseaux Dynamiques
Réseaux statiquesRéseaux statiques
Mécanismes de routageMécanismes de routage
33
Réseaux d'interconnexionRéseaux d'interconnexion
Unité primordiale dans les machines Unité primordiale dans les machines
parallèlesparallèles
Le réseau permet de relier les Le réseau permet de relier les
processeurs à la mémoire ou les processeurs à la mémoire ou les
processeurs entre eux.processeurs entre eux.
44
DynamicitéDynamicité
Les réseaux sont soit:Les réseaux sont soit:
StatiquesStatiques: les liaisons entre les : les liaisons entre les
composants sont établies une fois pour composants sont établies une fois pour
toute.toute.
DynamiquesDynamiques: Les liaisons peuvent : Les liaisons peuvent
changer dans le temps. On utilise souvent changer dans le temps. On utilise souvent
dans ce cas un algorithme de routage.dans ce cas un algorithme de routage.
55
SynchronisationSynchronisation
Le fonctionnement de ce réseau estLe fonctionnement de ce réseau est
SynchroneSynchrone: Une horloge globale rythme : Une horloge globale rythme
alors les échanges d'information (SIMD).alors les échanges d'information (SIMD).
AsynchroneAsynchrone: Chaque noeud possède alors : Chaque noeud possède alors
son propre référentiel de temps (MIMD).son propre référentiel de temps (MIMD).
66
AccessibilitéAccessibilité
Le type de communication est variable:Le type de communication est variable:
CompletComplet: Tous les points du réseaux : Tous les points du réseaux
peuvent être reliés à chaque top d'horloge. peuvent être reliés à chaque top d'horloge.
(avec une éventuelle réorganisation des (avec une éventuelle réorganisation des
connexions existantes)connexions existantes)
IncompletIncomplet: Seuls certains noeuds sont : Seuls certains noeuds sont
accessibles depuis chaque noeud du accessibles depuis chaque noeud du
réseau. (on doit traverser le réseau réseau. (on doit traverser le réseau
plusieurs fois dans certains cas)plusieurs fois dans certains cas)
2
2
77
FonctionnalitéFonctionnalité
Le réseau établi une liaison entre un Le réseau établi une liaison entre un
port d'entré et un port de sortie. port d'entré et un port de sortie.
Il permet ainsi un échange Il permet ainsi un échange
d'informations entre ces ports.d'informations entre ces ports.
88
Systèmes monoSystèmes mono--BusBus
99
Bus Interconnection SchemeBus Interconnection Scheme
1010
Extension naturelle du Extension naturelle du
système mémoiresystème mémoire
P1Switch
Main memory
Pn
(Interleaved)
(Interleaved)
First-level $
P1
$
Interconnection network
$
Pn
Mem Mem
Shared Cache
Centralized Memory
Dance Hall, UMA
Scale
1111
Connexion par monoConnexion par mono--BUSBUS
Par extension du modèle de Von Par extension du modèle de Von
Neumann, on peut simplement Neumann, on peut simplement
réaliser un multiréaliser un multi--processeur en processeur en
connectant plusieurs CPU sur un connectant plusieurs CPU sur un
bus.bus.
Cet organe de communication est Cet organe de communication est
alors partagé dans le temps pour alors partagé dans le temps pour
réaliser les transfert réaliser les transfert
soit mémoire => CPU soit mémoire => CPU
soit CPU => CPU. soit CPU => CPU. 1212
SMPSMP
Domination du marché du serveurDomination du marché du serveur
Des gros systèmes aux stations de travailDes gros systèmes aux stations de travail
Accès uniforme via loads/storesAccès uniforme via loads/stores
Mouvement des data automatique, cohérence Mouvement des data automatique, cohérence
des cachesdes caches
Bon marché Bon marché
Mécanismes d’accès identique au monoMécanismes d’accès identique au mono--
processeur processeur
I/O devices
Mem
P
1
$$
P
n
Bus
3
3
1313
FonctionnementFonctionnement
Le bus ne pouvant assurer qu'1 seul Le bus ne pouvant assurer qu'1 seul
transfert à 1 instant donné, il convient de transfert à 1 instant donné, il convient de
placer un arbitre sur le bus pour attribuer le placer un arbitre sur le bus pour attribuer le
bus entre plusieurs demandeurs.bus entre plusieurs demandeurs.
L'arbitrage des requêtes de Bus (BR:Bus L'arbitrage des requêtes de Bus (BR:Bus
Request) sélectionne un CPU et lui donne le Request) sélectionne un CPU et lui donne le
bus (BG:Bus Grant)bus (BG:Bus Grant)
Le CPU qui possède le BUS est appelé le Le CPU qui possède le BUS est appelé le
maître du BUS .maître du BUS .
1414
Bus TimeBus Time--sharedshared
Bus
Bus
Bus
Request
Bus Grant
Bus Masters
...
1515
EfficacitéEfficacité
Il y a augmentation de la vitesse du Il y a augmentation de la vitesse du
système si et seulement si la somme système si et seulement si la somme
des transferts égale le débit du BUSdes transferts égale le débit du BUS
Exemple:Exemple:
1 CPU utilisant 50% de son temps le 1 CPU utilisant 50% de son temps le
BUS =>Maxi de 2 CPU sur le même BUS =>Maxi de 2 CPU sur le me
BUS BUS
(Rôle des moires caches)(Rôle des moires caches)
1616
TimingTiming
CoCo--ordination des événements sur le busordination des événements sur le bus
SynchroneSynchrone
Événements déterminé par les signaux de Événements détermipar les signaux de
l’horlogel’horloge
Control Bus inclus des lignes de Control Bus inclus des lignes de clockclock
Front montant 1Front montant 1--0 comme bus cycle0 comme bus cycle
Tous les composants peuvent lire Tous les composants peuvent lire clockclock
1717
Synchronous Timing DiagramSynchronous Timing Diagram
1818
Communication AsynchroneCommunication Asynchrone
2 signaux pour le transfert de contrôle de 2 signaux pour le transfert de contrôle de
Bus BR et BGBus BR et BG
Les transactions sont Les transactions sont synchronessynchrones ( temps ( temps
de transaction connu à l'avance) ou de transaction connu à l'avance) ou
asynchronesasynchrones (temps inconnu)(temps inconnu)
Maître
demandeur Maître
courant
Bus Request
Bus Grant
4
4
1919
Asynchronous Timing Asynchronous Timing – Read Read
DiagramDiagram
2020
Asynchronous Timing Asynchronous Timing – Write Write
DiagramDiagram
2121
Sur 2 signauxSur 2 signaux
Mécanisme de "HandMécanisme de "Hand--shaking"shaking"
1:Demande de Bus par BR (demandeur 1:Demande de Bus par BR (demandeur
du bus)(actif état 0)du bus)(actif état 0)
2:Libération du Bus par BG (maître du 2:Libération du Bus par BG (maître du
bus)bus)
3:Désactivation du BR3:Désactivation du BR
4:Désactivation du BG4:Désactivation du BGBR
BG
2222
Un 3ième signalUn 3ième signal
On utilise souvent un 3On utilise souvent un 3èmeème Signal BB: Signal BB:
BusBus--Busy => Etat du Bus. Busy => Etat du Bus.
Maître
demandeur Maître
courant
Bus Request
Bus Grant
Bus Busy
2323
Sur 3 signauxSur 3 signaux
Le signal BG devient alors un signal de Le signal BG devient alors un signal de
prise en compte du BR par le demandeur prise en compte du BR par le demandeur
mais le bus n'est libre que lorsque BB est mais le bus n'est libre que lorsque BB est
inactif.inactif.
BR
BG
BB Géré par maître courant Géré par
nouveau maître
Depuis le demandeur
Depuis le maître courant
2424
Requêtes multiplesRequêtes multiples
Le maître reçoit plusieurs requêtes de Le maître reçoit plusieurs requêtes de
différents CPU. Lequel choisir ??différents CPU. Lequel choisir ??
On introduit une notion de On introduit une notion de prioritépriorité --
statique ou dynamique statique ou dynamique -- qui permet qui permet
d'arbitrer entre les demandeurs.d'arbitrer entre les demandeurs.
5
5
2525
ArbitrageArbitrage
Méthodes d'arbitrage sontMéthodes d'arbitrage sont
ParallèlesParallèles: Les BR et BG entrent et : Les BR et BG entrent et
sortent en même temps de l'arbitresortent en même temps de l'arbitre
SériesSéries: Un signal est véhiculé d'un : Un signal est véhiculé d'un
maître à l'autre jusqu'à obtention du maître à l'autre jusqu'à obtention du
maître le plus prioritaire demandeur du maître le plus prioritaire demandeur du
bus (daisy chaining)bus (daisy chaining)
CentraliséesCentralisées: Un système unique de : Un système unique de
résolution.résolution.
DécentraliséesDécentralisées: réparti sur les CPU: réparti sur les CPU
2626
Priorité parallèle CentraliséePriorité parallèle Centralisée
BG1
BG2
BGn
BR1 BR2 BRn
.....
B. Busy
A
R
B
I
T
R
E
2727
Priorité Parallèle Centralisée(2)Priorité Parallèle Centralisée(2)
Chaque CPU peut générer un BR vers Chaque CPU peut générer un BR vers
l'arbitre.l'arbitre.
Lorsque l'un est choisi par l'arbitre, un Lorsque l'un est choisi par l'arbitre, un
unique BG est envoyé vers l'élu.unique BG est envoyé vers l'élu.
BB permet de libérer le bus en fin de BB permet de libérer le bus en fin de
transfert transfert
Un processeur peut utiliser le bus Un processeur peut utiliser le bus
quand il a reçu un BG et que le bus est quand il a reçu un BG et que le bus est
libre. Il maintient le signal BR.libre. Il maintient le signal BR. 2828
Gestion de l'arbitrageGestion de l'arbitrage
Une demande plus prioritaire est prise Une demande plus prioritaire est prise
en compte par l'arbitre: par en compte par l'arbitre: par
désactivation du BG courant et désactivation du BG courant et
activation du nouveau BG. activation du nouveau BG.
Le maître courant du bus observe la Le maître courant du bus observe la
désactivation de son BG, il peut donc désactivation de son BG, il peut donc
libérer le bus en fin de communication. libérer le bus en fin de communication.
On évite ainsi l'interruption due à une On évite ainsi l'interruption due à une
requête d'un CPU plus prioritaire.requête d'un CPU plus prioritaire.
2929
Un exempleUn exemple
Priorité statique : (8 CPU). Priorité statique : (8 CPU).
Ordre : 0 1 2 3 4 5 6 7Ordre : 0 1 2 3 4 5 6 7
L'arbitre devient le circuit suivant:L'arbitre devient le circuit suivant:
3030
REQ7
REQ6
REQ5
REQ4
REQ3
REQ2
REQ1
REQ0
Grant 7
Grant 6
Grant 5
Grant 4
Grant 3
Grant 2
Grant 1
Grant 0
1 / 23 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !