big.LITTLE架构是什么?

知识经验 5334浏览 1评论

big.little banner

前段时间,MTK宣布了下一代的手机芯片平台MT6592,最大的亮点就是MTK的“真八核”方案(八个内核同时运行)。并以此抨击Samsung Exynos 5 Octa 系列的”big.LITTLE”八核方案。为了更好了解这场争论的核心内容,抽空上网补习了一些相关知识。

“big.LITTLE”是ARM 公司在2012年新推出的一种处理器架构。为的是解决处理器性能提升和功耗/发热控制这一对矛盾。在Exynos 5410(Galaxy S4)中,三星将一块低功耗,低性能的 4核Cortex A7芯片(LITTLE)和一块高性能,高功耗的Cortex A15芯片(big)桥接在一起。当手机在运行的时候,绝大部分时间只有LITTLE在工作,当运算负载变化的时候,芯片首先通过DVFS(Dynamic Voltage Frequency Scaling)调整运行频率应对。当负载继续变高,需要更多的计算能力时,芯片会将工作切换到A15上继续执行,直到负载下降,重新切回LITTLE。由于Cortex A7和A15同属于ARM v7A架构,因此任务的切换在这两块芯片是可行的。同时,由于用户使用的固有模式(大部分时间处于待机或低负载运行),使得用户可以节约大量的电池电量,大幅提高待机时间。

下图演示了采用big.LITTLE架构(Cortex A7+A15)和单纯使用Cortex A15之间的比较。

big.LITTLE架构 关于MTK所说的 Samsung Exynos Octa 芯片事实上只能使用4个核的说法,是不是正确呢?实际上,S4确实只能使用4个核,但是Note3已经升级到可以同时使用8核了。big.LITTLE架构支持三种使用方式:

  • Cluster Migration
  • CPU Migration
  • HMP,Heterogenous Multiple Processing(也叫Global Task Scheduling)

big.LITTLE架构

 

在Cluster Migration模式,只能进行簇(cluster)切换,即只能同时使用4核Cortex A7或者A15。这是big.LITTLE最初的模式,Galaxy S4(Exynos 5410)也只能使用这种模式。

在CPU Migration模式,内核可以单独切换,但是只能切换到自己对应的内核上。比如CPU0.big(Cortex A7)只能和 CPU0.LITTLE(Cortex A15)互相切换,CPU1.big只能和CPU1.LITTLE切换。这样子,带来了一定的灵活度,但是同一时刻工作的CPU仍然不会超过4颗。

HMP被视为终极模式,big.LITTLE可以单独管理所有的内核,分配任务。最多可以让8个内核同时工作。Galaxy Note3 (Exynos 5420)采用的就是这种方式。在youtube上,ARM还分享了一段视频,演示在Samsung设备上,采用ARM big.LITTLE架构的芯片加上加上ARM自家的MALI GPU,运行RenderScript(Android上的异构计算语言)的情景。可以看到,在极端(高计算负载)情况下,所有的8个CPU内核以及6个GPU内核都会同时参与运算,但是,在大部分时间,芯片处于待机,或者只有少数A7的内核在工作,以节省功耗。

从原理上来说,只要是指令集架构相同的CPU内核均可适用big.LITTLE技术,目前可使用有Cortex-A15和Cortex-A7组 合、Cortex-A17和Cortex-A7组合,以及64位的Cortex-A57和Cortex-A53组合。

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

网友最新评论 (1)

  1. [不活了]
    慕曼 2年前 (2016-01-02) 回复 编辑