ARM(CPU)

1 개요

영국 ARM Holdings 사에서 설계하는 명령어 세트와 ISA(Instruction Set Architecture)의 총칭.

ARM이 일반 대중에게 널리 알려진 계기는 대체로 2010년 이후로, 스마트폰이 대세가 되면서 스마트폰에서 CPU 역할을 하는 AP(Application Processor)가 확산되면서부터 급격히 커지기 시작했다.

2 역사

1985년 PC용 RISC를 개발한 캠브리지 대학의 연구진이 새로 개발된 RISC를 PC 시장에서 상용화하기 위해 Acorn Computer Group을 세우고 ARM(Acorn RISC Machine)이라는 이름으로 벤처기업을 세운 게 시발점이다.

1990년에 Acorn사는 뉴턴 메시지 패드에 들어갈 적절한 성능에 적절한 전력을 소모하는 마이크로프로세서를 개발하기 위해 애플과 VLSI Technology와의 조인트 벤처를 설립하면서 이름을 ARM(Advanced RISC Machine)으로 변경했으며 이후로는 주로 저전력 위주의 SoC 형태의 CPU 개발에 집중하게 된다.

ARM 아키텍처가 마이크로컨트롤러 업계에서 입지를 굳히게 된 계기는 16비트 크기의 축약형 명령어인 Thumb 명령어 세트[1] 이 적용되어[2] 1995년에 소개된 ARM7TDMI부터이다. 100MHz 속도에서 불과 6mW만 소모할 정도로 극단적인 저전력으로 설계된 이 제품은 고성능 저전력 마이크로컨트롤러의 새로운 기준을 세우면서 시장에서의 ARM사의 위치를 굳히게 된다[3][4].

그 후 ARM9, ARM10, ARM11로 CPU구조를 계속 발전시키면서 ARM의 시장 영역은 모바일 단말, PDA, 고성능 컨트롤러, DSP Codec으로 점차 확대되었으며 특히 2000년대 초반에서 중반까지 유행했던 임베디드 리눅스의 열풍을 타고 SoC계열의 제품이 시장에서 자리잡게 되었다[5][6].

ARM의 발전사에 있어서 두 번째 전기는 Cortex-A/R/M 제품군의 도입 시점에서 일어났다. 기존의 ARM사의 CPU구조 개발방식은 단순히 세대마다 성능과 기능을 향상시킨 후 동일 CPU구조에 MMU/MPU등의 메모리 유닛을 차등 조합하여 제품군을 나누는 방침을 유지했으나 Cortex 이후부터는 용도에 따라 동시에 여러 CPU구조를 개발하게 된다. 즉, 일반 OS상에서 실행되는 애플리케이션 실행능력에 중점을 둔 Cortex-A, Real-Time[7] 용도에 특화된 Cortex-R, 그리고 마이크로컨트롤로 시장을 타겟으로 한 Cortex-M으로 제품군을 분리하였으며 이후로는 각 제품군별로 상이한 구조의 CPU코어 제품 정책을 유지하게 된다.

ARM이 자사 CPU에 고성능의 A계열 라인업을 도입하는 바로 그 때, 스마트폰 시장이 본격적으로 활성화 되면서 ARM을 기반으로 하는 AP시장도 그에 발맞춰 성장하였고, 결국 ARM은 스마트폰용 CPU의 대명사로서 시장 지배적인 지위에 오르면서 일반인들에게도 유명해지게 되었다.

특히 Cortex 제품군이 도입되는 시점부터 ARM사의 제품 개발 템포도 이전과는 비교할 수 없을 정도로 빨라지는데 이전에는 2~3년마다 주요 CPU 코어를 1개 정도 발표하는데 그쳤지만 2004년 이후 2014년 시점까지 A계열 8종, R계열 3종, M계열에서 5종이 발표되면서 총 16종의 신형 코어가 개발된 셈이다. 거의 1년에 2종의 신제품이 소개된 셈.

예를 들어 2010년 기준으로 주로 사용되는 ARM11(ARMv6)이나 ARM Cortex-A8/9(ARMv7) CPU들은 동작클럭이 1GHz까지 도달했으며 이는 2000년대 초의 200MHz급 StrongARM(ARMv4기반)이나 2000년대 중반의 500Mhz급 ARM9(ARMv5기반)시리즈와 비교해보면 짧은 시간 안에 성능이 급증했음을 의미한다.

특히 고성능 제품군인 Cortex-A는 Cortex-A9 부터 고성능 지향 제품군에 걸맞도록 비순차적 명령어 처리를 지원한다[8].

2013년 6월 발표된 Cortex-A17은 처음 Cortex-A12로 개발을 시작했다가 중간에 이름이 A17로 변경되었다. Cortex-A17은 A12였던 초기에는 A9를 대체하는 미들레인지 라인업의 성격으로 출발하였으나 개발이 진행되면서 A9에 A53/A7/A15등에 들어간 기술을 최적화 하면서 오히려 성능적으로 A15 수준을 유지하면서 전성비를 향상시키고 결과적으로 A15의 후속 모델로 자리매김 하였다.
대표적인 특징으로 강화된 비순차적 처리[9], 캐시간의 데이터 라인의 상승, NEON유닛의 1.5배 성능 향상 등이 있다. 퀄컴의 Krait나 애플의 Swift와 비슷한 수준으로 여겨진다.

Cortex-A15의 다음 세대인 ARMv8[10] 기반 Cortex-A53(!!)과 Cortex-A57이 개발되었다. A53은 A9와 비슷한 성능을 가지지만 공정은 더 작은 Little 부문의 아키텍처고 A57은 크고 아름다운 성능이 좋은 big 부문의 아키텍처라고 한다. 자세한 사항은 이 쪽을 참고바람.

2015년 경부터는 big부문에는 Cortex-A57의 후속으로 성능 및 전력효율을 향상시킨 Cortex-A72가 출시되었고 LITTLE부문에는 Cortex-A53을 이어 성능을 최대한 유지하고 전력효율을 높인 Cortex-A35가 발표되었다.

주요 모바일 기기에 사용된 ARM 아키텍처의 대략적인 성능은 다음과 같다.

ARM 아키텍처 스펙 및 주요 채용기기 [11]
명령어 세트아키텍처 명칭성능주요 기기
ARMv6ARM111.25 DMIPS/MHz옵티머스 원, 옴니아 II, 아이폰 오리지널, 아이폰 3G
ARMv7-ACortex-A51.6 DMIPS/MHz갤럭시 M 스타일
Cortex-A71.9 DMIPS/MHz갤럭시 S4의 LITTLE 코어, Allwinner A31/A20 등
Cortex-A82.0 DMIPS/MHz갤럭시 S, 아이폰 3GS, 아이폰 4
Scorpion1.9/2.1[12] DMIPS/MHz옵티머스 Z, 베가 X, 베가 레이서, 옵티머스 LTE
Cortex-A92.5 DMIPS/MHz갤럭시 S II, 아이폰 4, 아이폰 4S, 옵티머스 2X
Cortex-A12/17[13]3.0 DMIPS/MHz
Krait3.1/3.39[14] DMIPS/MHz옵티머스 G, 베가 R3
Swift3.5 DMIPS/MHz아이폰 5
Cortex-A153.5~4.01 DMIPS/MHz갤럭시 S4의 big 코어, 넥서스 10
ARMv8-A
(64Bit)
Cyclone아이폰 5s, 아이폰 6, 아이폰 6 Plus
Cortex-A35?? DMIPS/MHz미출시
Cortex-A532.3 DMIPS/MHz갤럭시 S6의 LITTLE 코어, 갤럭시 그랜드 맥스
Cortex-A574.1~4.76 DMIPS/MHz갤럭시 S6(엑시노스7420)의 big 코어
Cortex-A726.3~7.35 DMIPS/MHz미출시
Twister아이폰 6s, 아이폰 6s Plus
Mongoose?? DMIPS/MHz갤럭시 S7, 갤럭시 S7 엣지

