アルテラ SoC アーキテクチャ・ブリーフ

アーキテクチャ・ブリーフ
SoC FPGA メイン・メモリの性能
はじめに
メモリ仕様を簡単に確認しただけでは、SoC FPGA ベースのシステムでメモリが果たす役割のすべてを知
ることはできません。効率を最大化して性能、動作、および消費電力の利点を享受するには、バス仕様だ
けでなく測定したメモリ性能をチェックすることが重要です。
このアーキテクチャ・ブリーフでは、デザイン・プロジェクト用に SoC FPGA を選択する際に検討すべき
メモリ性能について紹介します。
このアーキテクチャ・ブリーフの内容は、www.altera.co.jp/socarchitecture でご覧いただけるオンライン・
ビデオ、「システム性能 : メモリ・コントローラの性能」で重点的に解説しています。
トップ・レベルの仕様
SoC FPGA を選択する場合、メモリ・バスのスピードによって実際のシステム・メモリの性能が決まると
考えるのが一般的です ( 表 1 を参照 )。
表 1. 外部メモリ・コントローラ・サポートの比較
機能
アルテラ SoC FPGA
ベンダー B
ベンダー C
プロセッサ・システム用ハード外部
メモリ・コントローラ
あり
あり
あり
サポートする最大アドレス空間
4G
1G
4G
LPDDR2、DDR2、
DDR3L、DDR3
LPDDR2、DDR2、
DDR3L、DDR3
LPDDR、DDR2、
DDR3
サポートするメモリ・タイプ
x8
x8+ECC
x16
x16+ECC
x32
x32+ECC
x8
x16
x16+ECC
x32
x32+ECC
x16
x16+ECC
x32
統合 ECC サポート
16 ビット、32 ビット
16 ビット
8 ビット、16 ビット、
32 ビット
外部メモリ・バス最大周波数
400 MHz
(CycloneⓇ V SoC)、
533 MHz (ArriaⓇ V SoC)
533 MHz
333 MHz
データ幅コンフィギュレーション・
モード
メモリ・コントローラの進化
しかし、メモリ・データ転送の優先順位付け、スケジューリング、および処理をいかにスマートに行うか、という別の要因も全体的な
メモリ性能に大きく影響する可能性があります。アルテラ SoC FPGA は、スケジューリング、バンク管理、コマンドとデータのリオー
ダリングといった領域の先進機能を含むアルテラの第 3 世代のメモリ・コントローラ・テクノロジを利用しています。
図 1. アルテラ・メモリ・コントローラの進化
メモリ・コントローラの機能
アルテラ SoC
不足加重ラウンド・ロビン・スケジューリング
バンク管理 (およびヒント)
ユーザーが提供したプロファイル
トラスト・ゾーン・セキュリティ
ラウンド・ロビン・スケジューラ
コマンドとデータのリオーダリング
優先度管理
パワー・マネージメント
シンプル・スケジューラ
バンク管理
アクティブ・リフレッシュ
GEN 3
GEN 2
GEN 1
メモリ性能のケース・スタディ:LMbench
メモリ・コントローラのインテリジェンスがシステム・メモリの性能に及ぼす影響を説明するために、メモリ・バス速度が異なる 2 つ
の SoC FPGA デバイスを考えてみましょう ( 図 2 を参照 )。左側のデバイスはアルテラ CycloneⓇ V SoC FPGA、右側のものは「ベンダー B」
の SoC FPGA です。どちらも同じ 667 MHz の周波数で動作するデュアルコア ARMⓇ CortexⓇ -A9 プロセッサを搭載していますが、一方
のデバイスは 400 MHz で動作する外部メモリを持ち、もう一方は 533 MHz で動作する外部メモリを使用しています。システム・メモ
リの性能が優れているのはどちらのデバイスでしょうか。一見したところ、533 MHz のメモリを使用するシステムの方が 33 % 高い性
能を示すと思われるかもしれません。しかし、メモリ・コントローラ・アーキテクチャの要因により、実際にはかなり異なる結果にな
ります。
図 2. SoC FPGA のメモリ性能比較
アルテラ SoC FPGA
ハード・メモリ・
CPU
667 MHz コントローラ
A
FPGA ロジック
ベンダーBのSoC FPGA
DDR
メモリ
400 MHz
ハード・メモリ・
CPU
667 MHz コントローラ
B
FPGA ロジック
DDR
メモリ
533 MHz
システム性能のベンチマークでは、メモリ・システムの性能を用いることでよく知られた業界標準のベンチマークである LMbench
(www.bitmover.com/lmbench) が結果を定量化して比較するのに役立ちます。LMbench ( バージョン 3) は、いくつかの異なる読み出
し/書き込みテスト・ケースからなります。部分読み出し/書き込みのケースは代表的なエンベデッド・システムでの転送をよく表す
ため、図 3 に部分読み出し/書き込みのケースの結果を示します。
図 3. LMbench の部分読み出し/書き込みメモリ帯域幅テストは、高度なコントローラの利点を実証
5,000
高いほど優秀
ベンダー B
4,000
メモリ帯域幅 (MB/秒)
アルテラ SoC FPGA
CPU: 667 MHz
より高度なメモリ・コントロー
ラを搭載しているため、アルテラ
SoC FPGA の 400 MHz DDR3 メモリ・イン
タフェースは、競合デバイスの 533
MHz DDR3 メモリ・インタフェース
より性能が優れています。
CPU: 667 MHz
3,000
2,000
1,000
64 M
32 M
16 M
8M
4M
2M
1M
512 K
256 K
128 K
64 K
32 K
16 K
8K
4K
2K
1K
512
0
転送サイズ (バイト)
縦軸はメモリ帯域幅、横軸はデータ転送サイズを表します。( メモリ帯域幅は高いほど優れています。) 曲線は、データ・サイズが L1 キャッ
シュ (32 KB のデータ + 32 KB の命令 ) から L2 キャッシュ (512 KB 共有 )、外部メモリに変わるにつれて、3 つのステージにグループ化
できます。アルテラ SoC FPGA は、L1 および L2 キャッシュ領域でベンダー B の SoC FPGA よりも性能がはるかに優れています。前述
のように、転送が外部メモリ ( 曲線上で 512 KB 超 ) に達するまでに、SoC FPGA 上の外部バスが 533 MHz であるベンダー B のソリュー
ションが、メモリ・バスが 400 MHz であるアルテラ Cyclone V SoC FPGA を上回ると考えられます。ところが、それは事実ではなく、
データ転送サイズが 1 MB を超えるメイン・メモリにアクセスするときでもアルテラ SoC FPGA は同等以上の性能を発揮します。これは、
アルテラ SoC FPGA の L1/L2 キャッシュの構造と外部メモリ・コントローラの優位性によるものです。
図 4 に示すように、データ転送サイズを小 (512 バイト~ 16 KB)、中 (16 KB ~ 1 MB)、および大 (2 MB 超 ) にグループ化することが、
曲線の 3 つの異なる領域の数値解析を行うのに役立ちます。
図 4. データ転送サイズでグループ化した LMbench メモリ帯域幅の違い
メモリ帯域幅の向上
アルテラ SoC FPGA と SoC FPGA B の
メモリ帯域幅の比率
18%
16%
14%
12%
10%
8%
6%
4%
2%
0%
17.03%
CPU 周波数
667 MHz
667 MHz
メモリ・デバイス
周波数
400 MHz
533 MHz
6.60%
6.28%
512 バイト〜16 KB
アルテラ SoC FPGA SoC FPGA B
16 KB〜1 MB
データ転送サイズ (バイト)
2 MB〜67 MB
ベンチマーク:LMbench
アクセス:部分メモリ読み出し/書き込み
さらに効果的なキャッシュ構造とさらに高度なメモリ・コントローラを搭載したアルテラ SoC FPGA は、外部メモリ・バスの動作周波
数が低いにもかかわらず、小、中、および大量メモリ・アクセスのいずれの領域でも最大 17 % 高いメモリ帯域幅を引き出します。
これらの結果は、SoC FPGA を比較するには、メモリ・バス仕様だけでなくメモリ・システム性能の測定値も確認することが重要であ
ることを示しています。メモリ・コントローラのアルゴリズムは、トランザクションの優先順位管理、コマンド/データのリオーダリ
ング、および DWRR (Deficit Weight Round Robin) アルゴリズムなどを使用した保留トランザクションのスケジューリングによって最
大の帯域幅を引き出します。さらに、メモリ・コントローラをソフトウェアでシステムのカスタム・データ・プロファイルに合わせたり、
優先順位を設定したり、ポートやトランザクション・チャネルを割り当てたり、さらにはそれらの間で帯域幅を共有したりして性能向
上を図ることも可能です。
まとめ
メイン・メモリの選択は、アーキテクチャが重要である領域のもう 1 つの例です。今日のメモリ・コントローラは高度なアルゴリズム
を使用してシステム・メモリの効率を最大化できます。優れたメモリ・コントローラはシステム・メモリからさらに多くの帯域幅を引
き出すことができるため、低い周波数で動作するメモリでも同等のスループットが得られ、システムの消費電力が節約されてシステム・
デザイン全体に利点がもたらされます。
詳細情報
アルテラ SoC FPGA アーキテクチャと LMbench 性能の結果の詳
細については、EE Journal にて提供されるオンライン・セミナー
Architecture Matters: Three Architectural Insights for SoC FPGAs
をご覧ください。
アルテラ Cyclone V SoC メモリ・コントローラのアーキテクチャ
と設定の詳細については、Cyclone V デバイス・ハンドブック
Volume 3 のハード・プロセッサ・システムのテクニカル・リファ
レンス・マニュアルの SDRAM コントローラ・セクションをご
覧ください。
〒163-1332
東京都新宿区西新宿6-5-1
新宿アイランドタワー32F 私書箱1594号
TEL. 03-3340-9480 FAX. 03-3340-9487
www.altera.co.jp
E-mail: [email protected]
Altera Corporation
101 Innovation Drive, San Jose, CA 95134 USA
www.altera.com
本資料に掲載されている内容は、製品の仕様の変更等により予告なく変更される可能性があります。最新の情報はアルテラ・ウェブサイトをご参照ください。
Copyright © 2015 Altera Corporation. All rights reserved. Altera, the stylized Altera logo, specific device designations, and all other words and logos that are identified as trademarks and/or service
marks are, unless noted otherwise, the trademarks and service marks of Altera Corporation in the U.S. and other countries. All other product or service names are the property of their respective
holders. Altera products are protected under numerous U.S. and foreign patents and pending applications, mask work rights, and copyrights. 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. January 2015
SS-01243/JP