+ All Categories
Home > Documents > Chap4 - Buses

Chap4 - Buses

Date post: 06-Jul-2018
Category:
Upload: maissa-zini
View: 235 times
Download: 0 times
Share this document with a friend

of 39

Transcript
  • 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


Recommended