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

Digital Signal Processors

Digital Signal Processors Politecnico di Milano Digital Signal Processors Mariagiovanna Sami Le classi di CPU Di tipo generale ad alte prestazioni: Usate per sw di tipo generale Sistemi operativi pesanti - UNIX, NT Workstations,

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

Informatica di Base - 6 c.f.u.

Informatica di Base - 6 c.f.u. Università degli Studi di Palermo Dipartimento di Ingegneria Informatica Informatica di Base - 6 c.f.u. Anno Accademico 2007/2008 Docente: ing. Salvatore Sorce Architettura dei calcolatori I parte Introduzione,

Dettagli

Architettura del calcolatore

Architettura del calcolatore Architettura del calcolatore La prima decomposizione di un calcolatore è relativa a due macro-componenti: Hardware Software Architettura del calcolatore L architettura dell hardware di un calcolatore reale

Dettagli

Parte IV Architettura della CPU Central Processing Unit

Parte IV Architettura della CPU Central Processing Unit Parte IV Architettura della CPU Central Processing Unit IV.1 Struttura della CPU All interno di un processore si identificano in genere due parti principali: l unità di controllo e il data path (percorso

Dettagli

Elementi di Informatica e Programmazione. # Memoria di massa. Problema: comprare un PC. Architettura del calcolatore. Architettura di Von Neumann

Elementi di Informatica e Programmazione. # Memoria di massa. Problema: comprare un PC. Architettura del calcolatore. Architettura di Von Neumann Elementi di Informatica e Programmazione Architettura del calcolatore (prima parte) Corsi di Laurea in: Ingegneria Civile Ingegneria per l Ambiente e il Territorio Università degli Studi di Brescia Problema:

Dettagli

Architettura dei calcolatori

Architettura dei calcolatori Architettura dei calcolatori Dott. Ing. Leonardo Rigutini Dipartimento Ingegneria dell Informazione Università di Siena Via Roma 56 53100 SIENA Uff. 0577233606 rigutini@dii.unisi.it http://www.dii.unisi.it/~rigutini/

Dettagli

Corso di Sistemi di Elaborazione delle informazioni

Corso di Sistemi di Elaborazione delle informazioni Corso di Sistemi di Elaborazione delle informazioni LEZIONE 2 (HARDWARE) a.a. 2011/2012 Francesco Fontanella Tre concetti Fondamentali Algoritmo; Automa (o anche macchina); Calcolo; 2 Calcolatore MACCHINA

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

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

1.4a: Hardware (Processore)

1.4a: Hardware (Processore) 1.4a: Hardware (Processore) 2 23 nov 2011 Bibliografia Curtin, Foley, Sen, Morin Informatica di base, Mc Graw Hill Ediz. Fino alla III : cap. 3.8, 3.9 IV ediz.: cap. 2.6, 2.7 Questi lucidi 23 nov 2011

Dettagli

C. P. U. MEMORIA CENTRALE

C. P. U. MEMORIA CENTRALE C. P. U. INGRESSO MEMORIA CENTRALE USCITA UNITA DI MEMORIA DI MASSA La macchina di Von Neumann Negli anni 40 lo scienziato ungherese Von Neumann realizzò il primo calcolatore digitale con programma memorizzato

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

Aumentare il parallelismo a livello di istruzione (2)

Aumentare il parallelismo a livello di istruzione (2) Processori multiple-issue issue Aumentare il parallelismo a livello di istruzione (2) Architetture Avanzate dei Calcolatori Valeria Cardellini Nei processori multiple-issue vengono lanciate più istruzioni

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

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

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

LabVIEW offre un ambiente di programmazione grafica

LabVIEW offre un ambiente di programmazione grafica 03 COME OTTIMIZZARE IN LABVIEW APPLICAZIONI DI TEST AUTOMATIZZATI PER PROCESSORI MULTICORE David Hall Vediamo come delle applicazioni scritte in LabVIEW possono essere ottimizzate sfruttando tecniche di

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

L architettura del calcolatore (Prima parte)

L architettura del calcolatore (Prima parte) L architettura del calcolatore (Prima parte) Percorso di Preparazione agli Studi di Ingegneria Università degli Studi di Brescia Docente: Massimiliano Giacomin Calcolatore astratto e reale Concetto astratto

Dettagli

Architetture CISC e RISC. Misura della potenza di calcolo. Cos'è la potenza di calcolo. Prestazioni della CPU. Fondamenti di Informatica

Architetture CISC e RISC. Misura della potenza di calcolo. Cos'è la potenza di calcolo. Prestazioni della CPU. Fondamenti di Informatica 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

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

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

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

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

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

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

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

Calcolatori Elettronici

Calcolatori Elettronici Calcolatori Elettronici Classificazione dei calcolatori elettronici Sistemi basati sull architettura di Von Neumann Sistemi basati sull architettura Harward Architettura dei calcolatori: definizioni Evoluzione

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

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

Tecniche di parallelismo, processori RISC

Tecniche di parallelismo, processori RISC Testo di riferimento: [Congiu] 9.1-9.3 (pg. 253 264) Tecniche di parallelismo, processori RISC 09.a Pipelining Altre tecniche di parallelismo Processori superscalari Caratteristiche dei processori RISC

Dettagli

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

INFORMATICA CORSO DI INFORMATICA DI BASE ANNO ACCADEMICO 2015/2016 DOCENTE: SARRANTONIO ARTURO INFORMATICA CORSO DI INFORMATICA DI BASE ANNO ACCADEMICO 2015/2016 DOCENTE: SARRANTONIO ARTURO PROGRAMMA Descrizione funzionale di un calcolatore elementare, COS'E' UN ELETTRONICO HARDWARE SOFTWARE HARDWARE

Dettagli

LABORATORIO di INFORMATICA

LABORATORIO di INFORMATICA Università degli Studi di Cagliari Corso di Laurea Magistrale in Ingegneria per l Ambiente ed il Territorio LABORATORIO di INFORMATICA A.A. 2010/2011 Prof. Giorgio Giacinto ARCHITETTURA DEI CALCOLATORI

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

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

Il processore - CPU. PDF created with pdffactory trial version www.pdffactory.com

Il processore - CPU. PDF created with pdffactory trial version www.pdffactory.com Il processore - CPU (CENTRAL PROCESSING UNIT) Funzionamento o Programmi e dati risiedono in file memorizzati in memoria secondaria. o Per essere eseguiti (i programmi) e usati (i dati) vengono copiati

Dettagli

Architettura dei calcolatori I parte Introduzione, CPU

Architettura dei calcolatori I parte Introduzione, CPU Università degli Studi di Palermo Dipartimento di Ingegneria Informatica C.I. 1 Informatica ed Elementi di Statistica 2 c.f.u. Anno Accademico 2009/2010 Docente: ing. Salvatore Sorce Architettura dei calcolatori

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

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

ARCHITETTURA DI UN PERSONAL COMPUTER

ARCHITETTURA DI UN PERSONAL COMPUTER ARCHITETTURA DI UN PERSONAL COMPUTER Processore Tastiera Mouse CD-ROM Bus Memoria FD HD Stampante La struttura logica Fisicamente l unità centrale è costituita da:... la gabbia per le schede (rack)...

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

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

Codici Numerici. Modifica dell'informazione. Rappresentazione dei numeri.

Codici Numerici. Modifica dell'informazione. Rappresentazione dei numeri. Codici Numerici. Modifica dell'informazione. Rappresentazione dei numeri. A partire da questa lezione, ci occuperemo di come si riescono a codificare con sequenze binarie, quindi con sequenze di 0 e 1,

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

Il processore - CPU (CENTRAL PROCESSING UNIT)

Il processore - CPU (CENTRAL PROCESSING UNIT) Il processore - CPU (CENTRAL PROCESSING UNIT) Funzionamento Programmi e dati risiedono in file memorizzati in memoria secondaria. Per essere eseguiti (i programmi) e usati (i dati) vengono copiati nella

Dettagli

Architettura di un calcolatore: introduzione

Architettura di un calcolatore: introduzione Corso di Calcolatori Elettronici I Architettura di un calcolatore: introduzione Prof. Roberto Canonico Università degli Studi di Napoli Federico II Dipartimento di Ingegneria Elettrica e delle Tecnologie

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

Laboratorio di Informatica

Laboratorio di Informatica per chimica industriale e chimica applicata e ambientale LEZIONE 4 La CPU e l esecuzione dei programmi 1 Nelle lezioni precedenti abbiamo detto che Un computer è costituito da 3 principali componenti:

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

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

L Unità Centrale di Elaborazione

L Unità Centrale di Elaborazione L Unità Centrale di Elaborazione ed il Microprocessore Prof. Vincenzo Auletta 1 L Unità Centrale di Elaborazione L Unità Centrale di Elaborazione (Central Processing Unit) è il cuore di computer e notebook

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

Esame di INFORMATICA

Esame di INFORMATICA Università di L Aquila Facoltà di Biotecnologie Esame di INFORMATICA Lezione 4 MACCHINA DI VON NEUMANN Anni 40 i dati e i programmi che descrivono come elaborare i dati possono essere codificati nello

Dettagli

Calcolo numerico e programmazione Architettura dei calcolatori

Calcolo numerico e programmazione Architettura dei calcolatori Calcolo numerico e programmazione Architettura dei calcolatori Tullio Facchinetti 30 marzo 2012 08:57 http://robot.unipv.it/toolleeo Il calcolatore tre funzionalità essenziali:

Dettagli

L unità di elaborazione pipeline L unità Pipelining

L unità di elaborazione pipeline L unità Pipelining Struttura del processore L unità di elaborazione pipeline Corso ACSO prof. Cristina SILVANO Politecnico di Milano Incremento delle Per migliorare ulteriormente le si può: ridurre il periodo di clock aumentare

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

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

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

Architettura hardware

Architettura hardware Architettura dell elaboratore Architettura hardware la parte che si può prendere a calci Sistema composto da un numero elevato di componenti, in cui ogni componente svolge una sua funzione elaborazione

Dettagli

Architettura dei calcolatori

Architettura dei calcolatori Architettura dei calcolatori DOTT. ING. LEONARDO RIGUTINI DIPARTIMENTO INGEGNERIA DELL INFORMAZIONE UNIVERSITÀ DI SIENA VIA ROMA 56 53100 SIENA UFF. 0577234850-7102 RIGUTINI@DII.UNISI.IT HTTP://WWW.DII.UNISI.IT/~RIGUTINI/

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

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

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

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

Il contesto! Gestione della Memoria! Reg. di Base e reg. Limite! Associazione tra dati/istruzioni e memoria!

Il contesto! Gestione della Memoria! Reg. di Base e reg. Limite! Associazione tra dati/istruzioni e memoria! Il contesto Gestione della Memoria Per essere eseguiti, i programmi devono essere trasferiti (dal disco) in memoria e tradotti in processi. Obiettivi: accesso rapido e protezione. Accesso rapido La CPU

Dettagli

Unità Periferiche. Rete Di Controllo

Unità Periferiche. Rete Di Controllo MODELLO LOGICO-FUNZIONALE DI UN ELABORATORE Centrale di canale Periferiche CPU Memoria centrale ALU CU Memoria Locale ALU = Aritmetic Logic Unit CU = Registri CU ISTRUZIONE Decodificatore Rete Di Controllo

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

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

Calcolatore: Elaborare: Input: Output: John von Neumann: Device: Embedded: Sistemi programmabili:

Calcolatore: Elaborare: Input: Output: John von Neumann: Device: Embedded: Sistemi programmabili: Autore: Maria Chiara Cavaliere Informatica di base Lezione 1 del 21/3/2016 Il corso di Informatica di base si baserà sulla spiegazione di tre moduli: -Architettura Hardware; -Sistema operativo; Parte teorica

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

Il sistema di elaborazione

Il sistema di elaborazione Il sistema di elaborazione Stefano Brocchi stefano.brocchi@unifi.it Stefano Brocchi Il sistema di elaborazione 1 / 37 Informatica Il termine informatica deriva dalle parole informazione e automatica Stefano

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

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

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

Introduzione. Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD... 6 Appunti di Calcolatori Elettronici Esecuzione di istruzioni in parallelo Introduzione... 1 Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD...

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

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

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

La Memoria d Uso. La Memoria d Uso

La Memoria d Uso. La Memoria d Uso Fondamenti dell Informatica A.A. 2000-2001 La Memoria d Uso Prof. Vincenzo Auletta 1 Fondamenti dell Informatica A.A. 2000-2001 Memorie di Massa Processore CU e ALU Memorie di massa esterne La Memoria

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

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

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

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

Valutazione delle Prestazioni. Valutazione delle Prestazioni. Architetture dei Calcolatori (Lettere. Tempo di risposta e throughput Valutazione delle Prestazioni Architetture dei Calcolatori (Lettere A-I) Valutazione delle Prestazioni Prof. Francesco Lo Presti Misura/valutazione di un insieme di parametri quantitativi per caratterizzare

Dettagli

Le infrastrutture Hardware: architettura

Le infrastrutture Hardware: architettura Le infrastrutture Hardware: architettura Corso di Informatica CdL: Chimica Claudia d'amato claudia.damato@di.uniba.it Il calcolatore: modello concettuale 1. Elaborazione 2. Memorizzazione Interconnessione

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

INCREMENTO DELLE PRESTAZIONI DI UN PROCESSORE

INCREMENTO DELLE PRESTAZIONI DI UN PROCESSORE 1 INCREMENTO DELLE PRESTAZIONI DI UN PROCESSORE TIPI DI PARALLELISMO E CLASSIFICAZIONE DI FLYNN PIPELINING DELLE ISTRUZIONI I PROCESSORI SUPERSCALARI I PROCESSORI VLIW MULTITHREADING, CHIP MULTI PROCESSOR

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

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

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

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

Cosa è un Sistema Operativo (S.O.)

Cosa è un Sistema Operativo (S.O.) Cosa è un Sistema Operativo (S.O.) Modulo software costituito da un insieme di programmi per: permettere all utente l uso dell elaboratore senza la conoscenza approfondita dell hardware S.O. supporto all

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

Architettura di un Elaboratore

Architettura di un Elaboratore Architettura di un Elaboratore Fabio Massimo Zanzotto Ricapitoliamo puntate precedenti Cosa abbiamo a disposizione: Concetto di algoritmo (con eventuale parametrizzazione) Rappresentazione dell informazione

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