La comunicazione, in particolare quella multimediale, è quella che oggi beneficia maggiormente di questa tecnologia di computing. Il Dsp, da generico processore digitale di segnale, è diventato multimedia-Dsp, integrando sullo stesso chip più core Dsp insieme altri core processor ad architettura Risc. Grazie queste nuove architetture di computing Dsp, i progettisti sono in grado di realizzare sistemi e sottosistemi capaci di elaborare l’informazione contenuta in segnali di natura fisica come la voce, la musica, le immagini fisse e in movimento. La nuova generazione di dispositivi mobili di comunicazione rappresentano il target applicativo di riferimento per il multimedia processing, sia per l’integrazione di audio e video relativamente alla comunicazione, sia per la multifunzionalità di tali dispositivi, ormai prevalentemente di natura smartphone. Tali dispositivi sono a tutti gli effetti sistemi di computing palmari con sistemi operativi molto sofisticati e con capacità di eseguire funzionalità accessorie come la riproduzione televisiva, l’accesso internet, la gestione delle immagini e dei filmati, ecc. I Digital Signal Processor sono sistemi di elaborazione dell’informazione di segnale di natura strettamente embedded e application-specific, con prestazioni tali da soddisfare requisiti applicativi real-time molto stringenti. Nella loro relativamente recente storia tecnologica (i primi Dsp monolitici sono stati introdotti negli anni ’80 per applicazioni di telecomunicazione), hanno implementato in anticipo una serie di innovazioni di architettura computazionale allo scopo di soddisfare i requisiti sempre più stringenti provenienti da aree applicative emergenti come quella della comunicazione e dell’interazione uomo-macchina. La comunicazione, in particolare quella multimediale, ha imposto requisiti computazionali molto stringenti in termini di real-time e di complessità di sistema, che ha trovato, soprattutto nell’architettura multicore, una delle soluzioni più interessanti.
Multimedia convergenti
Analog Devices dispone di un’ampia gamma di processori Dsp sia in architettura floating-point che in architettura fixed-point. Il Dsp ADSP-BF542 della famiglia Blackfin è stato particolarmente ottimizzato per soddisfare i requisiti delle applicazioni multimedia convergenti, ove cioè comunicazione, interazione e connettività si devono integrare in un’unica soluzione di sistema. A tale scopo sono state integrate in tale dispositivo molte soluzioni per accelerare i processi di trattamento delle informazioni multimedia, per esempio il pixel compositor, un hardware acceleration block per eseguire la sovrapposizione dell’informazione grafica e dell’informazione testo, la conversione di colore e l’alpha blending. Grazie a questa soluzione di computing dedicato, il sovraccarico computazionale del core è molto ridotto quando bisogna eseguire la conversione di colore Rgb-Yuv e l’alpha blending. Grazie all’ampia gamma di periferiche system-level, è possibile soddisfare in maniera ottimale i requisiti delle applicazioni multimedia in ambito industriale, dove la molteplicità degli standard è prevalente e allo stesso tempo i requisiti real-time sono molto stretti. Anche il livello di memoria non volatile è stato ampliato in modo da soddisfare le consistenti esigenze di memorizzazione delle applicazioni multimedia. Per interfacciare vari tipi di driver di memoria non volatile il Dsp ADSP-BF542 implementa Sd/Sdio controller, un’interfaccia Atapi-6 e un controller per flash Nand a 8/16 bit.
Single-Instruction Multiple-Data
Arm ha realizzato un processore general purpose ad architettura Simd (Single Instruction Multiple Data) capace di processare in maniera efficiente i formati multimedia. La tecnologia Neon consente di accelerare gli algoritmi di elaborazione del segnale per i processi di codifica e decodifica video, per la grafica 2D e 3D, per i giochi, per l’audio e per la voce. Le prestazioni rispetto alle altre architetture Arm è decisamente superiore, fino a 3 volte per l’architettura Armv5 e fino a 2 volte rispetto all’Armv6. La tecnologia Simd implementata in Neon è a 128 bit (una estensione del processore Arm Cortex-A). Utilizza un’architettura pipeline basata su 32 registri a 64 bit (visibili anche come 16 registri a 128 bit). L’esecuzione delle istruzioni è a pacchetti, cioè i registri, vengono considerati come vettori di elementi dello stesso tipo di dati, i tipi di dati possono essere signed/unsigned a 8/16/32/64 bit in singola precisione floating-point. Le istruzioni eseguono la stessa operazione sulla stessa serie di dati.
Arm + Dsp
Atmel ha realizzato un dual-core, Diopsis 940HF, per il trattamento di informazioni multimediali (audio, voce, automotive sound, ecc.) integrando un MagicV Dsp ad architettura floating-point e un Risc processor Arm926EJ-S. La ricca dotazione di periferiche e 2.3 Mbit di memoria interna lo rendono particolarmente idoneo per le applicazioni multimedia con stringenti requisiti di embedding. Il Dsp è basato sull’architettura Vliw (Very Long Instruction Word), un’architettura ad elevato parallelismo esecutivo che, combinata con la flessibilità dell’architettura Risc dell’Arm926, rende disponibile una soluzione di computing ideale per le applicazioni che necessitano di operazioni di controllo e di calcolo numerico intensivo allo stesso tempo. Le prestazioni computazionali garantiscono 1 miliardo di operazioni floating-point al secondo dal lato Dsp, più 220 milioni di istruzioni eseguite al secondo dal lato Arm. La precisione a 40 bit per il calcolo interno floating-point garantisce una linearità estesa e una serie di istruzioni native nel dominio complesso. Inoltre, la programmazione C è nativa sia per il processore Risc che per il processore Dsp.
Audio processor
Austriamicrosystems ha sviluppato un audio-processor system completamente integrato denominato AS3525, basato su un core Arm9TDMI da 200 Mips per il trattamento di audio in vari formati (Mp3, Aac, Wma, ecc.) e di grafica in movimento e il playback video. Le caratteristiche di basso consumo di potenza elettrica (58 mW) e l’ampia memoria on-chip, rendono questo dispositivo idoneo per le applicazioni portatili. In particolare, il sistema di gestione dell’alimentazione rende questo dispositivo capace di soddisfare svariate esigenze applicative. Il blocco di gestione dell’alimentazione è in grado di derivare 10 tensioni differenti di alimentazione da una singola batteria, tanto da poter alimentare in maniera idonea la Cpu, la Flash, la Ram, le memory card, il display Lcd, la retroilluminazione e la Usb-Otg.
Multicore Dsp
Freescale ha recentemente introdotto una serie di Dsp multicore l’MSC8154/5/6, che rendono disponibile una potenza computazionale eccezionale, pur operando a clock non superiori al GHz. Questi Dsp integrano fino a 6 Dsp Starcore SC3850, ognuno operante a 1 GHz. Data la complessità dell’integrazione, questi dispositivi hanno caratteristiche di natura system-on-chip. Una delle peculiarità di questi Dsp multicore è l’acceleratore Maple-B che esegue in hardware la decodifica di canale Turbo e Viterbi, oltre alla Dft/iDft (Discrete Fourier Transform) e alla Fft/iFft (Fast Fourier Transform). Un altro elemento peculiare è il Quicc Engine (Risc) ad elevate prestazioni che opera come sottosistema per il supporto all’elaborazione relativo ai protocolli di rete. Questo sottosistema opera indipendentemente dai Dsp, quindi rappresenta una riduzione di carico computazionale per questi processori, normalmente impegnati nell’esecuzione di algoritmi computazionalmente intensivi. Il multicore Dsp MSC8156 in particolare dispone di un’ampia memoria interna e supporta interfacce veloci, incluse due interfacce RapidIO, due interfacce Ethernet Gigabit per le comunicazioni di rete e altri sottosistemi di comunicazione che rendono questo dispositivo particolarmente efficiente sia per la comunicazione, sia per il trattamento delle informazioni di segnale (audio e immagini).
Core sintetizzabili per multimedia
Mips Technologies ha realizzato una serie di processori (MIPS32 74K) sotto forma di core sintetizzabili capaci di soddisfare i requisiti applicativi per il digital television ed altre applicazioni computazionalmente intensive come l’accesso Wi-Fi, il trattamento di informazioni video ad alta definizione, ecc. MIPS32 74K è un processore superscalare dotato di architettura pipeline avanzata a 17 stadi e istruzioni a doppia esecuzione per ottenere la massima efficienza nell’esecuzione delle istruzioni load-store su cui è basato. Altre soluzioni per l’elaborazione efficiente sono la copia veloce di porzioni di memoria e il set di istruzioni Dsp per accelerare l’elaborazione di informazioni multimedia. Il core 74K è completamente sintetizzabile e pensato appositamente per l’integrazione custom in dispositivi di natura SoC). Pur essendo ad elevate prestazioni, implementa tecnologie di basso consumo avanzate. Il set istruzioni è quello del Mips32 Release 2. La versione 74Kf implementa anche il set istruzioni floating-point. Per quanto riguarda le istruzioni per l’elaborazione dell’informazione di segnale Dsp e multimediale, il set istruzioni implementato è quello Mips32 Dsp ASE Revision2. Il core 74K include anche un CoreExtended block che consente di aggiungere unità funzionali al pipeline del core 74K, con accesso a tutti i registri di uso generale disponibili per la programmazione. Grazie a questa estensione funzionale lo sviluppatore può implementare un set istruzioni personalizzato, con ogni istruzione capace di selezionare fino a due registri sorgenti e un accumulatore. Si tratta quindi di una caratteristica estremamente potente di questo processore, che consente di ottenere prestazioni esecutive particolarmente elevate, oltre le potenzialità base offerte dal core.
Applicazioni ultra low-power
NPX offere due tecnologie di processing Dsp, quella basata sulla tecnologia Dsp TriMedia (PNX1xxx) e quella basata sul core CoolFlux Dsp. La prima, ad elevate prestazioni computazionali, ha come target la Tv, i set-top box ed altre applicazioni che richiedono l’esecuzione di algoritmi di trattamento del segnale computazionalmente intensivi. La seconda particolarmente ottimizzata per l’elaborazione dell’informazione di segnale audio. Il CoolFlux Dsp è un core embedded per applicazioni ultra low power per lo sviluppo dispositivi audio portabili, capaci di eseguire processi di decodifica e codifica di formati audio anche molto complessi, oltre ad algoritmi accessori di signal processing come quelli di soppressione del rumore.
Microcontrollore con supporto multimedia
Il microcontrollore SH7764 di Renesas, basato su SH4A, una Cpu e una Fpu (Floating-Point Unit) in un singolo core con architettura Risc a 32 bit, sviluppa una potenza computazionale di 2.3 Gflops che consente di supportare applicazioni di natura multimedia. Il processore supporta l’elaborazione ad elevata velocità dell’audio necessaria per la gestione dei codec (Wma/Mp3/Aac) e per l’elaborazione dei dati di immagini 2D/3D. Inoltre è particolarmente efficiente nell’esecuzione di algoritmi di signal processing, di aritmetica vettoriale e nell’accelerazione della grafica 3D.
Le periferiche on-chip consentono di implementare le necessarie funzioni di memorizzazione (Atapi controller, Nand flash, memory card, ecc.) e di comunicazione (Ethernet controller e interfaccia USB), oltre al supporto di funzioni di visualizzazione di grafica 2D (Lcd controller e Rgb output). Grazie a queste funzionalità e alla sua potenza computazionale, il microcontrollore SH7764 consente la realizzazione di applicazioni multimediali che gestiscono audio e informazioni grafiche (home audio, car navigation, ecc.). Altre funzioni integrate nel chip sono l’interfaccia seriale audio per il playback digitale, l’interfaccia seriale con Fifo e il bus I2C. La frequenza operativa è di 324 MHz che consente alla Cpu di sviluppare 583 Mips e alla Fpu 2,3 Gflops. La memoria on-chip è di 64 kbyte 4way associative (32 per le istruzioni e 32 per i dati).
Open Multimedia Application Processor
Omap L138 (Open Multimedia Application Processor) di Texas Instruments è una piattaforma di computing che offre su singolo chip una elevata potenza computazionale grazie alla integrazione di un potente core Risc (Arm926EJ-S) e di un altrettanto potente Dsp (C674x). Inoltre, con l’elevata integrazione di periferiche, questo application processor consente di realizzare applicazioni embedded di multimedia processing estremamente compatte e allo stesso tempo ad elevatissime prestazioni. Particolarmente potente è il sottosistema Dsp, un membro della famiglia di processori Dsp C6000, la fascia alta dell’ampia gamma di Dsp che Texas Instruments ha consolidato nel tempo. Questa famiglia di Dsp è basata sull’architettura di computing Vliw (Very Long Instruction Word) che consente di eseguire fino a 8 istruzioni in parallelo (per ciclo di clock). Le caratteristiche del C674x integrato nella piattaforma Omap sono: 32KB L1 Program (L1P)/Cache (fino a 32KB); 32KB L1 Data (L1D)/Cache (fino a 32KB); 256KB Unified Mapped Ram/Cache (L2); Boot Rom. Il Dsp C674x consiste di 8 unità esecutive parallele, due set di registri e un doppio path per i dati. Le due unità parallele consistono ognuna di 4 unità esecutive indipendenti. Grazie a un sistema di condivisione efficiente della memoria, le 8 unità esecutive possono operare contemporaneamente, ottenendo un flusso esecutivo del programma particolarmente veloce, senza necessitare di una frequenza di clock elevata.