퀄컴/CPU 아키텍처 목록

< 퀄컴

1 개요

퀄컴에서 개발 및 설계한 CPU 아키텍처 목록.

2009년부터 실제 제품이 공개 및 출시되었으며 주요 생산 주체는 TSMC삼성전자 파운더리 사업부[1]이다.

2 목록

2.1 ARMv7-A 기반

2.1.1 Scorpion

퀄컴이 모바일 AP 브랜드인 스냅드래곤을 런칭하면서 2009년, 스냅드래곤 S1 QSD8x50에 사용한 ARMv7-A 기반의 커스텀 아키텍처.

본가 ARM 라인업에 대응하는 아키텍처로는 Cortex-A8과 Cortex-A9로 볼 수 있다. 2009년 말 첫 시제품이 HTCHD2에 탑재되어 주목을 받았다. ARM 기반 CPU로는 최초로 1GHz에 도달했기 때문이다. 당시 경쟁 CPU 아키텍처는 ARMv6 기반의 ARM11 아키텍처 및 ARMv7 기반의 Cortex-A8이었다. 이 때의 Cortex-A8 기반 AP는 TI의 OMAP 3 시리즈와 삼성전자엑시노스 3110 초기 모델 뿐이었고 800MHz 내외의 클럭을 가지고 있었다.

특히,국내에서는 이 시기에 옴니아 II아이폰 3GS참으로 어처구니 없는 양강구도를 가지고 있었다. 이 와중에 국내의 소수 PPC[2]유저들은 HD2를 주목했다. 1GHz라는 당시 최고클럭의 CPU와 Windows Mobile을 가지고도 충분한 퍼포먼스를 뿜어내는 HTC의 최적화 능력[3]과 화려한 hTC SenseWindows Mobile 스마트폰이라 볼 수 없는 퍼포먼스를 보여줬고, 옴니아 II와 대조되면서 초기 퀄컴 스냅드래곤의 이미지를 좋은 쪽으로 부각시켰다. 그래 지금까지는...

2010년 이후로 오픈 소스인 안드로이드를 사용한 스마트폰이 주로 출시되었고, 시장의 파이가 커짐에 따라서 ARM에게 라이센스를 취득한 AP 개발업체가 증가, 퀄컴 스냅드래곤은 초기의 모습과는 달리 하락세를 걷기 시작했다.

Cortex-A8을 사용한 TI의 OMAPARM의 권고를 무시하고 코어 커스텀까지 강행해서 1 GHz의 클럭을 돌파[4]삼성전자엑시노스 3110 같은 경쟁 AP에게 성능적으로 밀리기 시작했다. 이후 퀄컴 스냅드래곤 S2는 Scorpion 아키텍처를 일부 개선하고 CPU 클럭을 1.4GHz까지 상승시켰지만, Cortex-A8과의 경쟁에서는 완전히 패배해 버린다. 당시 성능 기준은 게임이 가장 큰 비중을 차지하고 있었고 당시 스냅드래곤에 들어간 Adreno GPU가 경쟁 AP에 들어간 Imagination Technologies의 PowerVR SGX 5 시리즈에 비해서 성능과 최적화 모두가 부족했기 때문이었다. 스마트폰 시장을 새로이 개척한 애플의 아이폰 시리즈의 AP가 전통적으로 PowerVR GPU를 사용하고 있었고, 초기 안드로이드에 대한 이해가 부족한 어플 개발자들이 모델링의 최적화 과정 없이 이식해 온 게임들의 대다수는 같은 PowerVR GPU를 사용하는 기기에서 원활하게 돌아갔던 것에 비해서 Adreno라는 자체 GPU를 사용했던 퀄컴의 AP에서는 원래 성능을 내기 어려웠다.

2011년에는 이러한 현상이 정점을 찍어버렸다. Cortex-A8의 후속 아키텍처인 Cortex-A9 기반의 AP가 속속 출시되었다. 문제는 Cortex-A9가 멀티코어를 지원하기 시작하면서 TI OMAP 4 시리즈와 삼성전자엑시노스 4210, NVIDIATegra 2 시리즈가 전부 Cortex-A9 기반의 듀얼코어를 사용하기 시작했고, 퀄컴에서는 이에 대항하기 위해 Scorpion을 소폭 개량해 멀티코어를 지원하게 만들고, L2 Cache의 용량을 증가시켜 퀄컴 스냅드래곤 S3에 탑재했다. 파이프라인의 수를 늘려서 CPU 클럭도 1.5GHz로 기존 스마트폰에 들어가 출시된 모델 대비 약 50% 정도 상승시켰다. 그러나 IPC 상의 개선이나 공정 미세화가 동반되지 않는 상황에서 올리다 보니 불타는 발열의 스냅드래곤, 스냅드레기같은 명성을 확고히 하는데 일조하였다.

