To add comments or start new threads please go to the full version of: How Computers Work
PhysForum Science, Physics and Technology Discussion Forums > Nanotechnology > Nanotechnology

SirLee
This is a rather basic question, but it is not of the usual sort. I understand the basic bench tech concept of how a computer works; you have your processor which has a set of instructions of very specific ways to crunch staggering amounts of numbers, your motherboard with the ROM BIOS which has a pre-built set of instructions on how to start up, your graphics card or integrated graphics which works with converting all the electronic signals it receives into understandable pixels upon the screen for the end user, and the HDD which contains all of the end user's information via a disk which contains particles spinning one way or the other(on or off in essence, binary), and a read/write head which detects these fluctuations. Every last piece of this functions on the basic principle of on or off, the language of binary.

However, I find this understanding of things to be insufficient. While it is a general knowledge of the way things work, it is not a true understanding. I have always been curious how electronics have worked, and while it's a general piece of knowledge that it all functions thanks to transistors, electricity, and the state of being on or off, it is not enough. I would like to be able to comprehend from start to finish how this all works and comes together as pixels upon my screen. From the very moment the first pulse of DC current is sent from my power supply to my motherboard, fueling my processor and all associated circuitry to kicking on my CD drive and hard drives.

I find myself baffled by the fact that in one way or another the computations going on within my processor are translated by my graphics card into pixels visible upon my screen, all using this so rudimentary concept of "on" or "off". No, even further still, how can the processor even crunch numbers in the first place when it can maintain only the 2 states of being on or off? I get the feeling my lack of understanding concerning all this stem from not understanding the interaction between the transistors themselves. I wonder if perhaps there is a material out there which outlines this entire process in such a way without overbearing use of technical jargon? I've done my own research, and have at best found either complex schematics involving electrical symbols which I can only hope at understanding, or found overly simplified explanations which toss around some bench tech lingo, failing to truly outline the process at it's most basic level.

I've entertained the idea of coming to understand this by etching some diagrams myself of how things would work, but I get stuck very early on, and mind you this is nothing pretty nor complex as my knowledge of circuitry schematics is -very- limited, a senior in high school at the moment. Anyways, as I stated earlier, I'm confident my lack of understanding stems from not being able to grasp how all of the transistors interact. As I understand currently, they more or less work in conjunction to create something called 'logic gates', which then gives birth to more advanced arguments such as "and or", "else if", "then if". A very basic diagram or even animation pertaining to how transistors can work together using "on/off" to create such arguments may clear away the mysticism I feel for electronics, as I am a visual learner. Not to say I wouldn't mind a good read on it, but I fear I may lose myself in a wish-wash of jargon. Perhaps it is asking a bit much, though. In any case, I'd appreciate any help with this matter, and thanks in advance!
flyingbuttressman
QUOTE (SirLee+Jan 17 2010, 07:35 PM)
However, I find this understanding of things to be insufficient. While it is a general knowledge of the way things work, it is not a true understanding. I have always been curious how electronics have worked, and while it's a general piece of knowledge that it all functions thanks to transistors, electricity, and the state of being on or off, it is not enough. I would like to be able to comprehend from start to finish how this all works and comes together as pixels upon my screen. From the very moment the first pulse of DC current is sent from my power supply to my motherboard, fueling my processor and all associated circuitry to kicking on my CD drive and hard drives.

This is a question which would take years to answer. If you really want to know the complete answer, you should take a class on digital circuits. The first step would be to learn how to do math using only logic circuits (AND, OR, NOT, XOR, NOR, NAND). From there, you can learn about how information is handled by the I/O, chipset, processor, memory and graphics. You're basically asking a question that would require a Computer Science degree to answer.
Quantum_Conundrum
Designing a video card or motherboard is about as complex as designing a space craft.

A stick of RAM has about 2 billion bits, and each bit has multiple components...

My monitor has at least 1,296,000 pixels, and each pixel can be viewed as a seperate component. In fact, each pixel is itself composed of at least 3 components.
flyingbuttressman
QUOTE (Quantum_Conundrum+Jan 17 2010, 07:58 PM)
Designing a video card or motherboard is about as complex as designing a space craft.

*facepalm*
You don't think for a second that spacecraft themselves contain more than a few custom computers?
QUOTE
A stick of RAM has about 2 billion bits, and each bit has multiple components...

