BARNDLES (The Blender Computer)
A custom ISA and microarchitecture for a unique computer implemented with 3D shaders.
BARNDLES is a crazy computing project that involves designing an ISA, microarchitecture, assembler, and software tools in order to build a functioning computer in Blender, a 3D modeling software that was never meant to run such a thing.
What does BARNDLES stand for?
- Blender
- Algorithmic
- Rendering and
- Node
- Driven
- Logic
- Emulation
- System
The processor is designed to operate in Blender’s shader node editor, a forward processing and Turing complete component of the software. Memory writeback is conducted by mapping the memory image onto a plane and rendering it using Blender’s Cycles rendering engine.
The process is goofy, but it actually works. A demonstration can be seen in the video below.
While this project was anything but practical, it was an AMAZING exercise in outside-the-box thinking and technical design. I had the opportunity to experience the full breadth of CPU design including ISA design, microarchitecture implementation, assembler implementation, and thorough project documentation.
Below is a sample of the ISA documentation I created to describe the microprocessor’s functionality. The completed project (including the Blender files and ISA documents) can be found on in the project’s GitHub repo.