Transaction 1

publicité
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
Pont pci/pci
mémoire
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
cfg
mémoire
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
cfg
mémoire
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
Téléchargement