Вы находитесь на странице: 1из 7

LAB. DE CIRCUITOS ELECTRONICOS II ZILOG Z80A Qu es el ZILOG Z80A?

UNFV

El Zilog Z80 (Z80) es un microprocesador de 8 bits cuya arquitectura se encuentra a medio camino entre la organizacin de acumulador y de registros generales. Si consideramos al Z80 como procesador de arquitectura de registros generales, se sita dentro del tipo de registro-memoria. Fue lanzado al mercado en julio de 1976 por la compaa Zilog, y se populariz en los aos 80 a travs de ordenadores como el Sinclair ZX Spectrum, Amstrad CPC o los ordenadores de sistema MSX. Es uno de los procesadores de ms xito del mercado, del cual se han producido infinidad de versiones clnicas, y sigue siendo usado de forma extensiva en la actualidad en multitud de sistemas embebidos.

HISTORIA: El Z80 fue diseado principalmente por Federico Faggin, que estuvo trabajando en Intel como diseador jefe del Intel 4004 y del Intel 8080. Cuando se termin de producir, en 1974, Federico Faggin dej Intel, fund Zilog y comenz a trabajar en el diseo de Z80 basndose en la experiencia adquirida creando el Intel 8080 y basndose en la estructura de este ltimo. Dos aos despus estaba a la venta el Z80. El Z80 estaba diseado para ser compatible a nivel de cdigo con el Intel 8080, de forma que la mayora de los programas para el 8080 pudieran funcionar en l, especialmente el sistema operativo CP/M El Z80 tena ocho mejoras fundamentales respecto al Intel 8080: Un conjunto de instrucciones mejorado, incluyendo los nuevos registros ndice IX e IY y las instrucciones necesarias para manejarlos. Dos bancos de registros que podan ser cambiados de forma rpida para acelerar la respuesta a interrupciones. Instrucciones de movimiento de bloques, E/S de bloques y bsqueda de bytes. Instrucciones de manipulacin de bits. Un contador de direcciones para el refresco de la DRAM integrado, que en el 8080 tena que ser proporcionado por el conjunto de circuitos de soporte. Alimentacin nica de 5 voltios. Necesidad de menos circuitos auxiliares, tanto para la generacin de la seal de reloj como para el enlace con la memoria y la E/S. Ms barato que el Intel 8080. El Z80 elimin rpidamente al Intel 8080 del mercado y se convirti en uno de los procesadores de 8 bits ms populares. Las primeras versiones funcionaban a 2,5 MHz, pero su velocidad ha aumentado hasta los 20 MHz. As, la versin ms utilizada fue el Z80A funcionando a 3,58 MHz (un cuarto de la frecuencia PAL o NTSC) siendo la velocidad de fbrica de 4 MHz. En la actualidad Zilog sigue fabricando versiones del Z80 original y otros modelos compatibles con l que mejoran las prestaciones. ING. MECATRNICA 3

LAB. DE CIRCUITOS ELECTRONICOS II

UNFV

ESTRUCTURA: A pesar de ser un microprocesador de 8 bits, el Z80 puede manejar instrucciones de 16 bits y puede direccionar hasta 64 KiB de RAM. Una de las caractersticas ms reseables es que tiene las instrucciones del Intel 8080 como subconjunto, de modo que algunos ordenadores basados en Z80 podan ejecutar programas diseados para el CP/M del 8080. Esto ha hecho que los formatos de instruccin del Z80 sean bastante complejos, ya que tienen que mantener su compatibilidad con el 8080. Sin embargo el Z80 ha conseguido mejorar al microprocesador de Intel en velocidad, ha aadido nuevos modos de direccionamiento y contiene un juego de instrucciones ms amplio.

REGISTROS:
La estructura de registros del Z80 est compuesta por un banco principal, otro alternativo y por ltimo un banco compuesto por registros especiales. La existencia del banco alternativo mejora la velocidad ante la presencia de las interrupciones ya que permite cambiar desde el banco principal al alternativo. Los registros son: A, B, C, D, E, H y L (banco principal) A', B', C', D', E', H' y L' (banco alternativo) I, R, IX, IY, SP y PC (registros especiales)

Los registros del banco principal son generales y de 8 bits. Se pueden tomar por parejas, siendo entonces IX e IY los registros ndices. El registro A sirve de acumulador. El R almacena el bloque de memoria a cuyo refresco se va a proceder. El SP es el puntero de cima de pila. El PC es el contador de programa. El F contiene los flags o tambin llamados bits de condicin.

Registros primarios +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Registros alternativos +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

ING. MECATRNICA

LAB. DE CIRCUITOS ELECTRONICOS II

UNFV

|S Z - A - P N C| F

A'

