E D R , A S I H C RSS

ARM(CPU)

last modified: 2015-03-16 11:08:36 by Contributors

(ɔ) Unknownwikidata:Q4233718 from

Contents

1. 개요
2. 역사
2.1. 성능과 그에 대한 오해
3. 특징
3.1. 명령어셋
3.2. 전력소모
3.3. x86 계열과의 비교
4. 용도에 따른 제품군
5. 개발환경 구축
6. 대표적인 라이선스 제조사
6.1. 대표적인 모델
7. big.LITTLE


1. 개요

영국 ARM Holdings사에서 만들어서 출시하는 CPU 아키텍처 시리즈.

전자업계에서의 ARM 프로세서의 위치는 다음과 같이 비유할 수 있다.

전자업계를 자연 생태계로 비유해 보자. 자연계 안에서 가장 눈에 띄는 동물은 단연 크고 아름다운 포유류일 것이다. 이 포유류를 우리의 눈에 가장 익숙한 PC용 프로세서라고 가정해 보자. 그렇다면 그 자연계에서 ARM이 가지고 있는 위치는 어디일까? 그 답은 포유류의 배경에서 날아다니는 무수한 조류, 포유류의 발 밑에서 기어다니는 양서류, 파충류, 그리고 포유류의 표면이나 발아래, 심지어는 몸속에서 꿈틀대거나 기어다니는 무수한 벌레류이다. 그리고 그것이 바로 현재 ARM이 전자 생태계에서 차지하는 생태학적 위치이다. 물론 그 많은 종류가 다 ARM인 것은 아니며 전자 생태계에는 ARM과 경쟁관계의 제품들도 여전히 많다. 그럼에도 불구하고 ARM은 2000년대에 들어서면서 전자업계에서 가장 독보적인 범위의 생태 영역을 과시하고 있는 제품이다.

즉 ARM은 PC급의 고성능 프로세서를 제외한 사실상 전자산업의 모든 영역에서 알게 모르게 엄청난 숫자가 사용된다. 일반인들이 눈으로 볼 수 있는 PDA스마트폰, MP3 플레이어 등 모바일 장치 는 그 방대한 사용처 중에서 빙산의 일각일 뿐이다.

이러한 ARM이 일반 대중에게 알려진 계기는 대체로 2010년 이후로 스마트폰이 대세가 되면서 ARM의 엄청나게 넓은 사업영역 중 Application Processor, 즉 Cortex-A 시리즈가 전자업계만이 아닌 언론이나 증권가 등의 관심이 집중되면서였다.

2. 역사

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

1990년에 Acorn사는 뉴턴 메시지 패드에 들어갈 적절한 성능에 적절한 전력을 소모하는 마이크로프로세서를 개발하기 위해 애플과 VLSI Technology와의 조인트 벤처를 설립하면서 이름을 ARM사로, 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-A12는 A9를 잇는 미들레인지 라인이다. 이전의 A9에 A53/A7/A15등에 들어간 기술을 접목 시켜서 내놓았다. 대표적인 특징으로 강화된 비순차적 처리[9], 캐쉬간의 데이터 라인의 상승, NEON유닛의 1.5배 성능 향상 등이 있다. 현세대 Krait나 Swift와 비슷한 수준으로 여겨진다.

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

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

주요 모바일 기기의 ARM 아키텍쳐
아키텍쳐 버젼 명칭 성능 주요 기기
ARMv6 ARM11 1.25DMIPS/MHz 옵티머스 원, 옴니아 II
ARMv7-A Cortex-A5 1.57DMIPS/MHz 갤럭시 M 스타일
ARMv7-A Cortex-A7 1.9DMIPS/MHz 갤럭시 S4의 LITTLE 코어, Allwinner A31/A20 등
ARMv7-A Cortex-A8 2.0DMIPS/MHz 갤럭시 S, 아이폰 4
ARMv7-A Scorpion 1.9/2.1DMIPS/MHz 옵티머스 Z, 베가 X, 베가 레이서, 옵티머스 LTE
ARMv7-A Cortex-A9 2.5DMIPS/MHz 갤럭시 S II, 아이폰 4S, 옵티머스 2X
ARMv7-A Cortex-A12 3.0DMIPS/MHz RK3288
ARMv7-A Cortex-A17 3.1~3.3(최대4추정)DMIPS/MHz MT6595 의 big core
ARMv7-A Krait 3.1/3.39[11]DMIPS/MHz 옵티머스 G, 베가 R3
ARMv7-A Swift 3.5DMIPS/MHz 아이폰 5
ARMv7-A Cortex-A15 3.5~4.01DMIPS/MHz 갤럭시 S4의 big 코어, 넥서스 10
ARMv8-A Cyclone N/A 아이폰 5s
ARMv8-A Cortex-A53 2.3DMIPS/MHz 갤럭시 S6(엑시노스7420)의 LITTLE 코어
ARMv8-A Cortex-A57 4.1~4.76(추정)DMIPS/MHz 갤럭시 S6(엑시노스7420)의 big 코어

