ARM RISC 아키텍처와 저전력 프로세서 설계

ARM의 RISC·Load-Store 설계, Cortex 계열, 명령어 세트, 메모리 구조와 x86 비교를 정리한다.

2026-08-14 · 최초 발행 2026-01-03

저전력 제약에서 출발한 ARM 아키텍처

ARM(Advanced RISC Machine)은 모바일과 임베디드 시스템을 겨냥한 RISC 기반 프로세서 아키텍처다. 단순한 명령어 구성, Load-Store 방식, 고정 길이 명령어는 파이프라인 구현을 단순하게 만들고 전력 효율을 높이는 데 연결된다.

ARM Holdings는 설계를 라이선스하는 방식으로 생태계를 확장했다. 이 모델을 통해 삼성, 애플, 퀄컴 등 여러 제조사가 ARM 기반 칩을 설계하며, 적용 범위는 스마트폰·태블릿·IoT에서 서버까지 넓어졌다.

ARM의 흐름은 1983년 Acorn Computers의 ARM1 개발에서 시작한다. 1985년에는 BBC Micro 컴퓨터용 ARM2가 출시됐고, 1990년 ARM Holdings가 스핀오프 형태로 설립됐다. 이후 1990년대 ARM7과 ARM9가 임베디드 시스템에 쓰였으며, 2000년대 ARM11은 초기 스마트폰에 사용됐다. 2010년대에는 Cortex 시리즈가 모바일 시장에서 확산됐고, 2020년대 ARMv9는 AI와 보안을 강화하는 방향으로 제시됐다.

Apple M1/M2/M3 같은 ARM 기반 PC, AWS Graviton 기반 서버가 등장했고, Nvidia의 ARM Holdings 인수 시도는 실패했다. ARM Holdings는 2023년에 IPO를 진행했다.

1983ARM11990ARM Holdings설립2000sARM11(스마트폰)2010sCortex 시리즈(모바일 지배)2020sApple Silicon(PC 진출)ARMv9(AI, 보안)

명령어와 전력 설계가 만나는 지점

RISC 원칙은 명령어 세트를 단순하게 유지하고, 고정 길이 명령어와 Load-Store 아키텍처를 채택하며, 다수의 범용 레지스터를 활용하는 방식이다. 하드웨어 설계를 단순하게 만들고 파이프라인 효율과 저전력 소비에 유리하며, 높은 클록 주파수를 가능하게 한다.

전력 효율은 단순한 명령어 세트로 트랜지스터 수를 줄이고, 파이프라인 최적화와 클록 게이팅, 동적 전압/주파수 조절(DVFS), 고성능 코어와 저전력 코어를 조합하는 Big.LITTLE 아키텍처로 다뤄진다. 배터리 수명과 발열 관리가 핵심인 모바일 환경에서 ARM이 우위를 확보한 배경이다.

메모리 접근은 Load와 Store 명령어에 한정하고, ALU 연산은 레지스터 사이에서만 수행한다. 메모리와 ALU의 역할을 분리하면 명령어 형식이 단순해지고 메모리 접근 예측과 파이프라인 처리가 쉬워진다.

// ARM (Load-Store)
LDR R1, [R2]       // R1 ← Memory[R2]
ADD R3, R1, R4     // R3 ← R1 + R4
STR R3, [R5]       // Memory[R5] ← R3

// x86 (Memory-Register)
ADD eax, [ebx]     // eax ← eax + Memory[ebx]

ARM 명령어는 32비트 고정 길이여서 디코딩과 파이프라인 처리에 적합하다. Thumb 명령어는 16비트 고정 길이로 코드 밀도를 높이고 메모리 사용량을 낮춘다. Thumb-2는 16비트와 32비트 명령어를 함께 사용해 ARM의 성능과 Thumb의 코드 밀도를 결합한다.

Cortex 계열은 요구 조건에 따라 갈린다

Cortex-A(Application)는 스마트폰, 태블릿, PC, 서버처럼 고성능 애플리케이션 프로세서가 필요한 곳을 겨냥한다. MMU 기반 가상 메모리, 멀티코어, NEON SIMD 확장, TrustZone 보안을 지원한다. Cortex-A15는 Out-of-Order 기반 고성능 모델이고, Cortex-A53은 In-Order 기반 저전력 모델이다. Cortex-A72는 64비트 고성능 모델이며, Cortex-A76은 AI 가속, Cortex-X3은 2022년 기준 최고 성능을 목표로 한다.

