게임 콘솔 SoC, CPU와 GPU를 한 칩에 묶은 APU 구조

게임 콘솔 SoC, CPU와 GPU를 한 칩에 묶은 APU 구조

설명서와 부품이 한 상자에 정해진 조립 세트를 떠올려 보겠습니다. 어떤 조각이 몇 개 들어 있는지 설계자가 이미 알고 있으니, 조각 사이의 간격과 조립 순서를 아주 정교하게 맞출 수 있죠.

게임 콘솔 SoC가 이런 조립 세트와 비슷합니다. 모든 기기에 같은 칩이 들어가므로 설계자는 CPU와 GPU, 메모리의 비율을 정해 놓고 한 칩 안에서 각 블록이 협력하는 방식을 다듬을 수 있습니다. 이 글은 그 구조와, 그 구조를 정하는 비용과 전력과 열의 제약을 살펴봅니다.

조립 세트는 완성하면 끝이지만 콘솔은 출시 후 수년 동안 새 게임이 계속 올라옵니다. 또 칩 속 블록은 조각처럼 따로 놀지 않고 메모리 대역폭과 전력, 열을 함께 나눠 쓴다는 점도 다릅니다.

게임 콘솔 SoC가 한 프레임 안에서 하는 일

시스템 온 칩(SoC, System on a Chip)은 연산 블록과 메모리 제어, 입출력을 한 장의 실리콘에 올린 칩입니다. 콘솔에서는 이 칩 하나가 게임의 계산과 화면 그리기, 소리 처리, 저장장치 접근을 거의 모두 맡습니다.

화면 한 장을 만드는 일은 역할이 나뉩니다. CPU가 게임의 규칙과 물리 계산, 장면 구성을 처리해 그릴 목록을 준비하면, GPU가 그 목록대로 수많은 픽셀을 계산해 화면을 그립니다. 한 프레임을 그리는 동안 CPU는 벌써 다음 프레임을 준비하는 식으로 겹쳐 일하죠.

가상 계산 예시, 한 프레임의 시간 예산초당 60장을 목표로 하면 한 프레임에 쓸 수 있는 시간은 1000 ms ÷ 60 ≈ 16.7 ms입니다. CPU 준비가 6 ms, GPU 그리기가 14 ms라면 둘이 겹쳐 일하므로 둘 다 16.7 ms 안에 들어와 목표를 맞춥니다.

GPU 그리기가 18 ms로 늘면 16.7 ms를 넘겨 목표를 놓칩니다. 이때 개발자는 해상도나 효과를 줄여 GPU의 일을 덜어 냅니다. 숫자는 설명을 위한 가정입니다.

APU 구조, 한 다이 안에 모이는 블록들

CPU와 GPU를 한 다이 안에 통합한 프로세서를 흔히 APU(Accelerated Processing Unit)라고 부릅니다. 콘솔 칩은 이 구조에 게임에 필요한 블록을 더한 형태가 많습니다.

콘솔 SoC의 주요 블록

  • CPU 코어 묶음: 게임 로직과 물리, 운영체제 같은 순서와 분기가 중요한 일을 맡습니다.
  • GPU: 같은 계산을 수많은 픽셀과 정점에 반복하는 그래픽 연산을 병렬로 처리합니다.
  • 메모리 컨트롤러: CPU와 GPU와 다른 블록의 요청을 줄 세워 메모리로 보냅니다.
  • 인터커넥트와 캐시: 블록 사이를 잇고, 자주 쓰는 데이터를 칩 안에 둡니다.
  • 전용 블록: 영상 디코딩과 인코딩, 화면 출력, 오디오 처리, 저장장치 컨트롤러가 들어갑니다.

한 칩에 모으는 이유는 PC의 구조와 비교하면 분명해집니다. PC에서는 CPU와 GPU가 서로 다른 칩이고 PCIe라는 외부 통로로 데이터를 주고받지만, 한 다이 안에서는 훨씬 짧고 넓은 통로로 이어 지연과 전력을 줄일 수 있습니다.

스마트폰 AP와 원리는 같되 목표는 다릅니다. 배터리가 아니라 정해진 가격 안에서 최대의 그래픽 성능을 뽑는 데 맞춥니다.

통합 메모리, CPU와 GPU가 한 메모리를 나눠 쓰는 방식

PC에서는 GPU가 전용 메모리를 따로 갖고, 게임 데이터는 시스템 메모리에서 GPU 메모리로 복사해야 합니다. 통합 메모리(공유 메모리) 구조에서는 CPU와 GPU가 하나의 메모리 풀을 함께 씁니다. 복사가 필요 없고 같은 데이터를 두 블록이 포인터로 가리킬 수 있다는 점이 가장 큰 이점입니다.

