CPU
ISA가 무엇인지 알아보기 위해서는, CPU가 무엇인지부터 간단하게 이해할 필요가 있다. CPU(Central Processing Unit)는 컴퓨터의 '두뇌' 역할을 하는 부품으로, 컴퓨터가 수행하는 모든 작업의 계산과 처리를 담당한다. 쉽게 이야기해서, 우리가 컴퓨터에게 내리는 모든 명령들, 이를테면 마우스를 움직여 커서를 이동시키라는 명령들은 모두 CPU를 거쳐가게 된다.
ISA
그러면 ISA는 무엇일까? ISA(Instruction Set Architecture)는 소프트웨어가 CPU를 어떻게 제어해야 하는지에 대해 정의해놓은 것으로, 하드웨어와 소프트웨어 사이의 인터페이스 역할을 한다. 쉽게 말하면, ISA는 CPU를 만든 사람이 '이 CPU는 이러이러한 명령어를 이해하고 수행할 수 있습니다' 라고 정의해둔 상세한 설명서 같은 것이다.
프로그램을 설치하다 보면 x86, x64와 같이 적힌 것을 종종 볼 수 있다. 이는 해당 프로그램이 어떤 설명서를 가진 CPU 상에서 돌아가는지가 적혀있는 것이다. 그러니까 이를테면 '이 프로그램은 x86 ISA 기반의 CPU에서 작동돼요' 또는 ' 이 프로그램은 x86 ISA 라는 설명서를 보고 CPU를 컨트롤하도록 만들었어요' 정도의 뜻이 된다.
x86, x64, ARM
그렇다면 x86, x64, ARM이라고 하는 것들은 뭘까? 현재 대부분의 PC에 사용되는 CPU는 x86/x64 계열, ARM 계열 ISA 중 하나를 사용하고 있다.
x86
Intel 사에서 개발한 32비트 기반의 ISA이다.
x64
x86의 64비트 확장 버전이다. Intel 사가 x86과 호환되지 않는, 64비트로의 단절적 이행을 고려하고 있던 와중에 AMD에서 x86 구조를 유지한 채 64비트로 확장한 x86-64 ISA를 발표하게 된다. 이는 AMD64, x86-64, x684 등으로 불리며, 현 시점에서 대부분의 CPU가 채택하고 있다.
ARM
ARM Holdings에서 개발한 RISC 기반의 ISA이다. x86에 비해 전력 효율이 뛰어나고 구조가 단순해 모바일 기기(스마트폰, 태블릿), IoT(사물 인터넷) 기기 등 저전력 환경에서 널리 사용된다. Apple 사에서 Apple Silicon이라는 통합 칩을 개발하고, 해당 칩에 ARM 계열 ISA를 기반으로 한 CPU를 사용하게 되면서 고성능 컴퓨팅 분야에서도 사용되게 되었다.
확인 방법
내 CPU가 어떤 ISA를 기반으로 하고 있는지를 확인하는 것은 중요하다. 어떤 프로그램을 설치하려고 할 때, 내 CPU가 알아들을 수 있도록 명령을 내리는 프로그램을 설치해야 내 컴퓨터 위에서 정상적으로 돌아갈 것이기 때문이다.
일반적인 PC의 경우, Intel 또는 AMD에서 개발한 CPU를 사용하게 될 것이다. 이 경우에는 x86 또는 x64 기반 CPU일 것이고, 아주 오래된 CPU가 아니라면 거의 x64 기반 CPU일 것이다. 그래도 확인해보려면 PC 속성을 열심히 뒤져보자. 보통 '시스템 정보'를 확인해보면 적혀있다.
Apple Silicon을 사용하는 경우, ARM 기반 CPU를 사용한다고 보면 된다. 예전에는 Mac에서 Intel CPU를 사용했었는데, 이는 x86 또는 x64 기반이다. 최근에는 Mac에서 M칩을 사용하고 있고, 이 칩에는 ARM 기반 CPU가 들어가 있다.
참고로...
참고로 Mac이 x64 기반의 Intel CPU를 사용하다가 ARM 기반으로 넘어가는 과정에서, 기존 환경에서 구동되던 프로그램들의 호환성 문제가 생기게 되었다. 그래서 Mac에는 '로제타 2'라는 기술이 존재한다. 이는 x64 명령어를 사용하는 프로그램을 ARM 명령어로 실시간으로 번역해주는 '통역사' 역할을 수행하여, ISA가 다른 CPU에서도 프로그램이 원활하게 작동할 수 있도록 한다.