MicroBlaze は、ザイリンクス による、ザイリンクス製FPGA 向けに構築したソフトプロセッサ コアである。MicroBlazeはザイリンクスのFPGAの汎用メモリと論理回路で、32bitソフトプロセッサとして実装している[ 1] 。
概要
命令セットアーキテクチャは、MicroBlazeはパターソン とヘネシー による有名なコンピュータアーキテクチャの書籍で記述された、RISC ベースのDLX アーキテクチャと非常に似ている。ほとんどのMicroBlaze命令セットは、1サイクルで実行することが出来る。
MicroBlazeは多様な組み込み アプリケーションをサポートするために、多用途のインターコネクトシステムを持っている。MicroBlazeの主要なI/OバスのCoreConnect PLBバス は、システムメモリにマップされたマスタ・スレーブによる伝統的なトランザクションバスである。多数のベンダが供給するサードパーティのIPは、PLBバスに直接接続する。(またはPLBバスからOPBバス へのブリッジを経由して接続する。)ローカルメモリ(FPGAのBRAM )へのアクセスでは、MicroBlazeは専用のLMBバス を使うことで他のバスの負荷を軽減する。ユーザ定義のコプロセッサは、FSL(Fast Simplex Link)と呼ばれる専用のFIFO形式の接続を経由してサポートされる。コプロセッサインタフェースは、計算処理の一部または全部を、ユーザが設計したハードウェアモジュールで行うことで、計算量が集中するアルゴリズムを加速することが出来る。
MicroBlazeの多くの要素は、ユーザによる設定が可能である。キャッシュサイズ、パイプラインの段数(3段または5段)、組み込みの周辺インタフェース、メモリ管理ユニット 、バス・インタフェースがカスタマイズ可能である。サイズに最適化したMicroBlazeは、3段のパイプラインを使用し、論理回路の削減のためにクロック周波数を犠牲にしている。性能に最適化したバージョンは、実行パイプラインを5段に拡張し、最大210 MHz (Virtex-5 FPGA シリーズの場合)での動作が可能である。また、めったに使用されないがハードウェアでの実装が高価となる重要なプロセッサの命令は、選択的に追加/削除が可能である。(すなわち、乗算・除算・浮動小数点命令である)この改変により、開発者はホストハードウェアの条件とアプリケーションソフトの要件に見合った、適切な設計を行うことが可能である。
MMUを使用しない場合、MicroBlazeで動作するオペレーティングシステムは、単純化された保護と仮想メモリモデルに限られる。例えばμClinux ベースのオペレーティングシステムやTOPPERS/JSPカーネル , FreeRTOS が相当する。MMUを使用する場合、MicroBlazeの全体的なスループット は、同等のハードウェアによるCPUコア(例えばVirtex4の中のPowerPC405)よりもかなり低くなるが、Linux カーネルのような、ハードウェアベースのページングと保護を要求するオペレーティングシステムを動作させることが出来る。
EDK
ザイリンクスのEDK (Embedded Development Kit)は、ザイリンクスのFPGAで、MicroBlaze(およびPowerPC)組み込みプロセッサを構築するための開発環境パッケージである。これはEclipse の上で動作し、プロジェクトマネージャは2つの別々の環境(XPSとSDK)で構築されている。
設計者は、彼らの組み込みシステムのハードウェア仕様(プロセッサコア、メモリコントローラ、周辺機器I/O、等)を設定し構築するためにXPS (Xilinx Platform Studio)を使用する。XPSは設計者のプラットフォーム仕様を合成可能なRTL 記述(VerilogまたはVHDL )に変換し、組み込みシステムの実装を自動化するためのスクリプトのセットを書き出す。(RTLからビットストリームファイルまで)MicroBlazeコアにおいて、EDKは通常暗号化された(人間が読めない)ネットリスト を出力するが、VHDLで書かれたプロセス記述はザイリンクスから購入することが出来る。
SDKは、組み込みシステムの上で動作させるソフトウェアを扱う。GNUツールチェイン (GNUコンパイラコレクション 、GNUデバッガ )を活用し、SDKでプログラマは彼らの組み込みシステム上のC/C++アプリケーションを書き、コンパイルし、デバッグすることが出来る。ザイリンクスはサイクルに精密な命令セットシミュレータ(Instruction Set Simulator, ISS)を提供し、プログラマにシミュレーションで彼らのソフトをテストする方法と、適切なFPGAボードにダウンロードして実際のシステムで実行させる方法を提供している。
XPSの購入者は、定期的に追加のロイヤリティを支払うことなく、MicroBlazeをザイリンクスのFPGAで使用する永久のライセンスが与えられる。このライセンスはMicroBlazeをザイリンクス以外のデバイスで使用する権利を与えていないので、必要な場合はザイリンクスとの直接の交渉が必要となる。
クローン
その他のソフトプロセッサ
脚注
関連項目
外部リンク