ARM新一代多核技术可延长智能手机电池寿命
时间:02-19
来源:互联网
点击:
通过虚拟化技术掩盖微妙的不同
big.LITTLE技术在内部也采用了颇有意思的封装方法。这就是利用了虚拟化技术。
虽然Cortex-A7与Cortex-A15的ISA是相同的,但是两者在物理上是不同的内核。如果只统一ISA的话,那么内核间还是会存在无法掩盖的微妙不同。
例如,ARM架构中有名为“CP15”的寄存区,可存储CPU内核的ID以及缓存构成的拓扑等信息。ID中包括封装有相关CPU内核的企业ID,以及与CPU内核产品名称相对应的型号等。关于这些信息,Cortex-A7与Cortex-A15必然不同。
big.LITTLE技术通过应用虚拟化技术来掩盖这些不同。如前所述,Cortex-A7与Cortex-A15都采用了虚拟化技术。因此,在这些内核上运行的OS一旦访问CP15寄存器,根据虚拟化机构的原理,就会发生异常陷阱(Exception Trap)。于是,控制任务便会自动转移到OS以下模式运行的虚拟化软件(Hypervisor)上。在Hypervisor上向OS等提示与物理CP15寄存器等不同的信息,由此可以掩盖Cortex-A7与Cortex-A15之间在硬件上的不同。
利用虚拟化原理在软件上“欺骗”OS和应用,由此看起来就像在完全相同的内核上运行一样。ARM公司总裁Tudor Brown表示,“big.LITTLE技术的精髓在于虽然内核的物理性质不同,但从软件来看却完全相同”。
在Cortex-A7中封装虚拟化技术,不仅是为了与前面提到的Cortex-A15确保兼容性,还是为了最终通过Hypervisor消除两个内核间的微妙差异。
加速虚拟化技术在智能手机上的普及
ARM公司在2010年9月发布了该公司首款采用虚拟化技术的内核Cortex-A15,当时未必明确了在移动领域如何利用虚拟化技术。Cortex-A15不同于此前ARM公司的CPU内核产品,专门面向该公司近年着力发展的服务器领域。因此,估计是为了满足该领域的需求,才在Cortex-A15中采用了虚拟化技术。
然而,big.LITTLE技术公布后发现,虚拟化技术实际上可以广泛用于智能手机和平板终端上。ARM公司表示,“最初big.LITTLE项目是与虚拟化技术分别推进的,中途我们认识到可以利用虚拟化技术,于是将两者融合在了一起”。以big.LITTLE技术以及Cortex-A7的引进为契机,此前一直与移动领域无缘的虚拟化技术,将标配在几乎所有的智能手机和平板终端上(见图1)。
在集群间控制一致性
在big.LITTLE技术中,要想使某项任务顺利地从一个内核转移到另一个内核,需要在硬件方面进行改进。具体要求是在不同内核间确保缓存的一致性(Coherency)。
在缓存的一致性控制方面,ARM公司网已经有了“MPCore”多核技术,可以对CPU内核内一次缓存的一致性进行控制。不过,MPCore以最大四核的同质架构多核为前提,不支持big.LITTLE技术这种异质架构多核。
因此,ARM公司针对big.LITTLE技术这种异质架构,在SoC上新设立“集群”(Cluster)这个单位。通过MPCore技术构成的同质架构多核以集群为单位汇总,当在SoC上同时配备不同种类的CPU内核时,需要另外设置新的集群。比如,分别设置一个配备两个Cortex-A7的集群,以及配备两个Cortex-A15的集群(图2)。
集群间的缓存一致性,采用专用的IP内核“CCI(Cache Coherent Tnterconnect)-400”来确保。CCI-400在内部配备了交叉开关。CPU内核内一次缓存的一致性由MPCore技术控制,集群间二级缓存的一致性由CCI-400控制(表1)。
由于可以在Cortex-A15与Cortex-A7之间维持缓存的一致性,因此big.LITTLE技术可在约20μs内完成两个内核间的任务转移。20μs是将CPU内核内部多项寄存器信息转移到其他内核上所需要的时间(图2)。利用基于CCI-400的一致性控制,二级缓存数据可与CPU内核处理并行,从而自动转移到其他内核上。
英伟达也有类似技术
根据负荷情况将阈值电压更高的节电型CPU内核进行切换使用的方法,其实除了ARM公司的big.LITTLE技术外还有其他技术。比如,美国英伟达(NVIDIA)在2011年9月发布的“vSMP(variable Symmetric Multi Processing)”技术。vSMP技术已经用于该公司2011年11月发布的应用处理器“Tegra 3”上,台湾华硕电脑(ASUSTeK Computer)的“Eee Pad TransformerPrime”等平板终端产品已经配备了“Tegra 3”。
Tegra 3配备五个“Cortex-A9”,其中一个用作“协处理内核”,采用漏电流较小的低功耗制造技术形成。虽然不能像big.LITTLE技术那样同时采用微架构不同的内核,但在组合使用电力效率不同的内核这点上,双方是类似的(表1)。
不过,vSMP没有big.LITTLE技术中的集群这一概念,协处理内核以及其他内核直接共享二级缓存。内核间切换所需时间在2ms以内,远远高于big.LITTLE技术的20μs。估计将来会改换成配备更先进系统的big.LITTLE之类的技术。(记者:进藤 智则,《日经电子》)
来源:日经电子
big.LITTLE技术在内部也采用了颇有意思的封装方法。这就是利用了虚拟化技术。
虽然Cortex-A7与Cortex-A15的ISA是相同的,但是两者在物理上是不同的内核。如果只统一ISA的话,那么内核间还是会存在无法掩盖的微妙不同。
例如,ARM架构中有名为“CP15”的寄存区,可存储CPU内核的ID以及缓存构成的拓扑等信息。ID中包括封装有相关CPU内核的企业ID,以及与CPU内核产品名称相对应的型号等。关于这些信息,Cortex-A7与Cortex-A15必然不同。
big.LITTLE技术通过应用虚拟化技术来掩盖这些不同。如前所述,Cortex-A7与Cortex-A15都采用了虚拟化技术。因此,在这些内核上运行的OS一旦访问CP15寄存器,根据虚拟化机构的原理,就会发生异常陷阱(Exception Trap)。于是,控制任务便会自动转移到OS以下模式运行的虚拟化软件(Hypervisor)上。在Hypervisor上向OS等提示与物理CP15寄存器等不同的信息,由此可以掩盖Cortex-A7与Cortex-A15之间在硬件上的不同。
利用虚拟化原理在软件上“欺骗”OS和应用,由此看起来就像在完全相同的内核上运行一样。ARM公司总裁Tudor Brown表示,“big.LITTLE技术的精髓在于虽然内核的物理性质不同,但从软件来看却完全相同”。
在Cortex-A7中封装虚拟化技术,不仅是为了与前面提到的Cortex-A15确保兼容性,还是为了最终通过Hypervisor消除两个内核间的微妙差异。
加速虚拟化技术在智能手机上的普及
ARM公司在2010年9月发布了该公司首款采用虚拟化技术的内核Cortex-A15,当时未必明确了在移动领域如何利用虚拟化技术。Cortex-A15不同于此前ARM公司的CPU内核产品,专门面向该公司近年着力发展的服务器领域。因此,估计是为了满足该领域的需求,才在Cortex-A15中采用了虚拟化技术。
然而,big.LITTLE技术公布后发现,虚拟化技术实际上可以广泛用于智能手机和平板终端上。ARM公司表示,“最初big.LITTLE项目是与虚拟化技术分别推进的,中途我们认识到可以利用虚拟化技术,于是将两者融合在了一起”。以big.LITTLE技术以及Cortex-A7的引进为契机,此前一直与移动领域无缘的虚拟化技术,将标配在几乎所有的智能手机和平板终端上(见图1)。
在集群间控制一致性
在big.LITTLE技术中,要想使某项任务顺利地从一个内核转移到另一个内核,需要在硬件方面进行改进。具体要求是在不同内核间确保缓存的一致性(Coherency)。
在缓存的一致性控制方面,ARM公司网已经有了“MPCore”多核技术,可以对CPU内核内一次缓存的一致性进行控制。不过,MPCore以最大四核的同质架构多核为前提,不支持big.LITTLE技术这种异质架构多核。
因此,ARM公司针对big.LITTLE技术这种异质架构,在SoC上新设立“集群”(Cluster)这个单位。通过MPCore技术构成的同质架构多核以集群为单位汇总,当在SoC上同时配备不同种类的CPU内核时,需要另外设置新的集群。比如,分别设置一个配备两个Cortex-A7的集群,以及配备两个Cortex-A15的集群(图2)。
集群间的缓存一致性,采用专用的IP内核“CCI(Cache Coherent Tnterconnect)-400”来确保。CCI-400在内部配备了交叉开关。CPU内核内一次缓存的一致性由MPCore技术控制,集群间二级缓存的一致性由CCI-400控制(表1)。
由于可以在Cortex-A15与Cortex-A7之间维持缓存的一致性,因此big.LITTLE技术可在约20μs内完成两个内核间的任务转移。20μs是将CPU内核内部多项寄存器信息转移到其他内核上所需要的时间(图2)。利用基于CCI-400的一致性控制,二级缓存数据可与CPU内核处理并行,从而自动转移到其他内核上。
英伟达也有类似技术
根据负荷情况将阈值电压更高的节电型CPU内核进行切换使用的方法,其实除了ARM公司的big.LITTLE技术外还有其他技术。比如,美国英伟达(NVIDIA)在2011年9月发布的“vSMP(variable Symmetric Multi Processing)”技术。vSMP技术已经用于该公司2011年11月发布的应用处理器“Tegra 3”上,台湾华硕电脑(ASUSTeK Computer)的“Eee Pad TransformerPrime”等平板终端产品已经配备了“Tegra 3”。
Tegra 3配备五个“Cortex-A9”,其中一个用作“协处理内核”,采用漏电流较小的低功耗制造技术形成。虽然不能像big.LITTLE技术那样同时采用微架构不同的内核,但在组合使用电力效率不同的内核这点上,双方是类似的(表1)。
不过,vSMP没有big.LITTLE技术中的集群这一概念,协处理内核以及其他内核直接共享二级缓存。内核间切换所需时间在2ms以内,远远高于big.LITTLE技术的20μs。估计将来会改换成配备更先进系统的big.LITTLE之类的技术。(记者:进藤 智则,《日经电子》)
来源:日经电子
ARM Cortex 电路 电压 SoC 电流 电子 相关文章:
- 数字电视条件接收卡SoC SM1658的硬件结构及实现方法(下)(09-07)
- 基于USB的通用无线传输接口设计(09-20)
- 用IXP网络处理器设计的数字家庭媒体中心系统 (02-12)
- 带有 DRM 功能的 Nexperia Flash 媒体播放器(02-15)
- ARM9平台下的CMOS图像传感器数据采集系统(07-20)
- 基于ARM的智能家居远程控制系统设计 (10-15)