说起嵌入式处理器,学习电子或者自动化专业的同学相比是非常亲切的,笔者是一名自动化专业的学术,无数的NB的算法最后的实现还是需要一颗好的CPU才能真正的发挥出其各种优秀的属性。其实嵌入式CPU已经成为现在CPU中的一个很大很复杂的一个门类。笔者所关系的一直都是好用不贵的神器:MCU。从最经典的intel 的8051到之后的时代王者PIC单片机。再到因为极高性价比而一战成名的神器STM32系列,到最新也是我这次想初探的arm cortex m7,每个都让我感受到时代的进步,工具的强大,好了话不多说,我就从继承性和发扬性并且用一块开发板的例程来分析这个系列到了M7一代是堕落的开始还是经典的延续。
首先,这个芯片构架是其老一代经典构架cortex M4的威力加强版,这个不用怀疑,稍微翻下指令集就能看出原来的指令集是在的,用官方的说法就是100%的兼容现有的系统。使用过或者研究过cortex m4构架的童鞋都应该知道,m4其实就是m3的系统上直接添加FPU的版本,这让笔者一开始对于这款基于10年前的那个经典老构架的2次加强版并不看好。但是实际读读宣传手册就会发现差距其实是明显的。
1.构架篇
首先从跑分来看看:
cortex m3:
管道 | 3 阶段 |
性能效率 | 3.32 CoreMark/MHz* - 1.25 至 1.50 DMIPS/MHz** |
DSP 扩展 | Single cycle 16/32-bit MAC Single cycle dual 16-bit MAC 8/16-bit SIMD arithmetic Hardware Divide (2-12 Cycles) |
浮点单元 | 单精度浮点单元 符合 IEEE 754 |
流水线 | 3 级 + 分支预测 |
性能效率 | 3.40 CoreMark/MHz* - 1.25 至 1.52 DMIPS/MHz** |
DSP 扩展 | 单周期16/32位 MAC 单周期双16位 MAC 8/16位 SIMD 运算 硬件除法(2-12 周期) |
浮点单元 | 单和双精度浮点单元 与IEEE 754 兼容 |