본문 바로가기

MCU속도측정

(65)
ESP32-C3 Dhrystone, Whetstone, IIR Benchmark 성능 테스트 MCU 성능 측정을 할수 있는 벤치마크 방법은 여러가지가 있지만 Dhrystone, Whetstone 방식을 많이 사용한다. 각각의 특징은 아래와 같다. Dhrystone - 정수(ALU)연산성능 측정, MIPS 수치로 표기 Whetstone - 부동소수점(FPU)연산성능 측정, MFLOPS 수치로 표기 테스트 코드는 STM32H MCU Dhrystone, Whetstone, IIR Benchmark 성능 테스트 를 이용하였다. 벤치마크 테스트 결과 부동소수점 연산이 많이 좋지 않은것 같다. ESP32-C3 는 RISC-V 코어를 사용해서 그런것인가? 좀더 확인이 필요 하지만 저렴한 가격에 이정도 성능이면 나쁘지 않은것 같다. .mode = ESP32 Dhrystone Benchmark, Version ..
ESP32-C3 SSM EVM - 성능 측정 ESP32-C3는 기존 ESP32 시리즈(240Mhz)와 달리 160Mhz 32-bit RISC-V core 를 탑제하고 있다. 성능보다는 가격과 소비전력에 장점을 두고 있지 않을까.. 아무튼 기존 ESP32 Arduino 코드의 성능과 비교해서 ESP32-C3 의 성능 테스트를 해 두면 좋을것 같다. 우선 CPU Frequency를 160Mhz 로 설정해서 GPIO 코글 테스트를 해 보자 Arduino에서 제공하는 GPIO 제어 함수로 테스트 해 보면 #define LED_PIN1 3 void setup() { pinMode(LED_PIN1, OUTPUT); } void loop() { digitalWrite(3, 0); digitalWrite(3, 1); } 2.3us로 상당히 느리다. ESP32-C..
ESP32 - Dhrystone, Whetstone, IIR Benchmark 성능 테스트 MCU 성능 측정을 할수 있는 벤치마크 방법은 여러가지가 있지만 Dhrystone, Whetstone 방식을 많이 사용한다. 각각의 특징은 아래와 같다. Dhrystone - 정수(ALU)연산성능 측정, MIPS 수치로 표기 Whetstone - 부동소수점(FPU)연산성능 측정, MFLOPS 수치로 표기 테스트 코드는 STM32H MCU Dhrystone, Whetstone, IIR Benchmark 성능 테스트 를 이용하였다. mode = ESP32 Dhrystone Benchmark, Version 2.1 (Language: C) --------------------------------------------------- Execution starts, 2000000 runs through Dhrys..
RP2040 SSM EVM - Arduino 성능 테스트 기본 동작은 확인 되었으니 Arduin IDE 개발 환경에서 STM32F4의 성능 테스트를 진행 해 보자. Arduino에서 제공한 GPIO 함수를 이용하여 토글해 보면 700ns 정도 측정된다. 루프 수행 속도는 560ns 정도 된다. 역시 느리다. void setup() { pinMode(LED_BUILTIN, OUTPUT); } void loop() { digitalWrite(LED_BUILTIN, HIGH); digitalWrite(LED_BUILTIN, LOW); } Raspberry Pi Pico SDK 에서 제공하는 gpio_put() 함수를 사용해 보자 https://raspberrypi.github.io/pico-sdk-doxygen/group__hardware__gpio.html Ras..
[STM32G431 EVM] 성능 테스트 (STM32CubeIDE) STM32G4 시리즈는 최대 170Mhz로 구동되는 CortexM4 코어로 저렴하면서 성능도 좋은 MCU인것 같다. 기본 성능 테스트를 해 보자. STM32CubeIDE 를 이용하여 STM32G4 프로젝트를 생성한다. 기본 핀 맵을 설정한다. 클럭설정은 최대 클럭인 170Mhz로 설정한다. STM32G431 GPIO 토글 속도 테스트 소스코드 int main(void) { /* USER CODE BEGIN 1 */ /* USER CODE END 1 */ /* MCU Configuration--------------------------------------------------------*/ /* Reset of all peripherals, Initializes the Flash interface an..
[nRF52 xBee EVM] ARDUINO 성능 측정 nRF52를 이용하여 Arduino에서 제공하는 digitalWrite()함수를 이용해서 GPIO 제어 속도를 측정 해 보았다. 600ns정도로 측정된다. 역시 많이 느리군... #define LED_PIN1 17 void setup() { Serial.begin(115200); pinMode(LED_PIN1, OUTPUT); } void loop() { digitalWrite(LED_PIN1, 1); digitalWrite(LED_PIN1, 0); } GPIO 직접 제어 하면 더 빠른데 직접 제어 함수가 어디에 정의 되어 있을까? digitalWrite() 함수를 보면 아래와 같이 제어 하고 있다. void digitalWrite( uint32_t ulPin, uint32_t ulVal ) { if (..
ESP32 Arduino 성능측정 ESP32를 이용하여 Arduino에서 CPU 성능을 테스트 해 보았다. 역시 많이 느리군... 우선 Arduino 에서 제공하는 GPIO 제어 함수를 이용해 보면 112ns(3.2Mhz) 로 출력 된다. #define PIN_OUT 5 void setup() { pinMode(PIN_OUT, OUTPUT); } // the loop function runs over and over again forever void loop() { //delay(1); digitalWrite(PIN_OUT, 1); digitalWrite(PIN_OUT, 0); } ESP32의 GPIO 제어 레지스터에 직접 출력하면 62ns 정도로 출력된다. ESP8266이용한 Arduino 성능 측정 실험의 75ns 와 비교 하면 조금..
#SAMD21E-S EVM - Arduino Zero 성능 테스트 ASMD21에 Arduino 를 올렸으니 간단히 성능 테스트를 해 봐야지... GPIO 토글 속도로 수행 속도를 측정해 보았다. 다른 MCU의 Arduino 코드에서 성능 테스트와 비교해 보면 클럭대비 나쁘지는 않은것 같다. 아두이노에서 제공하는 GPIO제어 함수(digitalWrite)로 GPIO 토글 하면 2.3us 정도 측정이 된다. #define PIN_OUT 27 #define Led1Off() PORT->Group[0].OUTCLR.reg = (1

반응형