Skip to content

Progetto e realizzazione tramite FPGA di un encoder/decoder basato sull’algoritmo di Huffman

Sistemi embedded

La maggior parte dei sistemi di elaborazione non è costituita da personal computer, piuttosto da dispositivi in stretta relazione con l’ambiente in cui operano, in genere con compiti e funzioni prefissate. Per questi motivi non richiedono di caricare programmi specifici per poter funzionare, né di interfacce tradizionali come tastiere e monitor ([CB09]). Si parla quindi di sistemi invisibili, pervasivi e facenti ormai parte della quotidianità.

Questi sistemi sono detti embedded (o dedicati) e dominano il mercato, seppur non in maniera così evidente rispetto ai sistemi general purpose, come i personal computers. Si pensi ad esempio ad alcuni apparati che contengono sistemi elettronici dotati di almeno un microprocessore, quali cellulari, lavatrici, lavapiatti, carte di credito, etc.: tali sistemi fanno parte della quotidianità di chiunque e questo non fa che confermare la precedente affermazione.

Una definizione informale di sistema embedded è la seguente ([Emb]) Un sistema embedded è un sistema di elaborazione arbitrariamente complesso contenuto entro un generico apparato o impianto, e da esso normalmente non separabile senza perdita di funzionalità; tale sistema di elaborazione risulta usualmente inaccessibile in modo diretto, ed è dedicato esclusivamente al controllo dell’apparato o del sistema che lo ospita. Il dispositivo, indifferentemente pre-programmato o (parzialmente) riprogrammabile, è per costruzione specificamente dedicato ad un ristretto numero di funzioni di misura e controllo.

Per realizzare un sistema embedded, si possono adottare diverse architetture, a diversi livelli di specializzazioni, a costi, prestazioni e complessità differenti. Una prima soluzione prevede l’uso di un personal computer, ma questo nasce principalmente per essere versatile, in grado cioè di adattarsi a molteplici applicazione per mezzo di opportuni software che sono in grado di utilizzare l’harware a disposizione per realizzare un compito specifico.

Ovviamente l’architettura hardware di supporto contiene in genere risorse sovrabbondanti rispetto alle singole e specifiche applicazioni, dal momento che versatilità e ottimizzazione sono obiettivi contrastanti. Seppur efficaci in molti contesti applicativi, i sistemi general purpose sono cablati e quindi non è possibile nessuna modifica se non agendo dall’esterno, risultando di difficile utilizzo quando costi e consumi diventano un limite nel dato contesto applicativo.

Un sistema dedicato ad un’applicazione o ad una classe molto specifica di applicazioni può invece essere fortemente ottimizzato, venendo meno il requisito di garantire la versatilità. In questo caso, sulla base di una conoscenza approfondita dell’applicazione, si può dimensionare in modo corretto ed ottimale la capacità di calcolo scegliendo opportunamente il microprocessore ed eventualmente utilizzando componenti hardware aggiuntivi per ridurre la potenza di elaborazione richiesta al processore stesso. Vi sono diversi ambiti in cui è preferibile l’utilizzo di un sistema embedded piuttosto che di un sistema general purpose (vedi [CB09]):

Peso e dimensioni - l’ingombro fisico del sistema diviene determinante, soprattutto per i dispositivi che non prevedono una collocazione fissa.

Costo: è un fattore determinante soprattutto per le produzioni in grandi volumi, tipiche dell’elettronica di consumo.

Consumo energetico - sempre più sistemi stanno diventando portabili, pertanto un basso livello di consumo energetico consente di avere batterie meno costose, più piccole e leggere e/o di ottenere durate del sistema che ne rendano pratico l’uso.

Dimensione del codice - nella maggior parte dei casi, i sistemi embedded sono completi, ovvero il loro software risiede in un supporto di memoria permanente integrato nello stesso chip o sulla stessa board del microprocessore. Questo vincolo si riflette, soprattutto per motivi di costo e ingombro, sulla dimensione del codice che deve quindi essere il più possibile contenuta.

Prestazioni - dipendono dall’applicazione e in generale devono soddisfare due tipi di vincoli: il tempo di reazione a un evento e il tempo di gestione dell’evento stesso eseguendo il codice ad esso associato. Questi vincoli si tradurranno in soluzioni architetturali mirate a soddisfare tali requisiti mantenendo un costo limitato.

Tempo reale - un sistema (o una parte di esso) è soggetta a vincoli real time se alcune delle operazioni svolte devono essere iniziate o completate entro un tempo fissato ben preciso.

Affidabilità - in molti casi è necessario garantire il rispetto di rigide norme di certificazione che prevedono un’accurata analisi dei potenziali guasti, anche in termini di probabilità che il sistema si guasti.

Safety - Indica una misura della possibilità che a fronte di un guasto il sistema non provochi conseguenze gravi alle cose o alle persone con cui interagisce.

Sicurezza - Da non confondere con la safety è la sicurezza o security, ovvero la capacità di un sistema di proteggere le informazioni e di verificarne l’autenticità.

