Nuovi paradigmi computazionali per gli indossabili

I dispositivi indossabili, ormai comunemente chiamati wearable, rappresentano un nuovo paradigma di sistema che, anche se ancora in una fase iniziale, sta impegnando in maniera consistente l’industria microelettronica e non solo, in una grande sfida i cui confini non sono ancora chiari a tutti i protagonisti, inclusi gli stessi sviluppatori di sistemi embedded. I wearable, infatti, non sono semplicemente una tipologia di sistema embedded, ma costituiscono una nuova tipologia che porterà alla ridefinizione dei paradigmi che fino ad ora hanno connotato tutti i sistemi embedded, primo fra tutti il paradigma computazionale, ma anche il modello di programmazione e il modello di interazione. Per esempio, Cortex M4 di Arm è diventata un’architettura di riferimento considerati i particolari requisiti di elaborazione dell’informazione in un contesto applicativo di natura indossabile. Requisiti come il consumo di potenza e le dimensioni tendenti a zero sono così stringenti che solo la disponibilità di un’architettura di processing altamente ottimizzata e application-specific può soddisfare. Il tradizionale microcontrollore è un paradigma di elaborazione dell’informazione che risulta inadeguato ad affrontare le sfide degli indossabili. Siamo ancora all’inizio e quello che sarà l’effettivo paradigma di elaborazione dell’informazione è ben lontano dalle architetture di computing di cui disponiamo oggi. Se l’architettura computazionale dei sistemi embedded è stata fondamentalmente basata sui processori Risc, è possibile che l’architettura di computing dei sistemi indossabili possa essere di tipo Zisc (Zero istruction set computer), cioè quell’architettura di computing nata da un’idea di Guy Paillet che insieme a Pascal Tannhof la sviluppò presso Ibm. Questo nuovo tipo di processore, brevettato nel 1993, è stato prodotto da Ibm fino al 1999. Una seconda generazione del chip, denominata CM1K, è ora prodotta da General Vision dal 2007. Lo Zisc non utilizza istruzioni, ma meccanismi di pattern matching non algoritmici ma neurali (da cui il termine neuromorfi o “brain inspired”).

Velocità e integrazione

I vantaggi di queste nuove architetture di computing sono svariati. Oltre all’intrinseca velocità esecutiva (si tratta di architetture di computing a elevatissimo parallelismo), dal punto di vista del processo microelettronico sono molto meno complesse dei processori Risc e a maggior ragione dei processori Cisc in generale. Le geometrie di integrazione per queste tipologie di processori sono molto grandi se confrontate con quelle utilizzate dalle per i microcontrollori di ultima generazione (per esempio, il processo microelettronico del CM1K è 130 nm). Come è noto, il costo dei processi di integrazione microelettronica salgono vertiginosamente quando si avvicinano ai 10 nanometri. Inoltre la scalabilità non incide sulle prestazioni in quanto il parallelismo intrinseco garantisce le stesse prestazioni indipendentemente dalle dimensioni. È chiaro che per i sistemi indossabili si prospettano nuove soluzioni computazionali, sia a livello hardware, sia a livello software, ove anche il concetto di software si allontanerà dal modello algoritmico, l’hardcomputing, per evolvere verso quello linguistico, il softcomputing. Il modello di sistema embedded indossabile che oggi identifichiamo in oggetti ben definiti come gli orologi, i braccialetti e gli occhiali, non rappresenta ciò che saranno i sistemi indossabili nel prossimo futuro. Potranno essere visibili, ma saranno soprattutto invisibili, a volte anche ingeribili o integrabili in maniera naturale nel corpo umano. Ciò significa che il paradigma classico dell’elaborazione, tuttora dominante nelle applicazioni wearable di prima generazione, cioè quello delle Mcu (Cpu + memoria + periferiche) e del processing sequenziale, non è applicabile.

Il chip neuromorfo da indossare

