Here is a paper survey I wrote last semester in my CS6290 class about how the Graphics Processing Units (GPUs) hardware architecture has evolved over time. I found the research quite interesting, and spent a lot of time doing it. I’m posting this here, as I feel that more people than my professor should read and enjoy it.
Abstract:
The graphics processing unit (GPU) is a specialized and highly parallel microprocessor designed to offload and accelerate 2D or 3D rendering from the central processing unit (CPU). GPUs can be found in a wide range of systems, from desktops and laptops to mobile phones and super computers [3].
This paper provides a summary of the history and evolution of GPU hardware architecture. The information in this paper, while being slightly NVIDIA biased, is presented as a set of milestones noting major architectural shifts and trends in GPU hardware.
The evolution of GPU hardware architecture has gone from a specific single core, fixed function hardware pipeline implementation made solely for graphics, to a set of highly parallel and programmable cores for more general purpose computation. The trend in GPU technology has no doubt been to keep adding more programmability and parallelism to a GPU core architecture that is ever evolving towards a general purpose more CPU-like core.
Future GPU generations will look more and more like wide-vector general purpose CPUs, and eventually both will be seamlessly combined as one.
Link: History and Evolution of GPU Architecture
(Please excuse the horrible formatting, as this was made in Open Office – before I knew how to use LaTeX.)