1 / 45

Gestion des Périphériques

Gestion des Périphériques. Année 2006 - 2007 (Transparents de F. Dromard). Bus PCI. Peripheral Component Interconnect Spécifié en 1992 par Intel et d’autres industriels Révision 2.0 en avril 1993 Révision 2.1 au début 1995 Révision 2.2 en décembre 1998 Bus fond de panier

una
Download Presentation

Gestion des Périphériques

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Gestion des Périphériques Année 2006 - 2007 (Transparents de F. Dromard) Master ACSI

  2. Bus PCI Peripheral Component Interconnect • Spécifié en 1992 par Intelet d’autres industriels • Révision 2.0 en avril 1993 • Révision 2.1 au début 1995 • Révision 2.2 en décembre 1998 • Bus fond de panier • Indépendant du processeur utilisé • Performances intéressantes • Configuration par logiciel Master ACSI

  3. Bus PCI Caractéristiques générales • Multiplexé adresse / donnée • Mode rafale • Largeur 32 ou 64 bits • Synchrone à 33 MHz ou 66 MHz • Débit crête : 132, 264, 528 Mo/s • Bus multimaître • Moins de 50 signaux pour 32 bits • Contrôleur complexe Master ACSI

  4. mémoire Bus PCI Exemple de configuration processeur Bus ISA Bus PCI 1 cache Pont pci/ISA Pont pci/pci Pont hôte Bus PCI 0 Adaptateur SCSI Contrôleur disques Contrôleur vidéo Contrôleur réseau écran D1 D2 Bus SCSI Master ACSI

  5. Bus PCI Introduction au fonctionnement du bus PCI • Permet à deux agents de communiquer • Un maître avec une cible • Arbitrage centralisé • En parallèle avec les transferts • Chaque agent peut avoir la fonction de : • Maître seulement • Maître et Cible • Cible seulement Master ACSI

  6. Bus PCI Introduction au fonctionnement du bus PCI • Echanges en rafales : • Une phase d’adressage • Une à N phases de données • Bus synchrone • Signaux valides sur front montant de l’horloge • Bus sans terminaisons • Fonctionne par réflexion Master ACSI

  7. Bus PCI Déroulement d’une transaction • Demande du bus par un agent • Bus accordé par l’arbitre • Dès que le bus est libre, l’agent devient maître • Le maître désigne la cible (phase adressage) • La cible répond avec le signal DEVSEL • Une ou plusieurs phases de donnée • Fin de la transaction, libération du bus Master ACSI

  8. Bus PCI Particularités • Transactions éclatées (split transactions) • Limitation de la durée d’utilisation du bus par temporisateurs de latence • Accès direct mémoire en tant que maître du bus Master ACSI

  9. mémoire Bus PCI Adresses • virtuelles • physiques • bus processeur adresses virtuelles adresses physiques Pont hôte Agent 3 Bus PCI 0 Agent 2 Agent 1 adresses bus Master ACSI

  10. Bus PCI Espaces d’adressage • Processeurs ayant 2 espaces d’adressage • Espace mémoire (adresse sur 32 bits) • Espace E/S (adresse sur 16 bits) • Bus PCI (adresse bus 32 bits) • Espace Mémoire • Espace E/S • Espaces de Configuration Master ACSI

  11. Pont hôte mémoire Agent 3 Agent 2 Agent 1 Bus PCI Espace d’adressage mémoire • Vu du processeur espace d’adressage mémoire (adr. proc.) 4Go - 1 agent 3 processeur pci agent 2 agent 1 mémoire hôte Bus PCI 0 0 Master ACSI

  12. Pont hôte mémoire Agent 3 Agent 2 Agent 1 Bus PCI Espaces d’adressage mémoire • Vu du bus PCI espace d’adressage mémoire (adr. bus) 4Go - 1 agent 3 processeur pci agent 2 agent 1 mémoire hôte Bus PCI 0 0 Master ACSI

  13. mémoire pont pci - isa Bus PCI Espace d’adressage E/S • Vu du processeur espace d’adressage E/S (adr. proc.) processeur port // port série 64k - 1 Registres du pont hôte Pont hôte contrôleur Bus PCI 0 port série 0x3F8 port // 0x378 0 Bus ISA Master ACSI

  14. mémoire pont pci - isa Bus PCI Espace d’adressage E/S • Vu du bus PCI espace d’adressage E/S (adr. bus) 4Go - 1 processeur port // port série 64k - 1 Registres du pont hôte Pont hôte contrôleur Bus PCI 0 port série 0x3F8 port // 0x378 0 Bus ISA Master ACSI

  15. Bus PCI Espaces de configuration • Zone mémoire de 256 octets maximum, associée à chaque contrôleur • Contient : • Identification du fabricant • Identification du produit • Type de produit • Registres de base • . . . Master ACSI

  16. Bus PCI Espaces de configuration • Obligatoire • Permet la configuration automatique, par le processeur • Tous aux mêmes adresses : 0 à 255 • Signal IDSEL, distinct pour chaque contrôleur Master ACSI

  17. Pont hôte mémoire Agent 3 cfg cfg cfg cfg Agent 2 Agent 1 255 255 255 255 agt 1 agt 2 agt 3 pont 0 0 0 0 Bus PCI Espaces de configuration • Vu du processeur processeur espaces de configuration IDSEL 3 Bus PCI 0 IDSEL 2 IDSEL 1 Master ACSI

  18. Pont hôte mémoire Agent 3 cfg cfg cfg cfg Agent 2 Agent 1 255 255 255 255 agt 1 agt 2 agt 3 pont 0 0 0 0 Bus PCI Espaces de configuration • Vu du bus PCI processeur espaces de configuration IDSEL 3 Bus PCI 0 IDSEL 2 IDSEL 1 Master ACSI

  19. Bus PCI Accès aux espaces de configuration • Par le processeur • Type d’espace inconnu du processeur • Mécanisme d’accès situé dans le pont hôte • Accès à ce mécanisme dans l’espace E/S du processeur • Deux registres de 32 bits Master ACSI

  20. Bus PCI Accès aux espaces de configuration Par le processeur • Registre adresse configuration : CONF_ADDR • Accessible à l’adresse E/S : CF8h • Accès en 32 bits seulement 31 30 24 23 16 15 11 10 8 7 2 1 0 numéro de fonction numéro de bus numéro de contrôleur numéro de registre réservé 0 0 bit autorisation : 1 accès autorisé, 0 non autorisé Master ACSI

  21. Bus PCI Accès aux espaces de configuration Par le processeur • Registre donnée configuration : CONF_DATA • Accessible à l ’adresse E/S : CFCh • Accès 8 bits, 16 bit, 32 bits Master ACSI

  22. Bus PCI Initialisations par le processeur au démarrage • Exploration systématique du bus • Trouve les contrôleurs présents en faisant des accès configuration • Détecte les ponts • Numérote les bus • Affectation d’adresses aux contrôleurs • Dans l’espace mémoire ou E/S • Zones d’adresses disjointes • Pas de conflits Master ACSI

  23. Bus PCI Initialisations par le processeur au démarrage • Affectation d’adresses aux contrôleurs • Rangées dans l ’espace de configuration du contrôleur • Registres de base affectés à cet usage • Utilisés par les pilotes logiciel Espace de configuration du contrôleur Adresse 10h Registre de base 0 14h Registre de base 1 18h Master ACSI

  24. Bus PCI-X PCI eXtension • Protocole simplifié et amélioré • Adresse Données sur 64 bits • Fréquence maximum 133 MHz (1 slot) • Débit crête : 1 Go/s Master ACSI

  25. Bus Série, bus parallèle ? Bus périphériques • Inconvénients des bus parallèles • Câbles plus gros et plus chers • Connecteurs plus gros et plus chers • Dispersions de propagation des signaux • Limitation en fréquence • Diminution de taille des équipements Master ACSI

  26. USB Universal Serial Bus • Spécifié par Intel,Compaq, Microsoft, NEC, Philips (standard industriel) • Révision 1.1 en septembre1998 • Révision 2.0 en avril 2000 • Bus périphériques • Plusieurs périphériques chaînés • Branchement à chaud (sous tension) • Détection et configuration automatique des périphériques • Bus à interrogation (un seul maître) Master ACSI

  27. USB Types de transferts • Transferts de type «interruption» • Transferts de blocs • Transferts de contrôle • Transferts isochrones Master ACSI

  28. USB Débits • USB 1.1 • Basse vitesse (low speed) : 1,5 Mb/s ou 187,5 Ko/s • Pleine vitesse (full speed) : 12 Mb/s ou 1,5 Mo/s • USB 2.0 • Haute vitesse (high speed) : 480 Mb/s ou 60 Mo/s Master ACSI

  29. USB Topologie • Connexions point à point bidirectionnelles • Extension par des hub • Arborescence orientée • Pas de boucle Hub hôte hub 2 nœud 2 nœud 1 nœud 3 hub 3 nœud 4 nœud 5 nœud 6 Master ACSI

  30. USB Cables • Composés de 4 fils • 3 à 4 mètres maximum selon la qualité +V D + paire torsadée D - GND Master ACSI

  31. USB Hub bus pci contrôleur USB hôte hub racine hub 1 hub 2 device 1 device 2 device 3 device 4 device 5 Master ACSI

  32. répéteur USB Hub : organisation interne données alimentation contrôleur de hub switch Master ACSI

  33. USB Hub : flux de données flux descendant (downstream) flux montant (upstream) répéteur répéteur Master ACSI

  34. USB Principe d’utilisation de la liaison • En 1.1 • Temps découpé en tranches de 1 ms, les «trames» USB • Plusieurs périphériques servis pendant chaque ms • En 1ms transfert de 12 Kbits soit 1,5 Koctets 12 MHz ÷ 12 000 1 KHz T = 1 ms Master ACSI

  35. USB Principe d’utilisation de la liaison • En 2.0 • Temps découpé en tranches de 125 µs «microtrames» • Plusieurs périphériques servis par tranche • En 125 µs transfert de 60 Kbits soit 7,5 Koctets 480 MHz ÷ 60 000 8 KHz T = 125 µs Master ACSI

  36. USB Organisation générale Système Hôte Périphérique USB impression imprimante logiciel client fonction logiciel périphérique logique USB couche USB logiciel USB contrôleur USB Hôte + hub Liaison USB couche interface contrôleur USB matériel Master ACSI

  37. Logiciel client Pilote bus usb Pilote contrôleur usb Contrôleur USB USB Organisation logicielle I/O Request Packets IRP2 IRP1 IRP1 IRP2 Tr1- 0 Tr1- 1 Tr1- 2 Tr2- 0 Tr2- 1 Tr2- 2 trame 1 trame 2 trame 3 Tr1- 0 Tr2- 0 Tr1- 1 Tr2- 1 Tr1- 2 Tr2- 2 1 ms ou 125 µs 1 ms ou 125 µs 1 ms ou 125 µs matériel Master ACSI

  38. USB Transactions (1) • Toujours à l’initiative de l’hôte • Composées de 1, 2 ou 3 paquets • Token packet • Data packet • Handshake packet transaction token packet data packet handshake packet Master ACSI

  39. USB Transactions (2) • Token packet • Toujours envoyé par l’hôte • Type et direction de l’échange du paquet de donnée • Adresse du destinataire (fonction) • SOF, SETUP, OUT, IN Master ACSI

  40. USB Transactions (3) • Data packet • Sens d’échange défini par le token packet • Contient les données échangées • Handshake packet • Envoyé par celui qui a reçu les données • Acceptation ou refus de l’échange • ACK, NACK, STALL Master ACSI

  41. USB Exemples de Transactions (1) Mémoire hôte Contrôleur hôte 1 Transaction 1 descripteurs de transferts 2 3 Transaction 2 4 Transaction 3 clavier imprimante 1. Ctrl hôte prend le descripteur 2. C. h. génère une transaction IN 3. Clavier renvoie les données 4. C. h. met les données en mémoire Données clavier Master ACSI

  42. USB Exemples de Transactions (2) Mémoire hôte Contrôleur hôte 1 Transaction 1 descripteurs de transferts 2 4 Transaction 2 Transaction 3 clavier imprimante 3 1. Ctrl hôte prend le descripteur 2. C. h. génère une transaction OUT 3. C. h. prend les données en mémoire 4. C. h. envoie les données à l’impr. Données clavier Données impr. Master ACSI

  43. USB Exemples de Transactions (3) Mémoire hôte Contrôleur hôte Transaction 1 1 descripteurs de transferts 2 4 Transaction 2 Transaction 3 clavier imprimante 3 1. Ctrl hôte prend le descripteur 2. C. h. génère une transaction OUT 3. C. h. prend les données en mémoire 4. C. h. envoie les données à l’impr. Données clavier Données impr. Master ACSI

  44. USB Configuration du Bus • Etat initial • Tous les ports A sont désactivés • Tous les ports B répondent à l’adresse 0. • Parcours de l’arbre • Activation premier port A • Interrogation • Si réponse, affectation d’une adresse • ... hôte Ports A Port B Ports A Master ACSI

  45. USB Interface : logiciel - matériel • Trois spécifications d’interfaces • UHCI : Universal Host Controller Interface. usb 1.x • OHCI : Open Host Controller Interface. usb 1.x • EHCI : Enhanced Host Controller Interface. usb 2.0 Master ACSI

More Related