SlideShare una empresa de Scribd logo
1 de 21
ARCHITECTURAL FEATURES OF DSP
PROCESSORS
Basic Architectural Features of DSPs
• Data path configured for DSP
– Fixed-point arithmetic
– MAC- Multiply-accumulate
• Multiple memory banks and buses -
– Harvard Architecture
– Multiple data memories
• Specialized addressing modes
– Bit-reversed addressing
– Circular buffers
• Specialized instruction set and execution control
– Zero-overhead loops
– Support for fast MAC
– Fast Interrupt Handling
• Specialized peripherals for DSP
DSP Data Path: Arithmetic
• DSPs dealing with numbers representing real world
=> Want “reals”/ fractions
• DSPs dealing with numbers for addresses
=> Want integers
• Support “fixed point” as well as integers
DSP Data Path: Multiplier
• Specialized hardware performs all key arithmetic
operations in 1 cycle
• 50% of instructions can involve multiplier
=> single cycle latency multiplier
• Need to perform multiply-accumulate (MAC)
• n-bit multiplier => 2n-bit product
DSP Data Path: Accumulator
• Don’t want overflow or have to scale accumulator
• Option 1: accumulator wider than product:
“guard bits”
– Motorola DSP:24b x 24b => 48b product, 56b Accumulator
• Option 2: shift right and round product before adder
DSP Memory
• FIR Tap implies multiple memory accesses
• DSPs require multiple data ports
• Some DSPs have ad hoc techniques to reduce memory
bandwidth demand:
– Instruction repeat buffer: do 1 instruction 256 times
– Often disables interrupts, thereby increasing interrupt
response time
• Some recent DSPs have instruction caches
– Even then may allow programmer to “lock in”
instructions into cache
– Option to turn cache into fast program memory
• No DSPs have data caches.
• May have multiple data memories
Memory Architecture Comparison
DSP Processor:
• Harvard architecture
• 2-4 memory accesses/cycle
• No caches-on-chip SRAM
General-Purpose Processor:
• Von Neumann architecture
• Typically 1 access/cycle
• Use caches
DSPAddressing
• Have standard addressing modes: immediate,
direct, register ,indirect.
• Want to keep MAC data path busy
• Assumption: any extra instructions imply clock cycles
of overhead in inner loop
=> complex addressing is good
• Autoincrement/Autodecrement register indirect
DSPAddressing: FFT
• FFTs start or end with data in butterfly order
0 (000) => 0 (000)
1 (001) => 4 (100)
2 (010) => 2 (010)
3 (011) => 6 (110)
4 (100) => 1 (001)
5 (101) => 5 (101)
6 (110) => 3 (011)
7 (111) => 7 (111)
• What can we do to avoid overhead of address checking instructions for
FFT?
• Have an optional “bit reverse” address addressing mode for use with
Auto increment addressing
• Many DSPs have “bit reverse” addressing for radix-2 FFT
BIT REVERSED ADDRESSING
DSPAddressing: Buffers
• DSPs dealing with continuous I/O
• Often interact with an I/O buffer (delay lines)
• To save memory, buffers often organized as circular
buffers
• Every DSP has “modulo” or “circular” addressing
CIRCULAR BUFFERS
• Instructions accommodate three elements:
• buffer address
• buffer size
• increment
Allows for cycling through:
• delay elements
• coefficients in data memory
Addressing Comparison
DSP Processor:
• Dedicated address generation units
• Specialized addressing modes; e.g.:
– Auto increment
– Modulo (circular)
– Bit-reversed (for FFT)
General-Purpose Processor:
• Often, no separate address generation unit
• General-purpose addressing modes
DSP Instructions and Execution
• May specify multiple operations in a single instruction
• Must support Multiply-Accumulate (MAC)
• Usually have special loop support to reduce branch
overhead
– Loop an instruction or sequence
• May have saturating shift left arithmetic
• May have conditional execution to reduce branches
ZERO-OVERHEAD LOOP
• Eliminates a few instructions in loops
• Important in loops with small bodies
DO <addr> UNTIL condition”
Instruction Set Comparison
DSP Processor:
• Specialized, complex instructions
• Multiple operations per instruction
General-Purpose Processor:
• General-purpose instructions
• Typically only one operation per instruction
Specialized Peripherals for DSPs
• Synchronous serial ports
• Parallel ports
• Timers
• On-chip A/D, D/A converters
• Host ports
• Bit I/O ports
• On-chip DMA controller
• Clock generators
• On-chip peripherals often designed for “background” operation, even
when core is powered down.
PIPELINING
Pipelining is a technique which allows two or more
operations to overlap during execution
The pipe stages are connected in series to form a pipe and
the stages are executed sequentially
Sequential steps to execute a single instruction are:
• Fetch an instruction word from memory
• Decode the instruction
• Execute
An illustration of processor with no pipelining
An Illustration of the concept of pipelining

