How A Computer Works?(Suggest Links)

Pages: 12
Hello im starting to learn C++ from a book but it got me thinking just learning the language wont help there got to be other things i should know apart from the language.

I want to learn more about the computer itself !
I would appreciate suggestion to links explaining how a computer works and all of its components
also i would like to know the words such as thread of a CPU ?
cores of a CPU ?
what does GHZ on cpus mean ?

Because when i look at PC building guides and they talk about the components in more details i never understand the words(Cores GHZ etc)
Also what does quad core mean

Sorry for so many questions but i hope you get what im saying i want to learn all the hardware of a computer and understand specific words.
I appreciate any help :)
BUMP Please can i have a reply i would be grateful
Well, you seem to have a lot of questions. I will try my best answering them :) I guess I will go from the bottom up.

what does GHZ on cpus mean ?

GHz is an abbreviation of gigahertz. Is a unit of measurement, just like inches, grams, centimeters, etc. It is a larger version of hertz. A hertz is just a measurement of how many operations the processor makes in a second.
That being said...
KHz is 1,000 hertz (a thousand)
MHz is 1,000,000 hertz (a million)
GHz is 1,000,000,000 hertz (a billion)
THz is 1,000,000,000,000 hertz (a trillion)
aannnnd so on...

cores of a CPU ?

A core of a CPU is just how many processors there are. Basically, refer to this equation:
newHertz = numOfCores * listedGHz
Explanation:
numOfCores is the number of cores listed.
Dual Core: 2 cores
Tri Core: 3 cores
Quad Core: 4 core
Six Core: 6 cores
so on and so forth


listedGHz is just the speed listed in the retail desc of the CPU. Usually in GHz.
newHertz is just the above two variables multiplied.
Let's use my processor as an example. 6 Cores, 3.5 GHz. This equation resembles my total speed:
6 * 3.5 = 21
So, in the end, I have 21Ghz to use, which is 21 billion hertz.

i would like to know the words such as thread of a CPU ?

The thread of a processor is merely an ordered sequence of instructions telling the computer what to do.

I assume you have more questions, so just shoot.
Last edited on
You might find this interesting http://www.simplecpu.com/Binary.html
A hertz is just a measurement of how many operations the processor makes in a second.
A hertz means "once per second". In the context of electronics, it refers to how quickly a particular circuit -- the clock -- can turn itself on and off. A clock is used to synchronize the various subcircuits of a complex circuit. The clock frequency tells you the number of operations per second a processor can perform, only in the vaguest of senses.
If you want to guess the relative performance of a processor, you're better off just looking at the price tag.

newHertz = numOfCores * listedGHz
I...
What?

The thread of a processor is merely an ordered sequence of instructions telling the computer what to do.
Nope. That's the definition of "program".
The "thread count" advertised in CPU specs is equal to the number of cores, conditionally multiplied by some constant (usually 2) if the model includes some technology that attempts to better utilize the resources of a single core so that it can sort of run more than one software thread at once. Intel's implementation is called Hyper-threading. The extra hypothetical cores provided by HT etc. are often displayed as "virtual cores" by system information tools, while actual cores (i.e. actual circuits in silicon) are displayed as "physical cores".
The thread count can be basically interpreted as "the CPU can theoretically execute this many threads in a truly parallel fashion without any of them slowing down". In reality, the performance boost given by a virtual core depends on the application in question, but will generally be smaller than that provided by a physical core.
Try building your own computer. There are plenty of tutorials online, and its very educational.
I put that little equation there to show that if a dual core processor has 3.5Ghz on the box, it will really have 7GHz. It probably wasn't necessary, but I figured that it would help a bit more.