Cortex-A5와 Cortex-A7는 성능보다는 저전력에 중점을 둔 모델로 성능은 Cortex-A7의 경우 Cortex-A8보다 조금 낫고 A9보다는 떨어진다. Cortex-A5는 현재의 스마트폰 업계가 워낙 성능 위주로 가서인지 소수의 저가형 기기에만 쓰이는 등 선진국 시장에서는 외면받은 상태. 하지만 퀄컴의 MSM 시리즈 중 MSM72xxa라는 공정 및 아키텍처가 개선된 저가 시리즈에 A5를 사용했으며 신 S4 라인업 중에서도 S4 play가 1.2G의 A5코어를 쓴다. 그리고 한국업체인 텔레칩스에서 A5듀얼코어의 신제품을 내놓았다. [12][13]
Cortex-A7은 저전력 중심의 CPU로, 구조가 간단하고 멀티코어로 묶으면 의외로 성능도 괜찮아 중국제 태블릿 컴퓨터 등에서 A7 쿼드코어를 사용하는 경우가 늘어나고 있다. 현재 Big.LITTLE 구조의 유일한 AP인 엑시노스 54x0 계열에서도 A15 쿼드코어를 Big, A7 쿼드코어를 Little코어로 각기 활용하고 있다.
그런데 가격 대비 준수한 성능(A8과 A9사이)과 비용상의 이점(코어 다이가 상당히 작다)으로 인해 전력소모가 낮아서 A7만으로 SoC를 구성하는 경우도 늘고 있는 상황. 삼성의 엑시노스 3000번대 제품이나 퀄컴의 스냅드레곤400의 하위 라인이나 저가 칩의 대명사 MTK의 상위라인업, 그리고 중국 박스칩의 대표주자인 Allwinner 등 여러 회사에서 주력으로 많이 사용되고 있다.

2.1. 성능과 그에 대한 오해

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

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

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

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

3. 특징

한줄로 요약하면 저전력 고효율의 대명사.

x86/MIPS/Power등 경쟁 제품들과는 다르게 일찌감치 90년대 초반부터 성능향상 대신 저전력 아키텍쳐 개발에 집중한 덕에 관련 시장에서의 입지를 선점할 수 있었다.

또한 SoC에 맞도록 ARM CPU의 IP를 판매하는 사업모델을 채택한 덕분에 32비트급 고성능 임베디드 시장에서의 위치를 확고하게 굳힐 수 있었다.

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비트 크기의 명령어셋을 따로 가지고 있다[18][19]. 사실 메모리 서브시스템의 속도가 낮거나 실행속도가 별 문제되지 않는 코드의 경우 코드 바이너리 크기를 줄이는 게 유리하기 때문에 고성능 위주의 Cortex-A가 적용된 시스템에서조차도 연산성능에 민감하지 않은 코드들은 Thumb로 컴파일되었을 정도.

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

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

최근 ARMv8 명령어셋의 Cortex-A5x계열의 발표로 인해 다음 버전부터는 64비트로 넘어가게 되었다. 현재 최신의 Cortex-A15 제품군에 적용된 RAM 사이즈가 32비트의 한계인 4GByte에 근접하는 3GByte까지 늘어난 상황이기 때문에 차기 Cortex-A에 64비트 구조를 적용하는 것은 시기적절한 선택. 다만 64비트 CPU를 다루는 명령어라고 해도 명령어 크기 자체는 32비트에 머물게 되므로 명령어셋 구조 자체는 크게 복잡해지지는 않는다[21].

