80年代の8ビットのホビーマイコンのころからコンピューターとはお付き合いがあって、小学1年か2年には電気の図鑑でデジタル論理には触れて、当時すでにOh!MZ なんかの雑誌にたまに載っていた記事※を元にハンドアセンブルでマシン語を組んだりもしていた。当時親にマイコンを取り上げられなければ、今頃は一線級のIT関連で仕事ができていたかもしれない。

※マイコン雑誌には投稿のゲームのBASICソースが数多く掲載されていたが、BASIC以外のシステムはだいぶ少なかった。FORM(整数FORTRAN?)だとかPASCALだとかアルゴリズムだとか、CP/Mの話題はほぼなくて、あっても片隅程度。

ただ当時は図鑑のデジタル回路と目の前で動くZ-80Aのコンピューターの紐付けができず、自前で気負わずにCPUや周辺回路の実装ができるようになったのは、職場でデジタル回路の設計を仕事でするようになってからだった。

ランダムジック回路だけであれば大学で習う(高校数学でも出てくる)ド・モルガンの公式とせいぜいカルノー図がわかればなんとなくの設計はできるが、フリップフロップでループを構成してプログラム内蔵方式のコンピューターとしての動作の理解につなげることがなかなかできなかったのが残念だ。次の記事を見てスクラッチでコンピューターを作れると思ったら、多分才能がある人だ。私には無理。

完全マスター! 電子回路ドリル II、Ⅲ
http://monoist.atmarkit.co.jp/mn/kw/eledrill_02.html
http://monoist.atmarkit.co.jp/mn/kw/eledrill_03.html

理解したあとで見ると、この内容でCPUでも何でもできるとわかるんだけどねぇ。

このへんは正当な教育を受けるとか、仕事で無理やりやるとか、あるいは類稀な才能と環境が無いと遠回りになってしまうのだろう。実際に8ビットマイコンモジュールを手配線してBIOS(ブートローダ兼モニタ)とTinyBASICまで組んだことと、その後のお仕事でVerilogHDLを使ったASIC内部のCPUの一部分や マイクロコードを組めたことが大変勉強になった。

現在はどうかというと、CPUの動作原理が分かっていても応用ソフト(アプリケーションソフト) は使えないし、ExcelとWindowsの操作ができたところで、あるいはJavaなりC#なりでプログラムができるからといってCPUの動作が理解できるてるかというと、そんなことは無い。

「貴方はNANDゲートだけでCPUと周辺回路を設計できるか?」って言って通じるかどうか、そのへんが境界かと思う。

 

広告

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中