当前位置:网站首页>Pcie tlp prefix & pasid tlp prefix Introduction

Pcie tlp prefix & pasid tlp prefix Introduction

2021-10-14 06:06:02 Mangopapa



1. TLP Prefix

1.1 Introduction générale

  GénériqueTLPY compris:Prefix、Header、Data、DigestVoilà.4Section, Format comme indiqué ,Parmi euxPrefixEtDigestEst optionnel.Cet article présente principalementTLP Prefix.

Fig.1 GénéralitésTLPFormat

Fig.1 GénéralitésTLPFormat

  TLP PrefixParPCIe V2.1Introduction, La méthode de mise en œuvre est la suivante: TLP Header Précédemment ajouté 1Ou plusDW Les données préfixées de TLP Plus d'informations ,Pour atteindreTLP PH、PASID、MR-IOVEt autresverndorFonction personnalisée.

  TLP Prefix La fonction est optionnelle , Pour envoyer avec TLP PrefixDeTLP, Tous les composants de l'équipement entre le demandeur et l'ensemble doivent être pris en charge. TLP PrefixCapacité.

Fig.2 TLP PrefixFormat

Fig.2 TLP PrefixFormat

  TLP PrefixAvecHeaderOui.FmtEtTypeDeux champs(Fig.2),Parmi euxFmtPour indiquerTLP PréfixeDWNombre,TypePour indiquerTLP PrefixType de. Le récepteur passe la détection Byte0DeFmt Champ pour déterminer si oui ou non TLP Prefix,SiFmt=100b, Indique le courant DWPourTLP Prefix(Le début de).TLP PrefixDivisé en deux grandes catégories:Local EtEnd-End,Parmi euxLocal TLP PrefixUtilisé pourPCIe Transmission d'informations des deux côtés du lien ,End-End Pour deux EP Transfert d'informations entre les paramètres . Ces deux catégories passent par Type Paragraphe 4bit Pour distinguer ,Local TLP PrefixEtEnd-End TLP Prefix Les grandes catégories peuvent être subdivisées en plusieurs sous - catégories ,Comme indiqué dans le tableau1Comme indiqué.

Tableau1 TLP PrefixType

Type[4] (b) Type[3:0] (b) Prefix Type Description
0 0000 MR-IOV Local, MR-IOV TLP Prefix
0 1110 VendPrefixL0 Local, Personnalisé par le fournisseur Local TLP Prefix
0 1111 VendPrefixL1 Local, Personnalisé par le fournisseur Local TLP Prefix
0 Autres - Local, RéservéLocal TLP PrefixType
1 0000 TPH End-End, TPH
1 0001 PASID End-End, PASID
1 1110 VendPrefixE0 End-End, Personnalisé par le fournisseur End-End TLP Prefix
1 1111 VendPrefixE1 End-End, Personnalisé par le fournisseur End-End TLP Prefix
1 Autres - End-End, RéservéEnd-End TLP PrefixType

1.2 TLP PrefixTraitement

1.2.1 Règles de base

  Pour lesTLP PrefixDeTLP, Les règles suivantes s'appliquent: :

  • TLP Fmt[2:0]Le champ est défini à100b Pour indiquer qu'il est actuellement TLP Prefix,Type[4]Bitwise0bIndique queTLP PrefixPourLocalType,Pour1bIndique queTLP PrefixPourEnd-EndType;
  • TLP PrefixDeByte1~Byte3BaseTLP Prefix Type à spécifier ;
  • TransportTLP PrefixDeTLPInPrefix Il reste un en - tête. , Sinon, traiter comme un paquet déformé ;
  • UniqueTLP Les paquets peuvent transporter plusieurs types identiques ou différents TLP Prefix,Tous lesLocal TLP PrefixDoit êtreEnd-End TLP PrefixAvant, Sinon, traiter comme un paquet déformé ;
  • ChaqueTLP PrefixLa taille est1DW, Plus de données peuvent être chargées plusieurs fois ;
  • LocalEtEnd-End TLP Prefix Traiter selon leur traitement respectif .