|S Z - A - P N C| F'

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | B | C |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | B' | C' |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | D | E |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | D' | E' |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | H | L |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | H' | L' |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Registros ndices +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | IX |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | IY |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Puntero de pila y Contador de programa +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SP | Puntero de pila

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | PC | Contador de programa

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Registro de interrupciones y Registro de refresco de memoria +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | I | R |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Acumulador Registro utilizado para guardar el dato que se est usando. Es el registro ms importante, junto al registro F (con el que forma el par de registros AF). La mayora de las operaciones matemticas y lgicas de 8 bits se realizan a travs de este registro, de ah su importancia. Par HL Es el par de registros ms verstil, utilizado sobre todo para contener direcciones de memoria. En el registro simple L se coloca el byte ms bajo (LOW en ingls) de la direccin de memoria, y en H, se coloca el byte ms alto (HIGH en ingls) de la direccin de memoria. As mismo, es muy utilizado por las llamadas a subrutinas BIOS (CALL) para datos de entrada/salida de la subrutina llamada. Algunas instrucciones Assembler son especficas de este par de registros. Pares BC y DE Se utilizan como pares auxiliares de HL en instrucciones que manipulan bloques como LDI, LDIR, etc. Registros indexados IX e IY

ING. MECATRNICA

LAB. DE CIRCUITOS ELECTRONICOS II Son 2 registros de 16 bits. Se utilizan como registros base para apuntar a una direccin de memoria de donde se va a tomar un dato. Se indica un byte adicional que implica desplazamiento. Aunque no est documentado oficialmente, se pueden utilizar como 2 registros de 8 bits independientes, obteniendo un total de 4 registros de 8 bits extras. Puntero de pila SP

UNFV

Permite el anidamiento de rutinas. Apunta a una zona de memoria llamada STACK que es una estructura de pila o LIFO. Registros especiales Flag F: Indica condiciones especiales al realizar operaciones matemticas o lgicas. Sirve como conjunto de banderas, que nos indican la informacin sobre las operaciones que se estn realizando. Registro de interrupciones I: Se utiliza para ejecutar cualquier subrutina como respuesta a una interrupcin hardware, utilizndose como puntero I como la parte alta de la direccin y el dato que exista en el bus de datos como la parte baja, esto permite manejar 128 interrupciones distintas. Registro de refresco R: El valor del registro R se coloca en el bus de direcciones mientras se activa la seal de refresco proporcionada por la CPU. Esto ocurre mientras la CPU decodifica una instruccin, o un prefijo de instruccin. Bits de condicin (flags) del Z80 0-C: Acarreo. 1-N: Resta BCD, para correccin con DAA. 2-P/V: Paridad/desbordamiento. 4-H: Medio acarreo, para correccin BCD con DAA. 6-Z: Cero. 7-S: Signo. Los bits 3 y 5 no se utilizan, pero ciertas instrucciones los modifican, aunque no estn oficialmente documentados. Patillaje Patillas del Z80. Las lneas del bus de direcciones se ven en rojo, las del bus de datos en azul y las del bus de control en color verde.
+--\/--+ <-- A11 1| <-- A12 2| <-- A13 3| <-- A14 4| <-- A15 5| --> CLK 6| <-> D4 7| |40 A10 --> |39 A9 |38 A8 |37 A7 |36 A6 |35 A5 |34 A4 --> --> --> --> --> -->

ING. MECATRNICA

LAB. DE CIRCUITOS ELECTRONICOS II

UNFV

<-> D3 <-> D5

8|

|33 A3 |31 A1 |30 A0 |29 GND

--> --> --> -->

9| Z80 |32 A2

<-> D6 10| +5V Vcc 11| <-> D2 12| <-> D7 13| <-> D0 14| <-> D1 15| --> !INT 16| --> !NMI 17| <-- !HALT 18| <-- !MREQ 19| <-- !IORQ 20|

|28 !RFSH --> |27 !M1 --> |26 !RESET <-|25 !BUSRQ <-|24 !WAIT <-|23 !BUSAK --> |22 !WR --> |21 !RD -->

+------+

USOS Y APLICACIONES: A comienzos de los aos 1980 el Z80 o versiones clnicas del mismo fueron usadas en multitud de ordenadores domsticos, como la gama MSX, el Radio Shack TRS-80, el Sinclair ZX80, ZX81 y ZX Spectrum. Tambin fue usado en el Osborne 1, el Kaypro y otra gran cantidad de ordenadores empresariales que dominaban el mercado por aquella poca y que usaban el sistema operativo CP/M. A mediados de los aos 1980 el Z80 fue usado en el Tatung Einstein y la familia de ordenadores domsticos y empresariales Amstrad CPC y Amstrad PCW. El Z80 tambin fue usado en los ordenadores Tiki 100, que se empleaban en los colegios de Noruega por entonces. Tal fue la popularidad del Z80 y el CP/M que otros ordenadores basados en el MOS Technology 6502 o 6510 que ya estaban en el mercado, como el BBC Micro, el Apple II y elCommodore 64 podan ser ampliados mediante una tarjeta o cartucho que contena un procesador Z80. Tambin el Commodore 128 inclua un Z80 secundario junto al MOS Technology 8502 principal para poder usar CP/M. Ya en los aos 1990 el Z80 ha sido usado en las videoconsolas Sega Master System y Sega Game Gear. Adems las videoconsolas SNK Neo-Geo y la Sega Mega Drive y muchas mquinas arcade usan un Z80 como el procesador especializado en sonido. Las Game Boy y Game Boy Color de Nintendo utilizan una variante del Z80 fabricada por Sharp. En la actualidad parte de la gama de calculadoras grficas programables de Texas Instruments tales como las TI-82, TI-83, TI-85, TI-86 y sus sucesoras emplean una versin clnica del Z80 fabricada por NEC como procesador principal. Adems el Z80 tambin es un microprocesador popular para ser usado en sistemas embebidos, campo donde se emplea de manera extensiva.

