してるんだろうか・・・。
ここんとこ仕事でいじってる、某SH2マイコンは、1命令は1ステート(今回は25nsのはず)で処理できますってハードウェアマニュアルにかいてあるんで、実際にこんなコード書いて、GPIOに信号出して、ロジアナで確かめてみました。
mov.b r0, @r2 ;GPIOにデータを出力 mov.b r1, @r2
そしたら、なぜか、ポートが変化するのに、100nsかかるんだよね。そいや、内部モジュールって、CPUクロックの半分で動いてるって書いてあるから、ウエイトでも入ってるんだろうかと思って、こんなコードに変更して、
mov.b r0, @r2 ;GPIOにデータを出力 nop mov.b r1, @r2
再度計測してみると、今度は、150ns。1ステートの nop 追加しただけなのに50nsも増加する理由がわからん。実行してる場所は、内部RAMだから、間違いなく1ステートで実行されるはずなんだけど・・・。
こんな細かいとこどうでもいいんだけど、今回は都合により、どうしてもこだわらなきゃいけなくなっちゃったんだよね、
ま、遅い分には、あんまり困らないんだけど、原因がわからんのが気持ち悪い。
とりあえず、もう一度マニュアル読めってことかねえ(-_-;)