`
`HOT TREN DS & TEC HN OLOGIES IN BRIEF
`
`COMPUTERWORlD March 12, 2001
`
`Digital Signal Processor
`BY TOM THOMPSON EVERY MODERN com(cid:173)
`
`puter has a micro(cid:173)
`processor in it, but
`not many have a dig(cid:173)
`ital signal processor
`(DSP). Since the CPU is a digi(cid:173)
`tal device, it clearly processes
`digital data, so you might won(cid:173)
`der what the difference is be(cid:173)
`tween digital data and a digital
`signal. Basically, signal refers
`to communications -
`that is, a
`continuous stream of digital
`data that might not be stored
`(and thus might not be avail(cid:173)
`able in the future) and that
`must be processed in real time.
`The digital signals can come
`from almost anywhere. For
`example, downloadable MP3
`files store digital signals that
`represent music. Some cam(cid:173)
`corders digitize the video sig(cid:173)
`nals they generate and record
`them in a digital format. And
`the more sophisticated cord(cid:173)
`less and cellular phones typi(cid:173)
`cally convert your conversa(cid:173)
`tion into a digital signal before
`broadcasting it.
`Variations on a Theme
`A DSP differs markedly from
`the microprocessor that serves
`as the CPU in a desktop com(cid:173)
`puter. A CPU's job requires it
`to be a generalist. It has to
`orchestrate the operation of
`diverse pieces of computer
`hardware, such as the hard disk
`drive, the graphics display and
`the network interface, so they
`work together to perform use(cid:173)
`ful tasks.
`This agility means that a
`desktop microprocessor
`is
`complex -
`it must support
`key features such as memory
`protection, integer arithmetic,
`floating-point arithmetic and
`vector/graphics processing.
`As a result, a typical modern
`CPU has several hund.red in(cid:173)
`structions in its repertoire to
`support all of these functions.
`This requires that it have a
`complex
`instruction-decode
`unit to implement the large in(cid:173)
`struction vocabulary,
`plus
`many internal logic modules
`(termed execution units) that
`carry out the intent of these in(cid:173)
`structions. As a result, a typical
`
`DEFINITION
`A digital signal processor (DSP) is a special-purpose pro(cid:173)
`grammable microprocessor designed to manipulate in
`real time a communications stream of large amounts
`of digital data in order to improve its quality or modify
`it in specific ways. DSPs are widely used for process(cid:173)
`ing audio, video and graphics streams.
`
`desktop microprocessor con(cid:173)
`tains tens of millions of tran(cid:173)
`sistors.
`In contrast, a DSP is built to
`be a specialist. Its sole purpose
`is to modify the numbers in a
`digital signal stream - and do
`it quickly. A DSP's circuits con(cid:173)
`sist mainly of high-speed arith(cid:173)
`metic and bit-manipulation
`hardware
`that can
`rapidly
`modify large amounts of data.
`As a consequence, its in(cid:173)
`struction set is much smaller
`than that of a desktop micro(cid:173)
`processor - perhaps no more
`than 80
`instructions. This
`means that the DSP needs only
`a slimmed-down instruction(cid:173)
`decode unit and fewer internal
`execution units. Moreover, any
`execution units that are pre-
`
`sent are geared toward high(cid:173)
`performance arithmetic oper(cid:173)
`ations. Thus, a typical DSP
`consists of only several hun(cid:173)
`dred thousand transistors.
`As a specialist, a DSP is very
`good at what it does. Its my(cid:173)
`opic focus on math means that
`a DSP can continuously accept
`and modify a digital signal,
`such as an MP3 music record·
`ing or a cell phone conversa(cid:173)
`tion, without stalling or losing
`data. To help improve through(cid:173)
`put, DSPs have extra internal
`data buses that help shuttle
`data among
`the arithmetic
`units and chip interfaces faster.
`In addition, a DSP might use
`a Harvard architecture (main(cid:173)
`taining completely physically
`separate memory spaces for
`
`data and instructions) so the
`chip's fetching and execution
`of program code doesn't inter(cid:173)
`fere with its data processing
`operations.
`Why Use DSPs?
`A DSP's data-wrangling ca(cid:173)
`pabilities make it ideal for
`many applicat ions. By using
`algorithms steeped
`in
`the
`mathematics of communica(cid:173)
`tions and linear-system theory,
`a DSP can take a digital signal
`and perform convolution oper(cid:173)
`ations to enhance or reduce
`specific characteristics of that
`signal.
`Certain convolution algo(cid:173)
`rithms enable a DSP to process
`an input signal so that only de(cid:173)
`sired frequencies appear in the
`
`Inside a OSP
`
`ADDRESS
`GENERATION UNIT
`
`Calculates all
`Instruction addresses
`and data addrosses.
`
`~ - - - - Data address buses
`.._ ___________ _.___ ______ Programaddressbus
`
`• Data buses
`
`BIT MANIPULATION
`UNIT
`Handles all bit operations,
`such as arithmetic shifts
`and logical tests.
`
`DATA ARITHMETIC
`LOGIC UNIT (ALU)
`
`Performs all arithmetic
`calculat1ons. Specializes
`in high-speed multiples.
`
`processed output, implement(cid:173)
`ing what's called a filter.
`Here's a real-world example:
`Transient noise often appears
`as high-frequency spikes in a
`signal. A DSP can be pro(cid:173)
`grammed to apply a filter that
`blocks such high frequencies
`from
`the processed output.
`This can eliminate or mini(cid:173)
`mize the effects of such noise
`on, say, a cell phone conversa(cid:173)
`tion. DSPs can apply filters not
`only to audio signals but to
`digital images as well. For ex(cid:173)
`ample, a DSP can be used to
`increase the contrast of an
`MRI scan.
`DSPs can be used to search
`for specific patterns of fre(cid:173)
`quencies or intensities in a sig(cid:173)
`nal. For this reason, DSPs are
`often used to implement the
`speech-recognition engines
`that detect specific sequences
`of sounds, or phonemes. This
`capability can be used to im(cid:173)
`plement a hands-free phone
`system in a car or allow your
`child's robotic pet dog to re(cid:173)
`spond to voice commands.
`Because they have far fewer
`transistors than a CPU, DSPs
`consume less power, which
`makes them ideal for battery(cid:173)
`powered products. Their sim(cid:173)
`plicity also makes them inex(cid:173)
`pensive to manufacture, thus
`they're well suited for cost-sen(cid:173)
`sitive applications. The combi(cid:173)
`nation of low power use and
`low cost means that you can of(cid:173)
`ten find DSPs in both cell
`phones and that robotic pet.
`At the other end of the spec(cid:173)
`trum, some DSPs contain
`multiple arithmetic execution
`units, on-chip memory and
`extra data buses, allowing
`them to perform multiprocess(cid:173)
`ing. Such DSPs compress real(cid:173)
`time video signals for trans(cid:173)
`mission over the Internet and
`can decompress and reconsti(cid:173)
`tute the video at the receiving
`end. These expensive, high(cid:173)
`performance DSPs are often
`found
`in videoconferencing
`equipment. I
`
`I
`I'
`
`This diagram Ulustrates the core of a Motorola DSP 5680x processor. The separate program,
`data and address buses help boost throughput by enabling simultaneous code and data fetch
`operations. A secondary data bus enables the ALU to read two data values, multiply them and
`perfonn an accumulate operation in one clock cycle.
`
`Thompson is a training
`specialist at Metrowerks.
`Contact him at Thompson@
`Metrowerks.com.
`
`(cid:127) Are there technologies or issues you would like to !earn about in QuickStudyt' Please send your ideas to quickstudy@computerworld.com.
`
`pyr
`
`Page 1 of 1
`
`SONOS EXHIBIT 1026
`
`