메모리를 한 벌만 두면 부품 수와 보드 면적, 비용도 줄어듭니다. 개발자도 그래픽용과 일반용 메모리를 나눠 관리하는 부담에서 벗어나, 필요한 만큼 유연하게 나눠 쓸 수 있죠.

대가는 대역폭 경쟁입니다. GPU는 대역폭을 크게 먹고 CPU는 지연에 민감한 요청을 하는데, 둘이 같은 통로를 나눠 쓰면 GPU가 바쁜 순간에 CPU의 요청이 늦어질 수 있습니다. 이 때문에 메모리 컨트롤러는 요청마다 우선순위를 두고 조율합니다.

가상 계산 예시, 한 메모리의 대역폭 나눠 쓰기메모리의 이론상 대역폭이 400 GB/s라고 가정합니다. GPU 렌더링이 280 GB/s, 영상 처리와 화면 출력이 40 GB/s, CPU가 50 GB/s를 요청하면 합은 370 GB/s이고 여유는 30 GB/s입니다.

실제로는 여러 요청이 섞이면 이론값을 모두 쓰지 못해서 이 정도 여유는 거의 없는 셈입니다. 어느 한 블록이 요청을 늘리면 다른 블록이 느려지는 관계가 통합 메모리의 핵심입니다.

메모리 종류의 선택도 절충입니다. GPU는 대역폭이 큰 메모리를, CPU는 짧은 지연을 선호하므로, 어느 쪽에 맞춘 메모리를 풀로 쓸지에 따라 한쪽이 손해를 봅니다. 이 차이는 DDR과 GDDR을 비교한 글에서 다룬 성격 차이와 이어집니다.

가격과 전력과 열이 칩 크기를 정하는 과정

콘솔은 정해진 가격대로 많은 대수를 파는 제품이어서 게임 콘솔 SoC 한 개의 단가가 곧 제품의 가격을 좌우합니다. 칩 단가는 면적이 크게 좌우합니다. 같은 웨이퍼에서 다이가 커질수록 나오는 개수가 줄고, 결함 하나에 걸릴 확률도 높아져 양품률이 떨어집니다.

가상 계산 예시, 다이 면적과 웨이퍼당 개수지름 300 mm 웨이퍼의 면적은 π × 150² ≈ 70686 mm²입니다. 가장자리 손실을 무시하면 다이 면적이 300 mm²일 때 약 235개, 150 mm²일 때 약 471개가 나옵니다.

면적이 절반이면 웨이퍼당 개수가 약 두 배이고, 실제로는 경계 손실과 양품률 효과가 더해져 차이가 더 커집니다. 이 값은 계산 방법을 보여 주는 가정입니다.

전력과 열도 상한이 있습니다. 거실에 놓는 기기여서 전원 어댑터 용량과 팬 소음, 케이스 표면 온도에 한계가 있고, CPU와 GPU가 한 칩에서 하나의 전력 예산을 나눠 씁니다. 그래서 부하에 따라 한쪽에 전력을 더 주고 다른 쪽은 줄이는 방식으로 클록을 조절하는 설계가 쓰입니다.

열이 한 칩에 몰리는 점도 부담입니다. 칩 하나가 큰 열을 내므로 방열판과 히트 파이프, 팬을 칩과 함께 설계합니다. 칩이 정해진 뒤에 쿨러를 맞추는 것이 아니라, 처음부터 둘을 하나의 시스템으로 보는 것이 일반적입니다.

전용 블록이 CPU의 일을 덜어 주는 방식

콘솔 칩은 게임에서 반복되는 일을 전용 하드웨어로 떼어 내 CPU의 부담을 줄입니다. 저장장치에서 읽은 압축 데이터를 푸는 일을 CPU 대신 전용 엔진이 맡거나, 오디오 효과를 전용 프로세서가 처리하는 식입니다. 어떤 블록을 넣을지는 기종마다 다릅니다.

영상 디코딩과 화면 출력도 비슷합니다. 고정된 순서로 반복되는 일은 전용 회로가 범용 프로세서보다 적은 전력으로 처리하므로, 한정된 전력 예산을 CPU와 GPU의 본업에 돌릴 수 있습니다.

고정 사양 플랫폼이 주는 최적화의 이점과 부담

