big.LITTLE

✍ dations ◷ 2025-10-06 17:23:58 #ARM架构

ARM big.LITTLE或big.LITTLE是由安谋国际科技公司(ARM)提出的异质运算多核心处理器配置结构配置。在这个配置,将比较耗电、但运算能力强的处理器核心组成的“big集群”与低耗电、运算能力弱的处理器核心组成的“LITTLE集群”结合在一起,这些处理器核心共享存储器区段,并能够在不同的CPU集群之间在线实时分派、切换负载。这个多核心处理器配置结构运用在移动计算上,从而能够做出计算高性能,但是平均耗电低的多核心处理器,ARM的市场数据称在某些运算操作中这个配置配置相比只使用与“big集群”相同CPU核心数量的处理器可节省多达75%的功耗。

本配置配置式在2011年10月ARM发表Cortex-A7时首次对外公布,Cortex-A15也能够与这个架构兼容。2012年10月,ARM公司宣布Cortex-A53(英语:ARM Cortex-A53)与Cortex-A57(英语:ARM Cortex-A57)(ARMv8)也能与这个架构兼容。2014年2月ARM发表Cortex-A17(英语:ARM Cortex-A17),同一年在Computex 2013上ARM又发表了Cortex-A12(英语:ARM Cortex-A12),这两种CPU核心也可用于big.LITTLE配置式中的“big集群”上(“LITTLE集群”由Cortex-A7担当)。

2017年5月,ARM发表DynamIQ取代big.LITTLE。与big.LITTLE相比,DynamIQ允许更为灵活的CPU核心配置和更大规模的集群设计(每个CPU集群可以有八颗CPU核心)、集群数量更多(一块CPU上最大可扩展至32个集群)、更精确的电源控制(每个核心内有更多的时钟门控和电压控制)以及更快速的L2缓存访问操作。然而DynamIQ仅适用于Cortex-A75、Cortex-A55及往后推出的ARM CPU核心。

big.LITTLE中,节电的“LITTLE集群”和高性能的“big集群”之间有三种切换方式,均要求在线实时操作,除了电路设计以外还需要操作系统的配合得当(一些方式需要依赖操作系统的工作流调度实现)

最早也是最简单的big.LITTLE配置实现是这种大小核心集群的切换,高性能CPU核心亦即大核心组成“big集群”,而低功耗CPU核心亦即小核心,则是组成“LITTLE集群”。操作系统的调度器在某一时间点上只能见到一组CPU集群,整个处理器的负载高低变化时,系统会在不同集群间转移负载。当负载从一个CPU集群转移至另一CPU集群时,相关的数据、运行状态等被保存在这些集群共享的二级缓存(L2 Cache)当中,先前运作的CPU集群断电关闭然后加电压开启另一个集群。集群的数据转移还需要使用缓存一致性互联(CCI)。这种big.LITTLE的第一个实现是三星Exynos 5410 Octa。这种方式的一大缺点是CPU集群间的切换延时较高,并且CPU核心的利用率较低。

这种切换方式自集群切换方式演变,主要区别在于每一个集群对操作系统调度器来说都是可见的。在此种方式中,任务在CPU核心之间切换使用内核内置切换器(in-kernel switcher,IKS),芯片设计上是一个高性能CPU核心和一个低功耗CPU核心组成一个复合集群,这一个集群作为一个“虚拟的”核心来供操作系统操作,同一时间点上这一对CPU核心只有一颗在运作,高性能CPU核心仅在有高性能运算需求时才开启,运算性能需求低时则是只开启低功耗核心。当虚拟核心内负载在高低之间变化时,先开启将要切换到的CPU核心,转移运行状态,转移完成后关闭先前运行的CPU核心,由该CPU核心继续运行先前的处理进程。切换工作需要通过cpufreq框架完成。Linux 3.11内核开始提供了big.LITTLE IKS完整实现所需内核组件模块。

苹果公司的A10 Fusion以及A10X Fusion即采用此种big.LITTLE配置。不过,更复杂多样的“大小核心”CPU核心分组,也是有可能的,一只采用IKS方式的处理器上容许一个虚拟核心内有一颗以上的高性能CPU核心或低功耗CPU核心,或者是相同的CPU核心而分成主副CPU核心。英伟达的Tegra 3 SoC也采用类似IKS切换方式,但Tegra 3上采用的是相同的CPU核心,多个主CPU核心与一个副CPU核心的设计。

