Minecraft Maps / Redstone Device

Processor Registers

  • 2,026 views, 1 today
  • 134 downloads, 0 today
  • 10
  • 3
  • 10
domes's Avatar domes
Level 35 : Artisan Engineer
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:

  • 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)
It was built as a reusable component, so if you come to build your own processor with 16 registers, feel free to use it! :-)


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 ;-)
Progress100% complete
Tags

Create an account or sign in to comment.

New Reds Technology
10/06/2021 1:15 pm
Level 33 : Artisan Engineer
New Reds Technology's Avatar
your processor uses 32-bit registers? Now I understand that computers do have different bit sizes, but this would tell me (based on the other projects related to this) is that your computer runs a form of MIPS32. right?

Just curious :D
P.S. so that's how you make memory in old minecraft...
1
domes
10/06/2021 1:27 pm
Level 35 : Artisan Engineer
domes's Avatar
It is mentioned in the description, it should have been a RISC-V processor. It is similar to MIPS32 but more flexible and hardware-friendly to some degree. But the RISC-V was only an idea in my head.

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
2
New Reds Technology
10/06/2021 2:02 pm
Level 33 : Artisan Engineer
history
New Reds Technology's Avatar
we currently have a different way of managing memory that takes nearly no space, at least in single read configurations... Sw1ftX-16 single read type-3 memory... 2 by 2 by 9 tall... super slim, very efficient... www.youtube.com/watch?v=EnXwzonjQxw&t=0s

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...
2
domes
10/06/2021 3:08 pm
Level 35 : Artisan Engineer
domes's Avatar
Unfortunately, the whole point of THE STORY BEHIND section is about my ending with redstone creations, so it is not going to happen. :-(

Nevertheless, the video is interesting. And I will visit Planet Minecraft from time to time to see what is new! :-)
2
New Reds Technology
10/10/2021 9:07 am
Level 33 : Artisan Engineer
New Reds Technology's Avatar
would this be the instructions your processor would have used?

https://riscv.org/wp-content/uploads/2017/05/riscv-spec-v2.2.pdf P.39 lists instructions for RV32E
2
domes
10/10/2021 3:29 pm
Level 35 : Artisan Engineer
domes's Avatar
This particular document is outdated but you are right. The crucial difference between RV32E and RV32I is in the register size (16 vs 32). So, if you want to see actual instructions, you have to look at the RV32I starting from page 21 in the provided document (since their presence in the RV32E section would be redundant)... :-)
1
eagoy
10/06/2021 12:14 pm
Level 56 : Grandmaster Lava Rider
eagoy's Avatar
Looks pretty clean made. Just curious, what are the functions of these command-blocks? I haven't really seen you use it before.

Regarding the 'story behind', no problem man. I am glad that it seems you have found a nice job.
2
domes
10/06/2021 1:15 pm
Level 35 : Artisan Engineer
domes's Avatar
Yeah, you have made a good point with the command blocks, I have forgotten to mention them in the description (will be fixed). They are used for debug prints only – something like 'read r7 to port1'.

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. :-)
2
eagoy
10/07/2021 11:50 am
Level 56 : Grandmaster Lava Rider
eagoy's Avatar
Ah debugging with command-blocks instead of redstone-lamps.

Yeah, I prefer to read those, I don't like asking questions about stuff that is inside the description.

Good luck on your studies!
2
InsaneOwl
10/05/2021 10:07 pm
Level 32 : Artisan Electrician
InsaneOwl's Avatar
yoo, this is sick!
2
Planet Minecraft

Website

© 2010 - 2024
www.planetminecraft.com

Welcome