借力大小核设计架构 多核处理器强效又省电

发布者:skyhcg最新更新时间:2013-12-27 来源: 21ic关键字:big.LITTLE  ARM  大小核  处理器 手机看文章 扫描二维码
随时随地手机看文章

大小核(big.LITTLE)晶片设计架构正快速崛起。在安谋国际(ARM)全力推广下,已有不少行动处理器开发商推出采用big.LITTLE架构的新方案,期透过让大小核心分别处理最适合的运算任务,达到兼顾最佳效能与节能效果的目的,以获得更多行动装置制造商青睐。

近年行动领域出现重大变革,智慧型手机已成为消费者联网生活的主要工具,然而,这其中涉及各种高效能运算任务如高速网页浏览、导航与游戏,以及语音通话、社群网路和电子邮件服务等效能需求较低的「持续运作,永远连线」后台任务。

与此同时,平板装置也正重新定义运算平台,这些创新设计转变均为消费者打造与内容互动的全新方式,将原本只限于网路共享装置(TetheredDevice)的功能导入行动领域,创造出真正的智慧型新世代运算。

因应电子装置的快速变革,未来半导体向来遵循的摩尔定律(Moore’sLaw)又将如何往下发展?过去,预测晶片的效能每隔18个月就会倍增,而现今电晶体的数量已从数千增加到数十亿个,但若仔细观察单一处理器,就会发现整体的效能几乎呈现停滞不前的情况,这是因为系统能消耗的电量已达到高峰。

克服晶片效能与功耗挑战big.LITTLE设计架构崭露头角

对于未来任何一种处理器,处理速度都将受限于散热问题而无法大幅跃进。任何装置一旦达到热障(ThermalBarrier)就会开始融化,如果是行动电话,便会使装置温度上升造成使用者不适。除物理层面的散热问题外,能源效率也会变得相当差,若调校处理器实作使其速度加快,则所需耗能便会倍数增长,而为增加最后这一丁点的效能,后续导热设计的成本真的很高。

在过去,处理器核心面积倍增代表速度倍增,但是现在面积倍增,速度却只增加几个百分点,因此复杂度并不代表有效率,这就是单一核心系统有所限制的原因之一。如果无法加快单一核心速度,就必须增加独立核心的数量,这也有助于每个核心去应对其被分配到的任务需求,有鉴于此,安谋国际(ARM)遂于2012年提出big.LITTLE处理器架构(图1)。

借力大小核设计架构 多核处理器强效又省电

图1big.LITTLE系统结构示意图

big.LITTLE主要目的在于解决IC设计业界眼前最大挑战,也就是同时提升晶片效能,并延长装置续航力,以延伸消费者「持续运作,永远连线」的行动体验。该技术之所以能达成上述目标,系结合一个大(big)的高效能处理器核心与一个小(LITTLE)的低功耗处理器核心,然后根据效能需求,以无缝连接方式选择合适的处理器。更重要的是,这种动态分配任务的动作,对于上层应用软体或中介软体在处理器上的执行丝毫没有任何影响。

目前已应用于市面上行动装置的big.LITTLE设计,结合高效能Cortex-A15多处理器丛集(Cluster)与具有节能特色的Cortex-A7多处理器丛集。这些处理器在架构上百分之百相容,且均支援40位元实体地址扩展LPAE、虚拟化扩充及NEON、VFP之类的运作单元,无须另外调整即可让针对其中一种处理器类型所编译的软体应用程式,顺利于另一款处理器上运作。

因应任务需求处理器核心无缝切换

big.LITTLE系统结构就快取记忆体一致性(CacheCoherency)的维护而言,无论是同一处理器丛集中的快取记忆体,或是跨不同处理器丛集的快取记忆体,皆保持快取记忆体资料的一致性。这种跨丛集的一致性来自ARMCoreLink快取同调汇流架构(CCI-400,也能提供ARMMali-T604之类的绘图处理器(GPU)系统等元件的I/O一致性)。

两种丛集的中央处理器,还可透过CoreLinkGIC-400之类的共用中断控制器互传讯号。其中,系统包含big.LITTLE切换和big.LITTLEMP(Multiple-Processor)两种执行模式,由于同一应用程式可采用Cortex-A7或Cortex-A15而毋须调整,因此可将应用程式的任务随机对应到正确的处理器上。

