次はソフトウェア側の対応である。ここでは追加した「sys_clk_timer」をシステムタイマーとして利用する事を教えてやらなければいけない。
Eclipseの画面で「NIOS II」→「BSP Editor」を呼び出し(Photo08)、「Dhrystone_bsp」の下にあるsettings.bspを読み込むと、「timestamp_timer」の値が「none」になっているはずなので(Photo09)、これを「sys_clk_timer」とする。これが終わったら右下のGenerateボタンを押してBSPを生成し直す。
次にこれをプロジェクトに反映する。EclipseでBSP側を右クリックし、「NIOS II」→「Generate BSP」を選択した後にビルドしなおすと、今度はシステムクロックがちゃんと存在する状態でプログラムが構築される。そこで実行するとPhoto12の様に、キチンと所要時間が表示されるようになった。
さて、この所要時間は、実際にはTics(何Clock経過したか)なので、実際には50MHz駆動で8億5300万173clockということで、17.06秒ほどの時間となる。10万回で17.06秒なので性能は大体5861.7 Dhrystone/secという数値になる。基準となるVAX11/780のスコア(1757.0 Dhrystone/sec)と比較すると3.34 DMIPSという計算である。
これが速いか遅いかはどう使うか次第ではあるが、こちらのページに記載されている値に比べると、MAXQよりやや遅い程度でTexas InstrumentsのMSP430F149よりは高速、というのはそう悪くないのではと思う。
ちなみにQSYSでプロセッサの設定を見ていただく(Photo13~15)と分かるのだが、今回はリソース最適化でプロセッサを構成しているので、このあたりを変更すればもっと性能は上がる可能性がある。興味のある方はぜひ、いろいろと設定を変えてみていただきたい。
ということでプロセッサが実用に耐えることが分かったので、次はもう少しデバイスと組み合わせてみたい。
Copyright © ITmedia, Inc. All Rights Reserved.