Salaja, I'm a current college student who enjoy's using redstone. My main goal has to build a simple 4 bit ALU with most that a cpu comes with,but not even wikipedia helped me grasp the large amount of knowledge needed to build it. I have seeing your first video of your original cpu way back in the past and enjoyed your accomplishments, and when you released your tutorial videos, have made my day completely (almost everyday since i just recently began rebuilding my lost ALU :tongue.gif: ) I have had so many questions about how a CPU fully functions and how they are all integrated, and even though I must say others are a little better, yours is extremely easy to comprehend and to learn. Not only that, but you also take your time to explain and assist others in the use of your device.
So I thank you for your support since last year, and even though I might be being a stuck-up currently,believe me, you deserve the appraisal (although you've been receiving it for a while now.) I hope to show you my future CPU soon. Again, thank you for your support. :smile.gif:
One question. How does this display negative numbers?
it can't. it can store numbers in 2's compliment to allow calculations involving negative numbers, but can only display them in standard hexadecimal. however, it probably wouldn't be difficult to change the encoders and decoders connected to the 7-seg displays to read the binary as 2's compliment instead.
Salaja, I'm a current college student who enjoy's using redstone. My main goal has to build a simple 4 bit ALU with most that a cpu comes with,but not even wikipedia helped me grasp the large amount of knowledge needed to build it. I have seeing your first video of your original cpu way back in the past and enjoyed your accomplishments, and when you released your tutorial videos, have made my day completely (almost everyday since i just recently began rebuilding my lost ALU :tongue.gif: ) I have had so many questions about how a CPU fully functions and how they are all integrated, and even though I must say others are a little better, yours is extremely easy to comprehend and to learn. Not only that, but you also take your time to explain and assist others in the use of your device.
So I thank you for your support since last year, and even though I might be being a stuck-up currently,believe me, you deserve the appraisal (although you've been receiving it for a while now.) I hope to show you my future CPU soon. Again, thank you for your support. :smile.gif:
to build a 4 bit alu in minecraft:
as long as you know the basics like logic gates and carry-in and carry-out from adders, this: http://library.thinkquest.org/25111/alu.shtml
should help.
i found this page with google by image searching for "alu logic gates".
build 4 of those, connect them, and there's your 4-bit alu that can and, or, not & add. :biggrin.gif:
What i've noticed after examining your CPU is that the ALU is really strange. It looks like you have made decoders as giantlook-up tables for each operation. Why? I'd be so muach easier, faster and compactier if you made a regular one.
what's a "regular" alu? do you mean the hack style ones that can invert the inputs and outputs of the alu? if so, i chose my method because i find my style easier to understand in terms of data paths, and it prevents useless op-codes (like A-B+1). with no useless op-codes, i can have more useful ones.
easier, faster and compactier if you made a regular one
easier - i found my style to be easy to understand and build
faster - for a long time this computer was the fastest, and even though i haven't been following any new advancements in minecraft computers, i'm sure it is still one of the better ones out there. the hack style alu's need an XOR gate on the inputs and outputs, each of which adds 2 ticks to the delay. mine has an XOR on one input, and none on the output.
compacter - irrelevant, there is plenty of space. as long as it isn't so big that it causes repeater delays, then the size doesn't matter.
if i'm talking about the wrong 'regular' type of alu, please give me a link to it.
Im currently working on one. There is only DEC, SHL, SHR, RR and RL left, out of 12 instructions. I think i will be ready tomorrow. The idea is to basically take the inputs and copy them upwards with a torch on a block and repeater after it( I'll think about the delay after im finished with it.), so that the signal gets passed on to other modules as well. After this, the output is inverted 2 times(i cant think of any other way of doing it) or sometimes not inverted at all if there is a possibility, and NOR'ed with decoder signal. This allows me to select the output.
I will send it to you when its ready. Its my first ALU, that is going to be part of a CPU. The primary thing was to make it compact, it will be optimized after its tested, and works properly :smile.gif:. Ow and this tick and thing, can you explain it to me? I have never got to know how it works and how to count it.
what is DEC?
and if by 'modules' you mean alu parts like 'AND', 'OR', 'ADD', etc... then that sounds exactly like my alu, but with each 'module' controlled/blocked by an output of the instruction decoder.
i can only make 3 bit adders ad subtrctors :sad.gif: however,on the first page where you explained what order you built it in,i like the thought of making basic circuiry and then adding in actions s you go along
im off to make my catutus and minecart CPU now :biggrin.gif:
'basic' circuitry? that's the hard stuff. adding the alu and the functions is the easy bit.
I have no idea if you're still around here, but I'll ask anyway.
Out of curiosity (aside from reserving one of them for later use), why have two delete instructions?
Since you're not really extending it, I think the instruction set might have benefited with some more complete branch instructions. I assume you never added an eflags register due to speed concerns, but it certainly would have been nice to have an inverse of the current branch (ie. B !=0 || C !=0)
Asside from that, this is nothing short of awesome. I even spent a little bit of time adding "write protect" and "write all" toggles to the program input - just to make entering and correcting larger programs a bit easier
So I thank you for your support since last year, and even though I might be being a stuck-up currently,believe me, you deserve the appraisal (although you've been receiving it for a while now.) I hope to show you my future CPU soon. Again, thank you for your support. :smile.gif:
it can't. it can store numbers in 2's compliment to allow calculations involving negative numbers, but can only display them in standard hexadecimal. however, it probably wouldn't be difficult to change the encoders and decoders connected to the 7-seg displays to read the binary as 2's compliment instead.
no.
to build a 4 bit alu in minecraft:
as long as you know the basics like logic gates and carry-in and carry-out from adders, this: http://library.thinkquest.org/25111/alu.shtml
should help.
i found this page with google by image searching for "alu logic gates".
build 4 of those, connect them, and there's your 4-bit alu that can and, or, not & add. :biggrin.gif:
what's a "regular" alu? do you mean the hack style ones that can invert the inputs and outputs of the alu? if so, i chose my method because i find my style easier to understand in terms of data paths, and it prevents useless op-codes (like A-B+1). with no useless op-codes, i can have more useful ones.
easier - i found my style to be easy to understand and build
faster - for a long time this computer was the fastest, and even though i haven't been following any new advancements in minecraft computers, i'm sure it is still one of the better ones out there. the hack style alu's need an XOR gate on the inputs and outputs, each of which adds 2 ticks to the delay. mine has an XOR on one input, and none on the output.
compacter - irrelevant, there is plenty of space. as long as it isn't so big that it causes repeater delays, then the size doesn't matter.
if i'm talking about the wrong 'regular' type of alu, please give me a link to it.
what is DEC?
and if by 'modules' you mean alu parts like 'AND', 'OR', 'ADD', etc... then that sounds exactly like my alu, but with each 'module' controlled/blocked by an output of the instruction decoder.
it uses vertical buses, so it appears small from the top, but it is actually quite high.
post a pic when it's done. :biggrin.gif:
'basic' circuitry? that's the hard stuff. adding the alu and the functions is the easy bit.
Out of curiosity (aside from reserving one of them for later use), why have two delete instructions?
Since you're not really extending it, I think the instruction set might have benefited with some more complete branch instructions. I assume you never added an eflags register due to speed concerns, but it certainly would have been nice to have an inverse of the current branch (ie. B !=0 || C !=0)
Asside from that, this is nothing short of awesome. I even spent a little bit of time adding "write protect" and "write all" toggles to the program input - just to make entering and correcting larger programs a bit easier