El Zilog Z80 y el MOS6502

Podría escribir un post sobre el x86 como el procesador más famoso de la historia, porque lo es, pero fama no es comparable con el éxito que tuvieron otros dos procesadores, tanto o más usados todavía, el Zilog Z80 y el MOS Technology 6502. Así es, la era de los 8 bits.
Si se preguntan ¿Por qué este procesador de nombre tan raro? Es simple, ya lo han usado y seguramente ni lo advirtieron, el Z80 junto al MOS6502, competían contra los procesadores de Intel y Motorola mucho más caros pero a la vez ofrecían la misma potencia, eran empresas pequeñitas creadas por ex empleados de ambas compañías mayores y que, justamente, significaron la ruina para MOS más tarde.
Aquellos que participamos de la generación de los 8 bits los usamos, el MOS6502, por ejemplo, estaba dentro de la Commodore 64 o el Atari o la Apple II, el Z80 en la MSX, las Spectrum ZX, la Amstrad, las TRS-80 modelo II, III y IV también.
La Commodore 128 tenía un MOS6502 y un Z80 en la misma computadora! fueron los reyes de los 8 bits y le dieron forma a la competencia en procesadores contra gigantes de verdad. Aquí un poquito de nardo-historia...
El Zilog Z80
El procesador Z80 nace, como no, de un ex empleado de una gran compañía, en este caso Federico Faggin de Intel quien luego de trabajar en el procesador 8080 se separó y fundó Zilog junto a Ralph Ungermann. Para Julio de 1976 tenían el Z80 en el mercado.
Había sido diseñado para ser compatible binariamente con el 8080 considerando el sistema operativo CP/M en mente para que pueda ejecutar sin necesidad de modificarlo. Se sumó Masatoshi Shima quien había co-diseñado tanto el 4004 como el 8080 y aportó al desarrollo del Z80.
Pero obviamente había diferencias, mejoras que no habían podido incorporar al 8080 o simplemente ideas posteriores, podríamos entrar en los detalles técnicos de cómo manejaba las interrupciones y los bloques de memoria, pero básicamente la búsqueda era de un procesador que no sólo sirviese para una computadora sino para cualquier tipo de dispositivo.
Desde usar sólo una fuente simple de 5 volts para funcionar hasta el refresco de la DRAM incorporado para evitar un circuito externo, todo pensado para abaratar los costos del cirucuito que rodea al procesador, algo que a Intel le importaba muy poco, de hecho, cuanto más caro fuese y más dependiente a Intel mejor, en cambio Zilog trataba de ofrecer algo que le hiciera la vida mucho más fácil a los creadores de hardware, y lo lograron.
Gracias a esto el Z80 logró atacar directamente al 8080 y al 8085, ambos procesadores de 8 bits de Intel que apuntaban al mismo mercado, el refresh de DRAM incorporado en el Z80 fue clave y el hecho de que requería pocos chips adicionales también, era minimalista en extremo por ende fácil de implementar.
El primer modelo corría a la vertiginosa velocidad de 2.5MHz, luego el modelo más conocido, el Z80A lo hacía a 4MHz y de ahí mejoraron el diseño pasando a los 6 y 8MHz. Para cuando cambiaron el diseño de NMOS a CMOS puderon alcanzar velocidades de hasta 20MHz o en derivados más modernos logrando velocidades mínimas sin límite, conservando el estado en casi suspensión o hasta los 50MHz de máxima.
Pero en los años 80 fue la disponibilidad total para creadores de microcomputadoras y consolas de videojuegos. Era sencillo para ensamblar, para programar y permitía esa compatibilidad con CP/M, en esa época el mejor sistema operativo para computadoras personales, que no eran como ahora, ni existía el DOS, era otra historia.
Lo genial del Z80 es que no sólo lo fabricaron otros como Sharp, Mostek, SGS-Thomson, NEC, Toshiba, Goldstar (ahora LG), ROHM Electronics, etc. sino que fue clonado mediante ingeniería inversa detrás del bloque oriental, en los países satélite de la URSS, la guerra fría se hizo del más famoso procesador también.
Fue fabricado en Alemania Oriental, en Rumania y en la Unión Soviética por distintas marcas locales "socialistas", de hecho, casi toda la informática civil de los 80 dentro del Pacto de Varsovia fue gracias al sencillo Z80.
La lista de dispositivos que lo usaron es demasiado grande, ya la lista de marcas se pasa, Amstrad, Radio Shack, Coleco, Sega, Sinclair, Osborne, etc. Es más, tanto en la Apple como en la Commodore 64 existían tarjetas adicionales para extenderlas con el Z80 aun cuando ya venían con un MOS y como mencioné antes la Commodore 128 ya traía los dos a la vez.
El Pacman? Galaga? Namco utilizaba el Z80 en sus videojuegos arcade para tiendas, en varios casos utilizaban tres Z80 en paralelo para CPU, Video y Sonido, también combinados con el Motorola 68000
El famoso sintetizador Oberheim OB-8 utiliza un derivado del Z80, y Zilog siguió por el mercado de los sistemas embebidos, es allí donde el Z80 sigue vivo hasta hoy en día, no todo es ARM, para nada, los Zilog son mucho más eficientes todavía porque para la mayoría de los sistemas controlados no hace falta tanto procesador ni tantas direcciones de memoria, todavía hoy en día procesadores de 8 bits hacen mucho del trabajo que vemos a diario.
Más del 50% de los Z80 fueron fabricados por Zilog, la otra mitad corresponde a todos los otros licenciatarios legales o ilegales que clonaron el procesador.
El MOS Technology 6502
El otro grande y que se lleva dos premios, el de haber sido el procesador de los más conocidos al haber sido el que menos le duró la independencia por mandarse un pequeño errorcito. MOS Technology también nace de ex empleados, en este caso de Motorola, que habían trabajado con la familia 6800 de la gran empresa telefónica que era en ese entonces Motorola.
Con Tom Bennett a la cabeza en 1971 había empezado el desarrollo, en 1974 ya se vendía el Motorola 6800, y sus clientes eran marcas como Hewlett-Packard, Tektronix, TRW y Chrysler. Para darles una idea del foco, tanto Intel con el 8080 como Motorola con el 6800 ofrecían su CPU a "tan sólo" USD 360, un precio tan elevado que harían imposible cualquier microcomputadora personal de 8 bits. Obviamente en cantidad los ofrecía a mucho menos, pero el mercado Hobby no podía pagar uno sólo.
Bennet había incorporado al equipo a Chuck Peddle en 1973 y éste se dio cuenta que el costo elevado se debía a distintas razones y eran evitables, primero removiendo cosas que no servían de mucho, segundo cambiando el proceso de fabricación por el MOS para aprovechar al máximo cada silicio utilizado y crear más chips por tanda. Pero Motorola empezó a preocuparse porque su nueva planta en Austin no hacía los MOS correctamente y terminó reestructurando toda el área de semiconductores, Peddle buscó dinero afuera para poder realizar sus ideas.
Así en 1974 Chuck Peddle, Bill Mensch, Rod Orgill, Harry Bawcum, Ray Hirt, Terry Holdt y Wil Mathys se fueron de Motorola y se sumaron a MOS Technology (hasta ese momento hacían solamente calculadoras), en Motorola tembló el equipo, de 17 ingenieros 7 se le habían ido, el nuevo jefe decidió hacer lo que Peddle sugería, utilizar el "depletion-mode" para crear el 6800, pero los de MOS iban a competir más fuerte.
Era la época en la que un procesador se diseñaba con lápices sobre papel vegetal y cada papel se superponía como las capas del proceso que luego lo fabricaban, el objetivo era cambiar el tamaño de 29mm2 del 6800 por unos 16.6mm2 y así poder fabricar más por silicio. MOS logró lanzar el 6501 y el 6502 y el precio de salida fue de USD 20 y USD 25, más USD 10 por los manuales, claro. La prensa tomó esto y generó gran revuelo, el precio era excelente y era bastante parecido al 6800. Demasiado.
Motorola tuvo que bajar el precio a USD 175 luego a 69, Motorola los llevó a juicio. Era obvio que esto podía pasar porque al menos cuatro de estos ingenieros habían creado patentes para Motorola en el desarrollo del 6800, ellos mismos eran parte de ese conocimiento! y los abogados pueden hacerte la vida imposible, se entrenan para ello.
MOS tuvo que abandonar al menos el 6501 y pagar unos 200.000USD además de aceptar el trato de Motorola de compartir licencias de patentes, para mayo de 1976 Moto ya había bajado el 6800 a unos meros USD35.
MOS fue comprada por Commodore, pero no sin antes haber provisto los procesadores para la archifamos Atari 2600, la Commodore VIC-20 y la PET, la Nintendo Family, la Apple II, la BBC Micro, y Bender de Futurama, bueno, sí, en serio, en un capítulo lo dicen, además de aparecer código de ensamblador del 6502 en la pantalla de Terminator :D
El derivado 6510 fue el procesador de la Commodore 64, que entre los años 1983 y 1986 mantuvo el 40% del market share vendiendo unas dos millones por año.
Los otros
No hay que matar a Motorola e Intel, vamos, eran ex empleados de ellos que se fueron con todo lo aprendido a hacer un clon de lo que ellos habían financiado, en el caso de MOS uno de los empleados se había llevado los cuadernos, no usó solo su cerebro, había papeles y todo y eso es legalmente un problema serio.
El 8080 y luego el 8085 llevaron al 8088 y al 8086, los x86 pasaron de 8 bits a 16 bits, a 32 bits y luego 64 bits, la historia fue otra.
Motorola tuvo su época de oro no con el 6800 sino con el 68000 que era parecido pero no un derivado. Mi vieja Radio Shack TRS-80 Color Computer usaba el 6809 y era una genialidad, Radio Shack también usó el Z80 ¿que problema había? era una época muy loca en la que se usaban varios procesadores hasta dar con el que más convenía.
De hecho, parte de las operaciones internas de estos procesadores se copiaron a otros, hasta hubo un mix entre Z80 y MOS 6502, o el 6800 con el Z80 y así, los Freescale llevan todavía instrucciones del 6809.