多核心处理器

多核心处理器(英语:Multi-core processor),又称多核微处理器,是在单个计算组件中加入两个或以上的独立实体中央处理单元(简称核心,英语:Core)。这些核心可以分别独立地执行程序指令,利用并行计算的能力加快程序的执行速度。

Procesor czterordzeniowy AMD Phenom II X4 840

通常把两个或更多独立处理器封装在一个单一集成电路(IC)中的方案会称为多核心处理器,而封装在不同IC中的独立处理器形成的计算机系统被称为多处理器。在某些情况中(比如广告中),有些人会将在同一个集成电路中多个独立的单核心微处理器(或多核心微处理器)称做“多处理模块”、“多核心”等,其实是指“多处理器”而不是“多核心处理器”。除非特别说明,本文将使用“多核心”指代在同一集成电路中集成多个独立处理器的CPU(即“多核心处理器”)。

一般情况下,多核心处理器可以在每个核心分别独立物理封装的情况下进行多任务处理(线程级并发处理Thread-Level Parallelism,TLP),这种形式的TLP通常被认为是芯片级多处理)。

商业化的例子

开发动机

技术压力

CMOS制造技术不断改善、单个逻辑门不断变小,基于半导体的微电子学的物理极限变成主要的设计考量。

商业诱因

由于商用电脑要求提升,处理器向高性能的方向发展。两个同性能的处理器理论上的处理能力是原来的两倍。早年的Intel就曾推出可安装多个宏内核Xeon的服务器底板。此外,家用电脑也出现过可以安装最少2个Pentium III的底板。但由于能源、成本、空间等问题,现今的底板已向“多核心”方向发展。

优势

由于采用了相对简单的微处理器作为处理器核心,多核心处理器具有高主频、设计和验证周期短、控制逻辑简单、扩展性好、易于实现、功耗低和通信延迟低等优点。此外,多核心处理器还能充分利用不同应用的指令级并行和线程级并行,具有较高线程级并行性的应用可以很好地利用这种结构来提高性能。

劣势

尽管多核心有比单核心运行速度更快的优势,但如果应用程序不支持多核心处理,这个优势就不能发挥。例如早期的软件和Windows只支持单核心处理,不会自动使用多个核心作分工处理,但这问题目前已经不存在了,因为现在几乎所有程序都支持多核心处理。

软件影响

编程问题

对于多核心的电脑,若在程序编写编译时无法把程序线性化,就不能充分利用多核心的特色,结果程序只能在一个核心上运行,白白浪费中央处理器的资源。

许可

另外一个问题是对多核心处理器的软件授权企业级的服务器软件是以处理器为单位授权。以前,中央处理器只有一个核心而多数电脑只有一个处理器,并不存在这个问题。而在双核心处理器刚面世时,有些软件是以核心为单位授权,双核心处理器则需要两个授权。现在的主流是把双核心或多核心处理器计算成一个处理器。微软英特尔超微支持这个观点,甲骨文虽然也支持这个观点,但是甲骨文只将英特尔和超微的多核心处理器计算为一个处理器,却把其他的多核心处理器当成多个处理器。国际商业机器、惠普和微软把多处理器模块当成多处理器,因为假如把多处理器模块当成一个处理器,处理器厂商会制造大型、昂贵的多处理器模块来帮助客户节省软件费用,所以现在行业上渐渐把一枚芯片当作一个处理器。

普遍误解

很多人[谁?]以为中央处理器的核心数目越多,其性能会越高。这其实是缺乏对处理器运算速度和软件的支持问题的理解。例如:4核486MHz的处理器与单核3.0GHz处理器相比,虽然前者可同时有四条线路运算,而后者却只有一条线路运算,但是主频明显有差距。而且不是全部软件都支持多核心及多处理器的工作环境。

若是以上述的例子来做简单的说明, 4核486MHz的处理器就像是一个部门可以一次处理四个单位的工作,但每个处理单位却只有一个人慢慢完成。而单核3.0GHz的处理器则像是一个部门一次只处理一个单位的工作,但该处理单位却有好几个人来快速地完成工作。

注释

  1. ^ Digital signal processors, DSPs, have utilized dual-core architectures for much longer than high-end general purpose processors. A typical example of a DSP-specific implementation would be a combination of a RISC CPU and a DSP MPU. This allows for the design of products that require a general purpose processor for user interfaces and a DSP for real-time data processing; this type of design is suited to e.g. mobile phones.
  2. ^ Two types of operating systems are able to utilize a dual-CPU multiprocessor: partitioned multiprocessing and symmetric multiprocessing (SMP). In a partitioned architecture, each CPU boots into separate segments of physical memory and operate independently; in an SMP OS, processors work in a shared space, executing threads within the OS independently.

参见

外部链接