Processor Basics - A basic guide to the processor
Welcome to our processor basics guide, in this section we aim to give you an idea of just what a processor (CPU) is and what its job is.
Processors are essentially the brain of a digital system such as a PC.
What is a processor and what does it do?
The processor (often called the CPU) is the brain of your PC and is where the majority of the work is performed.
As its name suggests a processor processes something, that something is data, this data is made up of 0's and 1's (zeroes and ones).
To understand a processor we first need to take a quick look at the way digital systems function. All of the work that goes on inside your PC is carried out by the means of voltage, or more accurately the difference in two voltages.
note: Voltage refers to the electrical unit. (for example a 12 Volt battery)
Digital systems use only two voltages, one which is a low voltage (usually between 0 and 1 volt) and one which is a high voltage (typically between 3 and 5 volts). These low and high voltages represent off and on respectively, a digital system will interpret these off and on states as 0 and 1. In other words if the voltage is low then it would represent 0 (off state), and if the voltage is high then it would represent a 1 (on state).
A processor (as stated earlier) processes bits (binary digits) of data. In its simplest form, the processor will retrieve some data, perform some process on that data, and then store the result in either its own internal memory (cache) or the systems memory.
You may have seen processors advertised as 32-bit or 64-bit, this basically means that the processor can process internally either 32 bits or 64 bits of data at any one time.
This would theoretically make a 64-bit processor twice as fast as its 32-bit counterpart.
Software can also be defined as either 16-bit, 32-bit or 64-bit. You can probably see that theoretically, if you are using 64-bit software with a 32-bit processor then it would take two clock cycles (32-bits at a time) to process any one set of 64-bits, this is referred to as a bottleneck.
Every processor has its own built-in clock, this clock dictates how fast the processor can process the data (0's and 1's). You will see processors advertised as having a speed of say 2GHz, this measurement refers to the internal clock.
If a processor is advertised as having a speed of 2GHz, this means that it can process data internally 2 billion times a second (every clock cycle). If the processor is a 32-bit processor running at 2GHz then it can potentially process 32 bits of data simultaneously, 2 billion times a second !!
Overall processor performance relies on other internal and external factors, one of which is the processor's front side bus (FSB) speed, two common figures for the Intel Pentium 4 are 533MHz and 800MHz.
The front side bus consists of two channels, one for transferring data, and one for indicating the memory address where the data is to be retrieved from or stored.
The front side bus transfers data between the processor and the computer's other components such as memory, hard drives, etc. The FSB will have a certain width (measured in bits) which dictates how many bits can be transferred at any one time. As the 533MHz and 800MHz figures suggest, the FSB also has a clock cycle frequency indicating how fast the data can be transferred.
For example a processor having a FSB width of 32-bits and running at 533MHz, can transfer a set of 32-bits of data, 533,000,000 times a second.
The type of work a processor carries out is defined by its instructions, these instructions are coded in binary. All modern processors have their own instructions built-in for common tasks.
Having these instruction sets built-in allow the processor to carry out certain operations much faster. The instruction sets that are built-in depend on the processor's architecture, there are two main types of processor architecture on the market, CISC and RISC.
CISC (Complex Instruction Set Computer)
CISC processors have more internal instructions than its RISC counterpart allowing a more diverse set of operations. Although this may sound the best option, CISC processors are generally slower due to the complexity of the instructions. Some people think the benefit of having more complex instructions built-in outweigh the performance lose, but it would depend on the applications that the processor is going to run.
RISC (Reduced Instruction Set Computer)
RISC processors, as the name suggests, have fewer built-in instructions, this can add to the overall speed of the processor due to the simplicity of the instructions, but again the performance would depend on the type of applications the processor was to be used for.
Most modern processors have built-in instructions specifically designed for certain applications such as 3D graphics, audio manipulation, etc. One example of this would be the MMX (MultiMedia eXtension) technology which Intel built-in to its Pentium architecture in the late nineties. This was a special set of internal instructions that allowed the faster processing of audio and visual algorithms.
L2 Cache (pronounced cash) is a special block of memory inside the processor (in the same chip) which offers faster data retrieval, typical sizes are 128KB, 256KB and 512KB.
note: Some processors (generally older) utilise external L2 cache.
The data that the processor stores in its cache memory will be data that is frequently used (such as a certain algorithm), the processor will also guess what data may be required and store this data in its cache. This guessing may be successful or it may not, the success rate is known as a hit rate. For instance, if the hit rate was 94% then it would mean that 94 out of every 100 attempts the processor correctly identified and stored a block of data which was needed, the other 6 times the data was never used.
Arithmetic Logic Unit (ALU)
The ALU is an internal part of the processor which is used for all mathematical and logical operations. The basic operations of an ALU include adding and multiplying binary values, as well as performing logical operations such as AND, OR and XOR. The algorithms for performing these mathematical and logical operations are hard coded (stored permanently) within the ALU.
Floating Point Unit (FPU)
The FPU is also an internal part of modern processors. The FPU is designed to handle any floating point calculations, and like the ALU it has its algorithms hard coded (stored permanently) inside the unit.
With the Intel family of processors up until the 80486DX the floating point unit was an external unit (commonly called a math coprocessor), subsequent processors such as the Pentium have the FPU built in. For example, if you had the (now old) 80386SX processor from Intel you would be able to purchase the 80387 coprocessor, which was in fact the floating point unit.