6.cortex-a9マイクロプロセッサ・ユ ニット・サブ …...6‒2...

32
cv_54006-1.2 © 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. Cyclone V デバイス・ハンドブック Volume 3:ハード・プロセッサ・システムのテクニカル・リファレンス・マニュアル 2012 年 11 月 Subscribe ISO 9001:2008 Registered 6. Cortex-A9 マイクロプロセッサ・ユ ニット・サブシステム Altera ® SoC FPGA 視飼使旨昨雌実詩質寺竺止紫支質斯旨至痔θHPSχ削朔腰旨祉執詩 仔竺執埼児識㎏1昨 ARM ® Cortex™-A9 MPCore™ 昨斯執市識質思仔擦冴朔視自仔識質 思仔昨 32 似紫詞昨仔寺式師実斯辞執質寺竺止紫支歳零擦参崎哉擦際甑Cortex-A9 MPU 支字斯旨至痔朔腰Cortex-A9 MP CoreLevel 2θL2χ姿而紫斯自腰仔屍止鹿鴫実祉質思 事実鴫執斯質治実詞θACPχID 爾紫歯腰採皿索視飼紫市質示施自実識栽晒├耨細参 崎哉擦際甑 Cortex-A9 MPU サブシステムの機能 仔識至鹿 Cortex-A9 MPU 支字斯旨至痔削朔腰通託昨㎏1歳再三擦際甑 1 肴擦冴朔 2 肴昨 Cortex-A9 寺竺止紫支 某三Ů札思執詞竺実鹿 林寺竺止紫支ぁ昨寺鹿使持実詞質使執祉実飼識採皿索司四紫糸詩紫市質祉使爾 市竺実飼識質祉使爾 TrustZone ® 斯旨至痔質止姿自式至伺荐甍敕 SMPθSymmetric Multiprocessingχ示実詩採皿索 AMPθAsymmetric Multiprocessingχ 示実詩 視飼紫市質示施自実識 November 2012 cv_54006-1.2

Upload: others

Post on 14-Apr-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 6.Cortex-A9マイクロプロセッサ・ユ ニット・サブ …...6‒2 第6章:Cortex-A9マイクロプロセッサ・ユニット・サブシステム Cortex-A9 MPUサブシステムのブロック図およびシステム統合

cv_54006-1.2

© 2012 Altera Corporation. All rights reserved. ALTERA, ARRIare trademarks of Altera Corporation and registered in the U.Strademarks or service marks are the property of their respectivsemiconductor products to current specifications in accordanceservices at any time without notice. Altera assumes no responsdescribed herein except as expressly agreed to in writing by Alon any published information and before placing orders for pr

Portions © 2011 ARM Limited. Used with permission. All rightregistered trademarks of ARM Limited. The ARM logo, Angel,Multi-ICE, NEON, PrimeCell, ARM7TDMI, ARM7TDMI-S, ARLimited. All other products or services mentioned herein may bin, or the product described in, this document may be adapted The product described in this document is subject to continuoudocument are given by ARM in good faith. However, all warrafitness for purpose, are excluded. This document is intended odamage arising from the use of any information in this documeARM is used it means “ARM or any of its subsidiaries as approbe subject to license restrictions in accordance with the terms oinformation in this document is final, that is for a developed pr

Cyclone Vデバイス・ハンドブックVolume 3:ハード・プロセッサ・システムのテ2012 年 11 月

November 2012cv_54006-1.2

6. Cortex-A9 マイクロプロセッサ・ユニット・サブシステム

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)モード

■ デバッグ・モジュール

A, CYCLONE, HARDCOPY, MAX, MEGACORE, NIOS, QUARTUS and STRATIX words and logos . Patent and Trademark Office and in other countries. All other words and logos identified as e holders as described at www.altera.com/common/legal.html. Altera warrants performance of its with Altera's standard warranty, but reserves the right to make changes to any products and ibility or liability arising out of the application or use of any information, product, or service tera. Altera customers are advised to obtain the latest version of device specifications before relying oducts or services.

s reserved. ARM, the ARM Powered logo, AMBA, Jazelle, StrongARM, Thumb, and TrustZone are ARMulator, AHB, APB, ASB, ATB, AXI, CoreSight, Cortex, EmbeddedICE, ModelGen, MPCore, M9TDMI, ARM9E-S, ARM966E-S, ETM7, ETM9, TDMI and STRONG are trademarks of ARM e trademarks of their respective owners. Neither the whole nor any part of the information contained or reproduced in any material form except with the prior written permission of the copyright holder. s developments and improvements. All particulars of the product and its use contained in this nties implied or expressed, including but not limited to implied warranties of merchantability, or

nly to assist the reader in the use of the product. ARM Limited shall not be liable for any loss or nt, or any error or omission in such information, or any incorrect use of the product. Where the term priate”. This document is Non-Confidential. The right to use, copy and disclose this document may f the agreement entered into by ARM and the party that ARM delivered this document to. The oduct.

クニカル・リファレンス・マニュアル

Subscribe

ISO 9001:2008 Registered

Page 2: 6.Cortex-A9マイクロプロセッサ・ユ ニット・サブ …...6‒2 第6章:Cortex-A9マイクロプロセッサ・ユニット・サブシステム Cortex-A9 MPUサブシステムのブロック図およびシステム統合

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 サブシステム

