Un persona con mucha creatividad y habilidad técnica, ha logrado diseñar una CPU de 16 bits utilizando nada menos que Microsoft Excel, la popular aplicación de hoja de cálculo. Este procesador virtual, que opera a una modesta frecuencia de 3 Hz, está acompañado de una memoria de 128 KB de RAM, demostrando las capacidades sorprendentemente de Excel más allá de su uso convencional en negocios y finanzas.
Además, el proyecto incluye una pantalla virtual que puede mostrar hasta 16 colores distintos en una resolución de 128 x 128 píxeles, todo meticulosamente incorporado dentro de la hoja de cálculo de Excel.
Aclaremos que hace Excel
No se puede crear un procesador físico real con Excel. Sin embargo, lo que sí es posible es simular el comportamiento de un procesador utilizando Excel. Excel puede usarse para modelar las operaciones y la lógica de un procesador, incluyendo las unidades de aritmética y lógica (ALU), registros, y la memoria, permitiendo visualizar cómo un procesador maneja datos y ejecuta instrucciones.
Ahora bien, con esto aclarado, el YouTuber Inkbox decidió publicar un vídeo detallado de 16 minutos sobre cómo construyeron una CPU totalmente funcional dentro de las limitaciones de Microsoft Excel. Inkbox comento que hizo esto sin aplicar ningún script o complemento de Visual Basic, este es un trabajo puro de Excel que podría duplicarse en cualquier PC que tenga y que ejecute Excel.
Una de las hazañas más impresionantes detalladas en este proyecto de CPU en Excel es la creación por parte de Inkbox de un lenguaje ensamblador completamente funcional para la CPU en Excel. Este lenguaje ensamblador, Excel-ASM16, incluye 23 instrucciones diferentes y soporte para variables, etiquetas e incluso soporte para archivos binarios. Estas son funcionalidades básicas para un lenguaje ensamblador pero más que suficientes para una CPU de 16 bits que se funciona en Microsoft Excel.
Que es un lenguaje ensamblador?
El lenguaje ensamblador, en el contexto de un procesador, es un tipo de lenguaje de programación de bajo nivel que está íntimamente relacionado con el conjunto de instrucciones específico de un procesador o arquitectura de CPU. Se considera de bajo nivel porque las instrucciones escritas en lenguaje ensamblador se corresponden casi directamente con las instrucciones en código máquina que el procesador es capaz de ejecutar.
A diferencia de los lenguajes de programación de alto nivel como Python o Java, que están diseñados para ser fáciles de leer y escribir por los humanos, el lenguaje ensamblador es mucho más cercano al hardware y requiere un entendimiento detallado de la arquitectura interna del procesador. Cada instrucción en lenguaje ensamblador representa una operación básica que el procesador puede realizar, como mover datos entre registros, realizar operaciones aritméticas o lógicas, manejar
Miren el video si o si
Inkbox no escatima en detalles al explicar cómo consiguieron que la CPU en Excel comenzara a funcionar. Como ya dijimos, la velocidad funcional de la CPU es en realidad de solo unos pocos Hertz (no más de 3 Hz), pero esto también le permite ver a Inkbox, el funcionamiento interno de la CPU mientras realiza su trabajo.
En general, el proyecto de CPU Excel de 16 bits no es un gran avance en la informática moderna. Sin embargo, muestra bastante conocimiento técnico e ingenio por parte de Inkbox, además comparte libremente todo el proyecto en Github.
Conclusión Personal
La creación de una CPU en Excel, si bien no sustituye la funcionalidad de una CPU física, tiene un valor significativo, especialmente en contextos educativos y de visualización. Simular una CPU dentro de Excel ofrece una manera única y accesible de entender la arquitectura interna y las operaciones de un procesador. Permite a estudiantes y aficionados al hardware de computadoras adentrarse en la mecánica de las operaciones de bajo nivel sin la necesidad de interactuar con hardware real o entornos de programación complejos. Además, si hablamos de educación, representa una herramienta pedagógica poderosa que convierte conceptos abstractos de computación en representaciones visuales e interactivas, facilitando la enseñanza y comprensión de la arquitectura de computadoras. Aunque no ofrece las capacidades de procesamiento de una CPU real, su valor en la enseñanza y comprensión de los principios fundamentales de la informática es indiscutible.