(→Specifications) |
|||
(35 intermediate revisions by 8 users not shown) | |||
Line 1: | Line 1: | ||
− | A '''microprocessor''' ('''µP''' | + | {{title|Microprocessor (MPU)}} |
+ | [[File:KL MF8008.jpg|right|350px]] | ||
+ | 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 generator|clock]], [[central processing unit]] (CPU), [[arithmetic logic unit]] (ALU), [[floating point unit]] (FPU), [[control unit]] (CU), [[memory management unit]] (MMU), [[interrupt handler|interrupts]], [[input/output]] interfaces, and [[cache]]. Specialized microprocessor may also serve as [[graphical processing unit]]s (GPUs), [[digital signal processor|signal processing units]] (DSPs), [[neural processing unit]] (NPUs), [[microcontroller]]s, etc. | ||
== History == | == History == | ||
{{main|history of the microprocessor}} | {{main|history of the microprocessor}} | ||
{{empty section}} | {{empty section}} | ||
− | == | + | == Overview == |
[[File:IPO (input-process-output).svg|400px|right]] | [[File:IPO (input-process-output).svg|400px|right]] | ||
− | In the broadest sense, | + | Microprocessors are [[instruction set processors]] (ISPs), meaning they operate on a predefined [[instruction set|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. | + | 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 [[microarchitecture|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). |
− | == | + | == Variants == |
+ | Microprocessors come in various flavors with | ||
Most microprocessors can be classified as one of the follow: | 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. | * '''[[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 driver]]s, and [[FPGA]]. SoCs are capable of running full-fledged modern operating systems with all their features. | * '''[[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 driver]]s, 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. | * '''[[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. | * '''[[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. | ||
+ | |||
+ | == Specifications == | ||
+ | {{main|central processing unit|architecture|microarchitecture|instruction set architecture}} | ||
+ | The technical specifications of microprocessors are derived from the [[microarchitecture]] of the incorporated [[central processing unit|CPU]], the [[semiconductor]] technology involved, and the properties of the overall system. Some common specifications are summarized below: | ||
+ | |||
+ | * '''[[instruction set architecture]]''' | ||
+ | * '''[[logic family|technology]]''' - the semiconductor technology used to create the MPU (e.g. [[CMOS]], [[BiCMOS]], and [[TTL]]) | ||
+ | * '''[[semiconductor manufacturing process|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. | |
− | == | + | == Components == |
− | |||
{{empty section}} | {{empty section}} | ||
− | == | + | |
− | {{empty | + | == Design == |
+ | [[File:Yunsup Lee holding RISC V prototype chip.jpg|thumb|A prototype of a [[RISC-V]] microprocessor with the [[heat spreader]] removed, showing the exposed [[die]], January 2013]] | ||
+ | {{main|integrated circuit|integrated circuit design}} | ||
+ | {{empty section}} | ||
+ | <!-- | ||
+ | Talk about the design cycle, general outline | ||
+ | --> | ||
==Computational power== | ==Computational power== | ||
+ | {{empty section}} | ||
+ | |||
+ | == Families== | ||
+ | {{main|microprocessor family}} | ||
{{empty section}} | {{empty section}} | ||
Line 33: | Line 69: | ||
* [[List of processor families]] | * [[List of processor families]] | ||
− | + | [[Category:integrated circuits]] | |
− | + | [[Category:microprocessors]] | |
− | |||
− | |||
− | |||
− |
Revision as of 23:41, 15 September 2019
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.
Contents
History
- Main article: history of the microprocessor
This section is empty; you can help add the missing info by editing this page. |
Overview
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).
Variants
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.
Specifications
- 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.
Components
This section is empty; you can help add the missing info by editing this page. |
Design
- Main articles: integrated circuit and integrated circuit design
This section is empty; you can help add the missing info by editing this page. |
Computational power
This section is empty; you can help add the missing info by editing this page. |
Families
- Main article: microprocessor family
This section is empty; you can help add the missing info by editing this page. |