FPGA、CPLD、ASIC ソリューションを提供するアルテラ
  • ダウンロード
  • 資料
  • 製品情報
    • デバイス
    • 開発ソフトウェア
    • Intellectual Property
    • デザイン・サービス
    • 開発キット/ケーブル
    • 資料
  • エンド・マーケット
    • 自動車
    • 放送機器
    • コンピューター&ストレージ
    • 民生機器
    • 産業機器
    • 医療機器
    • 軍用機器
    • テスト&計測機器
    • ワイヤーライン
    • ワイヤレス
  • テクノロジ
    • DSP
    • 外部メモリ
    • エンベデッド・プロセッサ
    • トランシーバ
    • パラレルI/O
    • シグナル・インテグリティ
    • システム・インテグレーション
  • 教育&イベント
    • トレーニング
    • ユニバーシティ・プログラム
    • オンライン・セミナー & ビデオ
    • デモンストレーション
    • イベント
  • サポート
    • ナレッジ・データベース
    • デバイス
    • 開発ソフトウェア
    • Intellectual Property
    • リファレンス・デザイン
    • デザイン例
    • マイサポート
  • 会社概要
    • アルテラについて
    • 事例紹介
    • パートナー
    • ニュース・ルーム
    • インベスターリレーション
    • 求人情報
    • お問い合わせ
  • オンラインショップ
    • デバイス
    • 開発ソフトウェア
    • 開発 & エデュケーション・キット
    • ケーブル & プログラミング・ハードウェア
    • IP
  • サイト全体
  • パートナンバー
  • ナレッジ・データベース
  • サポート&技術資料
  • フォーラム & Wiki

ハードウェア・アクセラレーション

ホーム > 製品情報 > Intellectual Property > エンベデッド・プロセッサ > Nios II > 利点 > 高性能 > ハードウェア・アクセラレーション

そのシステムにはパフォーマンスの向上が求められていますか?それでしたら、ハードウェア・アクセラレーションをご検討ください。ハードウェア・アクセラレーションを使用することで、システムのボトルネクとなっているCコードを切り出しFPGA内でハードウェア化(アクセラレータ)することで、システム性能を向上させることが可能となります。

ハードウェア・アクセラレータ生成を面倒なこととお考えですか?アルテラのツールでは、右クリックするだけで高性能化を妨げる C 言語のサブルーチンをハードウェアへ自動変換し、システム性能を向上させることが可能となります。

以下では、FPGAによるソフトウェア処理の高速化について解説します。Nios II の開発においては、次の 2つのハードウェア・アクセラレーション方法を使用できます。

  • ハードウェア・アクセラレータ
  • カスタム命令

ハードウェア・アクセラレータ

C2H コンパイラで自動的生成されるロジックブロックや、システム・プロセッサから特定のタスクをオフロードして動作させるためのマニュアルで作成したロジックブロックを、ハードウェア・アクセラレータと呼びます。多くの算術演算は、ソフトウェアよりもハードウェアで実装した方が、より高速かつ効率的に実行されます。SOPC Builder および Avalon™ スイッチ・ファブリックは、Nios II プロセッサで実行されるソフトウェアの性能を向上させるために、ハードウェア・アクセラレータをサポートしています。ハードウェア・アクセラレータには、以下のような特長があります。

  • 完全なパイプラインやレイテンシを考慮したマスタポートのあるメインメモリや他のシステムリソースが、広いメモリ帯域幅を維持します。
  • スレーブ・ポートを通して、CPU により制御されます。
  • CPU からコントロールするためのソフトウェア・ラッパ機能があり、ツール・チェイン内でオリジナルの C コードの代わりをします。

図 1 は、標準的なハードウェア・アクセラレータの構造を示します。 この例では、アクセラレータは Avalon スイッチ・ファブリックに対する 2つのマスタ・ポート(リードとライト)を備えています。アクセラレータは、ダイレクト・メモリ・アクセス(DMA)コンポーネントを使用して、バスのリードおよびライト動作を実行します。プロセッサ制御に対処するためのコントロール・ポートを備えています。 さらに、中核のアクセラレータ・ロジックが、指定されたアルゴリズムを実際に計算するエンジンになります。

図 1. 標準的なハードウェア・アクセラレータ

図 1. 標準的なハードウェア・アクセラレータ

  • C2H コンパイラを使用する場合、これらのコンポーネントがすべてが自動的に作成されユーザ・システムに統合されます。