Time-to-market e flessibilità - Le metodologie e le tecnologie scelte per il progetto devono essere scelte in modo da consentire di arrivare al prodotto entro tempi stringenti, in modo da cogliere il massimo delle opportunità di mercato. Questo significa, per esempio, ricorrere ad un approccio alla progettazione che consenta di modificare il progetto in corso d’opera, visto che le fasi iniziali della progettazione avvengono quasi in parallelo alla stesura delle specifiche.

Questo brano è tratto dalla tesi:

Progetto e realizzazione tramite FPGA di un encoder/decoder basato sull’algoritmo di Huffman

CONSULTA INTEGRALMENTE QUESTA TESI

La consultazione è esclusivamente in formato digitale .PDF

Acquista

Informazioni tesi

  Autore: Davide Maggiulli
  Tipo: Tesi di Laurea Magistrale
  Anno: 2011-12
  Università: Università degli Studi di Bologna
  Facoltà: Ingegneria
  Corso: Ingegneria Informatica
  Relatore: Eugenio Faldella
  Lingua: Italiano
  Num. pagine: 243

FAQ

Per consultare la tesi è necessario essere registrati e acquistare la consultazione integrale del file, al costo di 29,89€.
Il pagamento può essere effettuato tramite carta di credito/carta prepagata, PayPal, bonifico bancario.
Confermato il pagamento si potrà consultare i file esclusivamente in formato .PDF accedendo alla propria Home Personale. Si potrà quindi procedere a salvare o stampare il file.
Maggiori informazioni
Ingiustamente snobbata durante le ricerche bibliografiche, una tesi di laurea si rivela decisamente utile:
  • perché affronta un singolo argomento in modo sintetico e specifico come altri testi non fanno;
  • perché è un lavoro originale che si basa su una ricerca bibliografica accurata;
  • perché, a differenza di altri materiali che puoi reperire online, una tesi di laurea è stata verificata da un docente universitario e dalla commissione in sede d'esame. La nostra redazione inoltre controlla prima della pubblicazione la completezza dei materiali e, dal 2009, anche l'originalità della tesi attraverso il software antiplagio Compilatio.net.
  • L'utilizzo della consultazione integrale della tesi da parte dell'Utente che ne acquista il diritto è da considerarsi esclusivamente privato.
  • Nel caso in cui l’utente che consulta la tesi volesse citarne alcune parti, dovrà inserire correttamente la fonte, come si cita un qualsiasi altro testo di riferimento bibliografico.
  • L'Utente è l'unico ed esclusivo responsabile del materiale di cui acquista il diritto alla consultazione. Si impegna a non divulgare a mezzo stampa, editoria in genere, televisione, radio, Internet e/o qualsiasi altro mezzo divulgativo esistente o che venisse inventato, il contenuto della tesi che consulta o stralci della medesima. Verrà perseguito legalmente nel caso di riproduzione totale e/o parziale su qualsiasi mezzo e/o su qualsiasi supporto, nel caso di divulgazione nonché nel caso di ricavo economico derivante dallo sfruttamento del diritto acquisito.
L'obiettivo di Tesionline è quello di rendere accessibile a una platea il più possibile vasta il patrimonio di cultura e conoscenza contenuto nelle tesi.
Per raggiungerlo, è fondamentale superare la barriera rappresentata dalla lingua. Ecco perché cerchiamo persone disponibili ad effettuare la traduzione delle tesi pubblicate nel nostro sito.
Per tradurre questa tesi clicca qui »
Scopri come funziona »

DUBBI? Contattaci

Contatta la redazione a
[email protected]

Ci trovi su Skype (redazione_tesi)
dalle 9:00 alle 13:00

Oppure vieni a trovarci su

Parole chiave

Tesi correlate


Non hai trovato quello che cercavi?


Abbiamo più di 45.000 Tesi di Laurea: cerca nel nostro database

Oppure consulta la sezione dedicata ad appunti universitari selezionati e pubblicati dalla nostra redazione

Ottimizza la tua ricerca:

  • individua con precisione le parole chiave specifiche della tua ricerca
  • elimina i termini non significativi (aggettivi, articoli, avverbi...)
  • se non hai risultati amplia la ricerca con termini via via più generici (ad esempio da "anziano oncologico" a "paziente oncologico")
  • utilizza la ricerca avanzata
  • utilizza gli operatori booleani (and, or, "")

Idee per la tesi?

Scopri le migliori tesi scelte da noi sugli argomenti recenti


Come si scrive una tesi di laurea?


A quale cattedra chiedere la tesi? Quale sarà il docente più disponibile? Quale l'argomento più interessante per me? ...e quale quello più interessante per il mondo del lavoro?

Scarica gratuitamente la nostra guida "Come si scrive una tesi di laurea" e iscriviti alla newsletter per ricevere consigli e materiale utile.


La tesi l'ho già scritta,
ora cosa ne faccio?


La tua tesi ti ha aiutato ad ottenere quel sudato titolo di studio, ma può darti molto di più: ti differenzia dai tuoi colleghi universitari, mostra i tuoi interessi ed è un lavoro di ricerca unico, che può essere utile anche ad altri.

Il nostro consiglio è di non sprecare tutto questo lavoro:

È ora di pubblicare la tesi