IntelがItaniumを削除したのはなぜですか?[閉まっている]


14

私はコンピューターの歴史を読んでいて、IA-64(Itanium)プロセッサーに出会いました。彼らは本当におもしろそうに聞こえたので、Intelがそれらを落とすことにした理由について私は混乱していました。

そのサイクルで実行したい2つの命令を明示的に選択する機能は、特に高速なブートローダーなどのアセンブリでプログラムを作成する場合に最適です。

何百人ものレジスタは、任意のアセンブリプログラマのために説得しなければなりません。他の変数を呼び出さない場合、基本的にすべての関数変数をレジスタに保存できます。

このような指示を行う機能:

(qp) xor r1 = r2, r3    ; r1 =   r2  XOR r3

(qp) xor r1 = (imm8), r3 ; r1 = (imm8) XOR r3

対すること:

; eax = r1
; ebx = r2
; ecx = r3

mov eax, ebx ; first put r2 into r1
xor eax, ecx ; then set r1 equivalent to r2 XOR r3

mov eax, (imm32) ; first put (imm32) into r1
xor eax, ecx ; then set r1 equivalent to (imm32) XOR r3

x86の下位互換性がないためだと聞きましたが、Pentium回路を追加してItaniumモードに切り替えるプロセッサフ​​ラグを追加するだけでは修正できません(保護モードまたはロングモードに切り替えるなど)

それについてのすべての素晴らしいことは、AMDの前に彼らを巨大な飛躍に追いやったでしょう。

何か案は?


残念ながら、これを行うには非常に高度なコンパイラが必要になります。または、CPUの特定のモデルごとに1つです。(たとえば、追加機能を備えた新しいバージョンのItaniumでは、異なるコンパイラが必要になります)。

Visual Studio 2010でWinForms(ターゲットは.NET 2.0のみ)プロジェクトで作業していたとき、IA-64のコンパイルターゲットがありました。つまり、IA-64用にコンパイルできる.NETランタイムがあり、.NETランタイムはWindowsを意味します。さらに、ハミルトンの答えはWindows NTに言及しています。Windows NTのような本格的なOSを使用するということは、IA-64マシンコードを生成できるコンパイラがあることを意味します。


1
この回答は、役に立つと思われるItaniumに関する背景情報を提供します。
-amiregelz

1
EDGEプロセッサが最も有望な新しいアーキテクチャであると考えています。また、VLIWプロセッサ(Itaniumなど)よりも優れています。「新しいISA?」でリンクされたページを下に読みたいかもしれません。そしてその部分としての「理論」は、なぜ彼らがはるかに優れているのかを説明しています。
ダンD.

@DanDの問題は、x86が事実上の標準であるということです。おそらく最も近いものは、AppleがIntelからEDGEに切り替えることですが、それでも数年かかります。
コールジョンソン

「下位x86互換性がないためだと聞いたが、Pentium回路を追加してItaniumモードに切り替えるプロセッサフ​​ラグを追加するだけでは修正できなかった(保護モードまたはロングモードに切り替えるなど)」コスト、性能、信頼性、熱などを犠牲にすることなく、2倍の数のトランジスタを備えたチップを製造できれば、すでにそれを行っているはずです。
デビッドシュワルツ

回答:


29

パフォーマンスは予想と比較して非常に期待はずれであり、Intelのx86アーキテクチャと比較してよく売れませんでした。

Intelは、展示会のために2000年頃にWindows NTを実行しているItaniumでHamilton Cシェルを構築するように話してくれました。Itaniumは手に入りにくいので、私は彼らの研究室のマシンにVPNを使用しました。x86、MIPS、Alpha、およびPowerPC上でNT用のバージョンをすでに構築しているため、「ポート」は簡単で、ほとんどが私のメイクファイルに微調整を加えただけです。多分半時間かかったと思う。

しかし、パフォーマンスは本当に圧倒的で、間違いなくVPN経由でした。トレードショーに行って、実際にそこで試してみると、まだがっかりしました。Itaniumは素晴らしい製品ではなく、誰も購入しなかったため、どこにも行きませんでした。

追加:

しばらくの間、Intelは、WebサイトでのVPNリモート開発の経験を使用して、Itaniumへの移植の経験を大々的に宣伝しました。すぐに消えましたが、archive.orgでスナップショットを作成しました。リモートFAQで次のように述べています

Q:リモートアクセスサービスについて話すことができる顧客がいますか?

A:はい、ハミルトン研究所 *。このサービスから得られるハミルトン研究所の利点の詳細については、 ハミルトン研究所のケーススタディを

ケーススタディで」では、顧客がそれを求めていたため、Itaniumバージョンを構築したと書かれています。しかし、Itaniumのコピーを販売したことを覚えていません。PowerPCを含む他のすべてのためにそれらを販売しました(そして、NTを実行している人はどれだけいると思いますか?)

