My creation can run a program from ROM, conditionally jump lines, add two numbers and save them to 1 of 4 registers. It can read those four registers into either or both of the ALU inputs.
The major components used are:
ALU, has one function, addition.
4 dual-read Registers. can be read from and written to.
ROM, where the program is written.
Program Counter, supports incrementing, unconditional jumping, and conditional jumping.
logic:
The ROM sets register 0 to the value of 0, then register 1 to the value of 1.
[repeated]
Then, it takes the sum of r0 and r1, and writes it to r2.
It takes the sum of r1 and r2, writes it to r0.
takes the sum of r0 and r2, writes it to r1.
[/repeated]
This was repeated until the program would have overflowed, at which point I set it to just loop on the 2 last lines.
To run the fib sequence, you have to go into the quartz box, press "Reset CPU", wait a few seconds, and then pull the "Run CPU" lever. Then, to see the output of the computer, look 90 degrees to the left, where the Redstone Lamps are. This is a binary display which is fairly self explanatory. After a few seconds, due to some initialization, it should begin to output the Fibonacci sequence.
Comments
Promotion Request
my CPU no longer works. please don't bother checking it out
Promotion Request
Please disregard my previous comment. It now works.