Por que os microcontroladores têm tão pouca RAM?

39

Talvez este seja mais um problema de percepção, mas parece que os microcontroladores avançaram aos trancos e barrancos nos últimos 20 anos, em quase todos os aspectos, maior velocidade de clock, mais periféricos, depuração mais fácil, núcleos de 32 bits, etc.

Ainda é comum ver RAM nos 10's de KB (16/32 KB).

Não parece que possa ser uma questão de custo ou tamanho diretamente. É um problema de complexidade com o controlador de RAM acima de algum limite?

Ou será que geralmente não é necessário?

Olhando por uma matriz de peças em um popular fornecedor de Internet, vejo um Cortex M4 com 256 KB por menos de US $ 8 e, em seguida, por alguns dólares a mais, você pode encontrar mais alguns que não possuem ROM, mas parece bastante escasso ...

Não preciso exatamente de um microcontrolador com um MB de armazenamento volátil, mas parece que alguém pode ...

Grady Player
fonte
8
Talvez haja uma razão mais técnica, mas para mim parece que pode ser uma questão de mercado. Você usa microcontroladores quando possui aplicativos que os utilizam; quando você precisa de algo mais potente, geralmente muda para um sistema incorporado mais completo.
Jarrod Christman
15
10s de kB. Aquilo é enorme. Meu go-to microcontrolador para uso em protótipos de coisas tem 68 bytes de RAM: en.wikipedia.org/wiki/PIC16x84
slebetman
2
Certa vez, escrevi um rasterizador de software 3D em 86B em um Arduino com 2KB de RAM. Isso me deixou chateado porque, se eu tivesse 10 KB ou 50 KB, poderia realmente começar a ajustar modelos reais na memória e fazer algo interessante.¶ Na verdade, eu tinha exatamente a mesma pergunta na época e não acho que as respostas atuais resolvê-lo bem o suficiente. Sim, a SRAM é cara - mas as CPUs possuem megabytes de cache feitos com SRAM, e ainda assim são bastante baratos. Parece uma desculpa esfarrapada.
imallett
2
@slebetman qualquer motivo para você gostar de um micro de 20 anos quando dispositivos muito melhores estão mais disponíveis e são mais baratos?
markrages
3
it seems like somebody mighté o problema aqui, a maioria das pessoas não. Você não transmite exatamente a Netflix nesse chip, e o 64K é geralmente mais do que suficiente para tudo o que você precisa fazer com um micro controlador. Se você quiser ir mais alto, obtenha uma composição completa, como uma framboesa.
TC1 16/10

Respostas:

44

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.

alex.forencich
fonte
Eu vi ICs de RAM reais com pernas e tudo colado / colocado em cima de processadores (que são pacotes BGA) e roteado para eles! As coisas que fazemos para o espaço da placa !! Como os russos apontam com sua metodologia TRIZ de design, se você ficar sem espaço em X e Y, ir a Z :)
KyranF
2
+1 Para a importante distinção entre SRAM e DRAM. A SRAM é mais rápida e mais eficiente em termos de energia, principalmente quando ociosa, mas, como você observa, é consideravelmente mais cara e requer mais espaço.
quer
Não acho que a SRAM seja o tipo de RAM mais caro. Uma combinação de chinelos e multiplexadores pode ser usada como uma memória de acesso aleatório, que oferecerá melhor desempenho do que a SRAM, mas com um custo de silício muito maior. Essas memórias geralmente não ficam muito maiores que 32 palavras, mas podem acomodar leituras e gravações simultâneas de maneiras que uma SRAM não pode.
Supercat #
11
É verdade que os arquivos de registro e os flip-flops completos são mais caros que a SRAM, mas não são usados ​​para a memória do sistema de uso geral.
22414 alex_forencich
11
Eu vi um servidor HTTP funcionando em um MCU com 160kB de SRAM e sem DRAM externa. Não conseguia lidar com muitas conexões paralelas, mas funcionou.
Jan Dorniak
15

A memória provavelmente ocupa o maior espaço de silício e a RAM, sendo muito rápida de usar, é volátil - e usa energia constantemente para manter seu estado. A menos que você precise de muita RAM, não é útil para muitos outros aplicativos. Se um projetista de sistema embarcado precisa de mais RAM, ele simplesmente obtém um chip de RAM externo e usa interfaces de memória periférica que os microcontroladores costumam ter hoje em dia para uma extensão de memória plug and play muito fácil. Essa é a razão pela qual vejo como os microcontroladores em geral ainda têm RAM interna razoavelmente baixa, porque códigos de aplicativos razoáveis ​​e cenários de casos de uso normalmente não precisam de muito.

