What Is A CPU and What Does It Do? [Technology Explained]

thumb   What Is A CPU and What Does It Do? [Technology Explained]Although most moderately tech-savvy people today know that a CPU is one of the components in their computers, not many people know what a CPU actually does. In fact, if asked, most people probably would not know what CPU stands for.

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.

cpu   What Is A CPU and What Does It Do? [Technology Explained]

Fetch

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.

Decode

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.

microprocessor1   What Is A CPU and What Does It Do? [Technology Explained]

Execute

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.

Writeback

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.

clock   What Is A CPU and What Does It Do? [Technology Explained]

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!

The comments were closed because the article is more than 180 days old.

If you have any questions related to what's mentioned in the article or need help with any computer issue, ask it on MakeUseOf Answers—We and our community will be more than happy to help.

6 Comments -

1 votes

Brian Tkatch

“Assembly language is a language that the CPU understands,”

The CPU does not understand Assembly. It’s understands op codes. An Assembler assembles the op code from the Assembly code.

“binary code”

I think you mean op codes. Which are in binary. But then again, all code is ultimately binary.

“Using its Arithmetic Logic Unit (ALU), the CPU can calculate extremely complicated mathematical functions”

Not really. The CPU does simple functions. A library usually breaks down complex functions into simple ones for the CPU.

There are many other things the CPU does, such as handle interrupts, redirect instructions, and whatnot.

I look forward to part 2.

0 votes

JustMe

Wow, that’s interesting.

0 votes

Simon

Yeah, 2.8 Gigahertz is 2.8 billion clock cycles per second.
Not 2800, more like 2 800 000 000.

0 votes

Angelina

That was a typo… I’ll ask the editor to revise it. Thanks for pointing it out!

0 votes

Jim Hamm

Shouldn’t that be 2.8 billion cycles, not 2.8 thousand? ….You stated: “2.8 GHz (Gigahertz), which means that the clock cycles two thousand eight hundred times a second”

0 votes

Alita

Nice article, thanks a lot!!!