Graphics Reference
In-Depth Information
Chapter 38
Modern Graphics Hardware
In computer design it is a truism that
smaller means faster.
Richard Russell
38.1 Introduction
All modern personal computers include special-purpose hardware to accelerate
rasterized 2D and 3D rendering. With the exception of the interface that connects
the PC to the display, this hardware is, strictly speaking, unnecessary, because the
rendering could be done on the PC's general-purpose processor. In this chapter
we consider why PCs include special-purpose rendering hardware, how that hard-
ware is organized, how it is exposed to you, the graphics programmer, and how it
efficiently accelerates 3D rendering and other algorithms.
The history of computing includes many examples of failed special-purpose
computing hardware. Examples include language accelerators, such as Lisp
machines [Moo85] and Java interpreters [O'G10], numeric accelerators, and even
graphics accelerators, such as the Voxel Flinger [ST91]. Modern graphics pro-
cessing units, whose complexity and transistor counts can exceed those of the
general-purpose CPU, are a prominent exception to this rule. Four conditions
have allowed special-purpose graphics processing units, which we will refer to
as GPUs, to become and remain successful. These are performance differentia-
tion, workload sufficiency, strong market demand, and the inertia of ubiquity.
Performance differentiation: Special-purpose hardware can execute
graphics algorithms far more quickly than a general-purpose CPU. The
most important reason is parallelization: GPUs employ tens or hun-
dreds [Ake93] of separate processors, all working simultaneously, to
execute graphics algorithms. While it is difficult to parallelize general
computations, graphics algorithms are easily partitioned into separate
1103
 
 
Search WWH ::




Custom Search