같은Cortex Ax라고 모두 성능이 같은것은 아니다. ARM에서는 발표된 아키택쳐라도 계속 성능 개선을 이루며 이를 리비전을 붙여 업데이트 한다. 리비전에 따라 성능의 차이가 크게 날 수 있으니 [22] 주의. 상세 내역은 여기를 참조. 읽을 능력은 별개다..


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. x86 계열과의 비교


애초부터 시장영역이 다른 두 제품이었지만 ARM제품들의 성능향상과 저전력 x86 제품들이 개발되면서 모바일, 특히 타블렛 영역에서 경쟁이 본격화되고 있다. 일단 2013년 현재까지는 안드로이드OS의 급성장에 힘입은 ARM계열 제품들이 시장을 압도적으로 지배하는 상황이다.

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

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

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

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


2015년 1월 6일 CES 2015에서 인텔은 <a href="http://www.ddaily.co.kr/news/article.html?no=126240">쿼크 SE</a>를 발표하였다. 현재 밝혀진 스펙 상으로는 ARM의 Cortex-M에 해당하는 제품으로 추정되며 SE제품의 발표로 인텔은 ARM의 Cortex-A/R/M 라인업에 부족하게나마[24] 대응하는 체계를 완성하게 되었다.

4. 용도에 따른 제품군


스마트폰 하나에 과연 몇 개의 ARM CPU가 사용될 수 있는지를 나열해 보면 다음과 같다.
1. AP core CPU 1~8개.
2. 모뎀 컨트롤용 1개.
3. 모뎀에서의 코덱 DSP용으로 1개.
4. AP에서의 사운드 코덱용으로 1개.
5. USB 컨트롤러용으로 1개.
6. Wi-Fi 컨트롤용으로 1개.
7. Bluetooth 컨트롤용으로 1개.
8. 터치패드 드라이버용으로 1개.
9. LCD 컨트롤러용으로 1개.
10. 전력컨트롤러용으로 1개.
11. 충방전 컨트롤러용으로 1개.
12. Ethernet 컨트롤러용으로 1개.
12. 그외 다수.

그야말로 성능이 어느정도 필요한 컨트롤러 용도로는 거의 다 들어간다고 해도 과언이 아니다.

PC에 익숙한 쪽에서는 사실 스마트폰과 그에 따른 AP가 부각되면서 ARM이라는 이름이 알려진 셈이지만 마이크로컨트롤러 계통은 원래 저런 분위기였다. 괜히 임베디드 계의 인텔이라 불리는 게 아니다(아니, 인텔에서 생산했던 XScale계열의 AP는 차치하고라도 인텔 칩셋 및 주변장치에도 열몇개씩 박혀있을 확률이 높다.).


2013년 현재에도 판매되는 거의 모든 스마트폰이 ARM에 기반을 둔 CPU를 사용하고 있다. 스마트폰을 포함하는 PDA 외에도 닌텐도 GBA, 닌텐도 DS에 탑재되였으며, 게임파크GP32 게임파크홀딩스의 GP2X에도 ARM이 탑재되었다. 캐논 파워샷 시리즈에도 탑재되었다. 그 외 태블릿 컴퓨터아이패드, 갤럭시 탭에도 사용되고 있다. 요새 넷북에 진출하려는 시도가 인상적이다. 차세대 휴대용 게임기인 닌텐도 3DSPS VITA에서도 사용된다. 그야말로 모바일 종결자.
심지어 메모리스틱에서도 쓰인다.

재밌는건, 일부 콘솔 게임기들의 처리장치로도 사용된 이력이 있다는 것이다. 3DO에 ARM60(12MHz)이 사용...


64비트 기반의 ARMv8의 도입이 가시화 되면서 서버시장 진입을 위한 발걸음이 빨라지고 있다. 특히 삼성S.LSI, 브로드컴 등을 위시하여 서버용 64비트 전용 아키텍쳐를 개발하는 업체들이 우후죽순처럼 올라오고 있고 서버 수요업체인 구글이나 페이스북 등도 ARM64에 대해 자사 소프트웨어를 개발하려는 정황이 계속 포착되고 있기 때문에 2014년 이후로 모바일에 이어 서버 시장에서도 ARM의 점유율이 크게 높아질 가능성도 무시할 수 없는 상황.


현재 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 환경에서 개발된다. [25]

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

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

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

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

6.1. 대표적인 모델

모델명은 모두 라이센스 생산명이다.