2011년 말에 우후죽순으로 출시된 1세대 LTE 지원 스마트폰에 많이 사용되었다. 당시에 나왔던 LTE 통신 모뎀은 전부 데이터 통신만 지원했고, 퀄컴의 1세대 LTE 통신 모뎀 MDM9200/9600도 스냅드래곤 S3과는 별개의 데이터 통신용 칩셋이었다. 스냅드래곤 S3 APQ8060은 통신 모뎀을 내장하지 않았지만, MDM9200/9600 모뎀과 같이 사용하면 원래 이론상 불가능한 GSMWCDMA 음성통화가 지원되었다. 사실상 이 조합이 당시 사용 가능했던 유일한 LTE 및 3G 음성 통화가 가능한 AP 조합이었다. VoLTE는 아직 시범 서비스도 실시하지 않던 시기였다.

CDMA의 경우 CDMA 통신 모뎀이 내장된 퀄컴 스냅드래곤 S3 MSM8660과 같이 사용하여 통신을 따로 처리했다. 약간의 예외로 CDMA+LTE 조합의 네트워크에서 스냅드래곤을 사용하지 않는 퀄컴/비아의 CDMA 칩+삼성의 LTE 칩 같은 조합이 소수 있었지만, 출시 기기들의 배터리 소비 문제가 심각하여 이후에는 볼 수 없게 되었다. 이 조합을 사용한 기계가 갤럭시 넥서스의 LTE 지원 모델인데, WCDMA 지원 모델에 비해서 기본 배터리 용량이 더 컸다.

이렇게 기기 내부에 칩셋이 많아져서 커짐에 따라 낮은 해상도로는 경쟁력이 없다고 판단한 스마트폰 제조사들이 기존 WVGA(480 x 800), FWVGA(480 x 854)보다 고 해상도인 HD 720p(1280 x 720)를 채택하면서 엄청난 발열의 시너지 효과를 보여주었다. 해상도가 높을수록 디스플레이 전력 소모율이 높아진다. 거기에 통신 모뎀과 AP가 분리된 상황이니 기존 통신 모뎀이 통합된 경우보다 전력 소모율이 높다. 하물며 이게 HD 720p를 지원하지만 감당하기 버거워한 퀄컴 스냅드래곤 S3다. 더 이상의 자세한 설명은 생략한다.

때문에 Scorpion 아키텍처는 모바일 AP 시장에서 아키텍처의 개량에 뒤처지면 시장에서 어떠한 평가를 받는지를 생생히 보여주는 본보기가 되었다.

2.1.1.1 사양
  • 10~12단계 파이프라인
  • 한 사이클에 2개의 명령어 디코더
  • Issue 분배기가 3라인 파견
  • 부분 비 순차적 처리 지원
  • Neon 유닛이 연산 모듈에 포함
  • 멀티 코어 구성 가능

Scorpion의 자세한 구조는 잘 알려지지 않았다. 다만 알려져 있는 정보상으로는 위에서 신나게 까인것과 다르게 상당히 진보한 구조의 아키텍처로서 ARMv7-A 기반의 첫 아키텍처인 Cortex-A8과 비교시에도 상당한 우위점이 많다. 우려먹어서 문제지..

Cortex-A8에서는 Neon/vfp SIMD 모듈을 외부에 옵션으로 부착하는 형태였는데, Scorpion에서는 처음부터 연산 유닛화하여 파이프라인에 내장하였다. 연산모듈에 알맞게 명령어를 분배하는 Issue 분배기도 비 순차적 처리를 지원하며, 초기 모델부터 소량의[5] L2 캐시를 내장했다. 그리고 처음부터 멀티코어화를 고려해서 개발했기 때문인지 아키텍처를 크게 변경할 필요 없이 듀얼 코어까지 지원한다. 이 모든 것이 Cortex-A 시리즈에서는 Cortex-A9부터 지원된 부분이다.

이 외에 Cortex-A9보다 나은 점도 존재한다. Cortex-A9의 Neon 유닛은 64KB 기반인 반면, 이쪽은 128KB 기반이다. 이 때문에 멀티미디어 기능에 많이 사용되는 부동소수점 연산에서 우위를 점한다. 다만 이것이 시장에서 실제 강점으로 크게 활용되지는 못했는데, SoC의 발전에 따라 AP 다이 안에 추가로 GPU 코어를 탑재하는 것이 일반화되면서 상대적으로 느린 CPU 가속보다는 GPU 가속을 활용하는 것이 성능면에서 이점이 컸기 때문이다.

