- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
从 Cortex - M3 过度到 Cortex - M4(4)----Cortex-M3、4 比较
1.内存保护单元 MPU
与 Cortex - M3的相同,MPU 是一个 Cortex - M4中用于内存保护的可选组件。处理器支持标准 ARMv7内存保护系统结构模型。您可以使用在 MPU 执行 特权/访问 规则,或者独立的进程。这个 MPU 提供全面支持:
·保护区
·重叠保护区域,提升区域优先级(7 =最高优先级,0 =最低优先级)
·访问权限
·将存储器属性输出至系统
2 .DSP 能力
图表展示了处理器运行在相同的速度下 Cortex - M3和 Cortex - M4在数字信号处理能力方面的相对性能比较。
在下面的数字,Y 轴代表执行给出的计算用的相对的周期数。 因此,循环数越小,性能越好。以 Cortex-M3 作为参考, Cortex-M4 的性能计算,性能比大概为其周期计数的倒数。举例说明,PID 功能,Cortex-M4 的周期数是与 Cortex-M3 的约0.7倍,因此相对性能是1/0.7,即1.4倍。
Cortex - M 系列16位循环计数功能
211.
2
1
1
.
8ni6040.Cortex-M3
8
ni
6
0
4
0
.
2nic ort
2
ni
0痰
0
Cortex - M 系列32位循环计数功能
这很清楚的表明,Cortex - M4在数字信号处理方面对比 Cortex - M3的16位或32位操作有着很大的优势。
Cortex-M4执行的所有的 DSP 指令集都可以在一个周期完成,Cortex - M3需要多个指令和多个周期才能完成的等效功能。即使是 PID 算法——通用 DSP 运算中最耗费资源的工作,Cortex - M4也能提供了一个1.4倍的性能得改善 。另一个例子,MP3解码在 Cortex-M3需要20-25Mhz,而在 Cortex-M4只需要10-12MHz。
32位乘法累加(MAC)
32位乘法累加(MAC)包括新的指令集和针对 Cortex-M4 硬件执行单元的优化它是能够在单周期内完成一个 32×32+
64-64 的操作 或 两个16×16 的操作。如下表列出了这个单元的计算能力。
SIMD
Cortex - M4支持 SIMD 指令集,这在上一代的Cortex - M 系列是不可用的。上述表中的指令,有的属于 SIMD 指令。与硬件乘法器一起工作(MAC),使所有这些指令都能在单个周期内执行。受益于 SIMD 指令的支持,Cortex - M4处理器是能在单周期完成高达32 × 32 + 64 - 64的运算,为其他任务释放处理器的带宽, 而不是被乘法和加法消耗运算资源。考虑以下复杂的算术运算,其中两个16 × 16乘法加上一个32位加法,被编译成由一个单一指令执行:SUM = SUM +(A* C)+(B *D)
3.FPU
FPU 是Cortex - M4浮点运算的可选单元。因此它是一个专用于浮点任务的单元。这个单元通过硬件提升性能,能处理单精度浮点运算,并与 IEEE 754标准 兼容。这完成了 ARMv7 - M 架构单精度变量的浮点扩展。FPU 扩展了寄存器的程序模型与包含32个单精度寄存器的寄存器文件。这些可以被看作是:
·16个64位双字寄存器,D0 - D15
·32个32位单字寄存器,S0 - S31 该 FPU 提供了三种模式运作,以适应各种应用
·全兼容模式(在全兼容模式,FPU 处理所有的操作都遵循 IEEE754的硬件标准)
·Flush-to-zero 冲洗到零模式(设置 FZ 位浮点状态和控制寄存器 FPSCR [24]到 flush-to-zero 模式。在此模式下,FPU 在运算中将所有不正常的输入操作数的算术 CDP 操作当做0.除了当从零操作数的结果是合适的情况。VABS, VNEG,VMOV 不会被当做算术 CDP 的运算,而且不受 flush-to-zero 模式影响。结果是微小的,就像在 IEEE 754 标准的描述的那样,在目标精度增加的幅度小于四舍五入后最低正常值,被零取代。IDC 的标志位,FPSCR [7],表示当输入 Flush 时变化。UFC 标志位,FPSCR [3],表示当 Flush 结束时变化)
·默认的 NaN 模式(DN 位的设置,FPSCR[25] ,会进入 NaN 的默认模式。在这种模式下,如对任何算术数据处理操作的结果,涉及一个输入 NaN,或产生一个 NaN 结果,会返回默认的 NaN。仅当 VABS,VNEG,VMOV 运算时,分数位增加保持。所有其他的 CDP 运算会忽略所有输入 NaN 的小数位的信息)
下表显示的是 FPU 指令集。
( fused )
then s
文档评论(0)