当前位置:网站首页>Introduction aux transactions verrouillées pcie

Introduction aux transactions verrouillées pcie

2021-10-14 05:59:14 Mangopapa




1. Historique de la transaction de verrouillage

  CertainsCPULe verrouillage peut être déclenché par erreur pendant l'exécution de l'instruction et entrer dans le mode d'accès au verrouillage.Par exemple,,Certains logiciels traditionnels n'ont pas besoinexclusiveAccès à,Mais à cause d'une mauvaise utilisation des transactions qui sont maintenant verrouilléesPCIeLe lien a généré un verrouillage.Parce que l'accès est verrouilléIOL'appareil peut introduire une impasse、Détérioration des performances de transmission,Donc...(Pure)PCIe EPAccès verrouillé interdit,Le nouveau logiciel ne permet pas non plus l'accès avec verrouillageIOInstructions pour le fonctionnement de l'équipement.Pour éviter l'accès aux systèmes utilisant des logiciels traditionnelsIOL'appareil a causé une impasse,InPCIeSouvent utilisé dans le systèmeRCRemplacer l'hôteCPUInitier une transaction de verrouillage.

  La transaction verrouillée n'est pas une transaction de transfert,Il y a trois:Demande de lecture de mémoire verrouillée(MRdLk)、Correspondant à la demande de lecture de mémoire verrouilléeAchèvement sans données(CplLk)Et correspondant à la demande de lecture de mémoire verrouilléeAchèvement avec données(CplDLk).PCIeDans le systèmeUniquement autoriséRCAccès verrouillé initié,Non autoriséEPEtbridgeAccès verrouillé initié,Tradition de prise en charge de l'accès verrouilléEPÉgalement utilisé uniquement pour la compatibilité avec les anciennes versions de logiciels existants.Ça correspond.PCIAccordexclusiveRestrictions à l'accès aux transactions verrouillées.Schéma du Protocole de transaction de lecture de mémoire verrouillée comme indiqué dans la figure1Comme indiqué.

Insérer la description de l'image ici

Fig.1 Schéma du Protocole de transaction de lecture de mémoire verrouillée



2. Lancement et transmission de transactions verrouillées

   La transaction de verrouillage est effectuée par l'hôte après l'écriture de la transaction demandée CPU Une ou plusieurs opérations de demande de lecture initiées , La demande de lecture a la même adresse de destination que la demande d'écriture .Demande de lecture de mémoire verrouilléeTLP Routage vers l'aval à l'aide de l'information contenue dans l'en - tête du paquet , Par commutation , Atteindre l'objectif atteint par . La demande ne peut être remplie que par des personnes traditionnelles EP. Une fois verrouillé , Dans le verrouillage RC à la tradition EP Ou sur le chemin entre les ponts , Toutes les autres demandes seront bloquées .

Les règles suivantes s'appliquent à l'initiation et à la transmission des opérations de verrouillage:

  • Verrouiller la séquence de transaction pour MRdLk、CplDLk Attendre que la transaction de verrouillage commence , Fin du message de déverrouillage .
  • Déverrouiller le message pour indiquer le déverrouillage ,ParRC Délivré à l'achèvement , Peut également être diffusé à tous EP Et le pont , Les appareils non liés au verrouillage ignorent ce message .
  • Le message de déverrouillage est transmis par le noeud d'échange au port de sortie verrouillé dans le noeud d'échange. .
  • Après avoir reçu le message de déverrouillage ,La traditionEP Et le noeud de commutation doit être déverrouillé .PourPCIe EP Récepteur verrouillé non pris en charge, comme un pont , L'alignement de déverrouillage n'a aucun effet .
  • Toutes les violations des transactions verrouillées / Les règles de transmission peuvent entraîner des périphériques inconnus /Comportement systématique.
  • ParMRdLk Début de la transaction de verrouillage , Sa prochaine demande de lecture de mémoire doit également être un accès verrouillé ,Bien reçu.CplDLk Indique une lecture réussie ,CplLkIndique un échec. Si la demande de lecture de verrouillage échoue , Cela signifie que l'atomicité de l'accès verrouillé est détruite , Le verrouillage entre le demandeur et le finisseur n'existe plus non plus. .
  • Aucune demande de verrouillage écrite en mémoire , Seules les demandes normales d'écriture de mémoire .


