Início » Informática » Como criar uma CPU com a ajuda do Excel

Como criar uma CPU com a ajuda do Excel

Compartilhe

Você já imaginou construir um computador dentro de uma planilha do Excel? Parece impossível, mas não para Inkbox, um entusiasta de hardware e software que realizou essa façanha incrível.

Bem sabemos que dá para fazer muitas coisas com o Excel que vão além de uma simples tabela para cálculos de nossas contas ou projetos que o nosso chefe nos cobra. Agora, quem poderia imaginar que um processador inteiro poderia ser criado no software de planilhas da Microsoft?

Neste post, vamos ver como ele conseguiu criar uma CPU de 16 bits funcional usando apenas fórmulas de Excel. Quem sabe um chip melhor que o Exynos não aparece no computador da casa de um leitor do blog…

 

O que é, e como funciona uma CPU de 16 bits?

Uma CPU, ou unidade central de processamento, é o cérebro de um computador. Ela é responsável por executar as instruções dos programas, realizando operações aritméticas e lógicas.

Uma CPU de 16 bits significa que ela pode manipular números binários de até 16 dígitos, ou seja, até 65535 em decimal.

Essa unidade de processamento é é composta por vários componentes, como registradores, decodificadores, unidades lógicas e aritméticas, multiplexadores e flip-flops.

Cada um desses componentes tem uma função específica na execução das instruções. Por exemplo, os registradores armazenam os dados temporariamente, os decodificadores interpretam as instruções, as unidades lógicas e aritméticas realizam as operações matemáticas e os flip-flops mantêm o estado dos bits.

 

Como emular uma CPU de 16 bits em uma planilha do Excel

Inkbox usou a potência das fórmulas de Excel para simular o funcionamento dos componentes da CPU. Cada fórmula representa uma porta lógica, que pode ser combinada para formar circuitos mais complexos.

Por exemplo, a fórmula =SE(E(A1;B1);1;0) representa uma porta AND, que retorna 1 se ambos os inputs forem 1, e 0 caso contrário.

A planilha do Excel contém várias abas, cada uma representando uma parte da CPU. A aba principal mostra a ‘tela’ da CPU, onde os pixels são coloridos usando formatação condicional.

A aba RAM mostra a memória da CPU, que é uma tabela de 256×256 células, onde cada célula contém um número binário de 8 bits. As outras abas mostram os componentes internos da CPU, como os registradores, o decodificador e a unidade lógica e aritmética.

 

Como programar a CPU de 16 bits emulada no Excel

O responsável pelo projeto desenvolveu uma linguagem ensambladora personalizada chamada EXCEL-ASM16, que permite aos usuários escrever programas para a CPU emulada no Excel.

A linguagem ensambladora é um nível acima da linguagem de máquina, que é o código binário que a CPU entende. Ela usa mnemônicos para representar as instruções, como ADD para somar, SUB para subtrair e JMP para saltar.

Inkbox também criou um compilador que traduz os programas escritos em EXCEL-ASM16 para código binário executável no Excel. O compilador é um programa separado que roda em Python.

Ele recebe como input um arquivo de texto com o código fonte em EXCEL-ASM16 e gera como output um arquivo CSV com o código binário correspondente.

O usuário pode então importar o arquivo CSV na planilha do Excel e carregar o programa na memória da CPU.

 

O que dá para fazer com isso?

Alguns exemplos de programas que podem ser executados na CPU emulada no Excel foram apresentados pelo entusiasta.

Um deles é o clássico jogo ‘Pong’, onde o usuário controla uma raquete (ou uma barra) que rebate uma bola na tela. Outro exemplo é um programa que desenha padrões geométricos na tela usando algoritmos matemáticos. Essa CPU também pode executar operações básicas como somar e subtrair números.

Esse projeto é um exemplo notável da criatividade e da habilidade técnica com o Excel, usando o potencial das fórmulas do software que, em muitos casos, é subestimado pelos usuários.

Na prática, o Excel é tão poderoso, que pode emular componentes de hardware complexos a ponto de criar uma CPU dentro de uma planilha. E isso passa longe de ser algo simples de se fazer.

Para aqueles que são mais curiosos e estão com vontade de testar tudo isso em casa, o criador do projeto foi generoso o suficiente para deixar todo o material que ele produziu no GitHub de graça.

Para as mentes mais habilidosas e criativas, esse experimento pode ser uma forma bem interessante de antecipar problemas de funcionamento de software. Quem sabe com o tempo será possível testar alguns aplicativos usando como base uma CPU cujos cálculos são produzidos pela planilha da Microsoft.

Pode ser uma enorme viagem de dr0g4do o que eu estou dizendo no final do artigo. Mas na minha cabeça regada a Cheetos com Coca-Cola Zero às 3 da manhã, faz todo o sentido.


Compartilhe