- ベストアンサー
要求する組み込みCPU演算処理能力の割出し方は?
こんにちは。 要求する組み込みCPU演算処理能力の割出し方はどのようにすればよいのでしょうか? 現時点での背景は以下の通りです: +ロボットを作っていて、そのロボットがやることは決まっています。 +そのロボットのメインCPUは視覚カメラの画像処理までやるので、組み込みCPUは「そこそこの処理能力」が必要だなと思い、そのCPUの評価ボードまで手に入れました。 +そのやることの要求をUMLレベルにまで落とし込むことは出来ました。でも実際のソフトウエア開発は始まっていません。 +ただし、とにかく電力消費がきついね、という話になり、CPUのグレードダウンを迫られています。 「そこそこの処理能力」を持つCPUを選んできたからそういうことが起きるので、そもそもはっきりと(例えば)「このロボットでのCPUの使い方なら、50MIPSレベルCPUで制御ループ周波数は2Hzでいけるよね」のようなコトを言わなければいけなかったのだと反省しています。 ソフトウエアを書いてしまってからそれをテストすれば間違いはないのでしょうが、今すぐ新しいハードウエアCPUの目星をつける必要性に迫られています。 ロボットでのCPUの使い方が分かっているという条件で、「50MIPSレベルCPUで制御ループ周波数は2Hzでいけるよね」というような必要CPU演算処理能力の出し方はどのようなものでしょうか?
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
まず、バスと計算能力のどちらにボトルネックがあるのか考えてはいかがでしょう? 私の経験ですと、プロセッサ性能より、転送能力がシステムの制約になることが多いです。
その他の回答 (2)
- Pesuko
- ベストアンサー率30% (2017/6702)
画像処理もやって、50MIPはきついと思いますよ。 各社(松下・シャープ等)汎用の画像処理装置多く搭載されているのは SH4の300MIPSです。 これが2世代前。 今はSH4単体では間に合わないからDSPを追加しています。
- precog
- ベストアンサー率22% (966/4314)
制御系専門ではないですけど、、、 基本的には見積もるしかないですけど、普通は思わぬところで大幅な性能低下がありますので、性能に鋭敏な人を一人チームに入れておくことと、性能不足になったときの担保 (マージン) を持っておいたほうがいいと思います。(優秀な人が居れば、ピンチを切り抜けてくれます) 具体的には、性能モデルを立てて、見積もりながらアーキテクチャを改良していきます。不確実な部分は、テストコードを書いて詰めていきます。「こんなもんだろう」とどんぶり勘定をしたら、それはプロの仕事ではないです。 普通、性能を削れるのは一旦商品化して、安定性や発展性が見えてきた後です。あんまり他のチームに対して約束しないほうがいいと思いますよ。
お礼
その通りですね。ありがとうございました!
補足
早速ご回答ありがとうございます。 転送能力の件ですが、特に画像を転送するときが厳しいので、そこは(画素数)X(ピクセル当たりのデータ量)/(バス通信レート)で出しました。kazusoneさんがおっしゃるとおりそこで大体のループ周波数が制限(決定)されますので、それを踏まえてそれを達成出来るCPUの演算能力を見つけている、という状況です。 アルゴリズムでループ中に何回掛け算するかを計算するのが地道な解のような気がしてきました・・・(掛け算の回数)X(そのCPUが1つの掛け算に要するインストラクション数)X(目標ループ周波数Hz)=最低必要MIPS、という具合で。そりゃそうですよね。。 頭の整理が出来ました。ありがとうございました!