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

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

3天内不再提示

VIP也分高低?

痞子衡嵌入式 来源:恩智浦MCU加油站 作者:恩智浦MCU加油站 2023-04-06 11:16 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

前面小编对纯软件性能分析的理论与实践的分享,希望给大家找到了豪华待遇的感觉。当然了,自己当土豪爽一下也就过去了,但是性能的问题还摆在那里等待解决,接下来怎么办呢?

改善性能可以改进代码的写法或算法,这就要结合实际问题,各显神通了。但毕竟大牛人是来仰望的,咱们还需要更加立竿见影的招数,那就是给CPU占用最大的一些函数提供VIP的待遇,把它们放在VIP区中——执行性能更高的存储器。

以前介绍性能分析时曾提到,VIP区其实也是分等级的。不同的单片机,在存储器的设计,总线连接方式,访问控制策略都各有特色,对性能的影响也不一而足。嵌入式IoT的开发,处处彰显出碎片化和粉末化的特色,这可让人怎么整?

幸好,即使世界这么纷纷扰扰,还是有大类可循的。小编也试着结合NXPLPC54000系列和i.MX RT1050系列,给各类VIP区分了5类VIP特权等级。

VIP:C级(小V)

这主要是针对外置QSPI Flash的升级。

对于LPC540xx和LPC18x0/43x0系列,它们没有内置Flash。如果跑不动了,可以考虑升级到其对应的有内置Flash的pin2pin型号,比如LPC546xx,LPC18xx/43xx(尾号非0)。内置Flash跑血常规(CoreMark)的性能一般在外置QSPI的1.5倍以上,对于查表较多的程序甚至在数倍以上。内部Flash的带宽往往在128位甚至256位,还带有专用于加速循环结构的特制小cache,执行程序的性能还是很棒的。

为了呈现更高的性价比,i.MX RT系列全部没有内置Flash。不过,i.MX RT的FlexSPI支持高性能的DDR模式、双Flash交火、以及8线Flash模式。就拿EVK上的hyper flash为例,可高达332MB/s,而一般的QSPI Flash通常不过60MB/s。此外,i.MX RT的SEMC对于从SDRAM执行代码的性能也比较给力,如果系统中存在SDRAM,也可以使一些数据表和代码放在SDRAM中。

VIP:B级(中V)

各型Flash和SDRAM对于小循环体的性能尽管还可以,但是当程序跳转不规则,或者顺序结构较长时,以及数据访问随机性强时,性能的表现就变得很不均匀,让人有“虽然我表达不了太多的爱,唯有好多眼泪流出来”的感觉。

这个时候,可以使用单片机片上的系统RAM。对于LPC54系列的Cortex-M4/M0+单片机,可以放在内存地址为0x2000-0000开头的RAM中,对于i.MX RT系列则是地址为0x2020-0000的OCRAM中。这些RAM的工作频率和随机访问性能比Flash好得很多。但是因为在这个地址范围使用的AHB (LPC)或AXI (i.MX RT)系统总线的启动时序开销大,总线往往又比较忙,还要和诸多带DMA的总线主机抢带宽,性能加速可能得不到保证,因此充其量也就算是中V级吧。

VIP:A级(大V)

和中V级相比,大V的待遇就更好了,有了专属的紧密耦合RAM区。

以LPC5411x为例,它有32KB的”SRAMX”,这块SRAMX和192KB的全部容量相比只占1/6,但绝对配得上大V的待遇。它直接连接到Cortex-M4的I-Code和D-Code总线上。这两条总线也是“特供”于快速代码执行的绿色通道,其它总线主设备是没资格用的。

再看i.MX RT,它的Cortex-M7内核更是有过之而无不及,把I-Code和D-Code升级到64位的ITCM(指令紧密耦合存储器)和DTCM(数据紧密耦合存储器),并且片上的512KB内存可以自由分割,全部配置成ITCM和DTCM也可以。那没有了其它RAM,外设要访问怎么办呢?Cortex-M7留了个小后门——AHB-Slave给其它DMA主机访问TCM,当然是看M7脸色行事。