1.2.2 Local TLP PrefixTraitement

  Local TLP Prefix Suivez les règles suivantes: :

  • Local TLP PrefixMoyenneTypeChampType[4]Bitwise0b,AvecType[3:0] (L[3:0]) Plus fin Local TLP PrefixClassification, La classification est indiquée dans le tableau ci - dessous. 1Comme indiqué.
  • Tous types Local TLP PrefixTaille、Routage、 Le contrôle des flux est inégal ;
  • Si le destinataire reçoit un Local TLP Prefix Une erreur s'est produite . Si la capacité de l'équipement 2Registres(Fig.3)C'est ouvert.Extended Fmt Field Supported Il est traité comme un sac déformé. , Et signaler une erreur au port de réception ; Si non ouvert Extended Fmt Field Supported, La gestion des erreurs est laissée à la discrétion de l'appareil ;
  • Local TLP PrefixNon.ECRCProtection, Pour le moment TLP Encore acceptable ECRCProtection.

  VendPrefixL0EtVendPrefixL1 Sont deux catégories réservées aux fournisseurs Local TLP Prefix. Afin de maximiser ce type Local TLP Prefix Interopérabilité et flexibilité , Les règles suivantes s'appliquent: Local TLP Prefix:

  • Les composants ne peuvent pas utiliser les deux types sans autorisation Local TLP Prefix, À moins qu'il n'utilise le mécanisme fourni par le fournisseur ;
  • SoutienVendPrefixL0EtVendPrefixL1TypeLocal TLP Prefix Les composants de doivent supporter 3bit FmtEt allumeExtended Fmt Field Supported;
  • Recommandé dans les composants vendPrefix Type compatible .

Fig.3  Device Capability 2 Register

Fig.3 Device Capability 2 Register