3. ChacunPCIe Règles d'accès verrouillées pour les composants

3.1 Règles d'accès verrouillées pour les noeuds d'échange

   Le noeud de commutation doit distinguer les transactions verrouillées des transactions non verrouillées , Empêcher les transactions verrouillées d'affecter les transactions non verrouillées , Provoque une impasse potentielle . Les noeuds de commutation doivent suivre les règles suivantes: :

  • Le noeud de commutation passe du port d'entrée au port de sortie MRdLkSur demande, Toutes les cartes envoyées à la sortie doivent être bloquées VC0Demandes d'accès. Si le port d'entrée du noeud d'échange suivant reçoit un autre transfert vers un autre port de sortie ( Différent du précédent MRdLk Port de sortie ), Il n'existe actuellement aucune spécification pertinente. .PCIe Un accès verrouillé différent pour le port de sortie n'est pas pris en charge , Le logiciel ne peut pas non plus générer une telle demande de verrouillage . Une fois que cela se produit, , Le système est susceptible d'être bloqué .
  • C'est parti.MRdLk Après demande et réception CplDLkAprès, Si l'état d'achèvement est réussi , Le noeud de commutation doit bloquer toutes les demandes non verrouillées transmises sur les ports liés à l'accès verrouillé .Bien sûr., Sortie cartographiée à VC0 La transaction demandée pour n'est pas affectée par cela .
  • Les ports d'entrée et de sortie du noeud d'échange liés à l'accès verrouillé doivent rester verrouillés. , Le déverrouillage ne peut être effectué tant que le port d'entrée qui a reçu la demande de verrouillage n'a pas reçu le message de déverrouillage. . Le message de déverrouillage doit être transmis au port de sortie , Peut également être diffusé sur tous les autres ports . Les ports indépendants de l'accès verrouillé ne sont pas affectés par les messages de déverrouillage .

   Note:: Les transactions d'accès verrouillées ci - dessus sont limitées à TC0.


3.2 PCIe-PCI Règles d'accès verrouillées pour les ponts

 PCIe-PCI Les règles d'accès au verrouillage du pont sont similaires aux noeuds d'échange .Parce quePCIe-PCI Pont seulement pour VC0/TC0, Une fois l'accès verrouillé activé ,InPCIe-PCI Toutes les autres demandes de non - verrouillage sur le pont sont bloquées. .


3.3 RC Règles d'accès verrouillées pour

 RC Autoriser comme demandeur d'une transaction verrouillée .SiRC Prise en charge des transactions verrouillées ,RC À suivre par 2 Les règles de la section peuvent initier un accès verrouillé .


3.4 La traditionEP Règles d'accès verrouillées pour

 La traditionEPPrise en charge de l'accès verrouillé,Mais non recommandé. Si la tradition EPPrise en charge de l'accès verrouillé, Il traite l'accès verrouillé comme suit: :

  • La traditionEP Retour d'information sur un message d'achèvement après avoir reçu la première demande de lecture verrouillée . Si l'état d'achèvement n'est pas réussi ,La traditionEP Impossible de verrouiller ; Si l'état d'achèvement est réussi ,La traditionEPVerrouillé..
  • Après verrouillage ,La traditionEP Interdire l'envoi de tout TCMapping toVC0 Opérations demandées pour , Mais d'autres peuvent encore être utilisés TC( Non cartographié à VC0) Envoyer la transaction demandée .

3.5 PCIe EP Règles d'accès verrouillées pour

 PCIe EP Verrouillage non pris en charge ,PCIe EPOui.MRdLk Demande comme suit: URTraitement.



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.
  3. PCI、PCI-XEtPCI ExpressPrincipe et architecture,Ma Jinming,Zhu jianbing Attends.

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

随机推荐