总之,大V待遇对于大多数程序代码已经相当有面儿了,性能提升也是杠杠的!

VIP:S级(超V)

啥,还有超V级?难道还有比TCM更快的,莫非小编你疯到想把R0-R14也给卖了?

倒也不是,超V级其实可以看作是上述VIP的组合,给最关键的模块提供服务,占用多块RAM。比如一个压缩jpeg的模块,它既有代码又有只读数据。如果把代码与只读数据全放在一块RAM,就不能发挥M4/M7双总线的优势,比如没法取指令的同时访问数据。小编于是把代码放ITCM,只读数据放DTCM,相当于它自己左手一个右手一个拥抱了整个芯片中性能最强的两块RAM,让600MHz的M7火力全开,跑到QVGA分辨率下60帧每秒以上的图片压缩性能。

VIP:PS级(公共超V)

(仅适用于Cortex-M7)

在Cortex-M7内核的i.MX RT系列中,支持指令高速缓存(I-Cache)和数据高速缓存(D-Cache),各有32KB。这两个Cache的性能完全是TCM级别的。这是一项超V级水准的平民福利,献给全部没有享受到大V和超V待遇的代码和数据,就称作公共超V级吧。

有趣的是,它是全自动的——不管是什么代码和数据,上镜率越高,就越有机会多享受超V级待遇。但若是如果什么时候起受冷落了,就最终会被扫出门。

打个不严谨的比方,这就好比假设高铁中以商务座的标准建餐车,即使没买一等座和商务座,只要抢到了餐车座席吃饭,吃饭期间也享受商务座待遇。只不过,若是吃完饭想再歇会,又没空位子了,那就祈祷别人不要来吃饭吧,否则就会被赶走。

因此,这项复用型超V待遇是按需分配的。值得注意的是,在替换cache内容时会花时间,既对确定性产生影响,也降低平均性能。所以虽然比超V级弱一点,但它把福利普照给公众,这是前面任何VIP特权也提供不了的。


审核编辑:刘清

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

    关注

    5186

    文章

    20146

    浏览量

    328789
  • FlaSh
    +关注

    关注

    10

    文章

    1715

    浏览量

    154701
  • 存储器
    +关注

    关注

    39

    文章

    7714

    浏览量

    170848
  • QSPI
    +关注

    关注

    0

    文章

    47

    浏览量

    13239

原文标题:VIP也分高低——存储器对执行性能的影响

