New Update - I just finished my first CPU!
To do this I remade my ALU (which you can find later in this post) so that it was in a tower, and I added memory and...CPU!
Here are the specs -
2-Bytes of RAM
4-Bit Inputs
4-Registers
8-Functions
I'm also adding a poll for what you guys think I should add next.
So here are some pics, and the save after.
If you download it, please leave feedback..Thanks!
Credit to TheXBoxNut, as I think it's his design that I used for the decoder
OLD POST ----------------------------
Well, I know the red stone craze has passed, but I was really proud of this ALU I made, so I decided to share it.
The 8 functions and their OP codes are-
000 - Add
001 - Subtract
010 - OR
011 - AND
100 - NOT
101 - XOR
110 - Shift Left
111 - Shift Right
It's also very fast. Writing to the registers takes about one second, whereas the calculations usually takes no more then 2-3 seconds to send back the results.
All the wiring is above ground, except for a bit that is needed to go under other wires, but there aren't any major parts of the ALU underground, so what you see is the full size of it.
Here are some pics and the download-
Also, if some of my terminology is wrong, do excuse me, since I have taught myself this whole idea of digital electronics and I'm not too good with the terms
thats almost no time at all, especially for something like that! How/where'd you learn how to make it?
Well, I'm in Grade 9 and we learned about basic, basic electricity... I took an interest in it, and since then I've taught myself all this, and I'm quite proud of it :smile.gif:. Next step, CPU :wink.gif:.
Why do you say that the redstone craze has past, as far as I've seen there is still an interest in new and impressive creations.
There still is interest, but the time when a redstone calculator was impressive has passed.. I mean it still appeals to some, but most people shrug it off as something they've seen already
There still is interest, but the time when a redstone calculator was impressive has passed.. I mean it still appeals to some, but most people shrug it off as something they've seen already
Alright yeah with the things like calculators people have seen most of it before (although I do have a friend making a circuit to do square rooting), but there is still lots of things not done with computers. As well as other things like pushing the limits of compactness and function of those basic things like ticker displays.
If anything I have seen even more interesting redstone designs recently on my server, like sending a signal 3.2km to a ticker display and a small-scale internet.
This is awesome bro. I've only made and 8-Bit adder and working on making it a subtractor but this is what i dream of. I taught myself like you but ive had alot of help along the way. Countless people helped me make mine with ideas and instructions, its cool that you made yours by yourself. Btw im 15 also but im in 10th grade, and i appreciated the thats what she said joke haha.
This is awesome bro. I've only made and 8-Bit adder and working on making it a subtractor but this is what i dream of. I taught myself like you but ive had alot of help along the way. Countless people helped me make mine with ideas and instructions, its cool that you made yours by yourself. Btw im 15 also but im in 10th grade, and i appreciated the thats what she said joke haha.
Aha thanks man, if you wanna teach yourself more, I found that learning about the real life equivalent helps, even if it's just Wikipedia or something.
For instance ,when I was trying to figure out how an Adder works, I just read the Wikipedia article on it and I was good. There are also lots of good redstone pros that help watching, like scjoner. But good luck in your future designs :wink.gif:
You should try making it multiply (a big challenge) and divide (a challenge that I will likely never finish on my ALU)! I'd love to see it!
Well, mine does have mutliplying and dividing by two (shifting), but not more.
I wanted to add some basic multiplication, but that takes forever...
I might though, we'll see, I can probably find a way through to make it simpler.
..In fact, I just thought of a way to do that very simply :wink.gif:
Well if you don't want to hard-code multiplication into the ALU, wait until you have a CPU and RAM to store programs, and then you can have code that does that. Also, how do you write values to the registers? Do you have instruction code for that, or do you control those values on your own?
Also, if you need help designing a RAM/memory system, I once did a basic little RAM (don't have the save file, though) and would be happy to help or just send you off in the right direction.
For the value writing, I just put a D-Flip Flop for each digit of each register, so a total of 10 D-Flip Flops.
Also, would you be able to just send a link, or some information regarding RAM? I've read a bit on it but I don't understand how to implement it into minecraft.
Well, mine does have mutliplying and dividing by two (shifting), but not more.
I wanted to add some basic multiplication, but that takes forever...
I might though, we'll see, I can probably find a way through to make it simpler.
..In fact, I just thought of a way to do that very simply :wink.gif:
and what is this simple technique you speak of? I would really like to know, because ive been trying to find a way to do it easily for a while now.
For the value writing, I just put a D-Flip Flop for each digit of each register, so a total of 10 D-Flip Flops.
Also, would you be able to just send a link, or some information regarding RAM? I've read a bit on it but I don't understand how to implement it into minecraft.
best explanation I've heard:
when he says sr latch he means RS nor latch.
His version is huge and bulky, but it should help you understand how RAM works.
and what is this simple technique you speak of? I would really like to know, because ive been trying to find a way to do it easily for a while now.
best explanation I've heard:
when he says sr latch he means RS nor latch.
*video*
His version is huge and bulky, but it should help you understand how RAM works.
Well I don't know if this would require a CPU, as I haven't thought it through too much, but you could put your first input into a register, and what you would like to multiply it by in another register. The ALU would add the number to itself, and each time it does that, the second register would decrease by one. When Register 2 = 00000, it would output Register 1.
I'm not to sure if this makes sense though :tongue.gif:
Also, I'll take a look at the video and see if I can do anything with it, thanks!
wait, when did this phase pass?
Im still going strong, and our clan is getting bigger by the day.
@OP
Nice job on this! its great to see people building things like this, but i havent actually seen a proper CPU (well except for The1laz) but yeah, good luck with your project
wait, when did this phase pass?
Im still going strong, and our clan is getting bigger by the day.
@OP
Nice job on this! its great to see people building things like this, but i havent actually seen a proper CPU (well except for The1laz) but yeah, good luck with your project
Thanks! And I don't think the CPU will be done for a long time, but I'm working on it :wink.gif:
I was aching to do an ALU myself, it was a bit scary, but now that I've studied yours I'm pretty sure I can make one myself now, you've definitely helped me mate, thanks
Okay, well I don't know of any good links about RAM besides wikipedia, but I'll try to explain it in a minecraft sense. To store a bit of data, you need some type of flip flop. A common and fairly small one is an RS NOR (and a lesser-used RS NAND). I found a big issue in using them with minecraft for RAM, however. For a complete understanding of how they work, look up "RS NOR" on wikipedia and read up on it, but basically there are 2 inputs, S and R. If you want the value that the flip flop stores to be a 1, you need to send a signal to S. If you want the value to be a 0, you need to send a signal to R. The only way I found that I could get it to work is to have the value we want to be connected to S and the inverse of that connected to R. However, RS NORs aren't clocked, so I had to have a clock signal, and make the connection to S equal to the bit value we want to store LOGICAL AND a clock signal, and the same for the R but with the inverse of the bit value. This was very big, since this is a picture of just 4 bits:
-snip-
The way I'd recommend is a D flip flop. They only require 1 line for data, and 1 line for clock, making them much simpler. There's also a design on the minecraft wiki for a vertical design, making them small and easy to store. Here's a picture of 4 bits using the D flip flop:
The left is the 4 bits plus clock, and on the right are the 4 bits output. I could have made the input/outputs smaller by making the I/O 2 levels high instead of one (I made 2 levels of signals for the first design).
Now that's just the physical memory itself. Assuming you have more than 1 byte of memory (I would suggest making a byte only 5 bits in your case, since your ALU is 5), you will need some way of getting the data at a specific address. To do that, what you need to make is a "control" chip for RAM(not sure of it's real name). When your soon-to-be CPU wants to grab or set memory, it would send the control the address of the memory cell (aka 0, 1, 2, etc), the 5 bits of values you want to set, and possibly a line for the clock, depending on how you set it up. Then, the control chip would use a decoder to handle the memory address. A decoder basically takes in a binary value and sends out the data on that specific line (again, look on wikipedia for more descriptive detail and how to make one). It gets crazy when you have a lot of memory cells, and there's probably a better way to do it, but that will work. Reading in values is a little different. For that, you would use a multiplexer, which is pretty much a reverse decoder (again, check wikipedia for info about it). I think thats all you would need for a basic RAM system. Hope this helps, and if you need help with any other things, feel free to ask!
I've already got D-Flip Flops in my design, but I'll take a look at the rest, thanks!
To do this I remade my ALU (which you can find later in this post) so that it was in a tower, and I added memory and...CPU!
Here are the specs -
2-Bytes of RAM
4-Bit Inputs
4-Registers
8-Functions
I'm also adding a poll for what you guys think I should add next.
So here are some pics, and the save after.
If you download it, please leave feedback..Thanks!
Credit to TheXBoxNut, as I think it's his design that I used for the decoder
[sIMG]http://i53.tinypic.com/2cp2vpy.png[/sIMG]
[sIMG]http://i53.tinypic.com/nw9oz.png[/sIMG]
[sIMG]http://i51.tinypic.com/2m4rdcp.png[/sIMG]
[sIMG]http://i52.tinypic.com/o50obn.png[/sIMG]
[sIMG]http://i56.tinypic.com/21jn51l.png[/sIMG]
SAVE - http://www.2shared.com/file/l3ZaWU8R/CPU_V1.html
OLD POST
----------------------------
Well, I know the red stone craze has passed, but I was really proud of this ALU I made, so I decided to share it.
The 8 functions and their OP codes are-
000 - Add
001 - Subtract
010 - OR
011 - AND
100 - NOT
101 - XOR
110 - Shift Left
111 - Shift Right
It's also very fast. Writing to the registers takes about one second, whereas the calculations usually takes no more then 2-3 seconds to send back the results.
All the wiring is above ground, except for a bit that is needed to go under other wires, but there aren't any major parts of the ALU underground, so what you see is the full size of it.
Here are some pics and the download-
Also, if some of my terminology is wrong, do excuse me, since I have taught myself this whole idea of digital electronics and I'm not too good with the terms
DOWNLOAD- http://www.2shared.com/file/I3O1I8zi/ALU_-_8_Func_2_Registers_5_Bit.html
[sIMG]http://i54.tinypic.com/2colhzr.png[/sIMG]
[sIMG]http://i53.tinypic.com/swzgwj.png[/sIMG]
[sIMG]http://i52.tinypic.com/qxj70y.png[/sIMG]
[sIMG]http://i55.tinypic.com/281zuok.png[/sIMG]
Thanks to the creator of the mods TooManyItems and Single Player Commands, they helped alot in building this.
... I should really be studying for exams instead of this :wink.gif:
http://www.minecraftforum.net/topic/374932-5-bit-alu-8-functions-2-registers/
I spent about 3 hours yesterday on it, and I think maybe 4 the day before?
http://www.minecraftforum.net/topic/374932-5-bit-alu-8-functions-2-registers/
Well, I'm in Grade 9 and we learned about basic, basic electricity... I took an interest in it, and since then I've taught myself all this, and I'm quite proud of it :smile.gif:. Next step, CPU :wink.gif:.
http://www.minecraftforum.net/topic/374932-5-bit-alu-8-functions-2-registers/
There still is interest, but the time when a redstone calculator was impressive has passed.. I mean it still appeals to some, but most people shrug it off as something they've seen already
http://www.minecraftforum.net/topic/374932-5-bit-alu-8-functions-2-registers/
Alright yeah with the things like calculators people have seen most of it before (although I do have a friend making a circuit to do square rooting), but there is still lots of things not done with computers. As well as other things like pushing the limits of compactness and function of those basic things like ticker displays.
If anything I have seen even more interesting redstone designs recently on my server, like sending a signal 3.2km to a ticker display and a small-scale internet.
Aha thanks man, if you wanna teach yourself more, I found that learning about the real life equivalent helps, even if it's just Wikipedia or something.
For instance ,when I was trying to figure out how an Adder works, I just read the Wikipedia article on it and I was good. There are also lots of good redstone pros that help watching, like scjoner. But good luck in your future designs :wink.gif:
http://www.minecraftforum.net/topic/374932-5-bit-alu-8-functions-2-registers/
Well, mine does have mutliplying and dividing by two (shifting), but not more.
I wanted to add some basic multiplication, but that takes forever...
I might though, we'll see, I can probably find a way through to make it simpler.
..In fact, I just thought of a way to do that very simply :wink.gif:
http://www.minecraftforum.net/topic/374932-5-bit-alu-8-functions-2-registers/
For the value writing, I just put a D-Flip Flop for each digit of each register, so a total of 10 D-Flip Flops.
Also, would you be able to just send a link, or some information regarding RAM? I've read a bit on it but I don't understand how to implement it into minecraft.
http://www.minecraftforum.net/topic/374932-5-bit-alu-8-functions-2-registers/
Rules --
and what is this simple technique you speak of? I would really like to know, because ive been trying to find a way to do it easily for a while now.
best explanation I've heard:
when he says sr latch he means RS nor latch.
His version is huge and bulky, but it should help you understand how RAM works.
Well I don't know if this would require a CPU, as I haven't thought it through too much, but you could put your first input into a register, and what you would like to multiply it by in another register. The ALU would add the number to itself, and each time it does that, the second register would decrease by one. When Register 2 = 00000, it would output Register 1.
I'm not to sure if this makes sense though :tongue.gif:
Also, I'll take a look at the video and see if I can do anything with it, thanks!
http://www.minecraftforum.net/topic/374932-5-bit-alu-8-functions-2-registers/
Im still going strong, and our clan is getting bigger by the day.
@OP
Nice job on this! its great to see people building things like this, but i havent actually seen a proper CPU (well except for The1laz) but yeah, good luck with your project
I did'nt take tech for a subject so i don't have anything on this.
Thanks! And I don't think the CPU will be done for a long time, but I'm working on it :wink.gif:
http://www.minecraftforum.net/topic/374932-5-bit-alu-8-functions-2-registers/
Thanks! And good luck aswell!
http://www.minecraftforum.net/topic/374932-5-bit-alu-8-functions-2-registers/
I just used a compact design I found for an adder, and put them in a chain.
I've already got D-Flip Flops in my design, but I'll take a look at the rest, thanks!
Thanks, I'll take a look at both and I might end up joining the RDF :smile.gif:
http://www.minecraftforum.net/topic/374932-5-bit-alu-8-functions-2-registers/