Quando você começa a desenvolver arquiteturas maiores que precisam rodar em sistemas operacionais, a RAM se torna extremamente importante; no entanto, isso sai do domínio dos microcontroladores e dos computadores incorporados, como os que você vê nas placas Beaglebone e Raspberri Pi. dias. E mesmo nesse estágio, os processadores são tão complexos e tão cheios de recursos que não têm espaço para a quantidade de RAM necessária para sua tarefa, de modo que a memória externa é praticamente necessária para que eles operem.

EDITAR:

Como anedota pessoal, criei recentemente um pequeno painel de controle de robô autônomo, com o objetivo de usá-lo para visão computacional de baixa resolução, como detecção de movimento e rastreamento e acompanhamento de objetos. Eu escolhi um ARM Cortex M3 de baixa contagem de pinos para essa tarefa e, enquanto olhava para a seleção da Atmel de seus processadores da série SAM3, eu realmente busquei a RAM mais alta que pude encontrar - porque nesse caso eu não queria comprar um IC de RAM externo devido ao espaço na placa e não querendo a complexidade de um barramento de memória RAM de alta velocidade no PCB. Nesse caso, para meu aplicativo em particular, eu gostaria muito de ter a opção de muitos 100's de KB a mais de RAM, se possível.

KyranF
fonte
bom ponto de eu nem sequer pensar sobre o consumo de energia ...
Grady Jogador
4
"e como a RAM é volátil, mas muito rápida de usar, usa energia constantemente para manter seu estado" por pouco. A lógica do CMOS, incluindo SRAM, usa extremamente pouca energia quando não muda de estado. Observe que a maioria dos microcontroladores retém seu conteúdo de RAM, mesmo nos modos de baixo consumo de energia.
Chris Stratton
@ ChrisStratton: Eu vi vários microcontroladores, de alguns fabricantes diferentes, com modos que desligam parte de sua RAM para economizar energia, embora um pouco irritante os que eu já vi não permitem que a RAM seja ligada sem uma reinicialização do sistema. Não tenho certeza qual é o objetivo dessa última restrição; se eu precisar de uma grande parte da RAM para armazenamento temporário durante certas operações, mas não de outra forma, não vejo por que não deveria poder ligar quando necessário e desligar quando não, mas não vi uma característica.
Supercat
14

Além dos excelentes pontos levantados nas outras respostas, outro motivo para a RAM limitada é a arquitetura do microcontrolador. Por exemplo, considere o Microchip PIC10LF320, que possui apenas 448 bytes de memória de programa (flash) e 64 bytes de RAM. Mas provavelmente custa apenas 25ȼ (ou menos) em grandes quantidades. O tamanho limitado da palavra de instrução PIC10 (12 bits) permite endereçar apenas 128 bytes de RAM diretamente.

Estou certo de que existem outros microcontroladores por aí que possuem apenas um barramento de endereços de 8 bits, limitando-os a 256 bytes de RAM.

Mas a maioria dos microcontroladores de gama média (mesmo aqueles com caminhos de dados de 8 bits), possui um barramento de endereço de 16 bits. Uma consideração arquitetônica importante para esses chips é se o chip usa a arquitetura Harvard ou Von Neumann .

A maioria dos microcontroladores usa a arquitetura Harvard, que possui espaços de endereço de 16 bits separados para memória de programa, RAM e endereços de E / S mapeados na memória. Portanto, para esses, o barramento de endereço de 16 bits pode acessar até 64K (65.536) bytes de RAM. Ainda há um limite de 64 K colocado pela arquitetura e, se alguém quiser ir além, algum tipo de paginação deve ser usado. É muito mais comum ter paginação para o espaço do programa, em vez do espaço da RAM.

Os microcontroladores que usam a arquitetura Von Neumann, como a linha Freescale HCS08, possuem apenas um espaço de endereço dividido entre a memória do programa, a RAM e a E / S mapeada na memória. Para ter uma quantidade razoável de espaço no programa, isso limita a quantidade de RAM a normalmente 4K ou 8K. Novamente, pode-se usar paginação para aumentar o programa disponível ou o espaço em RAM.

