🔍 SCU(Snoop Control Unit)란?
SCU, 즉 스눕 컨트롤 유닛은 ARM Cortex-A 시리즈 프로세서에서 클러스터 내 캐시 일관성(Cache Coherency)을 담당하는 하드웨어 블록이다. ARMv7 세대(Cortex-A7, A9, A15, A17)에서 big.LITTLE 아키텍처를 구현하는 핵심 컴포넌트로 자리 잡았다. SCU는 동일한 아키텍처를 가진 코어들만 하나의 클러스터로 묶을 수 있었으며, 클러스터 내 코어들이 서로의 L1/L2 캐시 상태를 추적해 데이터 정합성을 보장했다.
📌 SCU의 핵심 역할은 스눕(Snoop) 요청을 통해 어떤 코어가 특정 캐시 라인을 보유하고 있는지 실시간으로 파악하고, 다른 코어의 쓰기 요청 시 해당 라인을 무효화(Invalidate)하거나 갱신(Update)하는 것이다. ACE(AXI Coherency Extensions) 또는 AXI 인터페이스를 통해 외부 인터커넥트와 연결된다.
🏗️ big.LITTLE과 SCU 기반 멀티클러스터 구조
2011년 ARM이 발표한 big.LITTLE 아키텍처는 고성능 big 코어(예: Cortex-A15)와 저전력 LITTLE 코어(예: Cortex-A7)를 하나의 SoC에 통합하는 방식이다. 그러나 SCU 세대에서는 두 코어 군이 물리적으로 서로 다른 클러스터로 분리되었고, 각 클러스터는 독립적인 SCU를 가졌다.
▶ 클러스터 간 공유 캐시 없음: big 클러스터와 LITTLE 클러스터는 L3 캐시를 공유하지 않는다. 두 클러스터 간 데이터를 교환하려면 반드시 DRAM을 경유해야 했으며, 이는 상당한 레이턴시와 전력 비용을 초래했다.
▶ 동종 코어만 동일 클러스터 가능: SCU 구조상 클러스터 내에는 동일한 마이크로아키텍처를 가진 코어만 배치할 수 있었다. 성능 코어와 효율 코어를 같은 클러스터에 넣는 것은 불가능했다.
▶ 클러스터 단위 DVFS: 전압·클럭 조정은 클러스터 전체 단위로만 가능했다. 클러스터 내 개별 코어를 독립적으로 제어할 수 없어 전력 최적화에 한계가 있었다.
소프트웨어 측면에서는 GTS(Global Task Scheduling)와 클러스터 마이그레이션 정책을 통해 두 클러스터가 협력했지만, OS 스케줄러가 물리적 클러스터 경계를 인식하고 태스크를 이동시키는 복잡한 레이어가 필요했다. Kirin 920, Snapdragon 808/810 등 이 세대의 SoC가 이 구조를 사용했다.
⚡ DynamIQ: 2017년의 패러다임 전환
2017년 ARM은 DynamIQ 기술을 발표하며 멀티코어 클러스터 설계의 근본적인 패러다임을 바꿨다. 핵심 변화는 SCU를 대체하는 DSU(DynamIQ Shared Unit)의 도입이다. DSU는 이전까지 두 개의 분리된 클러스터로 운영되던 big·LITTLE 코어를 단일 클러스터로 통합했다.
🟢 단일 클러스터 통합: 성능 코어(A75, A76, X1·X2·X3·X4)와 효율 코어(A55, A510, A520, A720)가 하나의 DSU 아래 공존한다. 외부 브릿지나 마이그레이션 없이 동일한 캐시 계층을 공유한다.
🟢 내장 공유 L3 캐시: DSU는 클러스터 내 모든 코어가 공유하는 L3 캐시를 내장한다. DSU-110 기준 최대 8MB, DSU-120 기준 최대 64MB까지 구성 가능하다. 코어 간 데이터 교환이 DRAM 경유 없이 L3에서 처리된다.
🟢 AMBA 5 CHI 인터페이스: ACE/AXI를 대체하는 AMBA 5 CHI(Coherent Hub Interface)를 채택해 멀티칩·멀티클러스터 환경에서 캐시 일관성을 확장한다.
🟢 코어 개별 DVFS: 클러스터 내 각 코어가 독립적으로 전압·클럭을 조정할 수 있어 전력 효율이 크게 향상됐다. 부하가 없는 코어만 선택적으로 전력을 낮출 수 있다.
DynamIQ가 최초로 적용된 상용 칩은 2018년 출시된 Kirin 980(Cortex-A76×2 + A76×2 + A55×4, DSU)과 Snapdragon 845(Kryo 385: A75 기반 4코어 + A55 기반 4코어)다. 아래 표는 DSU 기반 주요 상용 SoC의 실제 구성을 보여준다.
▶ DSU 기반 주요 상용 SoC 구성
| 칩셋 | 연도 | 코어 구성 |
|---|---|---|
| Exynos 9820 | 2018 | 삼성 M4×2 + A75×2 + A55×4 커스텀 구성 |
| Dimensity 9300 | 2023 | X4×4 + A720×4 — All-Big 구성 (DSU-120, LITTLE 코어 없음) |
| Snapdragon 8 Gen 3 | 2023 | X4×1 + A720×5 + A520×2 (3-tier 이기종 구성) |
⚠️ DSU의 설계 구조적 한계
DSU도 설계 시점의 구성(Build-time configuration)에 종속되는 명확한 한계가 존재한다.
▶ 스눕 수용 한계: 클러스터가 동시에 처리할 수 있는 스눕 요청 수는 L3 캐시 슬라이스 수와 스눕 추적 데이터베이스 항목 수(NUM_LTDBs)에 의해 물리적으로 고정된다. 이 한계에 도달하면 추가 스눕 요청을 수락하지 않는다.
▶ DVM 트랜잭션 한계: SCU는 마스터 포트당 최대 4개의 분산 가상 메모리(DVM, Distributed Virtual Memory) 트랜잭션까지만 처리한다. 교착 상태(deadlock) 방지를 위해 외부 인터커넥트가 이 한계를 초과하지 않도록 시스템 단위로 구성해야 한다.
▶ 소스 ID 추적 한계: 동시에 다수의 컴포넌트에서 스눕 요청이 집중될 경우 SrcID 필드 추적 한계로 인해 신규 요청이 거부될 수 있다.
🌐 아키텍처 전환이 바꾼 세 가지 흐름
🟢 이기종 컴퓨팅의 구조적 완성: 서로 다른 성능 특성을 가진 코어들이 외부 브릿지 없이 동일한 캐시 계층을 공유하게 됨으로써, OS 스케줄러가 물리적 클러스터 경계를 의식하지 않고도 성능 최적화를 수행할 수 있는 환경이 마련되었다.
🟢 가속기 중심 SoC 설계의 토대: AMBA CHI와 캐시 스태싱을 통해 CPU 클러스터와 NPU·GPU·DMA 등 이기종 가속기 간의 데이터 이동 비용이 급감하면서, AI 추론 워크로드를 SoC 수준에서 효율적으로 처리하는 현대 칩 설계의 토대가 구축되었다.
🟢 소프트웨어 생태계의 단순화: 두 개의 분리된 클러스터를 마이그레이션 정책을 통해 협력시키는 복잡한 소프트웨어 레이어가 불필요해졌다. 운영체제와 드라이버 스택이 하나의 스케줄링 도메인에서 성능 코어와 효율 코어를 함께 관리할 수 있게 되어 복잡도가 근본적으로 낮아졌다.
▶ SCU vs DSU 종합 비교
| 항목 | SCU | DSU |
|---|---|---|
| 대상 아키텍처 | ARMv7 (A7, A15 등) | ARMv8.2+ (A55, A75~X4 등) |
| 이기종 코어 혼용 | 불가 (동종만) | 가능 (단일 클러스터) |
| 공유 L3 캐시 | 없음 | 내장 (최대 수십 MB) |
| 코어별 DVFS | 클러스터 단위만 | 코어 개별 독립 |
| 외부 인터페이스 | ACE / AXI | AMBA 5 CHI |
| 캐시 스태싱 | 미지원 | 지원 (NPU→L3 직접 주입) |
| 최대 코어 수 | 클러스터당 4~8 | 최대 14 (DSU-120) |
🧠 2017년 DynamIQ와 함께 출발한 이 구조적 전환은, 그 이후 등장한 Cortex-X 시리즈의 초고성능 코어와 Cortex-A520·A720 등 고효율 코어가 함께 공존하는 현재의 헤테로지니어스 클러스터 설계로 직결된다. DSU는 ARM이 모바일을 넘어 서버·자동차·엣지 AI로 영역을 확장하는 과정에서 클러스터 통합의 표준 청사진으로 자리 잡았다.
참고 출처: ARM Developer Documentation (developer.arm.com) — DynamIQ Shared Unit Technical Reference Manual, Cortex-A75/A55 Core Technical Reference Manual
본 글은 공개된 데이터와 출처를 바탕으로 작성했습니다. 최종 업데이트: 2026-06-26