与8位控制器相比,Cortex M0的性能如何?


10

该文件指出Cortex M0为60 DMIPS / mW,而M3为31 DMIPS / mW。(后者与本文档中的数字不一致,引用了1.25 DMIPS / MHz和0.19 mW / MHz,给出6.6 DMIPS / mW。)
有人知道M0性能/功率与8/16位控制器相比如何吗?像AVR,PIC和MSP430?M3的数字又如何处理?


3
@frederico,这是一个非常加载的问题,没有简单的答案。因为,我的经验是其他因素决定性能。诸如预取功能,总线速度,挂在总线上的外围设备数量,闪存访问速度等因素。如果对系统进行良好的配置,几乎总会看到获取数据的信息。并成为瓶颈。好吧,如果您详细介绍了您的应用程序,我很乐意提供有关选择处理器的最佳途径的见解。
法兰克

1
@弗兰克:Dhrystone基准测试是否隐式考虑了预取和总线速度之类的事情?我特别希望清理矛盾的NXP M3数据。无法提供有关应用的详细信息,因为详细信息尚不存在:-)
Federico Russo

@Frederico,我认为自己是普通工程师以下的人员,当然不是建筑师。我不信任任何基准,因为几乎总是对数据进行处理。例如,如果您有一个高速数据接收器,需要您将数据放入和取出,与此同时,您需要访问内存和其他外围设备,则这种情况会妨碍总线。这些处理器是为一般用例而设计的。如果要对某些数据进行软解码,这需要多次读/写内存,则数据路径可能溢出或不足。对于软件专家来说,这通常在不眠之夜结束。
弗兰克,

如今,Dhrystone是一个有趣的玩具,但并不能告诉您太多。总体而言,基准并不能告诉您太多信息。您必须将应用程序运行。您选择不更改任何代码或硬件的编译器可能会在性能上产生几倍的正负差异,因此这非常困难。您可以建立基准,使数字显示您想要的任何内容。
old_timer 2011年

ARM将围绕其余部分运行以获得纯净性能(以相似的尺寸和相似的价格,不一定是功耗)。我不认为8051像PIC一样慢,您能了解丢失时钟的数量吗?使用asm,然后人们使用C,因此无法观看。对于Msp430,您可能需要将其关闭的应用程序使用,一旦它在蓝月亮中醒来,它会先醒来,然后做几件事,然后进入睡眠状态,例如电视遥控器或类似的东西。
old_timer 2011年

Answers:


9

这是我可以提供的几个指针。恩智浦提供的规格是针对其整个芯片(核心,内存,外设)的。ARM提供的规范仅基于核心。由于数字的推导方式不同,因此很难进行比较。

因此,我建议我们退后一步,看看两个设备。基于NXP M0的MCU和基于MXP M3的MCU。

对于基于M0的MCU,我们来看一下LPC1111。当该MCU执行繁忙的空闲循环时,它将以12MHz的时钟速率消耗3mA的电流。这将产生250uA / MHz,在3.3V时为825uW / MHz。

对于基于M3的MCU,我们来看一下LPC1311。当该MCU执行相同的忙闲循环时,它将在12MHz时消耗4mA的电流。产生333.3uA / MHz,即1.1mW / MHz。

如果我们看一看MSP430C1101 MCU(16位),我们将看到电压为3V时,它将在1MHz下使用240uA。产生720uW / MHz。

接下来,让我们转到ATMega328(在Arduino Uno中使用)。我们看到200uA在1MHz电压下使用2V。这产生400uA / MHz。

还应注意,MSP430和AVR的规格不同。它们的功耗以1MHz给出,而M0和M3的功耗为12MHz。这意味着将M0和M3放大到12MHz时,效率低下。

这些值都是有功电流消耗数。如果您查看设备处于睡眠状态时的电流消耗,则会发现所消耗的功率要少几个数量级。32位M0提供的优势在于,与8位和16位MCU相比,它可以在更短的时间内完成更多的工作。这意味着对于给定的工作负载,它将在睡眠状态上花费更多的时间。尽管有功功耗不同,但由经验丰富的工程师掌握的M0往往比熟练程度较低的工程师掌握的8位MCU的电源效率要好得多。

根据我的经验,M0的有源功耗非常接近16位和8位,因此您可以弥补应用程序中的许多差异。而且,与MCU相连的所有东西的功耗通常都使MCU相形见many。因此,对于许多应用程序而言,提高MCU的效率并不是最重要的事情。

希望对您有所帮助。长话不说,功耗稍差一些,但是用这些时钟周期完成的工作要比其他芯片多得多。因此,这实际上取决于您的应用程序。


1
关于您的第一段:如果ARM数字仅是核心数字,那么它们应该高于NXP数字(包括外围设备功率)。但是他们更低。我也无法解释。
stevenvh 2011年

1
另外,您应该在相同电压下比较控制器。如果像MSP430一样以3V电压运行LPC1111,它们的功耗将非常接近。对于恩智浦ARM来说还不错。MSP430以其低功耗而闻名。
stevenvh 2011年

1
与MSP430相比,ARM皮质设备存在的一个大问题是ARM设备会消耗大量处理器周期,从而从低功耗模式恢复到运行状态。RAM数据丢失,必须重新创建/初始化(除电池供电的SRAM外),PLL和时钟系统必须重新启动。MSP只是从下一条指令恢复,而所有RAM都从它进入睡眠状态起就保持不变。如果您的过程涉及活动模式和睡眠模式之间的频繁转换,则ARM将丢失。
uɐɪ

3

将12MHz与1MHz进行比较有偏差-更高的时钟速率每MHz需要较少的电流。例如,最新的MSP430在有源模式下的频率可以低至80-120uA / MHz,而8 / 16MHz则可以。

值得一提的是,正确编写的代码可使MCU的活动模式保持在1%(甚至0.1%)以下的时间,因此电源模式在这里有很大的不同。

在现实生活中,由于非常有用的低功耗状态(其他MCU需要更长的唤醒时间或不保留RAM内容),MSP430很难被击败(我不是TI员工)。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.