이기종 멀티코어 아키텍처와 CPU·GPU 작업 분배

이기종 멀티코어의 설계 방식과 big.LITTLE, AMP, Cell BE, OMAP, APU 및 hUMA의 작업 분배 구조를 정리한다.

2026-08-14 · 최초 발행 2025-12-28

한 칩 안에서 역할이 다른 코어를 쓰는 방식

이기종 멀티코어는 성능 특성이나 전력 특성이 다른 프로세서 코어를 하나의 칩에 통합하는 구조다. 모든 작업을 동일한 코어에 맡기기보다, 작업의 성격에 맞는 연산 자원을 선택해 성능과 효율 사이의 균형을 맞춘다. 구현 형태는 대체로 SoC(System on Chip)다.

대표적인 방식으로는 성능 코어와 효율 코어를 함께 두는 ARM big.LITTLE, 코어마다 독립된 역할을 부여하는 AMP, 범용 제어 코어와 벡터 처리 코어를 결합한 IBM Cell BE가 있다. 멀티미디어용 TI OMAP과 CPU·GPU 통합을 지향하는 APU도 이기종 연산 자원의 배치라는 점에서 같은 흐름에 놓인다.

big.LITTLE에서 DynamIQ로 이어진 ARM의 구성

ARM big.LITTLE은 고성능 Big Core와 저전력 LITTLE Core를 함께 사용한다. Big Core는 Cortex-A72, A76, A78 등을 포함하며 Out-of-Order 실행과 복잡한 분기 예측을 사용한다. 높은 성능을 얻는 대신 전력 소비가 크다.

LITTLE Core에는 Cortex-A53, A55 등이 있으며, In-Order 실행과 단순한 파이프라인을 통해 낮은 전력 소비를 목표로 한다.

작업을 두 클러스터에 배치하는 방식은 다음과 같이 구분할 수 있다.

  • Cluster Switching은 부하에 따라 전체 클러스터를 전환하며 Big 또는 LITTLE 중 한쪽만 활성화한다.
  • CPU Migration은 작업을 Big과 LITTLE 사이에서 옮기고, 개별 코어 수준의 제어를 통해 전력 관리를 세밀하게 수행한다.
  • Global Task Scheduling(HMP)은 모든 코어를 동시에 활용하며 작업마다 적합한 코어를 할당한다.
big.LITTLE 구조LITTLE ClusterBig ClusterLITTLE Core 0(고효율)Big Core 0(고성능)L2 CacheBig Core 1(고성능)L2 CacheLITTLE Core 1(고효율)LITTLE Core 2(고효율)LITTLE Core 3(고효율)Cache CoherentInterconnectSystem Memory

DynamIQ는 big.LITTLE을 발전시킨 구조다. Big Core와 LITTLE Core를 같은 클러스터에 섞어 배치하고, 공유 L3 캐시를 통해 더 세밀한 전력·성능 조정과 코어 간 지연시간 감소를 지향한다.

DynamIQ 클러스터Big Core공유 L3 CacheBig CoreLITTLE CoreLITTLE CoreLITTLE CoreLITTLE Core

AMP는 코어 역할을 분리한다

AMP(Asymmetric Multi-Processing)는 코어가 독립적인 운영체제 또는 작업을 실행하는 비대칭 멀티프로세싱 방식이다. 동적 부하 분산보다 정적 파티셔닝에 가깝고, 결정론성이 필요한 실시간 시스템에 적합하다.

특성 AMP SMP
OS 구조 코어별 독립 또는 분할 단일 OS 이미지
부하 분산 정적 할당 동적 할당
캐시 일관성 선택적 필수
결정론성 높음 낮음
구현 복잡도 낮음 높음

실시간 제어와 범용 처리를 분리하는 구성이 한 사례다. 실시간 코어는 모터 제어나 센서 처리를, 범용 코어는 UI·통신·로깅을 맡는다. 안전 임계 시스템에서는 인증된 코어에서 안전 기능을 실행하고 비인증 코어에서 부가 기능을 실행할 수 있다. 보안 분리 관점에서는 Secure 코어가 암호화와 인증을, Non-secure 코어가 일반 애플리케이션을 담당한다.

Cell BE는 제어와 벡터 연산을 나눴다

IBM Cell BE(Broadband Engine)는 PowerPC 기반의 PPE(Power Processor Element)와 SPE(Synergistic Processor Element) × 8로 구성된다. PPE는 64비트 코어로 운영체제를 실행하고 작업을 조정한다. SPE는 벡터 처리에 특화됐으며, 128비트 SIMD와 256KB 로컬 저장소를 사용하고 DMA 기반으로 데이터를 전송한다.

PPE와 SPE, 메모리 컨트롤러는 96GB/s 대역폭의 고속 링 버스인 EIB(Element Interconnect Bus)로 연결된다.

IBM Cell BEPPE(PowerPC)Element Interconnect Bus(Ring)SPE 1SPE 2SPE 3SPE 4SPE 5SPE 6SPE 7SPE 8Memory InterfaceControllerBus InterfaceController

