Z80 で機械語を学ぶ

1976年発表、2024年4月生産終了
Zilog Z80A
Zilog Z80A
Z80 は、インテル 8080 の上位互換チップとして、ザイログが開発・製造した8ビットCPUである。1976年(昭和51年)に発表された。
8080と比べると電源が5Vに単一化されたことや、DRAMの使用を前提としたリフレッシュ機能が組み込まれており、回路が単純化できたことから、1980年代に入ると多くのパソコンに搭載された。

目次

Zilog Z84C0020
Zilog Z84C0020
8080 に比べて高クロックへの対応が図られており、無印の Z80 は2.5MHz、多くの国産パソコンに搭載された Z80A は4MHz、1985年(昭和60年)に登場したシャープ MZ-2500 シリーズは Z80B の6MHz、Z80EZ80H は8MHzとなっている。さらにCMOS版では、Z84C0020 が最大20MHzで動作する。
Z80のダイ
Z80のダイ
レジスタは、アキュムレータAとフラグF、汎用レジスタがB, C, D, E, H, Lの6本がある。汎用レジスタは組み合わせて BC,DE, HLの16ビット・レジスタとして使うこともできた。ここまでは 8080 と同じだが、これらのレジスタと全く同じ構成の裏レジスタ が用意され、処理の高速化に貢献した。
プログラムカウンタPC、スタックポインタSP、インデックスレジスタIX, IYは、それぞれ16ビットである。
リフレッシュカウンタRと、割り込みベクタIは8ビットである。
Z80のレジスタ
Z80のレジスタ
8ビットCPUではあるものの、8080 同様、16ビットの加減算命令を備えている。符号付き整数なら、-32,768~+32,767の範囲の整数の足し算と引き算ができる。ただし、乗除算命令がなく、これらはタイガー計算機のように加減算の繰り返しで行うプログラムを用意する必要がある。また、浮動小数点演算機能もなく、これらもプログラムで用意することになる。
ゲームプログラムでは、画面サイズの範囲内でキャラクターを動かすことから、使用する数値の範囲を限定することができた。そこで、タイガー計算機よりさらに古い数表を真似て、固定小数による三角関数表などを用意し、計算せずに処理を行ったものである。

Z80 で追加されたブロック転送命令は、ゲーム画面を切り替えるようなとき、メモリ上にある長いデータを転送するのに便利である。たとえば1Kバイトをブロック転送命令で転送すると、前処理を含めて23,580クロックかかるが、プログラムサイズは11バイトと短くて済む。
一方、ループ命令で同じプログラムを書くと、19,840クロックと約16%高速化できるが、プログラムサイズは28バイトと2.5倍の大きさになる。
このように、Z80では、プログラムの書き方によって、プログラムサイズと処理時間がバーターになるケースがいくつかあり、目的に応じて使い分けをした。

Z80の開発

フェデリコ・ファジン
フェデリコ・ファジン
インテルで、電卓用CPU 40048080 を設計したフェデリコ・ファジンは、8080 の設計が終わると、モトローラの 6800 に対抗するCPUの設計を上層部に提案した。しかし、インテルはメモリの売上に支えられていたため、80806800 が共に売れた方が都合が良かった。
ファジンラルフ・アンガーマン とともにインテルを退職し、1975年(昭和50年)5月、エクソンから40万ドルの出資を受け、ザイログを設立した。
Z80 ピン配置
Z80 ピン配置
その後、インテルを退職した嶋正利が合流し、Z80 の設計は順調に進んだ。
ザイログは自社で半導体生産できる設備を持っていなかったので、当初、シナーテックに委託製造させようとした。しかし、条件面で折り合わず、モステックに委託することになった。これが功を奏し、Z80 は順調に生産され、1976年(昭和51年)7月に発売。1年後にはクロック数が4MHzと2倍になった。
Z80 の販売が始まると、エクソンは500万ドルの追加投資を行い、1976年(昭和51年)、ザイログはカリフォルニア州クパチーノに半導体工場を建設する。その1年後、すぐ近くにアップルの工場が建設される。
1977年(昭和52年)、ファミリーチップZ80 DMA、PIO、CTCの生産が始まり、やや遅れてSIOの生産が始まった。

Z80とTRS-80

