2021年11月19日金曜日

文系にもわかる マイコン世界史

 

 もともとヨシイエさんは、ちっちゃい頃から電子工作などが好きな方で、はんだごてで何度も机に焼き穴をあけてボコボコにしていたくらいなのですが、結論から言えばバリバリの文系人間として成長し、大学は文学部でした。

 

 それでも、人生の折々に、電子かいわいのガジェットが入り込んで来たり、ちょうど1995年に大学生だったので、間違いなくWindows旋風とやらにも巻き込まれ、ド文系のくせにコンピュータにもわずかに詳しい人間としておっさんになってしまった経緯があります。

 

 そんなヨシイエさんにも息子が生まれ、現在小学生の息子が、父親に似たのかわけのわからん電子的なものやプログラミングに興味しんしんなので、ひっさしぶりに電子工作かいわいのパーツを調べ始めたわけですね。

 

 そうすると、5年10年そっち系のことをやっていないと、すっぽりと電子かいわいの流行がすっぽ抜けてしまい、そこはかと浦島太郎状態になっているわけです。

 

 ええい、もうちょっと具体的に言いましょう。PICはわかるけどAVRがよくわからんとか、ラズパイとArduinoの違いがわからんとか、そういう諸問題が出てきたわけです。


 そこで今回は、自身の歴史を振り返りながら、「文系にもわかるマイコン世界史」ということで、人類とコンピュータの歴史について学んでみたいと思います。

 

 つまりは備忘録です。楽しんでください。

 

 

==========

 

 

■ 紀元前 (先史時代) 汎用ロジックICの時代 ■

 

 コンピュータの誕生が「いつ」なのかという問いは、ある瞬間をもって始まるというよりは、そのベースとなる前代の技術というものが次第に発展した、というほうが正しいと思います。

 たとえば一番わかりやすい「コンピュータゲーム」の登場で言えば、世界最初のコンピュータゲームとされるものは、

 

陰極線管娯楽装置

 

なんとアナログ回路で構成されていて、デジタルですらなかったとのこと。電気的な回路だけで、電気信号の波形をテレビみたいなものに映して遊んでいたってことですね。

 

 その意味ではまるで「ウイルスは生物なのか?生物はどこからはじまったのか?」に近いような哲学的なテーマがここには含まれるわけですが、もともとは半導体によるアナログ回路が発達するなかで、「これをうまく作れば、情報の”ある・なし”に使えるぞ!」と思いついたところからデジタル回路が生まれていったわけです。

 

 たとえば、「電圧の高い波形」を出す回路があるとしましょう。そこに「電圧の低い波形」を出す回路を組み合わせれば「コンピュータでいうところの0と1を表現できる」ことになります。

 ごくごく平たく言えばそんな感じで、コンピュータの黎明期はスタートするわけですが、現在私たちが思っているような「CPUを持ったいわゆるコンピュータ」が登場する以前に、単なる論理演算だけを行うような、シンプルな回路が登場していました。


 それを「ロジックIC」と言います。

 

汎用ロジックIC 

 

 1974年生まれの団塊ジュニアおっさんであるヨシイエさんは、旅館なんかに行くと100円を入れて部屋のテレビで遊べる「PONG」というテレビゲームの互換機が置いてあったのを覚えています。

  PONGというのは、ピンポンゲームの原典みたいなテレビゲームなのですが、コントローラーに左右に回せるつまみがついていて、それに合わせて画面上のラケットが動いてボールを打ち返すようなゲームでした。

 これはオリジナルが「ATARI」というアメリカの会社のゲームです。ところが、現代人から見ると「コンピュータゲーム」ではあるものの、実際にはコンピュータ(CPU)はまだ使われておらず「汎用ロジックIC」をたくさん組み合わせて作られていました。



