home > コンピュータ開発の思い出 >

私のコンピュータ事始め

酒 井 寿 紀

PDFをご希望の方は ここ をクリックして下さい。(A5 11ページ 両面印刷)

(PDFの閲覧には Adobe社の "Acrobat Reader 3.0J" が必要です。ダウンロードする方は ここ をクリックして下さい。)


目  次

1.はじめに

2.手足は電動タイプライター1台のみ

3.ソフトなければただの箱

4.プリント基板の種類を減らしたい

5.「順列」「組合せ」に悪戦苦闘

6.時間切れで幕

7.おわりに


1.はじめに

 

私がはじめて「コンピュータ」なるものに手を触れたのは、1963年のことだった。

私は大学の4年生で、夏休みになると、実習に行くことになっており、それぞれ実習先の会社を選んで全国に散らばって行った。

旅行を兼ねて北海道や九州の会社を選ぶ者、登山が好きなので山奥の発電所を選ぶ者等いろいろであった。

私はコンピュータに将来性を感じていたのと、自宅から楽に通えるということで、富士通の川崎工場を実習先に選んだ。

ここで、生まれて始めて、コンピュータというものに触らせてもらった。以下はその時の話である。

富士通という他社の、しかも開発中の試作機の話なので、いささか気が咎めるのだが、何せ今から35年も前の話なので、お許し頂くことにする。

ただ35年も前の実習生の記憶なので、記憶違いもあるかも知れない。もし間違いがあったらご容赦頂きたい。

 

富士通の川崎工場には7月から8月にかけて4週間滞在した。

実習先は「電算機方式部回路課」というところで、課長は二宮昭一さんという、その後富士通の役員を経て(株)ピーエフユーの社長になられた方だった。直接私が面倒を見て頂いたのは、佐藤繁さんという、その後(株)富士通研究所の社長になられた方で、同じ課には、その後富士通の役員になられた小池康允さん、富士通アメリカに移られた鵜飼直哉さん等がいた。

私の大学の1年先輩の左中功夫さんは入社したての新人だった。

工場の現場では「FACOM 222」という大型のコンピュータを生産していた。案内してくれた人が、「222」を指して、

「フジツーです」

と言っていた。「フジツー」から「222」と名付けたのか、後から語呂合わせを思いついたのかは聞き漏らした。

 

 

2.手足は電動タイプライター1台のみ

 

実習先の職場では「π(パイ)」という試作機がちょうど完成したところだった。「π」という名前は「Pilot Model」から付けられたもので、新しいトランジスタ回路を評価するのが主目的だったようだ。

私の実習の第1の課題は、「何でもいいから長時間このコンピュータを動かして、動作の安定性を確認すること」だった。

しかし意味のない計算を繰り返しても面白くない。

そこで、佐藤さんが抱えていた、「プリント基板の種類を減らす方法」という第2の課題を私に与えてくれた。

これを解くのは、「順列」「組合せ」の計算なので大変時間がかかり、従って第1の課題にも適し、一石二鳥というわけである。

 

さて、「π」とはどんなコンピュータだったかというと…

1語は18ビット、つまり2進数を使っても約25万ぐらいしか表せない、今の電卓より短いものだった。これを「命令」として使うときは「命令コード」が6ビットで、「アドレス」が12ビットだった。

レジスタは「アキュミュレータ」1個のみで、「インデックスレジスタ」のようなものは一切ない。従って18ビットでも一応基本的な命令は定義できる。

命令としては、「Load」と「Store」、2進の加減算、無条件ジャンプ命令とアキュミュレータがゼロか否かで分岐する命令、そして入出力命令として、紙テープの読み取りとタイプライタの印字が主なもので、その他の命令を合わせても合計10数命令だった。

アドレスは12ビットなので4,096語しか扱えなかった。今のワープロで4ページ分ぐらいの分量である。これは現在の普通のパソコンの1,000分の1以下だが、それでも当時としてはかなりのものだった。事務用の大型機でもアドレスは10進4桁、つまり1万字、というのがごく普通の時代だった。

 

「π」の「頭」はそんな具合だったが、「手足」、つまり入出力装置の方はもっと貧弱だった。当時「フレキソライター」と呼ばれていた、電動タイプライタと紙テープの読み取り/穿孔機が一体になったものが唯一の「手足」だった。ディスクも磁気テープもカードもなかった。コンピュータのメモリにデータを入れたいときは、タイプライタのキーボードで「0」から「7」の8進数を打ち込むと、それがそれぞれ紙テープの1字となり、これを読み取らせると、6字がメモリの1語になった。

プログラムもデータもすべてこうして入力した。

入力データに間違いが見つかると、目で紙テープの問題個所を捜し、その部分を修正した紙テープを作って、鋏と糊でつないで使うことができたので非常に便利だった。

 

 

3.ソフトなければただの箱

 

手足が貧弱なのも不便だったが、いざコンピュータを使うとなると、一番の問題はソフトウェアが何もないことだった。

オペレーティングシステムのようなものが何もないから、入出力処理をすべて自分で書かなければならない。それどころか、真っ白なメモリーにプログラムをロードするプログラム、いわゆる「ブートストラップ」も自分で用意する必要がある。これは佐藤さんに、

「どのプログラムの頭にもこの3命令を書けばいいんだ」

と教えて頂き、その通りにした。