Gee, you know what "giga" means, but you don't know what "byte" means. (a byte is 8 bits)
QUOTE (->
QUOTE
A stick of RAM has about 2 billion bits, and each bit has multiple components...

Gee, you know what "giga" means, but you don't know what "byte" means. (a byte is 8 bits)
My monitor has at least 1,296,000 pixels, and each pixel can be viewed as a seperate component. In fact, each pixel is itself composed of at least 3 components.

It appears that you can multiply.
Quantum_Conundrum
QUOTE (flyingbuttressman+Jan 17 2010, 08:15 PM)
*facepalm*
You don't think for a second that spacecraft themselves contain more than a few custom computers?

Gee, you know what "giga" means, but you don't know what "byte" means. (a byte is 8 bits)

It appears that you can multiply.

Yes they contain computers, but this is "modular".

The spacecraft engineer doesn't design the computer, he just gives the computer engineer the needed specifications.

There is a difference.


Sort of like, the guy who did the wiring in your house doesn't need to know everything that might be plugged in.



I know what a byte is, I was just making a post on a forum and shouldn't expect somebody to be looking for a reason to insult me.
flyingbuttressman
QUOTE (Quantum_Conundrum+Jan 17 2010, 08:50 PM)
Yes they contain computers, but this is "modular".

The spacecraft engineer doesn't design the computer, he just gives the computer engineer the needed specifications.

Actually, computers in spacecraft are intimately integrated with the other components. I doubt that NASA stocks its spacecraft with Intel Core 2 Duo's.
QUOTE
Sort of like, the guy who did the wiring in your house doesn't need to know everything that might be plugged in.

That analogy fails when you are talking about spacecraft. In that case, the computer engineers need to know EVERY possible scenario and plan for it.
QUOTE (->
QUOTE
Sort of like, the guy who did the wiring in your house doesn't need to know everything that might be plugged in.

That analogy fails when you are talking about spacecraft. In that case, the computer engineers need to know EVERY possible scenario and plan for it.
I know what a byte is, I was just making a post on a forum and shouldn't expect somebody to be looking for a reason to insult me.

You have a serious problem with admitting when you are wrong.
Quantum_Conundrum
QUOTE (flyingbuttressman+Jan 17 2010, 09:06 PM)
Actually, computers in spacecraft are intimately integrated with the other components. I doubt that NASA stocks its spacecraft with Intel Core 2 Duo's.

That analogy fails when you are talking about spacecraft. In that case, the computer engineers need to know EVERY possible scenario and plan for it.

You have a serious problem with admitting when you are wrong.

You have a serious problem admitting that every minor oversite in a post doesn't necessarily reflect what the hell I do or don't know.


You haven't contributed a single constructive thing to ANY post on this forum that I have actually read, other than to attempt to insult other members.

For goodness sake, everyone knows what the hell a byte and a bit are, so get over it.

Just because I made a mistake in what I TYPED doesn't mean I don't know what bits and bytes are.
flyingbuttressman
QUOTE (Quantum_Conundrum+Jan 17 2010, 09:19 PM)
You have a serious problem admitting that every minor oversite in a post doesn't necessarily reflect what the hell I do or don't know.

It does. (BTW, it's spelled oversight)
QUOTE
You haven't contributed a single constructive thing to ANY post on this forum that I have actually read, other than to attempt to insult other members.

I find putting you in your place to be constructive. Based on the factual content of your posts, my posts are infinitely more constructive.
QUOTE (->
QUOTE
You haven't contributed a single constructive thing to ANY post on this forum that I have actually read, other than to attempt to insult other members.

I find putting you in your place to be constructive. Based on the factual content of your posts, my posts are infinitely more constructive.
For goodness sake, everyone knows what the hell a byte and a bit are, so get over it.

Maybe, or maybe you just looked it up.
QUOTE
Just because I made a mistake in what I TYPED doesn't mean I don't know what bits and bytes are.

Not necessarily.
adoucette
QUOTE (SirLee+Jan 17 2010, 07:35 PM)
This is a rather basic question, but it is not of the usual sort. I understand the basic bench tech concept of how a computer works; you have your processor which has a set of instructions of very specific ways to crunch staggering amounts of numbers, your motherboard with the ROM BIOS which has a pre-built set of instructions on how to start up, your graphics card or integrated graphics which works with converting all the electronic signals it receives into understandable pixels upon the screen for the end user, and the HDD which contains all of the end user's information via a disk which contains particles spinning one way or the other(on or off in essence, binary), and a read/write head which detects these fluctuations. Every last piece of this functions on the basic principle of on or off, the language of binary.

However, I find this understanding of things to be insufficient. While it is a general knowledge of the way things work, it is not a true understanding. I have always been curious how electronics have worked, and while it's a general piece of knowledge that it all functions thanks to transistors, electricity, and the state of being on or off, it is not enough. I would like to be able to comprehend from start to finish how this all works and comes together as pixels upon my screen. From the very moment the first pulse of DC current is sent from my power supply to my motherboard, fueling my processor and all associated circuitry to kicking on my CD drive and hard drives.

I find myself baffled by the fact that in one way or another the computations going on within my processor are  translated by my graphics card into pixels visible upon my screen, all using this so rudimentary concept of "on" or "off". No, even further still, how can the processor even crunch numbers in the first place when it can maintain only the 2 states of being on or off? I get the feeling my lack of understanding concerning all this stem from not understanding the interaction between the transistors themselves. I wonder if perhaps there is a material out there which outlines this entire process in such a way without overbearing use of technical jargon? I've done my own research, and have at best found either complex schematics involving electrical symbols which I can only hope at understanding, or found overly simplified explanations which toss around some bench tech lingo, failing to truly outline the process at it's most basic level.

I've entertained the idea of coming to understand this by etching some diagrams myself of how things would work, but I get stuck very early on, and mind you this is nothing pretty nor complex as my knowledge of circuitry schematics is -very- limited, a senior in high school at the moment. Anyways, as I stated earlier, I'm confident my lack of understanding stems from not being able to grasp how all of the transistors interact. As I understand currently, they more or less work in conjunction to create something called 'logic gates', which then gives birth to more advanced arguments such as "and or", "else if", "then if". A very basic diagram or even animation pertaining to how transistors can work together using "on/off" to create such arguments may clear away the mysticism I feel for electronics, as I am a visual learner. Not to say I wouldn't mind a good read on it, but I fear I may lose myself in a wish-wash of jargon. Perhaps it is asking a bit much, though. In any case, I'd appreciate any help with this matter, and thanks in advance!

YIKES,

That's a tall order, but you do seem to understand the macro components, so let me give you a few key pieces of the underlying concepts and see it that doesn't get you to at least one Ah Ha! moment.

First, Transistors use a control current to amplify a current, so with a relatively simple set up, one can use a transistors as a switch and thus we can have a current represent ON or a binary value of 1, and no current represent OFF or a binary value of 0.

We, as you know, can easily put billions of these babies on a circuit board.

In their simplest form they are used as memory, meaning billions of 0s and 1s.

Well what good is that?

Well, not much really.

Well, except with 0s and 1s, you CAN represent binary numbers.

0= 0
1 = 1
10 = 2
11 = 3
100 = 4
101 = 5
110 = 6
111 = 7
1000 = 8.

Notice that each time we needed another position to keep counting in binary was at an exact power of 2.

And that power of 2 represents the value of that position (neat huh?)

so
2^0 = 1
2^1 = 2
2^2 = 4
2^3 = 8

So, net net, computers were designed early on to work in groups of 8 bits, called bytes

And thus the maximum value in a byte is 11111111 or 256 different numbers.

And every one of these binary values can be assigned to an external value that has meaning to us.

Different computers can do this differently, but in essence think about it.

For Decimal math, you only need 10 numbers to represent any number.
For English, you only need 52 numbers for all the letters if you want one for value for UPPER CASE and one for lower case.
Oh and then there are the special symbols, !@#$%^&*()_+{}:"<>?,./;'[]=-,
OK that's another 30 or so.

And we still have plenty of binary numbers to go.

Which is OK, the computer can make use of some of these spare numbers for things we don't even think about, like Enter or Carriage Return

OK, back to the basics for a second.

The majority of logic can be handled by some very basic constructs.

The key ones being
OR
If A or B then C

AND
If A and B then C

NOT
If A or B but not A and B, then C

So now back to our Transistor which can be a Switch.

It has power coming in one input, and the signal in the other. If the signal is ON, then power flows out of the transistor.

An OR GATE would have power going to two transistors in PARALLEL and the output of the two transistors would be combined. The output is our result. If power flows on the output line, the OR test is TRUE.
A control input for either A or B would cause power to flow on the output, thus you could use this to test for the OR condition for A Or B.

An AND GATE would have the two transistors in SERIES, with power flowing from the first transistor to the second only if the control input for the first was on. Thus only if there is a signal on A do you get power to the second transistor. The second transistor requires a signal on B to cause power to flow on the output, thus you can use this arrangement to test for the AND condition.

Now go back to the binary math section and see if you can figure out, how using these two logical statements, you can do binary math.

You can arbitrarily set any value to 0 or 1.

You want to add two values, one bit at a time.
A = 0011 to B = 0110 to come up a new value S (or Sum).
You can use an intermediate field called Carry.

Can you?

Arthur
SirLee
QUOTE (adoucette+Jan 18 2010, 02:36 AM)
First, Transistors use a control current to amplify a current, so with a relatively simple set up, one can use a transistors as a switch and thus we can have a current represent ON or a binary value of 1, and no current represent OFF or a binary value of 0.

I understand that they are used as switches, however, I'm curious as to how it is possible to turn them "on" or "off". It is my understanding that by passing so many amperes of current through a transistor, this will cause it to release that flow further on down the circuit, but if not enough current is passed through it, then it will not release the flow, thus maintaining the state of "0". Is this correct?

QUOTE ("adoucette+Jan 18 2010, 02:36 AM)
Now go back to the binary math section and see if you can figure out, how using  these two logical statements, you can do binary math.

You can arbitrarily set any value to 0 or 1.

You want to add two values, one bit at a time.
A = 0011 to B = 0110 to come up a new value S (or Sum).
You can use an intermediate field called Carry.

Can you?

You would want an AND argument to add together both values, which would mean a pair of transistors in 'series', and the result being 9 if I am not badly mistaken.
adoucette
QUOTE (SirLee+Jan 17 2010, 11:28 PM)
I understand that they are used as switches, however, I'm curious as to how it is possible to turn them "on" or "off". It is my understanding that by passing so many amperes of current through a transistor, this will cause it to release that flow further on down the circuit, but if not enough current is passed through it, then it will not release the flow, thus maintaining the state of "0". Is this correct?


A transister has a power input which is constant.
The computer keeps this power on the whole time.
A transister has a signal, whose power can vary.
If there is no signal, there is no output from the transistor, or we say the value is 0.
If there is a signal, then the input power flows to the output, or we say the value is 1.

Which is why you can consider the control current to act like a light switch.
Flip the switch up, (have signal) and power flows and the light comes on.
Flip the switch down, (no signal) and no power flows and the light is off.


When the computer starts up, it has to load the programs, which are stored (as explained before) as a series of 0s and 1s. As long as power remains, the data loaded in memory remains.

At any given time, the computer can READ these memory values, which are grouped as a series of instructions, into programs.

These programs are a series of instructions that tell the computer what to do.

In our simple example we just dealt with 2 instructions, the OR and AND.

Of course there are more instructions that the computer can do, but in reality, they are made up of just lots of these ORs and ANDs arranged logically to do things like ADD, Multiply, MOVE a value from one memory location to another, etc etc.

When you understand how the ADD Binary works, you will be a bit closer.

Arthur
adoucette
QUOTE (SirLee+Jan 17 2010, 11:28 PM)
You would want an AND argument to add together both values, which would mean a pair of transistors in 'series', and the result being 9 if I am not badly mistaken.

The answer is correct, the explanation is not.

QUOTE
You can arbitrarily set any value to 0 or 1.

You want to add two values, one bit at a time.
A = 0011 to B = 0110 to come up a new value S (or Sum).
You can use an intermediate field called Carry.


If you AND the two values together:

You get (going from left to right)
A AND B = S
1 AND 0 = 0
1 AND 1 = 1
0 AND 1 = 0
0 AND 0 = 0

S = 0010 or 2
But the correct answer is S = 1001

Oh, and one correction, from an earlier post,

This was mislabeled as NOT, it's actually an Exclusive OR, normally written XOR

Exclusive OR
If A or B but not A and B, then C

or

A XOR B = C

1 XOR 0 = 1
1 XOR 1 = 0
0 XOR 1 = 1


It's a little bit complicated so write it down and try to figure out what logical operations you need to use on one set of bits at a time, going from left to right, to add all the bits together and remember, you have to deal with "carry the 1", when you add two 1 bits together.

Arthur
adoucette
Did I do a fly by?

If you are still wondering how to logically add binary values together:

In order to do this let’s consider the possibilities

If we AND two bits together we get
A AND B = S
1 AND 0 = 0
1 AND 1 = 1
0 AND 1 = 0
0 AND 0 = 0

If we OR two bits together we get
A OR B = S
1 OR 0 = 1
1 OR 1 = 1
0 OR 1 = 1
0 OR 0 = 0

If we XOR two bits together we get
A XOR B = S
1 XOR 0 = 1
1 XOR 1 = 0
0 XOR 1 = 1
0 XOR 0 = 0

But if we ADD two bits together we get
A + B = S and Carry
1 + 0 = 1 Carry = 0
1 + 1 = 0 Carry = 1
0 + 1 = 1 Carry = 0
0 + 0 = 0 Carry = 0

So notice that the XOR produces the same Sum value as Adding bits together.
So the question becomes, how do we deal with the value in Carry?

Well notice that the Carry bits are the same value as ANDing the bits together.

And on that basis we can construct a binary Adder.

But let’s discuss the Carry function a bit more first.

When you are adding bits together you add the two bits and if they are both 1 , the sum is 0 and the Carry is 1.

Then you go to the next position to the left and you add the carry bit as well as the A&B bits.

Thus every addition is really 3 bits, A, B and Carry.

To do this you need to add A + B and get an intermediate sum, we will call S1 and possibly a Carry

Then you need to Add S1 to the Carry Bit from the previous addition to get the final sum, which we will call Sfinal and possibly a Carry

To distinguish from the Carry bit you add from the previous addition from the Carry bit you get during the process, we will call them Cin and Cout

Note, you can at most get a single carry of one, but it can come from either of the addition steps.

Like this
A + B = S1 + Cin = Sfinal + Cout
0 + 0 = 0 + 0 = 0 + Cout = 0
0 + 0 = 0 + 1 = 1 + Cout = 0
1 + 0 = 1 + 0 = 1 + Cout = 0
1 + 1 = 0 + 0 = 1 + Cout = 1 <= note the Cout = 1 was because of the first addition
1 + 0 = 1 + 1 = 0 + Cout = 1 <= note the Cout = 1 was because of the second addition
1 + 1 = 0 + 1 = 1 + Cout = 1 <= note the Cout = 1 was because of the first addition

Now, given all this, can you figure out a set of steps using XOR and ANDs that can add a set of bits together and come up with the correct result?

Arthur

flyingbuttressman
adoucette,

I'm curious, what is your professional specialty? You seem to be abnormally well-versed in several fields.
adoucette
I earn my living designing and helping to sell large scale computer software solutions.

My first love in science was Biology and particularly Oceanography.
I got my first set of SCUBA tanks in 1968 and taught myself how to dive.
(Today I own a 32 ft Fly Bridge Cruiser).
But I was also hooked on flying and built flying models since I was 10, then the Mercury program and space exploration started I was totally into everything to do with space. (I've watched every US manned launch but two).
My early infatuation with flying led me to get my pilots licence.
Both Boating and Flying got me interested in weather forcasting.
The study of weather led to an interest in Climate Change.

Arthur
Confused2
Here is the datasheet for a binary adder:-
http://www.datasheetcatalog.org/datasheets/166/375566_DS.pdf

Here is what the symbols mean:-
http://en.wikipedia.org/wiki/Logic_gate

Edit .. more on logic at component level:-
http://en.wikipedia.org/wiki/Transistor%E2...ransistor_logic
SirLee
I must admit to my shortcomings when it comes to learning. I am a slow learner, and perhaps even slower to remember at that. I believe I caught unto most of what was said, however, with exception to a few things. Firstly, you imply that power is a constant in regard to transistors throughout the system, which in itself is logical and brings no great shock; it is when you move on to state they possess signals, whose power may vary which befuddles me. Now, this is a first for me, as I've never heard a thing about "signals" in regard to transistors. Perhaps I'm just being dull-witted here as per usual, or have missed a major piece of something here. I'd like to know what kind of signal this is and how it is effected by input power, if you wouldn't mind. Perhaps one the explanation of one will explain both.

Anyways, moving on, my next question regards the functions. So I've got a tenuous grasp on what XOR, AND, OR, and ADD are and in what ways they operate, if not an understanding of why or how at the micro level. I seem to be getting thrown off track during the bit about Carry, Cin and Cout, though. As I see it, and also as was explained by you, Carrying bits comes out the same way as ANDing them. I even thought I understood for a moment how Cin and Cout fit into things, that is until I progressed further down your list of examples. Here is one such part:
A + B = S1 + Cin = Sfinal + Cout
0 + 0 = 0 + 0 = 0 + Cout = 0
Now, this first line here seemingly made sense. I could justify 0 + 0 = 0, and I could see that beneath the Cin column, the 0 seemed reasonable as well, at first... I then studied the second row and noticed an inconsistancy, thus adopting two different theories to see if I could make things fit in correctly, which I could not. The first theory was that your "CarryIn" is the last carry value from a prior line, the "CarryOut". It seemed to fit along with what you said as well, but that didn't work, seeing as the second row of "0 + 0 = 0 + 1 = 1 + Cout = 0" contained a "1" for the Cin, whereas the prior row had clearly contained a "0" for the Cout.

I then tried reasoning that the Cin could only be a 1 if there was a 1 + 1, which clearly there wasn't anywhere, at least working from the top rows down. I tried a similar approach working from the bottom rows to the top, but got stuck again as well, except it wasn't quite the same. Seeing as you noted as to why the first three bottom rows of Couts came out as 1's, I didn't run into a problem as early, but it was in essence the same. I couldn't figure out where the Cin occurred from within the third row up from the bottom. I appreciate your help thus far, and your detailed explanations are excellent. My apologies if my explanation for why I don't understand seems fragmented.
adoucette
QUOTE (SirLee+Jan 21 2010, 03:20 AM)
I must admit to my shortcomings when it comes to learning. I am a slow learner, and perhaps even slower to remember at that. I believe I caught unto most of what was said, however, with exception to a few things. Firstly, you imply that power is a constant in regard to transistors throughout the system, which in itself is logical and brings no great shock; it is when you move on to state they possess signals, whose power may vary which befuddles me. Now, this is a first for me, as I've never heard a thing about "signals" in regard to transistors. Perhaps I'm just being dull-witted here as per usual, or have missed a major piece of something here. I'd like to know what kind of signal this is and how it is effected by input power, if you wouldn't mind. Perhaps one the explanation of one will explain both.

I've never tried to actually explain this in this detail, so bear with me, its sometimes not easy to give the best examples.

Ok,

Transistors have 3 leads.

One lead has power coming in.
One lead can carry a signal current.
One lead is the output.

A signal current can be anything over the minimum needed for the transistor to function reliably.

In essence what happens is with NO Voltage on the Signal line, the power can not flow through the transistor, and thus there is no current on the output lead.

This is the equiv of 0 to the computer.

When sufficient voltage is applied to the signal line, then the transistor allows current to flow from the input to the output side.

This is the equiv of 1 to the computer.

Just as an aside, in the world of computers, transistors are primarily used as a binary switch with the output being interpreted as a 0 or a 1.

Transistors though can also be designed and used as amplifiers. In this case, the output is proportional to the signal. Thus you will find them used in audio amplifiers, for instance, to turn a small signal (output from the receiver) to a large signal needed by the speakers.

QUOTE
Anyways, moving on, my next question regards the functions. So I've got a tenuous grasp on what XOR, AND, OR, and ADD are and in what ways they operate, if not an understanding of why or how at the micro level. I seem to be getting thrown off track during the bit about Carry, Cin and Cout, though. As I see it, and also as was explained by you, Carrying bits comes out the same way as ANDing them. I even thought I understood for a moment how Cin and Cout fit into things, that is until I progressed further down your list of examples. Here is one such part:
A + B = S1 + Cin = Sfinal + Cout
0 + 0 = 0 + 0 = 0 + Cout = 0
Now, this first line here seemingly made sense. I could justify 0 + 0 = 0, and I could see that beneath the Cin column, the 0 seemed reasonable as well, at first... I then studied the second row and noticed an inconsistancy, thus adopting two different theories to see if I could make things fit in correctly, which I could not. The first theory was that your "CarryIn" is the last carry value from a prior line, the "CarryOut". It seemed to fit along with what you said as well, but that didn't work, seeing as the second row of "0 + 0 = 0 + 1 = 1 + Cout = 0" contained a "1" for the Cin, whereas the prior row had clearly contained a "0" for the Cout.

I then tried reasoning that the Cin could only be a 1 if there was a 1 + 1, which clearly there wasn't anywhere, at least working from the top rows down. I tried a similar approach working from the bottom rows to the top, but got stuck again as well, except it wasn't quite the same. Seeing as you noted as to why the first three bottom rows of Couts came out as 1's, I didn't run into a problem as early, but it was in essence the same. I couldn't figure out where the Cin occurred from within the third row up from the bottom.  I appreciate your help thus far, and your detailed explanations are excellent. My apologies if my explanation for why I don't understand seems fragmented.


My Bad.

I should have included a better explanation

These blocks (for AND, OR and XOR):

CODE
If we AND two bits together we get
A AND B = S
1 AND 0 = 0
1 AND 1 = 1
0 AND 1 = 0
0 AND 0 = 0


Just to show the result of doing the operation on all the bit combinations between A and B that are possible.

Each line is independent.

When we Add:

CODE
But if we ADD two bits together we get
A + B = S and Carry
1 + 0 = 1 Carry = 0
1 + 1 = 0 Carry = 1
0 + 1 = 1 Carry = 0
0 + 0 = 0 Carry = 0


You are absolutely correct in that only when one is adding two 1 bits together do we get a Carry bit.

When you are adding a SERIES of bits together, one has to include a Carry In bit from the previous set of bits and you get a Carry Out bit for the next (moving left to right, just like decimal math)

The Carry In bit for the right most set of bits is always 0.

With this explanation, go back and see if you can get a better grasp on AND, OR and XOR.

No sense going on until we have these nailed down.

Arthur
SirLee
Forgive my long hiatus. I read your explanation on the transistor, and still felt I was lacking a few details. I youtubed an animated explanation of the transistor and this is what I found. I've gained a bit more insight from combining your explanation and this video together, but I feel I'm left with more questions than I began with... Firstly, if the whole concept is based on filling the base with electrons from the input until there are no openings left, and then applying a positive charge to the base via the middle lead in order to create more openings for new electrons, allowing electrons or 'current' to flow from the input-base-ouput, where does this positive charge, or "signal" come from?

These next two questions more or less ties into the above; if the input of a transistor is connected to a preceeding transistor in the circuit, and the output is connected to the proceeding transistor, what is the middle signal lead interconnected with? You mentioned that the power emanating throughout the system is constant, which seems to be true considering the nature of a power-supply and it's role. If this is so, where does the opportunity arise for a transistor to change it's state if it's being supplied with a constant flow of power? As I said, these questions are integrated into one another, but I'd like to ask them separately for the sake of covering all angles.

QUOTE
When you are adding a SERIES of bits together, one has to include a Carry In bit from the previous set of bits and you get a Carry Out bit for the next (moving left to right, just like decimal math)

The Carry In bit for the right most set of bits is always 0.

As for the logic arguments, I'm afraid I've become even more lost in a distortion of facts here... I understand the concept of carrying in bits over from a prior set of bits to be used as the Carry In, and that the result of each line yields a Carry Out bit for the next set of addition. Why is it that the right most Carry In bit is always 0, though? Wouldn't it be the left most, seeing as when you first begin there are no bits to be carried in?

So for example, you have two variables: A+B. A just so happens to equal 1, and B so happens to equal 0. Now, when you add them, you'll obviously get 1, your S1 value. Your Cin value would be 0, seeing as there have been no Cout values before now to carry in. The following is how it would look, cutting off the end Cout value:
A+B=S1+Cin=Sfinal
1 + 0 = 1 + 0 = 1
I suppose my next question is how exactly are you acquiring the Cout value? Is it the carry value for the first addition/second addition, and if neither yields a 1, it defaults to 0? Out of all of this, I haven't seen the reason for carry values as well. Perhaps that is only after I learn how to use them, though. I'll continue to look around and see what I can find.
adoucette
QUOTE (SirLee+Jan 26 2010, 10:37 PM)
Forgive my long hiatus. I read your explanation on the transistor, and still felt I was lacking a few details. I youtubed an animated explanation of the transistor and this is what I found. I've gained a bit more insight from combining your explanation and this video together, but I feel I'm left with more questions than I began with... Firstly, if the whole concept is based on filling the base with electrons from the input until there are no openings left, and then applying a positive charge to the base via the middle lead in order to create more openings for new electrons, allowing electrons or 'current' to flow from the input-base-ouput, where does this positive charge, or "signal" come from?


Very simply, the signal represents one BIT.
If the BIT in question is on, there is a signal current is applied to the Control segment of the transistor and thus power flows from the Input side to the Output side.

Where does the signal come from, well typically memory, or it's passed on as part of a logic circuit, as we were discussing in the ADDER example.

Memory uses both a Transistor as the switch and a Capacitor (acts like a small battery)

In dynamic random access memory (DRAM), a transistor and a capacitor are paired to create a memory cell (a single bit).

The capacitor actually holds the bit of information and the the transistor acts as a switch that lets the control circuitry on the memory chip read the capacitor or change its state.

To store a 1 in the memory cell, the Capacitor is charged with electrons.
To store a 0 the Capacitor is discharged.

Since the capacitors don't hold their charge very long (which is why when you turn off your computer the memory all resets to zeros), each memory cell is read and reset every other cycle. In between this refresh, the computer can read or write any of the memory locations for its own needs. This is why faster memory speeds (represented in millions of cycles per second) are important for overall computer processing performance.

QUOTE
These next two questions more or less ties into the above; if the input of a transistor is connected to a preceeding transistor in the circuit, and the output is connected to the proceeding transistor, what is the middle signal lead interconnected with? You mentioned that the power emanating throughout the system is constant, which seems to be true considering the nature of a power-supply and it's role. If this is so, where does the opportunity arise for a transistor to change it's state if it's being supplied with a constant flow of power?


If you have multiple transistors connected in a logic circuit, the first one's control lead will equate to a bit fetched from memory. The other's control inputs can be from other memory locations or from the output of the logic circuit itself.

Since the memory locations can be either 0 or 1 and the output of any logic circuit can be 0 or 1, there is no constant flow of power to the CONTROL layer of the transistors.

Arthur
adoucette
QUOTE (SirLee+Jan 26 2010, 10:37 PM)
I understand the concept of carrying in bits over from a prior set of bits to be used as the Carry In, and that the result of each line yields a Carry Out bit for the next set of addition. Why is it that the right most Carry In bit is always 0, though? Wouldn't it be the left most, seeing as when you first begin there are no bits to be carried in?

You add bits, just like you do decimal numbers from RIGHT to LEFT.

Thus the rightmost Carryin Bit starts at 0.

CODE

So to add these two binary numbers together.

0 1 1 0 0
0 0 1 0 1

Starting at the right most bit we get:

0 + 1 = 1 + Carry In 0 = 1 (Sum) with a Carry Out = 0 <This is the rightmost bits

0 + 0 = 0 + Carry In 0 = 0 (Sum) with a Carry Out = 0

1 + 1 = 0 + Carry In 0 = 0 (Sum) with a Carry Out = 1 <== from first addition

1 + 0 = 1 + Carry In 1 = 0 (Sum) with a Carry Out = 1 <== from 2nd addition

0 + 0 = 0 + Carry In 1 = 1 (Sum) with a Carry Out = 0

Thus the answer is (the Sum bits written right to left)

1 0 0 0 1



Note, always end by adding two zeros together to take care of the overflow of a carry bit, as in the example above.

QUOTE (SirLee+)
So for example, you have two variables: A+B. A just so happens to equal 1, and B so happens to equal 0. Now, when you add them, you'll obviously get 1, your S1 value. Your Cin value would be 0, seeing as there have been no Cout values before now to carry in. The following is how it would look, cutting off the end Cout value:
A+B=S1+Cin=Sfinal
1 + 0 = 1 + 0 = 1


Correct.


QUOTE (SirLee+)
how exactly are you acquiring the Cout value? Is it the carry value for the first addition/second addition, and if neither yields a 1, it defaults to 0?


Yes, Cout is 1 if either the first or second addition creates a carry. If neither do, then Cout is 0.

QUOTE (SirLee+)
I haven't seen the reason for carry values as well


You can't add two numbers together without them and it's also necessary for logic, for instance it is used in determing the AND condition, ie. if you add to bits together, the Carry bit is the logical answer to the AND test.

CODE


0 + 0 = 0, Carry = 0
0 AND 0 = 0

0 + 1 = 1, Carry = 0
0 AND 1 = 0

1 + 1 = 0, Carry = 1
1 AND 1 = 1


Arthur


SirLee
I believe I just had quite a few "aha" moments. ;D It took me a couple tries, but I finally see a bit of the bigger picture now. In response to your earlier problem-
QUOTE
You want to add two values, one bit at a time.
A = 0011 to B = 0110 to come up a new value S (or Sum).
You can use an intermediate field called Carry.

The way to do so using your carry system would be as such:
0+1= 1+0= 1 Cout=0
1+1= 0+0= 0 Cout=1
1+0= 1+1= 0 Cout=1
0+0= 0+1= 1 Cout=0
0+0= 0+0= 0 Cout=0
Answer:
01001

I had the correct answer before as you said, but I had obviously failed to do it the computer's way. Now, in response to the other problem you posed to me of doing the same addition purely with XORs and ANDs...:

(Note: C1 is the result of A AND B, and C2 is the result of S1 AND Cin as can be seen below. Also, ignore the hyphens, I only used them because of spacing issues.)
A ---- B -- S1 --- Cin - SF -- A --- B - C1 -- S1 ---- Cin - C2 - C1 -- C2 -- Cout
0 XOR 1 = 1 XOR 0 = 1 --- 0 AND 1 = 0 --- 1 AND 0 = 0 --- 0 XOR 0 = 0
1 XOR 1 = 0 XOR 0 = 0 --- 1 AND 1 = 1 --- 0 AND 0 = 0 --- 1 XOR 0 = 1
1 XOR 0 = 1 XOR 1 = 0 --- 1 AND 1 = 1 --- 1 AND 0 = 0 --- 1 XOR 0 = 1
0 XOR 0 = 0 XOR 1 = 1 --- 0 AND 1 = 0 --- 0 AND 0 = 0 --- 0 XOR 0 = 0
0 XOR 0 = 0 XOR 0 = 0 --- 0 AND 0 = 0 --- 0 AND 0 = 0 --- 0 XOR 0 = 0

It seems to work, but I can't help but feel it's wrong. As you can see, I just basically replaced the ADDS with XORs and then added a sort of "checker" at the end for the Couts. Perhaps I need to include an extra step for the derision of my Cins, but I couldn't quite figure out how to do so using just XOR and AND. Thoughts?

QUOTE (->
QUOTE
You want to add two values, one bit at a time.
A = 0011 to B = 0110 to come up a new value S (or Sum).
You can use an intermediate field called Carry.

The way to do so using your carry system would be as such:
0+1= 1+0= 1 Cout=0
1+1= 0+0= 0 Cout=1
1+0= 1+1= 0 Cout=1
0+0= 0+1= 1 Cout=0
0+0= 0+0= 0 Cout=0
Answer:
01001

I had the correct answer before as you said, but I had obviously failed to do it the computer's way. Now, in response to the other problem you posed to me of doing the same addition purely with XORs and ANDs...:

(Note: C1 is the result of A AND B, and C2 is the result of S1 AND Cin as can be seen below. Also, ignore the hyphens, I only used them because of spacing issues.)
A ---- B -- S1 --- Cin - SF -- A --- B - C1 -- S1 ---- Cin - C2 - C1 -- C2 -- Cout
0 XOR 1 = 1 XOR 0 = 1 --- 0 AND 1 = 0 --- 1 AND 0 = 0 --- 0 XOR 0 = 0
1 XOR 1 = 0 XOR 0 = 0 --- 1 AND 1 = 1 --- 0 AND 0 = 0 --- 1 XOR 0 = 1
1 XOR 0 = 1 XOR 1 = 0 --- 1 AND 1 = 1 --- 1 AND 0 = 0 --- 1 XOR 0 = 1
0 XOR 0 = 0 XOR 1 = 1 --- 0 AND 1 = 0 --- 0 AND 0 = 0 --- 0 XOR 0 = 0
0 XOR 0 = 0 XOR 0 = 0 --- 0 AND 0 = 0 --- 0 AND 0 = 0 --- 0 XOR 0 = 0

It seems to work, but I can't help but feel it's wrong. As you can see, I just basically replaced the ADDS with XORs and then added a sort of "checker" at the end for the Couts. Perhaps I need to include an extra step for the derision of my Cins, but I couldn't quite figure out how to do so using just XOR and AND. Thoughts?

Very simply, the signal represents one BIT.
If the BIT in question is on, there is a signal current is applied to the Control segment of the transistor and thus power flows from the Input side to the Output side.

Where does the signal come from, well typically memory, or it's passed on as part of a logic circuit, as we were discussing in the ADDER example.

I understood that the signal and the third lead it's passed on through is in essence a 'bit', seeing as it's integral to determining whether the transistor lets current flow or not. That's my fault for not explaining that.

QUOTE
Memory uses both a Transistor as the switch and a Capacitor (acts like a small battery)

In dynamic random access memory (DRAM), a transistor and a capacitor are paired to create a memory cell (a single bit).

The capacitor actually holds the bit of information and the the transistor acts as a switch that lets the control circuitry on the memory chip read the capacitor or change its state.
So are you saying that each Transistor has it's own Capacitor? O.o Also, I was kinda hoping to know how the third lead on a transistor, the "switch" lead in essence, is physically connected. That's for another time, though, I'll do my own research to try and avoid constantly asking you every little thing.

QUOTE (->
QUOTE
Memory uses both a Transistor as the switch and a Capacitor (acts like a small battery)

In dynamic random access memory (DRAM), a transistor and a capacitor are paired to create a memory cell (a single bit).

The capacitor actually holds the bit of information and the the transistor acts as a switch that lets the control circuitry on the memory chip read the capacitor or change its state.
So are you saying that each Transistor has it's own Capacitor? O.o Also, I was kinda hoping to know how the third lead on a transistor, the "switch" lead in essence, is physically connected. That's for another time, though, I'll do my own research to try and avoid constantly asking you every little thing.


If you have multiple transistors connected in a logic circuit, the first one's control lead will equate to a bit fetched from memory. The other's control inputs can be from other memory locations or from the output of the logic circuit itself.

Since the memory locations can be either 0 or 1 and the output of any logic circuit can be 0 or 1, there is no constant flow of power to the CONTROL layer of the transistors.

This makes A LOT more sense to me than it did before, though the question I had asked was very similar to the prior, and that was regarding the physical connection of the third leads themselves.
adoucette
QUOTE (SirLee+Jan 29 2010, 09:09 PM)
I believe I just had quite a few "aha" moments. ;D It took me a couple tries, but I finally see a bit of the bigger picture now.

Great.
I'm trying to give you just enough so you can take it the next step and get that "aha!" moment.

QUOTE
in response to the other problem you posed to me of doing the same addition purely with XORs and ANDs...:

(Note: C1 is the result of A AND B, and C2 is the result of S1 AND Cin as can be seen below. Also, ignore the hyphens, I only used them because of spacing issues.)
A ---- B -- S1 --- Cin - SF -- A --- B - C1 --  S1 ---- Cin - C2 - C1 -- C2 -- Cout
0 XOR 1 = 1  XOR 0 = 1 --- 0 AND 1 = 0  --- 1 AND 0 = 0  --- 0 XOR 0 =  0
1 XOR 1 = 0  XOR 0 = 0 --- 1 AND 1 = 1  --- 0 AND 0 = 0  --- 1 XOR 0 =  1
1 XOR 0 = 1  XOR 1 = 0 --- 1 AND 1 = 1  --- 1 AND 0 = 0  --- 1 XOR 0 =  1
0 XOR 0 = 0  XOR 1 = 1 --- 0 AND 1 = 0  --- 0 AND 0 = 0  --- 0 XOR 0 =  0
0 XOR 0 = 0  XOR 0 = 0 --- 0 AND 0 = 0  --- 0 AND 0 = 0  --- 0 XOR 0 =  0

It seems to work, but I can't help but feel it's wrong. As you can see, I just basically replaced the ADDS with XORs and then added a sort of "checker" at the end for the Couts. Perhaps I need to include an extra step for the derision of my Cins, but I couldn't quite figure out how to do so using just XOR and AND. Thoughts?


Good job!, that's correct.

Note though I limited you to XOR and AND, the last step could also be an done with an OR.

So this is really a key step in learning how computers work and that is, using basic electrical circuits involving transistors as switches, we can create logic gates that allow us to test two bits for the OR, AND and XOR conditions, and that arranged properly, one can do math using logic.

It also brings up the next point, and that is that in doing that addition, each step was one logical operation and each one had to be done in sequence.

Which brings us to the heart of a computer, its CLOCK.

A computer has within it a clock that generates a signal every nth of a second.

Each pulse is equal to one computer cycle, and during that cycle, the next logical operation would be performed. Thus the Cout bit from one step of the ADD can be used as the Cin for the next step.

You see this clock speed referenced when you see a computer listed as running at say 3.2 Ghz

Which would mean its internal clock beats at 3.2 Billion cycles per second.



There are some other basic operations that can be done using logic.

For instance one can clear a set of bits to all zeros, regardless of original value to all zeros by:

First OR the bits with a set of all one bits.
Then XOR the bits with a set of all one bits.

Field to be set to zero
0101
1111 <= OR with all 1 bits
1111 <= result
1111 <= XOR with all 1 bits
0000 <= Final Result.

Or one can Swap a set of bits with another set of bits using just XOR
Field A = 1100
Field B = 0101

1100 <= Field A
0101 <= Field B
1001 <= B XOR A, Result replaces what was in Field B.

1001 <= new field B
1100 <= Field A
0101 <= A XOR B, Result replaces what was in Field A

0101 <= new field A value
1001 <= new field B value (result from first XOR)
1100 <= B XOR A, result replaces what was in field B

End result
Field A = 0101
Field B = 1100

Think about these types of logical operations for a minute and you will see the computer can use the same OR, AND and XOR logic to move data from one memory location to another.

Similarly one can use these to compare two locations to see if they are the same or not (basic IF A EQUAL B logic statement)

The next aha! moment should be to realize that if one can do logic tests and math and move data around, then there really is no limitation to what you can do pragmatically with these basic constructs.

The fact is the computer is never doing anything more complicated than the few logical operations we just went over. Its really just doing billions of these simple logic operations every second.

But these operations are SO basic, that to program a computer to do things at this level would take forever.

Just look at the steps involved in Adding a few binary bits together.

So the next level of complexity is that the Central Processing Unit or CPU of the computer has a bunch of these low level logic gates grouped together to perform higher level functions.

Thus a computer has sets of logic gates arranged so it can do all the basic math operations.

Thus allowing a higher level instruction to the CPU to be ADD 32 bit Field A to 32 Field B and put the result in B.

Or MOVE 48 bytes starting at location A to location B.

Or COMPARE the two fields A and B and determine if they are the same.

In this way, the logic gates are arranged in groups which equate to functions that we are more comfortable in dealing with and allow us to make the computer do something by programming it.

Even these level commands can be packaged into groups of instructions that operate on an even higher level, thus we can have very high level languages that operate at an object level, so we can program the computer using even higher levels of abstraction.

(this is way beyond the basics, but take a look at this for an idea of what this equates to: http://en.wikipedia.org/wiki/Java_(programming_language)

The net is though, that we can use high level computer languages that use logical constructs that are relatively simple for a person to understand, but the programming language can then be broken down (compiled using another program) into the much smaller and more basic instructions the computer understands.


Arthur

adoucette
QUOTE (SirLee+Jan 29 2010, 09:09 PM)
So are you saying that each Transistor has it's own Capacitor? O.o Also, I was kinda hoping to know how the third lead on a transistor, the "switch" lead in essence, is physically connected. That's for another time, though, I'll do my own research to try and avoid constantly asking you every little thing.


Not every transistor.
I mentioned it because it's used in DRAM memory, and that's the most common memory in use today.

Not trying to go too deep, but one can build a circuit, using just logic, to store the on/off state. The problem is that doing so requires more circuitry and thus you get less density, meaning fewer bits per chip, and higher power requirements, thus more heat/less battery life etc.

Arthur
ElaineAbigayle
Computers, the ones we know and love have not been around all that long. The first home personal computer was not sold until 1977. We have come a long way since then. Did you know that in 1983 there were approximately 2 million personal computers in use in the United States. However just 10 years later in 1993 the number had jumped to more than 90 million. And now in 2009 the number is estimated at over 200 million.

Computers, today are small, fast, reliable, and extremely useful. Back in 1977 that really was not the case. However, they both operated in basically the same way. They both receive data, stored data, processed data, and then output data similar the the way our own brain functions. This article deals with those 4 functions: Memory, Processing, Input, and Output.
Memory
Lets look at computer memory first. The function of storage in a computer comes in many different sizes, types and shapes. However there are two basic categories: short-term and long-term. A typical computer contains numerous types of memory including RAM, ROM, virtual, cache, and various long-term storage devices. Each type of computer memory serves a specific function and purpose.

Computer memory is measured in bytes. A single byte is made up of a series of 1's and 0's normally traveling in pairs of eight. These eight 0's and 1's are the way the computer communicates and stores information. With each keystroke or character a byte of memory is used. In another article you will learn more about bits and how the computer thinks.

Measuring Memory
Term/Byte

Abbreviation

Value
Kilo K, KB 1,024 bytes
Mega M, MB, Meg 1,048,576 bytes (Million)
Giga G, GB, Giga 1,073,741,824 bytes (Billion)
Tera T, TB, Tera 1,099,511,628,000 bytes (Trillion)

Here is another way of looking at the measurement of memory:

Measuring Bytes
8 bits

=
1 byte
1000 bytes

=
1 kilobyte
1000 kilobytes

=
1 megabyte
1000 megabytes

=
1 gigabyte
1000 gigabytes

=
1 terabyte


ROM
ROM, or read-only memory is permanent, long-term, nonvolatile memory. Nonvolatile means is doesn't disappear when the computer is shut off. It also can not be erased or changed in anyway. However there are types of ROM called PROM that can be altered. The P stands for programmable. ROM's purpose is to store the basic input/output system (BIOS) that controls the start-up, or boot process.

RAM
RAM, or random-access memory unlike ROM works only when the computer is turned on. This memory is vital to the computer because it controls the moment by moment processes of the computer. The first thing that goes into RAM is the OS (operating system) which is most cases is Windows 95. Next for the RAM might be a game, or the Internet browser, or some type of software that you want to use.

Early personal computer only needed about 64K of RAM. Today that number is drastically higher. With photos, sounds, and even movies going into RAM, the amount need is now in the millions. The computer I am currently using has 80 MB or 80,000K of RAM.

Multitasking has put more demand on RAM in the past few years. Multitasking is the ability to run more than one program at the same time. For instance, many people like to run Netscape Communicator along with their word processing software. This means you need lots of RAM to hold both programs.

Other types of temporary memory are cache (pronounced "cash") and virtual memory. Both of these types of memory supplement the computer's primary RAM and perform the same function as RAM.

Storage Devices:

RAM and ROM may be very important parts of the computer; however, without storage devices like hard drives and disk drives your computer would not be near as useful.

Here are the most common forms of Storage Devices found on your home computer
Granouille
Is there some point to your blast from the past?

QUOTE
Early personal computer only needed about 64K of RAM. Today that number is drastically higher. With photos, sounds, and even movies going into RAM, the amount need is now in the millions. The computer I am currently using has 80 MB or 80,000K of RAM.

Multitasking has put more demand on RAM in the past few years. Multitasking is the ability to run more than one program at the same time. For instance, many people like to run Netscape Communicator along with their word processing software. This means you need lots of RAM to hold both programs.


80Mb and Netscape Communicator? Where did you copy this crud from, and from what year? Most of my computers have at least 1Gb of RAM, and Communicator has been defunct for years.

http://browser.netscape.com/

You'll notice the end of support notice as of 2008?
adoucette
QUOTE (Granouille+Apr 20 2010, 09:17 AM)
Is there some point to your blast from the past?


Maybe, but I doubt it's good.

We've had several posters show up recently, with compound common names, and post wiki definitions as replys to posts keying off a word in the previous post.

Sorta makes it look like "ElaineAbigayle", or "LaurenJadeTaylor", or "MaraShylaStewart" is a real person.

As in:

http://www.physforum.com/index.php?showtop...ndpost&p=455139

and

http://www.physforum.com/index.php?showtop...ndpost&p=455170

and

http://www.physforum.com/index.php?showtop...ndpost&p=453443


But I'm pretty sure these are bots and why they are trying to establish these fake identities is not likely to be for any good purpose.

Arthur
rpenner
Dude, it's a bot copying from Wikipedia.
adoucette
QUOTE (rpenner+Apr 20 2010, 10:38 AM)
Dude, it's a bot copying from Wikipedia.

That's exactly what I said:

QUOTE
post wiki definitions as replys to posts keying off a word in the previous post


The question though is: for what purpose?

Just seems like they are trying to create a fake identity that might fool someone who didn't notice the pattern, as it apparently did with Granouille.

For what reason someone would do this though escapes me.

Arthur

light in the tunnel
QUOTE (adoucette+Jan 18 2010, 05:47 AM)
As long as power remains, the data loaded in memory remains.

Is this why the desktop image freezes but remains visible when the computer (processor?) crashes?

It's all those RAM 1s and 0s staying the same despite the processes that generated them having collapsed?
light in the tunnel
QUOTE (adoucette+Apr 20 2010, 03:51 PM)
For what reason someone would do this though escapes me.

Could it be someone is testing an automated system for analyzing and responding to discussion? Maybe they want to develop and sell some kind of AI for a search engine or other automatic knowledge processor.
flyingbuttressman
QUOTE (light in the tunnel+Apr 20 2010, 03:29 PM)
Is this why the desktop image freezes but remains visible when the computer (processor?) crashes?

If a processor "crashes" you're not going to see a "frozen" screen. You would probably see a blue screen or no screen at all. "Freezing" is usually the processor getting bogged down with instructions and becoming unable to recognize user input.

RAM is what your document was in when your computer crashed. Luckily, modern word processors will periodically save your document to the hard drive in case of such a failure.
adoucette
QUOTE (light in the tunnel+Apr 20 2010, 02:29 PM)
Is this why the desktop image freezes but remains visible when the computer (processor?) crashes?

It's all those RAM 1s and 0s staying the same despite the processes that generated them having collapsed?

Yes.

Typically your display is handled by a graphics processor and it has it's own memory (cheaper systems will use a hunk of main memory), but regardless of how it's done, what is to be displayed is transfered to this dedicated piece of memory and the graphics processor turns the data in those memory locations into a video signal that the particular display can use (XGA, VGA etc). Typically the display is refreshed at 60 frames per second.

If the computer freezes, which is typically the CPU executing a tight system loop such that Ctl/Alt/Delete doesn't do anything and it won't detect any external interupts, like moving the mouse, the graphics processor is unaffected and goes on it's merry way displaying what is in the graphics memory.

Arthur
adoucette
QUOTE (light in the tunnel+Apr 20 2010, 02:36 PM)
Could it be someone is testing an automated system for analyzing and responding to discussion? Maybe they want to develop and sell some kind of AI for a search engine or other automatic knowledge processor.

I suspect that they are trying to get a bot that is able to post enough of these filler messages such that they can automate getting past the "have to post X messages" before you can post a link restriction.

But that's just a guess.

Arthur
light in the tunnel
QUOTE (adoucette+Apr 20 2010, 07:45 PM)
Yes.

Typically your display is handled by a graphics processor and it has it's own memory (cheaper systems will use a hunk of main memory), but regardless of how it's done, what is to be displayed is transfered to this dedicated piece of memory and the graphics processor turns the data in those memory locations into a video signal that the particular display can use (XGA, VGA etc). Typically the display is refreshed at 60 frames per second.

If the computer freezes, which is typically the CPU executing a tight system loop such that Ctl/Alt/Delete doesn't do anything and it won't detect any external interupts, like moving the mouse, the graphics processor is unaffected and goes on it's merry way displaying what is in the graphics memory.

Arthur

This must also be why DVDs and digital TV signals respond to interference with series of "hiccups" in which a single frame freezes until a later one re-activates the display to go on changing. Am I overextending this?

Achieving the post-quota to be able to post links is a more practical explanation for the bot posts than my AI-experiments hypothesis. The question is are they going to be banned for plagiarizing?
adoucette
QUOTE (light in the tunnel+Apr 20 2010, 03:14 PM)
This must also be why DVDs and digital TV signals respond to interference with series of "hiccups" in which a single frame freezes until a later one re-activates the display to go on changing. Am I overextending this?


Not really.

The process is similar.

Digital TV signals are processed using a graphics engine somewhat like the graphics processor in your computer, and so when they have problems with the input, like a smudge on a DVD, or a garbled signal, the last good frame in memory will typically be shown while the device trys to reacquire a good signal.

Different graphics processors handle input problems differently.

I had a older DVD player that would essentially freeze if it got a bad enough spot on a DVD, while my newer player generally manages to work through it, advancing the read head and figuring out how to resume playing, even if it might have to skip a few seconds of the movie. It sorta stutters along, until it gets a good signal.

Arthur

light in the tunnel
QUOTE (adoucette+Apr 20 2010, 09:02 PM)
Not really.

The process is similar.

Digital TV signals are processed using a graphics engine somewhat like the graphics processor in your computer, and so when they have problems with the input, like a smudge on a DVD, or a garbled signal, the last good frame in memory will typically be shown while the device trys to reacquire a good signal.

Different graphics processors handle input problems differently.

I had a older DVD player that would essentially freeze if it got a bad enough spot on a DVD, while my newer player generally manages to work through it, advancing the read head and figuring out how to resume playing, even if it might have to skip a few seconds of the movie. It sorta stutters along, until it gets a good signal.

Arthur

But isn't some kind of RAM required where the digital 1s and 0s of the DVD code is translated into a signal the TV can display as an image? I would guess that that RAM is encoded by the head that is reading the disc and recodes with each new frame, but that the encoding process itself is very similar to the display-RAM on the computer receiving frames at 60/sec from the processor. How else could the disk code be converted to image-signal without RAM?
adoucette
Yes,

When I said "the last good frame in memory", I was speaking of RAM.

A frame of 1080p has about 2 million pixels, and then you have to specify for each pixel it's color and intensity, then you need to hold the frame being displayed and a frame or two being built, but even so, one still only needs a small amount of memory to do this processing.

Arthur
Granouille
Arthur is correct in that the data can be processed with a small memory footprint.The first layer of encoding and decoding is done by an ASIC on the DVD player's logic board, and the resulting stream is handled by the graphics adapter. The processor doesn't have much to do at that point.
light in the tunnel
QUOTE (Granouille+Apr 21 2010, 12:03 AM)
Arthur is correct in that the data can be processed with a small memory footprint.The first layer of encoding and decoding is done by an ASIC on the DVD player's logic board, and the resulting stream is handled by the graphics adapter. The processor doesn't have much to do at that point.

So back to the original topic: once the code has been read from the disk, it is held in a pattern of "on/off switches" in the ram until the following frame has been built in a separate section of RAM, which is then switched to for the following frame while a new image/frame is then built in the first one?

And as long as there is current going through the circuit/chip of the RAM, the frame/image "on/off switches" remain in their current configuration, if no signal is given to move on to a new frame.

In other words, each frame pattern/code is held in the RAM until something reprograms that pattern with a new one. It doesn't just automatically fade after being played, which is why a scratched disk can get hung up and freeze on a given frame - i.e. because the RAM is a group of switches that hold their positions as long as electricity is present?

I.e. like when the computer crashes and the desktop image freeze-frames?
adoucette
Yes

See if these helps to understand how your DVD player works:

http://focus.ti.com/docs/solution/folders/print/530.html

Note ASSP is Application Specific Standard Product

http://focus.ti.com/dsp/docs/dspsupporto.t...Id=4&tabId=1443


Arthur
light in the tunnel
QUOTE (adoucette+Apr 21 2010, 02:25 AM)
Yes

See if these helps to understand how your DVD player works:

http://focus.ti.com/docs/solution/folders/print/530.html

Note ASSP is Application Specific Standard Product

http://focus.ti.com/dsp/docs/dspsupporto.t...Id=4&tabId=1443


Arthur

Neat flowchart, but the textual explanations in both sites was too macro to describe exactly how the RAM works. The OP seemed to want to un-black-box the components down to the level of individual 1s and 0s and I can't imagine that any DVD schematic is going to dissect at that level. Probably you would have to find the exact component that contains the imaging RAM and find a website about how that works, but it doesn't seem worth the trouble to me if you don't feel like knowing it down to the exact details.
adoucette
QUOTE (light in the tunnel+Apr 20 2010, 09:56 PM)
Neat flowchart, but the textual explanations in both sites was too macro to describe exactly how the RAM works. The OP seemed to want to un-black-box the components down to the level of individual 1s and 0s and I can't imagine that any DVD schematic is going to dissect at that level. Probably you would have to find the exact component that contains the imaging RAM and find a website about how that works, but it doesn't seem worth the trouble to me if you don't feel like knowing it down to the exact details.

Video data is stored like any other data, as 0's and 1's.

If you look at your display properties, under settings, you will see what your graphics processor (and monitor) can display.

The higher the bit setting the more colors you can display.

There are 3 basic colors you are controlling, Red, Green and Blue (RGB).

If you look at your TV with a magnifiing glass, you will be able to see these 3 color displays grouped together to form 1 pixel. It takes one bit per color, or 3 bits to control these 3 primary colors, but by mixing them you get 8 colors out of this set of 3 bits.

RGB
000 = Black
001 = Blue
010 = Green
011 = Cyan
100 = Red
101 = Purple
110 = Yellow
111 = White

Why more bits, because you can also control the intensity of each color, and by doing so create even more colors.

For instance with just 4 levels of intensity per RGB bit, you can create 4,096 unique colors.

Current typical display adapters use up to 24-bits of information for each pixel: 8-bit per component multiplied by three components, and thus 16,777,216 colors are possible.

See:

Video framebuffer

A framebuffer is a digital device for computers which stores in the so-called video memory the digital image to be displayed on the monitor.

Driven by software, the CPU write the appropriate bytes in the video memory to conform the image, which an electronic video generator sends to the monitor.

Modern systems encode pixel color values by devoting some bits groupings for each of the Red Green Blue (RGB) components.

By using an appropriate combination of red, green, and blue intensities, many colors can be displayed. Current typical display adapters use up to 24-bits of information for each pixel: 8-bit per component multiplied by three components.

With this system, 16,777,216 discrete combinations of R, G and B values are allowed, providing thousands of different (though not necessarily distinguishable) hue, saturation, and lightness shades.

http://en.wikipedia.org/wiki/RGB

Arthur




Guest
Hello to you all,

Well, I got interested in this thread when I saw adoucette name appearing as the latest poster. From experience I have come to know it is a learning moment for me wherever he contributes.

You'll remember the time I was almost in fits when my computer was invaded. I was driven to try to learn more about computers not necessarily to repair or to debug them but to avoid "superstitions" associated with same. I asked if someone could direct me to sites or suggest books that can assist a beginner. Today I got my answer. Thanks alot Arthur for your generous and well abridged but loaded (no mambo jumbo jargon) explanations. You're a born Teacher.

Thanks too to Sir. It helps to have a learning buddy who has a matching pace.

Forgive me for this hero worship. Arthur is my role model. I too have interests in so many fields, though my knowledge of them is a second of an arc compared to 360 degrees for a scholar in those specialties (if I may use a circle as an analogy)
boit
Oops! the last post is by me. Forgot to sign in. Wonder what's happening lately. I used to be automatically signed in whenever I entered Physforum.org. Any help?
adoucette
QUOTE (boit+Apr 21 2010, 12:08 PM)
Oops! the last post is by me. Forgot to sign in. Wonder what's happening lately. I used to be automatically signed in whenever I entered Physforum.org. Any help?

Probably when you had your computer fixed, it was set up to not allow cookies.

Which means when you go to this site, unless you logon, you are just a guest.

Either allow cookies from this site or remember to logon.

http://www.physforum.com/index.php?act=Help&CODE=01&HID=2

http://en.wikipedia.org/wiki/HTTP_cookie

Arthur

buttershug
If the OP is still reading you might want to look up n-doping and p-doping of semi-conductors if you want to go to that level of understanding.
Granouille
How about IPL on a System/36? tongue.gif
boit
QUOTE (Granouille+Apr 22 2010, 08:28 PM)
How about IPL on a System/36?  tongue.gif

Now that's scary. I just googled and all I get is Enough to floor me. How in heaven name can I start comprehending CNFIGSSP when am still so wet behind the ears on AND, OR, NOT, XOR, NAND NOR. I remember pnp (appearing commonly) and non (rarely) in my high school physics class, I'd rather start there. IPL system/36 and ADVANCED system/36 just looks beautiful on wiki buts elephant in my brain. rolleyes.gif
adoucette
QUOTE (boit+Apr 22 2010, 04:26 PM)
Now that's scary. I just googled and all I get is Enough to floor me. How in heaven name can I start comprehending CNFIGSSP when am still so wet behind the ears on AND, OR, NOT, XOR, NAND NOR. I remember pnp (appearing commonly) and non (rarely) in my high school physics class, I'd rather start there. IPL system/36 and ADVANCED system/36 just looks beautiful on wiki buts elephant in my brain. rolleyes.gif

IPL, or Initial Program Load on a system/36 = Ctl/Alt/Delete & then Restart on your lappy.

Mainframes have a (typically red) button on them labeled IPL, and if you push it, the system will do a restart, which essentially cleared memory and then loaded the operating system.

The good news about the IPL button is it didn't require a Software interrupt (like Ctl/Alt/Delete) to work, as it was hard wired and ALWAYS worked.

Arthur
Goofus A Gallant
PWRDWNSYS OPTION(*IMMED) RESTART(*YES) tongue.gif
boit
With my lappy, using Ctrl/Alt/Delete is almost as regular as punching the other keys. Didn't know there is a computer with a dedicated key to perform that function. Seems computer freezing (hanging) is a common occurrence to warrant a button to resuscitate it.
Granouille
QUOTE (Goofus A Gallant+Apr 22 2010, 11:47 PM)
PWRDWNSYS OPTION(*IMMED) RESTART(*YES) tongue.gif

Yessir, I remember... AS/400?

On Linux: shutdown -r now

flyingbuttressman
The dumbest thing I have ever done is:

chmod 777 -R /
boit
What happens when you chmod 777-R? Please tell me before curosity gets the better of me.
flyingbuttressman
QUOTE (boit+Apr 23 2010, 12:04 PM)
What happens when you chmod 777-R? Please tell me before curosity gets the better of me.

Well, it only works on Unix/Linux machines, but it basically screws up the permissions settings on the whole computer, and from then on refuses all attempts to log in.
Granouille
Try this one:

sudo dd if=/dev/zero of=/dev/hda

cool.gif

Really, don't, unless you want to write zero to every sector of your first IDE disk....
flyingbuttressman
QUOTE (Granouille+Apr 23 2010, 06:41 PM)
Really, don't, unless you want to write zero to every sector of your first IDE disk....

Yes, but have you actually *done* that? tongue.gif
Granouille
Oh, yes. Especially when you want to sell a used hard disk.

I generally used a script that first wrote zeros, then #55aa, then #0055, then zero again. ph34r.gif

biggrin.gif
flyingbuttressman
QUOTE (Granouille+Apr 23 2010, 11:31 PM)
Oh, yes. Especially when you want to sell a used hard disk.

I generally used a script that first wrote zeros, then #55aa, then #0055, then zero again.

Ahh, so you did it on purpose. That's actually a pretty clever way to do a HD wipe.
Granouille
Why, thank you. tongue.gif
MjolnirPants
QUOTE (Quantum_Conundrum+Jan 17 2010, 07:58 PM)
Designing a video card or motherboard is about as complex as designing a space craft.

A stick of RAM has about 2 billion bits, and each bit has multiple components...

laugh.gif laugh.gif laugh.gif laugh.gif laugh.gif
This is priceless....
tikay
QUOTE (adoucette+Jan 17 2010, 09:55 PM)


It's a little bit complicated so.....

!@#$%^&*()_+{}:"<>?,./;'[]=-,


biggrin.gif
adoucette
QUOTE (tikay+May 10 2010, 01:04 PM)
!@#$%^&*()_+{}:"<>?,./;'[]=-,


biggrin.gif

It's only zeros and ones, so how complicated can it be?

wink.gif

Arthur
Kaeru
QUOTE (MjolnirPants+Apr 24 2010, 08:29 PM)
laugh.gif  ...
This is priceless....


Ain't it? Even little ol' me has heard of circuit design software that allows you to input desired behavior and southbridge/northbridge chipsets and have the software kick out your layer masks.

I could probably manage it without CAD training...

Remember, QC stands for quality control everywhere but here. dry.gif
tikay
QUOTE (adoucette+May 10 2010, 10:09 AM)
It's only zeros and ones, so how complicated can it be?

wink.gif

Arthur

The latent idiot savant in me obviously gets it, ya know? And thats what matters most~

laugh.gif
woolyhead
How do computers work? Well one important aspect of this is that any sentence in human language can be represented in binary code. I found an excellent, brief account of this in the well known book "The Enigma of Intelligence."
PhysOrg scientific forums are totally dedicated to science, physics, and technology. Besides topical forums such as nanotechnology, quantum physics, silicon and III-V technology, applied physics, materials, space and others, you can also join our news and publications discussions. We also provide an off-topic forum category. If you need specific help on a scientific problem or have a question related to physics or technology, visit the PhysOrg Forums. Here you’ll find experts from various fields online every day.
To quit out of "lo-fi" mode and return to the regular forums, please click here.