4-Bit Processor


Overview:

CPU 4BP
Data 4 bits
Memory 16 bits
Registers 256
Architecture Von Neumann
Technology Verlog on FPGA
Status Only a few instructions implemented
Successor None
Time period July 2016

Problems:


The truth is that 4BP was never meant to be a serious and fully functional computer, so when I killed it, I forgave all of its sins and imperfections. It was merely an experiment in addressing modes. This is actually one of the few cases that a 4-bit architecture is an advantage because the goal was partially to find a faster way of addressing large amounts of memory with a small bus width.

With a 4-bit computer, you might expect the first nybble to contain the opcode and the following nybbles to contain the addresses of the operands. This is correct with one modification. The second nybble specifies the addressing mode of the first and second operands. Looking at the instruction set right now, it does not look completely regular, so like 8BP3, it may be time consuming to implement all of the addressing modes. The most important addressing modes were the small, medium, large, and very-large addressing. As you could probably guess, these correspond to 4, 8, 12, and 16 bit addressing. This provides multiple tiers of addressing speed, sort of like the 6502's 256 "registers" in memory.

The most important part of this project was not the investigation into addressing modes, but that 4BP executed its first instruction in simulation on 8/17/2016. Up to this point, I had been unsuccessful in goading my CPUs to run.


Files:

4BP Verilog source(zip)
Updated 1/8/2020