Cortex-A5와 Cortex-A7는 성능보다는 저전력에 중점을 둔 모델로 성능은 Cortex-A7의 경우 Cortex-A8보다 조금 낫고 A9보다는 떨어진다. Cortex-A5는 현재의 스마트폰 업계가 워낙 성능 위주로 가서인지 소수의 저가형 기기에만 쓰이는 등 선진국 시장에서는 외면받은 상태. 하지만 퀄컴의 MSM 시리즈 중 MSM72xxa라는 공정 및 아키텍처가 개선된 저가 시리즈에 A5를 사용했으며 신 S4 라인업 중에서도 S4 play가 1.2G의 A5코어를 쓴다. 그리고 한국업체인 텔레칩스에서 A5듀얼코어의 신제품을 내놓았다. [15][16]

Cortex-A7은 저전력 중심의 CPU로, 구조가 간단하고 멀티코어로 묶으면 의외로 성능도 괜찮아 중국제 태블릿 컴퓨터 등에서 A7 쿼드코어를 사용하는 경우가 늘어나고 있다. 현재 Big.LITTLE 구조의 유일한 AP인 엑시노스 54x0 계열에서도 A15 쿼드코어를 Big, A7 쿼드코어를 Little코어로 각기 활용하고 있다.

그런데 가격 대비 준수한 성능(A8과 A9사이)과 비용상의 이점(코어 다이가 상당히 작다)으로 인해 전력소모가 낮아서 A7만으로 SoC를 구성하는 경우도 늘고 있는 상황. 삼성의 엑시노스 3000번대 제품이나 퀄컴의 스냅드레곤400의 하위 라인이나 저가 칩의 대명사 MTK의 상위라인업, 그리고 중국 박스칩의 대표주자인 Allwinner 등 여러 회사에서 주력으로 많이 사용되고 있다.

3 특징

저전력 고효율 CPU의 대명사.
모바일 CPU의 부동의 원탑.

위에 언급한 두 가지 특징은 ARM사의 사업구조에 깔려 있는 두 가지 기조가 가져온 결과에 가깝다.

첫째, ARM사는 90년대 초부터 x86/MIPS/Power 등과 같은 고성능을 지향했던 경쟁업체들과는 다르게 일찌감치 저전력/고효율을 목표로 한 기술시장에 뛰어들었다. 현재 ARM사의 CPU가 저전력 고효율의 대명사가 된 이유는 이러한 수십년전의 결정에 기인한 바가 크다.

둘째, ARM사는 90년 당시 대세였던 개발과 생산, 판매를 동시에 하는 IDM업체의 틀을 벗어나서 훨씬 모험적이었던 CPU설계를 파는 사업모델을 채택하였다. 그리고 그 이후로 IT산업의 대세가 단일 칩에 시스템의 기능을 집적하는 SoC(System on a Chip)로 방향을 잡으면서 각 SoC 제작 업체들은 그에 적합한 CPU설계를 찾게 되었고 ARM의 사업모델이 그러한 수요에 정확히 부응하면서 ARM의 사업은 확대일로에 들어서게 되었으며, 결국 2010년도 이후로 SoC의 끝판왕이라고 할 수 있는 스마트폰용 AP시장이 개화하면서 SoC업계에서의 주도적인 지위를 가지고 있었던 ARM사의 CPU제품이 결정적인 주도권을 쥐는 계기가 되었다.

3.1 명령어 세트

약간 변형된 RISC 명령어 구조로 1985년에 처음 개발되었다. 즉 의외로 초기 RISC 개발사와 역사를 같이 할 정도로 오래된 구조이다.
대체적인 특징은 일반적 RISC와 유사하나 다음과 같은 부분은 ARM 고유의 특징이다.

  • 레지스터 뱅크 구조 : 고속 인터럽트 처리 모드에서 독자적으로 쓸 수 있는 레지스터 뱅크가 있다. 이 특징은 인터럽트를 빠르게 처리하는데 유효하다.
  • 조건부 실행 플래그 : 조건분기 명령어와 결합하여 짧은 조건분기 처리에 유효한 특징이다.
  • SP(스택포인터), LR(링크레지스터), PC(프로그램 카운터)가 일반레지스터에 포함되어 있다. 이때문에 예외처리가 타 CPU에 비해 독특해지게 된다.
  • 뱅크당 16개의 레지스터:통상 RISC 구조의 경우 32개 혹은 그 이상의 일반 레지스터가 있는 경우가 많으나 ARM은 다소 적은 16개의 레지스터만 있다. 게다가 위에서 언급한 SP/LR/PC가 특수목적 레지스터이므로 실제로 사용 가능한 레지스터 숫자는 13개이다.
  • 배럴 시프트 기능 : 명령어 내에서 배럴 시프트 기능을 지정할 수 있다. 타 CPU의 명령어 세트에서는 명령어 두 개로 처리될 내용을 하나의 명령어로 처리할 수 있다.
  • 다중 로드/스토어 명령 : 단일 명령으로 여러 레지스터의 로드/스토어를 동시에 제어할 수 있다. 단일 명령어를 1사이클에 처리해야 한다는 RISC 명령어의 원칙에 위배되는 대표적인 명령어이지만 코드사이즈 절감과 코드디코딩 부하 경감(그리고 그로 인한 전력절감)에 도움이 된다.
  • Thumb 16비트 명령어 세트 : ARM이 고성능 컨트롤러 시장을 석권하는데 가장 크게 일조한 특징이자 ARM의 오늘날을 있게 한 특징으로서 일반적인 32비트 크기의 ARM명령어와는 아예 별도의 16비트 크기의 명령어 세트을 따로 가지고 있다[17][18]. 사실 메모리 서브시스템의 속도가 낮거나 실행속도가 별 문제되지 않는 코드의 경우 코드 바이너리 크기를 줄이는 게 유리하기 때문에 고성능 위주의 Cortex-A가 적용된 시스템에서조차도 연산성능에 민감하지 않은 코드들은 Thumb로 컴파일되었을 정도.

다만 위의 특징들은 새로 도입되는 ARMv8의 64비트 명령어 세트에서는 상당 부분 사라지게 되었다. 이는 저러한 특징들이 도입되는 1985년도에는 나름대로 합리적인 이유가 있었으나[19] 기술의 발전으로 인해 굳이 명령어 수준에서의 복잡성을 늘려놓을 필요가 없게 되었기 때문.

통상 MMU가 내장된 제품군(대표적인 예가 Cortex-A계열)들은 리눅스나 유닉스 계열, 그리고 윈도우CE계열의 지원을 받는다.
반면 MMU가 아닌 보다 단순한 MPU가 내장된 제품군(대표적으로 Cortex-R)은 주로 Real-time OS(RTOS)의 지원을 받는 경우가 많다.
MPU도 없는 보다 작은 규모의 마이크로컨트롤러 대상 제품군(대표적으로 Cortex-M)들은 OS의 지원이 필요 없거나, 스케쥴러 수준의 단순한 OS의 지원을 받는 경우가 많으며 이러한 제품들은 캐시도 없고 동작속도도 수십MHz에 불과한 경우가 대다수.

