Alla scoperta dei D.S.P. Terza puntata 3/4

dsp processori texas instruments

L’INDIRIZZAMENTO DELLA MEMORIA

Il TMS320C50 dispone di sei diversi modi di indirizzamento della memoria. Oltre agli indirizzamenti classic (diretto, indiretto, immediato), ne esistono alcuni che lavorano con registri dedicati, con il Circular Buffer e con il Memory Mapped Register. L’indirizzamento diretto prevede l’utilizzo del registro DP (Data Memory Page Pointer) per generare la completa locazione di memoria. Nel registro DP troviamo i nove bit più alti dell’indirizzo mentre l’operando dell’istruzione indica i sette bit più bassi, la loro concatenazione fornisce i sedici bit necessari per indirizzare. I sette bit più bassi provengono dal registro IP (Istruction Pointer) mentre i più alti arrivano dal bus dati. Facciamo un esempio con l’istruzione di somma: “ADD 9h,5”. In questo caso viene sommato al contenuto dell’accumulatore il valore presente nella locazione di memoria 9 hex spostato di cinque posti. Il registro DP “punta” ad una delle 512 possibili pagine di memoria che a loro volta sono composte ognuna da 128 word, per un totale di 64Kword.

processori_dsp_indirizzamento_memoria

Il registro DP può essere poi modificato con le istruzioni LDP (Load Data Memory Pointer) e LST (Load Status Register). La prima istruzione modifica direttamente il valore del registro DP, mentre la seconda agisce su tutto il contenuto del registro ST0.

L’indirizzamento indiretto prevede invece l’utilizzo dei registri ausiliari che sono otto, contraddistinti dalle sigle da AR0 fino ad AR7. Per selezionare il registro ausiliario con cui lavorare occorre agire sul registro ARP scrivendo in quest’ultimo il numero binario dell’AR# desiderato. Il contenuto del registro ausiliario abilitato può essere elaborato dalla ARAU (Auxiliary Register, Aritmetic Unit) oppure utilizzato immediatamente per indirizzare in memoria ed accedere a tutti i 64k disponibili nella memoria dati. La modifica del contenuto dei registri ausiliari avviene attraverso particolari istruzioni gestite dalla ARAU, la ALU non viene così occupata e rimane libera di proseguire nel suo lavoro.

Per rendere più veloce la stesura del programma nel TMS320C50 sono disponibili, per quanto riguarda l’indirizzamento indiretto, della particolari notazioni contraddistinte dai simboli “*”, “-” e “+”. Quando all’interno di un programma troviamo il simbolo “*” significa che stiamo usando come indirizzo il contenuto del registro ausiliario selezionato in precedenza. Se, il simbolo “*” è accompagnato da un meno (-) o da un più (+) significa che il contenuto del registro ausiliario in uso è, rispettivamente, decrementato o incrementato. Inoltre, grazie al registro di INDX è possibile calcolare un nuovo indirizzo sommando o sottraendo il contenuto del registro stesso al registro ausiliario in uso. Ad esempio, la simbologia “*0-” indica che vogliamo sottrarre al contenuto del registro ausiliario il valore attribuito al registro INDX; il simbolo “*0+” evidenzia invece la somma dei due registri. Sia la somma che la differenza avvengono dopo che è stato generato l’indirizzo. Il registro INDX può essere utilizzato in altri due modi rappresentati dai simboli: “*BRO-” e “*BRO+”.

La loro funzione è quella di generare un indirizzo in un particolare formato denominato “Reverse Carry Propagation”. Quest’ultimo tipo di indirizzamento della memoria risulta particolarmente efficace per calcolare la Trasformata Veloce di Fourier (FFT) di un segnale digitalizzato. Infatti, nella FFT, in seguito ad un particolare modo di elaborare i dati, occorre fornire i valori di ingresso seguendo un preciso schema, ovvero bisogna prima preparare tutti i dati che stanno ad indirizzi pari e poi tutti quelli che stanno ad indirizzi dispari. Per non calcolare ogni volta l’indirizzo del dato rallentando notevolmente il programma, è dunque possibile fare ricorso al Reverse Carry Propagation che rende già disponibile la sequenza dei dati come richiesto dalla FFT. L’ultimo tipo di indirizzamento standard disponibile nei D.S.P. viene denominato immediato.

Il kit è disponibile da Futura Elettronica

STAMPA     Tags:

Leave a Reply