暗号計算機屋のブログ

なにか思いついたことを不定期に更新。

論理設計はどうやって学んだのか?

はじめに

僕の経歴を見ると早稲田の電気工学科を1992年3月に卒業し、同大学の大学院の計算機工学科を1994年3月に修士を卒業。 日立の中央研究所の超高速プロセッサ部に1994年4月に入社と、CPUとか暗号プロセッサとかを開発するのに最適な経歴です。 ところが奇跡的に論理設計を教えてもらえることが、全くなかったという話です。 普段は、この経歴、便利だったりもするのですが、不都合なこともあるので、本当の話をすることにしました。 興味がない人は、読まないほうがいい内容です。

子供の頃

中学、高校と大阪に住んでいました。小学校5年のときにはCASIOのプログラム電卓 FX-502Pで良く遊んでましたが、 中学1年生ときはナイコン族でした。パソコンを持っていなかった。 雑誌には紙に印刷されたキーボードの付録があって、それで練習するという時代。 中学2年生のときにSHARP MZ-2000を買ってもらった。 CPUはZ80でしたがBASICでプログラムを書いても、とても遅くマシン語に興味を持ったのです。 なんとか高速化できないかOSを調べてBREAKキーをポーリングしているサブルーチンを発見し、 そこに1バイトのC9 ( RETURN )をパッチしてみた。1分かかった計算が、58秒になったことが、うれしかった。 その後、WICSという整数型BASICコンパイラを買ってもらった。 うちが計算機の英才教育していたのかというと、家族は、むしろ文系なみにコンピュータを知らない。 中学2年生の普通の子供は、みなゲームに夢中だったが、科学にとても興味を持った変わった子供だったと思う。

大阪の日本橋は東京の秋葉原みたいな電気街なのだが、当時の僕は、デジットというジャンクパーツ屋が気に入ったようで、 行ってみて、できそこないの150円のジョイスティックとか買って帰ることが多かった。 古いテレビとかを分解した部品が売られていて、トグル式のスイッチを買って帰ったことがあった。 それには目的があって加算器を作ることだった。 スイッチは1ボタンで混線しないスイッチが多数あるので配線のみの加算器を作ることができた。 すでにゲートディレイゼロの超高速加算器を発明していたのだ。(爆笑)

大学時代

パソコンを自分で作ってみたいという思いから電気工学科に入った。 サークルはコンピュータサークルには入らないように親に言われていたので、鳥人間コンテストとかやっているサークルに入った。 1年の頃は、ファインマン電磁気学の本を読んでまじめに勉強した。 夏休みに大阪に帰省したときに、自宅が大阪大学に近かったのでファインマンの光、熱、波動の本を買いにいったら、 早稲田の大学生協のカードを見せても1割引きしてもらえなかった。 当時の電気工学科で論理設計を教えてもらえる先生は1人で門倉先生でした。 しかし門倉先生の授業は、ほとんどサボりました。なぜか? 鳥人間コンテスト人力飛行機のプロペラ作りを、ほぼ1人でやっていて、全く余裕がなかった。 門倉先生の授業は論理回路の授業というよりは歴史的なマシンLGP-30の説明で、あんまり役に立ちそうにないと思ったのは、 そうですが、それよりもプロペラ作りが忙しく、役に立つとか、考える前に、サボるしかなかった。

研究室時代(大学院)

現在、IEEEの会長で超有名な笠原先生の研究室に入りました。 コンピュータのハードウェアの研究室に入りたかったのだが、門倉先生は引退してしまって、コンパイラの研究室に入ったのです。 わかりやすくいうとソフトウェアの研究室だった。つまり論理設計のカケラもないところでした。

日立 中央研究所 超高速プロセッサ部

CPUを研究する部署でしたが、僕が入った次の年には、名前が変わって別の部署になってます。 日立の大型コンピュータのCPUのパイプラインのシミュレーションをする仕事をしましたが、 中の論理をのぞかせてもらったわけではありません。 CISCの転送命令が、ちゃんと性能が出ているかを確認する仕事で、東京女子大卒のおねーさんと2人で、 さびしくやってました。おねーさんのほうは基本命令の性能確認だったと思います。

日立メインフレーム開発部時代

東大卒の人がいっぱいの部署でしたが、僕は仲間に入れてもらえず、 壁すらない隣の部屋で大型コンピュータのCPUを開発していたようですが、 僕だけ隔離された環境で仕事してました。 ちなみに隣の部屋のCPU開発部には、笠原研の同期がいたのです。 卒業後、その同期と話しをしたことはないですから、 この会社の隔離システムが、いかにすごいか、わかるのではないでしょうか。 話すことはいっぱいあるのですが、ここでは全部省略して、 要するに、全然、ここまで論理設計を勉強したことはなかった。

ところが、このことは会社の経営者にとっては好都合で、僕にいきなり 暗号LSIを設計するように業務命令が出た。 僕が開発すれば社内外の左に払う必要がないし、僕が潰れてもおいしいのだ。

そして僕に才能があったおかげで、システム開発研究所からFAXで送られてきた モンゴメリ乗算のアルゴリズムを元に、いきなり開発して世界一の性能の 暗号LSIを開発してしまった。 論理設計は、ANDとかORとか、すごく単純なものの組み合わせだけなので 回路図を読むだけなら、ほとんど勉強しなくても読める。 勘がいい人間なら、いきなりできることもある。

いいたかったこと

オープンソースハードウェアとして1999年 世界一だった暗号LSIの論理図面を公開していますが、僕に先生は、いなくて、僕1人で設計している。 僕1人で公開できるのは、そういうことだからなのです。