Processors

Processors are the "brains" of computers, the components that perform the operations dictated by programs or applications.

The most common types of processors are the CPU and the GPU, although there are some more that will be studied below, such as the TPU, the DSP, the microcontrollers or the FPGA.

Central Processing Unit (CPU)

A CPU or central processing unit, also called microprocessor, is a computer component dedicated to interpreting the instructions of computer programs. They can perform logical, arithmetic, and data movement operations.

It is the most complex component of a computer. A personal computer CPU, in 2022, has 25 billion to 100 billion transistors.

The best known and used CPUs today are those of the Intel company (i3, i5, i7, i9, Xeon) or those of the AMD company (Ryzen) for personal computers and servers.

Smartphones, tablets, televisions and other smart devices use CPUs based on ARM architecture (Dimensity, Snapdragon, Kirin, etc.)

_images/informatica-cpu-486dx2-b.jpg

80486DX CPU typical of PCs from the mid-90s.

Solipsist, CC BY-SA 2.0 Generic, via Wikimedia Commons.

Math coprocessor (FPU)

The math coprocessor or floating point unit is a type of processor that is specialized in performing mathematical operations in floating point (with decimals), such as multiplication division , trigonometric operations, logarithms and exponentials.

In the beginning they were separate circuits from the CPU, but today they are integrated into the same chip as the most powerful CPUs.

This coprocessor or FPU makes it possible to speed up programs that need to perform a large number of mathematical operations, such as computer design programs in 2 and 3 dimensions, spreadsheet programs, or scientific software.

There are coprocessors specialized in performing multimedia-oriented math (MMX) operations that speed up the compression and decompression of audio and video. Thanks to these coprocessors, video editing or viewing programs can work quickly and smoothly in high definition.

Graphics Processing Unit (GPU)

A GPU or graphics processing unit is a specialized processor, dedicated to calculating graphics intensively to lighten the load on the central processor. It is capable of calculating drawing operations in three dimensions very quickly, such as antialiasing (smoothing edges of figures), drawing triangles, squares, ellipses, etc.

graphics card
Most of today's CPUs already have small GPUs integrated with a limited ability to handle graphics. It is enough to handle office programs or surf the Internet, but they do not have enough capacity to handle video games, design programs, etc. For this reason, in more powerful computers, specialized <https://es.wikipedia.org/wiki/Tarjeta_gr%C3%A1fica>`__ graphics cards are used, which consume much more electrical power than the CPU itself and perform a higher number of operations per second.
_images/informatica-tarjeta-video.jpg

Radeon HD 5570 graphics card.

Evan-Amos, Public Domain, via Wikimedia Commons.

Tensor Processing Unit (TPU)

A TPU or tensor processing unit is a processor dedicated to the intensive computation of neural network operations, used in Artificial Intelligence.

The term TPU is used by Google for a circuit invented by the company, but more and more circuits incorporate similar capabilities for calculating neural networks, for example, in smartphones.

This TPU unit speeds up processes such as facial recognition, voice processing, or other AI-based operations.

Digital Signal Processor (DSP)

A DSP or digital signal processor is a processor specialized in executing numerical operations related to signal processing, at very high speed.

Its typical applications are real-time processing of audio, voice, image, video signals, etc. With these applications you can eliminate echo in communication lines, make organ images clearer in ultrasound or MRI medical diagnostic equipment, make auto-tune adjustments to singers' voices. , decoding songs on mp3 players, compressing photos on digital cameras, and a long list of applications that are related to signal processing.

Microcontrollers

A microcontroller is a small computer contained on a single chip. It incorporates the CPU, RAM, Flash ROM, and I/O peripherals in a small space and at a low price.

These processors are used to control peripherals such as keyboard, mouse, webcam, monitor, hard drives, etc.

Thanks to microcontrollers, the main CPU of the computer is offloaded from the control tasks of the peripherals, which would be very expensive in time and resources if it had to manage them directly.

Another application of microcontrollers is to automate everyday devices such as microwaves, washing machines, the ABS of a car, an electronic lock, etc. with a small calculation capacity.

FPGA

An FPGA is a processor based on programmable logic gates. All processors and all digital circuits are made of logic gates. In the case of FPGAs, these logic gates can be connected in a programmable way, with which a circuit can be built according to the user's needs.

These circuits can be programmed to solve specialized tasks much faster than with a conventional CPU. Typical applications are computer vision systems, cryptocurrency mining, old hardware emulation, machine learning, custom circuit prototyping (ASIC), etc.

By executing operations in parallel, FPGAs can speed up computations and be several times faster than a CPU in operations such as audio and video compression.

The most used languages ​​to program FPGAs are VHDL and Verilog.

Characteristics of a processor

Below are the characteristics that are used to compare different processors and evaluate their performance.

