CPU 아키텍처

소프트웨어를 설치하다 보면 아키텍처를 골라야 하는 경우가 있다. ARM, x86_64, AMD64 처럼 표현은 조금씩 다르지만 큰 틀에서 ARM 혹은 Intel/AMD64 중 선택하는 경우가 많다.

아키텍처가 다르니 명령어에서도 차이가 있겠지만, 구체적으로 뭐가 다른지, 왜 통합이 안된 것인지 궁금해서 찾아본다.

AMD64

Intel과 AMD가 개발한 x86 계열의 64비트 아키텍처다. 원래 32비트 기반이었던 것을 64비트로 확장했기 때문에 x86_64라고 부르며, AMD가 만들었기 때문에 AMD64라고도 한다. 주로 데스크탑, 노트북 등에 사용된다.

ADD X0, X1, X2

ARM

ARM이라는 회사가 설계한 RISC(단순 명령어 집합) 기반의 CPU 아키텍처다. 단순한 명령어 구조로 설계되어 성능 대비 전력 효율이 좋다. 주로 모바일이나 작은 디바이스에서 많이 사용되었는데, 최근에는 성능도 좋아지면서 서버에서도 사용하기도 한다.

ADD X0, X1, X2

비교

구분amd64 (x86-64)arm
설계 철학CISC (복잡 명령어 집합)RISC (단순 명령어 집합)
주요 사용처데스크탑, 노트북, 서버모바일, IoT, 서버, 일부 데스크탑
성능고성능, 전력 많이 사용전력 효율 우수, 성능도 점점 강력해짐
소프트웨어 호환성대부분의 OS/소프트웨어 지원점점 늘어나고 있지만 일부 호환성 문제 존재
대표 제품Intel/AMD CPUApple M1/M2/M3, ARM Cortex, AWS Graviton

아키텍처와 명령어의 관계

x86-64 ISA는 rax, rbx, rcx… 같은 레지스터 정의하고 있는 반면에 ARM ISA는 X0 ~ X30 같은 다른 레지스터 정의하고 있다.

명령어는 결국 레지스터와 메모리 구조를 조작하기 때문에라서 ISA는 특정 아키텍처의 하드웨어 구조에 맞춰져야 한다 (종속적)

ARM 좀 더 알아보기

애플, 퀄컴은 그럼 ARM 아키텍처 기반이라고 하는데 구체적으로 어떤 구조일까?

Apple

최근 출시되는 맥북은 ARM 기반의 M3, M4 같은 칩이 내장된다.

애플은 ARM의 ISA만 라이센싱하고 칩의 설계는 직접한다.

퀄컴

퀄컴의 스냅드래곤 시리즈는 ARM Cortex와 자체 설계 코어를 혼용한다. ARM 코어 라이센스와 ISA 라이센스를 사용한다.

퀄컴은 SoC(System on Chip)을 설계하는 회사인데, SoC는 시스템 전체를 한 칩에 넣은 것을 말한다. CPU, GPU, 모뎀, 이미지 신호 프로세서 등이 통합되어 하나의 칩인 경우다. 퀄컴 스냅드래곤 시리즈의 경우 CPU는 ARM Cortex 시리즈를 사용하되 나머지는 자체 설계하는 식으로 개발된다.

Back To Top