포스트

[Computer Architecture] ARM processor

ARM 프로세서

프로세서란?


  • 프로세서(CPU)는 컴퓨터의 중앙 처리 장치로, 메모리에 저장된 명령어들을 해독하고 실행하는 장치이다. 주로 산술 연산, 논리 연산, 데이터 이동 및 제어 흐름 관리를 담당한다.

프로세서의 주요 기능


  1. 명령어 인출(Fetch): 메모리에서 명령어를 읽어온다.
  2. 명령어 해독(Decode): 인출된 명령어를 해독하여 어떤 작업을 수행할지 결정한다.
  3. 명령어 실행(Execute): 해독된 명령어에 따라 산술 연산, 논리 연산, 데이터 이동 등을 수행한다.
  4. 결과 저장(Store): 실행 결과를 레지스터나 메모리에 저장한다.

ARM: Advanced RISC Machine


ARM은 “Advanced RISC Machine”의 약자로, 핵심은 RISC (Reduced Instruction Set Computing)이다. RISC는 “감소된 명령 집합 컴퓨팅”으로, 단순한 명령 집합을 가진 프로세서가 복잡한 명령 집합을 가진 프로세서보다 효율적일 수 있다는 개념에 기반한다.

ARM 구조


이미지

  • ARM은 칩의 기본 설계 구조만 제공하고, 실제 기능 추가와 최적화는 개별 반도체 제조사가 담당한다. 따라서 물리적 설계는 같아도 명령 집합이 다르기 때문에 서로 다른 칩이 된다.
  • 소비자에게 ARM 칩은 논리적 구조인 명령 집합으로 구성되면서, 물리적 설계 베이스는 같지만 용도에 따라 다양한 제품군을 만날 수 있다.
  • 아키텍처는 논리적인 명령 집합을 물리적으로 표현한 것이므로, 명령어가 많고 복잡할수록 물리적인 칩 구조도 크고 복잡해진다.
  • 그러나 ARM은 RISC 설계 기반으로 단순한 명령 집합을 가진 프로세서가 복잡한 것보다 효율적이라는 개념을 채택하여, 명령 집합과 구조가 단순하다. 따라서 ARM 기반 프로세서는 작고, 효율적이며 전력 소모가 적다.
  • 단순한 명령 집합은 적은 수의 트랜지스터만 필요하므로 간결한 설계와 더 작은 크기를 가능하게 한다. 반도체 기본 부품인 트랜지스터는 전원을 소비하고 다이의 크기를 증가시키기 때문에, 스마트폰이나 태블릿 PC와 같은 모바일 기기에는 가능한 적은 트랜지스터를 가진 것이 이상적이다. 이로 인해 트랜지스터 수가 적고 크기가 작으며 전원 소모가 낮은 ARM CPU가 모바일 기기에 많이 사용된다.

ARM의 장점


이미지

  • 소비자에게 ARM은 하나의 ‘생태계’로 볼 수 있다. ARM을 위해 개발된 프로세서는 ARM 프로세서가 탑재된 기기에서만 실행할 수 있다. (즉, x86 CPU 기반 프로그램은 ARM 기반 기기에서 실행할 수 없다.) ARM에서 실행되던 프로그램을 x86 프로세서에서 실행하려면 (혹은 그 반대로) 프로그램에 수정이 필요하다.
  • 그러나, 하나의 ARM 기기에서 동작하는 OS는 다른 ARM 기반 기기에서도 잘 동작한다. 이러한 장점 덕분에 수많은 버전의 안드로이드가 탄생하고 있으며, HP나 블랙베리의 태블릿에도 안드로이드가 탑재될 수 있는 가능성이 생긴다. (애플은 iOS 소스코드를 공개하지 않기 때문에 애플 기기는 불가능하다.)
  • ARM을 만드는 기업들은 전력 소모를 줄이고 성능을 높이기 위해 설계를 지속적으로 개선하고 있다.


참고 자료


이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.