切换模式是让不同处理器类型在切换时能进行软体内容的撷取与回覆。以CPU切换来说,丛集中每个CPU在另一个丛集中都有对应的CPU,而软体内容则以CPU为单位,随机在不同的丛集间切换;如果丛集中没有正在运转的CPU,便可关闭整个丛集及相关的L2快取。

同时,此模式也是动态电压频率调整(DVFS)等能源/效能管理技术的延伸。切换动作类似DVFS操作点的转换,由于处理器上DVFS曲线的操作点,会随负载变化不同而来回变动,当既有的处理器(或丛集)已达到最高操作点,而软体堆叠仍需更高效能,处理器切换动作就会发生,改由另一个处理器执行工作,这个处理器的操作点也会随着负载变化不同而来回变动(图2)。当效能需求不再,可换回之前的处理器(或丛集)。

借力大小核设计架构 多核处理器强效又省电

图2big.LITTLE切换模式DVFS曲线图

显而易见,一致性是达到加速切换所需时间的关键所在,因为它能让已经储存在离埠处理器(OutboundProcessor)的状态,在入埠处理器(InboundProcessor)上窥探与回覆,而不必透过主记忆体的存取。[page]

此外,由于离埠处理器的L2有快取一致性的功能,当任务切换时,可以透过窥探资料值的方式,改善入埠处理器的快取暖机时间,此时L2快取记忆体仍然可以维持供电状态;不过,因为离埠处理器的L2快取无法提供新资料的快取配置,最后还是必须清除并关闭电源以节省耗电(图3)。

借力大小核设计架构 多核处理器强效又省电

图3big.LITTLE运算任务切换流程图

由于LITTLE处理器丛集中,每个处理器都将对应一个big丛集的处理器,因此CPU乃成对配置(Cortex-A15及Cortex-A7处理器上都有CPU0,Cortex-A15及Cortex-A7处理器上都有CPU1,以此类推),不论何时每个配对中只有一个处理器可运转;而系统则会主动侦测各处理器负载,在高负载时将内容执行移到大核心(图4)。当负载从离埠核心移到入埠核心,便会关闭其中一个核心,这种模式让big与LITTLE核心组合能随时运转。

借力大小核设计架构 多核处理器强效又省电

图4big.LITTLE系统CPU切换示意图

[@B]big.LITTLEMP支援非对称丛集运作[@C]big.LITTLEMP支援非对称丛集运作

至于big.LITTLEMP模式则进一步将软体堆叠分配到两个丛集中各个处理器,如此一来,所有CPU皆可同时运作,将系统效能提升到最高点。

由于big.LITTLE系统可经由CCI-400达到快取记忆体的一致性,因此有另一种模式能让Cortex-A15及Cortex-A7处理器同时运作并同步执行程式码,称为big.LITTLEMP,基本上可看作一种异质性多工处理模型。这是big.LITTLE系统最先进且最具弹性的模式,能跨越两个丛集调整单一执行环境。

在这种使用模式下,若执行绪有上述处理效能方面的需求,便可开启Cortex-A15处理器核心并同时透过Cortex-A7处理器核心执行任务。如果没有这方面需求,则只须开启Cortex-A7处理器,在实际应用上,不同丛集的处理器核心不一定一致,而big.LITTLEMP比较容易支援非对称的丛集。

改善低频运算多余功耗big.LITTLE备受瞩目

big.LITTLE技术之所以受到IC设计业者瞩目,原因就是一般行动工作量对效能的需求各有不同,必须找到最合适的核心处理。图5显示的是目前搭载Cortex-A9的行动装置中,两个核心在DVFS、闲置与完全关机状态下所花费时间的百分比,(a)处代表最低频率操作点;(b)处则代表最高频率操作点,介于两者之间则属中级频率。

借力大小核设计架构 多核处理器强效又省电

图5低密度使用案例的DVFS驻留时间

除DVFS状态之外,作业系统电源管理也会使中央处理器闲置,图中(c)处代表闲置时间,当CPU闲置的时间够长,系统电源控制软体将完全关闭其中一个核心以节省耗电,图中(d)处便代表这部分。

从图5可清楚看出应用程式处理器在好几种普通工作量下,都有相当多时间处于低频率状态,在big.LITTLE系统里,系统单晶片(SoC)可利用耗能较低的Cortex-A7核心,执行最高操作频率以外的所有工作。以相同方式分析更为密集的工作量,Cortex-A7处理器对应出低于1GHz频率的机会仍然很大。

事实上,自2011年起,使用者层级软体已能在big.LITTLE排程上运转,不过,那只是在处理器核心与互联的软体模型环境上发展。为完整评估big.LITTLE系统效能、功耗及调校是否合宜,还须打造一个能让使用者软体全速运转的测试晶片。

