プロジェクト XYZ
ワンボード・マイコンの製作(NEC TK-80)
| このデザインは世界に1つしか存在ないマイコン (My Computer) NECのTK-80ワンボード・マイコンにN-Basic基盤とメモリ基盤を附加 |
3層からなる1番上の基盤がTK-80 CPUは8080A(インテル製) |
NEC(日本電気K・K)より昭和51年(’1976)に待望のワンボード・マイコン TK-80のキットが発売されました。将にマイクロコンピューターの草分けで、コンピューターのハードウエアー・ソフトウエアーの両面にわたり具体的に、しかも短時間でこの分野の知識が習得できたことに今もって感謝しております。
1枚のプリント基板にCPUを始め、半導体CD-ROM・IOコントローラなど多数のLSIの他、抵抗・コンデンサー類を1つひとつIC用半田鏝で半田付けする作業は気が遠くなるほど大変で、3〜4日程掛かったと思います。
プログラムの入力キーは0〜Fまでの16進キー 16個、他にファンクション キーが9個、表示部はLED 8個という簡素なものです。
富士通K・Kでも同時期にL-Kit 7 (CPUはモトロラー製 6800)を発売しましたが、あまり普及せず2年程で撤退しました。
1 怪物・インテルのCPU
昭和40年代後半には米インテル社が4004(4 BIT)に続き8080(8 BIT)CPUの開発に成功し、産業界では電気釜、洗濯機、冷蔵庫、エアコンなど電化製品の制御用に、また自動車の燃料制御にも使われ始めました。マイコンという言葉が我が国で使われ始めたのは、NECがインテル社の「8080 CPU」をTK-80キットに搭載して発売されたのが最初ではなかったかと思います。
その後、昭和56年頃8086(16 BIT)CPUが開発され、翌年当たりから個人でも手の届くコンピューターとして爆発的な人気を得ました。私も昭和57年の後半には、この16 BIT CPU搭載の「OKI IF−800 MODEL−50」を購入しましたが、MS-FORTRSNのコンパイラー言語が動作し、ソフト開発が飛躍的に進歩し大満足しました。但し、当時は本体に80万円、シリアル漢字プリンターに25万円、他にMS-Fortranシステムに5万円程かかりました。 その後、80186・286・386・486、そしてPentium1・2・3・4・D(ディアル)と快進撃を続け、インテル社に太刀打ちできる企業は全くありません。
日本では昭和58〜9年頃、NECがV30というCPU(16 BIT)を開発し、初期の9800シリーズに搭載しましたが長続きはしませんでした。単純なメモリ半導体の大量生産は後進国に任せ、世界に絶賛されるCPU開発に期待したいものです。
2 ソフトウエアーについて
命令系統は8−BITですから機械語で’00〜’FF(’は16進を表す)までの256個ありますが、これらを駆使して自分の考え通りの動作をさせるのは容易なことではありません。昭和46年からミニコンでアセンブラ言語を操作していたことも幸いして、ニーモニックでのプログラム作成には殆ど抵抗はありませんでしたが、機械語への翻訳、倍長演算(16 BITの演算)の各種マクロ命令試作、ACC(累算機)の演算数値(16進歩)を10進歩に変換後、更にアスキーコード変換して普通のTV画面に表示するアルゴリズム解析・ハード設計等には随分苦労しました。また半導体CD-ROMの内容は3ヶ月位で全貌解析、RUNキーによってプログラムがどのようにして逐次実行されるか、また周辺機器の割り込み制御等、「骨の髄までしゃぶる喜び」は一入でした。
それに比し、今日のパソコンは小学生でも使える至極便利な機械ではあるが、OS(オペレーティングシステム)も含め、余りにも高度化・複雑化しすぎてハード・ソフトもブラックボックスに近いのが現状、段々「浦島太郎」になるようで情けない。
翁のひとりごと (適正解がないソフト開発への挑戦)
[右の写真は40手先を読む交換手順フロチャートの一部]
学校の時間割編成作業は、教務係のベテラン教師3,4人によって3月〜4月の一時期に1週間位集中して作成作業に当たり、その理詰・継続的集中力たるや経験者でなければ語ることが出来ない重労働な作業です。途中で迷路に入ると今日はここまで、なんてこともしばしばありました。特に大規模校、選択教科を多く採用している学校、更に普通高校より実業高校の方が難しくなります。
ミニコンに携わっていた関係上、この仕事をコンピューターで何とか処理できないものか? 昭和53年頃から本格的に構想を練り始めてみましたが、参考文献など全くなし。理屈では分かっていても数式で表現できないだけに、過去の経験やそれに基づく直感・理詰・論理試行等、即ちHEURISTIC法でそのアルゴリズムを一つひとつ編出すしかなく、部分的なテストランを行なうも巧くゆかず、懊悩の日々も随分続きました。骨子を描いたフローチャートは、B4判わら半紙で100枚は優に超します。駒の振り分けは固定駒以外は乱数(一回ごとにサイコロを振る)発生により割り付けて行きますが、最も苦慮するところは途中から駒が絶対に入らなくなってしまうことです。(人が行なう手作業もここで行き詰るのは同じ) これは体育館・芸術教室などの固定条件や講師その他、優先的に割り付けなければならない条件等と重なるためです。従って今まで割り付けた自由駒を条件に照らし合わせて遮二無二に再配置し、新しい駒を挿入する作業です。コンピューターに教え込むのも同じで、囲碁・将棋ではありませんが、私はここで40手先を読む手順を考えました。手順が一手増える毎に指数関数的に増え、テストランを行なっても何処か何処かにバグが潜み、諦めようかと考えたことも屡ありました。この部分だけでフローチャートは20枚を越しました。この部分のネスティングも深いところでは15重位となり(3重を越えると脳も段々アバウトになる)、暫くしてバグが発生し、トレース中にトイレ・食事等で中断すると再度始めからやり直し、時にはバグ発見に2〜3日掛かることもよくありました。
このとき次の様なことを悟りました。「良きアイデアとは机に向っているときではなく、風呂に入っている時とかトイレにいるとき等にヒヨンと浮ぶものなんだなー」と。
このプログラムは、ミニコンではメモリー不足に泣かされ満足な結果は得られませんでしたが、昭和57年に購入した沖電気K・Kの「IF 800 MODEL-50(CPUは8086 16BIT 機)」で、4000ステップに近いプログラムのコンパイル(翻訳)にも決してマイッターとは言わず、希望を全部叶えてくれました。しかも出来上がった後の希望調整(勿論キーボウド上で)も、グラフィック上で駒の動きを見ながらゲーム感覚で行なえるようにしました。また、時間割システムだけなら春先1回使用するだけで終りですが、このデーターを基に年休・出張等、1週間単位の時間変更も毎朝見れるシステムにもグレードアップし、通年利用も可能なシステムとしました。
![]() |
人口知能とは ? 左の写真は画面を2分割し、上側には時間板の全駒の移動状況を即座に表示する。下側は移動させたい駒の行き場所をコンピューターがオペレーターに示唆するように表示している。 これらのソフトは総てアセンブラ言語(機械語とほぼ1対1に対応する記号語)で作られている。 |
「バグの無いソフトはありえない」 これはある権威者の有名な言葉であります。 そんなバカナー!! コンピューターなら絶対に間違いなしと誰もが信じています。しかし、アポロ衛星でも打ち上げ寸前で中止したことは何回もありました。また、最近の例ではメガバンクの合併直後にATMが1週間も正常稼動出来なかったことは未だ記憶に新しいところであります。これらは総てソフトのバグに起因するものです。私はこのソフト開発を通じ、始めてこの言葉の内容が理解できました。41手以上の先に解が存在するかも知れないが、交換手順は40手までしか教えてない。即ち、これがそもそも開発者しか知り得ないソフトのバグなのです。私はソフト開発を通じ、日常の社会生活に於いても絶対・完璧という言葉は禁句のように思えてなりません。
時間割作成ソフトの研究については後日、朝日新聞東京本社より講演依頼があり、「朝日CAI シンポジューム 第2回東京大会」 (期日:昭和61年7月29日 会場:日比谷プレスセンタービル 主催:朝日新聞社)に於いて1時間の講演をさせて頂く機会を得ました。コンピューターに携わり30有余年になりますが、これは今もって我が人生で唯一、終生忘れえぬ喜びといたすところであります。
かって、NHKの「プロジェクト X」で某家電メーカーの電気炊飯器・制御用プログラムの開発部隊が、炊いては試食、また炊いては試食の番組放映に大変興味深く見た覚えがあります。「はじめチョロチョロ なかパッパッパ 赤子泣いても・・・ 」 数式処理と違ってこの名言をソフト化し、妥協点即ち、最適解を見出すのは容易なことではありません。試行錯誤の結果編出されたプログラムが体育館いっぱいに曳きつめられた様子を見たとき、鳥肌が立つほど感銘を受けたものです。
そして「俺もいま少し若かったならなー!」 と考え込む今日この頃です。