2.7.3. 浮動小数点例外レジスタ

FPEXCレジスタの特徴は次のとおりです。

目的

アドバンストSIMDおよびVFP拡張機能のグローバルな制御を行うために使用します。

使用制限
  • NSACRのCP10ビットとCP11ビットが1にセットされている場合のみ、非セキュア状態でのみアクセスできます。非セキュアアクセス制御レジスタを参照して下さい。

  • 特権モードで、かつコプロセッサアクセス制御レジスタでコプロセッサCP10とCP11へのアクセスが可能になっている場合のみ、アクセスできます。コプロセッサアクセス制御レジスタを参照して下さい。

構成

すべてのNEON MPE構成で使用可能です。

属性

レジスタの概要については、Table 2.7を参照して下さい。

FPEXCレジスタのビット割り当てを、Figure 2.5に示します。

Figure 2.5. FPEXCレジスタのビット割り当て

To view this graphic, your browser must support the SVG format. Either install a browser with native support, or install an appropriate plugin such as Adobe SVG Viewer.


FPEXCレジスタのビット割り当てを、Table 2.11に示します。

Table 2.11. FPEXCレジスタのビット割り当て

ビット

名前

機能

[31]

EX

例外ビット。

このビットは0として読み出され、書き込みは無視されます。

Cortex-A9 NEON MPEでは、非同期例外処理が必要になることはありません。

[30]

EN

イネーブルビット。

b0 = アドバンストSIMD拡張機能とVFP拡張機能が非稼働です。

b1 = アドバンストSIMD拡張機能とVFP拡張機能は稼働中で、正常に動作します。

ENビットは、リセット時に0にクリアされます。

[29]DEX

定義済み同期命令例外フラグ。

b0 = 例外は発生していません。

b1 = VFPベクタ操作を実行する試みがトラップされました。[a]

DEXビットは、リセット時に0にクリアされます。

[28:26]-RAZ/WI
[25:0]-UNK/SBZP

[a] Cortex-A9 NEON MPEハードウェアは、非推奨のVFPショートベクタ機能をサポートしていません。FPSCR.LENフィールドが0以外のときにVFPデータ処理命令の実行を試みると、FPEXC.DEXビットがセットされ、同期未定義命令例外が取得されます。必要であれば、ソフトウェアでショートベクタ機能をエミュレートできます。


FPEXCレジスタにアクセスするには、次のVMSR命令を使用します。

VMRS <Rd>, FPEXC ; Read Floating-Point Status and Control Register
VMSR FPEXC, <Rt> ; Write Floating-Point Status and Control Register
Copyright © 2008-2010 ARM. All rights reserved.ARM DDI 0409FJ
Non-ConfidentialID013111