일본에 오니 “가깝고도 먼 나라”라는 말이 참 잘 지어졌다는 생각이 들었습니다.
식당에서 수저를 안 줘서 잠깐 당황했는데, 주변을 보니 밥그릇을 들고 먹더라고요. 겉으로는 비슷해 보여도 실제 방식은 꽤 다릅니다.
CPU도 비슷합니다.
Intel과 AMD는 CPU를 만드는 회사이고, Core와 Ryzen은 제품 브랜드입니다. 실제 프로그램 호환성을 가르는 건 x86-64와 ARM64 같은 CPU 아키텍처입니다.
대부분의 Intel·AMD PC는 x86-64, 애플 실리콘 맥과 일부 클라우드 서버는 ARM64를 사용합니다.
같은 윈도우나 리눅스라도 CPU 구조가 다르면 안 되는 게 생길 수 있습니다.
amd64 전용 Docker 이미지가 ARM 서버에서 실행되지 않거나
오래된 프로그램과 드라이버가 ARM을 지원하지 않거나
일부 Python·Node.js 패키지가 설치 중 오류를 내기도 합니다
반대로 ARM은 전력 효율과 발열 면에서 유리한 경우가 많습니다.
그래서 컴퓨터나 서버를 고를 때는 성능과 가격만 보면 안 됩니다.
기존 프로그램 호환성이 중요하면 x86-64
배터리와 전력 효율이 중요하면 ARM64
Docker나 서버를 쓴다면 사용할 이미지의 아키텍처 지원 여부 확인
결국 중요한 질문은 하나입니다.
내가 쓰려는 프로그램이 이 CPU 구조를 지원하는가?
같은 운영체제라도 속은 생각보다 가깝고도 먼 컴퓨터입니다.