le bus pci 9 ième partie: les performances sommaire - repère
DESCRIPTION
LE BUS PCI 9 ième partie: Les performances Sommaire - Repère. Neuvième partie Les performances La bande passante en fonction de la longueur des bursts Exemple de performances atteintes en lecture / écriture Latence: Quelques définitions Latence des maîtres Latence des cibles - PowerPoint PPT PresentationTRANSCRIPT
1
LE BUS PCI9ième partie: Les performancesSommaire - Repère
Neuvième partie
Les performances
La bande passante en fonction de la longueur des bursts
Exemple de performances atteintes en lecture / écriture
Latence: Quelques définitions
Latence des maîtres
Latence des cibles
Intérêt de transactions retardées
Exemple de transaction retardée
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_8_02
2
LE BUS PCI9ième partie: Les performancesLa bande passante en fonction de la longueur des bursts
Transactions courtes
Transactions longues
3
LE BUS PCI9ième partie: Les performancesExemple de performances atteintes en lecture / écriture
Hypothèses: 1 cycle « mort » avant la 1ière phase de données 1 cycle « mort » entre chaque transaction
Transfert en lecture d ’une donnée: 4 cycles de CLK CLK: 33 MHz 33,33 MO/s CLK: 66 MHz 66,66 MO/s
Transfert en écriture d ’une donnée: 3 cycles de CLK CLK: 33 MHz 44,44 MO/s CLK: 66 MHz 88,88 MO/s
Pour optimiser les performances, il faut: Utiliser des lectures multiples Utiliser des composants permettant d ’éviter l ’insertion de cycles « morts » Attention à la taille des buffers
4
LE BUS PCI9ième partie: Les performancesLatence: Quelques définitions
Temps de Latence Description
Bus access latency Définit le temps entre la requête du maître et l’utilisation du bus(le 1ier transfert de données). Egal à la somme du « Busacquisition latency » et du « Target latency »
Arbitration latency Définit le temps entre la requête du bus (REQ#) et l’assertion deGNT# par l’arbitre . Ce temps dépend de l’algorithme d’arbitrageimplanté, la priorité du maître demandeur et des demandes desautres maîtres.
Bus acquisition latency Définit le temps entre la réception de GNT# par le maîtredemandeur et le moment où le maître courant rend le bus aumaître demandeur.
REQ#by master
GNT#by arbiter
FRAME#by master
Arbitration's latency Bus acquisition's latency
Bus access latency
5
LE BUS PCI9ième partie: Les performancesLatence des maîtres
C ’est le nombre de période CLK que met un maître pour positionner IRDY#
1ière phase de données: Nombre max de périodes CLK entre FRAME# actif et IRDY# actif: 8 Transaction en écriture: Il ne devrait pas y avoir plus de 1 ou 2 période(s)
de CLK Transaction en lecture: Il ne devrait pas y avoir de latence
Phases de données suivantes: Nombre de périodes de CLK entre l ’assertion de IRDY# et la fin de la phase de
données précédente
6
LE BUS PCI9ième partie: Les performancesLatence des cibles
Initial target latency: Nombre de cycle CLK entre l ’assertion de FRAME# et la 1 ière assertion de TRDY# Max: 16 périodes de CLK
Subsequent target latency: Nombre de cycle CLK entre l ’assertion de IRDY# ou de TRDY# pour une phase de
données et l ’assertion de TRDY# ou STOP# pour la phase de données suivante Max: 8 périodes de CLK
7
LE BUS PCI9ième partie: Les performancesLatence des cibles
1 2 3 4 5 6 7 8 9
CLK
FRAME#
AD
C/BE#
IRDY#
TRDY#
address data3data1 data2
bus cmd be 1 be 3be 2
InitialTarget Latency
SubsequentTarget Latencies
8
LE BUS PCI9ième partie: Les performancesLatence des cibles
Deux types de cibles:
La cible force toujours son signal TRDY# en moins de 16 périodes de CLK à partir du moment où FRAME# est actif Rien à faire pour être compatible PCI 2.1 du point de vue de la latence de la cible
La cible n ’arrive pas à positionner son signal TRDY# en moins de 16 périodes de CLK à partir du moment ou FRAME# est actif Utilisé pour retarder une transaction
9
LE BUS PCI9ième partie: Les performancesIntérêt de transactions retardées
La transaction se termine au niveau de la cible sans bloquer le maître avec des TWAIT supplémentaires
10
LE BUS PCI9ième partie: Les performancesExemple de transaction retardée (1/3)
La cible t0 dispose de mémoire L ’accès à cette zone par un maître sur le bus PCI excède souvent une latence de 16
cycles du fait d ’un process interne
Le maître m0 accède la cible t0 en lecture t0 empile la demande de lecture (read request: rr) en retardant la transaction t0 initialise une transaction « retry » en forçant STOP#
Master0 Master
1
Target0
Target1
PCI Bus
Memoryarray
rr
STOP#
11
LE BUS PCI9ième partie: Les performancesExemple de transaction retardée (2/3)
Le maître m0 n ’est pas bloqué avec des TWAIT par la cible t0 Le bus est disponible pour un autre maître, par exemple... Le Maître m1 accède à la cible t1 en écriture
t1 termine la transaction en forçant TRDY# t0 termine la transaction retardée vers la zone mémoire alors que m1 accède à t1
• La demande de lecture génère un read completion (rc)
TRDY#
Master0 Master
1
Target0
Target1
PCI Bus
Memoryarray
rc
12
LE BUS PCI9ième partie: Les performancesExemple de transaction retardée (3/3)
Le maître m0 refait un accès à la cible t0 en lecture t0 termine la transaction en forçant TRDY#
La donnée en lecture est envoyée au maître Read completion est supprimé de la pile
La bande passante utilisable est augmentée et la latence de m1 est réduite
Master0 Master
1
Target0
Target1
PCI Bus
Memoryarray
rc