ハードウェア・アクセラレータは、アルテラの FPGA に非常に強力な機能を付加します。 ハードウェア・アクセラレータは、システム内の任意のメモリまたはペリフェラルに、パイプライン化アクセスを実行する複雑なマルチサイクル・コプロセッサとして実装されます。ハードウェア・アクセラレータは、オンチップ・メモリやハード・マクロ乗算器などの FPGA リソースを利用して、ローカル・メモリ・バッファや乗算累積 (MAC) 回路を実装することができます。 ハードウェア・アクセラレータは、必要数のマスタポートを使用しながら独自のリードおよびライト動作を開始して、システム内の任意の I/O にアクセスできます。 Nios II の開発者の多くが、ハードウェア・アクセラレータはソフトウェア・コードの性能を強化する良い方法であり、アルテラ FPGA のアーキテクチャの高性能性を十分に生かすものであることを認識しています。

カスタム命令

ハードウェア・アクセラレータと同様に、カスタム命令でも、ソフトウェア・コードの一部をハードウェア機能に肩代わりさせることによって、システム性能の向上を図ることができます。 ただし、カスタム命令はプロセッサコア内に実装され、CPU 命令セットを拡張して時間重視のソフトウェアの高速化を図ります。

Nios II プロセッサはコンフィギュレーション可能な特質を備えているため、カスタム・ロジックを演算ロジック・ユニット(ALU)に直接統合することができます。 開発者は、カスタム命令によって、デジタル信号処理、パケット・ヘッダ処理、および演算を多用するアプリケーションなどの用途に対し、ソフトウェアの内側ループを最適化して、複雑な動作シーケンスをハードウェアで実装される 1 つの命令に縮小できます。

カスタム命令を使用すれば、従来の標準プロセッサでは不可能な方法でシステム性能を最適化できます。 開発者は、アルテラの SOPC Builderツールで提供されるグラフィカル・ユーザ・インタフェースを使用して、独自のハードウェア・デザイン・ファイルを簡単にインポートしてカスタム命令を作成することができ、作成されたカスタム命令は Nios II プロセッサに自動的に統合されます。

Nios II プロセッサのカスタム命令は、以下を提供します。

  • 最大 256 のユーザ定義命令
  • 固定および可変サイクル動作
  • ユーザ・ロジックのインポート・ウィザード
  • C 言語およびアセンブリ言語ソフトウェア・マクロ

図 1 は、カスタム命令ロジックの柔軟性を示します。

図 1. カスタム命令ロジック

図 1. カスタム命令ロジック

詳細については、Nios II プロセッサ・ハンドブック を参照してください。

このページを評価


  • IP & リファレンス・デザイン
    • すべての IP
    • すべてのリファレンス・デザイン
    • ブリッジ & アダプタ
      • メモリマップド
      • ストリーミング
    • DSP
      • フィルタ & 変換
      • エラー検出/訂正
      • 変調 & 復調
      • ビデオ & 画像処理
    • エンベデッド・プロセッサ
      • Nios II
        • プロセッサ・コア
          • 高速コア
          • エコノミ・コア
          • 標準コア
        • 利点
          • 低コスト
          • 高性能
          • 長い製品寿命
          • 柔軟性
        • 開発ツール
          • Nios II IDE
          • Nios II C2H コンパイラ
          • ソフトウェア/パートナ
        • 開発キット
        • エンド・マーケット
        • カスタマ・サクセス
        • 資料
      • 32/16bitマイクロプロセッサ
      • 8/4bitマイクロプロセッサ
    • インタフェース・プロトコル
      • コミュニケーション
      • イーサネット
      • ハイスピード
      • PCI
      • シリアル
      • オーディオ & ビデオ
    • メモリ・コントローラ
      • DMA
      • フラッシュ
      • オンチップ
      • SDRAM
      • SRAM
    • ペリフェラル
      • デバッグ & パフォーマンス
      • ディスプレイ
      • マイクロコントローラ
      • マルチプロセッサ対応
  • IP について
    • IPを利用した設計
      • IP Base Suite
    • MegaCore IP の評価
    • IP 認証プログラム
    • システム・デザイン
    • Request IP
  • IP パートナー
    • AMPP プログラムについて
    • IP パートナー
    日本アルテラへのご連絡
    製品情報 | エンド・マーケット | テクノロジ | 教育&イベント | サポート | 会社概要 | オンラインショップ
    FPGA 入門 | お問い合わせ | サイト・マップ | 求人情報 | プライバシー | Legal Notice
    Copyright © 1995-2010 日本アルテラ株式会社. All Rights Reserved.
    Altera Forum
    アルテラ
    フォーラム
    Twitter
    Twitter
    RSS
    RSS
    Facebook
    Facebook
    Flickr
    Flickr
    YouTube
    YouTube
    Email Updates
    ニュース
    メール