【原创】【翻译】从Cortex - M3过度到Cortex - M4(2)----Cortex - M4特点
0赞
发表于 11/29/2011 6:41:38 PM
阅读(5076)
由于本人文笔拙劣,可能翻译的不到位,望大家多多包涵,有异议请指出,谢谢。
原作者:罗伊.罗
Cortex - M4的特点
2.1 32位乘法累加(MAC)单元
Cortex - M4的32位的硬件乘法累加(MAC)单元能在单信号周期完成一次最大32 *32或64的操作 或两次16*16的操作。这种高性能的单位数字信号处理更加高效,并且大大降低了CPU资源的消耗。32位乘法累加(MAC)单元有三个主要特点:
(1)非常宽泛的乘法累加指令
(2)选择16位,32位的乘法和32位,64位累加
(3)所有指令在一个周期内即可执行
2.2 单指令多数据流(SIMD)指令
Cortex - M4继承了了一整套单周期SIMD指令。SIMD指令设置包括一系列的DSP指令,例如加,减,乘,和乘加,它是用来实现一些常见的DSP操作,包括FIR,IIR,复数FFT,PID控制,矩阵加法,矩阵加减,和矩阵乘法等。随着这些指令,Cortex - M4可以比Cortex - M3提供更高运行计算效率的DSP方案。在SIMD 有三个主要特点:
(1)四个(4个并行)8位加法或减法
(2)双(2个并行)16位加法或减法
(3)所有指令在一个周期内执行
2.3 浮点运算单元(FPU)
FPU是一个Cortex - M4的运算单元。制造商可以根据自己产品各自不同的要求,自行决定此是否可用。FPU充分支持单精度的加,减,乘,除,乘,乘加,平方和平方根运算。它还提供定点和浮点数据格式,浮点常量指令之间的转换。FPU有四个主要特点:
(1)FP扩展寄存器,该软件可以看成32位单精度或16位双字寄存器
(2)单精度浮点运算
(3)整数,单精度浮点数,和半精度浮点格式之间的转换(16位)
(4)单精度和双字的数据传输寄存器
其余如NVIC(嵌套向量中断控制器),MPU(内存功能保护单元),DAP(调试访问端口)与Cortex - M3相同。详细信息请查询Cortex - M3的的数据手册。
