
ARM vs x86: 아키텍처 철학의 차이
맥북 배터리는 왜 오래 갈까? 서버 비용을 줄이려면 AWS Graviton을 써야 할까? 복잡함(CISC)과 단순함(RISC)의 철학적 차이를 정리해봤습니다.

맥북 배터리는 왜 오래 갈까? 서버 비용을 줄이려면 AWS Graviton을 써야 할까? 복잡함(CISC)과 단순함(RISC)의 철학적 차이를 정리해봤습니다.
AI 시대의 금광, 엔비디아 GPU. 도대체 게임용 그래픽카드로 왜 AI를 돌리는 걸까? 단순 노동자(CUDA)와 행렬 계산 천재(Tensor)의 차이로 파헤쳐봤습니다.

빠른 SSD를 샀는데 왜 느릴까요? 1차선 시골길(SATA)과 16차선 고속도로(NVMe). 인터페이스가 성능의 병목이 되는 이유.

LP판과 USB. 물리적으로 회전하는 판(Disc)이 왜 느릴 수밖에 없는지, 그리고 SSD가 어떻게 서버의 처리량을 100배로 만들었는지 파헤쳐봤습니다.

마더보드는 그냥 모든 부품을 꽂는 판때기인 줄 알았습니다. 하지만 '칩셋'이 무엇인지 알고 나서야 왜 비싼 메인보드가 필요한지 깨달았습니다.

