プロセッサモード、および特権モードと非特権モードでのソフトウェア実行

ARM プロセッサでは、アーキテクチャのバージョンに応じて、さまざまなプロセッサモードをサポートしています。詳細については、Table 1 を参照して下さい。

Note

ARMv6-M と ARMv7-M では、他の ARM プロセッサと同様のモードをサポートしていません。ここでのプロセッサモードの説明は、ARMv6-M および ARMv7-M には使用されません。

Table 1. ARM プロセッサ モード

プロセッサ モードアーキテクチャモード番号
ユーザすべて0b10000
FIQ - 高速割り込み要求すべて0b10001
IRQ - 割り込み要求すべて0b10010
スーパーバイザすべて0b10011
アボートすべて0b10111
未定義すべて0b11011
システムARMv4 以降0b11111
監視セキュリティ拡張機能のみ0b10110

ユーザモードは非特権モードで、システムリソースへのアクセスが制限されています。他のすべてのモードでは、現在のセキュリティの状態でシテムリソースにフルアクセスすることができます。また、モードを任意に変更し、特権モードでソフトウェアを実行できます。

通常、タスク保護が必要なアプリケーションはユーザモードで実行されます。組み込みアプリケーションの中には、ユーザモード以外のモードだで実行されるものもあります。通常、システムリソースへのフルアクセスが必要なアプリケーションはシステムモードで実行されます。

ユーザモード以外のモードは、例外を処理したり、特権リソースにアクセスしたりする目的で使用されます。

セキュリティ拡張機能が実装されている場合、コードはセキュアな状態と非セキュアな状態のいずれかで実行できます。

Show/hide関連項目

Copyright © 2010-2011 ARM. All rights reserved.ARM DUI 0473EJ
Non-ConfidentialID081711