ARM 프로세서 (RISC · CISC 비교)
ARM은 스마트폰과 태블릿 대부분, 그리고 요즘은 애플 맥과 일부 서버에도 들어가는 프로세서 설계 방식(명령어 세트 구조) 입니다. 핵심은 단순한 명령어만 갖춘 RISC 설계로, 작고 전력을 적게 쓰는 것이 강점입니다.
한눈에 보기
- 프로세서란? 메모리에 저장된 명령어들을 하나씩 실행하는 장치입니다. 이론적으로는 "현재 상태와 입력(명령어)에 따라 다음 상태가 정해지는 기계", 즉 유한 상태 오토마톤으로 볼 수 있습니다. 명령어를 실행하는 과정은 CPU 작동 원리에서 다룹니다.
- ARM은 원래 Acorn RISC Machine의 약자였고, 이후 Advanced RISC Machine(진보된 RISC 기기)으로 바뀌었습니다. 이름에서 보듯 ARM의 핵심은 RISC입니다. 지금은 회사 이름도 그냥 "Arm"이라고 씁니다.
- 비유: RISC는 단순한 도구 몇 개로 빠르게 일하는 요리사, CISC는 기능이 많은 만능 조리기구를 갖춘 요리사입니다. 단순한 도구는 작고 싸고 다루기 쉬워서, 좁은 주방(스마트폰)에 특히 잘 맞습니다.
RISC와 CISC
RISC(Reduced Instruction Set Computing, 축소 명령어 집합 컴퓨팅) 는 "단순한 명령어 집합을 가진 프로세서가 복잡한 명령어 집합을 가진 프로세서보다 훨씬 더 효율적이지 않을까?"라는 생각에서 탄생했습니다.
반대 개념은 CISC(Complex Instruction Set Computing, 복합 명령어 집합 컴퓨팅) 이고, PC에 많이 쓰이는 인텔·AMD의 x86이 대표적입니다.
| 구분 | RISC (예: ARM) | CISC (예: x86) |
|---|---|---|
| 명령어 수 | 적고 단순함 | 많고 복잡함 |
| 명령어 길이 | 대부분 고정 길이 | 명령어마다 길이가 다름 |
| 명령어 하나가 하는 일 | 작음. 여러 개를 조합해서 일함 | 큼. 명령어 하나로 메모리 읽기와 계산을 같이 하기도 함 |
| 메모리 접근 | 읽기(Load)와 쓰기(Store) 전용 명령어만 메모리에 접근 | 여러 명령어가 메모리에 직접 접근 |
| 칩 구조 | 단순하고 작음 | 복잡하고 큼 |
| 전력 | 적게 씀 | 상대적으로 많이 씀 |
참고로 요즘 x86 CPU도 내부에서는 복잡한 명령어를 단순한 작은 명령어(마이크로 연산)로 쪼개서 실행합니다. 그래서 RISC와 CISC의 경계는 예전보다 흐려졌지만, 겉으로 보이는 명령어 세트가 다르다는 점은 그대로입니다.
ARM의 구조와 사업 방식
ARM(회사)은 칩을 직접 만들어 팔지 않습니다. 칩의 설계도와 명령어 세트를 만들어 라이선스로 판매하고, 실제 기능 추가와 최적화, 생산은 개별 반도체 제조사가 맡습니다.
┌──────────────────────────────┐
│ Arm (회사) │
│ 명령어 세트 + CPU 코어 설계도 │
└───────────────┬──────────────┘
│ 라이선스 판매
┌──────────────────┼──────────────────┐
▼ ▼ ▼
퀄컴 삼성 애플 ...
(스냅드래곤) (엑시노스) (A, M 시리즈)
각자 CPU 코어 배치, GPU, 통신 모뎀 등을 더해 서로 다른 칩(SoC)을 만듦라이선스는 크게 두 가지입니다.
| 라이선스 | 받는 것 | 예 |
|---|---|---|
| 코어 라이선스 | Arm이 설계한 CPU 코어(예: Cortex 시리즈)를 그대로 가져다 씀 | 많은 스마트폰 칩 |
| 아키텍처 라이선스 | 명령어 세트만 받고 CPU 코어 내부는 직접 설계 | 애플의 A·M 시리즈 칩 |
아래는 Arm이 설계해서 코어 라이선스로 팔았던 Cortex-A8 코어의 구성도입니다. ARMv7 명령어 세트를 실행하는 32비트 CPU를 가운데 두고, 실수 연산 장치(Floating Point Unit), 멀티미디어 연산용 NEON, 명령어용과 데이터용으로 나뉜 L1 캐시, L2 캐시, 버스 연결부가 한 덩어리로 들어 있습니다. 칩 회사는 이런 코어 설계를 받아 GPU, 모뎀 등을 더해 자기 칩을 만듭니다.

