Z80:8ビットマイクロプロセッサのレジェンド
Z80は、Zilog社が開発した
8ビットマイクロプロセッサです。
1976年の登場以来、パーソナル
コンピュータや組み込み機器など、幅広い分野で活躍し、現在もIPコアとして利用されています。Intel 8080との高い互換性、豊富な周辺機器、そして拡張性の高さから、長きに渡り愛され続けている
CPUと言えるでしょう。
Z80の誕生とIntel 8080との関係
Z80は、Intel 8080の開発チームのメンバーがIntelを退社後、Zilog社で開発した
CPUです。8080とのバイナリレベルでの上位互換性を目指した設計となっており、多くの8080用ソフトウェアをそのまま動作させることが可能でした。この互換性は、Z80の普及に大きく貢献しました。
ハードウェア仕様と特徴
Z80は、8080を改良発展させた設計です。主な改良点としては、5V単一電源化、
クロック周波数の向上、メモリアドレス空間の拡大などが挙げられます。アドレス空間は64KBですが、バンク切り替え回路などを追加することで、それ以上のメモリ空間の利用も可能です。
Z80の特徴として、
8ビット汎用レジスタの2セット、インデックスレジスタIXとIY、DRAMリフレッシュ機能、拡張された割り込みモード、そして未定義命令の存在などが挙げられます。特に、割り込みモードは、8080互換モードに加え、周辺LSIとの連携が容易なモード1とモード2が追加され、柔軟な割り込み処理を実現しています。
また、Z80には「スペシャルリセット」と呼ばれる、通常のリセットとは異なるリセット方法が存在します。これは、プログラムカウンタのみをリセットし、他のレジスタは維持するという特殊な動作を行います。この機能は、マルチタスク環境などで活用できます。
Z80は、NMOS版と
CMOS版が存在します。NMOS版は低価格で高性能、
CMOS版は低消費電力という特性があります。
クロック周波数は、NMOS版では2.5MHzから8MHz、
CMOS版では6.17MHzから20MHzまでの製品がありました。
命令セットとアドレッシングモード
Z80の命令セットは、8080の上位互換となっています。8080の命令に加え、ブロック転送命令、インデックスレジスタを使用したメモリ操作命令などが追加されています。ただし、相対ジャンプの範囲が狭かったり、PC相対アドレッシングがなかったりするなど、リロケータブルなプログラムの生成には不向きな点もあります。
Z80の命令セットは、アセンブラで記述する際に、Zilog社独自のニーモニックが使用されます。これは、Intelの8080や8085のものとは異なり、より簡潔で分かりやすい記述が可能です。
レジスタとフラグレジスタ
Z80は、8080と同様のA, B, C, D, E, H, Lレジスタに加え、これらのレジスタの複製である'レジスタを備えています。また、リフレッシュカウンタとしてのRレジスタと、拡張されたフラグレジスタFも備えています。
周辺機器とI/Oポート
Z80は、Z80SIO、Z80CTC、Z80PIOなどの周辺LSIと連携することで、様々な機能拡張が可能です。また、8080と同様にI/Oポートを備えています。Z80のI/Oポートアドレス空間は
16ビットアドレスで扱うことができ、一部の機種では
VRAMなどをここに割り当てることで、メインメモリを効率的に利用する工夫がされていました。
Z80の派生機種と互換CPU
Z80は、その高い人気と汎用性から、多くのメーカーによって互換
CPUが製造されました。これらの互換
CPUは、Z80とピン互換性があり、多くの場合、ソフトウェア互換性も高いです。また、Zilog社自身も、Z80の上位互換
CPUであるZ180、Z800、Z280などを開発しました。これらの
CPUは、
クロック周波数の向上やメモリ空間の拡大、新しい命令の追加など、様々な改良が施されています。
Z80の後継機と類似アーキテクチャ
Zilog社はZ80の後継としてZ180、Z800、Z280、Z380、eZ80などを開発しました。また、Z80の設計思想を踏襲した
CPUもいくつか開発されています。ただし、これらの多くは、Z80とのバイナリ互換性はありません。
Z80の開発環境
Z80は、8080との互換性から、CP/MなどのOSや、その上で動作する各種ソフトウェアを利用することができました。B
ASIC、アセンブラ、Cコンパイラなど、様々な開発環境が整備されていました。
Z80の現在
Z80は、その長寿命と高い信頼性から、現在でも
組み込みシステムなどで広く利用されています。オリジナルチップの生産は終了しましたが、互換チップやIPコアとして供給が継続され、今後もその活躍が期待される
CPUです。