Whoopie, tengo una Raspberry Pi. Cuando hace cosas, funciona a 1,2 GHz y hay overclockers de Uber que los han aumentado a 1,5 GHz (con enfriadores de cambio de fase). Hoy en día, la CPU más barata de Amazon (Intel E7300 Core 2 Duo - £ 8,99) funciona a 2,66 GHz.
Un Arduino Uno funciona a 16 MHz y el microcontrolador Microchip de primera línea (SAM 7) solo llega a 300 MHz.
Parece que un microprocesador funciona diez veces más rápido que un microcontrolador y, al mismo tiempo, es mucho más complejo. ¿Por qué? ¿Es que AMD e Intel son más inteligentes que los demás o es algo más fundamental? ¿Cuál es la diferencia entre un microcontrolador y un microprocesador? no cubre este aspecto en particular.
Paul, imagina que quisieras aumentar la velocidad máxima de tu automóvil. Ignorando los problemas de "¿cuánto estás remolcando también?" o "¿Eso es cuesta arriba, cuesta abajo o en un llano de inmediato?" ... podría decir: "Necesito un motor más capaz" como una conjetura de primer orden sobre el siguiente paso.
Pero. Se daría cuenta de que necesita más caballos de fuerza para superar la resistencia del viento a cualquier velocidad (lo que, según los números de Reynolds, puede estar relacionado con o o alguna función de velocidad más compleja.) Probablemente terminará con más torque en el proceso también. Y luego comienza a trabajar en cómo reducir la resistencia del viento (flujos laminares versus turbulentos, etc.) y luego en el nuevo sistema de transmisión que puede soportar una mayor entrega de par y caballos de fuerza a los ejes y diferentes relaciones de transmisión. Y luego tienes que lidiar con la tracción: la capacidad de las ruedas para entregar lo que se necesita al suelo. (Las ruedas giratorias que se deslizan por el suelo no te llevan a ninguna parte).
En resumen, todo es un proceso de diseño increíble. Todo en el sistema tiene que estar diseñado para aplicar los cambios necesarios para lograr esa mayor velocidad.
Es así aquí. Es una analogía razonable.
El núcleo básico de la CPU puede funcionar, digamos, a 3 GHz con un proceso FAB determinado y limitaciones de disipación de calor. Puede apilar 12 núcleos, digamos, en un solo dado. Cada núcleo puede decodificar individualmente, digamos, hasta 3 instrucciones por reloj (hasta, no siempre, aquí estamos hablando de x86). Entonces, técnicamente en este escenario propuesto, puedo lograr o tasas de alrededor . Bastante genial, ¿verdad?
Sí. Pero.
¿Cómo alimentas a ese monstruo?
Bueno, agrega algo de caché L1. Pegue justo en el mismo dado, de hecho. (No puede permitirse retrasos fuera del chip). Pero necesita lo suficiente para importar. Y si ingresa lo suficiente, tiene muchos detalles sobre los requisitos de almacenamiento en caché N-way y el direccionamiento, etc. Resulta, digamos, que su caché L1 no puede funcionar mejor que alrededor de 4 relojes por recuperación por núcleo. Lo que significa que cada vez que un núcleo necesita algo, ¡tiene que sentarse y esperar!
Ahora, puede mejorar esto aumentando su caché L1 por un factor importante: más caché es mejor porque está encontrando más datos necesarios allí. Pero esto aumenta el tiempo del ciclo y tal vez ahora eso signifique 5 relojes por recuperación, en lugar de 4. ¿Vale la pena el precio pagado por cada recuperación por la mejor tasa de encontrar los datos allí? (Usualmente no.)
Entonces agrega un caché L2. Es más grande... pero más lento aún. Tampoco puede colocarlo en el troquel original. Así que haces un segundo troquel y los unes con alambre sobre un bus trasero. Y ahora hay más retrasos. No solo la memoria es más lenta en sí misma, sino que también lo son los retrasos involucrados en el salto de señales a través de dos troqueles a través de enlaces por cable.
Entonces agregas un caché L3 .....
Y finalmente llegas al sistema de memoria externa.
Oh. Pero no realmente. Esas tarjetas de memoria externas tampoco son tan rápidas. Y necesitan ayuda. Por lo tanto, crea un conjunto de chips que acepta lecturas y escrituras y las coloca en colas FIFO que van entre las CPU centrales y las tarjetas de memoria externas. (Con el caché ayudando, con suerte).
Pero incluso eso no es suficiente. Puede tener sentido permitir que se realice una lectura sin tener que esperar a que se escriba. Entonces agrega una capacidad de "lectura y escritura" a sus FIFO.
Y así continúa.
Eventualmente, después de un ENORME ESFUERZO e increíbles recursos de diseño, además de cachés, predicción de bifurcaciones y conversión de instrucciones a instrucciones RISC, y agregando múltiples unidades funcionales adjuntas a algunas estaciones de registro, y ejecución fuera de servicio seguida de unidades de retiro en orden, y caché, y....
Tienes un sistema de GHz. Tiene una increíble cantidad de diseño elaborado, construido en los FAB más caros del mundo, junto con enormes recursos tanto dentro del chip como en chips y sistemas circundantes agregados, todo diseñado para admitir la alimentación de ese conjunto increíblemente rápido de núcleos de CPU. .
Cambie ahora a incrustado.
¿Vas a incluso "ir allí"? ¿Quién usaría tus partes? ¿Tienen las herramientas para usarlos en su laboratorio? (¿Cada pieza a veces cuesta $ 100k?) ¿Tienen las habilidades?
Es bastante fácil para la mayoría de las personas hacer una tarjeta de circuito que funcione bien en . Las reglas de diseño no son terriblemente difíciles y las herramientas que necesita son modestas.
Por supuesto, está lo obvio. Volumen, también. Esto ayuda a pagar todo el trabajo requerido. Pero, francamente, este es un argumento más débil porque también se fabrican muchos de los chips integrados simples. Quizás "beneficio" podría ser una mejor medida aquí.
Pero se trata más de vender al por menor. Los consumidores regulares compran estas computadoras rápidas una a la vez y no pueden obtener "precios al por mayor". Pagan lo suficiente para pagar las ganancias de los distribuidores grandes, las ganancias de los distribuidores más pequeños, las ganancias de las tiendas minoristas, etc. Todo eso financia una gran cantidad de infraestructura de apoyo. Y también paga por esas herramientas y los conjuntos de habilidades para usarlas.
En comparación, un aficionado podría pagar $ 1 por una MCU Microchip integrada, pegarla en una placa protoboard, programarla con herramientas de compilación gratuitas y usar bibliotecas gratuitas.
Creo que somos increíblemente afortunados con lo que tenemos disponible. Y además, no quiero ni PENSAR en lo que necesitaría gastar aquí (ni en la capacitación adicional que necesitaría) para manejar procesadores integrados de GHz.
¿Línea de fondo? ¿Cómo planearía usar una MCU de 3 GHz, incluso si tuviera una? ¿Podría pagar el precio requerido para brindar todo el apoyo necesario solo para alimentarlo? Flash es muy lento en comparación con una MCU de este tipo. Entonces, necesitaría mucho hardware de soporte interno (caché, predicción, ejecución fuera de orden, ......) ¿Pagaría por todo ese espacio de matriz? ¿En realidad? ¿Solo para hacer parpadear un LED usando uno?
¿Cómo usarías exactamente algo tan rápido en un protoboard?
Realmente necesitas pensar en esto. Sea lo que sea, tiene que funcionar tanto para el fabricante como para ti. Y tiene que haber algún valor entregado al usuario final por el que el usuario final pague lo suficiente para que funcione para ambas partes.
En este momento, mientras ese acto de equilibrio siempre está en movimiento, ha encontrado un punto de equilibrio razonable en el mercado. Y estoy bastante impresionado de cuánto nos están dando por unos pocos centavos.
Hay dos diferencias importantes entre un microprocesador y un microcontrolador:
Los microcontroladores de gama baja pueden costar solo unos pocos centavos cada uno, en la medida en que a menudo se usan para controlar juguetes baratos que solo cuestan un par de dólares al por menor.
Los microcontroladores pueden funcionar durante horas con baterías. El mismo juguete barato puede funcionar con dos pilas AA. Una computadora portátil requiere un paquete de baterías LiIon grande y costoso.
viejo contador de tiempo
viejo contador de tiempo
viejo contador de tiempo
Eugenio Sh.
viejo contador de tiempo
viejo contador de tiempo
viejo contador de tiempo
Arsenal
TonyM
Arsenal
usuario253751
Arsenal
Sr. Gerber
Pablo Uszak
Pablo Uszak
usuario253751