Page 103 - Anatomy of a Robot
P. 103
03_200256_CH03/Bergren 4/17/03 12:27 PM Page 88
88 CHAPTER THREE
represent the 12 numbers in our example. This gives our floating-point numbers a range
10
6
10
of about 2 10 , much larger than 65536. However, the accuracy is only 2 1024
instead of 65536. Our multiplication example from above (60,000 50,000) can now
4
9
8
be done because it does not overflow 6 10 5 10 = 30 10 = 3 10 .
4
The floating-point formats used in computers are a little different than this. Please
visit the URLs for a better description.
Floating-point gives us a wider range of numbers over which the arithmetic can take
place. The differences between these two number formats are explained at web sites
www.research.microsoft.com/ hollasch/cgindex/coding/ieeefloat.html and http://ee.
tamu.edu/matlab-help/toolbox/fixpoint/c3_bev2.html.
DSP Hardware Many of the arithmetic problem domains we’ve looked at involve
many MACs. The Taylor series, FIR filters, and FFTs all require the repeated multipli-
cation of coefficients by data values to form a long summed-up equation. DSP proces-
sors have memory-addressing structures and control hardware that significantly speed
up such repetitive operations. In math parlance, they are well suited for vector and
matrix arithmetic. The most sophisticated also employs parallel processing to speed up
these calculations.
DSP processors are often used to process continuous streams of information such as
audio, video, or data from an RF receiver. The data stream never stops and must be
processed at all times. Accordingly, DSP processors can have buffering built into their
processing streams and avoid traffic jam interruptions that can stall a general-purpose
central processing unit (CPU). Think for a moment about a desktop computer. How
often does it lock up while performing some housekeeping task? Such lockups are not
allowed in the processing of continuous stream data, and DSP processors can make sure
that does not happen. If the robot needs to process continuous streams of media-type
data, consider a DSP processor as an alternative.
Here is a PDF file and a few web sites on DSP processors and what they can do:
http://bwrc.eecs.berkeley.edu/Publications/2000/Theses/Evaluate_guide_
process_archit_select/Dissertation.Ghazal.pdf
www.bores.com/courses/intro/chips/index.htm
www.wave-report.com/tutorials/DSP.htm
www.jovian.com/tutorial/demos.html
General-Purpose Processors
The primary advantage that general-purpose processors have is their speed. They can
perform simple operations with blinding speed, and so complete great amounts of work.
How do we go about finding the right one for our robot?