L2 Cache

MPU SubsystemL3 Interconnect(NIC-301)

SDRAMController

Subsystem

ACP IDMapper

Interrupts

Debug Infrastructure

CPU1

SCUACP

M1M0

ARM Cortex-A9 MPCore

CPU0

Cyclone Vデバイス・ハンドブック 2012年 11 月 Altera CorporationVolume 3:ハード・プロセッサ・システムのテクニカル・リファレンス・マニュアル

Page 3: 6.Cortex-A9マイクロプロセッサ・ユ ニット・サブ …...6‒2 第6章:Cortex-A9マイクロプロセッサ・ユニット・サブシステム Cortex-A9 MPUサブシステムのブロック図およびシステム統合

第 6 章: Cortex-A9 マイクロプロセッサ・ユニット・サブシステム 6‒3Cortex-A9 MPU サブシステム・コンポーネント

図 6–2 に、アルテラ Cortex-A9 MPU サブシステムのブロック図を示します。

Cortex-A9 MPU サブシステム・コンポーネントアルテラ Cortex-A9 MPU サブシステムは、以下のハードウェア・ブロックで構成され

ています。

■ ARM Cortex-A9 MPCore

■ ARM L2C-310 L2 キャッシュ・コントローラ

図6‒2. Cortex-A9 MPU サブシステムの内部

Cortex-A9 MPU Subsystem

512 KB L2 Cache

ARM Cortex-A9 MPCore

GIC (Generic Interrupt Controller)

Global Timer

CPU1 (Dual-Core HPS Only)

Snoop Control UnitAccelerator Coherency Port

CPU0 Private Watchdog Timer

CPU0

ARM Cortex-A9 Processor

NEON Media SIMDProcessing Engine with FPU

MMU

32 KBInstruction

Cache

32 KBData

Cache

NEON Media SIMDProcessing Engine with FPU

MMU

32 KBInstruction

Cache

32 KBData

Cache

ARM Cortex-A9 Processor

CPU0 Private Interval Timer CPU1 Private Watchdog TimerCPU1 Private Interval Timer

CoreSight Multicore Debug and Trace

Cross Triggering

Event Trace

CPU0 Performance Monitor

CPU0 Program Trace

CPU1 Performance Monitor

CPU1 Program Trace

Debugging Modules

ACP ID Mapper

2012 年 11 月 Altera Corporation Cyclone Vデバイス・ハンドブックVolume 3:ハード・プロセッサ・システムのテクニカル・リファレンス・マニュアル

Page 4: 6.Cortex-A9マイクロプロセッサ・ユ ニット・サブ …...6‒2 第6章:Cortex-A9マイクロプロセッサ・ユニット・サブシステム Cortex-A9 MPUサブシステムのブロック図およびシステム統合

6‒4 第 6 章: Cortex-A9 マイクロプロセッサ・ユニット・サブシステムCortex-A9 MPUサブシステム・コンポーネント

■ ACP ID マッパ

■ デバッグ機能およびトレース機能

この項では、Cortex-A9 MPU サブシステムのコンポーネントについて説明します。

Cortex-A9 MPCoreMPU サブシステムには、スタンドアロンでフル機能の 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デバイス・ハンドブック 2012年 11 月 Altera CorporationVolume 3:ハード・プロセッサ・システムのテクニカル・リファレンス・マニュアル

Page 5: 6.Cortex-A9マイクロプロセッサ・ユ ニット・サブ …...6‒2 第6章:Cortex-A9マイクロプロセッサ・ユニット・サブシステム Cortex-A9 MPUサブシステムのブロック図およびシステム統合

第 6 章: Cortex-A9 マイクロプロセッサ・ユニット・サブシステム 6‒5Cortex-A9 MPU サブシステム・コンポーネント

実装の詳細表 6–1 に、アルテラ Cortex-A9 MPCore のパラメータ設定を示します。

f Cortex-A9 MPCore のコンフィギュレーション可能なオプションについて詳しくは、

ARM のウェブサイト(infocenter.arm.com)で使用可能な Cortex-A9 MPCore Technical Reference Manual の Revision r3p0 の Introduction の章を参照してください。

Cortex-A9 プロセッサ各 Cortex-A9 プロセッサには以下のハードウェア・ブロックが含まれています。

■ メディア処理および信号処理を高速化するためのベクタ浮動小数点(VFP)v3 倍

精度浮動小数点ユニットを持っている、ARM NEON™ シングル命令の複数データ

(SIMD)コプロセッサ

■ 単精度または倍精度の IEEE-754 浮動小数点の演算サポート

■ 整数および多項式の演算サポート

■ パリティ・チェックのある Level 1(L1)キャッシュ

■ 32 KB の 4 方向セット連想命令キャッシュ

■ 32 KB の 4 方向セット連想データ・キャッシュ

■ CoreSight™ Program Trace Macrocell (PTM)サポートの命令キャッシュ

表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 を参照してください。

2012 年 11 月 Altera Corporation Cyclone Vデバイス・ハンドブックVolume 3:ハード・プロセッサ・システムのテクニカル・リファレンス・マニュアル

