Minecraft name: Bluestonecreeper
What’s a thing you have made which demonstrates sufficient engineering knowledge?: My cpus
What engineering work went into designing this device?: Planning, connection of several different parts, bug testing, understanding of redstone mechanics.
Image/s and/or video/s of the device: https://imgur.com/a/HwGloO6
Note: Questions added in by Les
I should have looked at examples beforehaaaaaaanddd
Your description of the device itself and the engineering work involved are very much not sufficient. I recommend making a reply to this thread (rather than just editing so we get notified) with the new answers. Take inspiration from existing applications if need be.
Minecraft name: Bluestonecreeper
What’s a thing you have made which demonstrates sufficient engineering knowledge?: My newest CPU.
What engineering work went into designing this device?:
For a while now I’ve been a builder and just made random things, a attempted perseptron, trying a Turing machine, random things here and there, then I decided to make a CPU, my first few failed, then I made one from a video, then I made another on my own, then 2 more resulting in my newest cpu. I started with the fact that I would try to make most parts myself. I started with 3 registers which I would later modify to alow for read and write at the same time. Next I added a ALU, my ALU did not need a functions as it was only expected to add, subtract, and NOR. I also designed the CPU and the designer had not changed from the start of the CPU. Next I wired up the decoder and PROM. From this point I had a very basic CPU. Next I spent a day or two getting branch to work. At first branch was only if r1 was negative, it has sence been changed to if positive. At some point along the way I added a output and 7 ram slots. Most recently I added a input that allows you to input 8 bits to register one. I also made a program to turn the simple ISA instructions into code you can put into the CPU (I currently do not have access to this program, ask me for updates on that).
My device has a compact ISA:
Out reg1
Input reg1
Add r1, r2 → r3
Sub r1, r2 → r3
Nor r1, r2 → r3
Ram r1, 7 8bit ram, r1
Branch if r1 is positive (8th bit is off)
My CPU has a clock of 20ticks
3 general purpose registers
8 ran slots
9 bit instructions
Can add a register to itself
Can write 0 or -1 to any register
Can write any 8 bit positive or negative number to the first register in one command
https://imgur.com/a/HwGloO6
You can see more of it in my plot in the back
Telling us facts about the CPU is good, but it’d be nice to also hear about the Engineering process, the work that went into it. I recommend looking at the accepted applications to get a better idea of what we generally expect. It doesn’t need to be as long as the longer applications but it does need to get into the actual process of designing and building the CPU.
We’ll get back to you about the updated application soon
1 Like
Just adding and bumping this post, it can also bubble sort
Your cpu does not yet meet the skill level of the other accepted applicants.
-
Your Instruction Set is not diverse and/or complex enough. Things like pointer support for RAM is missing and your branch options are quite low. The data pool you can work with doesn’t seem large either.
-
Your clock seems to be 42 ticks. That is mostly because of the rca alu which uses up half the time.
You can make some efforts here to improve it.
-
Your mention of 8 bit positive or negative numbers in registers has always been standard practice and should not require additional effort to make it work - that is just the nature of 2s complement & the signed value datatype. You mentioned that you can add a negative number, but you don’t sign extend the 5 bit value going unto the bus.
We don’t set strict requirements for something to be good enough, because that would mean limiting the choices to go into a certain direction. You should learn some more from others and tackle problems, rather than going around them. Challenge yourself!