인텔 쿼크

1 개요

인텔이 2013년에 출시한 x86 기반 임베디드 SoC. IoT(사물인터넷)와 웨어러블 시장을 목표로 기획한 제품이라고 한다.

내부의 CPU 마이크로 아키텍처는 20년 전의 P54C, 원조 펜티엄이지만 이것을 Verilog-HDL 같은 HDL로 기술하여 synthesizable하도록 만들어 타 SoC 업체나 파운드리에서도 코어를 쓸 수 있도록 만든 것이 특징.

스마트폰으로 대표되는 모바일 기기보다도 더 경박단소하고 저전력 특성을 가진 칩제품이 요구되는 타겟 시장의 특성으로 인해 프로세서의 실행속도와 전력소모가 상위 제품인 아톰보다 모두 줄어들었다. 제조사 주장으로는 기존 아톰의 1/10 수준의 저전력이라고 한다. 그런데 쿼크 제품의 TDP는 2.2W로 명시되어 있어 의외로 아톰의 저전력 버전과의 최대 전력소모 차이는 없다. SoC의 TDP는 CPU 코어만이 아니라 GPU 같은 주변장치의 전력소모도 포함되기 때문에 CPU 코어의 전력소모가 전체 SoC의 전력소모를 의미하지는 않는다는 점을 감안해야 한다. 다만 동작 클럭이나 전체적인 성능이 낮은 것을 고려한다면 실제 구동시의 전력 소모는 제조사의 주장대로 1/10 수준으로 봐도 큰 무리는 없을 듯 하다.

현 시장에서 유사한 제품으로는 ARM사의 Cortex-R 계열의 CPU 코어를 사용한 제품이 있다.

아래에 나온 제품이 전부 아두이노 호환 제품인것에서 볼 수 있듯이 Arduino와 같은 쉬운 임베디드 개발플랫폼을 목표로 둔 듯 하다. 최근에는 아예 아두이노 제품을 직접 만들기 시작했다. 그 주자가 바로 Arduino 101. 인텔 큐리칩 사용했다는것만 봐도..

2 특징

쿼크의 주요 특징은 다음과 같다.

  • 펜티엄 CPU 코어를 Fully synthesizable하도록 재구성하여 SoC 솔루션에 용이하게 적용할 수 있도록 수정.
  • 펜티엄 클래식과 호환되는 x86 명령어셋을 사용한다. 즉 -지금은 거의 사장된- MMX 명령어 셋뿐만 아니라 그 이후의 SSE 계열 명령어 셋과는 호환성이 없다.
  • MMU 탑재.
  • 프로그래밍 가능한 512KB의 SRAM 포함.
  • PCIe 버스 적용.
  • AMBA 버스 적용.
  • 레거시 브리지 내장.

우선 해당 급의 SoC로서는 이례적으로 MPU(메모리 프로텍션 유닛)가 아닌 MMU(메모리 관리 유닛)를 채택하였다. 때문에 MPU에 맞게 축약된 RT계열의 리눅스가 아닌 풀 버전의 임베디드 리눅스를 구동할 수 있게 되었고 실제로 세일즈 포인트도 풀 버전의 리눅스에서 지원되는 풍부한 소프트웨어 스택에 맞춰져 있다. RT계열의 리눅스가 아닌 일반 리눅스 기반에서 구동한다는 점은 양날의 칼로 작용할 수 있다. 일반 리눅스의 경우 소프트웨어적인 다양성을 얻을 수 있는 반면 프로세서의 성능이 떨어질 경우 I/O 입출력의 응답성을 보장받기 힘들어지는 문제가 있다. 사실 그러한 난점들을 해결하기 위해 해당 급의 프로세서에서는 실시간 응답성 보장에 역점을 둔 RTOS계열을 주로 쓰는 경향이 있고 RT리눅스를 쓰는 이유도 마찬가지이다.

또한 보통의 데스크탑 CPU나 모바일 AP에서는 찾아보기 힘든 512KB 용량의 SRAM이 내장되어되어 있는데 이러한 메모리 구조는 메모리 액세스 레이턴시를 줄여줌과 동시에 일정한 레이턴시를 가지도록 하여 타임-크리티컬한 실행코드가 정확한 시간에 실행될 수 있는 수단을 제공 해준다.

