chakokuのブログ(rev4)

日々のごった煮ブログです

自作組み込みOSの性能評価

好き勝手に作っているSH2用の俺OSですが、ある程度まともに使えるのか?も重要なので、タスクスイッチにかかる時間を計ってみた(オシロの黄色の波形で凸の区間がOS実行時間)。結果、タスクスイッチルーチン*1だけで、26usecかかっている。仮に100MHz動作だとすると、1命令10nなので、2600命令走っていることになる。C1行がおおよそ8命令だとすると、、Cで約300行程度のステップに相当する。実際のコードはそんなにないけど、オーダーは大体合っていると思われる。
CPUクロックはデフォルト設定のままなので多分144MHzでは動いていないのでもうちょっと早くなるとは思われます。それでも、2,3割アップの程度。

とりあえず、デジタル音声入出力(SPDIF)用アプリに使いたいと思ってますが、サンプリングレート48KHzだったら、転送周期は20usecなので、タスクスイッチしている暇もない状態。だから、、データ転送(一音処理単位)の周期でタスク起動できず、256B、512B等、DMA転送の周期でタスク起動するぐらいにしないとだめだ。。

*1:TRAP命令で起動されるルーチンのみ