Le PCI Express, abrégé PCI-E
Wednesday, January 19, 2011 3:41:36 PM
Le PCI Express, abrégé PCI-E ou PCIe HSTNN-LB42 (anciennement 3GIO, 3rd Generation Input/Output) est un standard 462337-001 développé par Intel et introduit en 2004. Il spécifie un bus local série (? bus PCI express ?) et un batterie compaq connecteur qui sert à connecter des cartes d’extension sur la carte mère d’un ordinateur. Il est destiné à remplacer tous les connecteurs d’extension d’un PC, dont le PCI et l’AGP.
Sommaire
[masquer]
* 1 Une évolution du PCI
* 2 Les bases de PCIe
* 3 Voir aussi
o 3.1 Articles NBP6A48A1 connexes
o 3.2 Sources
* 4 Notes et références
Une évolution du PCI [modifier]
Un avantage du PCI Express est d’être HSTNN-OB42 dérivé de la norme PCI (Peripheral Component Interconnect), ce qui permet aux constructeurs d’adapter simplement leurs cartes d’extension existantes, HSTNN-OB31 puisque seule la couche matérielle est à modifier. D’autre part, il est suffisamment rapide pour pouvoir remplacer non seulement le PCI classique mais aussi l’AGP, un port HSTNN-IB42 rapide pour cartes graphiques. Il serait même envisagé dans l’avenir d’y connecter des périphériques externes.
Contrairement au PCI qui est HSTNN-IB32 relié au southbridge de la carte mère, le PCI Express est souvent disponible à la fois au niveau du northbridge et du southbridge, il a même été récemment integré à certains HSTNN-IB31 microprocesseur.
Alors que le PCI HSTNN-DB31 utilise un unique bus de largeur 32 bits bidirectionnel alterné (half duplex) pour l’ensemble des périphériques, le PCI Express utilise une interface série (de largeur 1 bit) à base de lignes bidirectionnelles. On pourra HSTNN-C17C ainsi parler d’une carte mère possédant 20 lignes PCIe. Une ligne permet théoriquement des 460143-001 échanges full duplex à 250 Mo/s 455804-001 pour la version 1.1 du protocole. Les différents périphériques communiquent alors par échange de paquets et l’arbitrage du bus PCI 454931-001 est remplacé par un commutateur. Le principe de fonctionnement est semblable à de la commutation de paquets selon un modèle à quatre couches :
* couche logicielle : codage/décodage 441611-001 des paquets de données.
* couche transaction : 441425-001 rajout/suppression d’un en-tête de début et d’un en-tête de séquencement ou de numérotation du paquet.
* couche liaison : rajout/suppression 440772-001 d’un code de correction d’erreur (contr?le de redondance cyclique).
* couche physique : transmission 436281-422 du paquet (transmission série ? point à point ?).
On parle de ports PCIe ×1, ×2, ×4, ×8, ×16 et ×32 pour différencier les ports 436281-361 en fonction du nombre de connecteurs de ligne dont ils disposent (respectivement 1, 2, 4, 8, 16 ou 32 lignes maximum). Un port ×32 permet d'atteindre en théorie un débit de 8 Go/s, soit 4 fois le débit des ports AGP[1].
Un port ×16 par exemple peut n’être 436281-251 relié qu’à 8 lignes PCIe ; il devra tout de même avoir un apport de puissance électrique nécessaire aux cartes ×16. Une carte d’extension ×16 fonctionnera sur ce port (mais probablement avec des performances non optimales), car le protocole PCIe prévoit la négociation mutuelle du nombre432306-001 de lignes maximum supportées 411462-442 par les deux entités en relation. De même, une carte (exemple : ×1) peut être connectée et fonctionnera correctement sur un port plus grand (exemple : ×1, ×2, …, ×32).
En 2007 est apparu la deuxième 411462-321 génération de PCIe : gen 2.0 Cette version permet, entre autres, de passer le débit de 250 Mo/sec à 500 Mo/sec par sens par lien. (le débit de la première génération gen 1.0 est doublé).
Les bases de PCIe [modifier]
Deux liens différentiels 411462-261 permettent l'échange de données en émission (direct) et réception (revers) entre deux points A & B.
'n' de ces liens 411462-141 constituent alors les chemins d'échanges (lane) : PCIe 1x 2x 4x 8x.
Un signal émission ou réception HSTNN-LB31 est donc composé de deux fils en mode différentiel.
La combinaison des signaux HSTNN-DB32 émission et réception, soit 4 fils, constitue un chemin (lane).
Le regroupement de 'n' EX941AA chemin représentent le lien PCIe nX.
Root composant permet l'accès au EX940AA CPU, à la mémoire ou tout autre périphérique.
Switch composant qui est optionnel EV089AA permet le transfert PCIe entre end point sans passer par le root.
End point sont les EV088AA périphériques d'échanges.
Les données sont élaborées sous forme de paquets.
PCIe permet le contr?le 417066-001 de flux, la QoS, la virtualisation de canaux, une latence prévisible...
Débit et bande passante :
Une paire différentielle 411463-251 permet un débit de 2,5 Gbit/sec
PCIe 1x aura donc un 411462-421 débit utile de (2,5 * 2 * 8/10)/8 = 500 Mo/sec
Le rapport 2 vient du mode full batterie hp Pavilion dv6100 Series duplex émission + réception.
Le rapport 8/10 est introduit par l'encodage 8B10B utilisé.
PCIe suit le modèle OSI :
* La couche PHYsique PA3672U-1BRS permet le passage des paquets en un flux série. (PCS/PMA layer)
* La couche Data link permet batterie toshiba la gestion de l'intégrité du lien (LCRC) et le contr?le de flux.
* La couche Transaction permet les accès plus au niveau : mémoire, I/O...
Un calcul de CRC est effectuée batterie toshiba Satellite E105-S1802 au niveau data link, il permet de vérifier l'intégrité des échanges à ce niveau.
Un deuxième calcul est réalisé au niveau batterie toshiba Satellite E105-S1602 transactionnel, c'est un calcul de CRC de bout en bout (ECRC).
Si ECRC est faux, il est possible batterie toshiba Satellite E105-S1402 de demander de renvoyer à nouveau le paquet.
Ceci est géré au niveau data link par un paquet DLLP (data link layer paquet) spécifique.
Les paquets de type DLLP sont transparents à l'utilisateur batterie toshiba Satellite E105 qui ne voit que les paquets TLP en général.
DLLP sont donc des paquets de management (completion, configuration).
Software layer *data*
+-------------------+
| Transaction layer | **Header,*data*,ecrc**
+-------------------+
| Data Link Layer |
| | ***Sequence,**Header,*data*,ecrc**,lcrc***
+-------------------+
| PHYsical LAyer |
| | Start,***Sequence,**Header,*data*, batterie toshiba Satellite E100 ecrc**,lcrc***,End
+-------------------+
L'en tête du packet PCIe est de 3 à 4 mots de 32 bits.
La zone de charge utile, data, est de 0 à 1024 mots de 32 bits.
Un mot de 32 bits est appelé Double Word VGP-BPS8B (DW) sachant qu'un word est un double octet et qu'un octet est composé de 8 bits.
Le niveau physique est VGP-BPS8A composé des éléments suivant :
* circuit de récupération d'horloge (coté réception), (PMA)
* SERDES, (PMA)
* embrouilleur, (PMA)
* encodage 8B/10B. VGP-BPS8 (PCS)
Le niveau data link dispose d'un "Replay Buffer" coté émission permettant de renvoyer le paquet lorsque le récepteur détecte des erreurs.
Différents types de VGP-BPL8A transactions existent :
* lecture ou d'écriture du plan mémoire,
* configuration en phase VGP-BPL8 d'initialisation,
* messages permettant l'échange d'événements entre périphériques,
* achèvement (completion) de la transaction.
Deux types de transactions sont batterie sony possibles : posté ou non postée.
La transaction de type postéebatterie sony VAIO VGN-FZ92S envoie un paquet et n'attend rien en retour : c'est comme une lettre à la poste.
La transaction de type non postée qui attend un paquet d'achèvement en retour : c'est comme une lettre en recommandée.
Une écriture mémoire sera de type posté batterie sony VAIO VGN-FZ92NS alors qu'une lecture mémoire sera de type non posté.
Si l'usage fait de PCIe est simple, l'utilisateur peut se brancher au niveau transactionnel.
Il faudra alors gérer les paquets batterie sony VAIO VGN-FZ92HS TLP (transaction layer paquet) en émission réception.
Pour des usages plus poussés, des IP existent (cas d'un design FPGA).
PLDA permet une sur couche batterie sony VAIO VGN-FZ91S entre les paquets TLP et le niveau utilisateur.
Cette sur couche gérera par exemple des accès mémoire direct DMA en mode "scatter gather" éventuellement.
Voir aussi [modifier]
Articles connexes [modifier]
* Peripheral Componentbatterie sony VAIO VGN-FZ91NS Interconnect (PCI)
* HyperTransport
* InfiniBand
* Accelerated Graphics Port (AGP)
Sommaire
[masquer]
* 1 Une évolution du PCI
* 2 Les bases de PCIe
* 3 Voir aussi
o 3.1 Articles NBP6A48A1 connexes
o 3.2 Sources
* 4 Notes et références
Une évolution du PCI [modifier]
Un avantage du PCI Express est d’être HSTNN-OB42 dérivé de la norme PCI (Peripheral Component Interconnect), ce qui permet aux constructeurs d’adapter simplement leurs cartes d’extension existantes, HSTNN-OB31 puisque seule la couche matérielle est à modifier. D’autre part, il est suffisamment rapide pour pouvoir remplacer non seulement le PCI classique mais aussi l’AGP, un port HSTNN-IB42 rapide pour cartes graphiques. Il serait même envisagé dans l’avenir d’y connecter des périphériques externes.
Contrairement au PCI qui est HSTNN-IB32 relié au southbridge de la carte mère, le PCI Express est souvent disponible à la fois au niveau du northbridge et du southbridge, il a même été récemment integré à certains HSTNN-IB31 microprocesseur.
Alors que le PCI HSTNN-DB31 utilise un unique bus de largeur 32 bits bidirectionnel alterné (half duplex) pour l’ensemble des périphériques, le PCI Express utilise une interface série (de largeur 1 bit) à base de lignes bidirectionnelles. On pourra HSTNN-C17C ainsi parler d’une carte mère possédant 20 lignes PCIe. Une ligne permet théoriquement des 460143-001 échanges full duplex à 250 Mo/s 455804-001 pour la version 1.1 du protocole. Les différents périphériques communiquent alors par échange de paquets et l’arbitrage du bus PCI 454931-001 est remplacé par un commutateur. Le principe de fonctionnement est semblable à de la commutation de paquets selon un modèle à quatre couches :
* couche logicielle : codage/décodage 441611-001 des paquets de données.
* couche transaction : 441425-001 rajout/suppression d’un en-tête de début et d’un en-tête de séquencement ou de numérotation du paquet.
* couche liaison : rajout/suppression 440772-001 d’un code de correction d’erreur (contr?le de redondance cyclique).
* couche physique : transmission 436281-422 du paquet (transmission série ? point à point ?).
On parle de ports PCIe ×1, ×2, ×4, ×8, ×16 et ×32 pour différencier les ports 436281-361 en fonction du nombre de connecteurs de ligne dont ils disposent (respectivement 1, 2, 4, 8, 16 ou 32 lignes maximum). Un port ×32 permet d'atteindre en théorie un débit de 8 Go/s, soit 4 fois le débit des ports AGP[1].
Un port ×16 par exemple peut n’être 436281-251 relié qu’à 8 lignes PCIe ; il devra tout de même avoir un apport de puissance électrique nécessaire aux cartes ×16. Une carte d’extension ×16 fonctionnera sur ce port (mais probablement avec des performances non optimales), car le protocole PCIe prévoit la négociation mutuelle du nombre432306-001 de lignes maximum supportées 411462-442 par les deux entités en relation. De même, une carte (exemple : ×1) peut être connectée et fonctionnera correctement sur un port plus grand (exemple : ×1, ×2, …, ×32).
En 2007 est apparu la deuxième 411462-321 génération de PCIe : gen 2.0 Cette version permet, entre autres, de passer le débit de 250 Mo/sec à 500 Mo/sec par sens par lien. (le débit de la première génération gen 1.0 est doublé).
Les bases de PCIe [modifier]
Deux liens différentiels 411462-261 permettent l'échange de données en émission (direct) et réception (revers) entre deux points A & B.
'n' de ces liens 411462-141 constituent alors les chemins d'échanges (lane) : PCIe 1x 2x 4x 8x.
Un signal émission ou réception HSTNN-LB31 est donc composé de deux fils en mode différentiel.
La combinaison des signaux HSTNN-DB32 émission et réception, soit 4 fils, constitue un chemin (lane).
Le regroupement de 'n' EX941AA chemin représentent le lien PCIe nX.
Root composant permet l'accès au EX940AA CPU, à la mémoire ou tout autre périphérique.
Switch composant qui est optionnel EV089AA permet le transfert PCIe entre end point sans passer par le root.
End point sont les EV088AA périphériques d'échanges.
Les données sont élaborées sous forme de paquets.
PCIe permet le contr?le 417066-001 de flux, la QoS, la virtualisation de canaux, une latence prévisible...
Débit et bande passante :
Une paire différentielle 411463-251 permet un débit de 2,5 Gbit/sec
PCIe 1x aura donc un 411462-421 débit utile de (2,5 * 2 * 8/10)/8 = 500 Mo/sec
Le rapport 2 vient du mode full batterie hp Pavilion dv6100 Series duplex émission + réception.
Le rapport 8/10 est introduit par l'encodage 8B10B utilisé.
PCIe suit le modèle OSI :
* La couche PHYsique PA3672U-1BRS permet le passage des paquets en un flux série. (PCS/PMA layer)
* La couche Data link permet batterie toshiba la gestion de l'intégrité du lien (LCRC) et le contr?le de flux.
* La couche Transaction permet les accès plus au niveau : mémoire, I/O...
Un calcul de CRC est effectuée batterie toshiba Satellite E105-S1802 au niveau data link, il permet de vérifier l'intégrité des échanges à ce niveau.
Un deuxième calcul est réalisé au niveau batterie toshiba Satellite E105-S1602 transactionnel, c'est un calcul de CRC de bout en bout (ECRC).
Si ECRC est faux, il est possible batterie toshiba Satellite E105-S1402 de demander de renvoyer à nouveau le paquet.
Ceci est géré au niveau data link par un paquet DLLP (data link layer paquet) spécifique.
Les paquets de type DLLP sont transparents à l'utilisateur batterie toshiba Satellite E105 qui ne voit que les paquets TLP en général.
DLLP sont donc des paquets de management (completion, configuration).
Software layer *data*
+-------------------+
| Transaction layer | **Header,*data*,ecrc**
+-------------------+
| Data Link Layer |
| | ***Sequence,**Header,*data*,ecrc**,lcrc***
+-------------------+
| PHYsical LAyer |
| | Start,***Sequence,**Header,*data*, batterie toshiba Satellite E100 ecrc**,lcrc***,End
+-------------------+
L'en tête du packet PCIe est de 3 à 4 mots de 32 bits.
La zone de charge utile, data, est de 0 à 1024 mots de 32 bits.
Un mot de 32 bits est appelé Double Word VGP-BPS8B (DW) sachant qu'un word est un double octet et qu'un octet est composé de 8 bits.
Le niveau physique est VGP-BPS8A composé des éléments suivant :
* circuit de récupération d'horloge (coté réception), (PMA)
* SERDES, (PMA)
* embrouilleur, (PMA)
* encodage 8B/10B. VGP-BPS8 (PCS)
Le niveau data link dispose d'un "Replay Buffer" coté émission permettant de renvoyer le paquet lorsque le récepteur détecte des erreurs.
Différents types de VGP-BPL8A transactions existent :
* lecture ou d'écriture du plan mémoire,
* configuration en phase VGP-BPL8 d'initialisation,
* messages permettant l'échange d'événements entre périphériques,
* achèvement (completion) de la transaction.
Deux types de transactions sont batterie sony possibles : posté ou non postée.
La transaction de type postéebatterie sony VAIO VGN-FZ92S envoie un paquet et n'attend rien en retour : c'est comme une lettre à la poste.
La transaction de type non postée qui attend un paquet d'achèvement en retour : c'est comme une lettre en recommandée.
Une écriture mémoire sera de type posté batterie sony VAIO VGN-FZ92NS alors qu'une lecture mémoire sera de type non posté.
Si l'usage fait de PCIe est simple, l'utilisateur peut se brancher au niveau transactionnel.
Il faudra alors gérer les paquets batterie sony VAIO VGN-FZ92HS TLP (transaction layer paquet) en émission réception.
Pour des usages plus poussés, des IP existent (cas d'un design FPGA).
PLDA permet une sur couche batterie sony VAIO VGN-FZ91S entre les paquets TLP et le niveau utilisateur.
Cette sur couche gérera par exemple des accès mémoire direct DMA en mode "scatter gather" éventuellement.
Voir aussi [modifier]
Articles connexes [modifier]
* Peripheral Componentbatterie sony VAIO VGN-FZ91NS Interconnect (PCI)
* HyperTransport
* InfiniBand
* Accelerated Graphics Port (AGP)




