当前位置: 首页 > news >正文

【ARM Cache 系列文章 9 -- ARM big.LITTLE技术】

文章目录

    • big.LITTLE 技术背景
      • big.LITTLE 技术详解
      • big.LITTLE 硬件要求
    • big.LITTLE 软件模型
      • CPU Migration
      • Global Task Scheduling
      • Global Task Scheduling比CPU Migration的优势

转自:https://zhuanlan.zhihu.com/p/630981648
如有侵权,请联系删除

big.LITTLE 技术背景

为满足在移动设备应用领域中的节能需求,ARM于2011年首次提出了big.LITTLE技术。big.LITTLE技术是一种使用两种不同ARM处理器的处理架构技术,即big处理器和LITTLE处理器,big处理器用于提供高性能,LITTLE处理器用于追求最大能效。big.LITTLE技术特别适用于功耗动态变化的手机、平板等移动设备领域;以手机为例,在游戏、高质量视频等高能耗场景,切换到big处理器进行处理,而对于文字输入、听音乐、待机等低能耗场景,切换到LITTLE处理器进行处理。

big.LITTLE 技术详解

以最早的 ARM big.LITTLE处理架构为例,讲述 big.LITTLE 技术的原理。
big.LITTLE 技术的基本要求是使用的两种处理器采用的指令集相同。最早的 ARM big.LITTLE处理架构由 Cortex-A15 和 Cortex-A7 处理器组成,两者支持相同的 ARMv7-A 指令集,相同的指令集保证了程序指令在两种处理器上连续执行。

下图是一个典型的 big.LITTLE 架构示例,其中big处理器是双核的 Cortex-A15 cluster,LITTLE 处理器是双核的 Cortex-A7 cluster,每个cluster 个各包含一个 L2 Cache,连接到 Cache Coherent Interconnect IP CCI-400,由 CCI-400进行Cache一致性管理;通过GIC-400中断控制器根据当前任务使用的处理器动态分发中断信号。
在这里插入图片描述

big.LITTLE 技术的基本理念是根据瞬时性能需求将任务动态分配给合适的处理器,并关闭空闲处理器的电源开关,以达到最优的能耗比。这里假定如下应用场景,通常情况下,对于大多数任务Cortex-A7 处理器足以应对,此时Cortex-A15处理器的供电处于关断状态;当某个任务对性能的要求超过Cortex-A7 处理器的能力时,Cortex-A15处理器被打开,该任务切换到Cortex-A15处理器进行处理;当任务对性能的要求降低后,Cortex-A15处理器的电源再次被关断,转由Cortex-A7 处理器进行处理,从而降低了整体能耗。

big.LITTLE 硬件要求

big.LITTLE技术对硬件的要求包括:

(1)使用的两种处理器cluster的架构相同,采用相同的指令集,每个cluster内的处理器类型相同,即包括一个big处理器cluster和一个LITTLE处理器cluster;

(2)包含一个GIC中断控制器,根据当前任务使用的处理器动态分发中断信号;

(3)具有Cache一致性支持。

下面对Cache一致性支持进行详细介绍。Cache一致性是big.LITTLE技术的关键要素。以如下big.LITTLE架构为例,该CPU子系统主要由Cortex-A7 处理器cluster、Cortex-A15 处理器cluster、GIC-400中断控制器、CCI-400控制器组成。Cortex-A7 处理器cluster和Cortex-A15 处理器cluster利用AMBA AXI Coherency Extensions (ACE) 接口和CCI-400控制器实现了Cache一致性,保证了不同处理器cluster间的无缝数据传输,无需外部DDR存储器的参与。

big.LITTLE 软件模型

big.LITTLE技术使用的两种软件模型为CPU Migration和Global Task Scheduling。
在这里插入图片描述

CPU Migration

对于CPU Migration软件模型,每个big处理器均与一个LITTLE处理器配对使用,在任何时刻,配对的big处理器和LITTLE处理器只有一个上电工作,另一个断电,上电工作的处理器根据当前负载情况进行选择。此模型要求每个处理器cluster的CPU核心数量相同。

Global Task Scheduling

对于Global Task Scheduling软件模型,任务调度器根据每个任务的性能需求以及big和LITTLE处理器的处理能力,对该任务使用的处理器进行分配,且可以分配到任意一个处理器。此外,在任务分配的响应时间方面,比CPU migration模型更快。

Global Task Scheduling比CPU Migration的优势

(1)big和LITTLE处理器的数量可以不同,因此使得芯片架构配置更加灵活;

(2)可以使用任意数量的处理器。在性能需求峰值情况下能够使用所有处理器,然而对于CPU Migration,在任意时刻只能有一半数量的处理器工作。

综上,高效和灵活的优势使得Global Task Scheduling软件模型成为主流。其中,ARM公司对Global Task Scheduling软件模型的实现被称为 big.LITTLE MP。

http://www.lryc.cn/news/122561.html

相关文章:

  • 【BASH】回顾与知识点梳理(十四)
  • 乡村振兴指数与其30余个原始变量数据(2000-2022年)
  • 深入理解MySQL表的操作和管理
  • MATLAB图论合集(一)基本操作基础
  • Redis布隆过滤器的原理和应用场景,解决缓存穿透
  • 数据结构中的英文缩写和易忘的专有名词
  • Unity C# 之 Http 获取网页的 html 数据,并去掉 html 格式等相关信息
  • MODBUS TCP转CCLINK IE协议网关cclink通讯异常的处理方法
  • linux中的ifconfig和ip addr
  • 图像多目标跟踪
  • 42 | 航空公司客户价值分析
  • 第三章 图论 No.11二分图,匈牙利算法与点覆盖
  • Die2Die(D2D)和chip2chip(C2C)之间的高速互联接口
  • JAVA设计模式汇总
  • 【实战讲解】数据血缘落地实施
  • Java课题笔记~ ServletContext
  • 设备取电芯片LDR6328Q
  • Redis 事务、持久化、复制原理分析
  • 初识鸿蒙跨平台开发框架ArkUI-X
  • uniapp开发小程序-分包(微信错误码:800051)
  • n-皇后问题
  • JS如何向数组中添加数组
  • 串口通信收发项目级一
  • 设计模式之七:适配器模式与外观模式
  • FFmpeg接收UDP码流
  • 【Pytroch】基于支持向量机算法的数据分类预测(Excel可直接替换数据)
  • 【Git】git初始化项目时 | git默认创建main分之 | 如何将git默认分支从main改为master
  • Vue3中配置environment
  • 前端基础积累_新技术_Vue_React_H5_奇怪的BUG_面试_招聘
  • 【密码学】维京密码