我知道什么是软件线程,它是一系列顺序执行的指令。 那在这个上下文中,**硬件线程(hardware thread)**到底是什么意思? 附加背景信息(来自 edX 课程材料): 大多数现代处理器都有某种方式来执行安全的远程计算,或称为“可信执行环境”(Trusted Execution Environment)。这类技术的例子包括 Intel 的软件防护扩展(SGX)、AMD 的安全加密虚拟化(SEV)、以及 Arm 的 TrustZone。虽然 RISC-V 的指令集架构(ISA)没有提供一个完整的可信执行环境方案,但其物理内存保护(PMP)功能为构建此类系统提供了坚实基础。 RISC-V 的 PMP 功能限制了在一个 hart(即硬件线程)上运行的软件可以访问的物理地址。可选的 PMP 单元为每个 hart 提供了机器模式下的控制寄存器,用来为每个物理内存区域指定访问权限(读取、写入、执行)。PMP 的权限检查与上一节提到的 PMA 检查并行进行。PMP 的访问控制粒度依赖于平台具体实现,并且在同一平台中可能因物理内存区域而异,但标准的 PMP 编码支持最小为 4 字节的区域划分。
简而言之,**硬件线程(hart)**在 RISC-V 中是指一个独立执行指令流的硬件处理单元,类似于其他架构中的“核心”或“逻辑核心”,可以独立运行软件线程或操作系统任务。
|