DSP Digital Signal Processors Edizione 2004

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "DSP Digital Signal Processors Edizione 2004"

Transcript

1 Insegnamenti di Sistemi Elettronici Dedicati 1 (Corso di Laurea in Ingegneria Elettronica) Sistemi Elettronici Digitali1 (Corso di Laurea Specialistica in Ingegneria delle Telecomunicaizoni) DSP Digital Signal Processors Edizione 2004 Rodolfo Zunino

2 1. Introduzione: caratteristiche descrittive dei DSP L elaborazione dei segnali digitali rappresenta i segnali analogici del mondo reale con una sequenza discreta di numeri discreti ed elabora tali numeri per estrarre informazioni od operare trasformazioni su questi segnali. La famiglia di processori che realizzano tali operazioni sono noti come DSP (Digital Signal Processors). Possiamo convertire i segnali analogici in digitali attraverso un processo di conversione A/D, elaborare i segnali con i DSP e, se questo è necessario, portare i segnali di nuovo in uscita nel mondo analogico attraverso una conversione D/A. Rispetto ad un sistema analogico, i sistemi elettronici digitali sono maggiormente insensibili al rumore provocato da cambiamenti di temperatura, umidità o da altri fattori. Altri vantaggi rispetto ad un sistema analogico riguardano la facile riprogrammabilità per altre applicazioni e la predicibilità dei risultati, caratteristiche tipiche dei sistemi digitali. Nell ambito del Signal Processing, i DSP offrono il supporto ottimizzato a ben precisi algoritmi di riferimento; in quanto tali, i DSP possono esser visti come componenti dedicati alla classe di algoritmi numerici per l elaborazione di segnali digitali. Un DSP unisce velocità e potenza di calcolo per elaborare i dati in tempo reale. Questa sua capacità lo rende perfetto per applicazioni che non possono tollerare ritardi nelle risposte del sistema. Non è sempre vero che un DSP è meno potente di un microprocessore: infatti, anche se la sua frequenza di clock (~200MHz) è notevolmente inferiore a quella dei microprocessori classici, il DSP per le applicazioni per cui è stato pensato si rivela più veloce di microprocessori come il Pentium. In generale, si dice che il DSP è un componente dedicato, application dependent, mentre il microprocessore è un general purpose. Prestazioni Infatti un microprocessore general purpose può essere estremamente performante nel processo di database e nell elaborazione di fogli elettronici, ma avere invece delle difficoltà nell elaborare segnali audio e video in real time. Questo compito può essere svolto efficacemente da un DSP, che non ripone le sue potenzialità in una frequenza di clock elevata, ma in un architettura diversa da quella di un microprocessore. Criteri di progetto Dato un progetto possono essere diverse le opzioni di scelta, visto che più di un processore può implementare le funzioni richieste. Quindi la soluzione progettuale opportuna sta nel scegliere il migliore DSP fra quelli disponibili. Ciò si ottiene valutando la performance, le dimensioni, la potenza consumata, le caratteristiche, il software ed i tools che ottimizzano i tempi di sviluppo, tenendo sotto controllo i costi. Esiste un tempo di longevità maggiore per i DSP rispetto ai microprocessori. Dopo più di vent'anni dalla loro comparsa, i DSP continuano ad essere processori competitivi: essi sono al centro dell'elaborazione digitale dei segnali. La clock rate di un DSP è limitata dalla potenza che può essere consumata e dall architettura di sviluppo: la lunghezza delle linee di bus di una scheda è limitata per non trasformare tali linee in antenne indesiderate. Viene limitata la frequenza (es. 200MHz 40MHz). Nel DSP le schede sono molto compatte: questo può essere facilmente comprensibile, dato il tipo di applicazioni in cui i DSP sono utilizzati (un esempio per tutti è il telefono cellulare). Se prevale l aspetto controllistico e non l elaborazione si parla di microcontrollori. 2

3 Ulteriori differenze tra i DSP ed i microprocessori: Sample rate: definisce la massima frequenza di campionamento (ad es. 44KHz del CD), dipende dal segnale che deve essere elaborato. Assieme alla complessità dell algoritmo determina la velocità del DSP. Rappresentazione numerica: a interi (16 bit), oppure a floating point (32 bit). Le operazioni aritmetiche come addizioni e moltiplicazioni sono il cuore degli algoritmi dei DSP. Di conseguenza, la scelta della rappresentazione numerica ha una profonda influenza sul comportamento e sulle prestazioni degli stessi DSP. Esistono DSP che non trattano la rappresentazione in virgola mobile, ma lavorano solo con grandezze in virgola fissa. I DSP costano in genere qualche decina di dollari: sono spesso inseriti in sistemi per i quali è determinante avere un prezzo contenuto, come i telefoni cellulari o i modem. Il costo dei DSP, così come il loro mercato, è molto differenziato. Si parla comunque di lotti di produzione, come per i microprocessori. D/A : capacità di avere un interfaccia digitale/analogica Bisogna pure considerare che un DSP è di solito molto longevo (anche 20 anni), nonché molto affidabile, grazie al lavoro di testing. Tutt altro discorso vale per i microprocessori. 1.1 Che cosa fa un DSP: caratteristiche operative MAC: moltiplicazione + addizione simultaneamente La maggior parte degli algoritmi per l elaborazione dei segnali richiede un operazione di moltiplicazione ed addizione del tipo: ( B C ) D A = + Questa operazione, multiply and accumulate, in un DSP viene effettuata in un solo ciclo di clock. L operazione di MAC è utile in algoritmi che prevedono il calcolo di prodotti fra vettori, come accade per i filtri digitali e per le trasformate di Fourier. Per poter disporre di questa caratteristica, i DSP presentano moltiplicatore ed accumulatore integrati nella stessa unità aritmetica, chiamata datapath. Accesso multiplo in memoria Un altra caratteristica importante dei DSP è la capacità di compiere più accessi in memoria in uno stesso ciclo di istruzione. Questo permette al processore di caricare simultaneamente un istruzione ed i suoi operandi, oppure di salvare in memoria il risultato dell operazione precedente. Tutto questo grazie alla presenza di due bus indirizzi e due bus dati: aumenta il throughput, ovvero il tasso di emissione di dati in uscita rispetto al flusso di dati in ingresso. 3

4 Set di istruzioni specifico Per far sì che le operazioni aritmetiche siano calcolate alla massima velocità e che in una singola istruzione siano specificati più operandi, i DSP fanno ricorso ad un set di istruzioni specifico. Questo set riguarda i modi di indirizzamento (addressing modes). I DSP incorporano unità di generazione degli indirizzi, address generation units, che gestiscono la formazione del nuovo indirizzo in parallelo all esecuzione delle istruzioni aritmetiche. Loop control in hardware Gli algoritmi dei DSP contengono frequentemente istruzioni che devono essere ripetute. Invece di aggiornare un contatore o di eseguire un salto di istruzione all inizio del loop, i DSP risolvono questo problema via hardware. Esistono infatti delle strutture hardware che effettuano il controllo dei loop: alcune permettono di ripetere per un numero fissato di volte una singola istruzione, altre ripetono un blocco di istruzioni un certo numero di volte (Single- e Multi-Instruction Hardware Loops). I/O interface Per conseguire gli obiettivi di costi contenuti ed alte performance in I/O, molti DSP incorporano una o più interfacce seriali o parallele; inoltre essi utilizzano il direct memory access (DMA). Spesso le interfacce sono direttamente collegate ai convertitori A/D e D/A. Esistono diversi modi di lavorare con un DSP: 1) Evaluation board Scheda (kit) a basso costo a scopo tutorial Si interfaccia di solito via parallela Bassa clock rate (comunque apprezzabile: MHz) Facile da usare (come di solito anche il compilatore fornito insieme ad essa) Il limite dell evaluation board non è la clock rate bassa, ma soprattutto la connessione via parallela che determina un basso throughput. 2) Scheda professionale Interfaccia PCI Elevata clock rate Facile da usare Lavora come un coprocessore Da in su Alcune sono espandibili: si può sostituire il DSP o lavorare con multiprocessore. Deve essere ben interfacciata con il computer, dato che un coprocessore deve rispettare le esigenze di calcolo dell unità host.. 3) Scheda custom Costo elevatissimo Hardware: non nel progetto, ma nel testing, molto impegnativo. Software: se si passa alla fase 3 vuol dire che il passo 2 non basta. Spazio ridotto La scheda custom serve per realizzare un prototipo: il prodotto finale sarà diverso da questo (nessuna pista di testing, ). 4

