바로 가기

ARM과 x86의 차이점은 무엇일까요?

URL 복사

CentOS Linux에서 클라우드 준비 운영체제로 전환 방법

센토스 리눅스에서 클라우드 준비 운영 체제로 전환할 때, 클라우드 목표에 부합하고 표준화할 수 있는  프로덕션 등급의 클라우드 준비 운영 체제를 채택하는 것이 중요합니다.

ARM 프로세서를 중심으로 설계된 컴퓨터와 Intel 또는 AMD를 중심으로 설계된 컴퓨터는 상호 호환되지 않습니다. 서로 다른 접근법을 취하는 두 가지 기본 질문은 다음과 같습니다.

  • 트랜지스터 개수와 프로그램 복잡성 사이의 균형을 어떻게 맞출 것인가?
  • 속도, 전력 소비, 비용의 우선순위를 어떻게 지정할 것인가?

이 질문에 대한 답은 지난 40년 간 스마트폰에서 슈퍼컴퓨터에 이르는 모든 영역에서 기술 혁신과 소프트웨어 개발을 이끌어 왔습니다.

이해를 돕기 위해 x86 및 ARM 프로세서를 간략히 정의해 보겠습니다.

x86 프로세서는 대부분의 컴퓨터 및 서버 하드웨어에서 사용되는 프로세서 유형이므로 IT 부서에서 일하는 사람들에게 친숙합니다. 아키텍처 측면에서 사운드 카드 및 그래픽 카드, 메모리, 스토리지, CPU와 같은 x86 시스템 내의 하드웨어 구성 요소는 모두 서로 독립적입니다. 대부분의 구성 요소에는 컨트롤러라는 별도의 칩이 있습니다. 구성 요소는 연결성 또는 전반적인 하드웨어 플랫폼에 영향을 미치지 않고 변경하거나 확장할 수 있습니다.

ARM 프로세서에는 별도의 CPU가 없습니다. 대신, 처리 장치는 다른 하드웨어 컨트롤러와 동일한 물리적 기판 위에 있습니다. 이를 집적 회로라고 합니다. 또한 Intel 또는 AMD CPU와 달리 ARM 프로세서 제조업체는 없습니다. 대신, Arm Holdings가 다른 하드웨어 제조업체에 칩 설계 라이센스를 부여하면 제조업체는 ARM 프로세서 칩을 자체 하드웨어 설계에 통합합니다. 기존 x86 기반 컴퓨터와 달리 ARM 칩은 상호 호환되지 않으며 애플리케이션별로 크게 다릅니다. 이 프로세서는 SoC(System on a Chip)라는 방식으로 함께 제조됩니다.

초기 프로그래머들 사이의 해묵은 논쟁으로 인해 컴퓨터 공학 분야에서 두 가지 주요 철학이 갈라져 나왔는데, 프로그래머의 작업을 간소화할 것인가, 아니면 마이크로프로세서의 작업을 간소화할 것인가 하는 문제였습니다.
컴퓨터로 생산적인 작업을 수행하기 위해 운영 체제와 이 운영 체제가 실행하는 프로그램은 중앙 처리 장치(CPU)뿐 아니라 메모리, 스토리지, 네트워크 카드와 같은 다른 하드웨어와도 상호 작용해야 합니다. CPU는 운영 체제(와 실행 중인 프로그램) 및 이러한 하드웨어 사이를 이어줍니다. 프로그래머의 작업을 간소화하기 위해 CPU에는 명령 집합 또는 ISA(Instruction Set Architecture)라고 하는 일련의 사전 정의된 작업 및 계산이 포함되어 있습니다. 운영 체제와 운영 체제가 실행하는 프로그램(둘 다 프로그래머가 작성)은 이러한 명령을 통해 다음과 같은 낮은 수준의 기능을 수행합니다.

  1. CPU와 하드웨어(메모리, 스토리지, 네트워크 등) 간 상호 작용
  2. 연산 기능(덧셈, 뺄셈 등)
  3. 데이터 조작(바이너리 시프트 등)

원래 x86 CPU에는 매우 풍부한 명령 집합이 있었으며 지금도 마찬가지입니다. 단일 명령으로 전체 계산(예: 곱하기)을 완료하거나 많은 데이터를 메모리의 한 곳에서 다른 곳으로 직접 이동할 수 있습니다. 간단해 보일 수 있지만 곱하기와 메모리 내 여러 장소 간 데이터 이동은 이처럼 낮은 수준에서 많은 명령이 필요합니다. x86 컴퓨터에서는 이처럼 복잡한 일련의 연산을 한 번의 주기로 실행할 수 있습니다. 이러한 유형의 명령 집합을 보유한 처리 장치를 CISC(Complex Instruction Set Computer, 복잡 명령 집합 컴퓨터)라고 합니다.

하지만 CISC 컴퓨터의 강력한 명령으로 인해 더 많은 트랜지스터가 필요한데, 이는 공간과 전력 소모가 큽니다.

이로 인해 1980년대 초에 CPU 아키텍처에서 명령 집합을 간소화하는 방법과 에너지 효율성을 모색하는 몇 가지 프로젝트가 시작되었습니다. 연구자들은 CISC 컴퓨터에서 제공하는 막대한 양의 명령 집합 중에서 대부분의 컴퓨터가 실제 사용하는 것은 극히 일부의 하위 집합에 불과하다는 것을 알게 되었습니다. 이는 결국 RISC(Reduced Instruction Set Computer, 축소 명령 집합 컴퓨터) 프로세서 설계로 이어졌습니다. RISC 프로세서에는 각 명령이 전력 소비가 적은 단순 연산만을 나타내는 명령 집합이 있습니다. 이로 인해 어셈블리 언어 프로그래머의 작업은 더 복잡해지는 반면, 프로세서의 작업은 간소화됩니다. RISC 프로세서와 고급 RISC 머신의 경우 복잡한 연산은 여러 명령을 실행하거나 복잡성을 CPU 코어가 아닌 컴파일러로 푸시하는 방식으로 수행됩니다.

여기에는 장단점이 있습니다. x86 CPU는 컴퓨팅 성능이 매우 빠른 편이라 프로그래밍과 명령 수가 더 명확하거나 단순한 대신, 수많은 트랜지스터가 집적된 더 크고 값비싼 칩이 필요합니다. ARM 프로세서는 어떤 유형의 연산에는 매우 빠르지만 연산이 복잡해지고 연산 정의 및 실행을 위한 작업이 명령 집합이 아닌 프로그래밍(및 프로그래머)으로 푸시됨에 따라 개별 연산의 주기가 반복되면서 속도가 느려질 수 있습니다. 

또한 이런 차이점으로 인해 컴퓨터의 원시 성능을 대략적으로 측정하는 MIPS(Million Instructions Per Second, 초당 100만 회 명령 실행)로는 계산이 어려울 수 있습니다. 그 이유는 다양한 유형의 프로세서가 동일한 활동을 수행하려면 다양한 명령 집합이 필요하기 때문입니다.

RISC 아키텍처는 결국 PC로 발전한 소형 컴퓨터 또는 마이크로컴퓨터에서 더 나은 성능을 발휘하는 소형 칩이 필요하다는 인식에서 나오게 된 것입니다. 이로 인해 칩 성능(처리 속도 또는 클럭 속도)에 집중할 것인가, 아니면 에너지 소비(전력 효율성)에 집중할 것인가 하는 설계에 관한 두 번째 기본 질문에 이르게 되었습니다.

