“
在CPU技术的演进历程中,有一项技术始终扮演着“隐形功臣”的角色——它没有大小核调度那样的高调亮相,也没有AI加速单元那样的光环加身,却默默支撑着服务器在亿万并发请求中高效运转。这就是同时多线程(Simultaneous Multi-Threading,简称SMT)技术,Intel CPU中广为人知的“超线程”(Hyper-Threading)就是SMT技术的一种具体实现。
”
在CPU技术的演进历程中,有一项技术始终扮演着“隐形功臣”的角色——它没有大小核调度那样的高调亮相,也没有AI加速单元那样的光环加身,却默默支撑着服务器在亿万并发请求中高效运转。这就是同时多线程(Simultaneous Multi-Threading,简称SMT)技术,Intel CPU中广为人知的“超线程”(Hyper-Threading)就是SMT技术的一种具体实现。
什么是SMT?
让一个核心“分身”干活
简单来说,SMT技术让一个物理CPU核心能够同时执行多个线程的指令。在操作系统看来,一个物理核心等同于多个逻辑核心。打个比方:传统的非SMT核心就像一条单车道公路,同一时间只能有一辆车通行;而SMT核心则像一条多车道公路,多辆车可以并排行驶,互不干扰。
单线程与SMT线程的对比(来自AMD官网)
从技术原理上看,SMT是超标量技术与多线程技术的深度结合。超标量技术让CPU可以在一个时钟周期内执行多条指令;多线程技术则让CPU可以同时处理来自多个线程的指令。SMT将两者融合,在每个时钟周期从多个线程中选择不相关的指令,发射到不同的功能部件去执行。由于这些指令来自不同线程、彼此没有数据依赖关系,CPU能够充分填满执行单元的“发射槽”,最大化计算资源的利用率。
SMT的理念最早可追溯至1968年IBM的ACS-360项目。自20世纪90年代后期起,IBM开始在POWER系列处理器中推进SMT技术的商业化落地,早期产品相继采用SMT2与SMT4规格;自2013年发布的POWER8起,其核心产品线持续沿用SMT8技术。在x86阵营中,英特尔率先实现SMT技术的商业化,于2002年在奔腾4处理器上首次引入超线程技术,此后SMT技术逐步成为英特尔至强系列和AMD Zen架构服务器处理器的标准配置。
Intel超线程技术(来自Intel官网)
SMT的核心价值:
榨干CPU的每一分算力
为什么SMT如此重要?答案在于效率。
现代乱序超标量CPU拥有强大的执行单元(如算术逻辑单元、浮点单元等),但单个线程的指令流往往无法填满这些执行单元——因为很多指令存在数据依赖:或是等待前...
猜你喜欢