Published Oct 5th, 2021, 10/5/21 4:58 pm
- 2,026 views, 1 today
- 134 downloads, 0 today
28
Hello there! :-)
After more than a year, there is yet another redstone creation from me — a processor register file. For those who do not know what it is, the processor register file is the fastest memory located in a processor that is directly addressable by a running program (i.e., you can use it in an assembly language).
As such, there are some typical requirements for this type of memory. The crucial requirement is that it can perform 2 reads and 1 write at a time (all independently). The other characteristics are following:
THE STORY BEHIND:
After my first attempt to build a processor in Minecraft several years ago, I was considering trying it again but in a much bigger way. Do not get me wrong, the initial processor worked but there were some nasty bugs, so I did not publish it. Instead of fixing it, I had decided to build a fully functional RISC-V processor in Minecraft from scratch (the smallest RV32E configuration). Maybe it does not feel that sound, but considering I have not found any RISC-V processor in Minecraft to this date, it would be a thing. RISC-V is getting big traction these days. Plus it would be inherently 32-bit, and there are not many 32-bit processors in Minecraft either.
So what happened then? It should have been my biggest project in Minecraft. However, as time goes, I start to realize I have less and less free time and I want to use that time to do something real, not virtual. Everything that I have built in Minecraft world, stayed in Minecraft world. Nevertheless, it was inspiring doing all this. In fact, Minecraft paved the way for me to real processor design. And the best thing is that the processor design tends to be as funny as Minecraft redstone for me... :-)
I am not a very social person but I want to thank everyone that I have crossed paths with. Your feedback, comments, and hints have been very appreciated!
Wish you a wonderful day ;-)
After more than a year, there is yet another redstone creation from me — a processor register file. For those who do not know what it is, the processor register file is the fastest memory located in a processor that is directly addressable by a running program (i.e., you can use it in an assembly language).
As such, there are some typical requirements for this type of memory. The crucial requirement is that it can perform 2 reads and 1 write at a time (all independently). The other characteristics are following:
- 16x32-bit registers (r0-r15)
- Register r0 is always equal to 0 (as many instruction sets define it this way)
- One side of the register file is prepared for an instruction fetch unit
- The other side is prepared for an ALU and result write-back
- Command blocks used for debug prints (so that we know what it does)
THE STORY BEHIND:
After my first attempt to build a processor in Minecraft several years ago, I was considering trying it again but in a much bigger way. Do not get me wrong, the initial processor worked but there were some nasty bugs, so I did not publish it. Instead of fixing it, I had decided to build a fully functional RISC-V processor in Minecraft from scratch (the smallest RV32E configuration). Maybe it does not feel that sound, but considering I have not found any RISC-V processor in Minecraft to this date, it would be a thing. RISC-V is getting big traction these days. Plus it would be inherently 32-bit, and there are not many 32-bit processors in Minecraft either.
So what happened then? It should have been my biggest project in Minecraft. However, as time goes, I start to realize I have less and less free time and I want to use that time to do something real, not virtual. Everything that I have built in Minecraft world, stayed in Minecraft world. Nevertheless, it was inspiring doing all this. In fact, Minecraft paved the way for me to real processor design. And the best thing is that the processor design tends to be as funny as Minecraft redstone for me... :-)
I am not a very social person but I want to thank everyone that I have crossed paths with. Your feedback, comments, and hints have been very appreciated!
Wish you a wonderful day ;-)
Progress | 100% complete |
Tags |
5323979
2
Create an account or sign in to comment.
Just curious :D
P.S. so that's how you make memory in old minecraft...
The real processor I created several years ago used my own instruction set, this is also better explained in the description.
What do you mean by making memory in old Minecraft? :-D
and of course you have locking repeaters :D which the newer CompoundCore uses because of it's solid state nature...
I also experimented with comparator-piston memory... which was slightly better than earlier Sw1ftX designs...
I am actually looking forward to your release of the whole system! I currently have it a road block in the production of my instruction set... because of memory restrictions and other things... so I am interested to see how well your system does run...
Nevertheless, the video is interesting. And I will visit Planet Minecraft from time to time to see what is new! :-)
https://riscv.org/wp-content/uploads/2017/05/riscv-spec-v2.2.pdf P.39 lists instructions for RV32E
Regarding the 'story behind', no problem man. I am glad that it seems you have found a nice job.
I am glad to see that someone actually reads the description of my submissions since sometimes it includes extra/useful information about the project/my life etc.
In fact, I left my job recently to finish my master's studies. But so far I intend to return once I will have finished my studies. But your guess was right, the job was fulfilling. :-)
Yeah, I prefer to read those, I don't like asking questions about stuff that is inside the description.
Good luck on your studies!