Zilog Z80

Unidad de procesamiento central Zilog Z80
Uno de los primeros microprocesadores Z80 fabricados
(fecha estampada "junio de 1976").
Producto1976
ProductorZilog
SucesorZilog Z180
Especificaciones técnicas
Frecuencia de la CPU2,5  MHz /8  MHz
microarquitectura8 bits
EnchufeDIP40

El Zilog Z80 es un microprocesador de 8 bits con un diseño interno ALU de 4 bits pero capaz de operaciones de 8 y 16 bits [1] diseñado por Zilog de Federico Faggin y comercializado a partir de julio de 1976 . El Z80, con sus derivados y clones, es una de las familias de CPU más utilizadas de todos los tiempos. [2]

Ha sido muy utilizado en numerosos sistemas, en ordenadores domésticos , en videojuegos arcade , en consolas , en sistemas embebidos e incluso en militares; [3] Con la familia de CPU basadas en el MOS 6502 dominó el mercado de las microcomputadoras y videoconsolas de 8 bits de finales de los setenta y el de las computadoras domésticas de principios de los ochenta . [4]

Zilog también intentó comercializar versiones de miniordenador de la arquitectura Z80, el Z800 y el Z280 , que sin embargo no alcanzaron el éxito de su predecesor: el primero fue abandonado incluso antes de su comercialización, [5] mientras que la complejidad y los errores del segundo, limitaron su difusión en beneficio de otros productos, incluyendo la Hitachi HD64180 y la Zilog Z180 . [6]

Historia

Federico Faggin , después de trabajar en el 8080 , abandonó Intel a finales de 1974 por diferencias con la dirección: ésta, de hecho, todavía estaba demasiado centrada en la producción de chips de memoria y consideraba a los microprocesadores sólo como productos accesorios, útiles para vender más. memoria RAM [7] Faggin, por su parte, vio en ellos un potencial de uso mucho más amplio, gracias a su posibilidad de ser programados para usos generales. Faggin decidió entonces dejar Intel para fundar, junto a su colega Ralph Ungermann , Zilog, una empresa dedicada exclusivamente a la producción de CPUs. [8] El primer producto de la empresa fue el Z80, nacido de un proyecto que desarrolló Faggin a finales de 1974, [9] presentado en julio de 1976. [10]

El Z80 se extendió al mercado de procesadores mucho más que el Intel 8080 y su sucesor, el 8085 [11] y se convirtió en una de las CPU de 8 bits más populares. [12] [13] Uno de los factores clave del éxito inicial del Z80 fueron los sistemas integrados en el propio chip, como el de actualización de la memoria DRAM: esta integración permitió crear sistemas completos con la adición de algunos otros componentes de soporte externo (luego aparecieron sistemas integrados basados ​​en el Z80, que generalmente usan memorias estáticas , que no necesitan esta actualización ) y allanan el camino para el moderno "System On Chip".

Zilog licenció la propiedad intelectual del proyecto central Z80 sin regalías a ninguna empresa que quisiera producirlo por su cuenta: esta política comercial a la larga rindió frutos a Zilog con un retorno en imagen, difusión y ventas porque permitió un producto de un pequeña empresa, como era, para establecerse en el mercado mundial gracias a que grandes fabricantes como Toshiba comenzaron a producir el procesador en cantidades industriales. [14] Como resultado de esta elección comercial, Zilog ha producido menos del 50% de todos los Z80 fabricados en los últimos años. [14] Sin embargo, varios fabricantes de Europa del Este , [3] Japón [14] y la antigua Unión Soviética [15] fabricaron copias sin licencia de la CPU.

Descripción técnica

El conjunto de instrucciones del Z80 se escribió para ser compatible con el Intel 8080, [10] [16] por lo que gran parte del código del 8080 (principalmente el del sistema operativo CP/M ) podría ejecutarse sin modificaciones en el Z80. Masatoshi Shima (co-diseñador de Intel 4004 e Intel 8080) contribuyó al desarrollo del Z80. [17]

El Z80 ofreció las siguientes mejoras sobre el 8080: [16]

El diseño original en lógica NMOS veía crecer progresivamente el límite máximo de la frecuencia del reloj desde los 2,5  MHz iniciales hasta los 4 MHz del Z80A, los 6 MHz del Z80B y los 8 MHz del Z80H. [21] [22] También se fabricó una versión CMOS con un rango de frecuencia que va desde los 4 MHz hasta los 20 MHz de las versiones vendidas más recientemente. [23] [24] La versión CMOS también permitía un modo de espera de bajo consumo de energía llamado "Power-Down" o "modo de espera", en el que el estado interno (registros y señales de control) del procesador se mantenía hasta la recepción de la señal de salida de ese estado (una señal de reloj). [24] Se afirma que los chips derivados compatibles con el Z80, el HD64180 / Z180 [25] [26] y el eZ80 tienen una capacidad de 33 MHz y 50 MHz, respectivamente.

Modelo de Planificación y Gestión de Registros

El modelo de programación y gestión de logs es convencional y similar al de la familia x86 . Los registros AF, BC, DE y HL, compatibles con los del Intel 8080, están duplicados en el Z80 en 2 bancos separados [27] y el procesador puede cambiar rápidamente entre bancos, [28] una característica útil para acelerar la respuesta a interrupciones de un solo nivel de alta prioridad. Esta característica estaba presente en el Datapoint 2200 , mientras que no estaba implementada en el Intel 8008. El sistema de doble registro tenía sentido en el Z80 (y otros microprocesadores de la época), porque también estaba diseñado para sistemas integrados, no solo para uso personal. computadoras o computadoras de casa . [29] Los registros dobles demostraron ser muy útiles para la codificación de ensamblaje altamente optimizada : algunos programas, especialmente juegos para sistemas MSX , ZX Spectrum y otras computadoras basadas en Z80, llevaron la optimización de ensamblaje Z80 a niveles extremos, utilizando, entre otras cosas, los registros duplicados. .

Registros

Al igual que en el 8080, se suelen acoplar registros de 8 bits para obtener versiones de 16 bits. Los registros compatibles con los del 8080 son: [30]

Los nuevos registros introducidos por el Z80 son:

No hay posibilidad de acceder directamente a los registros alternativos: hay 2 instrucciones especiales para esta tarea, EX AF,AF'y EXX, [30] cada una de las cuales modifica 1 de 2 multiplexores flip-flop . Esto permite un cambio de contexto rápido para las rutinas de servicio de interrupción: EX AF, AF'se puede usar solo (para rutinas de interrupción muy simples y rápidas) o en conjunto EXXpara invertir todo el grupo de registros AF, BC, DE y HL, una forma de operar mucho más rápido. que el basado en insertar los mismos registros en la pila (las interrupciones con múltiples niveles o las interrupciones lentas y de baja prioridad normalmente usan la pila para almacenar el valor de los registros).

El registro de actualización (" R ") se incrementa [31] cada vez que la CPU ejecuta un código de operación (o un prefijo de código de operación) y, por lo tanto, no tiene una relación simple con la ejecución del programa. Este modo de operación se usaba a menudo para generar números pseudoaleatorios en juegos, pero también en esquemas de protección de software. También se usó como un contador de "hardware" en algunos sistemas: un ejemplo famoso de este uso es el Sinclair ZX81 , que le permite realizar un seguimiento de las posiciones de los caracteres en la pantalla del televisor activando una interrupción cuando se produce el reinicio (por conectando la interrupción a A6).

El registro de vector de interrupción (" I ") se usa para las interrupciones Z80 especificadas con el modo 2 (seleccionado por la instrucción IM 2). Proporciona la dirección base de la página (el "byte alto") para la tabla de 128 entradas de direcciones de interrupción de servicio que se seleccionan mediante un puntero (el "byte bajo" de la dirección) enviado a la CPU durante un ciclo de reconocimiento de interrupciones. [20] El puntero identifica un chip periférico en particular y/o una función de un chip periférico (en caso de que un chip periférico pueda generar múltiples interrupciones, como CTC), donde los chips normalmente se conectan en cascada para la resolución de prioridad. Al igual que ocurre con el de refresco , este registro se ha utilizado en ocasiones de forma "creativa".

La ALU de 4 bits

La ALU , o "Arithmetic-Unit Logic", es el módulo integrado en una CPU responsable de realizar los cálculos aritméticos/lógicos. A diferencia de otras CPU contemporáneas (como la MOS 6502 o la Intel 8080), la ALU de la Z80 es de 4 bits, lo que significa que realiza cálculos en números de 4 bits o nibbles . Dado que el acumulador de la CPU es de 8 bits, para realizar un cálculo en un número contenido en el acumulador, la ALU del Z80 debe realizar dos pasadas en este registro. Para que esto no afecte al rendimiento de la CPU, los diseñadores del Z80 han pensado en un sistema de ciclos internos divididos en "ciclos de máquina", o "ciclos M" (del inglés M-cycle), en los que cada El ciclo M se compone de varios ciclos de reloj y optimiza las instrucciones para que la CPU pueda realizar una superposición mínima de las operaciones de las instrucciones individuales: este proceso se llama "obtener / ejecutar superposición" y le permite continuar la ejecución de una instrucción mientras la CPU lee el código de operación de la siguiente de la memoria. Por ejemplo, la instrucción SUB r, que resta del acumulador el valor contenido en el registro de 8 bits indicado por "r", se ejecuta en 1 ciclo M que consta de 4 ciclos de reloj. La ejecución de esta instrucción se puede dividir en los siguientes pasos individuales:

INSTRUCCIÓN ACTUAL "N" (SUB r) M1/T1: se establece la dirección desde donde leer la instrucción "N" a ejecutar M1 / T2: la instrucción "N" se recupera de la memoria M1 / T3: el código de operación se interpreta como "SUB r": A se carga en el pestillo temporal "ACU" (*) M1/T4: se carga el registro "r" en el latch temporal "TEMP" (*) ------------- SIGUIENTE EDUCACIÓN "N+1" M1/T1: se establece la dirección desde donde leer la instrucción "N+1" a ejecutar al mismo tiempo se calcula el nibble bajo de la operación anterior M1 / T2: la instrucción "N + 1" se recupera de la memoria al mismo tiempo se calcula el nibble alto de la operación anterior y el resultado se recompone como un valor de 8 bits y se deposita en el acumulador

