[컴퓨터 구조] ARM 프로세서

xoey·2024년 10월 21일

컴퓨터 구조

목록 보기
6/6
post-thumbnail

서문

현대의 모바일 기기와 컴퓨터는 점점 더 작아지는데, 그럼에도 불구하고 더 강력한 성능이 요구되고 있다. 이러한 기술적 진보의 중심에는 ARM 프로세서가 자리 잡고 있다. 저전력, 고효율이라는 특징 덕분에 ARM은 스마트폰, 태블릿뿐만 아니라 점점 더 많은 영역에서 사용되고 있다.

이 글에서는 ARM 프로세서의 기본 개념과 역사, 그리고 RISC와 CISC의 차이점을 통해 ARM 프로세서가 어떻게 발전해왔는지 알아볼 것이다.

1. ARM 프로세서란?

ARM(Advanced RISC Machine) 프로세서는 RISC(Reduced Instruction Set Computer) 아키텍처를 기반으로 설계된 중앙처리장치(CPU)이다. ARM은 적은 수의 명령어로 효율적인 성능을 내기 위해 설계되었으며, 특히 저전력과 저발열이라는 특성 덕분에 모바일 기기에서 널리 사용된다. ARM 프로세서의 설계 철학은 간단한 명령 집합을 통해 복잡한 연산을 처리함으로써 전력을 줄이는 데 있다.

1.1. RISC와 CISC

RISC‘단순한 명령어를 가진 프로세서가 복잡한 명령 집합을 가진 프로세서보다 효율적이지 않을까?’라는 철학에서 시작되었다. 이 설계 방식은 자주 사용되는 기본 명령어만을 제공하고, 복잡한 연산은 여러 개의 기본 명령어를 조합하여 처리한다.

이에 비해, CISC(Complex Instruction Set Computer)는 복잡한 명령어를 제공하여 여러 연산을 한꺼번에 처리할 수 있지만, 그만큼 설계가 복잡하고 명령어 처리 속도가 상대적으로 느리다. 대표적인 CISC 기반 프로세서는 Intel의 x86 계열이다.

RISCCISC
설계단순복잡
명령어 종류적음많음
명령어 길이고정가변
레지스터 수많음적음
처리 속도빠름느림
프로그래밍복잡단순
사용 예시SPARC, ARM, MIPSIntel x86
  • RISC는 명령어가 4 byte의 고정 길이를 가지고 있어 단순하고 처리 속도가 빠르지만, 명령어의 종류가 적기 때문에 다소 복잡한 기능을 수행하기 위해서는 여러 개의 명령어를 사용해야 한다.
  • 반면 CISC는 명령어의 길이가 가변적이므로 복잡하고 처리 속도가 느리다. 그러나, 명령어의 종류가 많으므로 명령어 하나로 원하는 기능을 수행할 수 있을 확률이 높다.

2. 역사

ARM 프로세서의 역사는 1978년, 영국 케임브리지에 설립된 Acorn Computers에서 시작되었다. Acorn은 당시 BBC의 요청으로 교육용 컴퓨터인 BBC Micro를 개발하며 큰 성공을 거두었고, 더 강력한 CPU의 필요성을 느껴 인텔에 협력 요청을 했으나 거절당했다. 이에 자체적으로 RISC 기반의 CPU인 ARM(Acorn RISC Machine)을 개발하게 되었고, 1987년 ARM2를 탑재한 Acorn Archimedes는 인텔 80286을 탑재한 컴퓨터보다 우수한 성능을 보여주었다.

ARM 프로세서는 저전력, 저발열 특성 덕분에 모바일 기기에서 큰 인기를 끌었으며, 특히 애플의 뉴튼, 아이팟, 닌텐도 DS 등의 기기에 탑재되었다. 이후 스마트폰의 등장과 함께 ARM 프로세서는 더욱 주목받았고, 2020년 애플의 M1칩에 ARM 아키텍처가 적용되면서 개인용 컴퓨터에서도 ARM의 가능성을 증명했다.

3. 구조

ARM에서 2021년에 발표한 CORTEX-A510의 구조

ARM 프로세서는 칩의 기본 설계 구조만 제공하며, 실제 기능 추가 및 최적화는 각 반도체 제조사가 맡는다. 이로 인해 물리적 설계는 동일하지만, 명령 집합은 제조사마다 다를 수 있다. ARM 프로세서는 단순한 명령 집합 덕분에 적은 수의 트랜지스터만 필요하므로 크기를 줄이고 효율성을 높이는 데 유리하지만, 상대적으로 속도는 느리다. 이러한 특징으로 ARM 프로세서는 스마트폰, 태블릿 PC와 같은 저전력 모바일 기기에서 널리 사용된다.

