¿De qué manera el Z80 fue dramáticamente superior al 6502 a pesar del IPC más bajo del Z80?

Como gran aficionado del 6502, pensé en asumir esto. Si está comparando reloj por reloj, entonces no hay casi nada. No hay instrucciones que tomen menos de 4 ciclos de reloj (estados T). Mientras que el 6502 tiene una serie de instrucciones que toman dos ciclos de reloj. Las cosas que son funcionalmente equivalentes a menudo toman de dos a cuatro veces más ciclos. Esto es:

Copiar un registro

TAY # 6502 – 1 byte, 2 ciclos de reloj
LD H, E # Z80 – 1 byte, 4 estados T

Cargando un valor en un registro

LDA # 06 # 6502 – 2 bytes, 2 ciclos de reloj
LD A, 06 # Z80 – 2 bytes, 7 estados T

Algunas cosas que están cerca, como regresar de una subrutina.

RTS – 6502 – 1 byte 6 ciclos de reloj
RET – Z80 – 1 byte 10 ciclos de reloj

… y moviendo un bloque de memoria.

# 6502
LDX # $ 30 2 ciclos de reloj
] LOOP LDA $ 2000, X 4 ciclos de reloj (5 si cruza una página)
STA $ 4000, X 5 ciclos de reloj
DEX 2 ciclos de reloj
BNE] LOOP 2 ciclos de reloj

Lo que demora entre 13 y 14 ciclos por byte o aproximadamente 74 KB / s en una máquina de 1Mhz. Comparado con la instrucción Z80 LDIR que toma alrededor de 21 ciclos por byte, aproximadamente 48 KB / s en una máquina hipotética de 1Mhz.

Al menos una cosa en el Z80 es claramente más rápido. La instrucción EXX intercambia los valores de los seis registros principales de 8 bits con otros seis registros alternativos y lo hace en cuatro ciclos. Simplemente no hay una disposición de instrucciones 6502 que pueda crear este mismo tipo de efecto incluso en sus tres registros de 8 bits.

No estoy seguro si algo de eso cuenta como significativo en sí mismo. Sin embargo, vale la pena señalar que este largo ciclo de instrucción crea una clara ventaja. Como hace que la escala entre la velocidad del reloj y la velocidad de la memoria sea mucho más suave.

Usted ve el 6502, debido a su apretado ciclo de instrucciones. Prácticamente requiere un ciclo de memoria por medio reloj. Lo que significa que para una máquina de 1Mhz necesita una memoria que funcione a 500 ns y si su máquina comparte RAM de video con la CPU como la Apple II (o la BBC micro) este requisito se duplica . Lo que significa que Apple IIs necesitaba al menos 250 ns de memoria (IIRC se envió con 200 ns).

Eso significa que para obtener un 6502 con un reloj más alto, necesita una DRAM aún mayor. El micro de la BBC que funcionó a 2Mhz usó 120ns DRAM y la historia dice que el prototipo producido en la década de 1980 usó los únicos cuatro chips en el país que cumplían con esa especificación. Probablemente no había nada como eso disponible en 1977 cuando se lanzó el Apple II. Probablemente por eso MOS solo produjo 1Mhz y 2Mhz 6502 para empezar.

Ahora, el Z80, en contraste, funcionó a 2.5mhz desde el primer momento. El tiempo de memoria fue más complicado: una búsqueda de instrucciones tomó dos ciclos de reloj pero el acceso a datos tomó 1.5. Entonces, una máquina de 4Mhz en el peor de los casos necesitaba una DRAM de 400ns. Comparta esa memoria con video y es posible que solo necesite aproximadamente 187ns DRAM. Una idea confirmada por el hecho de que el ZM Spectrum de 3.5Mhz se envió con 200ns DRAM.

De modo que el espectro de 3.5Mhz podría, en teoría, mover bytes a 166KB / s usando la misma DRAM que una Apple de 1 Mhz, aproximadamente 2.3 veces más rápido. Todo porque la DRAM necesita escalar a 2–4 ​​veces la velocidad del reloj del 6502 y solo 1.5–3 veces la velocidad del reloj del Z80.

More Interesting

¿Cuál es el mejor servicio de reparación de computadoras en Delhi?

¿Es mejor dejar dormir un MacBook o debería apagarlo todas las noches?

Un virus informático hipotético cambia cada 1 en un 0 y viceversa. ¿Cuál es el daño en todo el mundo?

¿Cuál es la mejor computadora portátil para comprar dentro del precio 36000 INR con procesador Intel?

¿Cuáles son los pros y los contras de las oficinas gubernamentales que usan computadoras en lugar de usar un registro de libro?

Mi computadora portátil no siempre detecta un USB de arranque. ¿Porqué es eso?

¿Qué debo hacer si mi monitor Acer no se enciende?

¿Por qué el teclado de mi computadora portátil teclea símbolos / letras al azar? Comenzó cuando dejé que alguien cambiara mi pantalla / monitor.

¿Cómo funciona un objeto digital? En palabras simples, ¿cómo funciona una computadora sin cerebro? ¿Cómo se comunica una computadora con otras computadoras sin tener un cerebro? solo basado en algunos códigos?

Cómo restaurar la versión anterior de mi PC con todas las aplicaciones que se han eliminado

¿No es razonable esperar que cualquier computadora portátil sea simultáneamente una buena máquina de juegos y tenga portabilidad y buena duración de la batería?

¿Cuál es el mejor refrigerador líquido para i5 6600k (aún no overclockeado) dentro de 50 $?

¿Es cierto que las computadoras portátiles Dell no son lo suficientemente buenas?

¿Qué es mejor: la HP ac028tx o la HP p045tx?

¿Qué es Green Monitor y dónde está basado? ¿Cuál es su propósito principal?