2023年3月2日木曜日

AMDががんばりすぎたせいでx86アーキテクチャが今も存在している

今となってはどのようなCPUもレジスタ数が多く、しかも特殊命令も多いので、レジスタ構造や命令の直交性できれいだとか論評するのは意味がなくなっている。また、命令実行にアウトオブオーダーが採用され、CPU内のマイクロコードを意識したプログラミングもあまり必要なくなった。そのような細かいプログラミングはコンパイラの作者だけに任せておけばよくなった。だからCPUの設計の美しさを議論する人は減ってしまった。

そうだとしてもx86アーキテクチャは汚い。まさか45年経ってもまだ存在し続けるとは思わなかった。セグメントという概念がよくない。40年以上前に8086をいじって「これはあかんやつや」と私はさじを投げてきれいなアドレッシングモードの68系に完全移行した。その68系が消滅して21世紀もx86/x64系のCPUが全盛を維持しているとは想像だにしなかった。

intelが作ったx86アーキテクチャがなくならなかった理由をAMDが作ったというのが皮肉だ。実はintelは美しくなく非効率なx86アーキテクチャを廃止したかった。それでIA-64アーキテクチャを開発しItaniumプロセッサを作った。しかしItaniumは商業的に失敗してなくなってしまった。Itaniumの失敗理由はいくつかある。
  1. 開発が遅れて予定通りにリリースできなかったので、ソフトウェア開発との共同歩調がとれなかった
  2. これまでのx86アーキテクチャで作ったソフトの実行速度が遅かった
  3. AMDがOpteronというx86/x64アーキテクチャのサーバー用CPUで商業的に成功した
3番めの理由だけが原因ではないが、Opteronのできがあんなによくなかったらサーバー用途ではItaniumが生き残ったかもしれない。そうなると今でもIA-64アーキテクチャのCPUが存在したかもしれない。つまりAMDがIntelをやっつけようとがんばりすぎたせいでx86アーキテクチャが今も生き残ってしまったのだ。

0 件のコメント:

コメントを投稿