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

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

3天内不再提示

VisualSim在多核嵌入式环境中预测和表达多个场景展示

星星科技指导员 来源:嵌入式计算设计 作者:Deepak Shankar 2022-11-21 16:42 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

在这个由两部分组成的系列的第 1 部分中,我们讨论了复杂 SoC 和系统设计中对早期功耗分析的需求,并介绍了 VisualSim 图形建模工具作为全面的能源仿真解决方案。在第 2 部分中,我们将展示 VisualSim 在多核嵌入式环境中预测和表达多个场景(偏移并发任务;比较 1 GHz 的单核与 250 MHz 的四个核;动态电压频率缩放 (DVFS)和功率门控)的功率值时的性能。

对新状态的更改可以是开始新的执行、在一段时间不活动后进入深度睡眠、执行低优先级与高优先级用例,以及内存激活和刷新等特定条件。功率表达式值必须与时钟速度和温度等时序属性同步变化。

系统级功耗探索可以评估各种功耗降低和低功耗技术的优点和节省的能源。在这里,我们将讨论这些技术,并使用 VisualSim 中的模拟模型解释它们的影响。出于本研究的目的,我们使用四核处理器、调度程序代替 RTOS、四个并发线程以及按顺序触发处理资源上的线程的中断。我们已经针对内核上的可变时钟速度、1 到 4 之间的可变内核数以及线程触发之间的偏移对模型进行了参数化。此外,我们还集成了电压和时钟速度动态变化的逻辑。

与此描述相关的框图如图 2 所示。

poYBAGN7OiKAMJq_AALMf8ARd1g900.png

图2.多核架构和四个并发线程的系统级框图

进行以下实验,我们查看每个场景的延迟和功耗。

偏移并发任务:有四个任务,默认情况下,这些任务是同时触发的。在这个实验中,我们将每个任务移动了 3.5 毫秒。这样,任务就不会同时启动。如图3所示,这种方法降低了功耗尖峰。最大尖峰从 1.0mW 到 7.5mW,节省 25%。从图 4 可以看出,延迟确实从 7ms 降低到 0.5ms,这是一个显著的改进。从图 3 和表 1 中得出的有趣推论是,所有四个内核都不再被利用,并且处理资源的任务请求中只有偶尔的重叠。对平均功耗没有影响。

比较运行在 1 GHz 的单核和运行在 250 MHz 的四个内核:在这个实验中,我们将所有任务都定位在一个以 1GHz 速度运行的单个内核上。我们使用线程的偏移量。图3的结果显示,瞬时功率和平均功率均显著降低。从图 4 中我们可以看到延迟图没有显著影响。可以看到,峰值功率与1.0mW的非失调值相同,但平均功率减少了一半,为0.15mW。这是因为处理速度存在相当大的浪费。

图3.LHS 显示随时间推移的平均功率/RHS 显示随时间变化的即时功率

pYYBAGN7OlWABYMvAAGqLYV_wsc939.png

图4.一段时间内的延迟

poYBAGN7OkOAK9aHAADORAB6G3Y622.png

表 1.上述实验的累积和平均功效

任务中具有偏移的一个内核的累积和平均功耗小于有偏移和不带偏移的 4 个内核。

动态电压频率调节 (DVFS):这是节省功率的首选技术,通过根据任务要求改变时钟速度来完成。一个很好的例子是 x86 处理器,其额定频率为 3.2GHz,但在笔记本电脑上以 1.8 GHz 运行。使用原型板,当电压频繁调整时,很难预测任务的延迟。在相关模型中,我们没有实现特定的算法,并且能够看到功率和延迟在很宽的时钟速度范围内的变化。结果如图 5 所示。我们将使用四个内核和四个偏移线程进行此运行。请注意,由于时钟速度的变化,功率和延迟会波动。延迟与原始偏移版本相同。DVFS帮助我们大规模降低功耗。

从图 4 中我们可以看到,所有任务的时隙都不相同,随着传入任务的增加,时钟速度会根据需求随每个内核而变化。