■ 紀元元年 イエスキリスト=CPUの誕生 ■


 CPUと言えば、ちょっとパソコンに詳しい方なら「コンピュータの脳みそ」としてよくご存知の部品だと思います。

 コンピュータの歴史とはすなわちCPUの歴史と考えても問題ないくらいなのですが、CPUの誕生によって、同時に「プログラミング」という言葉も誕生したと言えます。


 いったいどういうことかというと、ロジックICの時代は、「ある機能をもったゲームを作ろう」と思えば、「その機能を実現する回路を実際に電線で結んで作る」ということをやっていたわけです。


 ところが、CPUとメモリが誕生することで、「ある機能を実現するには、実際の電線を結ばずに、ソフトウエアに書き込むことで、コンピュータが何にでも化けてくれる」ということができるようになったのです。

 これはまさに、紀元のはじまり、イエスキリストの誕生のようなものでした。

 電子世界の救世主が登場したわけです。


 世界初とされるマイクロプロセッサ、つまりCPUの元祖は、アメリカのインテルが1971年に作った「4004」です。

 1974年生まれのヨシイエとしては、まさにコンピュータと同時代を生きているおっさんということになるでしょう。


 「4004」はその名のとおり「4ビット」のCPUでした。作ったのがインテルというところも、その後に連綿と続く「インテル帝国」のスタートを予感させ、なるほど!と納得ですね。

 ところが、この4004、アメリカインテルだけでなく、日本の「ビジコン」という会社との共同開発でした。

 最初は日本のビジコンがプログラムで動く「電卓」を作りたかったので、そのためのICの開発をインテルに依頼したのですが、数が多くなってややこしいので、CPUにしてしまったということのようです。



■ キリスト教の発展? ローマ国教と8080 ■

 

 世界宗教史ではイエスキリストが誕生し、パウロなどが活躍しながら、最終的にはローマ帝国の国教としてキリスト教が採用されて世界宗教へと発展してゆきますが、インテル帝国のCPUも、あるチップが登場したことで世界へ爆裂してゆきます。


 それが1974年に登場したインテル8080です。


 8080は名前から推測できるように「8ビット」のCPUでした。ところが、実は最初の8ビットCPUというわけではなく、その前に「8008」というのが出たのですが、こちらはやや性能不足でヒットしていません。

 

 8080のどこが凄いかというと、細かい性能については、文系にはわからなくてOK。ただ、次のネタを覚えておいてください。テストに出るかも!

 

■ 8080は、タイトー「スペースインベーダー」に組み込まれ、国産初の「CPU搭載ゲーム機」となった。

■ 8080から派生した上位互換のザイログ「Z80」はNECのPC-8801やMSXパソコンなど、パソコン黎明期の立役者となった。

■ 8080は、現代まで続くインテルCPU「x86」系の元祖で先祖でルーツとなった。(8086は16ビット)


 ほら!なんか知らんけどすごいCPUが登場したことはわかりますよね?パソコンといえば「インテル入ってる」ですが、その歴史は実質的にはここからはじまったわけです。




■ もうひとつのCPU 1974年生まれのにくいヤツ ■

 

 8080がインテル帝国の初代皇帝だとすれば、同時期に世界の別の場所でライバルが登場していたことも押さえておきます。


 それがモトローラの「6800」というCPUで、1974年にモトローラ初のCPUとして登場しました。(8ビット)

  モトローラといえば、古き良きアップルファンにはおなじみのCPUですが、その歴史はここから始まっています。

 ここで覚えておくべきなのはたった1点です。

 

■ 6800派生機種「モステクノロジー6502」 系CPUは「Apple II」に載り、また「任天堂ファミリーコンピュータ」に載った。

 

どうだ!すごいだろう。ここに来てすでにのちの2大派閥(インテルVSモトローラ)の戦いが始まった感がありますね。

 

 最終的にはモトローラ系は負けてしまいます。アップルのパソコンは、インテル入ってるになっちゃうのですが、それはまた別のお話。

 

 

■ 中世から現代へ  倍々ゲームのCPU世界 ■

  

 キリスト教とローマ帝国の歴史が、現代の西側諸国(ヨーロッパ諸国)の発展につながっているように、ここからCPUの世界でも、インテル帝国を主流派としながら倍々ゲームの発展が続いてゆきます。


 ここからはざっくり駆け足で大丈夫です。

 

 8086  → 16ビット機がスタート

 80286

 80386 → 32ビット機がスタート

  i486 → このあたりからクロック周波数を倍速にする技術も

 (586) → 5なのでつまり「ペンタ」。ペンティアムの登場です。


 286〜486くらいの時代は、NEC「PC-9801」シリーズの全盛期です。その後は、世界標準のPC/AT互換機(この言い方も懐かしい)が主流に。


 intel64搭載 → 64ビットがスタート 

 マルチコアへ → コア数も倍々(2コア・4コア・マルチコア)


 Pentiumという名前が出てから、あれよあれよとインテルCPUは高性能化して現代に至ります。ややこしいのは、同じ名前で出ていますなのに、世代が違ったりすると全然能力が変わっているということ。このあたりではCoreシリーズではお馴染みの現象ですね。


 マイコン世界史としては、32ビット機から64ビット機にまで発展して現代に至るよね、と知っておけば充分です。