I chip neuromorfi imitano l’architettura neuro biologica presente nel sistema nervoso. Oltre alle capacità computazionali particolarmente efficienti del sistema nervoso, indirettamente i chip neuromorfi imitano anche altre preziose peculiarità, come per esempio quella dell’efficienza energetica. Per questo motivo sono da tempo studiati e anche prototipati, ma ora sono disponibili come circuiti integrati off-the-shelf. Il CM1K di General Vision è un chip neuromorfo introdotto sul mercato nel 2008, ed è il diretto discendente del Zisc, il chip neuromorfo che Ibm ha prodotto fino al 2001. Si tratta dell’implementazione su silicio di una rete neurale completamente parallela di 1024 neuroni dotati dei meccanismi necessari a imparare e a riconoscere pattern senza eseguire una sola linea di codice e senza necessitare della supervisione di un’altra unità. I neuroni collaborano tra loro in maniera bidirezionale e parallela. I neuroni possono imparare a riconoscere le informazioni da vettori di ingresso e rappresentano tale informazione in una forma fisica e distribuita, quindi simile al modello di apprendimento e di inferenza del cervello umano. Il CM1K ha un’architettura completamente parallela senza controller o supervisore. Opera a bassa frequenza di clock (27 MHz per il single chip e 16 MHz per la concatenazione di chip) e dissipa meno di 300 mW in modalità attiva a 1,2 e 3,3 V. Utilizza un set di istruzioni di tipo Simple Register Transfer Level basato su 15 registri. Tutti i neuroni hanno le stesse caratteristiche sia che siano nello stesso chip, sia che appartengano a una catena di chip, da cui ne consegue una architettura computazionale altamente regolare. I neuroni on-chip sono 1024, ognuno dotato di una memoria di 256 byte (le categorie sono a 15 bit, le distanze a 16 bit e i contesti a 7 bit). Le tipologie di riconoscimento sono: identificato, incerto e sconosciuto. I classificatori sono il Radial Basis Function e il K. Nearest Neigbor. Il chip CM1K utilizza un bus parallelo di 26 linee, una interfaccia seriale I2C con capacità di trasferimento dati a 100 e 400 kbit/s e un bus digitale di ingresso. Il confronto tra le prestazioni del CM1K e quelle di un processore Risc sono emblematiche. Per esempio il calcolo della distanza tra due componenti corrispondenti di due vettori e con accumulo del risultato è una sola operazione per il CM1k mentre sono 4 o 5 operazioni per il Risc. Questa maggiore performace esecutiva del CM1K è più evidente in processi di elaborazione in cui gli elementi computazionali sono elevati, e quindi l’architettura computazionale parallela del CM1K dimostra tutta la sua superiorità rispetto a quella sequenziale. Per esempio nel calcolo della distanza tra un vettore di lunghezza 256 e 1024 modelli, il CM1K richiede 258 operazioni, mentre un Risc ne richiederebbe 4x256x1024, cioè 1048576 operazioni. Anche se i modelli aumentano, per il CM1K il tempo di riconoscimento rimane costante, mentre per il Risc cresce in maniera esponenziale. In base a uno studio comparativo eseguito da General Vision tra il CM1K e una Gpu, e basato sull’elaborazione del “Fast K Nearest Neighbor Search”, risulta che il CM1K con un clock a 16 MHz è risultato 7,44 volte più veloce con un valore di N uguale a 38400. Il confronto è stato effettuato anche con i Dsp che, anche se sequenziali, comunque sviluppano un elevato parallelismo esecutivo all’interno delle istruzioni. Il parallelismo interno dei Dsp consente a questi di essere molte volte più veloci delle Gpu e delle Mpu, ma questo parallelismo esecutivo non è comparabile a quello del CM1K che, per esempio per il caso computazionale sopra citato è risultato 93 volte più veloce del Dsp. Importante osservare che questa prestazione viene ottenuta dal CM1K a 27 MHz contro i 300 MHz del Dsp.

Pubblica i tuoi commenti