¿Por qué los microcontroladores tienen tan poca RAM?

39

Tal vez esto sea más un problema de percepción, pero parece que los microcontroladores han avanzado a pasos agigantados en los últimos 20 años, en casi todos los aspectos, mayor velocidad de reloj, más periféricos, depuración más fácil, núcleos de 32 bits, etc.

Todavía es común ver RAM en los 10's de KB (16/32 KB).

No parece que pueda ser un problema de costo o tamaño directamente. ¿Es un problema de complejidad con el controlador de RAM por encima de algún umbral?

¿O es solo que generalmente no se requiere?

Al mirar una matriz de piezas en un proveedor de Internet popular, veo un Cortex M4 con 256 KB por menos de US $ 8, y luego por unos pocos dólares más, puede encontrar algunos más que no tienen ROM, pero parece bastante escaso ...

No necesito exactamente un microcontrolador con un MB de almacenamiento volátil, pero parece que alguien podría ...

Grady Player
fuente
8
Quizás haya una razón más técnica, pero para mí parece ser una cuestión de mercados. Usas microcontroladores cuando tienes aplicaciones que los usan, cuando necesitas algo más de energía usualmente te mueves a un sistema embebido más completo.
Jarrod Christman
15
10s de kB. Eso es enorme. Mi microcontrolador para usar en prototipos tiene 68 bytes de RAM: en.wikipedia.org/wiki/PIC16x84
slebetman
2
Una vez escribí un rasterizador de software 3D en 86B en un Arduino con 2 KB de RAM. Me molestó porque si hubiera tenido incluso 10KB o 50KB, podría haber comenzado a ajustar modelos reales en la memoria y haber hecho algo interesante. De hecho, tenía exactamente la misma pregunta en ese momento, y no creo que las respuestas actuales abordarlo lo suficientemente bien. Sí, la SRAM es costosa, pero las CPU tienen megabytes de caché hechos de SRAM, y aún así son bastante baratos. Se siente como una pobre excusa.
Imallett
2
@Slebetman ¿Alguna razón por la que le gusta un micro de 20 años cuando los dispositivos mucho mejores están más disponibles y son más baratos?
markrages
3
it seems like somebody mightes la trampa aquí, la mayoría de la gente no. No vas a transmitir Netflix exactamente en ese chip, y el 64K suele ser más que suficiente para todo lo que necesitas hacer con un microcontrolador . Si desea ir más alto, obtenga una composición completa, por ejemplo, una frambuesa.
TC1

Respuestas:

44

Hay varias razones para esto.

En primer lugar, la memoria ocupa mucho área de silicio. Esto significa que aumentar la cantidad de RAM aumenta directamente el área de silicio del chip y, por lo tanto, el costo. Un área de silicio más grande tiene un efecto de "doble golpe" en el precio: las virutas más grandes significan menos virutas por oblea, especialmente alrededor del borde, y las virutas más grandes significan que cada viruta tiene más probabilidades de tener un defecto.

El segundo es el tema del proceso. Las matrices de RAM deben optimizarse de manera diferente a la lógica, y no es posible enviar diferentes partes del mismo chip a través de diferentes procesos: todo el chip debe fabricarse con el mismo proceso. Hay límites de semiconductores que están más o menos dedicados a producir DRAM. No CPUs u otra lógica, solo DRAM. DRAM requiere condensadores de área eficiente y transistores de muy baja fuga. Hacer los condensadores requiere un procesamiento especial. La fabricación de transistores de baja fuga da como resultado transistores más lentos, lo cual es una buena compensación para la electrónica de lectura DRAM, pero no sería tan buena para construir una lógica de alto rendimiento. La producción de DRAM en un troquel de microcontrolador significaría que de alguna manera necesitaría cambiar la optimización del proceso. Las matrices de RAM grandes también tienen más probabilidades de desarrollar fallas simplemente debido a su gran área, disminuyendo el rendimiento y aumentando los costos. Probar grandes matrices de RAM también lleva mucho tiempo, por lo que incluir grandes matrices aumentará los costos de las pruebas. Además, las economías de escala reducen el costo de los chips RAM separados más que los microcontroladores más especializados.

