PARROT

後藤さんの記事でPARROTの話が出ている。要はTransmeta路線をハードでやりますよ、ということだろうが、常識的に考えて「ハードでやる」というのはマイクロコードでやるということなので、やっぱりCMSってイケてたんだなぁといまさらながら思う。正直、NexGenが出たときもTransmetaが出たときもマユツバと思っていた私は先見の明がイマイチないってことかな。
先見の明がないくせに予想してしまうがPARROTはたぶん、実際には(1)μOPsのTraceに対して局所最適化を行う部分(もしかしたらハードワイヤにしてTrace Cacheに載せる前段あたりに処理するか?)と、(2)Trace Cacheをなめて、大域的最適化を行うマイクロコード(バックグラウンドで走る)に分けた最適化をするんちゃうかな。(1)の方はPentium M系列でμOPs fusion入れたときのノウハウでできそう。後者はまぁ理論上はできるが実装は大変そう。このスライドではUnrollingとかInliningとか、Traceを膨らませるμOPs変換技法が並んでいるあたり、かなり挑戦的な感じ。まぁ膨らませるだけでも局所最適化の効きは良くなるけど、キャッシュ足りない問題はどうするつもりなのか。キャッシュだと熱密度下げる方向だからトランジスタ増えてもOKってことか。まぁその辺がまだ見えないからPARROTは実験アーキテクチャにしか今のところなれないんだろうな。

・・・てよく見たらシミュレーション結果も出てたのか。どこまで厳密かわからないけどやるなぁ。

IPCを上げてクロック下げ気味、ってのでふと、RiseのTigerを思い出した。SiSが買ったはずだけどどうなったんだっけ?もしかしてこれがなれの果てかしら。てことはほっぽらかしなのね。きっとエンジニアが逃げたんだろうな。