결론적으로 매우 괜찮은 아키텍처였으나, 시장의 변화와 경쟁에서 밀리고 결국 오명을 다 뒤집어쓴 매우 대표적인 사례가 되었다. 시작은 매우 훌륭했으며 중반기에는 중박, 후반기에는 쪽박이라는 다양한 시장의 평가가 인상적.

2.1.1.2 사용 프로세서 목록
브랜드파트넘버코어최대 클럭big.LITTLE 솔루션 조합 여부조합 GPU 정보
구성 여부구성 CPU 정보코어최대 클럭
스냅드래곤 S1QSD825011 GHzX퀄컴 Adreno 200
QSD8650
스냅드래곤 S2MSM72301800 MHzX퀄컴 Adreno 205
MSM7630
QSD8250A11.3 GHzX퀄컴 Adreno 205
QSD8650A
APQ805511.4 GHzX퀄컴 Adreno 205
MSM8255
MSM8655
스냅드래곤 S3QSD867221.5 GHzX퀄컴 Adreno 220
APQ806021.7 GHzX퀄컴 Adreno 220
MSM8260
MSM8660

2.1.2 Krait(Krait 200) / Krait 300 / Krait 400 / Krait 450

퀄컴이 자사 모바일 AP 브랜드인 스냅드래곤의 2012년 플래그십 AP인 스냅드래곤 S4 Plus MSM8960에 사용한 ARMv7-A 기반의 커스텀 아키텍처. Scorpion의 후속작이다.

2013년 이후, 기존 Krait는 Krait 200으로 재명명되고 Krait 300, Krait 400, Krait 450으로 코어 리비전이 진행되어 2014년 말 스냅드래곤 805 APQ8084까지 사용되었다.

수의 의미는 순정 ARMv7-A 명령어 셋 기반의 아키텍처보다 리비전 된 정도를 의미한다. 200에서 300은 클럭당 10%에서 최대 30% 정도의 성능 향상이 있었으며 300에서 400의 경우에는 최대 클럭이 20% 더 상승되어서 모바일 AP 최초로 CPU 클럭이 2GHz를 돌파하게 되었다.[6]

이전에는 'ARM Cortex-A9 베이스 + ARM Cortex-A15 명령어 추가'의 방식으로 만들어졌다고 퀄컴 스냅드래곤 항목에 서술 되어 있었는데, 이건 반만 맞고 반은 틀린 설명이다. 굳이 꼭 집어서 ARM Cortex-A9를 커스텀한거다, ARM Cortex-A15를 커스텀한거다 말할 수는 없는데, Qualcomm Scorpion부터 시작된 퀄컴의 자체적인 주력 CPU는 죄다 아키텍처 라이센스를 딴 다음 ARMv7-A 명령어 세트 기반으로 커스텀한 아키텍처다. 또한 Krait와 ARM Cortex-A15는 ARM 기반 프로세서의 발전 방향이 비슷하기 때문에 대략적인 구조가 비슷할 뿐이지 여러모로 차이가 많다.

굳이 파이프라인 레벨에서 비교해본다면 Krait는 A15보다는 A9에 비슷한 구조이다. A9 대비 디코더의 개수와 연산 모듈은 늘었지만, Issue 분배기의 한계로 늘어난 연산 모듈을 한번에 활용하는것이 불가하며,이것도 A9에서 지적되었던 문제이다. A15와 비슷한점은 캐쉬를 코어 내에 내장했다는 것 정도다.

삼성전자엔비디아 등 경쟁사들이 ARMv8-A기반의 Cortex-A53과 Cortex-A57을 이용한 차세대 AP를 2014년 상반기를 목표로 개발하고 있는 상황에서 생산사인 TSMC의 미세공정의 이원화가 늦어지는 상황[7]에다 과거 Scorpion 아키텍처의 전철을 밟아 Krait 아키텍처를 개선하고 클럭을 상승시키는 쪽으로 갈 것이라는 예상이 나오고 있다.[8] 다만, 퀄컴이 이전의 사례를 답습했다면 Krait의 후속 아키텍처로 승부를 볼 것이라는 이야기도 있다.

여담이지만 Krait 400까지는 Cortex-A15보다 IPC가 낮다.

2.1.2.1 사양

