Phimas

【原创】【翻译】从Cortex - M3过度到Cortex - M4(1)----简介

0
阅读(5173)

这篇文章非常好,主要从很多方面介绍了cortex m3与cortex m4的异同,能够方便广大工程师选型,移植代码。

由于本人文笔拙劣,可能翻译的不到位,望大家多多包涵,如有异议请指出,谢谢。如需转载,请与笔者联系。

 

原作者:罗伊.罗(element14的全球技术中心)(原名Premier Farnell集团)2011年3月

翻译:phimas

原稿下载见末页。

简介:

         ARM的Cortex - M4处理器是最新的嵌入式ARM处理器,是专门开发的用于满足解决数字信号控制市场需求的一种高效,易于使用的微控制器。致力于控制和信号处理能力的混合应用。

        低功耗与高效率的信号处理功能相结合,低成本和易于使用的Cortex - M系列处理器,是致力于满足新兴的灵活的设计解决方案以专门针对于电机控制,汽车类,电源管理,嵌入式音频和工业自动化市场。在Cortex - M4处理器扩展的Cortex - M系列内核的应用中,能提供比目前与Cortex - M3 更多的计算性能。Cortex - M4独有特点包含:单周期乘法累加(MAC)单元,优化的单指令多数据(SIMD)指令,饱和算术指令和一个可选的单精度浮点单元(FPU)。

       因此Cortex - M4相当于是Cortex - M3的内核加上DSP指令,将Cortex - M3移植到Cortex - M4的是非常容易的!

为什么要用Cortex - M4?

(1)更高的性能:                                                                                                                                                                                          Cortex - M3,Cortex - M4都能提供1.25 Dhrystone 2.1 MIPS的每MHz的整数运算水平,但Cortex - M4的在数字信号处理方面提供了更高的性能。如需要更多有关信息,请参考【2】.Cortex - M4的特点

 (2)数字信号处理能力:                                                                                                                                                                            Cortex - M4的集成了单周期乘法累加(MAC)单元,支持多种16位或32位乘以32位或64位的累加器单周期SIMD(单指令多数据)指令集,配备双16位和四8位操作 。Cortex - M4的FPU是基于ARMv7 - M架构的浮点扩展(FPv4 SP)的单精度变量。它提供了浮点运算功能 ,兼容ANSI / IEEE标准754-2008,(IEEE标准的二进制浮点算术,简称IEEE754 标准)“ FPU支持所有ARM体系结构参考手册中所描述的单精度的数据处理指令和数据类型。

(3)满足下一代产品的要求:                                                                                                                                                                        ARM Cortex - M系列旨在多种应用领域,如商业电子,低成本工业控制,包括电机控制,电源管理,汽车电子,和音频处理。在这些领域产生了越来越多的计算负载,所有的数字信号处理消耗的CPU资源已经变得不可承受,很多任务是由软件处理的。但ARM Cortex - M4解决了这个问题,通过整合单周期乘法累加(MAC)单元和单周期的SIMD指令集操作,以及一个可选的FPU,以满足新一代产品的数字信号处理要求。                                                                                                                                                                          每个Cortex - M4相当于集成了DSP扩展的Cortex - M3。意味着Cortex - M3的软件功能也可以在M4很容易的实现,不用耗费太多精力从M3到转移M4。如下式所示的图表说明这两个处理器之间的关系。

Cortex-M3   +      DSP  &   可选的FPU    =      Cortex-M4

参考材料

【1】Cortex - M3技术参考手册,ARM DDI0337G,ARM公司

【2】Cortex - M4的技术参考手册,ARM DDI0337G,ARM公司

【3】ARMv7 - M体系结构参考手册,ARM公司的ARM DDI0403D,

【4】Cortex微控制器软件接口标准(见www.onarm.com)。

 【5】应用笔记179 - Cortex - M3的嵌入式软件开发,ARM的DAI0179B,ARM公司