Digital Signal Processors



Похожие документы
Architettura hardware

Elettronica dei Sistemi Programmabili

IL DSP - Digital Signal Processor

Valutazione delle Prestazioni. Valutazione delle Prestazioni. Architetture dei Calcolatori (Lettere. Tempo di risposta e throughput

Prestazioni CPU Corso di Calcolatori Elettronici A 2007/2008 Sito Web: Prof. G. Quarella prof@quarella.

Architettura dei calcolatori I parte Introduzione, CPU

Informatica. Rappresentazione dei numeri Numerazione binaria

MESSA IN SCALA DI ALGORITMI DIGITALI

CALCOLATORI ELETTRONICI A cura di Luca Orrù. Lezione n.7. Il moltiplicatore binario e il ciclo di base di una CPU

Digital Signal Processing: Introduzione

Informatica 3. Informatica 3. LEZIONE 10: Introduzione agli algoritmi e alle strutture dati. Lezione 10 - Modulo 1. Importanza delle strutture dati

Memoria Secondaria o di Massa

Calcolo numerico e programmazione Architettura dei calcolatori

In realtà, non un solo microprocessore, ma un intera famiglia, dalle CPU più semplici con una sola pipeline a CPU molto complesse per applicazioni ad

Architetture DSP. Capitolo 6

Logica e codifica binaria dell informazione

Esame di INFORMATICA

Circuiti amplificatori

L Unità Centrale di Elaborazione

Informatica - A.A. 2010/11

Introduzione. Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD... 6

Introduzione all acquisizione Dati

introduzione I MICROCONTROLLORI

Introduzione all'architettura dei Calcolatori

SISTEMI DI ACQUISIZIONE

CALCOLATORI ELETTRONICI A cura di Luca Orrù. Lezione n.6. Unità di controllo microprogrammata

Un circuito integrato è una piastrina di silicio (o chip), quadrata o rettangolare, sulla cui superficie vengono realizzati e collegati

Laboratorio di Informatica

CPU. Maurizio Palesi

La memoria centrale (RAM)

L informatica INTRODUZIONE. L informatica. Tassonomia: criteri. È la disciplina scientifica che studia

Più processori uguale più velocità?

Sistemi di Numerazione

La Moneta e i Mercati Monetari. Introduciamo una nuova definizione della domanda di moneta (domanda di moneta di tipo keynesiano)

I sistemi di numerazione

C. P. U. MEMORIA CENTRALE

Introduzione alle misure con moduli multifunzione (DAQ)

Architettura (10/9/2003) Pag. 1/6. Cognome e Nome (in stampatello):

2.12 Esercizi risolti

Architettura degli Elaboratori I Esercitazione 1 - Rappresentazione dei numeri

Lezione 3: Architettura del calcolatore

DMA Accesso Diretto alla Memoria

Struttura del calcolatore

INTRODUZIONE AI SISTEMI EMBEDDED

Informatica di Base - 6 c.f.u.

Informatica B a.a 2005/06 (Meccanici 4 squadra) PhD. Ing. Michele Folgheraiter

Tecniche per il progetto di sistemi elettronici tolleranti ai guasti

A/D CON PIC 16F877. Sommario INTRODUZIONE... 2 SELEZIONARE I BANCHI... 2 ADCON ADCS1, ADCS CH2, CH1 E CH GO/DONE... 6 ADON...

Architettura di un calcolatore

Sistemi Elettronici #1. Sistemi Elettronici. Definizioni e concetti generali. Sistemi Elettronici Laurea Triennale in Elettronica A.A.

- Algoritmi ed esecutori di algoritmi - ALGORITMI MACCHINA DI VON NEUMANN

Il calcolatore elettronico. Parte dei lucidi sono stati gentilmente forniti dal Prof. Beraldi

Esercitazioni su rappresentazione dei numeri e aritmetica dei calcolatori"

Sommario. Addizione naturale

ESEMPIO 1: eseguire il complemento a 10 di 765

Lez. 3 L elaborazione (II parte) Prof. Pasquale De Michele Gruppo 2

Capitolo 4: Ottimizzazione non lineare non vincolata parte II. E. Amaldi DEIB, Politecnico di Milano

Codifica binaria dei numeri

ARCHITETTURA DEL CALCOLATORE

Informatica di base. Hardware: CPU SCHEDA MADRE. Informatica Hardware di un PC Prof. Corrado Lai

INFORMATICA CORSO DI INFORMATICA DI BASE ANNO ACCADEMICO 2015/2016 DOCENTE: SARRANTONIO ARTURO

Architettura hardware

Arduino UNO. Single board microcontroller

Architettura del computer (C.Busso)

Vari tipi di computer

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione in virgola mobile

Corso di Architettura degli Elaboratori

Calcolatori Elettronici. La memoria gerarchica La memoria virtuale

Rappresentazione dei numeri in un calcolatore

Architettura del calcolatore

Ammortamento di un debito

LabVIEW offre un ambiente di programmazione grafica

SISTEMI DI NUMERAZIONE E CODICI

Scheduling. Lo scheduler è la parte del SO che si occupa di

Informatica Generale (Prof. Luca A. Ludovico) Presentazione 5.1 Operazioni aritmetiche nel sistema binario

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo.

Sistemi Operativi mod. B. Sistemi Operativi mod. B A B C A B C P P P P P P < P 1, >

Informazione analogica e digitale

Introduzione. Rappresentazione di numeri in macchina, condizion

1. Che cos è la multiprogrammazione? Si può realizzare su un sistema monoprocessore? 2. Quali sono i servizi offerti dai sistemi operativi?

SISTEMI DI NUMERAZIONE IL SISTEMA DECIMALE

Introduzionee principali classificazioni

Lez. 5 Memorie Secondarie

Circuiti sequenziali e elementi di memoria

Codifica binaria dei numeri relativi

Rappresentazione di informazioni con un alfabeto finito

RISCHIO E CAPITAL BUDGETING

Organizzazione della memoria principale Il bus

Sistemi Operativi IMPLEMENTAZIONE DEL FILE SYSTEM. Implementazione del File System. Struttura del File System. Implementazione

Il Processore: i registri

Транскрипт:

Politecnico di Milano Digital Signal Processors Mariagiovanna Sami

Le classi di CPU Di tipo generale ad alte prestazioni: Usate per sw di tipo generale Sistemi operativi pesanti - UNIX, NT Workstations, PC Processori Embedded e core in sistemi sul chip (SoC) Un solo programma Sistemi operativi leggeri, spesso di tempo reale Support per l elaborazione digitale di segnale (DSP) terlefoni cellulari, elettronica consumer (es. CD o DVD players) Microcontrollori Bassissimi costo Parola breve spesso 8 bit Altissimo volume di produzione Costi crescenti Volumi di produzione crescenti - 2-2007-

I DSP: Introduzione Elaborazione numerica del segnale (Digital Signal Processing): applicazion di operazioni matematiche a segnali rappresentati in forma numerica come sequenze di campioni I segnali digitali sono ottenuti da quelli fisici mediante trasduttori (es., microfoni) e convertitori analogico-digitali (ADC) I segnali digitali sono riconvertiti in segnali fisici mediante convertitori digitale-analogico (DAC) Digital Signal Processor (DSP): un sistema elettronico che elabora segnali in forma numerica. - 3-2007-

Algoritmi e applicazioni più comuni per DSP Applicazioni: Strumenti a misure Communicazioni Elaborazione audio e video Grafica, 3- D rendering Guida alla navigazione, radar, GPS Controlli - robotica, visione di macchina, guida Algoritmi Filtraggio nel dominio delle frequenze - FIR and IIR Trasformate nel dominio delle frequenze - FFT Correlazione - 4-2007-

Cosa deve fare bene un DSP? La maggior parte dei compiti DSP richiedono: Calcoli numerici ripetitivi Attenzione alla fedeltà numerica Elevata banda di memoria, organizzata prevalentemente in accessi ad array; Elaborazione in tempo reale. I DSP devono operare in modo efficiente e minimizzare: Costo Potenza Uso di memoria Tempo di sviluppo. - 5-2007-

Perché è un settore critico? DSP: tecnologia abilitante per molti tipi di prodotti elettronici; Le operazioni DSP-intensive sono il collo di bottiglia in molte applicazioni dei calcolatori I requisiti computazionali delle operazioni DSPintensive crescono molto rapidamente In molte applicazioni embedded, oggi i microprocessors di tipo generale non sono competitivi con i processori di tipo Mercato che si misura in miliardi di dollari, anche se le singole unità costano pochissimi dollari! - 6-2007-

DSP: le origini I DSP sono un evoluzione degli Analog Signal Processors, che usavano circuiti analogici per trasformare i segnali fisici Si è passati da ASP a DSP perchè I DSP non sono sensibili all ambiente (es., se funziona, la risposta non dipende dalle condizioni climatiche!) Le prestazioni del DSP sono identiche anche a fronte di tolleranze dei componenti; il comportamento dei sistemi analogici dipende fortemente dalle tolleranze dei componenti - 7-2007-

DSP o CPU General Purpose? In genere sui DSP si fa girare un solo programma, non molti programmi sistemi operativi molto più semplici, non si usano memoria virtale o protezioni Sui DSP a volte firano applicazioni di tempo reale stretto, quindi: Si deve render conto di tutto quanto può accadere in un interrvallo di tempo, in particolare di tutti i possibili interrupt o eccezioni (il tempo che potrebbero richiedere deve essere sottratto dall intervallo di tempo) le eccezioni sono da evitare! I DSP hanno un flusso di dati infinito e continuo. - 8-2007-

Caratteristiche comuni a molti DSP Data path configurato per l elaborazione di segnale Insieme di istruzioni specializzato Più banchi di memoria e bus Modi di indirizzamento specializzati Controllo dell esecuzione specializzato Periferiche specializzate per DSP - 9-2007-

Il Data Path di un DSP: l aritmetical I DSP trattano numeri che rappresentano il mondo reale occorrono i numeri reali e le frazioni I DSP trattano numeri che rappresentano indirizzi occorrono i numeri interi Si devono supportare virgola fissa e interi S. -1 x < 1 Punto decimale S. 2 N 1 x < 2 N 1 Punto decimale - 10-2007-

Il Data Path di un DSP: la precisione La lunghezza della parola influenza la precisione dei numeri in virgola fissa; DSP: Parole dati di 16, 20 o 24 bit I DSP dotati di virgola mobile costano da 2 a 4 volte quelli dotati di virgola fiussa e sono più lenti I programmatori di DSP programmers scalano i valori nel programma Librerie SW Esponente esplicito separato Virgola mobile bloccata un solo esponente per un gruppo di frazioni - 11-2007-

Il Data Path di un DSP: e l overflow? l Pensando alla soluzione analogica: che fare quando si raggiunge il fine corsa? (es., alzando il volume dello stereo). Ricorrere all aritmetica in modulo? Il massimo valore positivo è (2 N 1 1), il più negativo è ( 2 N 1 ) : saturazione Si sono sviluppati molti algorimi basandosi su questo modello. - 12-2007-

Il Data Path di un DSP: il moltiplicatore Hardware specializzato che compie tutte le operazioni aritmetiche fondamentali in 1 ciclo 50% delle istruzioni possono coinvolgere il moltiplicatore moltiplicatore con latenza di un solo ciclo Operazione spesso necessaria: multiplyaccumulate (MAC) Moltiplicatore a n-bit prodotto di 2n-bit. - 13-2007-

Il Data Path di un DSP: l accumulatorel Si vuole evitare sia l overflow sia la necessità di scalare l accumulatore Prima opzione: accumulatore più grande del prodotto: bit di guardia Es.: Motorola DSP: 24b x 24b prodotto di 48b, Accumulatore di 56b Seconda opzione: scorrimento a destra e arrotondamento prima dell addizionatore Multiplier Multiplier Shift ALU ALU Accumulator G Accumulator - 14-2007-

Il Data Path di un DSP: l arrotondamento Anche usando i bit di guardia, occorre arrotondare quando si trasferisce il risultato dall accumulatore alla memoria. Ci sono tre opzioni standard: Troncamento: si tagliano i bit meno significativi si polarizza il risultato verso i valori più alti Arrotondamento al valore più prossimo: < 1/2 si arrotonda verso il basso, 1/2 si arrotonda verso l alto (più positivo) la polarizzazione è inferiore Convergente: < 1/2 si arrotonda verso il basso, > 1/2 si arrotonda verso l alto (più positivo), = 1/2 si arrotonda portando a zero il bit meno signioficativo (+1 se 1, +0 se 0) non c è polarizzazione. - 15-2007-

La memoria dei DSP Es.: il filtro FIR richiede più accessi alla memoria il DSP chiede più porte dati della memoria Alcuni DSP hanno tecniche speciali per ridurre la richiesta di banda di memoria: Instruction repeat buffer : si ripete fino a 256 volte un istruzione (utile per i cicli interni) Spesso si disabilita l interrupt, Alcuni DSP nuovi hanno la cache istruzione, possono permettere al programmatore di bloccare ( lock in ) istruzioni nella cache Nessun DSP ha cache dati; possono esserci più memorie dati - 16-2007-

DSP: l indirizzamentol Si usano i modi di indirizzamento standard: immediato, a spiazzamento, indiretto da registro ipotesi: qualsiasi istruzione in più implica ulteriori cicli di clock per i loop interni vanno bene modi di indirizzamento complessi, a patto di non usare il data path per calcolarli! Spesso usato: indirizzamento indiretto da registro con autoincremento/autodecremento lw r1,0(r2)+ => r1 <- M[r2]; r2<-r2+1 Si può usarlo prima dell indirizzamento, con passo positivo o negativo - 17-2007-

L indirizzamento per i DSP: i buffer I DSP trattano I/O continuo Spesso interagiscono con un buffer di I/O (linee di ritardo) Per risparmiare memoria, il buffer è spesso organizzato com un buffer circolare What can do to avoid overhead of address checking instructions for circular buffer? Ogni DSP ha indirizzamento in modulo o circolare addressing Altri modi di indirizzamento consentono di ottimizzare gli accessi ai dati per algoritmi particolari (es. FFT). - 18-2007-

DSP: le istruzioni Si possono specificare più operazioni in una sola istruzione Si deve supportare la Multiply-Accumulate (MAC) Di norma c è speciale supporto per i costrutti di ciclo in modo da ridurre il sovraccarico dovuto ai salti condizionali (es., Loop su un istruzione o una sequenza di istruzioni) Può essere usata aritmetica saturane Può esserci essecuzione condizional o predicata per ridurre i salti condizionati - 19-2007-