Há várias razões para isso.
Primeiro de tudo, a memória ocupa muita área de silício. Isso significa que aumentar a quantidade de RAM aumenta diretamente a área de silício do chip e, portanto, o custo. Uma área maior de silício tem um efeito 'duplo golpe' no preço: chips maiores significam menos chips por bolacha, especialmente em torno da borda, e chips maiores significam que cada chip tem mais chances de ter um defeito.
O segundo é a questão do processo. As matrizes de RAM devem ser otimizadas de maneiras diferentes da lógica e não é possível enviar partes diferentes do mesmo chip por processos diferentes - o chip inteiro deve ser fabricado com o mesmo processo. Existem fundadores de semicondutores que são mais ou menos dedicados à produção de DRAM. Não CPUs ou outra lógica, apenas DRAM direta. A DRAM requer capacitores com eficiência de área e transistores de vazamento muito baixo. A fabricação dos capacitores requer processamento especial. Fazer transistores com baixo vazamento resulta em transistores mais lentos, o que é uma boa alternativa para os eletrônicos de leitura DRAM, mas não seria tão bom para criar lógica de alto desempenho. Produzir DRAM em uma matriz de microcontrolador significaria que você precisaria trocar a otimização do processo de alguma forma. Grandes matrizes de RAM também têm maior probabilidade de desenvolver falhas simplesmente devido à sua grande área, diminuindo o rendimento e aumentando os custos. O teste de grandes matrizes de RAM também consome tempo e, portanto, a inclusão de matrizes grandes aumentará os custos de teste. Além disso, as economias de escala reduzem o custo de chips de RAM separados mais do que os microcontroladores mais especializados.
O consumo de energia é outro motivo. Muitos aplicativos incorporados têm restrição de energia e, como resultado, muitos microcontroladores são construídos para que possam ser colocados em um estado de suspensão de energia muito baixa. Para ativar o sono com muito pouca energia, o SRAM é usado devido à sua capacidade de manter seu conteúdo com um consumo de energia extremamente baixo. A SRAM com bateria pode manter seu estado por anos com uma única bateria de botão de 3V. A DRAM, por outro lado, não pode manter seu estado por mais de uma fração de segundo. Os capacitores são tão pequenos que um punhado de elétrons escapa para dentro do substrato ou vaza pelos transistores celulares. Para combater isso, a DRAM deve ser lida e gravada continuamente. Como resultado, a DRAM consome significativamente mais energia que a SRAM em modo inativo.
Por outro lado, as células de bits SRAM são muito maiores que as células de DRAM, portanto, se é necessária muita memória, a DRAM geralmente é uma opção melhor. É por isso que é bastante comum usar uma pequena quantidade de SRAM (kB para MB) como memória cache no chip, juntamente com uma quantidade maior de DRAM fora do chip (MB para GB).
Existem algumas técnicas de design muito interessantes usadas para aumentar a quantidade de RAM disponível em um sistema incorporado por baixo custo. Alguns deles são pacotes com vários chips que contêm matrizes separadas para o processador e a RAM. Outras soluções envolvem a produção de blocos na parte superior do pacote da CPU, para que um chip de RAM possa ser empilhado na parte superior. Essa solução é muito inteligente, pois diferentes chips de RAM podem ser soldados na parte superior da CPU, dependendo da quantidade de memória necessária, sem a necessidade de roteamento adicional no nível da placa (os barramentos de memória são muito amplos e ocupam muita área da placa). Observe que esses sistemas geralmente não são considerados microcontroladores.
Muitos sistemas embarcados muito pequenos não exigem muita RAM de qualquer maneira. Se você precisar de muita RAM, provavelmente usará um processador de ponta que possui DRAM externa em vez de SRAM integrada.