De esta manera, el Z80 no muestra ralentizaciones en comparación con una CPU con una ALU completamente de 8 bits. Esto también es posible gracias a que la recuperación de la instrucción de la memoria se realiza siempre durante los primeros ciclos "T" del primer ciclo M (llamado M1) de una instrucción. [32] [33] [34] [1]

El lenguaje ensamblador del Z80

Una retrospectiva: el Datapoint 2200 y el Intel 8008

El lenguaje ensamblador del primer Intel 8008 se basaba en una sintaxis muy simple (pero esquemática), derivada de la arquitectura del Datapoint 2200 ; esta sintaxis luego se transformó en un nuevo lenguaje ensamblador dedicado al chip 8008; luego se amplió el nuevo lenguaje ensamblador, casi en el mismo período, para adaptarse a las posibilidades de direccionamiento añadidas que ofrecía el chip Intel 8080 más avanzado (el 8008 y el 8080 compartían lenguaje sin ser compatibles a nivel binario; el 8008 era binario compatible con Datapoint 2200).

En este proceso de transformación, la abreviatura mnemotécnica "L", que significaba CARGAR , fue reemplazada por las palabras CARGAR , ALMACENAR y MOVER , a las que se agregaron otras letras simbólicas. La letra "M", de Memoria (referenciada por HL), se transformó de abreviatura mnemotécnica a operando sintácticamente independiente , mientras que los registros y las combinaciones de registros se indicaron de manera muy inconsistente, tanto abreviando operandos (por ejemplo, "MVI D" y "LXI H "), ya sea usando las mismas formas mnemotécnicas de las instrucciones (por ejemplo, "LDA" y "LHLD") o usando ambos esquemas al mismo tiempo (por ejemplo, "LDAX B" y "STAX D").

Punto de datos 2200

& i8008

i8080 Z80 i8086 / i8088
California. 1973 California. 1974 1976 1978
LBC MOV B,C LD B,C MOV BL,CL
-- LDAX B LD A,(BC) MOV AL,[BX]
LAM MOV A,M LD A,(HL) MOV AL,[BP]
LBM MOV B,M LD B,(HL) MOV BL,[BP]
-- STAX D LD (DE),A MOV [DX],AL
LMA MOV M,A LD (HL),A MOV [BP],AL
LMC MOV M,C LD (HL),C MOV [BP],CL
LDI 56 MVI D,56 LD D,56 MOV DL,56
LMI 56 MVI M,56 LD (HL),56 MOV byte ptr [BP],56
-- LDA 1234 LD A,(1234) MOV AL,[1234]
-- STA 1234 LD (1234),A MOV [1234],AL
-- -- LD B,(IX+56) MOV BL,[SI+56]
-- -- LD (IX+56),C MOV [SI+56],CL
-- -- LD (IY+56),78 MOV byte ptr [DI+56],78
-- LXI B,1234 LD BC,1234 MOV BX,1234
-- LXI H,1234 LD HL,1234 MOV BP,1234
-- SHLD 1234 LD (1234),HL MOV [1234],BP
-- LHLD 1234 LD HL,(1234) MOV BP,[1234]
-- -- LD BC,(1234) MOV BX,[1234]
-- -- LD IX,(1234) MOV SI,[1234]

Tabla de 4 sintaxis usando ejemplos de instrucciones LOAD y STORE equivalentes o (para el 8086) muy similares . [35]

La nueva sintaxis

Intel afirmó que los mnemotécnicos de su ensamblaje estaban patentados. Por lo tanto, se desarrolló una nueva sintaxis, esta vez con un enfoque más semántico:

  • todos los registros y pares de registros fueron indicados explícitamente por sus nombres completos;
  • los corchetes "()" se usaron constantemente para significar "contenido de memoria a" (no se hace referencia al puntero), con la excepción de algunas instrucciones de salto; [36]
  • Todas las instrucciones de "carga" y "almacenamiento" usaban el mismo código mnemotécnico, LDpara CARGAR (un regreso al vocabulario simplista de Datapoint 2200); otras instrucciones de uso común (como ADDe INC) usaban el mismo código mnemotécnico, independientemente del modo de direccionamiento o del tamaño del operando (esto era posible porque los operandos mismos contenían suficiente información).

Estas pautas facilitaron la búsqueda de los nombres y la sintaxis de todas las nuevas instrucciones del Z80, así como el reajuste de las antiguas (p. ej., " LD BC,(1234)" arriba).

En la tabla también puedes ver la similitud entre la sintaxis del Z80 y la del Intel 8086 . Aparte de la diferencia de nomenclatura, ya pesar de cierta discrepancia en la estructura básica de los registros, las dos sintaxis son prácticamente isomorfas para una gran parte de las instrucciones. Sin embargo, no está claro si esta similitud se debe a las influencias comunes en ambos grupos de diseño por parte de las CPU anteriores a Intel 8080 (como la PDP-11 ), la naturaleza competitiva de la relación entre los dos proyectos o una cuestión de elección. . [37] [38]

Instrucciones y codificación

El Z80 usa 252 de los 256 códigos disponibles como códigos de operación de un solo byte (" instrucciones raíz "); los 4 códigos restantes se usan ampliamente como prefijos de código de operación: [39] CB y EDhabilitan instrucciones adicionales, DDy FDseleccionan respectivamente "IX + d" y "IY + d" (en algunos casos sin usar "d") en lugar de HL. Este esquema le da al Z80 una gran cantidad de permutaciones de instrucciones y registros; Zilog los enmarcó en 158 "tipos de instrucción" diferentes, 78 de los cuales son los mismos que los del 8080, [39] permitiendo la ejecución de programas del 8080 en el Z80.

La documentación de Zilog también agrupa las instrucciones en las siguientes categorías:

  • operaciones aritméticas y lógicas de 8 bits;
  • operaciones aritméticas de 16 bits;
  • operaciones de carga de 8 bits;
  • operaciones de carga de 16 bits;
  • operaciones con bits (inserción de valor 1, 0 o prueba);
  • operaciones de llamada y retorno desde subrutinas y reinicio desde direcciones predefinidas (restart);
  • operaciones de intercambio, transferencia y búsqueda de bloques;
  • Operaciones de control de CPU y aritmética simple;
  • operaciones de gestión de entrada/salida;
  • operaciones de salto;
  • operaciones de rotación y desplazamiento de bits;

Como en otros procesadores de la época, no hay instrucciones de multiplicación disponibles en el Z80 original. [40] Los diferentes tamaños y variantes de las operaciones de adición, cambio y rotación de bits también tuvieron diferentes efectos en las banderas, debido a las propiedades de influencia de las banderas copiadas del 8080. Las instrucciones de carga no afectaron a las banderas (excepto en los casos de carga en los registros especiales I y R). Las instrucciones en los registros de índice fueron útiles para reducir el tamaño del código y, si bien algunas de ellas no eran mucho más rápidas que las secuencias "equivalentes" compuestas por operaciones simples, permitían reducir indirectamente el tiempo de ejecución al disminuir el número de instrucciones necesarias para guardar y restaurar registros. [41] [42] Del mismo modo, las instrucciones para la suma de 16 bits no eran particularmente rápidas en el Z80 original (11 ciclos); sin embargo, eran aproximadamente el doble de rápidos en comparación con las operaciones de 8 bits que se ocupaban de los mismos cálculos y también reducían el uso de registros.

Instrucciones no documentadas

Los registros de índice IX e IY se concibieron como punteros flexibles de 16 bits para mejorar la capacidad de manipular la memoria, las estructuras de datos y las pilas. Oficialmente se gestionaban solo como registros de 16 bits, pero en realidad se implementaron como un par de registros de 8 bits, [43] de la misma forma que el registro HL, al que se podía acceder tanto en su totalidad en 16 bits como en su Registros individuales de 8 ""alto" y "bajoBitsbits . Del mismo modo, los códigos de código de operación (lenguaje de máquina) eran idénticos pero estaban precedidos por un nuevo prefijo de código de operación. [44]

Zilog publicó los códigos de operación y los códigos mnemotécnicos relacionados para las funciones ilustradas, pero no documentó el hecho de que cualquier código de operación que permitiera la manipulación de los registros H y L era igualmente válido para las porciones de 8 bits de los registros IX e IY. Un ejemplo es el código de operación 26h seguido inmediatamente por un byte ( LD H,n), que cargará ese valor en el registro H. Precediendo a esta instrucción de 2 bytes con el prefijo del código de operación para el registro IX, se cargará ese valor en los 8 bits más significativos del registro. registro IX. Una importante excepción a este modo de operación está dada por instrucciones similares a LD H,(IX+d)las que hacen uso tanto del registro HL como del IX, o IY, en la misma instrucción: [44] en este caso el prefijo DD se aplica sólo al "( IX + d) "de la instrucción.

Además, hay varias otras instrucciones no documentadas. [45] Algunas de ellas son consecuencia de los diferentes diseños iniciales del chip mientras que otras se refieren a zonas muy externas del troquel con un alto índice de mal funcionamiento, por lo que se decidió no documentarlas. [46]

Ejecución de Instrucciones

Cada instrucción se realiza en pasos que generalmente se denominan ciclos de máquina (o ciclos M), del inglés "ciclos de máquina", cada uno de los cuales puede tomar de 3 a 6 ciclos de reloj (o estados T o ciclos T) . [47] Cada ciclo M corresponde aproximadamente a un acceso a la memoria y/o una operación interna. Muchas sentencias terminan realmente durante el bucle M1 de la sentencia siguiente , una condición conocida como superposición de obtención/ejecución .

Ejemplos de instrucciones típicas (R = leer , leer - W = escribir , escribir)