■ 東洋哲学(禅)やらヨガとか RISCの登場 ■ 

 

 さてさて、スティーブジョブズが「禅」にハマっていたのは有名ですが、コンピュータにも哲学があって、「CISC」と「RISC」の2つの考え方に分かれています。

 CISCは、簡単に言えば、難しい機能をたくさん保有して、複数の命令を実行しようとする哲学です。

 言ってみれば正社員。営業部やら企画部、経理部などいろいろ部門を移りながらビジネスマンとして成長してゆく感じです。

 

RISCは、逆で、機能や命令は極力シンプルにして、単純な作業を繰り返し積み重ねるやり方です。

 言ってみれば皿洗いだけするアルバイトやら、デリバリーだけ配達員に外注するようなものです。

 

 RISCのCPUは「MIPS」とか「サン・マイクロシステムズ」などから出ましたが、個別のCPU名は覚える必要はないでしょう。ただ、このRISCの考え方は、どんどん現代に近づくにつれて、あらゆる所で採用されていくようになります。

 

 CISCベースのCPUにもRISCライクな考え方は、どんどん取り入れられています。

 

 

■ バリューセットの登場 Socの時代 ■

 

 ところで世界史とは関係ないのですが、マクドナルドのバリューセットはご存知ですよね?日本風に言えば「定食」です。

 

 本来なら和食も、洋食も単品のメニューがでん!とあって、それを組み合わせてランチやディナーを楽しむわけですが、最初からコンパクトに「セット」になっていると、大変便利にごはんをいただくことができます。

 

 コンピュータの世界は、今見てきたように「どんどん速く、どんどんでかく」なってきたわけですが、一方で豪華フルコースディナーばかりが求められるわけではなく、さらっとご飯が食べられるセットメニューも必要になってきたわけです。

 

  コンピュータの世界では、たとえば、私がパソコンをはじめたPC-9801では、「CPUが80286で、メモリが640KB、ハードディスクなしでフロッピーディスクが1.2MB」という時代からスタートしたのですが、今では「CPUはマルチコア メモリは4MB〜16MB、ハードディスクなら最低500GBからで、テラだって当たり前」の時代です。

 そんな風に、「豪華単品メニューをどんどん追加する」のがひとつの流れなのですが、ぶっちゃけそんだけ食べなくてもいい場面は山ほどあるわけで、真逆の動きが出てきます。

 

 それが SoC という考え方。ようするに、ちょびっとずつセットにして、ひとつのCPUに乗っけてしまうわけです。

 

 これ、厳密にいうと一つのチップに「CPUもメモリも、外部記憶もI/Oも」全部載っているので、CPUとは呼べません。なのでSoC(システム・オン・ア・チップ)と呼ばれます。

 

 1990年代頃から、こうした考え方が製品化されてきて、ビット数の少ない「ちっちゃいコンピュータのセット」が各種開発されるようになってきました。

 代表的なものは以下。

 

マイクロコントローラと呼ばれるもの

■ PIC マイクロチップ社  8ビット〜のワンチップマイコン 単品で使うことが多い。 

■ AVR アトメル社 8ビット〜のワンチップマイコン Arduinoに載っている。

これらは組み込み機器や電子工作などで用いられることが多い。


 

SoCと呼ばれるもの

■ ARM  Cortexなどのスマホのエンジン部分はみなこれ。ラズパイにも載っている。

組み込み機器からスマホまで、手のひらサイズコンピュータの世界を席巻している


 8ビット系が主流のワンチップマイコンは、手作りロボットを動かしたり、センサーと組み合わせてシンプルな機器を作ったりと、まあできることはおもちゃレベルなのですが、ARMの場合は恐ろしいことになっています。

 もともとは小さなワンチップなのに、「液晶を動かすエンジン」「USB」「各種センサ」「無線通信機能」「入力デバイス」などを全部ぶちこんでしまうと、


 スマートフォン


が出来上がってしまいます。おまけに、「速い、でかい、すごい」を全部ぶちこんでいるので、ワンチップなのに64ビットで、ワンチップなのにiPhone13を動かす、なんてことが出来ています。


 こうなると、高性能なパソコンとの差がほとんどありません。そんな時代がやってきてしまった、ということですね。



〜〜〜〜〜〜〜〜〜〜


