ARM的big.LITTLE架构
ARM 的 big.LITTLE 架构是一种异构多核处理器设计技术,旨在智能平衡高性能与高能效,尤其适合手机、平板等移动设备,以延长电池续航并满足多样化的计算需求。
一、核心思想与工作原理
big.LITTLE 架构将两种不同特点的处理器核心集成在同一芯片上:
* "big" 核心:如 Cortex-A15、Cortex-A17、Cortex-A57 等。这些核心性能强劲,但功耗相对较高,专门处理游戏、高质量视频播放等高负载任务。
* "LITTLE" 核心:如 Cortex-A7、Cortex-A53 等。这些核心能效极高,但绝对性能较低,擅长处理后台活动、待机、音频播放等轻量级任务。
其基本要求是使用的两种处理器采用的指令集相同。系统会根据当前任务对性能的需求,动态地在“大核”和“小核”之间无缝切换工作负载。例如,在玩大型游戏时主要调用“大核”集群工作,而在听音乐或待机时则使用“小核”集群,同时关闭或降低空闲集群的功耗。
二、实现基础与技术关键
要实现 big.LITTLE,需要以下硬件和软件支持:
1. 硬件要求:
缓存一致性互联:这是 big.LITTLE 技术的关键要素。通常通过 CCI(Cache Coherent Interconnect,缓存一致性互联) 控制器(如 ARM 的 CCI-400)和 AMBA ACE(AXI Coherency Extensions) 协议实现。
它保证了所有核心(无论大小)看到的内存视图是一致的,数据可以在不同集群的缓存之间直接交换,无需经过慢速的主内存,这是实现任务无缝迁移的基础。
全局中断控制器:如 GIC-400,能够根据任务运行的核心动态分发中断信号。
相同的指令集架构 (ISA):无论是“大核”还是“小核”,都必须支持相同的指令集(如 ARMv7-A 或 ARMv8-A),以确保应用程序二进制文件无需修改就能在任何一类核心上正确运行。
2. 软件任务调度模型:
* CPU 迁移 (CPU Migration):早期模型。将一个大核和一个小核分为一组,同一时间只有一组中的单个核心处于活动状态。任务在配对的核心之间切换。这种方式不够灵活。
* 全局任务调度 (Global Task Scheduling / big.LITTLE MP):现代主流方式。操作系统调度器能感知所有核心的负载和状态,可以直接将任务分配给任何最合适的大核或小核,所有核心可以同时在线工作。这种方式更加高效和灵活,能更好地利用所有计算资源。
big.LITTLE 架构带来的主要好处包括:
* 显著降低功耗:将轻负载任务分配给高能效的小核处理,可以大幅节省电力。ARM 数据显示,在某些场景下可比同数量大核的传统设计节省高达 70%-75% 的功耗。
* 提升能效与性能:在提供强劲峰值性能(大核)的同时,保证了极佳的整体能效(小核),实现了高性能与长续航的平衡。ARM称其在线程负载方面可提升 40% 的性能。
* 延长电池续航:对移动设备至关重要,允许用户更长时间地使用设备而不必频繁充电。
三、 演进与发展:DynamIQ
2017年,ARM 推出了 DynamIQ 架构作为 big.LITTLE 的继承和增强方案。
DynamIQ 允许在单个集群内混合搭配不同性能的 ARM CPU 核心(如 Cortex-A75 和 Cortex-A55),而不仅仅是两个独立集群的简单组合。它支持更灵活的核心配置(如 1+7、2+6 等),提供了更精细的功耗控制和更快的缓存访问,为人工智能(AI)和机器学习(ML)等任务提供了更好的支持。
四、总结
ARM 的 big.LITTLE 架构是一种创新的异构计算设计,它通过智能地让高性能“大核”和高能效“小核”协同工作,成功解决了移动设备对高性能和长续航的双重需求。这项技术,及其后续的 DynamIQ 架构,已成为现代智能手机和移动设备处理器设计的基石。