Simulatore di CPU a 16 bit – 3Hz e 128kB con Excel

Excel CPU

Il simulatore funzionale di CPU a 16 bit in Excel comprende 128 KByte di RAM, un display a 16 colori e un predefinito linguaggio assembly.

Un hobbista ha ideato una CPU a 16 bit realizzata all’interno di Excel, con una frequenza di clock di 3 Hz. La CPU si avvantaggia di 128 KB di RAM, un display a 16 colori da 128×128 pixel e un linguaggio assembly personalizzato che viene eseguito nel popolare foglio di calcolo. Il simulatore può essere testato con i file che il creatore ha reso disponibili tramite Github.

Microsoft Excel è spesso considerata l’applicazione per fogli di calcolo più diffusa e utilizzata al mondo, ma le funzioni di Excel sono in realtà abbastanza flessibili per una varietà di scopi. Ad esempio, è possibile utilizzare la funzionalità di formattazione condizionale di Excel per creare una CPU funzionante all’interno di Excel. Nessuno in realtà si sognerebbe anche solo lontanamente di utilizzare tale funzione in un modo simile. Anzi, quasi nessuno.

Il 27 gennaio 2024, lo YouTuber Inkbox ha deciso di pubblicare un video dettagliato di 16 minuti su come egli abbia ideato una CPU perfettamente funzionante entro i limiti di Microsoft Excel. Inkbox ha fatto questo senza applicare script o plugin di Visual Basic: questo è puro lavoro di Excel che potrebbe essere duplicato su qualsiasi PC che esegue Excel.

Una delle imprese più impressionanti descritte in questo progetto della CPU Excel è la creazione, da parte di Inkbox, di un linguaggio assembly completamente funzionante per il motore di Excel. Questo linguaggio assembly, Excel-ASM16, include 23 diverse istruzioni e supporto per variabili, etichette e persino supporto per file binari. Queste sono funzionalità di base per un linguaggio assembly ma più che sufficienti per le restrizioni di una CPU a 16 bit in esecuzione su Microsoft Excel.

Excel CPU Asm

Il video sorgente originale contiene tutte le istruzioni necessarie per l’utilizzo delle funzioni sottostanti di Excel, e di come sono state usate per creare una CPU a 16 bit funzionante. Queste funzioni, tuttavia, sono anche molto rallentate, poiché la velocità funzionale della CPU è in realtà solo pochi Hertz (non più di 3 Hz), ma ciò consente anche di vedere il funzionamento interno del processsore emulato e dei suoi registri durante il funzionamento.

Ovviamente, il progetto della CPU Excel a 16 bit non rappresenta una svolta nell’informatica moderna. Tuttavia, mostra le capacità tecniche di Inkbox, e poiché condivide liberamente Excel-ASM16 e la sua CPU con alcuni programmi di esempio su Github, è possibile testare per conto proprio il linguaggio.

Considerazioni finali

Come spesso accade in questi casi, il sistema è stato realizzato per dimostrare che “è possibile farlo”; non per un uso reale nella vita di tutti i giorni. Nessuno infatti ha bisogno oggi di una CPU a 3Hz, per di più simulata e difficile da programmare. Nessuno tranne (forse) i maker più incalliti, che troveranno invece il progetto deliziosamente interessante.

Nei prossimi articoli cercheremo di approfondire il soggetto, per vedere come programmare la CPU con qualche esempio.

Buon divertimento!

 

Join our groups on Telegram…

… and don’t forget our social channels!

Definire ciò che si è non risulta mai semplice o intuitivo, in specie quando nella vita si cerca costantemente di migliorarsi, di crescere tanto professionalmente quanto emotivamente. Lavoro per contribuire al mutamento dei settori cardine della computer science e per offrire sintesi ragionate e consulenza ad aziende e pubblicazioni ICT, ma anche perche’ ciò che riesco a portare a termine mi dà soddisfazione, piacere. Così come mi piace suonare (sax, tastiere, chitarra), cantare, scrivere (ho pubblicato 350 articoli scientfici e 3 libri sinora, ma non ho concluso ciò che ho da dire), leggere, Adoro la matematica, la logica, la filosofia, la scienza e la tecnologia, ed inseguo quel concetto di homo novus rinascimentale, cercando di completare quelle sezioni della mia vita che ancora appaiono poco ricche.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.