Central Processing Unit (CPU)
The Central Processing Unit (CPU) is the heart and brains of the computer. It controls all communications and executes all the instructions. A typical CPU looks like this:
INTEL i7 processor
It has two important components, i.e., the Control Unit and Arithmetic Logic Unit (ALU). The Control Unit fetches instructions from the Random-Access Memory (RAM) if available or load information from the storage device to RAM first so it can read from the RAM, decodes the instructions and then executes these instructions. Finally, it will store the required information to the storage device. The Arithmetic Logic Unit (ALU) handles arithmetic and bitwise operations on integer binary numbers. The CPU contains registers which are internal memory units. These units will store data temporarily and host instructions for immediate execution by the processor.
FETCH DECODE CYCLE
The instructions can be coming from the Operating System such as Windows or MacOS, or applications such as Microsoft Word, Microsoft Excel or Photoshop, etc. It will also be responsible for communicating with all input device such as keyboard, mouse, etc. and output devices such as display cards, printers, etc.
Processor speed is stated in terms of clock speed. Simply put, the clock speed of a processor is the number of instructions it can process in any given second. For example, a CPU with clock speed of 1,000 Hz (1 kHz) can process 1000 instructions every second. Similarly, a CPU with clock speed 1,000,000 Hz (1 MHz) can process a million instructions per second. In today’s world, processors are stated in Gigahertz, i.e., billions of Hz. A CPU with a clock speed of 1.0 GHz can process 1 billion instructions each second and a CPU with a clock speed of 2.0 GHz can process 2 billion instructions each second. Therefore, the faster the clock cycle, the faster the processor can execute instructions.
While the rule above of one instruction per clock cycle is true for general processors, more advanced processors have a feature called hyper-threading which allows up to two instructions to be executed in one cycle thereby further speeding execution.
For example, a 3 GHz processor will be twice as fast as a 1.5 GHz processor in executing instructions. However, this does not mean this computer will necessarily be twice as fast as there are other components like memory size and storage speed that play a role in determining the overall speed of the computer.
The above example of simply comparing clock speeds is true if the CPU was a single core as used to be the case a decade or so ago. Nowadays, most processors have more than one core. For example, a CPU may have 2 cores, that is it virtually has two processors inside one physical processor. Some CPU like the new Intel i5 processors have 4 cores, i.e., practically four processors in one physical CPU. So practically, a 1.6 GHz 4 core processor is in simple terms as fast 6.4 GHz processors. Please note that in reality the processor speeds hardly exceed 4 GHz due to technical challenges with clock speeds getting higher and the cost of production of these processors, hence it is easier and cheaper to manufacture a 2 core 2.0 GHz processor than a 1 core 4 GHz processor. Powerful servers may have 12 to 14 cores in one processor. Naturally the price of these server processors is much higher. From a standpoint of laptop or desktop usage, a four-core processor would be sufficient. Therefore, when comparing processor, it is important to note the speed of the processor as well as the number of cores. For example, an older generation of Intel i7 processor with higher clock speed may not always be faster than a newer generation i5 as the older generation i7 had two cores while the newer generation i5 have 4 cores. The newer generation of i7 also has 4 cores. Therefore, when comparing processor just looking at the branding i7 in two different machines, it may be important to look and compare the clock speeds and the number of cores.
Unfortunately, as the number of cores increase, the speed of processing does not increase linearly as the operating system and applications have to be optimized to use large number of cores by being designed to execute multiple processes in parallel. In today's world, it is difficult to have laptop or desktop applications use more than 8 cores. Therefore, the CPUs with higher cores than 8 are usually utilized in servers that run heavy workloads such as virtualization by VMware vSphere, Microsoft Hyper-V or by database engines like Oracle and Microsoft SQL Server.
CPU in today's world are mostly 64-bit, i.e., information is stored in chunks of 64 binary numbers, i.e., 0 or 1. The 64-bit CPU can run 64-bit Operating Systems like Windows 10 64-bit or MacOS, or 32 bit Operation Systems like Windows 10 32-bit. 64-bit OS will run faster as they can address much larger memory and execute 64 bit instructions, i.e., bigger chunks of instruction than 32-bit OS. Similarly, applications that are 64-bit run faster than 32-bit applications.