Microprocessors, Part 2 Codexery

Zilog Z800

A 16-bit Z80-compatible microprocessor with on-chip cache and MMU.

Zilog Z800

The Zilog Z800 was a 16-bit microprocessor Zilog designed for a 1985 release. Its main feature was instruction compatibility with the Z80, but it added an on-chip cache and a memory management unit (MMU) to support a 16 MB address range. It also introduced many new, more orthogonal instructions and addressing modes. Zilog largely overlooked the Z800 in favor of its 32-bit Z80000, and the Z800 never entered mass production. After over five years, the project was renamed the Z280 in 1986. The Z280, an actual product, shipped in 1987 with nearly the same design but built in CMOS.

The Z800 differed from Zilog’s first 16-bit effort, the Z8000, because the Z800 was designed for Z80 compatibility, whereas the Z8000 was only Z80-like and offered no direct compatibility. Zilog aimed to fix the Z8000’s lack of Z80 compatibility with the Z800, promising Z80 binary compatibility and an eightfold performance increase, mirroring National Semiconductor’s plans to emulate the Intel 8080 in some of its 32000 series processors.

The register set was not expanded, but registers and instructions were significantly orthogonalized to make them more general-purpose and powerful. Many new 8-bit and 16-bit operations were added. The HL, IX, and IY registers, which had limited accumulator roles in the Z80, were upgraded to more versatile accumulators. Besides the register operands available in the Z80, they could work with immediate data, direct address, register indirect, or indexed operands, even program counter-relative. Eight-bit operations gained even more options, including stack pointer-relative addressing and a choice of 8-bit or 16-bit immediate offsets.

The address bus expanded to 24 bits for 16 MB of memory. The chip came in two versions: one with a 19-bit external bus for 512 kB RAM, and another with a full 24-bit bus for 16 MB RAM. The smaller bus allowed a smaller 40-pin package. Like the Z80, the Z800 kept an internal DRAM controller and clock, but added 256 bytes of RAM usable as scratchpad RAM or as a cache. In cache mode, the programmer could configure it as a data cache, an instruction cache, or both, and the internal memory controller used it to reduce access to slower external memory.

Ambitious provisions were made for multiprocessing and for loosely or tightly coupled slave processors, with or without shared global memory.

Manufacturer
Zilog
Year intended
1985
Data bus width
16-bit (optional)
Address bus width
24-bit (or 19-bit for 512 kB RAM)
Maximum addressable memory
16 MB
On-chip cache
256 bytes (configurable as data, instruction, or both)
Compatibility
Z80 binary compatible

Lore & Background

The Z800 was Zilog's effort to rectify the lack of Z80 compatibility exhibited by their earlier 16-bit processor, the Z8000. It was designed to offer Z80 binary compatibility with an eightfold performance increase, mirroring plans by National Semiconductor to incorporate emulation of the Intel 8080 in certain products of its own 32000 series. The Z800 added a huge number of new orthogonal instructions and addressing modes, and the HL, IX, and IY registers were upgraded to more versatile accumulators. Eight-bit operations gained stack pointer-relative addressing and a choice of 8-bit or 16-bit immediate offsets.

The chip was offered in four versions, combining either a 19-bit external bus for 512 kB RAM or a full 24-bit bus for 16 MB RAM, with or without an optional 16-bit data bus. It retained the internal DRAM controller and clock of the Z80, and added 256 bytes of RAM usable as scratchpad or cache. The Z800 also included provisions for multiprocessing and extended processing units (EPU) for loosely or tightly coupled slave processors.

Zilog essentially ignored the Z800 in favor of their 32-bit Z80000, and the Z800 never entered mass production. After more than five years, the effort was redubbed the Z280 in 1986, and an actual product, the Z280, shipped in 1987 with almost the same design but implemented in CMOS.

Reader's Guide

The Z800's significance lies in its ambitious attempt to extend the Z80 architecture into a 16-bit minicomputer-inspired design while maintaining full binary compatibility. It introduced features such as on-chip cache, a memory management unit, and a 24-bit address bus that were advanced for its time. However, the chip was complicated to program and interface to, partly because its address and data buses were multiplexed. Calculation of exact execution times was much harder than for the Z80, and the plain Z80 remained good enough for most applications, making the extra computing power not worth the added complexity in many cases. Bad marketing also hurt the product. In contrast, Hitachi's less ambitious HD64180, a Z80 derivative that was almost as simple to program and interface to as the original Z80, achieved great success. Zilog's later Z80 derivatives include the successful Z180 and Z182, the commercially disappointing 32-bit Z380, and the commercially successful 24-bit eZ80, which extended registers to 24 bits and added a pipelined execution unit without introducing many new instructions.

