Tesi Robotica Un coprocessore per Stereo-Matching: Profiling ... | Page 17
i
i
“MF_Tesi” — 2011/9/12 — 11:39 — page 17 — #17
i
1.1. SISTEMI EMBEDDED
i
17
di performance con una combinazione di hardware e software appositamente
progettati.
Risulta difficile caratterizzare la velocità o i costi di un sistema embedded generico, anche se soprattutto per sistemi che devono processare una grande quantità
di dati, il progetto stesso assorbe la maggior parte dei costi. Fortunatamente,
la maggior parte dei sistemi embedded ha delle necessità di performance che
possono essere soddisfatte con una combinazione di hardware dedicato ed una
quantità limitata di software ad elevate prestazioni. Per avere un’idea, basti pensare ad un decoder per una televisione satellitare. Nonostante un sistema come
questo debba processare decine di megabit di dati al secondo, la maggior parte
del lavoro è svolta da hardware dedicato che separa, regola e decodifica il flusso
digitale multicanale in un’uscita video. Alla CPU embedded spetta il compito di
determinare i percorsi dei dati nel sistema, gestire gli interrupt, gestire la grafica,
e così via. Spesso, quindi, la gran parte dell’hardware di un sistema embedded
deve sottostare a dei requisiti di performance molto meno severi di quelli che,
invece, deve rispettare l’hardware primario del sistema stesso. Questo permette
all’architettura di un sistema embedded di essere intenzionalmente semplificata
rispetto a quella di un computer generico che deve eseguire le stesse operazioni,
usando ad esempio una CPU più economica che tutto sommato si comporta
discretamente anche per queste funzioni secondarie.
Nel caso di sistemi che devono essere commercializzati in massa, come un lettore
di musica portatile, ridurre i costi diventa una priorità. Sistemi di questo tipo,
infatti, spesso sono dotati di alcuni chip, una CPU altamente integrata, un chip
dedicato a tutte le altre funzioni ed un singolo banco di memoria. In questo
caso ogni componente è selezionato e progettato per ridurre il più possibile i
costi.
Il software utile a gestire molti sistemi embedded, in particolare quelli senza
hard disk, è talvolta chiamato firmware. Il firmware è un tipo di software che,
ad esempio è possibile trovare nei chip delle memorie ROM o Flash. Ai sistemi
embedded è spesso richiesto di essere attivi continuamente per anni, idealmente
senza contrarre errori. Pertanto il software ed il firmware sono progettati e
testati con molta più attenzione rispetto a software tradizionale per personal
computer. Molti sistemi embedded, infatti, evitano di incorporare componenti
con parti meccaniche in movimento (come gli hard disk), poiché essi sono meno
affidabili rispetto a componenti allo stato solido come le memorie Flash. In
aggiunta, i sistemi embedded potrebbero non essere fisicamente accessibili (ad
esempio i componenti