각 SPE의 로컬 저장소는 캐시 대신 명시적으로 관리된다. DMA를 이용해 데이터를 이동하므로 예측 가능한 성능을 얻을 수 있지만, 데이터 관리가 복잡해진다. DMA 엔진은 비동기 전송과 이중 버퍼링을 지원하며, 연산과 데이터 전송을 겹칠 수 있다. PPE는 SPE를 제어하고 메일박스로 통신한다.

Cell BE는 PlayStation 3 게임 콘솔, 슈퍼컴퓨터 Roadrunner, 영상 처리, 과학 계산에 사용됐다.

OMAP은 멀티미디어 작업을 전용 자원에 배치한다

TI OMAP(Open Multimedia Application Platform)은 범용 처리와 멀티미디어 처리를 각기 다른 연산 자원에 나눈다. ARM Cortex-A 계열 CPU는 범용 애플리케이션과 운영체제를 맡고, TI C64x+ DSP는 비디오 코덱·오디오 처리·고정소수점 연산에 사용된다. PowerVR SGX GPU는 3D 그래픽 가속과 2D 합성을, IVA(Image/Video Accelerator)는 하드웨어 코덱과 1080p 인코딩·디코딩을 담당한다.

TI OMAPARM Cortex-ACPUL3/L4 InterconnectC64x+ DSPPowerVR SGXGPUIVA(Video Accel)Camera ISPSDRAMController

CPU는 Android/Linux 운영체제, 애플리케이션, 사용자 인터페이스를 처리한다. DSP는 MP3·AAC 오디오, 음성 인식, 이미지 전처리를 맡는다. GPU는 UI 렌더링, 게임 그래픽, OpenGL ES를 처리하고, IVA는 H.264 및 MPEG-4 인코딩·디코딩과 비디오 녹화·재생을 담당한다.

전력 관리는 SmartReflex 전압 조정, 코어별 독립적 클럭 게이팅, 동적 전압/주파수 조정(DVFS), 유휴 코어 전원 차단으로 수행한다.

APU와 통합 메모리의 의미

APU(Accelerated Processing Unit)는 CPU와 GPU를 하나의 다이에 통합하고 통합 메모리 아키텍처를 사용하는 구조다. AMD의 Fusion 프로젝트에서 시작됐으며 현재는 표준 구조로 정착했다.

HSA(Heterogeneous System Architecture)는 CPU와 GPU 사이의 장벽을 줄이기 위해 통합 메모리 공간, 캐시 일관성, 단순화된 프로그래밍 모델을 지향한다. hUMA(heterogeneous Unified Memory Access)는 CPU와 GPU가 같은 물리 메모리를 공유하도록 해 포인터 공유를 가능하게 하고 데이터 복사를 줄여 제로 카피를 실현한다.

APU 구조 (hUMA)CPU CoresUnified MemoryGPU Cores전통적 구조PCIe 복사CPUSystem MemoryGPU (PCIe)GPU Memory

AMD APU의 발전 과정에는 첫 APU 제품인 Llano(2011), 단일 다이 통합과 Piledriver CPU + VLIW5 GPU를 사용한 Trinity / Richland(2012-2013), HSA 1.0 지원·hUMA 구현·GCN GPU 아키텍처를 포함한 Kaveri(2014)가 있다. Ryzen APU(2017~)는 Zen CPU 아키텍처, Vega GPU 통합, DDR4 메모리, 향상된 hUMA를 사용한다.

Intel 내장 그래픽도 CPU와 동일 다이 및 공유 LLC(Last Level Cache)를 사용하는 HD Graphics(Sandy Bridge~), eDRAM을 추가한 Iris Graphics, 독립 실행과 타일 기반 아키텍처를 내세운 Xe Graphics(Gen12)로 발전했다.

통합 구조는 별도 GPU와 그에 따른 BOM 비용을 줄일 수 있고, 데이터 전송 오버헤드를 낮춰 레이턴시 감소에 기여한다. 단일 칩의 공유 전원 관리로 전력 효율을 높이며, 소형화가 필요한 노트북과 임베디드 환경에 적합하다.

OpenCL은 CPU/GPU 통합 프로그래밍, 제로 카피 버퍼, Fine-grained 동기화를 제공한다. HSA Runtime은 표준 메모리 모델과 Task Queuing, Signal/Barrier를 다룬다. DirectX와 Vulkan도 통합 메모리를 활용해 리소스를 효율적으로 공유할 수 있다.

설계와 운영에서 남는 문제

이기종 구조에서는 어떤 작업을 어느 코어에 배치할지 결정해야 하며, 동적으로 바뀌는 부하에 대응하면서 전력 소비도 최소화해야 한다. 코어별 성능 차이가 크므로 작업 실행 시간을 예측하기 어렵고 벤치마킹도 복잡해진다.

개발자는 각 코어의 특성을 이해하고 명시적으로 작업을 나눠야 하며, 이 과정은 디버깅을 어렵게 만든다. 캐시 구조가 서로 다르면 일관성 프로토콜의 오버헤드도 발생한다. hUMA는 이 문제의 일부를 해결하는 접근이다.

이기종 멀티코어big.LITTLEAMPAPUHSA컴퓨터구조