2014년경부터 ARMv8A-AArch64 명령어 세트이 적용된 Cortex-A50계열 프로세서가 시장에 출시되고 이어서 본격적으로 64비트의 시대를 열게 되었다. 이미 Cortex-A15 CPU에 적용된 RAM의 크기가 32비트 메모리 공간의 한계인 4GB에 근접하는 3GB까지 늘어난 상황이기 때문에 Cortex-A15 이후의 Cortex-A에 64비트 구조를 적용하는 것은 시기적절한 선택. 다만 64비트 CPU를 다루는 명령어라고 해도 명령어의 워드 크기는 여전히 32비트이므로 명령어 세트 구조 자체는 크게 복잡해지지는 않는다[20].

3.2 전력소모

소모 전력은 고성능 위주의 Cortex-A계열의 경우도 코어당 수백mW, Coretx-M계열은 말 그대로 '남들 대기전력 수준이 ARM의 동작전력' 인 경우도 흔하다. 범용 CPU의 대표격인 x86이 대체로 20~100W 정도의 전력소모를 보이는 것에 비한다면... 한마디로 노는 물이 다르다. 다만 Cortex-A제품군 중 고성능 제품에 한정하여 타블렛용 마켓에서 저전력 x86 제품들과의 전력소모 수준이 겹치는 상황이 벌어지고 있다. 상세한 사항은 아래의 x86계열과의 비교를 참조.

ARM사에서는 Cortex-A 제품군의 전력소모 영역을 Entry/Midrange/Premium 별로 코어당 각각 150mW/450mW/750mW 정도를 목표로 잡고 있다. 프리미엄급의 경우 보통 4코어급 제품으로 출시되는 경우가 많으므로 ARM코어 자체의 최대 전력소모량은 3W 정도로 잡아도 무방. 단 이는 열설계전력인 TDP나 인텔이 주장하는 상황설계전력 SDP보다 훨씬 높은 값이고 해당 코어를 제품화한 AP의 경우에는 메모리컨트롤러와 GPU 등에서 소모되는 전력이 추가로 포함되므로 섣부른 비교는 금물.

3.3 성능

업계에서의 ARM프로세서의 성능에 대한 평가는 전통적으로 전력당 성능비는 쩌는데 성능 자체는 별볼일 없는 CPU였다. 따라서 성능이 필요한 경우에는 ARM보다는 MIPS나 MPC계열 제품 중에서 고성능 제품군을 고르는 경우가 많았다. 다만 이러한 상황은 그동안 ARM이 전력소모 상한을 정해놓고 그 범위 내에서 성능을 추구하는 개발방향을 취하면서 벌어졌던 당연한 경우에 가깝다.
사실 ARM을 주로 사용했던 업계 환경은 성능에 대해서는 어느정도 무관심했던 분위기 때문에 성능지표에 대한 계측이나 발표도 크게 관심을 받지 못했다.

예를 들어 ARM의 경우 성능에 대한 평가는 주로 DMIPS/MHz 로 표기되어 있는데, 이는 Dhrystone 명령이 해당 단위당 몇 개 처리되느냐를 의미한다.
이는 같은 명령어를 사용하는 CPU 사이에서만 비교가 가능한 지표이지[21] 다른 명령어 구조 기반의 CPU와(예를 들어, x86 vs ARM등...) 1:1로 매칭이 가능한 지표가 아니다[22][23].
예를 들면 거의 같은 DIMPS를 가지는 ARM Cortex A9(2.5Dmips/MHz)과 x86 아톰 N270(2.4DMIPS/MHz) 을 비교시, 각각 1.6Ghz 에서, 전자는 약 60~80MFLOPS, 아톰은 약 150~200MFLOPS가 나온다.[24]
Dhrystone의 원래 개발자도 "요즘(1999년 당시를 말한다.) 컴퓨터의 성능을 평가하기에는 유용하지 않다"라고 EDN Magazine에서 언급한적이 있을 정도니 시대에 뒤떨어져도 한참 뒤떨어진 구닥다리 성능지표인 셈.

이러한 성능 측정상의 문제점들은 2014년 기준으로 몇 가지 변화된 부분이 있는데 우선 모바일 산업이 급격하게 발전하면서 Geekbench나 Antutu, CineBench같은 모바일용 벤치마크 프로그램들이 시장에 도입 되면서 해결되는 과정을 밟고 있다.그 와중에서 정작 산업계 표준으로 제정하려고 했던 CoreMark는 잊혀졌지만

또한 모바일 AP업계들이 경쟁적으로 저전력-고성능 CPU코어를 개발하면서 ARM제품군의 절대성능 그리고 그에 걸맞는 전력소모 자체가 급격하게 올라가는 중이고 전성비에 초점을 맞춘 Cortex-A7/Cortex-A53/Cortex-A17 제품군들 역시 활발하게 개발되면서 성능과 전성비 영역 모두를 아우르는 모습을 보여주고 있다. 즉 제품군이 성능 위주와 전성비 위주의 제품으로 분화되고 있는 모양새.

3.4 경쟁제품

3.4.1 MIPS

ARM과 MIPS 모두 RISC구조 CPU 아키텍처의 대표주자로 80년대 중반 유사한 시기에 시장에 첫 선을 보였으나 90년대 이후로 MIPS는 하이엔드 제품 개발에 집중하는 동안 ARM은 저전력 구조의 SoC 및 IP 라이선스로 사업방향을 바꾸면서 큰 접점은 없는 상태였다.
하지만 MIPS측이 2000년대 전후로 인텔 아이태니엄의 시장 진입에 때맞춰 하이엔드 제품 개발에서 철수하면서 ARM과 유사한 IP 라이선스 사업으로 전환하면서 직접적인 경쟁상대가 된다.
ARM 대비 성능상의 우위로 인해 상대적으로 고성능이 필요하던 멀티미디어 관련 SoC등에 많이 채택되었으나 이후 ARM에 의해 시장을 뺏기더니 2010년도 이후로는 사실상 의미 없는 수준의 시장점유율을 보여주는 상황.

3.4.2 x86

처음 ARM이 출시되었던 1980년대 중반 시점에서는 양 제품은 PC시장을 타겟으로 경쟁하였지만 이 시기의 경쟁은 알려진 바와 같이 x86의 완승으로 끝났다.

이후 ARM이 PC를 제외한 SoC 위주로 사업을 영위하게 되면서 근본적으로 차지하는 시장영역이 다른 두 제품이었지만 ARM제품들의 성능이 급격히 향상되고 x86 역시 모바일과 타블렛을 타겟으로 하는 저전력 SoC 제품들이 개발되면서 경쟁이 본격화되었다. ARM계열은 안드로이드OS의 급성장에 힘입어 시장을 선점할 수 있었던 상황.

