Forums - Open Redstone Engineers
Best CPU to date? - Printable Version

+- Forums - Open Redstone Engineers (https://forum.openredstone.org)
+-- Forum: ORE General (https://forum.openredstone.org/forum-39.html)
+--- Forum: Build Discussion (https://forum.openredstone.org/forum-50.html)
+--- Thread: Best CPU to date? (/thread-8913.html)

Pages: 1 2 3


Best CPU to date? - ddthj - 12-30-2015

No I didn't make the best redstone CPU to date, but who has?

What is the most:

Powerful in terms of calculation type/size?
Expandable in terms of memory expansion and other additions?
Externally useful in terms of inputs/outputs
Capable in terms of program storage size and memory size
Useful in terms of functionality?
Usable in terms of UI and programming?

^ Calling this a PECU rating

I made an EPIC  website to determine your PECU rating. (website's down because I didn't want to use weebly for a school project...)

If you have improvement suggestions please state them Smile


RE: Best CPU to date? - Iceglade - 12-30-2015

I once made a 1 bit CPU with a 2 function LU and 2 bit opcode, and one state-of-the-art 1 bit display

i think it qualifies


RE: Best CPU to date? - Nuuppanaani - 12-30-2015

(12-30-2015, 04:29 AM)ddthj Wrote: Currently Working

Wow, rekt Embi & Gio


RE: Best CPU to date? - ddthj - 12-30-2015

(12-30-2015, 03:10 PM)Iceglade Wrote: I once made a 1 bit CPU with a 2 function LU and 2 bit opcode, and one state-of-the-art 1 bit display

i think it qualifies

Well I guess if no one else responds to the thread then we have our winner. lol


RE: Best CPU to date? - slugdude - 12-30-2015

My current CPU is crap at everything but the ISA is really flexible... A nightmare to program though until you pass that point where you love its quirks and love it. In terms of this particular CPU I built then here are the ratings out of 10 I'd give it:

P: 0. It does not actually calculate anything without using its memory maps. If you include them I guess around 6. It adds, subtracts, NORs, XORs, and rightshifts, but currently no mult/div or anything else more advanced. No relative jumps either.

E: 10. The whole ISA is very memory-map based so literally anything can be connected to it.

E: 0. It doesn't have any instruction to output or input but a register is mapped to a binary output so if you include that idk 2? It currently has no inputs but with the whole memory mapping thing it could be easily done - if you allow me to play the memory map card again you could say 10 Tongue.

C: 1. The current ISA supports a mere 16 lines of code which is pathetic. Nothing other than the PROM can be executed. The thing is, this CPU was a test of this ISA so I didn't want it to be a complex project.

U: Err, it works... Idk this is more a random number but 7?

U: 2. To someone new to it's ISA it's a bitch. Instead or having an add operation you copy the first value to reg 11, copy the second to reg 12, then read the value for the result of the 2 added. Similar mechanism for all logical/arithmetic operations.



In terms of it's specs:

9 tick clock, not pipelined. (In theory it should work with 8 but idk why the branching fucks up when I do that and I'm way too lazy to fix it). However in this time it can only either input an immediate value or copy a value from one register to another (or memory maps). Branching takes 3 cycles.

7 GPRs. Reg 0 is a ZR, regs 9 and 10 are for XOR and NOR atm, regs 11 and 12 for adding, 13 for rightshifting (once) and 14/15 for subtracting. Reg 1 is mapped to a binary display output but if you don't need to see anything until the program is over you can use it as a gpr until then.

The most optimised fib program I could make gave me one value every 5 cycles so 45 ticks. Although that includes three blank lines to sync it up... If you remove that you will have one value, 2 cycles later get the next, then 5 cycles later the next then 2 cycles... and so on.

PROM is 16 lines, each total 10 bits in length

It is an 8 bit CPU - although the adder and subtractor ignore the msb so that the cout can be stored in the msb of the result meaning the adder and subtractor are only 7 bit.


The CPU doesn't have a name. You can find it (I think) at '/warp slugcpu2' and the ISA it is based on is at '/warp SMI'.


RE: Best CPU to date? - ddthj - 12-31-2015

(12-30-2015, 09:51 PM)slugdude Wrote: My current CPU is crap at everything but the ISA is really flexible... A nightmare to program though until you pass that point where you love its quirks and love it. In terms of this particular CPU I built then here are the ratings out of 10 I'd give it:

P: 0. It does not actually calculate anything without using its memory maps. If you include them I guess around 6. It adds, subtracts, NORs, XORs, and rightshifts, but currently no mult/div or anything else more advanced. No relative jumps either.

E: 10. The whole ISA is very memory-map based so literally anything can be connected to it.

E: 0. It doesn't have any instruction to output or input but a register is mapped to a binary output so if you include that idk 2? It currently has no inputs but with the whole memory mapping thing it could be easily done - if you allow me to play the memory map card again you could say 10 Tongue.

C: 1. The current ISA supports a mere 16 lines of code which is pathetic. Nothing other than the PROM can be executed. The thing is, this CPU was a test of this ISA so I didn't want it to be a complex project.

U: Err, it works... Idk this is more a random number but 7?

U: 2. To someone new to it's ISA it's a bitch. Instead or having an add operation you copy the first value to reg 11, copy the second to reg 12, then read the value for the result of the 2 added. Similar mechanism for all logical/arithmetic operations.



In terms of it's specs:

9 tick clock, not pipelined. (In theory it should work with 8 but idk why the branching fucks up when I do that and I'm way too lazy to fix it). However in this time it can only either input an immediate value or copy a value from one register to another (or memory maps). Branching takes 3 cycles.

7 GPRs. Reg 0 is a ZR, regs 9 and 10 are for XOR and NOR atm, regs 11 and 12 for adding, 13 for rightshifting (once) and 14/15 for subtracting. Reg 1 is mapped to a binary display output but if you don't need to see anything until the program is over you can use it as a gpr until then.

The most optimised fib program I could make gave me one value every 5 cycles so 45 ticks. Although that includes three blank lines to sync it up... If you remove that you will have one value, 2 cycles later get the next, then 5 cycles later the next then 2 cycles... and so on.

PROM is 16 lines, each total 10 bits in length

It is an 8 bit CPU - although the adder and subtractor ignore the msb so that the cout can be stored in the msb of the result meaning the adder and subtractor are only 7 bit.


The CPU doesn't have a name. You can find it (I think) at '/warp slugcpu2' and the ISA it is based on is at '/warp SMI'.

Well If I guessed the other details right about your CPU then you have a PECU rating of 16 according to my calculator. 


RE: Best CPU to date? - Magic :^) - 12-31-2015

you should really refactor how clock speed affects the result by the way, One configuration I tried was 28 for a 10 tick clock and 23 for a 100 tick clock D:

Also, me and capo once came up with a cool way to benchmark cpus programmatically using a modified version of fibb and the following rules:
You have 2 number displays, 1 display shows the current fibb value and the other shows the amount of times fibb has overflowed.
every time you overflow, you must start counting from the beginning again obviously.

The benchmark would be recorded by examining how many cycles it takes to do x iterations of fibb overflow, and multiplying that by your clock speed. The lower the number the better.
this test shows basically how well a cpu can do maths operations while giving feedback to a user. It covers the basics pretty nicely i think.


RE: Best CPU to date? - §§§§ - 12-31-2015

My cpu has an 18 sucker.


RE: Best CPU to date? - ddthj - 12-31-2015

(12-31-2015, 08:11 PM)MagicalGentleman Wrote: you should really refactor how clock speed affects the result by the way, One configuration I tried was 28 for a 10 tick clock and 23 for a 100 tick clock D:

Also, me and capo once came up with a cool way to benchmark cpus programmatically  using a modified version of fibb and the following rules:
You have 2 number displays, 1 display shows the current fibb value and the other shows the amount of times fibb has overflowed.
every time you overflow, you must start counting from the beginning again obviously.

The benchmark would be recorded by examining how many cycles it takes to do x iterations of fibb overflow, and multiplying that by your clock speed. The lower the number the better.
this test shows basically how well a cpu can do maths operations while giving feedback to a user. It covers the basics pretty nicely i think.

LOL! I redid the math function, it's a negative quadratic now. You should see a CPU with a ~10 tick clock and 16 PECU rating go to a -63 PECU rating at 100 ticks Tongue


RE: Best CPU to date? - LordDecapo - 01-01-2016

(12-31-2015, 08:11 PM)MagicalGentleman Wrote: you should really refactor how clock speed affects the result by the way, One configuration I tried was 28 for a 10 tick clock and 23 for a 100 tick clock D:

Also, me and capo once came up with a cool way to benchmark cpus programmatically  using a modified version of fibb and the following rules:
You have 2 number displays, 1 display shows the current fibb value and the other shows the amount of times fibb has overflowed.
every time you overflow, you must start counting from the beginning again obviously.

The benchmark would be recorded by examining how many cycles it takes to do x iterations of fibb overflow, and multiplying that by your clock speed. The lower the number the better.
this test shows basically how well a cpu can do maths operations while giving feedback to a user. It covers the basics pretty nicely i think.

Ya, that fib program is truly awesome. The slightest tweaks to the program or to the hardware can dramatically change the outcome of how many ticks it takes.