图 6:通过实施电源管理降低平均功耗

强制内核在特定时间段后进入待机状态将降低功耗。从图 6 中,我们可以直观地看到,实施电源管理后功耗会降低。为了扩展DVFS示例,可以修改每个任务的开始和频率。在分析生成的统计信息时,我们可以看到正在使用的内核数量减少(core_3),从而消除了额外的待机功率并减少了功耗。如您所见,同时探索电源选项和软件调度非常重要。这将确保所需的响应时间,同时减少功耗。

功率门控:这是在一段时间不活动后将处理单元移动到较低功率状态的过程。一个常见的例子是笔记本电脑从活动到待机再到睡眠和休眠。在此模型中,我们将功率门控状态机逻辑添加到电源表中。我们将空闲延迟设置为 10us,将转换时间设置为 1 us。设备在待机状态下停留的时间较短。从图 6 中,我们可以看到,只要内核处于非活动状态,内核的状态就会从待机变为空闲。转换时间对延迟的影响最小到零。

poYBAGN7OnSAEs5HAAJNqZ7A3o4659.png

图 6:电源门控,当内核处于非活动状态 0.1ms 时,内核从待机状态移动到空闲状态,转换时间为 1.0us

结论

系统级仿真可用于半导体级和系统级的广泛功率分析。将功率探索与性能研究结合使用可确保权衡同时进行,从而确保更高质量的产品。许多功耗研究可以在产品实施之前在系统级完成,并消除集成过程中的所有意外。

这项研究的一个附带好处是,热和机械工程师可以获得经过充分验证的数据,而不是近似的最佳判断信息。VisualSim 等软件工具将性能和功耗分析集成到单个系统级模型中,有助于更快地构建模型,使用较小的模型集减少模型维护,并在设计周期的早期进行更高质量的探索。此外,这些系统级工具在设计中比以前更早地推动探索:

每个任务中偏移的含义可降低功耗和延迟

减少内核数量并提高处理器速度可显著降低功耗

根据任务要求改变内核的时钟速度是降低系统功耗的最佳方法

使内核在非活动期间空闲,减少系统中的电源浪费