2010년 초반부터 x86 진영의 인텔 측에서도 아톰 계열 제품을 필두로 모바일과 태블릿에 적합한 저전력 제품을 개발하려는 노력이 지속되고, ARM계열 제품도 Cortex-A15에서는 성능 확보에 중점을 두고 개발되면서 양 제품의 전력소모 갭은 거의 없어진 실정이다. 특히 2012년 4월에 출시된 메드필드부터는 ARM과도 충분히 경쟁할 만한 전성비를 보여준다. 다만 안팔려서 문제. 이는 어지간히 설계가 막장으로 흐르지 않는 이상 결국 전력소모와 성능은 비슷하게 갈 수 밖에 없다는 것을 보여주는 좋은 예.

2013년 기준으로 인텔의 신형 아톰계열 제품인 베이트레일 4코어가 SDP기준 2W에 터보클럭시의 소비전력 4W, 그리고 성능면에 있어서 기존의 x86 코어 아키텍처에 준하는 성능을 보여주면서 전성비와 성능 양쪽 모두에서 괄목할만한 발전을 보여주고 있으며, 실제로도 전성비 상 ARM과 큰 차이를 보이지 않는 상황이고 인텔측에서도 ARM과 대응하기 위해 저가로 프로세서를 공급하고 있으나 아직도 판매량에서는 심히 후달린다.

다만 ARM 역시 코어설계나 명령어 세트 라이센스 기반의 사업모델 경우 많은 공급업체들이 다양한 특성을 가진 제품들을 개발하고 양산하기 때문에 ARM생태계에서 사업을 진행하려는 업체들은 해당 생태계 내에서 자신에게 적합한 제품을 찾을 확률이 높고 여러 공급업체의 존재로 인해 가격협상력을 확보할 수 있으며 특정 업체의 제품에 문제가 생기더라도 금방 다른 대체재를 찾기 쉽게 된다.[25] 즉, 보다 저렴하고 안정적이면서 최적화된 사업을 하는 데 한결 유리한 조건을 가지고 있기 때문에 미디어 소비기기에서는 여전히 ARM이 우위를 쥐고 있다.

2014년도의 진행 상황.

  • 모바일 시장을 타겟으로 하여 설계된 최초의 제품군인 베이트레일 계열 제품이 시장에서 선을 보이기 시작했다.
  • 하지만 성능이 기존에 알려진 것보다 뛰어나지 않다. 베이트레일이 채택된 넥서스 플레이어에서의 GeekBench 점수는 ARM의 프리미엄급 제품군 대비 절반 수준에 불과하다. 결국 2014년 기간동안의 모바일AP의 성능 경쟁은 애플-엑시노스-테그라 의 3파전으로 전개되는 양상을 보이게 되었다.
  • 또한 발열 문제가 예상했던 것보다 영 안좋다. 때문에 스마트폰용 베이트레일은 2014년 동안 출시된 경우가 드물었고 타블렛용 버전인 무어필드 역시 발열문제를 겪고 있다.
  • 2014년 출하량 4000만대 목표를 달성하기 위해 주로 중국 화이트박스 업체들을 대상으로 무상에 가까운 가격으로 출시하면서 인텔의 관련 사업부의 적자 규모가 천문학적인 숫자로 불어났다. 그럼에도 불구하고 4000만대 목표 달성이 불투명한 상황. 사실 4000만대 출시에 성공하더라도 전체 모바일 AP SoC시장의 3%에 불과할 정도의 규모이다. 결국 2014년도 목표치는 2015년도에 4500만대로 목표를 초과달성한 것으로 확인되었다.
  • 인텔의 14nm공정 이전이 1년 넘게 지연되면서 베이트레일의 후속작인 체리트레일 역시 2015년 중반으로 1년 정도 지연되었다. 하지만 ARM진영의 탑-티어 업체들은 이미 2014년말에 14nm 및 20nm공정으로 제품 양산을 시작하여 공정경쟁에서도 열세에 처하게 되었다.

결론적으로 2014년 기준 모바일 분야에서의 ARM과 x86간 경쟁은 x86의 미미하거나 혹은 업계의 상식을 벗어나는 행동으로 말미암아 ARM의 부전승으로 끝난 상황이며 x86은 전성비나 성능, 경제성 중 어느 하나도 제대로 잡는 데 실패하고 말았다.

2015년도의 진행상황.
2015년도 내내 ARM vs x86의 대결 구도는 성능상의 우열을 떠나 관심 자체를 못받고 있는 실정이다. 오히려 논란의 핵심은 스냅드래곤810과 엑시노스7420의 대결구도와 스냅드래곤810의 화룡 논란, 그리고 2015년 시점에서 몽구스 라는 코드명으로 알려진 엑시노스8890의 성능예상치에 세간의 이목이 집중되어 버렸다. 더불어 애플의 A8역시 뛰어난 성능을 자랑하며 업계에서의 존재감을 여전히 유지하고 있다.
반면 2015년에 출시한 체리트레일은 22nm에서 14nm로 제조공정이 향상되었는데도 불구하고 제자리클럭에 머물면서 성능경쟁에서도 뒤쳐지고 무엇보다 SoC 내에 통합된 주변장치들의 스펙에서도 밀리고 있다. 특히 GPU와 Disk I/O부분.
2015년 기준으로 모바일 SoC의 라인업을 X3/5/7 시리즈로 명칭을 변경하고 CPU설계 IP를 중국 락칩사와 공유하여 SoFIA라는 제품군을 신설하였다. 해당 제품은 락칩사가 TSMC 28nm공정을 이용하여 만들 예정.
추가로 2015년 1월 6일 CES 2015에서 인텔은 쿼크 SE를 발표하였다. 현재 밝혀진 스펙 상으로는 ARM의 Cortex-M에 해당하는 제품으로 추정되며 SE제품의 발표로 인텔은 ARM의 Cortex-A/R/M 라인업에 부족하게나마[26] 대응하는 체계를 완성하게 되었다. 다만 쿼크의 제품 특성상 모바일 영역과는 큰 관계가 없는 제품인 것은 사실이다.

2016년도의 진행상황.
2016년에는 ARM진영의 대표주자인 스냅드래곤 820과 엑시노스 8890 모두 걸출한 성능을 안정적으로 보여주면서 플래그십 급 제품으로서의 위상을 확고히 다진 반면 인텔의 x3/5/7 시리즈는 하이엔드 스마트폰 시장으로의 진출에 아예 실패하면서 양자 사이에 성능경쟁 자체가 성립될 수 없는 상황이 계속 이어지고 있다.

3.4.2.1 x86의 패배 요인