🙋🏻‍♀️ ARM 프로세서는 단순한 명령어 처리로 속도가 빠른 거 아니었나요?

RISC(ARM)는 단순한 명령어를 빠르게 실행할 수 있지만, 복잡한 작업을 처리하려면 여러 명령어를 조합해야 하기 때문에, 그 과정에서 상대적으로 성능이 떨어질 수 있다.
반면, CISC는 복잡한 작업을 한꺼번에 처리할 수 있으나, 그 복잡성 때문에 명령어가 해석되고 실행되기까지 시간이 더 걸릴 수 있다. 즉, 개별 명령어의 처리 속도는 RISC보다 느릴 수 있다는 의미이다.

4. 장점과 현재

ARM 프로세서의 가장 큰 장점은 저전력 소비이다. 이로 인해 모바일 기기에서 널리 사용되며, ARM 기반 기기에서 동작하는 OS는 다른 ARM 기기에서도 잘 작동한다. 이러한 특성 덕분에 ARM은 하나의 ‘생태계’로 발전할 수 있었다. 예를 들어, 안드로이드 OS는 다양한 ARM 기반 기기에서 실행될 수 있다.

최근 기술 발전으로 RISC와 CISC 간의 속도 차이는 줄어들었으며, 클럭 속도는 더 이상 성능의 유일한 지표가 아니게 되었다. 특히 ARM 프로세서는 명령어 병렬 처리와 같은 기술적 이점을 활용해 Intel과 AMD와 같은 CISC 기반 프로세서를 따라잡고 있다. 이를 대표적으로 보여준 사례가 애플의 M1칩이다.

💡 클럭 속도

CPU가 초당 수행할 수 있는 클럭 사이클의 수를 말하며, GHz 단위로 측정된다.

💡 명령어 병렬 처리(Out-of-Order 실행)

현대 CPU는 클럭 속도를 무작정 높이는 것보다, 주어진 클럭 속도 내에서 더 많은 작업을 병렬로 처리하는 것이 더 중요한 과제가 되었다.

여기서 중요한 개념 중 하나가 명령어 병렬 처리이다.
Out-of-Order Execution은 CPU가 프로그램의 명령어들을 원래 작성된 순서대로 실행하는 대신, 실행 가능한 명령어를 미리 실행하여 CPU 자원을 최대한 활용하는 기술이다. 이는 CPU가 명령어를 순차적으로 실행할 때 발생할 수 있는 데이터의 의존성이나 메모리 접근 지연 등의 문제를 완화할 수 있다.

e.g. 어떤 명령어가 이전 명령어의 결과를 기다리는 동안 CPU의 다른 부분에서는 독립적인 명령어를 미리 실행할 수 있다. 이를 통해 CPU는 대기 시간을 줄이고, 전체적으로 더 많은 작업을 병렬로 처리할 수 있다.

마치며

애플 기기를 누구보다 좋아하는 나로서는 웃긴 얘기지만, 처음에는 M1 칩이 왜 그렇게 혁신적인지 잘 몰랐다. M1 칩이 컴퓨터의 어떤 부품인지조차 명확하지 않았고, 그저 애플이 새로운 기술을 발표한 것이겠거니 생각했다. 하지만 오늘 ARM 프로세서에 대해 깊이 있게 배우면서 M1 칩이 ARM 아키텍처를 기반으로 설계된 CPU라는 사실을 알게 되었고, 그 기술적 중요성을 제대로 이해하게 되었다. 특히 저전력과 고성능을 동시에 실현해낸 혁신적인 방법으로, 스마트폰과 같은 모바일 기기는 물론 이제는 컴퓨터의 성능까지 크게 향상시킨 점이 인상 깊었다.

이번 공부를 통해 단순히 제품을 사용하면서 지나쳤던 기술적인 부분을 이해하게 된 것이 흥미로웠고, 내가 평소 애용하는 애플 기기가 단순한 마케팅의 결과물이 아니라 오랜 기술적 발전과 노력이 담긴 성과라는 점도 새삼 깨닫게 되었다. 또한, 컴퓨터 구조를 배워가면서 과거에 몰랐던 여러 컴퓨터 관련 지식들을 이해하게 되어 더욱 재미있었다. 특히 ARM 프로세서의 역사적 배경을 함께 살펴보니, 어떻게 기술이 발전해왔고 왜 그러한 발전이 필요했는지를 명확히 이해할 수 있어 좋았다. 앞으로도 이러한 배움이 일상 속의 기기들을 더 깊이 이해하고, 새로운 기술들을 더 잘 활용하는 데 큰 도움이 될 것 같다.


Reference

profile
[Roman 8:18] consider that our present sufferings are not worth comparing with the glory that will be revealed in us.

0개의 댓글