Más contenido relacionado

La actualidad más candente (18)

Digital signal processors
Digital signal processorsDigital signal processors
Digital signal processors
 
Ee6403 --unit v -digital signal processors
Ee6403 --unit v -digital signal processorsEe6403 --unit v -digital signal processors
Ee6403 --unit v -digital signal processors
 
Uint3 vtu format
Uint3 vtu formatUint3 vtu format
Uint3 vtu format
 
Unit ii.arc of tms320 c5 xx
Unit ii.arc of tms320 c5 xxUnit ii.arc of tms320 c5 xx
Unit ii.arc of tms320 c5 xx
 
Features of tms_320_2nd_generation_dsp
Features of tms_320_2nd_generation_dspFeatures of tms_320_2nd_generation_dsp
Features of tms_320_2nd_generation_dsp
 
Unit I.fundamental of Programmable DSP
Unit I.fundamental of Programmable DSPUnit I.fundamental of Programmable DSP
Unit I.fundamental of Programmable DSP
 
Digital Signal Processors - DSP's
Digital Signal Processors - DSP'sDigital Signal Processors - DSP's
Digital Signal Processors - DSP's
 
TMS320C5x
TMS320C5xTMS320C5x
TMS320C5x
 
An introduction to digital signal processors 1
An introduction to digital signal processors 1An introduction to digital signal processors 1
An introduction to digital signal processors 1
 
TMS320C6X Architecture
TMS320C6X ArchitectureTMS320C6X Architecture
TMS320C6X Architecture
 
Modern processor art
Modern processor artModern processor art
Modern processor art
 
Unit4.addressing modes 54 xx
Unit4.addressing modes 54 xxUnit4.addressing modes 54 xx
Unit4.addressing modes 54 xx
 
Embedded Systems Introdution
Embedded Systems IntrodutionEmbedded Systems Introdution
Embedded Systems Introdution
 
01 dsp intro_1
01 dsp intro_101 dsp intro_1
01 dsp intro_1
 
Choosing the right processor
Choosing the right processorChoosing the right processor
Choosing the right processor
 
ARM Boards for DSP Applications
ARM Boards for DSP ApplicationsARM Boards for DSP Applications
ARM Boards for DSP Applications
 
Digital Signal processor ADSP 21XX family
Digital Signal processor ADSP 21XX familyDigital Signal processor ADSP 21XX family
Digital Signal processor ADSP 21XX family
 
39245196 intro-es-iii
39245196 intro-es-iii39245196 intro-es-iii
39245196 intro-es-iii
 

Destacado

Destacado (18)

Microcontroller 8051
Microcontroller 8051Microcontroller 8051
Microcontroller 8051
 
8051 ram org
8051 ram org8051 ram org
8051 ram org
 
Architecture of tms320 f2812
Architecture of tms320 f2812Architecture of tms320 f2812
Architecture of tms320 f2812
 
