首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >评估板之间的性能差异

评估板之间的性能差异
EN

Stack Overflow用户
提问于 2013-05-09 22:03:02
回答 2查看 1.4K关注 0票数 0

我们公司很自豪的拥有一个STM32f4评估板( cortex M4F),我们收到了另一个评估板,那就是(ARM7TDMI板)。

在开始迁移到ARM7评估板之前,我们想知道硬件是否对我们来说足够强大,所以我们不会浪费任何时间来发现它。

我们的项目利用了许多DSP算法(这利用了FPU),大量使用SDIO,以及大约1兆字节的内存。

所以,我想在两个评估板上做以下测试,看看它们之间的性能差异:

数学:加法、减法、除法、乘法、Abs和Sqrtf。它将运行一个循环(并且只使用浮点数)。SDIO :在循环存储器中读/写2千字节的缓冲区:在循环中读/写外部和内部RAM。

在您看来,这一结果是否会给出性能差异的任何指示,以及对“真正的”项目的期望是什么?

谢谢,迈克尔

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-05-10 06:22:24

我反对任何基于ARM7的新设计--它是一个遗留的ARM架构。对于要在中设计的任何部件,应检查供应商的部件状态和计划报废。没有供应商发布基于ARM7的新设计。

我还建议,对于DSP算法,Cortex-M4的DSP功能比它的浮点数更重要。ARM Cortex-M CMSIS包括一个利用这一点的DSP库。无论哪种方式,定点DSP算法都将比使用浮点算法效率高得多。

Cortex-M是一种比ARM7更高效的设计,每个MHz可达到1.2DMIPS,而每个MHz的DMIPS不到1.0DMIPS。再加上DSP指令、浮点以及用于片上标志、RAM和外设的单独总线,大多数代码在Cortex-M上的速度都要快得多。

Cortex-M架构定义了SYSCLK和中断控制器,而在ARM7上,这些是由芯片供应商定义的,并且因供应商而异,这使得它们之间的代码移植变得更加困难。

STM32F4xx部件的最高运行频率为180 Most;大多数ARM7部件的运行频率为60 Most或更低。

使用浮点执行比较几乎是毫无意义的。浮点硬件的性能将轻松超过ARM7上必需的软件浮点数,至少是5到10倍。除非您的应用程序能够应对性能的下降,否则它不适合ARM7。然而,大多数应用程序不需要浮点。整数或定点算法可以比软件浮点运算快5倍左右,因此与硬件浮点运算竞争。另请记住,Cortex-M4 FPU仅为单精度。

将Cortex-M3与Cortex-M4进行比较,以测试应用程序对缺少硬件FP和DSP支持的敏感度会更合理。

SDIO性能将受到SDIO接口和SD卡本身的限制(即使在相同的“额定速度”下,SDIO接口和SD卡本身的性能也有很大差异)-处理器本身的负载将非常低,或者如果您的应用程序繁忙,它将花费大部分时间等待数据-而不是在等待SD卡时做一些有用的事情。DMA传输的使用可以使CPU负载或多或少可以忽略不计。

下图说明了ARM7与Cortex-M4的定位方式。后者是更高的性能和更大的能力。在相同时钟频率下,Cortex-M4站点在性能尺度上介于ARM9和ARM11之间。

我不认为您需要执行任何基准测试来比较ARM7和Cortex M4,因为已经有了广泛的性能数据。您可以做的也许是测量现有应用程序在其当前平台上的CPU负载。如果它很低(可能小于20%),并且它的大部分时间都是空闲的,那么ARM7可能是可行的。当然,如果您的应用程序不是在具有空闲任务的RTOS或调度器上运行,那么测量真正的CPU负载可能很困难。

票数 3
EN

Stack Overflow用户

发布于 2013-05-09 22:48:44

我本以为M4F会比老式的7TDMI处理器强大得多。我没有使用过带浮点协处理器的ARM7,我希望当你想做浮点数字信号处理器的时候,M4F会更适合你的应用。

将浮点放在硬件中将加快处理速度,并可能通过降低处理器时钟来实现节能。

我不愿意开始一个基于至少10年前的ARM版本的新设计

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16463651

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档