Energy consumption

The consumption of a processor is increasingly important.

On the one hand, the lower consumption a processor has, the longer the battery of the device that contains it will last.

On the other hand, in computers connected to the electrical network, the lower the electricity consumption, the lower the cost of keeping the computer running. This electrical consumption is so high for high-performance computers that electricity annually costs more than the price of the processor itself. That's why server processors are replaced before the end of their useful life. It is cheaper to install a new, more efficient processor than to keep the old one running.

Power consumption, also called TDP, is measured in watts. A typical personal computer CPU consumes about 100 watts in normal operation. By contrast, a typical smartphone CPU consumes around 5 watts.

Clock rate

It is the frequency at which a processor operates and determines the number of instructions it can execute in one second. Typical frequencies of current processors for personal computers and smartphones range from 1000MHz to 4000MHz. The higher the clock speed, the faster a processor will be, all other things being equal.

overclocking is a technique of running a processor at a higher frequency than its designed frequency. Overclocking is used to speed up the performance of the computer and process information faster. Many processors support running at a higher frequency than nominal, but this technique entails higher power consumption and the possibility of system failure.

Number of cores

Today's processors are made up of several individual processors called cores. The more cores a processor has, the more operations it can perform in parallel.

Processors can divide the computation of some tasks between several cores. Therefore, the more cores the processor has, the faster it will be to execute these tasks. On the other hand, the performance of certain tasks cannot be shared between several cores and the final speed will not be higher no matter how many cores the processor has.

In 2022, a medium-sized processor for a personal computer usually has 6 to 12 cores.

Number of execution threads

The execution threads are the number of different programs that can be executed at the same time by the processor. In reality, a processor can only execute one program per core, but threads allow you to virtually double the number of tasks and speed up execution a bit more.

In 2022 a typical Intel processor usually has two execution threads per core. That is, an 8-core CPU will have 16 execution threads.

Cache

It is a buffer memory that allows faster access to data and programs when the processor has to repeatedly access the same data from RAM.

The processors must read information from RAM memory to carry out their task, both information about the program to be executed and the data to be processed. The transfer speed of RAM memory is usually slower than the processing speed of the processor. The cache is used as a buffer memory that stores the contents of RAM that are read repeatedly. In this way you can have the data faster while it is being processed.

The larger the cache size, the higher the final speed of the processor.

Most CPUs have several levels of cache included. Each cache level is slower than the previous one, but larger in size. The value of the largest of them is usually given. A typical CPU of a personal computer in 2022 usually has a cache size of around 6 Megabytes.

Bit number

Each processor can handle a specific number of bits at a time. The number of bits determines the amount of memory that can be accessed and how quickly certain operations will be executed. An 8-bit processor will process information four times slower than a 32-bit processor.

The simplest processors, such as those found in a computer keyboard or microwave oven, are 8-bit.

Above them are the much more powerful and faster 32-bit CPUs. They are used in smartphones, smartTV, printers, etc.

Today's personal computers use, in most cases, 64-bit processors and software.

Type of buses

It is the type of communication with which information is transferred between the processor and the rest of the computer elements. The more buses a processor has and the faster they are, the higher its performance.

Currently personal computer processors have three communication buses with the outside, to improve the transfer speed:

  • Direct bus with RAM memory.
  • Direct bus with PCI Express ports.
  • DMI bus to connect with other devices (USB, PCI, Sata, Ethernet, etc).

Test of performance

Performance tests, also called benchmark, are a technique for measuring the performance of a computer system or its components by separate.

They are very useful tests when comparing processors with each other. Due to the large number of parameters or characteristics that define a processor, it is not easy to calculate its final performance. However benchmark tests will give a simple number that roughly represents the power of a processor.

Well-known classic tests are the following.

MIPS

The MIPS or millions of instructions per second.

It is a very useful test to relatively compare processors throughout history and see how computing power grows exponentially over time. Despite everything, it is a test with certain problems when comparing different architectures, which is why it has fallen into disuse.

A typical personal computer in 2022 has approximately 200,000 MIPS.

Flops

The FLOPS or floating point operations per second, measures how many mathematical operations with decimals a computer is capable of performing. Multiples are common, so one MFLOPS is equal to 1 million floating point operations per second.

This measure is useful to know how fast a machine is to solve computationally intensive and scientific problems.

A typical personal computer in 2022 has approximately 50,000 MFLOPS.

SPECint and SPECfp
Standard Performance Evaluation Corporation (SPEC) is a non-profit consortium that includes computer vendors, system integrators, universities, research groups, publishers and consultants from around the world. It has two objectives: to create a standard benchmark to measure computer performance and control and publish the results of these tests.

Other tests:

PassMark
The PassMark Test is one of the best known commercial tests for personal computers.