Processor Architechture: An Introduction for Beginners
This is Part 1 of a 2-3 part series.
A friend recently asked me, “Can you build me a super-computer with tons of processors to handle my architecture software?” after I informed him that my new CPU was dual-core. I tried my best to explain to how multiple processor systems actually worked and that it would only benefit his particular software program if it was designed as a multi-threaded application. That’s when I lost him…and decided to write this post. This post may still get a bit technical and wordy, but I’ll try my best to make it über-understandable
As I often like to do, let’s start with some definitions.
CPU - Abbreviation of central processing unit, and pronounced as separate letters. The CPU is the brains of the computer. Sometimes referred to simply as the processor or central processor, the CPU is where most calculations take place.
Cache - Pronounced cash, a special high-speed storage mechanism that uses high-speed SRAM (static-ram). CPU’s use an internal cache, known as L1 cache, to store frequently used instructions.
Process - An executing program.
SMP - Short for Symmetric Multiprocessing, a computer architecture that provides fast performance by making multiple CPUs available to complete individual processes simultaneously (multiprocessing).
If you boil-down what a CPU actually does, it can be (simply) characterized in this way: A chunk of information known as a thread (which is part of a process) is sent into the processor, the processor computes the thread and spits out the “answer”. Many threads may have to be computed before the “answer” is complete.
CPU’s, until recently (circa 2002) have only been able to handle one thread at a time. As CPU’s became faster, the number of threads it could compute per second, minute, etc. vastly increased. The increase in speed did not change the fact that a CPU could only process one thread at a time. Think of an older CPU as a one-lane country road. It is a common misconception that a computer with a single core CPU was running multiple programs simultaneously. In reality, the CPU was switching between threads from each running program VERY quickly. This illusion is otherwise known as time-slicing.
In 2003, Intel released a technology known as Hyper-Threading. This enabled a CPU to handle two threads simultaneously. This technology provided great performance benefits but still had to share the resources, such as L1 and L2 cache, of a single CPU.
Diagram:

Coming tomorrow: Part 2 - SMP and multi-core processors.













