超线程是一种通过单个物理CPU内核同时执行多个线程来提升处理效率的技术,其正式名称为同步多线程(SMT),由英特尔以“超线程”作为营销名称推广。
软件线程是CPU处理的指令序列,由操作系统调度程序管理。每个应用程序以进程形式运行,而线程是进程的细分单元。调度程序通过快速分配线程实现“多任务处理”,例如同时运行文字处理器、音乐播放和视频下载。尽管单核CPU通过快速切换线程模拟并行处理,但实际仍是顺序执行。

2000年代中期,CPU制造商将多个完整CPU集成到单个封装中,形成双核处理器,实现真正的并行处理。例如,视频游戏可占用一个核心,操作系统占用另一个。现代主流CPU已普遍配备6至10个核心,高端型号甚至达到64个(如AMD Threadripper 3990X)。软件开发也逐步优化以利用多核能力,例如最新游戏机普遍采用8核CPU。
传统CPU单核同一时间仅能处理一个线程,但实际场景中线程对资源的需求差异显著:
若所有核心均被占用但未满载,则处理能力被浪费。超线程通过以下方式解决这一问题:
例如,一个物理核心的算力为100%,超线程技术可将其分配给两个线程,若线程A需60%资源、线程B需30%,则两者可并行运行,避免40%资源闲置。
过去超线程仅见于高端CPU,但随着多线程软件需求增长,主流消费级CPU已广泛支持该技术。例如:
是否需要超线程?
超线程通过优化资源分配,在硬件成本增加有限的前提下,显著提升了CPU在多线程场景下的实际性能,已成为现代计算设备的关键技术特性。
