マイコンのコンセプトは、日本が引き出した

先週は新人のチョンボでブルーが入っていた哲さん。今週も
なにやら問題を抱えたようで、疲れ気味。愛犬ロボは、週に
一度の散歩で喜んでいるよう。哲さんの妻は、「亭主元気で
留守がいい。」とばかりに、土曜日の午後を待ちわびるまで
になってきた。憂鬱な哲さん、今日も肩を落として啓二さん
の仕事部屋にやってきた。部屋から、料理教室を終えた女性
が出てきたところ。うらやましそうに見送りながら、部屋に
入る。
哲  :いいなあ、毎回違う女性が相手になってくれて。
啓二:ちょっと待て。こっちはビジネスだぞ。
哲  :ビジネスでも、女性と会えるのはよいことだ。
啓二:何を言っているんだ。料理をしたことのない女性に、教えるのは大変なんだぞ。
哲  :へいへい、そういうことにしておきますか。
啓二:今日も浮かない顔だなあ。何かあったか。
哲  :先週の話が尾を引いて、もっとましな技術者を使えとクライアントが。
      零細企業にそんな余裕はないって。
啓二:考え方ひとつ。10年後に仕事をまかせられる人材を抱えていると
      思えば、どうってことないって。
哲  :お前、どうしてそう前向きなの。
啓二:起きてしまったことは消せない。やってしまったことは仕方がない。
      それからどれだけリカバーできるか、ではないのか。
哲  :本当に子供にロボットを作らせてやるだけになれるかな。
啓二:落ち込むなって。今日はマイコンのコンセプトの話をしよう。
哲  :マイコンなんて、この世になければいいんだ。
啓二:マイコンのコンセプトは、実は日本から出たんだぞ。
      あのIntelの創成期に、電卓用のICを設計・開発して
      くれるように依頼したのはBUSICOMという日本の会社だった。
哲  :それが、今の自分の苦しみを生み出したんだ。
啓二:相当重傷だな、これは。
      そして、Intel4004というマイコンを設計・開発の技術者の一人は
      日本人の嶋正利さんなんだ。8008、8080そしてZ80も手がけたんだ。
哲  :それがどうしたんだ。
啓二:嶋さんは、電気・電子の専門家ではなくて、化学の専門家なんだ。
      そして、Intelは創成期はメモリ開発が主体で、電卓用IC開発を
      扱う部署は、花形ではなかった。その中で世界を震撼させる技術
      が生まれたんだ。要するに、専門家でなくても、花形でなくとも
      すばらしい技術が生まれる要素はある。人間でも、今は一見輝く
      ことがなくても、地上の星になる可能性もあるんだ。
哲  :そうかなあ。
啓二:電卓用に専用ICを、汎用で実現したことに値打ちがある。
      そしてワンチップマイコンは、このIntel4004がアダムでありイヴ
      なんだ。IntelのPentiumシリーズだって、MotorolaのPowerPCだって
      日本から電卓専用IC設計・開発の依頼がなかったら生まれてない
      かも知れないんだぞ。
      ひとつの側面で見れば、新人君はどうしようもないかも知れない。
      が、自分の技術に対して自信をもって反発するような気概のない
      人間は大成しないぞ。
哲  :まあ、そうだが。
啓二:クライアントにしても、期日までに、一定品質のソフトを納品
      できれば文句は言えないはず。自社の中で、誰を割り当てるかは
      その企業の勝手で、内政干渉と突っぱねるくらいでないと部下の
      信頼も得られないのでは。
哲  :確かに。でも納期がなあ。
啓二:納期を厳守することは大切だが。その納期にあわせるが故にソフト
      の品質が落ちて、後日クレームの嵐になるようなら、3段ロケット
      のように、基本機能の確認をしつつ、機能強化でやればいいじゃん。
哲  :かな。少なくとも納品してから、修正につぐ修正よりもよいか。
      それで掛け合ってみるか。
啓二:で、マイコンの話だが、4004は電卓を3つのICで実現した。
      この3つのICの機能をまとめると、CPU、I/O、メモリと
      なる。そして、データの扱い方はリトルエンディアンで、I/O
      は、独立したI/Oアドレスを持っている。
哲  :そう言えば、前回まで、そんな話だったような。
啓二:次にCPUの内部で、制御はマイクロプログラム方式を採用して
      いる。マイクロプログラムは、デジタル回路の動作をカウンタと
      レジスタで記述し、ROMの中に入れてある。
      プログラムカウンタで命令を取り出し、解釈して実行するのが、
      マイクロコンピュータの基本動作。このプログラムカウンタでの
      命令取り出しにも、マイクロプログラムが利用さている。
哲  :マイクロプログラムの例を説明してくれよ。
啓二:よし、きた。プログラムカウンタで命令を取り出すときは、次の
      ようにする。
      プログラムカウンタの内容を、MARレジスタに転送。
        MAR:Memory Address Register
      MARレジスタの値を、プログラムROMにアドレスとして与える。
      プログラムROMから出力されるデータを、IRレジスタに転送。
        IR:Instruction Register
      この3つの動作で、命令が取り出せる。レジスタに値をセットする
      ためには、クロックが必要なので、クロック入力に信号を0→1→0
      を与える。これがマイクロプログラムの役割。
哲  :マイクロプログラムって、案外単純なんだなあ。
啓二:コンピュータは、デジタル回路の応用の一つなの。そしてデジタル
      回路はあまり複雑なことはできないから、プログラムを利用して、
      複雑なことができるようにしているのさ。
哲  :へえ、コンピュータって慣れると、自分で作れそうだなあ。
啓二:そうさ。今は、自分専用あるいは分野専用にコンピュータを設計して
      使っている技術者もたくさんいるんだ。ロボットのように単純だけど
      高速あるいは並列動作が必要な場合は、マイコンを多数利用したり、
      関節動作に特化したコンピュータを自分で設計して使っていたりする。
哲  :うん、うん。
啓二:そのためには、一つのマイコンをハードウエアからソフトウエアまで
      触れて、良し悪しを体感しないと、イメージがないので判断できない。
哲  :新人には、仕事を与えて、蛇のように、丸呑みして力ずくで消化させて
      みないと駄目ということか。
啓二:そういうこと。料理教室の食材が少し余ったんだ。酒の肴程度のものは
      できるけど、食べるか。
哲  :食べる、食べる。ビール買ってくる。
啓二:じゃ、その間に作っておくから。ロボにも何かやらないとな。
      (1時間の散歩が、5時間近くになり、帰宅した哲さんが
         奥さんの頭に角があるのを見たのは、言うまでもない)

戻る