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

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

3天内不再提示

如何从处理器和加速器内核中榨取最大性能?

颖脉Imgtec 2024-06-06 08:28 次阅读

本文由半导体产业纵横(ID:ICVIEWS)编译自semiengineering


利用缓存增强低成本、上一代或中端的 SoC。

一些设计团队在创建片上系统(SoC)设备时,有幸能够使用最新和最先进的技术节点,并且拥有相对不受限制的预算来从可信的第三方供应商那里获取知识产权(IP)模块。然而,许多工程师并没有这么幸运。对于每一个“不惜一切代价”的项目,都有一千个“在有限预算下尽你所能”的对应项目。

一种从成本较低、早期代、中档处理器和加速器核心中挤出最大性能的方法是,明智地应用缓存。


削减成本图1展示了一个典型的成本意识SoC场景的简化示例。尽管SoC可能由许多IP组成,但这里为了清晰起见,只展示了三个。

a79bf2c4-239b-11ef-bd4a-92fbcf53809c.png

图 1SoC内部IP之间连接的主要技术是网络片上(NoC)互连IP。这可以被看作是一个跨越整个设备的IP。图1中展示的例子可以假定为一个非缓存一致性场景。在这种情况下,任何一致性需求将由软件处理。

假设SoC的时钟运行在1GHz。假设一个基于精简指令集计算机(RISC)架构的中央处理单元(CPU)运行一个典型指令将消耗一个时钟周期。然而,访问外部DRAM内存可能需要100到200个处理器时钟周期(为了本文的目的,我们将这个平均为150个周期)。这意味着,如果CPU没有一级(L1)缓存,并且通过NoC和DDR内存控制器直接连接到DRAM,那么每个指令将消耗150个处理器时钟周期,导致CPU利用率仅为1/150 = 0.67%。

这就是为什么CPU以及一些加速器和其他IP使用缓存内存来提高处理器利用率和应用程序性能。缓存概念基于的基本原理是局部性原则。这个观点是,在任何给定时间,只有一小部分主内存被使用,而且那个空间中的位置被多次访问。主要是由于循环、嵌套循环和子程序,指令及其相关数据经历时间、空间和顺序局部性。这意味着,一旦一块指令和数据从主内存复制到IP的缓存中,IP通常会反复访问它们。

当今高端CPU IP通常至少有一个一级(L1)和二级(L2)缓存,它们通常还有一个三级(L3)缓存。此外,一些加速器IP,如图形处理单元(GPU)通常有自己的内部缓存。然而,这些最新一代的高端IP的价格通常比上一代中档产品高出5倍到10倍。因此,正如图1所示,一个注重成本的SoC中的CPU可能只配备了一个L1缓存。

更深入地考虑CPU及其L1缓存。当CPU在其缓存中请求某物时,结果被称为缓存命中。由于L1缓存通常以与处理器核心相同的速度运行,因此缓存命中将在单个处理器时钟周期内处理。相比之下,如果请求的数据不在缓存中,结果称为缓存未命中,将需要访问主内存,这将消耗150个处理器时钟周期。

现在考虑运行1,000,000条指令。如果缓存足够大以包含整个程序,那么这将只消耗1,000,000个时钟周期,从而实现100%的CPU效率。

不幸的是,中档CPU中的L1缓存通常只有16KB到64KB的大小。如果我们假设95%的缓存命中率,那么我们的1,000,000条指令中的950,000条将需要一个处理器时钟周期。其余的50,000条指令每条将消耗150个时钟周期。因此,这种情况下的CPU效率可以计算为1,000,000/((950,000 * 1) + (50,000 * 150)) = ~12%。


提升性能

提高注重成本SoC性能的一种成本效益高的方式是添加缓存IP。例如,Arteris的CodaCache是一个可配置的、独立的非一致性缓存IP。每个CodaCache实例可以高达8MB,并且可以在同一个SoC中实例化多个副本,如图2所示。

a7d00000-239b-11ef-bd4a-92fbcf53809c.png

图2

本文的目的并不是建议每个IP都应该配备一个CodaCache。图2仅旨在提供潜在CodaCache部署的示例。

如果一个CodaCache实例与一个IP关联,它被称为专用缓存(DC)。或者,如果一个CodaCache实例与一个DDR内存控制器关联,它被称为末级缓存(LLC)。DC将加速与其关联的IP的性能,而LLC将增强整个SoC的性能。

作为我们可能期望的性能提升类型的一个示例,考虑图2中显示的CPU。让我们假设与这个IP关联的CodaCache DC实例以处理器速度的一半运行,并且对这个缓存的任何访问消耗20个处理器时钟周期。如果我们还假设这个DC有95%的缓存命中率,那么对于1,000,000条指令——我们的整体CPU+L1+DC效率可以计算为1,000,000/((950,000 * 1) + (47,500 * 20) + (2,500 * 150)) = ~44%。这是一个~273%的性能提升!


结论过去,嵌入式程序员喜欢挑战,尽可能从时钟速度低、内存资源有限的小处理器中挤出最高性能。事实上,计算机杂志通常会向读者提出挑战,例如:“谁能在处理器Y上使用最少的时钟周期和最小的内存量执行任务X?”

今天,许多SoC开发者喜欢挑战,尽可能从他们的设计中挤出最高性能,特别是如果他们被限制使用性能较低的中档IP。部署CodaCache IP作为专用和末级缓存,为工程师提供了一种负担得起的方式来提升他们注重成本的SoC的性能。


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

    关注

    68

    文章

    19096

    浏览量

    228792
  • 内核
    +关注

    关注

    3

    文章

    1360

    浏览量

    40183
  • 加速器
    +关注

    关注

    2

    文章

    790

    浏览量

    37667
