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

这篇具有很好参考价值的文章主要介绍了【ARM Cache 系列文章 9 -- ARM big.LITTLE技术】。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


转自: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中断控制器根据当前任务使用的处理器动态分发中断信号。
【ARM Cache 系列文章 9 -- ARM big.LITTLE技术】,# ARM CPU Cache 系列,big.LITTLE,GIC-400,CCI-400,CPU Migration

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。
【ARM Cache 系列文章 9 -- ARM big.LITTLE技术】,# ARM CPU Cache 系列,big.LITTLE,GIC-400,CCI-400,CPU Migration

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。文章来源地址https://www.toymoban.com/news/detail-645234.html


到了这里,关于【ARM Cache 系列文章 9 -- ARM big.LITTLE技术】的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • ARM Coresight 系列文章 7 - ARM Coresight 通过 AHB-AP 访问 cpu 内部 coresight 组件

    请阅读 【ARM Coresight SoC-400/SoC-600 专栏导读】 如下图所示, 如果A78想去访问M33的内部 coresight 组件 ETM,需要要怎么做 ? 答案也正是在图中,首先A78 通过AXI 互联,接入到 APBIC 的 slave port,再通过APBIC 的 master 送出,而APBIC中的master port 可以 master 的身份来访问对应的 AHB-AP上,

    2024年02月15日
    浏览(42)
  • C program to check little vs. big endian

    Suppose we are on a 32-bit machine. And char type is 8 bits

    2024年01月19日
    浏览(30)
  • 【ARM CoreLink 系列 2 -- CCI-400 控制器简介】

    下篇文章:ARM CoreLink 系列 3 – CCI-550 控制器介绍 上篇文章:ARM CoreLink 系列 1.1 – CoreLink 系列 产品介绍 CCI(Cache Coherent Interconnect)是ARM 中 的Cache一致性控制器。 CCI-400 将 Interconnect 和coherenc

    2024年02月09日
    浏览(57)
  • 【ARM CoreLink 系列 4 -- NIC-400 控制器详细介绍】

    请阅读 【ARM AMBA 总线 文章专栏导读】

    2024年02月05日
    浏览(81)
  • ARM GIC(三) gicv2架构

    ARM的cpu,特别是cortex-A系列的CPU,目前都是多core的cpu,因此对于多core的cpu的中断管理,就不能像单core那样简单去管理,由此arm定义了GICv2架构,来支持多核cpu的中断管理 一、gicv2架构 GICv2,支持最大8个core。其框图如下图所示: 在gicv2中,gic由两个大模块组成: distributor:实

    2024年02月03日
    浏览(42)
  • ARM GIC(四) gicv3架构基础

    GICv3架构是GICv2架构的升级版,增加了很多东西。变化在于以下: 使用属性层次(affinity hierarchies),来对core进行标识,使gic支持更多的core 将cpu interface独立出来,用户可以将其设计在core内部 增加redistributor组件,用来连接distributor和cpu interface 增加了LPI,使用ITS来解析 对于

    2024年02月03日
    浏览(39)
  • ARM GIC (五)gicv3架构-LPI

    在gicv3中,引入了一种新的中断类型。message based interrupts,消息中断。 一、消息中断 外设,不在通过专用中断线,向gic发送中断,而是写gic的寄存器,来发送中断。 这样的一个好处是,可以减少中断线的个数。 为了支持消息中断,gicv3,增加了LPI,来支持消息中断。并且为

    2024年02月03日
    浏览(32)
  • 【ARM Coresight 系列文章 2 - ARM Coresight 介绍】

    请阅读 【ARM Coresight SoC-400/SoC-600 专栏导读】

    2024年02月12日
    浏览(42)
  • 【ARM Coresight 系列文章 20 -- linux perf 与 ARM coresight】

    请阅读 【ARM Coresight SoC-400/SoC-600 专栏导读】

    2024年02月10日
    浏览(43)
  • ARM Cortex-A学习(1):GIC(通用中断控制器)详解

    GIC (通用中断控制器, Generic Interrupt Controller )是一种用于处理中断的硬件组件,它的主要功能是协调和管理系统中的中断请求,确保它们被正确地传递给相应的处理器核心。 这里以Cortex-A9为例,先来看一下处理器的几种模式: 操作模式 描述 User 是应用程序运行的基本模式。这

    2024年01月24日
    浏览(55)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包