Gestion des Périphériques
description
Transcript of Gestion des Périphériques
PERI Master ACSI cours 5 - 1
Gestion des Périphériques
Année 2006 - 2007
(Transparents de F. Dromard)
PERI Master ACSI cours 5 - 2
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 Indépendant du processeur utilisé Performances intéressantes Configuration par logiciel
PERI Master ACSI cours 5 - 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
PERI Master ACSI cours 5 - 4
Bus PCI
Exemple de configuration processeur
cache
Pont hôte
Bus PCI 0
mémoire
Contrôleurdisques
Contrôleurvidéo
Contrôleurréseau
D1 D2 écran
AdaptateurSCSI
Bus SCSI
Pont pci/pci
Bus PCI 1
Pont pci/ISA
Bus ISA
PERI Master ACSI cours 5 - 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
PERI Master ACSI cours 5 - 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
PERI Master ACSI cours 5 - 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
PERI Master ACSI cours 5 - 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
PERI Master ACSI cours 5 - 9
Bus PCI
Adresses virtuelles physiques bus
processeur
Pont hôte
Bus PCI 0
mémoire
Agent 1
Agent 3
Agent 2
adressesphysiques
adressesvirtuelles
adresses bus
PERI Master ACSI cours 5 - 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
PERI Master ACSI cours 5 - 11
Bus PCI
Espace d’adressage mémoire Vu du processeur
processeur
Pont hôte
Bus PCI 0
mémoire
Agent 1
Agent 3
Agent 2
0
4Go - 1
mémoirehôte
agent 1agent 2agent 3
espace d’adressagemémoire (adr. proc.)
pci
PERI Master ACSI cours 5 - 12
Bus PCI
Espaces d’adressage mémoire Vu du bus PCI
processeur
Pont hôte
Bus PCI 0
mémoire
Agent 1
Agent 3
Agent 2
0
4Go - 1
mémoirehôte
agent 1agent 2agent 3
espace d’adressagemémoire (adr. bus)
pci
PERI Master ACSI cours 5 - 13
Bus PCI
Espace d’adressage E/S Vu du processeur
processeur
Pont hôte
Bus PCI 0
mémoirecontrôleur
pontpci - isa
0
64k - 1
espace d’adressageE/S (adr. proc.)
port//
portsérie
Bus ISA
Registresdu pont hôte
port //
port série
0x378
0x3F8
PERI Master ACSI cours 5 - 14
Bus PCI
Espace d’adressage E/S Vu du bus PCI
processeur
Pont hôte
Bus PCI 0
mémoirecontrôleur
pontpci - isa
0
64k - 1
espace d’adressageE/S (adr. bus)
port//
portsérie
Bus ISA
Registresdu pont hôte
port //
port série
0x378
0x3F8
4Go - 1
PERI Master ACSI cours 5 - 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 . . .
PERI Master ACSI cours 5 - 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
PERI Master ACSI cours 5 - 17
IDSEL 3
IDSEL 2 IDSEL 1
Bus PCI
Espaces de configuration Vu du processeur
processeur
Pont hôte
Bus PCI 0
mémoire
Agent 1
Agent 3
Agent 2
espaces de configuration
0
255agt 1
0
255agt 2
0
255agt 3
0
255pont
cfgcfg
cfg
cfg
PERI Master ACSI cours 5 - 18
IDSEL 3
IDSEL 2 IDSEL 1
Bus PCI
Espaces de configuration Vu du bus PCI
processeur
Pont hôte
Bus PCI 0
mémoire
Agent 1
Agent 3
Agent 2
espaces de configuration
0
255agt 1
0
255agt 2
0
255agt 3
0
255pont
cfgcfg
cfg
cfg
PERI Master ACSI cours 5 - 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
PERI Master ACSI cours 5 - 20
Bus PCI
Accès aux espaces de configurationPar le processeur
Registre adresse configuration : CONF_ADDR Accessible à l’adresse E/S : CF8h Accès en 32 bits seulement
numérode bus
numéro decontrôleur
numéro defonction
numéro deregistre 00
012781011151631 30 2324
réservé
bit autorisation : 1 accès autorisé, 0 non autorisé
PERI Master ACSI cours 5 - 21
Bus PCI
Accès aux espaces de configurationPar le processeur
Registre donnée configuration : CONF_DATA Accessible à l ’adresse E/S : CFCh Accès 8 bits, 16 bit, 32 bits
PERI Master ACSI cours 5 - 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
PERI Master ACSI cours 5 - 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
Registre de base 0
Registre de base 1
Espace de configuration du contrôleur
10h
14h
Adresse
18h
PERI Master ACSI cours 5 - 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
PERI Master ACSI cours 5 - 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
PERI Master ACSI cours 5 - 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)
PERI Master ACSI cours 5 - 27
USB
Types de transferts Transferts de type «interruption» Transferts de blocs Transferts de contrôle Transferts isochrones
PERI Master ACSI cours 5 - 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
PERI Master ACSI cours 5 - 29
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 4nœud 3 hub 3
nœud 6nœud 5
PERI Master ACSI cours 5 - 30
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 5 - 31
USB
Hub
contrôleur USBhôte
hub racine
bus pci
hub 1hub 2
device 1 device 2
device 3 device 4 device 5
PERI Master ACSI cours 5 - 32
USB
Hub : organisation interne
contrôleurde hub
switch répéteur
alimentationdonnées
PERI Master ACSI cours 5 - 33
USB
Hub : flux de données
répéteurrépéteur
flux montant(upstream)
flux descendant(downstream)
PERI Master ACSI cours 5 - 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 000
12 MHz 1 KHzT = 1 ms
PERI Master ACSI cours 5 - 35
8 KHzT = 125 µs
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
÷60 000
480 MHz
PERI Master ACSI cours 5 - 36
USB
Organisation générale
logiciel client fonction
logiciel USBpériphériquelogique USB
contrôleur USBHôte + hub contrôleur USBLiaison
USB
Système Hôte Périphérique USB
matériel
logiciel
impression imprimante
coucheinterface
coucheUSB
PERI Master ACSI cours 5 - 37
USB
Organisation logicielle
Logiciel client
Pilote bus usb
Pilote contrôleur usb
Contrôleur USB
I/O Request Packets
IRP1 IRP2
Tr1- 0 Tr1- 1 Tr1- 2 Tr2- 0 Tr2- 1 Tr2- 2
IRP1 IRP2
Tr1- 0 Tr2- 0 Tr1- 1 Tr2- 1 Tr1- 2 Tr2- 2
1 msou
125 µs
1 msou
125 µs
1 msou
125 µs
matériel
trame 1 trame 2 trame 3
PERI Master ACSI cours 5 - 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
token packet data packet handshake packet
transaction
PERI Master ACSI cours 5 - 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
PERI Master ACSI cours 5 - 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
PERI Master ACSI cours 5 - 41
USB
Exemples de Transactions (1)
Contrôleurhôte
clavier imprimante
Transaction 1Transaction 2
Transaction 3
Données clavier
Mémoire hôte
descripteursde transferts
1
1. Ctrl hôte prend le descripteur2. C. h. génère une transaction IN3. Clavier renvoie les données4. C. h. met les données en mémoire
2
4
3
PERI Master ACSI cours 5 - 42
USB
Exemples de Transactions (2)
Contrôleurhôte
clavier imprimante
Transaction 1
Transaction 2Transaction 3
Données clavier
Mémoire hôte
descripteursde transferts
1
1. Ctrl hôte prend le descripteur2. C. h. génère une transaction OUT3. C. h. prend les données en mémoire4. C. h. envoie les données à l’impr.
2 4
3
Données impr.
PERI Master ACSI cours 5 - 43
USB
Exemples de Transactions (3)
Contrôleurhôte
clavier imprimante
Transaction 1
Transaction 2
Transaction 3
Données clavier
Mémoire hôte
descripteursde transferts
1
1. Ctrl hôte prend le descripteur2. C. h. génère une transaction OUT3. C. h. prend les données en mémoire4. C. h. envoie les données à l’impr.
2 4
3
Données impr.
PERI Master ACSI cours 5 - 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 ...
Ports A
Port B
Ports A
hôte
PERI Master ACSI cours 5 - 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