Z80と他の8ビットCPUの出荷数
Z80と他の8ビットCPUの出荷数
アルテア8800
アルテア8800
Z80 はハード/ソフトの両面において 8080 を上回っており、とくにSIOは当時の半導体チップにしては抜きん出た機能を備えていた。しかし、1977年(昭和52年)の売上個数は18万個で 8080 の2割以下だった。売上個数で 80806502 を超えたのは1980年(昭和55年)になってからだ。
Apple II
Apple II
1974年(昭和49年)に発売された世界初のパソコン「アルテア8800」は、少なからず 8080 の売上に貢献していた。
1976年(昭和51年)後半、アルテア8800 用のZ80 CPUボードが発売されるが、アルテア本体が8080に依存した設計であったことから、Z80の能力の半分も引き出せなかった。
一方、アップルは1976年(昭和51年)7月、6502 を使ったコンピュータ・キット Apple I を発売し、翌1977年(昭和52年)には完動品の Apple II が発売される。これがヒットし、6502 の売上を伸ばす。
PET 2001
PET 2001
同じ頃、コモドールが発売開始したパソコン PET 20016502 を採用していた。1983年(昭和58年)に発売された ファミリーコンピュータ6502 のカスタムチップを、1987年(昭和62年)に発売されたPCエンジンは、ハドソンが開発した高クロック版 HuC6280 を搭載した。
TRS-80
TRS-80
1977年(昭和52年)11月、タンディはクリスマス商戦に向け、Z80 を搭載した初のパソコン TRS-80を投入する。キーボードやモニタを付けて600ドルと、Apple II の3分の1の価格に抑え、系列の家電販売店ラジオシャックで実演販売することで、大成功を収める。
浮動小数演算可能なBASICや、グラフィック描画機能を搭載していた。
MZ-80K
MZ-80K
1979年(昭和54年)に入ると、世界各国で Z80 を搭載したパソコンの販売が始まり、出荷数が急速に延びる。国内では、1978年(昭和53年)12月に発売された SHARP MZ-80K(Z80 2MHz)を皮切りに、1979年(昭和54年)5月にNEC PC-8001(Z80互換 4MHz)が発売された。
日立ベーシックマスター
日立ベーシックマスター
これらより早く1978年(昭和53年)9月に発売された日立ベーシックマスターは 6800 互換CPUを搭載し、少し遅れて1981年(昭和56年)5月に発売された富士通 FM-86809 を2個搭載した。
SONY HIT BIT HB-75
SONY HIT BIT HB-75
1983年(昭和58年)6月、米マイクロソフトとアスキーが MSX 規格を発表する。1990年代初頭に発表されたMSX turboRまで、CPUとして Z80 を搭載。500万台生産されたMSXパソコンの半分は海外に輸出され、Z80 の認知度を高めた。

Z80とゲーム機

