UltraSPARC
SPARC は、Sun Microsystems がBerkeley RISC の設計思想を継承し、1987年(昭和62年)に発表した32ビットRISCマイクロプロセッサである。命令セットの仕様を公開し複数メーカーの製造・改良を許す「オープンアーキテクチャ」路線を掲げた点が大きな特徴で、自社のSunワークステーション やOS「Solaris」を支え、後には富士通 のスーパーコンピュータ「京」にも採用された。
目次
開発の背景
初代SPARCボード
Sun Microsystems は、カリフォルニア大学バークレー校 が1980年代前半に研究した「Berkeley RISC」の設計思想を継承し、1985年(昭和60年)から独自プロセッサの開発に着手した。1987年(昭和62年)、32ビットRISCアーキテクチャ「SPARC」(Scalable Processor ARChitecture)の仕様を発表し、同年出荷のワークステーション「Sun-4/260」に初搭載した。

初代SPARC の仕様は「SPARC V7」と呼ばれ、富士通 が製造した2チップ構成の「MB86900」(整数演算部)と「MB86910」(浮動小数点演算部)が、1.2μmCMOSゲートアレイで実装された。動作クロックは16.6MHzで、平均約10MIPSの性能を発揮した。
初代SPARC の仕様は「SPARC V7」と呼ばれ、富士通 が製造した2チップ構成の「MB86900」(整数演算部)と「MB86910」(浮動小数点演算部)が、1.2μmCMOSゲートアレイで実装された。動作クロックは16.6MHzで、平均約10MIPSの性能を発揮した。
純粋なRISCアーキテクチャとレジスタウィンドウ機構
SPARC は、命令長を32ビット固定とし、演算はレジスタ間のみで行い、メモリアクセスをロード・ストア命令に限定する「純粋な RISC」設計を徹底した。分岐遅延スロットや単純なパイプライン構成など、デコード負荷を最小化する工夫を随所に採用し、1命令1サイクルに近い実行効率を狙った。
SPARCのレジスタウィンドウ機構
SPARC 最大の特徴は「レジスタウィンドウ」機構である。8本のグローバルレジスタ のほかに、24本ずつの窓を最大8組ほど重ねて持ち、関数を呼び出すたびに窓を1つずらして新しい作業領域を割り当てる。呼び出し元の出力用レジスタと呼び出し先の入力用レジスタが同じ物理レジスタを共有する設計により、引数の受け渡しをレジスタ間だけで完結できる。

呼び出しのたびにメモリへレジスタを退避・復元する必要がなくなるため、浅い呼び出し階層では処理が高速になる利点がある。一方、物理的な窓の数は有限(実装によっては7~8組程度)であるため、再帰呼び出しなどで階層が深くなると窓が枯渇し、結局スタックへの退避が発生する。大量のレジスタを搭載すること自体がハードウェア規模を増大させ、割り込みやコンテキストスイッチ の際には未使用の窓もまとめてメモリへ書き戻す処理が必要になるなど、実装コストの高さも課題として指摘された。
呼び出しのたびにメモリへレジスタを退避・復元する必要がなくなるため、浅い呼び出し階層では処理が高速になる利点がある。一方、物理的な窓の数は有限(実装によっては7~8組程度)であるため、再帰呼び出しなどで階層が深くなると窓が枯渇し、結局スタックへの退避が発生する。大量のレジスタを搭載すること自体がハードウェア規模を増大させ、割り込みやコンテキストスイッチ の際には未使用の窓もまとめてメモリへ書き戻す処理が必要になるなど、実装コストの高さも課題として指摘された。
オープンアーキテクチャ
Sun Microsystems はSPARC の命令セット仕様を公開し、特定企業が独占しない「オープンアーキテクチャ」として展開した。1989年(昭和64年)設立の非営利団体「SPARC International」が仕様策定・適合性試験・商標管理を担い、ロイヤリティフリーでライセンスを供与したため、富士通、Cypress Semiconductor、Texas Instruments、松下電器産業 など複数メーカーが独自にSPARC互換チップを製造した。
Sunワークステーションへの採用
SPARCstation 1
1987年(昭和62年)7月出荷の「Sun-4/260」を皮切りに、Sun Microsystems はモトローラ68000系からSPARCへと自社ワークステーションの心臓部を切り替えた。1989年(昭和64年)には小型・低価格化した「SPARCstation 1」を発売し、「ピザボックス」型の筐体と手頃な価格でSPARC搭載機を大きく普及させた。

以後もSPARCstation 2・10・20やエンタープライズ向けサーバー「Sun Enterprise」シリーズが展開され、UNIXワークステーション・サーバー市場でヒューレット・パッカード のPA-RISC やIBM のPOWER と激しく競合した。
以後もSPARCstation 2・10・20やエンタープライズ向けサーバー「Sun Enterprise」シリーズが展開され、UNIXワークステーション・サーバー市場でヒューレット・パッカード のPA-RISC やIBM のPOWER と激しく競合した。
Solaris
Sun Microsystems は当初、BSD 系のOS「SunOS」をSPARC機に搭載していたが、1992年(平成4年)にAT&T のUNIX System V Release 4を基盤とする新OSへ刷新し、マーケティング名として「Solaris」を採用した。

