0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

一文搞懂ARM SoC功耗控制架构

Linux阅码场 来源: 黑客与摄影师 作者: 黑客与摄影师 2022-11-30 09:05 次阅读

1, 介绍

随着芯片的集成化程度提升,很多模块都做到芯片的内部,比如isp、dspgpu,这样做成片上系统(System on Chip,简称SoC),好处是整个系统功能更内聚,板级面积会减少,但是芯片的体积却越来越大。为了减少芯片面积、降低芯片成本、减少芯片功耗,逐渐地提升了芯片的工艺,从而降低了功耗,提升了能耗比。光靠工艺的提升来减少功耗,还不够。为了更好地功耗管理,ARM提出了功耗控制系统架构(power control system architecture,简称PCSA),用来规范芯片功耗控制的逻辑实现。

PCSA基于ARM的组件实现,规范包括:电压、电源时钟的划分;电源的状态和模式;ARM电源控制框架和集成规范;ARM特定组件的电源和时钟集成;带有低功耗Q-channel和P-channel接口的IP。

前面的文章讲述了linux侧的功耗软件管理框架(详见前面的文章《一文搞懂linux电源管理(合集)》),但是这些软件功耗管理都是基于芯片的相应功能实现的,接下来我们看一看这个PCSA具体由哪些部分组成,通过这些组成与整个功耗控制框架的学习,了解芯片上的低功耗是如何设计的。

2, 框架

2.1 基于ARM的软硬件管理框架

基于ARM的功耗软、硬件管理框图:

d4b1d358-7043-11ed-8abf-dac502259ad0.png

首先用户发起的一些操作,通过用户空间的各service处理,会经过内核提供的sysfs,操作cpu hotplug、device pm、EAS、IPA等。在linux内核中,EAS(energy aware scheduling)通过感知到当前的负载及相应的功耗,经过cpu idle、cpu dvfs及调度选择idle等级、cpu频率及大核或者小核上运行。IPA(intrlligent power allocation)经过与EAS的交互,做热相关的管理。

Linux kernel中发起的操作,会经过电源状态协调接口(Power State Coordination Interface,简称PSCI),由操作系统无关的framework(ARM Trusted Firmware,简称ATF)做相关的处理后,通过系统控制与管理接口(System Control and Management Interface,简称SCMI),向系统控制处理器(system control processor,简称SCP)发起低功耗操作。SCP最终会控制芯片上的sensor、clock、power domain、及板级的pmic做低功耗相关的处理。

2.2 功耗控制框架

在SoC设计中,需要一个硬件模块能够配合操作系统的功耗管理软件或驱动,来完成顶层的功耗控制,这个硬件模块可以是硬件电路,也可以是一个低功耗的处理器。考虑到灵活性,这个硬件模块一般是一个微处理器核(比如cortex-M0)加上一些外围逻辑电路做成的功耗控制单元(SCP)。为了SCP能够完成SoC的功耗管理,又定义了一个功耗控制框架(power control framework,简称PCF),PCF包含了一些接口、组件、协议来配合SCP做整个SoC的功耗管理。

d4d1415c-7043-11ed-8abf-dac502259ad0.png

PCF是用于构建SoC功耗管理所需的标准基础设施组件、接口和相关操作方法集合。其中,标准基础设计组件包括电源、时钟和接口组件。比如:支持SCP通过软件接口编程的电源策略单元(power policy unit,简称PPU),用于低功耗控制的低功耗接口(low power interface,简称LPI)。

1) PPU

PPU实现了软件控制power domain开关控制的功能,SCP向PPU发起对power domain的开、关操作,其中PPU会通过LPI向power domain发起复位/解复位、时钟开/关、电源隔离开/关的操作,然后PPU经由电源控制系统状态机(power control state machine,简称PCSM)控制power domain电的开、关。

d504ef0c-7043-11ed-8abf-dac502259ad0.png

2) LPI

LPI主要是指ARM的Q-channel和P-channel。Q-channel是ARM公司定义的一个低功耗接口,接口很简单,只有四根线。从AXI的低功耗接口演变过来的,其用处是控制设备静止状态时的时钟和电源。

控制器可以根据设备的工作状态或系统状态,发起低功耗请求。设备可以根据自己的工作状态,从而决定是否接受请求。相比Q-channel,P-channel把PACTIVE信号加宽了,不再是一根信号,设备可以传递更多的工作状态给控制器。控制器会额外多发出一组PSTATE信号,描述切换power状态的请求。

d513f538-7043-11ed-8abf-dac502259ad0.png

2.3 电源域和电压域

为了更好地对电进行控制,ARM划分了两个电相关的概念:电源域(power domain)和电压域(voltage domain)。电压域指使用同一个电压源的模块合集,如果几个模块使用相同的电压源,就认为这几个模块属于同一个电压域。电源域指的是在同一个电压域内,共享相同电源开关逻辑的模块合集。即在同一个电源域的模块被相同的电源开关逻辑控制,同时上、下电。一个电压域内的模块,可以根据设计需求,拆分到不同电源域。因此,电压域对应的是功能是dvfs,而电源域的概念对应的是power gating。

