opengl:movilecpu
文書の過去の版を表示しています。
ARM vfp
- vfpv2 : ARMv6 時代の FPU 。vector mode が特徴だったが、次の ARMv7 で廃止予定。
- vfpv3 : Double は 32 個まで持てる。特に NEON とセットならば 32個必須。
- vfpv3-fp16 : half 型 (16bit float) 変換拡張命令に対応している。
- vfpv3-d16 : 一見拡張機能のように見えるが逆。本来 32個持てる double レジスタが半分の 16個しかないという意味。つまり VFPv2 相当。
- vfpv4 : half が標準搭載となった。IEEE754 対応の FMA も追加されている。
- vfpv4-d16 : double が半分のバージョン。おそらく NEON 無しのもの。組み込み向けの Cortex-A5 等に搭載されている。half/double は対応している。
- fpv4-sp-d16 : vector 廃止(?) の sclar fpu。doulbe は 16個。Cortex-M4 専用? vfpv4-d16 との違いがわからない。
MVFR0 | MVFR1 | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
VFP | NEON | VFP | |||||||||||||||
D32 | VSP | VDP | TE | DIV | SQR | SV | RM | FZ | NaN | NLS | NI | NSP | NHP | VHP | FMA | ||
ARM1176JZF-S | vfpv2 | - | ◎ | ◎ | ◎ | ◎ | ◎ | ◎ | |||||||||
Cortex-A8 | vfpv3+NEON | ◎ | ◎ | ◎ | - | ◎ | ◎ | ◎ | ◎ | ◎ | ◎ | ◎ | ◎ | ◎ | - | - | - |
Cortex-A9 | vfpv3-D16 | - | ◎ | ◎ | - | ◎ | ◎ | ◎ | ◎ | ◎ | ◎ | - | - | - | - | ◎ | - |
Cortex-A9 | vfpv3+NEON | ◎ | ◎ | ◎ | - | ◎ | ◎ | - | ◎ | ◎ | ◎ | ◎ | ◎ | ◎ | ◎ | ◎ | - |
Cortex-A5 | vfpv4-D16 | - | ◎ | ◎ | - | ◎ | ◎ | - | ◎ | ◎ | ◎ | - | - | - | - | ◎ | ◎ |
Cortex-A5 | vfpv4+NEON | ◎ | ◎ | ◎ | - | ◎ | ◎ | - | ◎ | ◎ | ◎ | ◎ | ◎ | ◎ | ◎ | ◎ | ◎ |
- D32 0- 3: D16 / D32
- VSP 4- 7: VFP Single precision
- VDP 8-11: VFP double precision
- TE 12-15: Trap
- DIV 16-19: VFP hw divide
- SQR 20-23: VFP hw square root
- SV 24-27: VFP short vector
- RM 28-31: VFP all rounding mode supported
- FZ 0- 3: VFP Full denormal arithmetic
- Nan 4- 7: VFP Propagation of NaN values
- NLS 8-11: NEON Load/store instructions
- NI 12-15: NEON Integier instructions
- NSP 16-19: NEON single precision operations
- NHP 20-23: NEON half-precision operations
- VHP 24-27: VFP half-precision operations
- FMA 28-31: Fused Multiply Add
SV 未対応の場合 FPSCR Len に設定すると例外が発生する。
FPSCR はユーザーモードでもアクセスできる。
opengl/movilecpu.1310109253.txt.gz · 最終更新: 2011/07/08 16:14 by oga