Em um computador de grande porte, periféricos como memória volátil, memória de massa e interface de vídeo têm uma enorme influência no desempenho do sistema.
Tratando-se de microcontroladores, normalmente memória de massa e vídeo são bem menos importantes. Mesmo assim, a influência dos periféricos pode ser importante:
- Memória Volátil: ela deve ser rápida o suficiente para acompanhar a maior velocidade de acesso do processador, e em quantidade suficiente para manter todos os dados mais acessados disponíveis. Se for lenta, seu acesso irá atrasar o processador. Se for muito pequena, obrigará que algumas informações fiquem armazenadas em outras áreas, certamente ainda mais lentas, como uma memória "flash";
- Memória de Massa: no caso do microcontrolador, ela será quase certamente uma "flash". Essa memória é destinada a armazenar maiores quantidades de dados, especialmente os pouco voláteis, já que, embora apresente boa velocidade de leitura, sua gravação costuma ser bem mais lenta. É comum as "flash" utilizarem interfaces seriais, e se essa interface não tiver boa velocidade pode prejudicar ainda mais o desempenho deste periférico;
- Comunicação: É muito comum a necessidade de um microcontrolador comunicar-se com outro, ou com um grande computador que controle o sistema. Caso a interface utilizada para isso seja muito lenta, ou exija muitos recursos do processador, isso irá certamente degradar o desempenho de todo o sistema;
- Captura de Eventos: o software de controle de uma máquina automatizada precisa com frequência capturar eventos externos, ocorridos em qualquer lugar da máquina. Caso o microcontrolador não disponha de hardware especializado para essa captura, o processador gastará um tempo considerável observando esses eventos, o que também irá causar grande degradação em seu desempenho;
A otimização do desempenho de um sistema microcontrolado, como se pode ver por esta discussão, não é um problema simples ou banal. Depende de um bom conhecimento da aplicação a ser desenvolvida e das famílias de controladores disponíveis. Além do ingrediente mais importante de todos: uma boa dose de experiência e de bom senso por parte do engenheiro de software.