皆様、お疲れ様です。
各々方、’レス’どうもです。
# 第一次納期1W前なので、リプライが難しい (--;)
# ※四半期締め、ですしね〜
--------------------------------------------------
平鍋さん、こんにちは。
>ハードウェア向けソースコード
> 理由を推測してみます(本当は知らない ^^;).
> 1) for の down count
> 条件判定が, i < VALUE_MAX より,i >= 0 の方が一命令で済むマ
> シンがある.
はい、そう’らしい’です。(請け売りなんです A^^;))
チップによっては「そう云った実装をしている」ものがあるらしく、
また、賢いコンパイラは「こう云ったバイナリを生成する」らしいのです。
(「らしい」ばかりですみません (--))
# この件については、後の方がお答え下さってますね :-)
なんでも”0(ゼロ)を特別扱いする”命令セットを持つCPUが在る
のだとか...。("JavaWorld"かなんかに載ってました)
「1クロック、nサイクル」
の戦いが、’組み込み’の世界にはいまだ存在するかと・・・。
> 2) for(;;) と while (true)
> for(;;)は無限ループとしてコンパイラが認識できるため,
> 条件分岐を持たないコードを生成できる.(もちろん while(true)
> でも,認識するコンパイラはある)
こちらもその通りですね。
ただ、もう一つこう云ったことも考えられたり。
******************************
「(true)」や「(1)」は、その領域を
確保するのではないか?
******************************
なんて、ね。 :p
ありがとうございました。
--------------------------------------------------
’まえかわ’さん、こんにちは。
懇親会では”半端なまま”で終わってしまいましたね。 A^^;)
# 「あっ」と言う間の’入れ替わり立ち代り’で・・・
>'XP'と'CMM'
> 相対するものではなく、どちらも考える必要があると思います。
ですね...と、いうよりも、
「やるならやる、やらないならやらない」
と云った、もっと根本的なところが大切なのかな?なんて考えたり
もします。
# ここでいう「やる」・「やらない」は”(今)必要か(今は)必要無いか”
# が根本です
>CMM取得に向けて
> XPを考えてから、はっ!と気がつきました。
> 「突破口にはもってこいなのでは!?」
そうやって実際に取得できれば、経営陣も「にんまり」だし、XPユーザ
グループも「にんまり」だったり :p
# 経営陣的には『入札』も絡みますからねぇ〜
> 組込みの場合、もともとハード屋さんだった人が時代に流されて、
> アセンブラをやるようになってしまった(T.T)
> という方も多いと思います。
> そんな環境もあり、なかなかソフトウェアのレベルが低いというのも
> あるのかもしれません(他にも要員がありますが、、、)
いやいや、逆に『高レベル』なのかも、です。>ソフトウェア・レベル
だって、”中身を知っている”人々が実装しているのですから。
# なんて、’人間様にとって’って意味ですよね ^^;)
>組み込み向けXP
> 違いを考えようとすると悩んでしまいますので、
> 自分たちの環境にXPを合わせていけばいいかと思います。
> フレキシブルなのもXPのメリットですし、
> コミュニケーションなどは組込みだからといって違いはないと思います。
’フレキシブル’ゆえに「お上に理解していただけない」ってな
ことにはなりませんか?
自分:「・・・ということで、これがXPのメリットなんですよ」
お上:「しかし、○○といった場面ではどうする?」
自分:「それについても柔軟に対応できるのがXPなんですっ」
お上:「???そんな’いいかげん’なものが役に立つのか?」
自分:「・・・。(「いいかげん」って...(TT))」
基本的な話として、役席に近くなればなるほど”実行力でのし上がって
きた実績”があるゆえ、「なんでもOKです!」ってな話は’うさん臭く’
思えるのですよ。
# 単に「物を知らない」って話はさておき A^^;)
> ちなみにうちの部署では「コーディング規約」はありますよ(^^ゞ
ありゃ、そりは失礼をば...。 ^^;)
いやはや、またお会いできるといいですねっ。
ありがとうございました。
--------------------------------------------------
小野さん、こんにちは。
> アセンブラ使いなので,実はコンパイラが吐くコードについては
> あんまりよくわかっていないのですが(^^;
これまた”コア”なところにいらっしゃいますね。 ^^;)
> 私が扱う処理系では,
> i < VALUE_MAX
> に当たる箇所は,レジスタと即値のコンペア命令に置き換わり,
> VALUE_MAXのサイズ(1,2,4バイト)によって,
> コンペア命令の実行サイクルが変わりますね.
レジスタが扱えるビット数で’マシン・サイクル’が消費されるかどうか
なわけですから、こう云ったところ(VALUE_MAXのサイズ)なんかも
考慮しなきゃならないんですよ、ね @@)
う〜ん、さすがアセンブラな方。(笑)
> while(true)
> ではループが入るたびにコンペア命令が挟まりますね.
ハイ、おそらくは。
> 私が体験した例では
<中略>
> 最適化(+ハード構造を意識した最適化)という
> ソフト改良だけで,実行速度を約4倍にまで高めた人がいます.
> こういう人にこそ高年俸を支払うべきだと思いましたです.
まったく以って、その通り!
それこそ『技術者』ですよねっ。
# 【匠】な技は人に感動を与えますし
ありがとうございました。
--------------------------------------------------
’つちや’さん、こんにちは。
> 組み込み屋ですが、最近はコーチ、トラッカ、企画、テスタと
> 何でも屋です。
う〜む、見事に"XP"旋風してますねっ。 ^^;)
>'XP'と'CMM'
> > 相対するものではなく、どちらも考える必要があると思います。
> 私の中ではもっと砕いてまして、XPはプロジェクトドライブ方法、CMMは地図。
> XPでドライブしてCMMでいまどのあたりかなと確認するのではと
> 思ってますがいかがでしょう?
面白い感覚ですねー。 :)
そう云った感覚で”感触を確かめながら歩く(プロジェクトを進捗
させる)”といった行動は、ぜひとも実践していってもらいたいです。
これは、大袈裟に言えば【人生論】とも云えるでしょう。
# ’こう成りたい’といった目標の「(現在)どの地点に居るか」
# といった具合です
大切なことです。
> CMMレベルが高いということは、
<中略>
> 集団でクリエィティブな活動をするには必要な要素をあげているのかと思います。
> XPも集団でクリエィティブな活動をすることには変わりはないので、
> XPがうまくまわるには高いCMMレベルが必要ということだと思います。
ずれた話で申し訳ないのですが、'ISO'等の認定によって生ずる
”(将来の)損失”はどのように捕らえるべきでしょうかね?
・・・って、ずれ過ぎた上にXPと関係ないさね。>自分
すみません。 m(__)m
>'XP'実験状態
> 先日のセミナーでの「改善」とは、永遠に実験を行うことかなと思いました。
> ということで、ここは改善が行われていると読みましょう。
なるほど、そう云った方便(大変失礼!)もありますか。
# 悪い意味じゃあないです、念のため
> ハードとの結合という儀式をどうとらえるかですね。
> できれば、これを儀式ではなく習慣になるくらい頻繁に結合できれば
> よりXPになるのではと思います。
> でも、結合テストの自動化が難しい。
> どうする?
自動テストをしてくれるロボットを作って・・・あぁ、”永久ループ”ですね。
(笑)
# でも、「ポジティブ・ループ」でしょ?
いやいや、勝手に入り込みました。
すみません。 m(__)m
--------------------------------------------------
濱井さん、こんにちは。
> ほとんどのマシンで、カウントアップのループは。
> 1加算
> 比較
> 条件分岐
> の3命令以上かかりますが、カウントダウンのループは、条件分岐において
> ゼロを特別扱いするマシンが多いため。
> 1減算
> 条件分岐
> の2命令ですみます。
> 1減算と条件分岐を1命令で実行できるマシンもあったように記憶しています。
ハイ、前にも書きましたが、そういうことですね。 ;)
”チップの特性”は=(イコール)”性能の違い”なわけですから、
マイコン・エンジニアさんにとっては
”譲れない、且つ、自慢すべきところ”
であるわけですよね。
# パイプライン処理然り(他にもいっぱいあるけど、書ききれない)
でも、製造プロセス自身をよく考えないと、結局”インベントリー過多”
となってしまい・・・。
う〜ん、『ビジネス』は難しい。
# だからこそ"XP"があるんだねっ なんて ;)
ありがとうございました。
--------------------------------------------------
以上、長文な上にとりとめもなく、失礼致しました。
では。
2002年9月19日
ジャービル企画 三木