ARM平台处理器简介
时间:11-09
来源:互联网
点击:
VFPv-FP16/VFPv4相同。这意味着,NEON不能和VFPv3-D16/VFPv3-D16-FP16这种寄存器阉割版共存。当没有浮点部件时,NEON部件只能进行整点运算。下表是NEON和VFP部件可能的组合:
| NEON部件 | VFP部件 | 说明 |
| 仅整型 | 未实现 | |
| 整型和单精度浮点 | 单精度浮点 | |
| 整型和单精度浮点 | 单精度和双精度浮点 | |
| 未实现 | 单精度浮点 | |
| 未实现 | 单精度和双精度浮点 |
从上面这个表可以看出,即使VFP部件实现了双精度运算的功能,NEON部件也只能进行单精度运算。不止如此,gcc的手册之处,NEON的浮点运算不完全符合IEEE 754标准,在某些情况下会损失精度,因此即使使用了自动向量化的选项,浮点运算的向量化默认也是关闭的。
依据半精度和Fused Multiply-Ad扩展的实现情况,NEON部件可以分为3种版本:
高级SIMDv1:两者均未实现
高级SIMDv1带半精度扩展:实现了半精度扩展
高级SIMDv2:同时实现了半精度和Fused Multiply-Ad扩展
而NEON半精度和Fused Multiply-Ad扩展的实现情况与VFP部件是相关的。
总结一下VFP和NEON的特点:
1.VFPv3/VFPv4分为根据寄存器情况分为D16和D32两个版本,D16的双精度(64位)寄存器只有16个。
2.D16版本的VFP不能和NEON部件共存。
3.NEON部件单独存在时只能进行整点运算
4.实现了半精度扩展的VFPv3称为FP16版本,如果连Fused Multiply-Ad扩展也实现了,就是VFPv4了。
除了上面所说的,ARMv7处理器还有很多特性。由于我了解的不多,就不多说了
ARM平台处理 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)
