Open
SPARC(オープンスパーク)は、
2005年12月に
サン・マイクロシステムズ社によって立ち上げられた、画期的な
オープンソースハードウェアのイニシアチブです。このプロジェクトは、商用レベルの高性能
マイクロプロセッサの設計情報を広く一般に公開するという、当時としては先進的な取り組みとして注目されました。
プロジェクトの最初の貢献は、開発元である
サン・マイクロシステムズ自身から提供されました。同社は、当時最先端のマルチコア・マルチスレッドプロセッサであったUltra
SPARC T1の設計情報、具体的には
レジスタ転送レベル(RTL)のVerilog言語による記述を寄贈しました。Ultra
SPARC T1は、完全に機能する
64ビットのプロセッサであり、単一チップ上で最大32のスレッドを同時に実行できる能力を持っていました。
Ultra
SPARC T1の知的財産(IP)コアのソースコードは、
2006年3月21日に、フリーソフトウェア財団が提唱する
GNU General Public License(GPL)のもとで正式に公開されました。これにより、研究機関、企業、個人開発者などが、プロセッサの内部設計を詳細に理解し、自身のプロジェクトに組み込んだり、改変を加えたりすることが可能となりました。
Ultra
SPARC T1プロセッサシステムは、8つの独立したプロセッサコアから構成されています。各コアは、ハードウェアによる同時マルチスレッディング(Simultaneous Multi-Threading, SMT)機能により、4つのスレッドを同時に実行する能力を備えています。したがって、システム全体としては最大32のスレッド並列実行が可能です。個々のコアは、シンプルで順序通りの命令実行パイプラインを採用しており、その処理ロジックは効率化のために6つの主要なステージに分割されています。
プロジェクトはその後も進化を続けました。
2007年12月11日には、Ultra
SPARC T1の後継モデルであるUltra
SPARC T2プロセッサのRTL設計情報も、Open
SPARCプロジェクトを通じて利用できるようになりました。こちらも同様に
GNU General Public Licenseバージョン2(GPLv2)のもとで提供されています。
Ultra
SPARC T2は、アーキテクチャが大幅に強化されています。T1と同じく8つのプロセッサコアを搭載していますが、各コアが同時に処理できるスレッド数が8つに倍増し、システム全体として最大64スレッドという、より高い並列処理能力を実現しています。さらに、命令処理の効率を高めるために、パイプラインステージ数も16段階に拡張されており、より複雑な処理や高いクロック周波数での動作に対応できるようになっています。
Open
SPARCプロジェクトは、商用プロセッサの複雑な設計がオープンソースとして提供された初めての例の一つであり、ハードウェア開発の世界における透明性の向上や、新しい研究・教育プロジェクトのための基盤提供に大きく貢献しました。これは、
SPARCプロセッサアーキテクチャの普及促進にも繋がり、後続のオープンソースCPUプロジェクト(例えばLEONや
OpenRISC、さらには現代の
RISC-Vなど)にも影響を与えた可能性があります。設計情報が公開されたことで、研究者やエンジニアは、フィールドプログラマブルゲートアレイ(
FPGA)などの技術を利用して、実際にハードウェア上でOpen
SPARCコアを実装・検証することも可能となりました。
Open
SPARCが公開した詳細な設計情報は、ハードウェア設計の学習、検証、およびカスタムCPU開発の出発点として、現在でも高い価値を持っています。