Hardware acceleration
Custom hardware performs specific functions faster than general-purpose CPU software.
Hardware acceleration refers to using specialized computer hardware—called a hardware accelerator—to carry out specific tasks more quickly than software running on a general-purpose CPU could. Any data transformation achievable through software on a CPU can also be performed by a suitable hardware accelerator, or by a combination of both.
To improve computing efficiency, effort and money can go into refining software, upgrading hardware, or both. Each approach has trade-offs in terms of latency, throughput, and energy use. Focusing on software typically offers greater versatility, faster development, lower upfront engineering costs, better portability, and easier updates or bug fixes, but it incurs overhead from general-purpose operations. Focusing on hardware can yield speed gains, lower power consumption, reduced latency, increased parallelism and bandwidth, and better use of chip area and functional components. However, hardware designs are harder to update once etched into silicon, and they involve higher verification costs, longer time to market, and more components.
In the spectrum of digital computing—from general-purpose processors to fully custom hardware—there is a trade-off between flexibility and efficiency. Efficiency can increase by orders of magnitude as a given application moves toward the more customized end of this hierarchy. The hierarchy includes general-purpose CPUs, more specialized processors like programmable shaders in GPUs, applications on field-programmable gate arrays (FPGAs), and fixed-function implementations on application-specific integrated circuits (ASICs).
Hardware acceleration is beneficial for performance and works best when functions are stable and unlikely to need frequent updates. Since around 2010, reprogrammable logic devices like FPGAs have relaxed the restriction that hardware acceleration must be limited to fully fixed algorithms, allowing it to be applied to problem domains that require algorithm changes or control flow adjustments. A drawback, however, is that many open-source projects depend on proprietary libraries that some vendors are reluctant to distribute or expose, making integration difficult.
**Overview** Integrated circuits handle operations on both analog and digital signals. In computing, digital signals are most common and are typically represented as binary numbers.
- Advantage speedup
- speedup, reduced power consumption, lower latency, increased parallelism and bandwidth, better utilization of area and functional components
- Disadvantage flexibility
- lower ability to update designs once etched onto silicon, higher costs of functional verification, times to market, need for more parts
- Hierarchy levels
- general-purpose processors, specialized processors (e.g., programmable shaders in GPU), FPGAs, fixed-function ASICs
- Reprogrammable logic shift
- since 2010, FPGAs eased restriction of hardware acceleration to fully fixed algorithms
Lore & Background
In the hierarchy of digital computing systems ranging from general-purpose processors to fully customized hardware, there is a tradeoff between flexibility and efficiency, with efficiency increasing by orders of magnitude when any given application is implemented higher up that hierarchy (towards the more customized end). This hierarchy includes general-purpose processors such as CPUs, more specialized processors such as programmable shaders in a GPU, applications implemented on field-programmable gate arrays (FPGAs), and fixed-function implemented on application-specific integrated circuits (ASICs). Hardware execution units do not rely on the von Neumann or modified Harvard architectures and do not need to perform the instruction fetch and decode steps, reclaiming time, power, and circuit area for other uses.
With the advent of reprogrammable logic devices such as FPGAs, the restriction of hardware acceleration to fully fixed algorithms has eased since 2010, allowing hardware acceleration to be applied to problem domains requiring modification to algorithms and processing control flow. The disadvantage, however, is that in many open source projects, it requires proprietary libraries that not all vendors are keen to distribute or expose, making it difficult to integrate in such projects. Custom hardware is limited in parallel processing capability only by the area and logic blocks available on the integrated circuit die, offering a possibility of implementing the parallel random-access machine (PRAM) model.
Reader's Guide
Hardware acceleration is significant because it enables substantial performance improvements for specific, computation-intensive algorithms that are executed frequently, by allowing greater concurrency, having specific datapaths for temporary variables, and reducing the overhead of instruction control in the fetch-decode-execute cycle. Its legacy is evident in applications such as bit blit acceleration in GPUs, memristors for accelerating neural networks, and regular expression hardware acceleration for spam control to prevent ReDoS attacks. The tradeoff between flexibility and efficiency is central: while software offers greater versatility, rapid development, and ease of updating, hardware acceleration provides speedup, reduced power consumption, lower latency, and increased parallelism. Modern processors are multi-core and often feature parallel SIMD units, yet hardware acceleration still yields benefits. The ability to implement hardware acceleration on FPGAs since 2010 has broadened its applicability to domains requiring algorithm modifications, though integration in open source projects can be hindered by proprietary library requirements. Ultimately, hardware acceleration remains a key strategy for improving performance, throughput, and energy efficiency in computing systems.
Did You Know?
- Any transformation of data that can be calculated by software on a CPU can also be calculated by an appropriate hardware accelerator.
- Since 2010, FPGAs have eased the restriction of hardware acceleration to fully fixed algorithms.
More in PC Hardware, Part 2 1-24
Spotted an error? Know more?
Reader corrections go straight into our review queue. Suggest an edit · How this site is sourced