[1]

  • 한 사이클의 3개의 명령어 디코더
  • 명령어 발행 어레이 개수 = 1
  • ISSUE명령 분배기 1개가 4라인 한번에 파견은 4개

연산 모듈은 총 7개

A1 - ?[9]
A2 - ?
B1 - ?
C1 - ?
C2 - ?
D1 - NEON/vfp (128k)
D2 - NEON/vfp (128k)

동시대 경쟁 아키텍처인 Cortex-A9와 비교 시에 명령어 디코더가 1개 늘었다. 다만 총 연산 모듈은 7개인 것에 반해 Issue 명령 분배기의 최대 파견량이 최대 4개로 Krait가 Cortex-A15보다 Cortex-A9에 가까운 아키텍처라는 것을 알 수 있다. Cortex-A15는 Issue 명령 분배기 자체가 5개, 한번의 파견량은 8개로써 8개의 연산 모듈을 모두 사용할 수 있다.

600px

또한 Cortex-A9의 외장 L2 캐시에 비해서 Krait 아키텍처는 효율이 더 좋은 내장형의 L2 캐시를 가지고 있지만, 각각의 코어가 비교적 소량의 L2 캐시를 가지고 있으며 하나의 대형 캐시를 가지고 있는 Cortex-A15나 Cortex-A12에 비해서 상황에 따른 효용성이 떨어진다. 즉 하나의 코어에 작업이 몰리더라도 한개의 코어는 제한적인 용량의 캐시만을 사용할 수 있고 이는 모든 코어가 하나의 대용량 캐시를 사용하는 방식에 비해서 불리하다. 이는 Krait 아키텍처 자체가 비동기식 구조를 가지고 있어서 각각의 코어가 별개로 운용되는것을 전제로 설계되었기에 나타나는 문제이다.

2.1.2.2 사용 프로세서 목록
  • Krait(Krait 200)
브랜드파트넘버코어최대 클럭big.LITTLE 솔루션 조합 여부조합 GPU 정보
구성 여부구성 CPU 정보코어최대 클럭
스냅드래곤 S4 PlusMSM822721 GHzX퀄컴 Adreno 305
MSM8627
APQ803021.2 GHzX퀄컴 Adreno 305
MSM8230
MSM8630
MSM8930
APQ8060A21.7 GHzX퀄컴 Adreno 225
MSM8260A
MSM8660A
MSM8960
스냅드래곤 S4 ProMSM8960T21.5 GHzX퀄컴 Adreno 320
APQ806441.7 GHzX퀄컴 Adreno 320
스냅드래곤 400MSM823021.4 GHzX퀄컴 Adreno 305
MSM8630
MSM8930
  • Krait 300
브랜드파트넘버코어최대 클럭big.LITTLE 솔루션 조합 여부조합 GPU 정보
구성 여부구성 CPU 정보코어최대 클럭
스냅드래곤 400MSM8230AB21.7 GHzX퀄컴 Adreno 305
MSM8630AB
MSM8930AB
스냅드래곤 600APQ8060M41.7 GHzX퀄컴 Adreno 320
APQ8060T41.7 GHzX퀄컴 Adreno 320
APQ8060AB41.9 GHzX퀄컴 Adreno 320
  • Krait 400
브랜드파트넘버코어최대 클럭big.LITTLE 솔루션 조합 여부조합 GPU 정보
구성 여부구성 CPU 정보코어최대 클럭
스냅드래곤 800APQ807442.26 GHzX퀄컴 Adreno 330
MSM8274
MSM8674
MSM8974
스냅드래곤 801MSM8274AA42.27 GHzX퀄컴 Adreno 330
MSM8674AA
MSM8974AA
MSM8274AB42.36 GHzX퀄컴 Adreno 330
MSM8674AB
MSM8974AB
MSM8274AC42.45 GHzX퀄컴 Adreno 330
MSM8674AC
MSM8974AC
  • Krait 450