Am I actually wrong about that? That is seriously the way I always thought of it...
Thanks for all the answers :)
Is there any books or websites that can help me understand hardware better ?
I put that little equation there to show that if a dual core processor has 3.5Ghz on the box, it will really have 7GHz.
That makes exactly as much sense as saying "if I wear two watches on the same wrist, they'll tick two seconds per second".
1. The hertz are the clock frequency. All cores share the same clock signal.
2. It's correct to say that adding more cores gives you more computing power, but
3. again, clock frequency is not a measure of computing power. Even if I concede that this is true for similar processors within some model ranges, doubling the frequency to indicate this is deceitful, since a single 7 GHz processor will actually perform much better than two 3.5 GHz processor.
GHZ is an abreviation for gigahertz, a unit of measurement that represents a unit of frequency. In the context you provide, it typically it represents the number of cycles a CPU (central processing unit, or, in lamen's terms: the chip that carries out all the instructions) can make in a single second. 1 cycle typically represents one executed piece of micro-code ( http://en.wikipedia.org/wiki/Microcode ), and is generally used as an abstraction for how "fast" a computer is.

Multi-core processing: http://en.wikipedia.org/wiki/Multi-core_processor

Multi-threading: http://en.wikipedia.org/wiki/Multithreading_%28software%29

Multi-threading allows more than one instruction to be executed at one time. The Wiki goes into more detail.

"quad-core" -> "quadrupal-core" -> "4-cores" ... I don't understand your confusion...
Just to add why is frequency is an abstract unit of perfomance measurement and should be only compared directly for CPU of same generation and vendor.

In old time when CPU were as simple as a brick, instructions used a specific predictable amount of cycles. Optimization results were really predictable and everyone replaced multiplications with left shift and addition. Game creators handcrafted game loop so it would run on specific amount of FPS, etc. In those times frequency was almost direct measurement of speed.

But as time went, new features were introduced: CPU cache, which made cost of memory access not-so-predictable and generally less important; code prefetch, which made indirect calls and far jumps likewise not as costly; instruction pipeline allowed to start executing next instruction before previous finishes calculating; branch prediction made cost of tests for error cases neglible; superscalar architecture allowed for several instructions to be executed at once; instruction reordering alowed CPU to execute instructions in most effective order...

Because of that modern 800MHz CPU will outperform first ever made 1GHz CPU.
Last edited on
if i want to get to computer engineering how do i start
Well, you could start by building a computer. That isn't a hard task. All you really need to do is Youtube a tutorial, or if you have good comprehension, just go on WikiHow.

Here are a couple tutorials:
Pretty short: http://www.wikihow.com/Build-a-Computer
The one I used to build mine: http://lifehacker.com/5828747/how-to-build-a-computer-from-scratch-the-complete-guide

I won't post any videos, but the second one I sent has videos in it.

If you want to do the hardware engineering itself, such as building the processor or RAM... Then you'd probably be better off going to some college to learn that stuff.
I second the suggestion of building your own PC, especially since this will likely be one of the first things you do in class when aspiring to a CS degree. Here are some tips for doing this

Tip 0: Remember to install the stand-offs for your motherboard onto the computer case. This is never mentioned in tutorials and it WILL ground out your Mobo and prevent it from starting up if you do not do this.

Tip 1: RTFM.

Tip 2: If (INSERT_COMPONENT_NAME_HERE) doesn't fit, turn it around. If it still doesn't fit, it probably doesn't go there. Try to be certain of what you are doing when you install the processor, because this rule doesn't get along well with that particular step.

EDIT:

Tip 3: Regarding Thermal grease; the conductivity of thermal grease\paste is inversely proportional to the thickness of the layer. In other words less is more. If you get a thermal pad already on the heat sink for the CPU then those are ideal for beginners.
Last edited on
If you are worried about spending a lot of money on it, then here are my words on that:

You don't need to spend a lot of money. If you are doing it just for the experience, then don't worry about the power of it. You don't need a supercomputer with godly specs if you aren't going to use it for much.

For instance, my friend spent about $1500 for parts, when he was only building the computer just to improve his engineering skills. Well, he uses it for power heavy stuff about once every two months. He sold it about a month ago for $700. $800 is way too much money when you are 17 and need money for college, gas, etc.

Spend like, $500 on it. Here is a pretty good reference on power and the outcome:
http://www.logicalincrements.com/levelcap/
Hover over the first column (ex. "Very Good") to see what you'll run
It does use games to compare the specs to, but you could make a good inference on what will work for you, right?

And about the tips Computergeek01 gave - all pretty good. Most importantly is Tip 1 though. Seriously. You will get by just fine if you just READ THE MANUAL! If it doesn't have a manual... then just google how to build a computer or use the WikiHow article I posted. You will get absolutely nowhere if you are just improvising, guessing what slot is what. Most of the time, the motherboard will have a manual for what goes where, and then the case *should* have a manual and how to insert the motherboard, where to put the hard drive, Disc drive, whatever.


Completely Irrelevant to this Comment:
Wow I just read my initial post on explaining GHz and what not. I made no fucking sense what so ever :\
Last edited on
This... There are no words one could possibly use to scream at that man...
It's also important to occasionally fully disassemble your HDDs and rinse the platters in soapy water for an hour or so, then give them a good scrubbing with a steel sponge. See that mirrory surface? That's what makes the bits bounce off, leading to data loss. You want a matte finish.
Last edited on
When dusting your computer, they say use a can of compressed air. Well, the industry has lied again my friend. What you SHOULD be doing is taking a stainless steel scrub pad and thoroughly wipe off each of your parts, more importantly, the motherboard. These electrical circuits LOVE being around a strong metal like steel due to their bad conductivity. Makes sense, right?

They also speak of a "drop test". I should check that one out!
Last edited on
Pages: 12