审核编辑:郭婷

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

    关注

    5186

    文章

    20153

    浏览量

    328941
  • soc
    soc
    +关注

    关注

    38

    文章

    4515

    浏览量

    227643
  • RTOS
    +关注

    关注

    25

    文章

    862

    浏览量

    122614
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    什么是嵌入式操作系统?

    用 FreeRTOS/UCOS?,核心差异资源适配和实时性: 举个嵌入式开发的实际例子: 用 STM32F4 做一个智能小车,需要同时做 3 件事:① 读取超声波传感器数据(避障)、② 接收蓝牙
    发表于 12-09 10:33

    C语言嵌入式开发的应用

    C 语言汽车电子控制系统开发的主导地位。 2、设备驱动程序 设备驱动程序是嵌入式系统连接硬件和软件的桥梁,它负责实现嵌入式系统与
    发表于 11-21 08:09

    嵌入式和FPGA的区别

    。 在当今智能化时代,嵌入式系统和FPGA技术都是电子系统设计的重要组成部分,但许多工程师和技术爱好者常常对两者的区别和应用场景感到困惑。本文将深入解析嵌入式系统和FPGA的核心差
    发表于 11-19 06:55

    嵌入式实时操作系统的特点

    任务的系统。 实时嵌入式操作系统与传统的桌面操作系统相比,更注重对实时任务的响应和精确控制。它们资源利用、可靠性、可预测性、任务调度和中断处理等方面提供了更加严格的要求和机制。 实时嵌入式
    发表于 11-13 06:30

    嵌入式电力仪表配电系统的应用与选型

    现代配电系统,对电力参数的精确测量、电能计量以及设备运行状态的可靠监控,是保障供电安全、实现能效管理的基础。各类嵌入式电力仪表作为关键测量元件,广泛应用于进线柜、出线柜等场景,为系
    的头像 发表于 09-26 09:37 454次阅读
    <b class='flag-5'>嵌入式</b>电力仪表<b class='flag-5'>在</b>配电系统<b class='flag-5'>中</b>的应用与选型

    是德示波器MSOX3052T嵌入式系统的应用

    混合信号示波器,凭借其创新的硬件架构与智能分析功能,为嵌入式系统调试提供了全新的解决方案。本文将从技术特性、应用场景及实战案例三个维度,深入探讨该示波器嵌入式系统开发
    的头像 发表于 08-27 17:38 497次阅读
    是德示波器MSOX3052T<b class='flag-5'>在</b><b class='flag-5'>嵌入式</b>系统<b class='flag-5'>中</b>的应用

    嵌入式工程师为什么要学QT?

    Qt对嵌入式工程师来说,真的很重要吗? Qt是一个跨平台的C++应用程序开发框架,非常适合嵌入式系统的开发,Qt嵌入式开发具有很重要的作
    发表于 08-14 15:15

    Linux嵌入式和单片机嵌入式的区别?

    Linux嵌入式与单片机嵌入式多个方面存在显著的区别,以下是详细的比较和归纳: 一、基本概念 1. Linux嵌入式: 定义:将Li
    发表于 06-20 09:46

    Python嵌入式系统的应用场景

    你想把你的职业生涯提升到一个新的水平?Python嵌入式系统中正在成为一股不可缺少的新力量。尽管传统上嵌入式开发更多地依赖于C和C++语言,Python的优势在于其简洁的语法、丰富的库和快速的开发周期,这使得它在某些
    的头像 发表于 03-19 14:10 1198次阅读

    嵌入式条码扫描头应用场景有哪些?

    嵌入式条码扫描头,作为现代科技的重要组成部分,其应用场景极为广泛,深入影响着我们的日常生活与各行各业的发展。从移动支付到工业生产,从商业零售到物流运输,再到医疗健康领域,嵌入式条码扫描头以其高效
    的头像 发表于 02-14 14:05 837次阅读
    <b class='flag-5'>嵌入式</b>条码扫描头应用<b class='flag-5'>场景</b>有哪些?

    嵌入式机器学习的应用特性与软件开发环境

    作者:DigiKey Editor 许多嵌入式系统,必须采用嵌入式机器学习(Embedded Machine Learning)技术,这是指将机器学习模型部署
    的头像 发表于 01-25 17:05 1214次阅读
    <b class='flag-5'>嵌入式</b>机器学习的应用特性与软件开发<b class='flag-5'>环境</b>

    MPU嵌入式系统的应用

    一、MPU的基本功能 微处理器单元(MPU)是嵌入式系统的大脑,负责执行程序指令、处理数据和控制其他硬件设备。MPU的基本功能包括: 指令执行:MPU能够从存储器读取指令,解码这些指令,并执行
    的头像 发表于 01-08 09:26 1502次阅读

    ARM架构嵌入式主板特点

    嵌入式主板可以理解为嵌入设备中用于控制和数据处理的CPU板,也就是设备的“大脑”。当主板嵌入到设备,当然对主板的体积和功耗会有更严格的要
    的头像 发表于 12-31 16:03 1844次阅读
    ARM架构<b class='flag-5'>嵌入式</b>主板特点

    差分信号嵌入式系统的应用

    差分信号嵌入式系统的应用十分广泛,特别是需要长距离传输、高抗干扰性以及多设备连接的场景
    的头像 发表于 12-25 18:13 1411次阅读

    LDO嵌入式系统的应用 常见LDO故障及解决方法

    的应用及其常见故障和解决方法的概述。 应用场景 电源转换 :LDO可以将电池电压或其他电源电压转换为嵌入式系统所需的稳定电压。 噪声抑制 :LDO能有效降低电源线上的噪声,为敏感的模拟电路提供干净的电源。 功耗管理 :低功耗应
    的头像 发表于 12-13 09:08 3087次阅读