Comments
Description
Transcript
Cortex-A9 マイクロプロセッサ・ユニット・サブシステム
6. Cortex-A9 マイクロプロセッサ・ユ ニット・サブシステム November 2012 cv_54006-1.2 cv_54006-1.2 Altera® SoC FPGA デバイスのハード・プロセッサ・システム(HPS)には、スタンド アロンでフル機能の ARM® Cortex™-A9 MPCore™ のシングル・コアまたはデュアル・ コアの 32 ビットのアプリケーション・プロセッサが含まれています。Cortex-A9 MPU サブシステムは、Cortex-A9 MP Core、Level 2(L2)キャッシュ、アクセラレータ・コ ヒーレンシ・ポート(ACP)ID マッパ、およびデバッグ・モジュールから構成され ています。 Cortex-A9 MPU サブシステムの機能 アルテラ Cortex-A9 MPU サブシステムには、以下の機能があります。 ■ 1 つまたは 2 つの Cortex-A9 プロセッサ ■ 割り込みコントローラ ■ 各プロセッサ用のプライベート・インターバルおよびウォッチドッグ・タイマ ■ グローバル・タイマ ■ TrustZone® システム・セキュリティ拡張子 ■ SMP(Symmetric Multiprocessing)モードおよび AMP(Asymmetric Multiprocessing) モード ■ デバッグ・モジュール © 2012 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, HARDCOPY, MAX, MEGACORE, NIOS, QUARTUS and STRATIX words and logos are trademarks of Altera Corporation and registered in the U.S. Patent and Trademark Office and in other countries. All other words and logos identified as trademarks or service marks are the property of their respective holders as described at www.altera.com/common/legal.html. Altera warrants performance of its semiconductor products to current specifications in accordance with Altera's standard warranty, but reserves the right to make changes to any products and services at any time without notice. Altera assumes no responsibility or liability arising out of the application or use of any information, product, or service described herein except as expressly agreed to in writing by Altera. Altera customers are advised to obtain the latest version of device specifications before relying on any published information and before placing orders for products or services. Portions © 2011 ARM Limited. Used with permission. All rights reserved. ARM, the ARM Powered logo, AMBA, Jazelle, StrongARM, Thumb, and TrustZone are registered trademarks of ARM Limited. The ARM logo, Angel, ARMulator, AHB, APB, ASB, ATB, AXI, CoreSight, Cortex, EmbeddedICE, ModelGen, MPCore, Multi-ICE, NEON, PrimeCell, ARM7TDMI, ARM7TDMI-S, ARM9TDMI, ARM9E-S, ARM966E-S, ETM7, ETM9, TDMI and STRONG are trademarks of ARM Limited. All other products or services mentioned herein may be trademarks of their respective owners. Neither the whole nor any part of the information contained in, or the product described in, this document may be adapted or reproduced in any material form except with the prior written permission of the copyright holder. The product described in this document is subject to continuous developments and improvements. All particulars of the product and its use contained in this document are given by ARM in good faith. However, all warranties implied or expressed, including but not limited to implied warranties of merchantability, or fitness for purpose, are excluded. This document is intended only to assist the reader in the use of the product. ARM Limited shall not be liable for any loss or damage arising from the use of any information in this document, or any error or omission in such information, or any incorrect use of the product. Where the term ARM is used it means “ARM or any of its subsidiaries as appropriate”. This document is Non-Confidential. The right to use, copy and disclose this document may be subject to license restrictions in accordance with the terms of the agreement entered into by ARM and the party that ARM delivered this document to. The information in this document is final, that is for a developed product. ISO 9001:2008 Registered Cyclone V デバイス・ハンドブック Volume 3:ハード・プロセッサ・システムのテクニカル・リファレンス・マニュアル 2012 年 11 月 Subscribe 6‒2 第 6 章: Cortex-A9 マイクロプロセッサ・ユニット・サブシステム Cortex-A9 MPU サブシステムのブロック図およびシステム統合 Cortex-A9 MPU サブシステムのブロック図およびシステム統合 図 6–1 に、HPS における L2 キャッシュを持ったデュアル・コア MPU サブシステム を示します。L2 キャッシュは Level 3(L3)インタコネクト・ファブリックまたは SDRAM のどちらかへのアクセスが可能です。 図 6‒1. L3 インタコネクトを持っている Cortex-A9 MPU サブシステム L3 Interconnect (NIC-301) MPU Subsystem ARM Cortex-A9 MPCore Interrupts CPU0 ACP ID Mapper M0 ACP CPU1 SCU Debug Infrastructure L2 Cache M1 SDRAM Controller Subsystem Cyclone V デバイス・ハンドブック Volume 3:ハード・プロセッサ・システムのテクニカル・リファレンス・マニュアル 2012 年 11 月 Altera Corporation 第 6 章: Cortex-A9 マイクロプロセッサ・ユニット・サブシステム Cortex-A9 MPU サブシステム・コンポーネント 6‒3 図 6–2 に、アルテラ Cortex-A9 MPU サブシステムのブロック図を示します。 図 6‒2. Cortex-A9 MPU サブシステムの内部 Cortex-A9 MPU Subsystem ARM Cortex-A9 MPCore CPU1 (Dual-Core HPS Only) CPU0 ARM Cortex-A9 Processor ARM Cortex-A9 Processor NEON Media SIMD Processing Engine with FPU NEON Media SIMD Processing Engine with FPU MMU MMU 32 KB Instruction Cache 32 KB Data Cache CPU0 Private Interval Timer 32 KB Instruction Cache CPU0 Private Watchdog Timer 32 KB Data Cache CPU1 Private Interval Timer CPU1 Private Watchdog Timer GIC (Generic Interrupt Controller) Global Timer Accelerator Coherency Port Snoop Control Unit 512 KB L2 Cache ACP ID Mapper Debugging Modules CoreSight Multicore Debug and Trace Cross Triggering Event Trace CPU0 Performance Monitor CPU1 Performance Monitor CPU0 Program Trace CPU1 Program Trace Cortex-A9 MPU サブシステム・コンポーネント アルテラ Cortex-A9 MPU サブシステムは、以下のハードウェア・ブロックで構成され ています。 2012 年 11 月 ■ ARM Cortex-A9 MPCore ■ ARM L2C-310 L2 キャッシュ・コントローラ Altera Corporation Cyclone V デバイス・ハンドブック Volume 3:ハード・プロセッサ・システムのテクニカル・リファレンス・マニュアル 6‒4 第 6 章: Cortex-A9 マイクロプロセッサ・ユニット・サブシステム Cortex-A9 MPU サブシステム・コンポーネント ■ ACP ID マッパ ■ デバッグ機能およびトレース機能 この項では、Cortex-A9 MPU サブシステムのコンポーネントについて説明します。 Cortex-A9 MPCore MPU サブシステムには、スタンドアロンでフル機能の ARM Cortex-A9 MPCore のシン グル・コアまたはデュアル・コアの 32 ビットのアプリケーション・プロセッサが含 まれています。このプロセッサは、他の HPS マスタのように、HPS-to-FPGA ブリッ ジを経由して FPGA ファブリックの IP にアクセスできます。 機能の説明 ARM Cortex-A9 MPCore には、以下のブロックが含まれています。 ■ SMP モードまたは AMP モードで動作する1 つまたは 2 つの Cortex-A9 Revision r3p0 プ ロセッサ ■ スヌープ・コントロール・ユニット(SCU) ■ 各プロセッサ・コア用のプライベート・インターバル・タイマ ■ 各プロセッサ・コア用のプライベート・ウォッチドッグ・タイマ ■ グローバル・タイマ ■ 割り込みコントローラ アルテラ Cortex-A9 MPU サブシステムから生成される各トランザクションは、セキュ アまたはノンセキュアとして通知されることがあります。 Cyclone V デバイス・ハンドブック Volume 3:ハード・プロセッサ・システムのテクニカル・リファレンス・マニュアル 2012 年 11 月 Altera Corporation 第 6 章: Cortex-A9 マイクロプロセッサ・ユニット・サブシステム Cortex-A9 MPU サブシステム・コンポーネント 6‒5 実装の詳細 表 6–1 に、アルテラ Cortex-A9 MPCore のパラメータ設定を示します。 表 6‒1. Cortex-A9 MPCore プロセッサ・コンフィギュレーション 機能 オプション Cortex-A9 プロセッサ 1 または 2 Cortex-A9 プロセッサ毎の命令キャッシュ・サイズ 32 KB Cortex-A9 プロセッサ毎のデータ・キャッシュ・サイズ 32 KB Cortex-A9 プロセッサ毎の TLB サイズ 128 エントリ Cortex-A9 プロセッサ毎の NEON™ テクノロジ付きメディア・プロセッシ 含む ング・エンジン (1) Cortex-A9 プロセッサ毎のプリロード・エンジン 含む Cortex-A9 プロセッサ毎のプリロード・エンジン FIFO のエントリ数 16 Cortex-A9 プロセッサ毎の Jazelle DBX 拡張子 フル Cortex-A9 プロセッサ毎の PTM インタフェース 含む パリティ・エラー検出用のサポート 含む (2) ARM_BIST 含む マスタ・ポート 2個 アクセラレータ・コヒーレンシ・ポート 含む 表 6–1 の注: (1) 浮動小数点動作のサポートが含まれています。 (2) パリティ・エラー手法およびパリティ・エラー信号について詳しくは、ARM のウェブサイト (infocenter.arm.com)で使用可能な Cortex-A9 Technical Reference Manual の Revision r3p0 を参照してく ださい。 f Cortex-A9 MPCore のコンフィギュレーション可能なオプションについて詳しくは、 ARM のウェブサイト(infocenter.arm.com)で使用可能な Cortex-A9 MPCore Technical Reference Manual の Revision r3p0 の Introduction の章を参照してください。 Cortex-A9 プロセッサ 各 Cortex-A9 プロセッサには以下のハードウェア・ブロックが含まれています。 ■ ■ ■ 2012 年 11 月 メディア処理および信号処理を高速化するためのベクタ浮動小数点(VFP)v3 倍 精度浮動小数点ユニットを持っている、ARM NEON™ シングル命令の複数データ (SIMD)コプロセッサ ■ 単精度または倍精度の IEEE-754 浮動小数点の演算サポート ■ 整数および多項式の演算サポート パリティ・チェックのある Level 1(L1)キャッシュ ■ 32 KB の 4 方向セット連想命令キャッシュ ■ 32 KB の 4 方向セット連想データ・キャッシュ CoreSight™ Program Trace Macrocell (PTM)サポートの命令キャッシュ Altera Corporation Cyclone V デバイス・ハンドブック Volume 3:ハード・プロセッサ・システムのテクニカル・リファレンス・マニュアル 6‒6 第 6 章: Cortex-A9 マイクロプロセッサ・ユニット・サブシステム Cortex-A9 MPU サブシステム・コンポーネント 各 Cortex-A9 プロセッサは、以下の機能をサポートしています。 ■ 高度な分岐予測を持っているデュアル発行スーパースカラ・パイプライン ■ OoO(Out-of-order)ディスパッチおよび予測的な命令実行 ■ Dhrystone 2.1 ベンチマークに基づく 2.5 MIPS(million instructions per second)/MHz ■ 128 エントリ変換索引バッファ(TLB) ■ TrustZone セキュリティ拡張子 ■ コンフィギュレーション可能なデータ・エンディアンネス ■ バイト・コード・ダイナミック・コンパイラ・サポート用の Jazelle® DBX 拡張子 ■ Cortex-A9 プロセッサ・アーキテクチャは、以下の命令セットをサポートしていま す。 ■ ARMv7-A のパフォーマンス最適化された命令セット ■ メモリ最適化された humb®-2 混合命令セット ■ ■ ■ 電力効率の向上 ■ 31% 小さいメモリ・フットプリント ■ 元の Thumb 命令セットよりも 38% の高速化 Thumb 命令セット — レガシー・アプリケーション用にサポート アルテラ HPS の各プロセッサ・コアには、今日の動作システムに共通のメモリ・ マネージメント要件をサポートするメモリ・マネージメント・ユニット(MMU) が含まれています。 Cortex-A9 プロセッサは、CPU0 および CPU1 と指定されます。 f ARM Cortex-A9 シリーズのプロセッサについて詳しくは、ARM のウェブサイト (infocenter.arm.com)で使用可能な ARM Cortex-A9 シリーズ・プロセッサの Revision r3p0 の資料を参照してください。 インタラクティブ・デバッグ機能 各 Cortex-A9 プロセッサには、以下の機能を含むビルトイン・デバッグ機能がありま す。 ■ Context ID 比較機能を持っている 2 個のブレークポイントを含む 6 個のハードウェ ア・ブレークポイント ■ 4 個のウォッチポイント インタラクティブ・デバッグ機能は、外部 JTAG ツールまたはプロセッサ・ベースの モニタ・コードによって制御できます。 f インタラクティブ・デバッグ機能について詳しくは、ARM のウェブサイト (infocenter.arm.com)で使用可能な Cortex-A9 Technical Reference Manual の Revision r3p0 の Debug の章を参照してください。 Cyclone V デバイス・ハンドブック Volume 3:ハード・プロセッサ・システムのテクニカル・リファレンス・マニュアル 2012 年 11 月 Altera Corporation 第 6 章: Cortex-A9 マイクロプロセッサ・ユニット・サブシステム Cortex-A9 MPU サブシステム・コンポーネント 6‒7 L1 キャッシュ 関連するプロセッサと密に結合しているキャッシュ・メモリは、Level 1 キャッシュ または L1 キャッシュと呼ばれます。各 Cortex-A9 プロセッサには独立した 2 つの 32 KB の L1 キャッシュ(1 つは命令用、もう 1 つはデータ用)があり、同時の命令 フェッチおよびデータ・アクセスが可能となります。 各 L1 キャッシュは、ラインごとに 32 バイトを持っている 4 方向セット連想であり、 パリティ・チェックをサポートしています。 プリロード・エンジン プリロード・エンジン(PLE)は、メモリのプリロード選択の領域に L2 キャッシュ をイネーブルするハードウェア・ブロックです。L2 キャッシュでキャッシュ・ライ ンが必要となる場合、PLE は、プロセッサ・データ・マスタ・ポートにデータの フェッチを開始させることによって L2 キャッシュを送信します。プロセッサ・デー タ・マスタは、プロセッサへのデータのフェッチまたは返信を完了しません。しか し、L2 キャッシュはキャッシュ・ラインのロードに進むことができます。データは L2 キャッシュのみにロードされ、L1 キャッシュやプロセッサ・レジスタにはロード されません。 プリロード機能は、ソフトウェアの制御下です。以下の PLE コントロール・パラ メータをプログラムする必要があります。 ■ 以下を含むプログラムされたパラメータ ■ ベース・アドレス ■ ストライドの長さ ■ ブロックの数 ■ バリッド・ビット ■ NS(ノン・セキュア)ステート・ビットを持っているキャッシュ・メモリ用の TrustZone メモリ保護 ■ 変換テーブル・ベース(TTB)アドレス ■ アドレス・スペース識別子(ASID)値 f PLE について詳しくは、ARM のウェブサイト(infocenter.arm.com)で使用可能な Cortex-A9 Technical Reference Manual の Revision r3p0 の Preload Engine の章を参照してく ださい。 浮動小数点ユニット 各 ARM Cortex-A9 プロセッサには、IEEE-754 浮動小数点動作用のフル・サポートが含 まれています。浮動小数点ユニット(FPU)は、以下の動作の半精度、単精度、およ び倍精度それぞれをフルにサポートしています。 2012 年 11 月 ■ 加算 ■ 減算 ■ 乗算 ■ 除算 ■ MAC(乗算累積) Altera Corporation Cyclone V デバイス・ハンドブック Volume 3:ハード・プロセッサ・システムのテクニカル・リファレンス・マニュアル 6‒8 第 6 章: Cortex-A9 マイクロプロセッサ・ユニット・サブシステム Cortex-A9 MPU サブシステム・コンポーネント ■ 平方根 また、FPU は、高水準言語で必要なゼロに丸める特別な動作を含め、浮動小数点 データのフォーマットおよび整数の間を変換します。 NEON マルチメディア・プロセッシング・エンジン NEON マルチメディア・プロセッシング・エンジン(MPE)は、メディアおよび信号 のプロセッシング・アプリケーション用のハードウェア・アクセラレーションを提 供します。図 6–3 に示すように、各 ARM Cortex-A9 プロセッサには、SIMD プロセッ シングをサポートする ARM NEON MPE が含まれています。NEON プロセッシング・エ ンジンは、ビデオのエンコーディングおよびデコーディング、2D や 3D のグラ フィック、オーディオおよび音声の処理、画像処理、電話用、および音声合成など のマルチメディア処理および信号処理のアルゴリズムを高速化します。 図 6‒3. シングル命令の複数データ(SIMD)プロセッシング Single Instruction Multiple Data Source Register Source Register Op Op Op Op Destination Register Cortex-A9 NEON MPE は、以下のタイプの動作を実行します。 ■ SIMD およびスカラの単精度の浮動小数点演算 ■ スカラの倍精度の浮動小数点演算 ■ SIMD およびスカラの半精度の浮動小数点変換 ■ 8 ビット、 16 ビット、32 ビット、および 64 ビットの符号あり / 符号なし整数 SIMD 演 算 ■ 8 ビットまたは 16 ビットのシングル・ビット係数用の多項式演算 以下の動作は使用可能です。 ■ 加算および減算 ■ オプショナルの累算付き乗算(MAC) ■ レーン選択動作で駆動される最大値または最小値 ■ 逆平方根近似 ■ レジスタ・バンク・レジデント・テーブル・ルックアップを含む包括的なデータ 構造のロード命令 Cyclone V デバイス・ハンドブック Volume 3:ハード・プロセッサ・システムのテクニカル・リファレンス・マニュアル 2012 年 11 月 Altera Corporation 第 6 章: Cortex-A9 マイクロプロセッサ・ユニット・サブシステム Cortex-A9 MPU サブシステム・コンポーネント 6‒9 f Cortex-A9 NEON MPE について詳しくは、ARM のウェブサイト(infocenter.arm.com)か らダウンロード可能な Cortex-A9 NEON™ Media Processing Engine Technical Reference Manual の Revision r3p0 を参照してください。 メモリ・マネージメント・ユニット MMU は L1 キャッシュおよび L2 キャッシュと併用されて、ソフトウェアで使用され るバーチャル・アドレスをハードウェアで使用される物理アドレスに変換します。 各プロセッサにはプライベート MMU があります。 MMU は表 6–2 に示す TLB をサポートしています。 表 6‒2. サポートされている TLB TLB タイプ メモリ・タイプ エントリ数 連想性 マイクロ TLB 命令 32 完全連想 マイクロ TLB データ 32 完全連想 メイン TLB 命令バスおよびデータ 128 2 方向連想 メイン TLB には以下の機能があります。 ■ ロック・バイ・エントリ・モデルを使用したロック可能エントリ ■ L1 データ・キャッシュでのルックアップを実行するハードウェア・ページ・テー ブル作業のサポート f MMU について詳しくは、ARM のウェブサイト(infocenter.arm.com)で使用可能な Cortex-A9 Technical Reference Manual の Revision r3p0 の Memory Management Unit の章を 参照してください。 MPU のアドレス・マップは、以下の領域に分割されます。 ■ ブート領域 ■ SDRAM 領域 ■ FPGA スレーブ領域 ■ HPS ペリフェラル領域 この項では、各領域の位置と内容を説明します。 ブート領域 ブート領域は 1 MB のサイズで、アドレス 0 をベースにします。パワー・オン後、ま たは L3 インタコネクトのリセット後、ブート領域はブート ROM によって占有され、 Cortex-A9 MPCore がブートできるようにします。ブート領域は 1 MB ですが、ブート ROM が 64 KB のみなので 64 KB を超えるアクセスはイリーガルとなります。 図 6–4 に示すように、この 1 MB の領域は SDRAM の下位 1 MB に確実にリマップでき ます。詳しくは、「SDRAM 領域」を参照してください。 1 2012 年 11 月 あるいは、ブート領域を 64 KB のオンチップ RAM にマップすることができます。詳し くは、Cyclone V デバイス・ハンドブック volume 3 の Interconnect の章を参照してくだ さい。 Altera Corporation Cyclone V デバイス・ハンドブック Volume 3:ハード・プロセッサ・システムのテクニカル・リファレンス・マニュアル 6‒10 第 6 章: Cortex-A9 マイクロプロセッサ・ユニット・サブシステム Cortex-A9 MPU サブシステム・コンポーネント 図 6‒4. MPCore アドレス・マップ Addresses Are Not To Scale 0xFFFF FFFF HPS Peripherals (64 MB) 0xFC00 0000 HPS-to-FPGA (FPGA-Based Peripherals) 0xC000 0000 (3 GB) L2 Cache Filtering 0x8000 0000 (2 GB) SDRAM Mapping Options On-Chip RAM (64 KB) 0x4000 0000 (1 GB) Boot ROM (64 KB) SDRAM (1 MB) (Mapping Provided by L2 Cache Filtering) 0x1000 0000 (1 MB) Boot Region 0 SDRAM 領域 SDRAM 領域は、アドレス 0x100000(1 MB)で開始します。領域の最上位は、L2 キャッシュ・フィルタによって決定されます。 L2 キャッシュには、SDRAM および L3 インタコネクトへのアクセスを配線するフィ ルタリング手法が含まれています。フィルタは、開始アドレスおよび終了アドレス のフィルタ範囲を定義します。このフィルタ範囲内の任意のアクセスは、SDRAM サ ブシステムに配線されます。このフィルタ範囲外のアクセスは、L3 インタコネクト に配線されます。 開始アドレスおよび終了アドレスは、以下のレジスタ・フィールドによって指定さ れます。 ■ reg12_addr_filtering_start.address_filtering_start ■ reg12_address_filtering_end.address_filtering_end SDRAM の下位 1 MB をブート領域にリマップするには、0x0 と 0xFFFFF の間のアクセ スが SDRAM に配線されることを確認するためにフィルタの開始アドレスを 0x0 に設 定します。独立して 0xC0000000 上の 1 MB インクリメントのフィルタ終了アドレス を設定し、SDRAM 領域の上位境界を拡張することができます。しかし、この範囲の 拡張によって、FPGA ペリフェラルのアドレス・スパンが消費することになります。 L2 キャッシュのアドレス・フィルタ設定によって、SDRAM 領域の最上位は 0xBFFFFFFF ~ 0xFBFFFFFF の範囲をとります。 L2 キャッシュについて詳しくは、6–25 ページの「L2 キャッシュ」を参照してくださ い。 Cyclone V デバイス・ハンドブック Volume 3:ハード・プロセッサ・システムのテクニカル・リファレンス・マニュアル 2012 年 11 月 Altera Corporation 第 6 章: Cortex-A9 マイクロプロセッサ・ユニット・サブシステム Cortex-A9 MPU サブシステム・コンポーネント 6‒11 FPGA スレーブ領域 Cortex-A9 MPU サブシステムは、FPGA ベースのペリフェラルと通信するさまざまなサ イズの FPGA スレーブ領域をサポートしています。L2 キャッシュのアドレス・フィ ルタ設定によって、この領域は 0xC0000000 ほど下位で開始できます。FPGA スレー ブ領域の最上位は 0xFBFFFFFF に位置しています。その結果、FPGA スレーブ領域の サイズは 0 ~ 0x3F000000 バイトの範囲をとります。 HPS ペリフェラル領域 HPS ペリフェラル領域はアドレス空間の最上位 64 MB で、0xFC000000 から開始して 0xFFFFFFFF まで拡張します。HPS ペリフェラル領域は、通常、アルテラ Cortex-A9 MPU サブシステム用に HPS 専用ペリフェラルに割り当てられます。 パフォーマンス・モニタリング・ユニット 各 Cortex-A9 には、パフォーマンス・モニタリング・ユニット(PMU)があります。 PMU は、プロセッサおよびメモリ・システムの動作上で統計を収集するための 58 個 のイベントをサポートしています。PMU の 6 個のカウンタは、イベントをリアルタ イムで累積します。PMU のカウンタは、コプロセッサ 14(CP14)を使用してプロ セッサ自身から、または外部デバッガからアクセス可能です。また、イベントは PTM に供給され、トリガ用またはトレース用に使用できます。 f PMU について詳しくは、ARM のウェブサイト( infocenter.arm.com)で使用可能な Cortex-A9 Technical Reference Manual の Revision r3p0 の Performance Monitoring Unit の章 を参照してください。 MPCore タイマ 各プロセッサ用として、1 個のインターバル・タイマおよび 1 個のウォッチドッグ・ タイマがあります。 機能の説明 各タイマはプライベートであり、関連するプロセッサのみがアクセスできます。 ウォッチドッグ・タイマが必要ない場合、2 番目のインターバル・タイマとしてコン フィギュレーションできます。 各プライベートのインターバル・タイマおよびウォッチドッグ・タイマには以下の 機能があります。 ■ ゼロに達するときに割り込みをオプションとして生成する 32 ビットのカウンタ ■ カウンタ用のコンフィギュレーション可能な開始値 ■ クロック期間を適用する 8 ビットのプレスケーラ値 実装の詳細 タイマはシングル・ショット・モードまたは自動リロード・モードのどちらかにコ ンフィギュレーション可能です。タイマ・ブロックは mpu_periph_clk によってク ロックされ、mpu_clk の ¼ のレートで動作します。 f プライベート・タイマについて詳しくは、ARM のウェブサイト( infocenter.arm.com) で使用可能な Cortex-A9 MPCore Technical Reference Manual の Revision r3p0 の Global timer, Private timers, and Watchdog registers の章の「About the private timer and watchdog blocks」を参照してください。 2012 年 11 月 Altera Corporation Cyclone V デバイス・ハンドブック Volume 3:ハード・プロセッサ・システムのテクニカル・リファレンス・マニュアル 6‒12 第 6 章: Cortex-A9 マイクロプロセッサ・ユニット・サブシステム Cortex-A9 MPU サブシステム・コンポーネント 汎用割り込みコントローラ 機能の説明 汎用割り込みコントローラ(GIC)は、FPGA ファブリックに実装されている専用ペ リフェラルおよび IP を含めて最大 180 の割り込みソースをサポートしています。 デュアル・コア・システムでは、GIC は 2 つの Cortex-A9 プロセッサで共有されます。 また、各プロセッサには、バンクされた 16 個のソフトウェア生成の割り込み、およ びバンクされた 16 個のプライベート・ペリフェラル割り込みがあります。 実装の詳細 GIC のコンフィギュレーションおよびコントロールはメモリ・マップされており、 SCU を通してアクセスされます。GIC は mpu_periph_clk によってクロックされ、 mpu_clk の ¼ のレートで動作します。 f GIC について詳しくは、ARM のウェブサイト(infocenter.arm.com)で使用可能な Cortex-A9 MPCore Technical Reference Manual の Revision r3p0 の Interrupt Controller の章を 参照してください。 表 6–3 に、割り込みマップを示します。 表 6‒3. GIC の割り込みマップ(その1) GIC の 割り込 み数 (1) ソース・ブロック 割り込み名 32 CortexA9_0 cpu0_parityfail 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 CortexA9_0 CortexA9_0 CortexA9_0 CortexA9_0 CortexA9_0 CortexA9_0 CortexA9_0 CortexA9_0 CortexA9_0 CortexA9_0 CortexA9_0 CortexA9_0 CortexA9_0 CortexA9_0 CortexA9_0 CortexA9_1 cpu0_parityfail_BTAC cpu0_parityfail_GHB cpu0_parityfail_I_Tag cpu0_parityfail_I_Data cpu0_parityfail_TLB cpu0_parityfail_D_Outer cpu0_parityfail_D_Tag cpu0_parityfail_D_Data cpu0_deflags0 cpu0_deflags1 cpu0_deflags2 cpu0_deflags3 cpu0_deflags4 cpu0_deflags5 cpu0_deflags6 cpu1_parityfail 49 50 51 52 53 54 55 56 57 CortexA9_1 CortexA9_1 CortexA9_1 CortexA9_1 CortexA9_1 CortexA9_1 CortexA9_1 CortexA9_1 CortexA9_1 cpu1_parityfail_BTAC cpu1_parityfail_GHB cpu1_parityfail_I_Tag cpu1_parityfail_I_Data cpu1_parityfail_TLB cpu1_parityfail_D_Outer cpu1_parityfail_D_Tag cpu1_parityfail_D_Data cpu1_deflags0 Cyclone V デバイス・ハンドブック Volume 3:ハード・プロセッサ・システムのテクニカル・リファレンス・マニュアル 組み合 わせ割 り込み (2) (3) トリガ エッジ エッジ エッジ エッジ エッジ エッジ エッジ エッジ エッジ レベル レベル レベル レベル レベル レベル レベル エッジ エッジ エッジ エッジ エッジ エッジ エッジ エッジ エッジ レベル 2012 年 11 月 Altera Corporation 第 6 章: Cortex-A9 マイクロプロセッサ・ユニット・サブシステム Cortex-A9 MPU サブシステム・コンポーネント 6‒13 表 6‒3. GIC の割り込みマップ(その2) GIC の 割り込 み数 (1) 2012 年 11 月 ソース・ブロック 割り込み名 組み合 わせ割 り込み トリガ 58 59 60 61 62 63 64 CortexA9_1 CortexA9_1 CortexA9_1 CortexA9_1 CortexA9_1 CortexA9_1 SCU cpu1_deflags1 cpu1_deflags2 cpu1_deflags3 cpu1_deflags4 cpu1_deflags5 cpu1_deflags6 scu_parityfail0 — レベル レベル レベル レベル レベル レベル エッジ 65 SCU scu_parityfail1 — エッジ 66 67 SCU L2 キャッシュ scu_ev_abort l2_ecc_byte_wr_IRQ — エッジ エッジ 68 L2 キャッシュ l2_ecc_corrected_IRQ — エッジ 69 L2 キャッシュ l2_ecc_uncorrected_IRQ — エッジ (4) レベル 70 L2 キャッシュ l2_combined_IRQ 71 DDR ddr_ecc_error_IRQ — レベル 72 FPGA FPGA_IRQ0 — レベルまたはエッジ 73 FPGA FPGA_IRQ1 — レベルまたはエッジ 74 FPGA FPGA_IRQ2 — レベルまたはエッジ 75 FPGA FPGA_IRQ3 — レベルまたはエッジ 76 FPGA FPGA_IRQ4 — レベルまたはエッジ 77 FPGA FPGA_IRQ5 — レベルまたはエッジ 78 FPGA FPGA_IRQ6 — レベルまたはエッジ 79 FPGA FPGA_IRQ7 — レベルまたはエッジ 80 FPGA FPGA_IRQ8 — レベルまたはエッジ 81 FPGA FPGA_IRQ9 — レベルまたはエッジ 82 FPGA FPGA_IRQ10 — レベルまたはエッジ 83 FPGA FPGA_IRQ11 — レベルまたはエッジ 84 FPGA FPGA_IRQ12 — レベルまたはエッジ 85 FPGA FPGA_IRQ13 — レベルまたはエッジ 86 FPGA FPGA_IRQ14 — レベルまたはエッジ 87 FPGA FPGA_IRQ15 — レベルまたはエッジ 88 FPGA FPGA_IRQ16 — レベルまたはエッジ 89 FPGA FPGA_IRQ17 — レベルまたはエッジ 90 FPGA FPGA_IRQ18 — レベルまたはエッジ 91 FPGA FPGA_IRQ19 — レベルまたはエッジ 92 FPGA FPGA_IRQ20 — レベルまたはエッジ 93 FPGA FPGA_IRQ21 — レベルまたはエッジ 94 FPGA FPGA_IRQ22 — レベルまたはエッジ 95 FPGA FPGA_IRQ23 — レベルまたはエッジ 96 FPGA FPGA_IRQ24 — レベルまたはエッジ Altera Corporation Cyclone V デバイス・ハンドブック Volume 3:ハード・プロセッサ・システムのテクニカル・リファレンス・マニュアル 6‒14 第 6 章: Cortex-A9 マイクロプロセッサ・ユニット・サブシステム Cortex-A9 MPU サブシステム・コンポーネント 表 6‒3. GIC の割り込みマップ(その3) GIC の 割り込 み数 (1) ソース・ブロック 割り込み名 組み合 わせ割 り込み トリガ 97 FPGA FPGA_IRQ25 — レベルまたはエッジ 98 FPGA FPGA_IRQ26 — レベルまたはエッジ 99 FPGA FPGA_IRQ27 — レベルまたはエッジ 100 FPGA FPGA_IRQ28 — レベルまたはエッジ 101 FPGA FPGA_IRQ29 — レベルまたはエッジ 102 FPGA FPGA_IRQ30 — レベルまたはエッジ 103 FPGA FPGA_IRQ31 — レベルまたはエッジ 104 FPGA FPGA_IRQ32 — レベルまたはエッジ 105 FPGA FPGA_IRQ33 — レベルまたはエッジ 106 FPGA FPGA_IRQ34 — レベルまたはエッジ 107 FPGA FPGA_IRQ35 — レベルまたはエッジ 108 FPGA FPGA_IRQ36 — レベルまたはエッジ 109 FPGA FPGA_IRQ37 — レベルまたはエッジ 110 FPGA FPGA_IRQ38 — レベルまたはエッジ 111 FPGA FPGA_IRQ39 — レベルまたはエッジ 112 FPGA FPGA_IRQ40 — レベルまたはエッジ 113 FPGA FPGA_IRQ41 — レベルまたはエッジ 114 FPGA FPGA_IRQ42 — レベルまたはエッジ 115 FPGA FPGA_IRQ43 — レベルまたはエッジ 116 FPGA FPGA_IRQ44 — レベルまたはエッジ 117 FPGA FPGA_IRQ45 — レベルまたはエッジ 118 FPGA FPGA_IRQ46 — レベルまたはエッジ 119 FPGA FPGA_IRQ47 — レベルまたはエッジ 120 FPGA FPGA_IRQ48 — レベルまたはエッジ 121 FPGA FPGA_IRQ49 — レベルまたはエッジ 122 FPGA FPGA_IRQ50 — レベルまたはエッジ 123 FPGA FPGA_IRQ51 — レベルまたはエッジ 124 FPGA FPGA_IRQ52 — レベルまたはエッジ 125 FPGA FPGA_IRQ53 — レベルまたはエッジ 126 FPGA FPGA_IRQ54 — レベルまたはエッジ 127 FPGA FPGA_IRQ55 — レベルまたはエッジ 128 FPGA FPGA_IRQ56 — レベルまたはエッジ 129 FPGA FPGA_IRQ57 — レベルまたはエッジ 130 FPGA FPGA_IRQ58 — レベルまたはエッジ 131 FPGA FPGA_IRQ59 — レベルまたはエッジ 132 FPGA FPGA_IRQ60 — レベルまたはエッジ 133 FPGA FPGA_IRQ61 — レベルまたはエッジ 134 FPGA FPGA_IRQ62 — レベルまたはエッジ Cyclone V デバイス・ハンドブック Volume 3:ハード・プロセッサ・システムのテクニカル・リファレンス・マニュアル 2012 年 11 月 Altera Corporation 第 6 章: Cortex-A9 マイクロプロセッサ・ユニット・サブシステム Cortex-A9 MPU サブシステム・コンポーネント 6‒15 表 6‒3. GIC の割り込みマップ(その4) GIC の 割り込 み数 (1) 割り込み名 組み合 わせ割 り込み トリガ 135 FPGA FPGA_IRQ63 — レベルまたはエッジ 136 DMA dma_IRQ0 — レベル 137 DMA dma_IRQ1 — レベル 138 DMA dma_IRQ2 — レベル 139 DMA dma_IRQ3 — レベル 140 DMA dma_IRQ4 — レベル 141 DMA dma_IRQ5 — レベル 142 DMA dma_IRQ6 — レベル 143 DMA dma_IRQ7 — レベル 144 DMA dma_irq_abort — レベル 145 DMA dma_ecc_corrected_IRQ 146 DMA dma_ecc_uncorrected_IRQ 147 2012 年 11 月 ソース・ブロック レベル レベル (5) EMAC0 emac0_IRQ 148 EMAC0 emac0_tx_ecc_corrected_IR Q レベル 149 EMAC0 emac0_tx_ecc_uncorrected_ IRQ レベル 150 EMAC0 emac0_rx_ecc_corrected_IR Q レベル 151 EMAC0 emac0_rx_ecc_uncorrected_ IRQ レベル 152 EMAC1 emac1_IRQ 153 EMAC1 emac1_tx_ecc_corrected_IR Q レベル 154 EMAC1 emac1_tx_ecc_uncorrected_ IRQ レベル 155 EMAC1 emac1_rx_ecc_corrected_IR Q レベル 156 EMAC1 emac1_rx_ecc_uncorrected_ IRQ レベル 157 USB0 usb0_IRQ レベル 158 USB0 usb0_ecc_corrected_IRQ レベル 159 USB0 usb0_ecc_uncorrected_IRQ レベル 160 USB1 usb1_IRQ レベル 161 USB1 usb1_ecc_corrected_IRQ レベル 162 USB1 usb1_ecc_uncorrected_IRQ レベル 163 CAN0 can0_sts_IRQ レベル 164 CAN0 can0_mo_IRQ レベル 165 CAN0 can0_ecc_corrected_IRQ レベル 166 CAN0 can0_ecc_uncorrected_IRQ レベル Altera Corporation (5) レベル レベル Cyclone V デバイス・ハンドブック Volume 3:ハード・プロセッサ・システムのテクニカル・リファレンス・マニュアル 6‒16 第 6 章: Cortex-A9 マイクロプロセッサ・ユニット・サブシステム Cortex-A9 MPU サブシステム・コンポーネント 表 6‒3. GIC の割り込みマップ(その5) GIC の 割り込 み数 (1) ソース・ブロック 割り込み名 組み合 わせ割 り込み トリガ 167 CAN1 can1_sts_IRQ レベル 168 CAN1 can1_mo_IRQ レベル 169 CAN1 can1_ecc_corrected_IRQ レベル 170 CAN1 can1_ecc_uncorrected_IRQ レベル 171 SDMMC sdmmc_IRQ レベル 172 SDMMC sdmmc_porta_ecc_corrected _IRQ レベル 173 SDMMC sdmmc_porta_ecc_uncorrect ed_IRQ レベル 174 SDMMC sdmmc_portb_ecc_corrected _IRQ レベル 175 SDMMC sdmmc_portb_ecc_uncorrect ed_IRQ レベル 176 NAND nand_IRQ レベル 177 NAND nandr_ecc_corrected_IRQ レベル 178 NAND nandr_ecc_uncorrected_IRQ レベル 179 NAND nandw_ecc_corrected_IRQ レベル 180 NAND nandw_ecc_uncorrected_IRQ レベル 181 NAND nande_ecc_corrected_IRQ レベル 182 NAND nande_ecc_uncorrected_IRQ レベル 183 QSPI qspi_IRQ レベル 184 QSPI qspi_ecc_corrected_IRQ レベル 185 QSPI qspi_ecc_uncorrected_IRQ 186 SPI0 spi0_IRQ (6) レベル 187 SPI1 spi1_IRQ (6) レベル spi2_IRQ (6) レベル spi3_IRQ (6) レベル i2c0_IRQ (7) レベル レベル 188 189 190 SPI2 SPI3 I2C0 レベル 191 I2C1 i2c1_IRQ (7) 192 I2C2 i2c2_IRQ (7) レベル 193 I2C3 i2c3_IRQ (7) レベル 194 UART0 uart0_IRQ レベル 195 UART1 uart1_IRQ レベル 196 GPIO0 gpio0_IRQ — レベル 197 GPIO1 gpio1_IRQ — レベル 198 GPIO2 gpio2_IRQ — レベル レベル 199 タイマ 0 timer_l4sp_0_IRQ (8) 200 タイマ 1 timer_l4sp_1_IRQ (8) レベル 201 タイマ 2 timer_osc1_0_IRQ (8) レベル Cyclone V デバイス・ハンドブック Volume 3:ハード・プロセッサ・システムのテクニカル・リファレンス・マニュアル 2012 年 11 月 Altera Corporation 第 6 章: Cortex-A9 マイクロプロセッサ・ユニット・サブシステム Cortex-A9 MPU サブシステム・コンポーネント 6‒17 表 6‒3. GIC の割り込みマップ(その6) GIC の 割り込 み数 (1) ソース・ブロック 割り込み名 組み合 わせ割 り込み トリガ (8) レベル ウォッチドッグ 0 wdog0_IRQ — レベル 204 ウォッチドッグ 1 wdog1_IRQ — レベル 205 クロック・マ ネージャ clkmgr_IRQ レベル 206 クロック・マ ネージャ mpuwakeup_IRQ レベル 207 FPGA マネージャ fpga_man_IRQ 208 CoreSight nCTIIRQ[0] レベル 209 CoreSight nCTIIRQ[1] レベル 210 オンチップ RAM ram_ecc_corrected_IRQ レベル 211 オンチップ RAM ram_ecc_uncorrected_IRQ レベル 202 タイマ 3 203 timer_osc1_1_IRQ (9) レベル 表 6–3 の注: (1) 正しい GIC 割り込み数を使用していることを確認するには、コードが割り込み名コラムで示してい る記号の割り込み名である必要があります。記号の割り込み名は、動作システム用のソース・イン ストールと共に分配されるヘッダ・ファイルで定義されます。 (2) この割り込みは、cpu0_parityfail_* という名前の割り込みと組み合わせを作ります。 (3) この割り込みは、cpu1_parityfail_* という名前の割り込みと結み合わせを作ります。 (4) この割り込みは、次の割り込みと組み合わせを作ります:DECERRINTR、ECNTRINTR、ERRRDINTR、 ERRRTINTR、ERRWDINTR、ERRWTINTR、PARRDINTR、PARRTINTR、および SLVERRINTR。 (5) この割り込みは、sbd_intr_o、lpi_intr_o、および pmt_intr_o と組み合わせを作ります。 (6) この割り込みは、次の割り込みと組み合わせを作ります:ssi_txe_intr、ssi_txo_intr、 ssi_rxf_intr、ssi_rxo_intr、ssi_rxu_intr、および ssi_mst_intr。 (7) この割り込みは、次の割り込みと組み合わせを作ります:ic_rx_under_intr、ic_rx_full_intr、 ic_tx_over_intr、ic_tx_empty_intr、ic_rd_req_intr、ic_tx_abrt_intr, ic_rx_done_intr、 ic_activity_intr、ic_stop_det_intr、ic_start_det_intr、および ic_gen_call_intr。 (8) この割り込みは、TIMINT1 および TIMINT2 と組み合わせを作ります。 (9) この割り込みは、以下の割り込みと組み合わせを作ります:fpga_man_irq[7..0]。 グローバル・タイマ MPU は、グローバルで 64 ビットの自動インクリメント・タイマを機能させます。こ れは、動作システムによって最初に使用されます。 機能の説明 グローバル・タイマは、SCU を経由したメモリ・マップド・アクセスを使用してプ ロセッサによってアクセス可能です。グローバル・タイマには以下の機能がありま す。 2012 年 11 月 ■ 自動インクリメント機能を持っている 64 ビットのインクリメント・カウンタ。割 り込みの送信後にインクリメントを継続します。 ■ プライベート・メモリ領域へのメモリ・マップド。 ■ セキュア・ステートのみでのリセット時のアクセス。セキュア・ステートは 1 回 のみ設定可能ですが、セキュア・コードの読み出しは何度でも可能です。 ■ MPCore の Cortex-A9 プロセッサ両方にアクセス可能。 Altera Corporation Cyclone V デバイス・ハンドブック Volume 3:ハード・プロセッサ・システムのテクニカル・リファレンス・マニュアル 6‒18 第 6 章: Cortex-A9 マイクロプロセッサ・ユニット・サブシステム Cortex-A9 MPU サブシステム・コンポーネント 実装の詳細 各 Cortex-A9 プロセッサには、カウンタが特定の値に達する場合にプライベート割り 込みを生成する、プライベートの 64 ビットのコンパレータがあります。この割り込 みで各 Cortex-A9 プロセッサはバンクされた ID の ID27 を使用します。ID27 は、プラ イベート・ペリフェラル割り込み(PPI)として GIC に送信されます。 グローバル・タイマは mpu_periph_clk によってクロックされ、mpu_clk の ¼ のレート で動作します。 f グローバル・タイマについて詳しくは、ARM のウェブサイト(infocenter.arm.com)で 使用可能な Cortex-A9 MPCore Technical Reference Manual の Revision r3p0 の Global timer, Private timers, and Watchdog registers の章の「About the Global Timer」を参照してくださ い。 スヌープ・コントロール・ユニット(SCU) SCU は、L2 キャッシュを含む Cortex-A9 プロセッサ用およびメモリ・システム用の データ・トラフィックを管理します。マルチ・マスタ・システムでは、プロセッサ および他のマスタは共有データ上で動作できます。SCU は、キャッシュ・コヒーレ ンシを維持しながら各プロセッサが最新のデータ・コピー上で動作することを確認 します。 機能の説明 SCU は Cortex-A9 プロセッサおよび ACP を L2 キャッシュ・コントローラに接続する ために使用されます。SCU は以下の機能を実行します。 ■ プロセッサが SMP モードに設定されている場合、SCU はプロセッサ間のデータ・ キャッシュ・コヒーレンシを維持します。 1 SCU は、命令キャッシュのコヒーレンシは維持しません。 ■ L2 キャッシュ・メモリ・アクセスを初期化します。 ■ L2 アクセスを要求しているプロセッサ間を調停します。 ■ キャッシュ・コヒーレンシ機能を使用して ACP アクセスを管理します。 Cyclone V デバイス・ハンドブック Volume 3:ハード・プロセッサ・システムのテクニカル・リファレンス・マニュアル 2012 年 11 月 Altera Corporation 第 6 章: Cortex-A9 マイクロプロセッサ・ユニット・サブシステム Cortex-A9 MPU サブシステム・コンポーネント 6‒19 図 6–5 に、L1 データ・キャッシュおよび SCU の間でのデータ・フローを表示し、 デュアル・プロセッサ・システムの SCU を示します。 図 6‒5. コヒーレント・メモリ、SCU、およびアクセラレータ・コヒーレンシ・ポート ARM Cortex-A9 32-Bit Dual-Issue Superscalar RISC Processor L1 Data Cache Level 3 (L3) Interconnect L1 Data Cache 32 KB Instruction Cache 32 KB Instruction Cache Snoop Control Unit (SCU) Accelerator Coherency Port (ACP) Level 2 (L2) Unified Cache ACP HPS Mastering Peripherals ID Mapper FPGA Fabric ARM Cortex-A9 32-Bit Dual-Issue Superscalar RISC Processor Unidirectional Coherency Bidirectional Coherency Coherent Memory f SCU について詳しくは、ARM のウェブサイト(infocenter.arm.com)で使用可能な Cortex-A9 MPCore Technical Reference Manual の Revision r3p0 の Snoop Control Unit の章を 参照してください。 実装の詳細 プロセッサが任意のコヒーレント・メモリ位置に書き込む場合、SCU は関連する データがコヒーレントであることを確認します(更新されているか、タッグされて いるか、または無効にされているか)。同様に、SCU は、コヒーレント・メモリ位置 からの読み出し動作をモニタします。必要なデータが既に他のプロセッサの L1 キャッシュに保存されている場合、データは要求しているプロセッサに直接返され ます。データが L1 キャッシュにない場合、SCU は L2 キャッシュに読み出しを発行 します。データが L2 キャッシュ・メモリにない場合、最終的に読み出しがメイン・ メモリに転送されます。最優先目標は、電力消費を最小化すること、およびメモリ 性能全体を最大化することです。 SCU は、プロセッサに属する L1 データキャッシュ間で双方向コヒーレンシを維持し ます。1 つのプロセッサが L1 キャッシュの位置に書き込むとき、同じ位置が他の L1 キャッシュによってキャッシュされている場合は SCU がそれを更新します。 ノン・コヒーレント・データは、標準的な読み出し動作または書き込み動作として 通過します。 また、両方のプロセッサが同時に L2 キャッシュにアクセスしようとする場合、SCU は Cortex-A9 プロセッサ間を調停し、ACP からのアクセスを管理します。 2012 年 11 月 Altera Corporation Cyclone V デバイス・ハンドブック Volume 3:ハード・プロセッサ・システムのテクニカル・リファレンス・マニュアル 6‒20 第 6 章: Cortex-A9 マイクロプロセッサ・ユニット・サブシステム Cortex-A9 MPU サブシステム・コンポーネント アクセラレータ・コヒーレンシ・ポート ACP は、Cortex-A9 MPCore プロセッサおよび SCU を使用して、FPGA ベースのペリ フェラルを含むペリフェラルがデータ・コヒーレンシを維持できるようにします。 6–19 ページの 図 6–5 に示すように、HPS 内の専用ペリフェラル、および FPGA ロ ジックに内蔵されたペリフェラルは、ACP ID マッパおよび ACP を経由してコヒーレ ンシ・メモリにアクセスします。ACP ID マッパについて詳しくは、6–21 ページの 「ACP ID マッパ」を参照してください。 FPGA データ・ポートを含む高帯域幅ペリフェラルは、L3 インタコネクトに接続しま す。 バースト・サイズおよびバイト・ストローブ ACP は、FPGA ファブリックのハードウェア・アクセラレータ用のシステム性能を向 上させます。しかし、高レベル性能を実現するには、表 6–4 に示すバースト・タイ プを使用する必要があります。他のバースト・タイプでは著しく低い性能になって しまいます。 表 6‒4. 推奨されるバースト・タイプ バースト・タイ プ ビート 幅(ビット) アドレス・タイプ バイト・スト ローブ ラップ 4 64 64 ビット・アラ インメント アサート インクリメント 4 64 32 ビット・アラ インメント アサート 1 FPGA-to-HPS ブリッジのスレーブ・ポートが 64 ビットの幅を持っていない場合、 FPGA-to-HPS ブリッジを上記のバースト・タイプにサイズ変更するバーストが必要と なります。例えば、FPGA-to-HPS ブリッジのスレーブ・データ幅が 32 ビットの場合、 ACP に効率的にアクセスする上で、32 ビットによる 8 ビートのバーストが必要とな ります。 c ACP へのトランザクションのアドレスおよびバースト・サイズが上記の条件のいずれ かに一致する場合、MPU ロジックは、トランザクションにすべてのバイト・スト ローブ・セットがあると見なします。バイト・ストローブが全セットではない場合、 実際には書き込みによって全てのバイトが上書きされるわけではありません。その かわり、キャッシュはキャッシュ・ライン全体が有効であると見なします。このラ インがダーティである場合(そして、そのために SDRAM に書き出される場合)、 データ破壊が起きる可能性があります。 排他的なアクセスおよびロックされたアクセス ACP は、コヒーレント・メモリへの排他的なアクセスをサポートしていません。ACP はノン・コヒーレント・メモリへの排他的なアクセスをサポートしていますが、排 他的なアクセスのトランザクションは FPGA-to-HPS ブリッジまたは L3 インタコネク トのロジックのサイズ変更の影響を受けないという点は重要です。ロジックのサイ ズ変更のために排他的なアクセスが複数のトランザクションに分割される場合、排 他的なアクセスのビットはブリッジまたはインタコネクトによってクリアされ、排 他的なアクセスは失敗します。 Cyclone V デバイス・ハンドブック Volume 3:ハード・プロセッサ・システムのテクニカル・リファレンス・マニュアル 2012 年 11 月 Altera Corporation 第 6 章: Cortex-A9 マイクロプロセッサ・ユニット・サブシステム Cortex-A9 MPU サブシステム・コンポーネント 1 6‒21 アルテラは、L3 インタコネクトに直接接続されている SDRAM コントローラの 32 ビッ トのスレーブ・ポートを経由して、または FPGA-to-SDRAM を経由して、排他的なア クセスを完全に ACP にバイパスすることを推奨しています。 f SDRAM コントローラ・サブシステムの排他的なアクセスのサポートについて詳しく は、Cyclone® V デバイス・ハンドブック volume 3 の SDRAM Controller Subsystem の章 を参照してください。 ACP ID マッパは、ロックされたアクセスをサポートしていません。共有データへの 相互排他的なアクセスを確認するには、SDRAM コントローラ内に組み込まれている 排他的なアクセスへのサポートを使用します。 ACP ID マッパ ACP ID マッパは、Level 3(L3)インタコネクトおよび MPU サブシステム ACP スレー ブ間に位置しています。このマッパは、ACP スレーブ・ポートでサポートされてい る 3 ビットの AXI IDs(出力 ID)に対して、L3 インタコネクトから 12 ビットの Advanced Microcontroller Bus Architecture(AMBA®)Advanced eXtensible Interface(AXI™) IDs(入力 ID)をマップします。 また、ACP ID マッパは、1 GB のコヒーレント・ウィンドウを 4 GB のアドレス空間に 実装します。 機能の説明 ACP スレーブは、最大 6 個のマスタをサポートしています。しかし、FPGA ファブ リックに実装されているカスタム・ペリフェラルは、ACP スレーブにアクセスする 上で必要なマスタとしてさらに多くのマスタを持つことができます。ACP ID マッパ は、これらのマスタが ACP にアクセスできるようにします。 ACP ID マッパは、インタコネクトおよび MPU サブシステムの ACP スレーブの間にあ ります。このマッパには以下のような特性があります。 ■ 最大 6 個の同時 ID マッピングのサポート ■ 4 GB の MPCore アドレス空間内への 1 GB のコヒーレント・ウィンドウ ■ スヌープ・コントロール・ユニット(SCU)および L2 キャッシュによって使用さ れる 5 ビットのユーザー側波帯信号のリマップ f AXI ユーザー側波帯信号について詳しくは、ARM のウェブサイト(infocenter.arm.com) からダウンロードできる CoreLink Level 2 Cache Controller L2C-310 Technical Reference Manual を参照してください。 実装の詳細 ACP は、コヒーレント・メモリへのアクセスに必要なマスタによってアクセスされ ます。ACP スレーブ・ポートは、FPGA ファブリックに実装されているマスタによる アクセスと同じように L3 インタコネクトのマスタ・ペリフェラルによってアクセス できます(FPGA-to-HPS ブリッジを介して)。6–2 ページの 図 6–1 に ACP ID マッパを 示します。 ACP ID マッパは、以下の ID マッピング・モードをサポートしています。 ■ 2012 年 11 月 ダイナミック・マッピング Altera Corporation Cyclone V デバイス・ハンドブック Volume 3:ハード・プロセッサ・システムのテクニカル・リファレンス・マニュアル 6‒22 第 6 章: Cortex-A9 マイクロプロセッサ・ユニット・サブシステム Cortex-A9 MPU サブシステム・コンポーネント ■ 固定マッピング ソフトウェアは ID ごとに ID マッピングを選択できます。固定マッピング用にコン フィギュレーションされた入力 ID では、入力 ID から出力 ID に対して 1 対 1 のマッ ピングとなります。入力 ID がダイナミック・マッピングにコンフィギュレーション されている場合、入力 ID は使用可能な出力 ID に自動的にマップされます。ダイナ ミック・モードではハードウェアがマッピングを行うため、より柔軟性に富んでい ます。ハードウェアのマッピングによって、1 個の出力 ID を 1 個以上の入力 ID に使 用できるようになります。出力 ID は先着順に入力 ID に割り当てられます。 8 個の出力 ID の合計のうち 6 個のみが L3 インタコネクトのマスタに使用可能です。 最初の 2 個の出力 ID(0 および 1)は MPU サブシステムの Cortex-A9 プロセッサ・コ アに専用で、残りの 6 個の ID(2 ~ 7)は ACP ID マッパに使用可能です。出力 ID 2 ~ 6 は固定モードおよびダイナミック・モードの動作をサポートしていますが、出 力 ID 7 はダイナミック・モードのみをサポートしています。 動作モードは ACP ID マッパのコントロール・レジスタおよびステータス・レジスタ へのアクセスを通してプログラム可能で、Level 4 のペリフェラル・バス接続を介し て使用可能です。リセット時には、ACP ID マッパは出力 ID 2 以外のすべての出力 ID をダイナミック ID マッピングにデフォルトし、DAP(Debug Access Port)の入力 ID を固定マッピングにリセットします。 表 6–5 に、3 ビット出力 ID の想定されている使用方法およびリセット時のそれらの 設定を示します。 表 6‒5. 想定されている ID の使用方法 出力 ID リセット・ス テート 7 ダイナミック ダイナミック・マッピングのみです。 ダイナミック 固定マッピングまたはダイナミック・マッピングで、ソフト ウェアによりプログラムされます。 想定されている使用方法 6 5 4 3 2 1 0 リセット時に DAP の入力 ID に割り当てられます。リセット 0x001(DAP) 後、固定マッピングまたはダイナミック・マッピングのどち で固定 らかが可能で、ソフトウェアによりプログラムされます。 — ACP ID マッパによって使用されることはありません。 受信されるトランザクションの AXI ユーザー側波帯信号を駆動できないマスタでは、 ACP ID マッパがこの信号のオーバーライドを制御できます。また、ACP ID マッパは、 メモリ内への 1 GB のコヒーレント・ウィンドウのうちどれが L3 インタコネクトの マスタによってアクセスされるかということも制御できます。各固定マッピングに は異なるユーザー側波帯信号およびメモリ・ウィンドウを割り当てることができて、 異なるマスタ用の特別な設定が可能となります。すべてのダイナミック・マッピン グは共通のユーザー側波帯信号およびメモリ・ウィンドウ設定を共有します。 Cyclone V デバイス・ハンドブック Volume 3:ハード・プロセッサ・システムのテクニカル・リファレンス・マニュアル 2012 年 11 月 Altera Corporation 第 6 章: Cortex-A9 マイクロプロセッサ・ユニット・サブシステム Cortex-A9 MPU サブシステム・コンポーネント 6‒23 トランザクション機能 どの時点においても、ACP ID マッパは ID マッピングごとに最大 15 個のトランザク ションを受信および発行できます。書き込みおよび読み出しの ID マッピングは別々 のリストで管理され、固有の入力 ID をいつでもリマップできるようになっていま す。同じ入力 ID を持っている一連の読み出しおよび書き込みをマスタが発行する場 合、順序の制約はありません。 使用可能な出力 ID が 6 個しかないため、固有 ID を持っているリードおよびライト・ トランザクションそれぞれを一度に 6 より多くすることはできません。ACP スレー ブによる書き込みの受け入れは 5 個のトランザクションで、読み出しの受け入れは 13 個のトランザクションです。コヒーレント・リード・トランザクションは、ID マッピングごとに一度に 4 個のみ未処理にできます。 ダイナミック・マッピング・モード ダイナミック・モードでは、L3 マスタ・ポートから受信されるすべての固有入力 ID は未使用出力 ID に割り当てられます。新規の出力 ID は、SCU の ACP スレーブに発 行されたものとしてトランザクションに適用されます。ACP ID マッパに到達するト ランザクションのうち既に実行中のトランザクションと一致する入力 ID を持ったト ランザクションは、それ(実行中のトランザクション)と同じ出力 ID にマップされ ます。ID マッピング上のすべてのトランザクションが完了すると、出力 ID がリリー スされて他の入力 ID に再度使用されます。 固定マッピング・モード 固定モードでは、出力 ID 2 ~ 6 はソフトウェアによって 12 ビットの特別な入力 ID に割り当てることができます。これにより、マスタからの入力トランザクションの ID が常に特別な出力 ID に割り当てられるため、L2 キャッシュ・コントローラのロッ ク・バイ・マスタ機能を使用できるようになります。ダイナミック・モードとは異 なり、システムのデッドロックを回避するために ID 7 がダイナミック・モード用の みに予約されているため、ID 7 は固定マッピングに使用不可能です。 ACP ID マッパには、マッピングの動作を制御するためのレジスタのバンクが 2 個、 すなわちリクエスト・バンクおよび読み出し専用ステータス・バンクがあります。 どちらのバンクにも同じ数のレジスタが内蔵されています。特定のマッピング(特 別な固定 ID またはすべてのダイナミック・マッピングのいずれか)の設定を変更す るには、ソフトウェアがリクエスト・バンクの適切なレジスタに書き込む必要があ ります。ハードウェアはリクエストを決定し、安全な場合、つまり出力 ID を持つ未 処理トランザクションがない場合のみ変更を適用します。変更が適用されると、ス テータス・レジスタが更新されます。ソフトウェアは、対応するステータス・レジ スタをポーリングすることで、実際に変更が起きたことを確認する必要があります。 2012 年 11 月 Altera Corporation Cyclone V デバイス・ハンドブック Volume 3:ハード・プロセッサ・システムのテクニカル・リファレンス・マニュアル 6‒24 第 6 章: Cortex-A9 マイクロプロセッサ・ユニット・サブシステム Cortex-A9 MPU サブシステム・コンポーネント 表 6–6 に、ACP ID マッパにアクセスできる、各 HPS ペリフェラル・マスタ用にイン タコネクトから発行される入力 ID を示します。 表 6‒6. HPS ペリフェラル・マスタの入力 ID インタコネクト・マスタ ID (1) DMA 00000xxxx011 EMAC0 10000xxxx001 EMAC1 10000xxxx010 USB0 100000000011 USB1 100000000110 NAND 1xxxxxxxx100 ETR 100000000000 DAP 000000000001 SD/MMC 100000000101 FPGA-to-HPS ブリッジ 0xxxxxxxx100 表 6–6 の注: (1) これらの値はバイナリです。x の文字は、各マスタが各トランザクションに渡す変数の ID ビットを 示しています。 AXI ユーザー側波帯信号の制御 ACP ID マッパ・モジュールは、AXI ユーザー側波帯信号の値の制御を可能にします。 すべてのマスタがこれらの信号を駆動するわけではないので、ACP ID マッパは、デ フォルト値(ダイナミック・モード)または特別な値(固定モード)のいずれかを 持つ 5 ビットのユーザー側波帯信号を駆動できるようにします。 ユーザー側波帯信号のデフォルト値をすべてのトランザクションにコンフィギュ レーションし、固定マッピング・モードでこれらの信号の固定値を特定のトランザ クションにコンフィギュレーションする上で使用可能なレジスタがあります。ダイ ナミック・モードでは、受信トランザクションのユーザー側波帯信号はレジスタに 保存されているデフォルト値にマップされます。固定マッピング・モードでは、ト ランザクションの入力 ID は 3 ビットの出力 ID にマップされ、トランザクションの ユーザー側波帯信号はレジスタ内に保存されている出力 ID 対応の値にマップされま す。しかし、ID に関連するユーザー側波帯の値に関係なく、常に FPGA-to-HPS ブ リッジからのユーザー側波帯信号が ACP を通過できるようにする、という重要な例 外が ACP ID マッパにはあります。 Cyclone V デバイス・ハンドブック Volume 3:ハード・プロセッサ・システムのテクニカル・リファレンス・マニュアル 2012 年 11 月 Altera Corporation 第 6 章: Cortex-A9 マイクロプロセッサ・ユニット・サブシステム Cortex-A9 MPU サブシステム・コンポーネント 6‒25 メモリ領域のリマップ ACP ID マッパには、デフォルトでは下位 1 GB の SDRAM へのビューである 1 GB のア ドレス空間があります。また、マッパは、ダイナミック・モードでも固定モードで も、ページと呼ばれる 1 GB サイズのさまざまなメモリ領域にトランザクションが配 線されるようにします。受信される 32 ビット AXI アドレス信号の 2 つの極めて重要 なビットは、ユーザーによるコンフィギュレーション可能な 2 ビットのアドレス・ ページのデコード情報と置き換えられます。ページ・デコーダは、表 6–7 に示す値 を使用します。 表 6‒7. ページ・デコーダの値 ページ アドレス範囲 0 0x00000000—0x3FFFFFFF 1 0x40000000—0x7FFFFFFF 2 0x80000000—0xBFFFFFFF 3 0xC0000000—0xFFFFFFFF MPU サブシステムとのキャッシュ・コヒーレンシが維持されている間、このペー ジ・デコード情報を使用して、マスタは 4 GB のメモリ空間の任意の 1 GB 領域に対 して読み出しおよび書き込みができます。 この機能を使用して、デバッガはプロセッサを停止させることなくメイン・メモリ へのコヒーレント・ビューを保持することができます。例えば、リセット時に DAP 入力 ID(0x001)が出力 ID 2 にマップされるため、デバッガは ACP への他のトラ フィック・フローに影響を与えることなく DAP にアクセスする 1 GB のウィンドウを 変更することができます。 L2 キャッシュ MPU サブシステムには、512 KB の L2 セカンダリ共有統一キャッシュ・メモリが含 まれています。 機能の説明 L2 キャッシュは L1 キャッシュよりもはるかに大容量です。L2 キャッシュは外部メ モリよりも極端に低いレイテンシです。L2 キャッシュは最大 8 方向連想で、最小 1 方向までコンフィギュレーション可能です(直接マップ)。L1 キャッシュと同様に、 L2 キャッシュはキャッシュ・ライン、方向、またはバス・マスタによってロック可 能です。 L2 キャッシュは、誤り訂正コード(ECC)および ECC エラー・レポートを実装しま す。このキャッシュはプロセッサおよび動作システムへのイベントの数をレポート できます。 L2 キャッシュは、以下のようにコンフィギュレーションされた ARM L2C-310 L2 キャッシュ・コントローラから構成されています。 2012 年 11 月 ■ 512 KB の合計メモリ ■ 8 方向連想性 ■ 物理的にアドレスされ、物理的にタグされた状態 ■ 32 バイトのライン長 Altera Corporation Cyclone V デバイス・ハンドブック Volume 3:ハード・プロセッサ・システムのテクニカル・リファレンス・マニュアル 6‒26 第 6 章: Cortex-A9 マイクロプロセッサ・ユニット・サブシステム Cortex-A9 MPU サブシステム・コンポーネント ■ クリティカル・ファースト・ワード・ラインフィル ■ 表 6–8 に示すような AXI キャッシュ・モードのサポート 表 6‒8. AXI キャッシュ・モードのサポート キャッシュ・モード ライト・スルー (1) ライト・バック (1) リード割り当て ライト割り当て リードおよびライト割り当て 表 6–8 の注: (1) ECC を使用している場合は制約があります。SEU 保護について詳しくは、Cyclone V デバイス・ハン ドブック volume 3 の System Manager の章を参照してください。 ■ SEU(Single Event Upset)保護 ■ タグ RAM 上でのパリティ ■ L2 データ RAM 上での ECC f SEU 保護について詳しくは、Cyclone V デバイス・ハンドブック volume 3 の System Manager の章を参照してください。 ■ SCU にマスタされた 2 個のスレーブ・ポート ■ 以下のスレーブ・ポートに接続された 2 個のマスタ・ポート ■ ■ 64 ビットのスレーブ・ポート幅の SDRAM コントローラ ■ 64 ビットのスレーブ・ポート幅の L3 インタコネクト 以下のようなキャッシュ・ロックダウン機能 ■ ライン・ロックダウン ■ 方向によるロックダウン ■ マスタによるロックダウン(プロセッサおよび ACP マスタの両方) ■ TrustZone サポート ■ キャッシュ・イベントのモニタ。詳しくは、6–28 ページの「L2 キャッシュ・イベ ントのモニタ」を参照してください。 6–2 ページの 図 6–1 に L2 キャッシュを示しています。L2 キャッシュは、L3 インタ コネクト・ファブリックまたは SDRAM のどちらかにアクセスできます。L2 キャッ シュのアドレス・フィルタリングは、6–9 ページの「メモリ・マネージメント・ユ ニット」で説明しているように、HPS-to-FPGA ブリッジおよび SDRAM に割り当てら れるそれぞれのアドレス空間の容量を決定します。 ECC サポート L2 キャッシュには、キャッシュ RAM での SEU エラーから保護するために ECC を使 用するオプションがあります。 Cyclone V デバイス・ハンドブック Volume 3:ハード・プロセッサ・システムのテクニカル・リファレンス・マニュアル 2012 年 11 月 Altera Corporation 第 6 章: Cortex-A9 マイクロプロセッサ・ユニット・サブシステム Cortex-A9 MPU サブシステム・コンポーネント 6‒27 ECC をイネーブルしても L2 キャッシュのパフォーマンスに影響しません。ECC ビッ トは、64 ビット幅(8 バイト、またはキャッシュ・ライン長の 4 分の 1)のデータ RAM への書き込みのためのみに計算されます。ECC ロジックは、ECC ビットを計算 しているときはリード・モディファイ・ライトを実行しません。ECC 保護ビットは 以下の場合では有効ではありません。 ■ メモリにアラインメントされていない 64 ビットのデータが書き込まれる場合。 ■ 64 ビットより狭い幅のデータが書き込まれる場合。 これらの場合、Byte Write Error 割り込みがアサートされます。そのようなエラーが起 きる場合、キャッシュ・データはまだ書き込まれています。しかし、ECC エラー検 出および ECC エラー訂正は機能し続けます。そのため、キャッシュ・データは次の 読み出し時に不正となる可能性があります。 ECC を使用するには、ソフトウェアおよびシステムが以下の要件を満たしている必 要があります。 ■ L1 および L2 キャッシュが任意のキャッシュ可能領域にライト・バック割り当てと してコンフィギュレーションされていること。 ■ ACP を使用している FPGA ソフト IP が以下のタイプのデータ書き込みのみを実行す ること。 ■ メモリにアラインメントされた 64 ビット ■ 64 ビット幅のアクセス f SEU エラーについて詳しくは、Cyclone V デバイス・ハンドブック volume 3 の System Manager の章を参照してください。 実装の詳細 表 6–9 に、キャッシュ・コントローラのパラメータ設定を示します。 表 6‒9. キャッシュ・コントローラのコンフィギュレーション 機能 意味 キャッシュ方向サイズ 64 KB キャッシュ方向の数 8 方向 RAM レイテンシ 2 サイクルのレイテンシ パリティ・ロジック パリティ・ロジックがイネーブル状態 マスタによるロックダウン マスタによるロックダウンがイネーブル状態 ラインによるロックダウン ラインによるロックダウンがイネーブル状態 スレーブ・ポートでの AXI ID 幅 スレーブ・ポートでの AXI ID 6 ビット アドレス・フィルタリング アドレス・フィルタリング・ロジックがイ ネーブル状態 推定的な読み出し 推定的な読み出しをサポートするロジックが イネーブル状態 ARUSERMx および AWUSERMx の側波帯 側波帯信号がイネーブル状態 信号の存在 2012 年 11 月 Altera Corporation Cyclone V デバイス・ハンドブック Volume 3:ハード・プロセッサ・システムのテクニカル・リファレンス・マニュアル 6‒28 第 6 章: Cortex-A9 マイクロプロセッサ・ユニット・サブシステム Cortex-A9 MPU サブシステム・コンポーネント f キャッシュ・コントローラのコンフィギュレーション可能なオプションについて詳 しくは、ARM のウェブサイト(infocenter.arm.com)で使用可能な CoreLink Level 2 Cache Controller L2C-310 Technical Reference Manual の Revision r3p2 を参照してくださ い。 L2 キャッシュ・ロックダウン機能 L2 キャッシュには、キャッシュ RAM のデータをロックする方法が 3 種類あります。 ■ ラインによるロックダウン — キャッシュのラインをロックするために使用されま す。これは、ソフトウェアのクリティカルな部分を一時的にキャッシュ内にロー ドするために一般的に使用されます。 ■ 方向によるロックダウン — キャッシュの 8 方向のうち任意またはすべてをロック できるようにします。これは、クリティカルなデータまたはコードをキャッシュ 内にロードするために一般的に使用されます。 ■ マスタによるロックダウン — キャッシュの方向がシングル・マスタ・ポートに対 して専用にします。これによって、大規模なキャッシュが複数のマスタ・ポート に対してより小規模なキャッシュに見えるようにします。L2 キャッシュは、合計 8 個の可能なマスタ・ポート用として CPU0、CPU1、または 6 個の ACP マスタに よってマスタできます。 f L2 キャッシュのロックダウン機能について詳しくは、ARM のウェブサイト (infocenter.arm.com)で使用可能な CoreLink Level 2 Cache Controller L2C-310 Technical Reference Manual の Revision r3p2 の Functional Overview の章の「Cache operation」を参 照してください。 L2 キャッシュ・イベントのモニタ L2 キャッシュは、表 6–10 に示すビルトイン・キャッシュ・イベント・モニタリング 信号をサポートしています。L2 キャッシュは、どの時点でも一度に 2 つのイベント をカウントすることができます。 Cyclone V デバイス・ハンドブック Volume 3:ハード・プロセッサ・システムのテクニカル・リファレンス・マニュアル 2012 年 11 月 Altera Corporation 第 6 章: Cortex-A9 マイクロプロセッサ・ユニット・サブシステム Cortex-A9 MPU サブシステム・コンポーネント 6‒29 表 6‒10. L2 キャッシュ・イベント イベント CO 説明 L2 キャッシュからのラインのキャッシュ・アウトです。 DRHIT L2 キャッシュでのデータ・リード・ヒットです。 DRREQ L2 キャッシュへのデータ・リード・ルックアップです。その後、結果はヒットまたはミス となります。 DWHIT L2 キャッシュでのデータ・ライト・ヒットです。 DWREQ L2 キャッシュへのデータ・リード・ルックアップです。その後、結果はヒットまたはミス となります。 DWTREQ ライト・スルー属性を持っている L2 キャッシュへのデータ・ライト・ルックアップです。 その後、結果はヒットまたはミスとなります。 EPFALLOC L2 キャッシュ内に割り当てられたプリフェッチ・ヒントです。 EPFHIT L2 キャッシュでのプリフェッチ・ヒント・ヒットです。 EPFRCVDS0 スレーブ・ポート S0 によって受信されるプリフェッチ・ヒントです。 EPFRCVDS1 スレーブ・ポート S1 によって受信されるプリフェッチ・ヒントです。 IPFALLOC L2 キャッシュ・コントローラによって生成されたプリフェッチの L2 キャッシュへの割り 当てです。 IRHIT L2 キャッシュでの命令リード・ヒットです。 IRREQ L2 キャッシュへの命令リード・ルックアップです。その後、結果はヒットまたはミスとな ります。 SPNIDEN セキュア非侵襲的特権デバッグのイネーブルです。 SRCONFS0 スレーブ・ポート S0 で確認される推定的な読み出しです。 SRCONFS1 スレーブ・ポート S1 で確認される推定的な読み出しです。 SRRCVDS0 スレーブ・ポート S0 で受信される推定的な読み出しです。 SRRCVDS1 スレーブ・ポート S1 で受信される推定的な読み出しです。 WA ライト割り当て属性を持った書き込みのミスに起因する L2 キャッシュへのプリフェッチ の割り当てです。 f ビルトイン L2 イベントのモニタリング機能について詳しくは、ARM のウェブサイト (infocenter.arm.com)で使用可能な CoreLink Level 2 Cache Controller L2C-310 Technical Reference Manual の Revision r3p2 の Functional Overview の章の「Implementation details」 を参照してください。 更に L2 キャッシュ・イベントは、専用デバッグ回路を使用してキャプチャおよびタ イムスタンプできます。 f L2 イベント・キャプチャについて詳しくは、ARM のウェブサイト (infocenter.arm.com)で使用可能な Cortex-A9 MPCore Technical Reference Manual の Revision r3p0 の Debug の章を参照してください。 デバッグ・モジュール MPU サブシステムには、ARM CoreSight のオンチップ・デバッグおよびトレースを経 由するデバッグ・リソースが含まれています。以下の機能が含まれています。 ■ 2012 年 11 月 各プロセッサ用の個別のプログラム・トレース Altera Corporation Cyclone V デバイス・ハンドブック Volume 3:ハード・プロセッサ・システムのテクニカル・リファレンス・マニュアル 6‒30 第 6 章: Cortex-A9 マイクロプロセッサ・ユニット・サブシステム Cortex-A9 MPU サブシステム・コンポーネント ■ Cortex-A9 MPCore 用のイベント・トレース ■ プロセッサおよび他の HPS デバッグの機能間のクロス・トリガ プログラム・トレース 各プロセッサには、リアルタイムの命令フロー・トレースを提供する独立した PTM が内蔵されています。PTM は、多くのサード・パーティのデバッグ・ツールと互換 性があります。 PTM は、高圧縮フォーマットのトレース・データを提供します。トレース・データ には、ウェイポイントと呼ばれるプログラム実行フローでの特定ポイントのための タグが含まれています。ウェイポイントは、プログラム・フローにおける特定イベ ントまたは変更です。 PTM は、表 6–11 に示したウェイポイントを認識してタグを付けます。 表 6‒11. PTM でサポートされているウェイポイント タイプ 間接分岐 ウェイポイントに関する追加情報 ターゲット・アドレスおよびコンディ ション・コード 直接分岐 コンディション・コード 命令バリアの命令 — 例外 例外が発生した位置 プロセッサ命令設定ステートの変更 — プロセッサ・セキュリティ・ステートの変更 — コンテキスト ID の変更 — 停止デバッグ・モードがイネーブルされてい る場合のデバッグ・ステート間の出入り — PTM は、以下を含むウェイポイントの追加情報をオプションとして提供します。 ■ ウェイポイント間のプロセッサ・サイクル・カウント ■ グローバル・タイムスタンプ値 f グローバル・タイムスタンプについて詳しくは、Cyclone V デバイス・ハン ドブック volume 3 の CoreSight Debug and Trace の章を参照してください。 ■ 直接分岐用のターゲット・アドレス f PTM について詳しくは、ARM のウェブサイト(infocenter.arm.com)で使用可能な CoreSight PTM-A9 Technical Reference Manual の Revision r1p0 を参照してください。 イベント・トレース 各プロセッサからのイベントは PTM への入力として使用できます。PTM は、これら のイベントをトレース状態およびトリガ状態として使用できます。 イベント・トレースについて詳しくは、6–11 ページの「パフォーマンス・モニタリ ング・ユニット」を参照してください。. Cyclone V デバイス・ハンドブック Volume 3:ハード・プロセッサ・システムのテクニカル・リファレンス・マニュアル 2012 年 11 月 Altera Corporation 第 6 章: Cortex-A9 マイクロプロセッサ・ユニット・サブシステム Cortex-A9 MPU サブシステムのレジスタ実装 6‒31 f トリガ機能およびトレース機能について詳しくは、ARM のウェブサイト (infocenter.arm.com)で使用可能な CoreSight PTM-A9 Technical Reference Manual の Revision r1p0 を参照してください。 クロス・トリガ PTM は、トリガ・イベントをエクスポートしてトリガ入力時に動作を実行できます。 クロス・トリガ信号は、FPGA ファブリックを含む他の HPS デバッグ・コンポーネン トとインタフェースします。また、1 つのプロセッサのブレークポイントは他のプロ セッサのブレークをトリガできます。 f クロス・トリガについて詳しくは、Cyclone V デバイス・ハンドブック volume 3 の CoreSight Debug and Trace の章を参照してください。 f MPU のハードウェアのデバッグについて詳しくは、Cyclone V デバイス・ハンドブッ ク volume 3 の CoreSight Debug and Trace の章を参照してください。 Cortex-A9 MPU サブシステムのレジスタ実装 以下のコンフィギュレーションは、Cortex-A9 サブシステムのレジスタを通して使用 可能です。 ■ MMU や L1 キャッシュを含むプロセッサに関連するすべての制御は、各個別のプロ セッサの Coprocessor 15(CP15)レジスタを使用して制御されます。 ■ タイマおよび GIC 用の制御を含むすべての SCU レジスタは、メモリ・マップ・アク セス可能です。 ■ すべての L2 キャッシュ・レジスタはメモリ・マップされています。 f SCU および L2 キャッシュを含むペリフェラル・スレーブ・ポートのアドレス・マップ について詳しくは、Cyclone V デバイス・ハンドブック volume 3 の Introduction to the Hard Processor System の章を参照してください。アルテラ Cortex-A9 MPU サブシステ ムの詳細な定義について詳しくは、ARM のウェブサイト(infocenter.arm.com)で使 用可能な Cortex-A9 MPCore Technical Reference Manual の Revision r1p0、および CoreLink Level 2 Cache Controller L2C-310 Technical Reference Manual の Revision r3p2 を参照してく ださい。 改訂履歴 表 6–12 に、本資料の改訂履歴を示します。 表 6‒12. 改訂履歴 バー ジョン 日付 2012 年 11 月 1.2 2012 年 5 月 1.1 2012 年 1 月 1.0 2012 年 11 月 変更内容 マイナーな更新。 ■ ACP ID マッパの説明の追加。 ■ 冗長な情報の集約。 初版。 Altera Corporation Cyclone V デバイス・ハンドブック Volume 3:ハード・プロセッサ・システムのテクニカル・リファレンス・マニュアル 6‒32 第 6 章: Cortex-A9 マイクロプロセッサ・ユニット・サブシステム 改訂履歴 Cyclone V デバイス・ハンドブック Volume 3:ハード・プロセッサ・システムのテクニカル・リファレンス・マニュアル 2012 年 11 月 Altera Corporation