12.1. The Diamond 545CK DSP Core’s Instruction Format

The Diamond 545CK DSP has several ISA extensions to the base Xtensa architecture that enhance DSP performance. These additions include a 16-entry, 160-bit vector register file, a vector DSP ALU with 20-bit precision per vector, eight 18×18-bit multiplier/accumulator (MAC) units, special-purpose function units for bit packing and unpacking and Viterbi decoding, a second load/store unit required for XY memory operations, and 32-bit input- and output-queue interfaces for high-speed I/O. These extensions were developed in conjunction with Berkeley Design Technology, Inc (BDTI), a firm that specializes in analyzing and benchmarking DSPs. The extensions improve the performance of a wide range of DSP tasks as reflected in the BDTImark2000 benchmark functions, listed in Table 12.1.

Table 12.1. BDTImark2000 DSP functions
FunctionDescriptionExample application
Real Block FIRFinite impulse response filter that operates on a block of real (not complex) dataSpeech processing, for example, G.728 speech compression
Single-Sample FIRFIR filter that operates on a single sample of real dataSpeech processing, general filtering
Complex Block FIRFIR filter that operates on a block of complex dataModem channel equalization
LMS Adaptive FIRLeast-mean-square adaptive filter; operates on a single sample of real dataChannel equalization, servo control, linear predictive coding
Two-Biquad IIRInfinite impulse response filter that operates on a single sample of real dataAudio processing, general filtering
Vector Dot ProductSum of the point-wise multiplication of two vectorsConvolution, correlation, matrix multiplication, multi-dimensional signal processing
Vector AddPoint-wise addition of two vectors, producing a third vectorGraphics, combining audio signals or images, vector search
Vector MaximumFind the value and location of the maximum value in a vectorError control coding, algorithms using block-floating point
Viterbi DecoderDecodes a convolutionally encoded bit streamWired and wireless communications, for example, cellular phones
ControlA contrived series of control (test, branch, push, pop) and bit manipulation instructionsVirtually all signal processing applications include some “control” code
256-Point FFTThe Fast Fourier Transform converts a normal time-domain signal into the frequency domainRadar, sonar, MPEG audio compression, spectral analysis
Bit UnpackUnpacks words of varying length from a continuous bit streamAudio and speech decompression

Complex instructions can be built from the Diamond 545CK DSP’s operation primitives by bundling three operations into a wide instruction word, as shown in Figure 12.1. The Diamond 545CK DSP core’s 64-bit instruction format bundles two independent operations. The XCC (the Xtensa C/C++) compiler paired with the Diamond 545CK DSP core automatically performs the needed instruction bundling to use the core’s three-operation instruction word. XCC also automatically vectorizes code to take advantage of the processor’s 8-way MAC unit.

Figure 12.1. The Diamond 545CK DSP core is a static superscalar design that adds a third instruction format to the existing 16- and 24-bit Xtensa ISA instruction formats. The processor’s third instruction format is 64 bits wide, and this wide format bundles three independent operations.


All three instruction formats can be freely intermixed and tightly packed in memory. The Xtensa architecture’s inherent ability to handle differently sized instructions was a key enabler in the development of the Diamond 545CK DSP core’s design.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.129.148.169