El consumo de energía es otra razón. Muchas aplicaciones integradas tienen limitaciones de energía y, como resultado, muchos microcontroladores están construidos para que puedan ponerse en un estado de reposo de muy baja potencia. Para habilitar la suspensión de muy baja potencia, SRAM se utiliza debido a su capacidad para mantener su contenido con un consumo de energía extremadamente bajo. La SRAM respaldada por batería puede mantener su estado durante años sin una sola batería de botón de 3V. DRAM, por otro lado, no puede mantener su estado por más de una fracción de segundo. Los condensadores son tan pequeños que el puñado de electrones se canaliza hacia el sustrato o se filtra a través de los transistores de la celda. Para combatir esto, la DRAM debe leerse y escribirse continuamente. Como resultado, DRAM consume significativamente más energía que SRAM en inactivo.

Por otro lado, las celdas de bits SRAM son mucho más grandes que las celdas de bits DRAM, por lo que si se requiere mucha memoria, DRAM generalmente es una mejor opción. Es por esto que es bastante común usar una pequeña cantidad de SRAM (kB a MB) como memoria caché en chip junto con una mayor cantidad de DRAM fuera de chip (MB a GB).

Se han utilizado algunas técnicas de diseño muy interesantes para aumentar la cantidad de RAM disponible en un sistema integrado a bajo costo. Algunos de estos son paquetes de múltiples chips que contienen troqueles separados para el procesador y la RAM. Otras soluciones implican la producción de pads en la parte superior del paquete de la CPU para que se pueda apilar un chip RAM en la parte superior. Esta solución es muy inteligente, ya que se pueden soldar diferentes chips de RAM en la parte superior de la CPU dependiendo de la cantidad de memoria requerida, sin necesidad de enrutamiento adicional a nivel de placa (los buses de memoria son muy amplios y ocupan mucho área de placa). Tenga en cuenta que estos sistemas generalmente no se consideran microcontroladores.

Muchos sistemas integrados muy pequeños no requieren mucha RAM de todos modos. Si necesita una gran cantidad de RAM, es probable que desee utilizar un procesador de gama alta que tenga DRAM externa en lugar de SRAM integrada.

alex.forencich
fuente
¡He visto circuitos integrados de RAM reales con patas y todo pegado / colocado encima de los procesadores (que son paquetes BGA) y enrutado a ellos! ¡Las cosas que hacemos por espacio en el tablero! Como señalan los rusos con su metodología de diseño TRIZ, si te quedas sin espacio en X e Y, ve a Z :)
KyranF
2
+1 Por la importante distinción entre SRAM y DRAM. SRAM es a la vez más rápido y más eficiente energéticamente, especialmente cuando está inactivo, pero como se observa, considerablemente más caro y requiere más espacio.
fizzle
No creo que SRAM sea el tipo de RAM más caro. Se puede usar una combinación de flip flops y multiplexores como memoria de acceso aleatorio que ofrecerá un mejor rendimiento que la SRAM, pero a un costo de silicio mucho mayor. Tales memorias no suelen ser mucho más grandes que unas 32 palabras, pero dicha memoria puede acomodar lecturas y escrituras simultáneas de una manera que una SRAM no puede.
supercat
1
Es cierto que los archivos de registro y los flip-flops completos son más caros que SRAM, pero no se utilizan para la memoria del sistema de uso general.
alex.forencich
1
He visto un servidor HTTP en funcionamiento en una MCU con 160kB de SRAM y sin DRAM externa. No pudo manejar muchas conexiones paralelas pero funcionó.
Jan Dorniak
15

La memoria probablemente ocupa la mayor parte del espacio de silicio, y la RAM que es muy rápida de usar es volátil, y usa energía constantemente para mantener su estado. A menos que necesite mucha RAM, no es útil para muchas otras aplicaciones. Si un diseñador de sistemas embebidos necesita más RAM, simplemente obtiene un chip RAM externo y usa interfaces de memoria periférica que los microcontroladores suelen tener en estos días para una extensión de memoria plug and play muy fácil. Esa es la razón por la que veo por qué los microcontroladores en general aún tienen una RAM interna baja razonable, porque el código de aplicación razonable y los escenarios de casos de uso normalmente no necesitan mucho.

Cuando comienzas a llegar a las arquitecturas más grandes que necesitan ejecutarse por completo en los sistemas operativos, entonces la RAM se vuelve extremadamente importante, sin embargo, esto sale del ámbito de los microcontroladores y en las computadoras integradas más como las que ves en las placas Beaglebone y Raspberri Pi. dias. E incluso en esta etapa, los procesadores son tan complejos y están tan llenos de características que no tienen espacio para la cantidad de RAM necesaria para su tarea, por lo que la memoria externa es bastante necesaria para que puedan operar.

