核心/逻辑核心如何处理线程

核心/逻辑核心如何处理线程

我脑子里一直有这个令人苦恼的问题,困扰了我好几天。

如果我错了,请纠正我:我对计算机架构和组织的看法是,

  1. 在早期的计算机中,单个芯片上有一个处理器。

  2. 经过评估,出现了多芯片处理器,每个芯片都有一个处理器。

  3. 然后现代出现了多处理器。每个处理器芯片称为一个插槽,该插槽包含多个处理器。它们称为核心。

    • 核心:处理器芯片上的单个处理单元。核心的功能可能与单 CPU 系统上的 CPU 相同。

现在我简单说一下对超线程技术的理解。

  • 对于插槽中实际存在的每个物理核心,操作系统会处理两个虚拟(逻辑)核心并尽可能共享工作负载。

  • 这些核心拥有多级大容量内存缓存,并且逻辑处理器共享各个核心的执行单元。

现在我的问题是线程是什么?

作为一名程序员,当我创建两个线程并运行我的程序时,线程如何划分到核心中。

我想知道这些线程在哪个逻辑处理器上运行。

我给了自己一个答案,

这些线程必须在属于两个物理核心的两个独立逻辑处理器上运行,因为如果我们将这些线程划分到一个物理核心的两个逻辑处理器上,则无法实现并发。因为一个逻辑处理器在给定时间在一个物理核心上运行。

如果我的答案有误,请帮助我。我非常感激。

相关内容