ARM测试晶片早在2012年初夏即由晶圆代工厂完成,并在短短几周内开始搭配参考设计板运转,支援完整版的Linux系统及Android4.0作业系统。这个测试晶片包含一个双核心Cortex-A15丛集、一个三核心Cortex-A7丛集,以及CCI-400快取一致汇流排架构。会影响部分使用者评效基准的绘图处理器并不包括在内,但平台仍可支援Linux、Android作业系统与效能测试软体。

测试晶片的Cortex-A15最高频率达1.2GHz,Cortex-A7则为1GHz。效能评析结果显示,虽然测试晶片上的记忆体系统效能不如big.LITTLESoC量产后的预测水准,但Cortex-A15与Cortex-A7中央处理器的效能仍落在预期范围内。

用来测试big.LITTLE效能的任务量,主要基于Android4.0系统,透过网页进行网路浏览器效能循环,背景则有音效播放。在此实例中均以相当密集的工作量搭配对性能需求不高的背景活动,网路浏览器每2秒便进行网页循环,每页卷动达500画素,因此对系统效能需求相对较高。

这组结论属于较早期的测试结果,用来测试初版big.LITTLEMP修正程式组,将Linux排程程式从一个完整而平衡的排程模式调整成big.LITTLE模式。预期未来在更多业者投入软体修正后,效能与能耗将更进一步改善,而其他可调校的部分也将有相关解决方案被提出。

另外,测试晶片缺少GPU,使CPU的负载高过搭载GPU系统在卸载状态下的负载水准,而在CPU负载较低的状况下,可能会较常使用LITTLE核心,进而达到节能目的。它包含一套基本的电压及频率操作点,但没有对单一处理器核心做独立的电源开关设计,因此big.LITTLE系统单晶片量产后测试结果可望提升。举例来说,后台任务效能便可节省超过70%能耗。

IC设计业者正全力投入big.LITTLE开发,然而,各界最常见的疑问就是应选择哪一种软体模式?目前主要是在CPU切换与big.LITTLEMP之间择一,而两种方式各有正反意见。在CPU切换方面,由于big及LITTLE核心处于搭配成对的状态,因此对称式的拓扑能顺畅运作;而big及LITTLE核心数量不同的非对称式拓扑则须额外的运转。

big.LITTLEMP模式效果更出色

由于Cortex-A7中央处理器核心体积较小,因此可使用四个LITTLE核心加上一到两个big核心,这种作法可能会具有吸引力。从正面角度来看,中央处理器切换让电源及效能的调校更为容易,可重复利用既有的作业系统电源管理程式码,代表实作将有多年的研发及测试结果做为支援。加上不必调整核心排程程式,范围比执行big.LITTLEMP模式更为简化,而软体模式也能日趋成熟。

整体而言,CPU切换是一种极佳解决方案,相关IC设计业者亦正研拟升级至big.LITTLEMP模式,以提供更多元的处理器运算解决方案。big.LITTLEMP具有多项技术优势,虽技术尚未完全成熟,但目前的测试结果已相当不错。由于此模式也支援非对称式拓扑,故毋须调整软体即可完全利用系统中所有核心,对提升晶片效能并降低功耗更有利。

举例来说,big.LITTLEMP能同步利用所有核心在短时间内达到最高效能,或将big与LITTLE核心上的DVFS设定与排程程式设定调成不同状态,以节省更多电力。不过弹性提升仍有其代价,晶片商与系统业者均须增加调校动作,才能从big.LITTLEMP平台获取完整的效能及能耗优势。

这与过去一直为主流,由晶片和晶圆代工厂将作业系统能源管理设定,以及DVFS参数资料,依装置需求转化为行动系统单晶片平台的作法并无太大差异。big.LITTLEMP模式将切换模式延伸并纳入新的参数资料,不仅更为节能,更能为经过效能优化的big核心增加系统回应度。

big.LITTLEMP模式正快速成熟,已有许多晶片商积极投入开发,产品可望在2013下半年大量出炉。由于big.LITTLEMP模式并不须大幅改变硬体,因此晶圆厂可部署支援CPU切换模式的平台,进行核心更新后,再升级到big.LITTLEMP模式,或直接建置现有完整的big.LITTLE平台。