收藏 人收藏

    评论

    相关推荐

    充分利用数字信号处理器上的片内FIR和IIR硬件加速器

    我们看到如何利用不同的加速器使用模型实现所需的MIPS和处理目标,从而将大量内核MIPS转移到ADSP-2156x处理器上的FIRA和IIRA加速器
    发表于 06-22 14:42 1733次阅读
    充分利用数字信号<b class='flag-5'>处理器</b>上的片内FIR和IIR硬件<b class='flag-5'>加速器</b>

    【FPGA干货分享六】基于FPGA协处理器的算法加速的实现

    移动的数据具有较低的延时和更高的数据速率。3. 指令流水线连接指令流水线连接加速器直接连接到CPU的计算内核。通过与指令流水线连接,CPU不能识别的指令可以由协处理器执行。操作数、结果以及状态直接
    发表于 02-02 14:18

    【Aworks申请】中国科学院高能物理所质子直线加速器chopper电源

    申请理由:需要微控制处理CHOPPER的各种故障信号并且产生PWM波并且和其他设备远程通讯。测试该控制板在直接加速器系统抗电磁干扰和打火浪涌的
    发表于 07-09 16:04

    AM57x处理器实施多种内核

    随着嵌入式领域的不断扩大,应用也变得日趋复杂。因此,对特定处理器内核(面向特定任务)的需求正在迅速增加。在我们生活的世界里,一种高性能、单架构处理器称霸天下的情况已不复存在。在单个
    发表于 09-04 09:54

    采用控制律加速器的Piccolo MCU

    日前,德州仪器 (TI) 宣布推出采用控制律加速器 (CLA) 的新型 TMS320F2803x Piccolo 微处理器 (MCU),可促进具有更高可靠性与效率的嵌入式控制应用的开发。CLA
    发表于 07-26 06:21

    如何充分利用数字信号处理器上的片内FIR和IIR硬件加速器

    上的片内FIR和IIR硬件加速器也分别称为FIRA和IIRA,我们可以利用这些硬件加速器来分担FIR和IIR处理任务,让内核去执行其他处理
    发表于 12-28 06:26

    D-2700和D-1700处理器产品资料

    IntelXeon@D-2700和D-1700处理器为云、边缘和5G网络提供突破性的、密度优化的性能、可扩展性和价值。intel Xeon D集成了以太网和加速器处理器,用于支持网络
    发表于 08-04 07:07

    利用硬件加速器提高处理器性能

    超过两倍。本文以下一代音频系统为例,说明硬件加速器在这方面的应用。 为什么使用硬件加速器 FIR滤波、IIR滤波和FFT操作在数字信号处理器
    发表于 12-04 15:22 1281次阅读

    使用协处理器加速器的方法介绍

    了解协处理的价值,Zynq-7000加速器一致性端口,使用协处理器加速器的方法以及协处理器设计实例的概述。
    的头像 发表于 11-30 06:15 4224次阅读

    如何解放你的内核?硬件加速器“使用指南”奉上

    为开始进行FIRA/IIRA处理内核使用通道特定信息初始化处理器存储的DMA传输控制块(TCB)链。然后将该TCB链的起始地址写入FI
    的头像 发表于 07-06 16:10 2775次阅读
    如何解放你的<b class='flag-5'>内核</b>?硬件<b class='flag-5'>加速器</b>“使用指南”奉上

    硬件加速器提升下一代SHARC处理器性能

    硬件加速器提升下一代SHARC处理器性能
    发表于 04-23 13:06 6次下载
    硬件<b class='flag-5'>加速器</b>提升下一代SHARC<b class='flag-5'>处理器</b>的<b class='flag-5'>性能</b>

    TOPS 与现实世界的性能:AI 加速器的基准性能

    ) 指标的性能指导。TOPS 捕捉到“加速器在一秒钟内可以提供多少数学运算?” 比较和确定给定推理任务的最佳加速器。 虽然 TOPS 是一个“容易”计算的指标,但它通常无法为实际工作负载提供可靠的
    的头像 发表于 07-14 17:17 1822次阅读

    利用数字信号处理器上的片上FIR和IIR硬件加速器

    处理器上的片上FIR和IIR硬件加速器(也称为FIRA和IIRA)可用于卸载FIR和IIR处理任务,从而腾出内核用于其他处理。在本文中,我们
    的头像 发表于 12-20 11:39 1368次阅读
    利用数字信号<b class='flag-5'>处理器</b>上的片上FIR和IIR硬件<b class='flag-5'>加速器</b>

    硬件加速器提升下一代SHARC处理器性能

    SHARC ADSP-2146x处理器集成了硬件加速器,可实现三种广泛使用的信号处理操作:FIR(有限脉冲响应)、IIR(无限脉冲响应)和FFT(快速傅里叶变换)。加速器卸载了核心
    的头像 发表于 03-03 14:46 1196次阅读
    硬件<b class='flag-5'>加速器</b>提升下一代SHARC<b class='flag-5'>处理器</b>的<b class='flag-5'>性能</b>

    回旋加速器粒子的最大动能与什么有关

    回旋加速器是一种用于加速粒子的装置,通过不断变化的磁场和电场来不断加速粒子,使其达到极高的速度和能量。粒子的最大动能取决于几个关键因素。 首先,回旋
    的头像 发表于 01-18 10:42 2893次阅读