x86이 모바일 SoC시장에서 실패한 요인은 여러 가지를 들 수 있겠지만 크게 다음과 같이 정리할 수 있다.

  • 시장 선점에 실패했다. 모바일 SoC시장의 대세가 스마트폰용 AP로 쏠리는 상황에서 처음부터 SoC를 핵심사업으로 유지했던 ARM이 선점효과를 누릴 수 밖에 없었다. ARM이 선점효과를 누리기 시작하자 소프트웨어 호환성도 ARM 명령어 세트를 중심으로 흘러갔고 후발주자로 진입한 x86은 호환성을 스스로 해결하거나 OS 개발사에서 해결해주기만을 기다려야만 했다.
  • 개발속도에서 비교가 안 될 정도로 차이가 벌어졌다. x86의 대표주자인 인텔은 틱-톡 전략으로 공정 미세화와 아키텍처 발을 번갈아가며 하는데, 문제는 ARM진영의 주요 업체들간의 경쟁이 격화되면서 12개월 주기로 신규 아키텍처와 신규 미세공정 도입이 이루어졌는데 비해 인텔은 오히려 미세공정 도입속도가 늦어지고 아키텍처 개발까지 늦어졌다. 다만 이것은 모바일 기준으로 PC 기준에서 보면 그 어떤 파운드리보다 미세 공정 도입 속도가 빠르다.
  • 형편 없다 못해 이상하기 짝이 없는 재정운용 및 고객사 접근 방식도 빼놓을 수 없다. 단순히 연간 출하량 4000만대를 달성하기 위해 리베이트를 무한정 풀어버린다는 전략은 장기적으로 고객사의 신뢰도 얻을 수 없을 뿐만 아니라 단기적으로 막대한 재정적 손실로 인해 투자자들의 신뢰도 얻어낼 수 없는 방법이었다. 더욱 나쁜 것은 그러한 손실을 감추기 위해서 사업부 재편이라는 악수까지 뒀다는 것인데 표면적으로 재정손실을 희석시킬 수는 있어도 재정정보가 불투명해 지면서 관련 리스크를 통합된 사업부 전체에 뿌리는 역할을 하였다. 그리고 그러한 무리수를 통해 얻은 4500만대의 x86 기반 제품의 점유율도 모바일 전체를 따지면 극히 미미한 점유율이었을 따름이다. 덕분에 싼 중국산 태블릿들이 우후죽순 나오긴했지만
  • 장기적인 사업 전망과 추진력의 부족. 후발업체로서 기존 시장에 진입할 때에는 한순간에 판세를 엎으려는 성급함 보다는 오히려 지속적인 상품성 향상과 고객사와의 관계 확대, 시장 니즈에 대한 정보 수집과 피드백, 개발능력의 향상 등 중장기적인 접근방식을 꾸준한 추진력으로 밀고 나가면서 매출과 이익, 재투자의 선순환 관계를 점진적으로 확대해 나가는 자세가 필요하다. 그렇게 비즈니스를 유지하다가 판세를 엎을 사업적 기회가 찾아왔을 때 전사적 역량을 동원하여 승부수를 던지는 것이지 기회와 역량도 없는 상태에서 판세부터 흔들어 보려는 시도는 반드시 실패할 수 밖에 없다.
  • 종합적으로 x86의 실패는 x86의 종주업체 인텔의 사업적 판단력 부재와 역량 부족에 기인한다. 판단력 부족으로 시장 선점에 실패했을 뿐만 아니라 개발속도 내지는 역량이 뒤떨어진다는 것을 개선하기는 고사하고 인정하는 모습조차도 보이지 못했고, 뭣보다도 단기적 할당목표와 리베이트 같은 이상하기 짝이 없는 방향성만 보여준 시점에서 실패는 충분히 예견할 수 있었던 것이다.

4 용도에 따른 제품군

2016년 현재 거의 모든 스마트폰에 ARM기반 AP가 들어가며, 스마트폰 외에도 PDA, 닌텐도 GBA, 닌텐도 DS, 닌텐도 3DO, 게임파크GP32 게임파크홀딩스의 GP2X, 닌텐도 3DSPS VITA,캐논 파워샷 시리즈, 태블릿 컴퓨터아이패드, 갤럭시 탭 등 거의 모든 임베디드 시스템에 사용되고 있다. 그야말로 임베디드의 제왕. 심지어 메모리스틱에서도 쓰인다.

64비트 기반의 ARMv8의 도입이 가시화 되면서 서버시장 진입을 위한 발걸음이 빨라지고 있다. 특히 삼성전자 S.LSI, 브로드컴 등을 위시하여 서버용 64비트 전용 아키텍처를 개발하는 업체들이 우후죽순처럼 올라오고 있고 서버 수요업체인 구글이나 페이스북 등도 ARMv8에 대해 자사 소프트웨어를 개발하려는 정황이 계속 포착되고 있으며, Cortex-A57을 사용한 AMD의 옵테론 A1100 시리즈가 발매되었다.

현재 ARM의 최신 라인업인 Cortex 시리즈를 세분화해 보면 다음과 같다.

엔트리 레벨부터 서버급까지 다양한 플렛폼에서의 지원을 목적으로 만들어진 제품군으로 ARM의 주력 상품군이다. 스마트폰,TV등의 멀티미디어 기기나 아래의 M/R제품군보다 많은량의 리소스를 처리해야 하는 임베디드 기기에서 주로 사용된다. 자세한 내용은 항목 참조. A는 Application이다.

  • Cortex-R

RTOS 기반으로 작동하는 제품을 위한 라인업, R은 말 그대로 Real-time이며 MPU(메모리보호유닛)이나 TCM(Tight-Coupled memory)등 RTOS에서 신뢰성 높은 동작을 위한 장치들을 포함하고 있다. Cortex-A보다 대체로 낮은 성능을 가지고 있지만 R7같은 모델은 일부 A계열 제품을 능가하는 성능을 가지고 있기도 하다.
주로 3G/LTE 모뎀이나 RTOS기반의 스탠드-얼론 제품, DSP등의 용도로 사용된다.

이름 그대로 MCU, 즉 Microcontroller unit을 위한 라인업이다. 2010년도까지는 가격이 싼 8bit/16bit급 MCU에 매출이나 생산 규모에서 가격 문제로 뒤쳐졌으나 그 이후 일부 Cortex-M계열 제품의 평균판매가격(ASP)가 1달러 벽을 돌파한 것으로 기점으로 결국 매출 기준으로 32bit급 MCU가 전체 MCU시장에서 1등 자리를 차지하면서 32bit급 MCU코어가 주력인 ARM의 Cortex-M이 MCU시장에서 주도적 위치를 차지하게 되었다#.

5 개발환경 구축

당연하지만 아직 현실적으로 성능이 우수한 ARM기반 빌드 머신을 구축할 방법이 없기 때문에 사실상 거의 모든 프로젝트가 Cross-compile 환경에서 개발된다. 구축 자체는 가능하지만 Cross-compile 환경의 비효율보다 절대적 성능의 격차가 더 크기 때문.Cross-compile 환경에서 3분 걸릴 소스가 ARM host에서 빌드할 때 3시간도 넘게 걸리고, 컴퓨터의 가격이 프로그래머의 1개월치 인건비 수준이라 사실상 개발비용을 절감하는 것은 인건비를 줄이는게 최선이다. 과거야 연산성능이 좋은 컴퓨터가 매우 비싸서 비효율성을 용납하지 않았지만 지금은 컴퓨터보다 인건비가 비싸므로 사람을 효율적으로 굴리기 위해서 컴퓨터가 더 고생해도 된다.

Linux 계열 빌드 머신으로 개발할 때에는 당연히 GCC toolchain[27]을 사용하는 경우가 대다수이고, 윈도우 환경에서는 ARM에서 판매하는 ADS, RVDS 개발환경을 사용하거나 cygwin 위에서 GCC툴체인을 돌리는 경우도 있다. 최근에는 ARM 기반 컨트롤러 제품을 대상으로 하는 Keil사의 개발환경도 사용되는 추세.

대표적인 스마트폰 플랫폼인 안드로이드의 경우 프로젝트 소스 안에 빌드에 맞는 GCC toolchain을 제공하므로 별도의 toolchain을 구축할 필요가 없다. 사실 엄밀히 말하면, 보통의 안드로이드 App은 Dalvik이라는 JAVA 가상 머신 위에서 돌아가므로 기계어 코드를 만들 필요가 거의 없고, 리눅스 커널이나 안드로이드 OS 자체를 제작할 때, 혹은 네이티브 코드를 만들 때에나 리눅스 환경에서 크로스컴파일을 하면 된다.