Page 6: 6.Cortex-A9マイクロプロセッサ・ユ ニット・サブ …...6‒2 第6章:Cortex-A9マイクロプロセッサ・ユニット・サブシステム Cortex-A9 MPUサブシステムのブロック図およびシステム統合

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デバイス・ハンドブック 2012年 11 月 Altera CorporationVolume 3:ハード・プロセッサ・システムのテクニカル・リファレンス・マニュアル

Page 7: 6.Cortex-A9マイクロプロセッサ・ユ ニット・サブ …...6‒2 第6章:Cortex-A9マイクロプロセッサ・ユニット・サブシステム Cortex-A9 MPUサブシステムのブロック図およびシステム統合

第 6 章: Cortex-A9 マイクロプロセッサ・ユニット・サブシステム 6‒7Cortex-A9 MPU サブシステム・コンポーネント

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)は、以下の動作の半精度、単精度、およ

び倍精度それぞれをフルにサポートしています。

■ 加算

■ 減算

■ 乗算

■ 除算

■ MAC(乗算累積)

2012 年 11 月 Altera Corporation Cyclone Vデバイス・ハンドブックVolume 3:ハード・プロセッサ・システムのテクニカル・リファレンス・マニュアル

Page 8: 6.Cortex-A9マイクロプロセッサ・ユ ニット・サブ …...6‒2 第6章:Cortex-A9マイクロプロセッサ・ユニット・サブシステム Cortex-A9 MPUサブシステムのブロック図およびシステム統合

6‒8 第 6 章: Cortex-A9 マイクロプロセッサ・ユニット・サブシステムCortex-A9 MPUサブシステム・コンポーネント

■ 平方根

また、FPU は、高水準言語で必要なゼロに丸める特別な動作を含め、浮動小数点

データのフォーマットおよび整数の間を変換します。

NEON マルチメディア・プロセッシング・エンジンNEON マルチメディア・プロセッシング・エンジン(MPE)は、メディアおよび信号

のプロセッシング・アプリケーション用のハードウェア・アクセラレーションを提

供します。図 6–3 に示すように、各 ARM Cortex-A9 プロセッサには、SIMD プロセッ

シングをサポートする ARM NEON MPE が含まれています。NEON プロセッシング・エ

ンジンは、ビデオのエンコーディングおよびデコーディング、2D や 3D のグラ

フィック、オーディオおよび音声の処理、画像処理、電話用、および音声合成など

のマルチメディア処理および信号処理のアルゴリズムを高速化します。

Cortex-A9 NEON MPE は、以下のタイプの動作を実行します。

■ SIMD およびスカラの単精度の浮動小数点演算

■ スカラの倍精度の浮動小数点演算

■ SIMD およびスカラの半精度の浮動小数点変換

■ 8 ビット、16 ビット、32 ビット、および 64 ビットの符号あり / 符号なし整数 SIMD 演

■ 8 ビットまたは 16 ビットのシングル・ビット係数用の多項式演算

以下の動作は使用可能です。

■ 加算および減算

■ オプショナルの累算付き乗算(MAC)

■ レーン選択動作で駆動される最大値または最小値

■ 逆平方根近似

■ レジスタ・バンク・レジデント・テーブル・ルックアップを含む包括的なデータ

構造のロード命令

図6‒3. シングル命令の複数データ(SIMD)プロセッシング

Single Instruction Multiple Data

Op

Source Register

Source Register

Destination Register

OpOpOp

Cyclone Vデバイス・ハンドブック 2012年 11 月 Altera CorporationVolume 3:ハード・プロセッサ・システムのテクニカル・リファレンス・マニュアル

Page 9: 6.Cortex-A9マイクロプロセッサ・ユ ニット・サブ …...6‒2 第6章:Cortex-A9マイクロプロセッサ・ユニット・サブシステム Cortex-A9 MPUサブシステムのブロック図およびシステム統合

第 6 章: Cortex-A9 マイクロプロセッサ・ユニット・サブシステム 6‒9Cortex-A9 MPU サブシステム・コンポーネント

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 をサポートしています。

メイン 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 あるいは、ブート領域を 64 KB のオンチップ RAM にマップすることができます。詳し

くは、Cyclone V デバイス・ハンドブック volume 3 の Interconnect の章を参照してくだ

さい。

表6‒2. サポートされている TLB

TLB タイプ メモリ・タイプ エントリ数 連想性

マイクロ TLB 命令 32 完全連想

マイクロ TLB データ 32 完全連想

メイン TLB 命令バスおよびデータ 128 2 方向連想

2012 年 11 月 Altera Corporation Cyclone Vデバイス・ハンドブックVolume 3:ハード・プロセッサ・システムのテクニカル・リファレンス・マニュアル

Page 10: 6.Cortex-A9マイクロプロセッサ・ユ ニット・サブ …...6‒2 第6章:Cortex-A9マイクロプロセッサ・ユニット・サブシステム Cortex-A9 MPUサブシステムのブロック図およびシステム統合

6‒10 第 6 章: Cortex-A9 マイクロプロセッサ・ユニット・サブシステムCortex-A9 MPUサブシステム・コンポーネント

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 キャッシュ」を参照してくださ

い。

図6‒4. MPCore アドレス・マップ

SDRAM

HPS Peripherals (64 MB)

HPS-to-FPGA(FPGA-Based Peripherals)

