2010年03月15日の日記です


V60 設計者にお会いした。  2010-03-15 09:58:44  コンピュータ
V60 設計者にお会いした。

V60 、と言って何人の人が理解してくれるだろう?


NEC が過去に作った CPU で、非常に直交性が高いのが特徴である。



…直交性、自体が現在では死語だな。


その昔、CPU の使いやすさとは、アセンブラの使いやすさであった時代がある。

アセンブラでは、命令に対して「ソース」(元データ)と「デストネーション」(演算対象)を指定するが、CPU の設計上の都合で、ソースとデストネーションの組み合わせには制限がある。


例えば、演算対象は、そのまま演算結果の保存に使用されることが多い。

このため、デストネーションに「即値」(数値そのもの)を指定することはできない。


インテル系の CPU であれば、演算は常に「Aレジスタ」を対象に行われた。

B レジスタと A レジスタを足す、とか、メモリ内容と A レジスタを足す、と言うことはできても、メモリ内容とメモリ内容を足す、はできなかった。


直交性、というのは、このような制限がほとんどないことを意味する。

メモリ内容とメモリ内容を足すなんて当たり前だし、「A レジスタの示すメモリに格納されたデータをアドレスとみなし、そのアドレスに示したデータ」同士を足したりもできる。


これ、CPU を設計する上では、結構面倒なことなのだ。

現代の CPU は、アセンブラを直接扱うことなど考えず、「C 言語でプログラムが組めれば十分」と考えるため、直交性など考慮されない。


つまり、V60 が直交性が高い、と書いた冒頭の話は、現代においてはあまり意味を持たない。

でも、当時としては非常に画期的で高性能だったのだ。


日本の会社が作った、世界に誇れる CPU 。それが V60 だった。




いきなり話が脱線しているが、脱線ついでにもう少し。


NEC は、V30 という CPU も作っていた。こちらのほうが有名。

8086 互換で性能が上だったので、NEC は「国民機」とまで言われた PC-9801 に採用していた。


でも、8086 互換ではあるが、80286 互換ではない。そして、80286 は V30 より性能が上だ。

そのため、PC-9801 では、互換性のためにインテル CPU と V30 を同時に搭載し続けた。


で、V60 は、 V30 互換モードを持ちながら、CPU としては1から独自設計をした CPU だった。

Pentium と PowerPC くらい違うと思いねぇ。でも、互換モードを持っているのだ。



僕は今でこそフリープログラマをしているが、会社員時代に V60 で作られた基盤のプログラムをしたことがある。

その際に、V60 のコアをアクリルに封入した文鎮(?)を頂いていた。


今回、偶然から V60 の設計者の一人にお会いできることになったので、その文鎮を持ってお伺いした。


#冒頭写真がその文鎮。クリックで拡大する。

 この写真は、日記を書いたずっと後に追加した。




…と、前振り長すぎる上に、実際に会いに行ったのは大学時代の恩師です。

卒業以来15年、1度も連絡を取っていなかったのですが、このたび定年退職なさるということでパーティに誘われました。


NEC を退職後、大学で自然言語処理の研究をしており、15年ぶりにその後の研究成果などの講義も受けました。



先生に V60 の文鎮を見せたところ、「うわぁ…懐かしいねぇ。…ここがキャッシュで、ここらへんがパイプライン。ちゃんと見えるねぇ」などと感慨深げ。

ついでに「V60 は、PDP-11 を参考に設計しているんだよ」なんて、知らなかった話も教えてくれます。



近年卒業の方も先生に渡されてしばらく見た後、「すみません、これが何なのか良くわからないです」と僕のところに返却に来ました。



ちなみに、先生は V60 以前に NEC でスーパーコンピューターの設計にも携わっていました。

当時はスーパーコンピューターといえばアメリカ製で、他のどの国も速度を超えられなかった時代。


「世界一の速度を実現する」ために、まずクロック周波数が決められ、そのクロック以内に電気信号が到達できる電線の長さが定められ、全ての場所において、配線がその長さを超えないように注意しながら設計されています。

「5ナノ秒以内に信号が伝達する」信号線の長さの棒を作り、回路図に当てながら設計したそうで、この棒を「5ナノ棒」と呼んでいた、という話を大学時代に聞き、非常に面白く思ったものです。


この結果、日本は始めて演算速度世界一のコンピューターを作り、その後しばらくはアメリカと日本が追いつ追われつの速度レースを展開したのだとか。



やはり大学時代に聞いた「人月の神話」の話は…

ずっと心のどこかに引っかかっていましたが、ちゃんと書籍を読んだのは1年位前の話。


「遅れているプロジェクトに人員を投入すると、余計に遅れる」は有名な話なのですが、それ以外の細かな部分が、現在フリーのプログラマをやっている自分には勉強になりました。


特に、必要な人月を見積もる方法については納得。

フリーでやっていると、見積もり・値段交渉がしんどいのだけど、この本で後ろ盾を得て楽になりました。





同じテーマの日記(最近の一覧)

コンピュータ

関連ページ

経験した中で最大のバグ【日記 12/02/22】

シーモア・クレイの命日(1996)【日記 13/10/05】

マイケル・ストーンブレーカー誕生日(1943)【日記 13/10/11】

手相開発時の技術話【日記 15/03/14】

手相開発時の技術話(2)【日記 15/03/15】

別年同日の日記

04年 作っちゃいました

14年 さよなら遠足

15年 手相開発時の技術話(2)

15年 さよなら遠足

17年 世界最初のドメイン登録(1985)


申し訳ありませんが、現在意見投稿をできない状態にしています


戻る
トップページへ

-- share --

17006

-- follow --




- Reverse Link -