Hardware acceleration

from Wikipedia, the free encyclopedia

Hardware acceleration describes the relief of the main processor by delegating special, computationally intensive tasks to hardware that is specialized for these tasks . This technique is used in particular in computer graphics.

technology

The architecture of a main processor (CPU) is generally designed to be universal so that it can perform any tasks. The range of tasks that can be performed is only limited by the software . However, there are tasks which, due to the general design of the processor architecture, cannot be carried out very efficiently and quickly by the main processor without special expansions. This applies in particular to complex mathematical operations and operations that can be highly parallelized.

This can be remedied by internal extensions or external hardware modules (chips, processors) that are specialized in these recurring tasks.

Some tasks can be broken down very efficiently into thousands of subtasks. This includes, for example, the Fourier transformation in a specific frequency band or the rendering of a small image section. These can be processed in parallel independently of one another. Through massive parallelization (see also vector computer ), i.e. the use of many small processors working in parallel for this special task, the calculation can be accelerated significantly. In many cases, the computing speed increases almost linearly with the number of parallel processors ( Amdahl's law ).

Graphics cards

Tseng Labs ET4000 / W32p

In the early days of computing, screen display was often one of the main processor's tasks. Even with entry-level computers in the lowest price range such as B. the ZX-81 this was the case. The first chips were used to display the text characters and output them to a monitor. This was followed later by the administration of its own graphics memory and the color graphics display ( EGA and VGA cards on PCs, for other computer architectures there were other technological implementations). With the advent of graphical user interfaces , these graphics cards took on simple, recurring tasks such as drawing rectangles, lines and circles or moving rectangular image sections. A special graphics card driver received the drawing commands from the operating system and delegated them to the graphics card. Alternatively, these tasks could also be taken over by the main processor in software mode - albeit with a considerable loss of speed.

The next development step was the so-called 3D graphics cards in 1996. Initially, they took on the task of writing triangles (basic figure of the 3D objects consisting of polygons) into the graphics memory and providing them with an adapted texture (e.g. graphics cards of the Voodoo series from the manufacturer 3dfx ). At the beginning of 2000 a start was made to shift the calculation of the 3D grid model to the graphics card (so-called T&L units). Since around 2006, graphics cards have been increasingly taking over the calculation of physical processes for manipulating the 3D model using so-called physics accelerators .

Other uses

The industry is constantly developing logic modules that take on special tasks to relieve the main processor. This includes the decoding of MP3 data, encoding and decoding of video data, synthesis of audio signals ( audio accelerator ) and digital signal processors .

Some network cards offer hardware acceleration through TCP segmentation offload .

Opposing tendencies

The main processor Intel 80386 with the math.
80387 coprocessor
Intel 80486 with integrated cache (6) and coprocessor (7)

However, it should be noted that originally independent modules were increasingly integrated into the main processor in order to shorten the access times to the respective functional unit.

The best example of this is certainly the mathematical coprocessor from the 1980s to 1990s. It could optionally be plugged into a socket provided on the motherboard (e.g. Intel 8087 and successor) and then supported the main processor in calculating floating point numbers . If none was available, the main processor took over the calculation of floating point numbers, albeit with a considerable loss of speed.

Even with the first processors that had a buffer memory ( cache ), this was located in an external chip on the motherboard. However, it has been common practice since the 1990s to integrate the buffer memory in the processor. Recently, even parts of the chipset , e.g. B. the memory management or the northbridge , integrated together with the main processor on one module. The same development can be seen in integrated graphics processing units (IGPs). Functions for data encryption ( AES ) and video decoding are also integrated.

Individual evidence

  1. Voodoo 3D graphics card that was operated in parallel with the 2D card (looped through)
  2. NVIDIA PhysX physics accelerator
  3. Special TI circuitry in a typical notebook
  4. Archive link ( Memento of the original from April 28, 2009 in the Internet Archive ) Info: The archive link was inserted automatically and has not yet been checked. Please check the original and archive link according to the instructions and then remove this notice. ATI's Avivo for HD content @1@ 2Template: Webachiv / IABot / ati.amd.com