Characteristics of a Central Processing Unit (CPU)
Central Processing Unit (CPU) is the component of the computer running the computer programs. With memory in particular, it is one of the components that have existed since the first computers, a processor built into a single integrated circuit is a microprocessor.
The processors were designed from the beginning specifically for a computer of a given type. This expensive method of processor design for a specific application has led to the development of mass production of processors that are suitable for two or more applications.
Current processors also include more complex elements:
* Several Arithmetic Logic Units (ALU), which can process several instructions simultaneously. The superscalar architecture, in particular, allow access to UAL in parallel, each ALU can execute an instruction without the other;
* The pipeline architecture enables temporarily splitting to perform the treatments. This technique comes from the world of supercomputing;
* A prediction unit jump, which allows the processor to anticipate a jump in the execution of a program, to avoid waiting for the final value of the jump address. This enables better fill the pipeline;
* A floating-point unit (FPU), which speeds up the calculations on real numbers encoded in floating point;
* The cache, which speeds up processing by reducing access times to memory. These buffers are much faster than RAM. The instruction cache receives the next instruction to be executed and manipulates the data cache.
Sometimes, a single unified cache is used for code and data. Multiple levels of caches can coexist, they are often called by the names of L1, L2 or L3. In the advanced processors, special units of the processor are assigned to research by statistical and / or predictive capabilities.
A processor is defined by:
* The width of its internal registers of data manipulation (8, 16, 32, 64, 128) bits;
* The rate of its clock in MHz (mega hertz) or GHz (giga hertz);
* The number of computing cores;
* Instruction set (ISA, Instruction Set Architecture) depending on the family (CISC, RISC, etc.);
* Its fine engraving expressed in nm (nanometers) and its microarchitecture.
But what characterizes a processor is mainly the family to which it belongs:
* CISC (Complex Instruction Set Computer: choice of instructions as close as possible to a high level language);
* RISC (Reduced Instruction Set Computer: choice of simple instructions and a structure for fast execution);
* VLIW (Very Long Instruction Word);
* DSP (Digital Signal Processor). Even if that family (DSP) is relatively specific. Indeed, a processor is a programmable component and is therefore a priori capable of performing any type of program.
However, for the sake of optimization, specialized processors are designed and adapted to certain types of calculations (3D, sound, etc..). DSPs are specialized processors for calculations related to signal processing.
A processor has three bus types:
* A data bus, sets the size of the data handled (regardless of the size of internal registers);
* An address bus determines the number of memory slots available;
* A control bus defines the management processor IRQ, RESET, etc..