Comments
Transcript
MicroBlazeのMMU有無の違いに よるLinuxとuClinuxの性能比較
第6章 Web 第 2 部 実装編 ハードウェアの設定からフレーム・バッファ・ドライバの実装事例まで MicroBlaze の MMU 有無の違いに よる Linux と uClinux の性能比較 鈴木 量三朗 Xilinx 社製 FPGA 向けのソフト・マクロ CPU である MicroBlaze に, 従来からの MMU のない実装に加えて, MMU を実装可能なバージョンも用意された.そこでここでは,同一 CPU アーキテクチャで,MMU なしの MicroBlazeにはMMUを使わないuClinuxを, MMUありのMicroBlazeにはMMUを使うLinuxを走らせ,ハー ドウェアの規模からカーネルのサイズ,パフォーマンスなどを比較する. (編集部) 用意することで,アプリケーションを変更せずに動作させ 1.MicroBlaze と FPGA 評価ボード について る方法と,MicroBlaze を通して Linux と uClinux の違いに ついて各方面から比較してみます. ● FPGA 評価ボード ● MicroBlaze とは 今回,MicroBlaze を実装する FPGA 評価ボードとしては, MicroBlaze は,Xilinx 社製 FPGA で動作するソフト CPU Spartan-6 を搭 載した SP605(Xilinx 社 )を用 意しました. コアで, CPUに関する各種機能を自由にコンフィグレーショ 写真 1 にボードの外観を,図 1 にブロック図を示します. ンできます. その機 能の中に,MMU があります.MMU また,この評価ボード以外に, を組み込まないことで,FPGA 内で使用する資源を抑えた ・ MMUありとMMUなしのビデオ・デモ用の二つのビッ μClinux(以下,uClinux)の環境を構築することもできま ト・ストリーム(Xilinx が SP605 用に用意しているもの すし,MMU を組み込むことで MMU を使 用する Linux も を改変) 動作させることができます. ・ファイル・システムを格納するためのコンパクト・フ uClinux のアプリケーションを構築する際には,uClinux ラッシュ が UNIX であることを無視して物理的なペリフェラルを直 を用意しました. 接アクセスするようなコードも書けますが,一般的な Linux でも使える汎用的なアプリケーションを書くためには,一 工夫が必要です. 今回は,Linux と uClinux で共通に動作するドライバを 2.MicroBlaze を FPGA に実装する ● ビデオ・テスト用の設計を流用 FPGA に MicroBlaze を実装するには,Xilinx が提供する EDK という設計ツールを使用して,MicroBlaze を含めた FPGA のデザインを作る必要があります.今回のデザイン では,SP605 用のビデオ・ テスト用のものをベー スに, MMUの有無による違いの二つのデザインを作りました.な お,EDK にはバージョン 12.4 を使用しました. 図 2 に,本システムで使用している VRAM と各 IP コア の配置を含むメモリ・マップを示します.VRAM はアドレ ス 0x52000000 から始まり,その領域に 32 ビットの値を書 写真 1 Spartan-6 搭載評価ボード SP605 の外観 80 き込むことで,ディスプレイにドットが表示されます.ディ MicroBlaze,Spartan-6,フレーム・バッファ・ドライバ,VRAM 空間,map,DirectFB Mar. 2012