Ciclo M
total
instrucción M1 M2 M3 M4 M5 M6
1 [48] Inc BC código de operación
2 [49] AGREGAR UN, no código de operación norte
3 [50] AÑADIR HL, DE código de operación interno interno
4 [51] JUEGO b, (HL) prefijo código de operación R (HL), ajuste W (HL)
5 [50] LD (IX + d), n prefijo código de operación d norte, añadir W (IX + d)
6 [52] INC (IY + d) prefijo código de operación d agregar R (IY + d), aum W (IY + d)

Los ciclos M del Z80 están gestionados por una máquina interna de estados finitos que genera cada ciclo a partir de 3, 4, 5 o 6 ciclos T, según el contexto. Este mecanismo evita tener que utilizar una lógica asincrónica engorrosa y hace que las señales de control se comporten de forma consistente en una amplia gama de frecuencias de reloj. Esto también significa que se debe usar un reloj con una frecuencia más alta que la que se usaría en la situación en la que no existe esta división de ciclos de máquina (aproximadamente 2-3 veces más alta).

Sin embargo, esto no implica la necesidad de utilizar una memoria con mejores tiempos de acceso, ya que un reloj con mayor resolución permite un control más preciso de los tiempos de la memoria y la misma puede estar activa en paralelo con la CPU por un margen más amplio ( es decir, registra menos inactividad ), lo que permite un uso más eficiente de su rendimiento . Hablando de ejecución de instrucciones, el Z80 combina 2 ciclos de reloj completos en un largo período de acceso a la memoria (la señal M1), que generalmente solo dura una fracción de un ciclo de reloj (más largo), en una especie de diseño asíncrono más largo (como el Motorola 6800 u otras CPU similares).

Las memorias solían ser demasiado lentas (especialmente las de tipo EPROM , pero también las Flash ) en comparación con los subciclos (los ciclos de reloj) de las máquinas de estado finito utilizadas en los procesadores contemporáneos. El ciclo de máquina más corto que podía usarse en proyectos integrados a menudo estaba limitado por los tiempos de acceso a la memoria, no por la frecuencia máxima de la CPU (especialmente durante la era de la computadora doméstica). Sin embargo, esta relación ha cambiado ligeramente en las últimas décadas, particularmente con respecto a las SRAM ; sin caché, los diseños de ciclo único como el eZ80 se han vuelto mucho más importantes recientemente.

Periféricos compatibles

Zilog introdujo una serie de periféricos para el Z80, todos compatibles con el sistema de manejo de interrupciones de la CPU y el espacio de direcciones de E/S. Estos incluían "CTC" ( Circuito de contador de tiempo ), "SIO" ( Salida de entrada en serie ), "DMA" ( Acceso directo a memoria ), "PIO" ( Entrada-salida paralela ) y "DART" ( Transmisor receptor asíncrono dual ) . Con el tiempo, también se ofrecieron versiones CMOS de estos chips , que ofrecían un menor consumo de energía combinado con una mayor velocidad.

Al igual que los procesadores Intel 8085 y 8086, pero no los procesadores Motorola 6800 y MOS 6502, Zilog Z80 e Intel 8080 tenían una línea de control y un espacio de direcciones separados para las instrucciones de E/S. Aunque algunas computadoras basadas en Z80 (como la Osborne 1 ) usaban dispositivos de E/S mapeados en memoria, el espacio de E/S se usaba típicamente para abordar uno de los muchos chips periféricos de Zilog compatibles con el Z80: Zilog I/O compatible con el modo Z80 2 interrupciones (ver arriba), lo que facilitó la gestión de interrupciones para una gran cantidad de periféricos.

Direccionamiento de E/S de 16 bits "no documentado"

El Z80 figuraba oficialmente como capaz de admitir direccionamiento de memoria de 16 bits (máximo 64 kB ) y direccionamiento de E/S de 8 bits (máximo 256 puertos), pero al leer el manual de hardware de referencia, puede ver cómo funcionan todas las instrucciones de E/S. podría administrar todo el bus de direcciones de 16 bits : OUT (C),rege IN reg,(C)insertar todo el contenido del registro BC en el bus de direcciones; [53] OUT (n),A e IN A,(n)inserte el contenido del registro A en los bits b8-b15 del bus de direcciones y de n en los bits b0-b7 del bus de direcciones. Un diseñador podría elegir entre decodificar todo el bus de direcciones de 16 bits en las operaciones de E/S, para aprovechar esta característica, o usar los bits más altos del bus de direcciones (b8-b15) para seleccionar subcaracterísticas del dispositivo de E/S. Esta función también se ha utilizado para minimizar los requisitos de hardware de decodificación, como en Amstrad CPC y ZX81 .

Copias bajo licencia, clones y derivados

Clones

El Mostek MK3880 y el SGS-Thomson (ahora STMicroelectronics ) Z8400 eran copias oficiales del Z80. Sharp y NEC desarrollaron clones de NMOS , el LH0080 y el µPD780C respectivamente . Toshiba hizo una versión CMOS del mismo , el TMPZ84C00, que se cree que es el mismo procesador que el Zilog Z84C00, también en CMOS. También había chips Z80 fabricados por GoldStar (más tarde LG ), así como la serie BU18400 de clones Z80 (incluidos chips DMA, PIO, CTC, DART y SIO) en tecnología NMOS y CMOS fabricados por ROHM Electronics .

En Alemania del Este, apareció un clon sin licencia del Z80, conocido como U880 : se usó en computadoras fabricadas por VEB Robotron y VEB Mikroelektronik Mühlhausen , como la serie KC 85 , pero también para computadoras autoensambladas como la COMP JU. +TER. En Rumania , otro clon sin licencia estaba muy extendido, el MMN80CPU de Microelectronica , utilizado en computadoras domésticas (como TIM-S, HC y COBRA).

También se fabricaron varios clones del Z80 en la Unión Soviética ; uno de estos fue el T34VM1 , [23] también llamado КP1858VМ1 [15] (fabricado en paralelo al clon ruso 8080, el KR580VM80A): el primero se iba a utilizar en la serie de preproducción, mientras que el segundo se iba a utilizar para producciones a gran escala, aunque, debido al colapso de la industria microelectrónica soviética a fines de la década de 1980, hay más T34VM1 que КP1858VМ1.

Derivados

Compatible con el Z80 original
  • Hitachi desarrolló el HD64180 , un CMOS Z80 microcodificado y parcialmente dinámico, con periféricos montados en chip y una MMU simple , que administraba un espacio de direcciones de 1 MB . Posteriormente, Zilog también fabricó este chip, inicialmente como Z64180 y luego como Z180 , [54] que tiene el protocolo de bus y los tiempos más adecuados para los chips periféricos del Z80. Zilog ha seguido produciendo el Z180 y mejorándolo: las nuevas versiones se denominan Z8S180/Z8L180, y tienen núcleos completamente estáticos, con bajo consumo de energía y reducida interferencia electromagnética (EMI, eliminación de interferencia electromagnética ). [55]
  • Toshiba desarrolló la serie de controladores inteligentes Z84013/Z84C13 (84 pines), y Z84015/Z84C15 (100 pines), básicamente núcleos Z80 con sus periféricos en tecnología NMOS y CMOS, con temporizador de supervisión , función POR ("Power-On- Reset") y generador de estado de espera, todo en el mismo chip. También fueron fabricados por Sharp . Estos procesadores ahora también son ensamblados por Zilog. [56]
  • El Zilog Z380 , un chip de 32 bits compatible con el Z80, presentado en 1994 , ha sobrevivido estos años; se utiliza principalmente en dispositivos de telecomunicaciones.
  • El Zilog eZ80 , totalmente compatible con el Z80 [57] con palabras de 8/16/24/32 bits y un espacio de direcciones lineal de 16 MB; fue introducido en 2001 . Existe en diferentes versiones, con SRAM o memoria flash integrada , así como con periféricos montados en chip. Una variante integra un MAC en el chip y el software que lo acompaña incluye una pila de IP . A diferencia del Z800 y el Z280, tiene pocas instrucciones adicionales (las principales se refieren a los métodos de direccionamiento y de carga de registros en memoria, con dirección variable de 16/24 bits); Comparado con el Z80, ejecuta instrucciones de 2 a 11 veces más rápido (con un valor promedio de 3 a 5 veces). Está certificado para frecuencias de reloj de hasta 50 MHz.
  • Kawasaki produjo el KL5C8400, binario compatible con el Z80, del cual es en promedio 1.2-1.3 veces más rápido y puede operar con relojes de hasta 33 MHz. Kawasaki también produjo la familia KL5C80A1x, con periféricos y una pequeña memoria RAM integrada en el chip: es aproximadamente tan eficiente como el eZ80 y puede operar hasta 10 MHz (2006). [58]
  • Algunas familias de procesadores multimedia del fabricante chino Actions Semiconductor , como el ATJ2085 y otros chips, contienen una MCU compatible con Z80 junto con un procesador DSP de 24 bits dedicado. [59] Estos chips se utilizan en muchos reproductores MP3 y multimedia .
No compatible
  • La serie de microcontroladores Toshiba TLCS-900 (principalmente PROMs ) están basados ​​en el Z80, compartiendo con este la estructura básica de los registros divididos en BC, DE, HL, IX, IY y la mayoría de las mismas instrucciones, pero no son binarios. compatible, a diferencia de la familia anterior TLCS 90. [60]
  • La serie de microcontroladores NEC 78K se basa en el Z80: comparten la misma estructura básica de registros BC, DE, HL e instrucciones similares (pero con nombres diferentes). No son compatibles binariamente con el Z80.
parcialmente compatible

Ya no está en producción:

  • El R800 producido por ASCII Corporation era un procesador rápido de 16 bits utilizado en las computadoras MSX Turbo R : era compatible con el Z80 a nivel de software pero no a nivel de hardware (la temporización de las señales, la disposición y las señales del los pines diferían del Z80).
  • El Z800, en tecnología NMOS, y el Z280, en tecnología CMOS, fueron implementaciones más rápidas del Z80 (antes de la llegada del HD64180 / Z180 ), con una MMU capaz de gestionar un espacio de direcciones de 16 MB; agregaron muchas variaciones y modos de direccionamiento al conjunto de instrucciones Z80 original. El primero ni siquiera se puso en el mercado mientras que el segundo fracasó por su excesiva complejidad y porque estaba diseñado más para su uso en miniordenadores que en sistemas embebidos. [6] [63] Por otro lado, el Z80 en versión CMOS seguía siendo popular, junto con las familias compatibles Z180 y eZ80.