Boot Region

0xFFFF FFFF

0xC000 0000 (3 GB)

0x8000 0000 (2 GB)

0x4000 0000 (1 GB)

0

On-Chip RAM (64 KB)

Boot ROM (64 KB)

Mapping Options

0x1000 0000 (1 MB)

Addresses Are Not To Scale

0xFC00 0000

L2 Cache Filtering

SDRAM (1 MB)(Mapping Provided by

L2 Cache Filtering)

Cyclone Vデバイス・ハンドブック 2012年 11 月 Altera CorporationVolume 3:ハード・プロセッサ・システムのテクニカル・リファレンス・マニュアル

Page 11: 6.Cortex-A9マイクロプロセッサ・ユ ニット・サブ …...6‒2 第6章:Cortex-A9マイクロプロセッサ・ユニット・サブシステム Cortex-A9 MPUサブシステムのブロック図およびシステム統合

第 6 章: Cortex-A9 マイクロプロセッサ・ユニット・サブシステム 6‒11Cortex-A9 MPU サブシステム・コンポーネント

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:ハード・プロセッサ・システムのテクニカル・リファレンス・マニュアル

Page 12: 6.Cortex-A9マイクロプロセッサ・ユ ニット・サブ …...6‒2 第6章:Cortex-A9マイクロプロセッサ・ユニット・サブシステム Cortex-A9 MPUサブシステムのブロック図およびシステム統合

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 (2) エッジ

33 CortexA9_0 cpu0_parityfail_BTAC エッジ34 CortexA9_0 cpu0_parityfail_GHB エッジ35 CortexA9_0 cpu0_parityfail_I_Tag エッジ36 CortexA9_0 cpu0_parityfail_I_Data エッジ37 CortexA9_0 cpu0_parityfail_TLB エッジ38 CortexA9_0 cpu0_parityfail_D_Outer エッジ39 CortexA9_0 cpu0_parityfail_D_Tag エッジ40 CortexA9_0 cpu0_parityfail_D_Data エッジ41 CortexA9_0 cpu0_deflags0 レベル42 CortexA9_0 cpu0_deflags1 レベル43 CortexA9_0 cpu0_deflags2 レベル44 CortexA9_0 cpu0_deflags3 レベル45 CortexA9_0 cpu0_deflags4 レベル46 CortexA9_0 cpu0_deflags5 レベル47 CortexA9_0 cpu0_deflags6 レベル48 CortexA9_1 cpu1_parityfail (3) エッジ

49 CortexA9_1 cpu1_parityfail_BTAC エッジ50 CortexA9_1 cpu1_parityfail_GHB エッジ51 CortexA9_1 cpu1_parityfail_I_Tag エッジ52 CortexA9_1 cpu1_parityfail_I_Data エッジ53 CortexA9_1 cpu1_parityfail_TLB エッジ54 CortexA9_1 cpu1_parityfail_D_Outer エッジ55 CortexA9_1 cpu1_parityfail_D_Tag エッジ56 CortexA9_1 cpu1_parityfail_D_Data エッジ57 CortexA9_1 cpu1_deflags0 レベル

Cyclone Vデバイス・ハンドブック 2012年 11 月 Altera CorporationVolume 3:ハード・プロセッサ・システムのテクニカル・リファレンス・マニュアル

Page 13: 6.Cortex-A9マイクロプロセッサ・ユ ニット・サブ …...6‒2 第6章:Cortex-A9マイクロプロセッサ・ユニット・サブシステム Cortex-A9 MPUサブシステムのブロック図およびシステム統合

第 6 章: Cortex-A9 マイクロプロセッサ・ユニット・サブシステム 6‒13Cortex-A9 MPU サブシステム・コンポーネント

58 CortexA9_1 cpu1_deflags1 レベル59 CortexA9_1 cpu1_deflags2 レベル60 CortexA9_1 cpu1_deflags3 レベル61 CortexA9_1 cpu1_deflags4 レベル62 CortexA9_1 cpu1_deflags5 レベル63 CortexA9_1 cpu1_deflags6 レベル64 SCU scu_parityfail0 — エッジ

65 SCU scu_parityfail1 — エッジ

66 SCU scu_ev_abort エッジ67 L2 キャッシュ l2_ecc_byte_wr_IRQ — エッジ

68 L2 キャッシュ l2_ecc_corrected_IRQ — エッジ

69 L2 キャッシュ l2_ecc_uncorrected_IRQ — エッジ

70 L2 キャッシュ l2_combined_IRQ (4) レベル

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 — レベルまたはエッジ

表6‒3. GIC の割り込みマップ(その2)

GIC の割り込み数(1)

ソース・ブロック 割り込み名組み合わせ割り込み

トリガ

2012 年 11 月 Altera Corporation Cyclone Vデバイス・ハンドブックVolume 3:ハード・プロセッサ・システムのテクニカル・リファレンス・マニュアル

Page 14: 6.Cortex-A9マイクロプロセッサ・ユ ニット・サブ …...6‒2 第6章:Cortex-A9マイクロプロセッサ・ユニット・サブシステム Cortex-A9 MPUサブシステムのブロック図およびシステム統合

6‒14 第 6 章: Cortex-A9 マイクロプロセッサ・ユニット・サブシステムCortex-A9 MPUサブシステム・コンポーネント

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 — レベルまたはエッジ

