Cortex™-A9 テクニカルリファレンス マニュアル

リビジョン:r2p2


Table of Contents

1. 序章
本書について
製品リビジョンステータス
対象読者
本書の構成
表記規則
書体の一般的な規則
タイミング図
信号
参照資料
ARMの刊行物
その他の刊行物
ご意見・ご質問
製品に関するご意見
本書に関するご意見
1. はじめに
1.1. Cortex-A9プロセッサについて
1.1.1. データエンジン
1.1.2. システム設計コンポーネント
1.2. Cortex-A9のバリアント
1.3. 準拠性
1.4. 機能
1.5. インタフェース
1.6. 構成可能なオプション
1.7. テスト機能
1.8. 製品説明書、設計フロー、アーキテクチャ
1.8.1. 説明書
1.8.2. 設計フロー
1.8.3. アーキテクチャとプロトコルの情報
1.9. 製品リビジョン
1.9.1. r0p0とr0p1の機能的な違い
1.9.2. r0p1とr1p0の機能的な違い
1.9.3. r1p0とr2p0の機能的な違い
1.9.4. r2p0とr2p1の機能的な違い
1.9.5. r2p1とr2p2の機能的な違い
2. 機能の説明
2.1. 機能について
2.1.1. レジスタ名の変更
2.1.2. 命令キュー
2.1.3. 動的分岐予測
2.1.4. PTMインタフェース
2.1.5. パフォーマンス監視
2.1.6. 割り込みの仮想化
2.2. インタフェース
2.2.1. プログラムフロー トレースとプログラムトレース マクロセルインタフェース
2.3. クロックとリセット
2.3.1. 同期クロック
2.3.2. リセット
2.3.3. 動的高水準クロックゲート
2.4. 電力管理
2.4.1. エネルギー効率機能
2.4.2. Cortex-A9プロセッサの電力制御
2.4.3. 電力ドメイン
2.4.4. Cortex-A9の電圧ドメイン
2.5. 使用制限
3. プログラマモデル
3.1. プログラマモデルについて
3.2. ThumbEEアーキテクチャ
3.3. アドバンストSIMDアーキテクチャ
3.4. セキュリティ拡張機能アーキテクチャ
3.4.1. システムブート シーケンス
3.5. マルチプロセッシング拡張機能
3.6. Jazelle拡張機能
3.7. メモリモデル
3.8. Cortex-A9プロセッサのアドレス
4. システム制御
4.1. システム制御について
4.1.1. 非推奨レジスタ
4.2. レジスタの概要
4.3. レジスタの説明
4.3.1. CP15 c0レジスタの概要
4.3.2. TLBタイプレジスタ
4.3.3. マルチプロセッサ類似性レジスタ
4.3.4. キャッシュサイズ識別レジスタ
4.3.5. キャッシュレベルIDレジスタ
4.3.6. 補助IDレジスタ
4.3.7. キャッシュサイズ選択レジスタ
4.3.8. CP15 c1レジスタの概要
4.3.9. システム制御レジスタ
4.3.10. 補助制御レジスタ
4.3.11. コプロセッサアクセス制御レジスタ
4.3.12. セキュアデバッグ イネーブルレジスタ
4.3.13. 非セキュアアクセス制御レジスタ
4.3.14. 仮想化制御レジスタ
4.3.15. CP15 c2レジスタの概要
4.3.16. CP15 c3レジスタの概要
4.3.17. CP15 c4、未使用
4.3.18. CP15 c5レジスタの概要
4.3.19. CP15 c6レジスタの概要
4.3.20. CP15 c7レジスタの概要
4.3.21. CP15 c8レジスタの概要
4.3.22. CP15 c9レジスタの概要
4.3.23. CP15 c10レジスタの概要
4.3.24. TLBロックダウンレジスタ
4.3.25. CP15 c11レジスタの概要
4.3.26. PLE IDレジスタ
4.3.27. PLE動作ステータスレジスタ
4.3.28. PLE FIFOステータスレジスタ
4.3.29. プリロードエンジン ユーザアクセス許可レジスタ
4.3.30. プリロードエンジン パラメータ制御レジスタ
4.3.31. CP15 c12レジスタの概要
4.3.32. 仮想化割り込みレジスタ
4.3.33. CP15 c13レジスタの概要
4.3.34. CP15 c14、未使用
4.3.35. CP15 c15レジスタの概要
4.3.36. 電力制御レジスタ
4.3.37. NEONビジーレジスタ
4.3.38. 構成ベースアドレス レジスタ
4.3.39. TLBロックダウン操作
5. Jazelle DBXレジスタ
5.1. コプロセッサCP14について
5.2. CP14 Jazelleレジスタの概要
5.3. CP14 Jazelleレジスタの詳細
5.3.1. Jazelle IDレジスタ
5.3.2. Jazelleオペレーティングシステム制御レジスタ
5.3.3. Jazelleメイン構成レジスタ
5.3.4. Jazelleパラメータレジスタ
5.3.5. Jazelle構成可能オペコード変換テーブルレジスタ
6. メモリ管理ユニット
6.1. MMUについて
6.1.1. メモリ管理ユニット
6.2. TLBの構成
6.2.1. マイクロTLB
6.2.2. メインTLB
6.3. メモリアクセス シーケンス
6.4. MMUの稼働または非稼働
6.5. 外部アボート
6.5.1. データの読み出し/ 書き込み時の外部アボート
6.5.2. 同期アボートと非同期アボート
7. レベル1メモリシステム
7.1. レベル1メモリシステムについて
7.1.1. メモリシステム
7.2. セキュリティ拡張機能のサポート
7.3. レベル1命令側メモリシステムについて
7.3.1. プログラムフロー予測の可能化
7.3.2. プログラムフロー予測
7.4. レベル1データ側メモリシステムについて
7.4.1. ローカルモニタ
7.4.2. 外部アボート処理
7.5. DSBについて
7.6. データのプリフェッチ
7.6.1. PLD命令
7.6.2. データのプリフェッチと監視
7.7. パリティエラーのサポート
7.7.1. GHBとBTACのデータ破損
8. レベル2メモリインタフェース
8.1. Cortex-A9のレベル2インタフェース
8.1.1. Cortex-A9のレベル2インタフェースについて
8.1.2. AXIトランザクションID
8.1.3. AXI USERビット
8.1.4. 排他レベル2キャッシュ
8.2. レベル2メモリインタフェースへのアクセスの最適化
8.2.1. レベル2メモリインタフェースに対するプリフェッチヒント
8.2.2. 早期BRESP
8.2.3. 0のフルライン書き込み
8.2.4. 投機的コヒーレント要求
8.3. STRT命令
9. プリロードエンジン
9.1. プリロードエンジンについて
9.2. PLE制御レジスタの説明
9.3. PLE操作
9.3.1. プリロードエンジンのFIFOフラッシュ操作
9.3.2. プリロードエンジンのチャネル一時停止操作
9.3.3. プリロードエンジンのチャネル再開操作
9.3.4. プリロードエンジンのチャネル停止操作
9.3.5. PLEの新規チャネルプログラム操作
10. デバッグ
10.1. デバッグインタフェースについて
10.1.1. デバッグモード
10.1.2. ブレークポイントとウォッチポイント
10.1.3. 非同期アボート
10.1.4. プロセッサのインタフェース
10.1.5. リセットのデバッグレジスタへの影響
10.2. Cortex-A9デバッグインタフェースについて
10.2.1. デバッグレジスタへのアクセス
10.3. デバッグレジスタの説明
10.3.1. デバッグ状態キャッシュ制御レジスタ(DBGDSCCR)
10.3.2. ブレークポイント値レジスタ
10.3.3. ブレークポイント制御レジスタ
10.3.4. ウォッチポイント値レジスタ
10.3.5. ウォッチポイント制御レジスタ
10.4. デバッグ管理レジスタ
10.4.1. プロセッサIDレジスタ
10.4.2. CoreSight識別レジスタ
10.5. 外部デバッグインタフェース
10.5.1. 認証信号
10.5.2. 認証信号の変更
10.5.3. デバッグAPBインタフェース
10.5.4. 外部デバッグ要求インタフェース
11. パフォーマンス監視ユニット
11.1. パフォーマンス監視ユニットについて
11.2. PMU管理レジスタ
11.2.1. プロセッサIDレジスタ
11.2.2. CoreSight識別レジスタ
11.2.3. PMU APBインタフェース
11.3. パフォーマンス監視イベント
11.3.1. Cortex-A9固有のイベント
A. 信号の説明
A.1. クロック信号とクロック制御信号
A.2. リセットとリセット制御
A.3. 割り込み
A.4. 構成信号
A.5. スタンバイ信号とイベント待ち信号
A.6. 電力管理信号
A.7. AXIインタフェース
A.7.1. AXI Master0信号のデータアクセス
A.7.2. AXI Master1信号の命令アクセス
A.8. パフォーマンス監視信号
A.9. 例外フラグ信号
A.10. パリティ信号
A.11. MBISTインタフェース
A.12. スキャンテスト信号
A.13. 外部デバッグインタフェース
A.13.1. 認証インタフェース
A.13.2. APBインタフェース信号
A.13.3. CTI信号
A.13.4. その他のデバッグインタフェース信号
A.14. PTMインタフェース信号
B. 命令サイクルタイミング
B.1. 命令のサイクルタイミングについて
B.2. データ処理命令
B.3. ロード/ ストア命令
B.4. 乗算命令
B.5. 分岐命令
B.6. 直列化命令
B.6.1. 直列化命令
C. リビジョン
用語集