5 4) DSP core embedding Realizzato su chip e non su scheda Il DSP core embedding si usa da parte di un azienda, quando il layout di un DSP è utilizzato come sottosistema del proprio processore (es. telefoni cellulari). Una via di mezzo fra 3 e 4 è quella di inserire un DSP in un MultiChip Module (MCM). I DSP servono all industria di consumer electronics; queste sono alcune delle applicazioni: Audio production, audio consumer, wireless communications, motor control, radar, sonar, biomedical, voice over internet, satellite communications, digital cell phones, digital cameras, digital TV, speech processing, seismic processing, instruments, music effects, music synthesis. I maggiori produttori mondiali di DSP sono Texas Instruments, Analog Devices, Motorola. ST Microelectronics, presente in Italia, produce DSP per un mercato advanced ma in un certo qual modo di nicchia. 5

6 2. Rappresentazione Numerica I processori DSP possono essere raggruppati in due categorie, a seconda della rappresentazione numerica adottata: Virgola fissa (fixed point) Virgola mobile (floating point) I DSP in virgola fissa sono caratterizzati dal rappresentare un numero in un intervallo fissato con precisione finita. Valori tipici per la rappresentazione ad interi sono 16, 24 e 32 bit. Le principali caratteristiche di questi processori: Minore complessità rispetto ai floating point Costo minore dell hardware Maggiore velocità per applicazioni dedicate I DSP in virgola mobile sono più recenti di quelli in virgola fissa ed esprimono i numeri impiegando una mantissa combinata con un esponente. Questo metodo di rappresentazione comporta: Complessità superiore nell architettura VLSI Precisione maggiore Facilità di gestione software Tempo di sviluppo minore Si commettono errori proporzionali alla grandezza dei numeri Alto rapporto signal / noise Intervallo di rappresentazione dinamico L intervallo di rappresentazione varia caso per caso: 16 bit: l intervallo di rappresentazione va da a (per grandezze unsigned, da 0 a ). 32 bit (fixed point): l intervallo di rappresentazione va da 0 a bit (floating point): l intervallo va da a Per i DSP a floating point si parla di 32 bit ( 24 per la mantissa e 8 per l esponente ). In un DSP non è garantita la coesistenza di ottimizzazione per floating point ed interi. Si può definire il concetto di precisione: precisione = max valore rappresentato max errore commesso in quantizzazione Al numeratore c è il massimo valore rappresentato (diverso da quello rappresentabile). In virgola mobile tale rapporto è costante, perché i gap fra due numeri consecutivi sono proporzionali alla grandezza dei numeri in questione: ci sono piccoli gap fra numeri piccoli e grandi gap fra numeri grandi. Questo effetto è dovuto al fatto che i valori rappresentati in virgola mobile non sono ugualmente spaziati fra gli estremi dell intervallo di rappresentazione, come avviene invece per i 6

7 fixed point. In virgola fissa la precisione cambia, perché non si riesce a sfruttare appieno la dinamica dei registri. Il rimedio per curare l errore di precisione è quello di operare un rescaling: si fa coincidere il massimo valore rappresentato con il massimo valore rappresentabile. Spesso le applicazioni DSP trattano segnali analogici, che devono essere convertiti in digitale. Il segnale analogico, continuo e variabile con precisione infinita, deve essere convertito in una serie discreta di misure che devono essere a loro volta rappresentate con valori digitali. Questo processo dà luogo a distorsione nella rappresentazione delle grandezze, chiamata errore di quantizzazione. Il rumore di quantizzazione Quando il segnale analogico è convertito in digitale la precisione è limitata dal numero di bit disponibile. La caratteristica del segnale deve essere rappresentata con una funzione a gradini, introducendo degli errori non lineari e dipendenti dal segnale. A tutto ciò si devono aggiungere gli errori dovuti alla precisione limitata nei calcoli aritmetici all interno del processore. Inoltre si commettono errori anche nella fase di conversione D/A in uscita. Un modo di descrivere il problema è considerare un aggiunta di rumore al segnale, attribuendo gli errori di quantizzazione alla presenza di random noise. Valutiamo il signal / noise ratio introdotto dalle due diverse rappresentazioni numeriche; Sia n il gap percentuale tra l n-mo numero ed il suo consecutivo. Nel caso floating-point, lo scarto assoluto tra un numero ed il suo immediato consecutivo e proporzionale al valore del numero (i due numeri hanno pari esponente e differiscono per un bit nella mantissa). Escludiamo gli effetti dovuti a coppie di numeri consecutivi in cui si hanno transizioni di esponente, quindi possiamo dire che l effetto della quantizzazione sulla precisione dipende solo dalla mantissa. Se questa, come vedremo, viene rappresentata tipicamente con 23 bits, il gap percentuale è costante e vale ( FP ) 23 1 ( FP ) 1 = 2 < < il che indica che un numero floating-point è rappresentato (mantissa) con una precisione di circa 7 cifre decimali. Diverso è il caso dei numeri a virgola fissa, in cui lo scarto assoulto tra due numeri consecutivi è costante (uguale a 1), e quindi il gap percentuale dipende dal valore rappresentato: ( ) = V INT 1 (dove V è il valore rappresentato) Siamo interessati a studiare l errore di quantizzazione, ε q. In ogni intervallo tra due numeri consecutivi, il suo andamento nell intervallo tra due numeri consecutivi è lineare: ½ n n ε q n(1 - /2) n (1+ /2) - ½ n n 7

8 e la sua distribuzione statistica sarà uniforme nell intervallo considerato, con valore 1/n n. Il rumore di quantizzazione, in ogni intervallo considerato ha media nulla: E{ε q }= 0. Se ora calcoliamo la varianza di ε q, si può derivare che: σ { ε q } E { ε q} = E{ ε q } = x p( x) 1 dx = 2 dx = n q = E x n n n 2 2 n n. Normalmente si studia la deviazione standard dell errore di quantizzazione, data dalla radice quadrata della varianza: σ 1 3 q n Ne risulta la deviazione standard dell errore di quantizzazione è proporzionale al gap percentuale. Nel caso dei numeri floating point, quindi, la deviazione standard dell errore di quantizzazione è costante entro ogni intervallo, e vale approssimativamente 1 parte su trenta milioni: 1 ( ) 6 σ FP q 10 ( numeri a 32 bit ) 3 Nel caso dei numeri interi il calcolo e più complesso; per numeri a 16 bit (i più usati nella pratica attuale) si ottiene: ( ) 4 σ INT = 10 q ( numeri a 16 bit ) Guardando la deviazione standard ci sono due-tre ordini di grandezza a favore della rappresentazione floating point. TAP nei Filtri FIR Siano x 1, x 2, i campioni del segnale, e c 1, c 2, i coefficienti pesati: y = x 1 c 1 + x 2 c 2 + x (n) x 1 c 1 +. x C 1 x C 2 La qualità di un filtro FIR è data dal numero di TAP, ad esempio ce ne possono essere 500: lungo la catena l errore si somma ad ogni TAP, per 500 volte. 8

9 L errore di quantizzazione in un DSP è un fattore strutturale, quello che si può e si deve fare è tenerne conto nello sviluppo dell algoritmo per evitare la propagazione degli errori dovuta ad un inefficiente implementazione delle operazioni. Vale infatti la seguente proprietà, dovuta all aumento nella dinamica numerica introdotta dalle operazioni (soprattutto dalle moltiplicazioni): Legge di conservazione dei bit In generale, quando si moltiplicano due numeri interi di lunghezza n-bit, per rappresentare il risultato senza introdurre errori occorrono 2n-bit. Una semplice moltiplicazione che introduce errore può essere: 7-bit 7-bit risultato 14-bit rescaling su 7 quantizzazione ed errore Si può ottenere una compensazione dell errore grazie agli accumulatori a precisione estesa (extended precision) presenti nel DSP: Per gli interi a 16 bit accumulatore da bit Per i floating point a 32 bit accumulatore da 80 bit Il range esteso elimina l errore di round-off (arrotondamento) quando l accumulazione è in svolgimento. L unico momento in cui permane il round-off noise è quando l accumulatore viene scalato e caricato in memoria. Viene fatto ricorso a tutti questi accorgimenti per mantenere la massima dinamica possibile. Standard di rappresentazione Il formato più comune per la rappresentazione dei numeri fixed point è il Qn format. Questo standard, che incorpora le potenzialità offerte dalla notazione in complemento a 2, è molto utile per rappresentare le frazioni e i numeri decimali: n indica il numero di bit dopo la virgola, che è implicita. Per rappresentare i numeri in Q15 sono necessari 16 bit: uno per il segno. Sia dato il numero binario in formato Q7 e si voglia trovare l equivalente in decimale: posizione Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 peso segno Il numero è negativo, perché il most significant bit, che è il bit del segno, è posto a è in complemento a è in complemento a 1 (si invertono tutti i bit) è unsigned (si aggiunge 1) 0(segno) + 1(1/2) + 0(1/4) + 0(1/8) + 0(1/16) + 0(1/32) + 1(1/64) + 1(1/128) = Dato che il numero è negativo, in formato Q7 equivale a in decimale. Vi sono diversi standard per i numeri floating point: l IEEE 754, che definisce il formato per la singola precisione a 32 bit e per la doppia precisione a 64 bit, è il più usato. In un DSP a 32 bit che segue l IEEE 754, 23 bit sono usati per la mantissa, 8 bit per l esponente, un bit è quello di segno. 9

