A microprocessor (µP) or a Microprocessing Unit (MPU) is a device that implements the core elements of a computer system on a single integrated circuit, or as a few integrated circuits operating as a cohesive unit, designed for the processing digital data.
Modern microprocessors typically incorporate the functionality of a clock, central processing unit (CPU), arithmetic logic unit (ALU), floating point unit (FPU), control unit (CU), memory management unit (MMU), interrupts, input/output interfaces, and cache. Specialized microprocessor may also serve as graphical processing units (GPUs), signal processing units (DSPs), neural processing unit (NPUs), microcontrollers, etc.
- Main article: history of the microprocessor
Microprocessors are instruction set processors (ISPs), meaning they operate on a predefined set of instructions. In the broadest sense, their basic functionality is to continuously read in digital data consisting of instructions and possibly values; execute them by interpreting the instructions and performing a certain operation on the values; and finally outputs a result.
While the basic functionality is shared among all microprocessors, they vary greatly in the type and size of data they handle, the kind of operations they support, how they perform those operations, their intended purpose, and their performance characteristics. The functionality of a microprocessor is dependent on the characteristics of the instruction set it operates on. Every program that runs on that microprocessor is therefore bound by that instruction set architecture (ISA) and is encoded in that instruction set. The instruction set architecture is the specification of a microprocessor design while the realization of an ISA is known as the implementation. There can, and usually are, multiple implementations for a second ISA specification. Those implementations are known as microarchitectures. The kind of tradeoffs made in a microarchitecture ultimately determines the characteristics of the microprocessor (e.g., power and performance).
Microprocessors come in various flavors with Most microprocessors can be classified as one of the follow:
- general-purpose microprocessors - the most common form of microprocessors, not designed for any one specific task in mind. Instead they are designed to support a broad array of operations.
- bit-slice microprocessor (BSM) - a microprocessor designed as a module intended to be built up like Lego blocks into a desired word size and architecture as needed.
- system on chip (SoC) - a microprocessor that contains all the components of a computer system, including the extra functionality that would normally be provided by auxiliary chips, which could include things such as wireless, ethernet, SD card, ADC, DAC, LCD drivers, and FPGA. SoCs are capable of running full-fledged modern operating systems with all their features.
- microcontroller (MCU) - a microprocessor that contains a few additional components such as RAM, ROM, and programmable I/O ports primarily designed to control and drive other electronic equipment. MCUs are designed to be embedded, usually in a highly restrictive environment. They usually consume very little power, may run relatively slow, and typically execute individual task-specific programs.
- digital signal processor (DSP) - a microprocessor that specializes in the numerical manipulation of signals.
- floating point unit (FPU) - is a math microprocessor (or coprocessor) - a microprocessor that specializes in the creation and manipulation of floating point values.
- graphics processing unit (GPU) - is a graphics microprocessor - a microprocessor that specializes in the creation and manipulation of images through a set of optimized geometric operations. Modern graphic microprocessors tend to be highly parallelized, allowing large blocks of visual data to be processed efficiently.
- vector processor (VPU) - a vector processor is microprocessor that implements operations that manipulate one/multi-dimensional arrays of data known as vectors.
- physics processing unit (PPU) - a microprocessor that specializes in handling the calculations of physics. This includes things such as fluid dynamics and collision detection.
- neural processing unit (NPU) - is a neural microprocessor - a microprocessor that specializes in the manipulations of predictive models.
- coprocessor - a microprocessor that aides a master microprocessor by either offloading some of its work or by providing additional specialized processing operations, e.g. cryptography, math, graphics, string processing, or I/O interfacing. A coprocessor can act as an extension of the master microprocessor by extending the instruction set architecture or by acting like another peripheral on the main bus.
Some microprocessors can be a hybrid combinations of a few of the above. For example, a general-purpose microprocessor might come with an integrated GPU, implying an additional graphic processing unit has been added to the microprocessor to enable it to manipulate visual data more efficiently. Likewise almost all modern desktop microprocessors come with integrated floating point units.
- Main articles: central processing unit, architecture, microarchitecture, and instruction set architecture
The technical specifications of microprocessors are derived from the microarchitecture of the incorporated CPU, the semiconductor technology involved, and the properties of the overall system. Some common specifications are summarized below:
- instruction set architecture
- technology - the semiconductor technology used to create the MPU (e.g. CMOS, BiCMOS, and TTL)
- process - the process used to manufacture the MPU - i.e the feature size and design rules. The feature size on its own (e.g. 10 µm) is usually taken as a synonym for the process.
- microarchitecture - the functional description of the underlying circuitry of the microprocessor.
- word size - the word size of a microprocessor usually refers specifically to the data word size used - i.e. highest operand width used to manipulate standard integer values. (this excludes special processing units such as SIMD and FPU)
- core count - the number of physical cores incorporated into the chip.
- endianness - the order of the bytes the microprocessor uses when operating on multi-byte values.
- clock frequency - the internal operating frequency of CPU's core. It's one of many parameters that are used to assess the performance of a microprocessor.
- package - the physical casing of the microprocessor. This most often goes along with a socket, which is the interconnects that sits on the circuit board itself where the package is inserted into.
Note that not all the specifications listed above apply to all the types of microprocessors.
- Main article: microprocessor family