List of Figures

1. タイミング図の表記に使用される記号
1.1. Cortex-A9ユニプロセッサシステム
2.1. Cortex-A9プロセッサのトップレベル図
2.2. PTMインタフェース信号
2.3. 3:1のクロック比で使用されるACLKENM0
2.4. Cortex-A9 r2設計の電力ドメイン
4.1. TLBTRのビット割り当て
4.2. MPIDRのビット割り当て
4.3. CCSIDRのビット割り当て
4.4. CLIDRのビット割り当て
4.5. CSSELRのビット割り当て
4.6. SCTLRのビット割り当て
4.7. ACTLRのビット割り当て
4.8. CPACRのビット割り当て
4.9. SDERのビット割り当て
4.10. NSACRのビット割り当て
4.11. VCRのビット割り当て
4.12. TLBロックダウンレジスタのビット割り当て
4.13. PLEIDRのビット割り当て
4.14. PLEASRのビット割り当て
4.15. PLEFSRのビット割り当て
4.16. PLEUARのビット割り当て
4.17. PLEPCRのビット割り当て
4.18. VIRのビット割り当て
4.19. 電力制御レジスタのビット割り当て
4.20. NEONビジーレジスタのビット割り当て
4.21. 構成ベースアドレス レジスタのビット割り当て
4.22. ロックダウンTLBインデクスのビット割り当て
4.23. TLB VAレジスタのビット割り当て
4.24. メモリ空間識別子の形式
4.25. TLB PAレジスタのビット割り当て
4.26. メインTLB属性レジスタのビット割り当て
5.1. JIDRのビット割り当て
5.2. JOSCRのビット割り当て
5.3. JMCRのビット割り当て
5.4. Jazelleパラメータレジスタのビット割り当て
5.5. Jazelle構成可能オペコード変換テーブルレジスタのビット割り当て
7.1. 分岐予測と命令キャッシュ
7.2. パリティのサポート
9.1. 新規チャネルプログラム操作のビット割り当て
10.1. デバッグレジスタ インタフェースとCoreSightインフラストラクチャ
10.2. ブレークポイント制御レジスタのビット割り当て
10.3. ウォッチポイント制御レジスタのビット割り当て
10.4. 外部デバッグインタフェース信号
10.5. デバッグ要求と再起動に固有の接続