EDITAR:

Como anécdota personal, recientemente hice un pequeño tablero de control de robot autónomo con el objetivo de usarlo para visión por computadora de baja resolución, como detección de movimiento y seguimiento y seguimiento de objetos. Elegí un ARM Cortex M3 de bajo recuento de clavijas para esta tarea y mientras miraba la selección de Atmel de sus procesadores de la serie SAM3, de hecho, busqué la RAM más alta que pude encontrar, porque en este caso no quería comprar un RAM IC externo debido al espacio de la placa y no querer la complejidad de un bus de memoria RAM de alta velocidad en la PCB. En este caso para mi aplicación en particular, me hubiera gustado tener la opción de muchos cientos de KB más de RAM si es posible.

KyranF
fuente
buen punto, ni siquiera pensé en el consumo de energía ...
Grady Player
44
"y la RAM es volátil pero muy rápida de usar, usa energía constantemente para mantener su estado" apenas. La lógica CMOS, incluida la SRAM, utiliza muy poca energía cuando no cambia de estado. Tenga en cuenta que la mayoría de los microcontroladores retienen su contenido de RAM incluso en modos de apagado extremadamente bajo consumo.
Chris Stratton
@ChrisStratton: He visto una serie de microcontroladores, de un par de fabricantes diferentes, con modos que apagan parte de su RAM para ahorrar energía, aunque algo molesto los que he visto no permiten que la RAM se encienda sin un reinicio del sistema. No estoy seguro de cuál es el propósito de esta última restricción; si necesito una gran cantidad de RAM para el almacenamiento temporal durante ciertas operaciones, pero no de otra manera, no veo por qué no debería poder encenderlo cuando sea necesario y apagarlo cuando no, pero no he visto tal característica.
supercat
14

Además de los excelentes puntos presentados en las otras respuestas, otra razón para la RAM limitada es la arquitectura del microcontrolador. Por ejemplo, tome el Microchip PIC10LF320, que tiene solo 448 bytes de memoria de programa (flash) y 64 bytes de RAM. Pero probablemente solo cuesta 25ȼ (o menos) en grandes cantidades. El tamaño limitado de la palabra de instrucción PIC10 (12 bits) le permite direccionar solo 128 bytes de RAM directamente.

Estoy seguro de que hay otros microcontroladores que solo tienen un bus de direcciones de 8 bits, limitándolos a 256 bytes de RAM.

Pero la mayoría de los microcontroladores de rango medio (incluso aquellos con rutas de datos de 8 bits) tienen un bus de direcciones de 16 bits. Una consideración arquitectónica importante para estos chips es si el chip usa la arquitectura Harvard o Von Neumann .

La mayoría de los microcontroladores utilizan la arquitectura Harvard, que tiene espacios de direcciones de 16 bits separados para la memoria del programa, la RAM y las direcciones de E / S asignadas a la memoria. Entonces, para estos, el bus de direcciones de 16 bits puede acceder a hasta 64K (65,536) bytes de RAM. Todavía hay un límite de 64 K establecido por la arquitectura, y si uno quiere ir más allá, se debe usar algún tipo de paginación. Es mucho más común tener paginación para el espacio del programa en lugar de espacio RAM.

Los microcontroladores que utilizan la arquitectura Von Neumann, como la línea Freescale HCS08, tienen solo un espacio de direcciones dividido entre la memoria del programa, la RAM y las E / S asignadas a la memoria. Para tener una cantidad razonable de espacio en el programa, esto limita la cantidad de RAM a típicamente 4K u 8K. Una vez más, uno puede usar la paginación para aumentar el programa disponible o el espacio RAM.

tcrosley
fuente
1
Sin embargo, debe tener en cuenta que el núcleo PIC es tan ineficaz para el código que consumirá mucha memoria flash adicional por nada. Y una razón por la que no necesita mucha RAM, es porque tiene restricciones severas en, por ejemplo, la profundidad de la pila de llamadas.
Lundin
@Lundin De acuerdo, tienes que programar los PIC10 y PIC12 originales en lenguaje ensamblador, con mucho cuidado . Los nuevos dispositivos PIC12F y PIC16F ahora tienen una pila de hardware de 16 niveles y 14 nuevas instrucciones. algunos se agregaron solo para C, por lo que son mucho más utilizables.
tcrosley
@Lundin: los chips PIC con longitudes de instrucción de 12 y 14 bits eran bastante decentes para la densidad de código, pensé. El PIC18F es donde la densidad de código realmente tiende a caerse cuando se usa el compilador HiTech debido a la excesiva cantidad de cambio de banco que generalmente se requería.
supercat
7