文章出处:【微信号:pzh_mcu,微信公众号:痞子衡嵌入式】欢迎添加关注!文章转载请注明出处。

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    芯原NPU IP VIP9000NanoOi-FS获ISO 26262 ASIL B认证

    Saar颁发。 作为芯原VIP9000系列的一部VIP9000NanoOi-FS专为汽车和边缘AI应用设计,提供高性能神经网络
    的头像 发表于 12-02 10:48 343次阅读

    高低压隔离器:电力网络的可靠防线

    在工业生产与能源传输的复杂电力系统中,高低压电路的共存既满足了不同设备的用电需求,带来了安全与稳定的双重挑战。当高压侧的浪涌电压窜入低压控制回路,当电机启动时的瞬间电流干扰传感器信号,当雷电
    的头像 发表于 10-25 15:21 410次阅读

    高低温循环测试对电子元件寿命有什么影响

    在电子产品无处不在的今天,微小元件的可靠性直接关系整个系统的成败。小到手机,大到汽车、医疗及工业设备,任何元件的失效都可能造成设备瘫痪。要预知元件寿命,高低温循环测试是关键所在。什么是高低温循环测试
    的头像 发表于 10-16 15:00 312次阅读
    <b class='flag-5'>高低</b>温循环测试对电子元件寿命有什么影响

    普科差探头PKDV5151助力客户完成高低压电机驱动波形测量

    一、项目背景 一家专注于工业电气设备研发生产的高新技术企业,在高低压电机驱动系统研发测试阶段,遭遇了高压波形测量的技术瓶颈。传统测量设备因无法满足高电压、高精度、高安全性的测试要求而无法胜任,经过
    的头像 发表于 08-15 14:16 649次阅读
    普科差<b class='flag-5'>分</b>探头PKDV5151助力客户完成<b class='flag-5'>高低</b>压电机驱动波形测量

    激光焊接技术在焊接高低压断路器工艺中的应用

    高低压断路器作为电力系统的核心保护装置,其内部关键部件的连接质量直接影响着设备的开断能力、载流稳定性及长期运行可靠性。传统的焊接方法在应对精密导电回路、密封壳体以及微型化组件时,常遇到热损伤、变形
    的头像 发表于 08-04 14:27 434次阅读
    激光焊接技术在焊接<b class='flag-5'>高低</b>压断路器工艺中的应用

    068 HJJF-1000K 三相 无高低档 说明书

    电子发烧友网站提供《068 HJJF-1000K 三相 无高低档 说明书.doc》资料免费下载
    发表于 07-21 16:39 0次下载

    高低温耐碎石冲击试验机

    高低温耐碎石冲击试验机是一种集高低温环境模拟、冲击试验和数据分析于一体的先进设备,能在设定温度范围内对碎石材料进行冲击试验,模拟不同气候条件下材料性能表现,为评估碎石材料耐久性和可靠性提供重要依据
    的头像 发表于 06-12 16:02 402次阅读
    <b class='flag-5'>高低</b>温耐碎石冲击试验机

    高低温绝缘电阻率测量系统:原理、应用与测试技巧

    在电气设备与材料领域,绝缘性能是衡量其安全性与可靠性的关键指标,高低温环境下的绝缘电阻率更是直接影响设备运行与寿命。高低温绝缘电阻率测量系统作为专业检测设备,能揭示材料在极端温度下的绝缘特性。 一
    的头像 发表于 06-07 15:16 603次阅读
    <b class='flag-5'>高低</b>温绝缘电阻率测量系统:原理、应用与测试技巧

    UHV-430高低压开关柜通电试验台操作使用

    高低压开关柜通电试验台用于高低压开关柜生产厂家对所生产的高低压开关柜进行出厂前的各项通电试验。高低压开关柜通电试验台能提供各种交、直流电源,便于对开关柜的检测,提高工作效率。
    发表于 05-07 18:14 0次下载

    请问TC297如何配置默认引脚的高低

    TC297如何配置默认引脚的高低
    发表于 04-21 07:56

    高低温试验箱:探索温度边界的测试利器

    在科学研究与工业生产的广袤领域中,高低温试验箱宛如一位神秘的幕后英雄,默默发挥着不可替代的关键作用。​上海和晟HS-80C高低温试验箱高低温试验箱,顾名思义,其核心功能是精准模拟高温与低温环境。在外
    的头像 发表于 04-17 10:14 5714次阅读
    <b class='flag-5'>高低</b>温试验箱:探索温度边界的测试利器

    HJJF-1000K 三相 无高低档 说明书

    电子发烧友网站提供《HJJF-1000K 三相 无高低档 说明书.pdf》资料免费下载
    发表于 03-26 14:39 0次下载

    ADA4932-2差输出共模电压不一致的原因?怎么解决?

    原理图设计是期望通过差输入 经过ADA4932-2放大40dB后产生差输出。经过调试测量的过程中发现,当输入ADA4932的差分信号摆幅不断增大,在输出端达到器件的钳位点时,差输出的OUT+
    发表于 03-24 06:29

    PC塑胶材料高低温性能检测:高低温拉力试验机的操作指南

    近期,有不少朋友向小编咨询高低温拉力试验机,大多都是用于塑料、橡胶和金属的性能检测。其中,聚碳酸酯(PC)塑胶材料以其优异的透明性、高强度和耐热性,被广泛应用于电子、汽车、建筑等领域。 然而,在
    的头像 发表于 02-22 10:11 1302次阅读

    无人机高低温测试案例分析

    高低温试验箱在无人机研发和生产中发挥着关键作用。通过模拟各种环境条件,研发人员可以全面评估无人机的性能和可靠性,发现潜在问题,优化设计,确保产品在各种气候条件下的稳定运行。
    的头像 发表于 02-14 17:04 1621次阅读
    无人机<b class='flag-5'>高低</b>温测试案例分析