Versiones FPGA y ASIC

El Evatronix CZ80CPU es un núcleo de CPU equivalente al Z80, [64] disponible como código fuente Verilog o VHDL para ASIC populares o como fuente de netlist EDIF para FPGA de Actel , Altera , Lattice o Xilinx .

Las versiones gratuitas son T80 [65] y TV80, [66] [67] disponibles como fuentes VHDL y Verilog bajo una licencia de estilo BSD o LGPL . [68] La versión VHDL, una vez sintetizada, se puede configurar hasta 35 MHz en un FPGA Xilinx Spartan II. [65] Sin embargo, para producciones a gran escala es más conveniente utilizar una solución tradicional (o ASIC) en lugar de una FPGA.

Emulación de software

Los emuladores de software Z80 ahora se ejecutan en las PC modernas mucho más rápido que la CPU Z80 original: se utilizan para simular computadoras domésticas basadas en Z80 (como Amstrad CPC , MSX y Sinclair ZX Spectrum ), o consolas como ColecoVision , pero también en video . emuladores de juegos (como MAME ) para ejecutar arcades antiguos . El SIMH emula la computadora MITS Altair 8800 con procesador 8080 y Z80.

Empleo

En las computadoras de casa

Durante finales de la década de 1970 y principios de la de 1980, el Z80 se utilizó en una gran cantidad de máquinas de oficina basadas en el sistema operativo CP/M , una combinación que dominaba el mercado en ese momento. [69] [70]

Dos ejemplos de máquinas de oficina basadas en el binomio Z80+CP/M fueron el portátil Osborne 1 y la serie Kaypro . Research Machines desarrolló las microcomputadoras 380Z ( 1977 ) y LINK 480Z ( 1981 ): esta última está equipada con una interfaz de red CHAIN ​​​​propietaria ( tipo Ethernet ) para la conexión a una LAN . Si hubiera un servidor de archivos en la LAN , la computadora podría iniciar un sistema operativo desde él usando el CP/NOS (una versión de red del CP/M), de lo contrario, podría iniciar el CP/M desde un disco y luego acceder a la red de servicios a través de CP/NET. Otros fabricantes de este tipo de sistemas fueron TeleVideo , Xerox ( serie 820 ) y un gran número de otras empresas más o menos conocidas. Algunos sistemas utilizaban software multitarea para distribuir un proceso entre varios usuarios.

El Commodore 128 integra un procesador Z80 junto al MOS 8502 , gracias al cual puede entrar en un modo particular compatible con el CP/M. [71] [72] Otras computadoras basadas en MOS 6502 a la venta en ese momento, como BBC Micro y Apple II , [73] o computadoras basadas en MOS 6510 , como Commodore 64 , [74] pueden usar el Z80 alojado en una unidad externa, una tarjeta adicional o un cartucho de expansión , como SoftCard de Microsoft para Apple II, era una tarjeta adicional particularmente popular y uno de los pocos productos de hardware fabricados por Microsoft en ese momento.

Acer , en ese momento Multitech , presentó el Microprofessor I en 1981 , un dispositivo de aprendizaje de lenguaje de máquina del Z80. En 2019 todavía es producido y vendido por Flite Electronics Int. ( Southampton , Inglaterra ) como "Flite's MPF-1B". [75] Otro microordenador educativo basado en el Z80 es el NBZ80 o Nanocomputer , producido por la empresa italiana SGS-ATES alrededor de 1979.

El Z80 se utilizó en la familia Sinclair de computadoras domésticas . El Sinclair ZX80 integra un Z80 o el μPD780C-1, un clon del procesador fabricado por NEC . Esta computadora, introducida en 1980 , integra 1 kB de RAM y 4 kB de ROM, conteniendo el sistema operativo y el lenguaje de programación Sinclair BASIC . El Sinclair ZX81 , presentado en 1981 , era una evolución del anterior, frente al que utiliza un Z80A e integra 8 kB de memoria ROM. Al igual que la ZX80, la ZX81 también delega la generación de señales de video a la CPU Z80. El heredero del ZX81 fue el Sinclair ZX Spectrum , también basado en el Z80A, pero con mejor hardware: el ZX Spectrum de hecho puede contar con más RAM (16 kB o 48 kB, según la versión), un intérprete BASIC más completo (residente en 16 kB de ROM) y gráficos en color.

Los ordenadores construidos según el estándar MSX , desarrollado por Kazuhiko Nishi , presidente de la empresa japonesa ASCII Corporation , se basaban en un Z80 de 3,58 MHz. La arquitectura MSX deriva de la de los ordenadores de Spectravideo , empresa americana que comercializaba sistemas realizados en colaboración con la Corporación ASCII. Nishi obtuvo la licencia de las computadoras de Spectravideo y revisó su hardware, creando un estándar que llamó MSX. [76] A nivel de hardware, los sistemas MSX se distribuyeron con 16/64 KB de RAM, un procesador gráfico TMS9918 y un procesador de audio AY-3-8910 .

En sistemas embebidos y electrónica de consumo

El Zilog Z80 ha sido durante mucho tiempo un microprocesador muy popular en sistemas integrados y microcontroladores [30] donde fue ampliamente utilizado hasta principios de la década de 2000 , [12] [77] reemplazado por su sucesor eZ80. Estos son algunos usos del Z80, incluidos los productos electrónicos de consumo .

Uso industrial/profesional Electrónica de consumo Instrumentos musicales y más
  • Algunos secuenciadores MIDI , como el E-mu 4060 Polyphonic Keyboard and Sequencer (1977) [98] y el Roland MSQ700 (1984) [99] , se construyeron alrededor del Z80.
  • Algunos controladores y conmutadores MIDI, como el Waldorf Midi-Bay MB-15 , también utilizaron el Z80 (1990). [100]
  • Algunos sintetizadores analógicos polifónicos integraron el Z80 como un escáner de teclado (pero también para administrar las perillas de configuración, pantallas y más) y en los convertidores D/A o en los controles PWM de los niveles analógicos; en sistemas más recientes, a veces se ha utilizado para gestionar las comunicaciones entre dispositivos MIDI. El Z80 también se usaba a menudo para generar sonido, implementando un oscilador o sintetizador de baja frecuencia . Algunos ejemplos son:
    • los sintetizadores Prophet 5 (1978), Prophet 10 (1980), [101] Prophet 600 (1982), Six-Trak (1984), Multitrak (1985), MAX (1984) y Split-8 (1985) de Sequential Circuits ; [102]
    • el sintetizador MemoryMoog de 6 voces (1982); [103]
    • el sintetizador Oberheim OB-8 de 8 voces (1983) con MIDI; [102]
    • el sintetizador de 8 voces Roland Jupiter-8 (1981). [104]
  • Sintetizadores/ muestreadores digitales como el E-MU Emulator I (1981), el Emulator II (1984) y el Akai S700 12-bit sampler (1987). [105]
  • Cajas de ritmos como la E-mu SP-12 (1985), la E-mu SP-1200 (1987), la E-mu Drumulator (1983) y la Drumtraks (1984) de Sequential Circuits utilizaban procesadores Z80. [102]
  • Muchos reverberadores digitales Lexicon de finales de la década de 1980 ( PCM70 , LXP15 , LXP1 , MPX100 ) usaban uno o más Z80 para la interfaz de usuario y el osciloscopio de baja frecuencia; Luego, las funciones en la señal digital fueron realizadas por hardware dedicado.
  • El preamplificador de guitarra con controlador MIDI de válvula ADA MP-1 (1988) usó el Z80. [106]
  • El preamplificador de guitarra MESA BOOGIE Triaxis (1991) con controlador de válvula MIDI utiliza el Z80.

