跳转到内容

微处理器设计/多核系统

来自维基教科书,开放世界中的开放书籍

将超标量操作的概念提升到下一个层次,可以在单个芯片上放置多个微处理器内核(这通常是可取的),并且这些内核可以彼此并行运行。

对称多核

[编辑 | 编辑源代码]

对称多核处理器是指在单个芯片上具有多个内核,并且所有这些内核都是相同的。

示例:英特尔酷睿 2:

英特尔酷睿 2 是对称多核处理器的示例。酷睿 2 可以在芯片上具有 2 个内核(“酷睿 2 双核”)或 4 个内核(“酷睿 2 四核”)。酷睿 2 芯片中的每个内核都是对称的,并且可以彼此独立地运行。它需要调度软件和硬件的组合来将任务分配到每个内核。

示例:Parallax Propeller:

Parallax Propeller 是对称多核处理器的示例。Parallax Propeller 芯片上有 8 个内核,每个内核都是一个 32 位 RISC 处理器。Parallax Propeller 芯片中的每个内核都是对称的,并且可以彼此独立地运行。

非对称多核

[编辑 | 编辑源代码]

非对称多核处理器是指在单个芯片上具有多个内核,但这些内核的设计可能不同。例如,单个芯片上可能存在 2 个通用内核和 2 个矢量内核。

示例:Cell 处理器

IBM 的 Cell 处理器,用于索尼 PlayStation 3 视频游戏机,是一种非对称多核处理器。Cell 在板上具有 9 个处理器内核,一个通用处理器和 8 个数据处理内核。一个多功能内核,称为 **Power Processor Element** (PPE),控制其他内核之间的通信,并将计算任务分配给其他内核进行处理。另外 8 个内核被称为 **Synergistic Processor Elements** (SPE),并且专门设计为具有高浮点吞吐量,尤其是矢量运算。

示例:Kilocore

Rapport 的 Kilocore 处理器是一种非对称多核处理器。Kilocore 具有一个通用处理器,一个 PowerPC 处理器内核,以及 256 个或 1024 个片上数据处理内核。这些内核设计为以极低的功率运行,因此整个芯片比典型的台式机 CPU 更快,同时功耗更低[1]

对称多核

[编辑 | 编辑源代码]
英特尔酷睿 2 双核

对称多核处理器是指具有多个完全相同的内核的处理器。每个内核都具有相同的架构和相同的功能。英特尔酷睿 2 双核处理器是对称多核系统的示例。

每个内核都具有相同的功能,因此需要一个仲裁单元来为每个内核分配特定任务。使用 **多线程** 等技术的软件可以充分利用英特尔酷睿 2 等多核处理器。


非对称多核

[编辑 | 编辑源代码]

在非对称多核处理器中,芯片上有多个内核,但这些内核的设计可能不同。每个内核都具有不同的功能。

示例:IBM Cell 处理器

[编辑 | 编辑源代码]

IBM Cell 处理器是非对称多核处理器的示例。

IBM Cell 处理器的框图。Cell 处理器具有 8 个 SPE 内核(左)和 1 个 PPE 内核(右)。PPE 内核是主内核,控制 SPE 内核的行为。

IBM Cell 处理器具有 1 个控制芯片的 PPE 和 8 个设计用于高数学吞吐量的 SPE。IBM Cell 处理器的设计如下

请注意 SPE 内核如何仅连接到 PPE,而不是彼此连接。还要注意 PPE 内核比单个 SPE 内核大得多。

进一步阅读

[编辑 | 编辑源代码]
华夏公益教科书