エントリー

さようなら,東芝未来科学館~その2

 さて,東芝未来科学館の話,初回は大型の手作りコンピュータであるTACとKT-Pilotについて書きます。

(1)TAC(1954年)

20240610141303.JPG

 個人的に,東芝未来科学館の最大の目玉と思っているのが,このTACというコンピュータです。日本のコンピュータの歴史を紐解くと,必ず登場するのがこのTACです。その実物がここにあります。

 TACは東大と東芝がタッグを組んで作った最初期の電子計算機だったのですが,実はなかなか動いてくれませんでした。当時のコンピュータは作ったらすぐ動くようなものではなく,必ず「調整」と呼ばれる工程があり,この調整が上手くいくかどうかで動作するかどうかが決まるようなところがありました。

 正直なところ,私も調整で具体的に何をやっていたのか正確には知りませんし,マニュアル類を見たこともないのですが,想像するに,当時のコンピュータはアナログ回路で構成されていて,これらに調整箇所が多かったという事ではないかと思います。例えば,メモリとして使われた遅延線などは完全なアナログでメカの要素も多かったですから,これらを細かく調整していただろうと思います。磁気ドラムなんかもそうでしょう。

 東芝が言うには,調整に使うトリガ式のオシロスコープにまともなものがなく,波形の観測がままならなかったそうで,結局動作する事なく1957年に東芝はTACから手を引いてしまいます。

 その後東大だけで再設計,製作までやってのけ,トリガ式オシロスコープを入手して調整も完了,無事に稼働まで持っていったそうです。その後3年間活躍したそうですが,ブラウン管メモリは当時高速で知られていて,これが安定動作するということで貴重な存在だったという話もあります。

 東芝は戦前から真空管やブラウン管のトップメーカーで品質,信頼性,ノウハウなどもずば抜けていましたから,TACのような真空管を大量に使うプロジェクトには最適なパートナーと東大も考えていたことでしょうが,1954年という終戦から10年も経過していない時点で,これだけの巨大システムを構築することの難しさを,関係者は痛感したことでしょう。

 さて,展示品ですが,最大の特徴であるブラウン管メモリがわかりやすい位置にあります。右側にある丸いカバーの中にあるのが,ブラウン管です。

 その横にはミニチュア感がずらーっと並んでいますが,高信頼管である4桁の真空管の名前が書かれています。希に6BQ5なんかの同じ皆名前があってホッとしますが,よく見るとフィリップス製の真空管が刺さっていたりして涙を誘います。

20240610145309.JPG

 そうそう,上部には電源回路と思われるものがあり,真空管も一回り大きなレギュレータ管がささっています。おそらく6AS7(6080)か5998あたりでしょう。

 さてこのTACですが,裏側や横側を見ることも可能です。左側には電源スイッチだろうナイフスイッチがありました。電子計算機といえど,そこは1950年代の電気製品です。戦後まもなく,何もかも不足していたこの時代,身近なものをかき集めて電子計算機をなんとしても作ろうと燃えた先人達に脱帽です。

20240610145310.JPG


(2)KT Pilot(1961年)

20240610141900.JPG

 もう1つ目玉になるのが,このKT Pilotです。聞いたことないという人もいると思いますし,聞いたことがあるという人でも,京大が作ったコンピュータだということくらいしか記憶にないと思います。

 1961年ですからね,すでにシリコントランジスタが使われた商用機も存在していた時代で,コンピュータが社会に組み込まれ始めた時期でしたから,このKT Pilotが特別珍しい物ではないというのも事実でしょう。

 概略を言うと,日本で最初のマイクロプログラム方式を採用,非同期方式で高速,商用機であるTOSBAC-3400のプロトタイプ,というところです。

 このうち非同期方式についてはその後の主流にならなかったという点で,TOSBAC-3400のプロトタイプについては数ある商用機の1つのプロトタイプであることを特筆っすることはないという点でそそるものはない(失礼)のですが,問題はマイクロプログラミング方式です。

 CPUの命令セットをハードワイアードで定義せず,ROMなどを使って設定するこの方式は現在では知らない人などいないくらい当たり前の技術となっています。特にCISCプロセッサの代表である8086や80286,80386は,その複雑な命令をハードワイアードで作るには無理があり,マイクロプログラム方式を採用していました。

 もちろんマイクロプログラム方式は速度が遅くなります(というよりクロックの上限の足を引っ張る)から,80486では力業でハードワイアードだったそうですし,NECのV33も同様だったと聞いています。

 また,RISCプロセッサは命令セットが単純でハードワイアード出来る事もメリットの1つでしたから,その頃からマイクロプログラム方式は過去の技術みたいな雰囲気を持っていたように思いますが,現在はざっくりいえばx86の命令をRISC風の命令に変換しているので,これがマイクロプログラム方式の様なものといえば,その通りかも知れません。

 実際,このマイクロプログラム方式のメリットとして挙げられたのは,複雑な命令の実装が楽ちんであること,もしバグがあってもマイクロコードを修正すれば対応出来るというものがあり,後者については最新のCPUでもこっそり行われていたりします。

 そんなマイクロプログラム方式ですが,1950年代においては亜流も亜流,猫も跨いで通るような技術だったそうです。そんな中,京都大学ではマイクロプログラム方式を採用したコンピュータの実装が検討されます。

 目指すは命令の拡張や修正が可能なコンピュータです。当時,コンパイラやOSなどのプログラムを開発する過程で,こんな命令があったらなあとか,こういう動きをして欲しいのになあとか,ハードウェアに対しての要望がいろいろあったそうですが,要望が出る時はすでにハードウェアの開発がほぼ終わっているわけで,上流も上流である命令セットの問題など,諦めるほかなかったのです。

 しかし,マイクロプログラム方式にすれば,そうした要望を実現することが出来ます。こうしてハードウェアとソフトウェアが協調してよりよい形で完成していくことを狙ったのが,この時計画されたコンピュータでした。

 ただ,それだけでは面白くないと思ったのか,速度の向上も狙って,非同期式(動作の終了した回路が次のステージの回路に「終わったよ」というシグナルを出し,このシグナルを受けた次の回路が動き出すという仕組みで,いわゆるクロックを持たなず常に最速で動く)を採用し,かつ当時最新のデバイスだったメサ型のシリコントランジスタで動作速度そのものも上げちゃおうという試みでした。

 当時,高速なメサ型のシリコントランジスタの量産に成功していたメーカーとして東芝があり,こうした事情からのちにKT-Pilotと呼ばれることになるこのコンピュータは東芝と開発することになったということだそうです。

 マイクロプログラム方式は当時考案されたばかりで実験的な意味合いで実装されたわけですが,のちにIBMがシステム360で採用しコンピュータの世界を塗り替えてしまった後は主流の技術に上り詰め,それまで批判的だった人たちも手のひらを返したように賛成派に回ったということです。

 なので,その後のコンピュータのあり方を変えたマイクロプログラム方式という一点で大変興味深いKT-Pilotですが,その歴史的な意義が一般にわかりにくいにもかかわらず,その実物が残っていること,そしてそれが一般に公開されていることは,奇跡に近いことだと思う訳です。

 KT-Pilotの最大の特徴であるマイクロプログラムは,最終的にはプラグボードという配電盤のようなものを使って配線で行われてしまったのですが,当初の計画では大変面白い仕組みで実装されていました。

 「東芝1号機ものがたり」によると,

