12
1 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 Intérêt de transactions retardées Exemple de transaction retardée 1 ière partie: Présentation 2 ième partie: Les signaux 3 ième partie: Les échanges de données 4 ième partie: L ’Arbitrage 5 ième partie: Les transactions particulières 6 ième partie: Les aspects électriques,tim ings 7 ième partie: Bridge PC I/PC I 8 ième partie L ’espace de configuration 9 ième partie Les perform ances Cours_bus_PCI_8_02

LE BUS PCI 9 ième partie: Les performances Sommaire - Repère

  • Upload
    tass

  • View
    28

  • Download
    0

Embed Size (px)

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 Presentation

Citation preview

Page 1: LE BUS PCI 9 ième  partie: Les performances Sommaire - Repère

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

Page 2: LE BUS PCI 9 ième  partie: Les performances Sommaire - Repère

2

LE BUS PCI9ième partie: Les performancesLa bande passante en fonction de la longueur des bursts

Transactions courtes

Transactions longues

Page 3: LE BUS PCI 9 ième  partie: Les performances Sommaire - Repère

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

Page 4: LE BUS PCI 9 ième  partie: Les performances Sommaire - Repère

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

Page 5: LE BUS PCI 9 ième  partie: Les performances Sommaire - Repère

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

Page 6: LE BUS PCI 9 ième  partie: Les performances Sommaire - Repère

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

Page 7: LE BUS PCI 9 ième  partie: Les performances Sommaire - Repère

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

Page 8: LE BUS PCI 9 ième  partie: Les performances Sommaire - Repère

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

Page 9: LE BUS PCI 9 ième  partie: Les performances Sommaire - Repère

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

Page 10: LE BUS PCI 9 ième  partie: Les performances Sommaire - Repère

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#

Page 11: LE BUS PCI 9 ième  partie: Les performances Sommaire - Repère

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

Page 12: LE BUS PCI 9 ième  partie: Les performances Sommaire - Repère

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