I processori digitali dei segnali (DSP) sono stati a lungo i cavalletti di lavoro dell'elaborazione dei segnali in tempo reale, alimentando tutto dalle telecomunicazioni e dai codec audio ai dispositivi radar e biomedici. Con la crescita esplosiva dell'apprendimento delle macchine (ML), c'è una crescente necessità di eseguire l'inferenza e anche la formazione su dispositivi di bordo dove latenza, la potenza e il costo sono strettamente confusi.

Fondamenti di DSP Processor Architectures

Un processore DSP classico è costruito intorno a tre principi fondamentali: operazioni multi-accumulate ad alto rendimento (MAC), modelli di accesso alla memoria prevedibili e latenza minima per i dati trasmessi. Le architetture tradizionali impiegano un modello di memoria Harvard o modificato-Harvard, istruzioni separate e databus, e più unità di esecuzione che possono eseguire un MAC in un unico ciclo di clock.

Elementi architettonici chiave includono:

  • unità MAC[]] dedicate alla moltiplicazione e all'accumulo concomitanti, spesso condotte per sostenere un risultato per ciclo.
  • buffering circolare[[] per un efficiente trattamento della linea di ritardo nel filtraggio.
  • L'hardware di looping di zero-overhead[ per evitare bancarelle di pipeline durante l'esecuzione del kernel ripetitivo.
  • Aritmetica a punto fisso[[[]] con bit di protezione ampi per evitare il trabocco, perché molti segnali del mondo reale sono digitalizzati con precisione limitata.

Storicamente, questi processori non sono stati progettati per gestire il flusso di controllo irregolare e la ramificazione dipendente dai dati comuni nei modelli di apprendimento automatico. Le reti neurali, in particolare le architetture convolutive e ricorrenti profonde, presentano molteplici moltiplicazioni di matrice-vector dense, funzioni di attivazione non lineare e traffico di memoria sostanziale per pesi e attivazioni — un profilo di carico di lavoro che differisce bruscamente dalle tradizionali attività DSP.

Sfide di integrare l'apprendimento delle macchine in DSP

Il lancio del gap tra elaborazione del segnale deterministico e apprendimento automatico dei dati presenta diverse sfide fondamentali:

Mismatch computazionale

La maggior parte delle operazioni di ML si basa sull'aritmetica a punto variabile (FP32 o FP16) per la stabilità numerica e la gamma dinamica. I DSP classici sono ottimizzati per le operazioni di integer a punto fisso; l'esecuzione di MAC a punto variabile su tale hardware comporta una grave penalità in area, potenza e numero di ciclo. Anche quando un DSP supporta il punto mobile, il throughput è spesso un ordine di magnitudo inferiore a quello fisso.

Memoria Larghezza e Gerarchia

I modelli ML contengono milioni di parametri che devono essere recuperati ripetutamente dalla memoria. Una piccola memoria locale del DSP (scratchpad o cache L1) è dimensionata per i coefficienti di filtro e alcune finestre di dati, non per i tensori di peso di una rete neurale profonda.

Flusso di controllo e irregolarità

Gli strati di rete neurali variano ampiamente in dimensioni, tipi non-lineari e flussi di dati (ad esempio, connessioni residue, connessioni a skip, pooling). I DSP tradizionali eccelleno a cicli stretti con conteggi fissi di iterazione; i loop di ramificazione o di data-dipendenti causano i flussi di tubazioni e annullano il beneficio dell'hardware a ciclo zero-overhead.

Latency e i vincoli di potenza

Molte applicazioni in tempo reale — assistenti vocali, cancellazione attiva del rumore, elaborazione del sensore autonomo — impongono bilanci di latenza rigorosi (microsecondi a pochi millisecondi) e tappi di potenza che escludono soluzioni GPU o FPGA generali. I DSP sono spesso scelti per la loro bassa potenza, tempi deterministici, ma l'aggiunta di un acceleratore ML non deve compromettere queste proprietà.

Strategie per l'integrazione

Per superare queste sfide, sia i progettisti di chip che gli ingegneri del software hanno sviluppato una gamma di strategie che possono essere classificate in tre categorie: accelerazione hardware, ottimizzazione software e architetture ibride.

Accelerazione hardware

L'aggiunta di blocchi di accelerazione ML dedicati all'interno del nucleo DSP o accanto ad esso è l'approccio più diretto.

  • Unità di elaborazione vettoriale (VPU)[]] che possono eseguire operazioni a singolo-instruction multiple-data (SIMD) su registri larghi, aumentando il throughput per operazioni a senso di elemento tipiche in strati di rete neurali.
  • Acceleratori di rete neurali (NPU) strettamente accoppiati alla logica di memoria e controllo del DSP. Questi sono motori induriti ottimizzati per i kernel convoluzionali, spesso con array sistolici o alberi multipli a matrice che possono sostenere molti MAC per ciclo.
  • Unità funzionali specifiche[[[]]] per operazioni ML comuni, come tabelle di ricerca delle funzioni di attivazione, approssimazione softmax o normalizzazione della risposta locale.
  • Miglioramenti del sistema di memoria[[] come memorie locali multi-banked, prefetcher di dati hardware per l'accesso piastrellato, e logica di decodifica della compressione del peso che decomprime modelli quantizzati sul-the-fly.

Un esempio illustrativo è il nucleo CEVA‐XB12[], che scala fino a 128 MAC per ciclo per motore e include un acceleratore di rete neurale dedicato. Può gestire sia l'elaborazione tradizionale del segnale che l'inferenza ML utilizzando la stessa catena di strumenti, riducendo la complessità dello sviluppo.

Ottimizzazione del software

Non tutti i sistemi possono permettersi un nuovo chip. Per i DSP esistenti, le tecniche software sofisticate consentono un'esecuzione efficiente di ML:

  • Model quantization and pruning. La conversione dei pesi FP32 a INT8 (o anche binario/terreno) riduce la larghezza di banda di memoria e consente l'uso di unità MAC a punto fisso. Pruning rimuove le connessioni ridondanti, riducendo le dimensioni del modello e il conteggio di calcolo.
  • Kernel fusion and loop transformation. La fusione manuale o automatica di più strati (ad esempio, convolution + batch normalisation + ReLU) in un unico loop ottimizzato riduce i giri di memoria.
  • I compilatori di strumenti DSP sono ora dotati di compilatori ML‐aware che mappano le operazioni di tensore alle istruzioni SIMD e inseriscono automaticamente i trasferimenti DMA per il movimento dei dati sovrapposti. Ad esempio, il compilatore TI C7000 C6x può generare codice che utilizza il coprocessore del vettore a punto variabile in modo efficiente.
  • Schemi di tempo libero[[]] che dinamicamente partizionamento lavoro tra il DSP, la CPU e qualsiasi acceleratore disponibile, nel rispetto della latenza e dei bilanci di potenza.

L'ottimizzazione del software da sola non può chiudere il divario di prestazioni per i modelli pesanti, ma quando combinato con il supporto hardware moderato, spesso raggiunge prestazioni in tempo reale accettabili per le applicazioni edge.

Architettura ibrida

Sempre più spesso, i progettisti SoC si allontanano da un unico DSP monolitico verso cluster eterogenei che combinano una CPU di uso generale, un DSP e uno o più acceleratori ML.

  • CPU[]] gestisce funzioni di controllo di alto livello, caricamento del modello e pre-/post-processing che coinvolgono logica complessa o I/O esterno.
  • DSP[]] gestisce l'elaborazione del segnale in streaming (ad esempio, front-end del sensore, estrazione delle funzionalità) e gestisce kernel ottimizzati che non sono adatti all'acceleratore ML.
  • L'acceleratore ML[] (che può essere un NPU basato su DSP) esegue operazioni di tensore pesanti con alta efficienza energetica.

