トップ «前の日記(2008-05-14 [水]) 最新 次の日記(2008-05-18 [日])» 編集

管理人の独り言(ほとんど月報状態)

総計 本日 昨日
2004|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|06|07|08|09|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|05|06|07|08|09|10|11|12|
2016|01|02|03|04|05|06|07|08|09|10|11|12|
2017|01|02|03|04|05|06|07|08|09|10|11|12|
2018|01|02|03|04|05|06|07|08|09|

2008-05-16 [金] なにか

_ 勘違い

してるんだろうか・・・。

ここんとこ仕事でいじってる、某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ステートで実行されるはずなんだけど・・・。

_ 本来なら

こんな細かいとこどうでもいいんだけど、今回は都合により、どうしてもこだわらなきゃいけなくなっちゃったんだよね、

ま、遅い分には、あんまり困らないんだけど、原因がわからんのが気持ち悪い。

とりあえず、もう一度マニュアル読めってことかねえ(-_-;)

お名前:
E-mail:
コメント: