제조 공정은 10nm LPP로 조금 진화. 하지만 트랜지스터 수를 발표하지 않은 이유는?
퀄컴이 발표한 스냅드래곤 845
퀄컴이 스냅드래곤 845를 발표했습니다. https://gigglehd.com/gg/2095696 스냅드래곤 845는 스냅드래곤 835와 같은 삼성의 10nm 공정을 쓰지만, 내부 구조를 개선해 성능이 30% 정도 향상된 점이 특징입니다. 다만 완전히 같은 공정은 아니고 LPE에서 LPP로 바뀌었습니다.
스냅드래곤 845. 패키지 크기 24x24mm
스냅드래곤 845는 SDM845입니다. MSM 시리즈는 없고, 모뎀이 없는 모델은 SDA가 됩니다.
퀄컴은 10nm LPP가 10nm LPE보다 최적화가 진행돼, 약간의 성능 향상/전력 효율 개선이 기대된다고 설명하나, 구체적으로 무엇이 변화하는지는 밝히지 않았습니다.
또 퀄컴은 스냅드래곤 835를 발표하면서 트랜지스터 수가 30억개라 발표했으나, 이번에는 트랜지스터 수를 묻는 질문에 '숫자는 중요하지 않고, 그보다 사용자 경험이 중요하다'며, 반도체 업체로서는 다소 이상한 답을 내놓았습니다. 자신들에게 불리하니 말하지 않는 거야 일반적인 일이나, 이전 제품에서 발표했던 값을 공개하지 않았다는 점에서 신경이 쓰입니다 .
그럼 트랜지스터 수는 아마도 늘어나지 않았을 거라 생각하는 게 맞습니다. 즉 프로세스 공정이 개선된 만큼, 트랜지스터 수가 늘어나 성능이 향상되진 않았다는 것이지요. 그럼에도 불구하고 퀄컴은 30%의 성능 향상이 있다고 주장합니다.
아직도 궁금한 게 많은 Cortex-A75/55 기반 Kryo 385. 성능은 25~30% 증가
이러한 성능 향상의 대부분은 CPU와 GPU의 진화에서 비롯된 것이라 생각됩니다. 퀄컴은 'CPU와 GPU를 처음부터 설계했다고 말해, CPU와 GPU에 대폭 손을 댓음을 강조했습니다.
스냅드래곤 845의 CPU가 될 Kryo 385
CPU인 Kryo 385은 스냅드래곤 835에 탑재된 Kryo 280과 마찬가지로 Arm의 BoC(Based on Cortex technology) 라이센스에 따른 제품입니다. Arm의 3가지 라이센스(아키텍처 라이센스, IP 라이센스, BoC) 중 가장 최근에 생긴 라이센스가 BoC입니다. Cortex의 IP 라이센스를 기반으로 SoC 제조사가 자신만의 기능을 통합할 수 있는 것입니다. 퀄컴은 CPU 뿐만 아니라 그 외 다른 부분의 노하우(예를 들면 내부 버스와 시스템 버스)를 가지고 있으니, BoC는 SoC 공급 업체에 최적의 라이센스입니다.
Kryo 280는 Cortex-A72 내지는 Cortex-A73를 기반으로 삼았다고 추측하나 퀄컴은 이를 공개하지 않았습니다. 그러나 Kryo 385의 기반은 올해 5월에 arm이 발표한 Cortex-A75과 Cortex-A55라고 분명히 밝혔습니다. Big.LITTLE 동작에서 고성능이 Cortex-A75, 저전력이 Cortex-A55로 각각 4코어씩 총 8코어 구성이 됩니다.
그러나 이번 설명회에서 퀄컴은 BoC 라이센스에 따라 무엇을 바꿨는지 공개하지 않았습니다. 예를 들어 Arm은 Cortex-A75/55에서 DynamiQ이라는 구조를 도입했으나, 이를 지원하는지도 밝히지 않았습니다.
클럭은 빅/리틀 모두 향상됐습니다. 스냅드래곤 385는 빅이 최고 2.45GHz로 설정됩니다. 스냅드래곤 845는 이를 2.8GHz까지 높였습니다. Cortex-A75의 아키텍처 개선이 같은 클럭에서 20%의 성능 개선이 있으니, 이 두가지를 더해서 퀄컴은 빅 코어의 성능 향상은 25~30%로 잡았습니다.
실질적으로는 아무것도 밝혀지지 않은 Adreno 630
퀄컴은 GPU인 Adreno 630를 가리켜 '처음부터 설계해 성능은 30%, 소비 전력이 30% 향상됐다'고 설명합니다. 그러나 이게 아키텍처의 어디를 수정해서 30%가 됐는지는 전혀 언급하지 않았습니다. AMD, NVIDIA, 인텔은 자사 GPU가 어디를 개선했는지 제대로 정보를 공개하고 있습니다. 원래 통신 회사였던 퀄컴이 정보 공개가 중요하지 않다고 생각할 수도 있겠으나, 경쟁사가 방대한 자료를 공개하는 것과 비교하면 물음표가 붙을 수밖에 없습니다.
스냅드래곤 845의 내장 GPU인 Adreno 630 상세 내역은 공개 안함
다만 GPU의 성능 향상에 크게 기여하는 요소가 있습니다. 시스템 캐시의 탑재지요. 지금까지 스냅드래곤의 캐시 레벨은 CPU의 L1, L2, L3 캐시였습니다. GPU 내부에 어떤 캐시 레벨이 있는지는 공개하지 않았으나, 시스템 캐시는 CPU와 GPU의 외부, 구체적으로는 메모리 컨트롤러 전면에 넣어 CPU, GPU , DSP, ISP까지 스냅드래곤 845에 내장된 연산 유닛이 모두 쓸 수 있도록 했습니다.
스냅드래곤 845와 같은 비대칭 SoC는 각각의 연산 유닛이 메모리 대역폭을 씁니다. 그래서 시스템 캐시와 같은 구조로 캐시에 적중했다면 메인 메모리까지 액세스할 필요가 없어, 메모리 대역을 효율적으로 쓰게 됩니다. 특히 GPU는 메모리 대역폭을 많이 쓰기에 이것이 GPU 처리 성능에 미치는 영향은 큽니다.
스냅드래곤 845에 내장된 시스템 캐시. 3MB를 넣어 CPU, GPU, DSP 등 CPU 외에 다른 유닛도 쓸 수 있는 캐시 메모리입니다. 그 목적은 메모리 대역폭의 오프로드.
이러한 구조는 스냅드래곤 845가 처음은 아닙니다. 인텔 코어 프로세서는 GT3e과 GT4e처럼 연산 유닛을 다수 내장한 GP(Iris Graphics)를 탑재한 SkU에 eDRAM이라는 이름의 64/128MB 시스템 캐시를 내장했습니다. 다만 인텔의 eDRAM이 embedded DRAM으로 다이에 내장하는 것 대신 인터포저라는 기판 위에 다른 칩으로 구현한 반면, 스냅드래곤 845의 시스템 캐시는 다이 위에 있어 성능에서 유리합니다. 대신 용량이 3MB로 많지 않아 대용량 데이터를 메모리에 넣은 효과는 제한적입니다.
NPU는 없지만 대신 NPE 프로그래머블 AI로 3배의 성능 실현
스냅드래곤 845에서 가장 주목할 건 NPU(Neural Processing Unit) 같은 머신 러닝/딥 러닝 추론 가속 기능을 탑재하지 않았다는 점입니다. 애플의 A11 바이오닉, 화웨이/하이실리콘의 기린 970처럼 Ai를 실현하기 위해 NPU를 탑재하는 SoC가 점점 늘어나고 있습니다. 한다미로 지금의 트렌드를 따르지 않았다는 건데, 실제 질의 응답에서도 여기에 질문이 집중됐습니다.
이에 대해 퀄컴은 '고정 하드웨어는 나쁘지 않은 선택이나, 그 대신 다이에서 차지하는 비중이 커집니다. 그리고 이를 지원하는 소프트웨어가 나올 때쯤엔 다른 제품이 나와 수명이 끝났을 가능성이 있습니다. 그렇게 생각하면 프로그래머블 솔루션이 현재 시점에선 더 매리트가 있다고 생각했습니다.'라고 설명했습니다.
스냅드래곤 845는 PU와 GPU, DSP의 이종 혼합 코어
퀄컴은 스냅드래곤 835를 발표했을 때 NPE(Neural Processing Engine)라는 구조를 도입했다고 설명했습니다. 구체적으로는 스냅드래곤에 내장된 CPU, GPU, DSP 등을 유연하게 이용하는 구조로, OEM이 NPE SDK를 이용해 AI 소프트웨어를 만들면, 소프트웨어 컴파일 단계에서 자동으로 CPU(FP32/INT8), GPU(FP32/FP16), DSP(HVX/INT8) 중 최적의 연산 장치를 골라 처리한다는 개념입니다.
이 NPE SDK는 Caffe과 TensorFlow 같은 머신 러닝/딥 러닝 프레임워크를 지원해 AI를 효율적으로 처리할 수 있는 애플리케이션을 쉽게 만들 수 있습니다. 퀄컴은 스냅드래곤 835에서 도입한 이 방식이 잘 작동하는 이상, 여기에 손을 댈 필요가 없다고 판단했을 듯 합니다.
NPE의 구조
텐서플로우를 비롯한 머신 러닝/딥러닝 프레임워크를 지원
물론 마케팅과 소비 전력을 무시하면 이게 맞습니다. 그리고 기술적으로도 어떤 기능을 구현하는 방법은 설계 단계에서 정해 버리는 가속기보다, 프로그래머블 NPE가 더 다양한 애플리케이션에 활용할 수 있음은 분명합니다. 애플 A11 바이오닉, 화웨이/하이실리콘의 기린 970가 마케팅적인 의미가 크고, 퀄컴에 새로운 느낌이 없다는 건 퀄컴에게 있어 고민이기도 합니다.
퀄컴은 이전 세대에서 NPE를 쓸 수 있도록 도입함
퀄컴은 NPE를 이용한 구조 최적화를 더욱 진행해 스냅드래곤 845에선 NPE 기반 애플리케이션을 사용하는 경우, 스냅드래곤 835보다 3배의 성능을 제공한다고 설명합니다. 다만 이게 어디를 최적화해 3배인지는 설명하지 않았습니다.
NPE를 이용한 애플리케이션의 예시. 스냅드래곤 835를 탑재한 갤럭시 스마트폰의 배경에 색을 실시간으로 넣습니다. 이런 NPE AI 애플리케이션을 스냅드래곤 845에서 그대로 활용 가능.
실제로 퀄컴은 그런 NPE를 이용한 애플리케이션을 이용한 기능을 공개했습니다. 이를 잘 활용하면 카메라의 세로 모드에서 인물은 선명하게 찍고 배경만 흐리게 찍는 사진을 촬영할 수 있습니다. 이러한 기능은 일반적으로 듀얼 렌즈와 심도 센서 같은 하드웨어가 필요한데, AI를 활용하면 싱글 렌즈만으로도 실현이 가능합니다.
이런 데모를 보면 퀄컴이 스냅드래곤 835에서 도입했던 NPE를 스냅드래곤 845에서 계속 이어간 것이 기술적으로는 맞다고 봅니다. OEM이 NPE에 맞춘 Ai 소프트웨어를 스냅드래곤 83용으로 만들었다면, 이를 스냅드래곤 845에서도 그대로 쓸 수 있고 또 성능도 3배가 되니까 장점이 큽니다. 반면 애플과 화웨이의 NPU는 아직 지원하는 소프트웨어도 많지 않고, 앞으로 소프트웨어를 따로 만들어야 합니다. 그럼 NPE의 장점이 더 크다고 할 수 있습니다.
윈도우 디바이스에 탑재를 기대
스냅드래곤 835은 다른 회사보다 먼저 삼성의 10nm 공정을 채용, 성능이 크게 향상됐습니다. 스냅드래곤 845는 이를 기반으로 삼아 거기에서 성능을 더 향상시켰다고 할 수 있습니다. 그리고 잊지 말아야 할 점은 스냅드래곤 835에서 최적화가 진행돼 소비 전력이 더욱 줄었다는 점입니다. 퀄컴이 스냅드래곤 테크 서밋에서 공개한 데모에서, 스냅드래곤 835와 845에 같은 작업을 실행했을 경우 평균 소비 전력이 줄어든다고 밝혔습니다.
구체적으로는 동영상 재생 시 스냅드래곤 835의 평균 소비 전력이 3.8W 미만이었던데 비해, 스냅드래곤 845는 3.1W 아래까지 줄었습니다. 약 22%의 평균 소비 전력을 절감한 것인데, 같은 제조 공정에서 이만큼 소비 전력을 줄였다는 건 CPU, GPU, 시스템 캐시를 함께 탑재한 효과가 크다고 보입니다. 성능 향상 뿐만 아니라 소비 전력 절감으로 배터리 구동 시간을 늘리는 것이 스냅드래곤 845의 특징이라 할 수 있습니다.
스냅드래곤 835(왼쪽)과 스냅드래곤 845(오른쪽). 시스템 전체의 소비 전력 비교.
스냅드래곤 835는 3.7W, 스냅드래곤 845는 3.1W입니다.
퀄컴은 스냅드래곤 845를 OEM 업체에 샘플 출시하고 있으며, 이를 탑재한 스마트폰이 내년 상반기에 나올 에정입니다. 현재 퀄컴은 스냅드래곤 845 윈도우용에 대해 아무것도 밝히지 않았으나, 이건 마이크로소프트 서피스에 탑재될 가능성이 크다고 봅니다. 스냅드래곤 845 역시 윈도우 10을 지원하겠지요.
BOC라이센스로 이것저것 올리다가 기대만큼 안나온거 같기도 하고..