仕事の打ち合わせが長引き、前日は深夜に帰宅した哲さん。 80系、68系のマイコン
毎週土曜日は、愛犬ロボを散歩させると家族に宣言した手前
昼食をとって、啓二さんの仕事部屋へやってきた。部屋の戸
に張り紙が。「スーパーに食材を買いに行ってくる。すぐに
もどる。」と書かれていたので、ロボにブラシを掛けながら
待つことしばし。やっと啓二さんが戻ってきた。
啓二:お待たせ。鍵を渡すから開けてくれよ。食材で両手がふさがって いて、ポケットに手を入れられないんだ。 哲 :へいへい。 (鍵をあけて、2人で部屋に入る) 啓二:ちょっと待て。冷蔵庫に食材を入れるから。 哲 :うん。今日は部屋がきれいだな。誰か来るのか。 啓二:そう。料理を教えることになる女性が来るんだ。 そのために食材を買いに出たのさ。 哲 :独身生活にサヨナラするのか。 啓二:あのなあ、日本だけだぞ、そう考えるのは。 IT関係の仕事だけじゃ食えないから、料理教室も開くの。 哲 :なーんだ。そういうことか。 そう言えば、お前、高校のときの炊事遠足で男ばかりの中で あまった食材でスパゲティのミートソース作っていたよな。 女子からは、自分よりもうまいというのがいたりして。 あの頃から料理ができたのか。 啓二:まあなあ。料理は嫌いじゃないよ。親父が単身赴任していた頃 母親が親父のところに行くと、勤めていた姉貴の食事を大学生 の自分が作っていたから、鍛えられたし。 哲 :そうか。さて、今日は、質問があるんだ。 80系、68系のマイコンって何だ。 啓二:何だそんなことか。80系っていうのは、Intelの開発した8080、 8085の流れにあるマイコン。有名なZ80も80系だ。 そしてMotorolaの開発したマイコン6800、6809の流れが 68系って言う。68系には、68000もあるけどな。 哲 :Intelって、PentiumのIntelだよな。 啓二:そうだよ。でも、Pentiumは、86系と呼ばれる。 8086の流れでできたCPUだから。 哲 :何で80系とは68系と言うんだ。 啓二:80系、68系のマイコンが発売された頃は、半導体の集積度が低くて 今のようなワンチップマイコンには、CPUだけしか入らなかった。 マイコンシステムを構築しようとすると、CPU、I/O、メモリと 分類した複数のチップが必要だったんだ。で、ワンチップマイコンに したとき内蔵CPUとして8080、8085の命令体系をもった プロセッサ機能を入れると、80系マイコンと呼ぶようになった。 6800や6809のプロセッサ機能を入れると、68系のマイコン になる。 哲 :80系、68系というからには、それぞれ特徴があるのかな。 啓二:そう、両者には、大きく3つの違いがあったんだ。 クロック周波数は、80系の4MHz動作が68系の1MHz動作に 相当すると言われていた。 哲 :4MHzの方が高速ではないのか。 啓二:少し面倒な話になるけれど、マイクロプログラムとよぶ内部の回路を 動かすのに1クロックでよいのか、4クロック必要なのかという話に なる。実際は、もっと複雑なんだけれど、極論するとそうなる。 哲 :じゃ、他の2つの違いは。 啓二:ひとつは、I/Oの扱い方。命令とデータを出し入れするには、記憶 即ちメモリにアドレスを振って、そのアドレスを利用する。 これは、80系も68系も同じ。 で、I/Oについては、68系はメモリの一部を割り当て 80系は独立したI/Oアドレスを用意した。 簡単に言うと、マンションで、大容量の物置を各部屋に当てたのが 68系で、外に各部屋ごとに用意したのが80系。 残りは、ビッグエンディアンとリトルエンディアンの違い。 複数バイトにまたがるサイズのデータがあったとき、データの下位を アドレスの下位におく方法がリトルエンディアン。 逆がビッグエンディアン。 ビッグエンディアンは、ネットワークバイトオーダーと言う方が、 通りがよいかな。 哲 :ふーん。まったく正反対の構造なんだなあ。 啓二:ところで、どこで80系、68系という用語を仕入れてきたんだ。 哲 :昨日、仕事の打ち合わせの最中に出てきた。 啓二:仕事って、今はネットワーク関係の開発をしているんだよな。 ネットワークバイトオーダーからビッグエンディアンという言葉 が出てきたか。 哲 :かな。マイコンとWindowsマシンでうまく通信ができなくて 原因を探っていったら、情報の並び方が反対になっていた。 それでコードレビューしたら、80系、68系という言葉が出てきた。 啓二:そうか。かなり知れ渡っていたことで、FAQでもよく出ていたこと なのになあ。ひょっとして、新人に担当させたか。 哲 :何でわかるんだ。 啓二:そういう経験をしたからさ。こっちはマイコンなので、メモリ容量の 制約から変更できないとして、相手側に対応してもらったことがある。 そのときに、仕様確認をいい加減にすると、ひどい目に会うと学んだ。 話さなかったかな。 哲 :聞いた記憶がある。他山の石にはできなかったんだなあ。 啓二:コードレビューまでして、結局は、バイトオーダーのミスだったと いうのはよくあることだ。で、その新人の扱いはどうした。 哲 :これから充分気をつけるようにと、そんな程度だよ。 啓二:鬼と呼ばれる人間が何を言うのかねえ。 まあ、Windowsマシンを利用していてメモリに柔軟性があって よかったじゃないか。マイコンならば、大事だぞ。 哲 :何で今の連中は、自分勝手にことを進めてしまうかな。自分は絶対に 間違っていないの一点張りで、客先でアナライザを利用して確認した ならば、逆でやがるの。 啓二:結局は、関数を一つ挿んで解決でしょう。 哲 :うん。 啓二:ならば、よかったじゃないか。 哲 :大学から優秀というので採用したのに、こっちの面目丸つぶれ。 クライアントには、白い目で見られるし、新人は自分のせいじゃない で板挟みだぞ。まったく。 啓二:あのねえ、新人が一人前に仕事をこなせるようになるには、経験や教育 が必要なの。それを我慢できないようでは、中堅技術者の育成なんて、 できやしないよ。それに、68系や80系も知らない、お前だって勉強 不足だ。 哲 :文系出身にそれはないだろう。 啓二:理系、文系は関係ないよ。どれだけ勉強しているかや、過去の流れを 知って仕事に活かしているかだ。 哲 :眠くなってきた。今日は、帰る。 啓二:そうか。お疲れさん。