Computer hardware can be categorized based on the relationship between the processor and the peripherals. There aren’t standardized definitions, these are the MTE 325 definitions.
A microprocessor consists of a processor only.
- No main memory
- No built-in support for input/output devices
- Commonly refers to a general-purpose CPU, like Intel i5, AMD Ryzen
- Because they are standalone processors and require separate peripherals, typically used with a motherboard that provides the required interfaces and memory
- A system based on a microprocessor will, in general, NOT be an embedded system.
A microcontroller is a complete computer on a single chip consisting of a processor, memory and some input/output devices.
- These devices are usually specified in a fairly general manner to permit reuse of the same microcontroller component in many applications.
- Commonly refers to a chip with a CPU that has been specialized to control the operation of a mechanical or electronic system.
- Each chip will have specialized built-in interface support for some or all of high-speed communication, parallel devices, serial devices, and analog devices.
- Example: STM32, Texas Instruments TMS320, Microchip ATtiny.
A System-on-a-Chip (SoC) is a user-designed fully-functional system implemented on a single chip.
- Includes processing, memory, input/output devices and other digital logic. This typically includes:
- Functionality similar to a microprocessor or a microcontroller (implementation may be done in software or hardware)
- Communication ports
- Volatile storage (RAM) and non-volatile storage (ROM)
- Other: Timers, parallel interfaces, analog to digital converters, pulse width modulators
- Can be used to implement an embedded system or a portion of an embedded system
- Difference between a microcontroller and an SoC is that the SoC configuration is chosen by the user.
- Interfaces and memory are selected, and then the chip is fabricated for the user.
A System-on-a-Programmable-Chip (SoPC) is an SoC implemented using a high-density, reconfigurable programmable logic device (PLD).
- Unlike the SoC, the user is able to reconfigure and program the chip logic themselves
- Many SoPC chips either have a CPU block to can be loaded to them or contain a hardwired CPU surrounded by programmable logic.
- FPGAs are an example of a SoPC.