ユーザ用ツール

サイト用ツール


opengl:movilecpu

文書の過去の版を表示しています。


ARM vfp の種類

  • vfpv2 : ARMv6 世代。vector mode が特徴だったが、ARMv7 では段階的に廃止の方向へ。代わりに NEON がついた。
  • vfpv3 : 無指定は NEON あり。double 32 個まで持てる。
  • vfpv3-fp16 : half 型 (16bit float) 変換拡張命令に対応している。
  • vfpv3-d16 : d16 が付いている場合は NEON 無し。double レジスタが半分の 16個しかないという意味。vfpv2 相当。
  • vfpv4 : IEEE754 対応の FMA が追加されている。half (fp16) も搭載。
  • vfpv4-d16 : vfpv4 における double が半分のバージョン。NEON 無しのバリエーション。Cortex-A5 等にあり。half/double は対応している。
  • fpv4-sp-d16 : doulbe は 16個。Cortex-M4 専用?
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 - -
Cortex-A15 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

MVFR0/MVFR1 は特権命令からのアクセスのみ。

SV 未対応の場合 FPSCR Len に 0 以外を設定すると例外が発生する。互換性維持のためソフトウエアでエミュレーションする。 FPSCR はユーザーモードでもアクセスできる。

参考にしたページ

opengl/movilecpu.1320495044.txt.gz · 最終更新: 2011/11/05 21:10 by oga

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki