当前位置:网站首页>Pcie Atomic Operation

Pcie Atomic Operation

2021-10-14 05:47:50 Mangopapa

1. PCIeIntroduction aux opérations atomiques

  Opération atomique(Atomic Operation, AtomicOp)Une opération ou une série d'opérations qui ne peuvent être interrompues,C'est - à - dire que l'opération n'est interrompue par aucune autre transaction ou événement jusqu'à ce qu'elle soit terminée.PCIeLors d'une opération atomique,EnvoyerUn stylotransactionC'est fait ① Lire la valeur originale de l'adresse de destination、② Modifier la valeur originale、③ Renvoie la valeur originale Ces trois étapes ,Et ces trois étapes ne doivent pas être interrompues.Il existe trois types d'opérations atomiques:


  1. FetchAdd.La requête contient un opérande,C'est - à - dire la valeur à additionnerA.La demande correspond à une opération en quatre étapes:Lire la valeur originale de l'adresse de destinationO -> Somme de deux compléments numériques(OSupplément+ASupplément,Ignorer seulement avec débordement) -> Somme des résultatssumÉcrivez l'adresse de destination -> Renvoie la valeur originale de l'adresse de destinationO.

  2. Swap.La requête contient un opérande,C'est - à - dire la valeur à échangerS.La demande correspond à une opération en trois étapes:Lire la valeur originale de l'adresse de destinationO -> Ça vaut le coup.SÉcrivez l'adresse de destination -> Renvoie la valeur originale de l'adresse de destinationO.

  3. CAS(Compare and Swap).La requête contient deux opérandes,C'est - à - dire la valeur à comparerCEt les valeurs à échangerS.La demande correspond à une opération en quatre étapes:Lire la valeur originale de l'adresse de destinationO -> CAvecOComparer -> SiO=CC'est - à - direSÉcrivez l'adresse de destination -> Renvoie la valeur originale de l'adresse de destinationO.


  AtomicLa largeur du chiffre d'opération est32/64/128 bitTrois,FetchAdd、Swap、CASTous soutenus32bitsEt64bits,Pour l'instant(PCIe 5.0)SeulementCASSoutien128bitsOpérande.Otomic La largeur du BIT de valeur de retour de l'opération est la même que la largeur du BIT d'opération .


  PCIe La capacité de fonctionnement de l'atome moyen est facultative , Le logiciel peut être complété par la lecture PCIeCapacité du matériel2 Registre pour savoir si l'achèvement a la capacité d'exploitation atomique et la capacité d'acheminement de l'exploitation atomique , Le logiciel doit également activer l'expéditeur avant d'envoyer une demande d'opération atomique PCIeContrôle de l'équipement2 Bits de contrôle associés dans les registres . Classification par demandeur et achèvement des opérations atomiques ,PCIe Les opérations atomiques peuvent être classées en trois catégories: ,Respectivement:RC-to-EP, EP-to-RC, EP-to-EP. Expéditeur de l'opération atomique 、 Le finisseur et tous les noeuds d'échange de la voie du paquet d'opérations atomiques doivent avoir la capacité d'effectuer des opérations atomiques pour effectuer des opérations atomiques. . Afin d'éviter que les paquets de demandes d'opérations atomiques ne soient poussés vers des noeuds de routage non pertinents , Le contrôle du périphérique peut être configuré par logiciel 2Registre Bit de blocage de sortie atomique , Cela permet aux noeuds de routage indépendants de traiter les demandes d'opération atomique comme des paquets déformés lorsqu'ils les reçoivent. .Il est important de noter que,PCIeÀPCI/PCI-X Les opérations atomiques ne sont pas prises en charge entre les ponts , Ceci peut être envoyé par verrouillage de la cible locked transaction Réaliser les mêmes fonctions que les opérations atomiques .


  Après tout,PCIe L'opération atomique est une opération de stockage , Toutes les normes de gestion de l'espace mémoire s'appliquent également PCIeOpération atomique.

PCIe Device Capabilities 2 Register

PCIe Device Capabilities 2 Register

Insérer la description de l'image ici

PCIe Device Control 2 Register

2. PCIe Avantages des opérations atomiques et scénarios d'application

  Suivez - moi.PCIe Comparaison des demandes de verrouillage des cibles ,PCIe Les retards atomiques sont plus faibles 、Plus grande extensibilité、AutresPCIe Moins d'impact du message . En particulier pour un bon support pour les algorithmes de synchronisation avancés ,PCIe Fonctionnement atomique à haute performance SMPAppliquer àPCIe Multiprocesseurs interconnectés ( Accélérateur à couplage étroit 、 Coprocesseur ou Processeur graphique universel GPGPUAttendez.) La migration rapide du système offre la possibilité .

3. PCIe Résumé du Protocole de message d'opération atomique

  • PCIe L'opération atomique est une opération de lecture de mémoire non transmise (NP Mrd),Soutien32bitEt64bitFormat de l'adresse;
  • Trois types d'opérations atomiques (FetchAdd, Swap, CAS) Utiliser des codes de type distincts ;
  • Complété par le length Code de champ et de type pour obtenir la largeur du BIT d'opération qu'il doit renvoyer ;
  • Si le demandeur prend en charge la traduction automatique des adresses (ATS), L'adresse dans l'opération atomique qu'il émet peut être l'adresse convertie ;
  • Après avoir reçu le paquet de demande d'opération atomique , S'il y a une erreur non corrigée lors de l'accès à l'adresse de destination ou de l'exécution d'une opération atomique , Commentaires requis CA;
  • Si le finisseur d'opération atomique reçoit une demande d'opération ou une longueur d'opérande qu'il ne supporte pas ,SelonURTraitement;

4. Mise à jour à tout moment...


RÉFÉRENCES

  1. PCI Express Base Specification Revision 5.0 Version 1.0 (22 May 2019)

Version Description Temps
v0.1 Première ébauche,PCIe Introduction de base aux opérations atomiques 2021.09.02 ️

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

随机推荐