表6‒3. GIC の割り込みマップ(その3)

GIC の割り込み数(1)

ソース・ブロック 割り込み名組み合わせ割り込み

トリガ

Cyclone Vデバイス・ハンドブック 2012年 11 月 Altera CorporationVolume 3:ハード・プロセッサ・システムのテクニカル・リファレンス・マニュアル

Page 15: 6.Cortex-A9マイクロプロセッサ・ユ ニット・サブ …...6‒2 第6章:Cortex-A9マイクロプロセッサ・ユニット・サブシステム Cortex-A9 MPUサブシステムのブロック図およびシステム統合

第 6 章: Cortex-A9 マイクロプロセッサ・ユニット・サブシステム 6‒15Cortex-A9 MPU サブシステム・コンポーネント

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 EMAC0 emac0_IRQ (5) レベル

148 EMAC0 emac0_tx_ecc_corrected_IRQ レベル

149 EMAC0 emac0_tx_ecc_uncorrected_IRQ レベル

150 EMAC0 emac0_rx_ecc_corrected_IRQ レベル

151 EMAC0 emac0_rx_ecc_uncorrected_IRQ レベル

152 EMAC1 emac1_IRQ (5) レベル

153 EMAC1 emac1_tx_ecc_corrected_IRQ レベル

154 EMAC1 emac1_tx_ecc_uncorrected_IRQ レベル

155 EMAC1 emac1_rx_ecc_corrected_IRQ レベル

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 レベル

表6‒3. GIC の割り込みマップ(その4)

GIC の割り込み数(1)

ソース・ブロック 割り込み名組み合わせ割り込み

トリガ

2012 年 11 月 Altera Corporation Cyclone Vデバイス・ハンドブックVolume 3:ハード・プロセッサ・システムのテクニカル・リファレンス・マニュアル

Page 16: 6.Cortex-A9マイクロプロセッサ・ユ ニット・サブ …...6‒2 第6章:Cortex-A9マイクロプロセッサ・ユニット・サブシステム Cortex-A9 MPUサブシステムのブロック図およびシステム統合

6‒16 第 6 章: Cortex-A9 マイクロプロセッサ・ユニット・サブシステムCortex-A9 MPUサブシステム・コンポーネント

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_uncorrected_IRQ レベル

174 SDMMC sdmmc_portb_ecc_corrected_IRQ レベル

175 SDMMC sdmmc_portb_ecc_uncorrected_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) レベル

188 SPI2 spi2_IRQ (6) レベル

189 SPI3 spi3_IRQ (6) レベル

190 I2C0 i2c0_IRQ (7) レベル

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) レベル

表6‒3. GIC の割り込みマップ(その5)

GIC の割り込み数(1)

ソース・ブロック 割り込み名組み合わせ割り込み

トリガ

Cyclone Vデバイス・ハンドブック 2012年 11 月 Altera CorporationVolume 3:ハード・プロセッサ・システムのテクニカル・リファレンス・マニュアル

Page 17: 6.Cortex-A9マイクロプロセッサ・ユ ニット・サブ …...6‒2 第6章:Cortex-A9マイクロプロセッサ・ユニット・サブシステム Cortex-A9 MPUサブシステムのブロック図およびシステム統合

第 6 章: Cortex-A9 マイクロプロセッサ・ユニット・サブシステム 6‒17Cortex-A9 MPU サブシステム・コンポーネント

グローバル・タイマMPU は、グローバルで 64 ビットの自動インクリメント・タイマを機能させます。こ

れは、動作システムによって最初に使用されます。

機能の説明グローバル・タイマは、SCU を経由したメモリ・マップド・アクセスを使用してプ

ロセッサによってアクセス可能です。グローバル・タイマには以下の機能がありま

す。

■ 自動インクリメント機能を持っている 64 ビットのインクリメント・カウンタ。割

り込みの送信後にインクリメントを継続します。

■ プライベート・メモリ領域へのメモリ・マップド。

■ セキュア・ステートのみでのリセット時のアクセス。セキュア・ステートは 1 回

のみ設定可能ですが、セキュア・コードの読み出しは何度でも可能です。

■ MPCore の Cortex-A9 プロセッサ両方にアクセス可能。

202 タイマ 3 timer_osc1_1_IRQ (8) レベル

203 ウォッチドッグ 0 wdog0_IRQ — レベル

204 ウォッチドッグ 1 wdog1_IRQ — レベル

205 クロック・マネージャ

clkmgr_IRQ レベル

206 クロック・マネージャ

mpuwakeup_IRQ レベル

207 FPGA マネージャ fpga_man_IRQ (9) レベル

208 CoreSight nCTIIRQ[0] レベル

209 CoreSight nCTIIRQ[1] レベル

210 オンチップ RAM ram_ecc_corrected_IRQ レベル

211 オンチップ RAM ram_ecc_uncorrected_IRQ レベル

表 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]。

表6‒3. GIC の割り込みマップ(その6)

GIC の割り込み数(1)

ソース・ブロック 割り込み名組み合わせ割り込み

トリガ

2012 年 11 月 Altera Corporation Cyclone Vデバイス・ハンドブックVolume 3:ハード・プロセッサ・システムのテクニカル・リファレンス・マニュアル

