you got the division? did you use tut's or anything? i made division. did you use my tut?
I was planning on using Invisible0tom's divider, but if you post me a link to your tutorial I might like it better, considering Invisible0tom's will only divide by even numbers and is very limited.
I was planning on using Invisible0tom's divider, but if you post me a link to your tutorial I might like it better, considering Invisible0tom's will only divide by even numbers and is very limited.
That's pretty confusing to me. I never took any classes on computers or electronics, so the diagrams don't mean much to me. If you could simplify it into minecraft form for me to understand I would be thankful and give you much credit in the makung of my final CPU.
This is how far I got with my failed ALU; video edited out
It's based on my Kogge-Stone Carry-Lookahead Adder, but since I figured out that it doesn't have a Cin, it can't subtract. So its design needs to be modified. Besides tomys already obsoleted it (surpassing modern electronics).
From youtube discription fyi;
This was a collab by Treesin and myself, following the second chapter of The Elements of Computing Systems. The instructions are 6 bit;
io: Invert output
ix: Invert x
iy: Invert y
1x: Make x 1111 1111
1y: Make y 1111 1111
s: If 1, use the adder. If 0, use AND.
This was based on demorgan for logic gates. Bitshifting and XOR was decoded seperately. The possible outputs were;
0, 1, -1, x, y, !x, !y, -x, -y, x+y, x-y, y-x, x OR y, x AND y, x NOR y, x NAND y, x IMPLIES y, y IMPLIES x, x XOR y, x XNOR y, bitshift x left, bitshift x right, bitshift x left looping, bitshift x right looping, bitshift y left, bitshift y right, bitshift y left looping, bitshift y right looping.
Everything but subtracting worked in 20 ticks sync. I found out that a normal Kogge-Stone Carry-Lookahead Adder can't subtract, so I needed to find a way to make it (I made a 2 tick full adder for that). It's also been proven in-game that my adder can be optimised further, into a circuit that's far more optimal than used in modern-day processors.
Since it's incomplete, I don't submit this. I was just poining out how fast my 30+ instruction ALU could be. 20 ticks delay, but it's sync, so you can send multiple consecutive signals.
Also I don't think ALU's should be listed, as there are too many. There are a bunch of them on the RDF server. We've got at least one CPU too. But it's/they're not mine, so I'll not be the one to submit.
about no carry in for adder: to make it take a carry in, you could make it only handle 7-bit numbers, with the 8th being used as a carry in. it's cheating and inefficient, but it could work. :smile.gif:
about the Elements of Computing Systems: if i were you, i would develop a better instruction style, then what is in the book. instructions that cause outputs like 0, 1, -1, are a waste if there is a way to write to registers (which there should be). personally, i recommend a RISC style instructions, like what i used. it is harder to build, but you get more useful instructions, and need fewer instruction bits.
about the ALU speed: a fast ALU is the easy bit, as it's combinational logic. personally, i found reading/writing to registers, instruction fetching/decoding, and jump logic to be the slow part. also, you say it's in sync, i assume this means you plan to do pipe-lining within the ALU?
about ALU's not being on the list: i think i kind of agree with you. when i started this list, there weren't many around, so it seemed like a good idea. but now... well this list is getting kind of long...
Hello, I'm new here, but I've been working with redstone for a while now I've recently completed a somewhat CPU which is basically a glorified calculator. I'm currently working on one that can store and use programs and show outputs on a seven-segment display. The specs will be...
5 or 6 bit ALU (haven't decided yet)
capable of 8 functions ( Add, Subtract, Multiply, Divide, AND, OR, NOT, and XOR.)
1 Byte of ROM (Pathetic, I know.)
8? bytes of RAM
I could possibly post a video of it working or I could just show pictures when it's done.
video and pics would be ideal. post when it's done.
0 RAM and 0 ROM? sounds like this may actually be an ALU with a control panel, and not a CPU. if you are going to add memory to it, then add it. re-post when it's done.
by the way, i looked at your thread. '32 ALU Functions' ... a-1, a+1, b-1, b+1... i'm sorry, they can all be done with addition and subtraction, and duplicate operations don't count. this will probably get the same rating as the other HACK cpu's on the list.
video and pics would be ideal. post when it's done.
0 RAM and 0 ROM? sounds like this may actually be an ALU with a control panel, and not a CPU. if you are going to add memory to it, then add it. re-post when it's done.
by the way, i looked at your thread. '32 ALU Functions' ... a-1, a+1, b-1, b+1... i'm sorry, they can all be done with addition and subtraction, and duplicate operations don't count. this will probably get the same rating as the other HACK cpu's on the list.
Mine can actually be reprogrammed right from the control panel. Does that make it a computer then? Also, how do you know how many bits it would be?
Then it will be a Computer. What if it stores programs in the RAM? would that then be considered ROM?
well, the way i've always considered it is like this:
RAM = random access memory = the computer can easily get any value stored here, and use it for an operation in the ALU.
ROM = read only memory = the computer can't write to these locations. you can write to them manually. used for program memory because it remains the same during the life of the program.
i think that no minecraft computer so far has had actual RAM, they have registers, which do the same thing. but we call them RAM anyway. :smile.gif:
nothing stops you from storing your program memory in RAM, it's just usually easier to build them in separate memory blocks.
well, the way i've always considered it is like this:
RAM = random access memory = the computer can easily get any value stored here, and use it for an operation in the ALU.
ROM = read only memory = the computer can't write to these locations. you can write to them manually. used for program memory because it remains the same during the life of the program.
i think that no minecraft computer so far has had actual RAM, they have registers, which do the same thing. but we call them RAM anyway. :smile.gif:
nothing stops you from storing your program memory in RAM, it's just usually easier to build them in separate memory blocks.
Thanks, I'm still quite new to this. It will write a number and the operation in the "RAM" and then it will execute what it says in the ALU. That output will come back in and go with the next operation and number, on and on till it goes through all that is written for the program. It will be able to have up to an 8 step program stored at once. I also might make another "RAM'" so you can store multiple programs and choose what one you want to use.
Thanks, I'm still quite new to this. It will write a number and the operation in the "RAM" and then it will execute what it says in the ALU. That output will come back in and go with the next operation and number, on and on till it goes through all that is written for the program. It will be able to have up to an 8 step program stored at once. I also might make another "RAM'" so you can store multiple programs and choose what one you want to use.
when you say 16 bit instructions, do you mean the input is 16 bit?
16 Bit instructions means that it takes 16 Bits of information to deliver an automated command to the CPU. Salaja uses 4 Bits to select the ALU operation, 4 Bits to Input A, 4 Bits to select input B, and then 4 more to choose the location to write the answer to. If his ALU performed 32 distinct functions, then he'd have to use a 17 Bit instruction set (5+4+4+4).
Rollback Post to RevisionRollBack
Hans Lemurson's Thread of Links:http://www.minecraftforum.net/topic/371610-hans-lemursons-thread-of-links/
Look here to find links to my inventions, creations, and my Youtube channel featuring Amazing Creations of Mine (Redstone engineering FTW!!!) and charming Music-Videos about clones. I also made "Minecraft in Minecraft" (2D platformer/building game). I'm currently trying to make a computer.
That's pretty confusing to me. I never took any classes on computers or electronics, so the diagrams don't mean much to me. If you could simplify it into minecraft form for me to understand I would be thankful and give you much credit in the makung of my final CPU.
sorry but simplifying it would be way more confusing than it is now. im 11 i never took any computer class. im self taught. you just need to know the prerequisite stuff that it said, then you are good to go.
sorry but simplifying it would be way more confusing than it is now. im 11 i never took any computer class. im self taught. you just need to know the prerequisite stuff that it said, then you are good to go.
I do know the prerequisite stuff. I'm just not sure what gets hooked together and what not. Also, I doubt you are completely self-taught because in one of your posts in a different topic said that your Dad was a computer engineer. :dry.gif:
creators = anomalouscobra, jomiester15
16-bit, 7 alu functions, 16 byte ram, 6 byte registry, 144 byte ROM
clock speed - i haven't optimized it yet but 35 ticks is my best estimate
also i looked at your save file recently and your vertical buss design is really ingenious
i haven't made a video yet but i probably will next week
I do know the prerequisite stuff. I'm just not sure what gets hooked together and what not. Also, I doubt you are completely self-taught because in one of your posts in a different topic said that your Dad was a computer engineer. :dry.gif:
what? which topic. my dad is not a computer engineer. and I am self taught. I learned off the internet. My dad taught me a whole bunch of math till gr 9. then i taught my self(was doing math 20 pure a while ago. got sent to do math 10 combined in school when i was in gr 7(my previous year)).
I was planning on using Invisible0tom's divider, but if you post me a link to your tutorial I might like it better, considering Invisible0tom's will only divide by even numbers and is very limited.
yeah i saw invisible0tom's divider. i was going to use his for my ALU but it was way to too limited and didn't give a remainder so that's why i made my own. good luck!
heres the tutorial:
http://www.minecraftforum.net/topic/513714-minecraft-division-the-tutorial
That's pretty confusing to me. I never took any classes on computers or electronics, so the diagrams don't mean much to me. If you could simplify it into minecraft form for me to understand I would be thankful and give you much credit in the makung of my final CPU.
http://www.minecraftforum.net/topic/515621-spartan-8-one-of-the-most-powerful-cpus-ever-in-minecraft/page__p__6802122__hl__spartan+cpu__fromsearch__1#entry6802122
32 ALU Functions, bitshifts on registers, barrel shift enabled but not used. 0 byte RAM, 0 byte ROM (for now). Two registers, conditional branching with 8 bit program counter.
about no carry in for adder: to make it take a carry in, you could make it only handle 7-bit numbers, with the 8th being used as a carry in. it's cheating and inefficient, but it could work. :smile.gif:
about the Elements of Computing Systems: if i were you, i would develop a better instruction style, then what is in the book. instructions that cause outputs like 0, 1, -1, are a waste if there is a way to write to registers (which there should be). personally, i recommend a RISC style instructions, like what i used. it is harder to build, but you get more useful instructions, and need fewer instruction bits.
about the ALU speed: a fast ALU is the easy bit, as it's combinational logic. personally, i found reading/writing to registers, instruction fetching/decoding, and jump logic to be the slow part. also, you say it's in sync, i assume this means you plan to do pipe-lining within the ALU?
about ALU's not being on the list: i think i kind of agree with you. when i started this list, there weren't many around, so it seemed like a good idea. but now... well this list is getting kind of long...
video and pics would be ideal. post when it's done.
0 RAM and 0 ROM? sounds like this may actually be an ALU with a control panel, and not a CPU. if you are going to add memory to it, then add it. re-post when it's done.
by the way, i looked at your thread. '32 ALU Functions' ... a-1, a+1, b-1, b+1... i'm sorry, they can all be done with addition and subtraction, and duplicate operations don't count. this will probably get the same rating as the other HACK cpu's on the list.
Mine can actually be reprogrammed right from the control panel. Does that make it a computer then? Also, how do you know how many bits it would be?
if you can program multiple instructions, and it can perform those instructions automatically, it is a computer.
the number of bits is for the ALU.
if your computer has 16-bit instructions but can only do 4-bit addition, it is a 4-bit computer.
Then it will be a Computer. What if it stores programs in the RAM? would that then be considered ROM?
well, the way i've always considered it is like this:
RAM = random access memory = the computer can easily get any value stored here, and use it for an operation in the ALU.
ROM = read only memory = the computer can't write to these locations. you can write to them manually. used for program memory because it remains the same during the life of the program.
i think that no minecraft computer so far has had actual RAM, they have registers, which do the same thing. but we call them RAM anyway. :smile.gif:
nothing stops you from storing your program memory in RAM, it's just usually easier to build them in separate memory blocks.
Thanks, I'm still quite new to this. It will write a number and the operation in the "RAM" and then it will execute what it says in the ALU. That output will come back in and go with the next operation and number, on and on till it goes through all that is written for the program. It will be able to have up to an 8 step program stored at once. I also might make another "RAM'" so you can store multiple programs and choose what one you want to use.
if you've never done this before, keep it simple.
If it can't read values from memory and store the results of its calculation, then it's not a CPU. Calling an ALU a CPU doesn't make it one.
ALU:
-Takes inputs directly
-Performs the selected calculation
-Delivers the results to nothing (except maybe a display screen of some sort)
CPU:
-Takes inputs from Memory Registers (or input devices with an address)
-Performs the selected calculation
-Delivers result to a Memory Register
Computer:
-Executes a list of CPU instructions automatically
16 Bit instructions means that it takes 16 Bits of information to deliver an automated command to the CPU. Salaja uses 4 Bits to select the ALU operation, 4 Bits to Input A, 4 Bits to select input B, and then 4 more to choose the location to write the answer to. If his ALU performed 32 distinct functions, then he'd have to use a 17 Bit instruction set (5+4+4+4).
Look here to find links to my inventions, creations, and my Youtube channel featuring Amazing Creations of Mine (Redstone engineering FTW!!!) and charming Music-Videos about clones. I also made "Minecraft in Minecraft" (2D platformer/building game). I'm currently trying to make a computer.
sorry but simplifying it would be way more confusing than it is now. im 11 i never took any computer class. im self taught. you just need to know the prerequisite stuff that it said, then you are good to go.
I do know the prerequisite stuff. I'm just not sure what gets hooked together and what not. Also, I doubt you are completely self-taught because in one of your posts in a different topic said that your Dad was a computer engineer. :dry.gif:
creators = anomalouscobra, jomiester15
16-bit, 7 alu functions, 16 byte ram, 6 byte registry, 144 byte ROM
clock speed - i haven't optimized it yet but 35 ticks is my best estimate
also i looked at your save file recently and your vertical buss design is really ingenious
i haven't made a video yet but i probably will next week
by what he has been saying he takes ram to mean the registry so simply say how many bytes of it you have (im assuming two bytes)
what? which topic. my dad is not a computer engineer. and I am self taught. I learned off the internet. My dad taught me a whole bunch of math till gr 9. then i taught my self(was doing math 20 pure a while ago. got sent to do math 10 combined in school when i was in gr 7(my previous year)).