I have looked into this project again and now I fully understand the issue of this CPU and pipelining. It is not pipelined, yet it is. I don't know everything about how CPUs works thus I made it work my own way. In classic pipelining every step (decoding coputting and so on) takes full clock cycle, however, not in my processor. In my creature during 8 ticks instruction is being decoded computed and the result is saved in proper register. So that, I could say that it is 2 tick not pipelined processor or 4 times pipelined 8 tick processor. I don't really know, nevertheless, This CPU can't embrace multiple operations at the same time (except some exceptions like jump if operations or accesing to RAM treating it like cache).
It is fine as long as anything your cpu does not do anything "undefined"; like that you know if you did a conditional branch, how many instructions after it get executed regardless of you taking the branch or not.
Did you make anything in the meantime or thought about some concepts you learned?
I feel like I'm done with minecraft computers like for now. So that, I didn't make anything lately :c. The cause of it would be that current versions of minecraft simplify redstone in order to avoid lags and my CPU can't work anymore (can only if I play old versions).
yes, i strayed away from pistons primarily because of blockdrops that happened in the earlier days. But even though they do not happen now? anymore they are still affected by both changes in redstone mechanics & block mechanics. I do not use anything that is proven unreliable. I've got a 6 tick solid state cpu but it was a pain to build.
Sorry for not respondig your question about branaching. If you want to take conditonal branch you have to previously make some comparioson which result (boolean) is being saved to "branching 1 bit register". Then, you ask CPU to do condiotional branch and after that you insert new address. If conditon is True CPU swiches address instantly (during same cycle) or if not address is loaded from RAM but none of the CPU parts is awaiting for data so that it changes nothing. Currently I have made new CPU, intended to be just working on my computer. It is somehow simpler somehow more ergonomic. one cycle takes 1 second but in order to avoid bugs duration is incresed to 1.8 second. It is working and I have finnished (and tested) Fibonacci sequence generator, that includes branching and takes only 10 Bytes.
Anyone have a good Alu I can take inspirating on? I have designed adders and ram..... but can't get it to wire up good, I know, this is a noob thing to ask but I need it