冥界のLSI(1) Intel 80186、SoCの夜明け前

朧げな記憶では、SoC(System on Chip)という言葉が登場したのは、平成の御代になってから。平成が終わろうとしている今、古き良き時代のSoCを振り返る、ということでクラシックな「新」シリーズを開始しようとしておりますが、その最初は昭和の時代に遡ります。つまりSoC以前。既に現在のSoCにつながる源流が現れているのです。その名もIntel 80186。

(「黄昏のSoC」改題)

※『冥界のLSI』投稿順 INDEX

最近のSoCプロセッサというもの、短命なものが多いです。ある時の「流行」というと語弊がありますが、市場要求に合わせた周辺回路をてんこ盛りにして作るので、ある「市場」、ある「時代」にフィットしすぎるのでしょう。市場が変化すると、すぐに乖離が大きくなり世代交代を迫られるのです。そんな中、SoCという言葉が登場する前(1982年)から存在し、4分の1世紀くらい(2007年頃まで?)は生き延びた「最初期のSoCプロセッサ」と言ってもよいプロセッサが Intel 80186 です。

同じく周辺回路を集積したマイクロコントローラというものもありますが、その違いは、ROM(プログラム)やRAM(データ)をチップの中に含めばマイクロコントローラ(MCU)、チップの外側のメモリ上に持つものはSoC、というのがここでのザックリした切り分けです。マイクロコントローラ(マイコン)の方は、「鳥なき里のマイコン屋」というタイトルで投稿しておりますので、そちらもよろしく。

さて80186に戻ります。80186という型番から想像できるように

8086プロセッサ の次、80286プロセッサ の前

というのがシリーズ・ラインナップ的な「ポジション」になります。以降頭の80を省略して186と呼ばせてもらいます。実際には186と286の開発は同時期に並行して行われていた筈で、

    • 80186は、8086に不足している周辺回路を補って使いやすくしたもの
    • 80286は、アーキテクチャ的に大拡張を行ってソフトウエア世界を一新するもの

といった違う方向を向いたコンセプトの兄弟チップだったと思います。186は、8086に対して命令を拡張してあったり、処理速度も速くなったりしているので、単に8086に周辺回路を取り付けただけのものではありません。しかし、セールスポイントは、やはり周辺回路を取り込んでいるところでした。

80186の時代、どんな周辺回路が必要とされていたのでしょうか。ちょうど80186と同時代、踵を接するように登場してきた超有名な86系の応用製品があります。

The PC、IBM-PC

です。186が登場する前年に8086の8ビットバス・デチューン版である8088をCPUとして発売されています。このIBM-PCが成功し、次の世代の80286をCPUとして採用したIBM PC/ATが今につづくパソコンの基礎を作ることになるわけですが、186を設計していた時点では、そんな未来はまだ分からなかった筈です。この初代のIBM-PCのマザーボードを見るならば

    1. メインプロセッサ8088
    2. クロックジェネレータ
    3. DMAコントローラ
    4. タイマー
    5. 割り込みコントローラ
    6. BIOS-ROM
    7. DRAM

といったチップと88のマルチプレクスされたバスを周辺ICに接続するための各種TTLなどが存在していました。ディスプレイアダプタや、プリンタI/F、通信アダプタなどは拡張スロットに差すアダプタカードに追い出されていたので、当時の「マイクロコンピュータ」マザーボードの主要コンポーネントというのはこんなものだったのです。

これに対して、80186が集積した周辺回路は何だったのか、列挙してみましょう。

    1. クロックジェネレータ
    2. DMAコントローラ
    3. タイマー
    4. 割り込みコントローラ
    5. チップセレクト回路

チップセレクト回路はIBM-PCではTTLなどで作られていた筈。なんのことはありません。80186は、ROM/RAM除く当時のマイクロコンピュータ・マザーボードのほぼ全てを集積したチップであったのです。まさに System on Chip。

では、80186はパソコンの世界で大成功して4分の1世紀あまりも命脈を保ったのでしょうか?そうではありません。80186は「パソコン」用途としてはほとんど使われなかった。なんでかと言えば、

80186搭載の周辺回路は、PC用に使われていた周辺と微妙に違う

ためでした。

    • PCで使われていた割り込みコントローラ8259とはカスケード接続できたが、内蔵回路の動作は似ていても、ソフト的には違う
    • PCで使われていたDMAコントローラ8237は4チャンネルだけれど、内蔵回路は2チャンネル、ソフトからの見た目も違う
    • PCで使われていたタイマ8253ともやっぱり違う

これら82xxシリーズは8ビット時代からのインテルの周辺チップなのですが、186はそれらと違っている独自の周辺を搭載しているのです。186の構成で、より使いやすくなるように考えて新設計したものに見えます。しかし、このことにより

IBM-PC用のソフトは186では走らない

ということになってしまいました。つまり80186は登場するや否やパソコンの主流からはちょっと外れたプロセッサになってしまったのでした。しかし、因果は巡ります。

80186を採用したのは主として組み込み系の応用

組み込みであれば、PC用のソフトを走らせる必要もなく、使いやすくて速い186は良い選択であったことでしょう。その上、組み込み系は、パソコン応用と違って

細く長く商売が続く

という市場の特性があります。お陰で、80186はSoCプロセッサ(当時はそういう言い方なかったですが)としては異例の4分の1世紀もの命脈を保ったのだと思います。しかし、186の穴にチャンスを見た人々もいます。

8086にPC互換の82xx系の周辺を集積したら売れるんじゃね。

本家のインテルでも、そして他社でも、このアイディアは出て、最初期のSoC(?)をドライブしていくことになるのです。

冥界のLSI(2) ARM250、ARM最初期のSoC へ進む