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

IL DSP - Digital Signal Processor

IL DSP - Digital Signal Processor 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

Dettagli

Architetture DSP. Capitolo 6

Architetture DSP. Capitolo 6 Capitolo 6 Architetture DSP Un convertitore analogico-digitale (ADC) trasforma un segnale a tempo continuo in una sequenza di bit; viceversa un convertitore digitale-analogico (DAC) trasforma una sequenza

Dettagli

Il processore SHARC ADSP-21262

Il processore SHARC ADSP-21262 2 Il processore SHARC ADSP-21262 Il processore ADSP-21262, utilizzato nel presente lavoro, appartiene ad una vasta famiglia di Digital Signal Processors della Analog Devices, denominata SHARC, particolarmente

Dettagli

I Digital Signal Processors 1

I Digital Signal Processors 1 I Digital Signal Processors 1 martedì 11 aprile 2006 in termini rozzi possiamo definirli come dei microcontrollori ottimizzati per avere prestazioni spinte nella realizzazione di filtri di segnali analogici,

Dettagli

Informatica. Esplicazione del manuale e delle slide. Informatica Appunti Luiss Marco D Epifanio. Marco

Informatica. Esplicazione del manuale e delle slide. Informatica Appunti Luiss Marco D Epifanio. Marco Informatica Appunti Luiss Marco D Epifanio Informatica Esplicazione del manuale e delle slide Marco Liberamente tratto da Introduzione alle tecnologie informatiche e ai sistemi informativi aziendali, McGraw.

Dettagli

I sistemi di elaborazione

I sistemi di elaborazione 2 I sistemi di elaborazione 2.0 I sistemi di elaborazione c Diego Calvanese Fondamenti di Informatica Corso di Laurea in Ingegneria Elettronica A.A. 2001/2002 2.0 0 2 I sistemi di elaborazione Architettura

Dettagli

CPU. Maurizio Palesi

CPU. Maurizio Palesi CPU Central Processing Unit 1 Organizzazione Tipica CPU Dispositivi di I/O Unità di controllo Unità aritmetico logica (ALU) Terminale Stampante Registri CPU Memoria centrale Unità disco Bus 2 L'Esecutore

Dettagli

Lezione 3: Architettura del calcolatore

Lezione 3: Architettura del calcolatore Lezione 3: Architettura del calcolatore Architettura di Von Neumann BUS, CPU e Memoria centrale Ciclo di esecuzione delle istruzioni Architettura del calcolatore Il calcolatore è: uno strumento programmabile

Dettagli

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 Calcolo Numerico

Corso di Calcolo Numerico Corso di Calcolo Numerico Dott.ssa M.C. De Bonis Università degli Studi della Basilicata, Potenza Facoltà di Ingegneria Corso di Laurea in Ingegneria Meccanica Sistemi di Numerazione Sistema decimale La

Dettagli

La macchina di Von Neumann. Central Processing Unit (CPU) Elementi base. Architettura computer. Bus di sistema MEMORIA CENTRALE PERIFERICHE A B INTR

La macchina di Von Neumann. Central Processing Unit (CPU) Elementi base. Architettura computer. Bus di sistema MEMORIA CENTRALE PERIFERICHE A B INTR Architettura di un computer La macchina di Von Neumann Architettura organizzata secondo il modello della macchina di von Neumann definita nei tardi anni 40 all Institute for Advanced Study di Princeton.

Dettagli

1 Organizzazione dell unità in virgola mobile (FPU)

1 Organizzazione dell unità in virgola mobile (FPU) 1 Organizzazione dell unità in virgola mobile (FPU) Il processore può maneggiare anche numeri reali, attraverso un modulo detto Floating-Point Unit (FPU). Storicamente, tale circuiteria è stata inizialmente

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

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

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 Principi di architetture dei calcolatori: l architettura ARM. Mariagiovanna Sami Che cosa è ARM In realtà, non un solo microprocessore, ma un intera famiglia, dalle CPU più semplici con una sola pipeline

Dettagli

Laboratorio di Informatica Corso di Laurea in Matematica A.A. 2007/2008

Laboratorio di Informatica Corso di Laurea in Matematica A.A. 2007/2008 Laboratorio di Informatica Corso di Laurea in Matematica A.A. 2007/2008 Dott.Davide Di Ruscio Dipartimento di Informatica Università degli Studi di L Aquila Lezione del 11/01/08 Nota Questi lucidi sono

