Another CPU; but more progress.

Another CPU; but more progress.

Remember about that 16-bit ALU I posted a long time ago? Well, we haven't heard from that guy in a while. Then I found out about this. Meet the1laz, creator of the thiscontraption. We've seen them all, 16-bit ALUs, animal launchers, and now this. This is a CPU with RAM and more. This nerdy side in me is elated while the Minecraft side of me isecstatic! Thank you redstone for making this possible! Just think if redstone was never invented... we're going Minecraft's civilization be?

the1laz says:

The CPU is done! It could do with some more memory still, but it'll run a basic program.

It's an 8 bit processor with 8 bytes of RAM, an output register, a code-loader and the ability to branch conditionally and unconditionally.

This is what it looks like from above:

You can't see the code loader as it's on the other side and is shorter than everything else. The clock is the shorter thing at the bottom right of screen. ALU on the left, memory at the top right, and the rest is registers for the accumulator, program counter, code and addresses.

This is the list of op codes:

    0 NOT
    1 - memory
    2 + memory
    3 OR memory
    4 WRITE memory
    5 BRANCH if Accumulator = 0
    6 AND memory
    7 LOAD memory
    8 NOT
    9 - constant
    10 + constant
    11 OR constant
    12 WRITE out
    13 BRANCH unconditionally
    14 AND constant
    15 LOAD constant

What it looks like at night:

Video soon! I've been putting more frequent updates on my minecraft blog, but I'll post the video and save and stuff here as well.

Original post:

I've almost finished my CPU, all it's missing is the clock and some more memory (only have 4 bytes at the moment :S), but I've tested the rest and it all works.

This is it from above. The clock is going at the bottom of the screen, and more memory is being added next to what's currently there. It can potentially take up to 256 bytes of memory, but I don't think I'll put that much in, given how much work it is. This is what 2 bytes of it looks like:

This image shows all the parts labelled:

Inverters in the clock, for the delay:

This is what it can do:
Load from memory
Add 2 values
Subtract 2 values
Invert 1 value
And 2 values
Or 2 values
Branch conditionally
Branch unconditionally
Write to memory

Watch this spot, I'll update once the clock is in so that I can show it in action.

More pics:

Short url :

Pingbacks are open.