1.2.3 End-End TLP PrefixTraitement

  End-End TLP Prefix Suivez les règles suivantes: :

  • End-End TLP PrefixMoyenneTypeChampType[4]Bitwise1b,AvecType[3:0] (E[3:0]) Plus fin End-End TLP PrefixClassification, La classification est indiquée dans le tableau ci - dessous. 1Comme indiqué.
  • End-End TLP Prefix Le nombre maximum de 4, Si le destinataire reçoit End-End TLP Prefix Nombre supérieur à 4, Il doit être traité comme un sac déformé. ;
  • End-End TLP Prefixd Ça n'arrivera pas. TLP Règles de routage originales ;
  • function Maximum supporté End-End TLP Prefix Capacité du matériel 2 Registre à configurer (Fig.3);
  • SoutienEnd-End TLP PrefixDeswitch Prise en charge de la transmission du transport maximal 4- Oui.End-End TLP PrefixDeTLP;
  • Soutien multiple End-End TLP PrefixDeRPChambre, Maximum supporté End-End TLP Prefix Le nombre peut varier ;
  • Si par la suite TLPSousECRCProtection,EtEnd-End TLP PrefixDe même.ECRCProtection;
  • Si le destinataire ne supporte pas End-End TLP Prefix Mais reçu avec End-End TLP PrefixDeTLP, Une erreur s'est produite , Traiter selon le paquet de déformation , Erreur de déclaration du port de réception ;
  • Le logiciel doit assurer le transport End-End TLP PrefixDeTLP Non envoyé non pris en charge End-End TLP PrefixComposants de, Parce que le composant est mal interprété End-End TLP Prefix;
  • Si un port de liaison montante functionSoutienEnd-End TLP Prefix Mais reçu un type non pris en charge End-End TLP Prefix, Tous les ports de liaison montante function Les demandes d'adresse qu'ils reçoivent doivent être adressées à: URTraitement,AdresseComplitionSelonCATraitement, Erreur de déclaration du port de réception ;
  • Pour certains de ses éléments de routage , Si un port de sortie est ouvert End-End Prefix BlockingFonction, - Oui. End-End TLP PrefixDeTLP Sera bloqué dans cette sortie ; Une fois bloqué ,Pas seulementTLP Prefix,ToutTLP Ils vont tous se faire jeter. , Et faire rapport TLP Prefix Erreur de blocage ; Si la demande bloquée n'est pas transmise TLP, Le port de sortie renvoie un message avec l'état d'achèvement non pris en charge pour l'achèvement demandé ;
  • Si un élément a la fonction Multicast activée , Copie à chaque groupe Multicast TLP Ils transportent l'original. TLPDeEnd-End TLP Prefix.

  VendPrefixE0EtVendPrefixE1 Sont deux catégories réservées aux fournisseurs End-End TLP Prefix. Afin de maximiser ce type End-End TLP Prefix Interopérabilité et flexibilité , Les règles suivantes s'appliquent à ces préfixes: :

  • Les composants ne peuvent pas utiliser les deux types sans autorisation End-End TLP Prefix, À moins qu'il n'utilise le mécanisme fourni par le fournisseur ;
  • Recommandé dans les composants verdPrefix Type compatible .

 SoutienEnd-End TLP PrefixDeRP
  PR Vous pouvez choisir s'il supporte la bande End-End TLP PrefixDeP2P TLPRoutage, Et ils sont mis en œuvre indépendamment .SiRCPrise en charge de plusieursRPEntreEnd-End TLP PrefixRoutage, Doit être configuré en fonction RP Capacité du matériel 2 Registre ouvert End-End TLP Prefix SupportedCapacité.
  PourRC Tous les supports End-End TLP PrefixDeRP,RC Aucun support nécessaire RPEntreEnd-End TLP PrefixRoutage. Si la paire n'est pas prise en charge End-End TLP PrefixDeRP Entre End-End TLP PrefixDemandes de routage,SelonURTraitement,CorrespondantcompletionSelonUCTraitement.
  Tous les soutiensEnd-End TLP PrefixTransmisRP À ouvrir End-End TLP PrefixCapacité.C'est différent.RP Maximum supporté End-End TLP PrefixÇa peut être différent.
  SiRC Pour la promotion RPChambreP2P Les performances de routage permettent d'obtenir TLP Divisé en plusieurs petits stylos TLP, Chaque coup après le fractionnement TLP Doit porter l'original TLPDeEnd-End TLP Prefix.


1.2.4 TLP Prefix Enregistrement et traitement des erreurs

   Récepteur reçu avec TLP PrefixDeTLP Il y a plusieurs types d'erreurs :

  • Oui.TLP PrefixMais il n'y a pasTLP Header;
  • End-End TLP PrefixEst apparuLocal TLP PrefixAvant;
  • Type non pris en charge Local TLP PrefixType;
  • End-End TLP Prefix Plus de 4Stylo;
  • End-End TLP Prefix Le nombre de dépasse le nombre maximum fixé .

  Pour le soutienTLP PrefixEtAERDedevice function,C'est ouvert.TLP Prefix Log Present BitAprès,AER Le mécanisme TLP Prefix Erreur enregistrée dans TLP Prefix Log Register,Les règles suivies sont liées àTLP Header Log RegisterMême chose..Mais...️ AER Le mécanisme ne prend en charge que les enregistrements End-EndTypeTLP PrefixErreur ️, Erreur enregistrée dans TLP Prefix Log registerMoyenne.LocalTypeTLP Prefix Les erreurs sont enregistrées séparément ailleurs ,Par exemple,MR-IOV TLP Prefix Les erreurs sont enregistrées directement dans Mr-IOVDans la structure, Au lieu d'être enregistré dans AERDans le registre.

  Extended Fmt Field Supported Position 1 ,Si non pris en chargeTLP PrefixDefunction Reçu avec TLP PrefixDeTLP, Il devrait TLP Comme une déformation. TLPTraitement,Et mettreTLP Les quatre premiers DWEnregistré dansTLP Header LogDans le registre.

  SifunctionBien reçu.End-End TLP PrefixAu - delà defunction La valeur maximale définie est incorrecte , Et déverser le premier End-End TLP PrefixDépôtHeader Log Premier registre DWMoyenne( Reste non défini ).



