Chapter 18

손안의 컴퓨터: 스마트폰과 SoC

주머니 속 스마트폰은 10년 전 데스크톱보다 빠른 컴퓨터다. CPU, GPU, 메모리, 저장장치, 네트워크까지 이 책에서 본 부품이 모두 들어 있다. 다른 점은 단 두 가지다. 손바닥만 한 공간, 그리고 콘센트 대신 작은 배터리. 이 두 제약이 스마트폰 칩을 어떻게 바꿔 놓았는지 살펴본다.

칩 하나에 담긴 컴퓨터

데스크톱을 열면 CPU, 메모리, 그래픽카드, SSD가 메인보드 위에 따로따로 꽂혀 있다(22장에서 직접 조립해 볼 수 있다). 부품 사이는 수 cm에서 수십 cm 길이의 선으로 이어진다. 스마트폰에는 그럴 공간이 없다. 그래서 CPU, GPU, AI 계산기, 카메라 처리기, 통신 모뎀까지 손톱만 한 칩 한 개에 모두 새겨 넣는다. 이것이 SoC(System on a Chip)다.

PC: 부품이 따로따로 CPU RAM 그래픽카드 SSD Wi-Fi 선 길이 수~수십 cm · 전력 수백 W 스마트폰: SoC 하나 CPU GPU NPU ISP 코덱 모뎀 캐시 약 1 cm² · 위에 메모리를 겹쳐 쌓음 선 길이 수 mm · 전력 수 W
그림 18-1. PC는 부품을 따로 꽂고, 스마트폰은 한 칩에 모은다. 선이 짧아지면 신호가 빨리 가고, 전기도 덜 든다.

한곳에 모으면 좋은 점이 많다. 부품 사이의 거리가 수 mm로 줄어 데이터가 빨리 오가고, 긴 선을 따라 신호를 보내느라 쓰던 전기가 줄어든다. CPU와 GPU가 같은 메모리를 함께 쓰니 데이터를 복사할 필요도 없다. 최근에는 노트북과 데스크톱도 이 방식을 따라가고 있다(통합 메모리를 쓰는 노트북 칩이 그 예다). 대신 한 부품만 골라 업그레이드할 수는 없다.

SoC 속을 3D로 뜯어보기

아래 모형은 스마트폰 SoC를 단순하게 그린 것이다. 기판 위에 칩 패키지가 있고, 그 안의 실리콘 조각(다이) 위에 여러 전문 구역이 나뉘어 있다. 맨 위에는 메모리 칩을 겹쳐 올렸다. 손톱만 한 다이에 트랜지스터가 100억~200억 개 들어간다.

3D

SoC 분해 모형

보기
구역을 눌러 보자. 드래그하면 모형이 돌아간다.
크기와 배치는 이해를 돕기 위한 그림이며 실제 칩마다 다르다. 실제 다이에서는 캐시와 GPU가 넓은 면적을 차지하고, 모뎀은 별도 칩으로 두는 경우도 있다.

왜 이렇게 많은 전문 구역이 필요할까? CPU는 무엇이든 할 수 있는 만능 요리사지만, 같은 일만 반복하는 전용 회로가 그 일을 훨씬 적은 전기로 해낸다. 휴대폰에서 동영상을 몇 시간씩 볼 수 있는 것은 CPU가 아니라 영상 코덱 회로가 압축을 풀기 때문이다. 이 차이는 바로 다음 실험에서 숫자로 확인한다.

배터리는 얼마나 갈까

스마트폰 배터리에는 보통 15~20 와트시(Wh)의 에너지가 들어 있다. 1 W를 쓰는 일을 15~20시간 할 수 있다는 뜻이다. 그러니 배터리 시간은 간단히 배터리 용량(Wh) ÷ 평균 전력(W)이다. 무엇이 전력을 많이 먹는지만 알면 된다.

CALCULATOR

배터리 시간 계산기

하는 일
통신
옵션
평균 전력—
배터리 시간 (17 Wh)—
가장 많이 먹는 곳—
수치는 대표적인 크기를 단순화한 모델이다. 해볼 것: 영상 보기에서 “전용 회로 끄기”를 켜 보자. 같은 영상인데 SoC 전력이 몇 배로 뛴다. 통신을 “약한 신호”로 바꾸면 모뎀이 기지국에 닿으려 출력을 높이느라 배터리가 빨리 닳는다.
예측해 보기

대부분의 일상 사용(웹, 메신저, 영상)에서 전력을 가장 많이 먹는 부품은 무엇일까?

위 계산기에서 “웹·메신저”와 “영상 보기”를 고른 뒤 막대에서 가장 긴 칸을 찾아보자.

화면은 수백만 개의 픽셀을 계속 밝혀야 해서 가벼운 사용에서는 가장 큰 소비처다. 밝기를 낮추거나 어두운 테마를 쓰면(OLED 화면에서) 배터리가 눈에 띄게 오래간다. 게임처럼 계산이 많은 일에서만 SoC가 화면을 앞지른다.

뜨거워지면 느려진다

전기는 결국 열이 된다. 스마트폰에는 팬이 없고, 손에 쥐는 물건이라 표면이 40°C를 넘으면 불쾌하거나 위험하다. 그래서 칩은 온도를 재다가 너무 뜨거워지면 스스로 클럭과 전압을 낮춘다. 이것이 쓰로틀링(throttling)이다. 5장에서 본 것처럼 전력은 클럭과 전압에 함께 비례하므로, 클럭을 20%만 낮춰도 전력은 거의 절반으로 준다. 이렇게 상황에 맞춰 전압과 주파수를 바꾸는 기술을 DVFS(Dynamic Voltage and Frequency Scaling)라 한다.

SIMULATOR

30분 동안 게임을 하면

냉각
 
경과 시간—
표면 온도—
성능 (fps)—
빨간 선은 표면 온도, 파란 선은 게임 성능(fps)이다. 점선은 칩이 넘지 않으려는 온도(43°C). 30분을 약 15초로 빨리 돌린다. 해볼 것: 한여름(35°C 이상)에 두꺼운 케이스를 씌우면 성능이 어디까지 떨어지는지, 쓰로틀링을 끄면 온도가 어디까지 오르는지 보자. 실제 기기는 위험 온도에 이르면 강제로 꺼진다.
작은 코어는 왜 있을까

5장에서 본 큰 코어와 작은 코어가 스마트폰에서 특히 중요하다. 메시지 알림을 확인하거나 음악을 트는 정도의 가벼운 일은 작은 코어가 아주 적은 전기로 처리하고, 큰 코어는 앱을 열거나 게임을 할 때만 깨어난다. 운영체제의 스케줄러(8장)가 일의 무게를 보고 어느 코어에 맡길지 정한다.

전용 회로가 전기를 아끼는 이유

CPU는 어떤 계산이든 할 수 있도록 명령어를 꺼내고, 해독하고, 순서를 맞추는 데 많은 회로와 전기를 쓴다(4·5장). 실제 계산에 쓰는 전기는 그중 일부뿐이다. 반면 영상 코덱 회로는 “압축 풀기”라는 한 가지 일만 하도록 배선 자체를 짜 놓았다. 명령어를 해독할 필요가 없고, 데이터가 회로를 한 번 흘러가면 끝이다.

같은 일에 드는 에너지 (대략, CPU = 100)CPU 소프트웨어전용 회로 1시간 영상 재생 100 ≈ 15 (영상 코덱) 사진 한 장 보정(HDR) 100 ≈ 10 (ISP) 얼굴 인식 1회 100 ≈ 5 (NPU)
그림 18-2. 같은 일을 CPU 소프트웨어로 할 때와 전용 회로로 할 때의 에너지 비교. 실제 비율은 칩과 작업마다 다르지만, 수 배에서 수십 배 차이가 흔하다.