CLONES DEL Z80A: ING. MECATRNICA 7

LAB. DE CIRCUITOS ELECTRONICOS II

UNFV

Mostek y SGS fueron segundas fuentes del Z80 (Mostek MK3880 y SGS Z8400). Sharp y NEC fabrican clnicos del Z80 (Sharp LH-0080 y NEC PD780C). National Semiconductor fabric un procesador clnico, el NSC800, con tecnologa CMOS pero que no era compatible pin a pin. Hitachi fabric una versin con tecnologa CMOS mejorada, cuya segunda fuente fue curiosamente la propia Zilog. En la Repblica Democrtica Alemana se produjo una versin clnica del Z80 llamada U880, que fue empleada en los sistemas informticos de Robotron y de VEB Mikroelektronik Mhlhausen, tales como las series KC85 y en muchos ordenadores de fabricacin casera. En Rumana se fabric una versin clnica del Z80, el MMN80, y que segn algunas fuentes fue tambin fabricada en la Unin Sovitica. Este microprocesador fue utilizado en la mayora de ordenadores fabricados en este pas, casi todos clones de los Sinclair ZX Spectrum: Ice Felix HC85, HC90, HC91, HC2000, Datatim/Universidad Tcnica de TimisoaraTIMS, MicroTIM y MicroTIM+ o los Intreprinderea Electrnica CIP, CIP-02, CIP-03, CIP-04. Tambin se crearon varias copias del Z80 en la Unin Sovitica, siendo el ms conocido el T34. Hoy en da existen dos ncleos de procesador llamados T80 y TV80 que son funcionalmente equivalentes al Zilog Z80 y se encuentran disponibles bajo una licencia tipo BSD. El cdigo fuente de estos ncleos est disponible tanto en Verilog como en VHDL. Una vez sintetizada sta ltima versin puede funcionar hasta 35 MHz en una FPGA Xilinx SpartanII. En la actualidad la propia Zilog fabrica una versin mejorada del Z80 llamada eZ80, que funcionando a 50 MHz tiene un rendimiento similar a un Z80 funcionando a 150 MHz y adems puede direccionar hasta 16 MB de memoria RAM extendiendo el tamao de los registros, frente a los 64 KB del Z80. Existen diseos de hardware actuales que implementan un Z80 dentro de un chip programable programando parte del chip para que cumpla las funciones del Z80. No todos los clones de este microprocesador tienen conectado el pin NMI, por lo que al intentar usarlo en algunos modelos este hace caso omiso.

EVOLUCION DEL Z80A: Z180 El Z180 es el sucesor del Z80. Es compatible con una larga coleccin de software escrito para este. La familia Z180 aade mayores prestaciones y funciones de perifricos integrados como el generador de reloj, contadores/relojes de 16 bits, controlador de interrupciones, generadores de estado de espera, puertos serie y un controlador DMA. Usa ciclos de lectura y escritura separados, usando relojes similares a los del Z80 y a los procesadores Intel. La MMU integrada tiene la capacidad de direccionar hasta 1 MB de memoria. Es posible configurar el Z180 para que opere como un Hitachi HD64180.

ING. MECATRNICA

LAB. DE CIRCUITOS ELECTRONICOS II

UNFV

Chip

Velocidad (MHz)

Relojes

I/O

Ctrl. comunicaciones

Otros

Z80180 6, 8, 10

N/S

CPU

1 MB MMU, 2xDMAs, 2xUARTs

Z80181 10

16

CPU

1 MB MMU, 2xDMAs, 2xUARTs

Z80182 16, 33, 20

Reloj S180 Megacell, 2xESCC channels, ESCC, CSIO, UART serie, 24 16550 MIMIC

Z80195 20, 33

7/24

SCC, CSIO, UART

Z8L180 20

Reloj serie

CSIO, UART

1 MB MMU, 2xDMAs, 2xUARTs, 3.3 V Operation

Z8L182 20

Reloj serie

ESCC, CSIO, UART

S180 Megacell, 2xESCC channels, 16550 MIMIC, 3.3V operation

Z8S180 10, 20, 33

Reloj serie

UART, DMA, I2C, SPI

1 MB MMU, 2xDMAs, 2xUARTs

ING. MECATRNICA

Вам также может понравиться