TCM, memoria strettamente accoppiata è una (o più) piccola area di memoria dedicata che, come suggerisce il nome, è molto vicina alla CPU. Il vantaggio principale è che la CPU può accedere al TCM ad ogni ciclo. Contrariamente alla memoria ordinaria non è coinvolta la cache che rende prevedibili tutti gli accessi alla memoria.
L'uso principale di TCM è quello di memorizzare dati e codice di prestazioni critici. I gestori di interrupt, i dati per le attività in tempo reale e le strutture di controllo del SO sono un esempio comune.
se è una memoria dedicata, il motivo per cui possiamo configurare la sua posizione e le dimensioni
Rendere configurabile sarebbe solo complicare l'indirizzo di decodifica per tutti accessi alla memoria dando alcun beneficio reale nel corso di un intervallo di indirizzi fisso . Quindi probabilmente era più facile e veloce legare il TCM a un indirizzo fisso.
Btw, se stai lavorando su un sistema che ha un TCM e non lo stai ancora utilizzando, prova a mettere lo stack lì. Questo di solito offre una percentuale di guadagno di prestazioni gratis poiché tutti gli accessi alla memoria dello stack sono ora a ciclo singolo e non inquinano più la cache dei dati.
fonte
2015-06-12 09:59:07
che ne dici delle sue dimensioni, come possiamo configurare le sue dimensioni poiché è un hardware – mikmak
Che dipende dall'hardware esatto. Esistono architetture ARM che consentono di dividere il TCM in modo da poterne utilizzare alcune come TCM e il resto come cache dei dati. Dal punto di vista dei progettisti di chip, quando si progetta un microcontroller è possibile decidere quale sarà il vostro TCM. –
quello che capisco è, quando si imposta lo stack sulla RAM, il processore recupera i dati della RAM dello stack nella cache L1 e lavora con esso. ma quando si imposta STACK su TCM, i dati rimarrebbero sempre su TCM (non vi è alcun recupero da TCM a cache L1), quindi ci sarà sempre meno cache miss sul programma in esecuzione? o mi sbaglio ?? – mikmak