チャレンジ: Intel®Itanium®およびWindows * 2000向けの顧客のアーキテクチャツールの市場投入までの時間を短縮するために、ハミルトンCシェル製品の開発を加速すること。

ソリューション:高速インターネットアクセスとShiva®VPNクライアントを含むリモートアクセスプログラムを使用して、Itanium開発環境にアクセスし、ソースコードを変更してファイルを作成し、わずか7時間でリモートで64ビットアプリケーションをデバッグおよび再コンパイルしました。


5
微調整するものはありません。私のCシェル全体は高度にマルチスレッドですが、特に当時は非常に移植性の高いCであり、書かれているように非常に効率的でなければなりませんでした。私はすでに64ビットRISCマシン用に構築しており、すでにアライメントの問題を見つけて修正していました。パフォーマンスについては、私は常にすべてをWin32 APIに直行してきたので、Cランタイムライブラリが不良である可能性もありませんでした。本当にホットなマシンはアルファであり、それと比較して、Itaniumは残念でした。
ニコールハミルトン

8
Cシェルを見てください。とても素晴らしいです。私は常にCygwinをcopoutと見ていました。しばらく試してみる必要があります。
マイケルブラウン

6
それは、MicrosoftではなくIntelであり、そのクレイジーなリモート開発システムです。Microsoftは開発者にとって非常に役立ちました。マイクロソフトは、MIPS、Alpha、およびPowerPCマシンの入手を手配してくれました。1992年の初め、マイクロソフトキャンパスの外に多くのコピーがなかった頃、私は開発グループからNTの新しいビルドの手作りCDを入手していました。
ニコールハミルトン

8
いいえ、NTカーネルはプロセッサアーキテクチャについては非常に不可知論者でした。デイブ・カトラーはそれについて熱狂的でした。彼らは、コードに忍び寄るx86主義を避けるために、i960でNT開発を開始しました。そして、彼らはi960を落としましたが、NT 3.1ベータは1992年7月にx86とMIPSでリリースされ、その数か月後のiircでリリースされました。マイクロソフトはMIPSおよびAlphaマシンの入手を支援していたため、3つのプロセッサすべてが発表されたときにサポートしました。Itaniumの特別なことは、それが失望し、売れなかったことです。
ニコールハミルトン

1
@ColeJohnson-Nicole Hamiltonが指摘するように、問題はNTカーネルではなかった。つまり、Windows Server 2008 R2はItaniumをサポートしていました。そのため、問題はオペレーティングシステムではありませんでした。問題はプラットフォーム自体にありました。もちろん、AMDがx86プラットフォーム自体を拡張するだけでIntelの計画にレンチを投じることは助けにはなりませんでした。
ラムハウンド

4

簡単な答え:パフォーマンスが悪い。インテルは、必要な製品に進化したはずの革新的な製品をリリースしようとしました。

より具体的には、一般的な状況ではプロセッサの速度が十分ではありませんでした。Intelは、プロセッサの速度とメモリの速度のギャップが拡大するにつれてプロセッサをリリースしました。Itaniumは、縮小命令セット(RISC)プロセッサであり、従兄弟のx86バリアントよりも命令あたりのバイト数が多く必要でした。メモリ負荷の増加により、プロセッサの実行が遅くなりました。

これはすべて、アーキテクチャ全体が基本的に最初のリリースであることにbyしていました。RISC自体は新しいアイデアではありませんでしたが、多くのハードウェアコンポーネントには新しいレイアウト設計が必要でした。Itaniumの命令レイアウトには、高品質のソフトウェアが利用可能になる前に開発コミュニティが徹底的に消化する必要のある多くの新しいアイデアもありました。

最終的に、多くのテクノロジーがIntelの既存のチップのリリースで使用されることになりました-エンドユーザーには簡単には見えません。


2
Itaniumを使用する場合のパフォーマンスの低下、またはレガシーX86コードをエミュレートする場合の絶対に恐ろしいパフォーマンスを意味しましたか?
ヘネス

1
どちらも。私の印象では、X86エミュレーターはItaniumチームにとってあまり重要ではなかった。その代わり、エミュレーターは、ほとんどの顧客が第一印象を与えるストップギャップであるため、正しく機能するための重要な製品機能でした。
A.フィリップス

1
よく書かれたItaniumコードでのItaniumのパフォーマンスは素晴らしかった-そこにはあまり良いコードはなかった。
A.フィリップス

