armv7是什么cpu
ARMv7系列处理器内核包括:Cortex-A,Cortex-M,Cortex-R 。
ARMv7介绍
先从ARM的wiki上抄个表过来:
左侧的一列可以视作是ARM处理器的各个“代”,而右侧则是同一代的各个“家族”(或者说“系列”)。现在基本已是ARMv7的时代,ARMv6及更早的Architecture只在一些低端的设备上能见到了。而ARMv8则是ARM平台的未来时,被设计为64位的架构,显然不是主要面向移动设备的。不过到现在为止ARMv8也只是有一些资料,离真正面世还有一段时间。
2.Cortex-A系列的众多核心们
发布年份是ARM公布核心的时间(可能不太准确)。
A15的流水线前12级是in-order的,后面则是out-of-order的多种流水线,级数从3到12不等。A7类似,NEON部件的流水线是10级,整点则是8级。
3.浮点和高级SIMD部件
ARMv7开始使用VFPv3版本的浮点部件,而ARMv7中更新的核心则使用了VFPv4( 见前面表格)。VFPv2则用于ARMv7之前的核心,现在还有一部分低端手机使用这种处理器;而使用VFPv1浮点部件的核心已经基本淘汰掉了。ARM的高级SIMD部件称为NEON,从ARMv7开始出现。
ARM浮点部件的一个问题是对很多核心来说是可选的,一些处理器并没有浮点部件。不仅如此,尽管ARMv7的处理器基本都实现了浮点部件,但浮点部件也有多个可选实现,再加上NEON部件也是可选的,最后导致市面上的ARM处理器对浮点/SIMD的支持并不一致。
拓展资料
依据半精度和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了。
2019-11-28 广告