ARM体系结构(2) - 性能评估

1. 处理器计算性能评估

       MIPS : Million Instructions Per Second的缩写,每秒处理的百万级的机器语言指令数。这是衡量CPU速度的一个指标。像是一个Intel 80386 电脑可以每秒处理3百万到5百万机器语言指令,既我们可以说80386是3到5MIPS的CPU。MIPS只是衡量CPU性能的指标。

       DMIPS: D是Dhrystone的缩写,他表示了在Dhrystone这样一种测试方法下的MIPS,Dhrystone是一种整数运算测试程序。

       Dhrystone: 是于1984年由Reinhold P. Weicker设计的一套综合的基准程序,该程序用来测试CPU(整数)计算性能

       DMIPS/MHz :1MHz的时钟频率下机器执行的百万指令数。

Cortex-A8 每内核2.0 DMIPS/MHz。(2007)
Cortex-A9 每内核2.50 DMIPS/MHz。(2009)
业内预估 Cortex-A15 每内核3.50 DMIPS/MHz。(2012)

1.1 MCU性能评估

       处理器的评估在核心处理指令以外还要关注外设的速度,中断的响应时间等,需要综合考虑,以下摘自网络:

       作为系统的主控…CortexA比CortexM速度更快.价格更便宜.PCB面积更小.开发周期更短…呃…启动慢很多…可能不适合做心脏起搏器一类的…
那么高性能CortexM的意义?..

       CortexA关心应用…关心的是平台无关性…提高性能只有提高主频…也就是MIPS…
       CortexM更像是一个设备的大集合…CortexM只关心设备…一切应用都是针对设备的…包括计算…同样的运算…用FPU和不用FPU…用DMA和不用DMA…用中断和不用中断…计算时间都千差万别…(中断和DMA并不是用了一定好…中断会打断重要的任务…而DMA速度慢不适合重要任务传输)…

       CortexM并不是很在乎MIPS…STM32F4在进行8192个点函数波表生成的时候要比2440快不少…

       CortexM关心的是设备…针对设备编程(Cortex-M)和设备无关编程(Cortex-A)…用好了的话…CortexM是要比CortexA优秀的…

       的确有人把CortexM当CortexA来用…ucLinux…也的确有人把CortexA来当CortexM来用…
那都属于奇葩…

       需求是无限的…资源是有限的…有限的资源满足无限的需求…一个是用CortexA…超高的主频硬上…如果性能不够就等半年出新的MCU…反正最多2年后肯定是够的…换U很简单…设备无关…一个是用CortexM…慢…但是你可以保证最重要的任务及时运行…

如果你想用MIPS来考虑是否满足需求…
建议直接用CortexA…CortexM的MIPS肯定是不行的…
CortexM就是在取舍…相对于CortexA的优点也是如此…

2. ARM、DSP、MCU、MPU、FPGA等的区别

ARM: ARM既可以说是一个公司名字,专门设计arm内核的公司;也可以说是一类微处理的结构。大多数芯片设计厂商都采用arm内核设计,比如三星的2440,4412;STM32系列。具有低费用、低功耗、高性能,全世界99%的智能手机和平板电脑都采用ARM架构,非常适合嵌入式系统。

DSP:数字处理芯片,是以数字信号来处理大量信息的器件。这类处理器对乘法、循环等算法做了专门的硬件,使得来做算法的时候能够很快的进行计算。主要用于需要进行复杂计算的高端系统,例如图像处理,加密解密,导航系统,伺服控制系统,外围module一般较少

MPU:微处理器单元。
MCU:MCU集成了片上外围器件,而MPU不带外围器件(例如存储器阵列),是高度集成的通用结构的处理器,是去除了集成外设的MCU。适合做一些事物管理功能,比较通用。在数字计算上不如dsp,dsp比较专用。

FPGA:现场可编程门阵列。可以被认为是一个逻辑门的集合,你可以编程到任何你喜欢的配置。所以你可以动态地编程FPGA来表示任何符合它的逻辑。因此,使用相同的FPGA表示许多不同的芯片。FPGA与mcu,dsp的最大区别是并行处理,同时能够自定义为各种功能。

猜你喜欢

转载自blog.csdn.net/weixin_43369409/article/details/87983591