Turing complete CPU that can

PrinceOfCreation's picture
Build image: 
In-game name (NO VISITORS! Must be LEARNER rank or higher!): 
PrinceOfCreation
Builder name(s) and current ranks: 
PrinceOfCreation: Learner
Creation location: 
790 162 -257
Machine Features: 

This is an 8-bit machine with a vertical ALU. It has 16 lines of instructions, and runs off a 24-tick clock. Features: [FLAGS] Zero flag, Carry out flag. [REGISTERS] Write A, Write B. [INVERTS] Invert A, Invert B. [ALU] OR, Carry in, Flood carry. [ELSE BRANCH] EB (8), EB (4), EB (2), EB (1). [IF BRANCH] IB (8), IB (4), IB (2), IB (1). [HALT] Halt and Reset.

The adder in the ALU is an 8-bit CCA vertical comparator-based adder. It takes two inputs, A and B, where the lowest bit is 1 and the highest is 128. It then fully adds them, and gives the output, lowest bit being 1 and highest being carry out (or 256). Bits 1-128 are then fed back round to the repeater lock registers, which in turn input into the inverters.

The program memory is 16 instructions long, with 18 operations (all the “features” mentioned in the first paragraph). I have programmed it to compute the Fibonacci sequence. Feeding into the memory is the decoder, which gives a different output for each 4-bit binary number it is given. Therefore, the Else and If branches are in 4-bit binary address form. Whether one or both of the flags become true, it then allows the If Branch address through. Otherwise, it lets the Else Branch through.

I have implemented a Halt and Reset instruction. When called, it halts the clock, clears the A and B registers and resets the program counter to 0. Again, storing of the instruction address is fulfilled by a repeater lock system. I get my program to call Halt and Reset when the Carry-Out Flag becomes true.

I have also included a colour-coding scheme, at coords (774, 151, -248)

How To Use: 

To use, navigate to (786, 152, -257), or where the grey-concrete clock is. Press the button with the sign that helpfully says “Start clock” and the output is roughly 10 blocks to the left of that button, when looking at it straight on (output is where orange concrete lines are). If one wants to Halt and Reset, simply press the purple concrete button with the sign on top saying “Halt and Reset”. If one would like to manually advance the clock, or step through the program, one can do so by pressing the other grey concrete button labelled “Manually advance clock”.

I have included a gold box around the build, so you can easily identify it if accidently wondered astray. (These things happen, my “A” key regularly becomes jaaaaaaaaaaaaaaaaaaaaaaaaaaaaammed xD)

*Jokes aside, I hope you find this useful.*

Request status: 
Approved

Comments

PrinceOfCreation's picture

Apologies, the title should read "Turing complete CPU that can compute the Fibonacci sequence"!

By PrinceOfCreation

Its for now denied. The hardware alone doesn't show all features which are common in the most CPU's.

To balance the miss in hardware a theory test is still possible. The first one didn't pass. Another one shall prove his knowledge.

By Ecconia