Cortex-R(Real-time)은 자동차 ECU와 ADAS, 산업 제어, 의료 기기처럼 결정적인 응답 시간이 필요한 환경에 맞춰졌다. Cortex-R4는 기본 실시간 용도, Cortex-R5는 안전 중시 용도, Cortex-R52는 최신 자동차 용도에 해당한다. MPU, ECC 메모리 보호, 이중화하는 Lockstep 모드를 제공한다.

Cortex-M(Microcontroller)은 IoT, 센서, 웨어러블용 마이크로컨트롤러 계열이다. Cortex-M0는 최소 비용, Cortex-M3는 범용, Cortex-M4는 DSP 확장, Cortex-M7은 고성능 임베디드, Cortex-M55는 2020년 AI/ML 용도로 제시됐다. Thumb-2만 지원하며, 낮은 전력 소비와 간단한 인터럽트 처리, 저렴한 가격이 특징이다.

항목 Cortex-A Cortex-R Cortex-M
용도 Application Real-time Microcontroller
성능 높음 중간 낮음
메모리 관리 MMU (가상 메모리) MPU (보호) MPU (옵션)
OS 지원 Linux, Android, iOS RTOS RTOS, Bare-metal
명령어 세트 ARM, Thumb-2 ARM, Thumb-2 Thumb-2만
응답 시간 비결정적 결정적 결정적
사용 예 스마트폰, PC 자동차 ECU IoT 센서

레지스터와 명령어 실행 방식

ARMv7에서는 R0부터 R15까지 16개 범용 레지스터를 사용하며 각 레지스터는 32비트다. ARMv8 AArch64에서는 각 레지스터가 64비트다. R0~R12는 일반 용도이고, R13은 스택 포인터(SP), R14는 함수 반환 주소를 담는 링크 레지스터(LR), R15는 프로그램 카운터(PC)다.

CPSR(Current Program Status Register)은 N(Negative), Z(Zero), C(Carry), V(Overflow) 조건 플래그와 I(IRQ), F(FIQ) 인터럽트 마스크, User·Supervisor·IRQ·FIQ 등의 모드 비트를 포함한다. SPSR(Saved Program Status Register)은 예외 시 CPSR을 백업하고 예외 복귀 시 이를 복원한다.

모드별 뱅크 레지스터도 있다. User 모드는 R0R15를 공유하지만, FIQ 모드는 R8R14를 전용으로 사용하고, IRQ 및 Supervisor 모드는 각각 R13과 R14를 전용으로 쓴다. 컨텍스트 전환을 줄이고 빠른 인터럽트 처리를 지원하기 위한 구조다.

ARM 명령어는 32비트 고정 길이이며, 모든 명령어에 조건부 실행을 적용할 수 있고 Dest, Src1, Src2 형태의 3-주소 명령어를 사용한다.

