i960は世界初の商用スーパースカラを実現

1985年テープアウト、1986年出荷開始
i960
i960(80960)
AI生成コンテンツ / AI-generated contents
i960 は、インテル が1985年(昭和60年)にテープアウトした32ビットRISC (リスク) マイクロプロセッサである。独シーメンス との共同プロジェクト「BiiN」向けに開発されたが、プロジェクトの頓挫により汎用CPU市場では日の目を見なかった。一方で組み込み分野では世界初の商用スーパースカラ実装として知られ、レーザープリンタからアーケード基板まで幅広く採用された。

目次

シーメンスとの共同開発とBiiNの挫折

i960のダイ
i960のダイ
i960は、インテル の意欲作でありながら黒歴史となったiAPX 432 の間接的な後継である。1982年(昭和57年)、インテルは独シーメンス と共同で「Gemini」(後の「BiiN」)という高信頼・フォールトトレラント指向の開発プロジェクトを開始し、IBM から移籍したグレンフォード・メイヤーズ 博士がアーキテクチャの指揮を執った。
i960SAとi960SB
i960SAとi960SB
AI生成コンテンツ / AI-generated contents
BiiN構成用に新設計されたのが「Intel i960」である。1985年(昭和60年)にチップはテープアウト(設計完了)し、1986年(昭和61年)に製品が出荷された。ところがBiiNプロジェクト自体は具体的な顧客を欠いたまま停滞し、シーメンス側の組織変更も重なって1989年(昭和64年)に事実上解体。インテルの手元には、使われずに終わったi960チップのみが残された。
メイヤーズ博士はi960を「80286/80386」の後継製品として提案し、さらにスティーブ・ジョブズ にも売り込みを図ったが、当時すでに「Pentium」こと「P5」、「Pentium Pro」こと「P6」の開発が進行しており、続く「P7」としてのi960採用は見送られた。汎用CPUの座を逃したi960は、組み込み用途に活路を見出すことになる。

アーキテクチャの特徴

i960のアーキテクチャ構成
i960のアーキテクチャ構成
AI生成コンテンツ / AI-generated contents
i960は上位互換となる4種のアーキテクチャで構成された。基本の「Core」に浮動小数点を加えた「Numerics」、ページングやプロセス管理を加えた「Protected」、オブジェクト保護を加えた「Extended」である。初期の80960KA はCore、80960KB はNumerics、80960MC はProtected、80960XA はExtendedに対応した。

Extendedアーキテクチャでは、メモリ空間が32ビットデータに1ビットの「タグ」を加えた33ビット幅とされ、iAPX 432 譲りのオブジェクト保護をハードウェアで実現した。プログラミング面では、スタンフォード大学 の「Berkeley RISC」で考案された「レジスタウインドウ (Register Window) 」の思想を取り込み、サブルーチンごとの専用レジスタ集合を切り替える方式を採用している。

世界初の商用スーパースカラ

i960のアーキテクチャ
i960のアーキテクチャ
AI生成コンテンツ / AI-generated contents
スーパースカラとは、1個のCPUコア内に複数の実行ユニットを持ち、1クロックのあいだに2個以上の命令を同時に実行できる仕組みを指す。1命令ずつしか処理できない従来のプロセッサに対し、命令の種類を見分けて演算・メモリアクセス・分岐といった処理を並行して進めるため、動作周波数を上げなくても処理能力を引き上げられる点が特徴である。

1989年(昭和64年)発表の80960CA は、新設計のスーパースカラRISCコアを搭載し、FPUやMMUを省く代わりに高性能な組み込み用途に特化した。「ALU」(整数演算)「Multiply/Divide」(乗除算)「Memory」の3つの実行ユニットを備え、算術命令・メモリ参照命令・分岐命令を同時にディスパッチできる。i960CAは世界初のシングルチップ 商用スーパースカラRISC実装とされている。

初期のi960CAは33MHzで動作し、インテルは「66MIPS」を謳った。命令デコーダーは2サイクルあたり4命令を取り込み解釈可能で、当時のRISCとしては珍しくオンチップの命令キャッシュも搭載していた。競合する商用スーパースカラの実装としては、AMD の「Am29050」(1990年)が続く程度で、i960CAの先進性がうかがえる。

関数呼び出しと割り込みの低オーバーヘッド

レジスタウインドウとは、CPU内部に多数のレジスタを用意しておき、関数を呼び出すたびに使用するレジスタの範囲(ウインドウ)を少しずつずらして割り当てる仕組みである。呼び出し元と呼び出し先が別々のレジスタ範囲を持つため、通常のCPUのようにレジスタの内容をメモリ上のスタックへ退避・復帰する処理が不要になる。

i960は、32本の32ビット汎用レジスタとレジスタウインドウ の仕組みにより、サブルーチン呼び出しの際にレジスタの退避・復帰をハードウェアが肩代わりする。これにより、関数呼び出しや割り込み処理に伴うオーバーヘッドが極めて小さく抑えられた点が大きな特徴である。512バイトの命令キャッシュやスタックフレームキャッシュ も、この高速な呼び出し処理を支えた。

オーバーヘッドが小さい理由は、退避・復帰にともなうメモリアクセスそのものを減らせる点にある。通常のCPUでは呼び出しのたびにメモリへの読み書きが発生し、命令実行が待たされるが、i960はレジスタの切り替えをオンチップの回路だけで完結させるため、関数呼び出しや割り込み発生時にもパイプラインの乱れが少なく、高速な処理継続が可能になった。

割り込み処理についても、256個の割り込みベクタと32段階の割り込み優先度を備え、リアルタイム制御用途を強く意識した設計となっている。こうした特性は、レーザープリンタの画像処理やRAIDコントローラのI/O処理のように、頻繁な関数呼び出しや割り込みが発生する組み込み用途との親和性の高さにつながった。

多様なバリエーション展開

i960シリーズのロードマップ
i960シリーズのロードマップ
AI生成コンテンツ / AI-generated contents
i960は最終的に「80960」の名称で、意外なほど多彩な派生製品を展開した。オリジナルの軍用品80960MXを源流に、FPU・MMUを省いてキャッシュを増強した「Superscalar」系(80960CA/CF/HA/HD/HT)、スーパースカラ機構を外して省電力化した「Low Power」系(80960JA/JF/JD/JS/JC/JT)、性能を落として低価格化した「Value」系(80960KA/KB/SA/SB)の3系統に整理された。

1998年(平成10年)発表の80960VHはPCIバスとI2Cバスを装備し、フラッシュメモリーやDRAMを直接接続できるなど、ほぼ「MCU」(Micro Control Unit、今日のSoC)と呼べる構成であった。動作保証温度域も0~70度の商用品から-40~+100度の高信頼品、-60~+150度のValue品まで幅広く用意され、組み込み向けプロセッサとしての懐の深さを示していた。

NeXTとの関係とPostScriptプリンタへの採用

NeXT Cube
NeXT Cube
AI生成コンテンツ / AI-generated contents
i960の生みの親であるグレンフォード・メイヤーズ 博士は、汎用プロセッサとしての活路を求めてスティーブ・ジョブズ にも売り込みを図り、NeXT 社のシステムへの採用を提案したと伝えられる。しかし実現には至らず、NeXTは自社製ワークステーションのCPUに引き続きモトローラ の68Kシリーズを採用した。汎用CPUとしての道は閉ざされたものの、この提案自体はi960とNeXTの関係を示す逸話として語り継がれている。
一方でi960は、低コストな32ビットプロセッサとしてレーザープリンタや初期のグラフィック端末市場で成功を収めた。代表例がHP の「LaserJet 4」で、業界初の600×600dpiを実現したこのPostScriptプリンタにはi960 RISCプロセッサが搭載されている。1990年代、レーザープリンタとPostScript 処理はi960にとって主要な応用先のひとつとなった。

PostScript はページ全体を座標計算とベクトル描画で組み立てるページ記述言語であり、印字前に大量の整数演算とメモリアクセスを高速にこなす処理能力が求められる。i960は高いレジスタウインドウ効率と低コストを両立していたため、専用の画像処理チップを持たないプリンタでも、CPU単体でPostScript処理を実用速度までこなせた点が採用の決め手となった。

RAIDコントローラ・SCSIカード・ネットワーク機器への採用

1990年代後半、i960は「I/Oプロセッサ」(IOP)としての需要をきっちり受け止めた。PCIバスブリッジやDMAコントローラーを集積した「Intel 80960Rx」(RD/RS/RM/RN)シリーズが開発され、MylexPromise Technology・3ware・LSI Logic といったRAID機器ベンダーが、自社製RAIDコントローラーにこれを採用した。80303など一部のIOPは、RAID演算用のXOR エンジンをハードウェアで内蔵していた。

Adaptec の「AAR-2400A」のように、廉価なパラレルATAドライブでRAID-5を構成するコントローラーにもi960系IOPが使われたほか、DEC/Compaq/HPの高性能SCSIやDSSI、後継のFibre Channel HSxシリーズ据え置き型RAIDコントローラーにも採用された。Brocade の一部Fibre Channelスイッチが「Fabric OS」を動かす基盤としてi960を利用した例も知られる。

RAIDコントローラやSCSI/ネットワーク機器では、ホストからのコマンド処理やパリティ演算、割り込み駆動のデータ転送を絶えずこなす必要がある。i960は関数呼び出しと割り込みのオーバーヘッドが小さいうえ、PCIバスやDMAコントローラーを内蔵した「I/Oプロセッサ」(IOP)として一体化できたため、ホストCPUの負荷を肩代わりする専用I/O処理装置に最適だった。

アーケードゲーム基板への採用

セガ Model 2基板
セガ Model 2基板
AI生成コンテンツ / AI-generated contents
1993年(平成5年)に稼働したセガ のアーケード基板「Model 2」は、25MHz動作のi960KB をメインCPUに採用し、富士通 製3Dグラフィックスプロセッサ「TGPx4(MB86235)」と組み合わせてテクスチャマッピングを実現した。この基板からは「Daytona USA」や「バーチャファイター2」「THE HOUSE OF THE DEAD」など、数々のヒット作が生まれている。

アーケードゲーム基板にとってi960の魅力は、ゲームロジックやプレイヤー入力処理といった分岐や関数呼び出しの多いプログラムを、レジスタウインドウにより低オーバーヘッドでさばける点にあった。3Dグラフィックスの座標変換は専用のTGPx4に任せ、i960はゲーム進行の制御に専念するという役割分担により、限られたコストで高いゲーム性能を引き出せたのである。

i960アーキテクチャはスロットマシン分野でも使われ、IGT の「Stepper S2000」ファミリーなどに採用された。さらに耐放射線化した派生品は、インドHAL Tejas 戦闘機の多目的レーダー(MMR)や、ISRO のロケット搭載コンピューターにも利用されたと伝えられ、アーケードゲームから航空宇宙用途まで、i960の設計は幅広い分野に浸透した。

i960の終焉

1997年(平成9年)、DECインテル を「CPU関連の特許を侵害した」として提訴し、同年10月に和解する。和解条件は、インテルが7億ドルを支払ってDECのファブを買収するとともに、DECのARMプロセッサ「StrongARM」の資産一式を手に入れるというものだった。インテルはこのStrongARMの後継として2000年(平成12年)に「XScale」を開発し、組み込み向けの開発リソースの多くをARM系にシフトさせていく。

インテルはI/Oデバイス制御市場でi960を延命させるべく「I2O」(Intelligent I/O)標準を推進したが、他社の賛同を得られず普及は進まなかった。1990年(平成2年)にはi960の開発チームが、後の「Pentium Pro」となる「P6」プロジェクトへ振り分けられ、事実上開発の主体を失う。1990年代後半には保守要員を残すのみとなり、価格性能比で競合に後れを取ったi960は静かに市場から姿を消し、2007年(平成19年)に生産を終了した。

主要スペック

項目 仕様
メーカー インテル
発表 1985年テープアウト、1986年出荷開始
データ幅 32ビット(Extendedは33ビット)
汎用レジスタ 32ビット×32本(レジスタウインドウ対応)
実行ユニット(i960CA) ALU/Multiply-Divide/Memoryの3ユニット
命令セット 32ビット固定長RISC
命令キャッシュ 0.5~16KB(製品により異なる)
割り込み 256ベクタ・32優先度レベル
CPUクロック 10~100MHz(製品により異なる)
製造プロセス CHMOS-III他、5V~3.3V駆動
生産終了 2007年

CPUの歴史

発表年 メーカー CPU名 ビット数 最大クロック
1970年Garrett
AiResearch
MP944 (軍用)20bit375KHz
1971年インテル40044bit750KHz
1974年インテル80808bit3.125MHz
1975年モステクノロジーMOS 65028bit3MHz
1976年ザイログZ808bit20MHz
1978年インテル808616bit10MHz
1979年モトローラMC68098bit2MHz
1979年ザイログZ800016bit10MHz
1980年モトローラMC6800016bit20MHz
1983年NECV3016bit16MHz
1984年インテル8028616bit12MHz
1985年インテル8038632bit40MHz
1985年インテルi96032bit100MHz
1985年サン・マイクロシステムズSPARC32bit150MHz
1985年エイコーンARM132bit6MHz
1986年MIPSR200032bit15MHz
1987年ザイログZ28016bit12MHz
1987年モトローラMC6803032bit50MHz
1988年MIPSR300032bit40MHz
1989年インテル8048632bit100MHz
1989年インテルi86032bit50MHz
1990年モトローラMC6804032bit40MHz
1991年MIPSR400064bit200MHz
1992年DECAlpha 2106464bit200MHz
1993年IBM, モトローラ, ApplePowerPC 60132bit120MHz
1993年インテルPentium32bit300MHz
1994年IBM, モトローラ, ApplePowerPC 60332bit300MHz
1995年サイリックスCyrix Cx5x8632bit133MHz
1995年AMDAm5x8632bit160MHz
1995年サン・マイクロシステムズUltraSPARC64bit200MHz
1999年IBM, モトローラPowerPC G432bit1.67GHz
1999年AMDAthlon32bit2.33GHz
2000年インテルPentium 432bit3.8GHz
2001年インテルItanium64bit800MHz
2003年AMDOpteron64bit3.5GHz
2003年インテルPentium M32bit2.26GHz
2006年SCE,ソニー,IBM,東芝Cell64bit3.2GHz
2006年インテルCore Duo32bit2.33GHz
2006年インテルCore 2 Duo64bit3.33GHz
2008年インテルCore i9/i7/i5/i364bit5.8GHz
2017年AMDRyzen64bit5.7GHz
2020年AppleM1/M2/M3/M4/M564bit3.49GHz
2023年インテルCore Ultra 9 / 7 / 564bit5.1GHz

参考書籍

表紙 忘れ去られたCPU黒歴史
著者 大原 雄介
出版社 角川アスキー総合研究所
サイズ 単行本
発売日 2012年07月10日頃
価格 1,540円(税込)
ISBN 9784048867719

参考サイト

(この項おわり)
header