A microcontroller, also known as MCU, is composed of memory modules, communication interfaces, CPUs or processor units, and input & output peripherals. Basically, it is a small computer (“micro) that is self-contained on just one chip. It can also be described as a simplified computer intended to repeatedly run on one basic program. An MCU is expected to do an automated task, one that a user preprograms.
Microcontrollers were first introduced to the public in 1971 by Intel. These embedded systems work at such low speeds, particularly when compared to microprocessors. One advantage they have is that they do not consume a lot of power.
MCUs are equipped with elements essential for general microprocessors, like logic and arithmetic. However, they also have other peripherals like read-only memory (ROM) used for storing programs, RAM (random access memory) for storing data, and flash memory used for storing permanent data.
There are many types of microcontrollers: classification according to Bus Width, Memory, Memory Architecture, and Instruction Set.
Microcontrollers that are classified according to Bus Width are divided into three types – 8-bit, 16-bit, and 32-bit.
Bus width is the number of connections, wires, or parallel lines that are found in the bus. A bus is responsible for transmitting data and instructions from the CPU to the memory, and to the input and output ports. Control bus, address bus, and data bus are the three types of buses used in microcontrollers.
Microcontrollers classified according to memory blocks have two types: external memory and embedded memory.
On the basis of memory architecture, there are two types: the Princeton of Van Neumann architecture and the Harvard Architecture.
Microcontrollers are also classified according to instruction set architecture. These are Complex Instruction Set Computers or CISC and Reduced Instruction Set Computers or RISC. CISC is for executing single complex commands while RISC is for smaller simpler commands.