[그게 뭔가요] 40살 생일 맞은 ‘ARM 아키텍처’
지난 4월 26일, 영국 반도체 기업 ‘ARM 홀딩스’는 “ARM 아키텍처가 40번째 생일을 맞이했다”고 홈페이지를 통해 공지했다. 이로부터 40년 전인 1985년 4월 26일은 ARM 아키텍처를 적용한 최초의 프로세서 ‘ARM1’이 처음 동작한 날이다.
아키텍처란?
아키텍처(Architecture)는 프로세서가 어떻게 작동하는지 계획하는 근본적인 설계 방식을 뜻한다. 컴퓨터를 예로 들면, 주요 연산을 수행하는 CPU가 명령어를 해석하고 실행하는 방식과 데이터 처리 규칙 같은 전반적인 구조가 모두 아키텍처에 포함된다.
아키텍처는 ‘명령어 집합 아키텍처(ISA)’와 ‘마이크로아키텍처’로 세분화할 수 있다.
ISA는 프로세서가 이해하고 실행할 수 있는 명령어의 집합이다. 쉽게 말하자면 프로그램이 프로세서에 시킬 수 있는 일의 목록과 같다. 프로그램이 프로세서에 시킬 작업을 정의하는 역할을 담당한다는 점에서 ‘소프트웨어와 하드웨어 간의 연결고리’라고 볼 수 있다. 주변에서 흔히 볼 수 있는 ISA로는 ARM, x86, x64 등이 있다.
대체로 ISA가 다르면 소프트웨어도 호환되지 않는다. x86이나 x64 전용 프로그램은 ‘윈도우 온 암(Windows on ARM)’ 등의 ARM 아키텍처용 운영체제에서 그대로 실행할 수 없다. 반대로 ARM 아키텍처 전용으로 설계한 프로그램을 x86이나 x64 기반 운영체제에서 구동하는 것도 불가능하다.
마이크로아키텍처는 ISA가 하드웨어에서 어떻게 구현되는지에 대한 하드웨어 설계를 의미한다. 프로세서가 연산을 수행하는 방법, 데이터를 이동하고 처리하는 일련의 경로, 메모리 계층 구조, 명령어 제어 매커니즘 등을 아우른다. ISA가 프로세서로 무엇을 할 수 있는지 정의한다면, 마이크로아키텍처는 ISA에서 정의한 기능을 프로세서가 어떻게 구현하는지 나타낸다.
대표적인 마이크로아키텍처로는 ARM 코어텍스(Cortex), AMD 젠(Zen), 인텔 코브(Cove) 등이 있다. 프로세서 제조사가 한 번 채택한 ISA를 바꾸는 경우는 거의 없다. 그러나 마이크로아키텍처는 비교적 자주 변경한다. 주로 더 효율적인 명령어 처리 방법을 개발하거나 성능·전력 효율 면에서 개선점이 있을 때 마이크로아키텍처를 바꾼다.
한편, 대부분의 프로세서 아키텍처는 특징에 따라 ‘CISC’와 ‘RISC’ 두 가지 분류로 나눌 수 있다.
CISC(Complex Instruction Set Computer)는 명령어가 복잡하고 길이도 제각각인 특징을 가진다. 언뜻 보면 복잡하지만 명령어 하나로 여러 단계를 처리할 수 있어 전체 프로그램 코드 길이를 줄이는 데 용이하다. CISC 아키텍처를 채택한 대표적인 프로세서 아키텍처로는 x86·x64가 있다.
RISC(Reduced Instruction Set Computer)는 중구난방으로 명령어 특징이 나뉘는 CISC의 단점을 보완하기 위해 IBM이 1980년에 개발했다. 명령어 길이와 포맷을 일정하게 정리해 단순화했다. 명령어 길이에 따라 실행 사이클이 달라지는 CISC와 달리, RISC는 명령어 실행 사이클이 일정하다.
ARM 아키텍처와 다른 아키텍처의 차이는?
ARM 아키텍처는 대표적인 RISC 기반 아키텍처다. 비교적 단순한 명령어를 사용하므로 프로세서 설계를 단순화하기 용이하다. 개발 비용과 시간을 절약할 수 있으며 프로세서의 동작 속도도 비교적 빨라진다. 그럼에도 전력 소모량과 발열은 적다. 또한 모든 명령어의 길이가 동일하므로 인코딩·디코딩 과정이 간단하다는 장점을 갖췄다.
정리해 보면 ARM 아키텍처는 저전력·고효율 연산이 가능해 전력 소모량을 줄여야 하는 모바일과 임베디드 장치에 최적화한 아키텍처라고 볼 수 있다. 스마트폰 등의 모바일 기기는 물론, 배터리 소모를 절약할수록 좋은 소형 전자제품에 들어가는 칩셋은 대부분 ARM 아키텍처를 채택했다.
인텔이나 AMD에서 주로 채택한 x86·x64 아키텍처는 CISC 기반이다. 단일 명령어로 여러 복잡한 작업을 수행하기 용이하므로 프로그래밍 난이도를 낮추는 데 유리하다. 대신 프로세서 설계가 복잡해지고 명령어를 해석하고 실행하는 과정이 RISC보다 복잡해 전력 소모와 발열이 높다.
ARM 아키텍처, 어디에서 찾아볼 수 있나
윈도우 PC의 경우 ARM 아키텍처 기반 프로세서를 찾기 어렵다. 주축을 이루는 인텔과 AMD 양대 CPU 제조사가 x86·x64 아키텍처를 기반으로 설계한 탓이다. 두 제조사의 CPU가 대부분의 점유율을 차지하니 일반 윈도우 운영체제와 대부분의 소프트웨어도 x86·x64 아키텍처만 지원한다.
ARM 아키텍처 기반 CPU를 탑재한 PC는 윈도우 온 암처럼 특수한 운영체제를 설치해야 한다. 윈도우 온 암에서 x86·x64 아키텍처용 앱을 실행하려면 앱 코드를 변환해 주는 ‘에뮬레이터’를 사용해야 하는데, 이 과정에서 앱 성능이 다소 떨어진다는 단점이 있다.
최근 들어 퀄컴 스냅드래곤 X처럼 ARM 아키텍처를 기반으로 한 프로세서가 몇몇 AI PC에 채택되면서, 마이크로소프트에서도 아키텍처 호환성 개선에 관심을 기울이고는 있다. 그러나 아직 윈도우 온 암 운영체제에서 x86·x64 전용 앱을 성능 저하 없이 온전히 구동하는 단계까지 이르진 못했다.
윈도우 운영체제를 제외한 환경에서는 ARM 아키텍처 기반 프로세서를 자주 찾아볼 수 있다. 특히 스마트폰 AP(애플리케이션 프로세서) 분야는 ARM 아키텍처가 주축을 이루고 있다고 해도 과언이 아니다. 퀄컴, 애플, 삼성, 미디어텍 등 대다수의 제조사가 ARM으로부터 라이선스를 구매했으며, 퀄컴 스냅드래곤, 애플 A·M 시리즈, 삼성 엑시노스 등 대부분의 프로세서가 ARM 아키텍처를 기반으로 만들어졌다.
스마트TV, 냉장고, 세탁기 중에서 네트워크 연결이 가능한 IoT(사물인터넷) 가전제품에는 대부분 ARM 코어텍스 M 시리즈 마이크로컨트롤러가 들어있다. 구글 홈, 아마존 에코를 비롯한 스마트홈 제품에도 ARM 칩을 사용하고 있다. 이외에 산업·의료·전장 등 다양한 분야에서 ARM 아키텍처 기반 프로세서를 채택했다.
ARM은 40주년 기념 칼럼에서 “세계적으로 ARM 라이선스를 부여한 칩만 3000억개 이상 있으며, 지금까지 출하된 ARM 프로세서 수는 2500억개를 넘는다”고 밝혔다. 회사는 “(프로세서 수가) 지구상에 살았던 인류 1100억명의 팔(arm) 수를 합한 것보다도 훨씬 많다”고 덧붙였다.
ARM은 “AI, 엣지 컴퓨팅, 지속가능성이 기술 환경을 바꾸는 지금 ARM 아키텍처는 어느 때보다 중요해졌다”며 “앞으로도 계속해서 미래를 이끌겠다”고 말했다.
글. 바이라인네트워크
<이병찬 기자>bqudcks@byline.network