tcrosley
fonte
11
Você deve ter em mente que o núcleo do PIC é tão totalmente ineficaz quanto o código, que consumirá muito flash extra por nada. E um motivo para não precisar de muita RAM é porque ele tem restrições severas, por exemplo, na profundidade da pilha de chamadas.
Lundin 28/10
@Lundin Concordou, você praticamente precisa programar o PIC10 e PIC12 originais em linguagem assembly, com muito cuidado . Os dispositivos PIC12F e PIC16F mais novos agora têm uma pilha de hardware de 16 níveis e 14 novas instruções. alguns foram adicionados apenas para C, portanto são muito mais utilizáveis.
tcrosley
@Lundin: Os chips PIC com comprimento de instrução de 12 e 14 bits eram bastante decentes para a densidade de código que eu pensava. O PIC18F é onde a densidade de código realmente diminuiu ao usar o compilador HiTech devido à quantidade excessiva de troca de banco que normalmente era necessária.
supercat
7

Tendo trabalhado com microcontroladores e pequenos sistemas por um bom tempo, gostaria de salientar que muitas vezes é necessária muito pouca RAM. Lembre-se de que, embora um MCU possa ser capaz de realizar muitas coisas, atualmente a tendência é usar muito mais MCUs do que nunca e usar mais deles para distribuir muitas tarefas em sistemas maiores. Isso combinado ao fato de que, diferentemente dos inchados sistemas de desenvolvimento necessários para programar no Windows, o desenvolvimento de MCU geralmente usa compiladores muito bem otimizados, geralmente com código-fonte C e C ++ muito eficiente, às vezes com pouca ou nenhuma sobrecarga de SO. Embora você mal possa escrever um programa do Windows para exibir seu nome em qualquer dispositivo sem consumir pelo menos centenas de kilobytes, incluindo recursos do SO,

Com certeza, existem questões de custo e espaço, como outros já apontaram. Mas a história em questão aqui é que o que é considerado uma pequena quantidade de RAM pelos recém-chegados hoje em dia é realmente um pouco mais do que nunca, e o tempo todo os componentes e dispositivos com os quais o MCU precisará interagir são cada vez mais inteligentes. Honestamente, meu maior uso de RAM em muitos aplicativos MCU ultimamente tem sido para buffers de comunicação acionados por interrupção, para liberar o MCU para outras tarefas sem medo de perder dados. Mas acredite ou não, para lógica e funcionalidade computacional comuns, os MCUs são muito bem compatíveis com seus recursos limitados de RAM e flash, e você pode realmente fazer muito com muito pouco.

Lembre-se de que antigamente, os famosos videogames com gráficos grosseiros, mas lógica complexa de jogos como "PAC Man" e "Space Invaders" eram tipicamente executados dentro de 8K ROMS, em máquinas que mal tinham 8 ou 16 KB de RAM!

Randy
fonte
E os cartões SD? Os cartões SDHC não exigem um buffer de 256 ou 512 bytes (os cartões SD padrão / antigos não são mais produzidos)?
Peter Mortensen
A versão do Pac Man para o sistema de computador de vídeo Atari 2600 era de 4K ROM e o próprio VCS possuía 128 bytes de RAM. Muitas máquinas de fliperama possuíam uma quantidade razoável de ROM e RAM, no entanto, em comparação com os computadores domésticos da época. Eu acho que o Defender, por exemplo, tinha 32K ou ROM e 64K de RAM, embora 32K de RAM fossem "somente gravação" do ponto de vista da CPU (o processador colocaria os dados que o hardware da tela mostraria para o monitor) .
Super16 /
@PeterMortensen Muitos cartões SD possuem algum tipo de CPU integrada para gerenciar o flash. Algumas placas têm um núcleo ARM completo de 32 bits que provavelmente possui 16 ou 32K de RAM anexado.
22414 alex_forencich
@ alex.forencich: Sim, mas a interface SPI para operar um cartão SDHC SD requer um buffer no lado do host (sistema incorporado / microcontrolador) - em contraste com os cartões mais antigos? Ou seja, o endereçamento de bits não é mais possível para os cartões mais novos (SDHC)? Ou depende apenas do sistema de arquivos (o endereçamento de bits ainda é possível)? As placas mais recentes não exigem transferências de bloco (e, portanto, exigem um buffer de 256 ou 512 bytes)?
Peter Mortensen
Sim, 512B, se bem me lembro. Você pode simplesmente escrever um driver de cartão SD ineficiente para descartar os primeiros X bytes de dados -> nenhum buffer "grande" necessário.
domen
3

Além dos excelentes pontos sobre custo e fabricação, há surpreendentemente pouca demanda por muita RAM no chip.

