Firmware is a pre-installed program embedded in a device installed inside a computer or connected to computer. Firmware is like the legendary elves that inhabit objects, it is run by a microcontroller rather than a CPU, and assists the computer system in controlling and diagnosing the devices.
When the device that is installed inside a computer or connected to computer externally has becomes more powerful and complex, in addition to more complex circuitry, another way is to give it the ability to run programs internally. This kind of program, which is embedded in the device, between the software system and the hardware equipment, is called "fireware". To run the program, a processor and memory are necessary. The devices with firmware also have their own processor chip and some memory space. These embedded small processors are called "Micro Control Units (MCUs)" as opposed to the central processing unit (CPU) that is the main computing part of the entire computer system.
There are two advantages to implement functions by firmware. The first, of course, it to share the burden of the CPU's computation, so that the CPU does not have to be interrupted to deal with even the smallest things. The CPU only needs to activate the device and then wait to receive the results. And the second, if you want to improve the functions or to fix security vulnerabilities of the devices that has already been sold, you only need to update the firmware over internet, and do not need to reclaim them physically and replace the circuit boards.