|
by Tom Cantrell
Start ı Big
Bang DSP ı Compiler is King? ı Once
More, With Feeling ı Sources and PDF
Though many are familiar with the story
of the microprocessor, few may recall the early days of DSP.[1]
Itıs illuminating (and timely, being roughly the twentieth anniversary)
to take a look back. Frankly, itıs also amusing.
For instance, Intel is known for being
first in micros, and we know they were responsible for a number of
other important inventions, such as DRAM, EPROM, and flash memory.
However, they also came up with a number of other firsts that turned
out to be lasts, including LCD watches, bubble memory, and, letıs
not forget, the DSP.
What? You never designed in the venerable
Intel 2920 (see Figure 1) introduced in 1979? This puppy was by definition
a signal processor (actually, a digital analog computer), seeing as
the inputs and outputs were analog!
 |
| Figure 1ıIntroduced in 1979,
the Intel 2920 was one of the first DSP chips. With only a 192-instruction
EPROM and 40-word data RAM, it was perhaps a case of "too
little, too soon," and acceptance was lukewarm at best. |
Actually, you can dimly discern the underpinnings
of modern DSPs in the 2920 if you look close enough. For instance,
it had a "very-short, long-instruction-word" architecture
with each 24-bit instruction comprised of separate parallel operations
for ALU, barrel shifter (left shift 2 to right shift 13), and analog
conversion (successive approximation done in software). The 2920 also
featured conditional execution (loads, adds, and subs),
which is now all the rage.
The good news is the 2920 was a single-chip
DSP, with all program and data memory on-board. The bad news is there
wasnıt much of itı192 ı 24-bit EPROM program memory and 40 ı 25-bit
RAM.
With a maximum of 192 instructions, the
2920 didnıt even have a branch instruction per se. Instead, you would
just string out your code (inlining they call it now) and end it with
the EOP instruction, which would reset the program counter to zero.
There werenıt any inner loops in 2920 apps, because there werenıt
any outer loopsıjust "the loop."
Lack of a multiplier was a rather key
omission, so if you sprung for the most expensive 2.5-MIP version
of the part, you might be able to handle up to 10 kHz. Need more bandwidth?
Make your program shorter. Needless to say, there was no C compiler.
Even those used to dealing with the baroque programming called for
by other Intel chips did plenty of head scratching over lines of code
like ADD DAR, KM2, R0, CND6. Guess it was a good thing you
only had to keep 192 of them straight.
Alhough the 2920 never sold worth beans,
it was arguably the first commercial DSP. However, there were other
contenders, including the then semi-major player AMI (until it was
laid low by the mid-80s video-game blowout). They announced their
S2811 signal-processing peripheral in 1978 but had process problems
that ultimately stopped the show. Meanwhile, NEC announced their own
UPD7720 in 1980 but, no doubt preoccupied with DRAMs and such, failed
to get the tools together or mount an effective promotion effort.
In terms of actual delivery, the first
place ribbon should probably go to Bell Labs who disclosed their DSP1
at the same time as NEC. Itıs not completely surprising that they
came up with a good chip, considering their legacy of names like Nyquist,
Bode, and Shannon on the payroll. Talk about interesting chat around
the water cooler! Of course, it also helps to get designed in when
headquarters (AT&T) happens to own the phone business. The DSP1
quickly found its way into a variety of telecommunication equipment
apps and arguably sparked the first wave of digitization of the network.
Circuit Cellar
provides up-to-date information for engineers. Visit www.circuitcellar.com
for more information and additional articles.
For subscription information, call (860) 875-2199, subscribe@circuitcellar.com
or subscribe
online. ıCircuit Cellar, the Magazine for Computer Applications.
Posted with permission.
|