l08 ec360(19)-dsp processors
TRANSCRIPT
-
7/30/2019 L08 EC360(19)-DSP Processors
1/20
Digital Signal Processor -
Instruction Set
Sonali chouhan
-
7/30/2019 L08 EC360(19)-DSP Processors
2/20
DSP Algorithms Shape DSPs
How Signal Processing is DifferentFrom Other Tasks Very computationally demanding
Requires attention to numeric fidelity High memory bandwidth requirements Streaming dataand lots of it Predictable data access patterns
Execution-time locality Math-centric Real-time constraints Standards: algorithms, interfaces
-
7/30/2019 L08 EC360(19)-DSP Processors
3/20
General-Purpose Features
Several DSPs now include featurestraditionally associated with general-purpose processors User modes
Memory management units Compiler-oriented features such as
specialized addressing modes
Enable more sophisticated OSs
Ease implementation of non-signal-processing tasks
Often make processors better compiler
targets
-
7/30/2019 L08 EC360(19)-DSP Processors
4/20
DSP processors
SHARC, BlackFin, TMS320C55x,TMS320C67x, TMS320C64x
16-32 bit word size
Single program Lightweight, often real-time OS Super Harvard Architecture Support Improved throughput Audio, Image and Video processing,
Coding and Decoding, Cellular BaseStation, Adaptive Filtering, Real Timeoperations
-
7/30/2019 L08 EC360(19)-DSP Processors
5/20
Super Harvard Architecture
Super Harvard architecture improves
upon the Harvard architecture by addingan instruction cache and a dedicated I/Ocontroller
In Harvard architecture data memory bus
is busier than the program memory bus
-
7/30/2019 L08 EC360(19)-DSP Processors
6/20
Super Harvard Architecture(Contd.)
Relocate part of the "data" toprogram memory (secondary data)
Improves performance in case ofdata extensive operations (e.g., loop)
Adds program cache in CPU
Stores ~32 most recent instructions
I/O port allows Direct memory access(DMA)
No CPU cycles wasted
-
7/30/2019 L08 EC360(19)-DSP Processors
7/20
Proprietary v/s Shared Most DSP architectures are not shared, not
licensable One silicon vendor per architecture
In contrast, many GPPs are shared andlicensable
ARM, MIPS, PowerPC, SH-x, x86 There are some shared or licensable DSP
architectures CEVA, StarCore, ZSP
Shared architectures can encourage stability,price competition, and wide third-party support
But proprietary architectures May achieve faster technological advances May have market momentum, integration
advantages
-
7/30/2019 L08 EC360(19)-DSP Processors
8/20
SHARC instruction set
SHARC programming model.
SHARC assembly language.
SHARC memory organization. SHARC data operations.
SHARC flow of control.
-
7/30/2019 L08 EC360(19)-DSP Processors
9/20
SHARC programming model
Register files:
R0-R15 (aliased as F0-F15 for floatingpoint)
Status registers.
Loop registers.
Data address generator registers. Interrupt registers.
-
7/30/2019 L08 EC360(19)-DSP Processors
10/20
SHARC assembly language
Algebraic notation terminated bysemicolon:
R1=DM(M0,I0), R2=PM(M8,I8); ! comment
label: R3=R1+R2;
data memory access program memory access
-
7/30/2019 L08 EC360(19)-DSP Processors
11/20
SHARC memory space
IOP registers0x0
256
forbidden
normal word
addressing
short word
addressing
0x20000
0x40000
interrupt vectors
-
7/30/2019 L08 EC360(19)-DSP Processors
12/20
SHARC data types
32-bit IEEE single-precision floating-point.
40-bit IEEE extended-precisionfloating-point.
32-bit integers.
Memory organized internally as 32-bit words.
-
7/30/2019 L08 EC360(19)-DSP Processors
13/20
SHARC microarchitecture
Modified Harvard architecture.
Program memory can be used to storesome data.
Register file connects to:
multiplier
shifter;
ALU.
-
7/30/2019 L08 EC360(19)-DSP Processors
14/20
SHARC Computation Unit
-
7/30/2019 L08 EC360(19)-DSP Processors
15/20
SHARC mode registers
Most important:
ASTAT: arithmetic status.
STKY: sticky.
MODE 1: mode 1.
-
7/30/2019 L08 EC360(19)-DSP Processors
16/20
Rounding and saturation
Floating-point can be:
rounded toward zero;
rounded toward nearest.
ALU supports saturation arithmetic(controlled by ALUSAT bit in MODE1reg).
Overflow results in max value, notrollover.
-
7/30/2019 L08 EC360(19)-DSP Processors
17/20
Multiplier
Fixed-point operations canaccumulate into local MR registers orbe written to register file.
Fixed-point result is 80 bits.
Floating-point results always go toregister file.
Status bits: negative, under/overflow,invalid, fixed-point underflow,floating-point underflow, floating-
point invalid.
-
7/30/2019 L08 EC360(19)-DSP Processors
18/20
ALU/shifter status flags
ALU:
zero, overflow, negative, fixed-pointcarry, inputsign, floating-point invalid,
last op was floating-point, compareaccumulation registers, floating-pointunder/oveflow, fixed-point overflow,floating-point invalid
Shifter:
zero, overflow, sign
-
7/30/2019 L08 EC360(19)-DSP Processors
19/20
Flag operations
All ALU operations set AZ (zero), AN(negative), AV (overflow), AC (fixed-point carry), AI (floating-point invalid)
bits in ASTAT.
STKY is sticky version of some ASTATbits.
-
7/30/2019 L08 EC360(19)-DSP Processors
20/20
Reference
ADSP-21161 SHARC Processor H/WReference (Rev 4.0)