关于手机的 CPU 频率描述如下:“大四核 2.6GHz,小四核 2.1GHz”。
大四核?小四核?这款 CPU 到底是几个核?
答案:4+4=8,八核!
虽然在核的数量是 4+4,但是大核和小核的分工是不一样的,详情如下:
这就是所谓的八核手机。
为什么要这样设计呢?
原因很简单:CPU 没有频率自动调节功能,只能采用高性能 4 核+低性能 4 核的组合来延长续航时间,负载高的时候用高性能 4 核“跑”,负载低的时候低性能 4 核“跑”了。
Smart!给这样的设计点个赞吧!
1. 大小核处理器的问世
三星电子于 2013 年 1 月 9 日(周三)在 CES 展会上发布了用于智能手机和平板电脑的 Exynos 5 Octa 处理器。该处理器芯片实际上是在一个芯片封装中包含两个四核芯片,这种 8 核处理器使用一种新的架构,能够在不减少电池使用寿命的情况下提供更多的性能。四个高性能内核用于游戏和视频重放等繁重的任务。四个功能不太强大的内核用于文本和电子邮件等节能的普通的任务。
三星 Exynos 5 Octa 发布(图片来自 christianpost)
Exynos 5 Octa 内部的 A15 和 A7 架构处理核心都采用自家的 28nm HKMG 工艺打造,A7 核心主频介于 200MHz 至 1.20GHz 之间,A15 核心则是 200MHz 至 1.8GHz,两颗 CPU 都有独立的电源门控制。
随着 Samsung S4 的问世,全球首款双四核移动处理器(并不能算是真正意义上的八核,因为八个 CPU 并不是同时工作,而是分为两个四核分别运作)正式登场,基于 ARM 的 ARM big.LITTLE/Cortex A15 架构(也就是所谓的大小核架构),号称是一种低功耗,高性能的移动处理器架构。它的大小分别为主频在 1.8GHz 的 A15 处理器,负责处理整段的高负荷任务;A7 主频为 1.2GHz 的处理器负责碎片化的轻量级任务。
“这款双四核处理器的具备低功耗和高性能的特色,其 3D 性能将达到市面所有产品的两倍之多。”——来自三星的宣言。
S4 是成功验证了 CPU“大小核”的设计的先进性,那么这个设计的灵感来自于哪里呢?
2. 异步多核的思想
很多读者对移动 CPU 的异步多核的概念不是很理解,它作为高通骁龙系列的一大特色,它和同步多核处理器之间又有什么区别?各有什么优势呢?异步多核处理器又是怎么达到节能目的?与三星 Exynos 5440 这一类“大小核”的处理器又会有什么差别呢?
异步多核,或者叫 aSMP(asynchronous SMP),是由高通提出的,并应用在自家的 Snapdragon S3/S4 处理器中。之前也有过不少争论,比如:
观点一:异步多核核心之间不能通讯,称之为“胶水双核”;
观点二:异步多核同时只能有一个核心接受指令,效率很低。
究竟孰是孰非?
这些实际上都是不对的,Sure!
首先来回答:什么是异步多核?
异步多核,其重点在于频率异步,可以将它称为异步频率架构(Asynchronous Clock Architecture)。在这样设计的多核处理器中,每个核心都可以工作在不同的电压和频率下。这样,可以将计算繁重的任务交给一个工作在高频的核心,而压力较小的任务则可以让一个工作在低频的,较慢的核心去负担。而在同步多核中,所有的核心都只能工作在相同的电压和频率下。
还是不理解?那么请看下面的实例:
如下图所示,当有两个任务,一个计算负荷较重,而另一个计算负荷较轻时(图中紫色部分表示任务的计算负荷),异步多核可以让负荷较重的核心 CPU0 工作在较高的频率(图中蓝色部分代表频率),而负荷较轻的核心 CPU1 工作在较低的频率和电压下,由此来减小功耗。
而同步多核的 CPU1 虽然负荷较轻,但由于架构限制,只能和 CPU0 保持同样的高频率和高电压,由此浪费了更多的能量,而在高通实际的设计中,不仅多个核心可以工作在不同的电压和频率下,它们共享的 L2 缓存也可以根据实际的负荷,工作在一个单独的电压和频率下,从而最大限度的节能。
相同任务下的同步多核与异步多核的功耗比较
异步多核架构看上去确实很美好,但实际上并不是完美的。在一些情况下,异步频率架构会发生性能的损失:
一种情况是,当一个 CPU 的 L1 缓存没有命中,需要去 L2 缓存取数据时,由于异步多核架构的各个核心和 L2 缓存工作在不同的频率下,需要更多的时间去完成数据的传输,如图中 A 的箭头所示。例如高通 S4,其 Krait CPU 核心可以工作在最高 1.5GHz 下,而 L2 缓存的最高频率为 1.3GHz,如果 L2 缓存处于频率更低的节能状态,此时核心就需要等待 L2 缓存完成传输
另一种情况下会损失更多的性能。当其中一个核心,例如 CPU0 的 L1 缓存没有命中,需要的数据在 CPU1 的 L1 缓存时,则数据需要从 CPU1 的 L1 缓存传输到 CPU0 的 L1 缓存,如图中 B 箭头所示。如果此时恰好 CPU1 的负担比较轻,处在较低的工作频率下,则需要很长的时间才能完成数据传输,而工作在高频的 CPU0 则被浪费在了等待中。
那么,如何才能做到既能根据计算任务的轻重,动态的调节核心的能力,最大限度的节能;又避免异步多核架构在一些情况下性能损失的问题呢?
ARM 提出了大小核(big.LITTLE)的架构。
与非网原创内容,谢绝转载!
系列汇总:
之五:处理器的三国时代:DR 公司盛气凌人,IBM 转身成就微软
之六:32 位处理器的攻“芯”计:英特尔如何称霸 PC 江湖?
之十:SuperH 系列处理器:昔日惠普 Jornada PDA 的“核芯”
之十九:开启多核时代的 Yonah:它是英特尔酷睿 core 的开发代号
之二十:除了 Core iX 系列,你未曾注意的架构还有这些!
之二十二:CPU 的主频、倍频、超频,不是频率越高速度就越快
之二十三:这张漫画告诉你,为什么双核 CPU 能打败四核 CPU?