Turbo
SPARCは、1996年9月30日に
富士通マイクロエレクトロニクス社(FMI、日本の多国籍企業である
富士通の米国子会社)によって発表された
マイクロプロセッサです。
SPARC V8命令セット
アーキテクチャ(ISA)に準拠しており、特にローエンド市場、とりわけSun Microsystems社のmicro
SPARC-IIを搭載した
SPARCstation 5
ワークステーションユーザー向けの性能向上手段として開発されました。
導入当初、170MHz動作版は1,000個ロット購入時の単価が499米ドルという価格設定でした。1997年後半にはSunのUltra
SPARC IIiがローエンド
SPARC市場の後継となりましたが、Turbo
SPARC自体もその後も市場で入手可能な状態が続きました。
性能
Turbo
SPARCの性能は、クロック周波数によって異なりますが、主要な170MHz版は、同時期のIntel Pentium 120MHzモデルと同程度の性能を発揮しました。特に、先行する世代のmicro
SPARC-II 110MHzと比較すると、整数演算性能は約2倍、浮動小数点演算性能は約1.5倍という顕著な向上を実現していました。
多くのコンピュータメーカーがTurbo
SPARCを自社製品に採用しました。採用企業には、Force Computers、
富士通、RDI Computer、Opus Systems、Tadpole Technologies、Tatung Science and Technology、Themis Computersなどがあります。
富士通は
SPARCstation 5アップグレードキットに160MHz版を搭載して提供しましたが、他のメーカーの多くは170MHz版を
ワークステーション、ノートブック、組み込みシステムなどに広く活用しました。
Turbo
SPARCは、シンプルさを重視したスカラー順序実行設計を採用していました。パイプラインは以下のステージで構成されます。
1.
フェッチ段階: 16KBのダイレクトマップ方式命令キャッシュから最大2つの命令が読み込まれます。
2.
デコード段階: 1つの命令がデコードされ、必要なオペランドがレジスタファイルから読み出されます。
3.
実行段階: 処理が開始されます。プロセッサは整数演算ユニットと浮動小数点演算ユニット(
FPU)を備えています。乗算と除算を除く大半の整数演算命令は1サイクルで完了します。乗算と除算は
FPUで実行され、それぞれ7サイクル、8〜33サイクルのレイテンシが必要でした。除算と平方根を除くほとんどの浮動小数点演算命令は、4サイクルのレイテンシで実行されました。
4.
メモリアクセス段階: データキャッシュへのアクセスが発生します。Turbo
SPARCは16KBのダイレクトマップ方式データキャッシュを備え、ライトバックポリシーを採用していました。キャッシュヒット時は同サイクルでデータが返されます。
5.
エラーチェック段階: ステージ4で取得したデータの整合性がチェックされます。
6.
レジスタ書き込み段階: 整数演算結果やロード命令で取得したデータがレジスタファイルに書き込まれます。これは通常、ステージ6で完了します。
7.
浮動小数点完了段階: より長いレイテンシを要する浮動小数点命令が完了します。
8.
浮動小数点レジスタ書き込み段階: 浮動小数点演算結果が浮動小数点レジスタファイルに書き込まれます。
キャッシュ、メモリ、I/Oインターフェイス
Turbo
SPARCは、L2キャッシュコントローラー、メモリコントローラー、AFXインターフェイス、およびSBusインターフェイスを統合していました。
L2キャッシュ: 256KB、512KB、または1MBの外部L2キャッシュをサポートしました。このキャッシュは内部クロック周波数(例えば170MHz)の半分(85MHz)または3分の1(56.67MHz)で動作しました。ダイレクトマップ方式、32バイトのラインサイズ、ライトスルーポリシーを採用しており、パリティ保護機能も備えていました。L2キャッシュは、12ナノ秒のパイプラインドバーストSRAM(PBSRAM)を使用して構築されました。
メモリコントローラー: 8つのバンクを使用して、8MBから最大256MBのFast Page Mode(FPM)DRAMをサポートしました。
*
バス: L2キャッシュおよびメモリは、システムバス(72ビット幅で、うち64ビットがデータ用)を介してアクセスされました。また、AFXインターフェイスにより、AFXグラフィックカードがメモリへ直接アクセスすることが可能でした。これはキャッシュおよびメモリコントローラーと同じデータバスを共有しますが、独自の制御ラインを使用します。SBusコントローラーは、独自の16エントリの入出力変換ルックアサイドバッファー(IOTLB)を備え、16.67MHzから25MHzのSBus周波数をサポートしました。Turbo
SPARCはマルチプロセッサ構成には対応していませんでした。
製造と物理仕様
Turbo
SPARCは、約300万個のトランジスタを集積しており、ダイサイズは11.5mm x 11.5mmで、ダイ面積は132.25mm²でした。
富士通のCS-60ALEプロセスを用いて、0.35µmルール、4層メタル
CMOSプロセスで製造されました。パッケージは416ボールのプラスチックボールグリッドアレイ(PBGA)が採用されました。3.3V単一電源で動作し、最大消費電力は9Wでした。