最近、手のひらに収まる小さな基板「ESP32」でIoTの機能を試していた。Wi-FiもBluetoothも当たり前、デュアルコアで高速に動き、豊富なライブラリで驚くほど簡単に開発ができてしまう。あまりの便利さに感動すると同時に、ふと、自分が初めて電子工作に触れたあの頃の記憶が鮮やかに蘇ってきた。
1971年にIntelが世界初のマイクロプロセッサ「4004」を世に送り出してから、早50年余り。この半世紀で、世界は文字通り「マイコン」によって作り変えられてきた。
今日は、そんなマイコン・アーキテクチャの壮大な歴史を、私の個人的な思い出と共に振り返ってみたい。特に、私の技術者人生において忘れられない3つのチップ、Motorola MC-6800、Zilog Z80、そしてMicrochip PIC16C84への想いを込めて。
【創成期】 すべてはここから始まった:8bitの熱狂
1971年、Intel 4004。電卓のために生まれたこの4bitプロセッサが、すべての始まりだった。やがて時代はすぐに8bitへ。
そんな中、私が初めて深く触れたのが、Intelの好敵手Motorolaが放ったMC-6800 (1974)だった。
思い出のマイコン①:Motorola MC6800
当時はまだ高価なROMライターもなく、手ハンダでCPU,メモリー、UARTなどをジャンパー線で結線した基板は今でも忘れられない。
その直後、8bitの世界に決定的な存在が現れる。Zilog Z80 (1976)だ。
思い出のマイコン②:Zilog Z80
Intelからスピンアウトした技術者が生み出したZ80は、まさに「8080キラー」だった。8080の命令をすべて含みながら、ブロック転送命令(LDIR)やインデックスレジスタなど、強力な機能を追加。ホビーパソコンから業務用機器まで、瞬く間に市場を席巻した。シャープのMZシリーズ、NECのPC-8001シリーズなど、私の青春そのものだ。
【高性能化とRISCの台頭】 多様化するアーキテクチャ
時代は16bit、そして32bitへと進む。PCの世界ではIntel 8086がx86アーキテクチャの礎を築き、クリエイティブな世界ではMotorola MC68000が初代Macintosに搭載され、その美しいアーキテクチャで技術者を魅了した。
一方で、組込みの世界では「より小さく、より効率的に」という流れが加速する。そこで登場したのがRISC(縮小命令セットコンピュータ)という新しい思想だ。その流れの中で、私の心を再び鷲掴みにしたチップと出会うことになる。Microchip PIC16C84 (1993)だ。
思い出のマイコン③:Microchip PIC16C84
PICの登場は、革命だった。何が革命的だったか? それはEEPROMを内蔵していたことだ。それまでのマイコンは、プログラムを消去するのに「ROMイレーサー」という装置で強力な紫外線を10分以上も当てる必要があった。それがPIC16C84では、電気的に、一瞬で書き換えられるようになったのだ。この手軽さが、試行錯誤のサイクルを劇的に変えた。
低価格で、ピン数が少なく、シンプルなRISCアーキテクチャ。個人が趣味で電子工作をするハードルを劇的に下げてくれた。PICの登場によって、「アイデアをすぐに形にする」という現代のプロトタイピング文化の萌芽が生まれたと言っても過言ではないだろう。
【現代】 32bitが当たり前、そしてオープンな未来へ
2000年代に入ると、ARMアーキテクチャが世界を席巻する。特にマイクロコントローラ向けに設計されたCortex-Mシリーズは、STMicroelectronics社のSTM32をはじめとする無数のマイコンに採用され、32bit組込み開発のデファクトスタンダードとなった。
そして今、Wi-Fiを搭載したESP8266/ESP32がIoTの世界を塗り替え、誰でも自由に使えるオープンソースのRISC-Vが、新しい選択肢として急速に存在感を増している。
技術は驚異的なスピードで進化し、かつては専門家だけのものだったマイコンは、今や誰もが当たり前に使えるツールになった。しかし、その根底にある「0と1を操り、アイデアを現実に動くモノへと変える」という本質的な喜びは、50年前から何も変わっていない。
もしあなたが今の便利な開発環境に慣れているなら、ぜひ一度、これらの古典的なアーキテクチャのデータシートを眺めてみてほしい。そこには、限られたリソースを最大限に活かすための、時代を超えた知恵と工夫が詰まっているはずだ。
年表
1971,4004,Intel
1972,8008,Intel
1974,MC6800,Motorola
1974,8080,Intel
1975,6502,MOS Technology
1976,Z80,Zilog
1978,8086,Intel
1979,MC68000,Motorola
1980,8051,Intel
1985,ARM1 (Acorn RISC Machine),Acorn Computers
1992,SH-1 (SuperH),Hitachi (Renesas)
1993,PIC16C84,Microchip
1994,ARM7TDMI,ARM
1996,AVR (AT90S1200),Atmel (Microchip)
2004,Cortex-M3,ARM
2009,RX,Renesas
2010,RISC-V,UC Berkeley
2014,ESP8266,Espressif Systems
2016,ESP32,Espressif Systems