Ir para o conteúdo principal
Base de conhecimentos do Suporte

Como um thread de enclave Intel® Software Guard Extensions (Intel® SGX) se move para outro núcleo após uma exceção ou interrupção?

Tipo de conteúdo: Documentação e informações do produto   |   ID do artigo: 000088863   |   Última revisão: 15/12/2021

Descrição

Não foi possível determinar o processo de comutação de núcleos lógicos para enclaves Intel® Software Guard Extensions (Intel® SGX).

Resolução

Enclaves são executados dentro de um thread específico, conforme definido pela Estrutura de controle de thread (TCS),que é executada em um núcleo de processador lógico. Todas as instruções ocorrem dentro do contexto de um TCS, e pode haver vários TCS por aplicativo. A instrução Asynchronous Enclave Exit (AEX) é emitida para o núcleo lógico específico no qual o enclave está sendo executado. O capítulo de entrada e saída do Enclave de Instruções Inovadoras e modelo de software para execução isolada explica totalmente este processo.

"A instrução EENTER é o método para entrar no enclave sob controle do programa. Para executar o EENTER, o software deve fornecer um endereço de um TCS que faz parte do enclave a ser inserido. O TCS indica a localização dentro do enclave para transferir o controle e onde dentro do enclave a AEX deve armazenar o estado de registro. Quando um processador lógico entra em um enclave, o TCS é considerado ocupado até que os processadores lógicos saiam do enclave. O SGX permite que um construtor de enclave defina várias estruturas de TCS, fornecendo suporte para enclaves multithreaded... Retomando a execução após a AEX: após o software do sistema ter sido executado o evento que fez com que o processo lógico saísse de um enclave, o processador lógico pode reativar a execução usando ERESUME."

Avisos legais

O conteúdo desta página é uma combinação de tradução humana e por computador do conteúdo original em inglês. Este conteúdo é fornecido para sua conveniência e apenas para informação geral, e não deve ser considerado completo ou exato. Se houver alguma contradição entre a versão em inglês desta página e a tradução, a versão em inglês prevalecerá e será a determinante. Exibir a versão em inglês desta página.