CPU 核心、多核、线程、核心与线程、超线程

什么是并发或单核?

在操作系统中,并发定义为系统在重叠的时间段内运行两个或多个程序的能力。

Concurrency or Single Core
使用时间切片进行并发执行

如您所见,在任何给定时间,只有一个进程在执行。因此,并发只是对真实并行执行的广义近似。这种情况可以在具有单核处理器的系统中找到。

什么是并行执行或(多核)?

在并行执行中,由进程执行的任务被分解为子部分,多个 CPU(或多个核心)同时处理每个子任务。

Parallel Execution
并行执行

如您所见,在任何给定时间,所有进程都在执行。实际上,是进程的子任务在并行执行,但为了更好地理解,您可以将其视为进程。

因此,并行是多任务同时处理的真正方式。这种情况可以在具有多核处理器的系统中找到,而这几乎包括了所有现代商业处理器。

主要区别

  • 核心增加了一次完成的工作量,而线程提高了吞吐量和计算速度。
  • 核心是实际的硬件组件,而线程是管理任务的虚拟组件。
  • 核心使用内容切换,而线程使用多个 CPU 来运行多个进程。
  • 核心只需要一个信号处理单元,而线程需要多个处理单元。

什么是线程?

线程是并发编程中的执行单元。多线程是一种允许 CPU 同时执行一个进程的多个任务的技术。这些线程可以独立执行,同时共享它们的资源。

什么是多线程?

多线程是指在一个操作系统中运行多个执行线程的通用任务。它可以包括多个系统进程。

多线程如何工作?

例如,大多数现代 CPU 都支持多线程。您智能手机上的一个简单应用程序就可以为您提供现场演示。

当您打开一个需要从互联网获取某些数据的应用程序时,应用程序的内容区域将被一个旋转的加载图标替换,直到数据被获取并显示。

在后台,有两个线程

  • 一个从网络获取数据,以及
  • 一个渲染显示加载图标的 GUI

这两个线程交替执行,以提供并发执行的假象。

什么是 CPU 核心?

CPU 核心是事物存在或特征的中心部分。同样,在计算机系统中,CPU 也被称为核心。

核心处理器基本上有两种类型

  1. 单核处理器
  2. 多核处理器

单核的主要问题是什么?

单核主要有两个问题。

  • 要更快地执行任务,您需要增加时钟频率。
  • 增加时钟频率会增加功耗和散热,使其达到极高的水平,这使得处理器效率低下。

多核提供的解决方案

  • 在同一芯片上创建两个或多个核心以增加处理能力,同时还能将时钟速度保持在高效水平。
  • 以高效速度运行的具有两个核心的处理器可以以与单核处理器相似的速度处理指令。它的时钟速度是两倍,但多核处理器消耗的能量更少。

多核处理器的优势

以下是多核处理器的一些优点

  • 每个选择的晶体管更多
  • 更短的连接
  • 较低的电容
  • 小型电路可以高速工作

核与线程的区别

参数 核心版 线程
定义 CPU 核心是指实际的硬件组件。 线程是指管理任务的虚拟组件。
过程 CPU 从线程接收任务。因此,只有当第一个线程发送的信息不可靠时,它才会访问第二个线程。 CPU 与多个线程交互的方式有许多不同的变体。
实施 通过交错操作实现 通过使用多个 CPU 实现
好处 增加一次完成的工作量。 提高吞吐量,提高计算速度。
利用 核心使用内容切换 使用多个 CPU 来运行多个进程。
所需处理单元 只需要单个处理单元。 需要多个处理单元。
示例 同时运行多个应用程序。 在集群上运行网络爬虫。

什么是超线程?

超线程是英特尔首次将并行计算引入终端用户 PC 的尝试。它最早于 2002 年在奔腾 4 台式机 CPU 上使用。

当时的奔腾 4 只有一个 CPU 核心。因此,它只能执行一项任务,而无法执行任何类型的多重操作。

单个带有超线程的 CPU 对操作系统来说显示为两个逻辑 CPU。在这种情况下,CPU 是单个的,但操作系统为每个核心考虑了两个 CPU,而 CPU 硬件为每个 CPU 核心拥有单一的执行资源集。

因此,CPU 看起来比实际拥有的核心多,而操作系统则为每个单个 CPU 核心提供了两个 CPU。

摘要

  • 线程是并发编程中的执行单元。
  • 多线程是指在一个操作系统中运行多个执行线程的通用任务。
  • 如今,许多现代 CPU 都支持多线程。
  • 超线程是英特尔首次将并行计算引入终端用户 PC 的努力。
  • CPU 核心是事物存在或特征的中心部分。
  • 在操作系统中,并发定义为系统在重叠的时间段内运行两个或多个程序的能力。
  • 在并行执行中,由进程执行的任务被分解为子部分。
  • 单核处理器的主要问题是,为了更快地执行任务,您需要增加时钟时间。
  • 多核通过在同一芯片上创建两个或多个核心来解决这个问题,从而提高处理能力,同时还能将时钟速度保持在高效水平。
  • 多核系统的最大优势在于它可以帮助您在每个选择中创建更多的晶体管。
  • CPU 核心是指实际的硬件组件,而线程是指管理任务的虚拟组件。