[TMS320F2808]성능 테스트 - GPIO 토글링 테스트
GPIO 토글테스트로 TMS320F2808의 성능 테스트를 해보았다. 단순 페리 속도로 CPU의 성능을 테스트 하기는 좀 그렇지만... 아무래도 주로 MPU로 하는 일들이 GPIO로 제어하는 일이 많으므로 [다른 MCU속도 측정 결과] 비교를 위해 GPIO테스트를 해보면 편하다.
일단 가장 간단히 GPIO를 단순히 비트 XOR시켜 속도를 측정했다. TMS320F2808 @20Mhz에서 RAM에 올려 100Mhz코어로 설정.
#define LED0_TOGGLE() (GpioDataRegs.GPADAT.bit.GPIO6 ^= 1)
측정 결과 대략 180ns (2.94Mhz)가 나온다.
컴파일러의 옵션에 따라 차이는 있겠지만 100Mhz라기에는 좀... 느리다.
어셈블 코드를 보니 역시... 옵티마이즈가 전혀 안되어 있다. 루프도는데 이렇게 무식하게...
TMS320에는 GPIO Toggle Register가 있으므로 이걸 이용해 보자. 역시.. 3줄이면 된다.
테스트 결과 GPIO 토글 속도는 100ns(5.5Mhz) 가 출력된다.
이제야 어느정도 정상 출력되는것 같다.
컴파일 옵션을 최적화해서 테스트 하니 70ns(7.13Mhz) 까지 출력된다.
GPIO 토글테스트로 TMS320F2808의 성능 테스트를 해보았다. 단순 페리 속도로 CPU의 성능을 테스트 하기는 좀 그렇지만... 아무래도 주로 MPU로 하는 일들이 GPIO로 제어하는 일이 많으므로 [다른 MCU속도 측정 결과] 비교를 위해 GPIO테스트를 해보면 편하다.
일단 가장 간단히 GPIO를 단순히 비트 XOR시켜 속도를 측정했다. TMS320F2808 @20Mhz에서 RAM에 올려 100Mhz코어로 설정.
#define LED0_TOGGLE() (GpioDataRegs.GPADAT.bit.GPIO6 ^= 1)
측정 결과 대략 180ns (2.94Mhz)가 나온다.
컴파일러의 옵션에 따라 차이는 있겠지만 100Mhz라기에는 좀... 느리다.
어셈블 코드를 보니 역시... 옵티마이즈가 전혀 안되어 있다. 루프도는데 이렇게 무식하게...
TMS320에는 GPIO Toggle Register가 있으므로 이걸 이용해 보자. 역시.. 3줄이면 된다.
테스트 결과 GPIO 토글 속도는 100ns(5.5Mhz) 가 출력된다.
이제야 어느정도 정상 출력되는것 같다.
컴파일 옵션을 최적화해서 테스트 하니 70ns(7.13Mhz) 까지 출력된다.
반응형