그림 출처: gyoogle 기술 면접 정리, ARM 프로세서
참고: Cortex-A8은 2005년에 발표된 예전 코어입니다. 요즘 스마트폰에는 64비트 ARMv8, ARMv9 기반 코어가 쓰이지만, 코어 안에 연산장치와 캐시가 함께 들어 있는 기본 구성은 비슷합니다.
그래서 같은 ARM 명령어 세트를 쓰더라도, 회사마다 코어의 내부 설계와 함께 넣는 부품(GPU, 모뎀, AI 가속기 등)이 달라서 서로 다른 칩이 됩니다. 소비자 입장에서는 같은 ARM 기반이면서도 용도에 따라 다양한 제품군을 만날 수 있는 이유입니다.
단순한 명령어가 작은 칩을 만든다
- 아키텍처는 논리적인 명령어 집합을 물리적인 회로로 표현한 것입니다. 그래서 명령어가 많고 복잡해질수록 실제 칩 구조도 크고 복잡해집니다.
- ARM은 RISC 설계를 바탕으로 "단순한 명령어 집합이 더 효율적"이라는 생각을 따르기 때문에, 명령어 집합과 구조 자체가 단순합니다.
- 단순한 명령어 집합은 적은 수의 트랜지스터로 구현할 수 있어서 설계가 간결하고 칩 크기가 작아집니다.
- 트랜지스터는 반도체의 기본 부품으로, 전력을 쓰고 칩(다이)의 면적을 차지합니다. 그래서 스마트폰이나 태블릿용 프로세서는 트랜지스터가 적을수록 이상적입니다.
정리하면 명령어 수가 적다 → 트랜지스터가 적다 → 칩이 작고 전력 소모가 낮다는 흐름 덕분에, ARM CPU가 스마트폰과 태블릿 같은 모바일 기기에 많이 쓰입니다.
예전에는 "ARM은 작고 효율적인 대신 상대적으로 느리다"는 평가가 일반적이었습니다. 하지만 지금은 애플의 M 시리즈 칩(맥북, 2020년부터)이나 아마존의 Graviton(클라우드 서버)처럼 고성능 ARM 칩도 많아서, ARM이 곧 느리다고 보기는 어렵습니다. 전력 대비 성능이 좋다는 것이 ARM의 가장 큰 강점입니다.
ARM의 장점: 하나의 생태계
소비자 입장에서 ARM은 하나의 생태계라고 볼 수 있습니다.
프로그램은 명령어 세트를 따라간다
- ARM용으로 컴파일된 실행 파일은 ARM 프로세서가 들어간 기기에서만 그대로 실행됩니다. x86 CPU용으로 만든 실행 파일도 ARM 기기에서 그대로는 실행되지 않습니다. 두 CPU가 알아듣는 명령어(기계어)가 다르기 때문입니다.
- 그래서 ARM에서 돌던 프로그램을 x86에서 돌리려면(혹은 그 반대로) 해당 CPU용으로 다시 컴파일하거나 수정해야 합니다.
- 다만 예외도 있습니다.
- Python, Java, JavaScript처럼 인터프리터나 가상 머신 위에서 도는 프로그램은, 그 인터프리터만 각 CPU용으로 있으면 코드를 고치지 않고 양쪽에서 실행됩니다.
- 애플의 Rosetta 2나 윈도우의 에뮬레이션처럼, x86용 프로그램을 ARM용으로 번역해서 실행해 주는 기술도 있습니다.
지금 쓰는 컴퓨터의 CPU 종류는 Python으로 바로 확인할 수 있습니다.
import platform
print(platform.machine())arm64애플 실리콘 맥에서 실행한 결과입니다. 인텔·AMD CPU라면 x86_64나 AMD64가 나옵니다.
운영체제를 여러 기기에 옮기기 쉽다
- 같은 ARM 명령어 세트를 쓰기 때문에, 한 ARM 기기에서 동작하는 운영체제는 다른 ARM 기반 기기로 비교적 쉽게 옮길 수 있습니다. 물론 기기마다 다른 부품(화면, 카메라, 통신 칩 등)을 위한 드라이버는 따로 맞춰 줘야 합니다.
- 이런 장점 덕분에 안드로이드가 수많은 제조사의 다양한 기기에 탑재되고, 수많은 버전의 안드로이드 기기가 나올 수 있었습니다. 2010년대 초에는 HP나 블랙베리의 태블릿에도 안드로이드를 올릴 수 있다는 가능성이 이야기되기도 했습니다.
- 반면 애플은 iOS 소스 코드를 공개하지 않고 다른 회사에 라이선스하지도 않기 때문에, 같은 ARM 기기라도 애플 기기가 아닌 곳에서는 iOS를 쓸 수 없습니다.
운영체제가 하드웨어와 프로그램 사이에서 어떤 일을 하는지는 운영체제란에서 다룹니다.
ARM 칩을 만드는 기업들은 지금도 전력 소모는 줄이고 성능은 높이는 방향으로 설계를 계속 개선하고 있습니다.
정리
| 개념 | 비전공자 버전 요약 |
|---|---|
| 프로세서 | 메모리의 명령어를 하나씩 실행하는 장치 |
| ARM | 단순한 명령어(RISC)를 쓰는 프로세서 설계. 스마트폰 대부분에 들어감 |
| RISC | 단순한 명령어 여러 개를 조합해서 일하는 방식 |
| CISC | 복잡한 명령어 하나로 많은 일을 하는 방식 (예: x86) |
| Arm의 사업 방식 | 칩을 직접 안 만들고 설계도를 팔면, 제조사가 각자 칩을 만듦 |
| 작고 전력이 적은 이유 | 명령어가 적어 트랜지스터가 적고 칩이 작음 |
| 실행 파일 호환 | ARM용 실행 파일은 x86에서 그대로 못 돌림. 다시 컴파일하거나 번역 필요 |
| 생태계 장점 | 같은 명령어 세트라 운영체제를 여러 ARM 기기에 옮기기 쉬움 |
