Ci sono diverse ragioni per questo.
Innanzitutto, la memoria occupa molta area di silicio. Ciò significa che l'aumento della quantità di RAM aumenta direttamente l'area del silicio del chip e quindi il costo. L'area di silicio più grande ha un effetto "double whammy" sul prezzo: chip più grandi significano meno chip per wafer, specialmente attorno al bordo, e chip più grandi indicano che ogni chip ha maggiori probabilità di avere un difetto.
Il secondo è il problema del processo. Gli array di RAM dovrebbero essere ottimizzati in modi diversi rispetto alla logica e non è possibile inviare parti diverse dello stesso chip attraverso processi diversi: l'intero chip deve essere prodotto con lo stesso processo. Ci sono fondamenti di semiconduttori che sono più o meno dedicati alla produzione di DRAM. Non CPU o altra logica, solo DRAM. La DRAM richiede condensatori efficienti in termini di area e transistor a dispersione molto bassa. La fabbricazione dei condensatori richiede un'elaborazione speciale. Realizzare transistor a bassa perdita produce transistor più lenti, il che è un ottimo compromesso per l'elettronica di lettura DRAM, ma non sarebbe così buono per la costruzione di logiche ad alte prestazioni. Produrre DRAM su una matrice di microcontrollori significherebbe che in qualche modo sarebbe necessario compromettere l'ottimizzazione del processo. Le matrici RAM di grandi dimensioni hanno anche maggiori probabilità di sviluppare guasti semplicemente a causa della loro ampia area, riducendo la resa e aumentando i costi. Anche il test di array RAM di grandi dimensioni richiede molto tempo e pertanto l'inclusione di array di grandi dimensioni aumenterà i costi di test. Inoltre, le economie di scala riducono il costo dei chip RAM separati più dei microcontrollori specializzati.
Il consumo di energia è un altro motivo. Molte applicazioni integrate sono limitate dal punto di vista dell'alimentazione e, di conseguenza, vengono creati molti microcontrollori in modo che possano essere messi in uno stato di sospensione a bassissima potenza. Per consentire una sospensione a bassissima potenza, viene utilizzato SRAM grazie alla sua capacità di mantenere i suoi contenuti con un consumo estremamente basso. SRAM con batteria può mantenere il suo stato per anni senza una singola batteria a bottone da 3V. DRAM, d'altra parte, non può mantenere il suo stato per più di una frazione di secondo. I condensatori sono così piccoli che una manciata di elettroni fuoriesce nel substrato o perde attraverso i transistor cellulari. Per combattere questo, DRAM deve essere continuamente letto e riscritto. Di conseguenza, DRAM consuma molta più energia rispetto a SRAM in idle.
D'altro canto, le celle bit SRAM sono molto più grandi delle celle bit DRAM, quindi se è richiesta molta memoria, DRAM è generalmente un'opzione migliore. Questo è il motivo per cui è abbastanza comune usare una piccola quantità di SRAM (da KB a MB) come memoria cache su chip accoppiata a una quantità maggiore di DRAM off-chip (da MB a GB).
Sono state utilizzate alcune tecniche di progettazione molto interessanti per aumentare la quantità di RAM disponibile in un sistema incorporato a basso costo. Alcuni di questi sono pacchetti multi chip che contengono matrici separate per il processore e la RAM. Altre soluzioni prevedono la produzione di pad nella parte superiore del pacchetto CPU in modo da poter impilare un chip RAM. Questa soluzione è molto intelligente poiché diversi chip RAM possono essere saldati sulla CPU in base alla quantità di memoria richiesta, senza necessità di instradamento a livello di scheda aggiuntivo (i bus di memoria sono molto ampi e occupano molto spazio sulla scheda). Si noti che questi sistemi di solito non sono considerati microcontrollori.
Molti sistemi embedded molto piccoli non richiedono comunque molta RAM. Se hai bisogno di molta RAM, probabilmente vorrai utilizzare un processore di fascia alta con DRAM esterna invece della SRAM integrata.