ID de l'article: 000088863 Type de contenu: Information et documentation de produit Dernière révision: 15/12/2021

Comment un thread d’enclave Intel® Software Guard Extensions (Intel® SGX) se déplace-t-il vers un autre cœur après une exception ou une interruption ?

BUILT IN - ARTICLE INTRO SECOND COMPONENT
En bref

Présentation de l’entrée du thread d’enclave et de la sortie des cœurs logiques

Descriptif

Impossible de déterminer le processus de commutation logique du cœur pour les enclaves Intel® Software Guard Extensions (Intel® SGX).

Résolution

Les enclaves s’exécutent dans un thread particulier tel que défini par la structure de contrôle de thread (TCS), qui s’exécute sur un cœur de processeur logique. Toutes les instructions se produisent dans le cadre d’un TCS et il peut y avoir plusieurs TCS par application. L’instruction AEX (Asynchronous Enclave Exit) est délivrée au cœur logique particulier sur lequel l’enclave fonctionne. L’entrée et la sortie de l’enclave du chapitre Innovative Instructions and Software Model for Isolated Execution expliquent pleinement ce processus.

« L’instruction EENTER est la méthode permettant d’entrer dans l’enclave sous le contrôle du programme. Pour exécuter eENTER, le logiciel doit fournir l’adresse d’un TCS qui fait partie de l’enclave à entrer. Le TCS indique l’emplacement à l’intérieur de l’enclave pour transférer le contrôle et l’emplacement à l’intérieur de l’enclave où AEX doit stocker l’état du registre. Lorsqu’un processeur logique entre dans une enclave, le TCS est considéré comme occupé jusqu’à ce que les processeurs logiques quittent l’enclave. SGX permet à un constructeur d’enclave de définir plusieurs structures TCS, ce qui permet de prendre en charge des enclaves multithread... Reprise de l’exécution après AEX : une fois que le logiciel système a entretenu l’événement qui a causé le processus logique à quitter une enclave, le processeur logique peut relancer l’exécution à l’aide d’ERESUME. »

Produits associés

Cet article concerne 1 produits

Le contenu de cette page est une combinaison de traduction humaine et informatique du contenu original en anglais. Ce contenu vous est fourni pour votre commodité et à titre informatif seulement et ne saurait être totalement exact ou complet. En cas de contradiction entre la version anglaise de cette page et la traduction, c'est la version anglaise qui prévaut. Afficher la version anglaise de cette page.