畑です。

加藤@ODNさん:
> 技術の選択には常に一長一短があるもので,IA-32 が現在メジャーになって
> いるのは,当にこのレガシーを引きずっていることが大きな理由です.学生
> 時代にはピンとこないと思いますが,企業などで5年10年と同じソフトを
> 使い続ける場合,バイナリレベルの互換性というのは非常に重要なポイント
> なわけです.昔の話になりますが,i8080 と M6800 の争いも,モトローラ
> が 6809 に移行するときに微妙にバイナリ互換を無くしたのが敗因の一つ
> だったと思います.
> 
> いつ互換性を捨てるかの判断というのは非常に難しく,Intel も RDRAM や 
> IA-64 (EMT-64 では無い方)では失敗して,AMD の躍進を許すことになりま
> したし,Microsoft も MS-DOS 互換を維持したお陰でメジャーになりました
> が,そのために 64 KiB の壁に悩まされ続け,やっと決断した Windows XP 
> への一本化も,決してスムーズには進んでいません.

僕自身も、個人ユーザの視点においては、なぜ、Pentium(初代)以来、IA-32
プラットフォームを選択してきたかと言うと、やはり MS-DOS 時代に築かれた
PC ゲームの魅力が一つの理由としてありました。

ただ、ゲームですら、もう、PC のハードウェアの性能的な意味では、すでに飽
和点に到達した気がしますし、特に拡張性を売りとする PC/AT 互換機プラット
フォームにこだわる必要もなくなってきた気がしています。“西部開拓時代”にお
いては、可能性・選択肢の幅が広いことが魅力でしたが、荒野の開発がある程度
進んでしまった今となっては、Apple のような“都会派”の洗練されたアーキテク
チャの方が魅力的に感じられてきます。

河野@琉大情報工学さん:
> Java みたいなJITが推進されれば、互換性はbyte code ( = syntax tree)
> で取られるんで、アセンブラのレベルの互換性は関係ないんですよね。

僕がアセンブリに興味を持つきっかけとなったのは、Perl の方の話題の関係
で、parrot をいじってみようかなと思ったのが、事の始まりだったんです。

Java VM とか、その MS パクリの .NET とか、オープンソース陣営の parrot と
か、そういうものが段々と頭をもたげてくるのを見ていると、とりあえず BIOS
レベルで parrot に対応しておいて、あとは OS でもなんでもかんでも parrot
の上で走らせちゃえば、OS すらハードウェア非依存にできてしまえる“可能性”
はあるわけです。RISC プロセッサのように単純な命令だけをハードウェアに実
装しておいて、それを組合せた複雑な命令機能はすべて VM 側に任せておけばい
いような気もします。すると、ベクタ演算を詰め込みまくった IA-32/64 系プロ
セッサって(Athlon も含めて)、なんだか、決して“都会派”じゃないって感じ
がするんですよね。

# ただ、G5 PowerPC も、Pentium のようにベクタ演算機能を肥大化させる方向
# 性にあって、同じ轍を踏みつつあるそうですが……。

> それがあれだったら、いやだなとは思うけど。でもIA64は外れだと
> 僕は思う。

発熱、電力消費。プロセッサのマッチョ化による副作用をいつか精算しなけれ
ば、静音性や省スペースなどの要求との間で破綻しかねないんじゃないかと思い
ます。

-- 
Masanori HATA