Romanin - Trestino Università degli studi di Padova Capitolo 1, Slide 1 Introduzione ai processori...

25
Romanin - Trestino Università degli studi di tolo 1, Slide 1 Introduzione ai processori TMS Introduzione ai processori TMS 320C5402 320C5402 Università degli studi di Padova Università degli studi di Padova Dipartimento di Ingegneria della Dipartimento di Ingegneria della Informazione Informazione C5402

Transcript of Romanin - Trestino Università degli studi di Padova Capitolo 1, Slide 1 Introduzione ai processori...

Page 1: Romanin - Trestino Università degli studi di Padova Capitolo 1, Slide 1 Introduzione ai processori TMS 320C5402 Università degli studi di Padova Dipartimento.

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

Page 2: Romanin - Trestino Università degli studi di Padova Capitolo 1, Slide 1 Introduzione ai processori TMS 320C5402 Università degli studi di Padova Dipartimento.

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.

Page 3: Romanin - Trestino Università degli studi di Padova Capitolo 1, Slide 1 Introduzione ai processori TMS 320C5402 Università degli studi di Padova Dipartimento.

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.

Page 4: Romanin - Trestino Università degli studi di Padova Capitolo 1, Slide 1 Introduzione ai processori TMS 320C5402 Università degli studi di Padova Dipartimento.

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).

Page 5: Romanin - Trestino Università degli studi di Padova Capitolo 1, Slide 1 Introduzione ai processori TMS 320C5402 Università degli studi di Padova Dipartimento.

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).

Page 6: Romanin - Trestino Università degli studi di Padova Capitolo 1, Slide 1 Introduzione ai processori TMS 320C5402 Università degli studi di Padova Dipartimento.

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

Page 7: Romanin - Trestino Università degli studi di Padova Capitolo 1, Slide 1 Introduzione ai processori TMS 320C5402 Università degli studi di Padova Dipartimento.

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

Page 8: Romanin - Trestino Università degli studi di Padova Capitolo 1, Slide 1 Introduzione ai processori TMS 320C5402 Università degli studi di Padova Dipartimento.

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

Page 9: Romanin - Trestino Università degli studi di Padova Capitolo 1, Slide 1 Introduzione ai processori TMS 320C5402 Università degli studi di Padova Dipartimento.

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

Page 10: Romanin - Trestino Università degli studi di Padova Capitolo 1, Slide 1 Introduzione ai processori TMS 320C5402 Università degli studi di Padova Dipartimento.

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:

Page 11: Romanin - Trestino Università degli studi di Padova Capitolo 1, Slide 1 Introduzione ai processori TMS 320C5402 Università degli studi di Padova Dipartimento.

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.

Page 12: Romanin - Trestino Università degli studi di Padova Capitolo 1, Slide 1 Introduzione ai processori TMS 320C5402 Università degli studi di Padova Dipartimento.

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.

Page 13: Romanin - Trestino Università degli studi di Padova Capitolo 1, Slide 1 Introduzione ai processori TMS 320C5402 Università degli studi di Padova Dipartimento.

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).

Page 14: Romanin - Trestino Università degli studi di Padova Capitolo 1, Slide 1 Introduzione ai processori TMS 320C5402 Università degli studi di Padova Dipartimento.

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

Page 15: Romanin - Trestino Università degli studi di Padova Capitolo 1, Slide 1 Introduzione ai processori TMS 320C5402 Università degli studi di Padova Dipartimento.

Romanin - Trestino Università degli studi di PadovaCapitolo 1, Slide 15

Schema a blocchi del DSPSchema a blocchi del DSP

Page 16: Romanin - Trestino Università degli studi di Padova Capitolo 1, Slide 1 Introduzione ai processori TMS 320C5402 Università degli studi di Padova Dipartimento.

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

Page 17: Romanin - Trestino Università degli studi di Padova Capitolo 1, Slide 1 Introduzione ai processori TMS 320C5402 Università degli studi di Padova Dipartimento.

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

Page 18: Romanin - Trestino Università degli studi di Padova Capitolo 1, Slide 1 Introduzione ai processori TMS 320C5402 Università degli studi di Padova Dipartimento.

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

Page 19: Romanin - Trestino Università degli studi di Padova Capitolo 1, Slide 1 Introduzione ai processori TMS 320C5402 Università degli studi di Padova Dipartimento.

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 ...

Page 20: Romanin - Trestino Università degli studi di Padova Capitolo 1, Slide 1 Introduzione ai processori TMS 320C5402 Università degli studi di Padova Dipartimento.

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

Page 21: Romanin - Trestino Università degli studi di Padova Capitolo 1, Slide 1 Introduzione ai processori TMS 320C5402 Università degli studi di Padova Dipartimento.

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

Page 22: Romanin - Trestino Università degli studi di Padova Capitolo 1, Slide 1 Introduzione ai processori TMS 320C5402 Università degli studi di Padova Dipartimento.

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

Page 23: Romanin - Trestino Università degli studi di Padova Capitolo 1, Slide 1 Introduzione ai processori TMS 320C5402 Università degli studi di Padova Dipartimento.

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

Page 24: Romanin - Trestino Università degli studi di Padova Capitolo 1, Slide 1 Introduzione ai processori TMS 320C5402 Università degli studi di Padova Dipartimento.

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

Page 25: Romanin - Trestino Università degli studi di Padova Capitolo 1, Slide 1 Introduzione ai processori TMS 320C5402 Università degli studi di Padova Dipartimento.

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