안녕하세요
디바이스마트의 멋쟁이 신사 솔다입니다
오늘은 따끈따끈한 라즈베리파이 신제품 소식을 들고 와봤습니다
주인공은 바로바로바로~
라즈베리파이 피코
입니다!!
오늘은 따끈따끈한 라즈베리파이 신제품 소식을 들고 와봤습니다
주인공은 바로바로바로~
라즈베리파이 피코
입니다!!
이름도 깜찍한 이 작은 친구가 디바이스마트에도 드디어 출시되었습니다!
과연 어떤 친구인지 지금부터 철저히 조사 들어가보겠습니다!
-
1. 외관
백문의 불여일견, 사진부터 보고 가시죠
사진 출처는 에이다프룻입니다
5.1cm × 2.1cm의 매우 아담한 사이즈입니다
첫인상은 Arduino Nano Every를 닮았다고 느꼈습니다
그리고 든 생각은 '뭐지 이거?? SBC 맞나??'였습니다
그리고 확인해보니 역시나...
기존의 라즈베리파이들과는 다르게 SBC가 아니었습니다
겉보기에 평범해보이는 마이크로컨트롤러 개발보드였습니다..!
사딸라에 너무 많은 것을 바랬나봅니다
SBC를 기대했는데ㅠㅠ
'이럴거면 개발환경도 따로 있는 아두이노쓰지~'
라는 생각은 잠시 접아두고
성능을 한번 찬찬히 살펴보도록 합시다
-
2. 성능
드디어! 진짜로 중요한 성능을 확인해보겠습니다
보시기 편하게 표로 정리했습니다
이렇게 보면 뭔지 모르실 분들을 위해서
한 항목씩 차근차근 살펴보도록 하겠습니다
CPU
라즈베리파이 재단에서 제작한 RP2040라는 특수한 CPU를 사용합니다
그냥 평범한 Arm Cortex-M0+ 아니냐고 하실 수 있겠지만
기존의 듀얼코어 ARM이 탑재된 개발보드에는 NUCLEO-H743ZI이 있습니다
NUCLEO-H743ZI는 Cortex-M7과 Cortex-M4의 두 코어를 사용하는 방식입니다
6단 파이프라인을 사용하는 신형 아키텍쳐를 사용하기 때문에 비용이 적지 않습니다
그러나 피코는 2단 파이프라인을 사용하는 Cortex-M0+을 채용했음에도
듀얼코어로 설계되었습니다(아마도 최초인 것 같습니다)
성능을 포기한 대신 가성비 듀얼코어 MCU라는 점이 차별화되어있습니다
저렴한 비용으로도 멀티 스레딩을 통한 작업이 가능하다는 뜻입니다
그 뿐만 아니라 처리속도가 무려 133MHz입니다
DSP 기반인 TMS320F28335 개발보드가 150MHz라는걸 보면
마이크로 컨트롤러 치고는 매우 빠른 속도를 가진것을 확인할 수 있습니다
Cortex-M0+을 사용하는 대표적인 아두이노인
Arduino MKR WiFi 1010(이하 WIFI1010)과 비교해보자면
WIFI1010이 48MHz로 피코는 이보다 약 2.7배정도 빠릅니다
종합해 보면 MCU치고는 상당히 속도광적인 사양인 것을 확인할 수 있었습니다
메모리
이번에도 아두이노 아두이노 WIFI1010과 비교해보았습니다
WIFI1010의 SRAM은 32kB
피코의 SRAM은 264kB
피코가 용량이 약 8배입니다
아이러니하게도 WIFI1010는 피코의 8배나 비쌉니다ㅎㅎ
개발 보드의 SRAM은 캐시메모리 역할을 하기 때문에
어쨌든 클수록 빠르고 좋습니다
Flash는 피코는 QSPI Flash방식을 사용하는데 일단 데이터라인이 4bit라
아직 많이 사용되는 SPI Flash방식은 2bit로 데이터라인이 두배나 됩니다
이 점을 제외 하더라도
WIFI1010의 Flash 용량은 256kB
피코의 Flash 용량은 2MB
이 역시 피코가 용량이 약 8배입니다
SRAM도 8배 용량, Flash 메모리도 8배 용량인데
가격은 되려 8분의 1인 기적의 보드가 아닐 수 없습니다
입출력
입출력은 그냥 GPIO니까 평범하지 않느냐? 하실 수 있겠지만
그래도 마이크로 컨트롤러 개발보드이니만큼
기존의 라즈베리파이와는 차별된 점이 있습니다
우선 라즈베리파이에는 없던 Analog input이 생겼습니다!
고작 3핀밖에 되지는 않지만 아예 없던거에 비교해보면 반가운 소식이 아닐 수 없습니다
아날로그 신호를 받을 때 마다 AD컨버터를 달아줘야 하는 번거로움은
프로젝트를 진행해 본 사람만이 알 수 있습니다
위의 표의 입출력 기능 중 프로그래밍이 가능한 I/O(PIO)가 8핀 있다고 합니다
이 PIO도 피코만의 두드러진 특징중 하나입니다
IO포트 제어는 어짜피 코딩해서 제어하는데 그게 뭐가 특별하냐?
라고 생각하실 수 있습니다
사실 PIO 방식은 그리 효율적인 방법은 아닙니다
왜냐면 입출력에 CPU가 직접 개입하기 때문에 CPU의 연산의 리소스를 잡아먹습니다
이 때문에 주로 사용하는 방식이 DMA라는 방식인데
DMA방식은 입출력은 DMA 컨트롤러가 담당하여
CPU가 연산에 개입하지 않도록 하여 효율을 높인 방식입니다
그런데 왜 PIO기능이 추가되었나요?
라고 또 다른 의문의 드실겁니다
그 이유를 말씀드리기 전에
입출력에 CPU가 개입하게 되는 또 다른 입출력 제어 방식이 있습니다
바로 '인터럽트'입니다
아두이노 우노에는 2개의 인터럽트 핀이 있습니다
사용하려면 레지스터를 세팅해야하는 번거로움이 있지만
꼭 필요할 때도 있습니다
그런데 피코에는 비록 인터럽트는 아니지만
유사한 용도로써 사용할 수 있도록 GPIO에 PIO를 8핀이나 할해해줬다는 것입니다
즉, PIO를 일종의 외부 인터럽트로 볼 수 있습니다
연산에 리소스를 잡아먹는 단점은 속도와 관련된 사양을 높이는 것으로
어느정도 해소가 될 것으로 보입니다
이는 외부의 급격한 변화에도 반응할 수 있도록 설계했다고
생각할 수 밖에 없습니다
다양한 인터페이스는 아두이노나 mbed 덕분에
개발보드들의 기본 덕목이 되어버려서 그렇게까지 특별한 구석은 없습니다
폭넓은 전압범위는 사용을 용이하게 하지만
프로그램 업로드는 결국 USB micro B로 하기 때문에 5V를 주로 사용할 것 같습니다
DSP에 버금가는 빠른 CPU, 짐승용량 SRAM, PIO, 저렴한 가격...
빅데이터를 통해 분석한 결과 라즈베리파이 피코는
TinyML에 최적화 된 개발보드인 것으로 추측됩니다!!!
쓰다보니 공식 사이트에서 소개하는 페이지에서도
머신러닝에 특화된 보드라고 소개하고있었네요!
라즈베리파이 피코는
텐서플로우 라이트 프레임워크를 적용할 수 있고 파이썬 기반으로 코딩할 수 있습니다
-
오늘은 출시 예정인 라즈베리파이 피코에 대해 알아보았습니다
확실히 저 작은 보드로 머신러닝을 한다니
AI가 많이 발전한 것 같습니다
유익한 정보가 되셨으면 좋겠습니다
여기까지 읽어주셔서 감사합니다
0 댓글