10 Sia dato il numero a 32-bit IEEE 754: bit di segno: il numero è negativo esponente = = mantissa = = Il numero decimale equivalente è ( ) = Criteri di scelta progettuale fra rappresentazione ad interi e floating point: 1) La scelta è determinata dalla precisione del segnale di ingresso (data entry), ovvero dal dato in arrivo dal convertitore A\D, ovvero dalle specifiche del convertitore date dall applicazione. Un buon criterio di scelta è: < 12bit interi > 14bit floating point segnale TV digitale, 32 bit (RGB + intensità, 8 bit ciascuno) interi segnale audio, qualità studio, bit probabilmente floating point 2) La scelta è determinata dalla complessità dell algoritmo: se è semplice e non modifica la statistica del segnale, si pensa ai fixed point SORT: non c è modificazione dei dati semplice FFT: contiene prodotti, modifica la dinamica dei dati difficile 3) La scelta è determinata dal costo: i floating point costano circa 2-3 volte più dei fixed point. Quando viene scelta la rappresentazione ad interi, il costo del prodotto si riduce, ma probabilmente il costo di sviluppo si incrementa per la complessità maggiore (punto 2). Con la scelta dei floating point si ha il ragionamento inverso. Una statistica del 1999 sugli utilizzatori di DSP in applicazioni industriali rappresentava così la situazione: il 33% hanno già scelto i DSP il 50% pensano di passare ai DSP il 17% rimangono sui microprocessori Di quelli che hanno già scelto i DSP: il 33% lavorano con i floating point il 66% lavorano con gli interi Di quelli che lavorano con gli interi: il 50% vogliono passare ai floating point il 50% sono soddisfatti così 10

11 3. Caratteristiche Hardware 3.1 Architettura classica di un DSP Tutti i processori digitali sono costituiti da alcuni moduli fondamentali: Unità di elaborazione per operazioni aritmetiche e logiche (ALU) Memorie per conservare i dati e le istruzioni dei programmi Bus per trasferire in modo efficiente i dati e le istruzioni da una memoria ad una ALU e viceversa. Le usuali operazioni compiute da un processore sono quelle di prelevare dati ed istruzioni dalla memoria, elaborarli ed infine ritornare in memoria per salvarvi il risultato dell elaborazione. L equivalente di una ALU in un DSP è il DATAPATH, che può essere definito come il percorso logico aritmetico compiuto dai dati. Datapath Fixed point Legge di conservazione dei bit Il prodotto di due numeri di dimensione n-bit dà come risultato un numero di dimensione 2n-bit. Caso 1: virgola implicita a destra x 7 x 7 virgola implicita a destra virgola implicita a destra x x 14 concordi in segno mi tengo i 7 bit meno significativi (mantengo la precisione) Se i primi 7 bit non sono concordi in segno dovrò operare un rescaling. Caso 2: virgola implicita a sinistra x 7 x 7 virgola implicita a sinistra virgola implicita a sinistra x x 14 mi tengo questi bit 11

12 Overflow Operando in fixed point, ad ogni operazione bisogna che il programmatore consideri l eventualità che si verifichi il caso di overflow o di underflow. Il tipico strumento per rimediare a questa eventualità è un accumulatore esteso, ma si deve avere anche dell hardware dedicato: vi devono essere unità che gestiscono tutto in hardware. Tipicamente i DSP non possono permettersi di segnalare overflow senza curarsene e prendere degli accorgimenti, perché in caso di applicazioni critiche non si può interrompere l esecuzione di un elaborazione. Nei DSP se un numero va in overflow l Hardware Saturation Overflow vi sostituisce il massimo numero rappresentabile. Dimensione dell accumulatore = 100; senza overflow saturation = 115 mod 100 = 15; di fatto: errore = 100 Dimensione dell accumulatore = 100; con overflow saturation = 115 saturated 100 = 100; di fatto, errore = 15 Si ha sempre un approssimazione per difetto: nello scalamento, nella normalizzazione, nella gestione dell overflow. Questo fatto comporta l introduzione di un bias statistico: la media diventa positiva e non nulla. Si può pensare al caso dell offset di un amplificatore, che genera in uscita una rampa che satura a 5 volt: si ha un errore costante che si amplifica. Arrotondamento hardware round to nearest: Arrotondamento al più vicino in hardware (selezionabile) [0 0,5) [0,5 1] si ha offset perché convergent rounding: Quando il numero che deve essere arrotondato si trova a metà fra i due estremi, si guarda il bit meno significativo: 0 arrotondamento per difetto 1 arrotondamento per eccesso Nei datapath floating point scompare tutta una serie di problemi, ad esempio si riducono le complicanze dovute ad overflow. 12

13 3.2 Architetture di memoria Tradizionalmente nei microprocessori è utilizzata un'architettura di tipo Von Neumann. Questo tipo di architettura contiene una singola memoria ed un singolo bus per il trasferimento dei dati da e verso la CPU. Lo schema di Von Neumann è abbastanza soddisfacente se bisogna eseguire le operazioni richieste in modo seriale: questo è il caso più comune nei microprocessori. Quando però si ha bisogno di incrementare la velocità dei processi, si deve far ricorso ad un altro tipo di architettura, denominata Harvard. Un'architettura di tipo Harvard dispone sia di memorie che di bus separati per dati ed istruzioni. Un'istruzione di programma ed un dato possono essere caricati simultaneamente, incrementando le prestazioni rispetto alla configurazione a singolo bus del caso Von Neumann. La maggior parte dei DSP odierni implementa questa architettura dual bus: Il nome di Super Harvard Architecture è associato ad un ulteriore miglioramento in termini di throughput del'architettura Harvard. Queste maggiori prestazioni si ottengono tipicamente aggiungendo una cache per le istruzioni nella CPU, il che virtualmente rende disponibili al core del DSP tre bus; naturalmente il termine Super Harvard si può applicare anche al caso di tre effettivi bus disponibili. Nel processore SHARC di Analog Devices le prestazione dell architettura sono ulteriormente potenziate inserendo un controller di I/O connesso alla data memory (vedi Figura seguente). Nell architettura Harvard l uso di due memorie, una per i dati ed una per le istruzioni, determina un incremento dei pin del processore. Si deve infatti indirizzare uno spazio di memoria maggiore. Per risparmiare pin a bordo di un DSP può essere implementata una memoria, mentre il collegamento alla memoria esterna è demandato ad un unico bus. 13

14 Multiple Access Memory La struttura Harvard permette di compiere accessi multipli in memoria. Questi accessi possono essere sequenziali: in un ciclo di clock si compiono due fetch. Se il DSP-core accede simultaneamente a due banchi di memoria usando due bus indipendenti si ottengono quattro accessi in memoria per ciclo di clock. Un altra tecnica per implementare una struttura Harvard, al fine di incrementare il numero di accessi in memoria, è quella di usare memorie multiporte. Una memoria multiporte dispone di più set di indirizzi e connessioni indipendenti, in modo da permettere un accesso parallelo in memoria. Il tipo più comune di memoria multiporte è la dual-port memory, che permette due accessi simultanei. Interfaccia di una videocamera A/D FPGA DUAL PORT RAM DSP L uso di una dual-port RAM consente, durante un ciclo di processo, di digitalizzare tramite FPGA i dati in ingresso dal sensore mentre si elaborano quelli acquisiti nel ciclo precedente. Si deve considerare quale tipo di memoria utilizzare se si vuole montarla sulla board insieme al DSP. Ram dinamica: Più economica Più complessa Con circuito di refresh Ram statica: Più costosa Più semplice e veloce Acceleratori hardware La memoria è composta da registri e da cache: le cache di programma sono memorie veloci che contengono le istruzioni più probabili. Esse vengono utilizzate per diminuire il numero di accessi in memoria. I DSP supportano a livello hardware diversi tipi di cache di programma: Repeat buffer single instruction multiple instruction Il fatto che le istruzioni (for, ) siano implementate in hardware nella cache di programma fa in modo che si liberi il program bus. Si ha un vantaggio architetturale: è possibile mettere dei dati nella program memory (usarla come data memory). Un limite del repeat buffer è che non ci possono essere jump, goto, chiamate a subroutine. Single-sector cache Un blocco di memoria che contiene un pezzo di programma (qualunque pezzo, non per forza un loop: ovviamente un pezzo di programma autoconsistente). 14

15 Multiple-sector cache A differenza della single-sector cache, questa cache può memorizzare due o più pezzi indipendenti di programma. Quando bisogna caricare nella cache un nuovo settore, l algoritmo utilizzato per scegliere quale settore sostituire è l LRU (least-recent-used). Calcolo di z = a[ i ] b[ i ] Con un assembler-like: load CONT N int a, b LOOP load *a, *b mpy r1*r2 sum z=z+r1*r2 a++, b++ CONT-- if (CONT>0) GOTO LOOP Con un repeat buffer: N i move #a, r0 move #b, r1 move #N-1, mo registro interno del repeat buffer CLR a, x : (r0) +, x0 y : (r1) +, y0 a e b sono su due bus diversi, in un colpo solo faccio tre cose rep #length-1 il loop viene eseguito in hardware mac x0, y0, a a = a+x+y x : (r0) +, x0 y : (r1) +, y0 mac x0, y0, a clean-up finale, fuori dal loop Nel secondo caso, il loop viene eseguito in hardware, liberando il program bus: non devo aggiornare un contatore oppure effettuare un salto all inizio del loop. La prima istruzione MAC viene ripetuta con la massima efficienza per length-1 volte. La seconda istruzione MAC è esterna al loop: viene eseguita una volta sola. Wait states Gli stati di attesa sono un artificio hardware con cui si ritarda l esecuzione dei processi di un DSP, nell attesa di accedere alla memoria. Quando la memoria è disponibile c è un messaggio di memory acknowledgement. I wait states si possono avere in tre casi: multiple access: a e b sullo stesso bus; slow memory; bus sharing: problema sul bus, che risulta occupato con altre periferiche; 15

16 Se lo schema architetturale è il seguente: RAM RAM DMA FPGA DSP Gli eventuali conflitti dovranno essere risolti da bus arbiter (semafori): si avranno interrupt, buffer per time sharing Quando si attiva il canale DMA, il DSP utilizza la sua RAM, altrimenti non si ricavano benefici da questo tipo di schema architetturale. Nei DSP le cache sono ottimizzate per eseguire le istruzioni, non per fare accesso ai dati. Modi di indirizzamento Implicito: (non devo specificarlo) Immediato: (registro = #) Diretto in memoria: A = DM(1000) Diretto a registri: A = x y Indiretto via registro si legge il dato puntato dall indirizzo contenuto nel registro Indiretto via registro: con pre/post incremento/decremento Indiretto via registro indice: base + offset Modulo addressing: buffer ciclico Bit reversal: usato nel calcolo della FFT L ultimo modo di indirizzamento, bit reversal, mostra come possono essere specializzati i processori DSP. L indirizzamento bit reversal si ha quando un insieme di valori deve essere riordinato invertendo l ordine dei bit dell indirizzo: In ogni indirizzo si inverte l ordine dei bit I dati vengono spostati in modo che i corrispondenti nuovi indirizzi abbiano un ordine crescente Questa operazione è richiesta nel calcolo della Fast Fourier Transform: è facile vedere come i DSP siano progettati per calcolare efficientemente questa trasformata. 16

17 3.3 Pipeline Una istruzione normalmente non viene eseguita in un ciclo di clock, ma in un processo che viene generalmente scomposto in quattro fasi: a) Fetch dell istruzione b) Decode dell opcode c) Fetch read / write sui dati d) Execute ALU / MAC, parte aritmetica Queste sono quattro fasi logiche, non necessariamente sequenziali. Se un istruzione I1 comporta l esecuzione di tutte le quattro fasi, l istruzione seguente I2, secondo lo schema qui riportato, dovrà attendere quattro cicli di clock prima di andare in fetch a I1 I2 b I1 c I1 d I1 Il 75% delle risorse è fermo ed inutilizzato: supponendo un clock di 20 ns, si ricava un modesto throughput di un output ogni 80 ns. Invece di procedere sequenzialmente si può pensare di compiere più operazioni in modo parallelo. Le istruzioni sono eseguite concorrenzialmente, ognuna in una diversa fase della pipeline a I1 I2 I3 I4 I5 b I1 I2 I3 I4 c I1 I2 I3 d I1 I2 Trascurando la parte in basso a sinistra (prologo), in questo esempio si ha un uso massimamente efficiente delle risorse. Considerando il clock sempre di 20 ns, si ha un throughput a regime di un uscita ogni 20 ns. L efficienza del sistema dipende da quanto sono lunghi prologo ed epilogo rispetto a quanto è lungo il ciclo. 17

Architetture CISC e RISC

Architetture CISC e RISC FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine Architetture CISC e RISC 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n.

Dettagli

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

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione in virgola mobile Problemi connessi all utilizzo di un numero di bit limitato Abbiamo visto quali sono i vantaggi dell utilizzo della rappresentazione in complemento alla base: corrispondenza biunivoca fra rappresentazione

Dettagli

Lezione n.19 Processori RISC e CISC

Lezione n.19 Processori RISC e CISC Lezione n.19 Processori RISC e CISC 1 Processori RISC e Superscalari Motivazioni che hanno portato alla realizzazione di queste architetture Sommario: Confronto tra le architetture CISC e RISC Prestazioni

Dettagli

Codifica dei numeri negativi

Codifica dei numeri negativi E. Calabrese: Fondamenti di Informatica Rappresentazione numerica-1 Rappresentazione in complemento a 2 Codifica dei numeri negativi Per rappresentare numeri interi negativi si usa la cosiddetta rappresentazione

Dettagli

Floating Point N = M BE. Notazione in virgola mobile. base. esempi 34.76 104 3.6891 106 = 36.891 105 =368.91 104 12.78 10-3 1.

Floating Point N = M BE. Notazione in virgola mobile. base. esempi 34.76 104 3.6891 106 = 36.891 105 =368.91 104 12.78 10-3 1. Floating Point Notazione in virgola mobile N = M BE mantissa base esponente esempi 34.76 104 3.6891 106 = 36.891 105 =368.91 104 12.78 10-3 1.6273 102 forma normalizzata: la mantissa ha una sola cifra

Dettagli

Elementi di informatica

Elementi di informatica Elementi di informatica Sistemi di numerazione posizionali Rappresentazione dei numeri Rappresentazione dei numeri nei calcolatori rappresentazioni finalizzate ad algoritmi efficienti per le operazioni

Dettagli

Architettura dei Calcolatori

Architettura dei Calcolatori Architettura dei Calcolatori Sistema di memoria parte prima Ing. dell Automazione A.A. 2011/12 Gabriele Cecchetti Sistema di memoria parte prima Sommario: Banco di registri Generalità sulla memoria Tecnologie

Dettagli

Così come le macchine meccaniche trasformano

Così come le macchine meccaniche trasformano DENTRO LA SCATOLA Rubrica a cura di Fabio A. Schreiber Il Consiglio Scientifico della rivista ha pensato di attuare un iniziativa culturalmente utile presentando in ogni numero di Mondo Digitale un argomento

Dettagli

CALCOLATORI ELETTRONICI 15 aprile 2014

CALCOLATORI ELETTRONICI 15 aprile 2014 CALCOLATORI ELETTRONICI 15 aprile 2014 NOME: COGNOME: MATR: Scrivere nome, cognome e matricola chiaramente in caratteri maiuscoli a stampa 1 Di seguito è riportato lo schema di una ALU a 32 bit in grado

Dettagli

Esercitazioni su rappresentazione dei numeri e aritmetica dei calcolatori"

Esercitazioni su rappresentazione dei numeri e aritmetica dei calcolatori Esercitazioni su rappresentazione dei numeri e aritmetica dei calcolatori" slide a cura di Salvatore Orlando & Marta Simeoni " Architettura degli Elaboratori 1 Interi unsigned in base 2" Si utilizza un

Dettagli

Flops. Ad esempio nel caso del prodotto classico tra matrici, vengono eseguite 2*N 3 operazioni, quindi ad esempio:

Flops. Ad esempio nel caso del prodotto classico tra matrici, vengono eseguite 2*N 3 operazioni, quindi ad esempio: Flops FLOPS e' un'abbreviazione di Floating Point Operations Per Second e indica il numero di operazioni in virgola mobile eseguite in un secondo dalla CPU. (Top500 e il BlueGene) Ad esempio nel caso del

Dettagli

Introduzione alle pipeline e all'architettura RISC

Introduzione alle pipeline e all'architettura RISC Introduzione alle pipeline e all'architettura RISC Introduzione Pipeline Processori RISC Salti Appendice A: Storia Bibliografia Versione con i frame Versione in pdf Architettura del processore Una possibile

Dettagli

Capitolo 9: PROPAGAZIONE DEGLI ERRORI

Capitolo 9: PROPAGAZIONE DEGLI ERRORI Capitolo 9: PROPAGAZIOE DEGLI ERRORI 9.1 Propagazione degli errori massimi ella maggior parte dei casi le grandezze fisiche vengono misurate per via indiretta. Il valore della grandezza viene cioè dedotto

Dettagli