"マイクロプログラム用の固定記憶装置はダイオードによる記憶装置を用い、可変記憶装置としてはパッチボード方式およびフォトトランジスター(光センサー受光デバイス)による独自方式を用いた画期的なものであった。"

 とあります。

 命令を固定しておいても構わないものはダイオードを使うROMで構成,まあこれはわかります。

 しかし,可変する物をフォトトランジスタで実装というのはどういうこと?

 これ,実物を見ればよくわかります。

20240610150403.JPG

 写真はKT-Pilotを横から覗き込んだものです。ちょうど正面のプラグボード(まるでエアコンの吹き出し口みたいなやつ)の裏側あたりです。

 網のように穴が開いている板がありますよね,この下にフォトトランジスタがあります。おそらくですがマトリクス状に組まれているので,手前にトランジスタが並んでいます。(一部交換されたものがあって微笑ましい)

 で,この板の真上には,ランプがあります。筐体の天井からぶら下がる形です。

20240610142200.JPG

 SEALEDという文字が見えるので,反射板を内蔵したシールドランプだと思うのですが,こいつが強力な光を先程の網に照射します。で,マイクロプログラムはこの板の上に乗せた紙に,フォトトランジスタをONにしたい所は穴を開けて光を通し,OFFにしたい所は閉じたままにして光を通さないようにしておくというアイデアでした。

 なんと,マイクロコードを2次元の紙で実現するという面白いアイデアだったんですね。いやー,これは面白い。これだと確かにマイクロコードの入れ替えは簡単ですし,修正も楽です。いわばパンチカードの光学式読み取りのようなものですが,こういう手作り的な,というかアマチュア的な工作が創意工夫の結果として最先端の高速コンピュータに使われるというのが,黎明期のコンピュータ開発にはあります。

 残念な事にこの仕組みは上手く動かず,結局プラグボードという当たり前の方式に落ち着いたそうです。プラグボードは確実ですが修正は面倒ですし,全部を入れ換えるなんてことをさっと出来る訳はありません。

 とはいえ,マイクロプログラム方式であることを最大限に生かし,円周率πを100桁求めるマクロ命令を定義し,他のコンピュータがシコシコと100桁分をループで計算するところを,命令1個でだだーっと計算し,世界最速の称号を手に入れます。

 まあ,はっきりいってズルですし,チートです。かつてインテルはベンチマークテストで使われる命令を超高速で処理できるようにして,自社製品の高速性を謳ったことがあり,バレてから随分叩かれたことがあったわけですが,それをまさに地でやっていた感じです。

 でも,当時はずるいという話が出る以前の問題で,そんなに速く計算出来るわけがないとか,ウソだろうとか,そうした批判ばっかりだったということです。

 こうした考え方で作られたコンピュータを現代的な視点で見てみると,1つの命令で多くのことをこなすのではなく,単純な命令を組み合わせることでハードウェアを軽くして高速化を目指すという手法とは逆で,現代的ではないという味方もあると思います。

 しかし,一方で最新のCPUでもx86やx64といった複雑な命令を内部で単純な命令の組み合わせに置き換えて高速化を図っているという点では,同じ事をやっているともいえます。

 もちろん,どちらもその目的や動機はKT-Pilotとは異なりますので,単純な比較は出来ません。ただ,命令セット,処理速度,ソフトとの連携,という3つを跨いだ問題が,今も昔も重要かつ楽しい課題だということに変わりないように思います。

 さて,成功裏に終わったKT-Pilotは後に東芝の商用機TOSBAC-3400になり,ヒットします。ソフトの開発効率や互換性の観点から,マイクロコードを入れ換える機能はなくなり,固定化されてしまいましたが,非同期で高速という特徴はそのまま継承されて,ヒットしました。

 

ページ移動

ユーティリティ

2024年06月

- - - - - - 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 - - - - - -

検索

エントリー検索フォーム
キーワード

ユーザー

新着画像

過去ログ

Feed