英特尔® Software Guard Extensions (英特尔® SGX) 围圈线程在出现异常或中断之后如何移至另一个内核?
内容类型: 产品信息和文件 | 文章 ID: 000088863 | 上次审核日期: 2021 年 12 月 15 日
无法确定 英特尔® Software Guard Extensions (英特尔® SGX) 围圈的逻辑内核切换过程。
围圈在特定线程内执行,由在逻辑处理器内核上执行的线程控制结构 (TCS)定义。所有指令均在 TCS 环境中进行,并且每个应用程序可能有多个 TCS。异步围圈退出 (AEX) 指令被发布到围圈运行的特定逻辑内核。用于隔离执行的创新指令和软件模型的围圈入口和退出章节充分解释了这一过程。
"EENTER 指令是在程序控制下进入围圈的方法。要执行 EENTER,软件必须提供要进入围圈的 TCS 的地址。TCS 是指围圈内用来传输控制的位置,以及围圈 AEX 应该存储寄存器状态的内部位置。当逻辑处理器进入围圈时,TCS 会被视为繁忙,直到逻辑处理器退出围圈。SGX 允许围圈构建者定义多个 TCS 结构,从而支持多程飞地......AEX 后恢复执行:在系统软件为导致逻辑过程退出围圈的事件提供服务后,逻辑处理器可以使用 ERESUME 重新开始执行。"