Notas

  1. ^ a b ( EN ) Federico Faggin , Masatoshi Shima , Ralph Ungermann y Michael Slater (mod.), Panel de historia oral de Zilog sobre la fundación de la empresa y el desarrollo del microprocesador Z80 ( PDF ), Historia oral del microprocesador Zilog Z80 , Mountain View, California, 27 de abril de 2007 , Mountain View, CA (Estados Unidos), Computer History Museum, 2007. Consultado el 29 de agosto de 2018 (archivado desde el original el 14 de febrero de 2012) .
  2. ^ Circuitos integrados de clase Z80 , en cpu-collection.de . Consultado el 21 de agosto de 2010 .
    ( ES )

    "[El Z80] se usó ampliamente tanto en diseños de computadoras de escritorio como integradas, así como con fines de defensa, y es una de las CPU más populares de todos los tiempos".

    ( ES )

    "El Z80 se usó ampliamente tanto en sistemas integrados como en diseño de computadoras, así como para uso militar, y es una de las CPU más populares de todos los tiempos".

  3. ^ a b Bloque del Este Z80 , en cpu-collection.de . Consultado el 21 de agosto de 2010 .
    ( ES )

    "La serie 880 de procesadores de Alemania Oriental son clones de los procesadores Zilog Z80. El U880 y el UB880 son clones del Z80, el UA880 es un equivalente del Z80 A y el VB880 es una versión del Z80 con rango de temperatura mejorado (-25 °C a +85 °C) para fines industriales y militares. Fueron producidos por Funkwerk Erfurt (FWE), luego rebautizados como VEB Mikroelektronik "Karl Marx" en Erfurt (MME) en la década de 1980".

    ( ES )

    “La serie 880 de procesadores fabricados en Alemania Oriental son clones de los procesadores Zilog Z80. El U880 y el UB880 son clones del Z80, el UA880 es un equivalente del Z80 A y el VB880 es una versión del Z80 con un rango de temperatura de funcionamiento ampliado (-25 °C a +85 °C) destinado a uso militar e industrial. usos. Fueron producidos por Funkwerk Erfurt (FWE), más tarde rebautizada como VEB Mikroelektronik "Karl Marx", con sede en la ciudad de Erfurt (MME)."

  4. ^ Longley, Shain , pág. 147 .
    ( ES )

    "Hasta hace poco, las máquinas de 8 bits estaban dominadas por dos microprocesadores: el Z80 y el 6502"

    ( ES )

    "Hasta hace poco, las máquinas de 8 bits estaban dominadas por 2 microprocesadores: el Z80 y el 6502".

  5. ^ Jack Ganssle, Zilog, Redux, Redux, Redux , eetimes.com , EE Times, 14 de diciembre de 2009. Consultado el 30 de septiembre de 2010 (archivado desde el original el 31 de agosto de 2010) .
    ( ES )

    "Zilog aprovechó el éxito del Z80 con una variedad de otros procesadores, como el desafortunado Z800, que era compatible con el Z80 pero ofrecía un rendimiento mucho mayor. Esa parte nunca llegó al mercado".

    ( ES )

    “Zilog trató de capitalizar el éxito del Z80 con varios otros procesadores, incluido el desafortunado Z800, que era compatible con el Z80 pero ofrecía un mayor rendimiento. El componente nunca llegó al mercado"

  6. ^ a b Jack Ganssle, Zilog, Redux, Redux, Redux , eetimes.com , EE Times, 14 de diciembre de 2009. Consultado el 30 de septiembre de 2010 (archivado desde el original el 31 de agosto de 2010) .
    ( ES )

    "Sin embargo, el Z280 entró en producción. Algo compatible con Z80, ofrecía caché, una variedad de periféricos integrados y 24 líneas de dirección. Excesivamente compleja, la pieza sufría de una variedad de errores que Zilog nunca logró solucionar. (...) Sin embargo, Hitachi mejoró el Z80 a su 64180 que tenía una MMU primitiva integrada que extendía el bus de direcciones a 20 bits. Zilog ofreció la pieza con el nombre Z180, y ganó una participación de mercado sustancial, y todavía está disponible en la actualidad".

    ( ES )

    «El Z280, por otro lado, entró en producción. Bastante compatible con el Z80, ofrecía caché y varios periféricos integrados, así como un bus de direcciones de 24 bits. Demasiado complejo, el procesador estaba plagado de varios errores que Zilog nunca solucionó. (...) Hitachi, por otro lado, expandió el Z80 a su 64180 que tenía una MMU base integrada que extendía el bus de direcciones a 20 bits. Zilog ofreció este procesador bajo el nombre de Z180, que ganó una buena parte del mercado y todavía está disponible en la actualidad".

  7. ^ marica
    ( ES )

    "Intel en aquellos días era una empresa de memoria. Los microprocesadores eran importantes solo en la medida en que ayudaban a vender chips de memoria".

    ( ES )

    “Intel era un fabricante de memoria en ese momento. Los microprocesadores solo eran importantes en la medida en que ayudaban a vender chips de memoria".

  8. ^ marica
    ( ES )

    "Yo creía en los microprocesadores, así que decidí crear mi propia empresa, completamente dedicada al nuevo negocio. Tomé esa decisión en el verano de 1974, unos meses después de la introducción en el mercado del 8080. Finalmente dejé Intel en octubre de 1974 y con Ralph Ungermann, uno de los gerentes que me reportaba, comencé Zilog".

    ( ES )

    «Yo creía en los microprocesadores, así que decidí montar mi propia empresa, completamente dedicada al nuevo negocio. Tomé esta decisión en el verano de 1974, unos meses después de la introducción del 8080 en el mercado. Dejé Intel definitivamente en octubre de 1974 y, con Ralph Ungermann, uno de los gerentes bajo mi dirección, fundé Zilog".

  9. ^ marica
    ( ES )

    "Concebí la familia de microprocesadores Z80 en diciembre de 1974".

    ( ES )

    "Concebí la familia de microprocesadores Z80 en diciembre de 1974"

  10. ^ a b Anderson , pág. 51 .
  11. ^ Andre Adrian, Z80, el Number Cruncher de 8 bits , en andreadrian.de . Consultado el 11 de noviembre de 2010 .
  12. ^ a b c Balch , pág. 122 .
  13. ^ La guía de CPU de red hill: al principio , en redhill.net.au , Red Hill Tech. Consultado el 9 de noviembre de 2010 .
    ( ES )

    «Zilog Z-80 - El microprocesador más exitoso de todos los tiempos. (...) El Z-80 se vendía en grandes cantidades y estaba en el corazón de la mayoría de las microcomputadoras de la era CP/M".

    ( ES )

    El Zilog Z80 - El microprocesador más exitoso de todos los tiempos. (...) El Z80 se vendió en grandes cantidades, y fue el corazón de muchas de las microcomputadoras de la era CP/M".

  14. ^ a b c New Scientist (5/5/1983) , p. 276 .
    ( ES )

    "Los chips japoneses en cuestión son el PD780 y el PD780-1. Ambos se introdujeron en 1979 y ahora representan el 30 por ciento de las ventas en los EE. UU. de microprocesadores tipo Z80. Zilog representa otro 40 por ciento de las ventas y el resto está compuesto por Z80 fabricados bajo licencia de Zilog por empresas como Mostek, SGS y Sharp".

    ( ES )

    «Los chips japoneses en cuestión son el PD780 y el PD780-1. Ambos se introdujeron en 1979 y ahora se les atribuye el 30% de las ventas de microprocesadores tipo Z80 en los Estados Unidos. A Zilog se le atribuye otro 40% de las ventas, el resto se atribuye a los Z80 producidos bajo la licencia de Zilog por empresas como Mostek, SGS y Sharp".

  15. ^ a b КР1858ВМ1, clon ruso del Z80 , en chipdb.org . Consultado el 29 de septiembre de 2010 .
  16. ^ a b Brock , pág. 166 .
    ( ES )

    "A principios de 1976, Zilog lanzó el Z80, una mejora sustancial sobre el Intel 8080 que conservaba la compatibilidad total con el chip anterior".

    ( ES )

    "A principios de 1976, Zilog presentó el Z80, una mejora sustancial del Intel 8080 que mantuvo la compatibilidad total con el chip anterior".

  17. ^ InfoMundo , págs. 58-60 .
    ( ES )

    «(...) Masatoshi Shima, que también había trabajado en el 4004 mientras estaba en Busicom. Luego diseñó el Z80 para Zilog (...)"

    ( ES )

    «(...) Masatoshi Shima, quien también desarrolló el 4004 mientras trabajaba para Busicom. Luego diseñó el Z80 para Zilog (...)"

  18. ^ Mathur , pág. 111 .
    ( ES )

    "La arquitectura de registro del Z80 es más innovadora que la del 8085".

    ( ES )

    "La arquitectura de registro del Z80 es más innovadora que la del 8085".

  19. ^ Ciarcia , págs. 31-32 .
  20. ^ a b Chen , pág. 1943 .
    ( ES )

    «(...) el procesamiento de la interrupción comienza de acuerdo con el método de interrupción estipulado por la instrucción IM" i "," i "= 0, 1 o 2. Si "i" = 1, por método directo, la PC (...) se carga con 0038H. Si "i" = 0, para el método vectorizado, (...) el dispositivo de interrupción tiene la oportunidad de colocar el código de operación para un byte (...). Si "i" = 2, para el método de vector indirecto, (...) el dispositivo de interrupción debe colocar un byte (...). El Z80 luego usa este byte (...) donde uno de los 128 vectores de interrupción puede ser seleccionado por el byte (...)".

    ( ES )

    «(...) la gestión de interrupciones se inicia de acuerdo con el método de interrupción establecido por la instrucción IM "i", con "i" que puede asumir los valores de 0, 1 o 2. Si "i" = 1, directo modo , entonces la PC (...) se carga con 0038H. Si "i" = 0, método vectorizado, el dispositivo que solicita la interrupción tiene la oportunidad de colocar el código de operación para 1 byte (...). Si "i" = 2, modo vectorizado indirecto, (...) el dispositivo que solicita la interrupción debe colocar un byte (...). El Z80 luego usa este byte (...) para seleccionar uno de los 128 vectores de interrupción (...) "

  21. ^ Informática popular , McGraw-Hill, 1983, p. 15 _ .
  22. ^ John Markoff, el veloz Z80 de Zilog mejora el rendimiento de 8 bits a 16 bits , en InfoWorld , InfoWorld Media Group, 18 de octubre de 1982, p. 1.
  23. ^ a b Familia de microprocesadores Zilog Z80 , en cpu-world.com . Consultado el 29 de septiembre de 2010 .
  24. ^ a b Zilog
  25. ^ Zilog , págs. 6-2 .
    ( ES )

    "P: ¿El conjunto de instrucciones del Z180 es completamente idéntico al de la CPU Z80 excepto por las nuevas instrucciones? R: Hay tres instrucciones que no son iguales. Ellos son: DAA y RRD/RLD.”

    ( ES )

    «P: ¿El conjunto de instrucciones del Z180 es completamente idéntico al de la CPU Z80, excepto las nuevas instrucciones? A: Hay tres instrucciones que no son iguales. Ellos son: DAA y RRD/RLD.”

  26. ^ Jack G. Ganssle, ¡ El Z80 vive! , de z80.info , 1992. Consultado el 11 de noviembre de 2010 .
    ( ES )

    "Los diseñadores eligieron una arquitectura compatible con el Z80, lo que brinda a los usuarios del Z80 una ruta de actualización completamente compatible con el software. (...) El procesador 64180 ejecuta cada instrucción Z80 exactamente como lo hace un Z80".

    ( ES )

    “Los desarrolladores crearon una arquitectura compatible con Z80, brindando a los usuarios de Z80 un producto que es 100% compatible con Z80 a nivel de software. (...) El procesador 64180 ejecuta cada instrucción del Z80 exactamente como lo haría un Z80".

  27. ^ Kilobaud , 1001001, 1977, pág. 22 ..
  28. ^ Zaks , pág. 62 .
  29. ^ William Aspray, Entrevista con Masatoshi Shima , ieeeghn.org , IEEE.org, 17 de mayo de 1994. Consultado el 14 de octubre de 2010 .
    ( ES )

    "No nos enfocamos en las computadoras centrales. Nos enfocamos en equipos de oficina como impresoras de alto rendimiento, cajas registradoras de alta gama y terminales inteligentes".

    ( ES )

    “No nos enfocamos en las computadoras centrales. Nos enfocamos en equipos de oficina como impresoras de alto rendimiento, cajas registradoras de alta gama y terminales inteligentes”

  30. ^ a b c Heath , pág. 21 .
  31. ^ Zilog , pág. 24 .
    ( ES )

    "La CPU Z80 contiene un contador de actualización de memoria, lo que permite que las memorias dinámicas se utilicen con la misma facilidad que las memorias estáticas. Siete bits de este registro de 8 bits se incrementan automáticamente después de cada búsqueda de instrucción. El octavo bit permanece como estaba programado, como resultado de una LD R, Ainstrucción ".

    ( ES )

    “La CPU Z80 contiene un contador de actualización de memoria que le permite usar memorias dinámicas tan fácilmente como memorias estáticas. Después de la ejecución de cada instrucción, se incrementan automáticamente 7 bits de este registro de 8 bits. El octavo bit permanece como se configuró, a través de una instrucción LD R, A".

  32. ^ Ken Shirriff, El Z-80 tiene una ALU de 4 bits. Así es como funciona , en righto.com , el blog de Ken Shirriff. Consultado el 08/08/2021 .
  33. ^ Electrónico: cómo z80 usa una ALU de 4 bits y devuelve resultados en un solo ciclo de reloj , en itectec.com . Consultado el 08/08/2021 .
  34. ^ Arquitectura de CPU Z80 , en z80.info . Consultado el 08/08/2021 .
  35. ^ Frank Durda IV, conjunto de instrucciones 8080/Z80 , en nemesis.lonestar.org . Consultado el 3 de septiembre de 2010 (archivado desde el original el 11 de febrero de 2016) .
  36. ^ Sistemas SLR , pág. B-2 .
    ( ES )

    «Las instrucciones de "salto" ( JP), que cargan el contador del programa con una nueva dirección de instrucción, no acceden a la memoria por sí mismas. Las formas absolutas y relativas del salto reflejan esto omitiendo los corchetes de sus operandos. Las instrucciones de salto basadas en registros como " JP (HL)" incluyen corchetes en una aparente desviación de esta convención. "

    ( ES )

    «Las instrucciones de salto" Jump "( JP), que cargan la dirección para ejecutar nuevas instrucciones en el contador del programa, no acceden directamente a la memoria. Las formas absoluta y relativa del salto reflejan esto al omitir los corchetes en sus operandos. Las instrucciones de bifurcación basadas en registros, como " "JP (HL)", aparentemente no respetan esta convención e incluyen paréntesis "

  37. ^ Scanlon , pág. 12 _
    ( ES )

    "El 8086 es compatible con el software del 8080 en el nivel de lenguaje ensamblador"

    ( ES )

    "El 8086 es compatible con el código del 8080 a nivel de lenguaje ensamblador"

  38. ^ Nelson , pág. 2 .
    ( ES )

    "Un programa traductor de Intel podría convertir programas ensambladores 8080 en programas ensambladores 8086".

    ( ES )

    "Un programa de traducción de Intel podría convertir programas ensambladores 8080 en programas ensambladores 8086"

  39. ^ a b Introducción a la CPU Z80 , en z80.info , Zilog, 1995. Consultado el 11 de noviembre de 2010 .
    ( ES )

    "Tiene un lenguaje de 252 instrucciones raíz y con los 4 bytes reservados como prefijos, accede a 308 instrucciones adicionales".

    ( ES )

    “Tiene un lenguaje con 252 instrucciones básicas y con los 4 bytes restantes reservados como prefijos, que acceden a 308 instrucciones adicionales”.

  40. ^ Sánchez, Cantón , p. 65 .
    ( ES )

    "Los microprocesadores de 8 bits que precedieron a la familia 80x86 (como el Intel 8080, el Zilog Z80 y el Motorola) no incluían multiplicación (...)"

    ( ES )

    "Ningún microprocesador de 8 bits anterior a la familia 80x86 (como Intel 8080, Zilog Z80 y Motorola) incluía multiplicación"

  41. ^ Comparación de los tiempos de ejecución de instrucciones Z80 ( TXT ), en z80.info . Consultado el 14 de octubre de 2010 .
  42. ^ Organización de hardware Z80: registros de índice , en msxarchive.nl . Consultado el 12 de noviembre de 2010 .
    ( ES )

    "La indexación es una función para acceder a bloques de datos en la memoria con una sola instrucción".

    ( ES )

    "La indexación es un medio para acceder a bloques de datos en la memoria con una sola instrucción".

  43. ^ Froehlich , pág. 133 .
    ( ES )

    "Los códigos Z80 no documentados permiten operaciones de 8 bits con registros IX e IY".

    ( ES )

    "Los códigos no documentados del Z80 permiten operaciones de 8 bits con registros IX e IY"

  44. ^ a b JT Jacco, Instrucciones no documentadas de Z80 , en Inicio de la CPU Z80 . Consultado el 11 de noviembre de 2010 .
    ( ES )

    "Si un código de operación funciona con los registros HL, H o L, si ese código de operación está precedido por #DD (o #FD), funciona en IX, IXH o IXL (o IY, IYH, IYL), con algunas excepciones. Las excepciones son instrucciones como LD H, IXH y LD L, IYH (...)"

    ( ES )

    «Si un código de operación funciona con los registros HL, H o L, entonces si ese código de operación está precedido por #DD (o #FD), funciona con IX, IXH o IXL (o IY, IYH e IYL), con algunas excepciones. Las excepciones son instrucciones como LD, H, IXH y LD, L, IYH (...)"

  45. ^ InfoMundo 21/06/1982 , p. 23 .
    ( ES )

    "Después del resumen del comando hay ejemplos y dos páginas de códigos de operación Z80 no documentados".

    ( ES )

    "Después del resumen de comandos hay ejemplos y dos páginas de códigos de operación no documentados del Z80"

  46. ^ Grandes microprocesadores del pasado y el presente - Parte IV: El Zilog Z-80 - Fin de una línea de 8 bits (julio de 1976) .... , en cpushack.com , CPU Shack. Consultado el 11 de octubre de 2015 .
    ( ES )

    «Como muchos procesadores (incluido el 8085), el Z-80 presentaba muchas instrucciones no documentadas. En algunos casos, eran un subproducto de los primeros diseños (que no capturaban los códigos de operación no válidos, sino que trataban de interpretarlos lo mejor que podían), y en otros casos, el área del chip cerca del borde se usaba para instrucciones adicionales, pero la fabricación hizo que la tasa de fracaso fuera alta. Las instrucciones que a menudo fallaban simplemente no estaban documentadas, lo que aumentaba el rendimiento del chip. La fabricación posterior los hizo más confiables".

    ( ES )

    “Como muchos procesadores (incluido el 8085), el Z80 tenía muchas instrucciones sin documentar. En muchos casos, eran un subproducto de los primeros diseños (que no interceptaban los códigos de operación no válidos sino que intentaban interpretarlos lo mejor que podían), y en otros casos, las áreas del chip cerca de los bordes se usaban para obtener instrucciones adicionales, pero la producción dio algunos casos elevados de mal funcionamiento. Las instrucciones que eran más propensas a estas fallas simplemente no estaban documentadas, lo que aumentaba el rendimiento de los chips. Las producciones posteriores los hicieron más confiables".

  47. ^ Zilog , pág. 11 _
  48. ^ Ciarcia , pág. 65 .
  49. ^ Zaks , pág. 200 .
    ( ES )

    «ADD A, n Añadir acumulador con dato inmediato n. (...) MEMORIA Temporización: 2 M ciclos; 7 T afirma".

    ( ES )

    «ADD A, n Suma el siguiente dato n al acumulador. (....) MEMORIA Temporización: 2 M-ciclos; 7 estados T "

  50. ^ a b Ciarcia , pág. 63 .
  51. ^ Ciarcia , pág. 77 .
  52. ^ Ciarcia , pág. 58 .
  53. ^ Sean Young, Z80 Undocumented Features (en el comportamiento del software) ( TXT ), z80.info , 1998. Consultado el 11 de noviembre de 2010 .
    ( ES )

    "Las instrucciones de E/S usan todo el bus de direcciones, no solo los 8 bits inferiores. Entonces, de hecho, puede tener 65536 puertos de E / S en un sistema Z80 (el Spectrum usa esto). IN r,(C), OUT (C),ry todas las instrucciones del bloque de E/S colocan todo el BC en el bus de direcciones. IN A,(n)y OUT (n),Aponer A*256+nen el autobús de direcciones ".

    ( ES )

    “Las instrucciones de E/S utilizan todo el bus de direcciones, no solo los 8 bits inferiores. De hecho, puede tener 65.536 puertos de E/S en un sistema Z80 (el Spectrum usa esta configuración). IN r,(C), OUT (C),ry todas las instrucciones en los bloques de E/S colocan todo el contenido del registro BC en el bus de direcciones. IN A,(n)e OUT (n),Ainsertar A*256+nen el bus de direcciones ".

  54. ^ Jack G. Ganssle, ¡ El Z80 vive! , de z80.info , 1992. Consultado el 8 de noviembre de 2010 .
    ( ES )

    «El 64180 es un núcleo Z80 suministrado por Hitachi con numerosos "extras" en el chip. La versión de Zilog es la Z180, que es esencialmente la misma parte".

    ( ES )

    «El 64180 es un núcleo Z80 desarrollado por Hitachi con numerosos "extras" integrados en el chip. La versión de Zilog es la Z180, que es esencialmente el mismo componente".

  55. ^ Zilog, Inc. , pág. 1 .
    ( ES )

    "El Z8S180 / Z8L180 mejorado mejora significativamente los modelos Z80180 anteriores, al mismo tiempo que brinda compatibilidad total con versiones anteriores de los dispositivos ZiLOG Z80 existentes. El Z8S180/Z8L180 ahora ofrece velocidades de ejecución más rápidas, modos de ahorro de energía y reducción de ruido EMI".

    ( ES )

    «El Z8S180 / Z8L180 avanzado es significativamente mejor que los modelos Z80180 anteriores, al mismo tiempo que mantiene una compatibilidad total con versiones anteriores de los dispositivos Zilog Z80 existentes. El Z8S180/Z8L180 ahora ofrece una velocidad de ejecución más rápida, modos de ahorro de energía y reducción de ruido electromagnético (EMI).

  56. ^ Jack G. Ganssle, ¡ El Z80 vive! , de z80.info , 1992. Consultado el 12 de noviembre de 2010 .
    ( ES )

    "Tanto Toshiba como Zilog venden el 84013 y el 84015, que son núcleos Z80 con periféricos Z80 convencionales integrados".

    ( ES )

    "Tanto Toshiba como Zilog venden el 84013 y el 84015, que son núcleos Z80 con periféricos Z80 convencionales integrados en el chip".

  57. ^ Zilog, Inc. , pág. 10 _
    ( ES )

    "El conjunto de instrucciones de la CPU eZ80 es un superconjunto de los conjuntos de instrucciones para las CPU Z80 y Z180. Los programas Z80 y Z180 se ejecutan en una CPU eZ80 con poca o ninguna modificación".

    ( ES )

    «El conjunto de instrucciones de la CPU eZ80 es un superconjunto del conjunto de instrucciones de las CPU Z80 y Z180. Los programas para Z80 y Z180 se ejecutan en una CPU eZ80 con poca o ninguna modificación".

  58. ^ Cahners Asia Ltd. , pág. 5 .
    ( ES )

    "KL5C80A12, KL5C80A16 y KL5C8400 de Kawasaki son MCU y CPU de 8 bits de alta velocidad. Su código de CPU, KC80 es compatible con Z80 de Zilog a nivel binario. [...] KC80 ejecuta instrucciones unas cuatro veces más rápido que Z80 a la misma velocidad de reloj [...] »

    ( ES )

    «Los chips Kawasaki KL5C80A12, KL5C80A16 y KL5C8400 son MCU y CPU de 8 bits de alta velocidad. Su código de CPU, KC80, es compatible binariamente con el de Zilog Z80. (...) El KC80 ejecuta instrucciones unas 4 veces más rápido que el Z80 a la misma frecuencia de reloj (...)."

  59. ^ Especificaciones de hardware , de S1mp3.org , 2005. Consultado el 11 de noviembre de 2010 .
  60. ^ Smithsonian , pág. 16 _
  61. ^ Axelson , pág. 93 .
    ( ES )

    "[...] El microprocesador Rabbit 3000 de Rabbit Semiconductor, que es un derivado muy mejorado y mejorado del venerable microprocesador Z80 de Zilog, Inc.".

    ( ES )

    "El microprocesador Rabbit 3000 de Rabbit Semiconductor es una versión mejorada y mejorada del antiguo procesador Z80 de Zilog, Inc."

  62. ^ Hyder, Perrin , pág. 32 .
    ( ES )

    "Las partes de Rabbit se basan estrechamente en la arquitectura Zilog Z180, aunque no son compatibles binariamente con las partes de Zilog".

    ( ES )

    "Los productos de Rabbit se basan estrictamente en la arquitectura Zilog Z180, aunque no son compatibles binariamente con los productos Zilog".

  63. ^ Jack Ganssle, ZiLOG, Redux, Redux, Redux , en eetimes.com , EETimes, 14 de diciembre de 2009. Consultado el 14 de octubre de 2010 (archivado desde el original el 31 de agosto de 2010) .
    ( ES )

    "Sin embargo, el Z280 entró en producción. Algo compatible con Z80, ofrecía caché, una variedad de periféricos integrados y 24 líneas de dirección. Excesivamente compleja, la pieza sufría de una variedad de errores que ZiLOG nunca logró solucionar".

    ( ES )

    «El Z280, por otro lado, entró en producción. Compatible con el Z80, ofrecía caché y un conjunto de periféricos integrados y un bus de direcciones de 24 bits. Demasiado complejo, el producto estaba plagado de varios errores que Zilog nunca solucionó".

  64. ^ CZ80CPU: núcleo de microprocesador de 8 bits , en Cast . Consultado el 11 de noviembre de 2010 (archivado desde el original el 10 de marzo de 2010) .
  65. ^ a b T80 cpu :: Resumen , en opencores.org . Consultado el 8 de noviembre de 2010 .
  66. ^ TV80 :: Descripción general , en opencores.org . Consultado el 8 de noviembre de 2010 .
  67. ^ Página de inicio de TV 80 , en ghutchis.googlepages.com . Consultado el 11 de noviembre de 2010 .
  68. ^ Preguntas frecuentes :: OpenCores , en opencores.org . Consultado el 8 de noviembre de 2010 .
  69. ^ Chapman , pág. 223 .
    ( ES )

    "[...] y CP/M continuaron dominando el mundo de las microcomputadoras de 8 bits".

    ( ES )

    "(...) y el CP/M siguió dominando el mundo de las microcomputadoras de 8 bits".

  70. ^ InfoMundo 5/10/1982 , pág. 20 _
    ( ES )

    "La idea de un sistema operativo genérico aún está en pañales. En muchos sentidos, comienza con CP/M y la mezcolanza de las primeras computadoras 8080 y Z80".

    ( ES )

    “La idea de un sistema operativo genérico aún está en sus primeras etapas. Evoluciona en su mayor parte del CP/M y la mezcla de los primeros ordenadores 8080 y Z80".

  71. ^ Programación de ensamblaje Commodore 128 - CPU Z80 , en commodore64.se . Consultado el 11 de noviembre de 2010 .
    ( ES )

    "Además de la CPU 8502, el C128 también contiene una CPU Z80. El Z80 se usa en modo CP/M (...)"

    ( ES )

    “Además de la CPU 8502, la C128 también contiene una CPU Z80. El Z80 se usa en modo CP/M (...)"

  72. ^ Máquinas de negocios Commodore , p. 486 .
    ( ES )

    "La computadora Commodore 128 es un sistema de dos procesadores, con el 8502 como procesador principal y el Z80 como procesador secundario. (...) La función principal del Z80 es ejecutar CP/M 3.0".

    ( ES )

    “La computadora Commodore 128 es un sistema biprocesador, con el 8502 como procesador principal y el Z80 como procesador secundario. (...) La función principal del Z80 es hacer funcionar el CP/M 3.0".

  73. ^ InfoMundo (02/06/1984) , pág. 64 .
    ( ES )

    "Sin embargo, varios fabricantes fabrican placas de coprocesador Z80 que se conectan al Apple II".

    ( ES )

    "Sin embargo, varios fabricantes fabrican tarjetas con el Z80 como coprocesador que se puede insertar dentro del Apple II".

  74. ^ Informática popular , McGraw-Hill, 1986, p. 22 ..
    ( ES )

    "El paquete Commodore 64 CP/M contiene un cartucho enchufable con un microprocesador Z80 y el sistema operativo CP/M en un disco".

    ( ES )

    "El paquete CP/M para el Commodore 64 contiene una tarjeta complementaria con un microprocesador Z80 y un disco con el sistema operativo CP/M"

  75. ^ MPF-1B de Flite (Sistema de formación de microprofesores) , de flite.co.uk , Flite Electronics International Limited. Consultado el 1 de octubre de 2010 (archivado desde el original el 9 de mayo de 2008) .
  76. ^ Roger Samdal, Historia de SpectraVision , en samdal.com . Consultado el 13 de enero de 2013 .

    «El SV-318/328 fue el resultado de la colaboración de la estadounidense Spectravideo (gestión y marketing), de Bondwell de Hong Kong (montaje) y de la japonesa ASCII Corporation (software de sistema). ASCII también era el representante de Microsoft en Japón en ese momento. El presidente de ASCII, Kazuhiko Nishi (también conocido como Kay Nishi), vio el potencial de las computadoras de Spectravideo. Quería crear un estándar mundial para ordenadores domésticos derivado del diseño del SV-328, denominado estándar MSX. Spectravideo aceptó y ASCII hizo algunos pequeños cambios en el proyecto".

    ( Roger Samdal )
  77. ^ Sinclair , pág. 204 .
  78. ^ .Meystel , pág. 44 .
  79. ^ Artwick , pág. 25 .
  80. ^ Nate Anderson, Las solicitudes de código fuente obligan al fabricante del alcoholímetro a recuperar la sobriedad , en Ars Technica , 15 de septiembre de 2008. Consultado el 11 de noviembre de 2010 .
    ( ES )

    "El Intoxilyzer 5000EN, un alcoholímetro [...], funciona con un par de procesadores Z80".

    ( ES )

    "El Intoxilyzer 5000EN, un alcoholímetro (...), funciona con un par de procesadores Z80."

  81. ^ TI-73 , en ticalc.org . Consultado el 8 de noviembre de 2010 .
  82. ^ TI-81 , en ticalc.org . Consultado el 8 de noviembre de 2010 .
  83. ^ TI-82 , en ticalc.org . Consultado el 8 de noviembre de 2010 .
  84. ^ TI-83 , en ticalc.org . Consultado el 8 de noviembre de 2010 .
  85. ^ TI 84 Plus , en ticalc.org . Consultado el 8 de noviembre de 2010 .
  86. ^ TI-85 , en ticalc.org . Consultado el 8 de noviembre de 2010 .
  87. ^ TI-86 , en ticalc.org . Consultado el 8 de noviembre de 2010 .
  88. ^ Robert Campbell, TI-82/83/85/86 Mathematics Use , en math.umbc.edu , UMBC, 2001. Consultado el 11 de noviembre de 2010 .
  89. ^ Miesenberg , pág. 556 .
  90. ^ A mitad de camino , pág. 35 .
  91. ^ Nitsche , pág. 26 .
    ( ES )

    "[...] no se darían cuenta de la diferencia lógica fundamental entre una versión de Pac-Man (Iwatani 1980) que se ejecuta en el Z80 original [...]"

    ( ES )

    "(...) no entendieron la diferencia fundamental en la lógica entre la versión de Pac-Man (Iwatani 1980) que se ejecuta en el Z80 original (...)"

  92. ^ A mitad de camino , pág. 25 .
  93. ^ A mitad de camino , pág. 76 .
  94. ^ F1 Super Battle (arcade) - CPU de sonido: Z80 , en arcadehits.net , ArcadeHits. Consultado el 1 de octubre de 2010 .
  95. ^ InfoMundo (20/12/1982) , p. 33 .
    ( ES )

    "El ColecoVision utiliza el microprocesador Z80".

    ( ES )

    "El ColecoVision utiliza el microprocesador Z80".

  96. ^ Sánchez-Crespo Dalmau , p. 14 _
    ( ES )

    "Internamente, tanto NES como Master System estaban equipados con procesadores de 8 bits (un 6502 y un Zilog Z80, respectivamente)".

    ( ES )

    "Internamente, tanto el NES como el Master System estaban equipados con procesadores de 8 bits (un 6502 y un Zilog Z80 respectivamente)".

  97. ^ Frand, Yarusso , pág. 182 .
    ( ES )

    "Este primer Game Boy funcionaba con cuatro pilas AA y estaba equipado con un microprocesador Zilog Z80, el mismo procesador que se usaba en muchos dispositivos electrónicos en la década de 1980. De hecho, todos los modelos de Game Boy, incluido el Game Boy Color, tenían una CPU Z80".

    ( ES )

    “La primera Game Boy funcionaba con 4 pilas AA y estaba equipada con un microprocesador Zilog Z80, el mismo procesador que se usaba en muchos dispositivos de la década de 1980. De hecho, todos los modelos de Game Boy, incluido Game Boy Color, usaban una CPU Z80".

  98. ^ Rob Keeble, La historia de Emu Systems , en media.mit.edu . Consultado el 18 de octubre de 2010 (archivado desde el original el 24 de junio de 2010) .
    ( ES )

    "(...) el Z80 se convirtió en la base de los productos Emu durante los siguientes 10 años".

    ( ES )

    "El Z80 se convirtió en la base de los productos Emu durante los próximos 10 años".

  99. ^ AM MSQ700 Nexus - Secuenciador MIDI , en emulatorarchive.com , The Emulator Archive. Consultado el 12 de noviembre de 2010 .
    ( ES )

    "El MSQ700 es un diseño muy fiable y robusto que sobrevivirá durante décadas. Se basaba en un microprocesador Z80".

    ( ES )

    “El MSQ700 es un producto robusto y muy confiable que puede durar décadas. Estaba basado en un microprocesador Z80".

  100. ^ Waldorf Midi-Bay MB-15 , en till-kopper.de . Consultado el 18 de octubre de 2010 .
  101. ^ Gordon Reid, The Prophet 5 and Prophet 10 , gordonreid.co.uk , 1999. Consultado el 11 de noviembre de 2010 (archivado desde el original el 8 de agosto de 2002) .
    ( ES )

    "Aunque los Prophet 5 y Prophet 10 incorporaron microprocesadores Z80, [...]"

    ( ES )

    "Aunque Prophet 5 y Prophet 10 incorporaron microprocesadores Z80, (...)"

  102. ^ a b c Lista de sintetizadores anteriores , en vintagesynth.com , Vintage Synth. Consultado el 18 de octubre de 2010 .
  103. ^ Acerca de MemoryMoog , en el grupo de usuarios de Moog MemoryMoog . Consultado el 11 de noviembre de 2010 .
    ( ES )

    "La CPU es Z80 + Z80CTC".

    ( ES )

    "La CPU es una Z80 más una Z80CTC".

  104. ^ The Roland Jupiter 8 Analog Synthesizer , en synthtopia.com , Synthtopia, 6 de marzo de 2009. Consultado el 18 de octubre de 2010 .
    ( ES )

    "Se usó una CPU Z80 para administrar el almacenamiento de parches, escanear el teclado, la pantalla y los botones, manejar los puertos y encargarse de la función de sintonización automática, entre otras cosas".

    ( ES )

    "Se usó una CPU Z80, entre otras cosas, para manejar el almacenamiento de parches, el escaneo del teclado, la pantalla, los botones, la administración de puertos y el ajuste automático".

  105. ^ Akai S700 , en reviews.harmony-central.com , Harmony Central. Consultado el 18 de octubre de 2010 (archivado desde el original el 31 de marzo de 2008) .
  106. ^ MP-1 ADA Schematics ( ZIP ), en users.skynet.be . Consultado el 8 de noviembre de 2010 .

