romanin - trestino università degli studi di padova capitolo 1, slide 1 introduzione ai processori...
Post on 01-May-2015
215 Views
Preview:
TRANSCRIPT
Romanin - Trestino Università degli studi di PadovaCapitolo 1, Slide 1
Introduzione ai processori TMS 320C5402Introduzione ai processori TMS 320C5402
Università degli studi di PadovaUniversità degli studi di Padova
Dipartimento di Ingegneria della InformazioneDipartimento di Ingegneria della Informazione
C5402
Romanin - Trestino Università degli studi di PadovaCapitolo 1, Slide 2
Perché passare al “digitale” ?Perché passare al “digitale” ?
Attualmente le tecniche di Attualmente le tecniche di elaborazione elaborazione digitaledigitale dei segnali, sono così potenti, dei segnali, sono così potenti, che molte volte risulta estremamente che molte volte risulta estremamente difficile, se non impossibile ottenere gli difficile, se non impossibile ottenere gli stessi risultati con le classiche tecniche stessi risultati con le classiche tecniche di di elaborazione analogicaelaborazione analogica. .
Esempi:Esempi: FIR filtri a fase lineare.FIR filtri a fase lineare. Filtri Adattivi.Filtri Adattivi.
Romanin - Trestino Università degli studi di PadovaCapitolo 1, Slide 3
Perché passare al “digitale” ?Perché passare al “digitale” ?
L’elaborazione analogica dei segnali e’ L’elaborazione analogica dei segnali e’ possibile grazie all’impiego di componenti possibile grazie all’impiego di componenti “analogici” quali:“analogici” quali:
Resistenze.Resistenze. Condensatori.Condensatori. Induttanze.Induttanze.
La precisione e la stabilità di un circuito La precisione e la stabilità di un circuito analogico può essere compromessa da vari analogico può essere compromessa da vari fattori: la tolleranza sui valori dei fattori: la tolleranza sui valori dei componenti, la temperatura, i cambiamenti di componenti, la temperatura, i cambiamenti di tensione e le vibrazioni meccaniche.tensione e le vibrazioni meccaniche.
Romanin - Trestino Università degli studi di PadovaCapitolo 1, Slide 4
Perché passare al “digitale” ?Perché passare al “digitale” ?
Con i DSP risulta molto semplice:Con i DSP risulta molto semplice: Implementare e/o modificare un algoritmo di Implementare e/o modificare un algoritmo di
calcolocalcolo Elaborare segnali acquisiti.Elaborare segnali acquisiti. Interfacciarsi con i calcolatori.Interfacciarsi con i calcolatori.
Inoltre il DSP riduce:Inoltre il DSP riduce: La sensibilità alla interferenze EMI.La sensibilità alla interferenze EMI. Il numero di IC in un sistema.Il numero di IC in un sistema. Il tempo di sviluppo di un sistema.Il tempo di sviluppo di un sistema. I Costi.I Costi. L’assorbimento di potenza (es: tecnologia CMOS).L’assorbimento di potenza (es: tecnologia CMOS).
Romanin - Trestino Università degli studi di PadovaCapitolo 1, Slide 5
Perché Perché nonnon passare al “digitale” passare al “digitale”
Talvolta segnali a frequenze elevate non Talvolta segnali a frequenze elevate non possono essere elaborati in forma possono essere elaborati in forma digitale per due motivi:digitale per due motivi: I convertitori Analogico-DigitaleI convertitori Analogico-Digitale, ADC, ADC
non riescono a lavorare con segnali con non riescono a lavorare con segnali con banda elevata, mantenendo una adeguata banda elevata, mantenendo una adeguata risoluzione.risoluzione.
L’applicazione potrebbe essere così L’applicazione potrebbe essere così complessa da non permettere una sua complessa da non permettere una sua realizzazione in realizzazione in Tempo-RealeTempo-Reale (Real-Time). (Real-Time).
Romanin - Trestino Università degli studi di PadovaCapitolo 1, Slide 6
La definizione di Tempo-reale dipende La definizione di Tempo-reale dipende dall’applicazione.dall’applicazione.
Ogni volta che un algoritmo viene Ogni volta che un algoritmo viene “interfacciato” con l’ambiente esterno, “interfacciato” con l’ambiente esterno, deve lavorare in tempo reale.deve lavorare in tempo reale.
Esempio: Un FIR a 100 coefficienti Esempio: Un FIR a 100 coefficienti viene eseguito in Real-Time, se il DSP viene eseguito in Real-Time, se il DSP riesce a completare le seguenti riesce a completare le seguenti operazioni nell’intervallo di tempo che operazioni nell’intervallo di tempo che intercorre tra due campioni:intercorre tra due campioni:
Lavorare in Tempo-RealeLavorare in Tempo-Reale
99
0k
knxkany
Romanin - Trestino Università degli studi di PadovaCapitolo 1, Slide 7
Un’applicazione si dice eseguibile in “Real-Un’applicazione si dice eseguibile in “Real-Time” se :Time” se :
Il tempo di elaborazione è inferiore al periodo di Il tempo di elaborazione è inferiore al periodo di campionamento ovvero se il tempo di attesa della campionamento ovvero se il tempo di attesa della CPU è non nulla (tale tempo può essere utilizzato per CPU è non nulla (tale tempo può essere utilizzato per processi secondari)processi secondari)
Lavorare in Tempo RealeLavorare in Tempo Reale
Tempo di elaborazioneTempo di elaborazioneTempo di Tempo di
AttesaAttesa
Intervallo di campionamentoIntervallo di campionamentonTnT (n+1)T(n+1)T
Romanin - Trestino Università degli studi di PadovaCapitolo 1, Slide 8
Perché non usare un General Purpose Perché non usare un General Purpose Processor (GPP), come il Pentium, al Processor (GPP), come il Pentium, al posto di un DSP?posto di un DSP? Valutare il Valutare il consumo di potenzaconsumo di potenza di un di un
Pentium e di un DSP.Pentium e di un DSP. Valutare il Valutare il costocosto di un Pentium e di un di un Pentium e di un
DSP?DSP?
Perché usare un processore DSPPerché usare un processore DSP
Romanin - Trestino Università degli studi di PadovaCapitolo 1, Slide 9
Conviene utilizzare un processore DSP nei Conviene utilizzare un processore DSP nei casi in cui è necessario:casi in cui è necessario:
Ridurre i costi.Ridurre i costi. Occupazioni di superficie ridotti.Occupazioni di superficie ridotti. Bassi consumi.Bassi consumi. Elaborare più segnali ad “alta” frequenza, in Elaborare più segnali ad “alta” frequenza, in
real-time.real-time.
Conviene utilizzare un processore GPP nei Conviene utilizzare un processore GPP nei casi in cui e’ necessario:casi in cui e’ necessario:
Grandi occupazioni di memoria.Grandi occupazioni di memoria. Sistemi operativi Sistemi operativi avanzatiavanzati..
Perché usare un processore DSPPerché usare un processore DSP
Romanin - Trestino Università degli studi di PadovaCapitolo 1, Slide 10
Quali sono gli algoritmi tipici per un DSPQuali sono gli algoritmi tipici per un DSP
Algoritmo Equazione
Filtro FIR (convoluzione)
M
kk knxbny
0
)()(
Filtro IIR
N
kk
M
kk knyaknxbny
10
)()()(
Trasformata di Fourier discreta
1
0
])/2(exp[)()(N
n
nkNjnxkX
Trasformata Coseno discreta
1
0
122
cos).().(N
x
xuN
xfucuF
La Somma-di-Prodotti (SOP) è l’elemento chiave per La Somma-di-Prodotti (SOP) è l’elemento chiave per la maggior parte degli algoritmi per DSP:la maggior parte degli algoritmi per DSP:
Romanin - Trestino Università degli studi di PadovaCapitolo 1, Slide 11
Moltiplicazioni in HardwareMoltiplicazioni in Hardware
I processori DSP, sono ottimizzati per I processori DSP, sono ottimizzati per eseguire operazioni di somma e eseguire operazioni di somma e moltiplicazione.moltiplicazione.
Le moltiplicazioni in parallelo alle Le moltiplicazioni in parallelo alle addizioni sono implementate in Hardware addizioni sono implementate in Hardware (unità MAC).(unità MAC).
Tempo di esecuzione: un ciclo macchina.Tempo di esecuzione: un ciclo macchina.
Romanin - Trestino Università degli studi di PadovaCapitolo 1, Slide 12
DSP Fixed e Floating pointDSP Fixed e Floating point
Le applicazioni che richiedono:Le applicazioni che richiedono: Alta precisione.Alta precisione. Range dinamico elevato.Range dinamico elevato. Rapporti segnale/rumore elevati.Rapporti segnale/rumore elevati. Facilità di impiego.Facilità di impiego.
Necessitano di un processore in virgola Necessitano di un processore in virgola mobile.mobile.
Svantaggio dei processori in floating Svantaggio dei processori in floating point:point: Alti consumi.Alti consumi. Costano molto.Costano molto.
Romanin - Trestino Università degli studi di PadovaCapitolo 1, Slide 13
DSP Fixed point e Floating pointDSP Fixed point e Floating point
Sono le applicazioni che impongono Sono le applicazioni che impongono quale tipo di dispositivo/piattaforma quale tipo di dispositivo/piattaforma utilizzare al fine di ottenere le massime utilizzare al fine di ottenere le massime prestazioni al minor costo.prestazioni al minor costo.
Per motivi didattici, viene usato un DSP Per motivi didattici, viene usato un DSP fixed-point (C5402).fixed-point (C5402).
Romanin - Trestino Università degli studi di PadovaCapitolo 1, Slide 14
I processori Texas Instruments della famiglia TMS320I processori Texas Instruments della famiglia TMS320
Esistono differenti sottofamiglie per Esistono differenti sottofamiglie per coprire diversi mercati.coprire diversi mercati.
Bassi CostiBassi CostiSistemi di controlloSistemi di controllo Controllo motoriControllo motori StorageStorage Controllori digitaliControllori digitali
C2000C2000 C5000C5000
EfficienzaEfficienza Elevati MIPS perElevati MIPS perWatt / Dollaro / IngombroWatt / Dollaro / Ingombro Telefonia WirelessTelefonia Wireless Internet audio playersInternet audio players Digital still cameras Digital still cameras ModemsModems TelephonyTelephony VoIPVoIP
C6000C6000
Applicazioni Multi-Applicazioni Multi-canale e Multi-canale e Multi-funzionefunzione
Infrastrutture comuniInfrastrutture comuni Wireless Base-stationsWireless Base-stations DSLDSL Elab. ImmaginiElab. Immagini Multi-media ServersMulti-media Servers
Prestazioni e Prestazioni e facilità d’usofacilità d’uso
Romanin - Trestino Università degli studi di PadovaCapitolo 1, Slide 15
Schema a blocchi del DSPSchema a blocchi del DSP
Romanin - Trestino Università degli studi di PadovaCapitolo 1, Slide 16
C54x Block DiagramC54x Block Diagram• 17x17 MAC Unit
• Saturation and Rounding Hardware
• Two 40-bit ACC’s
• 40-bit ALU
• 40-bit Barrel Shifter
• Temporary Register
• Exponent Encoder
• Program and Data Address Generation
Units
• Compare, Select and Store Unit
• 4 Internal Bus Pairs
• External Interface
55
Muxed GP I/OMuxed GP I/O
D(15-0)
A(23-0)
Program/Data BusesProgram/Data Buses
Timer Timer
Program/Data SRAM128K Words
Program/Data SRAM128K Words
Ch 0
Ch 1
Ch 2
Ch 3
Ch 4
Ch 5
DMA
8/16-bit Host PortInterface (HPI)
8/16-bit Host PortInterface (HPI)
Program/Data ROM16K Words
Program/Data ROM16K Words
Pe
rip
he
ral
Bu
sP
eri
ph
era
l B
us
RND, SAT
17 x 17 MPY
40-Bit Adder
MAC
Shifter
40-Bit Barrel(-16, 31)
EXP Encoder
40-Bit ALUCMPS Operator
(VITERBI)
ALU
Accumulators
40-Bit ACC A
40-Bit ACC B
8 Auxiliary Registers
2 Addressing Units
Addressing Unit
Multichannel BufferedSerial Port (McBSP)
Multichannel BufferedSerial Port (McBSP)
Multichannel BufferedSerial Port (McBSP)
Multichannel BufferedSerial Port (McBSP)
JTAG Test/Emulation
Control
JTAG Test/Emulation
Control
Multichannel BufferedSerial Port (McBSP)
Multichannel BufferedSerial Port (McBSP)
PLL Clock Generator
PLL Clock Generator
S/W WaitstateGenerator
S/W WaitstateGenerator
Power ManagementPower Management
C5416 exampleC5416 example
Romanin - Trestino Università degli studi di PadovaCapitolo 1, Slide 17
• 17x17 MAC Unit
• Saturation and Rounding Hardware
• Two 40-bit ACC’s
• 40-bit ALU
• 40-bit Barrel Shifter
• Temporary Register
• Exponent Encoder
• Program and Data Address Generation Units
• Compare, Select and Store Unit
• 4 Internal Bus Pairs
• External Interface
Central Central Processing Processing UnitUnit
12
Romanin - Trestino Università degli studi di PadovaCapitolo 1, Slide 18
What Problems Are We Trying To Solve?What Problems Are We Trying To Solve?
Data Read Buses
Single-cycle MAC anxn
3
n = 0y0 =
Amplitude
x4 x3 x2 x1 x0
Time
z = x2 + x4 + x3 + x1
MAC
A
ALU
B
MAC *AR2+, *AR3+, A ADD @x2, B ...
Single-cycle ADD
10
Romanin - Trestino Università degli studi di PadovaCapitolo 1, Slide 19
C5402 ArchitectureC5402 Architecture
Data Write A/D Bus (E)
PC
MAC ALU
A
B
Addr
Gen
Data Read A/D Bus (C)
Data Read A/D Bus (D)
AR0-7DP @x2
Program A/D Bus (P)
Decode
11
MAC *AR2+, *AR3+, A ADD @x2, B ...
Romanin - Trestino Università degli studi di PadovaCapitolo 1, Slide 20
C5402 Internal Memory and BusesC5402 Internal Memory and Buses
ROM - 1 access per block per cycle DARAM - 2 accesses per block per cycle External - 1 access every other cycle Wait States are shown for 100MHz clock
4Kx160-waitROM
E Bus
C Bus
D Bus
P Bus
A
D
Ext’l
Mem
I/F
64Kx161-waitSRAM
256Kx167-waitFLASH
2x8Kx160-waitDARAM
5402DSK MemoryResources
14
Romanin - Trestino Università degli studi di PadovaCapitolo 1, Slide 21
C5402 DSK C5402 DSK DataData Memory MemoryMMRs
SPRAM
8Kx16 DARAMBlock 2
External48Kx161-waitSRAM
~8Kx16 DARAMBlock 1
0000
0080
4000
FFFF
0060
2000
C5402 can access 64Kx16 data
All internal accesses are 0-wait User should partition algorithm
resources to avoid memory access conflicts
Can access most CPU registers viamemory-mapped locations (MMR)
What internal peripherals are on the ‘C5402 ?
C5402 can also access 64Kx16 I/O
16
Romanin - Trestino Università degli studi di PadovaCapitolo 1, Slide 22
C5402 DSK C5402 DSK ProgramProgram Memory Memory
00 0000
00 FFFF
03 0000
03 FFFF
.
.
.
16KDARAM
Upper 48KPage 0Flash
16KDARAM
Upper 48KPage 3Flash
Program Memory
DSK uses the following:
00 4000
03 4000
C5402 can address up to 1Mx16of program memory
OVLYbit=1: 16K DARAM mapped to ALL
Program Mem Pages (access as data/prog) Allows access to 0-wait memory for code Only 256K of 1M total address reach of C5402 is physically implemented
Let’s take a closer look at the data memory resources...
OVLYbit=0 on reset (all program isexternal)
15
Romanin - Trestino Università degli studi di PadovaCapitolo 1, Slide 23
Pipeline Drives Single-Cycle PerformancePipeline Drives Single-Cycle Performance
X - execute instructionR - get operands from data memA - generate data read addressD - decode instructionF - get opcode from prog memP - generate program address
P F D A R X
P
P
P
P
P
F
F
F
F
F
D A R X
D A R X
D A R X
D A R X
D A R X
Full Pipeline
Pipeline Phases
Pipeline phases maximize hardware usage One instruction is retired EVERY cycle Dedicated loop control instructions (RPT and RPTB)
available to reduce pipeline flushing
How does the architecture support pipelining?13
Technical TrainingTechnical TrainingOrganizationOrganization
T TO
Romanin - Trestino Università degli studi di PadovaCapitolo 1, Slide 24
Peripheral OverviewPeripheral Overview
McBSP
DMA
Timers
EHPI
PLL
GPIO
Boot
Pwr Down
2 Multi-Channel BSPs: Each offers up to 128-channel rcv/xmt
6-channels: facilitates transfers without CPU intervention
Host Port Interface: 8-bit interface to host processor
Boot Loader: Multiple ways to load program to volatile memory
Two 20-bit timers: Can generate timed-based interrupts
General Purpose I/O: 4 dedicated and 16 multipurpose pins
Phase Locked Loop: software programmable
Idle Modes: Power saving modes and features
C54xCPU
C5402
What does the DSK look like?17
Technical TrainingTechnical TrainingOrganizationOrganization
T TO
Romanin - Trestino Università degli studi di PadovaCapitolo 1, Slide 25
McBSP
C5402 McBSP
DRR
XSR DXR
Event
CPU
DMA
RBRRSR
Clock&
FrameControl
Multi-ChannelControl
RINT
XINT
DR
DX
CLKRCLKXFSRFSX
Data
Bus
DMA
Bus
Full duplex direct interface to codecs and other serial devices Max bit rate: 1/2 CPU Clock Rate Word length: 8-, 12-, 16-, 20-, 24-, 32-bit Multi-channel operation supports up to 128 channels Support for ulaw/A-law companding built in
What is the CPU busy doing ?Technical TrainingTechnical TrainingOrganizationOrganization
TT TOTO66
top related