6 대표적인 라이선스 제조사

ARM은 팹리스 업체이므로 아키텍처 개발만 하며, 직접 제조는 거의 하지 않기 때문에, 이 아키텍처를 라이선스 생산하는 CPU의 아키텍처를 의미하는 말로 쓰인다.

6.1 대표적인 모델

모델명은 모두 라이센스 생산명이다.
MP3P용 탑재 ARM 모델은 이쪽에서 확인.

  • XScale 시리즈 : 과거에는 인텔이 지금은 Marvell이 만드는 SoC이다. 현재 64비트를 지원하는 최신 쿼드코어 SoC인 PXA 1908이랑 옥타코어인 PXA1936을 제조하고 있다. 또한 이전에는 갤럭시 탭 3 7.0, 갤럭시 S III미니 밸류 에디션 사양으로도 썼다.
  • 삼성전자 SCXXXXXX시리즈 : 삼성에서 제조한 SoC이다. HP사의 제품에 탑재 되었다. 멀티미디어 성능의 경우에는 클럭대비 성능이 훌륭하다고 알려져있다. 대체로 가격이 싼 편이라 보급형에 많이 들어간다. 국내 전자사전인 누리안 Z1도 이 SoC가 탑재되어있다.
  • Texas Instruments DaVinci 시리즈 / OMAP 시리즈 : 원래는 캠코더디지털 카메라 등에서 비디오 인코딩&디코딩 기능과 함께 내장 프로세서 기능을 동시에 수행하기 위하여 개발된 칩셋으로, 코덱과 GPU 역할을 겸하는 DSP 부분과 ARM에 기반한 CPU부분이 통합된 듀얼코어 구조의 칩셋이다. 국내에는 맥시안의 일부 PMP에 탑재되어 잘 알려진 이 칩셋은, 멀티미디어 코덱을 칩셋 자체에 탑재한다는 개념을 처음 개발한 칩셋으로서, 동영상을 하드웨어 인코딩 및 디코딩이 가능하기 때문에 멀티미디어 재생에서 뛰어난 성능을 보여주었다. 하지만 SoC 내부에 탑재된 CPU코어의 성능은 떨어진다는 평이었다. 현재는 OMAP 시리즈로 이어지고 있다.
2013년부터 모바일 AP사업은 손을 떼고 기타 임베디드 및 차량용 AP에 영업력을 집중하고 있다.

아래 모델들은 2014년말을 기준으로 작성되었으며, 안드로이드아이폰이든 바다 폰이든 윈도폰이든 옴니아 시리즈를 제외한 각 회사의 대표 스마트폰에 사용 중이다.

  • 삼성전자 엑시노스 시리즈 : 아이폰 3GS에 탑재되었던 허밍버드로 시작하여, 후속 SoC로 출시된 엑시노스 4210에서부터 '엑시노스'라는 브랜드를 적용하기 시작했다. 이후 최고의 AP로 생각되었으나, 2012년 스냅드래곤의 부상으로 주춤했고 2013년과 2014년에는 스냅드래곤에 완연히 밀리는 모습을 보이고 있다. 이후 2014년 하반기에 출시된 엑시노스 5430과 5433이 시장에서 좋은 스타트를 끊은 상황으로 2015년 실적이 기대되는 중.
엑시노스 7420이 탑재된 갤럭시 S6가 발열 문제로 병크를 일으킨 스냅드레기810을 뛰어넘는 벤치점수를 보여주고 있다.[1]
  • 퀄컴 스냅드래곤 : 다수의 라인업이 레퍼런스가 아니라 커스텀이다. 성능으론 메이저 4대 AP중에서 최악으로 쳤지만(Cortex-A9출시 이후로), 통신 칩까지 원칩이 가능한 장점 때문에 많이 사용되었다. 그러나 2012년 Krait 코어를 내면서 듀얼코어 임에도 불구하고 Cortex-A9 기반 쿼드코어와 비슷한 성능을 보여주며 스냅드레기라는 인식을 깨부쉈다. 이후 차근차근 후속 제품을 준비하고 있다. 잠고로 이쪽은 스콜피온부터 256-bit의 NEON SIMD를 장착한다. 이는 ARM의 기존 SIMD가 128bit 라는것에 비교하면, 부동소수점 연산에서의 강점이다. 2014년도에도 시장 지배적인 위치를 점유하고 있으나 2014년말 기준 최신작인 스냅드래곤 810의 제품화에 문제가 있다고 알려져 있다.
2015년 3월 기준 MWC에서 스냅드래곤 810을 탑재한 HTC M9이 발표되었다. 스냅드래곤 사는 발열문제가 해결되었다고는 하는데, 벤치마크 도중 과열로 벤치마크가 중단되는 현상이 있었다고 한다. 화룡이여 날아올라라
다음 크라이요(Kryo) 아키텍처 세대인 616, 620, 625/629, 815, 820 제품군은 삼성에게 위탁생산하여 14nm 공정으로 생산된다. 생산량을 위하여 TSMC의 16nm 공정도 주문시 선택 가능하다. 리소그래피가 낮아지는 만큼 전성비와 발열이 낮아지겠지만 그래봤자 화룡
  • NVIDIA Tegra : NEON SIMD 유닛을 잘라내었기 때문에 동급 메이져 4대 AP중 가장 다이사이즈가 작다. 덕분에 동영상 H/W 가속 부분은 고자 급이 되었다.
GF7000대의 아키텍처 계열로 추정되는 그래픽코어를 사용하며, 게임한해 다른 AP에 비해 막강함을 보이며 Tegra Zone에 등록된 앱의 특수효과를 타 AP에 비해 화려하게 볼수 있는 장점이 있다. Tegra 3 부터는 NVIDIA도 NEON SIMD 유닛을 추가했다. 커널지원이 매우 빈약하며, 소스공개에도 폐쇄적이기 때문에 여러모로 욕을 들었다.테구라 엔비디아 뽁유!![30] 이상은 Tegra 2 시절 이야기. Tegra 3 이후는 제법 좋아졌으나, 괜히 테구라 라고 하는게 아니다. 넥서스 7의 테그라 3세대 이후의 테그라가 사용된 물건은 손에 꼽을수준.
2014년도에 Tegra4가 출시되면서 기존의 테구라라는 이미지를 떨쳐내고 가장 뛰어난 성능의 AP중 하나로 취급받는 중.
  • 프리스케일 I.MX5/6 시리즈 등을 출시하고는 있는데 이 제품은 주로 모바일용이 아닌 차량/임베디드용으로 기획되었다. 최신 AP에 들어간 ARM코어도 Cortex-A9라서 성능경쟁에서는 두발짝 밀려난 상황.
  • 텔레칩스 TCC88XX 시리즈 - 진저브레드 및 허니콤 지원을 위한 시리즈. Cortex-A8가 적용되었다. GPU는 Mali-200 (엑시노스에 들어가는 Mali-400의 2세대전 모델)
