加载中...
超线程(Hyper-Threading)是 Intel 在 Pentium 4 上首次商用的同步多线程技术,让一个物理核心呈现为两个逻辑核心,通过复用空闲执行单元提高 CPU 利用率,对多线程工作负载有 10-30% 的性能提升。

| 类型 | 同步多线程(SMT)技术 |
| 首次商用 | Intel Pentium 4 3.06 GHz(2002年) |
| AMD 对应技术 | SMT(Simultaneous Multi-Threading) |
单线程程序执行时,CPU 的浮点单元在整数密集代码段处于空闲,加载/存储单元在计算密集段也常空转。超线程的思路是维护两套架构状态(寄存器组、程序计数器、状态标志)对应两个硬件线程,但两个线程共享同一组执行单元、缓存和 TLB。调度器将来自不同线程的指令交替填入流水线,一个线程等待内存数据时,另一个线程的指令可以继续推进执行,减少了气泡(Bubble)。
这一机制仅增加约 5% 的芯片面积,却在多线程负载下带来 15-30% 的吞吐量提升,是芯片面积利用率的极优手段。[1]
共享执行资源带来了安全隐患。MDS(微架构数据采样)系列漏洞(2019年,包括 RIDL、Fallout、ZombieLoad)允许恶意进程通过共享的 Line Fill Buffer、Load Port 等结构,在超线程兄弟线程上泄露数据——跨虚拟机信息窃取在云环境下尤为危险。Netflix、Apple、Amazon AWS 等大型云厂商在 MDS 漏洞披露后,部分场景下禁用了超线程以彻底隔离。Intel 在后续微码更新和硬件设计(Ice Lake 起)中逐步缓解了这类问题。

| 类型 | 同步多线程(SMT)技术 |
| 首次商用 | Intel Pentium 4 3.06 GHz(2002年) |
| AMD 对应技术 | SMT(Simultaneous Multi-Threading) |
登录 后参与讨论
暂无讨论,来发表第一条评论吧