학습 자료 글/컴퓨터시스템

컴퓨터시스템 기초 13. x86-64와 ARM64는 무엇이 같고 다를까

cedis 2026. 3. 31. 16:24

[컴퓨터 시스템] 13. x86-64와 ARM64는 무엇이 같고 다를까

어셈블리를 보다 보면 ISA마다 문법과 레지스터 이름이 달라 보여서 완전히 다른 세계처럼 느껴질 수 있습니다. 하지만 장기적으로 더 중요한 것은 차이만이 아니라 공통 구조를 읽는 능력입니다.

이번 글에서는 x86-64와 ARM64를 완전히 따로 외우지 않고, 공통 질문과 눈에 띄는 차이를 나눠 보는 방식으로 정리합니다.

먼저 짚고 갈 용어
ISA: 명령 집합 구조. CPU가 어떤 명령과 규칙을 제공하는지 정한 설계
x86-64: 널리 쓰이는 데스크톱/서버 계열 ISA
ARM64: 모바일과 서버 등에서 널리 쓰이는 또 다른 대표 ISA
이번 글에서 다루는 것
  • ISA가 달라도 공통으로 봐야 할 질문
  • x86-64와 ARM64의 대표적 차이
  • 레지스터, 명령 형식, 메모리 접근 방식 비교
  • 차이가 있어도 공통 감각이 더 중요한 이유
  • 비교 기반 미니 문제
한눈에 보는 흐름
1
ISA가 달라도 공통으로 봐야 할 질문
2
x86-64와 ARM64의 대표적 차이
3
레지스터, 명령 형식, 메모리 접근 방식 비교
4
차이가 있어도 공통 감각이 더 중요한 이유

1. 먼저 공통 질문을 잡아야 한다

ISA가 달라도 결국 묻는 질문은 비슷합니다. 값을 어디에 두는가, 어떻게 계산하는가, 메모리에는 어떻게 접근하는가, 분기는 어떻게 표현하는가 같은 질문입니다.

그림으로 먼저 보기
값은 어디에 두는가
왜 중요한가: 레지스터 중심 사고를 잡는다
메모리는 어떻게 접근하는가
왜 중요한가: load/store 감각을 잡는다
흐름은 어떻게 바꾸는가
왜 중요한가: 분기와 호출을 읽게 해 준다

이 공통 질문을 먼저 잡아야 x86-64와 ARM64 차이가 단순 암기가 아니라 설계 선택의 차이처럼 읽힙니다.

공통 질문왜 중요한가
값은 어디에 두는가레지스터 중심 사고를 잡는다
메모리는 어떻게 접근하는가load/store 감각을 잡는다
흐름은 어떻게 바꾸는가분기와 호출을 읽게 해 준다

2. 문법이 달라도 본질은 비슷하다

x86-64는 역사적으로 복잡한 흔적이 더 남아 있고, ARM64는 더 규칙적인 인상을 주는 편입니다. 하지만 둘 다 레지스터와 메모리, 산술, 분기라는 기본 블록으로 프로그램을 실행한다는 점은 같습니다.

그림으로 먼저 보기
명령 형태
x86-64 인상: 다양한 형태가 섞여 보이기 쉽다
ARM64 인상: 더 규칙적으로 느껴지는 경우가 많다
레지스터 이름
x86-64 인상: 역사적 이름 흔적이 남아 있다
ARM64 인상: 번호형 이름이 비교적 일관적이다
학습 감각
x86-64 인상: 예외가 많아 보일 수 있다
ARM64 인상: 패턴이 보이기 쉽다
비교 지점x86-64 인상ARM64 인상
명령 형태다양한 형태가 섞여 보이기 쉽다더 규칙적으로 느껴지는 경우가 많다
레지스터 이름역사적 이름 흔적이 남아 있다번호형 이름이 비교적 일관적이다
학습 감각예외가 많아 보일 수 있다패턴이 보이기 쉽다

3. 둘 다 결국 레지스터와 메모리 사이를 오간다

문법 차이가 커 보여도, 실행 구조 수준에서 보면 둘 다 레지스터를 중심으로 값을 다루고 필요할 때 메모리와 오갑니다. 이 공통점이 더 중요합니다.

그래서 ISA 비교를 할 때는 표면 문법보다 '값을 어디에 두고 어디서 계산하는가'를 먼저 잡는 편이 좋습니다.

비교할 때의 요령
두 ISA를 나란히 놓고 서로 다른 이름을 외우기보다, 같은 종류의 작업이 각 ISA에서 어떻게 표현되는지 대응시켜 보는 편이 훨씬 효율적입니다.

4. 현실적인 비교 질문 하나를 보자

예를 들어 '두 값을 더해 세 번째 위치에 저장한다'는 일은 어느 ISA에서도 존재합니다. 차이는 그 일을 적는 문법과 관습이 조금씩 다를 뿐, 데이터 이동과 계산이라는 본질은 같습니다.

TEXT
goal: c = a + b

질문 1) 어떤 레지스터에 a와 b를 둘까
질문 2) 더한 결과를 어디에 둘까
질문 3) 메모리에 다시 써야 한다면 어떤 접근이 필요할까
이 예시가 중요한 이유
이런 공통 질문이 있으면 ISA가 달라도 완전히 새로운 과목처럼 느껴지지 않습니다.

5. 직접 해볼 문제: 차이보다 공통 구조를 먼저 적어 보자

ISA 비교를 할 때는 차이점 열거보다 공통 구조를 먼저 적는 습관이 좋습니다. 그래야 차이가 어디서 왜 생기는지 덜 혼란스럽습니다.

미니 문제
x86-64와 ARM64를 비교할 때, '값 저장', '계산', '메모리 접근', '분기'라는 네 항목을 먼저 적고 각각에서 두 ISA가 어떻게 다른 표현을 쓸지 스스로 예상해 보세요.

이번 글에서 기억할 것

ISA가 달라도 값을 어디에 두고, 어떻게 계산하고, 어떻게 흐름을 바꾸는가라는 핵심 질문은 같다.
x86-64와 ARM64의 차이는 문법 차이이기도 하지만 설계 선택의 차이이기도 하다.
ISA 비교에서는 차이점 목록보다 공통 구조를 먼저 잡는 편이 더 오래 간다.

스스로 점검

ISA 비교에서 먼저 던질 공통 질문을 말할 수 있는가
문법 차이와 실행 구조 공통점을 구분해서 설명할 수 있는가
x86-64와 ARM64가 완전히 다른 과목처럼 느껴지지 않도록 읽는 관점을 설명할 수 있는가

다음 글 예고

다음 글에서는 CPU보다 한 층 바깥으로 나가, 메모리 계층과 cache가 왜 프로그램 속도를 크게 바꾸는지 정리합니다.

한 줄 정리
ISA 비교의 핵심은 다른 이름을 외우는 것이 아니라, 같은 실행 구조가 각 ISA에서 어떻게 표현되는지 읽어 내는 데 있습니다.