120 likes | 261 Views
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
E N D
LE BUS PCI9ième partie: Les performancesSommaire - Repère • Neuvième partieLes 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 Cours_bus_PCI_8_02
Transactions longues Transactions courtes LE BUS PCI9ième partie: Les performancesLa bande passante en fonction de la longueur des bursts
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
GNT# REQ# FRAME# by arbiter by master by master Arbitration's latency Bus acquisition's latency Bus access latency LE BUS PCI9ième partie: Les performancesLatence: Quelques définitions
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
LE BUS PCI9ième partie: Les performancesLatence des cibles • Initial target latency: • Nombre de cycle CLK entre l ’assertion de FRAME# et la 1iè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
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
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
PCI Bus Master Master 0 1 STOP# rr Memory Target Target array 0 1 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#
TRDY# 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) PCI Bus Master Master 0 1 rc Memory Target Target array 0 1
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 PCI Bus Master Master 0 1 rc Memory Target Target array 0 1