¿Qué significa "N-Bit"?
Lo siento si este primer párrafo es un poco demasiado bajo, pero se ofrece con la esperanza de que pueda ayudar a los futuros lectores: un número, representado por N dígitos en la base M, solo puede ser tan grande como MN. Por ejemplo, con 9 dígitos decimales (base 10), solo puede escribir números hasta 10 ^ 9, o cero a 999,999,999. Con 8 dígitos binarios (base 2) (un "dígito binario" es un 'bit'), puede almacenar 2 ^ 8 = 256 números.
Un microcontrolador o procesador se llama 'N-bit' porque los controladores y procesadores tienen un ancho de datos fundamental. Cada registro puede ser N bits, cada instrucción puede ser N bits, el bus de datos puede ser N bits, la memoria puede ser direccionada con N bits. Especialmente en el nivel inferior, hay excepciones a esta regla: por ejemplo, un controlador de 8 bits puede tener un bus de memoria de 12 bits, pero como puede suponer, es difícil trabajar con eso cuando sus registros solo contienen 8 bits. Sin embargo, todos los procesadores tienen un ancho de tipo de datos nativo fundamental. Considere el siguiente código:
uint32_t x,y,z; // Declare 3 32-bit variables
z=x + y; // Add two of them to store in the third
Si solo puede agregar números de 8 bits, ¿cómo realizaría esta operación? Tendría que dividir cada variable en 4 números de 8 bits, hacer las sumas y los transportes individualmente, y luego combinarlos para obtener el resultado. ¡Esto tomaría al menos 16 instrucciones! Sin embargo, en un procesador de 32 bits, es una sola instrucción tan simple como mul r0, r1, r2
. Como puede ver en este simple ejemplo, los anchos de bits de procesador más grandes pueden manejar más datos más rápido.
Notas historicas
La tendencia a lo largo de la historia ha sido desde anchos de bits más pequeños hacia los más grandes. A principios de la década de 1970, Intel lanzó el 4004, el primer controlador de un solo chip. Era un procesador de 4 bits. Debido a que los transistores eran grandes y necesitaban mucha energía, y debido a que el diseño era revolucionario y complicado, esto era todo lo que podía exprimirse en el chip. Poco después, lanzaron el 8008, un procesador de 8 bits. Todavía hay pocos procesadores de 4 bits en uso, pero hay muchos controladores de 8 bits, el PIC y el AVR son ejemplos contemporáneos que todavía se usan comúnmente. ¡Se han hecho más procesadores de 8 bits que cualquier otro tipo! Siguen siendo los controladores más populares para tareas pequeñas, simples y económicas. La siguiente transición obvia fue a los controladores de 16 bits, pero estos no han tenido el alcance de sus hermanos de 8 o 32 bits. En lugar, ha habido un salto a los procesadores de 32 bits, como los diseñados por ARM y diseñados en las CPU de PC de hace unos años. No he conocido ningún microcontrolador significativo de 64 bits, aunque ahora son prominentes en las PC.
8 bits frente a 32 bits
Con mucho, los tipos más populares son los procesadores de 8 bits y 32 bits. Los procesadores de 32 bits son cada vez más populares. Cada año, más o menos, alguna revista comercial publica un artículo con el título "¿Está muerto 8 bits?" Los procesadores de 32 bits se están volviendo más populares, más potentes y más baratos, dejando solo tres razones para elegir un procesador de 8 bits:
- Inercia : si tiene código y experiencia con un procesador de 8 bits, es posible que no obtenga un ROI suficiente al convertir todo a una arquitectura de 32 bits.
- Baja potencia : cada transistor en un controlador disipa potencia, y aunque el tamaño ya no es un problema, los procesadores de 32 bits tienen más transistores y, por lo tanto, disipan más corriente en su estado apagado. Esto es solo un problema en los diseños extremos que funcionan con monedas.
- Bajo costo : si solo necesita un par de docenas de instrucciones de montaje y 2 pines de E / S, incluso un procesador de 8 bits probablemente sea excesivo. En el extremo inferior, los controladores más baratos de 8 bits cuestan menos de $ 0.40 a granel, pero los procesadores más baratos de 32 bits siguen siendo $ 0.80 más o menos, pero son mucho más potentes que las alternativas de 8 bits. Si está tratando de construir un juguete con un solo LED parpadeante para el próximo millón de Happy Meals, esta es una reducción de precios convincente, si no, realmente no hace la diferencia.
Los procesadores de 32 bits se están volviendo más ubicuos, pero hay pocas señales de que el procesador de 8 bits desaparezca como los procesadores antiguos de 4 bits debido a estas tres razones.
Arduino como ejemplo
Considere una aplicación como el Arduino .
El Arduino usa un controlador Atmel, un ATmega32 de 8 bits . El ATmega funciona a 20 MHz, tiene 4k de RAM, tiene comunicaciones SPI, I2C y UART, algunas interrupciones de hardware y 8 ADC de 10 bits. Este chip cuesta $ 3.90 en cantidades de 100.
Un chip similar de 32 bits podría ser otra parte de Atmel, un AT-SAM3 de 32 bits que utiliza el núcleo ARM Cortex-M3 compartido. Este chip funciona a 64 MHz (3 veces más rápido, pero recuerde que el ATmega toma 16 instrucciones para hacer una sola adición de 32 bits). Tiene 16k de RAM, 4 veces más que el ATmega. Tiene I²C, MMC, SPI, SSC, UART e incluso periféricos USB. Tiene DMA (acceso directo a la memoria, también lo hace más rápido y más eficiente), un conjunto flexible y potente de interrupciones, 10 ADC de 12 bits y 2 DAC. Simplemente supera a ATmega en todas las categorías. Traté de encontrar un controlador de 32 bits que tuviera un conjunto de características comparable, y esto fue lo mejor que pude hacer. ¿Cuánto cuesta este chip? Son $ 2.34 en cantidades de 100: obtienes más rendimiento por menos dinero. Debería ser una decisión fácil.
¿Qué hay de tu ejemplo?
Para su situación de ejemplo aquí ,
Se debe contar el número de automóviles que entran y salen de un estacionamiento y el número que se muestra en una pantalla LCD. Se permite un máximo de diez automóviles en el estacionamiento.
tiene algunas matemáticas muy simples con números pequeños y una pantalla simple en una pantalla LCD (o realmente, un letrero grande hecho con números de 7 segmentos con luz LED sería más visible y más barato). Un controlador de 8 bits probablemente sea perfectamente adecuado para esta tarea. Sin embargo, lo que si realmente no quiere un LCD? El controlador de 8 bits tendrá dificultades para manejar incluso una pantalla VGA de baja resolución, mientras que puede obtener fácilmente placas de desarrollo para controladores de 32 bits que tienen salidas HDMI. ¿Qué sucede si desea mostrarlo en una pantalla por ahora, pero luego desea conectarlo a un cable Ethernet en la LAN de su empresa y mostrar los resultados en la computadora del supervisor en la oficina del parque? Puede obtener fácilmente controladores de 32 bits con buses de comunicación Ethernet integrados, no puede hacerlo con un controlador de 8 bits.Xport , pero que contiene un procesador de 32 bits en su interior.
Para proyectos únicos, recomendaría un controlador de 32 bits cada vez. Su tiempo es simplemente más valioso que la diferencia de precio entre los controladores de 8 y 32 bits.
Con respecto a los procesadores de 7 bits que mencionó, probablemente nunca ha habido y nunca habrá máquinas similares. Desde un punto de vista arquitectónico, es más sensato usar anchos de bits que son potencias de 2.