opengl:movilecpu
差分
このページの2つのバージョン間の差分を表示します。
次のリビジョン | 前のリビジョン | ||
opengl:movilecpu [2011/07/08 15:47] – 作成 oga | opengl:movilecpu [2014/04/14 16:56] (現在) – oga | ||
---|---|---|---|
行 1: | 行 1: | ||
- | ==== ARM vfp ==== | + | ===== rename ===== |
- | * VFPv3 は VFPv2 互換だが VFPv3-D32 が存在している。NEON セットの場合のみ、倍精度(double) レジスタが 32個ある。 | + | * [[fpu_vfp]] |
- | * VFPv4 は VFPv3 上位互換だが、予告通りついにレガシーだった vector mode が廃止された。それ以外は、fp16 対応、FMA 対応が主な違いとなる。 | + | |
- | + | ||
- | vector mode が廃止されても名前は vfp のまま。 | + | |
- | + | ||
- | + | ||
- | * vfpv2 : ARMv6 時代の FPU 。vector mode が特徴だったが、次の ARMv7 で廃止予定。CTR はこれを使わなければならない。 | + | |
- | * vfpv3 : vfpv3 対応。Double は 32 個まで持てる。特に NEON とセットならば 32個必須。 | + | |
- | * vfpv3-fp16 : half 型 (16bit float) 変換拡張命令に対応している。 | + | |
- | * vfpv3-d16 : 一見拡張機能のように見えるが全くの逆。本来 32個持てる double レジスタが半分の 16個しかないという意味。つまり VFPv2 相当。 | + | |
- | * vfpv4 : half が標準搭載となった。IEEE 標準化された積和命令、FMA も対応している。 | + | |
- | * vfpv4-d16 : double が半分のバージョン。おそらく NEON 無しのもの。組み込み向けの Cortex-A5 等に搭載されている。half/ | + | |
- | * fpv4-sp-d16 : vector 廃止(?) の sclar fpu。doulbe は 16個。Cortex-M4 専用? vfpv4-d16 との違いがわからない。 | + | |
- | + | ||
- | * RB[3:0] = D32 (1=D16, 2=D32) | + | |
- | * SP[7:4] = Single precision supported in VFP | + | |
- | * DP[11:8] = Double precision supported in VFP | + | |
- | * TE[15:12] = Trap | + | |
- | * D[19:16] = VFP hardware divide supported | + | |
- | * SR[23:20] = VFP hardware square root supported | + | |
- | * SV[27:24] = VFP short vector supported | + | |
- | * RM[31:28] = All VFP rounding modes supported | + | |
- | + | ||
- | * FZ[0:3] = Full denormal arithmetic supported for VFP | + | |
- | * DN[7:4] = Propagation of NaN values supported for VFP | + | |
- | * NLS[11:8] = Load/store instructions supported for NEON | + | |
- | * NI[15:12] = Integer instructions supported for NEON | + | |
- | * NSP[19:16] = Single precision floating-point instructions supported for NEON | + | |
- | * NHP[23:20] = NEON half-precision operations supported | + | |
- | * VHP[27:24] = VFP half-precision operations supported | + | |
- | * FMA[31:28] = Fused Multiply Accumulate suported | + | |
- | + | ||
- | ^ | + | |
- | ^ | + | |
- | ^ | + | |
- | | ARM1176JZF-S | vfpv2 | - | ◎ | ◎ | ◎ | ◎ | ◎ | ◎ | | | | + | |
- | | Cortex-A8 | vfpv3+NEON | + | |
- | | Cortex-A9 | vfpv3-D16 | + | |
- | | Cortex-A9 | vfpv3+NEON | + | |
- | | Cortex-A5 | vfpv4-D16 | + | |
- | | Cortex-A5 | vfpv4+NEON | + | |
- | + | ||
- | + | ||
- | MVFR0, MVFR1 | + | |
- | + | ||
- | SV 未対応の場合 FPSCR Len に設定すると例外が発生する。 | + | |
- | + | ||
- | FPSCR はユーザーモードでもアクセスできる。 | + | |
opengl/movilecpu.1310107652.txt.gz · 最終更新: 2011/07/08 15:47 by oga