[ 目次 ]
[ 1ページ目 ]
[ 前ページ ]
[ 次ページ ]
[ Q&A ]
科学技術計算分科会「次世代HPCを支える基盤技術」
SPARC64 V/VIの高性能、高信頼技術
(3/9)
- 2.富士通のコンピュータの開発を振り返る
- 2.1. FACOMシリーズ
-
富士通は 1950年代はじめのコンピュータの黎明期から開発に取り組み、1954年にリレー式の FACOM100を稼動させて以来、一貫して商用コンピュータを開発している。
FACOM128A/Bなどのリレー式の後、FACOM201などパラメトロンと主記憶にはコアを使った計算機を経て、1960年代にはトランジスタの時代に入った。
1964年に IBMがシステム/360を発表し、これに対抗する純国産コンピュータとして、富士通は FACOM230-10から FACOM230-70までの体系化された一連のコンピュータを開発した。この開発の過程でいち早く IC化を進め、1968年に完成した FACOM230-60は全面的に ICを採用している。
1973年に完成した FACOM230-75には、バッファメモリと称したキャッシュの採用や記憶装置にECCコードを採用など、高性能、高信頼の両面で、今に引き継がれる多くの重要な技術が実現されている。中には、今では当たり前である技術も多いが、それは FACOM230-75の先進性を物語っている。その一例として、命令フェッチと命令実行をデカップリングや、分岐予測による投機実行がある。回路規模は大きくなるが、現在のマイクロプロセッサの高速化機能では主流の技術である。(*)
また FACOM230-75は、RASに関する設計思想も現在なお模範とすべきものを持っていた。まず、エラーを洩らさずにいち早く見つけ、記録し、回復するという基本がすべて押さえられている。データパスでは、バイトごとにパリティビットを設け、演算回路の入力から出力の間もプレディクションによってパリティを保存し、また、乗算回路などパリティプレディクションが困難な回路では、レシデュチェックを行っている。このようにして、レジスタから演算器と途中の経路を含めて一貫してデータのインテグリティを保証し、さらには命令の再試行を行って間欠故障を救済している。
これらを綿密に実現しているプロセサは、現在においてもむしろ例外的な存在である。FACOM230-75は、現在のコンピュータとは比べ物にならないほど僅かなトランジスタ数で構成されていた。しかし、基幹業務を担うシステムとして開発されたために、信頼性に関して妥協をせず、向上のために多くの回路を費やすことができた。トランジスタ数はあり余るほどになった現在において、この技術がますます価値あるものとなっている。
(*)最近になって、この考え方の起源が FCOM230-75[1]にあることを、三輪修氏のホームページ[3]で知った。
- 2.2. Mシリーズ
-
国際競争力のある国産コンピュータを目指した通産省の後押しもあり、富士通は日立とともに新シリーズの開発に着手し、1970年代初頭から Amdahl(*)と組んで国際標準とも言える IBM互換機の開発に乗り出した。ここに始まる Mシリーズは、M-190、M-380、M-780、M-1800とほぼ 5年ごとに世代交代しながら、およそ 20年間にわたるメインフレームの全盛時代となった。
Mシリーズでは、最先端の ECL LSIを使用した。この集積度と速度の向上が切り札となり、コンピュータの性能向上が進んだ。表1に、Mシリーズのゲート数、実行方式と出荷年を示す。M-190が発表され出荷された 1974年、1975年の時期、下位機種の M-160などをふくめ全部で 6機種が開発された他、少し遅れて 1978年には 4CPUまでのマルチプロセサシステムを実現する M-200が開発された。わが国初のスーパーコンピュータ:FACOM230-75APU の完成が 1977年であるから、下表のように世代交代が 5年毎であっても、開発は実に矢継ぎ早に進められたようだ。
(*)IBMでシステム360の開発を行っていた Gene M. Amdahl博士が、1970年に設立。
表1.Mシリーズ
|
ゲート数 |
ゲート 遅延時 (ps) |
命令制御方式 |
出荷年 |
LSI |
CPU合計 |
M-190 |
100 |
- |
700 |
2サイクル・パイプライン |
1975年11月 |
M-200 |
100 |
106K |
700 |
2サイクル・パイプライン |
1978年12月 |
M-380 |
400 |
436K |
350 |
2サイクル・パイプライン |
1982年 5月 |
M-780 |
3,000 |
638K |
180 |
1サイクル・パイプライン |
1986年12月 |
M-1800 |
15,000 |
1,411K |
80 |
1サイクル・パイプライン |
1991年 4月 |
-
-
Mシリーズの時代に発展した、高性能、高信頼技術について述べる。
命令制御方式は、M-380で 2サイクルパイプラインとなり、M-780で1サイクルパイプラインとなった。この後、スーパースカラ方式に切り替わるまでのおよそ10年の間、M-780のパイプラインが数世代にわたる基本となった。この M-780は、私が設計にたずさわった最初のシステムでもある。命令制御方式のほかには、ハーバードアーキテクチャ(命令とデータに分かれたキャッシュを装備)、仮想計算機機構など現在のコンピュータの骨組みとなる機能が、Mシリーズの時代にかたち作られた。
GBSと呼ぶ CPU間共有の 2次キャッシュを備えた 3階層記憶装置は、M-380で実現された後しばらく姿を消していた。最近の CPUチップにある CPUコア間共有の 2次キャッシュは GBSと同じ発想であり、興味深い。
また、M-190で既に、サービスプロセッサ(SVP)によるリモートメンテナンスが実現されている。自動修復やメモリパトロール、交代メモリ、3.3m秒ごとの演算器のパトロールなどの RAS技術は、ゲート規模の拡大と合わせて充実していった。
ベクトル計算機を概説すると、FACOM230-75からは APU(Array Processing Unit)が派生し、これは日本初のスパコンであった。VP-400 は M-380に、VP-2000 は M-1800に結合され、より使いやすい汎用性のあるスパコンであった。VPP-500から VPP-5000は VLIW形式の命令セットを持つ Tachyonアーキテクチャのスカラ機にベクトル計算機を結合し、多数並列化したものであった。
M-1800の後に、ECLの超大型汎用コンピュータの開発が行なわれた。ECLの素子は、バイポーラトランジスタで電流を常に流して動作させるため、速度は早いが発熱が大きい。それで M-780、M-1800と水冷方式を実装した。M-780や M-1800の、SSCや MLAと呼ばれる CPUボードを挟み込む、伝導冷却モジュール CCM(Contact Cooling Module)は巨大で重かった。この頃は、集積度も速度も頭打ちとなりつつあった。ECLの発熱に苦労している頃、CMOSの半導体が進歩してきていた。
- 2.3. ECLからCMOSへ
-
CMOS素子は、スイッチングの際の充放電でしか電流を流さないために電力を喰わないにも関わらず、集積度の高さにおいて抜きん出ていた。初期の弱点であった速度は世代ごとに大きく改善し、1990年ころは、ECLより遅いもののやがて追い越すのは時間の問題という状態にあった。
その状況下で、M-1800の次世代機のプロジェクトの論理マスタファイルは既に出来ており、シミュレーションが走り始めていたが、1991年にキャンセルされた。そして、新たに CMOSを使った超大型汎用コンピュータの開発が始まった。この CMOSのシステムが現在に続くメインフレーム製品群であり、ECL時代のMシリーズに対し、GSシリーズと命名された。
- 2.4. GSシリーズとSPARC64
-
GSシリーズ最初の製品 GS8600では、2階層キャッシュシステム、ブランチヒストリ、ストアの突き放しや、プリフェッチ機構を導入した。CPUのコア部の回路規模は、M-780とほぼ同等であり、命令制御部、演算器、1次キャッシュ制御部、命令用1次キャッシュ、オペランド用1次キャッシュの 5つのチップで構成された。さらに 2次キャッシュの制御やディレクトリで 3チップを費やし、2次キャッシュのデータ部は SIMM形状の専用のボードで CPUあたり 2枚ずつ搭載した。この当時は、メインフレームの CPUコアと 1チップで作られるマイクロプロセッサでは、どちらも CMOS半導体ではあっても回路規模にかなり大きな差があった。
CMOS半導体の世代交代は早く、それに合わせて私たちも毎年のように新機種を開発した。CMOS半導体はスケーリング則によって、世代交代のたびに集積度をおよそ 2倍向上し、スピードをおよそ 1.5倍向上してきた。その上、その集積度とスピードの利益を全て使い切る設計をしても、電源電圧の低下と相まって消費電力は殆ど変わらないという、とてつもなく恵まれた状況にあった。GS8600では、LSIあたり 1千万トランジスタであり、CPUコアを 5チップで構成したが、その 2年後に出荷した GS8800では、2次キャッシュを除く CPUコアを 1チップに収めた。
GS8800の時代に、1チップでメインフレームクラスの CPUが作れるようになったことを機に、マイクロプロセッサとメインフレームで、回路規模に関する差が無くなった。トランジスタ数の増加は凄まじく、現在では、5億トランジスタ超のチップが市場でみられ、10億トランジスタ超の製品が発表されているが、この爆発的な増加がマイクロプロセッサにもたらしたものは、1チップで作るが為に回路規模を小さくせざるを得なかった制約からの、完全な解放である。制約から離れた後は、増加するトランジスタを高性能化機能の実装に注ぎこみ、積極的な性能向上が展開されている。
GS8800Bは、この性能競争の激化の中で開発した。CPUの制御方式を M-780以来続いてきたロックステップパイプライン方式から、アウト・オブ・オーダ制御のスーパースカラ方式へと大きく変えた。ここで開発された制御方式は、現在も GSと SPARC64 V/VIに受け継がれて、高性能と高信頼を両立する技術の核となっている。この詳細は 4章で述べる。
メインフレーム(GS21) |
SPARC64 V |
|
|
図 1.チップ実装図の比較 |
-
その後は GSも SPARC64も、同じ設計者が開発している。90nmの半導体を使用した SPARC64 V+を経て、デュアルコア×マルチスレッドで 4スレッド並列の SPARC64 VI、さらにその次の 4コアの SPARC64 VIIを開発中であり、GSも GS21モデル900の CPU(2006年5月発表)の開発を行った。
表2.GSシリーズと SPARC64シリーズ
|
使用半導体(全てCMOS) |
周波数 |
出荷年 |
GS8600 |
350nm |
− |
非公開 |
1996年10月 |
GS8800 |
250nm |
− |
非公開 |
1998年 9月 |
GS8800B |
220nm |
− |
非公開 |
1999年 4月 |
GS8900 |
180nm |
− |
非公開 |
2000年 4月 |
GS21-600 |
130nm |
銅配線 8層 |
≧1GHz |
2003年 3月 |
SPARC64 V |
130nm |
銅配線 8層 |
1.35GHz |
2003年 4月 |
SPARC64 V+ |
90nm |
銅配線10層 |
2.16GHz |
2004年 8月 |
SPARC64 VI |
90nm |
銅配線10層 |
2.40GHz |
T.B.D. |
SPARC64 VII |
65nm |
銅配線11層 |
〜2.70GHz |
T.B.D. |
GS21-900 |
90nm |
銅配線10層 |
非公開 |
2007年 2月(予定) |
-
現在、CPUの単体性能をメインフレームに期待することはほとんどなくなった。しかし、GSシリーズはオペレーティングシステムを含めてシステムとしてみた場合に、基幹業務分野で優位性を保っている。そして、高い信頼度とホットスタンバイなどの独自機能ゆえにオープン系の装置で簡単に置き換えることが出来ない。
|