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

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

3天内不再提示

SoC低功耗问题定位及优化的10个思路

Linux阅码场 来源:Linux阅码场 作者:Linux阅码场 2022-12-14 10:44 次阅读

在低功耗特性中,软件可能实现起来并没有那么难,从设计到实现的时间可能并不会耗时特别长,耗时最长的是后续的商用问题定位以及对功耗的优化,这些都是建立在一定的实战基础上才能做的越来越好,在这里推荐几种比较常用的优化或者定位问题的手段供大家参考,希望能给大家带来一些帮助。

b3382966-7b4c-11ed-8abf-dac502259ad0.png

图:低功耗软件栈组成

19.1多子系统配置

比如某一个公共外设,如果多个子系统共用的话,在芯片设计上建议每个子系统各放置一个,这样一可以节省系统运行过程中的访问带宽,二可以做好访问隔离,尽可能的降低了芯片通路访问的复杂性和软件设计的复杂性。

我们通过一个例子来说明一下:比如在一个系统中,只有一个DMA,存放在公共外设区(peri),这个时候如果AP需要访问DMA的话,那么它需要先经过自己系统的SUB BUS总线,再通过SYS BUS总线访问到外设区的DMA;如图19-1所示。

b35f1544-7b4c-11ed-8abf-dac502259ad0.png

图19-1 DMA部署优化前布局示意

如BP需要访问DMA的话,那么它也需要先经过自己系统的SUB BUS总线,再通过SYS BUS总线访问到外设区的DMA;如此这般,其他子系统都是同样的访问路径。在这样的情况下,有2个缺点:一是访问路径过远增加了总线的繁忙程度,可能导致访问延时;二是可能存在资源竞争的发生,比如AP、BP或其他子系统同时访问的话,可能需要做仲裁处理。

那么针对这种情况,我们可以做个优化,就是把DMA在每个子系统内部的device区各放置一个,如图19-2所示,各个CPU需要使用DMA时,只用访问自己内部的DMA即可,这样可以很好的化解前边说的2个缺点。为什么说这样设计也可以做到功耗优化呢?试想如果AP侧没有这个DMA,那么在AP侧唤醒而其他子系统都睡眠的情况下,AP侧如果要访问DMA,势必需要给其他子系统上电,从而带来功耗的浪费,而如果AP子系统内部本身就有DMA的话就没有必要给其他子系统上电。这个思想当然可以用在任何IP的归置上,需要根据实际的设计场景做对应的优化。

b36edf06-7b4c-11ed-8abf-dac502259ad0.png

图19-2 DMA部署优化后布局示意

19.2并行处理

低功耗比较敏感的一个KPI是suspend和resume的时间,因为低功耗是系统中的一个常态,这一块的处理时间当然是越短越好,这样可以让用户体验更流畅。一个好的思想是让处理尽可能的并行起来,比如在suspend和resume的流程中,有一长段地址空间需要保存恢复,那么如果是用CPU的话,效率是十分低下的,这个时候我们可以使用DMA来搬移数据,同时CPU继续处理低功耗处理的其他流程,在合适的点来检查DMA的搬移状态。我们可以通过以下例子来说明。

在suspend流程中,PD MEM中的内容我们使用CPU来做下电前的保存动作,如图19-3所示,把内容保存到DDR中,耗时T1,其他suspend处理耗时为T,那么suspend总耗时为T+T1,T1时长与PD MEM的大小强相关,越大耗时越长。

b3a28108-7b4c-11ed-8abf-dac502259ad0.png

图19-3使用DMA搬移前

那么关于大内存保存恢复这一块,其实我们可以做一个优化,那就是不使用CPU进行处理,我们使用DMA去做搬移,CPU去做其他的suspend动作,那么T1这个耗时就可能会省下来,总耗时为T,从而达到时长优化的目的。如图19-4所示。

b3bfe0fe-7b4c-11ed-8abf-dac502259ad0.png

图19-4使用DMA搬移后

前边讲了suspend流程的并行处理优化思想,对于resume流程来讲,同样适用,就不再做过多阐述。

19.3增加打点信息

因为在低功耗流程中,会涉及到关闭时钟或者关闭电源等操作,很多debug工具是无法使用的,一个好的手段是在内存中划分一片区域专门用来给低功耗流程打点使用,打入数据通常是系统中递增的时间戳,这样有2个好处:一是可以方便查看各个阶段的耗时,二是可以根据时间戳的递增特性来快速的定位到哪一步出了异常。如图19-5所示。

审核编辑 :李倩

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

    关注

    68

    文章

    10824

    浏览量

    211108
  • soc
    soc
    +关注

    关注

    38

    文章

    4117

    浏览量

    217905
  • 内存
    +关注

    关注

    8

    文章

    2998

    浏览量

    73873
  • 低功耗
    +关注

    关注

    10

    文章

    2362

    浏览量

    103582
  • dma
    dma
    +关注

    关注

    3

    文章

    559

    浏览量

    100413

原文标题:SoC低功耗问题定位及优化的10个思路

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