Did You Know?

Architectural Ambition and Design Philosophy

The Z800 represented Zilog's most aggressive attempt to evolve the beloved Z80 into a far more capable 16-bit processor while preserving binary compatibility with the original. Rather than merely widening the data path, the design team undertook a sweeping orthogonalization of the instruction set and register usage. The HL, IX, and IY registers, which on the Z80 served as relatively limited accumulators, were transformed into far more versatile operands capable of working with immediate data, direct addresses, register-indirect references, indexed operands, and even program-counter-relative addressing. Eight-bit operations gained additional flexibility through stack-pointer-relative addressing and selectable 8-bit or 16-bit immediate offsets. The address bus was stretched to 24 bits, opening a 16 MB memory window, and an on-chip 256-byte RAM block could be configured as a data cache, an instruction cache, or both, reducing costly external memory accesses. The chip was offered in four variants, combining a 19-bit or 24-bit external address bus with an optional 16-bit data path that doubled memory bandwidth.

A Strategic Correction — Z800 vs. Z8000

Zilog's first foray into 16-bit processing, the Z8000, had been only loosely Z80-like and offered no direct binary compatibility with the existing Z80 codebase. The Z800 was conceived explicitly to remedy that shortcoming. Its instruction set was fully compatible with the Z80, meaning existing programs could run unmodified, while the new architecture promised roughly an eightfold speed gain over its predecessor. This strategy mirrored a parallel move by National Semiconductor, which planned to embed Intel 8080 emulation within its own 32000-series microprocessors, recognizing that backward compatibility was a critical selling point for developers already invested in a particular ecosystem. The Z800 also went further than the Z8000 by incorporating a memory management unit to unlock a 16 MB address space and by introducing an extended processing architecture that envisioned loosely or tightly coupled slave processors, with or without shared global memory. In essence, Zilog was attempting to build a minicomputer-class super Z80 that could execute both legacy and larger programs at substantially higher speeds, all while keeping the familiar Z80 instruction set as its foundation.

Complexity, Market Reality, and the Z280 Rebirth

Despite its impressive feature set, the Z800 ran into a fundamental market problem: the plain Z80 was simply adequate for most applications of the mid-1980s. The multiplexed address and data buses made board design and interfacing noticeably more complicated, and calculating exact instruction execution times was far harder than with the original Z80. For many embedded and consumer applications, the extra horsepower did not justify the added engineering overhead. Poor marketing compounded the technical challenges, and Zilog ultimately shelved the Z800 in favor of its 32-bit Z80000. The product never entered mass production under its original name. Five years after its initial introduction, the effort was resurrected and rebranded as the Z280 in 1986. The Z280, which shipped in 1987, retained almost the same architectural design but was reimplemented in CMOS technology, offering lower power consumption. Meanwhile, Hitachi had already demonstrated a different path to success with the HD64180, a less ambitious Z80 derivative that achieved widespread adoption largely because it remained nearly as straightforward to program and interface as the original Z80.

Lessons for Later Z80 Derivatives

The Z800's experience left a lasting imprint on how Zilog and its partners approached subsequent Z80 extensions. The Z180, developed largely by Hitachi, and the Z182 both found commercial footing, but the 32-bit Z380, introduced in 1994, became a commercial disappointment outside a narrow set of telecom applications. The most instructive contrast, however, is the eZ80, launched in 2001. Where the Z800, Z280, and Z380 all introduced large numbers of new instructions and addressing modes, the eZ80 took a deliberately restrained approach: it primarily widened the Z80's 16-bit registers to 24 bits, thereby extending the reachable memory space by a factor of 256, and added a fully pipelined execution unit that ran Z80 opcodes at roughly four times the original speed. It did not flood the programmer with unfamiliar addressing schemes. This philosophy—extending the existing architecture's reach without overwhelming it—proved both commercially successful and award-winning, suggesting that the Z800's failure was less about the Z80 architecture itself and more about the sheer volume of new complexity it layered on top.

More in Microprocessors, Part 2 1-24

Spotted an error? Know more?

Reader corrections go straight into our review queue. Suggest an edit · How this site is sourced

Comments

Loading…
Open in the interactive codex →