Even though MC14500B is considered as 1-bit computing where it accepts 1-bit data to perform operation, the instruction set itself consisted with 4-bit instruction which leads having 16 total instructions. [0]
In another side, BitBitJump is the simplest OISC (One-Instruction Set Computer) language, which allows computations by only bit copying process without using conventional logic operations like AND, OR, XOR, NAND, or NOT. Its instruction is to copy one bit from one address to another and jump. [1]
The instruction has three operands, A is the address of the bit to copy from. B is the address of the bit to copy into. C is the address to pass the execution after copying of the bit is done. [2]
With just using one instruction, it's qualified as turing machine complete. Means, it can perform any computational problem like how most advanced computer perform today. Like basic arithmetic addition (even though no ALU is used). [3]
So, there is no need to having 16 available instructions.
So, is it possible that I can construct such computer theoritically, and practically in HDL like Verilog? How do I do that in overview? Shall I use Von-neumann architecture or Hardvard?
I expect the word size in memory is 1-bit. Here is the memory content example:
Addr (n-bit) | Data (1-bit) |
---|---|
0 | 0 |
1 | 1 |
2 | 0 |
3 | 1 |
4 | 1 |
I think address size doesn't matter. Because it's extendable like how we bought new RAM to our PC for increasing capacity (means increasing num of address).