异质多处理(heterogeneous multi-processing,HMP)是big.LITTLE配置中最灵活也是性能最强劲的使用模式,在这种配置中,同一时间点上所有的物理CPU核心都是可用的并且可以同时全部开启使用,也可以将高性能CPU核心全数关闭而只使用低功耗CPU核心。高优先级或者对运算速度吃重的线程可以被分派至高性能CPU核心上,而低优先级或对运算速度要求不高的线程(如背景任务),则是由低功耗CPU核心负责完成

最早的实现是三星电子的Exynos Octa 5420/5422/5430。而现时大部分实现big.LITTLE配置的ARM架构兼容处理器,多采用这种切换方式。迫于移动设备对CPU核心规模的控制,苹果公司的Apple A11也采用此种调度方式。

全局任务调度的优势:

对于大小CPU核心(集群)成对配置的,它们之间的切换过程对操作系统来说是透明的,操作系统使用现成的动态电压与时钟信号调整(DVFS)功能来实现。操作系统核心现成的DVFS支持(像是Linux核心的cpufreq)将根据负载轻重,从预先设置的一个时钟信号-核心电压参数配置表中以合适的参数设置CPU的电压与时脉,和此前仅需调整核心电压、时脉的CPU一样,然而,较低的参数设置则会开启节电(小)CPU核心,而较高的参数设置则是开启高性能(大)CPU核心。

另一种相对的,则是所有的CPU核心都呈现给操作系统内核调度器,调度器将依据请求决定由哪个核心运行哪个行程或线程。这种调度方式需要非成对配置的CPU核心(集群),不过成对配置的CPU核心(集群)也可能允许使用。不过这种调度方式更考验操作系统内核调度器的调校功力(多核心处理器的性能最优化),至少当前大多数的硬件中,多核心处理器的结构使用的是对称多处理器系统,big.LITTLE配置其实也不例外。

相关

  • 心理表征心智表征,又称为认知表征,在心灵哲学、认知心理学、神经科学以及认知科学等领域中,指的是一种假设性的内在认知符号,能够表示外在现实;或是指一种利用某种符号的心理过程,这种符号
  • 凤山体育园区高雄市凤山体育馆(原高雄县立体育馆)是一座位于高雄市凤山区的综合性体育馆。为两层楼圆形建筑,可容纳5317人。于1977年10月启用。2017年11月起,因为高雄市凤山运动园区改造计划
  • 风毛菊见本文。风毛菊属(学名:Saussurea)是菊目菊科下的属,包括200多种植物,其中最为著名的物种是雪莲(Saussurea involucrata)。
  • 咪唑-4-酮-5-丙酸咪唑-4-酮-5-丙酸 是组氨酸代谢的一个中间体。医学导航:遗传代谢缺陷代谢、k,c/g/r/p/y/i,f/h/s/l/o/e,a/u,n,mk,cgrp/y/i,f/h/s/l/o/e,au,n,m,人名体征药物(A16/C10)、中间
  • 英格里人英格里芬兰人或英格里人(芬兰语:inkeriläiset,inkerinsuomalaiset;俄语:Ингерманландцы)是居住在英格里亚(现俄罗斯列宁格勒州的中部区域)的芬兰人。他们是在17世纪
  • 恰蒂斯加尔邦恰蒂斯加尔邦(恰蒂斯加尔语/印地语:छत्तीसगढ़,拉丁字母转写:Chattisgarh)是位于印度中部的一个行政邦,它于2000年11月1日从中央邦脱离,成为印度的第26个邦,全国第十大邦,首府
  • 中缅印战区中缅印战区(CBI)是二战期间,美国陆军对其在中国、缅甸、印度驻军的称谓。最高统帅为蒋中正,参谋总长为史迪威。在这一战区知名的部队包括中国远征军、飞虎队、驼峰航线上的运输
  • 回教祈祷团东南亚联合国 国家其他非国家组织伊斯兰祈祷团(阿拉伯语:الجماعة الإسلامية‎,al-Jamāʿah al-Islāmiyyah),又称回教祈祷团,简称伊斯兰团,是一个寻求在东南亚建
  • 毛丝鼠属短尾毛丝鼠() 长尾毛丝鼠()灰 =长尾毛丝鼠毛丝鼠属(学名:),别名绒鼠、栗鼠,又称龙猫,毛丝鼠体型小而肥胖,尾端的毛长而蓬松。全身被满均匀的绒毛,其状如丝一样致密柔软,故名毛丝鼠。其为
  • B介子B介子(英语:B meson)是一种含有反底夸克的介子。B介子可细分成四种,按介子中的另一种夸克而定:B+ 含有上夸克,B0 含有下夸克,B0 s含有奇夸克,而B+ c则含有粲夸克。由于顶夸克的寿命