Functional Blocks of Microprocessor:
The microprocessor is a programmable IC that is capable of performing arithmetic and logical operations. The basic functional blocks of microprocessor are ALU, flag register, register array, Program Counter (PC)/Instruction Pointer (IP), instruction decoding unit, timing, and control unit. The basic functional block diagram of a microprocessor is shown below figure:
ALU is the computational unit of the microprocessor which performs arithmetic and logical operations on binary data. The various conditions of the result are stored as status bits called flags in the flag register. For example, consider a sign flag, one of the bit positions of the flag register is called the sign flag and it is used to store the status of a sign of the result of the ALU operation (output data of ALU). If the result is negative, then “1” is stored in the sign flag and if the result is positive, then “0” is stored in the sign flag.
The register array is the internal storage device and so it is also called internal memory. The input data for ALU, the output data of ALU (a result of computations), and any other binary information needed for processing are stored in the register array. For any microprocessor, there will be a set of instructions given by the manufacturer of the microprocessor. For doing any useful work with the microprocessor, we have to write a program using these instructions and store them in a memory device external to the microprocessor.
The program counter generates the address of the instructions to be fetched from the memory and send through the address bus to the memory. The memory will send the instruction codes and data through the data bus. The instruction codes are decoded by the decoding unit and sent information to the timing and control unit. The data is stored in the register array for processing by ALU. The control unit will generate the necessary control signals for the internal and external operations of the microprocessor.