2. PASID TLP Prefix

2.1 Introduction générale

  PASID(Process Address Space ID) ,Espace d'adresseID,- Oui.EPLocalID,Chaquefunction Il y en a un autre. PASID,C'est différent.functionEntrePASIDNon corrélé.AvecPASIDDeTLP PrefixC'est unEnd-EndDeTLPPréfixe,PASIDAvecRequester ID Ensemble en tant que demande TLP Identification unique de l'espace d'adresse .Même chose.PASID Réutilisable dans le même système .

  PASID TLP Prefix La compétence s'applique EPEtRCiEP,AvecPASIDExtensibleEP Prise en charge de l'envoi et de la réception avec PASID TLP PrefixDeTLP.PASID Disponible uniquement pour les types suivants TLP:

  • Demande d'accès à la mémoire avec adresse non convertie ,Y compris:atomicDemande;
  • Demande de conversion d'adresse;
  • ATS Message annulé ;
  • Message de demande de page ;
  • Groupe de demande de page PRGMessage de réponse.

  Sauf ci - dessusTLP Autres TLP Non applicable PASID.

  PASID TLP Prefix Capacité et ATS(Address Translation Services)EtPRI(Page Request Interface)Indépendant les uns des autres,AvecPASID TLP Prefix Les composants de la capacité peuvent ne pas être pris en charge ATSOuPRI,SoutienATSOuPRI Les composants peuvent également ne pas être pris en charge PASID TLP Prefix.


2.2 Configuration du logiciel

   Le composant doit être mis en œuvre PASID TLP Prefix Structure des capacités à utiliser PASID TLP PrefixCapacité.PASID TLP Prefix La structure des capacités est illustrée dans la figure ci - dessous. 4Comme indiqué,Oui.PASID TLP Prefix En - tête d'extensibilité pour 、PASID Registres de contrôle et PASID Registre de contrôle en trois parties .

Fig.4 PASID Extended Capability Structure

Fig.4 PASID Extended Capability Structure

   Ils sont décrits ci - dessous. :

  • PASSID Extended Capability Header:PASIDEn - tête d'extensibilité(Fig.5), Indique que le composant a PASIDCapacité d'expansion、 Version extensible et décalage d'adresse pour la prochaine extensibilité .
  • PASID Capability Register:PASIDRegistre des capacités(Fig.6),Max PASID Width Utilisé pour indiquer EP Maximum supporté PASIDLargeur du BIT,Le champ d'application est le suivant:[0~20],0 Indique que seul le support PASID=0Situation;Priviledged Mode Supported Le réglage temporaire indique que le mode privilège est pris en charge , Zéro signifie que le mode privilège n'est pas pris en charge ;Execute Permission Supported Définir une représentation EPDansExcute Request BIT peut être réglé un .
  • PASID Control Register:PAISIDRegistre de contrôle(Fig.7), Pour permettre PASID、Execute Permisison Et le mode privilège . Le cas échéant bit Non activé ,EtPASID Configuration de corrélation invalide dans le registre des capacités .

Fig.5 PASID Extended Capability Header

Fig.5 PASID Extended Capability Header

Fig.6 PASID Capability Register

Fig.6 PASID Capability Register

Fig.7 PASID Control Register

Fig.7 PASID Control Register


2.3 PASID TLP PrefixFormat

  PASID TLP Prefix Format comme indiqué dans la figure 8Comme indiqué.

Fig.8 PASID TLP Prefix

Fig.8 PASID TLP Prefix

   Les champs de la figure sont expliqués dans le tableau suivant: (Tableau2):

Tableau2 PASID TLP Prefix