Cortex-A5 MP2 코어도 출시되었다. 전력소모 면에서는 이점이 있을지 모르나, Cortex-A5의 성능은, Cortex-A9의 60%정도 밖에 안된다.
  • 애플 A 시리즈 A6 - 아이폰/아이패드용. ARM에 라이센스를 받아 재설계한 최초의 모델(생산은 삼성전자)로 Cortex-A9와 A15의 중간 수준에 해당하는 커스텀 계열로 보고 있다.요약기사 CNET기사(A6 제작과정) 아이폰 초기부터 PA semi라는 PPC계열 AP 개발 관련 회사를 인수하며 지속적으로 개발중이었다. 2014년 기준으로 A8의 수탁생산 업체가 TSMC로 변경되면서 기존에 애플 A시리즈를 독점 생산하던 삼성 시스템LSI사업부가 큰 타격을 받게 되었다.
  • ST-에릭슨 NovaThor(노바 토르) - 소니 모바일의 엑스페리아 P, 삼성전자의 갤럭시 에이스 2, 갤럭시 3 미니 등에 사용되었다. 주 모델은 NovaThor U8500 로 Cortex-A9 기반 듀얼코어. 차기 모델로 Cortex-A15 기반 듀얼코어도 예정중이나 2012년 12월경에 AP사업철수 얘기가 나오다가 결국 2013년에 철수.
  • 미디어텍 MTXXXX : 대만제 칩셋이며, 가격이 저렴하다는 특징으로 중국제 태블릿 컴퓨터에 많이 사용되고 있다. 물론, 밑에 나열된 저가형 칩셋과 달리 기본 성능도 탄탄하다는 큰 장점이 있다. 통신칩 까지 들어갈수 있다는 장점 때문에 패블릿이나, 갤럭시 탭 과 같은 몬스터폰 종류에도 많이 사용되고 있다.

그 외 ARM코어를 탑재한 저가형 칩셋류

이러한 모델들은, 대부분 원가 절감을 위해서 GPS, 통신칩은 포함되지 않으며, 심지어 블루투스조차 빠지는 경우가 종종 있다.

  • 락칩 RK 시리즈 - 2011년에 나온 RK2918의 경우는 중국산 태블릿에 무더기로 깔리는중 인데 상당히 쓸만하다는 평을 받고 있다. (전체성능은 Exynos 3 Single(삼성 허밍버드-> Exynos 3110-> Exynos 3 Single)를 이기고 엑시노스 4 에게는 지는 수준이다.)2012년 중순인 현재는 새로나온 듀얼코어인 RK3066(성능은 엑시노스 4 듀얼 45nm급인데 발열을 아직 제대로 못잡아서 실사용을 할때는 주의해야할 수준이었다가 대략 2012년8월쯤부터 나오는 제품들은 발열을 잡은편이다.)을 지원하느라 정신이 없는지 RK2918의 지원이 거의 끊어지다시피한 수준이라는 단점이 있다.