그래서 SoC 설계는 “무엇을 전용 회로로 만들까”를 고르는 일이기도 하다. 많이 쓰고 방식이 정해진 일(영상, 사진, 음성, AI 추론, 암호화)은 전용 회로로, 새롭거나 드문 일은 CPU로 처리한다. 대신 전용 회로는 정해진 일만 한다. 새로운 영상 압축 방식이 나오면 예전 휴대폰은 그 영상을 CPU로 힘겹게 풀어야 한다.

세상을 느끼는 감각: 센서

스마트폰을 PC와 가장 다르게 만드는 것은 수많은 센서다. 화면을 돌리면 화면이 따라 돌고, 귀에 대면 화면이 꺼지고, 걸음 수가 저절로 세어진다. 센서는 1초에도 수백 번 값을 내놓는데, 그때마다 큰 CPU를 깨우면 배터리가 금방 닳는다. 그래서 SoC에는 아주 작고 전기를 거의 먹지 않는 센서 허브(sensor hub)가 따로 있어, 센서 값을 모으다가 중요한 일이 생겼을 때만 CPU를 깨운다(15장의 인터럽트).

센서재는 것쓰이는 곳
가속도계움직임과 기울기화면 회전, 걸음 수, 흔들어서 실행
자이로스코프회전 속도게임 조작, 사진 흔들림 보정
지자기 센서지구 자기장 방향나침반, 지도 방향
GPS 수신기위성 신호의 도착 시간 차내 위치 (10장의 빛의 속도가 핵심)
근접·조도 센서가까운 물체, 주변 밝기통화 중 화면 끄기, 자동 밝기
이미지 센서빛 → 픽셀 값(2장)카메라, 얼굴 인식
센서를 더 깊이

센서가 물리량을 어떻게 전기 신호로 바꾸는지는 자매 교과서 SensorBook에서 시뮬레이터로 자세히 다룬다.

핵심 정리

  1. SoC는 CPU, GPU, NPU, ISP, 모뎀 등을 칩 하나에 모은 것이다. 거리가 짧아 빠르고 전기를 덜 쓴다.
  2. 배터리 시간 = 배터리 에너지(Wh) ÷ 평균 전력(W). 가벼운 사용에서는 화면, 게임에서는 SoC가 가장 큰 소비처다.
  3. 열을 버릴 곳이 없는 스마트폰은 뜨거워지면 클럭과 전압을 낮춘다(쓰로틀링, DVFS).
  4. 정해진 일을 반복하는 전용 회로는 같은 일을 CPU보다 수 배~수십 배 적은 에너지로 한다.
  5. 센서 허브가 센서를 저전력으로 지켜보다가 필요할 때만 큰 코어를 깨운다.

확인 퀴즈

SoC의 장점으로 가장 거리가 먼 것은?

모든 것이 한 칩(과 그 위에 쌓은 메모리)에 묶여 있어 부품 하나만 바꿀 수 없다. 이것이 SoC의 대표적인 단점이다.

배터리 17 Wh인 휴대폰이 평균 2 W를 쓰면 대략 몇 시간 갈까?

17 Wh ÷ 2 W = 8.5시간.

게임을 오래 하면 fps가 점점 떨어지는 가장 흔한 이유는?

팬이 없는 스마트폰은 열을 버리기 어려워, 정해진 온도를 넘지 않도록 클럭과 전압을 낮춘다(쓰로틀링).

휴대폰이 동영상을 오래 재생할 수 있는 핵심 이유는?

정해진 일만 하도록 배선된 전용 회로는 명령어 해독 같은 부담 없이 같은 일을 훨씬 적은 에너지로 해낸다.

걸음 수를 세는 동안 큰 CPU 코어를 계속 깨워 두지 않아도 되는 이유는?

센서 허브는 아주 작은 전용 프로세서다. 큰 코어는 잠들어 있다가 인터럽트를 받을 때만 깨어난다.