5
「よく書かれたItaniumコード」とはどういう意味ですか、アーロン?すべてが適切に配置されており、不必要なキャストなどが行われていないきれいなCであれば、Itaniumで特にうまく書かれているものは何ですか?Cシェルをtime使用すると、バインドされたもの(例:ファクタリング数)、i / o(ファイルのコピーまたはcat'ing)、OS perf(スレッドまたはプロセスの作成)を簡単に計算できました。アルファでは、すごい、これは速いようでした。デュアルプロセッサを使用すると、簡単に測定できます。Itaniumは、特に誇大広告と比較して、見た目は犬でした。
ニコールハミルトン

4
MIPS、Alpha、およびPowerPCプラットフォームも同様に新しく、90年代前半のすべてのNTとともに、他のチップ、特にAlphaは、ほとんどのx86マシンと比較して高速でした。私はまだ地下室にそれらの他のマシンのそれぞれの1つを持っています。Itaniumはそれほど素晴らしいものではありませんでした。これはIntelの最初の失敗ではありませんでした。1981年の432の災害を思い出す他の灰色の髪の毛も、パフォーマンスが低下した設計の悪いアーキテクチャでした。
ニコールハミルトン

3

イタニウムは、その利点を活用することができれば素晴らしいデザインです

残念ながら、これを行うには非常に高度なコンパイラが必要になります。または、CPUの特定のモデルごとに1つです。(たとえば、追加機能を備えた新しいバージョンのItaniumでは、異なるコンパイラが必要になります)。

このようなコンパイラを一度作成するのは難しい作業です。CPUのすべてのバリエーションに対してこれを行うのは経済的ではありません。


新しいコンパイラー用にコンパイラーを更新する必要はありません。新しい機能を活用するだけです。後方互換性を維持すると聞いた。
コールジョンソン

彼はアセンブラーが好きです。
ott--

アセンブリのコーディングが簡単になると述べています。コンパイラは、少なくとも考えられる最も単純な命令を使用できます。
コールジョンソン

動作するコンパイラを作成することは、CPUのワイド/パラレル命令機能を効率的に使用するコンパイラとはまったく異なります。アセンブラーを手作業で作成すれば、すばらしいことができるはずですが、多くの作業が必要になります。
ヘネス

2
古いスラッシュドットスレッドから:Itaniumのコンパイラは難しいです
リッチHomolka

2

まだ触れられていないItaniumの歴史のもう1つの重要な部分は、2001年にItaniumが登場してから、市販のハードウェアに大量のRAMを入れることができなかったという事実です。x86_64は地平線上のほんの一瞬であり、AMD Opteronsはさらに2年間はリリースされません。

Itaniumサーバーでの最初の(そして唯一の)経験は2002年に化学会社で、欠陥を検出するためにオイル分析を実行するためにSQL Serverが必要でした。このオイルは、10億ドルの会社の数百万ドルのマシンから出入りするため、Itaniumのクラスターがあり、それぞれに128GbのRAMがありました。今日の128GbのRAMはまだかなりの量ですが、サーバーに簡単にインストールでき、安価です。

2002年には、128GbのRAMは膨大な量であり、既存のSQL Serverインフラストラクチャが既にあったため、いくつかのItaniumマシンに分岐してRAMをロードする方が、別のプラットフォームに切り替えたり、異なるデータベース。

Itanium市場の大きな部分の1つである128Gb(またはそれ以上)をコモディティサーバーに導入するのは簡単です。数百ギガのメモリを使用することはどこにでもあります)は、購入するのに安く、所有するのに安く、より速いオプションであふれています。


最近では128 GBのddr3 ramモジュールが少なくとも1グランド(USD)を実行すると確信しています
コールジョンソン

2
128Gb DDRモジュールを見たことはありません...しかし、128Gbの登録ECC RAMをサーバーに入れるのは$ 1000以上ですが、それ以上ではありません。サプライヤーから得ることができる取引に依存します。
マークヘンダーソン

単純な128 GB モジュールも見たことがありません。しかし、この8x16GBセットが同等であり、それは私が他の場所を見てきました$ 10Kセットに比べてかなり安いである$ 1,500のコスト
コール・ジョンソン

多くのGbsが表示されます。これらはGBである必要がありますか?
チャーリー

1

AMDがIntelに競争のためにメインストリームプロセッサにより多くのリソースを割り当てるように促したためだと聞いた。AMDは2003年にAthlon 64を発表しました。これはPentiumよりも優れた価格/性能を備えていました。IntelがItaniumを全力で開発し続けた場合、現在のx86プロセッサよりも高速になると考えられています。


1
「Could have ... Would have」という言葉は、AMDが単にx86を拡張していなかった場合にItaniumが可能だったことに適用されます。Intelは本当に望むならx86-64を殺したが、彼らはMicrosoftからのプレッシャーにさらされていたはずだ.IntelがAMDからx86-64のライセンスを取得しなかった場合、AMDがリードし、IntelはほとんどできないAMDの進歩についていく。
ラムハウンド
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.