What Does Processor Mean?
A processor is an integrated electronic circuit that performs the calculations that run a computer. A processor performs arithmetical, logical, input/output (I/O) and other basic instructions that are passed from an operating system (OS). Most other processes are dependent on the operations of a processor.
- The terms processor, central processing unit (CPU) and microprocessor are commonly linked as synonyms. Most people use the word “processor” interchangeably with the term “CPU” nowadays, it is technically not correct since the CPU is just one of the processors inside a personal computer (PC).
- The Graphics Processing Unit (GPU) is another processor, and even some hard drives are technically capable of performing some processing.
Details of Processor
Processors are found in many modern electronic devices, including PCs, smartphones, tablets, and other handheld devices. Their purpose is to receive input in the form of program instructions and execute trillions of calculations to provide the output that the user will interface with.
A processor includes an arithmetical logic and control unit (CU), which measures capability in terms of the following:
- Ability to process instructions at a given time.
- Maximum number of bits/instructions.
- Relative clock speed.
Every time that an operation is performed on a computer, such as when a file is changed or an application is open, the processor must interpret the operating system or software’s instructions. Depending on its capabilities, the processing operations can be quicker or slower, and have a big impact on what is called the “processing speed” of the CPU.
Each processor is constituted of one or more individual processing units called “cores”. Each core processes instructions from a single computing task at a certain speed, defined as “clock speed” and measured in gigahertz (GHz). Since increasing clock speed beyond a certain point became technically too difficult, modern computers now have several processor cores (dual-core, quad-core, etc.). They work together to process instructions and complete multiple tasks at the same time.
Modern desktop and laptop computers now have a separate processor to handle graphic rendering and send output to the display monitor device. Since this processor, the GPU, is specifically designed for this task, computers can handle all applications that are especially graphic-intensive such as video games more efficiently.
A processor is made of four basic elements: the arithmetic logic unit (ALU), the floating point unit (FPU), registers, and the cache memories. The ALU and FPU carry basic and advanced arithmetic and logic operations on numbers, and then results are sent to the registers, which also store instructions. Caches are small and fast memories that store copies of data for frequent use, and act similarly to a random access memory (RAM).
The CPU carries out his operations through the three main steps of the instruction cycle: fetch, decode, and execute.
- Fetch: the CPU retrieves instructions, usually from a RAM.
- Decode: a decoder converts the instruction into signals to the other components of the computer.
- Execute: the now decoded instructions are sent to each component so that the desired operation can be performed.
Reduced Set Instruction Set Architecture (RISC)
The main idea behind is to make hardware simpler by using an instruction set composed of a few basic steps for loading, evaluating and storing operations just like a load command will load data, store command will store the data.
Characteristic of RISC:
- Simpler instruction, hence simple instruction decoding.
- Instruction come under size of one word.
- Instruction take single clock cycle to get executed.
- More number of general purpose register.
- Simple Addressing Modes.
- Less Data types.
- Pipeling can be achieved.
Complex Instruction Set Architecture (CISC)
The main idea is to make hardware complex as a single instruction will do all loading, evaluating and storing operations just like a multiplication command will do stuff like loading data, evaluating and storing it.
Characteristic of CISC
- Complex instruction, hence complex instruction decoding.
- Instruction are larger than one word size.
- Instruction may take more than single clock cycle to get executed.
- Less number of general purpose register as operation get performed in memory itself.
- Complex Addressing Modes.
- More Data types.
Both approaches try to increase the CPU performance.
- RISC: Reduce the cycles per instruction at the cost of the number of instructions per program.
- CISC: The CISC approach attempts to minimize the number of instructions per program but at the cost of increase in number of cycles per instruction.
Earlier when programming was done using assembly language, a need was felt to make instruction do more task because programming in assembly was tedious and error prone due to which CISC architecture evolved but with uprise of high level language dependency on assembly reduced RISC architecture prevailed.
Example – Suppose we have to add two 8-bit number:
- CISC approach: There will be a single command or instruction for this like ADD which will perform the task.
- RISC approach: Here programmer will write first load command to load data in registers then it will use suitable operator and then it will store result in desired location.
So, add operation is divided into parts i.e. load, operate, store due to which RISC programs are longer and require more memory to get stored but require less transistors due to less complex command.
Difference Between RISC and CISC
RISC | CISC |
Focus on software | Focus on hardware |
Transistors are used for more registers | Transistors are used for storing complex
Instructions |
Code size is large | Code size is small |
A instruction execute in single clock cycle | Instruction take more than one clock cycle |
A instruction fit in one word | Instruction are larger than size of one word |
RISC uses transistors for more registers. | Transistors are used for storing the complex instructions. |
The instructions have a fixed size. | The size of instructions vary. |
It performs only register to register arithmetic operations. | Besides the register to register operations, it can also perform register to memory (or memory to register operations). |
Fewer registers are used. | It requires more number of registers. |
As the instructions are individual the code is large. | Multiple operations are present in single instruction hence, the code is small. |