Costumo trabalhar com microcontroladores com flash nas dezenas de kB (16kB, 32kB) e RAMs na faixa de kB (1kB, 2kB). Costumo ficar sem flash e quase nunca fico sem memória RAM. Na maioria dos meus projetos, chego bem perto do limite do flash, mas geralmente preciso de menos de 20% da RAM.

A maioria dos microcontroladores muito pequenos tem dois tipos diferentes de papéis:

  • regulação e controle: eles precisam controlar uma peça de maquinaria. Mesmo no caso de um algoritmo de controlador complicado, que pode ocupar dezenas de kB de espaço de código, é necessária muito pouca RAM. Você está no controle de um processo físico e possui variáveis ​​que contêm algumas unidades físicas e talvez algumas variáveis ​​como contadores de loop. Não há necessidade de mais.

  • processamento de dados: em casos raros, é necessário armazenar uma grande quantidade de dados ao mesmo tempo, você pode usar RAM externa. Praticamente todos os microcontroladores modernos têm suporte nativo para isso. Se você precisar de um programa simples usando muita memória, será mais barato e menor usar um microcontrolador pequeno e RAM externa, em vez de um microcontrolador de alto nível. Ninguém produz controladores com poucas portas, flash pequeno e RAM grande, porque há pouca demanda por eles.

vsz
fonte
2

Todas as razões já mencionadas são, obviamente, tecnicamente válidas e precisas. No entanto, não esqueça que a eletrônica é um negócio e as MCUs são um dos nichos de mercado mais competitivos da indústria eletrônica.

Ouso dizer que as razões reais para vincular o preço de um MCU à quantidade de SRAM incorporada são principalmente razões de marketing, e não de custo:

  • Na maioria dos modelos, a frequência de clock máxima atingível não é o fator limitante. Em vez disso, a quantidade de SRAM disponível é. Não me interpretem mal, a frequência da CPU é extremamente importante; no entanto, dentro de um determinado segmento da família MCU , você geralmente não oferece modelos de dispositivos diferentes a preços diferentes, com base na frequência máxima da CPU. Além disso, o armazenamento do programa Flash é outro fator limitante, no entanto, não vou me concentrar muito no Flash (a pergunta é direcionada especificamente à SRAM).

  • A quantidade de SRAM disponível está diretamente relacionada ao nível de complexidade que você poderá incorporar ao seu MCU, seja com bibliotecas de terceiros ou com seu próprio código implementado. Portanto, é uma métrica "natural" segmentar com base nos seus preços de MCU. É compreensível que um cliente técnico aceite que um MCU capaz de tarefas mais complexas (mais SRAM, mais armazenamento em Flash) deve custar mais. O preço, aqui, é uma reflexão do valor subjacente (recursos de fornecimento) do MCU. O armazenamento flash geralmente é oferecido em uma quantidade proporcional à SRAM.

  • Pelo contrário, se você optar pelo mercado de CPU para desktop e celular, normalmente não poderá obter um MCU / CPU específico com muitos tamanhos SRAM diferentes. Em vez disso, o esquema de preços geralmente é construído sobre os recursos de execução / desempenho do MCU / CPU: frequência, número de núcleos, eficiência de energia ...

jose.angel.jimenez
fonte
Eu acho que isso provavelmente é preciso, mas há evidências? Como raspar traços para vender o chip a como o chip b?
Grady Jogador
Hum ... pensamento interessante. Não tenho evidências de tais práticas. No entanto, traz uma pergunta interessante sobre os custos de fabricação subjacentes. Seria mais caro o espaço desperdiçado do chip de silício (bolacha), caso houvesse um chip de tamanho SRAM maior arranhado para um tamanho menor de SRAM? Ou o aumento dos custos de fabricação e estoque associados à fabricação não de um único dispositivo, mas de dois? Receio que toda a indústria eletrônica seja muito exigente em discutir abertamente seus custos. Podemos nunca saber disso.
Jose.angel.jimenez 28/10
11
Para evidência: o MT6250 é um chip de múltiplas matrizes, usado para telefones com um único chip, custa menos de US $ 2 em volume e é muito mais complexo que um mcu, e inclui uma matriz de 8 MB sram. tecnologia um mcu rico em SRAM.
hulkingtickets
Essa seria uma boa resposta para "por que o preço do MCU está vinculado à quantidade de SRAM incorporada?". Mas isso não parece responder à pergunta original. Por que existem tão poucos microcontroladores disponíveis com mais de 512 KB SRAM no chip, a qualquer preço? Por que existem tantos microcontroladores com tamanhos "estranhos" de SRAM sem potência de 2, quando os fabricantes dedicados de chips SRAM parecem pensar que os custos reduzidos de inventário valem a pena produzir apenas chips SRAM dedicados em tamanhos de potência de 2?
Davidcary
1

