손안의 컴퓨터: 스마트폰과 SoC
주머니 속 스마트폰은 10년 전 데스크톱보다 빠른 컴퓨터다. CPU, GPU, 메모리, 저장장치, 네트워크까지 이 책에서 본 부품이 모두 들어 있다. 다른 점은 단 두 가지다. 손바닥만 한 공간, 그리고 콘센트 대신 작은 배터리. 이 두 제약이 스마트폰 칩을 어떻게 바꿔 놓았는지 살펴본다.
- SoC(시스템 온 칩)가 무엇이고 PC의 부품 배치와 어떻게 다른지 설명한다.
- SoC를 3D로 분해해 CPU, GPU, NPU, ISP, 모뎀이 각각 하는 일을 확인한다.
- 화면 밝기, 하는 일, 통신 상태에 따라 배터리 시간이 어떻게 바뀌는지 계산한다.
- 발열이 성능을 떨어뜨리는 쓰로틀링을 시뮬레이터로 체험한다.
- 전용 회로가 같은 일을 CPU보다 훨씬 적은 전기로 해내는 이유를 이해한다.
칩 하나에 담긴 컴퓨터
데스크톱을 열면 CPU, 메모리, 그래픽카드, SSD가 메인보드 위에 따로따로 꽂혀 있다(22장에서 직접 조립해 볼 수 있다). 부품 사이는 수 cm에서 수십 cm 길이의 선으로 이어진다. 스마트폰에는 그럴 공간이 없다. 그래서 CPU, GPU, AI 계산기, 카메라 처리기, 통신 모뎀까지 손톱만 한 칩 한 개에 모두 새겨 넣는다. 이것이 SoC(System on a Chip)다.
한곳에 모으면 좋은 점이 많다. 부품 사이의 거리가 수 mm로 줄어 데이터가 빨리 오가고, 긴 선을 따라 신호를 보내느라 쓰던 전기가 줄어든다. CPU와 GPU가 같은 메모리를 함께 쓰니 데이터를 복사할 필요도 없다. 최근에는 노트북과 데스크톱도 이 방식을 따라가고 있다(통합 메모리를 쓰는 노트북 칩이 그 예다). 대신 한 부품만 골라 업그레이드할 수는 없다.
SoC 속을 3D로 뜯어보기
아래 모형은 스마트폰 SoC를 단순하게 그린 것이다. 기판 위에 칩 패키지가 있고, 그 안의 실리콘 조각(다이) 위에 여러 전문 구역이 나뉘어 있다. 맨 위에는 메모리 칩을 겹쳐 올렸다. 손톱만 한 다이에 트랜지스터가 100억~200억 개 들어간다.
SoC 분해 모형
왜 이렇게 많은 전문 구역이 필요할까? CPU는 무엇이든 할 수 있는 만능 요리사지만, 같은 일만 반복하는 전용 회로가 그 일을 훨씬 적은 전기로 해낸다. 휴대폰에서 동영상을 몇 시간씩 볼 수 있는 것은 CPU가 아니라 영상 코덱 회로가 압축을 풀기 때문이다. 이 차이는 바로 다음 실험에서 숫자로 확인한다.
배터리는 얼마나 갈까
스마트폰 배터리에는 보통 15~20 와트시(Wh)의 에너지가 들어 있다. 1 W를 쓰는 일을 15~20시간 할 수 있다는 뜻이다. 그러니 배터리 시간은 간단히 배터리 용량(Wh) ÷ 평균 전력(W)이다. 무엇이 전력을 많이 먹는지만 알면 된다.
배터리 시간 계산기
대부분의 일상 사용(웹, 메신저, 영상)에서 전력을 가장 많이 먹는 부품은 무엇일까?
위 계산기에서 “웹·메신저”와 “영상 보기”를 고른 뒤 막대에서 가장 긴 칸을 찾아보자.
뜨거워지면 느려진다
전기는 결국 열이 된다. 스마트폰에는 팬이 없고, 손에 쥐는 물건이라 표면이 40°C를 넘으면 불쾌하거나 위험하다. 그래서 칩은 온도를 재다가 너무 뜨거워지면 스스로 클럭과 전압을 낮춘다. 이것이 쓰로틀링(throttling)이다. 5장에서 본 것처럼 전력은 클럭과 전압에 함께 비례하므로, 클럭을 20%만 낮춰도 전력은 거의 절반으로 준다. 이렇게 상황에 맞춰 전압과 주파수를 바꾸는 기술을 DVFS(Dynamic Voltage and Frequency Scaling)라 한다.
30분 동안 게임을 하면
5장에서 본 큰 코어와 작은 코어가 스마트폰에서 특히 중요하다. 메시지 알림을 확인하거나 음악을 트는 정도의 가벼운 일은 작은 코어가 아주 적은 전기로 처리하고, 큰 코어는 앱을 열거나 게임을 할 때만 깨어난다. 운영체제의 스케줄러(8장)가 일의 무게를 보고 어느 코어에 맡길지 정한다.
전용 회로가 전기를 아끼는 이유
CPU는 어떤 계산이든 할 수 있도록 명령어를 꺼내고, 해독하고, 순서를 맞추는 데 많은 회로와 전기를 쓴다(4·5장). 실제 계산에 쓰는 전기는 그중 일부뿐이다. 반면 영상 코덱 회로는 “압축 풀기”라는 한 가지 일만 하도록 배선 자체를 짜 놓았다. 명령어를 해독할 필요가 없고, 데이터가 회로를 한 번 흘러가면 끝이다.
그래서 SoC 설계는 “무엇을 전용 회로로 만들까”를 고르는 일이기도 하다. 많이 쓰고 방식이 정해진 일(영상, 사진, 음성, AI 추론, 암호화)은 전용 회로로, 새롭거나 드문 일은 CPU로 처리한다. 대신 전용 회로는 정해진 일만 한다. 새로운 영상 압축 방식이 나오면 예전 휴대폰은 그 영상을 CPU로 힘겹게 풀어야 한다.
세상을 느끼는 감각: 센서
스마트폰을 PC와 가장 다르게 만드는 것은 수많은 센서다. 화면을 돌리면 화면이 따라 돌고, 귀에 대면 화면이 꺼지고, 걸음 수가 저절로 세어진다. 센서는 1초에도 수백 번 값을 내놓는데, 그때마다 큰 CPU를 깨우면 배터리가 금방 닳는다. 그래서 SoC에는 아주 작고 전기를 거의 먹지 않는 센서 허브(sensor hub)가 따로 있어, 센서 값을 모으다가 중요한 일이 생겼을 때만 CPU를 깨운다(15장의 인터럽트).
| 센서 | 재는 것 | 쓰이는 곳 |
|---|---|---|
| 가속도계 | 움직임과 기울기 | 화면 회전, 걸음 수, 흔들어서 실행 |
| 자이로스코프 | 회전 속도 | 게임 조작, 사진 흔들림 보정 |
| 지자기 센서 | 지구 자기장 방향 | 나침반, 지도 방향 |
| GPS 수신기 | 위성 신호의 도착 시간 차 | 내 위치 (10장의 빛의 속도가 핵심) |
| 근접·조도 센서 | 가까운 물체, 주변 밝기 | 통화 중 화면 끄기, 자동 밝기 |
| 이미지 센서 | 빛 → 픽셀 값(2장) | 카메라, 얼굴 인식 |
센서가 물리량을 어떻게 전기 신호로 바꾸는지는 자매 교과서 SensorBook에서 시뮬레이터로 자세히 다룬다.
핵심 정리
- SoC는 CPU, GPU, NPU, ISP, 모뎀 등을 칩 하나에 모은 것이다. 거리가 짧아 빠르고 전기를 덜 쓴다.
- 배터리 시간 = 배터리 에너지(Wh) ÷ 평균 전력(W). 가벼운 사용에서는 화면, 게임에서는 SoC가 가장 큰 소비처다.
- 열을 버릴 곳이 없는 스마트폰은 뜨거워지면 클럭과 전압을 낮춘다(쓰로틀링, DVFS).
- 정해진 일을 반복하는 전용 회로는 같은 일을 CPU보다 수 배~수십 배 적은 에너지로 한다.
- 센서 허브가 센서를 저전력으로 지켜보다가 필요할 때만 큰 코어를 깨운다.
확인 퀴즈
SoC의 장점으로 가장 거리가 먼 것은?
배터리 17 Wh인 휴대폰이 평균 2 W를 쓰면 대략 몇 시간 갈까?
게임을 오래 하면 fps가 점점 떨어지는 가장 흔한 이유는?
휴대폰이 동영상을 오래 재생할 수 있는 핵심 이유는?
걸음 수를 세는 동안 큰 CPU 코어를 계속 깨워 두지 않아도 되는 이유는?