■ おわりに まとめ ■


 こうして歴史を概観してみると、1974年生まれの団塊Jrである私は、コンピュータの歴史とともに生きてきたんだなあ、とちょっと感慨深くなります。

 

 私個人は、DOSの80286から入って、PC-9801でコンピュータのイロハを学び、Windows一択の時代を長く過ごしてMacにはあまり目もくれず、自作PCなどの世界に引っ張られていきました。

 うちのおじさんなんかは、FM-7でBASICを走らせていたので、やや前の世代ということになります。結局私はBASICはやりませなんだ。

 

 社会人になって時間に余裕ができると電子工作(アナログ)から、PICへと移行しました。この文章は文系向けですが、「PIC16C84」が懐かしい工学系のあなたもいらっしゃることでしょう。

 パソコンかいわいでは東芝Librettoは名機でしたね。ThinkPadウルトラマンPCとかもね。

 

 ああ、そうそう仕事がらみでSUNのSPARCは触ったことあります。UNIXの勉強させられました。おかげでLinuxの草創期からいじってました。Librettoに、Slackwareを入れてたよ。イキってたんだなあ、あの頃。


 Windowsも、XPぐらいから、「仕事では使うけれど、家のパソコンはLinux」になりました。そうなると新しいCPUを追いかけなくなり、別になんでもいいや、ということに。

 そうこうするうちにLinuxが入った(入れた)変なマシンは10台ぐらいあるのに、Windows7や8や10は1台くらいしかない、ということになってきました。

 昔みたいにCDやDVDを焼いてコレクションを増やすこともなくなったし、自作PCも作らなくなったし、うーむ、いったい何をして過ごしていたのだろう、と思うと、ハードよりむしろブログを書いたり、youtubeに動画を上げたりとかのほうが忙しかったかも。


 スマホはiPhone派です。アンドロイドも中華PADをいくつかいじりましたが、「まあ、こんなものか」と結局iOSに戻ります。Macは一切使わなかったのに、スマホだけはアップル一択。

 でもSnapdragon4コアの中国製スマホとか、ちょっと集めてみたりもしたのよ。

 

 速いマシンにはとんと興味もなく、グラフィックボードもにも目移りしなかったクチなので、インテル帝国の奴隷にはならずに済んだかもしれません。 ゲーミングノート?なにそれ?というタイプです。


 ラズベリーパイは持ってます。ただ単に、「シンプルなパソコン」として動いています。Linuxだし。


 そんなところに息子が電子工作に興味を持ったものだから、改めてArduinoを入手したばかり。なるほど、AVRは完全にすっぽ抜けてるわ〜、ということでこの記事を書きました。


 改めて勉強し直せたのは、「マイクロコンピュータ(ワンチップ)」ものと、「シングルボードコンピュータ」の領域の重なり具合、とかでしょうか。秋月電子にはお世話になっているのですが、「AKI-80」と「PIC」と「ラズパイ」と「Arduino」など、それぞれどうジャンルが分かれているのかなど、頭の中で整理ができるようになってきました。


 私だってATMegaを知らなくても生きてこれたので、別に誰であっても知らなくてもいいと思います。


 さて、そろそろ結論です。パソコンはどんどん速くなっているものの、ぶっちゃけ人間の身体よりはるかに速くなったので、キーボード入力をコンピュータ側が「待って」いるような状態です。どんな遅いパソコンでも、そうです。


 ということは、ぶっちゃけ「ブラウザが動けば、まあこと足りる」のが実情で、スマホのアプリでもよーく見ているとほぼ全部「ブラウザの代替」なんですよね。youtubeアプリとかまさにそうで、別にアプリでなくてもブラウザでほとんどおなじ処理ができるのです。

 今のパソコンの状況は、実際は9割以上が「人間の反応待ち」時間を処理しているのではないかしら?


 HTML5とかが出てきて、ブラウザで読める言語の仕様も少しずつ変化しているため、いつまでも古いマシンというわけにもいきませんが、Linuxなら10年以上前のマシンでも、別に普通に動きます。それはそれで恐ろしいけれど。

 

 私が70歳とか80歳になるころには、どれだけ速くなっているのかわかりませんが、ムーアの法則もそろそろ限界説が出てきており、(だからコアを増やすぐらいしかない)コンピュータの進化はもしかするとこのあたりで打ち止めということもあるかもしれませんね。

 

 なーんとなく、世界史における「先進国の文化と経済が、いよいよ疲弊して資本主義の行く末が怪しい」ということとリンクしているようにも感じます。

 コンピュータなんて、たかだか50年の歴史というわけなので、気楽にいきましょう!





0 件のコメント:

コメントを投稿