Parallel processing (DSP implementation)

In digital signal processing (DSP), parallel processing is a technique duplicating function units to operate different tasks (signals) simultaneously.[1] Accordingly, we can perform the same processing for different signals on the corresponding duplicated function units. Further, due to the features of parallel processing, the parallel DSP design often contains multiple outputs, resulting in higher throughput than not parallel.

Conceptual example

Consider a function unit (F0) and three tasks (T0, T1 and T2). The required time for the function unit F0 to process those tasks is t0,t1 and t2 respectively. Then, if we operate these three tasks in a sequential order, the required time to complete them is t0 + t1 + t2.


However, if we duplicate the function unit to another two copies (F), the aggregate time is reduced to max(t0,t1,t2), which is smaller than in a sequential order.


Parallel processing versus pipelining

Mechanism:

Objective:

Consider a condition that we are able to apply both parallel processing and pipelining techniques, it is better to choose parallel processing techniques with the following reasons

Parallel FIR filters

Consider a 3-tap FIR filter:[2]

y(n)=ax(n)+bx(n-1)+cx(n-2)

which is shown in the following figure.

Assume the calculation time for multiplication units is Tm and Ta for add units. The sample period is given by

 T_\text{sample} \ge T_m + 2T_a

By parallelizing it, the resultant architecture is shown as follows. The sample rate now becomes

 T_\text{sample} \ge \frac{T_\text{clock}}{N} = \frac{T_m + 2T_a}{3}

where N represents the number of copies.

Please note that, in a parallel system, T_\text{sample} \ne T_\text{clock} while T_\text{sample}=T_\text{clock} holds in a pipelined system.

Parallel 1st-order IIR filters

Consider the transfer function of a 1st-order IIR filter formulated as

H(z)=\frac{z^{-1}}{1-az^{-1}}

where |a| ≤ 1 for stability, and such filter has only one pole located at z = a;

The corresponding recursive representation is

 y(n+1) = ay(n) + u(n)

Consider the design of a 4-parallel architecture (N = 4). In such parallel system, each delay element means a block delay and the clock period is four times the sample period.

Therefore, by iterating the recursion with n = 4k, we have

 y(n+4) = a^4 y(n) + a^3 u(n) + a^2 u(n+1) + au(n+2) + u(n+3)
 \rightarrow y(4k+4) = a^{4}y(4k) + a^{3}u(4k) + a^{2}u(4k+1) + au(4k+2) + u(4k+3)

The corresponding architecture is shown as follows.

The resultant parallel design has the following properties.

The square increase in hardware complexity can be reduced by exploiting the concurrency and the incremental computation to avoid repeated computing.

Parallel processing for low power

Another advantage for the parallel processing techniques is that it can reduce the power consumption of a system by reducing the supply voltage.

Consider the following power consumption in a normal CMOS circuit.

P_\text{seq}=C_\text{total} \cdot V_0^2 \cdot f

where the Ctotal represents the total capacitance of the CMOS circuit.

For a parallel version, the charging capacitance remains the same but the total capacitance increases by N times.

In order to maintain the same sample rate, the clock period of the N-parallel circuit increases to N times the propagation delay of the original circuit.

It makes the charging time prolongs N times. The supply voltage can be reduced to βV0.

Therefore, the power consumption of the N-parallel system can be formulated as

P_\text{para}=(NC_\text{total})\cdot(\beta V_0^2)\cdot\frac{f}{N}=\beta^2 P_\text{seq}

where β can be computed by

 N(\beta V_0-V_t)^2 = \beta(V_0-V_t)^2. \,

References

  1. K. K. Parhi, VLSI Digital Signal Processing Systems: Design and Implementation, John Wiley, 1999
  2. Slides for VLSI Digital Signal Processing Systems: Design and Implementation John Wiley & Sons, 1999 (ISBN Number: 0-471-24186-5): http://www.ece.umn.edu/users/parhi/slides.html
This article is issued from Wikipedia - version of the Tuesday, October 13, 2015. The text is available under the Creative Commons Attribution/Share Alike but additional terms may apply for the media files.