收藏 人收藏

    评论

    相关推荐

    SoC低功耗设计

    本帖最后由 gk320830 于 2015-3-8 17:16 编辑 SoC低功耗设计SoC低功耗设计
    发表于 08-13 16:21

    行业最低功耗蓝牙SoC NCV-RSL10有什么优势?

    行业最低功耗蓝牙SoC NCV-RSL10有什么优势?会给汽车行业带来什么影响?
    发表于 08-05 06:16

    如何选择正确的低功耗蓝牙SoC

    在设计初始阶段 ,如何选择正确的低功耗蓝牙SoC
    发表于 03-11 06:18

    基于Kemet PL-N823-01和OnSemi RSL10蓝牙低功耗SoC

    SoC。该设备的主要特点是:无线运动感应 - 电池供电的运动感应与无线数据传输低功耗蓝牙 (BLE) 连接 - 通过 BLE 通告运动事件由 CR2023 电池供电 - 电池寿命长达 10 年运
    发表于 08-24 07:08

    【书籍评测活动NO.19】 SoC底层软件低功耗系统设计与实现

    》 主要内容这是一本系统剖析SoC底层软件低功耗系统设计、实现与定制化的著作,同时它还全面讲解了低功耗的知识点以及各种低功耗问题的定位
    发表于 07-28 11:09

    SoC底层软件低功耗系统设计与实现》基于Linux专门讲解软件低功耗框架和设计的书籍

    和细节都可以参考。 内容充实 基于Linux,讲解了其涉及低功耗各个框架模块的设计和实现,后面的扩展知识点,低功耗问题定位优化思路都是干货
    发表于 09-08 23:38

    SoC底层软件低功耗系统设计与实现》阅读笔记

    。 这本书我分为四部分来阅读,分别是:设计思路低功耗框架,拓展知识,和优化思路&问题定位
    发表于 10-18 03:27

    SoC低功耗设计

    。如果总线与片外设备联系,那么,它还要驱动很长的片外连线以及片外设备,负载高达50pF,比SoC内部各个节点的电容负载0.05pF高出三量级。一般而言,总线的功耗SoC
    发表于 02-07 14:29 1次下载

    如何选择低功耗蓝牙SoC

    联网产品高级营销总监Emmanuel Sambuis特别制作一篇技术应用文章,说明如何为您的产品设计选用正确的低功耗蓝牙SoC优化Bluetooth LE应用以实现最小能耗运行是一项挑战。了解
    的头像 发表于 10-23 14:27 4607次阅读
    如何选择<b class='flag-5'>低功耗</b>蓝牙<b class='flag-5'>SoC</b>

    DSP不同层次的低功耗设计研究思路综述

    层次按照自顶向下的电路设计方法,在不同设计层次上对功耗进行优化时,改善的程度是不同的,设计层次越高,优化所能达到的效果越好。本论文对各个层次的
    发表于 04-13 16:49 19次下载
    DSP不同层次的<b class='flag-5'>低功耗</b>设计研究<b class='flag-5'>思路</b>综述

    STM32芯片超低功耗设计思路

    对于给定的制造工艺和晶片区域,微控制器的功耗主要取决于两因素(动态可控):电压和频率。ST公司L系列超低功耗芯片为130nm超低泄漏工艺,在超低功耗所做的设计
    发表于 12-31 19:02 20次下载
    STM32芯片超<b class='flag-5'>低功耗</b>设计<b class='flag-5'>思路</b>

    BlueNRG-LP支持128并发连接的蓝牙低功耗SoC

    ST推出的BlueNRG-LP,这是首款支持 128 并发连接的蓝牙低功耗 SoC。它也是我们第一款获得蓝牙低功耗 5.2 认证的设备。BlueNRG-LP 支持远程、2 Mbps
    的头像 发表于 05-12 10:26 2510次阅读
    BlueNRG-LP支持128<b class='flag-5'>个</b>并发连接的蓝牙<b class='flag-5'>低功耗</b><b class='flag-5'>SoC</b>

    低功耗MCU的选型技巧与设计思路

    循序渐进式的功耗优化已经不再是超低功耗mcu的游戏规则,而是“突飞猛进”模式,与功耗相关的很多指标都不断刷新记录。我们在选择合适的超低功耗m
    的头像 发表于 08-04 14:46 1708次阅读

    功耗优化的片上系统(SoC)解决方案,引领低功耗蓝牙与2.4GHz应用新潮流

    随着物联网和智能设备的快速发展,对于低功耗和高性能的需求日益凸显。在这一背景下,HS6621Cx作为一款功耗优化的真正片上系统(SoC)解决方案,以其卓越的性能和广泛的适用性,成为了
    的头像 发表于 05-24 11:31 675次阅读
    <b class='flag-5'>功耗</b><b class='flag-5'>优化</b>的片上系统(<b class='flag-5'>SoC</b>)解决方案,引领<b class='flag-5'>低功耗</b>蓝牙与2.4GHz应用新潮流

    低功耗SOC芯片的优势

    在现代电子设备中,低功耗SOC芯片扮演着越来越重要的角色。它们不仅提高了设备的能效,还为小型化、高性能和成本效益提供了可能。 1. 能效比的提升 低功耗SOC芯片的设计核心在于
    的头像 发表于 10-31 14:52 304次阅读