Chap4 - Buses

  • View
    213

  • Download
    0

Embed Size (px)

Text of 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 (idem occupation 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 entre ma î 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 = log 2 (1/p(x)) bits = log

    2 (1/(1/nb-valeurs-possibles))

     – Q = log 2 (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 plusieurs cycles

    ● 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 PCI Express x8

    ● 2,5 Gbits /s x 2 (directions)

    ● x8 (nombre de lignes)

    ●  /10 (10 bits par octet, pour l'encodage)

    ● Résultat = 4Go /s