ADD R0, R1, R2        // R0 ← R1 + R2
SUB R3, R4, #5        // R3 ← R4 - 5
MOV R5, R6            // R5 ← R6
LDR R7, [R8]          // R7 ← Memory[R8]
STR R9, [R10, #4]     // Memory[R10 + 4] ← R9

Thumb은 16비트 고정 길이를 사용하며 코드 크기를 30% 줄이고, 주로 R0~R7에 대한 레지스터 접근을 사용한다. 메모리가 제한된 임베디드 시스템에서 코드 크기를 줄이는 용도다.

ADD R0, R1            // R0 ← R0 + R1 (2-주소)
MOV R2, #10           // R2 ← 10
LDR R3, [R4]          // R3 ← Memory[R4]

Thumb-2는 16비트와 32비트 명령어를 혼합한다. 대부분은 16비트로 코드 밀도를 유지하고, 필요할 때 32비트 명령어로 성능을 확보한다. Cortex-M 시리즈의 기본 명령어 세트다.

조건부 실행은 분기 없이 조건을 처리하는 방식이다. EQ는 Z == 1, NE는 Z == 0, GT는 Z == 0 && N == V, LT는 N != V일 때 사용한다. 짧은 조건문에서 분기 예측 오버헤드와 파이프라인 플러시를 줄이는 데 유리하다.

CMP R0, R1            // R0와 R1 비교 (플래그 설정)
ADDEQ R2, R3, R4      // if (R0 == R1) then R2 ← R3 + R4
SUBNE R5, R6, R7      // if (R0 != R1) then R5 ← R6 - R7

주소 공간, 캐시, 가상 메모리

일반적인 메모리 맵에서는 0x00000000 ~ 0x7FFFFFFF를 User 공간으로, 0x80000000 ~ 0xFFFFFFFF를 Kernel 공간으로 둔다. 메모리는 실행 코드인 Code(Text), 전역 변수의 Data, 동적 할당 영역인 Heap, 지역 변수와 함수 호출을 위한 Stack으로 나뉜다.

L1은 명령어 캐시(I-Cache)와 데이터 캐시(D-Cache)로 구성되며 일반적으로 32KB ~ 64KB다. L2는 명령어와 데이터를 함께 저장하는 통합 캐시로 256KB ~ 2MB 범위다. L3는 고성능 모델에서 멀티코어가 공유하며 수 MB 크기를 가진다.

MMU(Memory Management Unit)는 페이지 테이블과 TLB(Translation Lookaside Buffer)를 이용해 가상 주소를 물리 주소로 변환한다. 페이지 크기는 4KB, 64KB, 1MB, 16MB를 사용할 수 있다. 읽기·쓰기·실행 권한과 User/Kernel 모드 분리는 메모리 보호에 사용된다.

ARM과 x86의 선택 기준

항목 ARM x86
설계 철학 RISC CISC
명령어 길이 고정 (32비트/16비트) 가변 (1~15바이트)
명령어 수 적음 많음
레지스터 수 16개 (ARMv7) 8개 (x86), 16개 (x86-64)
메모리 접근 Load-Store Memory-Register
전력 소비 낮음 높음
성능 (동일 W) 낮음 높음
전력 효율 높음 낮음

ARM은 배터리 수명이 중요한 모바일 환경과 발열 관리가 필요한 팬리스 설계에서 강점을 보인다. Apple M1은 팬리스 설계 사례이며, 단순한 설계는 제조 비용을 낮추는 방향으로도 작용한다.

x86은 높은 클록과 Out-of-Order 실행을 통한 단일 스레드 성능, 수십 년간 축적된 레거시 소프트웨어 호환성, 고성능 서버 분야의 우위를 강점으로 둔다. 최근에는 Apple M2와 AWS Graviton3로 ARM 성능이 향상됐고, Intel Alder Lake의 E-core처럼 x86의 전력 효율도 개선되면서 격차가 줄어들고 있다.

ARM은 스마트폰과 태블릿에서 99%, IoT·웨어러블·임베디드 시스템에서 널리 쓰인다. x86은 PC·노트북에서 90%, 서버에서 80%를 차지하며 워크스테이션에 사용된다. ARM PC에서는 Apple Silicon과 Qualcomm Snapdragon X, ARM 서버에서는 AWS Graviton과 Ampere Altra가 경쟁 영역을 넓히고 있으며, Intel Atom은 x86 모바일 시장에서 쇠퇴했다.

라이선스 모델과 확장된 생태계

Instruction Set License는 ARM 명령어 세트만 라이선스해 직접 프로세서를 설계하는 방식이다. Apple의 A-series와 M-series, Qualcomm Kryo가 사례다. Processor IP License는 ARM이 설계한 코어를 그대로 사용하거나 약간 수정하는 방식으로, 삼성 Exynos와 MediaTek Dimensity가 여기에 해당한다. Physical IP License에는 제조용 물리적 설계가 포함돼 바로 제조할 수 있다.

모바일에서는 Apple iPhone의 A-series, 삼성 Galaxy의 Exynos, 퀄컴 Snapdragon, MediaTek Dimensity가 ARM 기반으로 사용된다. 임베디드 영역에는 Raspberry Pi의 Broadcom BCM, 일부 Arduino 모델, 자동차 ECU가 있다. 서버에서는 Amazon의 AWS Graviton, Ampere Computing의 Ampere Altra, 슈퍼컴퓨터용 Fujitsu A64FX가 사례다. PC에서는 Apple MacBook의 M1/M2/M3, Qualcomm Snapdragon X Elite, Microsoft Surface Pro X가 사용된다.

Apple Silicon의 M1은 2020년에 8코어 CPU와 7/8코어 GPU로 출시됐다. M1 Pro/Max는 2021년에 10코어 CPU와 최대 32코어 GPU를 제공했고, M2는 2022년에 8코어 CPU와 10코어 GPU를 제공했다. M3는 2023년에 3nm 공정과 하드웨어 레이 트레이싱을 적용했다.

M 시리즈는 통합 메모리 아키텍처(Unified Memory), 고성능과 저전력의 조합, Rosetta 2를 통한 x86 에뮬레이션을 특징으로 한다. 이는 ARM PC 시장 확대, Qualcomm을 통한 Windows on ARM 자극, x86 독점 종식으로 이어졌다.

ARMRISC프로세서 아키텍처임베디드 시스템Cortex