Portanto, primeiro você deve considerar que 16 KB ou 32 KB são uma quantidade enorme de memória e a maioria dos microcontroladores vendidos hoje não possui quantidades tão grandes de RAM.

Muitos programas de microcontroladores precisam de 10 ou 50 bytes de memória. Coisas ainda mais complexas precisam principalmente de centenas de bytes.

Basicamente, existem três casos de uso em que você precisa de RAM na ordem de KBytes: a) Quando o microcontrolador faz gráficos b) quando você usa o microcontrolador para cálculos arbitrários grandes c) quando faz interface com as interfaces do PC

Segundo, observe que, se você fala sobre a RAM do microcontrolador, fala sobre o cache de nível 0 / nível 1. Se você considerar que um Intel Haswell possui "apenas" 64 KByte de cache de nível 1, reconsiderará o tamanho da RAM de um microcontrolador.

Terceiro, você pode conectar qualquer quantidade de RAM externa a um microcontrolador, especialmente mais do que você pode conectar a uma CPU.

Pessoalmente, estou desenvolvendo muitos aplicativos de microcontrolador e nunca precisei de 1 KB de memória nem mais. Eu também nunca usei RAM externa.

As coisas são diferentes se chegarmos à ROM (hoje Flash), pois seu programa e dados estão na ROM. Existem muitas aplicações nas quais você anexa uma ROM externa ao seu microcontrolador, porque você possui muitos dados.

Vamos examinar um exemplo: Vamos analisar um aplicativo de microcontrolador e pegar um MP3 player portátil com display e 4 Gigabytes de Flash.

Para esta aplicação, você precisa de talvez 1 KB de RAM. Isso é suficiente para fazer o trabalho. No entanto, você poderia usar um pouco mais de RAM para buffers maiores para acelerar a gravação de USB para Flash.

Você vê a diferença agora: um PC típico mantém todos os programas e dados na RAM. Portanto, ele precisa de muita RAM. Para o microcontrolador, tudo isso é em Flash / ROM.

Frank
fonte
2
Você subestima o uso da RAM em muitos aplicativos. Não por uma quantidade enorme, mas talvez por um fator de 10 a 100, dependendo da instância. MP3 players precisam processar o sinal digital.
Jason S
Eu gostaria de saber por que vocês estão dizendo essas coisas. Que tipos de comandos C requerem RAM. Em vez de dizer "esses aplicativos exigem mais RAM", eu prefiro "essas operações exigem mais RAM, porque ..."
Frederick #
-1

Ao projetar um MCU, você precisa enfrentar condições que não são tão importantes nos PCs.

  1. Durabilidade

    Para escolher os componentes, você não precisa necessariamente das peças com melhor ou / e com maior desempenho, mas as que comprovadamente funcionarem corretamente após vários anos de uso estarão disponíveis por vários anos e são capazes de funcionar 24 horas por dia, 7 dias por semana. anos. Devido a essa circunstância, se um controlador está no mercado há vários anos, fazendo seu trabalho bem, ele parece ter pouca RAM, comparado com o padrão de PC atualmente. Mas, de qualquer maneira, ele faz seu trabalho bem, e não deve haver necessidade de substituição, se a engenharia estiver boa.

  2. Espaço

    As unidades de microprocessador literalmente são micros. Você deve reduzir o espaço necessário ao mínimo absoluto. Obviamente, você pode obter 256 MB no mesmo espaço que os chips de 64 KB de 10 anos de idade. É aqui que o ponto 1 chega ao ponto.

  3. Preço

    Não apenas o preço de compra, mas também o consumo de energia. Você não deseja projetar um MCU que tenha controle sobre um sistema de entrada, que precise de 1000 W, se o seu rival nos negócios tiver um que precise apenas de 25 W. E, claro, um preço de compra mais barato (com a mesma qualidade) é sempre melhor.

Sempie
fonte
11
esse é realmente um microprocessador de alta potência!
KyranF
2
Acho que um MCU de 1kW não ficaria em estado sólido por muito tempo.
Dan Bryant
11
Todos os três pontos são extremamente importantes no design de PC atualmente.
@KyranF: Sim, divida os dois números por 100. Mas, se for o caso, ele subestimou a diferença de potência relativa entre o processador de alto desempenho e os microcontroladores de baixa potência para aplicações de bateria.
Ben Voigt