What is a processor? Processor meaning

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.

Post a Comment

0 Comments