Zilog Z800
# Zilog Z800

El Zilog Z800 fue un microprocesador de 16 bits diseñado por Zilog para ser presentado en 1985. Era compatible en instrucciones con su ya existente Z80 y difería principalmente en tener caché integrada, MMU con un rango de 16 MB y también un gran número de nuevas instrucciones ortogonales y modos de direccionamiento. Aun así, Zilog esencialmente ignoró el Z800 en favor del Z80000 de 32 bits. Aparentemente el Z800 nunca entró en producción masiva. El Z280, de 1987, fue otro intento con aproximadamente el mismo diseño, pero esta vez realizado en CMOS.

## Descripción breve

No hubo una expansión del juego de registros pero estos y las instrucciones fueron significativamente ortogonalizados para hacerlo más potentes y de propósito general. Muchas operaciones de 8 y 16 bits fueron añadidas, y los registros HL, IX e IY fueron mejorados de sus posibilidades bastante limitadas como acumuladores en el Z80 a acumuladores más versátiles. Además de los posibles operandos de registros en Z80, podían ser usado con datos inmediatos, direcciones directas, registros indirectos u operandos indizados, incluso contra-relacionado con programa. Las operaciones de 8 bits tenían aún más posibilidades, incluyendo el direccionamiento relativo al puntero de la pila y una elección de offsets inmediatos de 8 y 16 bits.

El bus de direcciones fue expandido a 24 bits para direccionar 16MB de memoria. El chip fue ofrecido con un bus externo de 19 bits para 512KB de RAM o un bus completo de 24 bits para 16MB de RAM. La ventaja del bus menor era un empaquetado de 40 patillas menor. Como el Z80 anteriormente, el Z800 incluía el controlador interno de RAM y el reloj, pero añadiendo 256 bytes de RAM que podían ser usados como un borrador de la RAM o como una caché. Cuando se usaba en modo caché, el programador podía configurarla como una caché de datos, instrucciones o ambos, y el controlador interno de memoria la usaba entonces para reducir el acceso a la (más lenta) memoria externa.

También había provisiones ambiciosas para multiproceso y para procesadores esclavos con enlace fuerte o débil, con o sin memoria global compartida. Esto era conocido como la arquitectura de proceso extendida y las unidades de proceso extendido (EPU: extended processing units).

Otro cambio fue el añadido de un bus de datos de 16 bits opcional, que doblaba la frecuencia a la que la memoria podía accederse si se configuraba correctamente. Combinado con los dos tamaños del bus de direcciones daba un total de cuatro versiones:

## Razones para el fallo

El Z800 fue, de muchas maneras, un super Z80 inspirado en un mini ordenador que correría programas existentes y mayores a velocidades considerablemente más altas. Aun así, los buses de direcciones y datos estaban multiplexados y el chip era, también en otros respectos, complicado de programar y usar su interfaz. Los cálculos de tiempos de ejecución exactos eran también mucho más difíciles de hacer que con el Z80. Aún más, el Z80 era lo bastante bueno para la mayoría de aplicaciones del momento por lo que la potencia extra de cálculo no compensaba, en muchos casos, la complejidad añadida. También una mala publicidad parece que dañó también al producto.

Hitachi desarrolló posteriormente el HD64180, que es un derivado menos ambicioso del Z80 que tuvo un gran éxito, probablemente porque es casi tan simple de programar y de usar su interfaz como el Z80 original.

Una variación ligeramente distinta del mismo diseño, el Z180, es vendida por Zilog veinte años después, siendo aún mantenida y desarrollada.

## Derivados del Z80 más exitosos (de Zilog)

Aparte del exitoso Z180 (desarrollado mayormente por Hitachi) se hicieron otros intentos de extender la arquitectura Z80. El Z380 de 32 bits (presentado en 1994) fue un fallo comercial pero aún está en producción para algunas aplicaciones específicas de telecomunicaciones. Por el otro lado, el rápido eZ80 de 24 bits, presentado en 2001, ha sido un éxito comercial y ha ganado premios de ingeniería. Es interesante notar que, a diferencia del Z800, el Z280 y el Z380, el eZ80 no introduce muchas nuevas instrucciones o modos de direccionamiento, si no que solo extiende los registros de 16 bits del Z80 a 24 bits, permitiendo direccionar 256 veces más memoria mientras su unidad de ejecución completamente segmentada ejecuta instrucciones del Z80 cuatro veces más rápido que el original.

