Gestion des Périphériques

45
PERI Master ACSI cours 5 - 1 Gestion des Périphériques Année 2006 - 2007 (Transparents de F. Dromard)

description

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 - PowerPoint PPT Presentation

Transcript of Gestion des Périphériques

Page 1: Gestion des Périphériques

PERI Master ACSI cours 5 - 1

Gestion des Périphériques

Année 2006 - 2007

(Transparents de F. Dromard)

Page 2: Gestion des Périphériques

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

Page 3: Gestion des Périphériques

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

Page 4: Gestion des Périphériques

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

Page 5: Gestion des Périphériques

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

Page 6: Gestion des Périphériques

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

Page 7: Gestion des Périphériques

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

Page 8: Gestion des Périphériques

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

Page 9: Gestion des Périphériques

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

Page 10: Gestion des Périphériques

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

Page 11: Gestion des Périphériques

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

Page 12: Gestion des Périphériques

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

Page 13: Gestion des Périphériques

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

Page 14: Gestion des Périphériques

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

Page 15: Gestion des Périphériques

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 . . .

Page 16: Gestion des Périphériques

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

Page 17: Gestion des Périphériques

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

Page 18: Gestion des Périphériques

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

Page 19: Gestion des Périphériques

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

Page 20: Gestion des Périphériques

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é

Page 21: Gestion des Périphériques

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

Page 22: Gestion des Périphériques

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

Page 23: Gestion des Périphériques

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

Page 24: Gestion des Périphériques

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

Page 25: Gestion des Périphériques

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

Page 26: Gestion des Périphériques

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)

Page 27: Gestion des Périphériques

PERI Master ACSI cours 5 - 27

USB

Types de transferts Transferts de type «interruption» Transferts de blocs Transferts de contrôle Transferts isochrones

Page 28: Gestion des Périphériques

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

Page 29: Gestion des Périphériques

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

Page 30: Gestion des Périphériques

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-

+

Page 31: Gestion des Périphériques

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

Page 32: Gestion des Périphériques

PERI Master ACSI cours 5 - 32

USB

Hub : organisation interne

contrôleurde hub

switch répéteur

alimentationdonnées

Page 33: Gestion des Périphériques

PERI Master ACSI cours 5 - 33

USB

Hub : flux de données

répéteurrépéteur

flux montant(upstream)

flux descendant(downstream)

Page 34: Gestion des Périphériques

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

Page 35: Gestion des Périphériques

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

Page 36: Gestion des Périphériques

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

Page 37: Gestion des Périphériques

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

Page 38: Gestion des Périphériques

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

Page 39: Gestion des Périphériques

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

Page 40: Gestion des Périphériques

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

Page 41: Gestion des Périphériques

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

Page 42: Gestion des Périphériques

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.

Page 43: Gestion des Périphériques

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.

Page 44: Gestion des Périphériques

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

Page 45: Gestion des Périphériques

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