During the era of smartphones, the
word ‘processor’ has become very famous. Before that, it was known to technical
professionals mostly. The processor that was used in the 1st Moon
mission by NASA was not more than powerful than a personal computer that was
operational in the 1970s. In comparison to that our smartphones have such powerful
processors that can successfully run such 4 flight controller machines that
were used in Apollo Mission. In fact, this
article clearly distinguishes between Apollo Guidance computer with many
other devices we use nowadays. To define word processor, it is the most
important component in any computing system, like a desktop PC, smartphone,
Cars, servo controller in a factory robotic arm, etc. In this text, more
impressions will be given to modern days processors.
How processor works?
A processor is just able to process
through some data it is provided. In doing so it may generate some intermediate
data in addition to the output data that it has processed from the data
input. To hold the data, we require memory. So, memory helps the processor to hold
the data and make it available to the processor as well as the user. Now, processors
are exclusively programmed before they do any useful task. The program that is
required to operate the processor is stored into memory; the data input is also
kept in a certain memory. In modern-day processors, a processor may have a
similar structure like below:
Fig 1: A simple processor block diagram, taken from wikipedia.com; click to enlarge |
Here,
let us explore every block to give you an overview of what is going on. Let’s
start with the ‘combinational logic’, it is the heart of the processor,
where actually all tasks are being done. Actually, the main task of a processor
is addition and shifting operation which we call as processes. But one may ask what about subtraction & other arithmetical operation? Then the answer
would be simple. Any computing system only understands binary logic (only two numbers 1 & 0) where logic-1 is represented as a certain voltage, and logic-0 are represented as
another voltage level. In binary 2’s complement method we can say that adding
the 2’s complement with a number gives us the subtraction. And it is well known
that repetitive addition is multiplication & repetitive subtraction is
division. So, all these arithmetic operations & a few logical evaluations are
done by combinational logic.
The
block ‘register’ designates a class of very high-speed memory that is
implemented within the reach of the processor. These memories are very crucial
for storing operands of the arithmetic & logical operations done by
combinational logic block described earlier.
The
‘control unit’ actually controls how the data & program would be
fetched from memory, and most importantly at which speed? Here comes the
popular concept of ‘clock’, it is the rate at which the processor operates. If
a processor is rated with a clock speed of 2 GHz, then it is capable of 2
Billion instructions per second. The more the clock speed higher is the data
processing capacity. However, more clock speed demands more power from the
power supply. Which also increases heat generation.
The
‘main memory’ refers here to the RAM, which is essential for the successful
operation of an operating system environment. In the different locations of the main
memory, the programs and the data are stored. In modern processors there is
also a class of memory which seats between processor & the main memory,
they are called ‘cache memory’. Which is used to store the most frequent data used
by the processor to speed up the processing capability?
Last
but not the least, the input & output blocks represent the typical data
transfer to and from the processor. The explanation given above is a very top
view of the topic, in practice, they are much more complicated. One term is famous for the processor is 'core', it is a single processing element that is present in the processor design. 'Dual core' means there exists two independent processing element in the design which can work hand to hand to speed up the operation.
Types of processors:
There
are a number of ways that a processor can be classified. Like, a processor can
be classified in terms of its application; general-purpose processors, which
are used in our PCs & laptops. Embedded processors are used in our household
devices like AC, fridge, etc. There exists another classification which
considers the architecture of the processor. In this category, a single
processing element is considered.
They
exists two computer architecture Von-Neumann architecture & Harvard architecture. Now, if both the
program and data are kept in the same memory, the architecture is called a Von-Neumann
architecture. This kind of architecture is a classic one and used in the time
when memory was not cheap. On the other hand, if program & data memory is
separated then it is called a Harvard architecture. Due to the fact that program
& data can be accessed simultaneously, Harvard architecture is a bit faster. Nowadays the machines with Harvard Architecture are followed.
There
exists also a classification on the basis of no of processing elements used to
perform a system-level task. It divides the processor into two categories,
single-core processor and multicore processor. Sometimes a complex task can be
divided into several sub-tasks & sent to different cores to processes
simultaneously, and at the end of the execution, the results are assembled. This
concept is the basis of ‘parallel’ processing & used in supercomputers.
Fig 2: Processors ARM-based (Left), Intel x86-64 (right); click to enlarge |
The most popular classification of processors is done in terms of ‘Instruction set’,
and that is the key to the operation of modern-day portable and handheld
devices, specially smartphone-wearable devices. Processors are dumb machines;
they cannot operate themselves. As I mentioned earlier that a set of
Instructions are required to operate them and depending upon the total number
instructions it has, a processor is divided into the following categories: CISC
and RISC:
The CISC machines are those machines which are
having very large instruction set available at the user’s disposal to program
the processor, the full name is complex Instruction set Computer. Also, in
these kinds of computers, one single instruction can do multiple tasks serially. The task is here referring to data fetching from memory modules, performing
arithmetic or logical tasks & storing data back to memory. Thus, the
operations are a little bit complex and also hardware-centric. This means the
programmer has to think about the hardware first then the application. A few
examples are Intel x86, Intel 8051-family, Zilog Z80, AMD, etc.
On the other hand, RISC, the Reduced Instruction Set computers are having a few
easy instructions which perform simple one task per instruction. This means the
programmer has the ability to get instruction as per the application and thus
the operability of the computer becomes easier. Some good examples of RISC
processors are ARM, IBM 801, etc. It is worth mentioning that RISC machines
feature Harvard architecture.
Conclusion:
The
application-wise each category of the processor is useful in their domain. For
example, for general purpose applications like desktop computers, laptops CISC
machines are used. Because CISC can deliver much more support to the desktop
applications. Also, the desktop application allows much higher power to the
processors which makes the CISC machines suitable for desktop and server
applications. On the other hand, the RISC machines are preferred where, the
power constraints are much more like, mobile devices. Nowadays, RISC based ARM
processors are one of the dominating architectures. They are tiny but much powerful
to handle a desktop application easily. Many personal computer manufacturing is
shifting towards the ARM-based processors, especially for laptops. All the smartphone processors are ARM processors. In fact, Qualcomm snapdragon uses an ARM
core in its design.
Bonus
point: IIT-Madras in India has developed a RISC based
processor core called ‘shakti’, very soon we may find various products using
it. For more info about it check out their website here.
0 Comments
All non-spamy comments will be visible