如今,几乎所有的 CPU 都是多核的:它们包含多个处理单元,可以同时处理不同的任务。
但是,添加更多内核的益处并不总是能被简单概括。单线程和多线程应用程序之间的区别是什么?什么是超线程,它与普通的多线程有什么不同?
为了解释更多内核和英特尔® 超线程技术的优势,让我们了解一下这些术语,以及它们在运行游戏和日常应用程序时分别代表的含义。
什么是多线程?
多线程是并行化的一种形式,或者是拆分工作以便同时进行处理。线程化的程序将工作拆分到多个软件线程,而不是将大量工作交给单个内核。这些线程由不同的 CPU 内核并行处理,以节省时间。
根据其构建方式,游戏可能是轻线程的,也可能是重线程的。一些旧游戏引擎以依赖单线程性能而闻名,这意味着它们大多使用单个 CPU 内核,并通过更高的时钟速度来获得大幅度性能提升。
如今,Unreal Engine 4 等游戏引擎都会在创建复杂场景时利用多个内核2。引擎还可以使用多线程来处理“绘制调用”( CPU 向 GPU 发送的关于绘制游戏内对象、纹理和着色器的指令)的不同部分。
什么是超线程?
英特尔® 超线程技术是一项硬件创新,允许在每个内核上运行多个线程。更多的线程意味着可以并行完成更多的工作。
超线程如何工作?当英特尔® 超线程技术处于激活状态时,CPU 会在每个物理内核上公开两个执行上下文。这意味着,一个物理内核现在就像两个“逻辑内核”一样,可以处理不同的软件线程。
较之传统的单线程内核,两个逻辑内核可以更有效地完成任务。英特尔® 超线程 (HT) 技术充分利用了内核以前在等待其他任务完成时的空闲时间,提高了 CPU 吞吐量。
想知道如何启用超线程?它被设为默认启用,但是可以在 BIOS 环境中将“Hyper-Threading Technology”(超线程技术)设置为“Enable”(启用)或“Disable”(禁用),将其打开和关闭。请注意,英特尔® 超线程技术仅在某些发烧友级 CPU 上提供:完整列表见此处。