Intelのi960(または80960)はRISCベースのマイクロプロセッサ設計で、1990年代初頭に組み込みマイクロコントローラとして人気を博しました。競合するAMD 29000とともに、その分野でベストセラーのCPUとなりました。[ 3 ]成功にもかかわらず、IntelはDECとの和解によりStrongARM CPUの製造権を獲得したため、1990年代後半にi960の販売を中止しました。このプロセッサは現在も少数の軍事用途で使用されています。




i960の設計は、1980年代初頭のインテルのiAPX 432設計の失敗を受けて開始されました。iAPX 432は、 AdaやLispなど、タグ付き、保護付き、ガベージコレクション付きメモリをハードウェアで直接サポートする高級言語を対象としていました。しかし、命令セットの複雑さ、マルチチップ実装、設計上の欠陥などが原因で、iAPX 432は当時の他のプロセッサと比べて非常に低速でした。
1984年、インテルとシーメンスは、最終的にBiiNと呼ばれることになる共同プロジェクトを開始し、Ada言語で完全にプログラミングされた、高性能で耐障害性に優れたオブジェクト指向コンピュータシステムの開発に着手した。当初のi432チームのメンバーの多くがこのプロジェクトに参加したが、新たにリードアーキテクトとしてIBMからグレンフォード・マイヤーズが加わった。BiiNシステムの想定市場は、銀行、産業システム、原子力発電所など、高い信頼性が求められるコンピュータユーザーであった。
IntelがBiiNシステムに大きく貢献したのは、i432の保護メモリの概念に影響を受けた新しいプロセッサ設計でした。この新しい設計には、i432の失敗の原因となった問題を回避するとともに、パフォーマンスを向上させるための多くの機能が含まれていました。最初の960プロセッサは、1985年10月に設計の最終段階であるテープアウトに入り、同月に製造工程に送られました。最初の動作可能なチップは、1985年末から1986年初頭にかけて到着しました。
BiiNプロジェクトは最終的に市場の力によって失敗に終わり、960は使い道のないまま放置された。マイヤーズは、BiiNシステム用に作成されたフル機能アーキテクチャからいくつかのサブセットを抽出することで、この設計を救おうと試みた。彼は、Intelの経営陣に対し、i960(当時はまだ「P7」として知られていた)を汎用プロセッサとして、Intel 80286とi386(最初のi960と同じ月にテープアウトされた)の代替として、また、新興のUnixシステム向けRISC市場向けに販売するよう説得しようと試み、NeXTシステムでの使用をスティーブ・ジョブズに提案した。マイヤーズは、i960を汎用プロセッサまたはUnixプロセッサとしてサポートするようIntelの経営陣を説得することには成功しなかったが、このチップは初期の高性能32ビット組み込みシステムですぐに市場を獲得した。
i960の主任設計者は、スーパースカラ技術の専門家であるフレッド・ポラックであり、彼はIntel iAPX 432の主任エンジニアであり、 Pentium Proであるi686チップの主任設計者でもあった。[ 4 ]
i960ファミリーは、上位バイナリ互換性を考慮して設計された4つの異なるアーキテクチャを備えています。 [ 5 ]
初期リリースでは、80960KAはコアアーキテクチャを、80960KBは数値アーキテクチャを、80960MCは保護アーキテクチャを、そして80960XAは拡張アーキテクチャをサポートしていました。
i432 を悩ませていたパフォーマンスの問題を回避するため、i960 の中心的な命令セット アーキテクチャは RISC 設計でした。拡張アーキテクチャでは、メモリ サブシステムは 33 ビット幅で、32 ビットのワードとハードウェアでメモリ保護を実装するための「タグ」ビットを収容します。多くの点で、i960 はオリジナルのBerkeley RISC設計を踏襲しており、特に、サブルーチン呼び出しを高速化するためにサブルーチン レジスタごとに実装固有のキャッシュ数であるレジスタウィンドウの使用が特徴的でした。競合するスタンフォード大学の設計であるMIPS は、このシステムを使用せず、代わりにコンパイラが最適なサブルーチン呼び出しと戻りコードを生成することに依存していました。ほとんどの 32 ビット設計と同様に、i960 はフラットな 32 ビットのメモリ空間を持ち、拡張アーキテクチャを除いてメモリのセグメンテーションはありません。拡張アーキテクチャでは、それぞれ最大 2 32バイトのサイズの2 26個の「オブジェクト」をサポートできました。 [ 6 ] i960アーキテクチャは、プロセッサ内の複数のユニットに命令が同時にディスパッチされるスーパースカラ実装も想定していました。
i960MCにはオリジナルのBiiNシステムの機能がすべて含まれていましたが、仕様書には記載されていなかったため、i960MCがなぜこんなに大きく、132ピン中53ピン[ 7 ]が「接続不可」とラベル付けされているのか疑問に思う人もいました。80960Jxシリーズなどのi960の後継機種では、「接続不可」のピンの数が一般的になり、代わりに電源ピンとグランドピンが増え、I/Oピンも追加されています[ 8 ] 。ただし、これらの「接続不可」ピンは実際には内部で接続されておらず、BiiN機能セットとは無関係です。内部のシリコンダイには、これらのピン用のボンドパッドがありません[ 9 ] 。
80960MCにはオンチップメモリ管理ユニットが搭載されており、IntelのM82965バス拡張ユニットと連携してフォールトトレラントシステムもサポートしています。両チップともMIL-STD-883C規格に準拠しています。両チップは1989年第1四半期に発売され、価格はそれぞれ2400米ドルと1700米ドルでした。拡張温度サンプルは1988年8月に発売されました。[ 10 ]
32ビットレジスタが32個、512バイトの命令キャッシュ、スタックフレームキャッシュ、高速32ビット多重化バーストバス、割り込みコントローラを備えています。[ 11 ]また、256個の割り込みベクタと32レベルの割り込み優先度を備えています。[ 10 ]
80960XAは、i960ファミリーの軍用メンバーであり、軍用80960MCの上位互換である拡張アーキテクチャを実装しています。ハードウェアの33番目のタグビットであるCapabilityを使用してオブジェクト指向プログラミングをサポートしています。また、Joint Industrial Avionics Working Group (JIAWG) の32ビットISA標準をサポートしています。[ 5 ]
メモリ管理機能やFPUを搭載していないRISCコアのバージョンはi960KAとなり、FPUを搭載したRISCコアはi960KBとなった。しかし、これらのバージョンは内部構造は全く同じで、ラベルだけが異なっていた。そのため、CPUは「実際にサポートされる」機能セットに対して必要以上に大型化され、結果として製造コストも必要以上に高くなった。
これらのプロセッサには35万個以上のトランジスタが含まれています。これらのプロセッサは、約7.5 VAX MIPSの性能を発揮できます。80960KBバージョンはIEEE 754規格と互換性があり、最大4 MWIPSの性能を発揮できます。両方のプロセッサは、CHMOS-IIIテクノロジーを使用して16 MHzと20 MHzで利用可能です。両方のプロセッサは132-PGAにパッケージ化されています。80960KAバージョンは100個単位で230米ドル、80960KBバージョンは390米ドルで入手可能です。[ 11 ]
i960KAは、レーザープリンタ市場向けの低価格32ビットプロセッサとして、また初期のグラフィック端末やその他の組み込みアプリケーション向けに成功を収めた。その成功により、複雑なメモリサブシステムを持たない次世代プロセッサの開発が実現した。
のi960CAは1989年7月に発表されました。新設計のスーパースカラRISCコアを搭載し、珍しいアドレス指定可能なオンチップキャッシュを追加しましたが、高性能組み込みアプリケーション向けであったため、FPUとMMUは搭載されていませんでした。i960CAは、シングルチップのスーパースカラRISC実装としては最初のものとして広く認識されています[ 12 ]。CシリーズにはALUが1つしか含まれていませんでしたが、算術命令、メモリ参照、分岐命令を同時にディスパッチして実行でき、特定の状況下では1サイクルあたり2つの命令を維持できました。最初にリリースされたバージョンは33MHzで動作し、Intelはこのチップが66MIPSの性能を持つと宣伝しました。i960CAマイクロアーキテクチャは1987年から1988年にかけて設計され、1989年9月12日に正式に発表されました。
その後、1992年5月にはi960CFが登場した。これは命令キャッシュが大型化(1KBから4KBに増設)され、データキャッシュも1KB追加されたが、FPUやMMUは依然として搭載されていなかった。
80960MX は、Extended アーキテクチャのスーパースカラ実装であり、クロック実行ごとに最大 3 つの命令を実行して、25 VAX MIPS の持続性能を実現します。[ 13 ] Joint Industrial Avionics Working Group (JIAWG) の 32 ビット ISA 標準を実装しています。当初は 348 リードのセラミック ピン グリッド アレイにパッケージ化されていましたが、後にベア ダイとして供給されました。i960 MX はオブジェクト指向プログラミングをサポートしています。33 番目のタグ ビットは、32 ビットのデータ ワードとメモリへの 32 ビット ポインタを区別します。これにより、メモリの保護領域への偽造ポインタが禁止されます。
80960Jxは組み込みアプリケーション向けのプロセッサです。32ビット多重化アドレス/データバス、命令キャッシュとデータキャッシュ、1KオンチップRAM、割り込みコントローラ、および2つの独立した32ビットタイマーを備えています。80960Jxのテスト容易性機能には、ONCE(オンサーキットエミュレーション)モードとバウンダリスキャン(JTAG)が含まれます。
80960Hxプロセッサは、クロック乗算、16K命令キャッシュと4Kデータキャッシュの大型化、およびGMU(ガード付きメモリユニット)の搭載により、Cxバリアントよりも性能が向上しました。HDバリアントは内部で2倍のクロック乗算を行い、HTバリアントは3倍のクロック乗算を行うことで、外部バス速度を変更することなく性能向上を実現しました。
1998年10月に発表されたi960VH組み込みPCIプロセッサは、32ビット33MHzのPCIバスと100MHzのi960JTプロセッサコアを搭載していました 。このコア は、16KB の命令キャッシュ、 4KBのデータキャッシュ、および 1KBの内蔵RAMも備えていました。その他のコア機能としては、2つの32ビットタイマー、プログラマブル割り込みコントローラ、I²Cインターフェース、および2チャネルDMAコントローラがありました。
80960RxプロセッサはI/Oプロセッサとして分類され、 PCIバス(バリアントによって2.1または2.2)の実装と80960Jxコアを搭載していました。これらはマザーボード上でオンボードPCIデバイスを実装するために、またPCI拡張カード上でも使用できました。RM/RN/RSバリアントは、JTコアと3倍のバス対コア乗算を使用して100MHzの 内部クロック速度を実現し、RDバリアントはJFコアと2倍の乗算を使用して66MHzを実現しました 。RPバリアントは、33MHzのバス速度で動作するJFコアを搭載していました 。
IntelはI2O規格を採用することでi960のI/Oデバイスコントローラ市場での地位強化を図ったが、これはほとんど成功せず、設計作業は最終的に中止された。1990年代半ばには、i960の価格性能比はより新しい設計の競合チップに劣るようになり、Intelはバッテリー駆動システムで使用できる低消費電力版を開発することはなかった。
1990年、i960チームは、将来のi386実装、具体的には後にPentium ProとなるP6プロセッサの開発に並行して取り組む「第2チーム」へと再編成された。i960プロジェクトは別の小規模な開発チームに引き継がれ、事実上、その開発は終焉を迎えた。

