Il Sistema di Elaborazione



Considerazioni sull'architettura

Due diverse soluzioni architetturali sono state utilizzate e valutate: un sistema di elaborazione special-purpose e un sistema standard. All'inizio del progetto è stata sviluppata l'architettura PAPRICA: un sistema massivamente parallelo basato su un array di 256 processori a singolo-bit, che garantiva una potenza computazionale tale da poter elaborare le immagini in tempo-reale. A quel tempo esistevano solo processori relativamente lenti (80286, 80386) che non potevano supportare l'enorme carico computazionale dell'elaborazione di immagini in tempo reale.

I vantaggi offerti dalla prima soluzione, come il design ad-hoc sia del paradigma di calcolo che dell'architettura complessiva del sistema, sono ridotti dalla necessità di gestire il progetto completo, a partire dal livello hardware (progetto degli ASICs) fino al progetto dell'architettura, del linguaggio di programmazione e di un compilatore ottimizzante ed infine allo sviluppo di applicazioni che sfruttino lo specifico paradigma computazionale. D'altro canto la seconda soluzione si avvantaggia di strumenti ed ambienti di sviluppo standard, ma soffre di un instruction set meno specifico e di una architettura di sistema meno orientat.

Inoltre, anche i seguenti aspetti tecnologici devono essere considerati:

Per queste ragioni, la soluzione architetturale correntemente in corso di valutazione sul veicolo ARGO è basata su un processore Pentium 200MHz MMX standard.

La Tecnologia MMX

La tecnologia MMX rappresenta un'evoluzione della famiglia di processori Intel che aggiunge istruzioni, registri e tipi di dati specificamente progettati per l'elaborazione di dati multimediali. In particolare le prestazioni del software sono migliorate sfruttate una tecnica SIMD: molteplici dati possono essere elaborati in parallelo usando una singola istruzione. Le nuove istruzioni general-purpose supportate dalla tecnologia MMX eseguono operazioni aritmetiche e logiche su molteplici dati impacchettati in quantità da 64 bit. Queste istruzioni accelerano le prestazioni di applicazioni basate su algoritmi computazionalmente pesanti che richiedono operazioni locali ricorrenti su dati elementari. Più specificatamente nell'elaborazione di immagini a toni di grigio, i dati sono rappresentati da quantità di 8 bit, quindi un'istruzione MMX può operare su 8 pixel contemporaneamente.