Un esempio importante è la serie NXP i.MX RT[, che combina un nucleo Arm Cortex‐M con una Cadence Tensilica HiFi DSP e un'unità di elaborazione neurale (NPU). Il DSP gestisce le linee audio mentre la NPU gestisce modelli di rilevamento delle parole chiave e di riconoscimento vocale.

Sistemi di apprendimento integrati DSP-Machine

Le strategie teoriche sopra descritte sono state realizzate in prodotti commerciali in diversi ambiti, in cui sono riportati esempi notevoli che illustrano la gamma dei livelli di integrazione.

Qualcomm Hexagon DSP (Snapdragon)

Qualcomm’s Hexagon DSP si è evoluto da un processore di segnale puro in un componente chiave del motore AI dell’azienda. A partire dalle reti Snapdragon 820, l’Hexagon 680 incluso Hexagon Vector eXtensions (HVX) – Unità SIMD in grado di eseguire 1024-bit per ciclo.

Cadence Tensilica ConnX / HiFi DSPs

La Cadence offre una gamma di core DSP configurabili che possono essere adattati ai carichi di lavoro ML. Il ConnX BBE (Baseband Engine) include unità SIMD a punto variabile e a punto fisso, mentre il HiFi 5]] si concentra su audio/speech e ora include un “CNN Accelerator