8051 presentation
8051 presentation8051 presentation
8051 presentation
 
Data base security and injection
Data base security and injectionData base security and injection
Data base security and injection
 
8051 timer counter
8051 timer counter8051 timer counter
8051 timer counter
 
Introduction to tms320c6745 dsp
Introduction to tms320c6745 dspIntroduction to tms320c6745 dsp
Introduction to tms320c6745 dsp
 
Arithmatic pipline
Arithmatic piplineArithmatic pipline
Arithmatic pipline
 
Floating point units
Floating point unitsFloating point units
Floating point units
 
1 introduction to dsp processor 20140919
1 introduction to dsp processor 201409191 introduction to dsp processor 20140919
1 introduction to dsp processor 20140919
 
8051 serial communication
8051 serial communication8051 serial communication
8051 serial communication
 
8051 Presentation
8051 Presentation8051 Presentation
8051 Presentation
 
8051 serial communication-UART
8051 serial communication-UART8051 serial communication-UART
8051 serial communication-UART
 
GRAPHICS PROCESSING UNIT (GPU)
GRAPHICS PROCESSING UNIT (GPU)GRAPHICS PROCESSING UNIT (GPU)
GRAPHICS PROCESSING UNIT (GPU)
 
Graphic Processing Unit (GPU)
Graphic Processing Unit (GPU)Graphic Processing Unit (GPU)
Graphic Processing Unit (GPU)
 
Microcontroller 8051
Microcontroller 8051Microcontroller 8051
Microcontroller 8051
 
Dsp ppt
Dsp pptDsp ppt
Dsp ppt
 
Offshore Structures Presentation
Offshore Structures PresentationOffshore Structures Presentation
Offshore Structures Presentation
 

Similar a Dsp lab seminar

Similar a Dsp lab seminar (20)

dsp-processor-ppt.ppt
dsp-processor-ppt.pptdsp-processor-ppt.ppt
dsp-processor-ppt.ppt
 
Frist slider share
Frist slider shareFrist slider share
Frist slider share
 
RISC.ppt
RISC.pptRISC.ppt
RISC.ppt
 
13 risc
13 risc13 risc
13 risc
 
IT209 Cpu Structure Report
IT209 Cpu Structure ReportIT209 Cpu Structure Report
IT209 Cpu Structure Report
 
Not bridge south bridge archexture
Not bridge  south bridge archextureNot bridge  south bridge archexture
Not bridge south bridge archexture
 
Reduced instruction set computers
Reduced instruction set computersReduced instruction set computers
Reduced instruction set computers
 
10 instruction sets characteristics
10 instruction sets characteristics10 instruction sets characteristics
10 instruction sets characteristics
 
cs-procstruc.ppt
cs-procstruc.pptcs-procstruc.ppt
cs-procstruc.ppt
 
13 risc
13 risc13 risc
13 risc
 
pipeline and pipeline hazards
pipeline and pipeline hazards pipeline and pipeline hazards
pipeline and pipeline hazards
 
Processors selection
Processors selectionProcessors selection
Processors selection
 
DSP Processor.pptx
DSP Processor.pptxDSP Processor.pptx
DSP Processor.pptx
 
Dsp
DspDsp
Dsp
 
13 risc
13 risc13 risc
13 risc
 
12 processor structure and function
12 processor structure and function12 processor structure and function
12 processor structure and function
 
12 processor structure and function
12 processor structure and function12 processor structure and function
12 processor structure and function
 
10 instruction sets characteristics
10 instruction sets characteristics10 instruction sets characteristics
10 instruction sets characteristics
 
Motivation for multithreaded architectures
Motivation for multithreaded architecturesMotivation for multithreaded architectures
Motivation for multithreaded architectures
 
serial.ppt
serial.pptserial.ppt
serial.ppt
 

Último

Transport layer issues and challenges - Guide
Transport layer issues and challenges - GuideTransport layer issues and challenges - Guide
Transport layer issues and challenges - GuideGOPINATHS437943
 
Introduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECHIntroduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECHC Sai Kiran
 
US Department of Education FAFSA Week of Action
US Department of Education FAFSA Week of ActionUS Department of Education FAFSA Week of Action
US Department of Education FAFSA Week of ActionMebane Rash
 
Unit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfg
Unit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfgUnit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfg
Unit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfgsaravananr517913
 
Mine Environment II Lab_MI10448MI__________.pptx
Mine Environment II Lab_MI10448MI__________.pptxMine Environment II Lab_MI10448MI__________.pptx
Mine Environment II Lab_MI10448MI__________.pptxRomil Mishra
 
Industrial Safety Unit-I SAFETY TERMINOLOGIES
Industrial Safety Unit-I SAFETY TERMINOLOGIESIndustrial Safety Unit-I SAFETY TERMINOLOGIES
Industrial Safety Unit-I SAFETY TERMINOLOGIESNarmatha D
 
Instrumentation, measurement and control of bio process parameters ( Temperat...
Instrumentation, measurement and control of bio process parameters ( Temperat...Instrumentation, measurement and control of bio process parameters ( Temperat...
Instrumentation, measurement and control of bio process parameters ( Temperat...121011101441
 
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsyncWhy does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsyncssuser2ae721
 
Arduino_CSE ece ppt for working and principal of arduino.ppt
Arduino_CSE ece ppt for working and principal of arduino.pptArduino_CSE ece ppt for working and principal of arduino.ppt
Arduino_CSE ece ppt for working and principal of arduino.pptSAURABHKUMAR892774
 
System Simulation and Modelling with types and Event Scheduling
System Simulation and Modelling with types and Event SchedulingSystem Simulation and Modelling with types and Event Scheduling
System Simulation and Modelling with types and Event SchedulingBootNeck1
 
Correctly Loading Incremental Data at Scale
Correctly Loading Incremental Data at ScaleCorrectly Loading Incremental Data at Scale
Correctly Loading Incremental Data at ScaleAlluxio, Inc.
 
National Level Hackathon Participation Certificate.pdf
National Level Hackathon Participation Certificate.pdfNational Level Hackathon Participation Certificate.pdf
National Level Hackathon Participation Certificate.pdfRajuKanojiya4
 
Past, Present and Future of Generative AI
Past, Present and Future of Generative AIPast, Present and Future of Generative AI
Past, Present and Future of Generative AIabhishek36461
 
Research Methodology for Engineering pdf
Research Methodology for Engineering pdfResearch Methodology for Engineering pdf
Research Methodology for Engineering pdfCaalaaAbdulkerim
 
Main Memory Management in Operating System
Main Memory Management in Operating SystemMain Memory Management in Operating System
Main Memory Management in Operating SystemRashmi Bhat
 
Earthing details of Electrical Substation
Earthing details of Electrical SubstationEarthing details of Electrical Substation
Earthing details of Electrical Substationstephanwindworld
 
Virtual memory management in Operating System
Virtual memory management in Operating SystemVirtual memory management in Operating System
Virtual memory management in Operating SystemRashmi Bhat
 
welding defects observed during the welding
welding defects observed during the weldingwelding defects observed during the welding
welding defects observed during the weldingMuhammadUzairLiaqat
 
home automation using Arduino by Aditya Prasad
home automation using Arduino by Aditya Prasadhome automation using Arduino by Aditya Prasad
home automation using Arduino by Aditya Prasadaditya806802
 

Último (20)

Transport layer issues and challenges - Guide
Transport layer issues and challenges - GuideTransport layer issues and challenges - Guide
Transport layer issues and challenges - Guide
 
Introduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECHIntroduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECH
 
US Department of Education FAFSA Week of Action
US Department of Education FAFSA Week of ActionUS Department of Education FAFSA Week of Action
US Department of Education FAFSA Week of Action
 
Unit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfg
Unit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfgUnit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfg
Unit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfg
 
Mine Environment II Lab_MI10448MI__________.pptx
Mine Environment II Lab_MI10448MI__________.pptxMine Environment II Lab_MI10448MI__________.pptx
Mine Environment II Lab_MI10448MI__________.pptx
 
Industrial Safety Unit-I SAFETY TERMINOLOGIES
Industrial Safety Unit-I SAFETY TERMINOLOGIESIndustrial Safety Unit-I SAFETY TERMINOLOGIES
Industrial Safety Unit-I SAFETY TERMINOLOGIES
 
Instrumentation, measurement and control of bio process parameters ( Temperat...
Instrumentation, measurement and control of bio process parameters ( Temperat...Instrumentation, measurement and control of bio process parameters ( Temperat...
Instrumentation, measurement and control of bio process parameters ( Temperat...
 
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsyncWhy does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
 
Arduino_CSE ece ppt for working and principal of arduino.ppt
Arduino_CSE ece ppt for working and principal of arduino.pptArduino_CSE ece ppt for working and principal of arduino.ppt
Arduino_CSE ece ppt for working and principal of arduino.ppt
 
System Simulation and Modelling with types and Event Scheduling
System Simulation and Modelling with types and Event SchedulingSystem Simulation and Modelling with types and Event Scheduling
System Simulation and Modelling with types and Event Scheduling
 
Design and analysis of solar grass cutter.pdf
Design and analysis of solar grass cutter.pdfDesign and analysis of solar grass cutter.pdf
Design and analysis of solar grass cutter.pdf
 
Correctly Loading Incremental Data at Scale
Correctly Loading Incremental Data at ScaleCorrectly Loading Incremental Data at Scale
Correctly Loading Incremental Data at Scale
 
National Level Hackathon Participation Certificate.pdf
National Level Hackathon Participation Certificate.pdfNational Level Hackathon Participation Certificate.pdf
National Level Hackathon Participation Certificate.pdf
 
Past, Present and Future of Generative AI
Past, Present and Future of Generative AIPast, Present and Future of Generative AI
Past, Present and Future of Generative AI
 
Research Methodology for Engineering pdf
Research Methodology for Engineering pdfResearch Methodology for Engineering pdf
Research Methodology for Engineering pdf
 
Main Memory Management in Operating System
Main Memory Management in Operating SystemMain Memory Management in Operating System
Main Memory Management in Operating System
 
Earthing details of Electrical Substation
Earthing details of Electrical SubstationEarthing details of Electrical Substation
Earthing details of Electrical Substation
 
Virtual memory management in Operating System
Virtual memory management in Operating SystemVirtual memory management in Operating System
Virtual memory management in Operating System
 
welding defects observed during the welding
welding defects observed during the weldingwelding defects observed during the welding
welding defects observed during the welding
 
home automation using Arduino by Aditya Prasad
home automation using Arduino by Aditya Prasadhome automation using Arduino by Aditya Prasad
home automation using Arduino by Aditya Prasad
 

Dsp lab seminar

  • 1. ARCHITECTURAL FEATURES OF DSP PROCESSORS
  • 2. Basic Architectural Features of DSPs • Data path configured for DSP – Fixed-point arithmetic – MAC- Multiply-accumulate • Multiple memory banks and buses - – Harvard Architecture – Multiple data memories • Specialized addressing modes – Bit-reversed addressing – Circular buffers • Specialized instruction set and execution control – Zero-overhead loops – Support for fast MAC – Fast Interrupt Handling • Specialized peripherals for DSP
  • 3. DSP Data Path: Arithmetic • DSPs dealing with numbers representing real world => Want “reals”/ fractions • DSPs dealing with numbers for addresses => Want integers • Support “fixed point” as well as integers
  • 4. DSP Data Path: Multiplier • Specialized hardware performs all key arithmetic operations in 1 cycle • 50% of instructions can involve multiplier => single cycle latency multiplier • Need to perform multiply-accumulate (MAC) • n-bit multiplier => 2n-bit product
  • 5. DSP Data Path: Accumulator • Don’t want overflow or have to scale accumulator • Option 1: accumulator wider than product: “guard bits” – Motorola DSP:24b x 24b => 48b product, 56b Accumulator • Option 2: shift right and round product before adder
  • 6.
  • 7. DSP Memory • FIR Tap implies multiple memory accesses • DSPs require multiple data ports • Some DSPs have ad hoc techniques to reduce memory bandwidth demand: – Instruction repeat buffer: do 1 instruction 256 times – Often disables interrupts, thereby increasing interrupt response time • Some recent DSPs have instruction caches – Even then may allow programmer to “lock in” instructions into cache – Option to turn cache into fast program memory • No DSPs have data caches. • May have multiple data memories
  • 8. Memory Architecture Comparison DSP Processor: • Harvard architecture • 2-4 memory accesses/cycle • No caches-on-chip SRAM General-Purpose Processor: • Von Neumann architecture • Typically 1 access/cycle • Use caches
  • 9. DSPAddressing • Have standard addressing modes: immediate, direct, register ,indirect. • Want to keep MAC data path busy • Assumption: any extra instructions imply clock cycles of overhead in inner loop => complex addressing is good • Autoincrement/Autodecrement register indirect
  • 10. DSPAddressing: FFT • FFTs start or end with data in butterfly order 0 (000) => 0 (000) 1 (001) => 4 (100) 2 (010) => 2 (010) 3 (011) => 6 (110) 4 (100) => 1 (001) 5 (101) => 5 (101) 6 (110) => 3 (011) 7 (111) => 7 (111) • What can we do to avoid overhead of address checking instructions for FFT? • Have an optional “bit reverse” address addressing mode for use with Auto increment addressing • Many DSPs have “bit reverse” addressing for radix-2 FFT
  • 12. DSPAddressing: Buffers • DSPs dealing with continuous I/O • Often interact with an I/O buffer (delay lines) • To save memory, buffers often organized as circular buffers • Every DSP has “modulo” or “circular” addressing
  • 13. CIRCULAR BUFFERS • Instructions accommodate three elements: • buffer address • buffer size • increment Allows for cycling through: • delay elements • coefficients in data memory
  • 14. Addressing Comparison DSP Processor: • Dedicated address generation units • Specialized addressing modes; e.g.: – Auto increment – Modulo (circular) – Bit-reversed (for FFT) General-Purpose Processor: • Often, no separate address generation unit • General-purpose addressing modes
  • 15. DSP Instructions and Execution • May specify multiple operations in a single instruction • Must support Multiply-Accumulate (MAC) • Usually have special loop support to reduce branch overhead – Loop an instruction or sequence • May have saturating shift left arithmetic • May have conditional execution to reduce branches
  • 16. ZERO-OVERHEAD LOOP • Eliminates a few instructions in loops • Important in loops with small bodies DO <addr> UNTIL condition”
  • 17. Instruction Set Comparison DSP Processor: • Specialized, complex instructions • Multiple operations per instruction General-Purpose Processor: • General-purpose instructions • Typically only one operation per instruction
  • 18. Specialized Peripherals for DSPs • Synchronous serial ports • Parallel ports • Timers • On-chip A/D, D/A converters • Host ports • Bit I/O ports • On-chip DMA controller • Clock generators • On-chip peripherals often designed for “background” operation, even when core is powered down.
  • 19. PIPELINING Pipelining is a technique which allows two or more operations to overlap during execution The pipe stages are connected in series to form a pipe and the stages are executed sequentially Sequential steps to execute a single instruction are: • Fetch an instruction word from memory • Decode the instruction • Execute
  • 20. An illustration of processor with no pipelining
  • 21. An Illustration of the concept of pipelining