RiscV spec引用了"hart"这个词 - "hart"是什么意思?

dav*_*veW 12 riscv

我在RiscV规范的第35页上找到了对"hart"的引用(riscv-spec-v2.1.pdf).我在本文档中找不到"哈特"的定义.'hart'是指硬件线程还是更险恶的东西?

sni*_*per 12

用简单的语言来说,hart 是一个 RISC-V 执行上下文,包含全套 RISC-V 架构寄存器,并且独立于 RISC-V 系统中的其他 hart 执行其程序。“RISC-V系统”的构成取决于软件的执行环境,但对于标准的用户级程序来说,它意味着用户可见的硬件和内存(即多线程的Unix用户进程)。“独立执行”意味着每个hart最终将按程序顺序获取并执行其下一条指令,而不管其他hart的活动(至少在用户级别)。

这是我花了很多时间了解“hart”是什么之后得到的最接近的答案https://groups.google.com/a/groups.riscv.org/forum/#!topic/sw-dev/QKjUDjz_vKo


Chr*_*ris 10

是的,a hart是硬件线程.

  • 非常感谢,确实很难找。 (6认同)

joh*_*han 7

RISC-V 兼容内核可能通过多线程支持多个 RISC-V 兼容硬件线程或harts

RISC-V 指令集手册
第一卷:非特权 ISA 文档版本 20191214-draft
第 2 页


Mat*_*one 7

从RISCV Spec v2.2第 20 页开始:

我们使用术语hart来明确而简洁地描述硬件线程,而不是软件管理的线程上下文。