Download - Chap4 - Buses
-
8/17/2019 Chap4 - Buses
1/39
Michaël Mrissa Les Bus 1
Les bus d'interconnexion
Organisation des bus dans un ordinateur
-
8/17/2019 Chap4 - Buses
2/39
Michaël Mrissa Les Bus 2
Définition et aspect physique
● Qu'est-ce qu'un bus ?
● Un moyen de communication entre composants
● Métaphore : routes (autoroutes →périphérique chemin)→
●
Aspect physique● Une nappe de fils électriques● Généralement gravés dans la carte mère (backplane)● Relie les éléments de l'ordinateur par des connecteurs (slots)● Connecté aux coupleurs d'I/O, au CPU, à la MC● Parcouru par des impulsions électriques (signal binaire)● Accès multiples par les connecteurs besoin d'arbitrage→
-
8/17/2019 Chap4 - Buses
3/39
Michaël Mrissa Les Bus 3
Aspect temporel
● Fonctionnement synchrone
● Rythmé par son horloge : un mouvement par cycle
● Requiert la même vitesse pour les éléments connectés au bus
● Fréquence de fonctionnement
– F = nombre de cycles par seconde (en Hertz)
● Débit théorique max (appelé aussi bande passante)
– D = largeur de bus * fréquence – En général, le débit moyen (ou réel) est 2 à 6 fois plus faible que le débit
max théorique car l'utilisation n'est jamais pleinement optimisée (idemoccupation des secteurs d'un disque dur)
-
8/17/2019 Chap4 - Buses
4/39
Michaël Mrissa Les Bus 4
Aspect temporel
● Fonctionnement asynchrone
● Pas d'horloge sur le bus, rythmé par le signal – détection des variations de signal sur le fil
–
Envoi d'informations de contrôle nécessaire – Début, fin d'émission, ACK, handshake
– Ressemble à un protocole réseau
● Pour mesurer le débit d'un tel bus –
Voir les horloges internes aux composants connectés – La moins rapide est la plus significative
● Objectif : créer une synchronisation dirigée par les données entrema î tre et esclave sur le bus
-
8/17/2019 Chap4 - Buses
5/39
Michaël Mrissa Les Bus 5
Aspect logique
● Espace d'adressage
● Notion de largeur de bus => nombre de fils
● 1 fil = bus série, plusieurs fils = bus parallèle● Quantité d'information, système binaire (Shannon)
– Q = log2(1/p(x)) bits = log
2(1/(1/nb-valeurs-possibles))
– Q = log2(2nombre-de-fils) = nombre-de-fils bits
● Découpage de l'espace d'adressage du bus(cf Mem*/IO sur architecture Intel)
-
8/17/2019 Chap4 - Buses
6/39
Michaël Mrissa Les Bus 6
Aspect logique
● Transaction
● désigne un échange entre 2 éléments connectés au bus, prend généralement plusieurscycles
● Multiplexage
● Partage du temps d'utilisation
● Exemple : Écriture mémoire sur 2 cycles – 1 cycle pour écrire l'adresse, 1 cycle pour les données
● Spécialisation des bus● moins de multiplexage = gain de temps, mais coût de fabrication augmenté (plus de
connecteurs, protocoles d'échange complexes, taille des cartes)● En fonction de données : bus d'adresses, bus de données, bus de commandes
● Plusieurs éléments connectés sur un même bus→ besoin d'arbitrage
-
8/17/2019 Chap4 - Buses
7/39
Michaël Mrissa Les Bus 7
Arbitrage de bus
● Un seul ma î tre sur le bus à un moment donné● Celui qui émet des données (master)● Les autres reçoivent les données (slave)● Transaction en diffusion possible (broadcast)
–
Ex : mise à jour des caches sur le bus● Mécanismes d'arbitrages
● Pour désigner le prochain ma î tre – Signaux utilisés : Bus Request, Bus Grant, Bus Busy
● De type statique
–
Daisy Chain, mixte● De type dynamique
– Centralisé, mixte, décentralisé
– Besoin d'une stratégie : linéaire, circulaire, cyclique, multiple
– Fonction du niveau de priorité et de l'ancienneté de la demande de bus
« One ring to rule them all,
one ring to find them,
One ring to bring them all
and in the darkness bind them. »
J.R.R. Tolkien
-
8/17/2019 Chap4 - Buses
8/39
Michaël Mrissa Les Bus 8
Arbitrage de bus
● Les mécanismes
● Daisy Chain : dé jà vu !● Avantages : simple, indépendant nombre modules● Inconvénients : priorité statique (position), lenteur réponse (longueur guirlande), intolérance aux pannes (module)
● Centralisé● Avantages : pas de délai, tolérance aux pannes, priorité non statique (à programmer)
● Inconvénients : beaucoup de « câbles »
● Mixte
● Organisation centralisée de séries de modules en daisy chain, Bus Grant donné à une série, puis daisy chain
● Dé
centralisé
● Lignes de bus pour donner la priorité en cours, un arbitre par module – L'arbitre local compare la priorité de son module à celle en cours sur le bus
● Avantages : pratique pour les multi-CPU, priorité dynamique● Inconvénients : sensible aux pannes
-
8/17/2019 Chap4 - Buses
9/39
Michaël Mrissa Les Bus 9
Stratégies d'arbitrage
● Linéaire● Affectation d'un numéro de priorité à chaque demandeur
● Simple, mais risque de famine pour le demandeur le moins prioritaire
● Circulaire (cf round-robin)
● Il faut conna î tre le dernier ma î tre
● Pas de famine
● Cyclique
● Le plus anciennement servi est le plus prioritaire
● Il faut conna î tre les dernières « dates » de service
● Multiple
● On combine les stratégies ci-dessus
1 2 3 4
1 2
34
-
8/17/2019 Chap4 - Buses
10/39
Michaël Mrissa Les Bus 10
Les bus spécialisés
● Bus « processeur »
● Lien entre CPU, Cache L2, MC, AGP (ou PCIe), et PCI
● Reliés via le chipset (ou contrôleur) « northbridge »● FSB (Frontside, CPU vers chipset), BSB (Backside, CPU vers caches)
● Plus récents : HyperTransport (AMD), QPI (Intel)
● Bus « locaux »
● ISA, PCI, PCI-X, VLB, AGP, PCI-Express (PCIe), PCIe 2.0
●
Bus « I/O »● Autour du « southbridge » lié au « norhtbridge » via PCI (anciennement) ou DMI
(Direct Media Interface, plus récent)● RS-232, LPT, IDE, ATA, Ultra-DMA, PATA, SATA, SCSI, USB, Firewire
« Qu'importe que nous empruntions
des itin é raires diff é rents pourvu que
nous arrivions au m ê me but. »
Ghandi
-
8/17/2019 Chap4 - Buses
11/39
Michaël Mrissa Les Bus 11Source:wikipedia(désolé) :-)
-
8/17/2019 Chap4 - Buses
12/39
Michaël Mrissa Les Bus 12
Architecture de bus Intel X58
Source : intel.com
-
8/17/2019 Chap4 - Buses
13/39
Michaël Mrissa Les Bus 13
Source : intel.com
-
8/17/2019 Chap4 - Buses
14/39
Michaël Mrissa Les Bus 14
Architecture de bus AMD 750
Source : AMD.com
-
8/17/2019 Chap4 - Buses
15/39
Michaël Mrissa Les Bus 15
Architecture de bus AMD 890FX
Source : AMD
-
8/17/2019 Chap4 - Buses
16/39
Michaël Mrissa Les Bus 16
Le bus PCI
● Peripheral Component Interconnect (1992)
● Parallèle sur 32 bits, multiplexé @/données – Envoi @ puis envoi(s) données (mode rafale possible)
● Synchrone à 33 Mhz, débit max théorique 126 Mo/s – En 1995 : PCI 2.1 à 66 Mhz, possible en 64 bits
● Indépendance totale du CPU, arbitrage centralisé
● Mémoire tampon dédiée, architecture plug'n'play● Évolution vers PCI-X, abandonné au profit de PCI Express
-
8/17/2019 Chap4 - Buses
17/39
Michaël Mrissa Les Bus 17
Le bus PCI Express
● Principe de communication
● série, point à point, symétrique, hot-plug, asynchrone
● Notion de lien (link)
● Un lien est un couple de lignes (1 ligne = 1 paire de câbles)
●
Chaque ligne est dans une direction (Dual simplex != full duplex)● Nombre de lignes = multiplicateur du lien (x1 x2 x4 x8...)
● Signal différentiel (moins de parasites, idem hifi câbles symétriques)
● Codage des données● Dans une trame (UK : frame), ou paquet
● en 8b/10b (8bits sur 10 bits) structure [start-databyte-end]
● Vitesse de transfert
● Signal à 2,5Gbit/s par ligne par direction
● Exercice : Calculez la bande passante agrégée d'une ligne PCI Express x8
x1
-
8/17/2019 Chap4 - Buses
18/39
Michaël Mrissa Les Bus 18
Le bus PCI Express
● Calculez la bande passante agrégée d'une ligne PCIExpress x8
● 2,5 Gbits /s x 2 (directions)
● x8 (nombre de lignes)
● /10 (10 bits par octet, pour l'encodage)
● Résultat = 4Go /s
● Attention ! Dans un sens, on « reste » à 2Go/s
-
8/17/2019 Chap4 - Buses
19/39
Michaël Mrissa Les Bus 19
Le bus PCI Express
● Modèle en couches pour l'évolutivité
Source : PCI Express
system architecture
Addison Wesley
-
8/17/2019 Chap4 - Buses
20/39
Michaël Mrissa Les Bus 20
Le bus PCI Express
Source : PCI Express
system architectureAddison Wesle
-
8/17/2019 Chap4 - Buses
21/39
Michaël Mrissa Les Bus 21
Le bus PCI Express
Source : PCI Express
system architecture
Addison Wesley
-
8/17/2019 Chap4 - Buses
22/39
Michaël Mrissa Les Bus 22
Le bus PCI Express
Source : PCI Express
system architecture
Addison Wesley
-
8/17/2019 Chap4 - Buses
23/39
Michaël Mrissa Les Bus 23
Le bus USB
● Universal Serial Bus
● V. 1 (1995), v. 2.0 (2000), et v. 3.0 (2008)
● Bus série, multiplexé, maxi 127 périphériques, tous sur le même bus (adresse 7 bits)débit partagé
● Hot plug, plug'n'play, connecteur standard 4 broches● Codage NRZi (non retour à zéro inversé)
● USB 1.0 : min 1,5 Mbits/s - max 12Mbits/s (1,5 Mo/s)
● USB 2.0 : max 480 Mbits/s (60 Mo/s)
– car le voltage dans les cables passe de 3,3 à 0,4 volts● USB 3.0 : max 5 Gbits/s (625 Mo/s)
– Connecteurs électriques et optiques
● http://www.usb.org/developers/docs/
http://www.usb.org/developers/docs/http://www.usb.org/developers/docs/
-
8/17/2019 Chap4 - Buses
24/39
Michaël Mrissa Les Bus 24
Le bus USB
● Ressemble à un réseau (hub USB)● Dialogue « simultané » des périphériques sur le bus
– Paquet de type data, token, ack, special
● Notion de transaction de 1 à 3 paquets→● Toute transaction commence par un token
– Indique les caractéristiques de la transaction (sens, type) et adresse de destination (périphérique connecté)
● Identificateur de paquet (PID) pour chaque token:
– IN lecture périphérique
– OUT écriture périphérique
– SOF Start of frame
–
SETUP indique qu'un paquet de commandes suit ne peut être ignoré→
● Notion de sous-adresse (endpoint) permettant d'interagir avec une partie de périphérique seulement
● En fin de trame : code CRC
-
8/17/2019 Chap4 - Buses
25/39
Michaël Mrissa Les Bus 25
Le bus USB
● Transmission de trames
● De type isochrone ou asynchrone
– Isochrone
● garantie débit
● Réservation d'un espace-temps cyclique● Priorité par rapport aux paquets asynchrones● Pour la VoIP, vidéo, etc
● Modèle d'interaction « réseau » (ACK, token)● Trames synchrones prioritaires sur les asynchrones
● Modes d'interaction
● Selon le périphérique : polling ou INT – Souris à 60Hz (CPU à 3Ghz) ou Disque dur
-
8/17/2019 Chap4 - Buses
26/39
Michaël Mrissa Les Bus 26
Le bus USB
Source : USB Explained
Prentice Hall
-
8/17/2019 Chap4 - Buses
27/39
Michaël Mrissa Les Bus 27
Interro surprise
● Quelle bande passante est nécessaire sur le bus relié à votre carte graphique pour visualiser sans ralentissement
un film HD sur votre bel écran plat ?
● Hint : la réponse est en Mo/s
● Pour les rapides
● Pourquoi le PCI Express convient ?
● Et pour une résolution de 2 560 × 1 440 ??
-
8/17/2019 Chap4 - Buses
28/39
Michaël Mrissa Les Bus 28
Petits calculs
● Un pixel en « true colors » = 24 bits
● Un écran en Full HD = 1920 * 1080
● Frame rate acceptable = 60 Hz
● 24*1920*1080*60 = 2 985 984 000 b/s
● ~ 356 Mo/s
●
Sachant que le débit réel est (au moins) 2 fois plus faible quele débit max théorique
● Débit max requis > 700 Mo/s
●
-
8/17/2019 Chap4 - Buses
29/39
Michaël Mrissa Les Bus 29
Conclusion
● Différents types de bus● Les « artères » ou « veines » du PC● Les caractéristiques changent selon les besoins●
Construits sur plusieurs niveaux (physique système d'exploitation)→● Encore des compromis
● Parallèle/série, sync/async/isoc, Qos etc ?
● Limitations importantes de performances
● Même si les composants sont individuellement performants en terme devitesse
-
8/17/2019 Chap4 - Buses
30/39
Michaël Mrissa Les Bus 30
BACKUP
-
8/17/2019 Chap4 - Buses
31/39
Michaël Mrissa Les Bus
Le bus PCI
Présentation générale
-
8/17/2019 Chap4 - Buses
32/39
Michaël Mrissa Les Bus
Bus PCI, principe, historique
-
8/17/2019 Chap4 - Buses
33/39
Michaël Mrissa Les Bus
Bus PCI, signaux (sens pour initiateur)
bus carte• AD[31:0] • C/BE#[3:0] --->• PAR • FRAME# • TRDY# --->
• IRDY# • STOP# • DEVSEL# --->• LOCK# • REQ#
• CLK --->• RST# --->• PERR# • SERR# --->
bus carte• AD[63:32] • C/BE[7:4] --->• PAR64 • REQ64# • ACK64# --->
• CLKRUN# • PME# • TDI --->• TDO
• TMS --->• TRST# --->• INT#[A:D]
-
8/17/2019 Chap4 - Buses
34/39
Michaël Mrissa Les Bus
Bus PCI, arbitrage
• L'arbitre de bus (chipset) reçoit toutes les requêtes (REQ#) etsélectionne un ma î tre en validant durant une périoded'horloge son signal GRANT#
• L'arbitrage se fait durant un cycle d'échange (arbitragecaché), il sera valide à la fin du cycle en cours
• La politique d'arbitrage dépend de l'arbitre (chipset)
-
8/17/2019 Chap4 - Buses
35/39
Michaël Mrissa Les Bus
Bus PCI, commandes
• Lecture E/S
• Ecriture E/S
• Lecture mémoire•
Ecriture mémoire• Ecriture mémoire multiple• Lecture configuration
• Ecriture configuration
• Acquittement interruption
• Ecriture mémoire etinvalidation
•
Lecture ligne mémoire• Cycle spécial• Cycle d'adresse double
-
8/17/2019 Chap4 - Buses
36/39
Michaël Mrissa Les Bus
Bus PCI, chronogramme
-
8/17/2019 Chap4 - Buses
37/39
Michaël Mrissa Les Bus
Bus PCI, les interruptions
• Chaque connecteur PCI dispose de 4 interruptionsmatérielles, INTA# à INTD#
• Un gestionnaire d'interruption affecte les interruptions
A à D au interruptions libres du processeur (0-15 dansle cas du PC)• Les interruptions peuvent être partagées•
Le fonctionnement dépend du gestionnaire (chipset)et de la configuration P. & P.
B PCI fi ti
-
8/17/2019 Chap4 - Buses
38/39
Michaël Mrissa Les Bus
• Les registres de configurationprincipaux définissent le fabricant etle modèle de la carte
• D'autres registres de configuration
définissent les possibilités etcaractéristiques
• Les plug & play définit les adresses
de base de la carte
Bus PCI, configuration
-
8/17/2019 Chap4 - Buses
39/39
Michaël Mrissa Les Bus
Bus PCI, gestion des erreurs
• PERR# définit une erreur de parité qui invalide latransaction en cours
• SERR# définit une erreur grave mettant en cause
l'intégrité du système qui est alors réinitialisé• STOP# permet d'arrêter une transaction en cours