PERI Master ACSI cours Gestion des Périphériques Année (Transparents de F. Dromard)
PERI Master ACSI cours Bus PCI Peripheral Component Interconnect è Spécifié en 1992 par Intel et d’autres industriels n Révision 2.0 en avril 1993 n Révision 2.1 au début 1995 n Révision 2.2 en décembre 1998 è Bus fond de panier n Indépendant du processeur utilisé n Performances intéressantes n Configuration par logiciel
PERI Master ACSI cours 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
PERI Master ACSI cours Bus PCI Exemple de configuration processeur cache Pont hôte Bus PCI 0 mémoire Contrôleur disques Contrôleur vidéo Contrôleur réseau D1D2 écran Adaptateur SCSI Bus SCSI Pont pci/pci Bus PCI 1 Pont pci/ISA Bus ISA
PERI Master ACSI cours Bus PCI Introduction au fonctionnement du bus PCI è Permet à deux agents de communiquer n Un maître avec une cible è Arbitrage centralisé n En parallèle avec les transferts è Chaque agent peut avoir la fonction de : n Maître seulement n Maître et Cible n Cible seulement
PERI Master ACSI cours Bus PCI Introduction au fonctionnement du bus PCI è Echanges en rafales : n Une phase d’adressage n Une à N phases de données è Bus synchrone n Signaux valides sur front montant de l’horloge è Bus sans terminaisons n Fonctionne par réflexion
PERI Master ACSI cours 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
PERI Master ACSI cours 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
PERI Master ACSI cours Bus PCI Adresses è virtuelles è physiques è bus processeur Pont hôte Bus PCI 0 mémoire Agent 1 Agent 3 Agent 2 adresses physiques adresses virtuelles adresses bus
PERI Master ACSI cours Bus PCI Espaces d’adressage è Processeurs ayant 2 espaces d’adressage n Espace mémoire (adresse sur 32 bits) n Espace E/S (adresse sur 16 bits) è Bus PCI (adresse bus 32 bits) n Espace Mémoire n Espace E/S n Espaces de Configuration
PERI Master ACSI cours Bus PCI Espace d’adressage mémoire è Vu du processeur processeur Pont hôte Bus PCI 0 mémoire Agent 1Agent 3Agent 2 0 4Go - 1 mémoire hôte agent 1 agent 2 agent 3 espace d’adressage mémoire (adr. proc.) pci
PERI Master ACSI cours Bus PCI Espaces d’adressage mémoire è Vu du bus PCI processeur Pont hôte Bus PCI 0 mémoire Agent 1Agent 3Agent 2 0 4Go - 1 mémoire hôte agent 1 agent 2 agent 3 espace d’adressage mémoire (adr. bus) pci
PERI Master ACSI cours Bus PCI Espace d’adressage E/S è Vu du processeur processeur Pont hôte Bus PCI 0 mémoire contrôleur pont pci - isa 0 64k - 1 espace d’adressage E/S (adr. proc.) port // port série Bus ISA Registres du pont hôte port // port série 0x378 0x3F8
PERI Master ACSI cours Bus PCI Espace d’adressage E/S è Vu du bus PCI processeur Pont hôte Bus PCI 0 mémoire contrôleur pont pci - isa 0 64k - 1 espace d’adressage E/S (adr. bus) port // port série Bus ISA Registres du pont hôte port // port série 0x378 0x3F8 4Go - 1
PERI Master ACSI cours Bus PCI Espaces de configuration è Zone mémoire de 256 octets maximum, associée à chaque contrôleur è Contient : n Identification du fabricant n Identification du produit n Type de produit n Registres de base n...
PERI Master ACSI cours 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
PERI Master ACSI cours IDSEL 3 IDSEL 2IDSEL 1 Bus PCI Espaces de configuration è Vu du processeur processeur Pont hôte Bus PCI 0 mémoire Agent 1Agent 3Agent 2 espaces de configuration agt agt agt pont cfg
PERI Master ACSI cours IDSEL 3 IDSEL 2IDSEL 1 Bus PCI Espaces de configuration è Vu du bus PCI processeur Pont hôte Bus PCI 0 mémoire Agent 1Agent 3Agent 2 espaces de configuration agt agt agt pont cfg
PERI Master ACSI cours Bus PCI Accès aux espaces de configuration è Par le processeur n Type d’espace inconnu du processeur n Mécanisme d’accès situé dans le pont hôte n Accès à ce mécanisme dans l’espace E/S du processeur n Deux registres de 32 bits
PERI Master ACSI cours Bus PCI Accès aux espaces de configuration Par le processeur n Registre adresse configuration : CONF_ADDR n Accessible à l’adresse E/S : CF8h n Accès en 32 bits seulement numéro de bus numéro de contrôleur numéro de fonction numéro de registre réservé bit autorisation : 1 accès autorisé, 0 non autorisé
PERI Master ACSI cours Bus PCI Accès aux espaces de configuration Par le processeur n Registre donnée configuration : CONF_DATA n Accessible à l ’adresse E/S : CFCh n Accès 8 bits, 16 bit, 32 bits
PERI Master ACSI cours Bus PCI Initialisations par le processeur au démarrage è Exploration systématique du bus n Trouve les contrôleurs présents en faisant des accès configuration n Détecte les ponts n Numérote les bus è Affectation d’adresses aux contrôleurs n Dans l’espace mémoire ou E/S n Zones d’adresses disjointes n Pas de conflits
PERI Master ACSI cours Bus PCI Initialisations par le processeur au démarrage è Affectation d’adresses aux contrôleurs n Rangées dans l ’espace de configuration du contrôleur n Registres de base affectés à cet usage n Utilisés par les pilotes logiciel Registre de base 0 Registre de base 1 Espace de configuration du contrôleur 10h 14h Adresse 18h
PERI Master ACSI cours 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
PERI Master ACSI cours Bus Série, bus parallèle ? Bus périphériques è Inconvénients des bus parallèles n Câbles plus gros et plus chers n Connecteurs plus gros et plus chers n Dispersions de propagation des signaux n Limitation en fréquence è Diminution de taille des équipements
PERI Master ACSI cours USB Universal Serial Bus è Spécifié par Intel, Compaq, Microsoft, NEC, Philips (standard industriel) n Révision 1.1 en septembre1998 n Révision 2.0 en avril 2000 è Bus périphériques n Plusieurs périphériques chaînés n Branchement à chaud (sous tension) n Détection et configuration automatique des périphériques n Bus à interrogation (un seul maître)
PERI Master ACSI cours USB Types de transferts è Transferts de type «interruption» è Transferts de blocs è Transferts de contrôle è Transferts isochrones
PERI Master ACSI cours USB Débits è USB 1.1 n Basse vitesse (low speed) : 1,5 Mb/s ou 187,5 Ko/s n Pleine vitesse (full speed) : 12 Mb/s ou 1,5 Mo/s è USB 2.0 n Haute vitesse (high speed) : 480 Mb/s ou 60 Mo/s
PERI Master ACSI cours USB Topologie è Connexions point à point bidirectionnelles è Extension par des hub è Arborescence orientée è Pas de boucle Hub hôte nœud 1nœud 2hub 2 nœud 4 nœud 3 hub 3 nœud 6nœud 5
PERI Master ACSI cours USB Cables è Composés de 4 fils è 3 à 4 mètres maximum selon la qualité +V D D GND paire torsadée - +
PERI Master ACSI cours USB Hub contrôleur USB hôte hub racine bus pci hub 1 hub 2 device 1device 2 device 3 device 4 device 5
PERI Master ACSI cours USB Hub : organisation interne contrôleur de hub switch répéteur alimentation données
PERI Master ACSI cours USB Hub : flux de données répéteur flux montant (upstream) flux descendant (downstream)
PERI Master ACSI cours USB Principe d’utilisation de la liaison è En 1.1 n Temps découpé en tranches de 1 ms, les «trames» USB n Plusieurs périphériques servis pendant chaque ms n En 1ms transfert de 12 Kbits soit 1,5 Koctets ÷ MHz 1 KHz T = 1 ms
PERI Master ACSI cours KHz T = 125 µs USB Principe d’utilisation de la liaison è En 2.0 n Temps découpé en tranches de 125 µs «microtrames» n Plusieurs périphériques servis par tranche n En 125 µs transfert de 60 Kbits soit 7,5 Koctets ÷ MHz
PERI Master ACSI cours USB Organisation générale logiciel clientfonction logiciel USB périphérique logique USB contrôleur USB Hôte + hub contrôleur USB Liaison USB Système HôtePériphérique USB matériel logiciel impressionimprimante couche interface couche USB
PERI Master ACSI cours USB Organisation logicielle Logiciel clientPilote bus usbPilote contrôleur usb Contrôleur USB I/O Request Packets IRP1 IRP2 Tr1- 0Tr1- 1Tr1- 2Tr2- 0Tr2- 1Tr2- 2 IRP1IRP2 Tr1- 0Tr2- 0Tr1- 1Tr2- 1Tr1- 2Tr ms ou 125 µs 1 ms ou 125 µs 1 ms ou 125 µs matériel trame 1trame 2trame 3
PERI Master ACSI cours USB Transactions (1) è Toujours à l’initiative de l’hôte è Composées de 1, 2 ou 3 paquets n Token packet n Data packet n Handshake packet token packetdata packethandshake packet transaction
PERI Master ACSI cours USB Transactions (2) è Token packet n Toujours envoyé par l’hôte n Type et direction de l’échange du paquet de donnée n Adresse du destinataire (fonction) n SOF, SETUP, OUT, IN
PERI Master ACSI cours USB Transactions (3) è Data packet n Sens d’échange défini par le token packet n Contient les données échangées è Handshake packet n Envoyé par celui qui a reçu les données n Acceptation ou refus de l’échange n ACK, NACK, STALL
PERI Master ACSI cours USB Exemples de Transactions (1) Contrôleur hôte clavierimprimante Transaction 1 Transaction 2 Transaction 3 Données clavier Mémoire hôte descripteurs de transferts 1 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 2 4 3
PERI Master ACSI cours USB Exemples de Transactions (2) Contrôleur hôte clavierimprimante Transaction 1 Transaction 2 Transaction 3 Données clavier Mémoire hôte descripteurs de transferts 1 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 impr.
PERI Master ACSI cours USB Exemples de Transactions (3) Contrôleur hôte clavierimprimante Transaction 1 Transaction 2 Transaction 3 Données clavier Mémoire hôte descripteurs de transferts 1 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 impr.
PERI Master ACSI cours USB Configuration du Bus è Etat initial n Tous les ports A sont désactivés n Tous les ports B répondent à l’adresse 0. è Parcours de l’arbre n Activation premier port A n Interrogation n Si réponse, affectation d’une adresse n... Ports A Port B Ports A hôte
PERI Master ACSI cours USB Interface : logiciel - matériel è Trois spécifications d’interfaces n UHCI : Universal Host Controller Interface. usb 1.x n OHCI : Open Host Controller Interface. usb 1.x n EHCI : Enhanced Host Controller Interface. usb 2.0