メインコンテンツへスキップ
サポート・ナレッジベース

例外または割り込みの後でインテル® Software Guard Extensions (インテル® SGX) エンクレーブ・スレッドが別のコアに移動する方法

コンテンツタイプ: 製品情報 & ドキュメント   |   記事 ID: 000088863   |   最終改訂日: 2021/12/15

詳細

インテル® Software Guard Extensions (インテル® SGX) エンクレーブの論理コア・スイッチング・プロセスを確認できません。

解決方法

エンクレーブは、論理プロセッサー・コア上で実行されるスレッド制御構造 (TCS)によって定義される特定のスレッド内で実行されます。すべての命令は TCS のコンテキスト内で実行され、アプリケーションごとに複数の TCS が存在する可能性があります。非同期 Enclave Exit (AEX) 命令が、エンクレーブを実行している特定の論理コアに発行されます。分離実行のための革新的な命令とソフトウェア・モデルエンクレーブのエントリーとエグジットの章では、このプロセスを完全に説明します。

「EENTER 命令は、プログラムが制御するエンクレーブに入る方法です。EENTER を実行するには、ソフトウェアが入力するエンクレーブの一部である TCS のアドレスを提供する必要があります。TCS とは、コントロールを転送するエンクレーブ内の位置と、エンクレーブ AEX 内のレジスター状態を格納する位置を示します。論理プロセッサーがエンクレーブに入ると、論理プロセッサーがエンクレーブを終了するまで TCS は使用中と見なされます。SGX では、エンクレーブ・ビルダーが複数の TCS 構造を定義できるため、マルチスレッド・エンクレーブをサポートします....AEX 後に実行を再開: システム・ソフトウェアがエンクレーブを終了させるイベントにサービスを提供した後、論理プロセッサーは ERESTIUM を使用して実行を再開できます。」

免責条項

このページのコンテンツは、元の英語のコンテンツを人力翻訳および機械翻訳したものが混在しています。この内容は参考情報および一般的な情報を提供するためものであり、情報の正確さと完全性を保証するものではありません。インテルは不正確な翻訳があった場合でもいかなる責任を負いません。このページの英語版と翻訳の間に矛盾がある場合は、英語版に準拠します。 このページの英語版をご覧ください。