List of Tables

1.1. Cortex-A9プロセッサの構成可能なオプション
2.1. リセットモード
2.2. Cortex-A9プロセッサの電力モード
3.1. プロセッサシステム内のアドレスタイプ
4.1. CP15システム制御コプロセッサレジスタの概要
4.2. c0システム制御レジスタ
4.3. TLBTRのビット割り当て
4.4. MPIDRのビット割り当て
4.5. CCSIDRのビット割り当て
4.6. CLIDRのビット割り当て
4.7. CSSELRのビット割り当て
4.8. c1システム制御レジスタ
4.9. SCTLRのビット割り当て
4.10. ACTLRのビット割り当て
4.11. CPACRのビット割り当て
4.12. SDERのビット割り当て
4.13. NSACRのビット割り当て
4.14. VCRのビット割り当て
4.15. c2システム制御レジスタ
4.16. c3システム制御レジスタ
4.17. c5システム制御レジスタ
4.18. c6システム制御レジスタ
4.19. c7システム制御レジスタ
4.20. c8システム制御レジスタ
4.21. c9システム制御レジスタ
4.22. c10システム制御レジスタ
4.23. TLBロックダウンレジスタのビット割り当て
4.24. c11システム制御レジスタ
4.25. PLEIDRのビット割り当て
4.26. PLEASRのビット割り当て
4.27. PLEFSRのビット割り当て
4.28. PLEUARのビット割り当て
4.29. PLEPCRのビット割り当て
4.30. c12システム制御レジスタ
4.31. 仮想化割り込みレジスタのビット割り当て
4.32. c13システム制御レジスタ
4.33. c15システム制御レジスタ
4.34. 電力制御レジスタのビット割り当て
4.35. NEONビジーレジスタのビット割り当て
4.36. TLBロックダウン操作
4.37. TLB VAレジスタのビット割り当て
4.38. TLB PAレジスタのビット割り当て
4.39. TLB属性レジスタのビット割り当て
5.1. CP14 Jazelleレジスタの概要
5.2. JIDRのビット割り当て
5.3. JOSCRのビット割り当て
5.4. JMCRのビット割り当て
5.5. Jazelleパラメータレジスタのビット割り当て
5.6. Jazelle構成可能オペコード変換テーブルレジスタのビット割り当て
8.1. AXIマスタ0インタフェースの属性
8.2. AXIマスタ1インタフェースの属性
8.3. AWUSERM0[6:0] のエンコード
8.4. ARUSERM1[6:0] のエンコード
8.5. AWUSERM0[8:0] のエンコード
8.6. Cortex-A9のモードとAxPROTの値
9.1. PLEの新規チャネルプログラム操作のビット割り当て
10.1. CP14インタフェースレジスタ
10.2. BVRと対応するBCR
10.3. ブレークポイント値レジスタのビットの機能
10.4. ブレークポイント制御レジスタのビット割り当て
10.5. BVRのビット[22:20] の意味
10.6. WVRと対応するWCR
10.7. ウォッチポイント値レジスタのビット機能
10.8. ウォッチポイント制御レジスタのビット割り当て
10.9. デバッグ管理レジスタ
10.10. プロセッサIDレジスタ
10.11. ペリフェラル識別レジスタ
10.12. コンポーネント識別レジスタ
10.13. 認証信号の制限
10.14. PMUレジスタ名とデバッグAPBインタフェースアドレス
11.1. パフォーマンス監視命令とデバッグAPBのマッピング
11.2. PMU管理レジスタ
11.3. プロセッサIDレジスタ
11.4. ペリフェラル識別レジスタ
11.5. コンポーネント識別レジスタ
11.6. PMUレジスタ名とAPBアドレス
11.7. Cortex-A9固有のイベント
A.1. Cortex-A9のクロック信号とクロック制御信号
A.2. Cortex-A9プロセッサのリセット信号
A.3. 割り込みライン信号
A.4. 構成信号
A.5. CP15SDISABLE信号
A.6. スタンバイ信号とイベント待ち信号
A.7. 電力管理信号
A.8. AXI Master0のAXI-AW信号
A.9. AXI Master0のAXI-W信号
A.10. AXI Master0のAXI-B信号
A.11. AXI Master0のAXI-AR信号
A.12. AXI Master0のAXI-R信号
A.13. AXI Master0のクロックイネーブル信号
A.14. AXI Master1のAXI-AR信号
A.15. AXI Master1のAXI-R信号
A.16. AXI Master1のクロックイネーブル信号
A.17. パフォーマンス監視信号
A.18. イベント信号とイベント番号
A.19. DEFLAGS信号
A.20. パリティ信号
A.21. MBISTインタフェース信号
A.22. パリティサポートが実装されている場合のMBIST信号
A.23. パリティサポートが実装されていない場合のMBIST信号
A.24. スキャンテスト信号
A.25. 認証インタフェース信号
A.26. APBインタフェース信号
A.27. CTI信号
A.28. その他のデバッグ信号
A.29. PTMインタフェース信号
B.1. データ処理命令のサイクルタイミング
B.2. 単一ロード/ ストア操作のサイクルタイミング
B.3. 複数ロード操作のサイクルタイミング
B.4. 複数ストア操作のサイクルタイミング
B.5. 乗算命令のサイクルタイミング
C.1. A版
C.2. A版とB版の相違点
C.3. B版とC版の相違点
C.4. C版とD版の相違点
C.5. D版とF版の相違点

