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

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

3天内不再提示

提高SoC设计中的内存性能

星星科技指导员 来源:嵌入式计算设计 作者:Gregg Recupero 2022-06-09 16:32 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

无论电子设备被吹捧为多么新、多么快速或高性能,在用户的请求和设备的响应之间总是存在轻微的、几乎无法察觉的延迟。那就是内存以 80% 或更低的效率工作。当然,用户仍然认为该设备速度极快,但工程组知道驱动该设备的片上系统 (SoC) 设计的性能可能会更好——实际上要好得多。

处理器和内存之间的高效、流线型通信是每个工程团队的梦想。这一梦想被当今 SoC 的高度集成特性所阻挠,它由许多不同的客户端组成,每个客户端都向内存子系统生成不同类型的请求流,可能需要数百个时钟周期的延迟才能访问。即使是具有多线程能力的单个客户端运行用于链表处理的指针追踪代码,也会产生随机的客户端请求流,并且似乎几乎没有引用位置。这使得无法从内存子系统或与处理器的有效通信中获得最佳性能。

所需要的是一种简化的方式来收集和处理这些明显随机的请求信息,以创建一个虚拟的参考位置,以实现更好的决策和更高的效率。一项新技术——实际上是嵌入在 SoC 中的知识产权 (IP) 块——已准备好做到这一点。它管理广泛不同的请求流,以创建一个虚拟的参考位置,使请求看起来更线性。实施此类技术可提高内存带宽,并让 SoC 从其内存子系统中提取最佳性能。

不要与内存调度程序混淆,IP 是一个内存预取引擎,它通过将相似的请求组合在一起来与内存调度程序一起工作。它分析来自客户端的多个并发请求流,并确定哪些请求应该优化或预取,哪些不应该。结果是高命中率和超低错误获取率。

一旦客户端请求被优化,它就会存储在请求优化缓冲区(一个保存优化客户端请求的小型微缓存)中,直到客户端需要它为止。缓冲区为多个客户端接口中的任何一个提供非阻塞接口,以使峰值响应带宽超过内存子系统的带宽并减少平均内存延迟。

支持 AXI 和 OCP 协议的多客户端接口可以管理多达 16 个客户端,由设计人员在配置技术时指定。配置工具将自动构建指定数量的客户端接口,每个接口独立运行并能够支持并发操作。这允许 IP 为从请求优化缓冲区发出的任何响应发出多个并发客户端请求。因此,IP 提供的峰值突发带宽比底层内存子系统提供的更高。基准测试显示,IP 将读取延迟从 71% 降低到 78%。

每个工程组的梦想是减少内存的延迟,以提高 SoC 中实现的每个系统组件的性能,从而在不增加功耗的情况下实现更快的设计。所有电子设备都可以从改进的内存子系统中受益,现在有一种使用 IP 块的有效方法。不再落后!