Dettagli

Calcolatori Elettronici L-A

Calcolatori Elettronici L-A 1 Calcolatori Elettronici L-A Obiettivo del modulo è lo studio dei seguenti aspetti dell hardware dei calcolatori: l architettura i principi di funzionamento le tecniche di progettazione l impatto dell'architettura

Dettagli

CALCOLATORI ELETTRONICI

CALCOLATORI ELETTRONICI CALCOLATORI ELETTRONICI Giuseppe Coldani Tel. 0382 985678 e-mail: giuseppe.coldani@unipv.it giuseppe.coldani@tin.it orario delle lezioni: Mercoledì 14.00-18.00 orario di ricevimento: su appuntamento 1

Dettagli

Fondamenti di informatica: un po di storia

Fondamenti di informatica: un po di storia Fondamenti di informatica: un po di storia L idea di utilizzare dispositivi meccanici per effettuare in modo automatico calcoli risale al 600 (Pascal, Leibniz) Nell ottocento vengono realizzati i primi

Dettagli

Informatica. Rappresentazione dei numeri Numerazione binaria

Informatica. Rappresentazione dei numeri Numerazione binaria Informatica Rappresentazione dei numeri Numerazione binaria Sistemi di numerazione Non posizionali: numerazione romana Posizionali: viene associato un peso a ciascuna posizione all interno della rappresentazione

Dettagli

Struttura del calcolatore

Struttura del calcolatore Struttura del calcolatore Proprietà: Flessibilità: la stessa macchina può essere utilizzata per compiti differenti, nessuno dei quali è predefinito al momento della costruzione Velocità di elaborazione

Dettagli

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa 05 La rappresentazione dell informazione Carla Limongelli Ottobre 2011 http://www.dia.uniroma3.it/~java/fondinf/ La rappresentazione

Dettagli

E una notazione per descrivere gli algoritmi.

E una notazione per descrivere gli algoritmi. Linguaggio di Programmazione E una notazione per descrivere gli algoritmi. Programma:: e la rappresentazione di un algoritmo in un particolare linguaggio di programmazione. In generale, ogni linguaggio

Dettagli

Anatomia e fisiologia del computer: l architettura del calcolatore

Anatomia e fisiologia del computer: l architettura del calcolatore Corso di Laurea Ingegneria Civile Fondamenti di Informatica Dispensa 01 Anatomia e fisiologia del computer: l architettura del calcolatore Marzo 2009 L architettura del calcolatore 1 Nota bene Alcune parti

Dettagli

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

Il calcolatore elettronico. Parte dei lucidi sono stati gentilmente forniti dal Prof. Beraldi Il calcolatore elettronico Parte dei lucidi sono stati gentilmente forniti dal Prof. Beraldi Introduzione Un calcolatore elettronico è un sistema elettronico digitale programmabile Sistema: composto da

Dettagli

Corso di Calcolatori Elettronici I A.A. 2010-2011 Il processore Lezione 18

