But when searching for a new desktop or laptop, and typical CPU-related terms such as “quad-core” or ” i7 core” pop out from advertisements, each proclaiming their superiority over the other — what is a person to do, especially if he or she has no idea what either of those terms mean?
First of all, what is a CPU? CPU (also commonly called a microprocessor) stands for “central processing unit”. It’s a very suitable name, because it describes exactly what the CPU does: it processes instructions that it gathers from decoding the code in programs and other such files. A CPU has four primary functions: fetch, decode, execute, and writeback.
In the first step, the CPU retrieves the instruction that it needs to run from program memory. Each instruction in a program (which contains millions of instructions) is stored at a specific address. The CPU has a program counter, which keeps track of the CPU’s position in the program ““ more specifically, the address of the instruction that the CPU is accessing.
For this step, it’s important to know that no matter what code a program is written in, the compiler for that specific language breaks the code down to Assembly Language. Assembly language is a language that the CPU understands, but may vary between different CPUs. From there on, an “˜assembler’ translates Assembly Language into binary code, which the CPU can manipulate to execute the instructions it is given.
Based on the instructions it is given, the CPU can then do one of three things:
1) Using its Arithmetic Logic Unit (ALU), the CPU can calculate extremely complicated mathematical functions;
2) Move data from one memory location to another;
3) Jump to different addresses in the program based on decisions made by the CPU itself.
The diagram above shows the setup of an extremely simple microprocessor capable of performing these actions.
Typically, each of the actions taken by the CPU produces some sort of output. The CPU takes this output and writes it into the computer’s memory. For example, if a program wanted to execute the first item of the list above on two operands, 3 and 5, the output, 8, would be written back into a specific address. However, for the 3rd bullet, the program counter (which, as stated above, is used to keep track of the CPU’s progress through a program) simply changes to reflect the start of the next set of instructions.
When these four steps have been completed, the Program Counter moves onto the next instruction and repeats the entire process again, until the termination of the program.
Another important component of a CPU is called the “clock.” The clock produces a signal that acts to synchronize the logic units within the CPU as they execute the instructions given in a program. In the diagram above, the purple line represents the signal of a clock as it is being inputted into a logic unit. For every time the line goes from low to high, and back to low (one cycle), an instruction is carried out.
Thus, the CPU Clock speed refers to the number of times that a CPU’s clock cycles per second. Typical computers have a clock speed around 2.8 GHz (Gigahertz), which means that the clock cycles 2.8 billion times a second, and executes an equivalent number of instructions!
Now, even though this seems like an incredible amount of information processed, a CPU operating solely on the technology explained above would still be slow, if it were not for parallelism, and multi-core technology. But I’ll leave that for later, as I’ve just given you a great deal of information to digest. Now, you’re a little closer to learning how processors work, and to to gauging which processor is best for your needs.
In Part 2, I’ll explain more in depth about the technology that goes into dual- and quad-core technology, and what claims such as “Hyper-threading” mean. I’ll also introduce the concept of overclocking a CPU (the practice of increasing the clock rate of a CPU to increase its performance and speed).
What CPU does your computer have? Have you ever thought about overclocking your computer? Let us know in the comments!