Words and Expressionsfollow v.遵循memory n.存储器register n.寄存器access v.访问overlap v. 重叠pipelining n. 流水线操作multiplier n. 乘法器accumulator n. 累加器shifter n.移位器reference n. 寻址mantissa n.尾数exponent n. 指数cycle n. 机器周期customize v.定制,用户化package v.封装digital signal processor 数字信号处理器von Neumann architecture 冯·诺伊曼结构shared single memory 单一共享存储器program instruction 程序指令harvard architecture 哈佛结构fetch from 从…获取circular buffer 循环缓冲区,环形缓冲区address generator 地址产生器fixed point 定点floating point 浮点binary point 二进制小数点available precision 可用精度dynamic range 动态范围scale range 量程smallest Resolvable Difference 最小分辨率scientific notation 科学计数法assembly language 汇编语言multi-function instructions 多功能指令parallel architecture 并行结构looping scheme 循环机制sampling frequency 采样频率on-chip memory 片内存储器well-matched 非常匹配software tools 软件开发工具low level programming language 低级编程语言high level programming language 高级编程语言third party software 第三方软件board level product 板级产品data register 数据寄存器ALU=Arithmetic Logical Unit 运算逻辑单元program sequencer 程序定序器peripheral sections 外设single integrated circuit 单片集成电路cellular telephone 蜂窝电话printed circuit board 印刷电路板licensing agreement 专利使用权转让协定custom devices 定制器件extra memory 附加存储器stand alone 单机third party developer 第三方开发商multimedia operations 多媒体操作merged into 融合calculation-intensive algorithm运算密集型算法Unit 5 Digital Signal ProcessorsDigital signal processing tasks can be performed by all processors. Specialized digital signal processors(DSPs), however, perform these tasks most efficiently and most quickly. While traditional processors follow the Von Neumann architecture[]1model, which assumes a shared single memory to be used for both program instructions and data, DSPs use the Harvard or modified Harvard architecture []2, which includes multiple program and data memories, along with multiple buses to access them. This arrangement means that much less waiting is required when instructions or numbers are fetched from memory. In fact at least one of each can be fetched simultaneously. Such overlapping of tasks is called pipelining. In addition to multiple memories and buses, all DSPs have fast multipliers, accumulators, and shifters, and many have hardware support for circular buffers. Address generators can speed up accesses to memory locations referenced by registers.DSPs are available in two major classes: fixed point and floating point. The fixed point class represents real numbers in a fixed number of bits. The position of the binary point (similar to the decimal point) can be controlled by the programmer, and determines the range of numbers that can be represented. As the range increases, though, the available precision goes down, since fewer bits lie to the right of the binary point. In 16 bits, the formats 16.0, 15.1, 14.2, 13.3, 12.4, 11.5, 10.6, 9.7, 8.8, 7.9, 6.10, 5.11, 4.12, 3.13, 2.14, and 1.15 are possible. The dynamic range, calculated as 20log (Full Scale Range/Smallest2= 96.3 dB.Resolvable Difference), remains the same for all 16-bit formats, 20log16Figure 6.3 Van Neumann architectureFigure 6.4 Harvard architectureFloating point DSPs represent real numbers using a mantissa and an exponent , similar to scientific notation : Many combine mantissa and exponent into a 32-bit number. The dynamic range for floating point devices is calculated from the largest and smallest multipliers E 2, where E is the exponent. Thus, for a representation that uses 24 bits for the mantissa and 8 bits for the signed exponent, the dynamic range is 20 log (1281272/2-) = 1535.3 dB. A large dynamic range means the system has great power to represent a wide range of input signals, from very small to very large.Assembly language is the command language for DSPs. DSPs often have specialized instructions that make programming for common DSP tasks more convenient and more efficient. For example, most DSPs offer multi-function instructions that exploit their parallel architecture . Other constructs that are frequently offered are efficient looping schemes , since so many DSP operations involve a great deal of repetition.Choosing a DSP for a particular application is not always easy. The first decision is on whether tochoose a fixed point or a floating point device []3. Generally, fixed point devices are cheaper and quicker,but floating point devices are more convenient to program and more suited to calculation-intensive algorithms . Second, the data width of the DSP determines how accurately it can represent numbers. Speed is another issue, not only how many cycles occur in each second, but also how many instructions execute in each cycle and how much work each of these instructions accomplishes. One way to assess the minimum requirements for the DSP is to estimate how many instructions must be executed for each received sample. When this number is multiplied by the sampling frequency , the minimum required number of instructions per second is obtained.The specific hardware and software features offered by a particular DSP can make one choice betterthan another, as can the amount of on-chip memory available []4. Sometimes DSPs are chosen becausewell-matched supporting hardware, particularly A/D and D/A converters, is obtainable. Frequently, the quality and convenience of the software tools, for both low level and high level programming languages, are also major factors, as is the availability of third party software. As always, cost is a factor. In fact, quite often, the DSP that is fastest and offers the most features, but also fits the budget, is the one selected.DSPs can be purchased in three forms, as a core, as a processor, and as a board level product. In DSP, the term "core" refers to the section of the processor where the key tasks are carried out, including the data registers, multiplier, ALU, address generator, and program sequencer. A complete processor requires combining the core with memory and interfaces to the outside world. While the core and these peripheral sections are designed separately, they will be fabricated on the same piece of silicon, making the processor a single integrated circuit.Suppose you build cellular telephones and want to include a DSP in the design. You will probably want to purchase the DSP as a processor, that is, an integrated circuit that contains the core, memory and other internal features. To incorporate this IC in your product, you have to design a printed circuit board where it will be soldered in next to your other electronics. This is the most common way that DSPs are used.Now, suppose the company you work for manufactures its own integrated circuits. In this case, you might not want the entire processor, just the design of the core. After completing the appropriate licensing agreement, you can start making chips that are highly customized to your particular application. This gives you the flexibility of selecting how much memory is included, how the chip receives and transmits data, how it is packaged, and so on.Custom devices of this type are an increasingly important segment of the DSP marketplace.There are several dozen companies that will sell you DSPs already mounted on a printed circuit board. These have such features as extra memory, A/D and D/A converters, EPROM sockets, multiple processors on the same board, and so on. While some of these boards are intended to be used as stand alone computers, most are configured to be plugged into a host, such as a personal computer. Companies that make these types of boards are called Third Party Developers. The best way to find them is to ask the manufacturer of the DSP you want to use. Look at the DSP manufacturer's website; if you don't find a list there, send them an e-mail. They will be more than happy to tell you who are using their products and how to contact them.Keep in mind that the distinction between DSPs and other microprocessors is not always a clear line. For instance, look at how Intel describes the MMX technology addition to its Pentium processor: "Intel engineers have added 57 powerful new instructions specifically designed to manipulate and process video, audio and graphical data efficiently. These instructions are oriented to the highly parallel, repetitivesequences often found in multimedia operations . "In the future, we will undoubtedly see more DSP-like functions merged into traditional microprocessors and microcontrollers. The Internet and other multimedia applications are a strong driving force for these changes. These applications are expanding so rapidly, in twenty years it is very possible that the Digital Signal Processor may be the "traditional" microprocessor.Notes1. “冯·诺伊曼结构”取名字美国杰出的数学家—约翰·冯·诺伊曼(John Von Neumann,1903~1957)。