Lo Zilog Z800 era un microprocessore a 16 bit disegnato da Zilog come evoluzione del suo più famoso Z80, con cui era compatibile a livello di istruzioni ma rispetto al quale risultava essere molto più performante[1]. Si differenziava dallo Z80 principalmente per la presenza sul chip di una cache da 256 byte e di una unità di gestione della memoria con uno spazio di indirizzi di 16 MB; presentava inoltre un notevole numero di istruzioni aggiuntive e nuove modalità di indirizzamento. Nonostante ne fosse stato previsto il debutto per il 1985, ZiLOG in pratica ignorò lo Z800 non iniziandone neanche la commercializzazione[1] e concentrandosi invece sullo Z80000, un'evoluzione dello Z80 con architettura a 32 bit. Nel 1987 Zilog riutilizzò l'architettura già sviluppata e presentò lo Z280: questo era in pratica uno Z800 realizzato in tecnologia CMOS.
I registri di sistema HL, IX e IY erano stati rivisti: rispetto alle limitate funzioni di accumulatori che avevano sullo Z80 adesso erano registri molto più versatili ed adatti ad un uso più generico. Il set di istruzioni era stato ampliato aggiungendo circa 2.000 nuove istruzioni sia ad 8 che a 16 bit [2].
Lo spazio di indirizzi era stato espanso a 24 bit potendo così indirizzare fino a 16 MB di memoria. I chip erano progettati per avere il bus di indirizzamento a 19 o 24 bit: il primo indirizzava 512 KB di memoria, il secondo 16 MB. La differenza risiedeva nel fatto che l'uso del bus a 19 bit permetteva di utilizzare un package a soli 40 pin. Lo Z800 integrava 256 byte di memoria interna che poteva essere utilizzata come cache: in questo caso il software poteva utilizzarla sia come cache per le istruzioni o per i dati, ed il gestore di memoria la utilizzava per ridurre l'accesso alla più lenta memoria esterna.
Un'altra differenza dello Z800 rispetto allo Z80 era l'utilizzo di un bus dati che poteva essere ad 8 o 16 bit: in quest'ultimo caso raddoppiava la banda passante. Questo fattore, combinato con le 2 dimensioni dei bus indirizzi che poteva gestire, faceva sì che lo Z800 avesse 4 varianti:
Modello | Pin | Bus dati | Bus indirizzi |
---|---|---|---|
Z8108 | 40 | 8 bit | 19 bit (512 KB) |
Z8116 | 40 | 16 bit | 19 bit (512 KB) |
Z8208 | 64 | 8 bit | 24 bit (16 MB) |
Z8216 | 64 | 16 bit | 24 bit (16 MB) |
Lo Z800 era uno Z80 con prestazioni superiori che poteva eseguire i programmi esistenti per questa CPU a velocità considerevolmente superiori[1]. Il chip, però utilizzava la tecnica della multiplazione sia per il bus dati che per quello degli indirizzi per cui la sua programmazione era più difficoltosa dello Z80; inoltre la potenza elaborativa dello Z80 era, all'epoca, ancora sufficiente per molte delle applicazioni in circolazione per cui la maggior complessità dello Z800 non era giustificata dalle sue superiori performance.
Inoltre sul mercato era già presente l'Hitachi HD64180, un derivato dello Z80 che stava riscuotendo un buon successo proprio perché semplice da programmare quanto lo Z80 originale. Il successo dell'HD64180 convinse Zilog a richiedere la licenza per produrre questo microprocessore, che offrì inizialmente come Z64180 e dalla cui architettura successivamente derivò lo Zilog Z180.
A parte lo Z180, che però è basato su un progetto sviluppato da Hitachi, Zilog fece altri tentativi di estendere l'architettura Z80. Lo Z380, a 32 bit (presentato nel 1994) fu un altro insuccesso commerciale ma, nonostante ciò, è ancora in produzione, utilizzato principalmente nelle telecomunicazioni. Invece, lo eZ80 a 24 bit (introdotto nel 2001) ha avuto successo sia commercialmente sia tecnicamente (ha ricevuto diversi riconoscimenti). È interessante notare che, a differenza dello Z800, dello Z280 e dello Z380, l'eZ80 non introduce molte nuove istruzioni o modalità di indirizzamento ma semplicemente estende i registri dello Z80 da 16 a 24 bit, permettendo di gestire 256 volte la memoria indirizzabili dallo Z80 mentre la sua unità di esecuzione delle istruzioni supporta il pipeline ed esegue 4 volte più velocemente il codice rispetto al suo predecessore.