著作権

®または™の付いた用語とロゴは、本著作権条項で特に明記されていない限り、EUおよび他諸国におけるARM®の登録商標または商標です。本書に記載されている他の商標その他の名前は、対応する所有者の商標の場合があります。

本書に記載されている情報の全部または一部、ならびに本書で紹介する製品は、著作権所有者の文書による事前の許可を得ない限り、転用・複製することを禁じます。

本書に説明されている製品は、継続的に開発と改良が行われています。本書で言及されている製品とその利用方法に関する記載事項について、ARMは保証しません。したがって当社では、製品の商品性または目的への適合性を含め、黙示的・明示的に関係なく一切の保証を行いません。

本書は、本製品の利用者をサポートすることだけを目的としています。本書に記載されている情報の使用、情報の誤りまたは省略、あるいは本製品の誤使用によって発生したいかなる損失や損害についても、ARMは一切責任を負いません。

本書におけるARMという用語は、「ARM、または該当する場合にはその子会社を含む」という意味で使用されています。

機密保持ステータス

本書は非機密扱いであり、本書を使用、複製、および開示する権利は、ARM および ARM が本書を提供した当事者との間で締結した契約の条項に基づいたライセンスの制限により異なります。

製品ステータス

本書の情報は最終版であり、開発済み製品に対応しています。

Revision History
Revision A2008年3月31日r0p0用の最初のリリース
Revision B2008年7月8日r0p1用の最初のリリース
Revision C2008年12月17日r1p0用の最初のリリース
Revision D2009年9月30日r2p0用の最初のリリース
Revision E2009年11月27日r2p0用の2番目のリリース
Revision F2010年4月30日r2p2用の最初のリリース
Copyright © 2008-2010 ARM. All rights reserved.ARM DDI 0388FJ
Non-ConfidentialID013111