가장 의외이면서도 주목받고 있지 않은 특징은 내부적으로 AMBA 버스가 사용된다. AMBA 버스는 다름아닌 경쟁사인 ARM이 개발했고 소유하고 있는 버스 구조이며 대부분의 내장된 주요 주변장치들이 AMBA를 통해서 쿼크 CPU 코어에 연결되어 있고 정작 PCIe 버스는 주변장치 연결에 할당되어 있지 않다. 이러한 이상한 구조를 가지게 된 이유는 SoC에 관련된 대부분의 주변장치 회로가 시장 지배적인 ARM의 AMBA 버스에 맞게 설계된 탓에 이것들을 쿼크에 도입하기 위해서는 일단 AMBA를 사용하는 구조로 갈 수 밖에 없었던 것으로 추정된다.

레거시 브리지에는 8086/8088 시절부터 이어져 내려온 인터럽트 컨트롤러나 UART 입출력 등이 한데 모여 있다. 즉 쿼크에는 ARM 계열/인텔 신형/인텔 구형 버스 구조가 한지붕 세가족을 이루면서 공존하는 셈.

3 관련 제품

2014년 8월 기준으로 쿼크가 채택되어 실제 출시된 제품은 아래 서술된 갈릴레오 보드가 유일하다. 다만 갈릴레오 보드는 여러가지 문제점으로 인해 조기 단종되고 관련 문제를 개선한 갈릴레오 Gen2가 출시되어 당분간 시장에서 볼 수 있는 제품은 갈릴레오 Gen2가 유일할 것으로 보인다.

3.1 인텔 갈릴레오

1386033251_thumb.jpg

  • 400MHz로 동작하는 32나노 공정 인텔 쿼크 프로세서 장착. 최대 TDP 2.2W
  • ACPI, 미니 PCIe, 이더넷, 마이크로 SD카드 슬롯, USB 2.0 장착
  • 프로그래밍 가능한 8MB의 NOR 플래시

인텔이 처음으로 쿼크 CPU를 장착한 제품이자 아두이노 호환 보드이다. 인텔은 이 개발자보드를 약 70달러 정도에 판매하는 중이다. 출시후 시장의 반응은 충공깽이다. 명색은 아두이노 호환보드인데 정작 아두이노 핀의 처리 속도가 아두이노의 1/10 수준으로 떨어질 뿐만 아니라 GPIO 특성 자체가 제대로 맞지 않는다. # 링크의 포스팅에서 당장 확인할 수 있는 문제만 해도 세 가지이다.

  1. GPIO의 전류 드라이브 능력이 원조 아두이노와 상이함.
  2. PWM출력은 아예 제대로 컨트롤되지도 않음.
  3. GPIO를 통한 C-LCD 제어가 너무 느린 문제.

이 정도의 문제라면 사실상 호환성이 없다고 해도 무방하다. 뭔 짓을 한거냐 인텔 이는 갈릴레오의 GPIO와 PWM이 쿼크 CPU의 네이티브 기능이 아니라 별도의 GPIO/PWM 칩을 장착하고 이것을 저속의 I2C 버스를 통해 컨트롤하기 때문으로 추정된다. GPIO 확장을 이렇게 설계하면 비교적 저속에 레이턴시도 높은 I2C에서 병목이 발생할 가능성이 크기 때문에 설령 스카이레이크 i7 시리즈 CPU를 박아놓는다고 해도 타임-크리티컬한 제어에서 GPIO 성능이 제대로 나오기는 어렵다.

바로 이러한 문제점들이 있을 수 있기 때문에 대다수의 SoC 제품들은 각 GPIO에 상당한 부가 기능을 멀티플렉싱하여 가급적 별도의 칩을 추가하지 않고 필요한 기능을 쓸 수 있도록 설계에 반영하고 있다. 즉 쿼크 자체도 범용성있는 SoC로 취급하기에는 컨셉상의 미스가 있고 아두이노와의 호환을 표방한 갈릴레오의 설계 자체도 뭔가 방향을 잘못 잡았다고 판단해도 무방할 듯.

갈릴레오는 6월 3일자로 주문이 종료된다고 발표되었다.

3.2 인텔 갈릴레오 Gen2

intel-galileo-gen2-and-intel-galileo.jpg

인텔은 문제가 많았던 갈릴레오 Gen1을 조기 단종시키고 갈릴레오 Gen2를 2014년 8월 중으로 발매할 예정이라고 한다[1].

Gen2의 개선 사항은 바로 위의 Gen1에서 문제점으로 지적 되었던 PWM 해상도 증가와 GPIO 성능과 토글링 기능 향상. 다만 이 과정에서 문제점 해결을 위하여 통합 I/O칩이 빠지고 그 대신 대량의 74xx계열 TTL 레벨 소자가 도입되었고 그때문에 위의 두 보드를 비교해보면 Gen2쪽의 보드 크기가 크게 증가한 것을 알 수 있다.