Corso di Calcolatori Elettronici I A.A. 2010-2011 Il processore Lezione 18 Corso di Calcolatori Elettronici I A.A. 2010-2011 Il processore Lezione 18 Università degli Studi di Napoli Federico II Facoltà di Ingegneria Calcolatore: sottosistemi Processore o CPU (Central Processing

Dettagli

Lezione2 Ricerca di zeri. http://idefix.mi.infn.it/~palombo/didattica/lab-tnds/corsolab/lezionifrontali. Fernando Palombo

Lezione2 Ricerca di zeri. http://idefix.mi.infn.it/~palombo/didattica/lab-tnds/corsolab/lezionifrontali. Fernando Palombo Lezione2 Ricerca di zeri http://idefix.mi.infn.it/~palombo/didattica/lab-tnds/corsolab/lezionifrontali Fernando Palombo Aritmetica Finita nel Computer Nel computer l aritmetica è a precisione finita cioè

Dettagli

Lezione 16: L architettura LC-3

Lezione 16: L architettura LC-3 Lezione 16: L architettura LC-3 Laboratorio di Elementi di Architettura e Sistemi Operativi 15 Maggio 2013 Ricorda... Il ciclo di esecuzione di un istruzione è composto da sei fasi: FETCH DECODE ADDRESS

Dettagli

Fondamenti di Informatica Ingegneria Clinica Lezione 19/11/2009. Prof. Raffaele Nicolussi

Fondamenti di Informatica Ingegneria Clinica Lezione 19/11/2009. Prof. Raffaele Nicolussi Fondamenti di Informatica Ingegneria Clinica Lezione 19/11/2009 Prof. Raffaele Nicolussi FUB - Fondazione Ugo Bordoni Via B. Castiglione 59-00142 Roma Docente Raffaele Nicolussi rnicolussi@fub.it Lezioni

Dettagli

Metodi Software per ottenere ILP

Metodi Software per ottenere ILP Metodi Software per ottenere ILP Calcolatori Elettronici 2 http://www.dii.unisi.it/~giorgi/didattica/calel2 Scaletta Tecnologie nel compilatore BRANCH PREDICTION A SOFTWARE (nel compilatore) - Gia vista

Dettagli

L architettura di riferimento

L architettura di riferimento Architetture degli elaboratori e delle reti Lezione 10 L architettura di riferimento Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano L 10 1/27

Dettagli

Il livello architettura e set di istruzioni

Il livello architettura e set di istruzioni Corso di Informatica 2 Prof. Sciuto Il livello architettura e set di istruzioni Daniele Paolo Scarpazza Dipartimento di Elettronica e Informazione Politecnico di Milano 7 Giugno 2004 Daniele Paolo Scarpazza

Dettagli

LA NUMERAZIONE BINARIA

LA NUMERAZIONE BINARIA LA NUMERAZIONE BINARIA 5 I SISTEMI DI NUMERAZIONE Fin dalla preistoria l uomo ha avuto la necessità di fare calcoli, utilizzando svariati tipi di dispositivi: manuali (mani, bastoncini, sassi, abaco),

Dettagli

Programmazione dello Z80

Programmazione dello Z80 Il microprocessore si incarica di: gestire il programma e i suoi dati di eseguire i calcoli richiesti. Le azioni appena elencate rendono necessario che il microprocessore abbia da qualche parte, al suo

Dettagli

L Architettura di un Calcolatore

L Architettura di un Calcolatore ASTE Information Technology Excellence oad (I.T.E..) L Architettura di un Calcolatore aurizio Palesi Salvatore Serrano aster ITE Informatica di Base aurizio Palesi, Salvatore Serrano 1 Sommario Architettura

Dettagli

Sistemi di numerazione: generalità

Sistemi di numerazione: generalità Sistemi di numerazione: generalità Nel corso della storia sono stati introdotti diversi sistemi di numerazione, dettati di volta in volta dalle specifiche esigenze dei vari popoli. Poiché ogni numero maggiore

Dettagli

Sistemi di Numerazione Binaria NB.1

Sistemi di Numerazione Binaria NB.1 Sistemi di Numerazione Binaria NB.1 Numeri e numerali Numero: entità astratta Numerale : stringa di caratteri che rappresenta un numero in un dato sistema di numerazione Lo stesso numero è rappresentato

Dettagli

AXO Achitettura dei Calcolatori e Sistema Operativo. Instruction Set Architecture (ISA) e 68000

AXO Achitettura dei Calcolatori e Sistema Operativo. Instruction Set Architecture (ISA) e 68000 AXO Achitettura dei Calcolatori e Sistema Operativo Instruction Set Architecture (ISA) e 68000 introduzione a ISA ISA - Instruction Set Architecture insieme delle istruzioni (instruction set) che possono

Dettagli

Architettura di un computer

Architettura di un computer Architettura di un computer Modulo di Informatica Dott.sa Sara Zuppiroli A.A. 2012-2013 Modulo di Informatica () Architettura A.A. 2012-2013 1 / 36 La tecnologia Cerchiamo di capire alcuni concetti su

Dettagli

INFORMATICA E COMPUTER : INTRODUZIONE

INFORMATICA E COMPUTER : INTRODUZIONE INFORMATICA E COMPUTER : INTRODUZIONE! Informatica: dal francese, informatique informat(ion) (automat)ique [termine coniato dall'ingegnere francese Philippe Dreyfus nel 1962] è la scienza che studia i

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

Calcolatori Elettronici

Calcolatori Elettronici Calcolatori Elettronici ISA di riferimento: MIPS Massimiliano Giacomin 1 DOVE CI TROVIAMO Livello funzionale Livello logico Livello circuitale Livello del layout istruzioni macchina, ISA Reti logiche:

Dettagli

2.12 Esercizi risolti

2.12 Esercizi risolti Codifica dell'informazione 55 Lo standard IEEE prevede cinque cause di eccezione aritmetica: underflow, overflow, divisione per zero, eccezione per inesattezza, e eccezione di invalidità. Le eccezioni

Dettagli

Corso basilare di programmazione

Corso basilare di programmazione Parte vi Corso basilare di programmazione Introduzione............................................ 947 Programma didattico.................................. 947 Strumenti per la compilazione..........................

Dettagli

Esercitazione Informatica I AA 2012-2013. Nicola Paoletti

Esercitazione Informatica I AA 2012-2013. Nicola Paoletti Esercitazione Informatica I AA 2012-2013 Nicola Paoletti 4 Gigno 2013 2 Conversioni Effettuare le seguenti conversioni, tenendo conto del numero di bit con cui si rappresenta il numero da convertire/convertito.

Dettagli

8 Microcontrollori PIC

8 Microcontrollori PIC 8 Microcontrollori PIC 8.1 Descrizione generale Un microcontrollore è un dispositivo elettronico che opportunamente programmato è in grado di svolgere diverse funzioni in modo autonomo. Essenzialmente

Dettagli

Von Neumann. John Von Neumann (1903-1957)

Von Neumann. John Von Neumann (1903-1957) Linguaggio macchina Von Neumann John Von Neumann (1903-1957) Inventore dell EDVAC (Electronic Discrete Variables AutomaFc Computer), la prima macchina digitale programmabile tramite un soiware basata su

Dettagli

Microprocessori, Microcontrollori e DSP (Digital Signal Processors)

Microprocessori, Microcontrollori e DSP (Digital Signal Processors) Microprocessori, Microcontrollori e DSP (Digital Signal Processors) Il microprocessore è un dispositivo integrato digitale che può essere programmato con una serie di istruzioni per effettuare una specifica

Dettagli

Architettura del calcolatore e rappresentazione dell informazione

Architettura del calcolatore e rappresentazione dell informazione Corso di Laurea in Ingegneria Elettronica Complementi al corso di Fondamenti di Informatica Architettura del calcolatore e rappresentazione dell informazione Daniela D Aloisi Anno Accademico 2001-2002

Dettagli

Nicola Amoroso. Corso introduttivo sui microcontrollori A. S. 2007 2008. Microcontrollori Microchip PIC 8 bit. namoroso@mrscuole.

Nicola Amoroso. Corso introduttivo sui microcontrollori A. S. 2007 2008. Microcontrollori Microchip PIC 8 bit. namoroso@mrscuole. Corso introduttivo sui microcontrollori A. S. 2007 2008 Microcontrollori Microchip PIC 8 bit Nicola Amoroso namoroso@mrscuole.net NA L2 1 Microcontrollori Microchip PIC 8 bit PIC: Peripheral Interface

Dettagli

Introduzione. Il principio di localizzazione... 2 Organizzazioni delle memorie cache... 4 Gestione delle scritture in una cache...

Introduzione. Il principio di localizzazione... 2 Organizzazioni delle memorie cache... 4 Gestione delle scritture in una cache... Appunti di Calcolatori Elettronici Concetti generali sulla memoria cache Introduzione... 1 Il principio di localizzazione... 2 Organizzazioni delle memorie cache... 4 Gestione delle scritture in una cache...

Dettagli

Aggiornato il 18 giugno 2015. 1 Questa affermazione richiede una precisazione. A parità di altre condizioni, l eliminazione dello stadio ME allunga la

Aggiornato il 18 giugno 2015. 1 Questa affermazione richiede una precisazione. A parità di altre condizioni, l eliminazione dello stadio ME allunga la 8 Questo documento contiene le soluzioni ad un numero selezionato di esercizi del Capitolo 8 del libro Calcolatori Elettronici - Architettura e organizzazione, Mc-Graw Hill 2009. Sarò grato a coloro che

Dettagli

Informatica Generale 02 - Rappresentazione numeri razionali

Informatica Generale 02 - Rappresentazione numeri razionali Informatica Generale 02 - Rappresentazione numeri razionali Cosa vedremo: Rappresentazione binaria dei numeri razionali Rappresentazione in virgola fissa Rappresentazione in virgola mobile La rappresentazione

Dettagli

Un micro FPGA. skills. come il core ABC. il core ABC sia la suite di sviluppo di AC-

Un micro FPGA. skills. come il core ABC. il core ABC sia la suite di sviluppo di AC- skills di Un micro FPGA che parte dall ABC Quando in molti progetti è necessario unire alla logica programmabile la funzionalità di un piccolo microprocessore le soluzioni semplici come il core ABC possono

Dettagli

La macchina programmata Instruction Set Architecture (1)

La macchina programmata Instruction Set Architecture (1) Corso di Laurea in Informatica Architettura degli elaboratori a.a. 2014-15 La macchina programmata Instruction Set Architecture (1) Schema base di esecuzione Istruzioni macchina Outline Componenti di un

Dettagli

Il Processore: i registri

Il Processore: i registri Il Processore: i registri Il processore contiene al suo interno un certo numero di registri (unità di memoria estremamente veloci) Le dimensioni di un registro sono di pochi byte (4, 8) I registri contengono

Dettagli

SISTEMI OPERATIVI. Gestione della memoria Domande di verifica. Luca Orrù Centro Multimediale Montiferru 18/06/2007

SISTEMI OPERATIVI. Gestione della memoria Domande di verifica. Luca Orrù Centro Multimediale Montiferru 18/06/2007 2007 SISTEMI OPERATIVI Gestione della memoria Domande di verifica Luca Orrù Centro Multimediale Montiferru 18/06/2007 Gestione della memoria 1. Si descriva il concetto di memoria virtuale (esame del 19-06-2006)

Dettagli

Ing. Paolo Domenici PREFAZIONE

Ing. Paolo Domenici PREFAZIONE Ing. Paolo Domenici SISTEMI A MICROPROCESSORE PREFAZIONE Il corso ha lo scopo di fornire i concetti fondamentali dei sistemi a microprocessore in modo semplice e interattivo. È costituito da una parte

Dettagli

Laboratorio di Informatica

Laboratorio di Informatica per chimica industriale e chimica applicata e ambientale LEZIONE 2 Rappresentazione delle informazioni: numeri e caratteri 1 Codice La relazione che associa ad ogni successione ben formata di simboli di

Dettagli

Le componenti fisiche di un computer: l hardware

Le componenti fisiche di un computer: l hardware Le componenti fisiche di un computer: l hardware In questa sezione ci occuperemo di come è strutturato e come funziona l hardware di un computer. In particolare, nella Sezione ci occuperemo del punto di

Dettagli

Fondamenti di Informatica

Fondamenti di Informatica Università degli Studi di Messina Ingegneria delle Tecnologie Industriali Docente: Ing. Mirko Guarnera 1 Approccio al corso Approccio IN OUT Visione Globale solo insieme alla programmazione 2 1 Contenuti

Dettagli

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

CALCOLATORI ELETTRONICI A cura di Luca Orrù. Lezione n.6. Unità di controllo microprogrammata Lezione n.6 Unità di controllo microprogrammata 1 Sommario Unità di controllo microprogrammata Ottimizzazione, per ottimizzare lo spazio di memoria occupato Il moltiplicatore binario Esempio di architettura

Dettagli

Codifica binaria dei numeri

Codifica binaria dei numeri Codifica binaria dei numeri Caso più semplice: in modo posizionale (spesso detto codifica binaria tout court) Esempio con numero naturale: con 8 bit 39 = Codifica in virgola fissa dei numeri float: si

Dettagli

Microcontrollore. Ora invece passiamo a spiegare come funzionano i convertitori A/D interni ai microcontrollori

Microcontrollore. Ora invece passiamo a spiegare come funzionano i convertitori A/D interni ai microcontrollori Microcontrollore Il microcontrollore è un sistema a microprocessore completo,integrato in un unico chip, progettato per avere la massima autosufficienza e versatilità. Infatti visto il loro prezzo esiguo,

Dettagli

02 - Organizzazione dei sistemi di calcolo

02 - Organizzazione dei sistemi di calcolo Organizzazione dei sistemi di calcolo - Processori - Memoria principale - Memoria secondaria - Input/Output Pagina 2 Processori Pagina 3 La CPU è composta da: - Unità di controllo - Unità logico-aritmetica

Dettagli

Architettura degli elaboratori (A)

Architettura degli elaboratori (A) Laurea in Informatica a.a. 2010-2011 Laboratorio del corso di Architettura degli elaboratori (A) Modulo 1: l Architettura dell 8086 Valeria Carofiglio Linguaggi a vari livelli e loro relazioni Programma

Dettagli

ARCHITETTURA DI UN SISTEMA A MICROPROCESSORE

ARCHITETTURA DI UN SISTEMA A MICROPROCESSORE ARCHITETTURA DI UN SISTEMA A MICROPROCESSORE 1. INTRODUZIONE In questo capitolo viene presentata la struttura, sia interna che esterna, di un microprocessore generico riprendendo i concetti esposti nella

Dettagli

DIGITAL SIGNAL PROCESSORS

DIGITAL SIGNAL PROCESSORS DIGITAL SIGNAL PROCESSORS Operazioni fondamentali di un processore digitale programmabile: somma - prodotto - ritardo Famiglie di processori digitali programmabili : Microcontrollori controllo elettrodomestici

Dettagli

CAP. 4: Aspetti generali del Sistema Operativo Linux. l http://home.dei.polimi.it/silvano/acso.htm

CAP. 4: Aspetti generali del Sistema Operativo Linux. l http://home.dei.polimi.it/silvano/acso.htm Struttura interna del sistema Operativo Linux CAP. 4: Aspetti generali del Sistema Operativo Linux CAP. 5: Funzionalità del calcolatore l http://home.dei.polimi.it/silvano/acso.htm Funzionalità del Sistema

Dettagli

Logica e codifica binaria dell informazione

Logica e codifica binaria dell informazione Politecnico di Milano Corsi di Laurea in Ingegneria Matematica e Ingegneria Fisica Dipartimento di Elettronica ed Informazione Logica e codifica binaria dell informazione Anno Accademico 2002 2003 L. Muttoni

Dettagli

Introduzione alle architetture dei processori

Introduzione alle architetture dei processori Architettura dei microprocessori Argomenti CLASSIFICAZIONE MICROPROCESSORI Basic concepts 80x86, x64 Architettura pc Tecniche per incrementare le prestazioni 07/08 CLASSIFICAZIONE ELABORATORI(MICROPROCESSORI)

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

PROVA INTRACORSO TRACCIA A Pagina 1 di 6

PROVA INTRACORSO TRACCIA A Pagina 1 di 6 PROVA INTRACORSO DI ELEMENTI DI INFORMATICA MATRICOLA COGNOME E NOME TRACCIA A DOMANDA 1 Calcolare il risultato delle seguenti operazioni binarie tra numeri interi con segno rappresentati in complemento

Dettagli

Università degli Studi di Cassino e del Lazio Meridionale

Università degli Studi di Cassino e del Lazio Meridionale di Cassino e del Lazio Meridionale Corso di Pipeline Anno Accademico Francesco Tortorella Progettazione del datapath Prima soluzione: d.p. a ciclo singolo Semplice da realizzare Condizionato dal worst

Dettagli

Alessandro Pellegrini

Alessandro Pellegrini Esercitazione sulle Rappresentazioni Numeriche Esistono 1 tipi di persone al mondo: quelli che conoscono il codice binario e quelli che non lo conoscono Alessandro Pellegrini Cosa studiare prima Conversione

Dettagli

Megabyte (MB) = 1024KB 1 milione di Byte (e.g. un immagine di 30MB) Gigabyte (GB) = 1024MB 1 miliardo di Byte (e.g. un hard disk da 80GB)

Megabyte (MB) = 1024KB 1 milione di Byte (e.g. un immagine di 30MB) Gigabyte (GB) = 1024MB 1 miliardo di Byte (e.g. un hard disk da 80GB) Unità di misura per l informatica Un bit (b) rappresenta una cifra binaria. E l unità minima di informazione. Un Byte (B) è costituito da 8 bit. Permette di codificare 256 entità di informazione distinte

Dettagli

CONVERSIONE ANALOGICA DIGITALE (ADC)(A/D) CONVERSIONE DIGITALE ANALOGICA (DAC)(D/A)

CONVERSIONE ANALOGICA DIGITALE (ADC)(A/D) CONVERSIONE DIGITALE ANALOGICA (DAC)(D/A) CONVERSIONE ANALOGICA DIGITALE (ADC)(A/D) CONVERSIONE DIGITALE ANALOGICA (DAC)(D/A) ELABORAZIONE ANALOGICA O DIGITALE DEI SEGNALI ELABORAZIONE ANALOGICA ELABORAZIONE DIGITALE Vantaggi dell elaborazione

Dettagli

Calcolatori Elettronici

Calcolatori Elettronici Calcolatori Elettronici Classificazione dei calcolatori elettronici Sistemi basati sull architettura di von Neumann rchitettura dei calcolatori: definizioni Evoluzione dell architettura rchitettura della

Dettagli

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

Il processore. Il processore. Il processore. Il processore. Architettura dell elaboratore Il processore Architettura dell elaboratore Il processore La esegue istruzioni in linguaggio macchina In modo sequenziale e ciclico (ciclo macchina o ciclo ) Effettuando operazioni di lettura delle istruzioni

Dettagli

L informatica comprende:

L informatica comprende: Varie definizioni: INFORMATICA Scienza degli elaboratori elettronici (Computer Science) Scienza dell informazione Definizione proposta: Scienza della rappresentazione e dell elaborazione dell informazione

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

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

Lez. 3 L elaborazione (II parte) Prof. Pasquale De Michele Gruppo 2 Lez. 3 L elaborazione (II parte) Prof. Pasquale De Michele Gruppo 2 1 Dott. Pasquale De Michele Dipartimento di Matematica e Applicazioni Università di Napoli Federico II Compl. Univ. Monte S.Angelo Via

Dettagli

CPU pipeline 4: le CPU moderne

CPU pipeline 4: le CPU moderne Architettura degli Elaboratori e delle Reti Lezione 25 CPU pipeline 4: le CPU moderne Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano L 25 1/16

Dettagli

L algoritmo di misura

L algoritmo di misura 4 L algoritmo di misura In questo capitolo viene presentato l algoritmo di misura implementato sul DSP. Lo schema di principio è quello riportato nel cap. 1, par. 4, sul quale sono state apportate sensibili

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

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

CALCOLATORI ELETTRONICI A cura di Luca Orrù. Lezione n.7. Il moltiplicatore binario e il ciclo di base di una CPU Lezione n.7 Il moltiplicatore binario e il ciclo di base di una CPU 1 SOMMARIO Architettura del moltiplicatore Architettura di base di una CPU Ciclo principale di base di una CPU Riprendiamo l analisi

Dettagli

Sistemi Operativi GESTIONE DELLA MEMORIA CENTRALE. D. Talia - UNICAL. Sistemi Operativi 6.1

Sistemi Operativi GESTIONE DELLA MEMORIA CENTRALE. D. Talia - UNICAL. Sistemi Operativi 6.1 GESTIONE DELLA MEMORIA CENTRALE 6.1 Gestione della Memoria Background Spazio di indirizzi Swapping Allocazione Contigua Paginazione 6.2 Background Per essere eseguito un programma deve trovarsi (almeno

Dettagli

Elementi di Informatica. Hardware

Elementi di Informatica. Hardware Elementi di Informatica Hardware Scopo della lezione Introduzione alle tecnologie ICT L'hardware Il processore La memoria Tipologie di computer Personal computer Notebook/Laptop Palmare Console da gioco

Dettagli

mendiante un ciclo e finché il segnale rimane alto, si valuta il tempo T3 usando il timer del microcontrollore e una variabile di conteggio.

mendiante un ciclo e finché il segnale rimane alto, si valuta il tempo T3 usando il timer del microcontrollore e una variabile di conteggio. Svolgimento (a) Il sensore di temperatura ha un uscita digitale a 9 bit, emettendo un codice binario proporzionale al valore Temp richiesto. Possiamo pensare si tratti di un dispositivo 1-Wire. Un sistema

Dettagli

Calcolatori elettronici: Hardware

Calcolatori elettronici: Hardware Calcolatori elettronici: Andrea Passerini passerini@disi.unitn.it Informatica Macchina di Von Neumann CPU Memoria (centrale) Memoria di massa Interfaccia di I/O Schermo/tastiera Interfaccia di I/O BUS

Dettagli

Linguaggio macchina. 73.1 Organizzazione della memoria. 73.1.1 Pila per salvare i dati. 73.1 Organizzazione della memoria... 37

Linguaggio macchina. 73.1 Organizzazione della memoria. 73.1.1 Pila per salvare i dati. 73.1 Organizzazione della memoria... 37 37 Linguaggio macchina Capitolo 73 73.1 Organizzazione della memoria.............................................. 37 73.1.1 Pila per salvare i dati............................................... 37 73.1.2

Dettagli

che vengano generati nell ordine corretto i sistema (es., la memoria, l unità aritmetico-

che vengano generati nell ordine corretto i sistema (es., la memoria, l unità aritmetico- Principi di architetture dei calcolatori: l unità di controllo Mariagiovanna Sami L unità di controllo Per eseguire le istruzioni di macchina, occorre che vengano generati nell ordine corretto i segnali

Dettagli

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

- Algoritmi ed esecutori di algoritmi - ALGORITMI MACCHINA DI VON NEUMANN ALGORITMI E MACCHINA DI VON NEUMANN 1 COMPUTER= ELABORATORE NON CERVELLO ELETTRONICO CERVELLO: Capacità decisionali ELABORATORE: Incapacità di effettuare scelte autonome di fronte a situazioni impreviste

Dettagli

Corso di Architettura degli Elaboratori

Corso di Architettura degli Elaboratori Corso di Architettura degli Elaboratori Valutazione delle prestazioni DOCENTE Luigi Palopoli AA. 2011/2012 Valutare le Prestazioni La complessita di un moderno calcolatore rende la valutazione delle prestazioni

Dettagli

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

Architettura (10/9/2003) Pag. 1/6. Cognome e Nome (in stampatello): Architettura (10/9003) Pag. 1/6 Esame di Architettura (matr.0-1) del 10/9003 Per Fondamenti di Architettura NON rispondere Per le domande a risposta multipla cerchiare la risposta scelta. Non alle domande

Dettagli

Architettura di un calcolatore

Architettura di un calcolatore 2009-2010 Ingegneria Aerospaziale Prof. A. Palomba - Elementi di Informatica (E-Z) 7 Architettura di un calcolatore Lez. 7 1 Modello di Von Neumann Il termine modello di Von Neumann (o macchina di Von

Dettagli

Sommario Introduzione al linguaggio Assembly. Calcolatori Elettronici Prof. Gian Luca Marcialis. Le operazioni fondamentali

Sommario Introduzione al linguaggio Assembly. Calcolatori Elettronici Prof. Gian Luca Marcialis. Le operazioni fondamentali Prof. Gian Luca Marcialis Corso di Laurea di Ingegneria Elettronica Capitolo 5 Linguaggio Assembly Fonti principali: Patterson, A.D., Hennessy, J., "Struttura, organizzazione e progetto dei calcolatori

Dettagli

Componenti del Sistema di Elaborazione

Componenti del Sistema di Elaborazione Componenti del Sistema di Elaborazione Il Sistema di Elaborazione Monitor Tastiera Processore Memoria Centrale (Programmi + Dati) Memorie di massa Altre periferiche Rete Rete a.a. 2002-03 L. Borrelli 2

Dettagli

Programmazione per Bioinformatica Il Calcolatore e la Programmazione. Dr Damiano Macedonio Università di Verona

Programmazione per Bioinformatica Il Calcolatore e la Programmazione. Dr Damiano Macedonio Università di Verona Programmazione per Bioinformatica Il Calcolatore e la Programmazione Dr Damiano Macedonio Università di Verona Architettura del calcolatore La prima decomposizione di un calcolatore è relativa a due macrocomponenti:

Dettagli

Dispensa di Fondamenti di Informatica. Architettura di un calcolatore

Dispensa di Fondamenti di Informatica. Architettura di un calcolatore Dispensa di Fondamenti di Informatica Architettura di un calcolatore Hardware e software La prima decomposizione di un calcolatore è relativa ai seguenti macro-componenti hardware la struttura fisica del

Dettagli

Calcolatori Elettronici

Calcolatori Elettronici Calcolatori Elettronici La Pipeline Superpipeline Pipeline superscalare Schedulazione dinamica della pipeline Processori reali: l architettura Intel e la pipeline dell AMD Opteron X4 Ricapitolando Con

Dettagli