IL DSP - Digital Signal Processor



Documenti analoghi
Architettura hardware

Il processore. Il processore. Il processore. Il processore. Architettura dell elaboratore

introduzione I MICROCONTROLLORI

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

CPU. Maurizio Palesi

Architettura del calcolatore

Struttura del calcolatore

Esame di INFORMATICA

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

Architetture DSP. Capitolo 6

Dispensa di Informatica I.1

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

SISTEMI DI NUMERAZIONE E CODICI

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

C. P. U. MEMORIA CENTRALE

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

Architettura dei calcolatori I parte Introduzione, CPU

Quinto Homework. Indicare il tempo necessario all'esecuzione del programma in caso di avvio e ritiro fuori ordine.

Il Processore: i registri

Calcolatori Elettronici A a.a. 2008/2009

1.4a: Hardware (Processore)

Calcolo numerico e programmazione Architettura dei calcolatori

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

Elettronica dei Sistemi Programmabili

Logica e codifica binaria dell informazione

Laboratorio di Informatica

Digital Signal Processors

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

PROVA INTRACORSO TRACCIA A Pagina 1 di 6

Architettura di un calcolatore

Corso di Calcolatori Elettronici I A.A Il processore Lezione 18

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche

Input/Output. Moduli di Input/ Output. gestiscono quantità di dati differenti a velocità diverse in formati diversi. n Grande varietà di periferiche

L unità di controllo. Il processore: unità di controllo. Le macchine a stati finiti. Struttura della macchina a stati finiti

Vari tipi di computer

STRUTTURE DEI SISTEMI DI CALCOLO

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

Introduzione all'architettura dei Calcolatori

Informatica. Rappresentazione dei numeri Numerazione binaria

Architettura dei computer

8 Microcontrollori PIC

Memorie ROM (Read Only Memory)

La memoria centrale (RAM)

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

Dispositivi di rete. Ripetitori. Hub

(71,1), (35,1), (17,1), (8,1), (4,0), (2,0), (1,0), (0,1) 0, = 1, 431 0, = 0, 862 0, = 1, 792 0, = 1, 448 0, = 0, 896

Laboratorio di Informatica

DMA Accesso Diretto alla Memoria

Codifica binaria dei numeri

INTRODUZIONE ALL' INFORMATICA

Introduzione alle tecnologie informatiche. Strumenti mentali per il futuro

Il microprocessore 8086

CLASSE III A I.T.I. (ABACUS) SISTEMI DI ELABORAZIONE E TRASMISSIONE DEI DATI VERIFICA DI RECUPERO

Operazioni Aritmetiche e Codici in Binario Giuseppe Talarico 23/01/2013

L Unità Centrale di Elaborazione

PLC Programmable Logic Controller

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

Testi di Esercizi e Quesiti 1

