le bus pci 5 ième partie: les transactions particulières sommaire - repère
DESCRIPTION
LE BUS PCI 5 ième partie: Les transactions particulières Sommaire - Repère. Cinquième partie: Les transactions particulières Parité, reporting d ’erreur Les interruptions Le cycle spécial Lock operation / Accès exclusif. Cours_bus_PCI_4_02. - PowerPoint PPT PresentationTRANSCRIPT
1
LE BUS PCI5ième partie: Les transactions particulières Sommaire - Repère
Cinquième partie:
Les transactions particulières
Parité, reporting d ’erreur
Les interruptions
Le cycle spécial
Lock operation / Accès exclusif
1ière partie: Présentation
2ième partie: Les signaux
3ième partie: Les échanges de données
4ième partie: L ’Arbitrage
5ième partie: Les transactions particulières
6ième partie: Les aspects électriques, timings
7ième partie: Bridge PCI / PCI
8ième partie L ’espace de configuration
9ième partie Les performances
Cours_bus_PCI_4_02
2
LE BUS PCI5ième partie: Les transactions particulièresParité, reporting d ’erreur
PAR
Parité paire calculée sur les 36 bits: AD[31::00] et C/BE#[3::0] Master vers target pour les adresses et les données en écriture
Target vers master pour les données en lecture
Retardé d ’un cycle d ’horloge après que AD et C/BE# soient valides
3
LE BUS PCI5ième partie: Les transactions particulièresParité, reporting d ’erreur
Parité sur un cycle d ’écriture
1 2 3 4 5 6 7 8 9
CLK
FRAME#
AD
C/BE#
IRDY#
TRDY#
DEVSEL#
address data1 data2 data3
bus cmd be 1 be 2 be 3
PAR# par_a par_d1 par_d3par_d2
Parity lags AD bus by 1 clock PAR is valid 1 clock after valid IRDY# and remains valid until 1 clock after data phase completes
4
LE BUS PCI5ième partie: Les transactions particulièresParité, reporting d ’erreur
Parité sur un cycle de lecture
1 2 3 4 5 6 7 8 9
CLK
FRAME#
AD
C/BE#
IRDY#
TRDY#
DEVSEL#
address data3data1 data2
bus cmd be 1 be 3be 2
par_aPAR# par_a par_d3par_d2par_d1
PAR is calculated from BEs from Master and Data from Target
5
LE BUS PCI5ième partie: Les transactions particulièresParité, reporting d ’erreur
Signaux supplémentaires
PERR# Utilisé pour signaler une erreur de parité sur une donnée Forcé par l ’agent qui reçoit la donnée En retard sur PAR d ’un cycle d ’horloge
SERR# Utilisé pour signaler une erreur de parité sur une adresse Utilisé pour signaliser une erreur non récupérable Entraîne un « crash » système N ’a pas nécessairement une relation avec une opération sur le bus
6
LE BUS PCI5ième partie: Les transactions particulièresLes interruptions
Les Interruptions sont actives sur des niveaux (et non pas des fronts) bas
Les lignes INT# sont partagées
La plupart des configurations PCI ne requiert qu ’une seule interruption: Utiliser, dans ce cas, INTA#
La gestion des interruptions n ’est pas précisée dans la norme PCI
7
LE BUS PCI5ième partie: Les transactions particulièresLes interruptions
CLK
FRAME*
AD[31:0]
IRDY*
TRDY*
DEVSEL*
GNT*
1 2 3 4 5
Host/PCI bridge statrtstransaction by asserting FRAME*and driving Interrupt acknowledge
command onto C/BE bus
Turn-around cycle.Bridge stops driving AD bus
Bridge deasserts IRDY*,returning bus to idle state
C/BE*[3:0]
Bridge deasserts FRAME*, indicatingit's ready to complete last data phase
Vector
IntAckcmd
Byteenables
Bridge stops drivingcommand andstarts driving byte enables
Address of target device (interruptcontroller) is implicit in command type.Address bus driven with stable pattern
and PAR is set to correct state, buta valid address is not driven.
Bridge asserts IRDY* to indicatethat it's ready to receive vector
Target keeps TRDY* deassertedto enforce turn-around cycle
Vector read by bridge
DEVSEL* asserted byInterrupt controller to clain
transaction
Interrupt controller begins todrive vector back to bridge
8
LE BUS PCI5ième partie: Les transactions particulièresLe cycle spécial
Commande utilisée quand le maître désire envoyer un message à plusieurs cibles
Type indiqué par le contenu AD[15:0]
Code message AD[15:0] Type de message
0000h Shutdown : Problème logiciel
0001h Halt : Le processeur va exécuter une instruction halt
0002h Message spécifique µP x86
0003h – FFFFh Réservé
9
LE BUS PCI5ième partie: Les transactions particulièresLock operation / Accès exclusif
MasterMaster /Target Target
Master /Target
Buffer
PCI Bus
Master wants exclusiveaccess to flag
F lag
unlocked
10
LE BUS PCI5ième partie: Les transactions particulièresLock operation / Accès exclusif
Master /Target
Target Master /Target
Buffer
PCI Bus
F lag
Unlocked
Master
Locked read requestMaster starts locked transaction
11
LE BUS PCI5ième partie: Les transactions particulièresLock operation / Accès exclusif
Master /Target
Target Master /Target
Buffer
PCI Bus
F lag
Locked
Target Claims the access marks itself locked
Master
Locked read request
12
LE BUS PCI5ième partie: Les transactions particulièresLock operation / Accès exclusif
Master /Target
Target Master /Target
Buffer
PCI Bus
F lag
Locked
Target provides requested data
Master
BufferF lag
read Data retumed
13
LE BUS PCI5ième partie: Les transactions particulièresLock operation / Accès exclusif
1 2 3 4 5
CLK
FRAME#
AD
C/BE#
IRDY#
TRDY#
DEVSEL#
flag data1
bus cmd be 1
STOP#
LOCK#
Master initialeslocked access
Lock established
14
LE BUS PCI5ième partie: Les transactions particulièresLock operation / Accès exclusif
Master /Target
Target Master /Target
Buffer
PCI Bus
F lag
Locked
Non-locked masterrequests access to flag
MasterF lag
15
LE BUS PCI5ième partie: Les transactions particulièresLock operation / Accès exclusif
1 2 3 4 5
CLK
FRAME#
AD
C/BE#
IRDY#
TRDY#
STOP#
flag data1
bus cmd be 1
DEVSEL#
LOCK#
No data transfer
16
LE BUS PCI5ième partie: Les transactions particulièresLock operation / Accès exclusif
Master /Target
Master /Target
Buffer
PCI Bus
F lag
Locked Targetterminates with Retry
MasterF lag
Master modifies the flag
Target
Locked
17
LE BUS PCI5ième partie: Les transactions particulièresLock operation / Accès exclusif
Master /Target
Target Master /Target
Buffer
PCI Bus
F lag
Locked
Lock master completes lock operationBufferF lag
Master
F lag
18
LE BUS PCI5ième partie: Les transactions particulièresLock operation / Accès exclusif
Master Master /Target
Target Master /Target
Buffer
PCI Bus
F lag
Unlocked
Target unlocks itself
BufferF lag
19
LE BUS PCI5ième partie: Les transactions particulièresLock operation / Accès exclusif
1 2 3 4 5
CLK
FRAME#
AD
C/BE#
IRDY#
TRDY#
STOP#
flag data1
bus cmd be 1
DEVSEL#
LOCK#
Master signals locked targetto continue locked access
Lock released
20
LE BUS PCI5ième partie: Les transactions particulièresLock operation / Accès exclusif
Seul le Master à l ’origine d ’un verrouillage d ’une Target peut y accéder
Le master ne peut accéder à aucun autre agent
Une Target verrouillée doit garantir que sa ressource concernée est effectivement verrouillée
La norme n ’impose à la Target que de verrouiller seulement 16 Octets alignés
La Target peut accepter des accès en dehors de sa ressource verrouillée
Il n ’est possible de verrouiller qu ’une seule Target à la fois