ARM 프로세서는 SoC로 통합되므로 오랫동안 낮은 에너지 소비와 더 적은 열 발생 등 전반적인 리소스 관리가 강조되었습니다. 예를 들어, ARM 아키텍처(예: ARMv8)의 냉각 시스템은 간소화(휴대폰에 팬이 없음)되는 경향이 있습니다. 하지만 x86 CPU는 낮은 전력 소비보다는 고급 처리 속도를 우선하는 경향이 있었습니다.

두 CPU 설계 모두 여전히 고성능을 발휘하지만(ARM 및 x86 아키텍처 슈퍼컴퓨터 모두 세계 최고 속도를 두고 경쟁) ARM 설계는 더 작은 폼 팩터, 배터리 수명, 크기에 집중함으로써 냉각의 필요성을 없애고 가장 중요한 비용 절감에 치중하는 경향이 있습니다. 바로 이 때문에 ARM 프로세서가 스마트폰, 태블릿, Raspberry Pi 시스템과 같은 소형 가전 및 모바일 기기에서 두드러지게 사용되고 있습니다. x86 아키텍처는 실시간 유연성과 속도를 우선하고 냉각 및 크기에 대한 제약이 더 적은 서버, PC, 노트북에서 더 널리 사용됩니다.

ARM 칩은 고성능 컴퓨팅(HPC)뿐 아니라 클라우드 활용 사례(예: AWS Graviton 및 Azure)에서도 점점 널리 사용되고 있습니다. 이 두 영역에서 Red Hat Enterprise Linux는 계산 및 호환성과 애플리케이션 개발, 배포, 최적화를 위한 우수한 플랫폼을 제공합니다.

ARM CPU는 스마트폰을 위한 Android 기반 시스템에서 Raspberry Pi를 위한 사용자 정의 시스템에 이르기까지 Linux 시스템과 오랜 인연을 맺어 왔습니다. 현재 세계에서 가장 빠른 슈퍼컴퓨터 중에도 ARM 아키텍처가 탑재된 Red Hat Enterprise Linux를 사용하는 경우가 있습니다(Red Hat으로 구동되는 Fugaku).

x86 CPU와 달리 각 ARM 설계를 위한 하드웨어는 고유합니다. 따라서 광범위한 오픈소스 커뮤니티의 도움이 필요합니다. Red Hat Enterprise Linux는 검증 및 인증을 완료한 수백 개의 하드웨어 벤더로 구성된 대규모 커뮤니티를 보유하고 있는데, 여기에는 ARM 하드웨어 제조업체와 설계업체가 포함되어 있습니다. Red Hat은 ARM 파트너와 함께 진행하는 얼리 액세스 프로그램을 제공하여 고객이 협업하고 새로운 ARM 기술을 평가하도록 지원합니다.

클라우드에서 서버를 거쳐 엣지에 이르는 다양한 설치 공간에서 성능을 발휘한다는 점은 Red Hat Enterprise Linux의 장점으로 꼽힙니다. 기술, 에코시스템, 일관된 안정성을 바탕으로 조직은 IT가 어떤 방향으로 변화하든 이에 대응하고 혁신할 수 있습니다.

추가 정보

문서

Linux란 무엇일까요?

Linux는 OS의 기본 구성 요소인 커널과 이와 함께 번들로 제공되는 툴, 애플리케이션, 서비스로 구성됩니다.

문서

SELinux란?

SELinux(Security-Enhanced Linux)는 관리자가 시스템 액세스 권한을 효과적으로 제어할 수 있게 하는 Linux® 시스템용 보안 아키텍처입니다.

문서

Linux 커널이란 무엇일까요?

Linux 커널은 Linux 운영 체제(OS)의 주요 구성 요소이며 컴퓨터 하드웨어와 프로세스를 잇는 핵심 인터페이스입니다.

Linux에 대한 자세한 내용

제품

새로운 애플리케이션 출시, 환경 가상화, 더욱 안전한 하이브리드 클라우드 생성 등 다양한 작업을 위한 안정적이고 검증된 기반을 제공합니다.

리소스