bit Description
Byte0, bit [7:5] Valeur fixe100b,Pour indiquerTLP Prefix
Byte0, bit[4] Valeur fixe1b, Utilisé pour indiquer de bout en bout TLP Prefix
Byte0, bit[3:0] Valeur fixe0001b,Pour indiquerPASID TLP Prefix
Byte1, bit[7] Demande de mode privilégié
Byte1, bit[6] Exécution des demandes
Byte1 bit[3] ~ Byte3 bit[0] PASIDValeur

2.3.1 PASIDChamp

  EPMoyenne,PASID Largeur du champ 20bit, La largeur réelle du BIT utilisé est PASID Défini dans le registre des capacités Max PASID WidthValeur, Maximum supporté PASIDLa valeur est:2Max_PASID_Width-1.RC Un tel mécanisme devrait également être mis en place. .

  SiPASID Dans le registre de contrôle PASID Enable bit No 1 ,EtEP Impossible d'envoyer et de recevoir avec PASIDDe TLP Prefix, Reçu avec PASID TLP PrefixDeTLPSelonURTraitement.

  RC Peut soutenir sélectivement PASID TLP Prefix, Et un mécanisme doit être prévu pour détecter RCOui NonPASID TLP Prefix.
EP Envoyer et recevoir avec PASID TLP PrefixDeTLP Les règles suivantes s'appliquent: :

  • EPEnvoyéTLPMoyennePASIDLe maximum est2^Max_PASID_Width-1;
  • SiEPBien reçu.TLPMoyennePASID≥2^Max_PASID_Width,SelonURTraitement, La Déclaration des erreurs est facultative .
    RC Envoyer et recevoir avec PASID TLP PrefixDeTLP Les règles suivantes s'appliquent: :
  • RCEnvoyé parPASID La valeur ne peut pas dépasser sa plage admissible ;
  • SiRCBien reçu.TLPMoyennePASIDHors de portée,SelonURTraitement, La Déclaration des erreurs est facultative .

   Terminé reçu avec PASID TLP PrefixDeTLP Les règles suivantes s'appliquent: :

  • Pour les demandes d'accès à la mémoire sans adresse convertie ,PASID Déterminer l'adresse convertie avec l'adresse non convertie ;
  • Pour les adresses de conversion TLP, Références aux règles ATSSpécifications.

 PASID Homogénéité de la largeur des bits
   La montagne de la théorie ,ChaquefunctionDePASID Les valeurs sont toutes différentes ,EtPASID La largeur du BIT doit également être conforme à chaque function Définir les exigences réelles pour . Mais en réalité, , Les logiciels système ne suivent souvent pas les règles de modification , Mais dans tous les cas, function Tous les mêmes PASID Accéder à une plage d'adresses spécifique à un bloc .Dans ce cas, Pour s'assurer qu'il est universel PASID La largeur du BIT peut fonctionner correctement RCEtTA(Translation Agent, Agent de transformation )Allez., Le logiciel système doit désactiver la prise à chaud EPOuPASID Largeur du BIT inférieure à générale PASIDBitwidthTADeATSServices.
  Considérant queRC、EPEtTA La mise en œuvre de composants matériels similaires est souvent indépendante du logiciel système , Pour une interaction logicielle et matérielle conviviale , Il est donc recommandé que ces implémentations matérielles aient une largeur de bits 20bitDePASID.


2.3.2 Execute RequestedChamp

  InPASID Dans le registre des capacités et le registre de contrôle Execute permission SupportedEtExecute Permission Enable Tous les bits sont valides (Un)C'est l'heure.Execute Requested Un seul bit. ,SiExecute RequestPosition I,Indique queEP Demande d'exécution TLP Instructions pour l'adresse .
