Aumente la velocidad de sus microcontroladores STM32 en un 31% usando memoria de núcleo emparejado - Calendae - Calendae | Informática, Electrónica, CMS, Ciberseguridad

Aumente la velocidad de sus microcontroladores STM32 en un 31% usando memoria de núcleo emparejado – Calendae

Hola de nuevo. En el teclado Jordi Oriol y en el día de hoy te voy a contar sobre Aumente la velocidad de sus microcontroladores STM32 en un 31% usando memoria de núcleo emparejado – Calendae

Cuando trabaje en proyectos con rutinas de cálculo intensivo y (o) requisitos de rendimiento casi en tiempo real, tenga una «velocidad de rayo» RAM Suele ser algo bueno para los desarrolladores. Esta es una de las razones por las que STMicro ha incluido RAM Core Coupled Memory (CCM) en un buen número de STM32 serie de microcontroladores e Impuesto reducido recientemente demostró cómo usarlo, en una publicación en su sitio web.

Memoria acoplada al núcleo (CCM), a diferencia del almacenamiento flash, ofrece un alto rendimiento y un estado de espera cero que le permite ejecutar instrucciones en una fracción del tiempo que se tarda cuando se ejecuta el firmware desde el almacenamiento flash. Segundo STMicro, se incluyó en microcontroladores para su uso en escenarios que implican «rutinas de cálculo intensivo en tiempo real». [including] circuitos de control de conversión de potencia digital (fuentes de alimentación conmutadas, iluminación), control de motor trifásico orientado al campo, [and] DSP (procesamiento de señales digitales) en tiempo real ”.

Para describir CCM, Tass lo definió como potencialmente una de las características utilizadas por STM para configurar microcontroladores con él, aparte. En sus palabras, “los proveedores necesitan diferenciarse de la competencia y esto se hace de muchas formas diferentes. Por supuesto, lo más importante es el precio, pero a veces eso no es suficiente, porque incluso el precio bajo no significa que el controlador se ajuste al tuyo. proyecto «.

Para la demostración que muestra cómo los desarrolladores pueden usar CCM, Tass usó un STM32F303CC placa de desarrollo, que tiene 256 kB de memoria flash, 40 kB de RAM estática (SRAM) y 8 kB de RAM Core Coupled Memory (CCM). Para el firmware, adoptó el algoritmo de compresión LZ4 como punto de referencia, junto con un CMake personalizado que le permite ejecutarse en Flash SRAM y CCM RAM. Ejecución del algoritmo de compresión LZ4 a diferentes velocidades de reloj en flash, SRAM y CCM. A la velocidad de reloj predeterminada de la tarjeta de 72 MHz y un tamaño de bloque de 8k, ejecutar el algoritmo LZ4 desde flash tomó entre 279 y 304 milisegundos. El cambio a SRAM redujo aún más el tiempo de ejecución a 251 ms, pero el cambio a CCM lo redujo aún más a 172 ms. Para probar aún más los límites, Tass overclockeó el dispositivo para lograr una velocidad de reloj de 128MHz y volvió a probar el rendimiento de las tres memorias. A la nueva velocidad de reloj con el mismo tamaño de bloque que antes, el tiempo de ejecución cayó entre 156-171 ms en la memoria flash, 141 en SRAM, 97 ms en el CCM.

Hablando del desempeño del CCM, Tass dijo:

“Esperaba que fuera un poco más rápido, pero no esperaba que la diferencia fuera tan grande. Un 31% más rápido es un aumento notable en el rendimiento, no puede ignorar eso, especialmente en el código de tiempo crítico. «

El proyecto, incluidos todos los archivos, está documentado. Sitio web de Tass.

Puedes compartir en una historia de tu Instagram para que tus colegas lo disfruten

??? ? ? ???

Comparte