MP3P용 탑재 ARM 모델은 이쪽에서 확인.

  • StrongARM

  • XScale 시리즈

  • 퀄컴 MSM 시리즈

  • 삼성전자 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을 뛰어넘는 벤치점수를 보여주고 있다.http://www.phonearena.com/news/Exynos-7420-Galaxy-S6-vs-Snapdragon-810-HTC-One-M9-vs-Apple-A8-iPhone-6-benchmark-scores_id66748

  • 퀄컴 스냅드래곤 : 다수의 라인업이 레퍼런스가 아니라 커스텀이다. 성능으론 메이저 4대 AP중에서 최악으로 쳤지만(Cortex-A9출시 이후로), 통신 칩까지 원칩이 가능한 장점 때문에 많이 사용되었다. 그러나 2012년 Krait 코어를 내면서 듀얼코어 임에도 불구하고 Cortex-A9 기반 쿼드코어와 비슷한 성능을 보여주며 스냅드레기라는 인식을 깨부쉈다. 이후 차근차근 후속 제품을 준비하고 있다. 잠고로 이쪽은 스콜피온부터 256-bit의 NEON SIMD를 장착한다. 이는 ARM의 기존 SIMD가 128bit 라는것에 비교하면, 부동소수점 연산에서의 강점이다. 2014년도에도 시장 지배적인 위치를 점유하고 있으나 2014년말 기준 최신작인 스냅드래곤 810의 제품화에 문제가 있다고 알려져 있다.
2015년 3월 기준 MWC에서 스냅드래곤 810을 탑재한 HTC M9이 발표되었다. 스냅드래곤 사는 발열문제가 해결되었다고는 하는데, 벤치마크 도중 과열로 벤치마크가 중단되는 현상이 있었다고 한다.

  • nVIDIA Tegra : NEON SIMD 유닛을 잘라내었기 때문에 동급 메이져 4대 AP중 가장 다이사이즈가 작다. 덕분에 동영상 H/W 가속 부분은 고자 급이 되었다.
    GF7000대의 아키텍쳐계열로 추정되는 그래픽코어를 사용하며, 게임한해 다른 AP에 비해 막강함을 보이며 Tegra Zone에 등록된 어플의 특수효과를 타 AP에 비해 화려하게 볼수 있는 장점이 있다. Tegra 3 부터는 nVIDIA도 NEON SIMD 유닛을 추가했다. 커널지원이 매우 빈약하며, 소스공개에도 폐쇄적이기 때문에 여러모로 욕을 들었다.테구라 엔비디아 뽁유!![28] 이상은 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 : 대만제 칩셋이며, 가격이 저렴하다는 특징으로 중국제 태블릿 컴퓨터에 많이 사용되고 있다. 물론, 밑에 나열된 저가형 칩셋과 달리 기본 성능도 탄탄하다는 큰 장점이 있다. 통신칩 까지 들어갈수 있다는 장점 때문에 패블릿이나, 갤럭시 탭 과 같은 몬스터폰 종류에도 많이 사용되고 있다.

  • 하이실리콘 : 중국 화웨이의 자회사인 AP 제조사, K3V2계열의 ARM Cortex-A9 칩과, Kirin 시리즈의 A15 칩이 존재한다.

