PICマイコンの人力マルチタスク

備忘録。20年以上前にPICマイコンでやってたこと。当時はC言語なんて使わずに、アセンブラニーモニックごりごり。

PICマイコンって命令フェッチは1命令/clockなんだけど、1命令を処理するのに4クロックかかるという仕様なんです。

んで、前の命令が終わる前に、次の命令で同じレジスタを操作しに行くようなプログラムが実際に書けてしまい、そうするとレジスタの中身がぶっ壊れます。上記の例だと、Axの演算結果を期待してBxを実行すると、Axはまだ処理中なので出鱈目な結果になっちゃう。

普通は前の命令の結果を持って次の命令が必要な場合は、以下のようにNOPを入れるんです。

でもそうすると、NOPの間がムダです。じゃぁどうするかと言うと、命令と命令の間に、レジスタを共有しない別の処理を突っ込みます。こんな感じで。

はい、これで処理能力が2倍になりました。ばんざーい。可読性なにそれ?って感じです。理論上は4倍まで上げられそうですが、実際のところレジスタが足りなかったり、必ずしもNOPいらない場合が多かったり。

今時コンパイラが高性能になったんで、知ってても役立つことのない知識だと思うんですが供養がてら。

カテゴリー: 未分類 | タグ: | 4件のコメント

アクセル全開で高温でカーボンを焼き切る、は本当か?

昔からよく言われている「アクセル全開にして高温でカーボンを焼き切る」というのは本当にそうなのか?という疑問。

昔の、セッティングのあやしいキャブや空冷エンジンならともかく、今時の電子制御マシマシの水冷エンジンだと空燃比も燃焼やシリンダー温度も高度に制御されているので、そんな単純な話ではないと思うわけで。

アクセル全開にしてエンジンの発熱量が増えると、その分冷やす方向に制御が働く。ウォータージャケットによる冷却が追いつかなくなると、燃焼温度自体を下げるために空燃比を下げて燃料を濃くしたり、あるいは高燃焼温度によるNOx生成を抑えるためにEGRバルブを通して排気ガスの還元量を増やして燃えにくくしたりする。すると、よけいにスス溜まるんじゃね?

アイドリング付近は吸排気の流速が安定しないから燃料濃いめ、加速時もトルク引き出すために一時的ながら濃いめになるのは仕方ない。となると中回転で一定速度でエンジン回し続けるような巡航が一番良いような気がします。別に高速乗らなくても、田舎道を制限速度で延々走るようなのでも。

まぁ机上の空論なんですけど。

カテゴリー: 未分類 | コメントする

バイクの価格

ぶっちゃけ、日本メーカーが日本国内向けに出しているモデルは、かなりディスカウントで出しているという話。

公道仕様車は国ごとに仕様や規制が違うので、世界で仕様が同じであるレーサーで比較してみました。今のドル円換算レートで計算するととんでもないことになるので、材料やら部品仕入れやら考慮して1年半くらい前のレート(¥115/$)で計算。

全てのモデルが米国のMSRPよりも低めに設定されていますが、その中でもKX112の価格設定の異常さが際立ちます。

そもそも、基本設計が古いとはいえモトクロスで勝負できる仕様のKX85をベースにしたKX112が、KLX125を大きくしただけのようなファンバイクのKLX230Rより安い時点で大分おかしい。

カワサキはKX112をプッシュしてキッズライダーやリターンライダーの取り込みを精力的に行ってますが、ガチすぎる…。

売れる台数は減少傾向、材料費はどんどん上がる、でも販売価格の値上げに反映することが難しい市場…。

そりゃまぁこういう話にもわな…、ということで。

カテゴリー: 未分類 | タグ: | コメントする

マナーこわい

生産性がどうとかというより、別のことが気になりました。

元々インターネットメールでの書き出しは、欧米と同じようにそんな書き出しはしなかったのが、日本社会でもインターネットメールが一般化するに従って、導入されていった様式の様です。

そして元々「なかった」様式が、今は「当たり前」の様式になり、その様式を省略すると新たに「失礼にあたる」というのが、すごく奇妙に思いました。

使われ始めた当初は「気遣い」としてメリットあったんだろうけど、皆が使う様になって「習慣化」するとそのメリットは無くなり「使わないと失礼」というデメリットが新たに生成されただけ、ただの罰ゲーム。

そもそも「失礼に感じる」というのも「自分には使われて当然」という驕りではないかと。

さらに、上記のTwitterのスレッドには「使わないとはなんたる失礼か!」みたいなポリコレ全開なレスまで。いやほんと誰も得してないぞ?

カテゴリー: 未分類 | コメントする