You are on page 1of 18

Is There a Real Difference

between DSPs and GPUs?

by

Stephanie Mitchell and Tim Knudtson


Main Topics
1. Examples Used in this Presentation
2. D.S.P. Processor
3. Features of the D.S.P. Processor
4. D.S.P. Architecture
5. D.S.P. Programming
6. G.P.U. Processor
7. Features of the G.P.U. Processor
8. G.P.U. Architecture
9. G.P.U. Programming
10. Conclusions
Examples Used in this Presentation
Information is given for the following
processors:

1. Digital Signal Processor (DSP)


TigerSHARC

2. Graphics Processor (GPU)


Nvidia GeForce Series 6
D.S.P. Processor
A digital signal processor (DSP) is a specialized
microprocessor designed specifically for digital
signal processing, generally in real-time.

Programmable Digital Signal Processor (DSPs)


are tuned to efficiently execute the
computationally-intensive loops that typically
characterize digital signal processing algorithms
(i.e. FIR and IIR filters).
Features of the D.S.P. Processor
Designed for real-time processing
Optimum performance with streaming data
Separate program and data memories (Harvard
architecture)
Special Instructions for SIMD operations
No hardware support for multitasking
The ability to act as a direct memory access device if
in a host environment
D.S.P. Architecture
Memory architecture
DSPs often use special memory architectures
that are able to fetch multiple data and/or
instructions at the same time:
Harvard architecture
modified von Neumann architecture

Use of direct memory access


Memory-address calculation unit
D.S.P. Architecture … continued

Data operations
Saturation arithmetic
operations that produce overflows will accumulate at the
maximum (or minimum) values that the register can hold
rather than wrapping around (maximum+1 doesn't overflow
to minimum as in many general-purpose CPUs, instead it
stays at maximum).

Fixed-point arithmetic is often used to speed up


arithmetic processing.
Single-cycle operations to increase the benefits of
pipelining.
D.S.P. Programming
Floating-point unit integrated directly into the
data-path
Special looping hardware. Low-overhead or
Zero-overhead looping capability
Multiply-accumulate (MAC) operations, which
are good for all kinds of matrix operations,
such as convolution for filtering, dot product,
or even polynomial evaluation.
D.S.P. Programming … continued

Instructions to increase parallelism: SIMD,


VLIW, superscalar architecture.
Specialized instructions for modulo
addressing in ring buffers and bit-reversed
addressing mode for FFT cross-referencing.
Digital signal processors sometimes use time-
stationary encoding to simplify hardware and
increase coding efficiency
G.P.U. Processor
A Graphics Processing Unit or GPU (also
occasionally called Visual Processing Unit
or VPU) is a dedicated graphics rendering
device for a personal computer,
workstation, or game console.
A GPU is the main processing unit in the
architecture of every graphic cards used
on computers or game consoles.
Features of the G.P.U. Processor
GPU architecture offers a large degree of
parallelism.
It supports Single Instruction, Multiple Data (SIMD)

Most of them have two different types of processing


units:
Vertex processor (or vertex shader): it is responsible of
mathematical operations
Pixel (or fragment) processor: it is responsible of texturing
operations
The third stage is for detailed processing, and may change from
architecture to another.
G.P.U. Architecture
Processing Unit
Focus on Floating point math
fp32 and fp16 precision support for intermediate
calculations
6 four-wide fp32 vector in shaders and 1scalar
multifunction op
16 four-wide fp32 vector in frag-proc plus 16
four-wide fp32 MULs
Dedicated fp16 normalization hardware
G.P.U. Architecture … continued

Memory
Use dedicated but standard memory
architectures (eg DRAM)
Multiple small independent memory
partitions for improved latency
Memory used to store buffers and optionally
textures
In low-end system (Intel 855GM) system
memory is shared as the Graphics memory
G.P.U. Architecture … continued

Cache
Texture caches (2 level)
Shared between vertex processors and fragment
processors
Cache processed/filtered textures
Vertex caches
cache processed and unprocessed vertexes

improve computation and fetch performance


Z and buffer cache and write queues
G.P.U. Programming
Optimization
Texture caches (2 level)
Super-scalability resulting in high parallelism
SIMD (single instruction multiple data) structure
RISC (reduced instruction set computer) architecture
neither a board design nor an extra high speed data link is
necessary
a programmable pipeline (shading and lighting calculations
programmed by the user)

Non graphical applications to be executed on GPUs has been named


GPGPU, or General Purpose Computations on GPUs.
Conclusions
The answer to the title of this presentation:

Is There a Real Difference between DSPs


and GPUs?
The is no ‘real’ difference simply because these two technologies
are always in competition with one of another and both
architectures offer a large degree of parallelism at a relatively low
cost.

But …
Conclusions … continued

There pipelines have different units.

The GPU is a specialist of gaming graphics so,


Vertex Unit: transforms primitives from global 3D into 2D coordinates system.
Rasterizer Unit = primitives are converted into square fragments
Fragment Unit = the final color for each fragment is computed, (i.e. texture)
Composing Unit = fragments are combined with the current rendering

The DSP is a specialist digital processing so,


Data ALU unit = performs multiply/accumulate and other ALU operations
AGU unit = performs memory operand address calculation
Program Control Pipeline (PCP) Unit = performs all other instructions (branches,
loops, bit tests, etc.)
References
[1] P. Trancoso and M. Charalambous. Exploring Graphics
Processor Performance for General Purpose Applications.
Nicosia, Byprus.

[2] M. Takefman and P. Chow. A Streamlined DSP


Microprocessor Architecture. Toronto, Canada. 1991.

[3] M. Saghir, P. Chow, and C. Lee. Application-Driven Design of


DSP Architectures and Compilers. Toronto, Canada. 1994.

[4] D. Geer. Taking the Graphics Processor Beyond Graphics.


Published by the IEE Computer Society. September, 2005.

You might also like