目前big.LITTLEMP相关软体已开始运转,并开始在晶片商研发平台端进行系统测试,ARM与合作夥伴亦正积极进行软体强化,针对各种使用实例将系统效能调校至最佳效果,包括排程程式的负载平衡政策、上下切换点以及执行绪优先秩序等。此外,ARM也在开放原始码平台每月定期推出big.LITTLEMP修正程式组,内含测试晶片平台、测试结果以及说明文件的最新的调校结果。Linaro也已推出修正程式组和CPU切换软体,并开始供应Linaro联盟成员。

随着big.LITTLE技术演进,ARM近期更发布两款具有big.LITTLE处理性能的新型CPU核心--Cortex-A57及Cortex-A53处理器。Cortex-A57是经过效能优化的big核心,每时脉周期的效能较Cortex-A15增加25%,频率效能与能源效率也都高于Cortex-A15处理器。Cortex-A53则为LITTLE核心,每时脉周期效能增加40%,能源效率则等同于Cortex-A7。

布局下世代big.LITTLEARM加速推出新核心

这些新核心在架构上都完全相同,并支援ARMv8架构,因此能导入进阶版的NEON技术与浮点功能、加密加速并支援64位元。除AMBA4ACE,两种核心也都支援新世代快取一致汇流架构,且跟现有ARMv7架构的CPU核心一样,能在AArch32模式下执行既有程式码。支援64位元及额外一般用途暂存器的应用方式洗炼而有效率,且能耗增加不多。

微架构也经过强化,以增加各核心在每个指令时脉周期中的传输量。这些新款核心在经过软体细部升级并支援64位元定址模式后,将会跟Cortex-A15及Cortex-A7处理器一样支援big.LITTLE技术。

两种核心将在2013年提供给合作晶圆厂,预计2014年开始量产。

未来,big.LITTLE设计将为行动装置系统功耗及效能控制点的极度宽动态(WideDynamicRange)带来全新的可能性,这是单一类型处理器核心所无法达到的。目前市面上装置的工作量往往混杂程度高低不同需求的执行绪,这种宽动态便可为其提供完美的执行环境,提供一个在新世代行动平台下,提升装置运算效能并延长续航力的大好机会。

关键字:big.LITTLE  ARM  大小核  处理器 引用地址:借力大小核设计架构 多核处理器强效又省电

上一篇:为低功耗应用选择正确的uC外围器件
下一篇:看门狗watchdog的理解

推荐阅读最新更新时间:2024-03-16 13:32

