Dsp processors
This presentation is the property of its rightful owner.
Sponsored Links
1 / 43

DSP Processors PowerPoint PPT Presentation


  • 83 Views
  • Uploaded on
  • Presentation posted in: General

DSP Processors. Digital Signal Processors. Group #13. Outlines. DSP processors Architecture Data handling Program flow Programming Applications. Outlines. DSP processors Architecture Data handling Program flow Programming Applications. DSP processors.

Download Presentation

DSP Processors

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Dsp processors

DSP Processors

Digital Signal Processors

Group#13


Outlines

Outlines

  • DSP processors

    • Architecture

    • Data handling

    • Program flow

    • Programming

    • Applications


Outlines1

Outlines

  • DSP processors

    • Architecture

    • Data handling

    • Program flow

    • Programming

    • Applications


Dsp processors1

DSP processors

  • A digital signal processor is a specialized microprocessor with an architecture optimized for the fast operational needs of digital signal processing.

  • DSP is the application of mathematical operations to digitally represent signals.

  • The source of these signals can be

    • Audio

    • Image


  • Dsp processors2

    DSP processors

    • Digital signal processing enjoys several advantages over analog signal processing:

      • DSP systems are able to accomplish tasks inexpensively that would be difficult or even impossible using analog electronics. (Examples of such applications include speech synthesis and speech recognition).

      • Insensitivity to environment.

      • Insensitivity to component tolerances.

      • Repeatable behavior.

      • Re-programmability.

      • Size.


    Instruction types

    Instruction types

    • Arithmetic and Multiplication

      • (add, subtract, increment, decrement, negate, round, absolute value) and multiplication.

      • With the exception of the Texas Instruments TMS320Clx processor provide multiply-accumulate instructions as well.

    • Logic Operations

      • and, or, exclusive-or, and not.

    • Shifting

      • Arithmetic (left and right).

      • Logical (left and right).


    Instruction types cont

    Instruction types(Cont.)

    • Rotation

      • Left.

      • Right.

    • Comparison

      • Most processors provide a set of status bits (ex: zero-Bit, minus Bit and overflow Bit) that provide information about the results of arithmetic operations.

      • used in conditional branches or conditional execution instructions.

    • Looping

    • Subroutine Calls

      • may be called jump-to-subroutine instructions.


    Instruction types cont1

    Instruction types(Cont.)

    • Branching

      • jump or got o instructions on some processors.

    Conditional

    Un-conditional


    Instruction types cont2

    Instruction types(Cont.)

    • Branching (cont.)

    Delayed

    Multicycle


    Outlines2

    Outlines

    • DSP processors

      • Architecture

      • Data handling

      • Program flow

      • Programming

      • Applications


    Architecture

    Architecture

    • Instruction sets

      • A basic DSP processor supports RISC (Reduce Instruction Set Computers) and CISC (Complex Instruction Set Computers) instructions.

      • Single instruction, multiple data (SIMD)

      • Instruction-level parallelism (ILP)


    Architecture cont

    Architecture (cont.)

    • Single instruction, multiple data (SIMD)

      • Single instruction, multiple data describes computers with multiple processing elements that perform the same operation on multiple data simultaneously.


    Architecture cont1

    Architecture (cont.)

    • Instruction-level parallelism (ILP)

    • Instruction-level parallelism (ILP) is a measure of how many of the operations in a computer program can be performed simultaneously.

    • Ex:

      • 1. e = a + b

      • 2. f = c + d  independent

      • 3. g = e * f

    • ILP allows the compiler and the processor to overlap the execution of multiple instructions or even to change the order in instructions


    Architecture of the digital signal processor

    Architecture of the Digital Signal Processor

    • Transferring information to and from memory includes data, such as samples from the input signal and the filter coefficients, as well as program instructions, the binary codes that go into the program sequencer.

    • Ex.

    a  b×a


    Architecture of the dsp cont

    Architecture of the DSP(cont.)

    • There are mainly three types of architectures employed for the processors:

      • Von Neumann architecture

      • Harvard architecture

      • Super Harvard Architecture


    1 von neumann architecture

    1-Von Neumann architecture

    • contains a single memory and a single bus for transferring data into and out of the central processing unit (CPU).

    • For example,

    Memory

    (instruction and data)

    CPU

    add. bus

    data bus

    a  b×a


    1 von neumann architecture cont

    1-Von Neumann architecture(cont.)

    • Advantages:

      • This type of architecture is cheap, and

      • Simple to use because the programmer can place instructions or data anywhere throughout the available memory.

    • Disadvantages:

      • Von Neumann computers spend a lot of time moving data to and from the memory, and his slows the computer.


    2 harvard architecture

    2- Harvard architecture

    • Separate memories for data and program instructions, with separate buses for each.

    • For example,

    Program Memory

    (instruction only)

    CPU

    Data Memory

    (data only)

    PM add. bus

    DM add. bus

    PM data bus

    DM data bus

    a  b×a


    2 harvard architecture cont

    2- Harvard architecture(cont.)

    • Advantages:

      • Since the buses operate independently, program instructions and data can be fetched at the same time, improving the speed over the single bus design.

    • Disadvantages:

      • data memory bus is busier than the program memory bus.


    3 super harvard architecture

    3- Super Harvard Architecture

    • Improves upon the Harvard design by adding an instruction cache and dedicated I/O controller.

    • For example,

    Program Memory

    (instruction and secondary data)

    CPU

    Data Memory

    (data only)

    PM add. bus

    DM add. bus

    PM data bus

    Instruction Cache

    DM data bus

    I/O

    Controller

    a  b×a

    Data


    3 super harvard architecture cont

    3- Super Harvard Architecture (cont.)

    • Advantages:

      • the instruction cache improves the performance of the Harvard architecture.

      • I/O controller connected to data memory this dedicated hardware allows the data streams to be transferred directly into memory without having to pass through the CPU's registers.

    • Disadvantages:

      • If we were executing random instructions, this situation would be no better at all.


    Architecture of the dsp cont1

    Architecture of the DSP(Cont.)

    • Now let's look inside the CPU


    Architecture of the dsp cont2

    Architecture of the DSP(Cont.)

    • At the top of the diagram are two blocks labeled Data Address Generator (DAG), one for each of the two memories.

      • These control the addresses sent to the program and data memories, specifying where the information is to be read from or written to.


    Architecture of the dsp cont3

    Architecture of the DSP(Cont.)

    • The data register section : contains16 general purpose registers of 40 bits each.

      • These can hold intermediate calculations,

      • prepare data for the math processor,

      • serve as a buffer for data transfer,

      • hold flags for program control.


    Architecture of the dsp cont4

    Architecture of the DSP(Cont.)

    • The math processing is broken into three sections,

      • a multiplier (MAC),

      • an arithmetic logic unit (ALU), and

      • a shifter.


    Outlines3

    Outlines

    • DSP processors

      • Architecture

      • Data handling

      • Program flow

      • Programming

      • Applications


    Data handling

    Data handling

    • DSP processors fall into two major categories based on the way they represent numerical values and implement numerical operations internally.

    Floating Point

    Fixed Point


    Data handling cont

    Data handling (Cont.)

    • Floating point

      • Floating point processors primarily represent numbers in floating point format.

      • Advantages:

        • Easier to develop code..

        • The large dynamic range available means that dynamic range limitations can be practically ignored in a design.

      • Disadvantages:

        • More expensive because they implement more functionality (complexity )in silicon and have wider buses (32 bit).


    Data handling cont1

    Data handling (Cont.)

    • Fixed point

      • Fixed point processors represent and manipulate numbers as integers.

      • Advantages:

        • lower cost and

        • higher speed

      • Disadvantages:

        • Added design effort for algorithm implementation analysis, and data and

        • Coefficient scaling to avoid accumulator overflow (16-20-24 bit).


    Data handling cont2

    Data handling (Cont.)

    Let’s take an example:

    FIR filters (Finite Impulse Response)

    • y[n]=b0 x[n] + b1 x[n-1] + b2 x[n-2] + ……. + bNx[n-N]

    • Structurally, FIR filters consist of just two things:

      • a sample delay line and

      • a set of coefficients.

    Round

    Or

    Truncate

    (at fixed point)


    Outlines4

    Outlines

    • DSP processors

      • Architecture

      • Data handling

      • Program flow

      • Programming

      • Applications


    Program flow

    Program flow

    • Pipelined

    • Hardware-controlled looping


    Program flow1

    Program flow

    • Pipelined

    • Hardware-controlled looping


    Pipelined

    • Fetch

    Pipelined

    • Decode

    • 2nd CLK Cycle

    • A pipeline is a set of data processing elements connected in series, so that the output of one element is the input of the next one.

      • Instruction pipelines, used in processors to allow overlapping execution of multiple instructions.

    • Execute

    • 3rd CLK Cycle

    • 1st CLK Cycle

    Fetch ‘A’

    Fetch ‘B’

    Fetch ‘C’

    Decode ‘A’

    Decode ‘B’

    Execute

    ‘A’


    Pipelined cont

    Pipelined (cont.)

    • 1st Approach

      • Each clock cycle = 20ns

      • One instruction = 80 ns

      • each stage of instruction execution is idle 75 % of the time.


    Pipelined cont1

    Pipelined (cont.)

    • 2nd Approach

      • One instruction is now completed every clock cycle (every 20 ns)


    Program flow2

    Program flow

    • Pipelined

    • Hardware-controlled looping


    Hardware controlled looping

    Hardware-controlled looping

    • DSP algorithms frequently involve the repetitive execution of a small number of instructions (ex: FIR and IIR filters, FFTs and matrix multiplication)

    • DSP processors have evolved to include features to efficiently handle this sort of repeated execution.

    MOV #16,B

    LOOP : MAC (R0)+,(R4+),A

    DEC B

    JNE LOOP

    RPT #16

    MAC (R0)+,(R4+),A


    Outlines5

    Outlines

    • DSP processors

      • Architecture

      • Data handling

      • Program flow

      • Programming

      • Applications


    Programming

    Programming

    • Most DSPs are programmed in special versions of C. 

    • DSP vendors will almost always provide support for C++ programming, but it is not very popular in the DSP software industry.

    • Some DSP software programmers will resort to assemblyprogramming for DSPs. 


    Outlines6

    Outlines

    • DSP processors

      • Architecture

      • Data handling

      • Program flow

      • Programming

      • Applications


    Applications

    Applications

    • Digital cameras.

    • Digital radios.

    • High-resolution printers.

    • Satellites.


  • Login