ユーザ用ツール

サイト用ツール


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

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki