본문 바로가기

[ST_MICRO]/STM32H7

STM32H7 vs STM32F7 MCU성능 테스트 - FPU 성능테스트

 

STM32H7 vs STM32F7 MCU성능 테스트 - FPU 성능테스트

 

STM32H7 GPIO 토글 속도 테스트 결과에서 STM32H7의 버스 구조의 특성상 GPIO접근에 속도 제한이 있다는 것은 확인 했는데 그렇다면 CPU부하를 걸어 속도 체크를 해 보면 루프 성능을 확인 할수 있을것 같다.

 

FPU를 사용할수 있도록 루트처리 함수를 이용해 수행 속도를 측정해 보았다.

 

#include  <math.h>

 
volatile double sq_result;
int i;
 
  while (1)
  {
         GPIO_TEST_PORT->BSRR = GPIO_TEST_PIN;
         d = 0;
         for(i=0;i<10;i++)
         {
                d += sqrt(2.0);
         }
         GPIO_TEST_PORT->BSRR = (uint32_t)GPIO_TEST_PIN << GPIO_NUMBER;
  }

 

 

 

STM32H7 @400Mhz 에서 루트연산을 10번 계산한 결과 190ns로 측정된다.

 

 

 

STM32CubeIDE 에서 STM32H7 FPU옵션 설정

 

 

 

STM32H7 @480Mhz 에서 루트 10번 계산 결과 135ns

 

 

 


 

 

STM32F7에서는 어떨까?

 

테스트 결과 216Mhz에서 450ns 정도 측정되다.

 

 

 

 

 


 

 

 

그렇다면 STM32F4에서는?
5000ns 정도로 H7에 비해 20배 이상 속도 차이가 발생하고 있다.
 
 
 
STM32F4의 경우 FPUv4 이다.

 

 

 

 

결론적으로 STM32H7이 STM32F4보다는 20배 STM32F7보다는 4배 정도 더 빠른것 같다.

반응형