The microprocessor (also known as Central Processing Unit(CPU) ) is a computational machine. It executes arithmetic, logical, control and input/output operations. It is programmable and follows the instructions programmed into its memory.
Principle of Operation
In order for the processor to perform the task required by a particular instruction, it follows a process called the instruction cycle. It consist of the following phases:
- Fetch – the instruction to be executed is retrieved from the program memory.
- Decode – the fetched instruction is decoded and information regarding the type of instruction that has to be executed and what operands should be used is provided to the control unit.
- Execute – the actual operation specified by the instruction is performed.
All functional units of the CPU are there to accommodate the instruction cycle. These functional units can be grouped into two major categories:
- Datapath – a group of functional units that performs data processing.
- Control Unit – this unit is responsible for controlling the datapath – operation selection, data movement between functional units, path multiplexing etc.
Datapath as its name suggest is the path that the data to be processed goes through. In order for the data processing functionalities to be carried out the datapath includes the following functional units:
- Program memory – contains the instructions of the program.
- Register file – general purpose internal registers of the CPU.
- Instruction register – holds the instruction that is fetched and is going to be executed.
- Program counter – a special register that holds the address of the next instruction to be executed.
- Arithmetic logic unit – performs arithmetic and logical operations.
- Data memory – memory used for storing data.
It should be noted that the program memory and data memory can be viewed as an external components to the CPU. The CPU is connected to them using special lines called buses.
The control unit is responsible for controlling the datapath functional units. The control is based on the instruction that is currently being processed and it consist of generating signals used for coordinating the operations of the CPU.
As an example, the control unit may:
- set a flag signal, indicating a certain condition
- select a certain path between functional units
- turn on/off a datapath component
A bus is collection of electrical signals forming a pathway for digital signals to move data. The specifics of how all these signals part of the bus operate is dependent on the bus protocol.