The
emperor of the emperors who from time immemorial has and forever will reign the
computer is his imperial majesty, the Processor. It is arguably the most
important part of the computer. Without a processor, even top-of-the-line input,
output and storage devices are at ebb. The word computer itself suggests that
it is a device whose primary purpose is to perform computations. The input,
output and storage devices are just there to add more convenience and facility
to the core component – the processor upon which the primary functions of the
device delve.
Working principle of device:
The
CPU consists of two parts, 1) the Control Unit and the 2nd ALU –
Arithmetic and Logic Unit. The ALU performs the four basic mathematical
operation in addition to logical operations such as equality/inequality comparison
of two or more numbers (the largest
number that can be stored or manipulated hinges upon the width/size of the
register. The size of the register should be equal to or greater than the
number of bits obtained when a number is converted to its binary equivalent.
For eg. A 4-bit register cannot store the decimal number 20 [10100 in binary]
as 5 bits are required to represent 20). The control unit is a director that
looks after all operations performed by the CPU. To aid with the operations of
the ALU designers of the CPU crunched in what is known as an FPU or floating
point unit commonly referred to as the math coprocessor. It is an efficient
group of circuits that is insanely fast at computations and handling numeric
data. Another crucial piece of component is the register that stores those
valuable bits on a temporary basis. Registers store numbers and instructions
supplied to the CPU. They also store the result of the calculations made by the
ALU and the FPU before they are handed out to the application that called for
them.
The
upcoming lines will make you feel that this article’s drafted by a dunce whose
thinking has no coherence and whose writing reflects his jumbled state of mind
that keeps digressing like an inquisitive baby. But before you decide to quit,
I request you to bear with me for the minute and continue on. The seemingly
irrelevant blabber will somehow make up a synchronous whole in the end. The
entire universe is interdependent. The Autotrophs depend upon the solar energy,
water and carbon dioxide to transform their inherent chemical energy into consumable
nutrients – a process known as photosynthesis. They in turn are consumed by
Consumers or herbivores. The herbivores get eaten by the carnivores. The
carnivores, when they die, are torn apart and consumed by decomposers and
parasites. This food chain illustrates the primal truth of life – everything
needs something to thrive on. It will probably not come to you as a surprise
that all of that intricate hardware and the software that runs on your rig
flourishes on data. (Perhaps by now you are able to relate to that scientific
excursion) And that data needs to be stored somewhere. It is often our
observation that when we need to depend on somebody for getting our tasks done
we almost invariably cannot have them done at the pace we ourselves could have done.
Dependence on external factors introduces delays and inefficiency even on our
physical plane, what to say about the virtual world! Had the CPU been required
to fetch data from the RAM (primary memory) it would have slowed the system
down to a trickle! RAM is very slow compared to the computing power of the
processor. Thus cache memory was devised and built into the processor itself. There
are 3 levels of cache memory, L1, L2 and L3. The L3 memory used to be present
on the motherboard but now even the L3 cache is built into the CPU itself. Cache
memories are technically SRAM (static RAM) that store frequently used data and
instructions. Special algorithms have been written that can predict the data
and instructions that the processor might need and fetch them beforehand
improving the performance multifold! The speed of cache memories decreases as
it gets farther away from the CPU. (CPU die or CPU core and cache are on the
same silicon wafer – the substrate) As a rule of thumb L1 is the fastest and L3
is the slowest with L2’s speed being just between the two. Also larger the
memory of the 3 caches, the better it is. The amount of caches often ranges
from a few hundred kilobytes to a few megabytes.
Any
developer will vouch in favor of multithreading. Seriously, I cannot explain
how important multithreading is for the modern computing era. A thread in
simple words is the smallest unit of a program that can be executed
independently of other programs. It is a way of breaking up a large program
into smaller components that can be executed parallely instead of being run
sequentially. This improves the speed and can exploit the true processing power
of the CPU to the fullest. CPUs manufactured today are all multi-core CPUs. Each
core functions as if it were a separate CPU plugged into a different socket
altogether. Each core can handle only a single thread at any given time. Thus it is apparent that multicore CPUs outperform single core CPU
as they can handle many times more instructions per second. At the very least
the number of physical cores for a multi-core CPU is 2 and it can go all the
way up to 16. (Just to amuse you a bit, the
Intel Xeon virtual SMP system using ScaleMP's Versatile SMP has a phenomenal
128 cores and supports up to a lavish TB of RAM! Well you
could stare and gape at those figures with your mouth wide open for a lifetime but
out of compassion, I’d you rather focus on the article and not mar the rest of your
life in sheer amazement!) Dual core and quad core
processors are quite common for home users. Professionals, such as A/V editors
or graphic designers, and gamers need dedicated processing power and thus more
numbers of cores are propitious for their ‘core-hungry’ programs. Certain applications
such as hypervisors (virtualization – the use of multiple simulated systems on
the same host simultaneously) and servers (often the ones that provide cloud
services) need the most number of cores to complete the tasks assigned to them.
Each physical core of the processor can be further broken up into two logical
cores. Each of those logical cores will again function as a CPU in itself,
i.e., each virtual core can execute one thread. This treachery of beguiling the
system is known as hyper-threading in the nerd’s parlance. Thus a dual core
processor will act as if it were a quad-core processor! Hyper-threading takes
the performance of a multi-core processor to the next level. Don’t just
second-guess and consider hyper-threading as some sort of a performance-messiah.
There is definitely a performance-hit in creating those virtual cores but it
definitely outperforms the processors having the same number of physical cores
but no hyper-threading. However, the throughput of a physical core can never be
matched by its virtual counter-part and hence the need for physical cores can
never be obviated. To illustrate this, let us consider processor 1 to have 4
physical cores with no hyper-threading. Another processor having 2 physical
cores with hyper-threading (4 effective virtual cores) enabled will not match
the performance of the first processor. But it also must be noted that a quad
core processor (4 physical cores) with hyper-threading enabled will for sure be
victorious over the one that doesn’t support that feature (as now there are 8
virtual cores).
Another selling point of CPU is its clock
speed. The clock speed of a CPU signifies the number of instructions it can
process per second. Gone are the days when the clock speed was measured in MHz.
Today it is often rated at GHz. A speed of 1GHz means that the CPU can process
a whooping 1 billion instructions in a wink of a fleeting second! Higher the
clock rate, greater is the speed.
Next
up the line is the architecture. 32-bit CPUs were common before a decade. But
today they have been largely superseded by 64-bit architecture. The bits in
this case decide the width of the CPU’s register and its memory bus width. Thus
a 64-bit CPU’s register can store a 64-bit binary number and that CPU’s memory
bus width is 64 bit wide, meaning that 8 bytes (8 bits = 1 byte) of data can be
transferred to the CPU at a go from the system’s primary memory or RAM. A 32-bit
CPU on the other hand can transfer 4 bytes of data simultaneously. The CPU
segregates the primary memory into addressable units of 1 byte each. Thus a
32-bit CPU can generate at the most 232 addresses (there are two
kinds of bits, on and off - 1 and 0 - so with every bit there are 2 possible
states). Since each address can reference to 1 byte the maximum theoretical memory
supported by it also is limited to 4GB (Real world maximum supported memory
hinges upon operating system, motherboard and surprisingly the model/version of
the processor too. For instance, windows 10 enterprise x64 edition has a limit
of 2TB of RAM which is a mere nothing in comparison to the theoretical max
supported by a 64-bit processors). In
case of 64 bit processors the theoretical max makes a quantum leap and reaches
up to 17.18 Exabytes, a unit that you might not have even heard of earlier (1 Exabyte
= 1 billion GBs)! No storage solution by itself has ever even
approached 1 Petabyte (1 million gigabytes) at least on this planet, let alone
an Exabyte!
Device
installation: The CPU just
needs to be installed in its socket carefully.
Manufacturer
of device, its models and prices:
1.
Intel
– Intel Core i7-7700 (Rs. 24,900)
2.
AMD
– AMD FX8320E 3.2 GHZ Processor (Rs. 11,395)
Cost: The cost of a CPU
increases with the increase in the number of cores, its clock frequency and the
amount of cache memory it has. High-end processors targeted for servers are the
costliest of all.
Market share of
different models (Standard companies only):
l Intel
l AMD
No comments:
Post a Comment