Forums - Open Redstone Engineers

Full Version: ProjectRed/Redpower CPU
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
A couple of years ago I had been working on what I hoped to be the fastest minecraft cpu ever (kinda cheating, i guess? but i felt that this is what was necessary for the evolution of similar projects) using Redpower by Eloraam. However, between losing my progress to hard drive corruption, and Eloraam ghosting the world, I came to a standstill. I still would like to finish, and I'm wondering if people on here would be interested in seeing it's progress, and maybe even contributing in some ways. 

basic ideas for the CPU:
  • fully pipelined
  • 16-bit RISC architecture
  • no copy/paste or specialized "operating system"
  • theoretical 1-clock operations (basic arithmetic)
  • Real 1-clock operations (bit shifting, Boolean functions
Possible avenues:
  • Computercraft for Rom, easy programming, and possibly RAM (not sure if the speed possible would be necessary for the RAM)
  • Computercraft for Graphical output, exploring feasibility of the mod's touchscreens for input
  • Full compiler based in lua for easy in-game programming
Things I would love assistance on for full realization of my dream (too much?) CPU:
  • Advice on what instructions i should/should not implement
  • assistance in any programming matters (definitely my weakness. There is a gap in understanding i can't seem to get to click on how to get from running the instructions and numbers to the programs seen on the screen)
  • Regarding above, in-game, non-lua programming of the computercraft components is well within my own capabilities
  • FEEDBACK! I want to advance the status of minecraft computers, and I do not claim to be any kind of expert in computer science. 
I can provide logism schematics of planned components as well as proof-of-concept implementations (I already have some of the former) as soon as I figure out if anyone is genuinely interested in seeing this project come to fruition. Thank you all
A slight bump to the thread:
1) I realize that even though I could implement some of the ideas in the first post, some of them would cause more headache than good.
2) I've started to document explanations of various components and operations, for my sake as well as anyone who ends up following this progress. All documents are currently held in this folder: https://drive.google.com/open?id=1KnqPfz...bBz9obF9Iy

Currently I've started documenting my planned synchronization methods across the CPU, as well as my planned implementation of hardware level interrupts.

Keep checking that folder, as even though I plan to update this post as I go, I might forget, or it might be a couple of days before I post the progress. Like I said, feedback is super important, so please feel free to point out any potential issues or shortcomings you might see
On the one hand you say you want to advance the status of minecraft computers, but the mod aspect of it feels.... weird.
Most of us here would just say that if you are using computercraft you already got a splendid computer for mc.

Also, you want a pipelined processor, but the style of the instruction decoding feels like a 'seventies' stepped-clock processor where its mostly a control unit trying to manage IO on a big main bus. Maybe you want to shed some light on that :p.

Can you say what holds you back not using mods?
Computercraft is a fantastic way to have computers in the game. To clarify; I specifically meant advance the status of redstone cpus. My goal is to use Computercraft as portions of the cpu itself as little as possible, mainly for things that wouldnt be possible otherwise. I'm thinking of using it for the rom storage, just because of the large amount of data I could store in such a small footprint. I also plan on attempting to make a keyboard with the touchscreen monitors, so that inputs are possible without sprinting across a chunk and a half.

I haven't heard a comparison of what I want to do with the style of processor you're talking about, so I'm definitely going to go do more research before I dare shed light on that matter.

And finally, vanilla redstone holds us back in two major ways: speed and footprint. Project red will allow me to reduce the footprint in a couple of ways: bundled cables, redstone that carried further than 16 block without repeated, and one block logic gates. I don't plan on using the ICs that are in the pack, save for a few special gates that the pack doesn't include, such as configged buyers, for this iteration, but maybe in the future for a faster rebuild. All of the aforementioned logic gates also have a delay of one tick, significantly speeding up even simple logic functions.
Ah, okay. Just looked, and realized I forgot to mention a few things. One of the biggest being that I am no longer going with a fully pipelined processor for the first "revision". I want to see how everything works before I decide the best way to move forward with pippelining the system. The only thing that will be pipelined is the fetch cycle. Also, inspiration for a lot of this design is going to come from this post: https://forum.openredstone.org/showthread.php?tid=1845. Seeing as their inspiration came from the 8086, I guess that seeming like a seventies cpu puts me right on target Wink
I'm very thankful that you took the time to not only read and reply to my post, but it seems you really took the time to read all of the documentation so far.
Yeah I'm not really trying to demotivate you with all the non vanilla stuff, but nobody here really works with redpower :p And even though your documentation is nice, hardware layout speaks miles more than words alone.
So If you want to solve a certain problem, we might be able to help. And of course i'll keep checking your docs.