La macchina di Von Neumann. Archite(ura di un calcolatore. L unità di elaborazione (CPU) Sequenza di le(ura. Il bus di sistema

I Thread. I Thread. I due processi dovrebbero lavorare sullo stesso testo

Tecniche per il progetto di sistemi elettronici tolleranti ai guasti

Informatica - A.A. 2010/11

Approccio stratificato

ARCHITETTURE MICROPROGRAMMATE. 1. Necessità di un architettura microprogrammata 1. Cos è un architettura microprogrammata? 4

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca.

SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI

Rappresentazione dei numeri in un calcolatore

Sistemi Operativi IMPLEMENTAZIONE DEL FILE SYSTEM. D. Talia - UNICAL. Sistemi Operativi 9.1

Lezione 5 Architettura degli elaboratori. Mauro Piccolo piccolo@di.unito.it

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

FONDAMENTI di INFORMATICA L. Mezzalira

Organizzazione della memoria

Aritmetica dei Calcolatori 1

Architettura di un sistema di calcolo

I componenti di un Sistema di elaborazione. CPU (central process unit)

LABORATORIO DI SISTEMI

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

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

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione.

NOZIONI ELEMENTARI DI HARDWARE E SOFTWARE

Ing. Paolo Domenici PREFAZIONE

Introduzione alle misure con moduli multifunzione (DAQ)

4. Operazioni aritmetiche con i numeri binari

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

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

Sistemi di Numerazione Binaria NB.1

Il sistema di I/O. Hardware di I/O Interfacce di I/O Software di I/O. Introduzione

Architettura di un calcolatore: introduzione

Scheduling della CPU. Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux

Architettura degli Elaboratori I Esercitazione 1 - Rappresentazione dei numeri

Il memory manager. Gestione della memoria centrale

INFORMATICA 1 L. Mezzalira

Progettaz. e sviluppo Data Base

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

La memoria - generalità

Lezione 3: Architettura del calcolatore

Codifica binaria dei numeri relativi

INFORMATICA. Il Sistema Operativo. di Roberta Molinari

I Digital Signal Processors 1

Corso di Sistemi di Elaborazione delle informazioni

Transcript:

IL DSP - Digital Signal Processor Processore dei segnali digitali 1. Generalità Il Digital Signal Processor (DSP, processore di segnali digitali) è un particolare tipo di microprocessore, ottimizzato per eseguire in maniera estremamente efficiente sequenze di istruzioni molto ricorrenti. I DSP sono classificati a seconda dell'ampiezza e del tipo di dato che sono in grado di processare: si parla ad esempio di DSP a 32 bit, 24 bit, 16 bit, con aritmetica a virgola fissa o mobile. Ogni DSP è adatto ad applicazioni specifiche: ad esempio, i DSP a 16 bit a virgola fissa sono impiegati per il condizionamento di segnali vocali e trovano il loro principale campo di applicazione nella telefonia (fissa e mobile), mentre i DSP a 32-bit in virgola mobile, avendo una dinamica molto superiore, sono principalmente impiegati nell' elaborazione di immagini e nella grafica tridimensionale. Altri campi di applicazione sono la robotica, i sistemi wireless, la navigazione, i radar, i GPS, l elaborazione audio, gli algoritmi nel dominio delle frequenze. I processori DSP possono essere raggruppati in due distinte categorie: 1. virgola mobile (floating-point); 2. virgola fissa (fixed-point). I DSP a virgola fissa hanno un costo minore perché richiedono un numero minore di silicio e presentano un numero inferiore di pin. La frequenza di clock è elevata e permettono risposte molto rapide. E importante però notare che la frequenza di clock elevata non garantisce a priori elevata velocità in quanto bisogna anche considerare quante istruzioni si riescono ad eseguire per periodo di clock. L inconveniente dell architettura a virgola fissa è dato dall overflow: infatti, se consideriamo un processore a 16 bit possiamo rappresentare ad esempio i numeri tra -32768 a +32768, con precisione di pari a 1. Pertanto, sono utilizzati dove è limitata la dinamica dei valori da trattare. I DSP a virgola mobile, sono più recenti ed esprimono i numeri impiegando una mantissa combinata con un esponente. Questo metodo di rappresentazione comporta una serie di vantaggi: intervallo di rappresentazione dei dati dinamico, errore relativamente piccolo, bassa probabilità che occorra l overflow. Permettono l uso di linguaggi ad alto livello e possono essere utilizzati quando sono richieste grandi quantità di memoria. Hanno però lo svantaggio di avere un costo maggiore rispetto ai DSP a virgola fissa. Il primo DSP lanciato sul mercato nel 1978 è stato l'intel 2920 e i suoi 2.5 MIPS (milioni di istruzioni per secondo) effettivi erano all'epoca una velocità altissima. Pag 1 di 6

2. Architettura I DSP sono caratterizzati da una architettura di Harvard e dalla presenza di un moltiplicatore accumulatore hardware (MAC). L'architettura Harvard è un'architettura che separa la memorizzazione dei dati da quella delle istruzioni. Il processore è quindi in grado di accedere in modo indipendente a dati e istruzioni, permettendo in questo modo un considerevole aumento della velocità di elaborazione. Questo aumento viene però compensato dalla presenza di circuiti più complessi all'interno del processore. ALU Memoria PROGRAMMI Unità di controllo Memoria DATI I/0 Le caratteristiche generalmente comuni ai diversi processori progettati secondo un'architettura Harvard sono quelle di seguito riportate: 1. doppio spazio di memoria (uno per i dati ed uno per le istruzioni del programma); 2. doppio bus (uno per l area dati ed uno per le istruzioni del programma); 3. unità aritmetico logica centrale; 4. unità aritmetico logica secondaria usata mentre è occupata l'unita' centrale; 5. porta seriale per comunicazioni ad alta velocità con eventuali altri DSP; 6. implementazione della memoria sul chip per evitare i frequenti accessi alla memoria esterna che rallenterebbero l'intero sistema. 3. Il moltiplicatore-accumulatore (MAC) I DSP devono comunemente svolgere un numero molto elevato di moltiplicazioni e addizioni, perché la maggior parte degli algoritmi per l'elaborazione dei segnali richiedono un operazione di moltiplicazione ed addizione cosi schematizzata: ( A * B ) + C. Questa operazione è tipicamente menzionata col nome MAC (Multiply ACcumulate). Nei processori general purpose la funzione di addizione (e sottrazione) non comporta grossi sforzi realizzativi (a livello hardware) e può essere eseguita in un singolo ciclo di clock mentre la funzione di moltiplicazione necessita di alcune centinaia di cicli di clock, poiché può essere vista come una serie di funzioni di addizione. Pag 2 di 6

I DSP implementano a livello hardware una funzione che realizza la moltiplicazione tra due numeri in un singolo ciclo di clock e completano il loro compito con un'addizione aggiuntiva, realizzando cosi l'operazione MAC in un solo ciclo di clock. Per effettuare questa operazione il DSP si avvale appunto del MAC, una circuiteria specifica in grado di eseguire moltiplicazioni e somme in tempi molto brevi. Le operazioni all interno MAC sono eseguite a 32 bit per evitare le conseguenze dell arrotondamento. I risultati delle moltiplicazioni sono sommati e accumulati nell accumulatore, da cui passano al bus dati tramite il registro di uscita. Lo schema a blocchi del MAC è riportato nella seguente figura. Dato A Dato B Registro A Registro B Moltiplicatore Registro Accumulatore Registro Uscita 4. Differenti tipologie di DSP DSP convenzionali Sono basati su una architettura di tipo tradizionale, caratterizzata dalla presenza di una memoria dati, da una memoria programma e da un moltiplicatore accumulatore. Hanno un basso costo e bassi consumi e sono utilizzati in quelle applicazioni che richiedono velocità operative non elevate e funzioni non complesse. A questa categoria appartengono i seguenti tipi: - TMS320C5X della Texas Instruments; - ADSP21XX dell Analog Devices; - DSP560XX della Motorola. DSP enhanced-conventional Sono un potenziamento dei DSP convenzionali, ottenuto senza introdurre innovazioni strutturali. Hanno un più ampio bus dati, maggiore memoria, set di istruzioni più ricco, istruzioni cache (utilizzo di una memoria ad accesso rapido), unità di calcolo parallelo, bassa potenza dissipata. Un esempio è la famiglia TMS320C54X. DSP multi-issue Sono caratterizzati da tecniche di elaborazione parallele che consentono un aumento delle prestazioni del DSP. Le tecniche più utilizzate sono le seguenti: 1. architettura VLIW (very large instruction word): così detta perché impiega ampie istruzioni, dove ogni istruzione è l insieme di istruzioni più brevi, che sono eseguite contemporaneamente in unità multiple. Pag 3 di 6

2. architettura superscalare: è caratterizzata dall avere più unità di esecuzione e quindi diverse istruzioni eseguite contemporaneamente; è durante l esecuzione del programma che si stabilisce quali istruzioni devono essere eseguite contemporaneamente; 3. architettura SIMD (single instruction multiple data): è caratterizzata dall avere istruzioni singole che possono operare su più dati, permettendo così l elaborazione di blocchi di dati; è realizzata con diverse unità di esecuzione e diversi bus dati. 5. Programmazione software Per la programmazione dei DSP si usa comunemente il linguaggio assembler, il linguaggio C o una combinazione di entrambi. Il linguaggio assembler permette di avere una maggiore velocità di esecuzione dei programmi ed è quindi utilizzato quando la frequenza di campionamento è elevata oppure quando è necessario eseguire molte operazioni in poco tempo. Il linguaggio C, essendo ad alto livello e strutturato, consente di facilitare la stesura e la comprensione del programma e di adattare in modo relativamente facile il programma scritto a diversi tipi di DSP. Quando si vuole conciliare la velocità di esecuzione con la facilità di lettura si usano entrambi i linguaggi, limitando l uso dell assembler alle soli parti di programma che richiedono alta velocità. 6. Caratteristiche di un DSP: TMS320C50 Il TMS320C50 è un DSP a 16 bit in virgola fissa con caratteristiche tali di performance, memoria e gestione della potenza che lo hanno reso uno standard industriale. Lo schema a blocchi è quello seguente. PROGRAM DATA RAM PROGRAM ROM SCAN-BASED EMULATION POWER MANAGMENT MULTIPLIER 16 x 16 ACCUMULATOR STATUS REGISTER ARITMETIC LOGIC UNIT ARUXLIARY REGISTER PARALLEL LOGIC UNIT SERIAL PORT PARALLEL PORT TDM TIMER SW WAITS Program/Data RAM e Program ROM La figura che segue mostra l organizzazione della memoria in due aree distinte e separate: sezione programmi e sezione dati. La sezione dedicata alle istruzioni del programma inizia con il Bootloader che carica sulla memoria Program/Data RAM un BUS Pag 4 di 6

programma nominato Kernel che permette l'inizializzazione della comunicazione con l'host PC tramite la porta seriale RS232. Alcune sezioni della memoria possono essere configurate sia per contenere dati sia istruzioni del programma, rendendo in tal modo il sistema adattabile alle diverse caratteristiche dei programmi. Se un programma necessita di un gran numero di dati, si alloca più memoria per essi e meno per le istruzioni, nel caso contrario si adotta la soluzione duale. Multiplier (16x16) Veloce moltiplicatore in virgola fissa che effettua con grande efficienza le fondamentali operazioni per l'elaborazione dei segnali digitali. Esegue una moltiplicazione tra due numeri binari di 16 bit restituendo un numero binario a 32 bit con segno. Unità Aritmetico Logica (ALU) L'ALU a 32 bit unitamente al registro accumulatore si comporta in modo analogo ad un processore general purpose che esegue operazioni aritmetiche (addizione e sottrazione) e operazioni logiche (and e or). L'uscita dell'unita' aritmetico logica è passata all'accumulatore. Shifter Esegue lo shift destro e sinistro, ponendo i bit meno significativi col valore zero. Accumulatore L'accumulatore è un registro general purpose a 32 bit completo di buffer. È utilizzato dal moltiplicatore, dalla memoria, dall'alu e dallo shifter per una spedita memorizzazione dei dati. Registri ausiliari Questo modello di DSP è dotato di otto registri ausiliari che possono essere configurati come registri di memorizzazione temporanei o come registri per l'indirizzamento indiretto. Registri di stato e controllo Sono quattro e servono per governare le funzionalità del processore. PLU (Parallel Logic Unit) L unità logica parallela effettua operazioni sui dati senza influire sul contenuto del registro accumulatore. Emulazione Scan-Based La logica di scansione è usata solo per scopi di test ed emulazione e può essere usata per testare la connettività pin a pin ed anche test su dispositivi periferici. Porta seriale La porta seriale di I/O connette il processore con i dispositivi esterni ad esso, quali ad esempio convertitori A/D o D/A, frequentemente utilizzati nelle applicazioni con DSP. TDM (Time Division Multiplexed) Pag 5 di 6

La TDM costituisce una porta seriale usata per i sistemi multi-processori. Essa consente la comunicazione con un massimo d'altri sette processori TMS320C50. Timer Il processore incorpora un circuito temporizzatore programmabile dall'utente. Stati d attesa software La possibilità di generare stati d'attesa via software permette di interfacciarsi ai dispositivi di memoria più lenti senza il bisogno di un hardware esterno Porte parallele di I/O Il processore TMS320C50 possiede 64K di porte parallele I/O indirizzabili. Gestione della potenza Il processore riesce a gestire il consumo d'energia elettrica in modo intelligente, portandosi in uno stato inattivo quando esso non è usato, caratteristica di fondamentale importanza per aumentare in modo considerevole la vita delle batterie d'alimentazione. Pag 6 di 6