Intel i860

Intel i860 マイクロプロセッサの詳細



Intel i860(別名80860)は、インテル1989年にリリースしたRISCマイクロプロセッサです。当時のハイエンド市場を狙った製品で、i960とともにインテルの新しいISAへの挑戦でした。しかし、i960が組み込みシステムで成功を収めたのに対し、i860は商業的には失敗に終わり、1990年代半ばにはプロジェクトが終了しました。

アンドルー・グローヴは、i860の市場での失敗はインテル自身にあると指摘しています。

技術的特徴



i860は当時としては珍しい特徴をいくつか備えていました。特にVLIWアーキテクチャと高速な浮動小数点数演算能力が際立っていました。

アーキテクチャ: 32ビットALUと64ビットFPUを搭載し、FPUは加算器、乗算器、グラフィックスプロセッサの3つの部分で構成されていました。各ユニットはパイプライン化されており、最大3命令を1クロックサイクルで実行できました。
バス: 64ビット以上の外部バスを持ち、内部メモリバスは128ビット幅でした。CPUFPUはそれぞれ32個の32ビットレジスタを持ち、FPUはこれを16個の64ビットレジスタとして利用しました。ALUへの命令は一度に2つフェッチされ、外部バスを最大限に活用しました。
命令: 8ビットから128ビットまでのデータサイズを扱うことができました。
グラフィックスユニット: マイクロプロセッサチップにグラフィックスユニットを内蔵している点が当時としては画期的でした。このユニットは、FPUレジスタを8つの128ビットレジスタとして使用する64ビット整数演算ユニットであり、SIMD的な命令と基本的な64ビット整数演算機能を提供していました。この経験が後のPentiumプロセッサのMMX機能に影響を与えました。
パイプライン: i860のユニークな点の一つは、各機能ユニットのパイプラインにプログラムから直接アクセスできる点でした。このため、コンパイラは命令を注意深く並べてパイプラインを常に満たす必要がありました。これは従来のCPUではスケジューラが行う役割でしたが、i860ではコンパイラにその役割を移すことで、コアをシンプルにし、他の機能を組み込む余地を作りました。これにより、グラフィックスや浮動小数点演算において高速な処理能力を発揮できる一方、汎用的な用途でのプログラム作成は非常に困難でした。

性能 (問題点)



理論上の性能は非常に印象的でしたが、実際の性能は大きく劣っていました。主な問題は、実行時のコードの流れを予測するのが難しかったためです。コンパイラが命令を最適に並べることが非常に困難でした。例えば、キャッシュにないデータに対する演算は大幅な遅延を引き起こしますが、プログラマはデータがキャッシュにあるかどうかを事前に知ることができません。このため、パイプラインが頻繁に停止し、性能が大きく低下しました。

浮動小数点演算: 理論上は単精度・倍精度で60~80MFLOPSの性能が期待されましたが、アセンブリ言語で書かれたプログラムでも40MFLOPS程度、コンパイラを使用すると10MFLOPSに満たないこともありました。
コンテキストスイッチ: コンテキストスイッチを高速に行う手段がなかったことも重大な問題でした。i860は複数のパイプラインを持っており、割り込みによってそれらが中断されると、復帰時に元の状態に戻す必要がありました。この処理には最低でも62クロックサイクル、最悪の場合2,000クロックサイクルもかかり、汎用CPUとしての実用性を大きく損ねました。

バージョンと実際の使用例



i860には2つのバージョンが存在しました。

XR (コードネームN10): 25MHzまたは40MHzで動作
XP (コードネームN11): 40MHzまたは50MHzで動作し、大容量キャッシュ、二次キャッシュ、高速バス、並列計算向けの機能が追加

主な使用例



大規模計算機: ロスアラモス国立研究所のiPSC/860などの大規模計算機で使用されました。
ワークステーション: インテルはi860をワークステーションCPUとしてMIPSアーキテクチャと競合させようとしましたが、成功しませんでした。マイクロソフトはi860ベースのワークステーションでWindows NTの開発を行っていましたが、最終的にはMIPSとIntel 386で動作しました。
UNIXワークステーション: 沖電気のOKI station 7300やクボタコンピュータのTitan VISTRAなど、i860をメインCPUとするUNIXワークステーションも存在しました。
グラフィックスアクセラレータ: NeXTDimensionやSGI RealityEngineなど、グラフィックスアクセラレータとしても使用されました。特に、キャッシュに収まるサイズのプログラムや予測可能な処理においては良好な性能を発揮しました。
並列計算: Mercury Computer Systemsはi860を並列計算機に採用しました。アセンブリ言語で書かれた信号処理ライブラリが提供され、良好な性能が得られました。軍用機上のレーダー処理などに利用されました。
* 無停止コンピュータ: ストラタスはi860ベースの無停止コンピュータ XA/R シリーズを開発しました。

その後



1990年代後半には、インテルはARMベースのXScaleRISCビジネス全体を置き換えました。また、インテルXeonシステム用のマザーボードのチップセットとしてi860という名前が再利用され、混乱を招くこともあります。

まとめ



Intel i860は、その先進的なアーキテクチャと高速な浮動小数点演算能力で注目を集めましたが、コンパイラ技術の限界とコンテキストスイッチの問題から商業的には失敗に終わりました。しかし、その技術は後のプロセッサ開発に大きな影響を与え、特にグラフィックス処理における先進的な取り組みは、その後の技術革新への足がかりとなりました。


もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。