如下图,不同颜色表示不同的电压域,VBIG是大核处理器的电源供电,VLITTLE是小核处理器的电源供电,VGPU是图形处理器的电源供电,VSYS是系统电源。虚线框包围的模块表示可以做电源开关处理,比如处理器核。实线框包围的模块表示不能做电源开关,比如SCP。

d5415f50-7043-11ed-8abf-dac502259ad0.png

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • ARM
    ARM
    +关注

    关注

    134

    文章

    8648

    浏览量

    361746
  • soc
    soc
    +关注

    关注

    38

    文章

    3741

    浏览量

    215650
  • Linux
    +关注

    关注

    87

    文章

    10986

    浏览量

    206719

原文标题:一文搞懂ARM SoC功耗控制架构

文章出处:【微信号:LinuxDev,微信公众号:Linux阅码场】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    Arm SoC芯片低功耗设计分享会在深圳成功举办

    2019年5月25日下午,由Arm中国主办,Mentor和上海移知信息科技有限公司协办的Arm SoC芯片低功耗设计分享会在深圳成功举办,此次线下沙龙以嘉宾分享和现场互动交流为主,旨在
    发表于 05-28 09:35 1381次阅读

    ARM、MCU、DSP、FPGA、SOC各是什么?区别是什么?

    ,其中包含完整系统并有嵌入软件的全部内容。同时它又是种技术,用以实现从确定系统功能开始,到软/硬件划分,并完成设计的整个过程。 ARM、MCU、DSP、FPGA、SOC的比较  1、采用架构
    发表于 04-13 08:55

    arm体系架构和stm32的理解

    ARM处理器是个32位元精简指令集(RISC)处理器架构,其广泛地使用在许多嵌入式系统设计。ARM全称为Acorn RISC Machine。AR
    发表于 12-04 10:31

    ARM内核架构SOC架构相关资料分享

    注:本文资料全部来源于网络或书籍,同时加上个人理解。若有侵权,告知即删。若有错误,留言商讨。0、ARM处理器功能扩展和架构演变1、cortex A9 (ARMv7指令集)-----传说中的CPU2、Exynos4412芯片框图-----传说中的
    发表于 07-01 11:16

    搞懂UPS主要内容

    导读:UPS是系统集成项目中常用到的设备,也是机房必备的设备。本文简单介绍了UPS的种类、功能、原理,品质选择与配置选择方式,基础维护等相关的内容。搞懂UPS本文主要内容:UPS种类、功能
    发表于 09-15 07:49

    萌新求助,求ARM内核架构SOC架构的详细资料

    萌新求助,求ARM内核架构SOC架构的详细资料
    发表于 10-25 06:12

    帮你梳理Cortex与ARMv8等基础概念

    到底什么是Cortex、ARMv8、arm架构ARM指令集、soc帮你梳理基础概念【科普
    发表于 12-14 08:20

    SOC与微架构架构SOC有什么区别?

    读书笔记 SOC与微架构架构SOC有什么区别?指令集和微架构有什么关系?为什么Cortex-M系列没有Chace?现代
    发表于 12-15 06:39

    ARM GIC()之ARM soc中断的处理介绍

    对于ARM的处理器,中断给处理器提供了触觉,使处理器能够感知到外界的变化,从而实时的处理。本系列博,是以ARM cortex-A系列处理器,来介绍ARM
    发表于 04-06 10:12

    Arm 用新的 SoC 和演示板测试安全架构

    Morello SoC.作为这个项目的部分,Arm 公司现在已经使用基于 CHERI 的 Morello 原型架构构建了个系统芯片(
    发表于 06-16 14:44

    ARM推荐的SOC架构设计是各自独立复位?还是关联同时复位?

    SOC内集成有SE小系统,请教:若按ARM推荐的SOC架构设计,当SOCARM CPU内核复
    发表于 08-03 14:12

    基于ARM处理器的SOC系统讲解

    CacheInterrupt Controller 中断控制器,管理所有的中断源Interrupt Combiner 中断控制器,管理soc内的些中断源NEON
    发表于 08-17 15:20

    Arm CoreSight SoC-600技术参考手册

    。 ·通过架构的细粒度电源控制支持低功耗系统实现开发的组件。 ·用于时钟和电源静止的Q通道接口。 ·可与ARM®CoreLink™LPD-500集成,作为全芯片电源和时钟
    发表于 08-17 07:45

    谈谈Zynq SoCARM NEON SIMD架构扩展集的使用

    在所有Zynq All Programmable SoC 的内部, 你都会发现一个双核的ARM Cortex -A9 MPCore处理器,而且Zynq SoC中的这两个处理器中都设有ARM
    发表于 02-10 12:15 2444次阅读
    谈谈Zynq <b class='flag-5'>SoC</b>里<b class='flag-5'>ARM</b> NEON SIMD<b class='flag-5'>架构</b>扩展集的使用

    基于ARM的用户可定制SoC

    SoC使用宽带互联干线链接,在FPGA架构中集成了基于ARM的硬核处理器系统(HPS),包括双核ARM。处理器、外设和存储器控制器。
    发表于 03-22 13:34 7次下载