Gestion des Périphériques Année 2006 - 2007 (Transparents de F. Dromard) PERI
Download
Report
Transcript Gestion des Périphériques Année 2006 - 2007 (Transparents de F. Dromard) PERI
Gestion des Périphériques
Année 2006 - 2007
(Transparents de F. Dromard)
PERI
Master ACSI
cours 5 - 1
Bus PCI
Peripheral Component Interconnect
Spécifié en 1992 par Intel et d’autres industriels
Bus fond de panier
PERI
Révision 2.0 en avril 1993
Révision 2.1 au début 1995
Révision 2.2 en décembre 1998
Indépendant du processeur utilisé
Performances intéressantes
Configuration par logiciel
Master ACSI
cours 5 - 2
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 - 3
Bus PCI
Exemple de configuration
Bus ISA
Pont pci/ISA
processeur
cache
Bus PCI 1
mémoire
Pont pci/pci
Pont hôte
Bus PCI 0
Adaptateur
Contrôleur
Contrôleur
Contrôleur
SCSI
disques
vidéo
réseau
Bus SCSI
PERI
D1
D2
Master ACSI
écran
cours 5 - 4
Bus PCI
Introduction au fonctionnement du bus PCI
Permet à deux agents de communiquer
Arbitrage centralisé
En parallèle avec les transferts
Chaque agent peut avoir la fonction de :
PERI
Un maître avec une cible
Maître seulement
Maître et Cible
Cible seulement
Master ACSI
cours 5 - 5
Bus PCI
Introduction au fonctionnement du bus PCI
Echanges en rafales :
Bus synchrone
Signaux valides sur front montant de l’horloge
Bus sans terminaisons
PERI
Une phase d’adressage
Une à N phases de données
Fonctionne par réflexion
Master ACSI
cours 5 - 6
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 - 7
Bus PCI
Particularités
PERI
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
cours 5 - 8
Bus PCI
Adresses
virtuelles
physiques
bus
Agent 3
processeur
adresses
physiques
mémoire
adresses
virtuelles
Pont hôte
Bus PCI 0
Agent 2
PERI
Agent 1
Master ACSI
adresses bus
cours 5 - 9
Bus PCI
Espaces d’adressage
Processeurs ayant 2 espaces d’adressage
Bus PCI (adresse bus 32 bits)
PERI
Espace mémoire (adresse sur 32 bits)
Espace E/S (adresse sur 16 bits)
Espace Mémoire
Espace E/S
Espaces de Configuration
Master ACSI
cours 5 - 10
Bus PCI
Espace d’adressage mémoire
espace d’adressage
mémoire (adr. proc.)
Vu du processeur
4Go - 1
processeur
pci
Agent 3
mémoire
Pont hôte
Bus PCI 0
Agent 2
agent 3
agent 2
agent 1
mémoire
hôte
Agent 1
0
PERI
Master ACSI
cours 5 - 11
Bus PCI
Espaces d’adressage mémoire
espace d’adressage
mémoire (adr. bus)
Vu du bus PCI
processeur
pci
Agent 3
mémoire
agent 3
agent 2
agent 1
Pont hôte
Bus PCI 0
Agent 2
4Go - 1
mémoire
hôte
Agent 1
0
PERI
Master ACSI
cours 5 - 12
Bus PCI
Espace d’adressage E/S
Vu du processeur
processeur
port
//
port
série
espace d’adressage
E/S (adr. proc.)
64k - 1
mémoire
contrôleur
Pont hôte
Registres
du pont hôte
Bus PCI 0
port série
pont
pci - isa
PERI
Bus ISA
port //
0x3F8
0x378
0
Master ACSI
cours 5 - 13
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
mémoire
contrôleur
Pont hôte
Registres
du pont hôte
Bus PCI 0
port série
pont
pci - isa
PERI
Bus ISA
port //
0x3F8
0x378
0
Master ACSI
cours 5 - 14
Bus PCI
Espaces de configuration
Zone mémoire de 256 octets maximum, associée à
chaque contrôleur
Contient :
PERI
Identification du fabricant
Identification du produit
Type de produit
Registres de base
...
Master ACSI
cours 5 - 15
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 - 16
Bus PCI
Espaces de configuration
Vu du processeur
processeur
cfg
mémoire
cfg
Agent 3
espaces de configuration
Pont hôte
agt 3
IDSEL 3
IDSEL 2
IDSEL 1
cfg
Agent 2
PERI
Bus PCI 0
agt 2
cfg
Agent 1
255
0
0
255
255
0
Master ACSI
pont
255
agt 1
0
cours 5 - 17
Bus PCI
Espaces de configuration
Vu du bus PCI
processeur
cfg
mémoire
cfg
Agent 3
espaces de configuration
Pont hôte
agt 3
IDSEL 3
IDSEL 2
IDSEL 1
cfg
Agent 2
PERI
Bus PCI 0
agt 2
cfg
Agent 1
255
0
0
255
255
0
Master ACSI
pont
255
agt 1
0
cours 5 - 18
Bus PCI
Accès aux espaces de configuration
Par le processeur
PERI
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
cours 5 - 19
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
réservé
16 15
numéro
de bus
11 10
numéro de
contrôleur
8
numéro de
fonction
7
2
numéro de
registre
1
0
0
0
bit autorisation : 1 accès autorisé, 0 non autorisé
PERI
Master ACSI
cours 5 - 20
Bus PCI
Accès aux espaces de configuration
Par le processeur
PERI
Registre donnée configuration : CONF_DATA
Accessible à l ’adresse E/S : CFCh
Accès 8 bits, 16 bit, 32 bits
Master ACSI
cours 5 - 21
Bus PCI
Initialisations par le processeur au démarrage
Exploration systématique du bus
Affectation d’adresses aux contrôleurs
PERI
Trouve les contrôleurs présents en faisant des accès
configuration
Détecte les ponts
Numérote les bus
Dans l’espace mémoire ou E/S
Zones d’adresses disjointes
Pas de conflits
Master ACSI
cours 5 - 22
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
14h
Registre de base 0
Registre de base 1
18h
PERI
Master ACSI
cours 5 - 23
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 - 24
Bus Série, bus parallèle ?
Bus périphériques
Inconvénients des bus parallèles
PERI
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
cours 5 - 25
USB
Universal Serial Bus
Spécifié par Intel, Compaq, Microsoft, NEC, Philips
(standard industriel)
Bus périphériques
PERI
Révision 1.1 en septembre1998
Révision 2.0 en avril 2000
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
cours 5 - 26
USB
Types de transferts
Transferts de type «interruption»
Transferts de blocs
Transferts de contrôle
Transferts isochrones
PERI
Master ACSI
cours 5 - 27
USB
Débits
USB 1.1
USB 2.0
PERI
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
Haute vitesse (high speed) : 480 Mb/s ou 60 Mo/s
Master ACSI
cours 5 - 28
USB
Topologie
Connexions point à point bidirectionnelles
Extension par des hub
Hub hôte
Arborescence orientée
Pas de boucle
nœud 3
nœud 5
PERI
Master ACSI
hub 2
nœud 2
hub 3
nœud 4
nœud 1
nœud 6
cours 5 - 29
USB
Cables
Composés de 4 fils
3 à 4 mètres maximum selon la qualité
+V
D+
paire torsadée
DGND
PERI
Master ACSI
cours 5 - 30
USB
Hub
bus pci
contrôleur USB
hôte
hub racine
hub 1
hub 2
device 1
device 2
device 3
PERI
Master ACSI
device 4
device 5
cours 5 - 31
USB
Hub : organisation interne
données
alimentation
switch
PERI
contrôleur
de hub
Master ACSI
répéteur
cours 5 - 32
USB
Hub : flux de données
flux descendant
(downstream)
flux montant
(upstream)
répéteur
PERI
répéteur
Master ACSI
cours 5 - 33
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
12 MHz
PERI
÷
12 000
1 KHz
T = 1 ms
En 1ms transfert de 12 Kbits soit 1,5 Koctets
Master ACSI
cours 5 - 34
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
480 MHz
PERI
÷
60 000
8 KHz
T = 125 µs
En 125 µs transfert de 60 Kbits soit 7,5 Koctets
Master ACSI
cours 5 - 35
USB
Organisation générale
impression
Système Hôte
Périphérique USB
logiciel client
fonction
logiciel USB
périphérique
logique USB
couche
USB
contrôleur USB
couche
interface
imprimante
logiciel
matériel
PERI
contrôleur USB
Hôte + hub
Liaison
USB
Master ACSI
cours 5 - 36
USB
Organisation logicielle
I/O Request Packets
Logiciel client
Pilote bus usb
Tr1- 0
IRP1
IRP2
IRP1
IRP2
Tr1- 1
Tr1- 2
Tr2- 0
Tr2- 1
Tr2- 2
Pilote contrôleur usb
trame 1
Tr1- 0
matériel
PERI
Contrôleur USB
Tr2- 0
1 ms
ou
125 µs
Master ACSI
trame 2
Tr1- 1
Tr2- 1
1 ms
ou
125 µs
trame 3
Tr1- 2
Tr2- 2
1 ms
ou
125 µs
cours 5 - 37
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
PERI
data packet
Master ACSI
handshake packet
cours 5 - 38
USB
Transactions (2)
Token packet
PERI
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
cours 5 - 39
USB
Transactions (3)
Data packet
Handshake packet
PERI
Sens d’échange défini par le token packet
Contient les données échangées
Envoyé par celui qui a reçu les données
Acceptation ou refus de l’échange
ACK, NACK, STALL
Master ACSI
cours 5 - 40
USB
Exemples de Transactions (1)
Mémoire hôte
Contrôleur
hôte
1
Transaction 1
descripteurs
de transferts
Transaction 3
Données clavier
PERI
2
Transaction 2
4
clavier
3
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
Master ACSI
cours 5 - 41
USB
Exemples de Transactions (2)
Mémoire hôte
1
Transaction 1
descripteurs
de transferts
Contrôleur
hôte
2
Transaction 2
Transaction 3
clavier
4
imprimante
3
Données clavier
Données impr.
PERI
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.
Master ACSI
cours 5 - 42
USB
Exemples de Transactions (3)
Mémoire hôte
Contrôleur
hôte
Transaction 1
descripteurs
de transferts
1
2
Transaction 2
Transaction 3
clavier
4
imprimante
3
Données clavier
Données impr.
PERI
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.
Master ACSI
cours 5 - 43
USB
Configuration du Bus
Etat initial
Tous les ports A sont désactivés
Tous les ports B répondent à
l’adresse 0.
Ports A
Port B
Parcours de l’arbre
PERI
hôte
Activation premier port A
Interrogation
Si réponse, affectation d’une
adresse
...
Master ACSI
Ports A
cours 5 - 44
USB
Interface : logiciel - matériel
Trois spécifications d’interfaces
PERI
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
cours 5 - 45