가격은 60달러로 70달러였던 Gen1보다 10달러 싸게 책정되었다고는 하지만 원본 아두이노 우노 R3의 20유로나 경쟁 관계인 35달러의 라즈베리 파이, 45달러의 비글본 블랙 보다는 25~15달러 더 비싸게 책정되면서 x86용 개발보드라는 점 빼고는 여전히 차별화된 경쟁력은 없는 것이 현실. Gen2의 경우 700MHz의 Broadcom ARMv6 코어가 채택된 라즈베리파이와 비교했을 때에도 성능상 잇점이 별로 없고, 1GHz의 Cortex-A8 코어가 들어가고 I/O 포트 기능과 숫자가 훨씬 막강한 비글본 블랙하고는 비교가 불가능할 지경이 된다. 예정 가격대로라면 성능은 낮은데 가격은 더 비싸게 될 상황.

국내에서 갈릴레오 Gen1이 정식 출시되어 [1] 등에서 85,000원에 구매 가능한 정황으로 보건데 Gen2 역시 정식 출시될 가능성이 높아 보인다. 현재 해당 쇼핑몰에서 판매중이다. [2] 가격은 전작보다 눈꼽만큼 저렴한 83,600원.

3.3 인텔 에디슨

edison.jpg
cdpkorea-1389084092-2.jpg

  • 400MHz로 동작하는 22나노 기반 인텔 쿼크 듀얼코어 프로세서.

2014년 1월 8일 라스베이거스의 국제전자제품박람회(CES 2014)에서 인텔 쿼크 듀얼코어 CPU에 내장그래픽, 메모리, 무선랜, 블루투스를 포함하여, 리눅스로 구동되는 "인텔 에디슨"을 발표하였다. 리눅스가 올라간 x86 플랫폼을 SD카드 사이즈에 밀어 넣었다는 것으로 인해 이슈를 불러일으켰다. 물론 ARM SOC시장에서는 이런 크기의 보드가 대중화 되어 있었고 MCU 쪽으로 가면 PIC 같은 경우는 손톱크기만한 물건도 많기 때문에 별 반응이 없었지만 PC 업계와 그것에만 익숙했던 대중들 입장에서는 놀라기 딱 좋은 소재였다.

2014년 2월 24일 "Make it Wearable"이라는 대회를 연 바 있다. 에디슨은 웨어러블 컴퓨터 시장을 노리고 만든 SBC 아키텍처를 사용하는 컴퓨터이기 때문에, 웨어러블 시장을 공략하는 아이디어를 모집하기 위해 이러한 대회를 개최하고 있다.

2014년 3월에 시장의 요구사항을 수용하여 에디슨 플랫폼의 프로세서를 쿼크에서 아톰 실버몬트로 변경하기로 하였다. 이로서 에디슨은 SD 카드의 크기를 포기하고, 그보다 약간 큰 크기를 목표로 할 것이라고 했는데...


플랫폼을 변경하고 약간더 커진 인텔 에디슨.

에디슨 개발보드 키트

프로세서가 2코어-500MHz의 아톰 실버몬트 코어로 변경되어 2014년 9월에 공개되얼다. SD 카드 인터페이스였던 기존의 에디슨과는 달리 애드온 방식의 CPU 보드 형태로 출시 되었고 I/O는 별도의 I/O보드를 추가하는 형태로 변경되면서 에디슨이라는 이름만 동일할 뿐 사실상 다른 성격의 제품이 되고 말았다. 의외로 해당 제품에는 쿼크도 100MHz 마이크로 컨트롤 유닛으로 여전히 달려 있는데 이는 아두이노 키드와의 I/O 호환성을 유지하기 위한 것으로 추정된다.

사양

CPU인텔 22nm ATOM 2코어 500MHz, MCU 100MHz 인텔 쿼크 프로세서
메모리1GB LPDDR3 SDRAM, 4GB EMMC
네트워크Wi-Fi 802.11a/b/g/n/ac, 블루투스 4.0
운영체제Yocto Linux 1.6
기타확장보드 Intel Edison kit for Arduino, Intel Edison breakout board

에디슨 모듈의 실 판매가는 50달러이며 개발보드 키트는 70달러 아두이노 키트는 85달러이다.

3.4 쿼크 MCU

이 이하부터는 아두이노와는 전혀 연관없는 산업용 MCU칩들로 코어텍스 M3급 칩들을 목표로 개발되었다.

  • 쿼크 D1000
  • 쿼크 D2000
  • 쿼크 SE

4 관련 문서

  1. [3]