viernes, 19 de febrero de 2016

¿Por qué programar en 2016 una maquina de 1984?


Porque las limitaciones no son un problema sino una fuente de inspiración.
Las limitaciones, ya sean de una maquina o de un ser humano, o en general de cualquier recurso disponible estimulan nuestra imaginación para poder superarlas. El AMSTRAD, una maquina de 1984 basada en el microprocesador Z80, posee una reducida memoria (64KB) y una reducida capacidad de procesamiento, aunque sólo si lo comparamos con los ordenadores actuales. Esta máquina es en realidad un millón de veces más rápida que la que construyó Alan Turing para descifrar los mensajes de la maquina enigma en 1944
Como todos los ordenadores de los años 80, el AMSTRAD CPC arrancaba en menos de un segundo, con el intérprete BASIC dispuesto a recibir comandos de usuario, siendo el BASIC el lenguaje con el que los programadores aprendían y hacían sus primeros desarrollos. El BASIC del AMSTRAD era particularmente rápido en comparación al de sus competidores. Y estéticamente muy atractivo!



En cuanto al microprocesador Z80 ni siquiera es capaz de multiplicar (en BASIC puedes multiplicar pero eso se basa en un programa interno que implementa la multiplicación mediante sumas o desplazamientos de registros), tan solo puede hacer sumas, restas y operaciones lógicas. A pesar de ello era la mejor CPU de 8 bit y tan sólo constaba de 8500 transistores, a diferencia de otros procesadores como el M68000 cuyo nombre precisamente le viene de tener 68000 transistores

CPU
Numero de transistores
MIPS (millones de instrucciones por segundo)
Ordenadores y consolas que lo incorporan
6502
3.500
0.43 @1Mhz
COMMODORE 64, NES, ATARI 800...
Z80
8.500
0.58 @4Mhz 
AMSTRAD, COLECOVISION, SPECTRUM, MSX...
Motorola 68000
68.000

2.188 @ 12.5 Mhz
AMIGA, SINCLAIR QL, ATARI ST...
Intel 386DX
275.000
2.1 @16Mhz
PC
Intel 486DX
1.180.000
11 @ 33 Mhz
PC
Pentium
3.100.000
188 @ 100Mhz
PC
ARM1176

4744 @ 1Ghz (1186 por core)
Raspberry pi 2, nintendo 3DS, samsung galaxy,…
Intel i7
2.600.000.000
238310 @ 3Ghz (casi 500.000 veces mas rápido que un Z80 !)
PC


Ello hace que programarlo sea extremadamente interesante y estimulante para lograr resultados satisfactorios. Toda nuestra programación debe ir orientada a reducir complejidad computacional espacial (memoria) y temporal (operaciones), obligándonos a inventar trucos, artimañas, algoritmos, etc, y haciendo de la programación una aventura apasionante. Es por ello, que la programación de máquinas de baja capacidad de procesamiento es un concepto atemporal , no sujeto a modas ni condicionado por la evolución de la tecnología. 

8BP ("8 bits de poder") es una libreria desarrollada en ensamblador, que instala comandos nuevos en tu Amstrad para ser usados desde BASIC. Su potencia es tal, que podrás realizar juegos con acabado profesional en BASIC.

Para aprender existe un libro, en formato pdf que puedes descargar , al igual que la libreria y ejemplos de juegos.todo lo puedes encontrar en el proyecto GitHub “8BP”, en esta URL:



Jose Javier Garcia Aranda, 2016

No hay comentarios:

Publicar un comentario