i960 I/O プロセッサの中には、80303 のように、 RAIDアルゴリズム用のハードウェアXORエンジンを内蔵しているものがあります。 [ 14 ]これらは、ハイエンドのRAID対応SCSIディスクアレイ ホストアダプタ カードのコントローラとして、また Digital Equipment/Compaq/HP のハイエンド SCSI およびDSSI、そして最終的にはFibre Channel HSx シリーズのスタンドアロン RAID コントローラとして使用されています。[ 15 ] [ 16 ]
i960RSチップは、Adaptec社のAAR-2400Aコントローラにも搭載されており、このコントローラは4台の汎用パラレルATAドライブを使用して、小型PCサーバーやワークステーション向けの、手頃な価格のRAID-5保護付き耐障害性ストレージシステムを構築します。
i960は、一部のBrocadeファイバーチャネルスイッチでFabric OSを実行するためにも使用されていました。
i960アーキテクチャはスロットマシンにも使用されています。現在では、IGTのStepper S2000シリーズやi960ビデオシリーズに採用されています。また、セガの有名なアーケード基板「Model 2」シリーズのメインCPUとしても使用されていました。
インド空軍の軽戦闘機HALテジャスに搭載されているMMR(マルチモードレーダー)は、i960を使用していると言われている。HALテジャスは2015年に就役した。
インド宇宙研究機関(ISRO)は、ロケットに搭載するコンピューターにこのチップを使用していると言われている。
i960プロセッサは、ケルビン・ヒューズ社のレーダーに搭載されている自動レーダープロット支援装置(ARPA)のインターフェースボードにも使用されています。
このチップは一部のHP X-Terminalで使用されていました。
一部のSATA RAIDコントローラは、PCI-to-PCIブリッジ、メモリコントローラ、および80960JT-100 CPUコアを統合したIntelの80303 IOP(インテリジェントI/Oプロセッサ)を使用しています。
このチップは、アルカテル・ルーセント1000 ADSLブロードバンドモデムに使用されました。[ 17 ]
オリジナルのi960チップ(KA/KB/MC/XA)には、接続されていないピンが多数あります(データシートではNCとマークされています)。[...] データシートを確認すると、4つのチップすべてが同じピン配置であることがわかります。より高度なバージョンでのみ、ピンが接続されていないのです。次に、パッケージ化されたチップ(下記)を見ると、なぜこれほど多くのピンが接続されていないのかがわかります。チップの大部分にはボンディングパッドがないため、ピンを接続する場所がないのです。