またいわゆる「言語」の類が何もない。「コンパイラ」はおろか「アセンブラ」さえない。従って、プログラムはすべて8進数で、絶対番地で書かなければならなかった。もっとも、例え「コンパイラ」等あっても、私が使えたわけではなかったが。

「コンピュータ、ソフトなければただの箱」

といわれるが、私の前にあって、「さあ使いなさい」と言われたのはまさに「ただの箱」だった。

しかしこれは大変いい勉強になった。

コンピュータがどのように動くものであるかがよく分かった。

実行中の命令の番地が、数字表示管により8進数で表示されていた。下の桁はもちろん読み取れなかったが、上の桁の動きを見ていると、プログラムのどのへんを実行しているのかがよく分かった。

コンピュータの勉強の初期にこういう経験ができたのは幸せだった。コンピュータにブラックボックスとしてしか接してない今の学生は、ある意味では不幸だ。

 

 

4.プリント基板の種類を減らしたい

 

指導して頂いた佐藤さんが抱えていた課題は「汎用のプリント基板を用意しておくことによってプリント基板の種類をできるだけ減らしたい」というものだった。

当時のプリント基板は、手のひらに乗るような小さなもので、トランジスタとダイオードで論理回路を構成していた。

実際にはANDゲートいくつかの出力をORゲートでまとめたものが構成単位で、これが何組か1枚のプリント基板に乗っていた。

ここで問題は、「プリント基板のピン数、実装スペースの制約から決まる最大ゲート数、回路上の制約から決まる1ゲートの最大入力数が与えられた時、作り得るプリント基板の種類は全部で何種類になるか」というものであった。

これをコンピュータで洗い出すのが私の第1の課題だった。

こららすべての種類について、別々のプリント基板を用意すると、プリント基板の種類が非常に多くなる。

そこで、「プリント配線は標準的なものにしておき、必要に応じてプリント配線を切って使うようにしておけば、何種類のプリント基板で済むか」というのが次の課題だった。

詳しいことは忘れてしまったが、これらは結局「順列」と「組合せ」の応用問題だった。

 

 

5.「順列」「組合せ」に悪戦苦闘

 

「プログラムを書く」と言っても、プログラム専用の「コーディングシート」がある訳ではない。普通の用紙に書くしかない。

先ずメモリーの何番地にプログラムを置くかを決め、その番地を用紙の左側にずらっと書く。そして各番地に置くべき「命令」や「数値」をすべて8進数で書き込んで行く。

番地はすべて「絶対番地」なので、プログラムの追加や変更の為に番地を変えると、「データ」や「分岐先」の番地をその度に書き直さなければならない。

「インデックスレジスタ」による「アドレス修飾」ができなかったから、プログラムのループを使うのが難しく、ループなしで垂れ流しに書くか、命令のアドレス部を自分で変更しながら使うかしなければならなかった。

プログラムの作り方等まったく聞いたことがない者が、はじめてプログラムを書いたので、最初はどうしていいか分からなかった。いろいろやり方を工夫して、後は腕力で書いた。はじめてなので、ずいぶん要領の悪いプログラムを書いたように思う。

「順列」と「組合せ」のプログラムが一応できると、入力の数値を与えて結果をタイプライタに打ち出した。

ちょっと大きい数値を与えると、打ち出すのに大変な時間がかかり、コンピュータ本体よりもタイプライタの寿命試験をしているようだった。

会社の偉そうな人が、お客さんを案内して我々の職場を訪れ、

「何をしているのかね。1ずつ足してでもいるのかね」

と聞くので、

「いえ違います。順列の計算をしているところです」

と答えた。私はいささか得意であった。

 

 

6.時間切れで幕

 

「順列」と「組合せ」の計算は、最終的課題を解くための道具にすぎなかった。これができると、これを使っていよいよ目的の課題を解かなければならない。

それは、「一つの汎用性のあるプリント基板の配線を、必要に応じ、いろいろなところで切断することによって、何種類のプリント基板として使うことができるか?」、そして「それはピン数、ゲート数等の制約から決まる全種類のプリント基板の中のどれとどれか?」という問題であった。

このプログラムを途中まで書いたところで、4週間の実習期間の残りがなくなってしまい、佐藤さんと相談し、途中で打ち切って実習報告書をまとめることにした。

 

 

7.おわりに

 

こうして夢中でプログラムを書いた4週間はあっと言う間に終わってしまった。コンピュータのこともプログラムのことも碌に知らなかったが、いろいろ教えてもらいながら、途中まで課題を解くことができた。

当時はコンピュータのことを勉強しようにも、解説書などほとんどなかった。これは、勉強嫌いにとっては、非常に幸せなことだった。何故なら、事前の勉強などしようと思ってもできず、とにかくすぐ仕事にかかるしかなかったからだ。もっとも私がしたのは「実習」で、「仕事」と言えるようなものではなかったが。

それにひきかえ、今の人は大変だ。勉強することがありすぎて、何も知らない者がコンピュータの仕事を始めようと思ったら、事前勉強だけで4週間ぐらいすぐ経ってしまう。

「読むものは何もない」、「『想像力』と『創造力』だけが頼り」という時代だった。

世の中はコンピュータの文明開化の時代で、これが私の「コンピュータ事始め」だった。

大変多忙な中を親切にご指導下さった富士通の佐藤繁さんに改めて感謝したい。

 

(完)

 

1998年5月


Top         Copyright (C) 1998, Toshinori Sakai, All rights reserved