CEVA‐XB12 e SensPro2

L’XB12 di CEVA è un core DSP appositamente progettato per la visione del computer e i carichi di lavoro di AI. Integra un motore 128-MAC, un acceleratore di rete neurale dedicato e un’unità SIMD ampia. L’architettura più recente SensPro2]] estende questo processo aggiungendo un flusso di dati flessibile che può gestire sia modelli basati su hardware convoluzionale che su trasformatori, insieme a librerie tradizionali di elaborazione CEAR

TI C7000 C6x con C7x Coprocessor

Texas Instruments offre la serie C7000 che combina un C66x DSP con un coprocessore C7x vettoriale. Il C7x è un motore vettoriale completamente programmabile ottimizzato per le operazioni di matrice, con il supporto sia per i tipi di dati a punto variabile che interi. Può eseguire fino a 64 MAC per ciclo.

Tendenze future nell'integrazione DSP‐ML

L'integrazione di ML in architetture DSP continua a evolversi rapidamente, e diverse tendenze emergenti promettono di rendere la combinazione ancora più potente e accessibile.

Lavorazione di memoria e di memoria

La parete di memoria è un punto di riferimento per l'inferenza ML. Nuovi approcci spostano il calcolo più vicino agli elementi di archiviazione. Alcuni prototipi DSP incorporano compute‐in‐SRAM o ]] sistemi analogici basati su MC]]] all'interno delle banche di memoria locali.

Estensioni RISC‐V per DSP e ML

Il sistema di istruzioni P-extension] (SIMP) e V-extension (Vctor) possono essere utilizzati per costruire capacità simili a DSP in core di open source. Inoltre, la comunità sta lavorando su un [FFFFFFFFFFFFFFFF][

Aritmetica ibrida a bassa precisione

I DSP futuri probabilmente supportano più modalità di precisione, probabilmente con formati a punto variabile a blocchi misti. Supporto hardware per ] arrotondamento astuto] e blocco punto galleggiante[FLT-bit:3] (condivisione di un espondente di memoria attraverso un gruppo di valori che riduce

Progettazione automatizzata di hardware-software

Poiché i modelli e l'hardware diventano più intrecciati, gli strumenti che sintonizzano automaticamente un'architettura DSP per un determinato carico di lavoro ML diventeranno essenziali. Aziende come Esperanto Technologies e ]SambaNova hanno dimostrato chip personalizzati ottimizzati da ML stessi.

Apprendimento e adattamento dei dispositivi

Oltre all’inferenza, c’è un crescente interesse per tinyML] che supporta la formazione a distanza limitata o la regolazione fine (ad esempio, l’apprendimento a trasferimento), che richiede non solo l’accelerazione del passaggio in avanti, ma anche la capacità di calcolare i gradienti e di eseguire gli aggiornamenti di peso, operazioni che raramente vengono implementate nei DSP attuali.

Conclusioni

L'integrazione degli algoritmi di apprendimento automatico in architetture di processori DSP è una sfida multiforme che abbraccia la precisione aritmetica, la larghezza di banda di memoria, la gestione del flusso di controllo e l'efficienza energetica. Attraverso una combinazione di accelerazione hardware (unità di tecnologia IMD, NPU dedicate, sistemi di memoria specializzati), l'ottimizzazione del software (quantisation, fusione del kernel, auto-vettura), e i progetti di SoC ibridi settore hanno dimostrato che i giocatori hanno dimostrato che l'efficienza in tempo reale ML

Per ulteriori informazioni, consultare le seguenti risorse esterne: