450 likes | 580 Views
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
E N D
Gestion des Périphériques Année 2006 - 2007 (Transparents de F. Dromard) Master ACSI
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
USB Types de transferts • Transferts de type «interruption» • Transferts de blocs • Transferts de contrôle • Transferts isochrones Master ACSI
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
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
USB Cables • Composés de 4 fils • 3 à 4 mètres maximum selon la qualité +V D + paire torsadée D - GND Master ACSI
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
répéteur USB Hub : organisation interne données alimentation contrôleur de hub switch Master ACSI
USB Hub : flux de données flux descendant (downstream) flux montant (upstream) répéteur répéteur Master ACSI
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
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
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
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
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
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
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
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
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
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
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
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