Mensajepor BlackHole » 30 Abr 2019, 14:31
Siempre me pareció curioso que el Z80 tuviese 2 juegos de registros. Eso no es malo, porque acabas con otro acumulador y 3 registros más de 16 bits (los registros IX e IY que se usan como base para índices no tienen una segunda copia, y el registro F no se puede usar en cálculos de 16 bits, porque es el registro de estado donde van a parar los resultados de casi todas las operaciones del procesador y casi cualquier instrucción lo altera), pero lo curioso es que no hay nada que te diga cuál es el juego de registros activo, solo puedes cambiar de uno a otro.
Al menos es más versátil que el 6502 del Commodore 64 (bueno, el C64 tiene realmente un 6510 que tiene patillas reservadas a activar y desactivar bancos de memoria) que solo tiene 3 registros de 8 bits y hay que hacer verdaderos malabarismos con la memoria para cualquier cosa, que obliga a que los programas sean mucho más grandes. Lo que salvó a ese micro fue que sus instrucciones se ejecutaban en menos ciclos de reloj al ser más sencillas, pero tampoco llegó nunca a los 4 MHz del Z80, las velocidades típicas estaban entre 1 y 1.8 MHz que en la práctica los hacían empatar, eso sí, a la sexta parte de precio ($35 vs $200)... 3 años después su precio era el mismo ($7).
Las máquinas que tuvieron éxito con ese micro fue gracias a los chips de apoyo (no son realmente coprocesadores como los entendemos hoy en día) en el C64, el Atari 400/800/XL/XE, la NES y el Apple II.