인텔의 갈릴레오 보드는 아두이노와 똑같은 개발환경을 이용할 수 있는 고성능의 임베디드 보드이다.


[그림 1] 갈릴레오 보드의 패키지


잠시 사용해 본 간단한 느낌은 일단 업로드 속도가 일반 아두이노보다 매우 빠르다는 것과 아두이노의 개발환경과 거의 동일하다는 것이다. 하지만 리눅스 OS 위에서 동작이 되기 때문에 실제 저수준의 성능이 매우 높다고 단정할 수는 없다.

[그림 2] 갈릴레오 보드와 아두이노 프로미니 보드의 TWI 통신 실험


위 사진은 아두니오 프로미니 (좌상단)과 갈릴레오 보드를 TWI로 연결하여 통신 실험을 하는 것이다. 매우 잘 동작한다.  약간의 구글링 결과 제조사 홈페이지에서 확인한 바에 의하면 I2C 통신의 경우 갈릴레오 보드는 마스터로만 사용할 수 있고 100kHz의 속도만을 지원한다. 또한 GPIO핀의 신호를 변화시키는데 2ms 가 소요되고 실제 오버헤드를 고려한다면 230 Hz 정도가 최대이다. 생각보다 성능이 높지는 않은 것 같다.


 이전 포스트에서 두에에서 했던 것과 똑같은 실험을 수행해 보았다. 즉 다음과 같은 코드를 실행시킨 다음 2번 핀의 주파수를 측정해 보는 것이다.


void setup() {
   pinMode(2, OUTPUT);
}
void loop() {
   while(1) {
       digitalWrite(2, HIGH);
       digitalWrite(2, LOW);
   }
}

이 프로그램은 2번 핀을 단순히 on/off 시키는 것이다. 결과는 아래 그림과 같은데 좀 의외였다. [그림 ]에서 스코프의 세로줄 한 칸은 1ms 이다. 따라서 구형파의 한 주기가 약 8.5ms이고 이것을 주파수로 환산하면 약 118 Hz 라는 어이 없는 결과가 나온다. 400MHz 짜리 갈릴레오가 16MHz 짜리 우노 보다 하드웨어 제어 성능이 한참 아래라는 결론이다. 아무리 갈릴레오가 리눅스 위에서 돌아가고 물리적인 핀들이 내부적으로는 I2C로 제어된다고는 하지만 성능이 너무 낮은 것 아닌가 하는 생각이 든다.

[표 1] 성능 비교표

보드

프로세서

동작 클럭

구형파의 한 주기  시간

주파수

아두이노 우노 (uno)

ATmega328

16 MHz

5 us

200,000 Hz (200 kHz)

아두이노 두에 (due)

AT91SAM3X8E

87 MHz

8 us

125,000 Hz (125KHz)

인텔 갈릴레오

intel Quark

400 MHz

8.5 ms

     118 Hz

 물론 갈릴레오는 원보드 마이컴이라서 일반적인 아두이노와 종류와 그 타겟 분야가 다르기는 하다. 하지만 단순히 굉장히 빠른 아두이노라는 오해를 가지고 실제 프로젝트에 적용시키려면 충분한 검토가 이루어져야 할 것 같다.



Posted by 살레시오