How A Computer Works?(Suggest Links)

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.
Registered users can post here. Sign in or register to post.