Graphics Processing Units (GPUs)
While only a few computers have a dedicated cryptography card, most have a graphics coprocessor. Each generation of GPUs is more and more general. These days, the GPU is used a lot in HPC applications, because the GPU has an enormous computational throughput. In effect, a GPU is a superscalar streaming vector processor. It handles a number of streams of SIMD instructions in parallel very quickly.
Architecturally, a GPU has a lot in common with a Pentium 4. Both use very long pipelines to allow them to have a lot of instructions in flight at once. And both perform very badly if a branch is predicted incorrectly. This was a problem for Pentium 4 since branches occur, on average, about every seven instructions. It’s not such a problem for a GPU, which is designed for execution of specific operations that don’t involve much branching.
The current situation in the PC world is very similar to that of 20 years ago. Back then, it wasn’t uncommon for a computer to have several processors, which is why we call the processor the central processing unit (CPU). The CPU took on general-purpose calculations and coordinated the activities of the other processors. Commonly, workstations and high-end PCs also had a floating-point unit (FPU) that handled floating-point operations. Starting with the 80486, the FPU was on the same die as the CPU. Another common addition was a memory management unit (MMU). This unit handled the translation between real and virtual memory; these days, you’d be hard-pressed to find a CPU without an MMU built in. A modern computer has a CPU and a parallel coprocessor. It doesn’t take much of a leap to imagine that Intel will eventually start adding a GPU core or two to its CPUs.
At this point, you’re probably thinking that this would limit the possibility of upgrades, so it’s worth taking a step back to see where processors are going. In 2005, Apple’s laptop sales passed its desktop sales for the first time. The rest of the industry is following. The rate of growth of mobile GPU sales exceeded that of desktop GPUs by a significant proportion, and Intel is the largest player in both the GPU and GPU markets. Very few people upgrade the GPU in their laptops.