审核编辑:郭婷

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

    关注

    68

    文章

    20149

    浏览量

    247189
  • soc
    soc
    +关注

    关注

    38

    文章

    4514

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    Altera Agilex 5 D系列FPGA和SoC家族全面升级

    Agilex 5 D 系列 FPGA 和 SoC 家族全面升级,为端 FPGA 应用能力带来巨大飞跃——逻辑单元、内存、DSP/AI 算力提升高达 2.5 倍,外存带宽提升高达 2 倍,轻松驾驭功耗和空间受限环境
    的头像 发表于 11-25 14:42 1066次阅读

    Altera Agilex 3 FPGA和SoC产品家族的性能分析

    本文采用严谨的基准测试方法,对全新推出的 Agilex 3 FPGA 和 SoC 产品家族进行性能分析。该系列专为成本优化型应用设计,兼具高性能、高集成度与高可靠性。
    的头像 发表于 10-27 09:37 449次阅读

    提高RISC-V在Drystone测试得分的方法

    的设计和性能对运行速度有很大的影响。例如,处理器的超标量设计、乱序执行能力、分支预测准确性、缓存设计等因素都会影响性能。 时钟频率:高时钟频率可以提高处理器的执行速度,从而提高Drys
    发表于 10-21 13:58

    AUDIO SoC的解决方案

    SoC(片上系统)是一种系统级集成电路。新唐科技的单芯片音频系统音频 SoC采用皮质-M0/M4内核,并采用Arm 皮质-M系列处理器的基本创新技术,包括∑△ADC、CODEC、OP、Class D
    发表于 09-05 08:26

    Altera Agilex™ 3 FPGA和SoC FPGA

    3器件将Altera Hyperlex FPGA架构集成到这些较小器件,与以前的成本优化型系列Cyclone V以及更高速收发器相比,性能提高了1.9倍,并为LPDDR4增加了内存
    的头像 发表于 08-06 11:41 3671次阅读
    Altera Agilex™ 3 FPGA和<b class='flag-5'>SoC</b> FPGA

    ESP32-P4—具备丰富IO连接、HMI和出色安全特性的高性能SoC

    ESP32-P4搭载双核RISC-V处理器,拥有 AI指令扩展、先进的内存子系统,并集成高速外设。ESP32-P4专为高性能和高安全的应用设计,充分满足下一代嵌入式应用对人机界面支持、边缘计算能力
    发表于 06-30 11:01

    高通SoC阵列服务器

    、核心技术特性 架构设计‌ 采用ARM架构SoC阵列,单节点集成CPU、GPU/NPU及专用加速单元,通过PCIe 5.0/CXL 2.0实现高速互联,支持128节点弹性扩展。 芯片级3D封装技术整合内存与存储,带宽达TB/s级,显著提升数据吞吐效率。
    的头像 发表于 06-03 07:37 1055次阅读

    nRF54系列新一代无线 SoC

    Cortex-M33 处理器,处理能力翻倍,处理效率提高两倍。 nRF54L 系列的三款无线 SoC 提供多种内存大小选择,最大 1.5 MB NVM,最大 256 KB RAM,
    发表于 05-26 14:48

    HarmonyOS优化应用内存占用问题性能优化四

    的尺寸大小,使其与组件的大小保持一致。这样可以避免不必要的内存浪费,并提高应用程序的性能和效率。开发者可以使用图像处理工具来调整图像的尺寸大小,从而进一步节省内存空间。 本文主要引用参
    发表于 05-24 17:20

    HarmonyOS优化应用内存占用问题性能优化一

    出现崩溃和卡顿的情况。因此,主动减少应用内存的占用对于整个系统至关重要。通过减少应用内存的占用,可以有效提高应用的性能和响应速度,节省系统资源,让设备的运行效率更高,延长设备的续航时间
    发表于 05-21 11:27

    第二代AMD Versal Premium系列SoC满足各种CXL应用需求

    。无论您是高级自适应 SoC 开发人员,还是 CXL 初学者,第二代 Versal Premium 系列都能提供灵活的 CXL 3.1 子系统,非常适合内存扩展、内存池化和内存加速应用
    的头像 发表于 04-24 14:52 967次阅读
    第二代AMD Versal Premium系列<b class='flag-5'>SoC</b>满足各种CXL应用需求

    iMX8MPlus SoC M7核心是否需要单独的RAM内存

    对于 iMX8MPlus SoC ,M7 核心是否需要单独的 RAM 内存?或者是否有用于 M7内核的内部 SRAM?
    发表于 03-28 08:03

    hyper 内存,Hyper内存:如何监控与优化hyper-v虚拟机的内存使用

    :如何监控与优化hyper-v虚拟机的内存使用。    在虚拟化环境,合理监控和优化Hyper-V虚拟机的内存使用对于提升性能和资源利用率至关重要。本文将详细介绍如何监控Hyper-
    的头像 发表于 01-24 14:15 1677次阅读
    hyper <b class='flag-5'>内存</b>,Hyper<b class='flag-5'>内存</b>:如何监控与优化hyper-v虚拟机的<b class='flag-5'>内存</b>使用

    如何使用DevEco Studio性能调优工具Profiler定位应用内存问题

    鸿蒙应用开发过程,可能由于种种原因导致应用内存未被正的使用或者归还至操作系统,从而引发内存异常占用、内存泄漏等问题,最终导致应用卡顿甚至崩溃,严重影响用户体验。
    的头像 发表于 01-16 14:40 2524次阅读
    如何使用DevEco Studio<b class='flag-5'>性能</b>调优工具Profiler定位应用<b class='flag-5'>内存</b>问题

    如何提高嵌入式代码质量?

    的错误和改进点,提高代码的可读性和健壮性。 4. 版本控制:使用版本控制系统如Git,可以追踪代码变更并轻松进行团队协作,确保每个版本都是可控和可重现的。 优化性能和资源利用率 在嵌入式系统
    发表于 01-15 10:48