Il TMC320C31 della Texas Instruments è un integrato CMOS a 32 bit floating-point, in grado di eseguire 40 milioni di istruzioni in virgola mobile al secondo (40 MFLOPS), prestazioni precedentemente raggiungibili solo con dei supercomputers, come ad esempio il Cray-I, ampiamente usato nella seconda metà degli anni ’70.
La struttura interna del DSP (fig 1) è stata ideata per l’elaborazione in tempo reale di complessi algoritmi aritmetici, mediante l’impiego di unità floating-point dotate di un ampio intervallo di dinamica, grande quantità di memoria on-chip, alto grado di parallelismo e controller per il DMA (Direct Memory Access).
Fig 1 – Struttura interna del processore.(Data la scarsa qualità dell'immagine il lettore può scaricare qui il file in formato .zip + .doc di 98Kb e al limite stamparlo, oppure scaricare l'intero datasheet del DSP in formato .pdf, dal sito Texas Instruments.)
Le parti essenziali dell’architettura del TMS320C31 sono la CPU, l’area di memoria interna, l’interfaccia con una possibile memoria esterna e le periferiche (timer, porta seriale ecc.).
La CPU (fig 2) è una porzione fondamentale del processore impiegata per le varie operazioni logico-aritmetiche (ALU), per la generazione degli indirizzi delle aree di memoria dati e programma e per la gestione dell’intera architettura interna; rispetto ad un microcontroller tradizionale, notiamo che è stata adottata l’architettura di Harvard e che un gran numero di bus interni incrementa la velocità, favorendo la comunicazione tra le varie sezioni. Una serie di 28 registri (tab. 1), specializzati per vari tipi di controlli, sono indirizzabili come registri generici.
Fig 2 – Architettura della CPU.
Tab 1 – Registri della CPU.
In particolare lo stack (catasta) è un’area di memoria dove è possibile memorizzare dei dati gestiti secondo una logica LIFO (Last In Firs Out, cioè l’ultimo dato salvato durante la fase di riempimento è il primo che verrà ripristinato quando inizierà lo svuotamento della catasta). Esso assume un ruolo fondamentale nelle chiamate ai vari sottoprogrammi. Il compito della CPU è quello di eseguire un determinato programma, e per fare ciò ha bisogno di un ciclo operativo sintetizzabile nei seguenti passi :
- lettura dal registro PC dell’indirizzo del codice istruzione corrente;
- indirizzamento della cella di memoria corrispondente e lettura del codice
operativo contenuto;
- esecuzione del codice operativo, eventualmente attraverso altre operazioni di lettura o scrittura degli argomenti nei registri interni o nella memoria;
- incremento del PC che passa a puntare la prossima istruzione.
Home | Precedente | Successivo