Solaris はSPARC上で高いスケーラビリティを発揮し、ファイルシステム「ZFS」や動的トレース機構「DTrace」など先進機能を数多く生み出した。2010年(平成22年)のオラクル によるSun買収後は「Oracle Solaris」として引き継がれている。
Solaris はSPARC上で高いスケーラビリティを発揮し、ファイルシステム「ZFS」や動的トレース機構「DTrace」など先進機能を数多く生み出した。2010年(平成22年)のオラクル によるSun買収後は「Oracle Solaris」として引き継がれている。
ミッションクリティカル対応
SPARC M12
富士通 は自社開発のSPARC互換チップ「SPARC64」シリーズを軸に、金融・基幹業務向けの高信頼サーバー「SPARC Enterprise」「SPARC M10」「SPARC M12」を展開した。プロセッサ内の全回路にエラー検出・自己修復機構を備え、メモリやデータパスをECC/CRCで保護するなど、メインフレーム 譲りの信頼性設計を採用した。

電源・ファン・ディスクなど主要部品を冗長構成とし、稼働中の部品交換(活性保守)にも対応することで、無停止運用が求められる金融基幹システムなどのミッションクリティカル分野で採用が続いた。
電源・ファン・ディスクなど主要部品を冗長構成とし、稼働中の部品交換(活性保守)にも対応することで、無停止運用が求められる金融基幹システムなどのミッションクリティカル分野で採用が続いた。
スレッド並列性能
UltraSPARC T2 Plus
Sun Microsystems は2005年(平成17年)、開発コード名「Niagara」の「UltraSPARC T1」を発表した。8コア・32スレッドを1チップに集積し、クロック周波数を追わずに多数のスレッドを同時実行する「CMT」(Chip Multi-Threading)方式で、Webサーバーなど多数の同時接続をさばく用途のスループットを重視した設計である。
後継の「UltraSPARC T2」は8コア・64スレッドに拡張され、同程度の消費電力でT1の約2倍のスループットを実現した。コア1つあたりの演算性能を追うよりも、多数の軽量スレッドを並列処理する方向性は、当時のマルチコアCPU競争の中でも異色の設計であった。
OEM・派生製品
SPARC64プロセッサ
SPARC はSunの純正チップ以外にも、富士通 の「SPARC64」シリーズ、Ross Technology の「hyperSPARC」など、多くの企業が独自に製品化した。用途もワークステーションからサーバー、組み込み機器まで幅広く広がった。

Sun Microsystems 自身の後継系列としては、64ビット化した「UltraSPARC」シリーズ(1995年~)が長く主力を務め、UltraSPARC III・IVを経て、前述のT1・T2などマルチスレッド世代へと発展していった。
Sun Microsystems 自身の後継系列としては、64ビット化した「UltraSPARC」シリーズ(1995年~)が長く主力を務め、UltraSPARC III・IVを経て、前述のT1・T2などマルチスレッド世代へと発展していった。
日本のスーパーコンピュータ「京」
スーパーコンピュータ「京」
富士通 は独自開発のSPARC64系プロセッサ「SPARC64 VIIIfx」を、理化学研究所 と共同開発したスーパーコンピュータ「京」に採用した。8コア・2GHz動作で128GFLOPSの演算性能を58Wという低消費電力で実現し、8万個以上のチップを結合して2011年(平成23年)に世界最速の演算性能(10ペタフロップス超)を記録した。

「京」向けのSPARC64 VIIIfxは、富士通が自社工場で製造した最後のCMOS LSIとなり、以後の半導体製造は外部の受託製造会社に委ねられた。ワークステーション用に生まれたSPARCの設計思想が、国産スーパーコンピュータの頭脳にまで発展した象徴的な事例である。
「京」向けのSPARC64 VIIIfxは、富士通が自社工場で製造した最後のCMOS LSIとなり、以後の半導体製造は外部の受託製造会社に委ねられた。ワークステーション用に生まれたSPARCの設計思想が、国産スーパーコンピュータの頭脳にまで発展した象徴的な事例である。
現状
オラクル は2010年(平成22年)のSun Microsystems 買収後もSPARCサーバー事業を継続したが、2017年(平成29年)に自社設計チームを解散し、「SPARC M8」を最後に新規プロセッサの開発を終了した。

富士通 は独自にSPARC64系サーバーの提供を続けたものの、2029年(令和11年)をめどに新規販売を終了し、2034年(令和16年)でサポートを打ち切る計画を示している。1987年(昭和62年)の登場から半世紀近くにわたり広く使われてきたSPARCアーキテクチャは、事実上その役目を終えつつある。
富士通 は独自にSPARC64系サーバーの提供を続けたものの、2029年(令和11年)をめどに新規販売を終了し、2034年(令和16年)でサポートを打ち切る計画を示している。1987年(昭和62年)の登場から半世紀近くにわたり広く使われてきたSPARCアーキテクチャは、事実上その役目を終えつつある。
主要スペック
| 項目 | 仕様 |
|---|---|
| 開発元 | Sun Microsystems(初代製造:富士通) |
| 発表 | 1987年 |
| 命令セット | SPARC V7 |
| 製造プロセス | 1.2μm CMOSゲートアレイ |
| チップ構成 | MB86900(整数演算)+MB86910(FPU)の2チップ構成 |
| データ幅 | 32ビット |
| レジスタ構成 | グローバル8本+レジスタウィンドウ(24本×最大8組) |
| CPUクロック | 16.6MHz(初代実装) |
| 性能 | 約10MIPS(初代実装) |
| ライセンス形態 | オープン・ロイヤリティフリー(SPARC International管理) |
CPUの歴史
| 発表年 | メーカー | CPU名 | ビット数 | 最大クロック |
|---|---|---|---|---|
| 1970年 | Garrett AiResearch | MP944 (軍用) | 20bit | 375KHz |
| 1971年 | インテル | 4004 | 4bit | 750KHz |
| 1974年 | インテル | 8080 | 8bit | 3.125MHz |
| 1975年 | モステクノロジー | MOS 6502 | 8bit | 3MHz |
| 1976年 | ザイログ | Z80 | 8bit | 20MHz |
| 1978年 | インテル | 8086 | 16bit | 10MHz |
| 1979年 | モトローラ | MC6809 | 8bit | 2MHz |
| 1979年 | ザイログ | Z8000 | 16bit | 10MHz |
| 1980年 | モトローラ | MC68000 | 16bit | 20MHz |
| 1983年 | NEC | V30 | 16bit | 16MHz |
| 1984年 | インテル | 80286 | 16bit | 12MHz |
| 1985年 | インテル | 80386 | 32bit | 40MHz |
| 1985年 | インテル | i960 | 32bit | 100MHz |
| 1985年 | サン・マイクロシステムズ | SPARC | 32bit | 150MHz |
| 1986年 | MIPS | R2000 | 32bit | 15MHz |
| 1987年 | ザイログ | Z280 | 16bit | 12MHz |
| 1987年 | モトローラ | MC68030 | 32bit | 50MHz |
| 1988年 | MIPS | R3000 | 32bit | 40MHz |
| 1989年 | インテル | 80486 | 32bit | 100MHz |
| 1989年 | インテル | i860 | 32bit | 50MHz |
| 1991年 | MIPS | R4000 | 64bit | 200MHz |
| 1990年 | モトローラ | MC68040 | 32bit | 40MHz |
| 1993年 | インテル | Pentium | 32bit | 300MHz |
| 1994年 | IBM, モトローラ | PowerPC 603 | 32bit | 300MHz |
| 1995年 | サイリックス | Cyrix Cx5x86 | 32bit | 133MHz |
| 1995年 | AMD | Am5x86 | 32bit | 160MHz |
| 1995年 | サン・マイクロシステムズ | UltraSPARC | 64bit | 200MHz |
| 1999年 | IBM, モトローラ | PowerPC G4 | 32bit | 1.67GHz |
| 1999年 | AMD | Athlon | 32bit | 2.33GHz |
| 2000年 | インテル | Pentium 4 | 32bit | 3.8GHz |
| 2001年 | インテル | Itanium | 64bit | 800MHz |
| 2003年 | AMD | Opteron | 64bit | 3.5GHz |
| 2003年 | インテル | Pentium M | 32bit | 2.26GHz |
| 2006年 | SCE,ソニー,IBM,東芝 | Cell | 64bit | 3.2GHz |
| 2006年 | インテル | Core Duo | 32bit | 2.33GHz |
| 2006年 | インテル | Core 2 Duo | 64bit | 3.33GHz |
| 2008年 | インテル | Core i9/i7/i5/i3 | 64bit | 5.8GHz |
| 2017年 | AMD | Ryzen | 64bit | 5.7GHz |
| 2020年 | Apple | M1/M2/M3/M4/M5 | 64bit | 3.49GHz |
| 2023年 | インテル | Core Ultra 9 / 7 / 5 | 64bit | 5.1GHz |
参考サイト
- FAQ:SPARC International
- A Brief Retrospective on SPARC Register Windows:Daniel Mangum
- 高性能・高信頼と低消費電力を兼ね備えたCPU「SPARC64 VIIIfx」:富士通
- SPARC M12-2 特長・機能:富士通
- 追い込まれた富士通SPARCサーバー、最後の国産機は生き残れるか:日経クロステック
(この項おわり)
