TMPZ84C011

Z80は実に広く使われたマイクロプロセッサファミリです。誕生から20年以上経過した今でもZ80の命令を使ってプログラムを開発している人たちがいます。とはいえ、ハードウェア的には1970年代の水準で開発されたものですから、Z80の10倍以上ものトランジスタを集積した16 bit CPUが広く使われる1980年代半ばには、かなり不満が生じていました。不満といっても特に高性能が必要なら16 bit CPUを採用した方が有利ですから、改善要求は小さく安く低消費電力ってことです。この問題を解決するには、できるだけ多くの周辺回路まで単一のLSIにまとめあげることが必要です。
もちろん最新プロセスで製作した結果、ついでに高速化が実現できればそれに越したことはありません。ただ、高速化が単純な高クロック周波数で動作ということなら、当時はまだ特殊で高価な高速ROMなどを使わないといけないわけで、事実上無駄になってしまいます。このへんは、当時の16 bit CPUや32 bit CPUが複雑な命令セットを指向した理由でもあります。単純な命令を高速実行して高性能化しても、充分な高速メモリを用意するとシステム価格が高くなりすぎます。わずかな命令列で複雑な演算を実行できれば命令フェッチのためのメモリアクセス回数が減って、その分だけ内部演算処理に時間がとられるため、アクセス時にウエイトが入るような遅くて少量のメモリでも速度を稼げるのですから。
ま、仮にそのころ8 MHzクロックが最高だったZ80 CPUが10 MHzとか12.5 MHzとか16 MHzで動作するように改良されたとしても、当時は100 nsを切るアクセスタイムのROMというのはバイポーラの小容量の製品しか手に入りませんでしたから、使えないのは確かです。それよりは、シングルチップコンピュータよりは複雑なことができるけど、サイズやコスト的にはできるだけシングルチップ的な程度に小さく納めたマイクロプロセッサの需要がありました。複雑なことをしたいので、その分のハードウェアサポートも欲しいし、ソフトウェアもサイズが大きくなってくるでしょう。ハードウェア規模を小さくしてシングルチップに納めるために簡略化されたりクセのある命令セットになっていた8048やMC6805系列みたいなものよりは、開発環境もいろいろと用意されていて高級言語サポートもあったZ80 CPUの命令セットが使えたらなぁ、ってことですね。
当時としては4 KByte以上のプログラム容量になってしまうとシングルチップマイクロコンピュータの内蔵ROMでは不足してしまいますから、汎用プロセッサにI/Oポートがある程度集積されているチップと、シングルチップマイクロコンピュータを比べても、回路上の複雑さでは同程度になって、ソフトウェアの開発のしやすさの分だけ汎用プロセッサにI/Oが集積されたものの方が有利になります。

そういう需要を受けて、シャープや東芝からZ80 CPUと周辺LSIを1パッケージにまとめたLSIが販売されましたし、両社ともZ80 CPUや周辺LSIをひとつのLSIにまとめる際に顧客の特注回路まで集積してカスタム化する注文を受け付けるようなサービスもしていました。

そんな中、1984年になって意外なメーカーから意外な製品が発表されました。日立のHD64180シリーズです。これについては日立の項目で説明します。

東芝からはZ80 CPUにZ80 PIOやZ80 SIOやZ80 CTCなどをいくつか集積したタイプの組み込み用プロセッサが発表されました。CMOS Z80 ASSPマイクロプロセッサファミリです。表面実装用の多ピンパッケージにそれなりの規模の周辺LSIを集積していて、メモリを外付けするだけである程度の組み込みに使えます。ただし内蔵されているZ80 CPU自身には改良がまったくなく、単体のマイクロプロセッサと同じ機能となっています。その分、I/Oの拡張に力を入れたというところでしょうか。

TMPZ84C011
TMPZ84C011BF-6で 、100ピンQFPに納められた6 MHzクロック動作のもの。

TMPZ84C011のCPUコアはTMPZ84C00、つまりCMOS版のZ80 CPUとまったく同じで、さらにクロックジェネレータと完全なCTCの1個分が内蔵され、内部でCPUのバスに結線されています。CTCのI/O端子はそのままTMPZ84C011の端子に接続されていますし、割り込み優先順位決定ののディジーチェーン端子も外部に引き出してあります。
パラレルポートに関しては8 bitポートがA, B, C, D, Eの5回路分、40本を内蔵しています。ただしPIOとはまったく異なり、ビットごとに入出力方向を決定できる単なるI/Oポートです。割り込み機能やハンドシェーク機能はありません。普通の組み込み用途ではかえってPIOを2個分内蔵するより使いやすいかもしれませんね。単純なI/Oの方が多用されるでしょうから。パラレルI/Oに伴ってベクタ割り込みが1, 2本必要なら、CTCのいくつかのチャンネルを割り込みコントローラとして使用できます。つまり、カウンタの初期値に1を設定して割り込みを許可して、CLK/TRG端子をベクタ割り込み信号として利用します。
このほか、インサーキットエミュレータを接続できるように、内蔵のCPU部分を切り離す機能もあります。

このTMPZ84C011は動作時の消費電流が15 mA程度と低消費電力で、これも組み込みには便利でした。いや、電源のコストやら電池動作の可能性なんていうのより、プロセッサ自体がほとんど発熱しないので、完全に密閉しても熱的なトラブルの可能性がないのがありがたくて。
 

Return to IC Collection