RAPPRESENTAZIONE BINARIA DEI NUMERI. Andrea Bobbio Anno Accademico 1996-1997

RAPPRESENTAZIONE BINARIA DEI NUMERI. Andrea Bobbio Anno Accademico 1996-1997 1 RAPPRESENTAZIONE BINARIA DEI NUMERI Andrea Bobbio Anno Accademico 1996-1997 Numeri Binari 2 Sistemi di Numerazione Il valore di un numero può essere espresso con diverse rappresentazioni. non posizionali:

Dettagli

Informatica Applicata

Informatica Applicata Ing. Irina Trubitsyna Concetti Introduttivi Programma del corso Obiettivi: Il corso di illustra i principi fondamentali della programmazione con riferimento al linguaggio C. In particolare privilegia gli

Dettagli

CALCOLATORI ELETTRONICI 29 giugno 2010

CALCOLATORI ELETTRONICI 29 giugno 2010 CALCOLATORI ELETTRONICI 29 giugno 2010 NOME: COGNOME: MATR: Scrivere chiaramente in caratteri maiuscoli a stampa 1. Si disegni lo schema di un flip-flop master-slave S-R sensibile ai fronti di salita e

Dettagli

CALCOLATORI ELETTRONICI 31 marzo 2015

CALCOLATORI ELETTRONICI 31 marzo 2015 CALCOLATORI ELETTRONICI 31 marzo 2015 NOME: COGNOME: MATR: Scrivere nome, cognome e matricola chiaramente in caratteri maiuscoli a stampa 1. Tradurre in linguaggio assembly MIPS il seguente frammento di

Dettagli

ESTRAZIONE DI RADICE

ESTRAZIONE DI RADICE ESTRAZIONE DI RADICE La radice è l operazione inversa dell elevamento a potenza. L esponente della potenza è l indice della radice che può essere: quadrata (); cubica (); quarta (4); ecc. La base della

Dettagli

Rappresentazione numeri in virgola mobile

Rappresentazione numeri in virgola mobile Rappresentazione numeri in virgola mobile Un numero non intero può essere rappresentato in infiniti modi quando utilizziamo la notazione esponenziale: Es. 34.5 = 0.345 10 2 = 0.0345 10 3 = 345 10-1 Questo

Dettagli

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

I componenti di un Sistema di elaborazione. CPU (central process unit) I componenti di un Sistema di elaborazione. CPU (central process unit) I componenti di un Sistema di elaborazione. CPU (central process unit) La C.P.U. è il dispositivo che esegue materialmente gli ALGORITMI.

Dettagli

Esercizi per il recupero del debito formativo:

Esercizi per il recupero del debito formativo: ANNO SCOLASTICO 2005/2006 CLASSE 3 ISC Esercizi per il recupero del debito formativo: Disegnare il diagramma e scrivere la matrice delle transizioni di stato degli automi a stati finiti che rappresentano

Dettagli

Quando troncare uno sviluppo in serie di Taylor

Quando troncare uno sviluppo in serie di Taylor Quando troncare uno sviluppo in serie di Taylor Marco Robutti October 13, 2014 Lo sviluppo in serie di Taylor di una funzione è uno strumento matematico davvero molto utile, e viene spesso utilizzato in

Dettagli

Ricerca Operativa Branch-and-Bound per problemi di Programmazione Lineare Intera

Ricerca Operativa Branch-and-Bound per problemi di Programmazione Lineare Intera Ricerca Operativa Branch-and-Bound per problemi di Programmazione Lineare Intera L. De Giovanni AVVERTENZA: le note presentate di seguito non hanno alcuna pretesa di completezza, né hanno lo scopo di sostituirsi

Dettagli

Accuratezza di uno strumento

Accuratezza di uno strumento Accuratezza di uno strumento Come abbiamo già accennato la volta scora, il risultato della misurazione di una grandezza fisica, qualsiasi sia lo strumento utilizzato, non è mai un valore numerico X univocamente

Dettagli

IL SAMPLE AND HOLD UNIVERSITÀ DEGLI STUDI DI MILANO. Progetto di Fondamenti di Automatica. PROF.: M. Lazzaroni

IL SAMPLE AND HOLD UNIVERSITÀ DEGLI STUDI DI MILANO. Progetto di Fondamenti di Automatica. PROF.: M. Lazzaroni UNIVERSITÀ DEGLI STUDI DI MILANO FACOLTÀ DI SCIENZE MATEMATICHE, FISICHE E NATURALI Corso di Laurea in Informatica IL SAMPLE AND HOLD Progetto di Fondamenti di Automatica PROF.: M. Lazzaroni Anno Accademico

Dettagli

Algoritmo euclideo, massimo comun divisore ed equazioni diofantee

Algoritmo euclideo, massimo comun divisore ed equazioni diofantee Algoritmo euclideo, massimo comun divisore ed equazioni diofantee Se a e b sono numeri interi, si dice che a divide b, in simboli: a b, se e solo se esiste c Z tale che b = ac. Si può subito notare che:

Dettagli

CAPITOLO PRIMO IL CONCETTO DI ALGORITMO 1

CAPITOLO PRIMO IL CONCETTO DI ALGORITMO 1 1.1 Che cos è un algoritmo CAPITOLO PRIMO IL CONCETTO DI ALGORITMO 1 Gli algoritmi sono metodi per la soluzione di problemi. Possiamo caratterizzare un problema mediante i dati di cui si dispone all inizio

Dettagli

(accuratezza) ovvero (esattezza)

(accuratezza) ovvero (esattezza) Capitolo n 2 2.1 - Misure ed errori In un analisi chimica si misurano dei valori chimico-fisici di svariate grandezze; tuttavia ogni misura comporta sempre una incertezza, dovuta alla presenza non eliminabile

Dettagli