그 외 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의 아키텍쳐들이 고성능화 되면서 갈수록 떨어지는 전성비[29] 문제를 해결하기 위해서 개발한 전력 소모율 개선 솔루션. 자세한 내용은 해당 항목 참조.
----
  • [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] Krait300,400
  • [12] 허나 현재까지의 기술력으론 스마트폰의 주 전력소모는 LCD 이지, ARM Core가 아닌지라 CPU를 저전력화 해봤자 대기시간 말고는, 사용시간 연장을 체감할 수 없다. 물론 풀로드시에는 LCD백라이트 최대밝기의 배 이상으로 전력소모를 한다.
  • [13] 물론 이건 동일 세대의 기술력으로 성능을 낮춰도 전력 소모가 극적으로 줄어들지 않는다는 의미지 전성비 자체는 끊임없이 개선되고 있다. 예를 들어, 무게를 줄이고도 대기시간을 늘린 아이패드 에어의 경우 액정의 소모전력과 함깨 AP의 전성비 개선도 성공한 사례.
  • [14] 같은 명령어셋 아키텍쳐 사이에서도 마이크로 아키텍처가 변경되면 1:1 비교가 어렵다. 일례로, A8와 A7을 비교시 A8가 약 5%정도 우위에 있지만, 실사용을 해보면 A7이 약 20%우위로 보이는 A9과 맞먹는경우도 많다. 이는 A7의 마이크로아키텍처가 한참 뒤에 개발되면서 좀 더 최적화될 시간이 있었고 A7은 NEON SIMD유닛이 긴밀하게 통합되어 있기 때문.
  • [15] RISC의 특성상 단일 명령어가 수행하는 기능의 양은 CISC보다 떨어질 수 밖에 없다. 특히 로드/스토어 명령을 따로 쓸 필요가 없는 CISC 명령어들은 메모리를 대상으로 하는 단일 연산명령어가 RISC의 로드/연산/스토어의 세 명령어를 한꺼번에 수행할 수도 있다.
  • [16] 무엇보다도 여태까지 x86과 ARM은 주로 사용되는 플랫폼 자체가 달랐다. 애초에 PC와 모바일 디바이스를 1:1로 비교한다는 것 자체가 어려운 일인데 모바일 기반의 경우 메모리 속도나 I/O속도 할 것 없이 모두 PC환경보다 크게 떨어지기 때문. 그런 상황에서는 공통된 비교기준을 수립하는 것 자체가 난해한 일이었다
  • [17] FLOPS 또한 절대적 성능지표는 아니다. 부동소수점 명령어를 일정 시간에 얼마나 많이 수행할 수 있느냐에 대한 수치일 뿐이다.
  • [18] 물론 명령어 크기가 16비트라고 해도 일반목적 레지스터 크기는 여전히 32비트이므로 ARM 자체가 32비트인 건 변하지 않는다.
  • [19] Thumb명령어는 마이크로컨트롤러 제품군에서는 극히 유용하기 때문에 심지어 최신형 Cortex-M 제품군은 Thumb2 명령어만을 지원하게 되었다
  • [20] 대체적인 특징들이 컨트롤러급 저속 CPU에서 ISR을 빠르게 처리하는데 유리한 구조라거나 코드크기 절감에 유리한 구조 등은 수십MHz 대역에 1~2단 파이프라인이 일반적인 시절에는 타당한 측면이 있었으나 현재 기준에서는 그다지 적합하지 않은 측면이 많다.
  • [21] 반면 CISC인 x86의 경우에는 64비트 구조가 도입되면서 64비트용 명령어에는 일률적으로 8bit의 prefix가 붙게 되었다.
  • [22] A9의 최신 r4리비전은 2.3Ghz의 클럭을 가진다...
  • [23] 단적인 예가 삼성의 갤럭시S3과 후속인 S4인데 S4의 경우 자사 엑시노스를 채용한 제품 개발에 문제가 생기자 바로 퀄컴으로 주 거래를 변경할 수 있었고 S3에서는 퀄컴의 칩셋 공급이 타이트해지자 엑시노스의 비중을 높이는 조치가 가능했다.
  • [24] Cortex-M만 해도 6종의 제품이 출시된 반면 x86은 이제 쿼크 SE만 출시했을 뿐이다.
  • [25] 구축 자체는 가능하지만 Cross-compile 환경의 비효율보다 절대적 성능의 격차가 더 크기 때문.Cross-compile 환경에서 3분 걸릴 소스가 ARM host에서 빌드할 때 3시간도 넘게 걸리고, 컴퓨터의 가격이 프로그래머의 1개월치 인건비 수준이라 사실상 개발비용을 절감하는 것은 인건비를 줄이는게 최선이다. 과거야 연산성능이 좋은 컴퓨터가 매우 비싸서 비효율성을 용납하지 않았지만 지금은 컴퓨터보다 인건비가 비싸므로 사람을 효율적으로 굴리기 위해서 컴퓨터가 더 고생해도 된다.
  • [26] 모바일용(태블릿, 스마트폰)시장에서는 철수했지만 모바일을 제외한 임베디드 영역의 사업은 계속 이어간다고 한다.
  • [27] 사업부서를 Marvell에 매각해 현재는 제조하지 않는다..
  • [28] 1분 45초 경 참고. 참고로 손가락을 날리신 분은 리눅스의 아버지 리누스 토르발스.
  • [29] 전력 대비 성능비
Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2015-03-16 11:08:36
Processing time 0.2112 sec