嵌入式ARM学习知识
1、软件方面 这应该是最大的区别了。引入了操作系统。为什么引入操作系统?有什么好处嘛? 1)方便。主要体现在后期的开发,即在操作系统上直接开发应用程序。不像单片机一样一切都要重新写。前期的操作系统移植工作,还是要专业人士来做。 2)安全。这是LINUX的一个特点。LINUX的内核与用户空间的内存管理分开,不会因为用户的单个程序错误而引起系统死掉。这在单片机的软件开发中没见到过。 3)高效。引入进程的管理调度系统,使系统运行更加高效。在传统的单片机开发中大多是基于中断的前后台技术,对多任务的管理有局限性。 2、硬件方面 现在的8位单片机技术硬件发展的也非常得快,也出现了许多功能非常强大的单
[单片机]
ARM基础知识连载之三
在ARM体系中通常有以下3种方式控制程序的执行流程: **在正常执行过程中,每执行一条ARM指令,程序计数器(PC)的值加4个字节;每执行一条Thumb指令,程序计数器寄存器(PC)加2个字节。整个过程是按顺序执行 。 **跳转指令,程序可以跳转到特定的地址标号处执行,或者跳转到特定的子程序处执行。其中,B指令用于执行跳转操作;BL指令在执行跳转操作同时,保存子程 序的返回地址;BX指令在执行跳转操作同时,根据目标地址为可以将程序切换到Thumb状态;BLX指令执行3个操作,跳转到目标地址处执行,保存子程序的返回 地址,根据目标地址为可以将程序切换到Thumb状态。 **当异常中断发生时,系统执行完当前指令后,将跳转到相应
[单片机]
ARM】s3c2440裸机实现图片显示
功能 LCD显示字汉字,字符和图片 说明 汉字,字符和图片需要用相应的取模软件得到相应的c文件,然后包含到工程中 主要代码 1)绘制背景 void Brush_ U32 c) { int x,y ; for( y = 0 ; y LCD_HEIGHT ; y++ ) { for( x = 0 ; x LCD_WIDTH ; x++ ) { LCD_BUFFER = c ; } } } 2)文字绘制 void Draw_Text16(U32 x,U32 y,U32 color,const unsigned char ch ) { uns
[单片机]
【<font color='red'>ARM</font>】s3c2440裸机实现图片显示
ARM汇编与C混合编程
GNU内联汇编 内联汇编即在C中直接使用汇编语句进行编程,使程序可以在C程序中实现C语言不能完成的一些工作,例如,在下面几种情况中必须使用内联汇编或嵌入型汇编 程序中使用饱和算术运算(Saturating Arithmetic) 程序需要对协处理器进行操作 在C程序中完成对程序状态寄存器的操作 __asm__ __volatile__( asm code :output:input:changed registers); Note: 使用__asm__和__volatile__表示编译器将不检查后面的内容,而是直接交给汇编器。 如果希望变压器你优化,__volatile__可以不加 没有asm code也不能省略 没有前
[单片机]
arm linux 启动之一:汇编启动到start_kernel
描述arm linux启动的概要过程,以S5PV210(Cortex A8)为例,本文描述第一个阶段。 一、arm linux的引导 uboot在引导arm linux(uImage镜像)到SDRAM之后,通过bootm命令对uImage镜像的64个字节头进行解释,获取linux的entry入口地址,并赋值给theKernel函数指针(一般该值是0x38),并将uboot的环境变量参数(如平台的内存块区域信息、linux启动命令信息bootargs等)按linux要求的tags形式放置在0x30100起始的地方。接着关掉MMU,清除icache,dcache,最后通过该函数将控制权交给arm linux: t
[单片机]
苹果进军手机处理器市场 成英特尔绊脚石
    9月21日消息,据国外媒体报道,英特尔和苹果均有意进军智能手机和MID等微型移动设备处理器市场,未来几年,两家公司很可能成为该市场的主要竞争对手。     英特尔IDF(开发者论坛)大会将于本周二开幕,大会主题之一就是展示其下一代尺寸更小、速度更快的移动芯片Moorestown,主要用于笔记本、上网本和智能手机等产品中。     与此同时,苹果也正在进行自己的芯片研发,尤其是在收购P.A.半导体公司之后,目标市场为iPhone、iPod和平板电脑。有分析师称,当前iPhone手机处理器就是苹果的研发结果,只不过由三星代工而已。     目前,苹果市值约为1650亿美元,英特尔约为1100亿美元,两家科技巨擘同时
[嵌入式]
豪威科技采用新型高性能OAX4000 ASIC图像信号处理器 降低汽车摄像头设计复杂度
豪威科技,全球排名前列的数字图像解决方案开发商,当日发布了新品OAX4000。这款配套图像信号处理器(ISP)可为下一代汽车单摄像头和多摄像头架构提供设计灵活度,使OEM厂商可以随着市场需求的变化,保持设计永不过时,实现更多功能。结合豪威科技全面的传感器产品组合,OAX4000提供了终极解决方案。 OAX4000完美适用于多种汽车应用,包括环视系统、电子后视镜、车内和自动驾驶摄像头,是一种高性能专用集成电路(ASIC),能够处理多达四个300万像素摄像头或一个800万像素摄像头产生的数据流。该产品支持多种滤色器阵列(CFA)模式,并为机器视觉和人类视觉管道独立提供输出流选项。此外,成像管道已经升级,可以提供优异的图像质量。该产
[汽车电子]
豪威科技采用新型高性能OAX4000 ASIC图像信号<font color='red'>处理器</font> 降低汽车摄像头设计复杂度
基于嵌入式ARM9痕量毒气检测系统的研究
    有毒有害气体对人体的伤害问题越来越突出 ,如工业作业产生的有毒有害气体泄露;室内空气中醛、苯等超标导致的“致病建筑物综合症”;导弹等发射产生有毒气体对士兵身体的损害;汽车内有害气体超标导致的头晕、咳嗽等症状。传统毒气检测方法如分光光度法、非色散红外分析法 和气相色谱法,都存在着灵敏度易受干扰、不易实现现场检测等缺陷,其他如滴定或者比色法、气体传感器直接检测法等,耗时较长、操作复杂、选择性较差。     相对于传统检测方法的不足,卟啉传感器由于其优良光敏特性 和对于微量气体的快速、准确响应成为毒气检测的理想传感器。卟啉阵列传感器采用金属卟啉作为传感器的气体敏感膜,与不同气体接触后,金属卟啉分子间键、程度和张力不同,吸收光谱改
[工业控制]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved