« 高校の同窓会 | トップページ | 携帯の機種変更( IDO 527G → au C309H ) »

最近のCPUと仕事の進め方の相似関係

こんなことを書いたら上の人は怒るだろうなぁ。

今の仕事場に来てそろそろ9ヶ月。なんとなく仕事の雰囲気がわかってきた気がします。今、自分が担当している仕事は会社の中でも割と忙しいところのようで、新製品の対応に日々追われています。そんななかで、ふと、今の仕事の進め方は最近のCPUに似ているなぁということに気が付きました。

1.パイプライン動作:これはどこでもそうですね。一人が何から何までやるということは極めて少なく、いろんな部署に仕事が流れて行って、その部署のなかでも流れ作業のように業務が流れています。

2.同時実行:これも複数の実行ユニットを持っていれば簡単にできます。とくにウチの会社のような場合、いろんな製品を扱っていて、それがお互いに関係がないので、いくつもの新製品が同時に流れています。

3.分岐予測と投機実行:この辺からアヤシイ雰囲気が漂い始めます。最近のCPUではパイプライン動作をするためにコードのなかに分岐命令があった場合、どっちにジャンプするかを予測して実行するみたいです。これをやらないとパイプラインを効率よく使えないからです。これはこれでいいのですが、現在の仕事場でも分岐予測と投機実行が行われています。この場合の投機実行はやっておかないと納期に間に合わないからです。分岐予測は完全なカンであることが多いので、よく外れますし、外れた場合のペナルティは大きいです。そこで、最近のVLIWなCPUは分岐先をすべて実行してしまって、分岐先が判明したら正解以外はみんな捨ててしまう、ということをやることがあるみたいです。これを実際の業務に適応すると大変なことになりますが、分岐の判断がギリギリの場合分岐先の処理をすべてしておかないと間に合わないことがあり、実際にこの技を使うこともあります。

4.逆順実行:特に関連のない命令が並んだコードを実行するときに、簡単に実行できるものは先に実行する、もしくは前の命令の結果に依存したコードはちょっと待っててもらって、関係のないコードを先に実行する、ってのが逆順実行(Out Of Order)です。CPUのように、依存関係のない業務なら逆順実行してもぜんぜんかまわないのですが、そうでない場合も逆順実行をよく行っています。たとえば何かを行う場合、依頼文書が来て、それに対してアクションを起こす、ってのが正式な手順ですが、依頼文書が来ることを前提にアクションを先に起こしてしまうことが多々あります。これも正式ルートを取っていると納期に間に合わないためです。

こうしてみてみると、完全に納期最優先な動き方をしています。たしかに納期は大切ですが、そのスピードに対応する仕事の仕組みもないのに無理矢理仕事を流している、って感じがします。破綻しなければいいのですが...

|

« 高校の同窓会 | トップページ | 携帯の機種変更( IDO 527G → au C309H ) »

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/9648/40441331

この記事へのトラックバック一覧です: 最近のCPUと仕事の進め方の相似関係:

« 高校の同窓会 | トップページ | 携帯の機種変更( IDO 527G → au C309H ) »