中文 英语
系统与设计
的意见

了解处理器IP核的性能

PPA数字听起来不错,但一个基准可能不告诉整个故事。

受欢迎程度

看任何处理器IP,你会发现他们的供应商强调PPA(性能、功率和面积)数字。理论上,他们应该提供一个公平竞争的环境,比较不同处理器IP核心,但在现实中,情况比较复杂。让我们考虑性能。

首先要考虑的是你关心什么方面的性能。你更在乎您想要的绝对吞吐量每秒(性能),或每MHz性能好吗?在机器视觉等应用程序,这是不断运行,要求使用复杂的算法,很可能你会关心绝对吞吐量。然而,如果你有一个无线传感器节点与低责任周期,节点醒来时,你会想要主动尽可能少的时钟周期。这意味着你将关心你达到多少计算每MHz。

大约40年前,电脑比较基于MIPS(每秒数百万指令)虽然问题是——一个指令是什么?指令到不同的复杂性和从一个架构,因此手术通常会需要更少的比RISC的CISC处理器周期。MIPS只是帮助当比较相似的产品架构和被称为“无意义的性能指数”被一些!

要考虑的另一件事是计算的类型,你希望最关心。它是整数操作,如果是这样的话,哪些——或者,说,浮点计算?在过去,MFLOPS(每秒百万浮点运算)是一个受欢迎的措施。但是,什么是“操作”?

今天,合成基准是普遍使用处理器IP核。他们有以下特点:

  1. 他们相对较小,便于携带,
  2. 它们代表常用的相关应用程序,
  3. 他们是可再生的、透明的,
  4. 他们可以应用于一系列处理器相当,
  5. 他们表达了基准测试结果作为一个数字。

基准已经流行在过去的36年Dhrystone基准。它的名字是一个文字游戏比较它与一度磨刀石基准。当磨刀石关注浮点操作,Dhrystone专注于整型和字符串操作。Dhrystone基准测试结果通常援引DMIPS (Dhrystone分数除以名义上的1 MIPS机)。基准被批评因为现代编译器会优化掉的部分工作,这意味着它部分测试编译器而不是处理器性能。

浮点,磨石是目前很少使用,LINPACK更可能被使用。LINPACK涉及矩阵的LU分解使用浮点数。结果是用MFLOPS表示。

另一个流行的合成一直是EEMBC基准为嵌入式应用程序CoreMark,其目的是进行嵌入式操作代表整数处理需求。这些包括列表处理矩阵运算,有限状态机和CRC。

正如你所看到的,有各种基准系统,每个适合测量一种略有不同的性能。那么如何评估性能在选择处理器IP为您的项目?如果你的嵌入式软件合成基准也有类似的操作,然后,基准可能给你有用的初步指导快速和简单。然而,通常这样的基准报价每MHz,例如CoreMark / MHz。每MHz的数字为低功耗应用程序通常是一个好迹象,你正在寻找好的结果每循环。然而,如果你正在寻找高绝对性能,这可能会误导人。相反,你应该考虑,CoreMarks实现你的目标的时钟频率。

如果你的主要问题是浮点性能,记住DMIPS和CoreMark整数基准。你会更好的比较核心的基础上浮点诸如LINPACK基准。

最终,它总是有意义的投资在一个处理器上运行实际的软件核心评估核心是否给你你所需要的性能。如果你是看着RISC-V,然后分析你的软件理解计算的瓶颈在哪里也能导致评估添加自定义指令是否可以给你改善性能。



1评论

罗伊·隆巴顿 说:

作为磨刀石基准设计权威我应该指出,这可能是唯一一个,结果可用于大多数早期的大型机,微型计算机和电脑最近一段时间,然后Android设备,诸如覆盆子π。也有多核版本。谷歌对罗伊·隆巴顿磨刀石,Dhrystone Linpack,手臂,π,

留下一个回复


(注意:这个名字会显示公开)

Baidu