DSPs Vs General Purpose Microprocessors

Slides:



Advertisements
Similar presentations
Computer Architecture
Advertisements

Is There a Real Difference between DSPs and GPUs?
PIPELINE AND VECTOR PROCESSING
Lecture 4 Introduction to Digital Signal Processors (DSPs) Dr. Konstantinos Tatas.
Instruction Set Design
Intel Pentium 4 ENCM Jonathan Bienert Tyson Marchuk.
Computer Organization and Architecture
Implementation of the Convolution Operation on General Purpose Processors Ernest Jamro AGH Technical University Kraków, Poland.
Microprocessors. Von Neumann architecture Data and instructions in single read/write memory Contents of memory addressable by location, independent of.
Chapter 12 CPU Structure and Function. CPU Sequence Fetch instructions Interpret instructions Fetch data Process data Write data.
Computer Organization and Architecture
Computer Organization and Architecture
Processor Technology and Architecture
1 Architectural Analysis of a DSP Device, the Instruction Set and the Addressing Modes SYSC5603 (ELG6163) Digital Signal Processing Microprocessors, Software.
1 SHARC ‘S’uper ‘H’arvard ‘ARC’hitecture Nagendra Doddapaneni ER hit HAR ect VARD ure SUP Arc.
DSP Chip Architecture Team Members: Steve McDermott Ken Whelan Kyle Welch.
Chapter 16 Control Unit Implemntation. A Basic Computer Model.
Chapter 4 Processor Technology and Architecture. Chapter goals Describe CPU instruction and execution cycles Explain how primitive CPU instructions are.
Chapter 12 CPU Structure and Function. Example Register Organizations.
ECEN4002 Spring 2002DSP Lab Intro R. C. Maher1 A Short Introduction to DSP Microprocessor Architecture R.C. Maher ECEN4002/5002 DSP Laboratory Spring 2002.
Inside The CPU. Buses There are 3 Types of Buses There are 3 Types of Buses Address bus Address bus –between CPU and Main Memory –Carries address of where.
CH12 CPU Structure and Function
Real time DSP Professors: Eng. Julian Bruno Eng. Mariano Llamedo Soria.
Simultaneous Multithreading: Maximizing On-Chip Parallelism Presented By: Daron Shrode Shey Liggett.
Lecture#14. Last Lecture Summary Memory Address, size What memory stores OS, Application programs, Data, Instructions Types of Memory Non Volatile and.
Internal hardware and external components of a computer Three-box Model  Processor The brain of the system Executes programs A big finite state machine.
RICE UNIVERSITY Implementing the Viterbi algorithm on programmable processors Sridhar Rajagopal Elec 696
Classifying GPR Machines TypeNumber of Operands Memory Operands Examples Register- Register 30 SPARC, MIPS, etc. Register- Memory 21 Intel 80x86, Motorola.
Advanced Computer Architecture 0 Lecture # 1 Introduction by Husnain Sherazi.
DSP Processors We have seen that the Multiply and Accumulate (MAC) operation is very prevalent in DSP computation computation of energy MA filters AR filters.
ARM for Wireless Applications ARM11 Microarchitecture On the ARMv6 Connie Wang.
Chapter 16 Micro-programmed Control
Crosscutting Issues: The Rôle of Compilers Architects must be aware of current compiler technology Compiler Architecture.
Computer Hardware A computer is made of internal components Central Processor Unit Internal External and external components.
Computer Architecture 2 nd year (computer and Information Sc.)
DIGITAL SIGNAL PROCESSORS. Von Neumann Architecture Computers to be programmed by codes residing in memory. Single Memory to store data and program.
DSP Architectures Additional Slides Professor S. Srinivasan Electrical Engineering Department I.I.T.-Madras, Chennai –
Stored Program A stored-program digital computer is one that keeps its programmed instructions, as well as its data, in read-write,
Processor Structure and Function Chapter8:. CPU Structure  CPU must:  Fetch instructions –Read instruction from memory  Interpret instructions –Instruction.
Computer operation is of how the different parts of a computer system work together to perform a task.
Lecture 3: Computer Architectures
Different Microprocessors Tamanna Haque Nipa Lecturer Dept. of Computer Science Stamford University Bangladesh.
Fundamentals of Programming Languages-II
1 Computer Architecture. 2 Basic Elements Processor Main Memory –volatile –referred to as real memory or primary memory I/O modules –secondary memory.
GCSE Computing - The CPU
Micro-programmed Control
Central Processing Unit Architecture
William Stallings Computer Organization and Architecture 8th Edition
Embedded Systems Design
Processor Organization and Architecture
Introduction to Pentium Processor
Digital Signal Processors
Subject Name: Digital Signal Processing Algorithms & Architecture
Subject Name: Digital Signal Processing Algorithms & Architecture
Introduction to Digital Signal Processors (DSPs)
CISC AND RISC SYSTEM Based on instruction set, we broadly classify Computer/microprocessor/microcontroller into CISC and RISC. CISC SYSTEM: COMPLEX INSTRUCTION.
Multivector and SIMD Computers
The performance requirements for DSP applications continue to grow and the traditional solutions do not adequately address this new challenge Paradigm.
Digital Signal Processors-1
Introduction to 5685x Series
COMPUTER ARCHITECTURES FOR PARALLEL ROCESSING
CPU Structure and Function
GCSE Computing - The CPU
Objectives Describe common CPU components and their function: ALU Arithmetic Logic Unit), CU (Control Unit), Cache Explain the function of the CPU as.
ADSP 21065L.
Presentation transcript:

