首页 > 生活分享 > 生活分享 > 如何从处理器和加速器内核中榨取最大性能?

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

发布时间:2024-06-02 16:31:47来源: 15210273549

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

 

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

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

 

削减成本

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

 

图 1

SoC内部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所示。

 

图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的性能

生活分享更多>>

2025年盘锦市委党校招聘教师公告 2024年海珠区委统战部关于招聘雇员的公告(1人) 2024年阿坝州人力资源和社会保障局茂县招聘紧缺学科教师公告 2024年德州职业技术学院博士研究生引进公告 2024年广元市剑阁县自然资源局招聘工作人员(临聘)公告 2024年威海经济技术开发区面向社区党组织书记招聘事业单位工作人员简章 2024年北京市大兴区新兴产业促进服务中心临时辅助用工人员招聘公告(3人) 2024年呼和浩特清水河县竞聘中小学、幼儿园 校(园)长(含副职)公告 9.98万一口价起售的日产逍客·荣誉,其实诚意还是略显不足 坚持走纯电路线的蔚来汽车,已经连续两周销量排名下降 更适合家用MPV应该是什么样子?刚上市的极氪MIX告诉你答案 韩系豪华车品牌捷尼赛思还在“硬撑” 捷达版速腾要来了,定名VA7,或11月10日预售 捷途山海T1上市,主打方盒子设计,15.48万起 奶爸神车后继有人?豪华大六座零跑C16玩的就是舒适 海豚又一个对手来了,埃安打造,广州车展亮相 发布价3399元,突降1511元,跌至1888元,荣耀降价也太猛了 华为Mate 60 Pro、荣耀Magic7 Pro该怎么选?对比8点就懂了 双11手机推荐指南,各个价位段精选汇总 TCL洗衣机洗净的秘诀到底是什么?央视主持人现身探秘 家用更优解,荣威iMAX8 DMH新陆尊比传祺E8香多了? 比亚迪“百万级核心技术”被攻破,五菱干成了10万级! 长安汽车 10 月销量为 25.08 万辆,同比增长 4.07% 为何奔驰是BBA老大哥?BMW粉香港看车有感 2024年最畅销20款电动车榜单:Model Y第一,比亚迪宋第二 丰田中国品牌沟通部部长徐一鸣:加大智能化电动化研发 打造适应中国消费者需求产品 开了5000公里,发现奥迪A6L和奔驰E300,差距太大不在一个档次 双11平板选购指南,华为平板全系列机型推荐 平板电脑怎么选?目前公认值得入手的五款平板,轻松用十年 三星又一三折叠手机专利获批:提高屏幕耐用性、添加防反射层