Bibliografía

Textos

  • Microprocesadores , Jackson Publishing Group, 1988, págs. 85-120, ISBN  88-256-0068-2 .
  • Rodnay Zaks, Programación Z80 , Jackson Publishing Group, 1981.
  • Lance A. Leventhal, Z80 - Programación en lenguaje ensamblador , Jackson Publishing Group, 1981.
  • Adam Osborne, Jerry Kane, Russell Rector, Susanna Jacobson, Programación Z80 y diseño lógico , Jackson Publishing Group, 1981.
  • Elizabeth A. Nichols, Joseph C. Nichols, Peter R. Rony, Il Nanobook Z-80 , Jackson Italiana Editrice, 1979.
  • Patrizio Sesto Rubino, Giuseppe Lunch Zaccaria, The new manual Z80 , Il Rostro Publishing, 1982. ISBN no existe
  • ( EN ) Libro de datos de componentes Zilog, Zilog, 1985. ISBN no existe
  • ( EN ) Zilog Z-80 Data Book ( PDF ), Zilog, 1978. Consultado el 20 de julio de 2009 (archivado desde el original el 18 de octubre de 2010) . ISBN no existe
  • ( EN ) Alexander John Anderson, Foundations of Computer Technology , 1ª ed., CRC Press, 8 de septiembre de 1994, ISBN  0-412-59810-8 .
  • ( EN ) Bruce A. Artwick, Interfaz de microordenador , Prentice-Hall, 1980, ISBN  978-0-13-580902-0 .
  • ( EN ) Jan Axelson, Embedded ethernet and internet complete , Lakeview research, 2003, ISBN  978-1-931448-00-0 .
  • ( EN ) Mark Balch, Fundamentos digitales , en Diseño digital completo: una guía completa para la electrónica digital y la arquitectura de sistemas informáticos , McGraw-Hill Professional, 2003, ISBN  0-07-140927-0 .
  • ( EN ) Gerald W. Brock, La segunda revolución de la información , Harvard University Press, 2003, ISBN  978-0-674-01178-6 .
  • ( EN ) Wai-Kai Chen, 61.4 - Microprocessor Based Degins: Interfacing , en Manual de circuitos y filtros , 2.ª ed., CRC Press, 2002, ISBN  978-0-8493-0912-0 .
  • ( EN ) Steve Ciarcia, Construya su propia computadora Z80: pautas de diseño y notas de aplicación , BYTE, octubre de 1981, ISBN  0-07-010962-1 .
  • ( EN ) Commodore Business Machines, Commodore 128: Guía de referencia del programador , Bantam Books, 1986, ISBN  978-0-553-34292-5 .
  • ( ES ) Daniel Sánchez-Crespo Dalmau, Técnicas básicas y algoritmos en la programación de juegos , New Riders, 2004, ISBN  978-0-13-102009-2 .
  • ( EN ) Robert A. Froehlich, Catálogo de software libre y directo , Crown Publishers, 1984, ISBN  978-0-517-55448-7 .
  • ( ES ) Joe Grand et al. , Piratería de consolas de juegos: Xbox, PlayStation, Nintendo, Game Boy, Atari y Sega , Syngress, 2004, ISBN  978-1-931836-31-9 .
  • Steve Heath, Diseño de sistemas integrados , 2ª ed ., Newnes, diciembre de 2002, ISBN 978-0-7506-5546-0 . 
  • ( EN ) Herman Holtz, Estaciones de trabajo informáticas: guía para gerentes de automatización de oficinas y sistemas multiusuario , Chapman and Hall, 1985, ISBN  978-0-412-00491-9 .
  • Kamal Hyder, Bob Perrin, Diseño de sistemas integrados con el microprocesador Rabbit 30000 , Newnes, 2004, ISBN  978-0-7506-7872-8 .
  • ( EN ) Dennis Longley, Michael Shain, Microcomputadoras en expansión y en red: la guía completa y actualizada de más de 600 placas para PC Apple e IBM , MacMillan Press, 1985, ISBN  978-0-333-38006-2 .
  • ( EN ) Aditya P. Mathur, Introducción a los microprocesadores , 3.ª ed., McGraw Hill, 1990, ISBN  978-0-07-460222-5 .
  • ( EN ) Alex Meystel, Robots móviles autónomos: vehículos con control cognitivo , World Scientific, 1991, ISBN  978-9971-5-0089-4 .
  • ( EN ) Klaus Miesenberger, Computers Helping People with Special Needs , Springer-Verlag, 2008, ISBN  978-3-540-70539-0 .
  • ( EN ) Ross P. Nelson, El libro 80386: guía del programador en lenguaje ensamblador para 80386 , Microsoft Press, 1989, ISBN  978-1-55615-138-5 .
  • Michael Nitsche, Games and Rules , en Video Game Spaces: Image, Play, and Structure in 3D Worlds , MIT Press, 2009, ISBN  0-262-14101-9 .
  • ( EN ) Julio Sanchez, Maria P. Canton, Soluciones de software para ingenieros y científicos , CRC Press, 2008, ISBN  978-1-4200-4302-0 .
  • ( EN ) Leo J. Scanlon, 8086/8088/80286 lenguaje ensamblador , Brady Books, 1978, ISBN  978-0-13-246919-7 .
  • ( EN ) Ian R. Sinclair, Manual práctico de electrónica , 5.ª ed., Newnes, 2000, ISBN  978-0-7506-4585-0 .
  • ( EN ) Electronic Business Asia , Cahners Asia Limited, 1997. ISBN no existe

Publicaciones

Artículos sobre la arquitectura del Z80

Usos educativos

Aplicaciones científicas

Artículos relacionados

Otros proyectos

Enlaces externos