브랜드파트넘버코어최대 클럭{big.LITTLE 솔루션 조합 여부조합 GPU 정보
구성 여부구성 CPU 정보코어최대 클럭
스냅드래곤 805APQ808442.7 GHzX퀄컴 Adreno 420

2.2 ARMv8-A 기반

2.2.1 Kryo

퀄컴이 자사 모바일 AP 브랜드인 스냅드래곤의 2016년 플래그십 AP인 스냅드래곤 820 MSM8996에 사용한 ARMv8-A 기반의 커스텀 아키텍처. 개발 코드네임은 'Taipan'. Krait 시리즈의 후속작이다.

2.2.1.1 사용 프로세서 목록
브랜드파트넘버코어최대 클럭big.LITTLE 솔루션 조합 여부조합 GPU 정보
구성 여부구성 CPU 정보코어최대 클럭
스냅드래곤 820APQ80962+22.15 GHz자체 구성1.59 GHz퀄컴 Adreno 530
MSM8996
MSM8996 Lite2+21.8 GHz자체 구성1.36 GHz퀄컴 Adreno 530
스냅드래곤 821MSM8996 Pro-AB2+22.15 GHz자체 구성1.59 GHz퀄컴 Adreno 530
MSM8996 Pro2+22.34 GHz자체 구성2.19 GHz퀄컴 Adreno 530

2.2.2 Kryo 260

퀄컴이 자사 모바일 AP 브랜드인 스냅드래곤의 2017년 하이엔드 AP인 스냅드래곤 660 SDM660에 사용한 ARMv8-A 명령어 셋으로 만들어진 CPU 아키텍처인 ARM HoldingsCortex-A73 기반의 커스텀 아키텍처.

Kryo 280과 같이 세미 커스터마이징로 분류되는 CPU 아키텍처로, Kryo 280과 동일한 구성으로 사용된다. 따라서, Cortex-A73 뿐만이 아니라 Cortex-A53을 전부 세미 커스터마이징한 것으로 추정되고 있다.

2.2.2.1 사용 프로세서 목록
브랜드파트넘버코어최대 클럭big.LITTLE 솔루션 조합 여부조합 GPU 정보
구성 여부구성 CPU 정보코어최대 클럭
스냅드래곤 660SDM6604+42.2 GHz자체 구성-.- GHz퀄컴 Adreno 512

2.2.3 Kryo 280

퀄컴이 자사 모바일 AP 브랜드인 스냅드래곤의 2017년 플래그십 AP인 스냅드래곤 835 MSM8998에 사용한 ARMv8-A 명령어 셋으로 만들어진 CPU 아키텍처인 ARM HoldingsCortex-A73 기반의 커스텀 아키텍처.

기존까지의 퀄컴 CPU 아키텍처와는 달리 풀 커스터마이징이 아닌 세미 커스터마이징으로 분류되고 있다. 또한, Cortex-A73 기반 임에도 리틀 클러스터 타겟 CPU 아키텍처로 사용할 수 있다. 다만, 해당 구성을 탑재한 경우에 CPU 및 메모리 타겟 벤치마크 프로그램인 Geekbench 계열에서는 리틀 클러스터의 정보만 불러와지고, 하드웨어 정보 프로그램인 CPU-Z에서는 빅 클러스터와 리틀 클러스터의 CPU 아키텍처가 다른 종류로 파악하기 때문에 Cortex-A73Cortex-A53을 전부 세미 커스터마이징해서 그 구성 자체를 Kryo 280로 명명한 것이 아니냐는 추정이 나오고 있다.

2.2.3.1 사용 프로세서 목록
브랜드파트넘버코어최대 클럭big.LITTLE 솔루션 조합 여부조합 GPU 정보
구성 여부구성 CPU 정보코어최대 클럭
스냅드래곤 835MSM89984+42.35 GHz자체 구성1.9 GHz퀄컴 Adreno 540

  1. 2017년 이전까지는 삼성전자 시스템 LSI 사업부이다.
  2. Pocket PC, 당시 일반인들에게는 생소한 WM기반의 PDA의 총칭한다.
  3. 이전부터 HTC마이크로소프트의 허락과 협조를 받아 Windows Mobile을 자체적으로 빌드한 결과물을 탑재했다.
  4. 무식한 오버클럭은 아니다. IPC와 공정 개선도 동반된 클럭 상승은 전형적인 비메모리의 성능 개선 방법이다.
  5. S1부터 인지는 확실하지 않다.
  6. 여담으로, 최초로 2GHz에 도달한 모바일 AP는 삼성전자엑시노스 5250이다.
  7. 현재, 모바일 AP 파운더리 시장의 큰 손인 애플이 자사의 AP를 위해 TSMC가 22nm 공정으로 전환하도록 자금 투입을 상당히 하고 있는 상황이다. 때문에 공정이 전환되어도 애플에 몰아줄 가능성이 높다.
  8. 현재 지금까지 알려진 로드맵상에서는 이쪽이 유력하다.
  9. 총 연산 유닛의 수와 Neon의 경우는 비교적 명확하나 자세한 내용은 불명이다. 현재 ALU와 AGU가 있을 것으로 추측된다.

이 문서의 내용 중 전체 또는 일부는 ARM Cortex-A 시리즈문서에서 가져왔습니다.</div></div>