概要
嶋正利らインテルを退社した8080の開発スタッフが設計を行い1976年に発表したマイクロプロセッサ。インテル8080とはバイナリレベルで上位互換性がある。
ザイログオリジナルのものはクロック周波数が2.5MHzであったが、セカンドソース品や派生品ではクロック周波数が20MHzのものまである。
発売当初は高速な8080として1970年代末から1980年代にかけてパソコンにこぞって採用された。また、初期のゲーム機などにも採用され、これらの用途から退いた後は21世紀にいたるまで組み込み用として応用され続けている。現在はLSIのチップとしてではなくプログラマブルロジック用のIPコア(機能を実現するためにプログラマブルロジックLSIや特定機能LSIに配置するデータ)として活用されている。
Z80は「ぜっぱち」という略称で親しまれているが、ザイログにはZ8というマイクロコントローラもあるため、場合によってはどちらの「ぜっぱち」なのか注意が必要な場合がある。
2024年4月にザイログ社はZ80の生産を終了している。
仕様
インテル8080の上位互換として作られているほか電源の5V単一化、より高いクロック周波数への対応(下表を参考)、DRAMリフレッシュ機能の内蔵と専用レジスタ追加、インデックスレジスタを使用したメモリ操作の増強、割り込みモード追加、結線論理による命令実行などが含まれている。ちなみに、8080同様乗算・除算命令はサポートしていない。また周辺機能ICとしてZ80SIO(シリアルI/O)、Z80CTC(カウンタ/タイマー)、Z80PIO(パラレルI/O)、Z80DMA(ダイレクトメモリアクセスコントローラ(※1))でZ80ファミリーを構成する。互換品ではこれらをワンチップ化したものもある。
※1・・・ダイレクトメモリアクセス(DMA)とはメモリ⇔メモリ間、メモリ⇔I/O間の直接転送を行い、処理を高速に行う方法。
Z80のクロック周波数
名称 | クロック周波数 |
---|---|
Z80 | 2.5MHz |
Z80A | 4MHz |
Z80B | 6MHz |
Z80E | 8MHz |
Z80H | 8MHz |
Z80特殊用途品
軍事用途品
ミサイルによっては、制御コンピュータとして使っているものもある。一般向けと異なり保証稼働時間が短い代わりにクロック周波数が40MHzもある。この手の用途では設計上の不具合が絶対に許されない用途なので枯れた技術を使う傾向にある。
μPD70008 IP(NEC)
パチンコ台の主制御プロセッサ用IPコア。不正防止のため暗号機能が付与されており、CPUコア⇔メモリ間の信号を暗号化し、配線にプローブを当ててプログラムやデータを読み取ろうとしてもできない様にしてある。
他社によるZ80上位互換品(社名は発表当時のもの)
HD64180(日立製作所)
周辺デバイス対応は68系用の同期バスサイクルのもの(HD64180)と、Z80周辺用の非同期バスサイクルのもの(HD64180Z)がある。
- アドレス空間を512kByte~1MBに拡張
- 高速化したZ80互換命令を集積
- メモリ管理ユニットを集積
- 乗除算命令追加
R800(アスキー)
MSXturboR用CPU
- 内部16ビット動作による高速化
- 乗除算命令追加(※2)
- 8ビットのインデックスレジスタ命令を正式サポート(※3)
- メモリ管理ユニットを集積(※4)
- ダイレクトメモリアクセスを集積(※4)
- メモリコントローラモードをサポート(※5)
μPD9002(NEC)
NECホームエレクトロニクスの特注品。
- V30(※6)モードとZ80互換動作モードを持つ。
KC80(川崎製鉄)
- 全体的な高速化
- 乗除算命令追加
- メモリ管理ユニットを集積(上位機種)
2009年7月1日をもって生産終了
TMPZ84Cxxxシリーズ(東芝)
CMOS版Z80CPUに周辺機能をワンチップ化したもの。
型番と集積機能(汎用品以外は割愛)
TMPZ84C015(ザイログZ84C15同等品(ピン配置は異なる))
- Z80CTC
- Z80PIO
- Z80SIO
- CGC(クロックゼネレータコントローラ(※7))
- ウォッチドッグタイマー(※8)
現在は生産終了している。
TMPZ84C810
- Z80CTC
- Z80SIO
- パラレルI/O
- ダイレクトメモリアクセス
- メモリ管理ユニット(※9)
- DRAMリフレッシュコントローラー(※10)
- ウォッチドッグタイマー
※2・・・不具合があり特定のレジスタの組み合わせで計算結果が不正になるので実質的に使えるレジスタが限られていた。
※3・・・本家であるザイログZ80では実装されて実行も可能だったが正式に命令として発表されていなかった。正式発表されたのはZ280が発表されてから。
※4・・・MSXの仕様とは異なるためこれらの機能は使用されなかった。
※5・・・R800のCPUを停止してメモリコントローラとして動作する動作モードを実装していた。
※6・・・NECが開発したインテル8086上位互換CPU。命令は8086の上位互換機である80186との互換性があり、時間のかかる命令の高速化が施された。それから、マイクロコードをめぐってインテルと訴訟沙汰にもなった。
※7・・・停止モード時のクロック制御、クロックの外部出入力制御を司る機能。
※8・・・CPUの暴走時に自動的にCPUにリセットをかけるためのタイマー。正常動作時は一定時間が来る前にこのタイマーをプログラム側からリセットする。暴走するとウォッチドッグタイマーのリセットができずに一定時間経過するためCPUへ自動的にリセットがかかる
※9・・・当時はバンク切り替えによるメモリ空間拡張が主な役目。現在のメモリ管理ユニットは仮想記憶管理やメモリ保護、キャッシュ制御、バス調停といった高度なことを行う装置。
※10・・・DRAMの情報を維持するための制御装置。
ザイログから出た後継機
Z180
日立製作所のHD64180Zセカンドソース機。
Z800
- 16ビット化
- 周辺機能のワンチップ化
- 乗除算命令のサポート
- 16ビットデータ命令の増強
- プログラムカウンタ相対アドレス指定モード追加
- スタックポインタ相対アドレス指定モード追加
- システム動作モードの追加
- メモリ管理ユニットの追加
- RAM内蔵(256kByte)
- データバスをZ80互換のZ80-BUS(8ビット)と拡張したZ-BUS(16ビット)を用意。
- メモリ空間を最大16MBまでサポート(512kByteと16MBが選べる)
Z280
- Z800のCMOS化
- Z8216(Z800のZ-BUS、16MBアドレスサポート版)の機能引き継ぎ
- 起動時設定によるZ800の下位グレード仕様(Z8108,Z8116,Z8208)対応。
Z380
- 32ビット化
- メモリ空間最大4GBまでサポート
- DRAMリフレッシュコントローラ追加
- 割込み追加
eZ80
- 24ビット化
- 命令のパイプライン化⇒同一クロックで約4倍速の動作可能
- 最大クロックを50MHzまで高速化
- メモリ空間最大16MBまでサポート
- メモリ内蔵品追加(フラッシュメモリ、SRAM)
- Z80互換モード、Z180互換モード、仮想Z80モード対応