Last time we checked in on [Inkbox], he had made a 16-bit CPU in Excel. Impressive, but not really practical. Presumably, his latest project isn’t any more practical, but we suspect an 8-bit RISC CPU was easier to implement in Excel and probably runs faster, too. The new machine uses a stack architecture with a simplified instruction set of ten instructions. You can follow along with his Excel adventure in the video below.
If you think about it, you may decide that doing something like this in Excel is easy because you could just script it and use Excel as the user interface. That’s true, but that’s not how [Inkbox] does it. He won’t use scripts or IF statements in a cell. That makes things much harder.
If you are curious about what goes on in a CPU, this is worth watching, even if you don’t expect you’ll use it. If you really want to become a CPU designer, we’d suggest skipping Excel and go straight into Verilog, VHDL, or something similar that you could actually use.
Don’t get us wrong. Seeing it done in Excel can be very educational, but no one designs CPUs like this in practice.
If you want to see the 16-bit version, we covered that, too. We always say that building the CPU is the easy part of developing a new architecture.
Would it be theoretically possible to emulate a 64 bits CPU in Excel, and have it run emulated Windows within Excel? Doesn’t need to work at decent speed, just work at all.
Excel can not access your hardware or peripherals, so you could not emulate windows. Excel can be used to emulate cpu instruction sets, but this would require writing custom machine code software to run on it. This code would likely need to be manually input, and the cpu clock stepped manually. This level of emulation could be useful to build models of cpus to study behavior, but is not scalable to do perform the work a cpu does. So debugging instructions is doable. Running code, much less an entire OS, is a no go.
You can emulate the hardware too yk
Ignore SETH. There is no reason you cannot have an entirely emulated system and run Windows 11 in it. In fact, if you have sufficient RAM, write just enough of a machine emulator to emulate a system that can run Linux, and Excel doesn’t crash, then you could run a full system x86_64 emulator on that Linux. A full system x86_64 emulator would be capable for running Windows 11.
They have yet to invent software that is incapable of running on a sufficiently accurate and/or deceptive emulator.
Theoretically? He stripped down half the system to get it to run at a blistering 15HZ… For prospective, the C64 ran at about 1MHz and struggles immensely to run Linux at any decent speed (and it’s a heavily stripped down and modified version).
As for the 64-bit part, surprisingly that’s extremely easy to implement. He mentions Excel doesn’t really care about the number used, even out past 64-bits. He just downsize it so it would be a little easier on its programmer (him, lol).
Is any C version ?
I search small C version for making a lib for Python and Ruby
Maybe do it in Minecraft.
In anything but VB …. I mean, even Cobol would be more fun than working with that language :) . Ha!
+1
Nice native ad stuck into that video.
almost inspiring me to dig out the stuff I’ve been on an off doing since the early 00s – ALU was easy, it was getting timing stuff I struggled with.
Still not the worst thing done in Excel that shouldn’t have been done in Excel.
Studying RSA encryption I implemented the algorithm in a spreadsheet. Much easier job than this CPU thing surely but is it worth an article on the hackaday site ?