PourRC, Il suit les règles suivantes: :

  • RCOui Nonexecute requestedEst optionnel;
  • Soutienexecute requestedDeRC Un mécanisme doit être prévu pour permettre cette fonction. ;
  • Soutienexecute requestedDeRCPeut prendreRP、Bus Number、Requester ID Pour obtenir un grain plus fin comme référence execute requestedRéglage des bits.

   Pour compléter , Il suit les règles suivantes: :

  • Paire complète execute requested Vérification de l'efficacité ,Il doit êtreExecute permission Supported、Execute Permission EnableEtExecute Requested Lorsqu'il est également valide execute Demande valide ;
  • Pour les demandes de lecture de mémoire sans adresse convertie , Si la demande est détectée par le remplisseur executeRequête non valable, L'adresse est considérée comme vide par le finisseur ( Adresse non cartographiée )Traitement;
  • Pour les demandes de stockage sans adresse convertie , Demandes d'accès au stockage autres que les demandes de lecture d'adresses non converties ,execute requested Réservation de places ;
  • Pour la traduction d'adresses TLP,Leexecute requested Pour la méthode d'utilisation des bits, voir ATS Spécifications relatives au service .

2.3.3 Privileged Mode RequestedChamp

  Seulement siEP Activé lorsque le mode privilégié est pris en charge et activé Privileged Mode Requested,SiPrivileged Mode RequestedPosition I,Indique queTLP Demande en mode privilège . Pour une introduction aux modes privilégiés et non privilégiés, voir :Liens.
PourRC, Les règles suivantes s'appliquent: :

  • Privileged Mode RequestedC'est exact.RC Est optionnel ;
  • SoutienPrivileged Mode RequestedDeRC Un mécanisme doit être prévu pour permettre cette fonction. ;
  • SoutienPrivileged Mode RequestedDeRCPeut prendreRP、Bus Number、Requester ID Pour obtenir un grain plus fin comme référence Privileged Mode RequestedRéglage des bits.

   Pour compléter , Il suit les règles suivantes: :

  • Paire complète execute requested Vérification de l'efficacité ,Il doit êtreExecute permission Supported、Execute Permission EnableEtExecute Requested Lorsqu'il est également valide execute Demande valide ;
  • Pour les demandes de lecture de mémoire sans adresse convertie , Si la demande est détectée par le remplisseur executeRequête non valable, L'adresse est considérée comme vide par le finisseur ( Adresse non cartographiée )Traitement;
  • Pour la traduction d'adresses TLP,Leexecute requested Pour la méthode d'utilisation des bits, voir ATS Spécifications relatives au service .

2.4 PASID TLP Prefix Gestion de l'utilisation

   Seulement ouvert. PASID Les composants de la capacité peuvent être utilisés PASID TLP Prefix, Sinon, vous ne pouvez pas envoyer et recevoir avec PASIDDeTLP Prefix.
EP/RCiEPDansfunctionEn servicePASID TLP Prefix Les règles suivantes s'appliquent: :

  • Seulement réaliséPASID Les capacités sont structurées et activées PASIDDefunction Pour envoyer ou recevoir avec PASID TLP PrefixDeTLP;
  • function Un mécanisme est nécessaire pour function Dans les nuages PASID Association dynamique , Le mécanisme est spécifié par l'appareil ;
  • function Un mécanisme est nécessaire pour demander l'arrêt d'une utilisation spécifique PASID.

  RCDansfunctionEn servicePASID TLP Prefix Les règles suivantes s'appliquent: :

  • RC Un mécanisme spécifié par l'appareil est nécessaire pour indiquer functionSoutienPASID TLP Prefix;
  • SoutienPASID TLP PrefixDeRC Un mécanisme est nécessaire pour activer PASID TLP Prefix;
  • SoutienPASID TLP PrefixDeRC Vous pouvez choisir de spécifier plus de lignes par périphérique PASIDRègles pertinentes, Comme la différence. RP、Requester、Bus Contrôle isométrique PASIDActiver, Pour un contrôle plus fin .


RÉFÉRENCES

  1. PCI Express Base Specification Revision 5.0 Version 1.0 (22 May 2019)
  2. PCI Express Technology - Comprehensive Guide to Generation1.x, 2.x and 3.0. Mike Jacson, Ravi Budruk, MindShare, Inc.

版权声明
本文为[Mangopapa]所创,转载请带上原文链接,感谢
https://chowdera.com/2021/10/20211013211639740e.html

随机推荐