Después de haber trabajado con microcontroladores y sistemas pequeños durante un buen tiempo, me gustaría señalar que a menudo se necesita muy poca RAM. Recuerde que aunque una MCU sea capaz de lograr mucho, la tendencia en estos días es usar muchas más MCU que nunca antes, y usar más de ellas para distribuir muchas tareas en sistemas más grandes. Esto se combina con el hecho de que, a diferencia de los sistemas de desarrollo hinchados necesarios para programar en Windows, el desarrollo de MCU a menudo utiliza compiladores muy bien optimizados, a menudo con código fuente C y C ++ muy eficiente, a veces con poca o ninguna sobrecarga del sistema operativo. Si bien apenas podría escribir un programa de Windows para mostrar su nombre en cualquier dispositivo sin consumir al menos cientos de kilobytes, incluidos los recursos del sistema operativo,

Sin duda, hay problemas de costo y espacio como otros han señalado. Pero la historia en este momento es que lo que los recién llegados consideran una pequeña cantidad de RAM en estos días es realmente mucho más que nunca antes, y mientras tanto los componentes y dispositivos con los que la MCU necesitará interactuar son cada vez más inteligentes. Honestamente, mi mayor uso de RAM en muchas aplicaciones MCU últimamente ha sido para memorias intermedias de comunicación controladas por interrupción, para liberar el MCU para otras tareas sin temor a perder datos. Pero créalo o no, para la lógica ordinaria y la funcionalidad computacional, las MCU se adaptan bastante bien a sus limitados recursos integrados de RAM y flash, y realmente puede hacer mucho con muy poco.

¡Tenga en cuenta que alguna vez, los videojuegos famosos con gráficos crudos pero lógica de juego compleja como "PAC Man" y "Space Invaders" generalmente se realizaban en ROM de 8K, en máquinas que apenas tenían 8 o 16 KB de RAM!

Cachondo
fuente
¿Qué pasa con las tarjetas SD? ¿Las tarjetas SDHC no requieren un búfer de 256 o 512 bytes (las tarjetas SD estándar / antiguas ya no se producen)?
Peter Mortensen
La versión de Pac Man para el Atari 2600 Video Computer System era 4K ROM, y el VCS en sí tenía 128 bytes de RAM. Sin embargo, muchas máquinas recreativas tenían una buena cantidad de ROM y RAM, en comparación con las computadoras domésticas de la época. Creo que Defender, por ejemplo, tenía 32K o ROM y 64K de RAM, aunque 32K de RAM era "solo de escritura" desde el punto de vista de la CPU (el procesador pondría allí los datos que el hardware de la pantalla registraría en el monitor) .
supercat
@PeterMortensen Muchas tarjetas SD tienen una CPU integrada de algún tipo para administrar el flash. Algunas tarjetas tienen un núcleo ARM de 32 bits completo que probablemente tenga 16 o 32K de RAM conectados.
alex.forencich
@ alex.forencich: Sí, pero ¿la interfaz SPI para operar una tarjeta SDHC SD no requiere un búfer en el lado del host (sistema integrado / microcontrolador), en contraste con las tarjetas más antiguas? Es decir, ¿el direccionamiento de bits ya no es posible para las tarjetas más nuevas (SDHC)? ¿O solo depende del sistema de archivos (el direccionamiento de bits aún es posible)? ¿No requieren las tarjetas más nuevas transferencias en bloque (y por lo tanto requieren un búfer de 256 o 512 bytes)?
Peter Mortensen
Sí, 512B, si no recuerdo mal. Simplemente podría escribir un controlador de tarjeta SD ineficiente, para descartar los primeros X bytes de datos -> no se necesita un búfer "grande".
domen
3

Además de los excelentes puntos sobre el costo y la fabricación, sorprendentemente hay poca demanda de una gran cantidad de RAM en el chip.

A menudo trabajo con microcontroladores con flash en decenas de kB (16kB, 32kB) y RAM en el rango de kB (1kB, 2kB). Muy a menudo me quedo sin flash, y casi nunca me quedo sin RAM. En la mayoría de mis proyectos me acerco bastante al límite de flash, pero generalmente necesito mucho menos del 20% de la RAM.

La mayoría de los microcontroladores muy pequeños tienen dos tipos diferentes de roles:

  • regulación y control: tienen que controlar una pieza de maquinaria. Incluso en el caso de un algoritmo de controlador complicado, que puede ocupar decenas de kB de espacio de código, se requiere muy poca RAM. Usted tiene el control de un proceso físico y tiene variables que contienen algunas unidades físicas, y tal vez algunas variables como contadores de bucle. No hay necesidad de más.

  • procesamiento de datos: en el raro caso de que necesite almacenar una gran cantidad de datos al mismo tiempo, puede usar RAM externa. Casi todos los microcontroladores modernos tienen soporte nativo para ello. Si necesita un programa simple que use mucha memoria, será más barato y más pequeño usar un microcontrolador pequeño y RAM externa, en lugar de un microcontrolador de alto nivel. Nadie produce controladores con pocos puertos, flash pequeño y RAM grande, porque hay muy poca demanda de ellos.

vsz
fuente
2

Todas las razones ya mencionadas son, por supuesto, técnicamente válidas y precisas. Sin embargo, no olvides que la electrónica es un negocio y las MCU son uno de los nichos de mercado más competitivos dentro de la industria electrónica.

Me atrevo a decir que las razones reales para vincular el precio de una MCU a la cantidad de SRAM incorporada son principalmente razones de marketing, no razones de costo:

  • En la mayoría de los diseños, la frecuencia de reloj máxima alcanzable no es el factor limitante. En cambio, la cantidad de SRAM disponible es. No me malinterpreten, la frecuencia de la CPU es muy importante, sin embargo, dentro de un determinado segmento de la familia MCU , generalmente no se le ofrecen diferentes modelos de dispositivos a diferentes precios en función de la frecuencia máxima de la CPU. Además, el almacenamiento del programa Flash es el otro factor limitante clave, sin embargo, no me enfocaré demasiado en Flash (la pregunta está dirigida específicamente a SRAM).

  • La cantidad de SRAM disponible está directamente relacionada con el nivel de complejidad que podrá incrustar en su MCU, ya sea con bibliotecas de terceros o con su propio código implementado. Por lo tanto, es una medida "natural" segmentar en base a los precios de su MCU. Es comprensible que un cliente técnico acepte que una MCU capaz de realizar tareas más complejas (más SRAM, más almacenamiento Flash) debería costar más. El precio, aquí, es un reflejo del valor subyacente (capacidades de entrega) de la MCU. El almacenamiento flash generalmente se ofrece en una cantidad proporcional a la SRAM.

  • Por el contrario, si toma el mercado de CPU de escritorio y móviles, no puede obtener una MCU / CPU específica con muchos tamaños diferentes de SRAM. En cambio, el esquema de precios generalmente se basa en las capacidades de ejecución / rendimiento de la MCU / CPU: frecuencia, número de núcleos, eficiencia energética ...

jose.angel.jimenez
fuente
Creo que esto es probablemente exacto, pero ¿hay evidencia? ¿Te gusta tachar rastros para vender el chip a como chip b?
Grady Player
Uhm ... pensamiento interesante. No tengo evidencia de tales prácticas. Sin embargo, trae una pregunta interesante sobre los costos de fabricación subyacentes. ¿Sería más costoso el desperdicio de bienes inmuebles del chip de silicio (oblea) en caso de que hubiera un chip de mayor tamaño de SRAM rayado a un menor tamaño de SRAM? ¿O el aumento de los costos de fabricación e inventario asociados a la fabricación no de un solo dispositivo sino de dos? Me temo que toda la industria electrónica es muy quisquillosa sobre discutir abiertamente sus costos. Puede que nunca lo sepamos.
jose.angel.jimenez
1
Como evidencia: el MT6250 es un chip de múltiples troqueles, que se usa para teléfonos con un solo chip, cuesta menos de $ 2 en volumen y es mucho más complejo que un mcu, e incluye un troquel sram de 8 MB. Sería trivial de construir, usando similares tecnología un mcu rico en SRAM.
hulkingtickets
Esta sería una buena respuesta a "¿por qué el precio de la MCU está vinculado a la cantidad de SRAM incorporada?". Pero no parece responder a la pregunta original. ¿Por qué hay tan pocos microcontroladores disponibles con más de 512 KB SRAM en chip, a cualquier precio? ¿Por qué hay tantos microcontroladores con tamaños de SRAM "extraños" sin potencia de 2, cuando los fabricantes de chips SRAM dedicados parecen pensar que los costos de inventario reducidos hacen que valga la pena producir solo chips SRAM dedicados en tamaños de potencias de 2?
davidcary
1

Entonces, primero debe considerar que 16 KB o 32 KB son una enorme cantidad de memoria y la mayoría de los microcontroladores vendidos hoy en día no tienen cantidades tan grandes de RAM.

Muchos programas de microcontroladores necesitan 10 o 50 bytes de memoria. Incluso las cosas más complejas se necesitan principalmente en los cientos de bytes.

Básicamente, hay tres casos de uso en los que necesita RAM en el orden de KBytes: a) Cuando su microcontrolador hace gráficos b) cuando usa el microcontrolador para grandes cálculos arbitrarios c) cuando interactúa con interfaces de PC

En segundo lugar, tenga en cuenta que si habla de RAM de microcontrolador, habla de caché de nivel 0 / nivel 1. Si considera que un Intel Haswell tiene "solo" 64 KByte de caché de Nivel 1, reconsiderará el tamaño de RAM de un microcontrolador.

En tercer lugar, puede conectar cualquier cantidad de RAM externa a un microcontrolador, especialmente incluso más de lo que puede conectar a una CPU.

Personalmente, estoy desarrollando muchas aplicaciones de microcontroladores y nunca necesité 1 KB de memoria ni más. También nunca usé RAM externa.

Las cosas son diferentes si llegamos a ROM (hoy Flash), ya que su programa y sus datos están en la ROM. Realmente hay muchas aplicaciones en las que conecta ROM externa a su microcontrolador, porque tiene muchos datos.

Examinemos un ejemplo: analicemos una aplicación de microcontrolador y tomemos un reproductor de MP3 portátil con pantalla y 4 Gigabytes de Flash.

Para esta aplicación necesitas quizás 1 KB de RAM. Eso es suficiente para hacer el trabajo. Sin embargo, podría usar más RAM para memorias intermedias más grandes para acelerar la escritura de USB a Flash.

Ahora ve la diferencia: una PC típica contiene todos los programas y datos en la RAM. Por lo tanto, necesita mucha RAM. Para el microcontrolador, todo esto está en Flash / ROM.

Franco
fuente
2
Usted subestima el uso de RAM en muchas aplicaciones. No por una gran cantidad, sino quizás por un factor de 10-100 dependiendo de la instancia. Los reproductores de MP3 tienen que hacer procesamiento de señal digital.
Jason S
Me gustaría saber por qué alguno de ustedes está diciendo estas cosas. Qué tipos de comandos C requieren RAM. En lugar de decir "estas aplicaciones requieren más RAM", preferiría "estas operaciones requieren más RAM, porque ..."
Frederick
-1

Al diseñar una MCU, debe enfrentar condiciones que no son tan importantes en las PC.

  1. Durabilidad

    Para elegir los componentes, no es necesario que tome las mejores y / o las piezas de mayor rendimiento, pero las que han demostrado funcionar correctamente después de varios años de uso, estarán disponibles durante varios años y son capaces de funcionar 24/7 años. Debido a esta circunstancia, si un controlador está en el mercado durante varios años, haciendo bien su trabajo, parece tener poca RAM, en comparación con el estándar de PC actual. Pero de todos modos, hace su trabajo bien, y no debería haber necesidad de reemplazo, si la ingeniería estaba bien.

  2. Espacio

    Las unidades de microprocesador son literalmente micros. Tienes que reducir el espacio necesario al mínimo absoluto. Por supuesto, puede obtener 256 MB en el mismo espacio que los chips de 64 KB de 10 años. Aquí es donde # 1 llega al punto.

  3. Precio

    No solo el precio de compra, sino también el consumo de energía. No desea diseñar una MCU que tenga control sobre un sistema de entrada, que necesite 1000 W, si su rival en el negocio tiene una que solo necesita 25 W. Y, por supuesto, el precio de compra más barato (con la misma calidad) siempre mejor.

Sempie
fuente
1
¡Es un microprocesador de muy alta potencia!
KyranF
2
Supongo que una MCU de 1kW no permanecería en estado sólido por mucho tiempo.
Dan Bryant
1
Los tres puntos son extremadamente importantes en el diseño de PC hoy en día.
@KyranF: Sí, divida ambos números entre 100. Pero, en todo caso, ha subestimado la diferencia de potencia relativa entre el procesador de alto rendimiento y los microcontroladores de baja potencia para aplicaciones de batería.
Ben Voigt