처음 M1 맥북을 샀을 때 충격을 받았습니다. 인텔 맥북을 쓸 때는 팬 소리가 이륙하는 비행기 같았고, 충전기 없이는 카페에 갈 엄두도 못 냈습니다. 코드를 컴파일하면 팬이 최대 RPM으로 돌면서 책상이 뜨거워졌습니다. 게다가 2시간이면 배터리가 바닥났습니다.
그런데 M1은 달랐습니다. 하루 종일 써도 배터리가 60%나 남아있었고, 팬은 한 번도 돌지 않았습니다. 무거운 Docker 컨테이너를 10개 띄워도 조용했습니다.
단순히 "애플이 칩을 잘 만들어서"라고 퉁치고 넘어가기엔 뭔가 찝찝했습니다. 찾아보니 '아키텍처가 다르다'고 하더군요. 하나는 x86이고, 하나는 ARM이라는데... 도대체 이게 무슨 말일까요?
초반에 구글링하면서 읽은 설명들은 이랬습니다:
"x86은 CISC 기반이고, ARM은 RISC 기반입니다."
저: "?????"
"CISC는 Complex Instruction Set Computer의 약자로, 복잡한 명령어를 한 번에 처리합니다."
저: "그래서 그게 왜 배터리랑 관련있는데요?"
너무 이론적이어서 실감이 안 났습니다. 그러다 우연히 읽은 비유 하나가 머리를 때렸습니다. "셰프와 알바생" 비유였습니다.
이해하기 가장 쉬웠던 비유는 "주방"이었습니다.
인텔과 AMD가 만드는 x86 칩은 CISC(Complex Instruction Set Computer) 방식입니다. 이름 그대로 '복잡한(Complex) 명령어'를 씁니다.
비유하자면 "미슐랭 3스타 천재 셰프"입니다. 이 셰프는 엄청나게 똑똑합니다. "초밥 만들어!"(Complex Instruction)라고 한 마디만 하면, 혼자서:
명령은 간단합니다. "초밥 만들어" 딱 한 줄이면 되니까요. (코드 길이가 짧음)
하지만 단점이 있습니다. 셰프가 너무 똑똑하고 하는 일이 많아서, 머리에 열이 많이 나고 밥(전기)을 많이 먹습니다. 복잡한 요리(고성능 연산)는 기가 막히게 잘하지만, 단순한 김밥 말기 같은 건 좀 과하다는 느낌입니다.
반면 ARM이 사용하는 RISC(Reduced Instruction Set Computer) 방식은 '줄여진(Reduced) 명령어'를 씁니다.
비유하자면 "손 빠른 단순 노동 알바 군단"입니다. 이 친구들은 "초밥 만들어"라는 복잡한 명령을 모릅니다. 대신 아주 단순한 명령만 알아듣습니다:
명령어는 길어집니다. (코드 길이가 길어짐) 하지만 각 동작이 너무 단순해서, 실행 속도가 압도적으로 빠릅니다. 그리고 단순하니까 머리를 덜 써서 전기를 훨씬 적게 먹습니다.
이 비유를 읽고 나서 제 M1 맥북이 이해되기 시작했습니다.
"아, 그래서 M1이 조용하고 시원했구나."
그런데 의문이 생겼습니다. "복잡한 명령어 한 방이 더 좋은 거 아냐? 왜 굳이 단순한 명령어 여러 개로 쪼개?"
답은 시대의 변화에 있었습니다.
예전에는 RAM이 엄청 비쌌습니다. 1980년대 집에 컴퓨터가 있으면 부자였고, 메모리는 KB 단위였습니다. 그래서 프로그램 용량(코드 길이)을 줄이는 게 지상 과제였습니다.
"초밥 만들어" 한 줄로 끝나는 CISC(x86)가 왕이었던 이유입니다. 인텔의 전성기였죠.
당시 개발자들은 이렇게 생각했습니다:
"코드 짧게 = 메모리 절약 = 최고!"
하지만 지금은 메모리가 쌉니다. 제 노트북엔 16GB RAM이 꽂혀있고, 앱 하나에 수백 MB를 써도 아무도 신경 안 씁니다. 코드 좀 길어져도 상관없습니다.
오히려 "배터리 효율(전성비)"과 "발열 관리"가 중요해졌습니다. 스마트폰 시대니까요.
그래서 작고, 전기 덜 먹고, 발열 적은 RISC(ARM)가 떡상한 것입니다.
AWS에서 서버를 돌릴 때였습니다. 같은 성능의 인스턴스인데:
20% 차이. 1년이면 $120 차이입니다.
"아, 이게 실제 돈으로 보이는구나."
이 이론이 실제 제 지갑 사정과 연결된 건 AWS 인스턴스를 고를 때였습니다.
t3.medium (x86 기반)과 t4g.medium (ARM 기반, Graviton) 사이에서 고민했습니다.
"ARM? 그거 호환 안 되는 거 많지 않나?" "x86으로 짠 코드가 ARM에서 안 돌아가면 어떡하지?"
온라인에서 찾은 글들도 양분됐습니다:
제 블로그 백엔드는 Next.js였습니다. Dockerfile을 만들어서 두 가지 버전으로 빌드했습니다:
# x86 빌드
docker build --platform linux/amd64 -t blog:x86 .
# ARM 빌드
docker build --platform linux/arm64 -t blog:arm .
결과:
sharp 라이브러리(이미지 처리)에서 에러.하지만 sharp를 최신 버전으로 업데이트하니까 해결됐습니다.
Node.js나 Python 같은 고수준 언어는 대부분 ARM 지원이 잘 돼있었습니다.
AWS Graviton(t4g.medium)으로 배포한 후:
| 항목 | x86 (t3.medium) | ARM (t4g.medium) |
|---|---|---|
| 가격 | 월 $50 | 월 $40 (20% 저렴) |
| 응답 속도 | 평균 120ms | 평균 100ms (더 빠름!) |
| CPU 사용률 | 평균 30% | 평균 25% |
| 메모리 | 4GB | 4GB (동일) |
심지어 성능이 더 좋았습니다. 같은 요청을 처리하는데 CPU를 덜 썼습니다.
"왜 모두가 ARM을 안 쓰지?"싶었습니다.
물론 모든 경우에 ARM이 답은 아닙니다.
ARM이 어려운 경우:제가 x86 → ARM 전환하면서 배운 노하우입니다.
# Mac M1/M2 사용자는 기본이 ARM
docker build --platform linux/arm64 -t myapp:arm .
docker run myapp:arm
# Intel Mac / Windows 사용자는 QEMU로 에뮬레이션
docker buildx build --platform linux/arm64 -t myapp:arm .
로컬에서 돌아가면 99% 실제 ARM 서버에서도 돌아갑니다.
x86과 ARM 둘 다 지원하려면:
docker buildx build --platform linux/amd64,linux/arm64 -t myapp:latest .
이러면 하나의 이미지로 두 아키텍처를 동시 지원합니다. AWS ECS/Fargate에서 인스턴스 타입 바꿔도 재배포 필요 없음.
전체 서버를 한 번에 바꾸지 마세요.
스마트폰은 100% ARM입니다. 아이폰(Apple A시리즈), 안드로이드(Qualcomm Snapdragon) 모두 ARM 아키텍처입니다. x86 스마트폰은 아예 없습니다.
AWS, Google Cloud, Azure 모두 ARM 인스턴스를 제공합니다.
2025년 현재, 클라우드 워크로드의 약 15%가 ARM입니다. 2030년에는 50%가 될 거라는 예측도 있습니다.
고성능 게이밍 PC는 여전히 Intel i9, AMD Ryzen이 지배합니다. Windows 게임들이 x86 기반이라 당분간은 바뀌지 않을 것 같습니다.
하지만 Apple M시리즈가 게임 성능도 따라잡기 시작하면... 모를 일입니다.
| 구분 | CISC (x86) | RISC (ARM) |
|---|---|---|
| 비유 | 만능 천재 셰프 | 손 빠른 알바 군단 |
| 장점 | 복잡한 연산을 한 방에 처리 | 전력 소모가 적고 발열이 낮음 |
| 대표 주자 | Intel i9, AMD Ryzen | Apple M1/M2, AWS Graviton |
| 한마디 | "무거운 작업을 강력하게" | "가볍고 빠르고 오래가게" |
처음 M1 맥북을 샀을 때는 "애플이 칩을 잘 만들어서"라고만 생각했습니다. 하지만 깊이 파고들어보니, 아키텍처 철학의 차이였습니다.
결국 모바일과 클라우드 시대가 되면서, 무겁고 뜨거운 '천재'보다 가볍고 효율적인 '알바 군단'이 더 환영받는 시대가 된 것 같습니다.
물론 고성능 게이밍 데스크탑은 여전히 x86이 지배하고 있지만, 그마저도 언제 바뀔지 모른다는 생각이 듭니다.
이 글을 쓰고 있는 지금도 제 M1 맥북은 배터리 80%를 유지하고 있습니다. 팬 소리는 여전히 들리지 않습니다.
ARM도 완벽하지 않습니다. 가장 큰 문제는 "라이선스 비용"입니다. 애플이나 삼성이 ARM 칩을 만들 때마다 ARM사에 천문학적인 로열티를 내야 합니다.
그래서 등장한 것이 RISC-V (리스크 파이브)입니다.
linux/amd64용과 linux/arm64용을 따로 빌드하거나, Multi-arch 빌드를 해야 합니다.