Action 의 저가 정책에 많이 말렸는지, RK3026으로 다운클럭, GPU반토막내고 RAM최대지원도 반토막난 저가형모델과. 쿼드코어 RK3188, GPU만 SGX 540으로 바꾼 RK3168이 존재. 2014년에 Cortex A17 쿼드코어 기반의 RK3288이 공개되었다.
  • Allwinner A 시리즈 - 대표적인 모델이었던 A10이 중국에서 락칩 RK2918과 경쟁하는 칩셋인데 서로 장단점이 있다는 평을 듣는다. 락칩 RK2918은 장점이 I/0성능이 좋은대신 그래픽부분이 살짝 약하고 동영상 코덱이 약간 부족한것(영상코덱은 어느정도되는데 사운드코덱이 AAC코덱지원이 잘안된다는평이 있다)이 단점이고 Allwinner A10는 동영상쪽과 GPU (2160P지원이라고 광고한다. 그리고 GPU는 엑시노스에 달리는 Mali-400(엑시노스는 픽셀프로세서가 4개인 Mali-400 MP4이고 이쪽은 픽셀프로세서가 1개인 Mali-400이다.)는 좋지만 I/0가 좀 떨어진다는 평이 있다. 2012년 중순에는 대부분이 아이스크림 샌드위치로 업그레이드 되었으며 몇몇 제작사들에서는 벌써 젤리빈(안드로이드 4.1)을 테스트 해보는 등 사후지원이 RK2918보다 좋아진 편이다. 하지만 차기작(CorTex A7기반으로 듀얼,퀴드를 만들거라고 발표함) 출시가 늦어지고 있는 중이다. CorTex A7 기반 듀얼 코어는 A23/20, 쿼드 코어는 A31/31S 로 명명되어 2013년 출시되었다. 대표적인 모델은 Onda V972와 NOVO9 Spark 가 있다.
A10과 A13이 있으며 둘간 차이는, S-ATA, HDMI, 2160p 가동 유무의 차이 밖에 없으며, 전체적으로 A13이 A10의 마이너 염가판 모델이다. 2014년 6월, 보급형 기기를 공략하기 위한 칩셋인 A33을 공개하였다.
  • AMLogic - Allwinner와 RockChip 의 서로의 단점, 그래픽성능 + I/O 성능 을 서로 보완한 물건이다. 허나 다들 55nm 이하 공정으로 가는판에 홀로 65nm 공정인점에서 흠. 2012년기준, 8726-M6/MX는 CorTex A9 MP2 에 Mail-400 mp2 를 장착했으며, 젤리빈이 올라간 물건도 심심찮게 보인다.
대략적인 성능은 RK 3066의 클럭다운 버젼이라고 보면 되는정도. GPU 코어수가 2배 차이가 나기는 하나, 상대적으로 높은 클럭으로 인해, 20%~30% 정도 밖에 차이나지 않는다.
8726 ML, M3 같은 싱글코어는 PSP 짝퉁 게임기에 쓰인 이력도 있다.
  • VIA WonderMedia - WM8650 ARM 9과, WM8850 Cortex-A8? 9? 가 있다. 주로 아이패드 짝퉁 디자인, 감압식 패널에, 2USB Port, Eternet 단자가 있는 20핀 외장 OTG 젠더를 사용하는 것이 큰 특징이다.
수많은 외장 포트(이더넷, HDMI, 일반 USB 까지 있는 경우도 있다.)를 가진 스마트북/넷북 모델로도 많이 출시되어 있다.
  • Nufront - AML과 유사하나 MALI MP 시리즈가 아닌 싱글이다.
  • Action - A9 family기반 ATM7029 MP4 GC1000 MP2 모델이 존재. 공식사이트에선 ARM v7 instruction set, A9 family 라고 되어 있으나. 각 안드로이드 포럼에선 A5, A7, A9, A5 dual+A9 dual 등의 이견이 엇갈라고 있으며 대다수의 의견은 A5로 추정이 되고 있다.
최근에는 ATM 7021 MP2 와,(ATM7029와 동일 코어로 추정.)
공식사이트에서도 Family 가 아닌 A9 이라고 소개하는 ATM7039 MP4 + SGX 544가 출시되었다,

7 big.LITTLE

ARM의 아키텍처들이 고성능화 되면서 갈수록 떨어지는 전성비[31] 문제를 해결하기 위해서 개발한 전력 소모율 개선 솔루션. 자세한 내용은 해당 항목 참조.
  1. 원래 ARM명령어는 32비트 크기였지만 코드메모리 사용량을 줄여야 하는 마이크로컨트롤러 업계의 의견을 반영하여 16비트 명령어 세트을 새로 개발한다.
  2. 이 외에도 JTAG Debugger(마이크로프로세서를 테스트하기 위해 추가되는 국제 규약의 핀), fast Multiplier(곱셈기) 및 enhanced In Circuit Emulator(마이크로프로세서가 장착될 기판을 테스트하기 위한 장치)등의 기술이 추가되었다. 이 기술들의 약자(Thumb,Debugger,Multiplier,ICE)로부터 TDMI라는 이름이 붙었다.
  3. 대표적인 사례가 바로 퀄컴인데 원래 이 회사는 자사의 초기 CDMA모뎀을 당시 일반적으로 많이 쓰던 16비트 80196 기반으로 개발하려고 했다고 한다. 그런데 전력 및 성능 부족으로 결국 ARM으로 돌아서게 되었다고.
  4. 그러나 90년대에서 2000년대 중반까지만 해도 ARM이 고성능 컨트롤러 시장에서 독주하는 상황은 아니었다. 세계적으로 보면 ARM계열 제품들은 동아시아쪽에서 강세였지만 일본은 MIPS나 히타지가 개발한 SH기반 제품도 상당히 많이 쓰였고 유럽같은 곳에서는 모토로라 계열의 68k / PPC 컨트롤러가 많이 쓰였다. 물론 시간이 갈 수록 ARM의 우위는 더 확고해 졌지만.
  5. 이 때 등장한 유명 제품이 바로 인텔의 StrongARM계열 제품과 삼성전자의 S3C24x0계열 제품이다.
  6. 2000년대 중반 이후 임베디드 열풍은 잠시 소강상태를 맞이하였지만 공유기, 차량용 내비게이션, PMP 등으로 나름 시장에 안착하는데 성공했고, 결국 스마트폰 시대를 맞이하면서 본격적으로 말 그대로 포텐이 터지기 시작했다.
  7. Real-Time은 단순히 CPU의 빠른 반응속도를 의미하지 않는다. 오히려 신뢰할 수 있게 예측 가능한 반응속도를 의미한다. 즉 특정 코드 루틴을 실행할 때 일반 프로세서는 항상 5ms 안에 실행될지 보장할 수 없지만 Real-Time에 맞도록 설계된 프로세서와 루틴은 어떠한 경우에라도 해당 루틴을 10ms안에 수행할 수 있다.
  8. 바로 이전에 출시된 Cortex-A8에서 ARM사는 전력소모를 절감하기 위해 비순차적 명령어 처리 기능을 넣지 않았다고 주장하면서 많은 관련 엔지니어들을 납득시켰지만 불과 2년 후에 A9에서는 비순차적 명령어 처리기능을 넣고도 전력을 절감했다고 주장하면서. 2년전의 낚시를 믿은 관련 엔지니어들을 멘붕시켰다....
  9. A9대비 3배의 명령어 발행 어레이로 IPC의 효율(클럭당 성능비) 상승
  10. 64비트 지원(!) 및 확장된 가상 주소 방식 (Virtual addressing)를 지원한다.
  11. 네이밍 순서대로 나열함
  12. S1,S3
  13. 리네이밍급 변경
  14. Krait300,400
  15. 허나 현재까지의 기술력으론 스마트폰의 주 전력소모는 LCD 이지, ARM Core가 아닌지라 CPU를 저전력화 해봤자 대기시간 말고는, 사용시간 연장을 체감할 수 없다. 물론 풀로드시에는 LCD백라이트 최대밝기의 배 이상으로 전력소모를 한다.
  16. 물론 이건 동일 세대의 기술력으로 성능을 낮춰도 전력 소모가 극적으로 줄어들지 않는다는 의미지 전성비 자체는 끊임없이 개선되고 있다. 예를 들어, 무게를 줄이고도 대기시간을 늘린 아이패드 에어의 경우 액정의 소모전력과 함깨 AP의 전성비 개선도 성공한 사례.
  17. 물론 명령어 크기가 16비트라고 해도 일반목적 레지스터 크기는 여전히 32비트이므로 ARM 자체가 32비트인 건 변하지 않는다.
  18. Thumb명령어는 마이크로컨트롤러 제품군에서는 극히 유용하기 때문에 심지어 최신형 Cortex-M 제품군은 Thumb2 명령어만을 지원하게 되었다
  19. 대체적인 특징들이 컨트롤러급 저속 CPU에서 ISR을 빠르게 처리하는데 유리한 구조라거나 코드크기 절감에 유리한 구조 등은 수십MHz 대역에 1~2단 파이프라인이 일반적인 시절에는 타당한 측면이 있었으나 현재 기준에서는 그다지 적합하지 않은 측면이 많다.
  20. 반면 CISC인 x86의 경우에는 64비트 구조가 도입되면서 64비트용 명령어에는 일률적으로 8bit의 prefix가 붙게 되었다.
  21. 같은 명령어 세트 사이에서도 마이크로 아키텍처가 변경되면 1:1 비교가 어렵다. 일례로, A8와 A7을 비교시 A8가 약 5%정도 우위에 있지만, 실사용을 해보면 A7이 약 20%우위로 보이는 A9과 맞먹는경우도 많다. 이는 A7의 마이크로아키텍처가 한참 뒤에 개발되면서 좀 더 최적화될 시간이 있었고 A7은 NEON SIMD 유닛이 긴밀하게 통합되어 있기 때문.
  22. RISC의 특성상 단일 명령어가 수행하는 기능의 양은 CISC보다 떨어질 수 밖에 없다. 특히 로드/스토어 명령을 따로 쓸 필요가 없는 CISC 명령어들은 메모리를 대상으로 하는 단일 연산명령어가 RISC의 로드/연산/스토어의 세 명령어를 한꺼번에 수행할 수도 있다.
  23. 무엇보다도 여태까지 x86과 ARM은 주로 사용되는 플랫폼 자체가 달랐다. 애초에 PC와 모바일 디바이스를 1:1로 비교한다는 것 자체가 어려운 일인데 모바일 기반의 경우 메모리 속도나 I/O속도 할 것 없이 모두 PC환경보다 크게 떨어지기 때문. 그런 상황에서는 공통된 비교기준을 수립하는 것 자체가 난해한 일이었다
  24. FLOPS 또한 절대적 성능지표는 아니다. 부동소수점 명령어를 일정 시간에 얼마나 많이 수행할 수 있느냐에 대한 수치일 뿐이다.
  25. 단적인 예가 삼성의 갤럭시S3과 후속인 S4인데 S4의 경우 자사 엑시노스를 채용한 제품 개발에 문제가 생기자 바로 퀄컴으로 주 거래를 변경할 수 있었고 S3에서는 퀄컴의 칩셋 공급이 타이트해지자 엑시노스의 비중을 높이는 조치가 가능했다.
  26. Cortex-M만 해도 6종의 제품이 출시된 반면 x86은 이제 쿼크 SE만 출시했을 뿐이다.
  27. linaro나 buildroot 등등..
  28. 모바일용(태블릿, 스마트폰)시장에서는 철수했지만 모바일을 제외한 임베디드 영역의 사업은 계속 이어간다고 한다.
  29. ARM 사업부서를 Marvell에 매각해 (2016년9월이전부터)는 제조하지 않는다고 한다.
  30. 1분 45초 경 참고. 참고로 손가락을 날리신 분은 리눅스의 아버지 리누스 토르발스.
  31. 전력 대비 성능비