ギャラクシアン
ギャラクシアン
1978年(昭和53年)8月に稼動を開始し社会現象にもなったタイトー「スペースインベーダー」は、CPUに Intel 8080 を搭載していた。
これに対抗してナムコが1979年(昭和54年)10月に稼動開始した「ギャラクシアン」は Z80 を搭載し、スペースインベーダーでは敵の数が多いと動きが遅くなるという〈特性〉をクリアし、キャラクターをスプライト表示できる回路を実装した。
SG-1000
SG-1000
その後、家庭用ゲーム機にも Z80 が搭載されるようになる。
任天堂ファミリーコンピュータと同時期の1983年(昭和58年)7月に発売したセガ SG-1000[は、Z80Aを搭載する同社のゲームパソコン SC-3000をゲームに特化させ、同社の家庭用ゲーム機第1号となった。1985年(昭和60年)10月に発売した後継機セガ・マークIIIも Z80Aを搭載する。
ゲームボーイ
ゲームボーイ
1989年(平成元年)4月任天堂が発売した携帯型ゲーム機「ゲームボーイ」は、Z80の機能を一部省略したカスタムCPUが搭載されており、Z80のライセンス製造を行っていたシャープが開発・製造した。2001年(平成13年)3月に発売された後継機「ゲームボーイアドバンス」にも、サブCPUとしてZ80カスタムCPUが搭載された。
パチンコの主基板
パチンコの主基板
パチンコ/パチスロといった遊技機のメイン基板に Z80 が搭載されている。
液晶表示やギミックは派手になっていく一方の遊技機だが、これらはサブ基板で制御しており、当たり判定を行っているメイン基板は「遊技機の認定及び型式の検定等に関する規則」によってサブ基板からの干渉を一切受けないことを求められている。
しかも、保安通信協会(保通協)が検査できないというだけの理由で、2023年(令和5年)4月現在も Z80のプログラムしか認められていない。上の写真でシールが貼られているのが Z80 で、このシールが認定を受けていることを示す封緘になっている。
同規則ではプログラムの容量制限も定められているので、開発は当然のごとくZ80アセンブリだ。COBOLとともに老練なプログラマが求められる業界である。

Z80とCP/M

CP/M
CP/M
1976年(昭和51年)、デジタルリサーチは 8080 用OS「CP/M」を発売する。
CP/Mがパソコンの共通基盤となったことから、BASICをはじめとするプログラミング言語はもちろん、ワープロソフト WordStar、表計算ソフト SuperCalc、データベースソフト dBASE II などが登場し、パソコンがビジネス業務にも利用できることを証明した。ついには、Apple II 用のZ80カードも登場した。
CP/M用FORTRAN
CP/M用FORTRAN
CP/Mには 8080 用アセンブラ ASM が標準搭載されており、それまでミニコンでクロス開発していたソフトをセルフ開発できるようになった。このことが Z80 の販売数アップに繋がり、パソコンが普及するきっかけになった。
デジタルリサーチは、PL/I、BASICコンパイラ、Pascalコンパイラなどを発売し、ソフト開発をサポートした。創業間もないマイクロソフトも、M-BASIC(インタプリタ、コンパイラ)に加え、Z80 のアセンブルを可能とするマクロアセンブラ MACRO-80 を発売した。
Small-C
Small-C
国内では、ライフボードが安価な言語パッケージを販売し、FORTRAN、COBOL、LISP、LOGO、Prolog、BDS-C、Pascal、Forthが揃った。LSIジャパンのLSI-C80や、オープンソースのSmall-Cも加わり、プログラミング学習に大いに役だった。
とくに Small-C は、MACRO-80を使って日本語処理用のライブラリを開発したことで、その後の仕事に役立つことになる。

Z80とDRAM

SHARP X1 turbo
SHARP X1 turbo
Z80 のファミリーチップ、とくに Z80 DMA は高価だった。Z80 CPU・CTC・DMA・SIOが揃って搭載されたパソコンは、1984年(昭和59年)10月に発売された SHARP X1 turbo が初めてだった。

Z808080 と異なり、DRAM のためのリフレッシュ信号を備えていた。DRAMSRAM に比べて安価に製造できることから、パソコンの主記憶に採用され、このことが Z80 の出荷数増加に繋がった。
Intel 1103
Intel 1103
DRAM はIBMが発明し、1970年(昭和45年)、インテルが発売した1KビットDRAM 1103 が広く使われるようになった。以後、4KビットはTI社が、16Kビットではモステックがトップサプライヤーとなった。DRAM は3年ごとに記憶容量が4倍になり、ムーアの法則を体現していた。
NEC μPD411 (4Kビット)
NEC μPD411 (4Kビット)
1970年代には、日本が国策として DRAM 製造に力を入れ、64Kビットでは日立製作所、256KビットではNEC、1Mビットでは東芝がトップサプライヤーとなった。日本企業のシェアは1986年(昭和61年)には80%に達したが、バブル景気の崩壊とともに急速にシェアを失うことになる。

Z80と組み込み機器

1980年代後半から、組み込み機器――計測機器、POSレジ、ネットワークカメラなど――にも Z80 が搭載されるようになった。

生産終了

Zilog Z84C0020
Zilog Z84C0020
2024年(令和6年)4月15日、Zilogは現行のZ80である「Z84C00」シリーズの全ての製品(13種類)を生産終了すると通知した
2001年(平成13年)に発売開始した後継の8ビットCPU eZ80 の生産は続けるとしており、また、サードパーティ製品としてZ80互換CPUは流通しているので、市場が混乱することはないだろうが、クラシカルな純正の40ピンDIPパッケージの Z80 が見られなくなるのは寂しい限りだ。

主要スペック

項目 仕様
メーカー Zilog
発表 1976年
トランジスタ数 8,200
データバス 8ビット
アドレスバス 16ビット
物理メモリ 64KB
CPUクロック 2.5~20MHz
パッケージ 40ピンDIP
最大消費電力 0.8W

参考書籍

表紙 ザイログZ80伝説
著者 鈴木哲哉
出版社 ラトルズ
サイズ 単行本
発売日 2020年08月24日頃
価格 2,398円(税込)
ISBN 9784899774815
約半世紀に渡ってマニアを魅了し続けるZ80の、あの話とかこの話とか。
 

CPUの歴史

発表年 メーカー CPU名 ビット数 最大クロック
1971年インテル40044bit750KHz
1974年インテル80808bit3.125MHz
1975年モステクノロジーMOS 65028bit3MHz
1976年ザイログZ808bit20MHz
1978年インテル808616bit10MHz
1979年モトローラMC68098bit2MHz
1979年ザイログZ800016bit10MHz
1980年モトローラMC6800016bit20MHz
1984年インテル8028616bit12MHz
1985年インテル8038632bit40MHz
1985年サン・マイクロシステムズSPARC32bit150MHz
1986年MIPSR200032bit15MHz
1987年ザイログZ28016bit12MHz
1987年モトローラMC6803032bit50MHz
1989年インテル8048632bit100MHz
1991年MIPSR400064bit200MHz
1990年モトローラMC6804032bit40MHz
1993年インテルPentium32bit300MHz
1994年IBM, モトローラPowerPC 60332bit300MHz
1995年サイリックスCyrix Cx5x8632bit133MHz
1995年AMDAm5x8632bit160MHz
1995年サン・マイクロシステムズUltraSPARC64bit200MHz
1999年IBM, モトローラPowerPC G432bit1.67GHz
1999年AMDAthlon32bit2.33GHz
2000年インテルPentium 432bit3.8GHz
2001年インテルItanium64bit800MHz
2003年AMDOpteron64bit3.5GHz
2003年インテルPentium M32bit2.26GHz
2006年SCE,ソニー,IBM,東芝Cell64bit3.2GHz
2006年インテルCore Duo32bit2.33GHz
2006年インテルCore 2 Duo64bit3.33GHz
2008年インテルCore i9/i7/i5/i364bit5.8GHz
2017年AMDRyzen64bit5.7GHz
2020年AppleM1/M264bit3.49GHz

参考サイト

(この項おわり)
header