MC68008

1979年、Motorola社は究極の8 bitと呼称されるMC6809と16 bitプロセッサとしては破格の機能を持つMC68000を発表します。同年、Intel社は8086の8 bitデータバス版の8088を発表します。さて、8088は命令体系は16 bitアーキテクチャですが、ハードウェア面から見るとそれ以前の8 bitマイクロプロセッサである8085と似せてあります。さすがに量産の立ち上がり時には8088は高価ではありますが量産が行われれば安価になる見込みがありますし、それ以外の周辺回路は8085用のものを多少修正するだけで16 bit CPUのパワーを手に入れられる、トータルコストでは比較的安価なマイクロプロセッサでした。
さて、ここはMC68008の紹介をするはずの場所です。なぜ8088の紹介が先にきたかといえば、Intel社は8088のハードウェア面の特徴から、高性能8 bit CPU扱いをして、MC6809やZ80 CPUとのベンチマークテストの結果を公表して売り込んだのです。そういった比較資料は、たとえば「iAPX88ブック」に詳しく記載があります。Z80 CPUは8086アーキテクチャの2年前の8 bit CPUですし、MC6809は8088と同時代のプロセッサといえ、あくまで8 bit CPUの枠内での高性能を目指していたため、メモリ空間も64 KByteしかなく、16 bit演算も加減算くらいしか許されず、8088と比較されては不利であることは否めません。「iAPX88ブック」に含まれる『ベンチマーク・テスト・リポート Intel iAPX88 vs Motorola MC6809』では、5 MHzクロックの8088の方が2 MHzクロックのMC6809より約2倍高速であるとされています。5 MHzクロックの8088と2 MHzクロックのMC6809と比較しては不公平であると思われるかもしれませんが、バスサイクルに何クロック必要かがプロセッサアーキテクチャによって異なりまして、このクロック周波数比でほぼ同じメモリアクセススピードとなるため、それほど悪い比較ではありません。このベンチマーク・テスト・レポートは1981年に作成されています。
これではMotorola社は8 bit CPUが当時主流の中位組み込みシステムの市場をIntel社に荒らされてしまいます。もともと上位組み込み用の16 bit CPUでは、8086より少々出遅れたとはいえ、8086よりも高性能のMC68000を開発していたわけですから、8086と8088の関係をまねてMC68000の8 bitデータバス版を作成すれば、8088に充分に対抗できるはずです。そうして急遽開発され1982年に発表されたのが、このMC68008です。

MC68008
上はセラミック、下はプラスチックパッケージで、共に最高クロック周波数8 MHzのMC68008。

8 bitデータバスにしてハードウェアやチップのコストでは8 bit CPUに近づけたかったのでしょうが、急いで開発しなくてはならなかったためにMC68000そのもののコアに16 bitバスと8 bitバスの変換回路を組み込んだだけという回路構成になり、使用トランジスタ数やチップサイズはMC68000よりも増えています。しかし、MC68000では16 MByteのメモリ空間を1 MByteに縮小してアドレス端子を20本に切り詰めたり、割り込みが7レベル可能だったのを3レベルに限定するなどして(それぞれMC68000内部コアの端子を単にパッケージの端子に引き出すのを止めたり、割り込み入力のIPL0*とIPL2*を同じ端子にボンディングしているだけ)、MC68000の64ピンパッケージを48ピンパッケージにすることによって、パッケージのコストを下げています。使用する際には小型のパッケージになるということはプリント基板の面積も小さくなりますから、プリント基板のコストも下がります。命令実行サイクルとメモリアクセスサイクルをオーバーラップして命令をプリフェッチしているため、同クロック周波数のMC68000より3割ほど低速になるだけですみます。もちろん中身は同じですから、プログラミングはMC68000と変わりません。MC68000では命令を奇数アドレスからフェッチしようとするとアドレスエラー例外が発生しましたが、MC68008でももちろん同じアドレスエラー例外が発生します。本来8 bitバスで偶数アドレスから命令フェッチしようが奇数アドレスから命令フェッチしようが効率には影響を与えないMC68008では、アドレスエラー例外の意味もないような気もしますけど、中身はMC68000ですから。
とにかく、MC68008は8 bitマイクロプロセッサでは荷が重いけれども16 bitマイクロプロセッサではコストがかかりすぎる用途に使われていました。ただ、シングルチップマイクロコンピュータの高性能化などにより、MC68008のカバーする応用領域にもローコストシングルチップが使われるようになると、市場から駆逐される運命にありました。データバスが8 bit幅になっているとはいえ、バスタイミング制御がMC68000と共通で、周辺LSI以外の汎用のI/Oやメモリを接続する際に、多少の外付け回路がよけいに必要になりますから。もともとMC68000のバス制御は、どちらかといえば大規模なシステムで信頼性を高められるように高級でいささか複雑になっていました。ま、DTACK*発生回路のために1 - 2個のICを加える必要があるだけという考え方もできますけどね。

Return to IC Collection.