DSPs Vs General Purpose Microprocessors AOE 5984 – Real Time Systems

Common DSP Applications… Communications Audio, Video processing Graphics, 3-D rendering Navigation, radars, GPS Controls – Robotics, guidance, Machine Vision Filtering Frequency-Time transformations (FFT-IFFT)

Common DSP Tasks… Modulation-Demodulation, Error correction Noise reduction, equalization, echo cancellation Audio compression Vector and Matrix calculations Control algorithms

DSPs Need to Do… Efficient repetitive numerical calculations Maintain numeric fidelity Provide high memory bandwidth Streaming data Real Time processing

DSPs Need to Minimize… Real Time execution unpredictability Memory use Power consumption Cost Development time

What Do DSPs Have? Specialized memory architecture (Harvard) Specialized parallel execution units Specialized addressing modes Specialized instruction sets for parallel execution Specialized peripherals

FIR Filtering… x D y h0 h1 hn Two data fetches, Multiply operation, DSP algorithms are the basis for most of the DSP special hardware units. Two data fetches, Multiply operation, Accumulate Operation, Input vector shifting

Multiply-Accumulate (MAC) Multiplication in single cycle Execution time ~ 200 ns Register Multiplier ALU Accumulator

Special Hardware Units… Hardware shifter. Hardware circular buffers. Special h/w for zero overhead looping. Special address generation units.

Address Generation Units… Work in parallel with DSP core execution unit. Access new addresses without pausing to calculate new addresses. Take advantage of predictability in the pattern of data access in DSP algorithms, using special addressing modes. e.g. register-indirect with post increment addressing, circular (modulo) addressing, bit-reverse addressing in hardware.

Von Neumann Architecture… Fetch MAC instruction Read value of ‘x’ Read value of ‘h’ Multiply x, h and accumulate Write result to memory Processor Core Address bus Data bus 4 memory access operations One multiplication Memory (Code+Data)

Harvard Architecture… Data and Code in separate memory segments Multiple address and data buses Double memory bandwidth Simultaneous code and data fetch Processor Core AB1 DB1 AB2 DB2 Memory A Memory B

Caches in DSP and GPP… GPPs normally contain two on-chip caches – one for data and the other for instructions. Allows full speed retrieval of instructions and data without accessing slower off-chip memory. DSPs contain a very small instruction cache and no data cache. GPPs use control logic to determine what code and data goes into cache, while in DSPs it is programmer’s job to make a decision.

Fixed-Point Arithmetic… Most DSPs use fixed point arithmetic than floating point. Faster. Cheaper. Hardware support for saturation arithmetic, rounding and shifting.

Special Instructions Why special instructions? Multiple operations per instruction cycle. Minimize program memory space. Specify several parallel operations in a single instruction. These instructions permit restricted access to registers and do not allow arbitrary operation combinations.

Special Instructions… MAC X0, Y0, A, X: (R0)+,X0, Y:(R4)+N4, Y0 Multiply contents of X0 and Y0 Add result to accumulator A Load register X0 from X memory location pointed to by R0 Load register Y0 from Y memory location pointed to by R4 Post-increment R0 by 1 Post-increment R4 by the contents of register R4 This instruction calculates one tap of the FIR filter in one clock cycle

Execution Time Predictability… Non-DSP applications have a maximum average response time (firm real time). DSP applications are hard real time. Important to be able to calculate exactly the processing time required, or at least the worst time scenario. GPPs do not have a good execution time predictability. Lack of execution time predictability affect code optimization.

Execution Time Predictability… GPPs – complicated algorithms for branch prediction and caching. Speculative code execution depending on branch prediction. Programmer does not know which instructions and data will go into cache and when. Worst case execution time may be a order of magnitude greater than the actual execution time.

Execution Time Predictability… DSPs do not use branch prediction algorithms. Programmer decides which instruction go into cache. No data cache in most DSPs.

Other features of DSPs and GPPs VLIW (Very Long Instruction Word). Combines a number of different instructions in a long instruction word. e.g. 256 bytes word – 8 instructions. More MACs, ALUs and other execution units. GPPs use SIMD.