Page 18: 6.Cortex-A9マイクロプロセッサ・ユ ニット・サブ …...6‒2 第6章:Cortex-A9マイクロプロセッサ・ユニット・サブシステム Cortex-A9 MPUサブシステムのブロック図およびシステム統合

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デバイス・ハンドブック 2012年 11 月 Altera CorporationVolume 3:ハード・プロセッサ・システムのテクニカル・リファレンス・マニュアル

Page 19: 6.Cortex-A9マイクロプロセッサ・ユ ニット・サブ …...6‒2 第6章:Cortex-A9マイクロプロセッサ・ユニット・サブシステム Cortex-A9 MPUサブシステムのブロック図およびシステム統合

第 6 章: Cortex-A9 マイクロプロセッサ・ユニット・サブシステム 6‒19Cortex-A9 MPU サブシステム・コンポーネント

図 6–5 に、L1 データ・キャッシュおよび SCU の間でのデータ・フローを表示し、

デュアル・プロセッサ・システムの SCU を示します。

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 からのアクセスを管理します。

図6‒5. コヒーレント・メモリ、SCU、およびアクセラレータ・コヒーレンシ・ポート

FPGA Fabric

HPSMastering

Peripherals

Level 3 (L3)Interconnect

AcceleratorCoherencyPort (ACP) Level 2 (L2) Unified Cache

ACP

ID M

appe

r Snoop Control Unit (SCU)

ARM Cortex-A932-Bit Dual-Issue

SuperscalarRISC Processor

L1 DataCache

32 KBInstruction

Cache

ARM Cortex-A932-Bit Dual-Issue

SuperscalarRISC Processor

L1 DataCache

32 KBInstruction

Cache

CoherentMemory

BidirectionalCoherency

UnidirectionalCoherency

2012 年 11 月 Altera Corporation Cyclone Vデバイス・ハンドブックVolume 3:ハード・プロセッサ・システムのテクニカル・リファレンス・マニュアル

Page 20: 6.Cortex-A9マイクロプロセッサ・ユ ニット・サブ …...6‒2 第6章:Cortex-A9マイクロプロセッサ・ユニット・サブシステム Cortex-A9 MPUサブシステムのブロック図およびシステム統合

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 に示すバースト・タイ

プを使用する必要があります。他のバースト・タイプでは著しく低い性能になって

しまいます。

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 インタコネク

トのロジックのサイズ変更の影響を受けないという点は重要です。ロジックのサイ

ズ変更のために排他的なアクセスが複数のトランザクションに分割される場合、排

他的なアクセスのビットはブリッジまたはインタコネクトによってクリアされ、排

他的なアクセスは失敗します。

表6‒4. 推奨されるバースト・タイプ

バースト・タイプ ビート 幅(ビット) アドレス・タイプ バイト・スト

ローブ

ラップ 4 64 64 ビット・アラインメント

アサート

インクリメント 4 64 32 ビット・アラインメント

アサート

Cyclone Vデバイス・ハンドブック 2012年 11 月 Altera CorporationVolume 3:ハード・プロセッサ・システムのテクニカル・リファレンス・マニュアル

Page 21: 6.Cortex-A9マイクロプロセッサ・ユ ニット・サブ …...6‒2 第6章:Cortex-A9マイクロプロセッサ・ユニット・サブシステム Cortex-A9 MPUサブシステムのブロック図およびシステム統合

第 6 章: Cortex-A9 マイクロプロセッサ・ユニット・サブシステム 6‒21Cortex-A9 MPU サブシステム・コンポーネント

1 アルテラは、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:ハード・プロセッサ・システムのテクニカル・リファレンス・マニュアル

Page 22: 6.Cortex-A9マイクロプロセッサ・ユ ニット・サブ …...6‒2 第6章:Cortex-A9マイクロプロセッサ・ユニット・サブシステム Cortex-A9 MPUサブシステムのブロック図およびシステム統合

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 の想定されている使用方法およびリセット時のそれらの

設定を示します。

受信されるトランザクションの AXI ユーザー側波帯信号を駆動できないマスタでは、

ACP ID マッパがこの信号のオーバーライドを制御できます。また、ACP ID マッパは、

メモリ内への 1 GB のコヒーレント・ウィンドウのうちどれが L3 インタコネクトの

マスタによってアクセスされるかということも制御できます。各固定マッピングに

は異なるユーザー側波帯信号およびメモリ・ウィンドウを割り当てることができて、

異なるマスタ用の特別な設定が可能となります。すべてのダイナミック・マッピン

グは共通のユーザー側波帯信号およびメモリ・ウィンドウ設定を共有します。

表6‒5. 想定されている ID の使用方法

出力ID

リセット・ステート 想定されている使用方法

7 ダイナミック ダイナミック・マッピングのみです。

6

ダイナミック固定マッピングまたはダイナミック・マッピングで、ソフトウェアによりプログラムされます。

5

4

3

2 0x001(DAP)で固定

リセット時に DAP の入力 ID に割り当てられます。リセット後、固定マッピングまたはダイナミック・マッピングのどちらかが可能で、ソフトウェアによりプログラムされます。

1— ACP ID マッパによって使用されることはありません。

0