모든 기기가 같은 하드웨어라는 점은 개발자에게 큰 이점입니다. 칩의 캐시 크기와 메모리 구조에 맞춰 데이터를 배치하고, 하드웨어 기능에 가까운 방식으로 접근하는 저수준 도구를 쓸 수 있죠. GPU 종류가 다양한 PC와 달리 셰이더 프로그램을 해당 칩에 맞게 미리 준비해 둘 수 있어, 처음 실행할 때 생기는 지연도 줄일 수 있습니다.

그 덕에 같은 칩에서도 시간이 갈수록 게임이 더 나은 화면을 보여 주는 일이 생깁니다. 개발자가 하드웨어 특성을 점점 더 잘 활용하게 되기 때문입니다.

부담도 있습니다. 한 번 정한 구조를 수년 동안 쓰므로, 설계 시점에 몇 년 뒤의 게임이 요구할 부하를 예측해야 합니다. 또 이전 세대 게임을 새 하드웨어에서 돌리려면 동작을 맞추는 설계 부담이 따라붙습니다.

게임 콘솔 SoC 성능을 둘러싼 흔한 오해

연산 성능 수치가 같으면 체감 성능도 같다는 생각은 흔한 오해입니다. 연산 성능 수치는 GPU가 이론상 낼 수 있는 최대치일 뿐이고, 실제 화면은 메모리 대역폭과 캐시, 전력 분배, 개발자의 최적화에 크게 좌우됩니다.

통합 메모리가 항상 분리 메모리보다 빠르다고 보는 것도 오해입니다. 복사를 줄이는 이점이 분명한 대신 대역폭을 나눠 쓰는 대가가 있고, 어느 쪽이 유리한지는 게임이 메모리를 어떻게 쓰는지에 따라 갈립니다. 이 글에서는 특정 기종의 사양은 다루지 않고 구조의 원리에 집중했습니다.

분리 메모리와 통합 메모리 비교 표

구분분리 메모리 구조통합 메모리 구조
메모리 구성CPU용과 GPU용 메모리를 따로 둠하나의 메모리 풀을 함께 사용
데이터 전달외부 통로로 복사해 옮겨야 함복사 없이 같은 데이터를 가리킴
대역폭각 메모리가 대역폭을 독립적으로 가짐CPU와 GPU가 한 대역폭을 나눠 씀
비용과 면적메모리가 두 벌이라 부품과 보드 면적이 늘어남메모리 한 벌로 부품과 비용을 줄임
유연성GPU 메모리 용량이 고정되어 CPU 쪽 여유를 GPU가 쓸 수 없음필요에 따라 CPU와 GPU가 용량을 나눠 씀
놓치기 쉬운 점복사 비용이 병목이 될 수 있음GPU가 바쁘면 CPU의 요청이 늦어질 수 있음

핵심 정리

게임 콘솔 SoC는 CPU와 GPU, 메모리 제어, 전용 블록을 한 칩에 모아 정해진 가격과 전력, 열 안에서 최대의 그래픽 성능을 뽑아내는 구조입니다. 통합 메모리는 복사와 비용을 줄이는 대신 대역폭을 나눠 쓰는 절충이고, 고정 사양은 깊은 최적화를 가능하게 하는 대신 몇 년 앞을 내다본 설계를 요구합니다.

설명서가 정해진 조립 세트처럼, 부품이 정해져 있기에 정교한 맞춤이 가능해지는 구조입니다. 콘솔 칩을 볼 때는 코어 수나 최대 연산 수치보다 메모리를 어떻게 나눠 쓰고 전력을 어떻게 배분하는지를 먼저 살펴보는 편이 이해에 도움이 됩니다.

면접 대비 질문

면접 대비 질문CPU와 GPU가 하나의 메모리를 공유하는 통합 메모리 구조의 장점과 한계를 설명하고, 콘솔처럼 고정 사양 기기에서 이 구조가 유리한 이유를 말해 보세요.

[답변 포인트] 통합 메모리는 CPU와 GPU 사이의 데이터 복사가 필요 없고 같은 주소 공간을 공유하며, 메모리 한 벌로 부품과 보드 면적, 비용을 줄인다는 장점으로 시작합니다. 한계로 CPU와 GPU가 한 대역폭을 나눠 써 GPU가 바쁠 때 CPU의 요청이 늦어질 수 있고, GPU는 대역폭을 CPU는 지연을 선호해 메모리 종류를 정하기 어렵다는 점을 짚습니다. 고정 사양에서는 모든 기기가 같은 구조라 개발자가 메모리 배치와 접근 방식을 그 구조에 맞춰 최적화할 수 있고, 가격과 전력, 열 상한 안에서 칩 면적과 전력 배분을 미리 설계할 수 있다는 점을 연결하면 좋습니다.