アーキテクチャ・ブリーフ 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: japan@altera.com 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
© Copyright 2024 Paperzz