Cyclone Vデバイス・ハンドブック 2012年 11 月 Altera CorporationVolume 3:ハード・プロセッサ・システムのテクニカル・リファレンス・マニュアル

Page 23: 6.Cortex-A9マイクロプロセッサ・ユ ニット・サブ …...6‒2 第6章:Cortex-A9マイクロプロセッサ・ユニット・サブシステム Cortex-A9 MPUサブシステムのブロック図およびシステム統合

第 6 章: Cortex-A9 マイクロプロセッサ・ユニット・サブシステム 6‒23Cortex-A9 MPU サブシステム・コンポーネント

トランザクション機能どの時点においても、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:ハード・プロセッサ・システムのテクニカル・リファレンス・マニュアル

Page 24: 6.Cortex-A9マイクロプロセッサ・ユ ニット・サブ …...6‒2 第6章:Cortex-A9マイクロプロセッサ・ユニット・サブシステム Cortex-A9 MPUサブシステムのブロック図およびシステム統合

6‒24 第 6 章: Cortex-A9 マイクロプロセッサ・ユニット・サブシステムCortex-A9 MPUサブシステム・コンポーネント

表 6–6 に、ACP ID マッパにアクセスできる、各 HPS ペリフェラル・マスタ用にイン

タコネクトから発行される入力 ID を示します。

AXI ユーザー側波帯信号の制御ACP ID マッパ・モジュールは、AXI ユーザー側波帯信号の値の制御を可能にします。

すべてのマスタがこれらの信号を駆動するわけではないので、ACP ID マッパは、デ

フォルト値(ダイナミック・モード)または特別な値(固定モード)のいずれかを

持つ 5 ビットのユーザー側波帯信号を駆動できるようにします。

ユーザー側波帯信号のデフォルト値をすべてのトランザクションにコンフィギュ

レーションし、固定マッピング・モードでこれらの信号の固定値を特定のトランザ

クションにコンフィギュレーションする上で使用可能なレジスタがあります。ダイ

ナミック・モードでは、受信トランザクションのユーザー側波帯信号はレジスタに

保存されているデフォルト値にマップされます。固定マッピング・モードでは、ト

ランザクションの入力 ID は 3 ビットの出力 ID にマップされ、トランザクションの

ユーザー側波帯信号はレジスタ内に保存されている出力 ID 対応の値にマップされま

す。しかし、ID に関連するユーザー側波帯の値に関係なく、常に FPGA-to-HPS ブ

リッジからのユーザー側波帯信号が ACP を通過できるようにする、という重要な例

外が ACP 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 ビットを示しています。

Cyclone Vデバイス・ハンドブック 2012年 11 月 Altera CorporationVolume 3:ハード・プロセッサ・システムのテクニカル・リファレンス・マニュアル

Page 25: 6.Cortex-A9マイクロプロセッサ・ユ ニット・サブ …...6‒2 第6章:Cortex-A9マイクロプロセッサ・ユニット・サブシステム Cortex-A9 MPUサブシステムのブロック図およびシステム統合

第 6 章: Cortex-A9 マイクロプロセッサ・ユニット・サブシステム 6‒25Cortex-A9 MPU サブシステム・コンポーネント

メモリ領域のリマップACP ID マッパには、デフォルトでは下位 1 GB の SDRAM へのビューである 1 GB のア

ドレス空間があります。また、マッパは、ダイナミック・モードでも固定モードで

も、ページと呼ばれる 1 GB サイズのさまざまなメモリ領域にトランザクションが配

線されるようにします。受信される 32 ビット AXI アドレス信号の 2 つの極めて重要

なビットは、ユーザーによるコンフィギュレーション可能な 2 ビットのアドレス・

ページのデコード情報と置き換えられます。ページ・デコーダは、表 6–7 に示す値

を使用します。

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キャッシュ・コントローラから構成されています。

■ 512 KB の合計メモリ

■ 8 方向連想性

■ 物理的にアドレスされ、物理的にタグされた状態

■ 32 バイトのライン長

表6‒7. ページ・デコーダの値

ページ アドレス範囲0 0x00000000—0x3FFFFFFF

1 0x40000000—0x7FFFFFFF

2 0x80000000—0xBFFFFFFF

3 0xC0000000—0xFFFFFFFF

2012 年 11 月 Altera Corporation Cyclone Vデバイス・ハンドブックVolume 3:ハード・プロセッサ・システムのテクニカル・リファレンス・マニュアル

Page 26: 6.Cortex-A9マイクロプロセッサ・ユ ニット・サブ …...6‒2 第6章:Cortex-A9マイクロプロセッサ・ユニット・サブシステム Cortex-A9 MPUサブシステムのブロック図およびシステム統合

6‒26 第 6 章: Cortex-A9 マイクロプロセッサ・ユニット・サブシステムCortex-A9 MPUサブシステム・コンポーネント

■ クリティカル・ファースト・ワード・ラインフィル

■ 表 6–8 に示すような AXI キャッシュ・モードのサポート

■ 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 を使

用するオプションがあります。

表6‒8. AXI キャッシュ・モードのサポート

キャッシュ・モード

ライト・スルー (1)

ライト・バック (1)

リード割り当て

ライト割り当て

リードおよびライト割り当て

表 6–8 の注:

(1) ECC を使用している場合は制約があります。SEU 保護について詳しくは、Cyclone V デバイス・ハンドブック volume 3 の System Manager の章を参照してください。

Cyclone Vデバイス・ハンドブック 2012年 11 月 Altera CorporationVolume 3:ハード・プロセッサ・システムのテクニカル・リファレンス・マニュアル

Page 27: 6.Cortex-A9マイクロプロセッサ・ユ ニット・サブ …...6‒2 第6章:Cortex-A9マイクロプロセッサ・ユニット・サブシステム Cortex-A9 MPUサブシステムのブロック図およびシステム統合

第 6 章: Cortex-A9 マイクロプロセッサ・ユニット・サブシステム 6‒27Cortex-A9 MPU サブシステム・コンポーネント

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:ハード・プロセッサ・システムのテクニカル・リファレンス・マニュアル

Page 28: 6.Cortex-A9マイクロプロセッサ・ユ ニット・サブ …...6‒2 第6章:Cortex-A9マイクロプロセッサ・ユニット・サブシステム Cortex-A9 MPUサブシステムのブロック図およびシステム統合

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デバイス・ハンドブック 2012年 11 月 Altera CorporationVolume 3:ハード・プロセッサ・システムのテクニカル・リファレンス・マニュアル

Page 29: 6.Cortex-A9マイクロプロセッサ・ユ ニット・サブ …...6‒2 第6章:Cortex-A9マイクロプロセッサ・ユニット・サブシステム Cortex-A9 MPUサブシステムのブロック図およびシステム統合

第 6 章: Cortex-A9 マイクロプロセッサ・ユニット・サブシステム 6‒29Cortex-A9 MPU サブシステム・コンポーネント

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 のオンチップ・デバッグおよびトレースを経

由するデバッグ・リソースが含まれています。以下の機能が含まれています。

■ 各プロセッサ用の個別のプログラム・トレース

表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 キャッシュへのプリフェッチの割り当てです。

2012 年 11 月 Altera Corporation Cyclone Vデバイス・ハンドブックVolume 3:ハード・プロセッサ・システムのテクニカル・リファレンス・マニュアル

Page 30: 6.Cortex-A9マイクロプロセッサ・ユ ニット・サブ …...6‒2 第6章:Cortex-A9マイクロプロセッサ・ユニット・サブシステム Cortex-A9 MPUサブシステムのブロック図およびシステム統合

6‒30 第 6 章: Cortex-A9 マイクロプロセッサ・ユニット・サブシステムCortex-A9 MPUサブシステム・コンポーネント

■ Cortex-A9 MPCore 用のイベント・トレース

■ プロセッサおよび他の HPS デバッグの機能間のクロス・トリガ

プログラム・トレース各プロセッサには、リアルタイムの命令フロー・トレースを提供する独立した PTMが内蔵されています。PTM は、多くのサード・パーティのデバッグ・ツールと互換

性があります。

PTM は、高圧縮フォーマットのトレース・データを提供します。トレース・データ

には、ウェイポイントと呼ばれるプログラム実行フローでの特定ポイントのための

タグが含まれています。ウェイポイントは、プログラム・フローにおける特定イベ

ントまたは変更です。

PTM は、表 6–11 に示したウェイポイントを認識してタグを付けます。

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 ページの「パフォーマンス・モニタリ

ング・ユニット」を参照してください。.

表6‒11. PTM でサポートされているウェイポイント

タイプ ウェイポイントに関する追加情報

間接分岐ターゲット・アドレスおよびコンディション・コード

直接分岐 コンディション・コード

命令バリアの命令 —

例外 例外が発生した位置

プロセッサ命令設定ステートの変更 —

プロセッサ・セキュリティ・ステートの変更 —

コンテキスト ID の変更 —

停止デバッグ・モードがイネーブルされている場合のデバッグ・ステート間の出入り

Cyclone Vデバイス・ハンドブック 2012年 11 月 Altera CorporationVolume 3:ハード・プロセッサ・システムのテクニカル・リファレンス・マニュアル

Page 31: 6.Cortex-A9マイクロプロセッサ・ユ ニット・サブ …...6‒2 第6章:Cortex-A9マイクロプロセッサ・ユニット・サブシステム Cortex-A9 MPUサブシステムのブロック図およびシステム統合

第 6 章: Cortex-A9 マイクロプロセッサ・ユニット・サブシステム 6‒31Cortex-A9 MPU サブシステムのレジスタ実装

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■ ACP ID マッパの説明の追加。

■ 冗長な情報の集約。

2012 年 1 月 1.0 初版。

2012 年 11 月 Altera Corporation Cyclone Vデバイス・ハンドブックVolume 3:ハード・プロセッサ・システムのテクニカル・リファレンス・マニュアル

Page 32: 6.Cortex-A9マイクロプロセッサ・ユ ニット・サブ …...6‒2 第6章:Cortex-A9マイクロプロセッサ・ユニット・サブシステム Cortex-A9 MPUサブシステムのブロック図およびシステム統合

6‒32 第 6 章: Cortex-A9 マイクロプロセッサ・ユニット・サブシステム改訂履歴

Cyclone Vデバイス・ハンドブック 2012年 11 月 Altera CorporationVolume 3:ハード・プロセッサ・システムのテクニカル・リファレンス・マニュアル