Architettura MIPS (RISC) Architetture dei Calcolatori (Lettere. Principi di Progettazione ISA MIPS MIPS R3000 ISA. Il Set di Istruzioni MIPS

Architettura MIPS (RISC) Architetture dei Calcolatori (Lettere. Principi di Progettazione ISA MIPS MIPS R3000 ISA. Il Set di Istruzioni MIPS Architettura MIPS (RISC) Architetture dei Calcolatori (Lettere A-I) Il Set di Istruzioni MIPS Ing.. Francesco Lo Presti Sviluppata e progettata a Stanford (USA) Progettata nei primi anni 80 Prodotta e

Dettagli

+ / operatori di confronto (espressioni logiche/predicati) / + 5 3 9 = > < Pseudo codice. Pseudo codice

+ / operatori di confronto (espressioni logiche/predicati) / + 5 3 9 = > < Pseudo codice. Pseudo codice Pseudo codice Pseudo codice Paolo Bison Fondamenti di Informatica A.A. 2006/07 Università di Padova linguaggio testuale mix di linguaggio naturale ed elementi linguistici con sintassi ben definita e semantica

Dettagli

Da una a più variabili: derivate

Da una a più variabili: derivate Da una a più variabili: derivate ( ) 5 gennaio 2011 Scopo di questo articolo è di evidenziare le analogie e le differenze, relativamente al calcolo differenziale, fra le funzioni di una variabile reale

Dettagli

Guida rapida all uso di ECM Titanium

Guida rapida all uso di ECM Titanium Guida rapida all uso di ECM Titanium Introduzione Questa guida contiene una spiegazione semplificata del funzionamento del software per Chiputilizzare al meglio il Tuning ECM Titanium ed include tutte

Dettagli

Introduzione alla Teoria degli Errori

Introduzione alla Teoria degli Errori Introduzione alla Teoria degli Errori 1 Gli errori di misura sono inevitabili Una misura non ha significato se non viene accompagnata da una ragionevole stima dell errore ( Una scienza si dice esatta non

Dettagli

STUDIO DI UNA FUNZIONE

STUDIO DI UNA FUNZIONE STUDIO DI UNA FUNZIONE OBIETTIVO: Data l equazione Y = f(x) di una funzione a variabili reali (X R e Y R), studiare l andamento del suo grafico. PROCEDIMENTO 1. STUDIO DEL DOMINIO (CAMPO DI ESISTENZA)

Dettagli

AA 2006-07 LA RICORSIONE

AA 2006-07 LA RICORSIONE PROGRAMMAZIONE AA 2006-07 LA RICORSIONE AA 2006-07 Prof.ssa A. Lanza - DIB 1/18 LA RICORSIONE Il concetto di ricorsione nasce dalla matematica Una funzione matematica è definita ricorsivamente quando nella

Dettagli

Elementi di Statistica

Elementi di Statistica Elementi di Statistica Contenuti Contenuti di Statistica nel corso di Data Base Elementi di statistica descrittiva: media, moda, mediana, indici di dispersione Introduzione alle variabili casuali e alle

Dettagli

Progettazione di sistemi Embedded

Progettazione di sistemi Embedded Progettazione di sistemi Embedded Corso introduttivo di progettazione di sistemi embedded A.S. 2013/2014 proff. Nicola Masarone e Stefano Salvatori Eccetto dove diversamente specificato, i contenuti di

Dettagli

Rappresentazione dei numeri in un calcolatore

Rappresentazione dei numeri in un calcolatore Corso di Calcolatori Elettronici I A.A. 2010-2011 Rappresentazione dei numeri in un calcolatore Lezione 2 Università degli Studi di Napoli Federico II Facoltà di Ingegneria Rappresentazione dei numeri

Dettagli

1. Si consideri uno spazio di indirizzamento logico di otto pagine di 1024 parole ognuna, mappate su una memoria fisica di 32 frame.

1. Si consideri uno spazio di indirizzamento logico di otto pagine di 1024 parole ognuna, mappate su una memoria fisica di 32 frame. 1. Si consideri uno spazio di indirizzamento logico di otto pagine di 1024 parole ognuna, mappate su una memoria fisica di 32 frame. (a) Da quanti bit è costituito l indirizzo logico? (b) Da quanti bit

Dettagli

Metodi e Strumenti per la Caratterizzazione e la Diagnostica di Trasmettitori Digitali RF ing. Gianfranco Miele g.miele@unicas.it

Metodi e Strumenti per la Caratterizzazione e la Diagnostica di Trasmettitori Digitali RF ing. Gianfranco Miele g.miele@unicas.it Corso di laurea magistrale in Ingegneria delle Telecomunicazioni Metodi e Strumenti per la Caratterizzazione e la Diagnostica di Trasmettitori Digitali RF ing. Gianfranco Miele g.miele@unicas.it Trasmettitore

Dettagli

Logica Numerica Approfondimento 1. Minimo Comune Multiplo e Massimo Comun Divisore. Il concetto di multiplo e di divisore. Il Minimo Comune Multiplo

Logica Numerica Approfondimento 1. Minimo Comune Multiplo e Massimo Comun Divisore. Il concetto di multiplo e di divisore. Il Minimo Comune Multiplo Logica Numerica Approfondimento E. Barbuto Minimo Comune Multiplo e Massimo Comun Divisore Il concetto di multiplo e di divisore Considerato un numero intero n, se esso viene moltiplicato per un numero

Dettagli

GeoGebra 4.2 Introduzione all utilizzo della Vista CAS per il secondo biennio e il quinto anno

GeoGebra 4.2 Introduzione all utilizzo della Vista CAS per il secondo biennio e il quinto anno GeoGebra 4.2 Introduzione all utilizzo della Vista CAS per il secondo biennio e il quinto anno La Vista CAS L ambiente di lavoro Le celle Assegnazione di una variabile o di una funzione / visualizzazione

Dettagli

Introduzione agli algoritmi e alla programmazione in VisualBasic.Net

Introduzione agli algoritmi e alla programmazione in VisualBasic.Net Lezione 1 Introduzione agli algoritmi e alla programmazione in VisualBasic.Net Definizione di utente e di programmatore L utente è qualsiasi persona che usa il computer anche se non è in grado di programmarlo

Dettagli

ESEMPIO 1: eseguire il complemento a 10 di 765

ESEMPIO 1: eseguire il complemento a 10 di 765 COMPLEMENTO A 10 DI UN NUMERO DECIMALE Sia dato un numero N 10 in base 10 di n cifre. Il complemento a 10 di tale numero (N ) si ottiene sottraendo il numero stesso a 10 n. ESEMPIO 1: eseguire il complemento

Dettagli

Le variabili. Olga Scotti

Le variabili. Olga Scotti Le variabili Olga Scotti Cos è una variabile Le variabili, in un linguaggio di programmazione, sono dei contenitori. Possono essere riempiti con un valore che poi può essere riletto oppure sostituito.

Dettagli

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

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo. DALLE PESATE ALL ARITMETICA FINITA IN BASE 2 Si è trovato, partendo da un problema concreto, che con la base 2, utilizzando alcune potenze della base, operando con solo addizioni, posso ottenere tutti

Dettagli

Informatica. Scopo della lezione

Informatica. Scopo della lezione 1 Informatica per laurea diarea non informatica LEZIONE 1 - Cos è l informatica 2 Scopo della lezione Introdurre le nozioni base della materia Definire le differenze tra hardware e software Individuare

Dettagli

Fondamenti di Informatica 300 ed oltre esercizi di teoria

Fondamenti di Informatica 300 ed oltre esercizi di teoria Fondamenti di Informatica 300 ed oltre esercizi di teoria Fulvio Corno Antonio Lioy Politecnico di Torino Dip. di Automatica e Informatica v. 4.02 01/09/2009 Indice 1 Introduzione 2 1.1 Nota metodologica........................................

Dettagli

EQUAZIONI E DISEQUAZIONI POLINOMIALI E COLLEGAMENTI CON LA GEOMETRIA ELEMENTARE

EQUAZIONI E DISEQUAZIONI POLINOMIALI E COLLEGAMENTI CON LA GEOMETRIA ELEMENTARE EQUAZIONI E DISEQUAZIONI POLINOMIALI E COLLEGAMENTI CON LA GEOMETRIA ELEMENTARE 1. EQUAZIONI Definizione: un equazione è un uguaglianza tra due espressioni letterali (cioè in cui compaiono numeri, lettere

Dettagli

Cristian Secchi Pag. 1

Cristian Secchi Pag. 1 CONTROLLI DIGITALI Laurea Magistrale in Ingegneria Meccatronica SISTEMI A TEMPO DISCRETO Ing. Tel. 0522 522235 e-mail: cristian.secchi@unimore.it http://www.dismi.unimo.it/members/csecchi Richiami di Controlli

Dettagli

Indice generale. Modulo 1 Algebra 2

Indice generale. Modulo 1 Algebra 2 Indice generale Modulo 1 Algebra 2 Capitolo 1 Scomposizione in fattori. Equazioni di grado superiore al primo 1.1 La scomposizione in fattori 2 1.2 Raccoglimento a fattor comune 3 1.3 Raccoglimenti successivi

Dettagli

Bus di sistema. Bus di sistema

Bus di sistema. Bus di sistema Bus di sistema Permette la comunicazione (scambio di dati) tra i diversi dispositivi che costituiscono il calcolatore E costituito da un insieme di fili metallici che danno luogo ad un collegamento aperto

Dettagli

LA NOTAZIONE SCIENTIFICA

LA NOTAZIONE SCIENTIFICA LA NOTAZIONE SCIENTIFICA Definizioni Ricordiamo, a proposito delle potenze del, che = =.000 =.000.000.000.000 ovvero n è uguale ad seguito da n zeri. Nel caso di potenze con esponente negativo ricordiamo

Dettagli

Consideriamo due polinomi

Consideriamo due polinomi Capitolo 3 Il luogo delle radici Consideriamo due polinomi N(z) = (z z 1 )(z z 2 )... (z z m ) D(z) = (z p 1 )(z p 2 )... (z p n ) della variabile complessa z con m < n. Nelle problematiche connesse al

Dettagli

Cos è un protocollo? Ciao. Ciao 2:00. tempo. Un protocollo umano e un protocollo di reti di computer:

Cos è un protocollo? Ciao. Ciao 2:00. <file> tempo. Un protocollo umano e un protocollo di reti di computer: Cos è un protocollo? Un protocollo umano e un protocollo di reti di computer: Ciao Ciao Hai l ora? 2:00 tempo TCP connection request TCP connection reply. Get http://www.di.unito.it/index.htm Domanda:

Dettagli

Trasmissione Seriale e Parallela. Interfacce di Comunicazione. Esempio di Decodifica del Segnale. Ricezione e Decodifica. Prof.

Trasmissione Seriale e Parallela. Interfacce di Comunicazione. Esempio di Decodifica del Segnale. Ricezione e Decodifica. Prof. Interfacce di Comunicazione Università degli studi di Salerno Laurea in Informatica I semestre 03/04 Prof. Vincenzo Auletta auletta@dia.unisa.it http://www.dia.unisa.it/professori/auletta/ 2 Trasmissione

Dettagli

Oscilloscopi serie WaveAce

Oscilloscopi serie WaveAce Oscilloscopi serie WaveAce 60 MHz 300 MHz Il collaudo facile, intelligente ed efficiente GLI STRUMENTI E LE FUNZIONI PER TUTTE LE TUE ESIGENZE DI COLLAUDO CARATTERISTICHE PRINCIPALI Banda analogica da

Dettagli

Gli algoritmi. Gli algoritmi. Analisi e programmazione

Gli algoritmi. Gli algoritmi. Analisi e programmazione Gli algoritmi Analisi e programmazione Gli algoritmi Proprietà ed esempi Costanti e variabili, assegnazione, istruzioni, proposizioni e predicati Vettori e matrici I diagrammi a blocchi Analisi strutturata

Dettagli

GENERALITA SUI CONVERTITORI DAC E ADC CONVERTITORI DIGITALE-ANALOGICO DAC

GENERALITA SUI CONVERTITORI DAC E ADC CONVERTITORI DIGITALE-ANALOGICO DAC I.T.I. Modesto PANETTI A R I ia Re David, 86-8-54.54. - 75 ARI Fax 8-54.64.3 Internet http://www.itispanetti.it email : ATF5C@istruzione.it Tesina sviluppata dall alunno Antonio Gonnella della classe 5

Dettagli

Descrizioni VHDL Behavioral

Descrizioni VHDL Behavioral 1 Descrizioni VHDL Behavioral In questo capitolo vedremo come la struttura di un sistema digitale è descritto in VHDL utilizzando descrizioni di tipo comportamentale. Outline: process wait statements,

Dettagli

Raccolta di Esercizi di Matematica. Capitolo 8 : Modalità CAS (Computer Algebra S ystem)

Raccolta di Esercizi di Matematica. Capitolo 8 : Modalità CAS (Computer Algebra S ystem) Raccolta di Esercizi di Matematica Capitolo 8 : Modalità CAS (Computer Algebra S ystem) Contenuti: 8-1. L ordine Algebrico delle Operazioni 8-2. Problemi sulle Percentuali 8-3. Le Forme Standard e Point-Slope

Dettagli

Gli array. Gli array. Gli array. Classi di memorizzazione per array. Inizializzazione esplicita degli array. Array e puntatori

Gli array. Gli array. Gli array. Classi di memorizzazione per array. Inizializzazione esplicita degli array. Array e puntatori Gli array Array e puntatori Laboratorio di Informatica I un array è un insieme di elementi (valori) avente le seguenti caratteristiche: - un array è ordinato: agli elementi dell array è assegnato un ordine

Dettagli

Esercizi Capitolo 5 - Alberi

Esercizi Capitolo 5 - Alberi Esercizi Capitolo 5 - Alberi Alberto Montresor 19 Agosto, 2014 Alcuni degli esercizi che seguono sono associati alle rispettive soluzioni. Se il vostro lettore PDF lo consente, è possibile saltare alle

Dettagli

Il motore a corrente continua, chiamato così perché per. funzionare deve essere alimentato con tensione e corrente

Il motore a corrente continua, chiamato così perché per. funzionare deve essere alimentato con tensione e corrente 1.1 Il motore a corrente continua Il motore a corrente continua, chiamato così perché per funzionare deve essere alimentato con tensione e corrente costante, è costituito, come gli altri motori da due

Dettagli

TRASMISSIONE DATI SU RETE TELEFONICA. 1 Fondamenti Segnali e Trasmissione

TRASMISSIONE DATI SU RETE TELEFONICA. 1 Fondamenti Segnali e Trasmissione TRASMISSIONE DATI SU RETE TELEFONICA Fondamenti Segnali e Trasmissione Trasmissione dati su rete telefonica rete telefonica analogica ISP (Internet Service Provider) connesso alla WWW (World Wide Web)

Dettagli

Il concetto di valore medio in generale

Il concetto di valore medio in generale Il concetto di valore medio in generale Nella statistica descrittiva si distinguono solitamente due tipi di medie: - le medie analitiche, che soddisfano ad una condizione di invarianza e si calcolano tenendo

Dettagli

I db, cosa sono e come si usano. Vediamo di chiarire le formule.

I db, cosa sono e come si usano. Vediamo di chiarire le formule. I db, cosa sono e come si usano. Il decibel è semplicemente una definizione; che la sua formulazione è arbitraria o, meglio, è definita per comodità e convenienza. La convenienza deriva dall osservazione

Dettagli

APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI

APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI Indice 1 Le frazioni algebriche 1.1 Il minimo comune multiplo e il Massimo Comun Divisore fra polinomi........ 1. Le frazioni algebriche....................................

Dettagli

Strumenti Elettronici Analogici/Numerici

Strumenti Elettronici Analogici/Numerici Facoltà di Ingegneria Università degli Studi di Firenze Dipartimento di Elettronica e Telecomunicazioni Strumenti Elettronici Analogici/Numerici Ing. Andrea Zanobini Dipartimento di Elettronica e Telecomunicazioni

Dettagli

ALLEGATO al verbale della riunione del 3 Settembre 2010, del Dipartimento di Elettrotecnica e Automazione.

ALLEGATO al verbale della riunione del 3 Settembre 2010, del Dipartimento di Elettrotecnica e Automazione. ALLEGATO al verbale della riunione del 3 Settembre 2010, del Dipartimento di Elettrotecnica e Automazione. COMPETENZE MINIME- INDIRIZZO : ELETTROTECNICA ED AUTOMAZIONE 1) CORSO ORDINARIO Disciplina: ELETTROTECNICA

Dettagli

METODI ITERATIVI PER SISTEMI LINEARI

METODI ITERATIVI PER SISTEMI LINEARI METODI ITERATIVI PER SISTEMI LINEARI LUCIA GASTALDI 1. Metodi iterativi classici Sia A R n n una matrice non singolare e sia b R n. Consideriamo il sistema (1) Ax = b. Un metodo iterativo per la soluzione

Dettagli

CIRCUITI INTEGRATI ESEMPI: INTEL

CIRCUITI INTEGRATI ESEMPI: INTEL CIRCUITI INTEGRATI Costruzione di circuiti (logici e non) su un substrato di silicio. Non solo la parte attiva, ma anche le connessioni tra le porte. Incredibile miglioramento nelle prestazioni, nell affidabilità

Dettagli

DI D AGRA R MM M I M A BLOCC C H C I TEORI R A E D D E SERC R I C ZI 1 1

DI D AGRA R MM M I M A BLOCC C H C I TEORI R A E D D E SERC R I C ZI 1 1 DIAGRAMMI A BLOCCHI TEORIA ED ESERCIZI 1 1 Il linguaggio dei diagrammi a blocchi è un possibile formalismo per la descrizione di algoritmi Il diagramma a blocchi, o flowchart, è una rappresentazione grafica

Dettagli

PROBABILITA, VALORE ATTESO E VARIANZA DELLE QUANTITÁ ALEATORIE E LORO RELAZIONE CON I DATI OSSERVATI

PROBABILITA, VALORE ATTESO E VARIANZA DELLE QUANTITÁ ALEATORIE E LORO RELAZIONE CON I DATI OSSERVATI statistica, Università Cattaneo-Liuc, AA 006-007, lezione del 08.05.07 IDICE (lezione 08.05.07 PROBABILITA, VALORE ATTESO E VARIAZA DELLE QUATITÁ ALEATORIE E LORO RELAZIOE CO I DATI OSSERVATI 3.1 Valore

Dettagli

ELABORAZIONE DEL VALORE MEDIO NELLE MISURE ELETTRONICHE

ELABORAZIONE DEL VALORE MEDIO NELLE MISURE ELETTRONICHE NOTE PER IL TECNICO ELABORAZIONE DEL VALORE MEDIO NELLE MISURE ELETTRONICHE da BRUEL & KJAER Le cosiddette «application notes» pubblicate a cura della Bruel & Kjaer, nota Fabbrica danese specializzata

Dettagli

v in v out x c1 (t) Molt. di N.L. H(f) n

v in v out x c1 (t) Molt. di N.L. H(f) n Comunicazioni elettriche A - Prof. Giulio Colavolpe Compito n. 3 3.1 Lo schema di Fig. 1 è un modulatore FM (a banda larga). L oscillatore che genera la portante per il modulatore FM e per la conversione

Dettagli

Università degli Studi di Modena e Reggio Emilia Facoltà di Ingegneria Sede di Reggio Emilia

Università degli Studi di Modena e Reggio Emilia Facoltà di Ingegneria Sede di Reggio Emilia Università degli Studi di Modena e Reggio Emilia Facoltà di Ingegneria Sede di Reggio Emilia Corso di Laurea Specialistica in Ingegneria Meccatronica a.a. 2008/2009 Corso di CALCOLATORI ELETTRONICI Capitolo

Dettagli

Il Concetto di Processo

Il Concetto di Processo Processi e Thread Il Concetto di Processo Il processo è un programma in esecuzione. È l unità di esecuzione all interno del S.O. Solitamente, l esecuzione di un processo è sequenziale (le istruzioni vengono

Dettagli

Appunti sulle disequazioni

Appunti sulle disequazioni Premessa Istituto d Istruzione Superiore A. Tilgher Ercolano (Na) Appunti sulle disequazioni Questa breve trattazione non vuole costituire una guida completa ed esauriente sull argomento, ma vuole fornire

Dettagli

Funzioni. Corso di Fondamenti di Informatica

Funzioni. Corso di Fondamenti di Informatica Dipartimento di Informatica e Sistemistica Antonio Ruberti Sapienza Università di Roma Funzioni Corso di Fondamenti di Informatica Laurea in Ingegneria Informatica (Canale di Ingegneria delle Reti e dei

Dettagli

Universita' di Ferrara Dipartimento di Matematica e Informatica. Algoritmi e Strutture Dati. Rappresentazione concreta di insiemi e Hash table

Universita' di Ferrara Dipartimento di Matematica e Informatica. Algoritmi e Strutture Dati. Rappresentazione concreta di insiemi e Hash table Universita' di Ferrara Dipartimento di Matematica e Informatica Algoritmi e Strutture Dati Rappresentazione concreta di insiemi e Hash table Copyright 2006-2015 by Claudio Salati. Lez. 9a 1 Rappresentazione

Dettagli

MODBUS-RTU per. Specifiche protocollo di comunicazione MODBUS-RTU per controllo in rete dispositivi serie. Expert NANO 2ZN

MODBUS-RTU per. Specifiche protocollo di comunicazione MODBUS-RTU per controllo in rete dispositivi serie. Expert NANO 2ZN per Expert NANO 2ZN Specifiche protocollo di comunicazione MODBUS-RTU per controllo in rete dispositivi serie Expert NANO 2ZN Nome documento: MODBUS-RTU_NANO_2ZN_01-12_ITA Software installato: NANO_2ZN.hex

Dettagli

Fondamenti di Informatica e Laboratorio T-AB Ingengeria dell Automazione a.a. 2008/2009. Lab 02 Tipi semplici in C

Fondamenti di Informatica e Laboratorio T-AB Ingengeria dell Automazione a.a. 2008/2009. Lab 02 Tipi semplici in C Fondamenti di Informatica e Laboratorio T-AB Ingengeria dell Automazione a.a. 2008/2009 Lab 02 Tipi semplici in C Obiettivo dell esercitazione Acquistare familiarità con i tipi di dato semplici supportati

Dettagli

TELECOMUNICAZIONI (TLC) Generico sistema di telecomunicazione (TLC) Trasduttore. Attuatore CENNI DI TEORIA (MATEMATICA) DELL INFORMAZIONE

TELECOMUNICAZIONI (TLC) Generico sistema di telecomunicazione (TLC) Trasduttore. Attuatore CENNI DI TEORIA (MATEMATICA) DELL INFORMAZIONE TELECOMUNICAZIONI (TLC) Tele (lontano) Comunicare (inviare informazioni) Comunicare a distanza Generico sistema di telecomunicazione (TLC) Segnale non elettrico Segnale elettrico TRASMESSO s x (t) Sorgente

Dettagli

Esercizi su lineare indipendenza e generatori

Esercizi su lineare indipendenza e generatori Esercizi su lineare indipendenza e generatori Per tutto il seguito, se non specificato esplicitamente K indicherà un campo e V uno spazio vettoriale su K Cose da ricordare Definizione Dei vettori v,,v

Dettagli

> MULTI TASKING > MULTI PROCESS > MULTI CORE

> MULTI TASKING > MULTI PROCESS > MULTI CORE > MULTI TASKING > MULTI PROCESS > MULTI CORE WorkNC V21 multicore 64 bits : Benefici di WorkNC Aumento generale della produttività, grazie alle nuove tecnologie multi-core, 64 bit e Windows 7 Calcolo di

Dettagli

razionali Figura 1. Rappresentazione degli insiemi numerici Numeri reali algebrici trascendenti frazionari decimali finiti

razionali Figura 1. Rappresentazione degli insiemi numerici Numeri reali algebrici trascendenti frazionari decimali finiti 4. Insiemi numerici 4.1 Insiemi numerici Insieme dei numeri naturali = {0,1,,3,,} Insieme dei numeri interi relativi = {..., 3,, 1,0, + 1, +, + 3, } Insieme dei numeri razionali n 1 1 1 1 = : n, m \{0}

Dettagli

Minimizzazione di Reti Logiche Combinatorie Multi-livello

Minimizzazione di Reti Logiche Combinatorie Multi-livello Minimizzazione di Reti Logiche Combinatorie Multi-livello Maurizio Palesi Maurizio Palesi 1 Introduzione Obiettivo della sintesi logica: ottimizzazione delle cifre di merito area e prestazioni Prestazioni:

Dettagli

Deviazione standard delle misure : dove è la varianza e sono gli scarti quadratici

Deviazione standard delle misure : dove è la varianza e sono gli scarti quadratici ELEMENTI DI PROBABILITA Media : migliore stima del valore vero in assenza di altre info. Aumentare il numero di misure permette di approssimare meglio il valor medio e quindi ridurre l influenza degli

Dettagli

ALGEBRA I: CARDINALITÀ DI INSIEMI

ALGEBRA I: CARDINALITÀ DI INSIEMI ALGEBRA I: CARDINALITÀ DI INSIEMI 1. CONFRONTO DI CARDINALITÀ E chiaro a tutti che esistono insiemi finiti cioè con un numero finito di elementi) ed insiemi infiniti. E anche chiaro che ogni insieme infinito

Dettagli

Algebra di Boole: Concetti di base. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica

Algebra di Boole: Concetti di base. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica Fondamenti di Informatica Algebra di Boole: Concetti di base Fondamenti di Informatica - D. Talia - UNICAL 1 Algebra di Boole E un algebra basata su tre operazioni logiche OR AND NOT Ed operandi che possono

Dettagli

ALGEBRA: LEZIONI DAL 13 OTTOBRE AL 3 NOVEMBRE

ALGEBRA: LEZIONI DAL 13 OTTOBRE AL 3 NOVEMBRE ALGEBRA: LEZIONI DAL 13 OTTOBRE AL 3 NOVEMBRE 1 DIPENDENZA E INDIPENDENZA LINEARE Se ho alcuni vettori v 1, v 2,, v n in uno spazio vettoriale V, il sottospazio 1 W = v 1,, v n di V da loro generato è

Dettagli

PROPRIETA' ASSOCIATIVA La somma di tre o più addendi non cambia se al posto di alcuni di essi si sostituisce la loro somma.

PROPRIETA' ASSOCIATIVA La somma di tre o più addendi non cambia se al posto di alcuni di essi si sostituisce la loro somma. Addizione: PROPRIETA' COMMUTATIVA Cambiando l'ordine degli addendi la somma non cambia. 1) a + b = b + a PROPRIETA' ASSOCIATIVA La somma di tre o più addendi non cambia se al posto di alcuni di essi si

Dettagli

Preprocessamento dei Dati

Preprocessamento dei Dati Preprocessamento dei Dati Raramente i dati sperimentali sono pronti per essere utilizzati immediatamente per le fasi successive del processo di identificazione, a causa di: Offset e disturbi a bassa frequenza

Dettagli

Dott.ssa Caterina Gurrieri

Dott.ssa Caterina Gurrieri Dott.ssa Caterina Gurrieri Le relazioni tra caratteri Data una tabella a doppia entrata, grande importanza riveste il misurare se e in che misura le variabili in essa riportata sono in qualche modo

Dettagli

Le funzioni. Funzioni. Funzioni. Funzioni. Funzioni. Funzioni

Le funzioni. Funzioni. Funzioni. Funzioni. Funzioni. Funzioni Funzioni Le funzioni Con il termine funzione si intende, in generale, un operatore che, applicato a un insieme di operandi, consente di calcolare un risultato, come avviene anche per una funzione matematica

Dettagli

A i è un aperto in E. i=1

A i è un aperto in E. i=1 Proposizione 1. A è aperto se e solo se A c è chiuso. Dimostrazione. = : se x o A c, allora x o A = A o e quindi esiste r > 0 tale che B(x o, r) A; allora x o non può essere di accumulazione per A c. Dunque

Dettagli

Serduino - SERRA CON ARDUINO

Serduino - SERRA CON ARDUINO Serduino - SERRA CON ARDUINO 1 Componenti Facchini Riccardo (responsabile parte hardware) Guglielmetti Andrea (responsabile parte software) Laurenti Lorenzo (progettazione hardware) Rigolli Andrea (reparto

Dettagli

Esponenziali elogaritmi

Esponenziali elogaritmi Esponenziali elogaritmi Potenze ad esponente reale Ricordiamo che per un qualsiasi numero razionale m n prendere n>0) si pone a m n = n a m (in cui si può sempre a patto che a sia un numero reale positivo.

Dettagli

LA FUNZIONE ESPONENZIALE E IL LOGARITMO

LA FUNZIONE ESPONENZIALE E IL LOGARITMO LA FUNZIONE ESPONENZIALE E IL LOGARITMO APPUNTI PER IL CORSO DI ANALISI MATEMATICA I G. MAUCERI Indice 1. Introduzione 1 2. La funzione esponenziale 2 3. Il numero e di Nepero 9 4. L irrazionalità di e

Dettagli